Lektion 12

Literaturverzeichnis und Verweise

Diese Lektion zeigt die Grundlagen von Literaturdatenbanken. Lerne, wie eigene Datenbanken aufgebaut und im Dokument durch einen der zwei verbreitetsten Prozesse genutzt werden.

Für Literaturverzeichnisse könnten die Quellen direkt ins Dokument eingefügt werden, meist werden aber die entsprechenden Informationen aus einer oder mehr Dateien bezogen. Diese Dateien sind Literaturdatenbanken, die die Informationen in einem computerlesbaren Format beinhalten. Eine oder mehrere Literaturdatenbanken zu verwenden erspart manuelle Formatierung und ermöglicht einfaches Wiederverwenden der Informationen.

Literaturdatenbanken

Literaturdatenbanken werden normalerweise als “BibTeX-Dateien” bezeichnet und haben die Dateierweiterung .bib. Sie beinhalten einen oder mehrere Einträge, einen für jede Quelle, und jeder Eintrag besteht aus einer Reihe an Feldern. Hier ein Beispiel:

@article{Thomas2008,
  author  = {Thomas, Christine M. and Liu, Tianbiao and Hall, Michael B.
             and Darensbourg, Marcetta Y.},
  title   = {Series of Mixed Valent {Fe(II)Fe(I)} Complexes That Model the
             {H(OX)} State of [{FeFe}]Hydrogenase: Redox Properties,
             Density-Functional Theory Investigation, and Reactivity with
             Extrinsic {CO}},
  journal = {Inorg. Chem.},
  year    = {2008},
  volume  = {47},
  number  = {15},
  pages   = {7009-7024},
  doi     = {10.1021/ic800654a},
}
@book{Graham1995,
  author    = {Ronald L. Graham and Donald E. Knuth and Oren Patashnik},
  title     = {Concrete Mathematics},
  publisher = {Addison-Wesley},
  year      = {1995},
}

Das waren zwei Einträge, einer für einen Artikel und einer für ein Buch; die wahrscheinlich häufigsten Typen. Jeder Datenbankeintrag beginnt mit @ und sämtliche Information ist in einem Paar geschweifter Klammern enthalten.

Die verschiedenen Felder werden in einem Schlüssel-Wert-Format angegeben, mit Ausnahme des sogenannten “key” (“Schlüssel”): dem Namen der Quelle. Der Name kann beliebig gewählt werden (es handelt sich nur um ein Label), aber im Beispiel wurde der Name des Erstautors und die Jahreszahl verwendet, eine häufig genutzte Konvention.

Die anzugebenden Felder sind vom Eintragstyp abhängig, viele sollten aber selbstverständlich sein. Im Feld author werden die einzelnen Einträge durch and getrennt. Das ist essentiell: bei der Ausgabe muss bekannt sein, welcher Autor wohin gehört. Außerdem sind Teile des Artikeltitels in zusätzlichen geschweiften Klammern; sie verhindern Änderungen der Groß- und Kleinschreibung.

Das Bearbeiten von .bib-Dateien ist eher anstrengend, weshalb viele spezielle Editoren verwenden. JabRef ist ein solcher weit verbreiteter, plattformübergreifender Editor, es gibt aber auch weitere. Falls die jeweilige Quelle eine DOI (Digital Object Identifier) beinhaltet, könnte doi2bib für das einfache Beziehen von BibTeX-Einträgen durchaus interessant sein. Man sollte diese jedoch auf Richtigkeit überprüfen!

Hier verwenden wir die kurze Literaturdatenbank aus obigem Beispiel für weitere Demonstrationen: wir haben sie als learnlatex.bib abgespeichert.

Informationen aus der Literaturdatenbank übertragen

Um die Informationen in das eigene Dokument zu bekommen, gibt es drei Schritte. Erstens: Setze das Dokument mit LaTeX, wodurch eine Datei mit einer Liste der zitierten Quellen angelegt wird. Zweitens: Benutze ein Programm, das die Informationen aus der Datenbank einliest, diejenigen Einträge, die zitiert wurden, findet und anschließend sortiert. Drittens: Setze das Dokument erneut, sodass LaTeX die Informationen verwenden und die entsprechenden Verweise einfügen kann. Normalerweise werden wenigstens zwei LaTeX-Durchläufe benötigt.

Für den zweiten Schritt sind zwei Systeme weitverbreitet: BibTeX und Biber. Biber wird nur in Kombination mit dem LaTeX-Paket biblatex verwendet, während BibTeX entweder ganz ohne Pakete oder mit natbib verwendet wird.

Ein zweites Programm neben LaTeX auszuführen, wird von unterschiedlichen Editoren auf unterschiedliche Weise unterstützt. Für unsere Online-Beispiele werden Skripte im Hintergrund ausgeführt, um alles bei einem Durchlauf zu erledigen. Der gewählte Editor kann eine ähnliche Funktion auf Knopfdruck haben oder man muss BibTeX oder Biber manuell zwischen LaTeX-Läufen starten.

Das Format der Zitierungen und des Literaturverzeichnisses ist unabhängig von der Literaturdatenbank und wird durch ‘Stile’ festgelegt. Wir werden noch sehen, dass diese etwas unterschiedlich im BibTeX und im biblatex Prozess genutzt werden, aber generell gilt, dass wir wählen können, wie Verweise gesetzt werden.

Ablauf mit BibTeX und natbib

Während es möglich ist, Verweise in ein LaTeX-Dokument ohne weitere Pakete zu integrieren, ist diese Herangehensweise einschränkend. Stattdessen verwenden wir das natbib Paket, welches uns erlaubt, verschiedene Verweisarten zu erstellen und viele Stile bereitstellt.

Die Grundstruktur der Eingabe wird in diesem Beispiel gezeigt.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{natbib}

\begin{document}
Die mathematischen Beispiele stammen aus \citet{Graham1995}, während etwas
Chemie in \citet{Thomas2008} abgedeckt wird.

Einige geklammerte Zitierungen: \citep{Graham1995} und dann
\citep[S.~56]{Thomas2008}.

\citep[Siehe][Seiten~45--48]{Graham1995}

Gemeinsam \citep{Graham1995,Thomas2008}

\bibliographystyle{plainnat}
\bibliography{learnlatex}
\end{document}

Man kann sehen, dass die Datenbankeinträge durch die Angebe des jeweiligen Schlüssels genutzt werden. Das natbib Paket bietet textuelle und geklammerte Zitierstile, \citet und \citep. Der Literaturverzeichnisstil wird durch \bibliographystyle gewählt; hier wurde plainnat genutzt. Das eigentliche Verzeichnis wird durch den Aufruf \bibliography gesetzt, welches auch die verwendete(n) Datenbank(en) auswählt (eine durch Kommata getrennte Liste).

Seitenzahlen können durch ein optionales Argument hinzugefügt werden. Werden zwei optionale Argumente genutzt, wird das erste als Notiz vor dem Eintrag und das zweite nachfolgend für Seitenzahlen genutzt.

Die Einstellungen nutzen einen Autor-Jahr-Stil, aber numerische Verweise sind auch nutzbar. Dies wird erreicht, indem die numbers Option der natbib Zeile hinzugefügt wird.

Ablauf mit biblatex

Das Paket biblatex funktioniert etwas anders als natbib. Die Datenbanken werden in der Präambel gewählt und im Textteil ausgegeben. Hierfür gibt es einige neue Befehle.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[style=authoryear]{biblatex}
\addbibresource{learnlatex.bib}

\begin{document}
Die mathematischen Beispiele stammen aus \autocite{Graham1995}.

Weitere Verweise: \parencite{Graham1995} oder \textcite{Thomas2008} oder sogar
\citetitle{Graham1995}.

\autocite[56]{Thomas2008}

\autocite[Siehe][45-48]{Graham1995}

Gemeinsam \autocite{Graham1995,Thomas2008}

\printbibliography
\end{document}

Man beachte, dass \addbibresource den vollständigen Dateinamen benötigt, während für \bibliography mit natbib die Endung .bib ausgelassen wurde. Außerdem verwendet biblatex längere Befehlsnamen, die aber recht eingängig sind.

Kurze Angaben können erneut durch optionale Argumente vor dem eigentlichen Verweis eingefügt werden. Seitenzahlen müssen nicht mit S. oder ähnlichem angeführt werden, biblatex fügt dies automatisch hinzu (abhängig von der Dokumentensprache, siehe Lektion 6).

In biblatex wird der Zitierstil während des Ladens des Pakets ausgewählt. Hier wurde authoryear verwendet, es gibt auch numeric und viele weitere Stile.

Zwischen BibTeX und biblatex auswählen

Obwohl sowohl BibTeX als auch biblatex die Informationen aus einer BibTeX-Datei erhalten und strukturell ähnliche Ausgaben im Dokument erzeugen, nutzen sie völlig unterschiedliche interne Abläufe. Das führt zu Unterschieden zwischen den beiden Methoden, die die Wahl nach dem besser geeigneten Werkzeug erleichtern können.

Bei der Nutzung von BibTeX wird der Literaturverzeichnisstil letztlich durch eine .bst Datei, die durch den \bibliographystyle Befehl ausgewählt wird, entschieden. biblatex verwendet keine .bst Dateien, sondern ein anderes System. Wenn eine Vorlage, die mit einer .bst Datei geliefert wurde, oder extra für das Projekt eine solche erhalten wurde, muss BibTeX statt biblatex verwendet werden.

Der Ansatz, der von biblatex genutzt wird, ermöglicht es, die Ausgabe der Verweise und des Literaturverzeichnisses durch LaTeX-Befehle aus der Präambel heraus zu bestimmen. Modifikationen an BibTeXs .bst Stilen erfordert hingegen das Bearbeiten dieser externen Dateien und Kenntnisse der BibTeX-Programmiersprache. Verallgemeinernd lässt sich sagen, dass biblatex einfacher anzupassen ist.

In biblatex ist es generell einfacher, umfassende Zitierstile mit einer großen Auswahl an Zitierbefehlen zu erstellen. Das Paket bietet auch mehr kontextabhängige Funktionen. Grob gesagt sind solche Möglichkeiten für die Stile vieler MINT-Fächer nicht notwendig, aber für die Anwendung komplexer Stile in den Gesellschaftswissenschaften interessant.

BibTeX kann nur US-ASCII Zeichen korrekt sortieren und benötigt Behelfslösungen für das Sortieren auf Basis von US-ASCII anderer Zeichen. Mit Biber bietet biblatex volle Unterstützung für Unicode. Daher ist biblatex oft die bessere Wahl, wenn nicht nach US-ASCII oder englischen Regeln sortiert werden soll.

Da BibTeX wesentlich länger im Umlauf ist als biblatex, ist es etablierter, weshalb viele Herausgeber und Journale Literaturverzeichnisse entsprechend des BibTeX-Ablaufs akzeptieren. Diese Herausgeber können oder werden keine Einreichungen, die biblatex verwenden, akzeptieren.

Zusammenfassend lässt sich sagen: Überprüfe die Richtlinien für Autoren/Einreichungen, wenn geplant ist, in einem Journal oder bei einem Herausgeber zu veröffentlichen. Wird eine .bst Datei bereitgestellt, muss BibTeX verwendet werden. Wenn einfache Literaturverzeichnisse und Verweise und ausschließlich englische US-ASCII-Sortierung benötigt wird, reicht BibTeX aus. Werden komplexere Stile, nicht-englische Sortierung oder einfachere Anpassungsmöglichkeiten verlangt, ist biblatex die bessere Wahl.

Übung

Versuche, sowohl das natbib als auch das biblatex Beispiel zu verwenden. Man muss LaTeX, BibTeX, LaTeX, LaTeX bzw. für biblatex LaTeX, Biber, LaTeX, LaTeX ausführen. Finde heraus, wie dies im gewählten Editor bewerkstelligt wird, oder teste die Automatisierung in Overleaf oder LaTeX Online.

Teste, was passiert, wenn neue Datenbankeinträge und Verweise hinzugefügt werden. Füge einen neuen Eintrag hinzu und finde heraus, wie er ausgegeben wird. Experimentiere mit natbibs numeric und biblatexs style=numeric Option.