BibTeX
Description
BibTeX is a program and file format designed by Oren Patashnik and
Leslie Lamport in 1985 for the LaTeX
document preparation system. The format is entirely character based, so it
can be used by any program (although the standard character set for accents
is TeX). It is field (tag) based and the BibTeX program will ignore unknown
fields,
so it is expandable. It is probably the most common format for bibliographies
on the Internet.
References
Software Support
The BibTeX program uses
style files, a list of citations from LaTeX, and a BibTeX database to
create a LaTeX file listing the cited references.
Dana Jacobsen maintains a
list of some BibTeX tools.
If you're looking for BibTeX for the Mac, Vince Darley has done a
port of BibTeX to the Mac.
bp and BibDB both fully support BibTeX.
Examples
@article{Gettys90,
author = {Jim Gettys and Phil Karlton and Scott McGregor},
title = {The {X} Window System, Version 11},
journal = {Software Practice and Experience},
volume = {20},
number = {S2},
year = {1990},
abstract = {A technical overview of the X11 functionality. This is an update
of the X10 TOG paper by Scheifler \& Gettys.}
}
Common problems
- The original documents specified a large number of field names, but there
are many common items that are not listed. A list of some of the ones
people have added are below.
- When using BibTeX, the interaction between names and accenting is somewhat
tricky. You should use `G{\"o}del' or `G{\"{o}}del', and not `{G{\"{o}}del}'
or `{G\"{o}del}'.
- The BibTeX program is written, as is all TeX, using static data structures,
and the maximum length of any one string is by default 1000 characters. It
is not uncommon for fields like abstract and contents to overflow this
buffer. Solutions to this include
- change the source code to BibTeX (I've changed mine to 3000)
- use \include{file.tex} to include an external file
- split the field into field1, field2, ...
Format Description
Special features
The @STRING command is used to define abbreviations for use
by BibTeX. The command
@string{jgg1 = "Journal of Gnats and Gnus, Series~1"}
defines 'jgg1' to be the abbreviation for the string "Journal of Gnats
and Gnus, Series~1". Any reference outside of quotes or braces to
jgg1 will be filled in with the full string.
The @PREAMBLE command is used to define formatter code that will be
output directly to the bbl file produced by the BibTeX program.
This usually consists of LaTeX macros. It is unclear what one should do
with the fields when converting to a format that does not use TeX.
The @COMMENT command lets you put any text inside it. It isn't
really necessary, since BibTeX will ignore any text that isn't inside an
entry. However, you can not have an @ character outside of an item.
Standard entry types
- @article
- An article from a journal or magazine.
- @book
- A book with an explicit publisher.
- @booklet
- A work that is printed and bound, but without a named publisher or
sponsoring institution.
- @conference
- The same as inproceedings.
- @inbook
- A part of a book, which may be a chapter (or section or whatever)
and/or a range of pages.
- @incollection
- A part of a book having its own title.
- @inproceedings
- An article in a conference proceedings.
- @manual
- Technical documentation.
- @mastersthesis
- A Master's thesis.
- @misc
- Use this type when nothing else fits.
- @phdthesis
- A PhD thesis.
- @proceedings
- The proceedings of a conference.
- @techreport
- A report published by a school or other institution, usually numbered
within a series.
- @unpublished
- A document having an author and title, but not formally published.
Other entry types
Using these entry types is not recommended, but they might occur in some bibliographies.
- @collection
- A collection of works. The same as proceedings
- @patent
- A patent.
Standard fields
For now I'm going to be lazy and give you what Oren Patashnik wrote about
the fields. I'll redo this sometime, including references to how each field
should be formatted.
- address
- Usually the address of the publisher or other type of institution.
For major publishing houses,
van Leunen recommends omitting the information entirely.
For small publishers, on the other hand, you can help the
reader by giving the complete address.
- annote
- An annotation.
It is not used by the standard bibliography styles,
but may be used by others that produce an annotated bibliography.
- author
- The name(s) of the author(s),
in the format described in the LaTeX book.
- booktitle
- Title of a book, part of which is being cited.
See the LaTeX book for how to type titles.
For book entries, use the title field instead.
- chapter
- A chapter (or section or whatever) number.
- crossref
- The database key of the entry being cross referenced. Any fields
that are missing from the current record are inherited from the field
being cross referenced.
- edition
- The edition of a book---for example, ``Second''.
This should be an ordinal, and
should have the first letter capitalized, as shown here;
the standard styles convert to lower case when necessary.
- editor
- Name(s) of editor(s), typed as indicated in the LaTeX book.
If there is also an author field, then
the editor field gives the editor of the book or collection
in which the reference appears.
- howpublished
- How something strange has been published.
The first word should be capitalized.
- institution
- The sponsoring institution of a technical report.
- journal
- A journal name.
Abbreviations are provided for many journals.
- key
- Used for alphabetizing, cross referencing, and creating a label when
the ``author'' information
is missing.
This field should not be confused with the key that appears in the
cite command and at the beginning of the database entry.
- month
- The month in which the work was
published or, for an unpublished work, in which it was written.
You should use the standard three-letter abbreviation,
as described in Appendix B.1.3 of the LaTeX book.
- note
- Any additional information that can help the reader.
The first word should be capitalized.
- number
- The number of a journal, magazine, technical report,
or of a work in a series.
An issue of a journal or magazine is usually
identified by its volume and number;
the organization that issues a
technical report usually gives it a number;
and sometimes books are given numbers in a named series.
- organization
- The organization that sponsors a conference or that publishes
a manual.
- pages
- One or more page numbers or range of numbers,
such as 42--111 or 7,41,73--97 or 43+
(the `+' in this last example indicates pages following
that don't form a simple range).
To make it easier to maintain Scribe-compatible databases,
the standard styles convert a single dash (as in 7-33)
to the double dash used in TeX to denote number ranges
(as in 7--33).
- publisher
- The publisher's name.
- school
- The name of the school where a thesis was written.
- series
- The name of a series or set of books.
When citing an entire book, the the title field
gives its title and an optional series field gives the
name of a series or multi-volume set
in which the book is published.
- title
- The work's title, typed as explained in the LaTeX book.
- type
- The type of a technical report---for example, ``Research Note''.
- volume
- The volume of a journal or multi-volume book.
- year
- The year of publication or, for
an unpublished work, the year it was written.
Generally it should consist of four numerals, such as 1984,
although the standard styles can handle any year whose
last four nonpunctuation characters are numerals,
such as `\hbox{(about 1984)}'.
Other fields
BibTeX is extremely popular, and many people have used it to store
information. Here is a list of some of the more common fields:
- affiliation
- The authors affiliation.
- abstract
- An abstract of the work.
- contents
- A Table of Contents
- copyright
- Copyright information.
- ISBN
- The International Standard Book Number.
- ISSN
- The International Standard Serial Number. Used to identify a journal.
- keywords
- Key words used for searching or possibly for annotation.
- language
- The language the document is in.
- location
- A location associated with the entry, such as the city in which a conference took place.
- LCCN
- The Library of Congress Call Number. I've also seen this as lib-congress.
- mrnumber
- The Mathematical Reviews number.
- price
- The price of the document.
- size
- The physical dimensions of a work.
- URL
- The WWW Universal Resource Locator that points to the item being
referenced. This often is used for technical reports to point to
the ftp site where the postscript source of the report is located.
[Back to Formats]
12 December 1996
Dana Jacobsen
dana@acm.org