BibTeX
, written as BibTeX in plain text, is a tool for formatting lists of references used by the (LaTeX) document preparation system.
BibTeX was created by Oren Patashnik and Leslie Lamport in 1985. BibTeX makes it easy to cite sources in a consistent manner, by separating bibliographic information from the presentation of this information. This same principle of separation of content and presentation/style is used by LaTeX itself, by XHTML and CSS, etc.
Bibliographic information file: .bib
BibTeX uses a style-independent text-based file format for lists of bibliography items, such as articles, books, theses. BibTeX bibliography files usually end in .bib
.
Bibliography entries each contain some subset of standard data entries:
- address : Publisher's address. Usually just the city, but can be the full address for lesser-known publishers.
- annote : An annotation for annotated bibliography styles (not typical).
- author : The name(s) of the author(s)
- booktitle : The title of the book, if only part of it is being cited
- chapter : The chapter number
- edition : The edition of a book, long form (such as "first" or "second")
- editor : The name(s) of the editor(s)
- howpublished : How it was published, if the publishing method is nonstandard
- institution : The institution that was involved in the publishing, but not necessarily the publisher
- journal : The journal or magazine the work was published in
- key : A hidden field used for specifying or overriding the alphabetical order of entries
- month : The month of publication (or, if unpublished, the month of creation)
- note : Miscellaneous extra information
- number : The "number" of a journal, magazine, or tech-report, if applicable.
- organization : The conference sponsor
- pages : Page numbers, separated either by commas or double-hyphens
- publisher : The publisher's name.
- school : The school where the thesis was written
- series : The series of books the book was published in (e.g. "The Hardy Boys")
- title : The title of the work
- type : The type of tech-report, for example, "Research Note"
- volume : The volume of a journal or multi-volume book
- year : The year of publication (or, if unpublished, the year of creation)
Bibliography entries included in a .bib
are split by types. The following types are understood by virtually all BibTeX styles:
- article
- An article from a journal or magazine.
Required fields: author, title, journal, year
Optional fields: volume, number, pages, month, note, key - book
- A book with an explicit publisher.
Required fields: author/editor, title, publisher, year
Optional fields: volume, series, address, edition, month, note, key - booklet
- 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 - conference
- The same as inproceedings, included for Scribe (markup language) compatibility.
Required fields: author, title, booktitle, year
Optional fields: editor, pages, organization, publisher, address, month, note, key - inbook
- A part of a book, which may be a chapter (or section or whatever) and/or a range of pages.
Required fields: author/editor, title, chapter/pages, publisher, year
Optional fields: volume, series, address, edition, month, note, key - incollection
- A part of a book having its own title.
Required fields: author, title, booktitle, year
Optional fields: editor, pages, organization, publisher, address, month, note, key - inproceedings
- An article in a conference proceedings.
Required fields: author, title, booktitle, year
Optional fields: editor, pages, organization, publisher, address, month, note, key - manual
- Technical documentation.
Required fields: title
Optional fields: author, organization, address, edition, month, year, note, key - mastersthesis
- A Master's thesis.
Required fields: author, title, school, year
Optional fields: address, month, note, key - misc
- For use when nothing else fits.
Required fields: none
Optional fields: author, title, howpublished, month, year, note, key - phdthesis
- A Ph.D. thesis.
Required fields: author, title, school, year
Optional fields: address, month, note, key - proceedings
- The proceedings of a conference.
Required fields: title, year
Optional fields: editor, publisher, organization, address, month, note, key - techreport
- 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 - unpublished
- A document having an author and title, but not formally published.
Required fields: author, title, note
Optional fields: month, year, key
Bibliographic style file: .bst
Your LaTeX document must specify a bibliography style. This is done with the \bibliographystyle{}
element.
Common values include \bibliographystyle{plain}
and \bibliographystyle{abbrv}
.
BibTeX style files, for which the suffix .bst
is common, are written in a simple, stack-based programming language that describes how bibliography items should be formatted. The BibTeX program bibtex
will then format bibliographic items according to a style file, typically by generating TeX or LaTeX formatting commands. However, style files for generating HTML output also exist.
Custom BibTeX style files can be generated easily with the latex makebst command.
Examples
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.
Name prefixes and suffixes such as von, van, Jr., Sr., and III are handled by using curly brackets as in the following example:
@Book{hicks2001, author = "Michael {von Hicks III} ", 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" }
Without the curly brackets, the citation would not be printed correctly.
Style files for different uses
There are many different style files ‘readymade’ for different journals. If you need to customize citation styles even further you can use the natbib or jurabib packages, or use the makebst
package.
Software
Free software
- Bib-it - A Java front end for managing references in the BibTeX format including a bibliographic style (.bst) generator (GPL)
- Jabref - A free Java front end for managing references in the BibTeX format including PubMed and CiteSeer search interface (GPL)
- Pybliographer - A free Python application for managing references in the BibTeX format (GPL)
- RefTeX - A reference management software package designed for use with Emacs and BibTeX. It can cooperate with the popular AUCTeX package. GPLed.
Bibliography databases
- Amatex [1] - Uses Amazon to generate BibTeX entries automatically.
- The Collection of Computer Science Bibliographies - uses BibTeX as internal data format, search results and contributions primarily in BibTeX.
- CiteSeer - An online database of research publications which can produce BibTeX format citations
- CiteULike - A community based bibliography database with BibTeX input and output
- HubMed [2] - A versatile PubMed interface including BibTeX output.
- TeXMed [3] - A BibTeX interface for PubMed
- BibSonomy [4] - A social bookmark and publication management system based on BibTeX
External links
- BibTeX tutorial. Section from Getting to Grips with LaTeX tutorials.
- LaTeX Bibliography Style Database. A database for BibTeX style files for various journals.
- The BibTeX Format. Description of the BibTeX format.
- BibTeX using LaTeX2e in WinEdit
- A BibTeX Guide via Examples. An 8-page primer by Ki-Joo Kim.
- BibTeX Style Examples. Examples of more than 50 public-domain BibTeX style files.