Przejdź do treści

Odsyłacze w LaTeX: \label i \ref

Umieść \label{key} tuż po elemencie, do którego chcesz się odwołać (po \section{...}, po \caption{...}, wewnątrz równania), i napisz \ref{key} tam, gdzie ma się pojawić jego numer; Scissor LaTeX wstawia numer podczas składu.

Najpierw etykieta, potem odwołanie

Odsyłacz składa się z dwóch części. \label{key} oznacza numerowany element, a \ref{key} wypisuje jego numer. Klucz to dowolna wybrana przez Ciebie nazwa; przedrostki takie jak sec:, fig:, tab: i eq: to zwyczaj, który ułatwia czytanie kluczy, a nie reguła.

Odwołanie do rozdziału i rysunku

\section{Results}
\label{sec:results}

\begin{figure}[h]
  \centering
  \begin{tikzpicture}
    \draw (0,0) -- (1,0.8) -- (2,0.3) -- (3,1.1);
  \end{tikzpicture}
  \caption{Measured values.}
  \label{fig:values}
\end{figure}

Section~\ref{sec:results} shows the values in Figure~\ref{fig:values}.
Złożone przez Scissor LaTeX: Odwołanie do rozdziału i rysunku

Znak ~ między słowem a odwołaniem to spacja, która nigdy się nie łamie, więc „Figure” i jej numer zostają w tym samym wierszu.

Gdzie umieścić etykietę

Etykieta przyjmuje numer najbliższego numerowanego elementu przed nią:

Odwołanie doUmieść \label\ref wypisuje
Rozdziałutuż po \section{...} (lub \subsection, \chapter)2, 2.1
Rysunku lub tabelipo \caption{...}, wewnątrz obiektu pływającego1
Równaniawewnątrz equation lub numerowanego align1
Punktu listypo \item w enumerate2, 2b
Twierdzeniawewnątrz theorem, lemma i podobnych środowisk1
Przypisuwewnątrz tekstu \footnote{...}2

Równania

\eqref{key} wypisuje numer równania w nawiasie, tak jak zwykle pokazuje się numery równań. \ref{key} daje sam numer.

\eqref i \ref dla równania

LaTeXPreambuła: \usepackage{amsmath}Otwórz w edytorze (otwiera się w nowej karcie)
\begin{equation}
  a^2 + b^2 = c^2
  \label{eq:pythagoras}
\end{equation}
Equation~\eqref{eq:pythagoras} is famous; its number is \ref{eq:pythagoras}.

Blok align lub gather dostaje w Scissor LaTeX jeden numer, a nie po jednym na każdy wiersz. Zachowywana jest tylko pierwsza \label w bloku, więc odwołanie do etykiety z dalszego wiersza wypisuje ??. Szczegóły znajdziesz w Równania, wyrównanie i numeracja.

Polecenia dodające nazwę: \autoref i \cref

\autoref (z hyperref) i \cref (z cleveref) wypisują rodzaj elementu razem z jego numerem, więc nie musisz sam pisać „Figure”. \cref stosuje domyślne ustawienia cleveref: małe litery i skrócone nazwy („fig.”, „eq.”), a \Cref na początku zdania daje pełną nazwę wielką literą.

\autoref, \cref i \Cref

LaTeXPreambuła: \usepackage{amsmath,hyperref,cleveref}Otwórz w edytorze (otwiera się w nowej karcie)
\section{Method}
\label{sec:method}
\begin{equation}
  y = 44x
  \label{eq:line}
\end{equation}
\begin{table}[h]
  \centering
  \caption{Settings.}
  \label{tab:settings}
  \begin{tabular}{lr} Runs & 44 \\ \end{tabular}
\end{table}
\autoref{sec:method} uses \cref{tab:settings} and \cref{eq:line}.
\Cref{tab:settings} lists the runs.
Złożone przez Scissor LaTeX: \autoref, \cref i \Cref

cleveref potrafi też odwołać się do kilku etykiet naraz oraz do zakresu:

Listy i zakresy z \cref

LaTeXPreambuła: \usepackage{amsmath,cleveref}Otwórz w edytorze (otwiera się w nowej karcie)
\begin{equation} a = 1 \label{eq:a} \end{equation}
\begin{equation} b = 2 \label{eq:b} \end{equation}
See \cref{eq:a,eq:b}, or \crefrange{eq:a}{eq:b}.

Odczytywane są opcje pakietu capitalise (lub capitalize), noabbrev i nameinlink, a także \crefname i \Crefname w preambule.

Opcje cleveref i \crefname

\documentclass{article}
\usepackage{amsmath}
\usepackage[capitalise,noabbrev]{cleveref}
\crefname{table}{Tab.}{Tabs.}
\begin{document}
\begin{equation} E = mc^2 \label{eq:e} \end{equation}
\begin{table}[h]
  \centering
  \caption{Masses.}
  \label{tab:m}
  \begin{tabular}{l} 44 kg \\ \end{tabular}
\end{table}
\cref{eq:e} uses the mass in \cref{tab:m}.
\end{document}
Złożone przez Scissor LaTeX: Opcje cleveref i \crefname
PolecenieW Scissor LaTeXUwagi
\ref{key}DziałaTylko numer.
\eqref{key}DziałaNumer w nawiasie.
\pageref{key}DziałaNumer strony, na której jest etykieta.
\autoref{key}Częściowo„Section 2”, „Figure 1”, „Table 1”, „Theorem 1”. Dla równań wypisuje sam numer, a nie „Equation 1”.
\cref, \CrefDziałaJedna lub kilka etykiet; domyślne nazwy cleveref albo Twoje z \crefname.
\crefrange, \cpageref, \namecrefDziałaZakres, strona albo sama nazwa.
\nameref{key}CzęściowoWypisuje numer, a nie tytuł rozdziału.
\vref{key}CzęściowoWypisuje numer, bez „on the next page”.
\hyperref[key]{text}DziałaWypisuje Twój tekst jako link do etykiety.

Strony i brakujące etykiety

\pageref wypisuje stronę, na której znajduje się etykieta. Odwołanie do etykiety, która nie istnieje, wypisuje pogrubione ??, tak jak LaTeX przed drugim przebiegiem, a karta Problemy wymienia każdą brakującą etykietę raz: „References to labels that do not exist (shown as ??): sec:nowhere”.

\pageref i brakująca etykieta

\section{Data}
\label{sec:data}
The data is described on page~\pageref{sec:data}.
This label does not exist: Section~\ref{sec:nowhere}.

Karta Problemy: References to labels that do not exist (shown as ??): sec:nowhere

Czym to się różni od instalacji TeX

O pakietach przeczytasz na stronach cleveref i hyperref; pełna dokumentacja znajduje się w CTAN: cleveref, hyperref.

Pytania i odpowiedzi

Dlaczego moje odwołanie w LaTeX pokazuje ??

Etykieta nie istnieje albo jest zapisana inaczej niż w \ref. W Scissor LaTeX może to też oznaczać, że etykieta jest drugą w bloku align, który dostaje tylko jeden numer.

Jak odwołać się do równania z nawiasami?

Użyj \eqref{key} z amsmath. Wypisuje numer w nawiasie, na przykład (1).

Czym różni się \ref od \autoref?

\ref wypisuje tylko numer. \autoref dodaje rodzaj elementu, na przykład „Figure 1” lub „Section 2”, dzięki czemu nie musisz sam wpisywać tego słowa.

Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.