Undefinierte Verweise und doppelte Labels

Wenn dort, wo eine Nummer stehen sollte, ?? erscheint, oder bei Zitaten [?], ist ein Querverweis nicht aufgelöst. Fast immer liegt es an zu wenigen Kompilierläufen, einem fehlenden oder falsch geschriebenen \label oder einem \label an der falschen Stelle. Doppelte Labels erzeugen eine eigene Warnung.

Was ?? bedeutet

\ref / \pageref lesen die .aux, die der vorige Lauf geschrieben hat. Beim ersten Lauf, oder direkt nach dem Hinzufügen eines Labels, ist der Wert daher unbekannt und erscheint als ??; im Log steht „Rerun to get cross-references right“. \cite zeigt entsprechend [?]. Die Lösung ist ein weiterer Kompilierlauf, also insgesamt zwei; latexmk und andere Build-Werkzeuge erledigen das automatisch. Bleibt ?? nach zwei Läufen, fehlt das Label wirklich.

Label nicht gefunden

  • Es gibt kein \label{x}, das zu \ref{x} passt, oder es ist falsch geschrieben.
  • In Floats steht \label direkt nach \caption und innerhalb des Floats; davor oder außerhalb übernimmt es die falsche Nummer, etwa die Abschnittsnummer.
  • Ein Zitat bleibt bei [?]bibtex/biber ausführen und neu kompilieren, oder der Schlüssel fehlt in der .bib.
  • Einheitliche Label-Präfixe (fig:, sec:, eq:) halten alles organisiert und suchbar.
latex
\begin{figure}
  \includegraphics{fig.pdf}
  \caption{グラフ}
  \label{fig:graph}   % \caption の直後に / right after \caption
\end{figure}
... 図~\ref{fig:graph} を参照。

Doppelte Labels

LaTeX Warning: Label 'x' multiply defined bedeutet, dass dasselbe \label{x} zweimal vorkommt und Verweise mehrdeutig werden. Labels müssen eindeutig sein, etwa mit Präfixen oder unterschiedlichen Namen. Häufig ist ein per Copy-and-paste dupliziertes Label schuld.