LaTeX-Kompendium: Zitieren mit BibTeX

Gute Möglichkeiten, Zitate einzufügen und zu formatieren, bieten die Programme BibTeX () und Biber. Diese erlauben es, aus einer Datenbank an Einträgen (entries) verschiedener Typen (Entry types, z. B. Artikel, Bücher, Konferenzbände) die für den aktuellen Text benötigten herauszusuchen (indem man sie zitiert) und sie - bei Bedarf sortiert (z.B. nach dem Autor oder dem Alphabet) - an einer gewünschten Stelle auszugeben. Dazu benötigt es eine Datenbank, einen Stil und natürlich Zitate im Text. Ein einfaches Beispiel der Einbindung würde wie folgt aussehen:

  Dies ist ein ganz kurzer Beispieltext\cite{meier99}.
  \bibliography{lit}
  \bibliographystyle{alpha}

Für dieses Beispiel müsste im gleichen Verzeichnis eine Datei lit.bib mit dem Eintrag meier99 vorhanden sein, siehe dazu unten

Später wird ein Paket namens biblatex bearbeitet, das weitere Funktionen bietet. Diese kann auch mit einem Hilfsprogramm namens Biber statt mit BibTeX arbeiten. Im Folgenden wird erstmal ausschließlich BibTeX ohne das Paket biblatex verwendet. Die Quellen werden in einem bestimmten Format in eine (oder auch mehrere) Dateien gespeichert, wobei es auch Programme gibt, welche dies erledigen. Jede Quelle hat einen eindeutigen Schlüssel (den BibTeX-Key), welcher für das Zitat verwendet wird. Im obigen Beispiel ist "meier99" ein solcher Schlüssel.

Der \cite-Befehl, von dem es weitere Abwandlungen, vor allem mit natbib gibt, zitiert an der entsprechenden Stelle, das Zitat wird bei der Ausgabe je nach Stil ausgegeben. Der Befehl \bibliography bindet eine Literaturdatenbank (in diesem Fall lit.bib) ein, und erstellt das Literaturverzeichnis. Direkt danach muss noch der Stil dieses Verzeichnisses durch \bibliographystyle{<Stil>} definiert werden. Das Verzeichnis wird je nach Dokumentenklasse als section oder chapter eingefügt (und zwar mit Stern, d.h. das Literaturverzeichnis wird normalerweise nicht in das Inhaltsverzeichnis aufgenommen und nicht mitnummeriert).

BibTeX-Literaturdatenbank

Bearbeiten

Literaturtypen (Entry types)

Bearbeiten

Für jeden Typ von BibTeX-Eintrag gibt es Pflichteinträge und zusätzliche Attribute. Ohne die notwendigen Pflichteinträge wird die Bibliografie nicht fehlerfrei kompiliert.

Verpflichtend ist die Referenz für den Eintrag, die beliebig - aber möglichst eindeutig - gewählt werden kann. Ein Beispiel:

fitzgerald:realigning_research_and_practice 

Auf diese Referenz kann dann im Text mit

\cite{fitzgerald:realigning_research_and_practice}

verwiesen werden. Seitenzahlen werden in eckige Klammern gesetzt und so ausgegeben wie eingetragen:

\cite[12]{fitzgerald:realigning_research_and_practice}

Will man ein "f." oder ein "ff." mit angeben um eine bzw. mehrere folgende Seiten zu kennzeichnen, geschieht dies mit \psq, bzw. \psqq:

\cite[12\psq]{fitzgerald:realigning_research_and_practice}

Referenzart: book
Notwendige Felder: author oder editor, title, publisher, year
Optionale Felder: volume oder number, series, address, edition, month, note, isbn

@BOOK{fitzgerald:realigning_research_and_practice,
  AUTHOR       = "Fitzgerald, B. and Russo, N. and DeGross, J.",
                 %Mehrere Autoren werden mit 'and' eingetragen
  TITLE        = "{R}ealigning {R}esearch and {P}ractice in {I}nformation {S}ystems
                 {D}evelopment: {T}he {S}ocial and {O}rganizational {P}erspective",
  PUBLISHER    = "Kluwer Academic Press",
  YEAR         = "2001",
  ADDRESS      = "Boston",
  NOTE         = "Eine optionale Notiz"
}

Konferenzbände und Sammelwerke

Bearbeiten

Referenzart: proceedings
Notwendige Felder: title, year
Optionale Felder: editor, volume oder number, series, address, month, organization, publisher, note

Das Hauptwerk wird zu einem Eintrag:

@PROCEEDINGS{raymond:cathedral_bazaar_book,
  EDITOR      = "Tim O'Reilly",
  TITLE       = "{T}he {C}athedral and the {B}azaar -- {M}usings on {L}inux
                 and {O}pen {S}ource by an {A}ccidental {R}evolutionary",
  PUBLISHER   = "O'Reilly",
  ADDRESS     = "Sebastopol, CA",
  YEAR        = 1999,
  NOTE        = ""
}

Die Einträge bekommen zusätzlich jeder für sich einen Bib-Eintrag. Diese sollten - bei getrennten Bib-Files pro Werk - ebenfalls in der Datei des Hauptwerkes verzeichnet sein.

Referenzart: inproceedings
Notwendige Felder: author, title, booktitle, year
Optionale Felder: editor, volume oder number, series, pages, address, month, organization, publisher, note

@INPROCEEDINGS{raymond:history_of_hackerdom_inbook,
  AUTHOR       = "Raymond, Eric Steven",
  TITLE        = "{A} {B}rief {H}istory of {H}ackerdom",
  PAGES        = "7 -- 26",
  CROSSREF     = "raymond:cathedral_bazaar_book",
  NOTE         = ""
}

Diverses

Bearbeiten

Referenzart: misc
Notwendige Felder: keine
Optionale Felder: author, title, howpublished, month, year, note

@MISC{stallman99:telepolis,
  AUTHOR       = "Stallman, Richard Matthew and Krempl, Stefan",
  TITLE        = "{S}oftware mu{\ss} frei sein!",
  YEAR         = "1999",
  HOWPUBLISHED = "Website",
  NOTE         = "Online erhältlich unter
                  \url{http://www.heise.de/tp/deutsch/inhalt/te/2860/1.html};
                  abgerufen am 8. Januar 2005."
}

Übersicht

Bearbeiten
Referenzart notwendige Felder optionale Felder
article author, title, journal, year volume, number, pages, month, note
book author oder editor, title, publisher, year volume oder number, series, address, edition, month, note, isbn
booklet title author, howpublished, address, month, year, note
conference author, title, booktitle, year editor, volume oder number, series, pages, address, month, organization, publisher, note
inbook author oder editor, title, booktitle, chapter und/oder pages, publisher, year volume oder number, series, type, address, edition, month, note
incollection author, title, booktitle, publisher, year editor, volume oder number, series, type, chapter, pages, address, edition, month, note
inproceedings author, title, booktitle, year editor, volume oder number, series, pages, address, month, organization, publisher, note
manual title author, organization, address, edition, month, year, note
mastersthesis author, title, school, year type, address, month, note
thesis author, title, school, year type, address, month, note
misc - author, title, howpublished, month, year, note
phdthesis author, title, school, year type, address, month, note
proceedings title, year editor, volume oder number, series, address, month, organization, publisher, note
techreport author, title, institution, year type, number, address, month, note
unpublished author, title, note month, year

BibLaTeX

Bearbeiten

Trotz vielfältiger Gestaltungsmöglichkeiten, unter anderem mit dem Befehl custombib, der die Festlegung einzelner Merkmale eines eigenen Bibliographiestils ermöglicht, gibt es verständlicherweise nicht für jede Anforderung einen vordefinierten Bibliographiestil. Wenngleich viele Stile Optionen zur Anpassung an die eigenen Bedürfnisse bieten, kommt man in manchen Situationen nicht um das Erstellen eigener Styles herum. Das Erlernen der postfix-Notation, in der Bibtex-Stile programmiert werden, gilt jedoch als sehr schwierig, selbst das Verändern bereits bestehender Stile ist nicht ohne weiteres möglich.

Eine Lösung für dieses Dilemma bietet BibLaTeX. Bibliographie-Stile für BibLaTeX werden in LaTeX programmiert, was die Erstellung eigener und Veränderung bestehender Stile für LaTeX-Könner deutlich vereinfacht.

Wenn man mit BibLaTeX arbeitet, bietet es sich an, auf das neuere Hilfsprogramm Biber umzusteigen. Hier ist die Syntax etwas anders:

  • Der Zitierstil wird in Biber statt mit \bibliographystyle über die Paketoption style=... von biblatex definiert.
  • Es gibt in Biber wesentlich mehr Feldeinträge (entries) und Sortieroptionen.
  • Man muss Biber auf der TeX-Datei ausführen statt BibTeX.

Unten finden sich Beispiele, wie ein annähernd gleiches Ergebnis mit BibLaTeX sowie mit Biber erzeugt wird.

Häufige Probleme

Bearbeiten

BibTeX passt je nach eingestelltem Stil das Format an. Meistens ist dies ganz praktisch, in seltenen Fällen treten aber Missverständnisse auf und nicht das gewünschte Ergebnis entsteht.

  • Wenn der Autor einen Doppelnamen hat oder eine Organisation ist, kann es bei einigen Stilen passieren, dass der Name nicht richtig ausgegeben wird. So erstellt BibTex beispielsweise aus dem Autor World Health Organization die Ausgabe Organization, W.H. Dieses Problem kann gelöst werden, indem der Name in geschweifte Klammern geschrieben wird: {World Health Organization}. Im Quellcode werden doppelte Klammern verwendet: AUTHOR = {{World Health Organization}}
  • Wenn der Titel aus mehreren Wörtern besteht, und BibTeX diese nicht korrekt erkennt, kann es vorkommen, dass Wörter, die eigentlich großgeschrieben sein sollten, im Literaturverzeichnis kleingeschrieben sind. Dies lässt sich auch mit geschweiften Klammern lösen. Auch hier werden wieder doppelte geschweifte Klammern verwendet: TITLE = {{Dieser Titel soll Großbuchstaben und kleinbuchstaben enthalten}}. Alternativ kann auch der Stil gerplain (d.h. \bibliographystyle{gerplain}) oder dinat verwendet werden. Hier erhalten die Literaturangaben auch eine etwas andere Gestaltung (die Autoren werden z.B. in Kapitälchen, der Titel kursiv gesetzt).
  • Damit das Literatur-Verzeichnis und etwaige Verweise darauf beim Betrachten der DVI-Datei korrekt angezeigt werden, muss die LaTeX-Quelle (und zwar das TeX-Dokument, in das die Literaturdatenbank eingebunden wird, nicht die Bib-Datei selbst!) mehrfach kompiliert werden: Erst mit Hilfe des Latex-Compilers, dann mit dem BibTex-Compiler, anschließend muss zweimal der LaTeX-Compiler angewandt werden, siehe auch Ende des Artikels.

Weitere mögliche Fehlerquellen

Bearbeiten
  • Biber- / BibTeX-Ausgabe angucken. Häufig steht hier bereits eine Fehlermeldung (Error -- ...)
  • Schuld bei solchen Fehlermeldungen sind häufig fehlende Kommata, falsche Entries oder die Entries existieren im Typ nicht.
  • Wenn scheinbar alles gut läuft, aber die Bibliografie leer bleibt / unvollständig ist, sind entweder die Hilfsdateien Schuld (. bcf etc. löschen) oder die Quele wurde einfach noch nicht zitiert. (Zur Anzeige solcher \nocite{*} vor \printbibliography{} ergänzen} Oder man hat die Aufrufreihenfolge oben nicht korrekt beachtet.
  • Es kann helfen, die Hilfsdateien (.bcf etc.) zu löschen.
  • Es kann auch sein, dass man TeXWorks benutzt hat und versehentlich BibTeX (voreingestellt) statt Biber aufgerufen hat.

BibTeX-Stil

Bearbeiten

Die Darstellung der Zitate und des Literaturverzeichnisses wird über eine Datei mit der Endung .sty definiert. Es gibt eine Vielzahl von vorgefertigten Formaten, von denen viele auch in den gängigen LaTeX-Distributionen enthalten sind (Beispiel-Styles). Speziell für den deutschen Sprachraum und Zitate nach der Norm DIN 1505 gibt es ein eigenes Paket mit einem passenden Stil (natdin), welches eingebunden werden kann, und zusätzlich weitere Beispiele, wie zum Beispiel das Paket jurabib und weitere.

Bestimmt wird der Stil über den Befehl \bibliographystyle{<Stil>} direkt nach dem \bibliography-Befehl.

Beispiele

Bearbeiten

Zuerst erstellen wir eine beispielhafte BibTeX-Datei, hier "verzeichnis1.bib":

@UNPUBLISHED{bibtex.a,
   author = "Oren Patashnik",
   title = "{{\BibTeX}ing}",
   note = "Documentation for general {\BibTeX} users",
   day = 08,
   month = Feb,
   year = 1988,
   language = "USenglish",}

sowie die dazugehörige LaTeX-Datei "bibspiel1.tex":

\documentclass[12pt]{scrartcl}
\usepackage[USenglish]{babel}
\usepackage{csquotes}
\def\BibTeX{\textrm{B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125em X}}
\begin{document}
\title{B\kern-.05em{\large I}\kern-.025em{\large B}\kern-.08em\TeX ing}
\author{T.\ C.\ Pip}
\date{\today}
\maketitle

Alles wird gut, sagte Oren~\cite{bibtex.a}.
\bibliography{verzeichnis1}
\bibliographystyle{plain}

\end{document}

und Kompilieren mit:

$ latex bibspiel1
$ bibtex bibspiel1
$ latex bibspiel1
$ latex bibspiel1

das Ergebnis "bibspiel1.dvi" kann jetzt mit einem DVI-Betrachter angezeigt werden.

 
Das Ergebnis der BibTeX-Variante
 
Das Ergebnis mit Biber. Man beachte die hinzugefügten Sonderzeichen, die mit BibTeX nicht klappen würden.

Zuerst erstellen wir eine beispielhafte Biber-Datei, hier "verzeichnis2.bib":

@UNPUBLISHED{bibtex.a,
   author = "Oren Patashnik",
   title = "{{\BibTeX}ing}",
   note = "Some nice diacritics: á, $\tilde{b}$ Documentation for general {\BibTeX} users",
   date = {1988-02-08},
   language = USenglish,
}

sowie die dazugehörige LaTeX-Datei "bibspiel2.tex":

\documentclass[12pt]{scrartcl}
\usepackage[USenglish]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=numeric]{biblatex}  % sortiert. Nutze sonst unsrt statt plain
\addbibresource{verzeichnis2.bib}
\def\BibTeX{\textrm{B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125em X}}
\begin{document}
\title{\BibTeX ing}
\author{T.\ C.\ Pip}
\date{\today}
\maketitle

Alles wird gut, sagte Oren~\cite{bibtex.a}.
\nocite{*}
\printbibliography  %% Beachte die zusätzlichen Befehle in der Präambel
\end{document}

und Kompilieren mit:

$ latex bibspiel2
$ biber bibspiel2
$ latex bibspiel2
$ latex bibspiel2

das Ergebnis "bibspiel2.dvi" kann jetzt mit einem DVI-Betrachter angezeigt werden.

Onlinegenerierung von BibTeX-Einträgen

Bearbeiten

Für wissenschaftliche Arbeiten bieten sich die folgenden zwei Internetseiten bevorzugt bei online verfügbaren Quellen an.

Liegen Einträge im Format RIS vor, können sie nach *.bib umgewandelt werden mit:

https://www.bruot.org/ris2bib

Wenn die DOI vorliegt, kann ebenso doi2bib verwendet werden.

https://www.doi2bib.org

 
Literatur-Generator

Der Literaturgenerator macht es möglich, schnell und einfach BibTeX-Einträge zu erstellen. Es reicht, den Titel des Buches in das Suchfeld einzutragen.

http://www.literatur-generator.de

Mit dem Literaturverwaltungsprogramm zotero lassen sich auch bibtex-Dateien exportieren.

http://www.zotero.org

Mendeley ist ebenfalls ein sehr umfangreiches Literaturverwaltungsprogramm (als Desktop- oder Webversion), mit Hilfe dessen man auch bibtex-Dateien generieren kann:

http://www.mendeley.com

Zur Suche von fertigen BibTeX Einträgen bietet sich Google Scholar an:

http://scholar.google.de

Die meisten Bibliothekskataloge können mittlerweile BibTeX exportieren (ggf. nach Citavi). Hiermit können komplette Datensätze in die BibTeX-Datenbank übernommen werden. Mit dem Webtool Lead2Amazon ist es möglich, BibTeX-Einträge für Bücher, die bei Amazon erhältlich sind, automatisch zu generieren. In das Suchfeld muss dabei lediglich die ISBN eingetragen werden.

http://lead.to/amazon/en/?op=bt

Das in den Naturwissenschaften genutzte Preprint-Archiv ArXiv bietet häufig ebenfalls BibTeX-Export an. (rechts unter Export BibTeX Citation) Im Folgenden ist ein Beispiel-Paper verlinkt, das die Exportmöglichkeit anbietet.

https://arxiv.org/abs/2203.00085

Fachliteratur

Bearbeiten

Bibliografien mit LaTeX http://www.dante.de/index/Literatur/Bibliografie.html