doomemacs/modules/tools/biblio
Henrik Lissner ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
..
config.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
packages.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
README.org bump: :tools biblio 2022-08-08 23:41:06 +02:00

:tools biblio

Description   unfold

This module adds tools to help when working with bibliographies and citations. Minimal modifications have been made to the packages and the configuration details are listed in Configuration below. Some sensible defaults have been selected so it should be possible to use without modifications.

Module flags

This module has no flags.

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

There are no hard dependencies for this module, but this module can benefit from having a PDF reader and one of Doom's :completion modules.

PDF viewing

An application for opening PDF files is required. By default DocView is used though :tools pdf is highly recommended so PDFs can be viewed within Emacs.

Bibtex completion

For vertico, helm, or ivy bibtex completion you should enable :completion vertico, :completion helm, or :completion ivy respectively.

Usage

Both helm-bibtex (includes helm-bibtex, ivy-bibtex, and bibtex-completion code) and citar provide an extensive range of features so it is best to check their respective sites for a full list of features.

On a high-level you can expect:

  • bibliography management
  • notes per reference
  • citation support
  • citation lookup
  • org integration for writing literate latex (org-roam)
  • fast indexing and searching of references.

To understand the interaction between these packages this reddit thread will explain the unique features and the overlapping functionality, if any.

In addition, this module provides support for native Org-mode citations (org-cite).

Configuration

To override any defaults set by this module, do so in an (after! package ...) block in $DOOMDIR/config.el.

Org-cite

Processor configuration

org-cite provides rich features and flexible configuration options via its "processor" capabilities.

  1. insert provides org-cite-insert integration for inserting and editing citations.
  2. activate provides fontification, previews, etc.
  3. follow integrates contextual citation actions with org-open-at-point.
  4. export for different output targets.

This module makes the following processors available:

  1. The core oc-basic, oc-natbib, oc-biblatex, and oc-csl.
  2. citar for integration with vertico completion.

The module configures these processors as follows for the different completion modules:

Feature Vertico Ivy Helm
Insert citar oc-basic oc-basic
Activate citar oc-basic oc-basic
Follow citar oc-basic oc-basic

Other configuration options

If you like, you can also set the oc-csl processor to look in a specific directory for your CSL styles:

(setq org-cite-csl-styles-dir "~/Zotero/styles")

Path configuration

You must set the path variable for either citar (if using :completion vertico) or bibtex-completion (if using ivy or helm); this module will in turn set the org-cite-global-bibliography variable to the same value:

(setq! bibtex-completion-bibliography '("/path/to/references.bib"))
(setq! citar-bibliography '("/path/to/references.bib"))

You may also set the respective note and library path variables as well for enhanced functionality:

(setq! bibtex-completion-library-path '("/path/to/library/path/")
       bibtex-completion-notes-path "/path/to/your/notes/")
(setq! citar-library-paths '("/path/to/library/files/")
       citar-notes-paths '("/path/to/your/notes/"))

Templates

This module provides reasonable default templates for the packages. However, if you wish to change them, refer to the respective packages' documentation for in-depth instructions.

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

🔨 This module has no appendix yet. Write one?