BibTeX

From Wikipedia, the free encyclopedia

Jump to: navigation, search
The BibTeX logo

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}}.

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.


Contents

[edit] Bibliographic information file

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) (in the case of more than one author, separated by and)
  • booktitle: The title of the book, if only part of it is being cited
  • chapter: The chapter number
  • crossref: The key of the cross-referenced entry
  • edition: The edition of a book, long form (such as "first" or "second")
  • editor: The name(s) of the editor(s)
  • eprint: A specification of an electronic publication, often a preprint or a technical report
  • 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 (when the "author" and "editor" fields are missing). Note that this is very different from the key (mentioned just after this list) that is used to cite or cross-reference the entry.
  • 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. (Most publications have a "volume", but no "number" field.)
  • organization: The conference sponsor
  • pages: Page numbers, separated either by commas or double-hyphens. For books, the total number of pages.
  • 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" or "Lecture Notes in Computer Science")
  • title: The title of the work
  • type: The type of tech-report, for example, "Research Note"
  • url: The WWW address
  • volume: The volume of a journal or multi-volume book
  • year: The year of publication (or, if unpublished, the year of creation)

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.

[edit] Entry Types

Bibliography entries included in a .bib file 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, pages
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 compatibility.
Required fields: author, title, booktitle, year
Optional fields: editor, pages, organization, publisher, address, month, note, key
inbook
A part of a book, usually untitled. 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

[edit] Style files

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 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 often 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.


[edit] 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.

[edit] Author formatting

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"
 }

[edit] Cross-referencing

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     = {October},
}

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.

[edit] See also

[edit] Free BibTeX-related software

Most reference management software‎ can handle BibTeX import and export. These packages use BibTeX as the primary language.

  • bib2xhtml [1] converts BibTeX files into XHTML listings (GPL)
  • BibDesk [2] — A Mac OS X application for managing references in the BibTeX format (BSD)
  • bibget - [3] — command-line front-end for Mathematical Reviews database (MathSciNet). Retrieves relevant references in BibTeX format, such as bibget a=gilkey t=invariance book 1984 or bibget r=MR783634 >> books.bib. Shell script for sh or bash. (GPL)
  • bib-it - [4] A BibTeX manager. Can also generate style files.
  • bibstuff - [5] — a Python package for interacting with BibTeX style databases of citation references. Contains classes for parsing and storing BibTeX files, utilities for searching and labeling BibTeX entries, a utility for replacing in-text citations and creating bibliographies (e.g., in a reStructuredText document), and a module for defining citation styles. (MIT)
  • bibutils - [6] Converts between various bibliography formats (including BibTeX) using the XML-based Library of Congress's Metadata Object Description Schema (MODS) as an intermediate. Available in many platforms. (GPL)
  • Bibwiki - [7] — An extension to Mediawiki to manage BibTeX bibliographies. Import from Aleph and Amazon and generate lists of reference with BibTeX styles.
  • Jabref — A free Java front end for managing references in the BibTeX format including PubMed and CiteSeer search interface (GPL)
  • RefTeX — A reference management software package designed for use with Emacs and BibTeX. It can cooperate with the popular AUCTeX package. GPLed.
  • Rtfbtx [8] — A collection of BibTeX style files that create Microsoft Word-compatible RTF output instead of LaTeX output. Pre-LaTeX Project Public License.
  • Bibtex4Word [9] — Microsoft Word macros allowing the citation of references from a BibTex database using a chosen formatting style.
  • KBibTeX [10] A KDE application for managing references in the BibTeX format. Features web queries (e. g. Google or PubMed) and exporting to RTF and XML/HTML. (GPL)
  • Referencer [11] A GNOME application for managing references in the BibTex format. Features automatic metadata retrieval (DOI, Arxiv ID), a PDF preview view and tagging.(GPL)
  • BibTex2Word2007 [12] A simple AWK-based script that converts BibTex bibliography format into Microsoft Word 2007 format.(GPL)
  • pybliographic [13] Graphical interface (based on Gnome) including hierarchical search mechanism, direct insertion of references into LyX and Kile, direct queries on Medline, and more. (GPL)
  • cb2bib[14] The cb2Bib is a tool for rapidly extracting unformatted, or unstandardized bibliographic references from email alerts, journal Web pages, and PDF files. (GPL)
  • BibBase [15] produces HTML listings and RSS feeds from BibTeX files on-the-fly, and maintains a central database of BibTeX files.
  • bibtexbrowser [16] produces HTML browsable publication lists from BibTeX files on-the-fly (written in PHP).

[edit] Bibliography databases

  • ACM Portal [17], click on BibTeX link
  • BibSonomy — A social bookmark and publication management system based on BibTeX.
  • BibTeX Publications Management System - A free online tool to manage publication lists in BibTeX format. It allows users to embed their publication lists in their website with sorting and searching options. It also generates an RSS feed of the publications.
  • CiteSeer — An online database of research publications which can produce BibTeX format citations.
  • CiteULike — A community based bibliography database with BibTeX input and output.
  • The Collection of Computer Science Bibliographies — uses BibTeX as internal data format, search results and contributions primarily in BibTeX.
  • Connotea — Open-source social bookmark style publication management system.
  • Digital Bibliography & Library Project - A bibliography website that lists more than 910,000 articles on the computer science field.
  • Google Scholar — Google's system for searching scholarly literature provides BibTeX format citations if you enable the option in 'Scholar Preferences'.
  • HubMed — A versatile PubMed interface including BibTeX output.
  • Lead2Amazon — A versatile Amazon.(com, ca, co.uk, de, fr, co.jp) interface including BibTeX output.
  • MathSciNet - Database by the American Mathematical Society (subscription), choose BibTeX in the "Select alternative format" box
  • refbase - Open source reference manager for institutional repositories and self archiving with BibTeX input and output.

[edit] External links

Personal tools