A complete guide to the BibTeX format
What is BibTeX?
BibTeX is reference management software for formatting reference lists and in-text citations in combination with the typesetting system LaTeX. The reference entries are stored in BibTeX’s own special format, which is usually denoted with the file extension *.bib. Managing your references with BibTeX comes in especially handy for large documents such as a PhD thesis or a research paper. For even greater ease in reference management consider using reference manager with BibTeX support.
BibTeX format explained
Due to its simple structure and the fact that a simple text editor is enough to generate and edit BibTeX files, BibTeX has become one of the standard formats to store and share bibliographic data.
Each BibTeX reference consist of three parts:
Part 1: the entry type
In its current version BibTeX features 14 entry types. A BibTeX entry start with the @ sign followed by the entry type name. Everything that belongs to the entry is enclosed in curly brackets.
% basic structure of a BibTeX entry @book{ ... }
Part 2: the citekey
The citekey is the name that is used to uniquely identify the BibTeX entry. It can be any combination of letters and digits and follows immediately after the opening bracket of the BibTeX entry.
% basic structure of a BibTeX entry with a citekey @book{MyUniqueCitekey, ... }
Part 3: a list of key-value pairs storing the bibliographic data
Finally, the bibliographic data is stored by a list of predefined field types and their corresponding values.
% basic structure of a BibTeX entry @book{MyUniqueCitekey, title = "Title of the book", ... }
Let's illustrate on an example. Here is a BibTeX entry for the famous "The Art of Computer Programming" by Donald E. Knuth.
Entry types
BibTeX features 14 entry types that help your organize your references. Each entry type has its own set of required an optional fields to store the bibliographic data that is needed to format the references correctly.
% the entry type names are case insensitive % each variant is valid @book{ ... } @Book{ ... } @BOOK{ ... }
Here is a complete listing of the BibTeX entry types including a short description:
- article: any article published in a periodical like a journal article or magazine article
- book: a book
- booklet: like a book but without a designated publisher
- conference: a conference paper
- inbook: a section or chapter in a book
- incollection: an article in a collection
- inproceedings: a conference paper (same as the conference entry type)
- manual: a technical manual
- masterthesis: a Masters thesis
- misc: used if nothing else fits
- phdthesis: a PhD thesis
- proceedings: the whole conference proceedings
- techreport: a technical report, government report or white paper
- unpublished: a work that has not yet been officially published
Citekey
The citekey can be any combination of alphanumeric characters including the characters "-", "_", and ":". The most frequent pattern is to use the last name of the first author followed by the year. Let's illustrate the concept on the book "The Theoretical Minimum" by George Hrabovsky and Leonard Susskind originally published 2013.
% standard pattern: last name of the first author + year Hrabovsky2013 % last name of the first author + short version of the year Hrabovsky13 % If multiple papers are available from the same author in a given year % add a suffix like "-1" or "a" and so on Hrabovsky2013a Hrabovsky2013-1 % Other variations Hrabovsky:2013 Hrabovsky-2013 Hrabovsky_2013 HRABOVSKY2013
It's also possible to list all authors or even the title in the citekey. The longer the citekey is the more likely it is unique by chance, but that comes at the price of more typing and the citekeys are more difficult to remember.
Fields
BibTeX comes with a list of standard fields that are supported by most citation styles. Each entry type has required fields and optional fields. Optional field store additional information that might not be present for each reference, but can still be included in the bibliography entry. Due to the flexible definition of the BibTeX format there are also many non-standard fields that are frequently used, but are only supported by selected BibTeX styles.
% the values of field can either be enclosed in { } or " " title = "The Theoretical Minimum" title = {The Theoretical Minimum} % the field names are case insensitive: each variant is valid title = "The Theoretical Minimum" Title = "The Theoretical Minimum" TITLE = "The Theoretical Minimum" % plain numbers do not need to be encloded in { } or " " year = 2018
Standard field types
- address: address of the publisher or the institution
- annote: an annotation
- author: list of authors of the work
- booktitle: title of the book
- chapter: number of a chapter in a book
- edition: edition number of a book
- editor: list of editors of a book
- howpublished: a publication notice for unusual publications
- institution: name of the institution that published and/or sponsored the report
- journal: name of the journal or magazine the article was published in
- month: the month during the work was published
- note: notes about the reference
- number: number of the report or the issue number for a journal article
- organization: name of the institution that organized or sponsored the conference or that published the manual
- pages: page numbers or a page range
- publisher: name of the publisher
- school: name of the university or degree awarding institution
- series: name of the series or set of books
- title: title of the work
- type: type of the technical report or thesis
- volume: volume number
- year: year the work was published
Non-standard field types
These fields are frequently used, but are not supported by all BibTeX styles.
- doi: DOI number (like 10.1038/d41586-018-07848-2)
- issn: ISSN number (like 1476-4687)
- isbn: ISBN number (like 9780201896831)
- url: URL of a web page
More about BibTeX
If you need to dive deeper into BibTeX, we recommend to have a look at these sources:
- Tame the BeaST: The B to X of BibTeX by Nicolas Markey [PDF]
- Using bibtex: a short guide by Martin J. Osborne
- BibTeXing by Oren Patashnik [PDF]