Zitate und Literaturverweise in einer LaTeX-Arbeit prüfen
Beide Richtungen prüfen: Zitate im Haupttext und .bib-Datenbank
Fehlt ein Zitationsschlüssel in .bib, können Citation 'key' undefined und [?] im PDF entstehen. Die Gegenrichtung ist leiser: Ein nie im Haupttext zitierter Datenbankeintrag bleibt normalerweise ohne Warnung aus dem Literaturverzeichnis heraus.
Hier enthält die Datenbank zwei Bücher, die Hauptdatei zitiert aber nur eines:
@book{knuth1984, author = {Donald E. Knuth}, title = {The TeXbook}, publisher = {Addison-Wesley}, year = {1984}}@book{lamport1994, author = {Leslie Lamport}, title = {LaTeX: A Document Preparation System}, edition = {2}, publisher = {Addison-Wesley}, year = {1994}}\documentclass[11pt]{article}\usepackage[T1]{fontenc}\usepackage{lmodern}\usepackage[ngerman]{babel}\usepackage[backend=biber]{biblatex}\addbibresource{refs.bib}\begin{document}\cite{knuth1984}\printbibliography\end{document}Einen nicht aufgelösten Schlüssel im Protokoll finden
Bei Citation 'kingma2015' on page 3 undefined bezeichnet die Seite die Zitatstelle im Haupttext, keinen Ort in .bib. Suchen Sie den Schlüssel in der Datenbank und prüfen Sie:
- Exakte Schreibweise einschließlich Groß-/Kleinschreibung. Zitat- und Datenbankschlüssel müssen identisch sein.
- Ob die Datenbank geladen wird. biblatex nutzt
\addbibresource{refs.bib}, klassisches BibTeX\bibliography{refs}. Ein falscher Dateiname kann alle Zitate betreffen. - Ob das vermeintliche Zitat auskommentiert ist.
% \cite{...}lässt sich durchsuchen, erzeugt aber kein Zitat.
Ein ungelöstes Zitat kann auch auf unvollständige Literaturverarbeitung zurückgehen. Kompilieren Sie in EasyLaTeX erneut und warten Sie den gesamten Auftrag ab. Bleibt es ungelöst, prüfen Sie literaturbezogene Protokollfehler.
Nie zitierte Datenbankeinträge finden
Hierfür gibt es normalerweise keine Warnung. Listen Sie die Schlüssel aus .bib auf und suchen Sie jeden im Haupttext. Ein ungenutzter Eintrag kann ein vergessenes Zitat oder ein alter Datensatz sein; entscheiden Sie, welcher Fall vorliegt.
In einer Projektkopie testet \nocite{key} einen Eintrag, \nocite{*} zeigt alle. Bleibt Letzteres im endgültigen Manuskript, lässt das Literaturverzeichnis nicht mehr erkennen, welche Einträge tatsächlich zitiert wurden.
Felder nach Eintragstyp prüfen
Fehlende Felder erzeugen oft leere oder stilabhängige Ausgaben, statt LaTeX zu stoppen. Literaturwerkzeuge können davor warnen.
| Typ | Häufig geprüfte Felder | Mögliches Symptom |
|---|---|---|
@article | author, title, journal, year; gegebenenfalls volume und pages | Unvollständige Veröffentlichungsangaben |
@inproceedings | author, title, booktitle, year | Titel des Tagungsbands fehlt |
@book | author, title, publisher, year | Unvollständige Verlagsangaben |
@misc / @online | author oder organization, title, year/date, URL | Webangaben fehlen; Abrufdaten benötigen ebenfalls ein passendes Feld und einen passenden Stil |
Ein falsch geschriebenes Feld wie journals statt journal kann wie ein fehlendes Feld ignoriert werden. Prüfen Sie die Felder, die Ihr Literatursystem und Stil tatsächlich nutzen.
Kapitelbeschränkungen vor der Abschlussprüfung entfernen
Mit \includeonly werden ausgeschlossene Kapitel im aktuellen Durchlauf nicht verarbeitet. Ihre Zitate hängen von verfügbaren Hilfsinformationen ab und können im Ergebnisverzeichnis fehlen. \input wird nicht durch \includeonly begrenzt. Entfernen Sie Kapitelbeschränkungen und kompilieren Sie alles, bevor Sie Zitate und Literatureinträge vergleichen.
Häufige Meldungen
| Meldung | Ursache | Maßnahme |
|---|---|---|
Citation 'x' undefined | Schlüssel fehlt/passt nicht oder Datenbank nicht geladen | .bib durchsuchen und Dateiname prüfen |
There were undefined references. | Nicht aufgelöste Verweise oder unvollständige Verarbeitung | Vollständigen Auftrag abwarten, dann einzelne Schlüssel prüfen |
Please (re)run Biber on the file: main | Literaturverarbeitung muss aktualisiert werden | Auf der Plattform neu kompilieren und Literaturverarbeitung prüfen |
I didn't find a database entry for "x" | BibTeX findet den Datensatz nicht | Schlüssel und geladene Datenbank prüfen |
empty year in x | Veröffentlichungsfeld fehlt | Ergänzen; der Datensatz kann sonst dennoch ausgegeben werden |
Verwandte Themen: große Projekte verwalten und Kompilierfehlersuche.
Das Wichtigste
- Prüfen Sie fehlende und ungenutzte Datensätze getrennt.
- Das Protokoll nennt nicht jeden ungenutzten Literatureintrag.
- Nutzen Sie
\nocite{*}zur Kontrolle in einer Kopie, nicht als Beleg vollständiger Zitierung. - Führen Sie nach Kapitelvorschauen eine vollständige Kompilierung aus.
Bewahren Sie refs.bib beim Projekt in EasyLaTeX auf und kompilieren Sie die richtige Hauptdatei.