bibindex(1) create a bibliography index file for biblook(1)


bibindex basename [[-i] keyword ...]


bibindex creates a compact binary index file from a BibTeX bibliography file to permit fast lookup by biblook(1). The basename argument can optionally omit the .bib extension. The output index file will be named with the same basename, and extension .bix .

For indexing purposes, a word is any contiguous set of letters and numbers, after the following steps:

Single characters and a few very common words ("an", "and", "for", "in", "of", "on", "the", "to", and "with") are never indexed.
Letters are folded to lower case. Thus, "Voronoi" is indexed as "voronoi".
All TeX commands, except those in math expressions, are removed, but their arguments are left behind. Thus, "Erd{\H o}ss" is indexed as "erdos".
All other non-alphanumeric characters are removed. Non-word characters inside {{possibly} nested} braces or dollar signs do not delimit words, so they may cause unexpected results. Within braces, spaces and tabs delimit components of compound words, which are indexed both as a unit and as individual components. Thus, "{this example}" is indexed as "this example thisexample".
TeX commands in math expressions are considered normal text. However, each contiguous string of letters and numbers is considered a component of a compound word. Thus, "$O(n\log^2 n)$" is indexed as "log onlog2n" instead of "on2".
Apostrophes and brackets are ignored. Thus, "{\'O}'D{\'u}nlaing" is indexed as "odunlaing", and "J[ohn]" is indexed as "john".
Single hyphens separate components of compound words. Thus, "semi-on-line" is indexed as "semi line semionline". (Recall that "on" is ignored.)

bibindex examines the contents of all value strings, and expects them to be well-formed TeX input. In particular, braces, quotation marks, and dollar signs should be balanced.

Errors detected result in a message giving the line number of the BibTeX entry in which the error was detected, and the line number at the point of the error. Unbalanced braces or dollar signs can result in large differences between these line numbers; in such a case, the error is somewhere in the entry indicated by the first line number.


-i keyword ...
Add keyword to the list of BibTeX keywords that are to be ignored, along with their string values, in preparing the index. By default, all keyword = "value" pairs are indexed. Any number of keywords may be specified after the -i flag.


Default list of options, used if and only if no options are given on the command line. The proper syntax to ensure that all fields are indexed, even though BIBINDEXOPTS is set, is "bibindex basename -i".


Jeff Erickson <[email protected]> and Bill Jones <[email protected]>, with significant contributions from Nelson Beebe, Sariel Har-Peled, and Erik Schoenfelder

This program is in the public domain. You may use it or modify it to your heart's content, at your own risk.

The most current version of biblook and bibindex is archived at the URL "".