Literaturverweise erscheinen nur als fette Marken der Art [citekey]
, das Literaturverzeichnis fehlt oder ist unvollständig
Dieses Problem kann verschiedene Ursachen haben. Allen gemeinsam ist, dass biber
nicht erfolgreich aufgerufen wurde oder nicht genügend LaTeX-Läufe nach dem biber
-Aufruf erfolgten. Dass biber
nicht aufgerufen wurde, kann man auch daran erkennen, dass keine (aktuelle) *.blg
-Datei existiert. Generell ist zu beachten, dass für korrekte Literaturverweise und ein vollständiges Literaturverzeichnis folgende Bedingungen zu beachten sind:
- Alle im Literaturverzeichnis aufzuführenden Quellen müssen zitiert werden (beispielsweise per
\cite
, \autocite
, \footcite
, \parencite
…) oder per \nocite
als nicht zitiert aber aufzunehmen markiert sein.
- Es muss auch wirklich
biber
aufgerufen werden und nicht etwa bibtex
oder bibtex8
(Ausnahme ist, wenn per biblatex
-Option – beispielsweise backend=bibtex
oder backend=bibtex8
– explizit eine Legacy-Backend ausgewählt wurde, was normalerweise nicht zu empfehlen ist). Den fälschlichen Aufruf von bibtex
kann man sehr leicht daran erkennen, dass die Terminalausgabe des Aufrufs bzw. die *.blg
mit »This is BibTeX
« beginnt.
Zum Aufruf von biber
aus dem Editor siehe: Wie verwende ich biber in meinem Editor?
- Es muss zunächst ein LaTeX-Lauf stattfinden (dabei wird eine
*.bcf
-Datei erzeugt). Dann muss biber
aufgerufen werden (dabei wird die *.bbl
-Datei erzeugt). Anschließend werden zwei weitere LaTeX-Läufe benötigt.
Kurz gefasst lauter der Komplettzyklus also: LaTeX, biber, LaTeX, LaTeX.
Zum Aufruf von biber
aus dem Editor siehe: Wie verwende ich biber in meinem Editor?
Es ist zu beachten, dass dieser Komplettzyklus auch dann durchzuführen ist, wenn neue Quellen hinzugefügt bzw. zitiert werden oder der Zitierstil oder der Verzeichnisstil geändert wird.
Nicht alle Literaturverweise sind korrekt oder nicht alle Quellen im Literaturverzeichnis zu finden.
Das ist letztlich dasselbe Probem wie das vorherige. Die häufigsten Ursachen sind:
- Es wurde nicht der Komplettzyklus LaTeX, biber, LaTeX, LaTeX durchgeführt (siehe oben).
- Entweder beim LaTeX-Lauf oder beim biber-Lauf kam es zu einem Fehler, so dass der neue Eintrag nicht verarbeitet werden kann. Konsultiere dazu die
*.log
-Datei und die *.blg
-Datei.
- Ein Eintrag in die Literaturdatenbank wurde gar nicht zitiert bzw. als im Literaturverzeichnis anzuzeigen markiert (siehe oben).
Siehe dazu auch das vorherige Problem.
biblatex
meldet einen Fehler der Art: »Package biblatex Error: File 'FOO.bbl' not created by biblatex
«.
Der Fehler tritt auf, wenn beim LaTeX-Lauf eine *.bbl
-Datei, die nicht mit biblatex
und biber
erstellt wurde, existiert. Dieser Fehler tritt häufig auf, wenn man von der Verwendung von BibTeX mit \bibliographystyle
und \bibliography
auf die Verwendung von biblatex
und biber
umstellt, ohne die *.bbl
-Datei vor dem ersten LaTeX-Lauf nach der Umstellung zu löschen.
Prinzipiell kann man diese Fehlermeldung beim ersten LaTeX-Lauf ignorieren. Nach dem Aufruf von biber
sollte er bei den notwendigen zwei weiteren LaTeX-Läufen nicht mehr auftreten. Besser ist jedoch, die *.bbl
-Datei (und ruhig auch die alte *.blg
-Datei, aber bitte keinesfalls die *.bib
-Datei!) direkt nach der Umstellung zu löschen und einen neuen Komplettzyklus, also LaTeX, biber, LaTeX, LaTeX, durchzuführen.
biber
meldet (in der *.blg
-Datei) einen Fehler der Art: »ERROR - Error: Found biblatex control file version …, expected version …
«.
Diese Fehlermeldung gibt es immer dann, wenn biber
und biblatex
in inkompatiblen Versionen installiert sind. Bei MiKTeX tritt dieses Problem beispielsweise dann auf, wenn bei einer Multi-User-Installation biber
vom Admin installiert wurde, biblatex
aber on-the-fly nicht für alle Benutzer, sondern nur für den aktuellen Benutzer nachinstalliert wurde. Es tritt außerdem bei unvollständigen Updates der TeX-Distribution auf, in der Regel, wenn nur biblatex
aber nicht biber
aktualisiert wird. Zu lösen ist es, durch ein vollständiges Update der TeX-Distribution. Bei Multi-User-Installationen von MiKTeX ist dazu ein Update sowohl im Admin-Modus als auch im User-Modus durchzuführen. Siehe dazu: Wie kann ich MiKTeX updaten, dass wirklich alle Pakete auf dem neusten Stand sind?
Der Fehler kann auch auftreten, wenn zwischen dem letzten Aufruf von biblatex
und dem nächsten Aufruf von biber
ein Update stattgefunden hat. In diesem Fall genügt es normalerweise, einen weiteren LaTeX-Lauf vor dem biber
-Aufruf durchzuführen. Man kann aber auch einfach die *.bcf
-Datei und die *.bbl
-Datei zu löschen (aber keinesfalls die *.bib
-Datei!) und dann einen neuen Komplettzyklus (LaTeX, biber, LaTeX, LaTeX) durchführen.
Siehe auch: Found biblatex control file version …, expected version …
biber
meldet (in der *.blg
-Datei) ein Problem der Art: »Invalid format '01.08.2018' of date field 'date'
«
Diese Meldung bedeutet, dass das Datumsfeld date
in einem Eintrag nicht das korrekte Format hat. Es tritt nicht nur mit Datumsangaben wie der genannten auf, sondern auch, wenn im Datumsformat etwas wie »August 2018
« oder ähnliches eingetragen wurde. Auch eine einzelne Jahreszahl sollte besser als year
und nicht als date
eingetragen werden. biber
hat strenge Regeln, was den Aufbau des Datums anbelangt.
Siehe auch: Datum im Literaturverzeichnis.
Bei Nutzern von Literaturverwaltungen wie Citavis, JabRef kann die falsche Formatierung des Datums auch ein Hinweis darauf sein, dass sie die falschen Exporteinstellungen für die *.bib
-Datei verwenden. Es ist bei Verwendung von biblatex
mit biber
generell darauf zu achten, dass eine *.bib
-Datei für biblatex
und nicht für bibtex
erzeugt wird. Es sei an dieser Stelle auch empfohlen, UTF8 als Kodierung für den Export zu verwenden.
biber
meldet (in der *.blg
-Datei) etwas wie: »year field … is not an integer
"
Dieses Problem ist dem vorherigen vergleichbar. Als Jahresangabe sind generell nur Zahlen erlaubt. Trägt man als year
etwas wie 11. September 2001
oder 01.04.1967
ein, so kann biber
das nicht als Jahresangabe erkennen. Vollständige Datumsangaben können (im ISO-Format) als date
angegeben werden. Monat und Jahr können einzeln als year
und month
angegeben werden.
Siehe auch: biber: year = {28. September 2012} resultiert in Warnung "year field … is not an integer"
Ich finde die *.blg
-Datei nicht.
Dies kann zwei Ursachen haben. Möglicherweise wurde biber
nicht aufgerufen. Um dieses Problem auszuschließen sollte man den biber
-Aufruf explizit erneut durchführen. Findet sich danach trotzdem keine (aktuelle) *.blg
-Datei so liegt das bei Windows-Anwendern häufig daran, dass Windows in der Voreinstellung bekannte Dateiendungen ausblendet. Stattdessen wird in einer eigenen Spalte der Typ der Datei angezeigt. Windows bezeichnet *.blg
-Dateien in der Regel als Datei vom Typ Leistungsüberwachung. Um solche und andere Probleme zu vermeiden, wird empfohlen Dateiendungen unter Windows immer anzeigen zu lassen.
Übrigens sind *.blg
-Dateien von biber
genau wie *.log
-Dateien von TeX reine Textdateien. Sie können mit jedem Editor, auch einem LaTeX-Editor, über das Datei
-Menü des Editors geöffnet werden. Durch einen Doppelklick im Windows-Explorer können sie hingegen in der Regel nicht geöffnet werden. Eventuell versucht das Windows-Explorer eine *.blg
-Datei bei einem Doppelklick sogar mit einem Programm zur Auswertung von Leistungsüberwachungsdateien zu öffnen, falls ein solches installiert sein sollte.
Ich habe all das beachtet, aber biber
startet nicht oder meldet weiterhin seltsame Fehler
Biber ist ein selbstentpackendes perl-Script. Das heißt, beim ersten Start (nach einem Update) entpackt es sich zuerst selbst in ein Cache-Verzeichnis. Alle weiteren Starts rufen das einmal entpackte perl-Script auf. Manchmal kommt es jedoch vor, dass das Cache-Verzeichnis bzw. dessen Inhalt beschädigt wird. Die Ursache dafür sind vielfältig, beispielsweise ein Abbruch während des Entpackens, irgendwelche Aufräumarbeiten des OS oder irgendwelche über das Ziel hinaus schießende Virenscanner.
Wenn man Glück hat, funktioniert biber
noch so weit, dass es selbst das Cache-Verzeichnis anzeigen kann. Dazu öffnet man eine Console, ein Terminal bzw. die Eingabeaufforderung und gibt dort
ein. Das Programm gibt dann im Idealfall ein Verzeichnis aus, das eine Zeichenfolge enthält, die wie folgt aufgebaut ist: …/par-<HEXCODE>/cache-<CHECKSUM>
. Der <HEXCODE>
ist übrigens die hexadezimale Darstellung des Benutzernames. Sollte biber
nicht in der Lage sein, das Verzeichnis auszugeben, weil der Start bereits davor (meist mit einer Fehlermeldung) abbricht, so kann man das Verzeichnis über die Dateisuche des Betriebssystems finden. Näheres zu möglichen Orten ist in der Erklärung von Alan Munn auf TeX.SX zu finden.
Nun löscht man das Verzeichnis cache-<CHECKSUM>
. Beim nächsten Start von biber
wird der Cache neu aufgebaut. Das dauert einige Zeit – in der Regel eigentlich nur Sekunden, aber manchmal kommt es einem wie eine Ewigkeit vor – und man sollte den Vorgang keinesfalls abbrechen und biber
ein weiteres Mal starten. Anderenfalls ist die Wahrscheinlichkeit hoch, dass das Problem erneut auftritt.
Sollte das Problem trotzdem bestehen bleiben, stellt man eine Frage einschließlich vollständigem Minimalbeispiel, *.blg
-Datei, Fehlermeldungen aus der *.log
-Datei und einer genauen Beschreibung, wie man LaTeX und Biber aufgerufen hat.