doomemacs/modules/tools/biblio/README.org
2021-11-24 13:09:47 +01:00

5.2 KiB

tools/biblio

Description

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.

Maintainers

Module Flags

This module provides no flags.

Plugins

Prerequisites

There are no hard dependencies for this module.

PDF viewing

An application for opening PDF files is required. By default DocView is used though it is highly recommended to enable :tools pdf in your personal init.el file to enable pdf-tools.

Bibtex completion

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

Features

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

For all these packages it is advisable to use (after! package) in your config.el to override any default settings and tune the packages to your needs.

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 vertico completion) 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

Refer to the respective package repositories.