Huge update of doom config
This commit is contained in:
parent
f1af023403
commit
ccf3cda356
@ -118,6 +118,30 @@ After that, restart Emacs with =spc q r=.
|
|||||||
(setq display-line-numbers-type t)
|
(setq display-line-numbers-type t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package doom-modeline
|
||||||
|
:hook (after-init . doom-modeline-mode)
|
||||||
|
:custom
|
||||||
|
(doom-modeline-height 25)
|
||||||
|
(doom-modeline-bar-width 1)
|
||||||
|
(doom-modeline-icon t)
|
||||||
|
(doom-modeline-major-mode-icon t)
|
||||||
|
(doom-modeline-major-mode-color-icon t)
|
||||||
|
(doom-modeline-buffer-file-name-style 'truncate-upto-project)
|
||||||
|
(doom-modeline-buffer-state-icon t)
|
||||||
|
(doom-modeline-buffer-modification-icon t)
|
||||||
|
(doom-modeline-minor-modes nil)
|
||||||
|
(doom-modeline-enable-word-count nil)
|
||||||
|
(doom-modeline-buffer-encoding t)
|
||||||
|
(doom-modeline-indent-info nil)
|
||||||
|
(doom-modeline-checker-simple-format t)
|
||||||
|
(doom-modeline-vcs-max-length 12)
|
||||||
|
(doom-modeline-env-version t)
|
||||||
|
(doom-modeline-irc-stylize 'identity)
|
||||||
|
(doom-modeline-github-timer nil)
|
||||||
|
(doom-modeline-gnus-timer nil))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Evil
|
** Evil
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(after! evil
|
(after! evil
|
||||||
@ -162,6 +186,19 @@ Turn off auto-fill mode that add line breaks.
|
|||||||
(add-hook 'org-mode-hook 'turn-off-auto-fill))
|
(add-hook 'org-mode-hook 'turn-off-auto-fill))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Useful General Functions
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun tdh-matlab-work ()
|
||||||
|
"Setup Matlab Work Windows"
|
||||||
|
(interactive)
|
||||||
|
(delete-other-windows)
|
||||||
|
(evil-window-vsplit)
|
||||||
|
(evil-window-right 1)
|
||||||
|
(switch-to-buffer "*MATLAB*")
|
||||||
|
(evil-window-left 1)
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Change default alert backend
|
** Change default alert backend
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq alert-default-style 'libnotify)
|
(setq alert-default-style 'libnotify)
|
||||||
@ -196,7 +233,19 @@ Turn off auto-fill mode that add line breaks.
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setenv "GIT_ASKPASS" "git-gui--askpass")
|
(setenv "GIT_ASKPASS" "git-gui--askpass")
|
||||||
|
|
||||||
|
(after! magit
|
||||||
(setq magit-diff-refine-hunk 'all)
|
(setq magit-diff-refine-hunk 'all)
|
||||||
|
(setq magit-repository-directories `(("~/Cloud/thesis/matlab/" . 1)))
|
||||||
|
(setq magit-repolist-columns '(("Name" 25 magit-repolist-column-ident nil)
|
||||||
|
("Status" 7 magit-repolist-column-flag)
|
||||||
|
("B<U" 3 magit-repolist-column-unpulled-from-upstream
|
||||||
|
((:right-align t)
|
||||||
|
(:help-echo "Upstream changes not in branch")))
|
||||||
|
("B>U" 3 magit-repolist-column-unpushed-to-upstream
|
||||||
|
((:right-align t)
|
||||||
|
(:help-echo "Local changes not in upstream")))
|
||||||
|
("Path" 99 magit-repolist-column-path nil)))
|
||||||
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Dired
|
** Dired
|
||||||
@ -441,7 +490,7 @@ General configuration
|
|||||||
(setq org-agenda-window-setup 'current-window)
|
(setq org-agenda-window-setup 'current-window)
|
||||||
|
|
||||||
(setq org-agenda-prefix-format
|
(setq org-agenda-prefix-format
|
||||||
'((agenda . " %-12:c %?-12t% s")
|
'((agenda . " %?-12t% s")
|
||||||
(todo . "") ;; Don't show the filename for reading agenda
|
(todo . "") ;; Don't show the filename for reading agenda
|
||||||
(tags . " %-12:c")
|
(tags . " %-12:c")
|
||||||
(search . " %-12:c"))
|
(search . " %-12:c"))
|
||||||
@ -602,7 +651,7 @@ Documentation:
|
|||||||
(after! org
|
(after! org
|
||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
(quote (("t" ; key
|
(quote (("t" ; key
|
||||||
"todo" ; name
|
"Todo" ; name
|
||||||
entry ; type
|
entry ; type
|
||||||
(file+headline "~/Cloud/org/work-notebook.org" "Inbox") ; target
|
(file+headline "~/Cloud/org/work-notebook.org" "Inbox") ; target
|
||||||
"** TODO %?\n%U\n" ; template
|
"** TODO %?\n%U\n" ; template
|
||||||
@ -614,11 +663,17 @@ Documentation:
|
|||||||
"** %?\n%(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n" ; template
|
"** %?\n%(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n" ; template
|
||||||
)
|
)
|
||||||
("m" ; key
|
("m" ; key
|
||||||
"mail" ; name
|
"Mail" ; name
|
||||||
entry ; type
|
entry ; type
|
||||||
(file+headline "~/Cloud/org/work-notebook.org" "Mails") ; target
|
(file+headline "~/Cloud/org/work-notebook.org" "Mails") ; target
|
||||||
"** TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n" ; template
|
"** TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n" ; template
|
||||||
)
|
)
|
||||||
|
("r" ; key
|
||||||
|
"Reference" ; name
|
||||||
|
entry ; type
|
||||||
|
(file+headline "~/Cloud/org/inbox-ereader.org" "Things to Read") ; target
|
||||||
|
"** TODO [#B] %?\n" ; template
|
||||||
|
)
|
||||||
("pm"
|
("pm"
|
||||||
"Org-Protocol Mail"
|
"Org-Protocol Mail"
|
||||||
entry
|
entry
|
||||||
@ -706,7 +761,7 @@ Do not export headline with the =:ignore:= tag:
|
|||||||
(setq org-html-wrap-src-lines nil)
|
(setq org-html-wrap-src-lines nil)
|
||||||
|
|
||||||
;; Export with css class instead of inline css
|
;; Export with css class instead of inline css
|
||||||
(setq org-html-htmlize-output-type 'nil)
|
(setq org-html-htmlize-output-type 'css)
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -931,7 +986,7 @@ Adapt this from https://github.com/alhassy/emacs.d to do something similar for s
|
|||||||
|
|
||||||
;; Colors of latex fragments
|
;; Colors of latex fragments
|
||||||
(setq org-format-latex-options (plist-put org-format-latex-options :foreground 'default))
|
(setq org-format-latex-options (plist-put org-format-latex-options :foreground 'default))
|
||||||
(setq org-format-latex-options (plist-put org-format-latex-options :background (face-background 'fringe)))
|
(setq org-format-latex-options (plist-put org-format-latex-options :background 'default))
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -975,6 +1030,15 @@ Adapt this from https://github.com/alhassy/emacs.d to do something similar for s
|
|||||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||||
)
|
)
|
||||||
|
(add-to-list 'org-latex-classes
|
||||||
|
'("scrartcl"
|
||||||
|
"\\documentclass{scrartcl}"
|
||||||
|
("\\section{%s}" . "\\section*{%s}")
|
||||||
|
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||||
|
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||||
|
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||||
|
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||||
|
)
|
||||||
(add-to-list 'org-latex-classes
|
(add-to-list 'org-latex-classes
|
||||||
'("scrreprt"
|
'("scrreprt"
|
||||||
"\\documentclass{scrreprt}"
|
"\\documentclass{scrreprt}"
|
||||||
@ -993,13 +1057,29 @@ Adapt this from https://github.com/alhassy/emacs.d to do something similar for s
|
|||||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||||
)
|
)
|
||||||
|
(add-to-list 'org-latex-classes
|
||||||
|
'("moderncv"
|
||||||
|
"\\documentclass{moderncv}"
|
||||||
|
("\\section{%s}" . "\\section*{%s}")
|
||||||
|
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||||
|
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||||
|
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||||
|
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||||
|
)
|
||||||
|
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Ox Latex Subfigure package
|
*** Ox Latex Subfigure package
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
;; (use-package! ox-latex-subfigure
|
||||||
|
;; :after org
|
||||||
|
;; :config (require 'ox-latex-subfigure))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package! ox-latex-subfigure
|
(use-package! ox-latex-subfigure
|
||||||
:after org
|
:load-path "~/.config/doom/packages/ox-latex-subfigure/"
|
||||||
:config (require 'ox-latex-subfigure))
|
:config (require 'ox-latex-subfigure))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -1458,6 +1538,38 @@ https://www.reddit.com/r/emacs/comments/d3a8or/pretty_org_tables_in_the_buffer_c
|
|||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Citeproc-Org
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package! citeproc-org
|
||||||
|
:ensure t
|
||||||
|
:after ox-hugo
|
||||||
|
:config
|
||||||
|
(citeproc-org-setup))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Org Wild Notifier
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package! org-wild-notifier
|
||||||
|
:after org
|
||||||
|
:init
|
||||||
|
(setq alert-default-style 'libnotify)
|
||||||
|
:config
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** TODO Orch
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
(use-package! web-server
|
||||||
|
:init
|
||||||
|
:config
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
(add-to-list 'load-path "~/.config/doom/packages/orch/")
|
||||||
|
(autoload 'orch-toggle "orch" nil t)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** TODO [#A] Custom Keybindings - =,= leader key and =C-c=
|
** TODO [#A] Custom Keybindings - =,= leader key and =C-c=
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
@ -1782,19 +1894,6 @@ Add all named source blocks to =org-babel-library-of-babel= ([[file:emacs-librar
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(after! org
|
(after! org
|
||||||
(setq org-babel-matlab-shell-command "/home/thomas/.local/bin/matlab -softwareopengl -nodesktop -nosplash")
|
(setq org-babel-matlab-shell-command "/home/thomas/.local/bin/matlab -softwareopengl -nodesktop -nosplash")
|
||||||
|
|
||||||
(setq org-babel-matlab-emacs-link-wrapper-method
|
|
||||||
"%s
|
|
||||||
if ischar(ans);
|
|
||||||
echo('test');
|
|
||||||
fid = fopen('%s', 'w');
|
|
||||||
fprintf(fid, '%s', ans);
|
|
||||||
fclose(fid);
|
|
||||||
else;
|
|
||||||
save -ascii %s ans;
|
|
||||||
end
|
|
||||||
delete('%s');
|
|
||||||
")
|
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -1815,6 +1914,93 @@ Default options for Matlab code
|
|||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Better format the output results for Matlab ([[https://www.reddit.com/r/emacs/comments/fy98bs/orgbabels_matlab_session_output_is_malformed/?utm_source=share&utm_medium=web2x][link]]).
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(after! org
|
||||||
|
(defun org-babel-octave-evaluate-session
|
||||||
|
(session body result-type &optional matlabp)
|
||||||
|
"Evaluate BODY in SESSION."
|
||||||
|
(let* ((tmp-file (org-babel-temp-file (if matlabp "matlab-" "octave-")))
|
||||||
|
(wait-file (org-babel-temp-file "matlab-emacs-link-wait-signal-"))
|
||||||
|
(full-body
|
||||||
|
(pcase result-type
|
||||||
|
(`output
|
||||||
|
(mapconcat
|
||||||
|
#'org-babel-chomp
|
||||||
|
(list (if matlabp
|
||||||
|
(multi-replace-regexp-in-string
|
||||||
|
'(("%.*$" . "") ;Remove comments
|
||||||
|
(";\\s-*\n+" . "; ") ;Concatenate lines
|
||||||
|
("\\(\\.\\)\\{3\\}\\s-*\n+" . " ") ;Handle continuations
|
||||||
|
(",*\\s-*\n+" . ", ")) ;Concatenate lines
|
||||||
|
body)
|
||||||
|
body)
|
||||||
|
org-babel-octave-eoe-indicator) "\n"))
|
||||||
|
(`value
|
||||||
|
(if (and matlabp org-babel-matlab-with-emacs-link)
|
||||||
|
(concat
|
||||||
|
(format org-babel-matlab-emacs-link-wrapper-method
|
||||||
|
body
|
||||||
|
(org-babel-process-file-name tmp-file 'noquote)
|
||||||
|
(org-babel-process-file-name tmp-file 'noquote) wait-file) "\n")
|
||||||
|
(mapconcat
|
||||||
|
#'org-babel-chomp
|
||||||
|
(list (format org-babel-octave-wrapper-method
|
||||||
|
body
|
||||||
|
(org-babel-process-file-name tmp-file 'noquote)
|
||||||
|
(org-babel-process-file-name tmp-file 'noquote))
|
||||||
|
org-babel-octave-eoe-indicator) "\n")))))
|
||||||
|
(raw (if (and matlabp org-babel-matlab-with-emacs-link)
|
||||||
|
(save-window-excursion
|
||||||
|
(with-temp-buffer
|
||||||
|
(insert full-body)
|
||||||
|
(write-region "" 'ignored wait-file nil nil nil 'excl)
|
||||||
|
(matlab-shell-run-region (point-min) (point-max))
|
||||||
|
(message "Waiting for Matlab Emacs Link")
|
||||||
|
(while (file-exists-p wait-file) (sit-for 0.01))
|
||||||
|
"")) ;; matlab-shell-run-region doesn't seem to
|
||||||
|
;; make *matlab* buffer contents easily
|
||||||
|
;; available, so :results output currently
|
||||||
|
;; won't work
|
||||||
|
(org-babel-comint-with-output
|
||||||
|
(session
|
||||||
|
(if matlabp
|
||||||
|
org-babel-octave-eoe-indicator
|
||||||
|
org-babel-octave-eoe-output)
|
||||||
|
t full-body)
|
||||||
|
(insert full-body) (comint-send-input nil t)))) results)
|
||||||
|
(pcase result-type
|
||||||
|
(`value
|
||||||
|
(org-babel-octave-import-elisp-from-file tmp-file))
|
||||||
|
(`output
|
||||||
|
(setq results
|
||||||
|
(if matlabp
|
||||||
|
(cdr (reverse (delete "" (mapcar #'org-strip-quotes
|
||||||
|
(mapcar #'org-trim (remove-car-upto-newline raw))))))
|
||||||
|
(cdr (member org-babel-octave-eoe-output
|
||||||
|
(reverse (mapcar #'org-strip-quotes
|
||||||
|
(mapcar #'org-trim raw)))))))
|
||||||
|
(mapconcat #'identity (reverse results) "\n")))))
|
||||||
|
|
||||||
|
(defun remove-car-upto-newline (raw)
|
||||||
|
"Truncate each string in a list of strings up to the first newline"
|
||||||
|
(cons (mapconcat #'identity
|
||||||
|
(cdr (split-string-and-unquote (car raw) "\n"))
|
||||||
|
"\n") (cdr raw)))
|
||||||
|
|
||||||
|
(defun multi-replace-regexp-in-string (replacements-list string &optional rest)
|
||||||
|
(interactive)
|
||||||
|
"Replace multiple regexps in a string. Order matters."
|
||||||
|
(if (null replacements-list)
|
||||||
|
string
|
||||||
|
(let ((regex (caar replacements-list))
|
||||||
|
(replacement (cdar replacements-list)))
|
||||||
|
(multi-replace-regexp-in-string (cdr replacements-list)
|
||||||
|
(replace-regexp-in-string regex replacement
|
||||||
|
string rest)))))
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Some functions for using Matlab with Org Babel =,m=
|
** Some functions for using Matlab with Org Babel =,m=
|
||||||
=whos= matlab function
|
=whos= matlab function
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
@ -2104,6 +2290,14 @@ Nice Functions:
|
|||||||
;; Folder where all the pdf are located
|
;; Folder where all the pdf are located
|
||||||
(setq org-ref-pdf-directory "~/Cloud/pdfs")
|
(setq org-ref-pdf-directory "~/Cloud/pdfs")
|
||||||
|
|
||||||
|
(setq org-ref-bibliography-entry-format
|
||||||
|
'(("article" . "%a, %t, %j, v(%n), %p (%y).")
|
||||||
|
("book" . "%a, %t, %u (%y).")
|
||||||
|
("techreport" . "%a, %t, %i, %u (%y).")
|
||||||
|
("phdthesis" . "%a, %t (%y).")
|
||||||
|
("proceedings" . "%e, %t in %S, %u (%y).")
|
||||||
|
("inproceedings" . "%a, %t, %p, in %b, edited by %e, %u (%y)")))
|
||||||
|
|
||||||
;; Tell org-ref to let helm-bibtex find notes for it
|
;; Tell org-ref to let helm-bibtex find notes for it
|
||||||
(setq org-ref-notes-function
|
(setq org-ref-notes-function
|
||||||
(lambda (thekey)
|
(lambda (thekey)
|
||||||
@ -2195,6 +2389,7 @@ Nice Functions:
|
|||||||
:config
|
:config
|
||||||
(setq org-roam-directory "~/Cloud/brain/")
|
(setq org-roam-directory "~/Cloud/brain/")
|
||||||
(setq org-roam-completion-system 'helm)
|
(setq org-roam-completion-system 'helm)
|
||||||
|
(setq org-roam-tag-sources '(prop last-directory))
|
||||||
(setq org-roam-capture-templates
|
(setq org-roam-capture-templates
|
||||||
`(("d" "default" plain (function org-roam--capture-get-point)
|
`(("d" "default" plain (function org-roam--capture-get-point)
|
||||||
"%?"
|
"%?"
|
||||||
@ -2224,24 +2419,33 @@ Nice Functions:
|
|||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Automatic export of backlinks
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
(after! (org org-roam)
|
||||||
(defun tdh-org-roam--backlinks-list (file)
|
(defun tdh-org-roam--backlinks-list (file)
|
||||||
(if (org-roam--org-roam-file-p file)
|
(when (org-roam--org-roam-file-p file)
|
||||||
(--reduce-from
|
(mapcar #'car (org-roam-db-query [:select :distinct [from]
|
||||||
(concat acc (format "- [[file:%s][%s]]\n"
|
:from links
|
||||||
(file-relative-name (car it) org-roam-directory)
|
:where (= to $s1)
|
||||||
(org-roam--get-title-or-slug (car it))))
|
:and from :not :like $s2] file "%private%"))))
|
||||||
"" (org-roam-db-query [:select [from] :from links :where (= to $s1)] file))
|
(defun tdh-org-export-preprocessor (_backend)
|
||||||
""))
|
(when-let ((links (tdh-org-roam--backlinks-list (buffer-file-name))))
|
||||||
|
(insert "\nBacklinks:\n")
|
||||||
|
(dolist (link links)
|
||||||
|
(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-export-preprocessor (backend)
|
|
||||||
(let ((links (tdh-org-roam--backlinks-list (buffer-file-name))))
|
|
||||||
(unless (string= links "")
|
|
||||||
(save-excursion
|
|
||||||
(goto-char (point-max))
|
|
||||||
(insert (concat "\n* Backlinks\n") links)))))
|
|
||||||
|
|
||||||
(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
|
#+end_src
|
||||||
|
|
||||||
** Helm-Bibtex ([[https://github.com/tmalsburg/helm-bibtex][link]])
|
** Helm-Bibtex ([[https://github.com/tmalsburg/helm-bibtex][link]])
|
||||||
@ -2254,7 +2458,7 @@ Nice Functions:
|
|||||||
(setq bibtex-completion-bibliography "~/Cloud/brain/biblio/references.bib")
|
(setq bibtex-completion-bibliography "~/Cloud/brain/biblio/references.bib")
|
||||||
|
|
||||||
;; Directory with all the pdfs
|
;; Directory with all the pdfs
|
||||||
(setq bibtex-completion-library-path "~/Cloud/pdfs")
|
(setq bibtex-completion-library-path "~/Cloud/pdfs/")
|
||||||
|
|
||||||
;; Directory with notes files
|
;; Directory with notes files
|
||||||
(setq bibtex-completion-notes-path "~/Cloud/brain/")
|
(setq bibtex-completion-notes-path "~/Cloud/brain/")
|
||||||
@ -2304,6 +2508,19 @@ Nice Functions:
|
|||||||
(helm-add-action-to-source "Open PDF Externally" 'tdh-open-pdf-externally helm-source-bibtex 1)
|
(helm-add-action-to-source "Open PDF Externally" 'tdh-open-pdf-externally helm-source-bibtex 1)
|
||||||
|
|
||||||
(helm-add-action-to-source "Insert Link to Note" 'tdh-insert-link-to-note helm-source-bibtex 2)
|
(helm-add-action-to-source "Insert Link to Note" 'tdh-insert-link-to-note helm-source-bibtex 2)
|
||||||
|
|
||||||
|
(helm-add-action-to-source "Insert E-Reader Link" 'tdh-insert-link-to-pdf-entry helm-source-bibtex 3)
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun tdh-insert-link-to-pdf-entry (key)
|
||||||
|
"Insert a link to a pdf associated with the bibtex entry."
|
||||||
|
(let*
|
||||||
|
((entry (bibtex-completion-get-entry key))
|
||||||
|
(title (bibtex-completion-get-value "title" entry)))
|
||||||
|
(insert (concat "[[file:Download/" key ".pdf][" title "]] (cite:" key ")"))
|
||||||
|
)
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -2315,7 +2532,7 @@ Nice Functions:
|
|||||||
(let* ((path (f-join bibtex-completion-notes-path
|
(let* ((path (f-join bibtex-completion-notes-path
|
||||||
(s-concat key bibtex-completion-notes-extension))))
|
(s-concat key bibtex-completion-notes-extension))))
|
||||||
(if (file-exists-p path)
|
(if (file-exists-p path)
|
||||||
(insert (concat "[[" (file-relative-name path) "][Notes]]"))
|
(insert (concat "[[file:" (file-relative-name path) "][Notes]]"))
|
||||||
(message "No note file associated"))
|
(message "No note file associated"))
|
||||||
)))
|
)))
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -2373,9 +2590,9 @@ Provides nice functions such as:
|
|||||||
(use-package! org-roam-bibtex
|
(use-package! org-roam-bibtex
|
||||||
:hook (org-roam-mode . org-roam-bibtex-mode)
|
:hook (org-roam-mode . org-roam-bibtex-mode)
|
||||||
:config
|
:config
|
||||||
(setq org-roam-bibtex-preformat-keywords `("=key=" "title" "author" "year" "author-abbrev" "=type="))
|
(setq orb-preformat-keywords `("=key=" "title" "author" "year" "author-abbrev" "=type="))
|
||||||
|
|
||||||
(setq org-roam-bibtex-templates
|
(setq orb-templates
|
||||||
`(("r" "ref" plain (function org-roam-capture--get-point) ""
|
`(("r" "ref" plain (function org-roam-capture--get-point) ""
|
||||||
:file-name "${=key=}"
|
:file-name "${=key=}"
|
||||||
:head ,(concat "#+TITLE: ${title}\n"
|
:head ,(concat "#+TITLE: ${title}\n"
|
||||||
@ -2410,29 +2627,12 @@ Provides nice functions such as:
|
|||||||
(call-process "zathura" nil 0 nil (org-ref-get-pdf-filename key)))
|
(call-process "zathura" nil 0 nil (org-ref-get-pdf-filename key)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Org-Ref-Ox-Hugo ([[https://github.com/jethrokuan/org-ref-ox-hugo][link]])
|
** Citeproc-org ([[https://github.com/andras-simonyi/citeproc-org][link]])
|
||||||
This package is used to correctly format the bibliography and links when exporting to hugo.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package! org-ref-ox-hugo
|
(use-package! citeproc-org
|
||||||
:load-path "~/.config/doom/packages/org-ref-ox-hugo/"
|
:after org
|
||||||
:config
|
:config
|
||||||
(add-to-list 'org-ref-formatted-citation-formats
|
(citeproc-org-setup))
|
||||||
'("md"
|
|
||||||
("article" . "${author}, *${title}*, ${journal}, *${volume}(${number})*, ${pages} (${year}). ${doi}")
|
|
||||||
("inproceedings" . "${author}, *${title}*, In ${editor}, ${booktitle} (pp. ${pages}) (${year}). ${address}: ${publisher}.")
|
|
||||||
("book" . "${author}, *${title}* (${year}), ${address}: ${publisher}.")
|
|
||||||
("phdthesis" . "${author}, *${title}* (${year}). ${school}.")
|
|
||||||
("inbook" . "${author}, *${title}*, In ${editor} (Eds.), ${booktitle} (pp. ${pages}) (${year}). ${address}: ${publisher}.")
|
|
||||||
("incollection" . "${author}, *${title}*, In ${editor} (Eds.), ${booktitle} (pp. ${pages}) (${year}). ${address}: ${publisher}.")
|
|
||||||
("proceedings" . "${editor} (Eds.), _${booktitle}_ (${year}). ${address}: ${publisher}.")
|
|
||||||
("unpublished" . "${author}, *${title}* (${year}). Unpublished manuscript.")
|
|
||||||
("misc" . "${author} (${year}). *${title}*. Retrieved from [${howpublished}](${howpublished}). ${note}.")
|
|
||||||
(nil . "${author}, *${title}* (${year}).")))
|
|
||||||
|
|
||||||
(setq reference-link-class "reference-link")
|
|
||||||
(setq bibtex-entry-class "bibtex-entry")
|
|
||||||
)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* LaTeX
|
* LaTeX
|
||||||
@ -2485,7 +2685,8 @@ This package is used to correctly format the bibliography and links when exporti
|
|||||||
** Setup Matlab Mode
|
** Setup Matlab Mode
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq matlab-shell-command "/home/thomas/.local/bin/matlab")
|
(setq matlab-shell-command "/home/thomas/.local/bin/matlab")
|
||||||
(setq matlab-shell-command-switches (list "-nodesktop -nosplash"))
|
(setq matlab-shell-command-switches (list "-softwareopengl -nodesktop -nosplash"))
|
||||||
|
(setq matlab-indent-function t)
|
||||||
(setq mlint-programs '("mlint" "/home/thomas/.local/bin/mlint"))
|
(setq mlint-programs '("mlint" "/home/thomas/.local/bin/mlint"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -2546,6 +2747,14 @@ This package is used to correctly format the bibliography and links when exporti
|
|||||||
(interactive)
|
(interactive)
|
||||||
(matlab-shell-run-command (concat "dbclear in " (buffer-name))))
|
(matlab-shell-run-command (concat "dbclear in " (buffer-name))))
|
||||||
|
|
||||||
|
(defun tdh-matlab-no-debug-on-error ()
|
||||||
|
(interactive)
|
||||||
|
(matlab-shell-run-command (concat "dbclear if error")))
|
||||||
|
|
||||||
|
(defun tdh-matlab-debug-on-error ()
|
||||||
|
(interactive)
|
||||||
|
(matlab-shell-run-command (concat "dbstop if error")))
|
||||||
|
|
||||||
(defun tdh-matlab-go-to-file-directory ()
|
(defun tdh-matlab-go-to-file-directory ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(matlab-shell-run-command (concat "cd " (file-name-directory buffer-file-name))))
|
(matlab-shell-run-command (concat "cd " (file-name-directory buffer-file-name))))
|
||||||
@ -2553,18 +2762,21 @@ This package is used to correctly format the bibliography and links when exporti
|
|||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(map! :map matlab-mode-map
|
(map! :map matlab-mode-map
|
||||||
:n ",g" 'tdh-matlab-go-to-file-directory
|
(:prefix ("," . "prefix")
|
||||||
:n ",da" 'tdh-matlab-add-breakpoint
|
:n "g" 'tdh-matlab-go-to-file-directory
|
||||||
:n ",dr" 'tdh-matlab-remove-breakpoint
|
(:prefix ("d" . "Debug")
|
||||||
:n ",dL" 'tdh-matlab-list-breakpoints
|
:n "de" 'tdh-matlab-debug-on-error
|
||||||
:n ",dc" 'tdh-matlab-clear-breakpoints
|
:n "dE" 'tdh-matlab-no-debug-on-error
|
||||||
:n ",dl" 'gud-cont
|
:n "da" 'tdh-matlab-add-breakpoint
|
||||||
:n ",ds" 'gud-step
|
:n "dr" 'tdh-matlab-remove-breakpoint
|
||||||
:n ",dn" 'gud-next
|
:n "dL" 'tdh-matlab-list-breakpoints
|
||||||
:n ",dq" 'gud-finish)
|
:n "dc" 'tdh-matlab-clear-breakpoints
|
||||||
|
:n "dl" 'gud-cont
|
||||||
|
:n "ds" 'gud-step
|
||||||
|
:n "dn" 'gud-next
|
||||||
|
:n "dq" 'gud-finish)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
* Mu4e
|
* Mu4e
|
||||||
** Resources
|
** Resources
|
||||||
Documentation:
|
Documentation:
|
||||||
@ -2777,8 +2989,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
deft
|
deft
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
hydra
|
hydra
|
||||||
(modeline
|
modeline
|
||||||
+light) ; snazzy, Atom-inspired modeline, plus API
|
|
||||||
ophints ; highlight the region an operation acts on
|
ophints ; highlight the region an operation acts on
|
||||||
(popup ; tame sudden yet inevitable temporary windows
|
(popup ; tame sudden yet inevitable temporary windows
|
||||||
+all ; catch all popups that start with an asterix
|
+all ; catch all popups that start with an asterix
|
||||||
@ -2787,6 +2998,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
vc-gutter ; vcs diff in the fringe
|
vc-gutter ; vcs diff in the fringe
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||||
workspaces ; tab emulation, persistence & separate workspaces
|
workspaces ; tab emulation, persistence & separate workspaces
|
||||||
|
(emoji +unicode)
|
||||||
|
|
||||||
:editor
|
:editor
|
||||||
(evil +everywhere); come to the dark side, we have cookies
|
(evil +everywhere); come to the dark side, we have cookies
|
||||||
@ -2800,6 +3012,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
electric ; smarter, keyword-based electric-indent
|
electric ; smarter, keyword-based electric-indent
|
||||||
(ibuffer +icons) ; interactive buffer management
|
(ibuffer +icons) ; interactive buffer management
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
vc ; version-control and Emacs, sitting in a tree
|
||||||
|
undo
|
||||||
|
|
||||||
:term
|
:term
|
||||||
eshell ; a consistent, cross-platform shell (WIP)
|
eshell ; a consistent, cross-platform shell (WIP)
|
||||||
@ -2812,10 +3025,12 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
+docsets) ; ...or in Dash docsets locally
|
+docsets) ; ...or in Dash docsets locally
|
||||||
lsp
|
lsp
|
||||||
magit ; a git porcelain for Emacs
|
magit ; a git porcelain for Emacs
|
||||||
|
docker
|
||||||
;;pass ; password manager for nerds
|
;;pass ; password manager for nerds
|
||||||
pdf ; pdf enhancements
|
pdf ; pdf enhancements
|
||||||
eval
|
eval
|
||||||
biblio
|
biblio
|
||||||
|
(lookup +dictionary)
|
||||||
|
|
||||||
:checkers
|
:checkers
|
||||||
syntax ; tasing you for every semicolon you forget
|
syntax ; tasing you for every semicolon you forget
|
||||||
@ -2839,6 +3054,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
+lsp)
|
+lsp)
|
||||||
(web
|
(web
|
||||||
+lsp)
|
+lsp)
|
||||||
|
yaml
|
||||||
|
|
||||||
:email
|
:email
|
||||||
(mu4e +gmail)
|
(mu4e +gmail)
|
||||||
@ -2861,16 +3077,25 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(package! poet-theme)
|
(package! poet-theme)
|
||||||
(package! org-alert)
|
(package! spice-mode)
|
||||||
|
(package! org-pandoc-import
|
||||||
|
:recipe (:host github
|
||||||
|
:repo "tecosaur/org-pandoc-import"
|
||||||
|
:files ("*.el" "filters" "preprocessors")))
|
||||||
|
|
||||||
|
(package! citeproc-org)
|
||||||
|
(package! org-wild-notifier)
|
||||||
(package! org-gcal)
|
(package! org-gcal)
|
||||||
(package! ox-latex-subfigure
|
;; (package! ox-latex-subfigure
|
||||||
:recipe (:host github :repo "linktohack/ox-latex-subfigure"))
|
;; :recipe (:host github :repo "linktohack/ox-latex-subfigure"))
|
||||||
|
;; (package! matlab-mode)
|
||||||
(package! matlab-mode
|
(package! matlab-mode
|
||||||
:recipe (:host github :repo "matlab-mode/mirror"))
|
:recipe (:host github :repo "matlab-mode/mirror"))
|
||||||
(package! org-ref)
|
(package! org-ref)
|
||||||
(package! org-roam-bibtex)
|
(package! citeproc-org)
|
||||||
(package! org-ql)
|
(package! org-ql)
|
||||||
(package! org-fancy-priorities)
|
(package! org-fancy-priorities)
|
||||||
(package! evil-escape :disable t)
|
(package! evil-escape :disable t)
|
||||||
(package! dired-narrow)
|
(package! dired-narrow)
|
||||||
|
(package! web-server)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
Loading…
Reference in New Issue
Block a user