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. |
||
---|---|---|
.. | ||
config.el | ||
packages.el | ||
README.org |
: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.
Maintainers
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 :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.
- insert provides
org-cite-insert
integration for inserting and editing citations. - activate provides fontification, previews, etc.
- follow integrates contextual citation actions with
org-open-at-point
. - export for different output targets.
This module makes the following processors available:
- The core
oc-basic
,oc-natbib
,oc-biblatex
, andoc-csl
. - 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?