Replacing the BibTeX–LaTeX mechanism

Producing a successor to BibTeX has long been a favoured activity among a certain class of TeX-users; the author has seen reports of progress (on several projects), over the years, but few that claim to be ready for “real-world” use.

Few would deny that BibTeX is ripe for renewal: as originally conceived, it was a program for creating bibliographies for technical documents, in English. People have contributed mechanisms for a degree of multilingual use (whose techniques are arcane, and quite likely inextensible); and specialist BibTeX style files are available for use in non-technical papers.

BibTeX uses a style language whose mechanisms are unfamiliar to most current programmers: it’s difficult to learn, but since there are fewer opportunities to write the language, it’s also difficult to become fluent (in the way that so many people fluently write the equally arcane TeX macro language).

Oren Patashnik (the author of BibTeX) summarises the issues as he sees them, in a TUG conference paper from 2003 that seems to suggest that we might expect a BibTeX 1.0...which hasn’t (yet) appeared.

In the absence of BibTeX 1.0, what do we need from the bibliography system of the future? — simple: a superset of what BibTeX does (or can be made to do), implemented in a simpler style language, with coherent multilingual capabilities.

Of the direct BibTeX replacements, the only one whose authors have sufficient confidence to submit to CTAN is CrossTeX. CrossTeX’s language feels familiar to the existing user of BibTeX, but it’s redesigned in an object-oriented style, and looks (to a non-user) as if it may well be adequately flexible.

CrossTeX’s team respond to queries, and seem well aware of the need for multilingual support. CrossTeX is probably a development to watch.

Two interesting alternative approaches, that the author has investigated, are amsrefs and biblatex. Amsrefs does away with BibTeX altogether, while biblatex makes rather limited use of BibTeX. Both are heavily dependent on LaTeX’s support.

Amsrefs uses a transformed .bib file, which is expressed as LaTeX macros. (The package provides a BibTeX style that performs the transformation, so that a LaTeX source containing a \nocite{*} command enables BibTeX to produce a usable amsrefs bibliography database.)

Amsrefs is maintained by the AMS as part of its author support programme,

Biblatex uses BibTeX more-or-less as normal, but with biblatex’s own style; the style of citations and of the bibliography itself is determined by the way your biblatex style has been set up. This structure eliminates the collections of BibTeX styles, at a stroke; the package comes with a basic set of styles, and details are determined by options, set at package loading time. The author, Philipp Lehman, evaluated the whole field of bibliography software before starting, and as a result the package comes with answers to many of the questions asked in the bibliography sections of these FAQs.

Biblatex is released as experimental software, but it’s clear that many users are already using it happily; Lehman is responsive to problem reports, at the moment, but a set of expert users is already establishing itself.

amsrefs.sty
macros/latex/contrib/amsrefs (gzipped tar, browse)
biblatex.sty
macros/latex/exptl/biblatex (gzipped tar, browse)
CrossTeX
biblio/crosstex/

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=biblatex