BibTeX

Last updated
BibTeX
Original author(s) Oren Patashnik, Leslie Lamport
Developer(s) Oren Patashnik
Initial releaseMarch 1985;39 years ago (1985-03)
Stable release
0.99d / March 2010;14 years ago (2010-03)
Repository https://tug.org/svn/texlive/trunk/Build/source/texk/web2c/
Written in WEB
Platform Cross-platform
Included with TeX Live
Size 384614 bytes
Available inEnglish
Type Reference management software
License Knuth License
Website Official website OOjs UI icon edit-ltr-progressive.svg

BibTeX is both a bibliographic flat-file database file format and a software program for processing these files to produce lists of references (citations). The BibTeX file format is a widely used standard with broad support by reference management software.

Contents

The BibTeX program comes bundled with the LaTeX document preparation system, and is not available as a stand-alone program. [1] Within this typesetting system its name is styled as . The name is a portmanteau of the word bibliography and the name of the TeX typesetting software.

BibTeX was created by Oren Patashnik in 1985. No updates were published between February 1988 and March 2010, when the package was updated to improve URL printing and clarify the license. There are various reimplementations of the program.

The purpose of BibTeX is to make 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.

Processor

The processor program works with several specific files to produce the reference list and format the citations. In the words of the program's author Oren Patashnik, the processor works as follows: [2]

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.

History

BibTeX was created by Oren Patashnik and Leslie Lamport in 1985. [2] The program is written in WEB/Pascal. [2]

Version 0.98f was released in March 1985. [2]

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

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

Reimplementations

BibTeXu
A reimplementation of bibtex (by Yannis Haralambous and his students) that supports the UTF-8 character set. Taco Hoekwater of the LuaTeX team criticized it in 2010 for poor documentation and for generating errors that are difficult to debug. [3]
bibtex8
A reimplementation of bibtex that supports 8-bit character sets. [4]
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. [4] 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. [5]
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." [6] It uses the bibliography processing program Biber and offers full Unicode and theming support. BibLaTeX comes with a new file format specification that uses the same syntax as the BibTeX file format but with more and different bibliographic entry types and field types.
Bibulous
A drop-in BibTeX replacement based on style templates, including full Unicode support, written in Python. [7]

Database files

BibTeX uses a style-independent text-based file format, a kind of flat-file database, to store bibliography items, such as articles, books, and theses. BibTeX database file names usually end in .bib. A BibTeX database file is formed by a list of entries, with each entry corresponding to a bibliographical item. Entry types correspond to various types of bibliographic sources such as article, book, or conference.

An example entry which describes a mathematical handbook would be structured as an entry name followed by a list of fields, such as author and title:

@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 City",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}<nowiki /> 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.

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
Optional fields: volume/number, pages, month, doi, 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, url
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
Email
The email of the author(s)
chapter
The chapter number
crossref
The key of the cross-referenced entry
doi
Digital object identifier
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. Note that this is not the "article number" assigned by some journals.
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, but style files can also be used to generate other types of output like HTML. BibTeX style files commonly use the file extension .bst and are written in a simple, stack-based programming language (dubbed "BibTeX Anonymous Forth-Like Language", or "BAFLL", by Drew McDermott [8] ) that describes how bibliography items should be formatted. There are some packages that can generate .bst files automatically, such as custom-bib and Bib-it. [9] [10]

Most journals or publishers that support LaTeX use a customized bibliographic style file for the convenience of the authors, often included as part of a complete LaTeX template.

Examples of uses

See also

Data schemes

Other

Related Research Articles

<span class="mw-page-title-main">LaTeX</span> Typesetting system

LaTeX is a software system for typesetting documents. LaTeX markup describes the content and layout of the document, as opposed to the formatted text found in WYSIWYG word processors like Microsoft Word, LibreOffice Writer and Apple Pages. The writer uses markup tagging conventions to define the general structure of a document, to stylise text throughout a document, and to add citations and cross-references. A TeX distribution such as TeX Live or MiKTeX is used to produce an output file suitable for printing or digital distribution.

<span class="mw-page-title-main">Citation</span> Reference to a source

A citation is a reference to a source. More precisely, a citation is an abbreviated alphanumeric expression embedded in the body of an intellectual work that denotes an entry in the bibliographic references section of the work for the purpose of acknowledging the relevance of the works of others to the topic of discussion at the spot where the citation appears.

<span class="mw-page-title-main">LyX</span> Document processing software

LyX is an open source, graphical user interface document processor based on the LaTeX typesetting system. Unlike most word processors, which follow the WYSIWYG paradigm, LyX has a WYSIWYM approach, where what shows up on the screen roughly depicts the semantic structure of the page and is only an approximation of the document produced by TeX.

<span class="mw-page-title-main">XeTeX</span> TeX typesetting engine

XeTeX is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography (AAT). It was originally written by Jonathan Kew and is distributed under the X11 free software license.

CiteULike was a web service which allowed users to save and share citations to academic papers. Based on the principle of social bookmarking, the site worked to promote and to develop the sharing of scientific references amongst researchers. In the same way that it is possible to catalog web pages or photographs, scientists could share citation information using CiteULike. Richard Cameron developed CiteULike in November 2004 and in 2006 Oversity Ltd. was established to develop and support CiteULike. In February 2019, CiteULike announced that it would be ceasing operations as of March 30, 2019.

refer is a program for managing bibliographic references, and citing them in troff, nroff, and groff documents. It is implemented as a preprocessor.

<span class="mw-page-title-main">JabRef</span> Reference management software

JabRef is an open-source, cross-platform citation and reference management software. It is used to collect, organize and search bibliographic information.

EndNote is a commercial reference management software package, used to manage bibliographies and references when writing essays, reports and articles. EndNote was written by Richard Niles, and ownership changed hands several times since it was launched in 1989 by Niles & Associates: in 2000 it was acquired by Institute for Scientific Information’s ResearchSoft Division, part of Thomson Corporation, and in 2016 by Clarivate. EndNote's main competitors are Mendeley and Zotero. Unlike Mendeley and Zotero, EndNote is neither free-to-use nor offers a freemium model.

RIS is a standardized tag format developed by Research Information Systems, Incorporated to enable citation programs to exchange data. It is supported by a number of reference managers. Many digital libraries, like Web of Science, IEEE Xplore, Scopus, the ACM Portal, Scopemed, ScienceDirect, SpringerLink, Rayyan, The Lens, Accordance Bible Software, and online library catalogs can export citations in this format. Citation management applications can export and import citations in this format.

<span class="mw-page-title-main">Zotero</span> Open-source reference management software

Zotero is free and open-source reference management software to manage bibliographic data and related research materials, such as PDF and ePUB files. Features include web browser integration, online syncing, generation of in-text citations, footnotes, and bibliographies, integrated PDF, ePUB and HTML readers with annotation capabilities, and a note editor, as well as integration with the word processors Microsoft Word, LibreOffice Writer, and Google Docs. It was originally created at the Center for History and New Media at George Mason University and, as of 2021, is developed by the non-profit Corporation for Digital Scholarship.

OttoBib.com was a website with a free tool to generate an alphabetized bibliography of books from a list of International Standard Book Numbers (ISBN) with output in MLA, APA, Chicago/Turabian, BibTeX and Wikipedia {{cite book}} format. Each query also generated a "temporary" permalink which could be used to recall the bibliography without reentering the ISBN data. The site was a metasearch engine, integrating data from several sources, including the U.S. Library of Congress API, the Amazon.com database of books, and ISBNdb.com. OttoBib accepted ISBNs with either 10 or 13 digits.

The following tables compare notable reference management software. The comparison includes older applications that may no longer be supported, as well as actively-maintained software.

<span class="mw-page-title-main">BibDesk</span> Reference management software

BibDesk is an open-source reference management software package for macOS, used to manage bibliographies and references when writing essays and articles. It can also be used to organize and maintain a library of documents in PDF format and other formats. It is primarily a BibTeX front-end for use with LaTeX, but also offers external bibliographic database connectivity for importing, a variety of means for exporting, and capability for linking to local documents and automatically filing local documents. It takes advantage of many macOS features such as AppleScript and Spotlight.

The AMSRefs package is an extension package for LaTeX that facilitates the creation of bibliographies and citations in LaTeX documents. Use of AMSRefs allows for the retention of rich markup that makes references easier to reuse in other publishing environments, such as on the Web, in other book or journal formats, or with citation services. The package is available for free on the American Mathematical Society's website.

WIKINDX is a free bibliographic and quotations/notes management and article authoring system designed either for single use and multi-user collaborative use across the internet. WIKINDX falls within the category of reference management software, but also provides functionality to write notes and entire papers.

Bebop is a web-based BibTeX front-end that creates a web interface to a list of publications stored in a BibTeX file and allows browsing by author, year, document type, topic and keywords using PHP, JavaScript and XML technologies. It can be mainly used by individuals and institutes for self-archiving and creating institutional repositories.

<i>A Manual for Writers of Research Papers, Theses, and Dissertations</i> Style guide for writing

A Manual for Writers of Research Papers, Theses, and Dissertations is a style guide for writing and formatting research papers, theses, and dissertations and is published by the University of Chicago Press.

Biber is a bibliography information processing program that works in conjunction with the LaTeX package BibLaTeX and offers full Unicode support.

MultiMarkdown is a lightweight markup language created by Fletcher T. Penney as an extension of the Markdown format. It supports additional features not available in plain Markdown syntax.

Pandoc is a free-software document converter, widely used as a writing tool and as a basis for publishing workflows. It was created by John MacFarlane, a philosophy professor at the University of California, Berkeley.

References

  1. "BibTeX - TeX Users Group". tug.org. Retrieved 2024-02-01.
  2. 1 2 3 4 5 6 "BibTeX WEB source code". www.tex.ac.uk. Archived from the original on September 27, 2011. Retrieved May 24, 2011.
  3. "BibTeXU". permalink.gmane.org. 2010-06-01. Archived from the original on 2016-03-04. Retrieved 2016-04-21.
  4. 1 2 "Package bibtex8". CTAN. Retrieved 30 July 2024.
  5. "MlBibTeX's Architecture | Zeeba TV". river-valley.zeeba.tv. Retrieved 2016-04-21.
  6. Description of the package biblatex from Debian's wheezy distribution as of May 2011.
  7. "Bibulous documentation — Bibulous 1.3.2 documentation". nzhagen.github.io. Retrieved 2016-04-21.
  8. "Bibtex in Lisp?". groups.google.com. Retrieved 2024-02-01.
  9. "CTAN: custom-bib – Customised BibTeX styles". ctan.org. Retrieved 2024-02-01.
  10. "Bib-it: Help – Generate BibTeX styles". bib-it.sourceforge.net. Retrieved 2024-02-01.
  11. Ricardo Vidal (2011-10-25). "HOWTO: Use Mendeley to create citations using LaTeX and BibTeX". Mendeley.com. Retrieved 2016-04-21.