diff --git a/doom.org b/doom.org
index 23f0dd9..0981262 100644
--- a/doom.org
+++ b/doom.org
@@ -11,6 +11,7 @@
#+html_head:
#+html_head:
#+property: header-args:emacs-lisp :tangle ~/.config/doom/config.el :results none :padline no
+#+auto_tangle: t
* Installation
#+begin_src bash :tangle no
@@ -297,6 +298,27 @@ This works also with =C-x C-q=
)
#+end_src
+#+begin_src emacs-lisp
+(defun tdh-screenshot-page ()
+ "Open current page as an SVG file with Inkscape"
+ (interactive)
+ (if (string-match "_" (file-name-base buffer-file-name))
+ (setq filename (read-string "Enter file name:" (car (split-string (file-name-base buffer-file-name) "_"))))
+ (setq filename (read-string "Enter file name:")))
+ (setq filepath (concat "/tmp/" filename ".svg"))
+ (shell-command (concat "pdftk " buffer-file-name " cat " (number-to-string (pdf-view-current-page)) " output /tmp/pdf_page.pdf"))
+ (shell-command (concat "pdf2svg /tmp/pdf_page.pdf " filepath))
+ (start-process "" nil "inkscape" filepath))
+#+end_src
+
+#+begin_src emacs-lisp
+(after! pdf-tools
+ (map! :map pdf-view-mode-map
+ (:desc "Screenshot"
+ :ni "C-c s" 'tdh-screenshot-page)
+ ))
+#+end_src
+
** Yassnippets
#+begin_src emacs-lisp
(push "~/.config/doom/snippets" yas-snippet-dirs)
@@ -612,6 +634,17 @@ Org Agenda Custom Views
)
#+end_src
+** Org Agenda HTML
+This function can be used to export the week calendar to html.
+This html page can be used as a starting page for the browser.
+This idea comes from [[https://blog.lambda.cx/posts/org-agenda-new-tab/][here]].
+#+begin_src emacs-lisp :tangle no
+(defun tdh-org-agenda-to-html ()
+ (interactive)
+ (org-agenda-list)
+ (org-agenda-write "/ssh:thomas@grenoble:~/docker/config/calendar/www/index.html"))
+#+end_src
+
** Org Fancy Priority
#+begin_src emacs-lisp
(use-package! org-fancy-priorities ; priority icons
@@ -661,7 +694,7 @@ dunstify --replace=85401 "Event in $TIME minutes" "$MSG"
("C" . "comment")
("mm" . "src matlab")
("mf" . "src matlab :exports none")
- ("mv" . "src matlab :results value replace :exports none :tangle no")
+ ("mv" . "src matlab :results value replace :exports results :tangle no")
("l" . "src emacs-lisp")
("q" . "quote")
("s" . "src")
@@ -1049,13 +1082,13 @@ by spaces.
:latex-compiler ("latex -interaction nonstopmode -output-directory %o %f")
:image-converter ("dvipng -D %D -T tight -o %O %f"))
(dvisvgm
- :programs ("pdflatex" "dvisvgm")
- :description "dvi > svg"
- :message "you need to install the programs: latex and dvisvgm."
- :image-input-type "dvi"
+ :programs ("xetex" "dvisvgm")
+ :description "xdv > svg"
+ :message "you need to install the programs: xetex and dvisvgm."
+ :image-input-type "xdv"
:image-output-type "svg"
:image-size-adjust (0.6 . 0.6)
- :latex-compiler ("latex -interaction nonstopmode -output-directory %o %f")
+ :latex-compiler ("xelatex -no-pdf -output-directory %o %f")
:image-converter ("dvisvgm %f -n -b min -c %S -o %O"))
))
@@ -1378,6 +1411,14 @@ https://kitchingroup.cheme.cmu.edu/blog/2016/11/07/Better-equation-numbering-in-
)
#+end_src
+** Org Auto Tangle
+#+begin_src emacs-lisp :tangle no
+(use-package! org-auto-tangle
+ :after org
+ :hook (org-mode . org-auto-tangle-mode)
+ )
+#+end_src
+
** LaTeX macro both for LaTeX and HTML export
https://www.reddit.com/r/orgmode/comments/7u2n0h/tip_for_defining_latex_macros_for_use_in_both/
@@ -1558,7 +1599,7 @@ The file is taken from a start directory set by `tdh-image-dir' and moved to the
** Render Tables
https://www.reddit.com/r/emacs/comments/d3a8or/pretty_org_tables_in_the_buffer_chapter_2_it/
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp :tangle no
(after! org
(defun tdh-render-org-table-at-point ()
(interactive)
@@ -2146,6 +2187,35 @@ Better format the output results for Matlab ([[https://www.reddit.com/r/emacs/co
)
#+end_src
+** Mermaid
+#+begin_src bash :tangle no
+yay -S mermaid-cli
+#+end_src
+
+#+begin_src emacs-lisp
+(use-package! ob-mermaid
+ :after org
+ :config
+ (setq ob-mermaid-cli-path "/usr/bin/mmdc")
+ )
+#+end_src
+
+#+begin_src mermaid :file figs/mermaid.png :theme default :background-color transparent :tangle no :exports both
+gantt
+dateFormat YYYY-MM-DD
+title Adding GANTT diagram to mermaid
+excludes weekdays 2014-01-10
+
+section A section
+Completed task :done, des1, 2014-01-06,2014-01-08
+Active task :active, des2, 2014-01-09, 3d
+Future task : des3, after des2, 5d
+Future task2 : des4, after des3, 5d
+#+end_src
+
+#+RESULTS:
+[[file:figs/mermaid.png]]
+
** Some functions for using Matlab with Org Babel =,m=
=whos= matlab function
#+begin_src emacs-lisp
@@ -2336,8 +2406,9 @@ This function:
(tdh-matlab-execute-selected (region-beginning) (region-end))
(progn (tdh-org-babel-execute-matlab-background)
(org-babel-next-src-block)))
- (tdh-ctrl-ret))
+ (org-babel-next-src-block))
)
+ (org-babel-next-src-block)
)
)
#+end_src
@@ -2532,7 +2603,7 @@ Nice Functions:
:custom-face
(org-roam-link ((t (:inherit org-link :foreground "#cc241d"))))
:config
- (setq org-roam-directory "~/Cloud/brain/")
+ (setq org-roam-directory (file-truename "~/Cloud/brain/"))
(setq org-roam-completion-system 'helm)
(setq org-roam-tag-sources '(prop last-directory))
(setq org-roam-capture-templates
@@ -2580,19 +2651,22 @@ Automatic export of backlinks
(insert (format "- [[file:%s][%s]]\n"
(file-relative-name link org-roam-directory)
(org-roam--get-title-or-slug link))))))
+
(add-hook 'org-export-before-processing-hook #'tdh-org-export-preprocessor)
-
-
- (defun tdh-org-roam-export-all ()
- "Re-exports all Org-roam files to Hugo markdown."
- (interactive)
- (dolist (f (org-roam--list-all-files))
- (with-current-buffer (find-file f)
- (when (s-contains? "SETUPFILE" (buffer-string))
- (org-hugo-export-wim-to-md)))))
)
#+end_src
+Re-Export all roam files.
+#+begin_src emacs-lisp
+(defun tdh-org-roam-export-all ()
+ "Re-exports all Org-roam files to Hugo markdown."
+ (interactive)
+ (dolist (f (org-roam--list-all-files))
+ (with-current-buffer (find-file f)
+ (when (s-contains? "SETUPFILE" (buffer-string))
+ (org-hugo-export-wim-to-md)))))
+#+end_src
+
Create Org-Roam file from heading ([[https://ag91.github.io/blog/2020/11/12/write-org-roam-notes-via-elisp/][link]])
#+begin_src emacs-lisp
(defun tdh/make-roam-filepath (title)
@@ -2824,6 +2898,13 @@ Provides nice functions such as:
(setq citeproc-org-html-backends '(html)))
#+end_src
+** Bibtex-Mode
+#+begin_src emacs-lisp
+(after! bibtex
+ (map! :map bibtex-mode-map
+ :n "C-c c" 'org-ref-clean-bibtex-entry))
+#+end_src
+
* LaTeX
- https://tex.stackexchange.com/questions/52179/what-is-your-favorite-emacs-and-or-auctex-command-trick
- https://tex.stackexchange.com/questions/20843/useful-shortcuts-or-key-bindings-or-predefined-commands-for-emacsauctex
@@ -3233,7 +3314,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
* Doom =packages.el=
:PROPERTIES:
-:header-args: :tangle ~/.config/doom/packages.el
+:header-args:emacs-lisp: :tangle ~/.config/doom/packages.el
:END:
#+begin_src emacs-lisp
@@ -3274,11 +3355,21 @@ Choose account label to feed msmtp -a option based on From header in Message buf
(package! citeproc-org)
#+end_src
+#+begin_src emacs-lisp
+;; Connector between Org-roam, BibTeX-completion, and Org-ref
+(package! org-roam-bibtex)
+#+end_src
+
#+begin_src emacs-lisp
;; Org-mode modules for citations, cross-references, bibliographies
(package! org-ref)
#+end_src
+#+begin_src emacs-lisp
+;; Org file tangling upon save
+;; (package! org-auto-tangle)
+#+end_src
+
#+begin_src emacs-lisp
;; Alert notifications for org-agenda
(package! org-wild-notifier)
@@ -3304,6 +3395,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
#+begin_src emacs-lisp
;; Org-mode query language
(package! org-ql)
+(package! helm-org-ql)
#+end_src
#+begin_src emacs-lisp
@@ -3320,3 +3412,8 @@ Choose account label to feed msmtp -a option based on From header in Message buf
;; Don't use this default package in Doom
(package! evil-escape :disable t)
#+end_src
+
+#+begin_src emacs-lisp
+;; Nice gantt charts
+(package! ob-mermaid)
+#+end_src