From Wikipedia, the free encyclopedia - View original article

BibTeX logo.svg
Original author(s)Oren Patashnik, Leslie Lamport
Developer(s)Oren Patashnik
Stable release0.99d / March 2010; 4 years ago (2010-03)
Development statusMaintained
Written inWEB
Available inEnglish
Jump to: navigation, search
BibTeX logo.svg
Original author(s)Oren Patashnik, Leslie Lamport
Developer(s)Oren Patashnik
Stable release0.99d / March 2010; 4 years ago (2010-03)
Development statusMaintained
Written inWEB
Available inEnglish

BibTeX is reference management software for formatting lists of references. The BibTeX tool is typically used together with the LaTeX document preparation system. Within the typesetting system, its name is styled as {\mathrm{B{\scriptstyle{IB}} \! T\!_{\displaystyle E} \! X}}. The name is a portmanteau of the abbreviation of "bibliography" and TeX.

BibTeX makes it easy to cite sources in a consistent manner, by separating bibliographic information from the presentation of this information, similarly to the separation of content and presentation/style supported by LaTeX itself.

Basic structure[edit]

In the words of the program’s author:

Here’s how BibTeX works. It takes as input

  1. an .aux file produced by LaTeX on an earlier run;
  2. a .bst file (the style file), which specifies the general reference-list style and specifies how to format individual entries, and which is written by a style designer [..] in a special-purpose language [..], and
  3. .bib file(s) constituting a database of all reference-list entries the user might ever hope to use.

BibTeX chooses from the .bib file(s) only those entries specified by the .aux file (that is, those given by LaTeX's \cite or \nocite commands), and creates as output a .bbl file containing these entries together with the formatting commands specified by the .bst file [..]. LaTeX will use the .bbl file, perhaps edited by the user, to produce the reference list.[1]


BibTeX was created by Oren Patashnik and Leslie Lamport in 1985. It is written in WEB/Pascal.

Version 0.98f was released in March 1985.

With version 0.99c (released February 1988), a stationary state was reached for 22 years.

In March 2010, version 0.99d was released. Further releases were announced.[2]


During the period following BibTeX's implementation in 1985, several reimplementations have been published:

A reimplementation of bibtex (by Yannis Haralambous and his students) that supports the UTF-8 character set. Taco Hoekwater has criticized it [1].
A reimplementation of bibtex that supports 8-bit character sets.
A completely compatible reimplementation of bibtex in Common Lisp, capable of using bibtex .bst files directly or converting them into human-readable Lisp .lbst files. CL-BibTeX supports Unicode in Unicode Lisp implementations, using any character set that Lisp knows about.
A reimplementation of BibTeX focusing on multilingual features, by Jean-Michel Hufflen. [2]
A complete reimplementation. "It redesigns the way in which LaTeX interacts with BibTeX at a fairly fundamental level. With biblatex, BibTeX is only used to sort the bibliography and to generate labels. Instead of being implemented in BibTeX's style files, the formatting of the bibliography is entirely controlled by TeX macros."[3]
A bibliography processing program for biblatex with a superset of BibTeX functionality, including Unicode 6.0 support, locale-sensitive sorting and UTF-8 citekeys. [3]
A drop-in BibTeX replacement based on style templates, including full Unicode support, written in Python. [4]

Bibliographic information file[edit]

BibTeX uses a style-independent text-based file format for lists of bibliography items, such as articles, books, and theses. BibTeX bibliography file names usually end in .bib.

Bibliography entries each contain some subset of standard data entries:

In addition, each entry contains a key that is used to cite or cross-reference the entry. This key is the first item in a BibTeX entry, and is not part of any field.

Entry types[edit]

Bibliography entries included in a .bib file are split by types. The following types are understood by virtually all BibTeX styles:

An article from a journal or magazine.
Required fields: author, title, journal, year
Optional fields: volume, number, pages, month, note, key
A book with an explicit publisher.
Required fields: author/editor, title, publisher, year
Optional fields: volume/number, series, address, edition, month, note, key
A work that is printed and bound, but without a named publisher or sponsoring institution.
Required fields: title
Optional fields: author, howpublished, address, month, year, note, key
The same as inproceedings, included for Scribe compatibility.
A part of a book, usually untitled. May be a chapter (or section, etc.) and/or a range of pages.
Required fields: author/editor, title, chapter/pages, publisher, year
Optional fields: volume/number, series, type, address, edition, month, note, key
A part of a book having its own title.
Required fields: author, title, booktitle, publisher, year
Optional fields: editor, volume/number, series, type, chapter, pages, address, edition, month, note, key
An article in a conference proceedings.
Required fields: author, title, booktitle, year
Optional fields: editor, volume/number, series, pages, address, month, organization, publisher, note, key
Technical documentation.
Required fields: title
Optional fields: author, organization, address, edition, month, year, note, key
A Master's thesis.
Required fields: author, title, school, year
Optional fields: type, address, month, note, key
For use when nothing else fits.
Required fields: none
Optional fields: author, title, howpublished, month, year, note, key
A Ph.D. thesis.
Required fields: author, title, school, year
Optional fields: type, address, month, note, key
The proceedings of a conference.
Required fields: title, year
Optional fields: editor, volume/number, series, address, month, publisher, organization, note, key
A report published by a school or other institution, usually numbered within a series.
Required fields: author, title, institution, year
Optional fields: type, number, address, month, note, key
A document having an author and title, but not formally published.
Required fields: author, title, note
Optional fields: month, year, key

Style files[edit]

BibTeX formats bibliographic items according to a style file, typically by generating TeX or LaTeX formatting commands. However, style files for generating HTML output also exist. BibTeX style files, for which the suffix .bst is common, are written in a simple, stack-based programming language (dubbed "BibTeX Anonymous Forth-Like Language", or "BAFLL", by Drew McDermott) that describes how bibliography items should be formatted. There are some packages which can generate .bst files automatically (like custom-bib or Bib-it).

Most journals or publishers that support LaTeX have a customized bibliographic style file for the convenience of the authors. This ensures that the bibliographic style meets the guidelines of the publisher with minimal effort.


A .bib file might contain the following entry, which describes a mathematical handbook:

 @Book{abramowitz+stegun,  author    = "Milton {Abramowitz} and Irene A. {Stegun}",  title     = "Handbook of Mathematical Functions with               Formulas, Graphs, and Mathematical Tables",  publisher = "Dover",  year      =  1964,  address   = "New York",  edition   = "ninth Dover printing, tenth GPO printing" } 

If a document references this handbook, the bibliographic information may be formatted in different ways depending on which citation style (APA, MLA, Chicago etc.) is employed. The way LaTeX deals with this is by specifying \cite commands and the desired bibliography style in the LaTeX document. If the command \cite{abramowitz+stegun} appears inside a LaTeX document, the bibtex program will include this book in the list of references for the document and generate appropriate LaTeX formatting code. When viewing the formatted LaTeX document, the result might look like this:

Abramowitz, Milton and Irene A. Stegun (1964), Handbook of mathematical functions with formulas, graphs, and mathematical tables. New York: Dover.

Depending on the style file, BibTeX may rearrange authors' last names, change the case of titles, omit fields present in the .bib file, format text in italics, add punctuation, etc. Since the same style file is used for an entire list of references, these are all formatted consistently with minimal effort required from authors or editors.

Author formatting[edit]

Last name prefixes such as von, van and der are handled automatically, provided they are in lower case to distinguish them from middle names. Multiple word last names are distinguished from first and middle names by placing the last names first, then a comma, then the first and middle names. Name suffixes such as Jr., Sr., and III are generally handled by using two comma separators as in the following example:

 @Book{hicks2001,  author    = "von Hicks, III, Michael",  title     = "Design of a Carbon Fiber Composite Grid Structure for the GLAST               Spacecraft Using a Novel Manufacturing Technique",  publisher = "Stanford Press",  year      =  2001,  address   = "Palo Alto",  edition   = "1st",  isbn      = "0-69-697269-4" } 

If the author does not use a comma to separate the name suffix from the last name, then curly brackets {Hicks III} may be used instead.

Multiple authors should be separated with an and, not with commas:

 @Book{Torre2008,  author    = "Joe Torre and Tom Verducci",  publisher = "Doubleday",  title     = "The Yankee Years",  year      =  2008,  isbn      = "0385527403" } 


BibTeX allows referring to other publications via the crossref field. In the following example the 'author:06' publication references to 'conference:06'.

 @INPROCEEDINGS {author:06,  title    = {Some publication title},  author   = {First Author and Second Author},  crossref = {conference:06},  pages    = {330--331}, } @PROCEEDINGS {conference:06,  editor    = {First Editor and Second Editor},  title     = {Proceedings of the Xth Conference on XYZ},  booktitle = {Proceedings of the Xth Conference on XYZ},  year      = 2006,  month     = oct, } 

The referred entry must stand below the referring one. Remember to add booktitle to the proceedings entry in order to avoid 'empty booktitle' BibTex warning. The LaTeX output of this input might look like:

Author, First and Author, Second (October 2006), Some publication title, in: Proceedings of the Xth Conference on XYZ, pp 330-331.

Using more than one input file[edit]

Having more than one input file, it is recommended to use the command \bibliography only once and insert the various files separated by commas (and no spaces) inside the curly brackets. Example:


Non-reference sections[edit]


See also[edit]


  1. ^ From the program's WEB source, version 0.99d, as of May 2011.
  2. ^ source code as of May 2011.
  3. ^ Description of the package biblatex from Debian's wheezy distribution as of May 2011.
  4. ^ "Bibtex Format". 

External links[edit]