Announcing Casual BibTeX
24 Sep 2025 Charles Choi
Given current events, the importance of having a shared and testable truth is arguably the only thing that matters these days. A time-honored practice to reaching such truth is to write and distribute documentation with good references.
Emacs has long had support for BibTeX, going as far back as 1987. BibTeX is both a bibliography processor for LaTeX documents and more importantly, a database schema for bibliographic data. The significance of the latter allows for using a BibTeX database for contexts outside of LaTeX.
BibTeX organizes bibliographic data into a collection of records (or entries) that are stored in a plain-text file (multiple files are also supported). This plain-text file is identified using a “.bib” suffix and is treated as a database. Any plain-text editor can edit a BibTeX file. This can be seen, especially with 2025 eyes, as a virtue or an anathema. Because the BibTeX database is just a plain-text file, schema enforcement ultimately rests upon the user editing the file.
The Emacs built-in package bibtex
tries to help shoulder this schema enforcement by providing commands for both navigating and editing BibTeX data structures (entries and the fields within an entry). In this way, bibtex
tries to provide the user a quasi-“form-based” interface to editing a BibTeX file.
Like many other Emacs modes, I find the commands for bibtex-mode
to be difficult to both discover and recall. I also find bibtex-mode
to not be opinionated enough in trying to provide a form-based experience.
To address this, I’m happy to announce the latest Casual addition: support for BibTeX.
Casual BibTeX organizes bibtex
commands into a Transient menu. The bindings remap conventional Emacs navigation bindings for field or entry navigation. Casual BibTeX holds the strong opinion that creation, update, or deletion of either an entry or a field should be done via commands dedicated for those respective operations. Manual editing achieve the same end is discouraged.
If you are invested in Org, knowing how to work with BibTeX has great benefit as Org has extensive citation support for it.
Casual BibTeX is now available in the v2.9.0 update of Casual on MELPA. Learn more about Casual BibTeX in its documentation.