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
BearbeitenLiteraturtypen (Entry types)
BearbeitenFü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}
Bücher
BearbeitenReferenzart: 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
BearbeitenReferenzart: 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
BearbeitenReferenzart: 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
BearbeitenReferenzart | 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
BearbeitenTrotz 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.
Biber
BearbeitenWenn 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
BearbeitenBibTeX 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 AusgabeOrganization, 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
BearbeitenDie 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
BearbeitenBibTeX
BearbeitenZuerst 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.
Biber
BearbeitenZuerst 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
BearbeitenFü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:
Wenn die DOI vorliegt, kann ebenso doi2bib verwendet werden.
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.
Mendeley ist ebenfalls ein sehr umfangreiches Literaturverwaltungsprogramm (als Desktop- oder Webversion), mit Hilfe dessen man auch bibtex-Dateien generieren kann:
Zur Suche von fertigen BibTeX Einträgen bietet sich Google Scholar an:
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.
Fachliteratur
BearbeitenBibliografien mit LaTeX http://www.dante.de/index/Literatur/Bibliografie.html