doomemacs/modules/tools/biblio/config.el

104 lines
3 KiB
EmacsLisp
Raw Normal View History

2020-04-09 16:47:48 -04:00
;;; tools/biblio/config.el -*- lexical-binding: t; -*-
;;
;;; `org-cite'
2021-10-27 17:33:04 -04:00
(use-package! oc
:defer t
2021-10-27 17:33:04 -04:00
:config
(setq org-cite-global-bibliography
(ensure-list
(or (bound-and-true-p citar-bibliography)
(bound-and-true-p bibtex-completion-bibliography)))
;; Setup export processor; default csl/citeproc-el, with biblatex for
2021-10-27 17:33:04 -04:00
;; latex
org-cite-export-processors '((latex biblatex) (t csl))
2021-10-27 17:33:04 -04:00
org-support-shift-select t))
(use-package! citar
:when (modulep! :completion vertico)
:no-require
:config
(setq org-cite-insert-processor 'citar
org-cite-follow-processor 'citar
2023-03-23 19:51:55 -04:00
org-cite-activate-processor 'citar)
(when (modulep! :completion vertico +icons)
(defvar citar-indicator-files-icons
(citar-indicator-create
:symbol (nerd-icons-faicon
"nf-fa-file_o"
:face 'nerd-icons-green
2023-03-23 19:51:55 -04:00
:v-adjust -0.1)
:function #'citar-has-files
:padding " " ; need this because the default padding is too low for these icons
:tag "has:files"))
(defvar citar-indicator-links-icons
(citar-indicator-create
:symbol (nerd-icons-faicon
"nf-fa-link"
:face 'nerd-icons-orange
2023-03-23 19:51:55 -04:00
:v-adjust 0.01)
:function #'citar-has-links
:padding " "
:tag "has:links"))
(defvar citar-indicator-notes-icons
(citar-indicator-create
:symbol (nerd-icons-codicon
"nf-cod-note"
:face 'nerd-icons-blue
2023-03-23 19:51:55 -04:00
:v-adjust -0.3)
:function #'citar-has-notes
:padding " "
:tag "has:notes"))
(defvar citar-indicator-cited-icons
(citar-indicator-create
:symbol (nerd-icons-faicon
"nf-fa-circle_o"
:face 'nerd-icon-green)
2023-03-23 19:51:55 -04:00
:function #'citar-is-cited
:padding " "
:tag "is:cited"))
(setq citar-indicators
(list citar-indicator-files-icons
citar-indicator-links-icons
citar-indicator-notes-icons
citar-indicator-cited-icons))))
(use-package! citar-embark
:when (modulep! :completion vertico)
:after citar embark
:config (citar-embark-mode))
(use-package! citar-org-roam
:when (and (modulep! +roam2)
(modulep! :completion vertico))
:after citar org-roam
:config (citar-org-roam-mode))
;; `org-cite' processors
(use-package! oc-biblatex :after oc)
(use-package! oc-csl :after oc)
(use-package! oc-natbib :after oc)
2021-10-27 17:33:04 -04:00
;;
;;; Third-party
2021-10-27 17:33:04 -04:00
(use-package! bibtex-completion
:when (or (modulep! :completion ivy)
(modulep! :completion helm))
:defer t
:config
(setq bibtex-completion-additional-search-fields '(keywords)
;; Tell bibtex-completion to look at the File field of the bibtex to
;; figure out which pdf to open:
bibtex-completion-pdf-field "file"))
(use-package! ivy-bibtex
:when (modulep! :completion ivy)
:defer t
:config
(add-to-list 'ivy-re-builders-alist '(ivy-bibtex . ivy--regex-plus)))