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}.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 do | Umieść \label | \ref wypisuje |
|---|---|---|
| Rozdziału | tuż po \section{...} (lub \subsection, \chapter) | 2, 2.1 |
| Rysunku lub tabeli | po \caption{...}, wewnątrz obiektu pływającego | 1 |
| Równania | wewnątrz equation lub numerowanego align | 1 |
| Punktu listy | po \item w enumerate | 2, 2b |
| Twierdzenia | wewnątrz theorem, lemma i podobnych środowisk | 1 |
| Przypisu | wewną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
\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
\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.cleveref potrafi też odwołać się do kilku etykiet naraz oraz do zakresu:
Listy i zakresy z \cref
\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}| Polecenie | W Scissor LaTeX | Uwagi |
|---|---|---|
\ref{key} | Działa | Tylko numer. |
\eqref{key} | Działa | Numer w nawiasie. |
\pageref{key} | Działa | Numer 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, \Cref | Działa | Jedna lub kilka etykiet; domyślne nazwy cleveref albo Twoje z \crefname. |
\crefrange, \cpageref, \namecref | Działa | Zakres, strona albo sama nazwa. |
\nameref{key} | Częściowo | Wypisuje numer, a nie tytuł rozdziału. |
\vref{key} | Częściowo | Wypisuje numer, bez „on the next page”. |
\hyperref[key]{text} | Działa | Wypisuje 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.