BIBORDER 1 "15 January 1997" "Version 0.09"

Table of contents


biborder - order key fields in a BibTeX bibliography file


biborder [-alphabetical] [-bimonthly m1/m2/m3/m4/m5/m6] [-check-missing] [-monthly] [-quarterly m1/m2/m3/m4] < infile > outfile
biborder [-alphabetical] [-bimonthly m1/m2/m3/m4/m5/m6] [-check-missing] [-monthly] [-quarterly m1/m2/m3/m4] BibTeXfile(s) > outfile


biborder filters one or more BibTeX bibliographies, or bibliography fragments, from the specified files, or from its standard input if no filenames are provided, printing on standard output a bibliography in which key fields have been put into a standard order: author, editor, key, booktitle, title, crossref, chapter, journal, volume, type, number, howpublished, institution, organization, publisher, school, address, edition, pages, day, month, year, CODEN, ISBN, ISSN, LCCN, MRclass, MRnumber, MRreviewer, bibdate, bibsource, note, price, series, and URL. All other key fields are output in alphabetical order following the standard ones.

A consistent key field order makes BibTeX entries easier to read, and also facilitates identification and removal of duplicates, such as with bibsort -u.


Command-line options may be abbreviated to a unique leading prefix.

To avoid confusion with options, if a filename begin with a hyphen, it must be disguised by a leading absolute or relative directory path, e.g. /tmp/-foo.bib or ./-foo.bib.

Output all keys in strict alphabetical order, rather than in the standard order given previously.
-bimonthly m1,m2,m3,m4,m5,m6
If this option is specified, all of the journals in the BibTeX file entries are assumed to appear at two-month intervals. The six month names that correspond to each such interval must be given as a single argument following -bimonthly, with the names separated by (any number of) non-letters. A typical example is feb-apr-jun-aug-oct-dec, specifying that issue number 1 appears in February, and number 6 in December.
If this option is specified, missing expected key fields will be supplied, with the key field name prefixed with OPT, and the value string set to a pair of question marks, e.g.
  OPTvolume =    "??",
The OPT prefix ensures that the key is ignored by BibTeX, so that the question marks will not appear in an output .bbl file. The GNU Emacs bibtex-mode editing support has functions for removing the OPT prefixes, and so does bibclean(1).

The doubled question marks are distinguished from single ones that might legitimately appear in value strings, and also serve as a convenient regular-expression pattern for bibextract(1), allowing easy preparation of a printed listing of just those entries that have incomplete bibliographic data:

     bibextract '' '[?][?]' BibTeXfiles |  lpr
If this option is specified, all of the journals in the BibTeX file entries are assumed to appear monthly, 1 in January, 2 in February, ..., 12 in December.

If only one of the number and month values is supplied, biborder will supply the other automatically, but will name it OPTmonth or OPTnumber to distinguish it from existing keys. A simple editor string substitution, or bibclean(1), can subsequently normalize the appearance.

-quarterly m1,m2,m3,m4
If this option is specified, all of the journals in the BibTeX file entries are assumed to appear quarterly. The four month names that correspond to each quarter must be given as a single argument following -quarterly, with the names separated by (any number of) non-letters. Some examples are jan-apr-jul-oct, mar////jun.sep:dec, Spring\ Summer\ Fall\ Winter, and 'Spring Summer Fall Winter'. The last two examples show that when space separators are used, they must be backslashed, or else the list must be surrounded by quotes, to force UNIX shells to interpret the quarter names as a single argument.

The options -bimonthly, -monthly, and -quarterly are mutually exclusive; biborder will refuse to run if more than one of them is specified; they should normally only be used in journal-specific bibliographies, since number-month pairing does not hold for all journals.

Failure to supply the correct number of month names for -bimonthly or -quarterly will also cause immediate termination.


biborder will issue warning messages in the following cases: biborder will issue an error message and terminate with exit code 1, and incomplete output, in the following cases:


BibTeX has loose syntactical requirements that the current simple implementation of biborder does not support. In particular, outer parentheses may not be used in place of braces following ``@keyword'' patterns. If you have such a file, you can use bibclean(1) to prettyprint it into a form that biborder can handle successfully.


bibcheck(1), bibclean(1), bibdup(1), bibextract(1), bibjoin(1), biblabel(1), biblex(1), bibparse(1), bibsort(1), bibtex(1), bibunlex(1), citesub(1), emacs(1).


Nelson H. F. Beebe, Ph.D.
Center for Scientific Computing
Department of Mathematics
University of Utah
Salt Lake City, UT 84112
Tel: +1 801 581 5254
FAX: +1 801 581 4148
Email: <>