BibTeX vs. biblatex: Unterschiede und Wahl
Wenn Sie frei wählen können, nehmen Sie biblatex mit biber. Bringt Ihre Zeitschrift, Konferenz oder Hochschule eine .bst-Vorlage mit oder verlangt BibTeX, bleiben Sie bei BibTeX.
Auf dieser Seite
BibTeX ist das Programm von 1985, das Ihre Literaturangaben sortiert und mit einem .bst-Stil formatiert, und es ist bis heute das, was die meisten Vorlagen von Zeitschriften und Konferenzen erwarten. biblatex ist ein deutlich jüngeres LaTeX-Paket, das die Formatierung in LaTeX selbst erledigt und zum Einlesen und Sortieren das separate Programm biber nutzt. Beide lesen dieselben .bib-Dateien, Ihre Literaturdatenbank bleibt beim Wechsel also unverändert. Der Unterschied liegt im LaTeX-Dokument, im Kompilierschritt und im Stil. biblatex ist flexibler und beherrscht Unicode und moderne Eintragstypen von Haus aus; BibTeX akzeptiert dafür jeder Verlag.
Was ist was?
Drei Namen sorgen für die meiste Verwirrung:
- BibTeX bezeichnet sowohl das .bib-Dateiformat als auch das ursprüngliche Programm
bibtex. Es liest Ihre .bib-Datei und eine.bst-Stildatei und schreibt eine.bbl-Datei, die LaTeX dann setzt. - biblatex ist ein LaTeX-Paket, das Sie mit
\usepackage{biblatex}laden. Seine Stile sind in LaTeX geschrieben (.bbx- und.cbx-Dateien). Wer das Aussehen einer Angabe ändern will, setzt eine Option oder definiert ein Makro um, statt ein.bst-Programm zu bearbeiten. - biber ist das Programm, das biblatex anstelle von
bibtexverwendet. Es liest die .bib-Datei in UTF-8, sortiert die Einträge und übergibt die Daten an biblatex. biber ist in TeX Live und MiKTeX enthalten (siehe Installation).
| Mit BibTeX | Mit biblatex | |
|---|---|---|
| Ihre Datei | references.bib |
references.bib (dieselbe Datei) |
| Sortiert von | bibtex |
biber |
| Formatiert von | bibtex nach Vorgabe der .bst |
LaTeX nach Vorgabe des biblatex-Stils |
| Der Stil steckt in | einer .bst-Datei |
.bbx/.cbx-Dateien, gewählt mit style= |
Direkter Vergleich
| BibTeX | biblatex | |
|---|---|---|
| Präambel | nichts, oder \usepackage{natbib} |
\usepackage[backend=biber, style=authoryear]{biblatex} |
| .bib-Datei einbinden | \bibliography{references} am Ende, ohne Endung |
\addbibresource{references.bib} in der Präambel, mit Endung |
| Verzeichnis ausgeben | \bibliographystyle{plain} und \bibliography{references} |
\printbibliography |
| Kompilieren | pdflatex, bibtex, pdflatex, pdflatex | pdflatex, biber, pdflatex, pdflatex |
| Zitierbefehle | \cite; mit natbib \citep, \citet |
\cite, \parencite, \textcite, \autocite, \footcite und weitere |
| Stile | .bst-Dateien: plain, alpha, IEEEtran, elsarticle-num, … |
style=-Optionen: numeric, alphabetic, authoryear, authortitle; Pakete wie biblatex-apa (style=apa), biblatex-ieee (style=ieee) und biblatex-chicago |
| Unicode in der .bib-Datei | Umlaute als {\"o} schreiben (Akzenttabelle) |
UTF-8 wie ö funktioniert direkt |
| Mehrere Verzeichnisse | nur mit Zusatzpaketen (chapterbib, multibib) |
eingebaut: refsection, refsegment, Filter nach Schlagwort oder Typ |
| Sortierung | durch die .bst festgelegt |
Option sorting= (nty, nyt, ydnt, none, …), Unicode-fähig |
| Sprache | Wörter wie „and“ oder „edition“ stehen fest in der .bst |
folgt babel oder polyglossia („und“, „Hrsg.“, „2. Aufl.“) |
| Eintragstypen und Felder | die klassischen Eintragstypen; kein @online |
zusätzlich @online, @dataset, @software u. a.; date, journaltitle, urldate; @thesis mit Feld type |
| Querverweise | crossref mit eingeschränkter Vererbung |
crossref und xdata mit einstellbarer Vererbung |
| Feldlängen | sehr alte Versionen hatten feste Obergrenzen für Einträge und Zeichenketten; aktuelle bibtex- und bibtex8-Versionen stoßen selten daran |
praktisch keine Grenzen |
| Tempo und Umfang | schnell, klein, seit Jahrzehnten stabil | langsamer, großes Paket, viele Optionen |
Was sollten Sie verwenden?
Bleiben Sie bei BibTeX, wenn
- Ihre Zeitschrift, Konferenz oder Hochschule eine Vorlage mit
.bst-Datei liefert oder ausdrücklich BibTeX verlangt. Typische Beispiele sind IEEE (IEEEtran.bst), ACM (ACM-Reference-Format.bstinacmart), Elsevier (elsarticle-num.bstund Verwandte inelsarticle) und die Zeitschriftenvorlagen von Springer. Verlage verarbeiten Ihre.bbl-Datei oft selbst weiter und können mit biblatex-Ausgabe nichts anfangen. - Sie bestehende Dokumente voller natbib-Befehle pflegen und keinen Grund haben, daran etwas zu ändern.
- bei Koautoren oder auf einem Build-Server kein biber installiert ist.
Nehmen Sie biblatex, wenn
- Sie ein neues Dokument beginnen, etwa eine Abschlussarbeit, ein Buch oder einen Bericht, und niemand eine
.bstvorschreibt. - Sie einen Stil brauchen, der mit BibTeX schwer zu bekommen ist, etwa APA 7 oder Chicago, oder einen vorhandenen Stil im Detail anpassen möchten. Was BibTeX-Stile leisten, steht unter Literaturstile.
- Sie häufig Webseiten, Datensätze oder Software zitieren und
urlundurldatesauber ausgegeben haben wollen. - Sie ein Literaturverzeichnis pro Kapitel brauchen oder Quellen und Sekundärliteratur getrennt aufführen.
- Ihre Literatur Namen aus vielen Sprachen enthält oder das Verzeichnis sich nach der Dokumentsprache richten soll, im Deutschen also „Hrsg.“ und „Aufl.“ statt „ed.“.
Overleaf unterstützt beides ohne weitere Einstellungen und ruft je nach geladenem Paket bibtex oder biber auf.
Minimalbeispiele
Beide Beispiele verwenden diese references.bib:
@book{lamport1994latex,
author = {Lamport, Leslie},
title = {{\LaTeX}: A Document Preparation System},
edition = {2},
publisher = {Addison-Wesley},
address = {Reading, MA},
year = {1994}
}
@book{knuth1984texbook,
author = {Knuth, Donald E.},
title = {The {\TeX}book},
publisher = {Addison-Wesley},
address = {Reading, MA},
year = {1984}
}
Mit BibTeX
\documentclass{article}
\begin{document}
\LaTeX{} is described in \cite{lamport1994latex}, \TeX{} in \cite{knuth1984texbook}.
\bibliographystyle{plain}
\bibliography{references}
\end{document}
Kompilieren Sie mit pdflatex, bibtex, pdflatex, pdflatex. Im Text steht dann „described in [2]“, und der Eintrag von Lamport sieht so aus:
[2] Leslie Lamport. LaTeX: A Document Preparation System. Addison-Wesley, Reading, MA, 2 edition, 1994.
Mit biblatex
\documentclass{article}
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{references.bib}
\begin{document}
\LaTeX{} is described in \textcite{lamport1994latex}, \TeX{} in \parencite{knuth1984texbook}.
\printbibliography
\end{document}
Kompilieren Sie mit pdflatex, biber, pdflatex, pdflatex. Im Text stehen nun „Lamport (1994)“ und „(Knuth 1984)“, und der Eintrag lautet:
Lamport, Leslie (1994). LaTeX: A Document Preparation System. 2nd ed. Reading, MA: Addison-Wesley.
Achten Sie auf „2nd ed.“: biblatex macht aus der Zahl im Feld edition eine Ordnungszahl in der Dokumentsprache, während plain stur „2 edition“ druckt. Mit \usepackage[ngerman]{babel} vor biblatex erhalten Sie „2. Aufl.“. In beiden Fällen startet latexmk -pdf das richtige Programm von selbst.
Umstieg von BibTeX auf biblatex
-
Entfernen Sie
\bibliographystyle{...}und ersetzen Sie\bibliography{references}an der Stelle des Verzeichnisses durch\printbibliography. -
Ergänzen Sie in der Präambel
\usepackage[backend=biber, style=authoryear]{biblatex}(oderstyle=numericfür nummerierte Zitate) und\addbibresource{references.bib}. Hier gehört die Endung.bibdazu, anders als bei\bibliography. -
Entfernen Sie
\usepackage{natbib}, denn natbib und biblatex lassen sich nicht gemeinsam laden. Schreiben Sie\citepund\citetentweder in\parenciteund\textciteum, oder behalten Sie sie mit der Optionnatbib=true:\usepackage[backend=biber, style=authoryear, natbib=true]{biblatex} -
Stellen Sie Ihren Editor oder Build auf
biberstattbibtexum.latexmkerkennt biblatex und ruft biber selbst auf, Overleaf ebenso. In TeXstudio oder TeXworks ändern Sie das Literaturwerkzeug in den Einstellungen. -
Löschen Sie einmal die alten
.aux- und.bbl-Dateien, damit keine BibTeX-Ausgabe zurückbleibt. -
Lassen Sie die .bib-Datei, wie sie ist. biblatex akzeptiert
journalfürjournaltitle,addressfürlocationundyear/monthnebendate, die meisten Dateien brauchen also keine Änderung. Akzentbefehle wie{\"o}funktionieren weiter; Sie dürfen jetzt aber auchöschreiben.
Typische Fehler nach dem Umstieg:
- „Please (re)run Biber on the file“: biblatex braucht frische Daten. Führen Sie
biber(nichtbibtex) mit dem Dokumentnamen aus und danach erneut LaTeX. - „I found no \citation commands“ von bibtex oder „biber: command not found“: Der Editor ruft noch
bibtexauf, oder biber fehlt in Ihrer Installation. Prüfen Sie die Einstellung für das Literaturwerkzeug und Ihre TeX-Installation. - „Style ‘xyz’ not found“: Der Stilname ist falsch, oder das zugehörige Paket (etwa
biblatex-apa) ist nicht installiert. - „Incompatible package ‘natbib’“: natbib wird noch geladen, eventuell von der Dokumentklasse. Solche Klassen sind in der Regel für BibTeX gedacht.
Den klassischen Ablauf mit BibTeX beschreibt BibTeX verwenden, wie Sie Literatur allgemein in ein Dokument bringen, steht unter LaTeX-Literaturverzeichnis.
Hinweise zur Kompatibilität
- Die .bib-Datei funktioniert mit beiden. biblatex versteht alle Standardfelder und -typen von BibTeX. BibTeX übergeht unbekannte Felder wie
date,urldateoderjournaltitlestillschweigend; ein Eintrag, der nurdatehat, verliert in einem BibTeX-Stil also sein Jahr. Soll eine Datei beiden dienen, behalten Sieyearundjournalbei. - Eintragstypen, die es nur in biblatex gibt, etwa
@online, kennen die Standard-.bst-Stile nicht. BibTeX warnt („entry type for … isn’t style-file defined“) und setzt sie mit dem Standardformat des Stils, meist wie@misc. Unter Eintragstypen finden Sie Typen, die überall funktionieren. - Stile sind nicht austauschbar. Eine
.bst-Datei lässt sich nicht mit biblatex verwenden und ein biblatex-Stil nicht mit BibTeX. Wer die Vorgaben eines Verlags treffen muss, braucht einen Stil für genau das System, das er verwendet. - Die Option
backend=bibtexgibt es in biblatex, sie verzichtet aber auf Unicode und viele Funktionen und ist nur ein Notbehelf für Systeme ohne biber.
Weitere kurze Antworten finden Sie in den FAQ.