BibTeX
Original author(s) | Oren Patashnik, Leslie Lamport |
---|---|
Developer(s) | Oren Patashnik |
Initial release | March 1985 |
Stable release | 0.99d / March 2010 |
Development status | Maintained |
Written in | WEB |
Platform | Cross-platform |
Available in | English |
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 . 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
In the words of the program’s author:
Here’s how BibTeX works. It takes as input
- an
.aux
file produced by LaTeX on an earlier run;- 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.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]
History
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]
Reimplementations
During the period following BibTeX's implementation in 1985, several reimplementations have been published:
- BibTeXu
- A reimplementation of bibtex (by Yannis Haralambous and his students) that supports the UTF-8 character set. Taco Hoekwater of the LuaTeX team has criticized it.[3]
- bibtex8
- A reimplementation of bibtex that supports 8-bit character sets.
- CL-BibTeX
- 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.
- MLBibTeX
- A reimplementation of BibTeX focusing on multilingual features, by Jean-Michel Hufflen.[4]
- biblatex
- 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."[5]
- Biber
- A bibliography processing program for biblatex with a superset of BibTeX functionality, including Unicode 6.0 support, locale-sensitive sorting and UTF-8 citekeys.[6]
- Bibulous
- A drop-in BibTeX replacement based on style templates, including full Unicode support, written in Python.[7]
Bibliographic information file
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
.
A BibTeX database contained in a .bib
file is formed by "entries" (each corresponding to a bibliographical item, e.g. a journal paper or a conference paper) and each entry is formed by "fields" (e.g., "author", "year", "title"). The types of entries and fields used in virtually all BibTeX styles BibTeX are listed below.
Entry types
A BibTeX database can contain the following types of entries:
- article
- An article from a journal or magazine.
Required fields: author, title, journal, year, volume
Optional fields: number, pages, month, note, key - book
- A book with an explicit publisher.
Required fields: author/editor, title, publisher, year
Optional fields: volume/number, 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 compatibility.
- inbook
- 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 - incollection
- 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 - inproceedings
- 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 - 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: type, 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: type, address, month, note, key - proceedings
- The proceedings of a conference.
Required fields: title, year
Optional fields: editor, volume/number, series, address, month, publisher, organization, 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
Field types
A BibTeX entry can contain various types of fields. The following types are recognized by the default bibliography styles; some third-party styles may accept additional ones:
- 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)
- 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 "(issue) 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.
- 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 field overriding the default type of publication (e.g. "Research Note" for techreport, "{PhD} dissertation" for phdthesis, "Section" for inbook/incollection)
- 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 (Bibtexkey) 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.
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 (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.
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.
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",
}
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,
}
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 = 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
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:
\bibliography{bibliography_1,bibliography_2,bibliography_3}
Non-reference sections
- @COMMENT {...} - allows comments to be present in the file, but not to be interpreted by BibTeX. Similarly, the '%' operator can be used.[8]
Uses
- NASA Astrophysics Data System – The ADS is an online database of over eight million astronomy and physics papers and provides BibTeX format citations.
- ACL Anthology – A Digital Archive of Research Papers in Computational Linguistics.
- BibSonomy – A social bookmark and publication management system based on BibTeX.
- Citavi - Reference manager. Works with various TeX-Editors and supports BibTeX input and output.
- 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 in the computer science field.
- Google Books - The bibliographic information for each book is exportable in BibTeX format via the 'Export Citation' feature.
- Google Scholar – Google's system for searching scholarly literature provides BibTeX format citations if you enable the option in 'Scholar Preferences'.
- Google Research – Google Research provides BibTeX format citations for all research papers.[9]
- HubMed – A versatile PubMed interface including BibTeX output.
- MathSciNet – Database by the American Mathematical Society (subscription), choose BibTeX in the "Select alternative format" box
- Mendeley – Reference Manager, for collecting papers. It supports exporting collections into bib files and keep them synchronized with its own database.[10]
- Qiqqa – Provides a fully featured BibTeX editor and validator, along with tools for automatically populating BibTeX records for your PDFs.
- refbase – Open source reference manager for institutional repositories and self archiving with BibTeX input and output.
- RefTeX – Emacs based reference manager
- INSPIRE-HEP – The INSPIRE High-Energy Physics literature database with BibTeX support.
- Wikindx – Open source Virtual Research Environment/enhanced bibliography manager including BibTeX input and output.
- Zentralblatt MATH – Database by the European Mathematical Society, FIZ Karlsruhe and Heidelberg Academy (subscription, 3 free entries); choose BibTeX button or format.
- Zotero – Firefox plugin with advanced features such as synchronization between different computers, social bookmarking, searching inside saved PDFs and BibTeX output.
See also
References
- ↑ http://www.tex.ac.uk/tex-archive/bibliography/bibtex/base/bibtex.web From the program's WEB source, version 0.99d, as of May 2011.
- ↑ http://www.tex.ac.uk/tex-archive/bibliography/bibtex/base/bibtex.web source code as of May 2011.
- ↑
- ↑
- ↑ Description of the package biblatex from Debian's wheezy distribution as of May 2011.
- ↑
- ↑
- ↑ "Bibtex Format".
- ↑ "Google Research". Retrieved 8 February 2016.
- ↑ Mendeley on creating and exporting bib
External links
The Wikibook LaTeX has a page on the topic of: Bibliography Management |
- BibTeXing. The original manual (1988) by the co-author of BibTeX, Oren Patashnik.
- BibTeX tools at DMOZ
- Managing Citations and Your Bibliography with BibTeX by Jürgen Fenn (The PracTeX Journal 2006, number 4).
- BibTeX search. A searchable database of BibTeX records.
- BibTeX tutorial. Section from Getting to Grips with LaTeX tutorials.
- The BibTeX Format. Description of the BibTeX format.
- BibTeX in WinEdt
- Tame the BeaST. Detailed explanation of the BibTeX format and how to write bst files.
- CL-BibTeX. The CL-BibTeX web site.
- biblatex -- The TeX Catalogue OnLine, Entry for biblatex, Ctan Edition. A LaTeX package that is a complete reimplementation of the bibliographic facilities provided by LaTeX in conjunction with BibTeX.
- BibTeX Style Examples. A list of all possible BibTeX entries showing the LaTeX code and the generated result.
|