\bibliography

Aus goLaTeX

\bibliograpy ist eine LaTeX-Kern-Anweisung, zur Einbindung eines Literaturverzeichnisses mit Hilfe von BiBTeX.

Verwendung

Syntax

\bibliography{Literaturdatenbank,…}

Parameter

{Literaturdatenbank,…}
ist eine mit Komma separierte Liste von Basisnamen der Literaturdatenbankdateien.

Beschreibung

Die Erzeugung eines Literaturverzeichnisses mit Hilfe von BiBTeX geschieht dadurch, dass man zunächst eine Literaturdatenbank.bib-Datei im bib-Format anlegt. Dies kann auch mit Programmunterstützung, beispielsweise JabRef erfolgen. In der LaTeX-Datei wird an der Stelle, an der das Literaturverzeichnis ausgegeben werden soll, dann die \bibliography-Anweisung eingefügt. Beim Argument der Anweisung ist die Endung .bib wegzulassen. Diese Anweisung schreibt dann bei jedem LaTeX-Lauf zum einen eine Anweisung \bibdata{Literaturdatenbank} in die aux-Datei. Außerdem wird versucht, eine Datei Literaturdatenbank.bbl zu lesen. Diese bbl-Datei wird beim Aufruf von BiBTeX erzeugt und enthält das fertige Literaturverzeichnis, normalerweise als thebibliography-Umgebung. Beim Lesen der bbl-Datei werden von \bibitem außerdem \bibcite-Anweisungen in die aux-Datei geschrieben, so dass beim nächsten LaTeX-Lauf die Literaturverweise im Text aufgelöst werden können.

Es ist auch möglich, mehrere Literaturdatenbanken gleichzeitig zu verwenden. Dazu gibt man die Basisnamen, also die Dateinamen ohne Endung .bib, durch Komma getrennt als Argument von \bibliography an. Allerdings funktioniert das nur, solange die Schlüssel für die einzelnen Datensätze über alle Literaturdatenbankdateien eindeutig sind.

Die korrekte Reihenfolge für die Ausführung von LaTeX und BiBTeX ist also:

  1. LaTeX (pdflatex, lualatex, xelatex oder was immer verwendet werden soll)
  2. BiBTeX
  3. LaTeX (pdflatex, lualatex, xelatex oder was immer verwendet werden soll)
  4. LaTeX (pdflatex, lualatex, xelatex oder was immer verwendet werden soll)

Der erneute Aufruf von BiBTeX ist nur bei Änderungen an einer der verwendeten Literaturdatenbanken oder beim Hinzufügen eines neuen oder Entfernen eines alten Literaturverweises notwendig. Bei unverändertem Umfang der Literaturverweise genügen ein bis zwei LaTeX-Aufrufe.

Übrigens ist als Parameter beim BiBTeX-Aufruf der Basisname der LaTeX-Hauptdatei mit oder ohne angehängter Endung .aux anzugeben. Es ist nicht der Name der Literaturdatenbank anzugeben. Bei Verwendung von Paket multibib oder Paket chapterbib sind gegebenenfalls mehrere BiBTeX-Aufrufe mit den Dateinamen mehrerer aux-Dateien notwendig. Siehe dazu die Anleitung der Pakete.

Bei Verwendung von biblatex verändert sich die Bedeutung von \bibliography. Mit biblatex verhält sich \bibliography wie \addbibresource, wobei automatisch die Endung .bib angehängt wird, falls sie nicht bereits mit angegeben wurde. Die Verwendung von \bibliography mit biblatex gilt als veraltet und wird nicht empfohlen. Stattdessen ist \addbibresource zu verwenden.

BiBTeX-Fehlermeldungen

I couldn't open database file Literaturdatenbank.bib
---line 3 of file bibtexerrorexample.aux
 : \bibdata{Literaturdatenbank
 :                          }
I'm skipping whatever remains of this command
Diese Fehlermeldung wird von BiBTeX ausgegeben und auch in dessen Log-Datei geschrieben, wenn eine angegebene Literaturdatenbank nicht gefunden wird. Dies ist also keine Fehlermeldung von LaTeX, sondern von BiBTeX.
I couldn't open style file Literaturstil.bst
---line 5 of file test.aux
 : \bibstyle{Literaturstil
 :                    }
I'm skipping whatever remains of this command
Diese Fehlermeldung wird von BiBTeX ausgegeben und auch in dessen Log-Datei geschrieben, wenn bei \bibliographystyle ein Literaturstil angegeben wurde, dessen zugehörige bst-Datei nicht gefunden werden konnte.
I couldn't open file name `Basisname.aux'
Die beim Aufruf von BiBTeX als Parameter angegebene Datei existiert nicht. Dieser Fehler tritt beispielsweise dann auf, wenn man BiBTeX mit dem Namen der Literaturdatenbank statt dem Basisname der LaTeX-Hauptdatei oder dem Dateiname der aux-Datei aufruft.

BiBTeX-Warnungen

Warning--I didn't find a database entry for "Schlüssel"
Die Warnung zeigt an, dass zu einem \bibcite in der aux-Datei, also einem Literaturverweis in der LaTeX-Datei kein passender Schlüssel in der Literaturdatenbank gefunden wurde.
Warning--empty Eintrag in Schlüssel
Wenn für einen bestimmten Datenbanktyp ein bestimmter Eintragstyp vorgesehen ist, der konkrete Eintrag aber im Datensatz für Schlüssel fehlt oder leer ist, wird diese Warnung ausgegeben. Dies führt nicht zwingend aber unter Umständen zu einer falschen Sortierung oder Formatierung des Eintrags. Erzeugt wird es dennoch.

LaTeX-Warnungen

LaTeX Warning: Citation `Schlüssel' on page Seitenzahl undefined on input line Zeilennummer.
Die Warnung zeigt an, dass bisher kein Literaturverzeichniseintrag mit dem angegebenen Schlüssel bekannt ist. Dies kann bedeutet, dass noch kein BiBTeX-Lauf nach hinzufügen einer \cite-Anweisung oder vergleichbaren Anweisung durchgeführt wurde. Beim ersten LaTeX-Lauf nach dem BiBTeX-Lauf wird diese Warnung auch noch einmal ausgegeben, da erst beim Lesen der bbl-Datei entsprechende Informationen in die aux-Datei geschrieben werden. Spätestens, wenn die Warnung beim zweiten LaTeX-Lauf nach dem BiBTeX-Lauf nicht verschwindet, ist die Log-Datei des BiBTeX-Laufs zu kontrollieren. Seitenzahl ist dabei die Seite in der Ausgabe des LaTeX-Laufs, also in der Regel in der erzeugten PDF-Datei. Dagegen ist Zeilennummer die Nummer der Quellcode-Zeile in der aktuell bearbeiteten LaTeX-Datei. Bei solchen unbekannten Referenzen setzt LaTeX dann ein fettes Fragezeichen anstelle des tatsächlich zu verwendenden Verweises, also beispielsweise [?] statt [Nummer]. (biblatex verwendet hingegen den fett gesetzten Schlüssel als Ersatz).

Beispiele

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{babelbib}
\bibliographystyle{babplain}
\begin{document}
\section{Erster Abschnitt}
Siehe \cite{aksin}.
\bibliography{biblatex-examples}
\end{document}

Nach den Aufrufen von LaTeX, BiBTeX und noch zweimal LaTeX erhält man nicht nur einen numerischen Querverweise [1] im ersten Abschnitt, sondern auch einen weiteren Abschnitt Literatur mit dem entsprechenden Eintrag. Es wird also nur der per \cite zitierte Eintrag auch um Literaturverzeichnis aufgeführt, obwohl die Datenbank biblatex-examples unzählige weitere Einträge enthält.

Das Paket babelbib wird im Beispiel verwendet, um den Literaturstil babplain verwenden zu können, der im Gegensatz zum Standardstil plain unter anderem die mit babel eingestellte Sprache berücksichtigt. Der Standardstil plain wäre dagegen nur für englische Literaturverzeichnisse korrekt verwendbar.

Verwandte Befehle und Umgebungen

thebibliography, \bibliographystyle, \cite, \nocite, \bibdata, \bibcite, \bibstyle, \citation

Verweise

Die Anweisung \bibliography ist in den LaTeX-Quellen in Datei ltbibl.dtx definiert und in source2e.pdf dokumentiert.

Links