# BibTeX

BibTeX ist ein Programm zur Erstellung von Literaturangaben und -verzeichnissen in TeX- oder LaTeX-Dokumenten, entwickelt 1985 von Oren Patashnik und Leslie Lamport in WEB/Pascal. Nach der Version 0.99c vom Februar 1988 stagnierte die Entwicklung für 22 Jahre. Mit der Version 0.99d wurde im März 2010 eine Weiterentwicklung angekündigt.
Das zugehörige textuelle Dateiformat wird mittlerweile von vielen Bibliothekskatalogen und Literaturverwaltungsprogrammen als Austauschformat angeboten.

## Funktionsweise

Um ein Literaturverzeichnis zu erstellen, werden aus einem LaTeX-Dokument alle Zitatverweise herausgesucht und über eine Literatur-Datenbank dem entsprechenden Werk zugeordnet. Bei der Literaturdatenbank handelt es sich um eine Textdatei (.bib-Datei), in der alle bekannten Angaben über ein Werk (Buch, Wissenschaftliche Publikation, Webseite etc.) in einer bestimmten Syntax notiert werden.
Die zitierten Werke werden sortiert und durch eine entsprechende Anweisung im LaTeX-Dokument aufgelistet. Die Formatierung dieser Literaturliste ist variabel. Der im Dokument eingestellte BibTeX-Stil (engl. style) bestimmt, welche Angaben in welcher Formatierung dargestellt werden.
BibTeX ist in der Lage, auch mit sehr großen Literaturbeständen sowie mit sehr großen Dokumenten problemlos zusammenzuarbeiten. BibTeX hat sich daher im wissenschaftlichen Umfeld schon seit Jahren als offenes Standardformat für Literaturangaben etabliert.

### LaTeX

Bei der Benutzung von LaTeX wird mit der ersten Ausführung von LaTeX eine Textdatei mit der Endung .aux erzeugt. Mit dem Ausführen von BibTeX wird aus der .aux-Datei und der .bib-Datei (und der .bst-Style-Datei) eine weitere Textdatei mit der Endung .bbl erzeugt, die genau die im Dokument angeforderten Einträge aus der Literaturdatenbank enthält. Beim nächsten Ausführen von LaTeX wird diese .bbl-Datei verwendet, um das Literaturverzeichnis zu erzeugen. Es ist also immer ein LaTeX-BibTeX-LaTeX notwendig.

### Pandoc

Der Dokumentenparser Pandoc unterstützt mit dem Schalter --bibliography die Angabe von Literaturdatenbanken in den Formaten BibTeX, BibLaTeX und anderen.

## Beispiel

Das folgende Beispiel (entnommen aus einer BibTeX-Datei)
wird durch den BibTeX-Stil plain in diese Ausgabe in der Literaturliste (engl. bibliography) überführt:
    [1] Shen Lin and Brian W. Kernighan. An effective heuristic algorithm for the travelling-salesman problem. Operations Research, 21:498–516, 1973.
Der Befehl \cite{lin1973} innerhalb eines LaTeX-Dokuments wird durch die in der BibTeX-Datei mit dieser ID angegebene Referenz, im Beispiel „[1]“, ersetzt. Erzeugt wird die Literaturliste im Dokument durch den Befehl \bibliography{literature}, wenn die zugehörige BibTeX-Datei mit den Literatureinträgen den Dateinamen literature.bib besitzt.
Neben dem BibTeX-Stil plain, bei dem die Literaturangaben nummeriert werden, gibt es den Stil alpha, bei dem der Schlüssel aus einer Kombination von Initialen der Autoren und Erscheinungsjahr des Werks besteht. Daneben gibt es verschiedene Varianten dieser Stile, die sich hauptsächlich in der Darstellung der Literaturliste unterscheiden und oft spezifisch für verschiedene wissenschaftliche Verlage, Konferenzen und Zeitschriften sind.
BibTeX standardisiert die Groß- und Kleinschreibung der Titel nach angelsächsischen Normen: Je nach Entry Type werden entweder das erste Wort groß und alle weiteren klein oder aber alle Wörter bis auf wenige englische Partikel groß geschrieben. Durch Verdoppeln der geschweiften Klammern nach title = (z. B. title = {{die Wissenschaft der Mathematik}}) kann der Mechanismus der automatischen Großschreibung unterdrückt werden, was für deutschsprachige Literatureingaben standardmäßig verwendet werden kann. Dadurch wird aber die Sortierung der so maskierten Zeichenkette verändert. Deshalb ist es ratsam, einen BibTeX-Stil zu verwenden, der die deutschen Gepflogenheiten vollständig umsetzt, wie beispielsweise Jurabib.
Wer eine Quelle nennen möchte, ohne sie im Text zu zitieren, kann dies mit dem Befehl \nocite{lin1973} für eine einzelne Quelle oder \nocite{*} für alle Quellen aus der .bib-Datei tun, um sie in die Bibliografie aufzunehmen.
BibTeX-Einträge für Wikipedia-Artikel können durch den Menüpunkt Artikel zitieren aus dem Menü Werkzeuge in der linken Seite erstellt werden.

## Alternativen

Zu BibTeX gibt es eine Reihe Alternativen, die zum Teil zwischen 1988 und 2010 entstanden, als die Weiterentwicklung durch Patashnik stagnierte:
* BibTeXu ist eine Neu-Implementierung von Yannis Haralambous und dessen Studenten, die den UTF-8-Zeichensatz nutzt.
* bibtex8 unterstützt 8-Bit-Zeichensätze.
* CL-BibTeX ist ein vollständig kompatibler Ersatz von BibTeX. Es ist mit Common Lisp programmiert und unterstützt ebenfalls Unicode.
* MLBibTeX ist eine Neu-Implementierung von BibTeX, die sich durch die Unterstützung von mehreren Sprachen auszeichnet; sie ist von Jean-Michel Hufflen geschrieben.
* biblatex ist von Grund auf neu programmiert. „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.“ („Es ändert die Art, in der LaTeX mit BibTeX interagiert, auf einer sehr grundlegenden Ebene. Mit biblatex wird BibTeX nur zum Sortieren der Bibliographie und zum Erzeugen der Kennzeichnungen (Labels) verwendet. Die Formatierung der Einträge ist nicht als BibTeX-Formatierungsdatei umgesetzt, sondern wird ganz von TeX-Makros kontrolliert.“)
* Biber ist ein BibTeX-Ersatz für Nutzer von biblatex. Zu den Vorteilen gegenüber BibTeX gehören die Unicode-6.0-Unterstützung, sprachenabhängiges Sortieren und UTF-8-Zitierschlüssel (citekeys).

## Literaturtypen (Entry Types)

Die folgende Tabelle gibt einen vollständigen Überblick über die in BibTeX verwendeten Literaturtypen (Entry Types) und die zugehörigen Felder (Fields). Dabei werden erforderliche (required) Felder von den optionalen unterschieden. Alle anderen Felder werden in der Regel von BibTeX ignoriert. Verwendet man andere als die Standard BibTeX-Styles, können diese von der Tabelle abweichende Bezeichnungen und Konventionen vorschreiben.
| Referenzart | Beschreibung | erforderliche Felder | optionale Felder |
| article | Zeitungs- oder Zeitschriftenartikel | author, title, journal, year | volume, number, pages, month, note |
| book | Buch | author oder editor, title, publisher, year | volume oder number, series, address, edition, month, note, isbn |
| booklet | Gebundenes Druckwerk | title | author, howpublished, address, month, year, note |
| conference | Wissenschaftliche Konferenz | author, title, booktitle, year | editor, volume oder number, series, pages, address, month, organization, publisher, note |
| inbook | Teil eines Buches | author oder editor, title, chapter und/oder pages, publisher, year | volume oder number, series, type, address, edition, month, note |
| incollection | Teil eines Buches (z. B. Aufsatz in einem Sammelband) mit einem eigenen Titel | author, title, booktitle, publisher, year | editor, volume oder number, series, type, chapter, pages, address, edition, month, note |
| inproceedings | Artikel in einem Konferenzbericht | author, title, booktitle, year | editor, volume oder number, series, pages, address, month, organization, publisher, note |
| manual | Technische Dokumentation | title | author, organization, address, edition, month, note, year |
| mastersthesis | Diplom-, Magister- oder andere Abschlussarbeit (außer Promotion) | author, title, school, year | type, address, month, note |
| misc | beliebiger Eintrag (wenn nichts anderes passt) | – | author, title, howpublished, month, year, note |
| phdthesis | Doktor- oder andere Promotionsarbeit | author, title, school, year | type, address, month, note |
| proceedings | Konferenzbericht | title, year | editor, volume oder number, series, address, month, organization, publisher, note |
| techreport | veröffentlichter Bericht einer Hochschule oder anderen Institution | author, title, institution, year | type, note, number, address, month |
| unpublished | nicht formell veröffentlichtes Dokument | author, title, note | month, year |

## BibTeX-Stile

Das Erscheinungsbild des Literaturverzeichnisses und der Zitate wird durch BibTeX-Stildateien bestimmt. BibTeX-Stildateien tragen das Suffix .bst und enthalten Anweisungen in einer stack-basierten Programmiersprache, die die Formatierung der Bibliographie-Einträge festlegen. Das Programm bibtex formatiert diese Einträge nach den Vorgaben einer solchen Stildatei. Dabei wird üblicherweise eine Datei ausgegeben, die aus TeX- oder LaTeX-Anweisungen besteht, es existieren aber auch Stildateien, die HTML generieren.
Die Stildateien werden mit dem LaTeX-Befehl \bibliographystyle{<stilname>} eingebunden. Standardmäßig vorhanden sind die Stile plain, unsrt, alpha und abbrv. Es gibt LaTeX-Pakete, die umfangreiche Erweiterungen für natur- und geisteswissenschaftliche Arbeiten bereitstellen, insbesondere die Pakete natbib und jurabib.
Eine einfache Möglichkeit, um auch URLs (wie zum Beispiel aus der Zitierhilfe von Wikipedia) in BibTeX-Dateien verarbeiten zu können, ist die Nutzung des Stils \bibliographystyle{natdin} in Verbindung mit \usepackage[numbers]{natbib}.
Die Erstellung eigener BibTeX-Stile ist recht aufwändig. Sie können aber in einem Frage-und-Antwort-Dialog im Terminal mit dem Paket makebst erzeugt werden. Die Eingabe hierfür lautet: latex makebst.

## Bibliographiedatenbanken

Viele Bibliothekskataloge und Literaturdatenbanken bieten die Möglichkeit, bibliographische Daten direkt im BibTeX-Format zu exportieren, um sie in die eigene Bibliographie aufzunehmen. Dabei gibt es verschiedene Ansätze: Teilweise wird die Datei im Browser-Fenster im BibTeX-Format dargestellt, so dass sie kopiert und in den eigenen Editor oder in ein Literaturverwaltungsprogramm eingefügt werden kann. Teilweise wird eine reine Textdatei im BibTeX-Format ausgegeben.
Verlagswebseiten mit BibTeX-Export:
* ACM-Digital Library – Portal der ACM
* AHA Journals – Verlagswebseite der American Heart Association
* BMJ Journals – Verlagswebseite der BMJ Group
* IEEE Digital Library – Verlagsplattform von IEEE
* Libert Online – Verlagsplattform von Mary Ann Liebert
* ScienceDirect – Verlagsplattform von Elsevier
* SpringerLink – Verlagsplattform von Springer Science+Business Media
* TeXMed – Ein BibTeX-Interface für PubMed
Literaturdatenbanken mit BibTeX-Export:
* Astrophysics Data System (ADS) – Astronomie, Astrophysik und Physik
* CiteSeer – Onlinedatenbank über wissenschaftliche Publikationen
* The Collection of Computer Science Bibliographies – Datenbank über Veröffentlichungen aus dem Bereich der Informatik
* The DBLP Computer Science Bibliography – Digitales Bibliographie- und Bibliotheksprojekt im Bereich der Informatik
* EBSCO – Verschiedene Datenbanken wie ERIC, EconLit, Business Source Premier, Historical Abstracts etc.
* Google Books – Volltextsuche für Bücher
* Google Scholar – Suchmaschine für wissenschaftliche Literatur (BibTeX-Export muss in den Google Scholar-Einstellungen aktiviert werden)
* HubMed – PubMed-Interface mit BibTeX-Ausgabe
* INSPIRE-HEP – Literaturdatenbank für Veröffentlichungen in der Hochenergiephysik
* JFM (Jahrbuch über die Fortschritte der Mathematik) – Datenbank für mathematische Literatur
* MathSciNet – Datenbank der American Mathematical Society
* MR (Mathematical Reviews) – Datenbank für mathematische Literatur
* Scitation – Datenbank des American Institute of Physics
* Web of Science – Zitationsdatenbank von Thomson Reuters hauptsächlich für den naturwissenschaftlichen Bereich
* Zentralblatt MATH – Datenbank für mathematische Literatur
Social-Bookmarking Web-Services mit BibTeX-Export:
* BibSonomy – soziale Bookmark- und Literaturverwaltungsplattform, basierend auf dem BibTeX-Format, importiert auch BibTeX-Daten
Bibliothekskataloge mit BibTeX-Export:
* Bibliothekskatalog der Universität Bayreuth
* Bibliothekskatalog der Universität Bielefeld
* Bibliothekskatalog der Staats- und Universitätsbibliothek Bremen
* Bibliothekskatalog der Sächsischen Landesbibliothek – Staats- und Universitätsbibliothek Dresden (SLUB)
* Discovery System der Universitäts- und Landesbibliothek Darmstadt
* Bibliothekskatalog am Karlsruher Institut für Technologie
* Bibliothekskatalog der Universität Leipzig
* Bibliothekskatalog der Johannes Gutenberg-Universität Mainz
* Bibliothekskatalog der Universität Stuttgart
* Bibliothekskatalog der Universität Tübingen
* DigiBib – Metasuche über verschiedene deutsche Bibliothekskataloge
Der Dienst Lead2Amazon verwendet Amazon.(com, co.uk, de), um BibTeX-Einträge zu generieren.
Mit Hilfe des Firefox-Add-ons Zotero können beim Betrachten von Webseiten (z. B. auch von Bibliothekskatalogen) Metadaten gespeichert und im BibTeX-Format exportiert werden.

## Werkzeuge, Editoren, Ergänzungen

Eine Reihe von Werkzeugen unterstützen das BibTeX-Format und erleichtern den Umgang mit BibTeX-Datenbanken. Ein Beispiel für einen einfachen Editor ist xfbib, außerdem gibt es umfangreiche graphische Arbeitsumgebungen wie KBibTeX unter Linux, BibDesk unter Mac OS X und das plattformunabhängige JabRef. Der Editor Emacs enthält einen eigenen BibTeX-Mode. BibTeX4Word und das zu Docear gehörende Plugin Docear4Word ermöglichen das Erzeugen von Referenzlisten in Microsoft Word aus BibTeX-Datenbanken. Wenn die Erweiterung Writer2LaTeX installiert ist, kann man Literaturdatenbanken aus OpenOffice.org/LibreOffice in das Format BibTeX exportieren.

## Lizenz

Im Dezember 2010 wurde klargestellt, dass die Lizenz, unter der BibTeX verteilt werde, dieselbe sei, unter der TeX veröffentlicht worden sei. BibTeX steht demnach sowohl unter dem „BibTeX Copyright“ als auch unter der GNU Lesser General Public License.