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