Skip to content
Anh T Nguyen edited this page Jul 30, 2022 · 37 revisions

Citar in context

Citar started off as a package called bibtex-actions, which was a front-end to bibtex-completion. As such, it was very similar to ivy-bibtex and helm-bibtex, except using completing-read behind-the-scenes, and optimized for use with the new suite of packages: notably Embark.

Over time, the package has become increasingly decoupled from bibtex-completion, so it is now independent of it.

In comparison to those package, citar:

  • focuses on org-cite for org, and pandoc for markdown
  • supports CSL JSON along with bibtex and biblatex
  • integrates with Embark to provide contextual actions in the minibuffer and buffer
  • an "adapter" system for different major modes, that integrates with the Embark support, provides consistent functionality (including embark-act at point) across those different modes
  • favors built-in functions and libraries like seq, dolist and string over separate packages like dash and s
  • has seamless support for local and global bibliographic file caching

In comparison to org-ref, citar is both more general, and more focused and modular:

More generally, the creator and maintainer here works at the border of the social sciences and humanities, while most software is developed by scientists. We tend to deal with a wider range of reference types and document formats, so the design of citar reflects those priorities (though most of the contributors have been scientists, so it should reflect their needs too!).

Summary of diverse Emacs bibliographic and citation packages

Frontends

  • citar (frontend, latex/markdown/org, uses org-cite for org, based on parsebib)
  • ivy-bibtex, helm-bibtex, consult-bibtex (frontends to bibtex-completion, latex/markdown/org and more, does not currently provide org-cite processors)
  • bibtex-completion (middleware, based on parsebib and biblio)
  • org-ref (frontend, only org, does not use org-cite, based on bibtex-completion/parsebib/citeproc)
  • org-ref-cite (org-ref citation support rewritten for org-cite; unclear future)
  • org-roam-bibtex (org-roam/org-ref integration)
  • ebib (bibtex/biblatex editor without having to edit the raw .bib files)

Parsing/formatting of bibliographic databases

  • citeproc (formatter for csl. Dependency of org-cite oc-csl.el)
  • citeproc-org (citeproc integration for org, replaced by org-cite oc.el and org-ref v3)
  • parsebib (parser for bibtex, biblatex, csl-json, small library)
  • org-cite oc.el (replaces citeproc-org)

Retrieval of bibtex entries

  • biblio, biblio-core, biblio-bibsonomy (retrieval of bibtex entries from various web sources)
  • bibretrieve, bibslurp, gscholar-bibtex, empos/pyopl (retrieval of bibtex entries from various web sources)
  • scholar-import (retrieval of bibtex entries on browser interface)
Clone this wiki locally