biber / biblatex

biblatex ist das moderne Paket, das das Literaturverzeichnis auf der LaTeX-Seite zusammensetzt. Während klassisches BibTeX das Aussehen in .bst, einer eigenwilligen kleinen Sprache, festlegte, schreibt biblatex Stile als LaTeX-Makros, verarbeitet Unicode nativ und bietet genaue Kontrolle über Sortierung und mehrere Literaturverzeichnisse. Sein Begleiter, das Programm zum Lesen und Sortieren der Daten, ist biber. Im Dokument lädst du eine .bib mit \addbibresource, zitierst mit \parencite oder \textcite und gibst die Liste mit \printbibliography aus.

Was biblatex und biber sind

Die beiden werden leicht verwechselt, daher zuerst die Rollen. biblatex ist ein LaTeX-Paket, das bestimmt, wie Zitate aussehen und wie das Literaturverzeichnis formatiert wird. biber ist ein externes Programm (Backend) speziell für biblatex: Es liest die .bib-Datei, sortiert und verarbeitet die Einträge und übergibt sie biblatex in einer Form, die gesetzt werden kann. Die Arbeit, die früher BibTeX mit .bst erledigte, ist nun zweigeteilt: Formatierung übernimmt biblatex (die LaTeX-Seite), Lesen und Sortieren übernimmt biber.

Das biblatex-Handbuch sagt klar, dass biber „das Standard-Backend von biblatex“ ist. biber verarbeitet us-ascii, 8-Bit-Kodierungen und UTF-8 und unterstützt locale-bewusste Sortierung (sortlocale). Das Backend wählst du mit der Option backend=; die alten Varianten bibtex/bibtex8 sind weiterhin auswählbar, aber für Unicode und flexible Sortierung ist biber der De-facto-Standard.

Minimale Einrichtung (laden und ausgeben)

Die Verwendung besteht aus drei Teilen. In der Präambel wählst du Stil und Backend mit \usepackage[...]{biblatex}, dann registrierst du die Datenbank mit \addbibresource{refs.bib}. Im Text zitierst du mit der \cite-Familie, und \printbibliography steht dort, wo das Literaturverzeichnis erscheinen soll.

document.tex
\documentclass{article}
\usepackage[style=authoryear, backend=biber]{biblatex}
\addbibresource{refs.bib}   % preamble; the .bib extension IS included

\begin{document}

The theory was introduced by \textcite{shannon1948}.
Later work built on it~\parencite{knuth1984}.

\printbibliography

\end{document}

Die zwei auffälligsten Unterschiede zu BibTeX sind: Erstens registrierst du die Datenbank in der Präambel mit \addbibresource{refs.bib}, nicht am Ende des Textkörpers mit \bibliography{refs}; zweitens gibst du hier die Endung .bib an (BibTeXs \bibliography bekam keine Endung). \addbibresource darf mehrfach stehen, sodass Datenbanken auf mehrere Dateien verteilt werden können.

Einen Stil wählst du mit einem einzigen style=. Das ist eine Master-Option, die sowohl den Bibliographiestil (.bbx) als auch den Zitierstil (.cbx) zugleich lädt. Nur wenn beide abweichen sollen, setzt du bibstyle= (Aussehen der Liste) und citestyle= (Aussehen der Zitate) getrennt. Die .bib-Datei selbst, also Einträge wie @article und die Zitierkeys, wird genau wie bei BibTeX geschrieben und auf einer eigenen Seite ausführlich behandelt.

Zitierbefehle

Eine Kernstärke von biblatex ist sein reicher Satz an Zitierbefehlen, die nach Bedeutung gewählt werden. Neben dem bloßen \cite wählst du je nach Kontext aus den folgenden. Jeder Befehl nimmt eine Vorbemerkung („see“ …) und Nachbemerkung (eine Seitenzahl …) wie in \parencite[prenote][postnote]{key}, und du kannst mehrere durch Kommas getrennte Keys übergeben.

BefehlWas ausgegeben wirdWann verwenden
\citeDas bloße Label ohne Zusätze (eckige Klammern in numerisch/alphabetisch)Die minimale Form, in den Text eingebettet
\parenciteDas ganze Zitat in Klammern (eckig in numerisch/alphabetisch)Klammerzitate, z. B. am Satzteilende
\textciteAutornamen plus geklammertes Label, „Author (year)“Wenn das Zitat grammatisch Teil des Satzes ist
\footciteSetzt das ganze Zitat in eine Fußnote und endet mit einem PunktStile, die Quellen in Fußnoten angeben
\autociteDie vom Stil gesteuerte Form (verschiebt auch Interpunktion)Wenn der Stil entscheiden und global umschaltbar sein soll
\citeauthor / \citeyearNur Autor / nur JahrWenn du im Fließtext nur Autor oder Jahr nennst

Verwende \textcite, wenn das Zitat Teil des Satzes ist, etwa „as Knuth (1984) showed…“, sodass der Autor Subjekt sein kann. \parencite ist das Gegenstück: ein ruhiges Klammerzitat am Ende eines Satzteils. \autocite liegt eine Ebene höher: Ob es sich wie \parencite oder \footcite (in numerischen Stilen auch \supercite) verhält, wird mit der Option autocite= umgeschaltet. autocite=plain macht daraus \cite, autocite=inline \parencite, autocite=footnote \footcite, und autocite=superscript erzeugt eine hochgestellte Form (praktisch setzt jeder Stil einen sinnvollen Standard).

Wenn du mehrere Werke auf einmal zitieren willst, jeweils mit eigener Vor- oder Nachbemerkung, nutze die multicite-Formen wie \parencites und \autocites: \parencites[35]{key1}[88--120]{key2}{key3} hängt jedem Eintrag eine eigene Nachbemerkung an.

Das Stilsystem

biblatex bringt allgemeine Stile mit; ein Name in style= ändert das gesamte Aussehen. Die wichtigsten stehen unten. Jeder schaltet sowohl das Aussehen der Zitate (.cbx) als auch das der Liste (.bbx) gemeinsam um.

StilZitierbildMerkmal
numericEine Nummer wie [1]Standard; wie LaTeXs normale Nummern. numeric-comp fasst zu [1–3] zusammen
alphabeticAlphanumerische Labels wie [Jon95]Wie BibTeXs alpha; ein kurzer Tag aus Autor und Jahr
authoryearAutor-Jahr wie „Doe 1995a“Fügt a, b… bei gleichem Autor/Jahr hinzu; -comp gruppiert den Autor
authortitleAutor plus KurztitelHäufig in den Geisteswissenschaften; das Jahr steht nicht im Vordergrund
verboseBeim ersten Mal vollständige Angabe, danach KurzformFür Stile mit ausführlichen Quellenangaben in Fußnoten

Darüber hinaus gibt es viele fachbezogene Stile: ieee für Ingenieurwesen, apa für Psychologie und andere Felder (das Paket biblatex-apa), nature und science für Naturwissenschaften, chicago (biblatex-chicago), oscola für Recht, mla für Geisteswissenschaften und mehr. So kannst du Vorgaben eines Publikationsorts erfüllen, ohne .bst zu schreiben; mehrere sind über CTAN installierbar.

Das Aussehen lässt sich mit Ladeoptionen weiter abstimmen. sorting= wählt die Reihenfolge (nty = Name, Titel, Jahr ist Standard; nyt = Name, Jahr, Titel; ynt = Jahr, Name, Titel; none = in Zitierreihenfolge belassen), maxbibnames / maxcitenames legen fest, wie viele Autoren vor „et al.“ erscheinen, und backref=true fügt Rückverweise von jedem Eintrag zu den Zitierstellen hinzu. maxnames ist die Master-Option, die diese zusammen setzt.

Der Build (mit biber)

Hier stolpern BibTeX-Nutzer zuerst. Um ein biblatex-Literaturverzeichnis korrekt zu erzeugen, lautet die klassische Reihenfolge latex → biber → latex → latex. Der Grund für mehrere Läufe ist derselbe wie bei BibTeX: Engine und biber tauschen Daten über Hilfsdateien aus. Der entscheidende Unterschied ist aber: Du rufst biber auf, nicht bibtex. Mit pdflatex ist es genauso; ersetze einfach latex durch pdflatex.

terminal
$ pdflatex document.tex   # 1st pass: records cited keys
$ biber    document        # NOT bibtex: reads .bcf + .bib, sorts/processes
$ pdflatex document.tex    # pulls in the processed data
$ pdflatex document.tex    # resolves all references

An biber übergibst du den Jobnamen (ohne Endung), nicht die .tex. biber liest die Steuerdatei .bcf (XML), die biblatex schreibt. Ein häufiger Fehler ist, dass Editor oder latexmk weiterhin auf bibtex eingestellt sind; das führt zu Warnungen über undefinierte Zitate oder zu einem leeren Literaturverzeichnis. Wenn du backend=biber wählst, muss auch das Werkzeug biber aufrufen. Da vier manuelle Läufe mühsam sind, überlässt man das in der Praxis meist latexmk.

terminal
$ latexmk -pdf document.tex   # detects biblatex and runs biber automatically

Neuere Versionen von latexmk erkennen biblatex und rufen biber automatisch auf, sodass die nötigen Wiederholungen meist mit einem einzigen Start erledigt sind (in älteren Umgebungen trägt man eine biber-Konfiguration zusammen mit etwa $pdf_mode in .latexmkrc ein). Für Japanisch setzt man mit upLaTeX usw. und geht über DVI mit dvipdfmx nach PDF; da biber Unicode beherrscht, sortiert sortlocale=ja_JP Japanisch korrekt (häufig trennt man japanische und westliche Literaturverzeichnisse auch über das Feld langid).

Warum biblatex statt BibTeX

biblatex/biber wird für neue Projekte bevorzugt, weil es BibTeXs strukturelle Grenzen direkt angeht. Konkret:

  • Vollständiges Unicode. biber verarbeitet UTF-8 direkt; mehrsprachige Autorennamen und Akzente bereiten keine Mühe.
  • Stile in LaTeX geschrieben. Die Formatierung wird durch LaTeX-Makros und Ladeoptionen gesteuert; keine stack-orientierte .bst-Sprache nötig.
  • Flexible Sortierung und Lokalisierung. sorting= und sortlocale geben genaue Kontrolle über Reihenfolge und Sprache.
  • Mehrere Literaturverzeichnisse. \printbibliography[type=...] oder [keyword=...] teilt die Liste nach Typ oder Thema.
  • Reiche Zitierbefehle. \textcite, \parencite, \autocite und andere erlauben konsistentes Zitieren nach Bedeutung.

Der letzte Punkt, mehrere Listen, zahlt sich praktisch aus: etwa primäre und sekundäre Quellen zu trennen oder nach Dokumenttyp zu gruppieren, ohne die Daten anzufassen. Filter für \printbibliography sind type= (nur ein bestimmter Eintragstyp), nottype= (diesen Typ ausschließen), keyword= / notkeyword= (nach dem Feld keywords in der .bib filtern) und heading= / title= (Überschrift setzen).

document.tex
\printbibliography[type=article, title={Journal articles}]
\printbibliography[type=book,    title={Books}]
\printbibliography[keyword=primary, title={Primary sources}]

Wenn du aus der BibTeX-Zeit natbib gewohnt bist, stellt \usepackage[natbib=true]{biblatex} natbib-artige Aliase wie \citep und \citet bereit und erleichtert so die Migration.