Querverweise

„Siehe Abbildung 3“, „nach Gleichung (2)“, „siehe Seite 2“: Schreibst du solche Nummern und Seiten von Hand, bringt schon eine verschobene Abbildung oder ein Abschnitt alles durcheinander. LaTeX lässt dich stattdessen einen Namen anbringen und die Maschine zählen lassen. Von den Kernbefehlen \label und \ref/\pageref über \eqref aus amsmath, \autoref und \nameref aus hyperref bis zu varioref und cleveref zeigt diese Seite die Werkzeuge, die Verweise selbstständig korrekt halten.

Der Kern: \label und \ref

Das ganze System beruht auf nur zwei Befehlen. \label{key} verknüpft den Namen key mit dem Wert des Zählers, der an dieser Stelle zuletzt erhöht wurde. \ref{key} fügt dann diese Nummer in den Text ein. LaTeX zählt selbst, daher tippst du nie eine Nummer von Hand. Der key ist eine frei gewählte Zeichenfolge, der Spitzname, mit dem deine Quelle auf eine Abbildung, Gleichung oder einen Abschnitt verweist.

Entscheidend ist „zuletzt erhöht“: Was \label erfasst, hängt davon ab, wo du es setzt. Bei Abbildungen und Tabellen steht es direkt nach \caption, denn \caption erhöht den Zähler; direkt nach \begin{figure} könntest du stattdessen etwa die Kapitelnummer erfassen. Bei Gleichungen steht es in der Umgebung equation, bei Überschriften direkt nach \section oder ähnlichen Befehlen. Die Faustregel: Setze \label unmittelbar hinter den Befehl, der die Nummer erzeugt.

latex
\section{はじめに}
\label{sec:intro}

\begin{equation}
  \label{eq:euler}
  e^{i\pi} + 1 = 0
\end{equation}

\begin{figure}
  \centering
  \includegraphics{leaf}
  \caption{葉脈の構造}
  \label{fig:leaf}
\end{figure}\ref{sec:intro}節で述べたように、式~\ref{eq:euler}と図~\ref{fig:leaf}を参照する。

\ref gibt nur die Nummer zurück, daher schreibst du das Wort selbst: „Abbildung“, „Gleichung“, „Abschnitt“. Üblich ist, Wort und Nummer mit einem geschützten Leerzeichen ~ statt eines normalen Leerzeichens zu verbinden, damit ein Zeilenumbruch sie nicht trennt, etwa Figure~\ref{fig:leaf}. Genau diese manuelle Formulierung und das Risiko falscher Bezeichnungen nehmen \autoref und \cref weiter unten ab.

Warum zweimal kompilieren?

Querverweise werden nicht in einem einzigen Lauf stabil. Jedes Mal, wenn LaTeX ein \label sieht, schreibt es Nummer und Seite in die .aux-Datei, eine Hilfsdatei mit demselben Basisnamen wie dein Dokument. \ref kann nur die Informationen verwenden, die im *vorigen* Lauf in .aux geschrieben wurden. Im ersten Lauf sind die Zielnummern daher noch unbekannt: Die Ausgabe zeigt ein fettes ??, und im Log steht diese Warnung.

latex
LaTeX Warning: Label(s) may have changed. Rerun to get cross references right.

Kompilierst du noch einmal, werden die Werte aus .aux eingelesen und ?? wird zu den richtigen Nummern. Verschiebt sich die Nummerierung und ändert sich dadurch ein Verweiswert, erscheint die Warnung erneut; daher wiederholt man den Lauf bis sie verschwindet. In der Praxis reichen meist zwei Läufe. Werkzeuge wie latexmk erledigen diese Schleife automatisch, und Overleaf kompiliert im Hintergrund mehrfach, sodass du dort selten ?? siehst.

Seitenverweise und Benennung

Wenn du statt der Nummer die Seite nennen willst, verwendest du \pageref{key}. Der Befehl nimmt denselben Namen und liefert die Nummer der Seite, auf der dieses \label steht. So kannst du Nummer und Seite zusammen nennen, etwa „siehe Abbildung 3 auf Seite 12“ (Figure~\ref{fig:leaf} on page~\pageref{fig:leaf}).

Der key kann beliebig sein, doch weit verbreitet ist ein Präfix für die Art des Ziels: sec: für Abschnitt, fig: für Abbildung, tab: für Tabelle, eq: für Gleichung, ch: für Kapitel, lst: für Listing. Das hat zwei Vorteile. Eine bedeutungsbezogene Benennung wie fig:leaf zwingt dich beim Umordnen von Abbildungen nie zum Umbenennen. Außerdem zeigt \ref{fig:...} sofort die Art des Ziels und verhindert Kollisionen zwischen Namen für Bildunterschriften und Listings.

PräfixVerwendet für
ch:Kapitel
sec:Abschnitte und Unterabschnitte
fig:Abbildungen
tab:Tabellen
eq:Gleichungen
lst:Code-Listings

Gleichungsverweise: \eqref (amsmath)

Gleichungsnummern werden üblicherweise in Klammern geschrieben, etwa „nach Gleichung (3)“. Ein einfaches \ref liefert nur 3, sodass du die Klammern von Hand ergänzen müsstest. \eqref{key}, verfügbar nach dem Laden von amsmath, fügt sie automatisch hinzu und liefert (3). Noch besser: Die Klammern werden unabhängig von der Umgebungsschrift immer aufrecht gesetzt, kippen also auch in kursivem Text nicht. Für Gleichungen ist \eqref daher praktischer als \ref.

latex
\usepackage{amsmath}
% ...
式~\eqref{eq:euler}はオイラーの等式である。
% 出力: 式 (1) はオイラーの等式である。

hyperref-Erweiterungen: \autoref und \nameref

Lädst du hyperref, wird jeder Verweis zu einem klickbaren Link im PDF, und zwei nützliche Referenzbefehle kommen hinzu. \autoref{key} setzt automatisch das Wort für die Art des Ziels davor, etwa „Figure“ oder „section“; ein Abschnitt ergibt „section 3.4“, eine Abbildung „Figure 3“, und macht alles zum Link. Damit entfällt das manuelle „Figure“ in Figure~\ref{...} samt Fehlerrisiko. Das vorangestellte Wort lässt sich durch Umdefinieren von \figureautorefname, \sectionautorefname und ähnlichen Befehlen ändern; so lokalisiert man es auch.

Der andere Befehl, \nameref{key}, fügt nicht eine Nummer, sondern den Titeltext des Ziels ein. Verweist du mit \nameref auf ein Label an \section{Introduction}, erhältst du den Text „Introduction“. Verwende ihn, wenn du nach Titel statt nach Nummer verweisen möchtest, etwa „wie in ‘Introduction’ besprochen“.

latex
\usepackage{hyperref}
% ...
\autoref{fig:leaf}を参照。   % 出力: Figure 3 を参照。(リンク付き)
\nameref{sec:intro}で述べた。 % 出力: はじめに で述べた。

Seitenbewusste Verweise: varioref

In einem gebundenen Dokument liest sich „die Abbildung auf der nächsten Seite“ oder „auf der gegenüberliegenden Seite“ natürlicher als mechanisch „die Abbildung auf Seite N“. \vref{key} aus varioref gibt die Nummer wie \ref aus, prüft aber zusätzlich, ob das Ziel auf einer anderen Seite steht, und ergänzt automatisch seitenabhängige Formulierungen wie „on the next page“, „on the facing page“ oder „on page 5“. Steht es auf derselben Seite, wird nichts ergänzt.

Wenn nur die Seitenangabe gewünscht ist, verwende \vpageref{key}: keine Nummer, nur etwa „on the next page“. \vpageref nimmt zwei optionale Argumente. Das erste legt die Formulierung für dieselbe Seite fest, das zweite die Einleitung für eine andere Seite. Das hilft, wenn Verweis und Ziel nah beieinander liegen und vielleicht durch einen Seitenumbruch getrennt werden. Da die Ausgabe dynamisch von der Seitenposition abhängt, braucht varioref oft einen zusätzlichen Kompilierlauf.

latex
\usepackage{varioref}
% ...
See~\vref{fig:leaf}.
% 同ページ: See figure 3.
% 別ページ: See figure 3 on the next page.  /  ... on page 12.

Kluge Verweise: cleveref (\cref / \Cref)

cleveref hebt Verweise auf eine höhere Stufe. \cref{key} setzt wie \autoref das Wort für die Art voran, standardmäßig etwa „fig. 1“ oder mit Option noabbrev „figure 1“. Seine Stärke liegt aber bei Mehrfach- und Bereichsverweisen. Übergib Labels kommasepariert ohne Leerzeichen, also \cref{a,b,c}, und cleveref sortiert und verdichtet die Nummern automatisch, etwa zu „figures 1, 2 and 3“ oder „equations~(2) and~(4)“, einschließlich korrektem Singular/Plural. Ein zusammenhängender Bereich wird mit \crefrange{first}{last} zu „figures 1 to 3“.

Am Satzanfang soll das Wort groß beginnen, daher nutzt man \Cref{key} mit Großanfang, etwa für „Figure 3 shows …“. Im Satzinneren verwendet man kleingeschriebenes \cref. Soll überall großgeschrieben werden, lade das Paket mit der Option capitalise. Das vorangestellte Wort wird mit \crefname{type}{Singular}{Plural} definiert oder geändert; die großgeschriebene Variante heißt \Crefname. So lokalisiert man cleveref auch für Japanisch und andere Sprachen, etwa \crefname{figure}{図}{図}. Wenn nur die Nummer wie bei \ref gewünscht ist, verwende \labelcref{key}.

Die Ladefolge ist entscheidend: cleveref muss zuletzt und nach hyperref geladen werden. Verwendest du auch varioref, lautet die Reihenfolge variorefhyperrefcleveref. Ist sie falsch, können Verweise ohne Warnung im Log auf völlig falsche Ziele zeigen.

latex
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}   % 必ず最後に / always last
% ...
\cref{fig:a,fig:b,fig:c}   % figures 1 to 3
\cref{eq:euler,eq:max}     % equations (1) and (4)
\Cref{sec:intro} discusses % Section 1 discusses ...

Wenn du unsicher bist, standardisiere im ganzen Dokument auf cleveref. Es kümmert sich automatisch um Artwort, Singular/Plural, Mehrfachverweise und Bereiche. Der Fehler, der bei Figure~\ref{...} passieren kann, etwa „Table“ zu schreiben, obwohl „Figure“ gemeint ist, kann dann nicht auftreten.

BefehlAusgabe
\label{key}Markiert den zuletzt erhöhten Zähler, keine Ausgabe
\ref{key}Nur die Nummer, z. B. 3
\pageref{key}Die Seitennummer dieses Labels
\eqref{key}Gleichungsnummer in Klammern, z. B. (3) / amsmath
\autoref{key}Artwort + Nummer + Link, z. B. Figure 3 / hyperref
\nameref{key}Der Titeltext der Zielüberschrift / hyperref
\vref{key}Nummer + Seitenhinweis, etwa nächste Seite / varioref
\cref{key}Artwort + Nummer; behandelt Listen/Bereiche / cleveref
\Cref{key}Großgeschriebenes \cref für Satzanfang / cleveref
\crefrange{a}{b}Ein Verweisbereich, z. B. figures 1 to 3 / cleveref