\bibliography
\bibliograpy
ist eine LaTeX-Kern-Anweisung, zur Einbindung eines Literaturverzeichnisses mit Hilfe von BiBTeX.
Inhaltsverzeichnis
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:
- LaTeX (pdflatex, lualatex, xelatex oder was immer verwendet werden soll)
- BiBTeX
- LaTeX (pdflatex, lualatex, xelatex oder was immer verwendet werden soll)
- 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
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
einLiteraturstil
angegeben wurde, dessen zugehörige bst-Datei nicht gefunden werden konnte.
- Diese Fehlermeldung wird von BiBTeX ausgegeben und auch in dessen Log-Datei geschrieben, wenn bei
I couldn't open file name `Basisname.aux'
BiBTeX-Warnungen
Warning--I didn't find a database entry for "Schlüssel"
Warning--empty Eintrag in Schlüssel
-
- Wenn für einen bestimmten Datenbanktyp ein bestimmter Eintragstyp vorgesehen ist, der konkrete
Eintrag
aber im Datensatz fürSchlü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.
- Wenn für einen bestimmten Datenbanktyp ein bestimmter Eintragstyp vorgesehen ist, der konkrete
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 istZeilennummer
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 gesetztenSchlüssel
als Ersatz).
- Die Warnung zeigt an, dass bisher kein Literaturverzeichniseintrag mit dem angegebenen
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.