doomemacs/modules/tools/biblio
Henrik Lissner 037b018cdd
feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
..
.doommodule feat: add .doommodule files 2024-09-14 20:47:39 -04:00
config.el refactor(biblio): move 3rd party modes to use-package blocks 2024-03-11 00:53:43 -04:00
packages.el bump: :tools 2024-09-07 19:04:37 -04:00
README.org docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +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.

Packages

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 doom-module::completion modules.

PDF viewing

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

Bibtex completion

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

Usage

Both doom-package:helm-bibtex (includes doom-package:helm-bibtex, doom-package:ivy-bibtex, and bibtex-completion code) and doom-package: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 (doom-package: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

doom-package: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. doom-package:citar for integration with doom-package: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 doom-package:citar (if using doom-module::completion vertico) or doom-package:bibtex-completion (if using ivy or helm); this module will in turn set the var: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?