Skip to content
Bruce D'Arcus edited this page Jan 10, 2024 · 37 revisions

Citar in context

General

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 (though can be user-configured for other citation syntaxes)
  • supports CSL JSON along with bibtex and biblatex bibliographic data
  • integrates with Embark to provide contextual actions in the minibuffer and buffer
  • includes an "adapter" system for different major modes, that integrates with the Embark support, and provides consistent functionality (including embark-act at point) across those different modes
  • has seamless support for local and global bibliographic file caching

Compared to org-ref

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 and an internal cache)
  • 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)