Перехресні посилання в LaTeX: \label і \ref
Поставте \label{key} одразу після того, на що хочете посилатися (після \section{...}, після \caption{...}, усередині рівняння), і напишіть \ref{key} там, де потрібен його номер; Scissor LaTeX підставляє номер під час верстки.
Спершу мітка, потім посилання
Перехресне посилання має дві половини. \label{key} позначає нумерований об'єкт, а \ref{key} виводить його номер. Ключем може бути будь-яка назва на ваш вибір; префікси на кшталт sec:, fig:, tab: і eq: є звичкою, що робить ключі зрозумілими, а не правилом.
Посилання на розділ і рисунок
\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}.~ між словом і посиланням є пробілом, на якому рядок ніколи не розривається, тож «Figure» і її номер лишаються в одному рядку.
Де ставити мітку
Мітка бере номер найближчого нумерованого об'єкта перед нею:
| Посилання на | Де ставити \label | \ref виводить |
|---|---|---|
| Розділ | одразу після \section{...} (або \subsection, \chapter) | 2, 2.1 |
| Рисунок чи таблицю | після \caption{...}, усередині плаваючого об'єкта | 1 |
| Рівняння | усередині equation або нумерованого align | 1 |
| Пункт списку | після \item в enumerate | 2, 2b |
| Теорему | усередині theorem, lemma та подібних середовищ | 1 |
| Виноску | усередині тексту \footnote{...} | 2 |
Рівняння
\eqref{key} виводить номер рівняння в дужках, як номери рівнянь зазвичай і показують. \ref{key} дає сам номер.
\eqref і \ref для рівняння
\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}.Блок align чи gather у Scissor LaTeX отримує один номер, а не по номеру на кожен рядок. Зберігається лише перший \label у блоці, тож посилання на мітку пізнішого рядка виводить ??. Подробиці див. у Рівняння, вирівнювання й нумерація.
Команди, що додають назву: \autoref і \cref
\autoref (з hyperref) і \cref (з cleveref) виводять вид об'єкта разом із його номером, тож вам не треба самим писати «Figure». \cref дотримується типових налаштувань cleveref: малі літери й короткі назви («fig.», «eq.»), а \Cref на початку речення дає повну назву з великої літери.
\autoref, \cref і \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 також уміє посилатися на кілька міток одразу й на діапазон:
Переліки й діапазони з \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}.Параметри пакета capitalise (або capitalize), noabbrev і nameinlink читаються, так само як \crefname і \Crefname у преамбулі.
Параметри cleveref і \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}| Команда | У Scissor LaTeX | Примітки |
|---|---|---|
\ref{key} | Працює | Лише номер. |
\eqref{key} | Працює | Номер у дужках. |
\pageref{key} | Працює | Номер сторінки, де стоїть мітка. |
\autoref{key} | Частково | «Section 2», «Figure 1», «Table 1», «Theorem 1». Для рівнянь виводить сам номер, а не «Equation 1». |
\cref, \Cref | Працює | Одна чи кілька міток; типові назви cleveref або ваші з \crefname. |
\crefrange, \cpageref, \namecref | Працює | Діапазон, сторінка або лише назва. |
\nameref{key} | Частково | Виводить номер, а не назву розділу. |
\vref{key} | Частково | Виводить номер без «on the next page». |
\hyperref[key]{text} | Працює | Виводить ваш текст як гіперпосилання на мітку. |
Сторінки й відсутні мітки
\pageref виводить сторінку, на якій стоїть мітка. Посилання на мітку, якої не існує, виводить жирне ??, як і LaTeX до другого проходу, а вкладка «Проблеми» один раз перелічує кожну відсутню мітку: «References to labels that do not exist (shown as ??): sec:nowhere».
\pageref і відсутня мітка
\section{Data}
\label{sec:data}
The data is described on page~\pageref{sec:data}.
This label does not exist: Section~\ref{sec:nowhere}.Вкладка «Проблеми»: References to labels that do not exist (shown as ??): sec:nowhere
Чим відрізняється від інсталяції TeX
Про пакети див. cleveref і hyperref; повні посібники є на CTAN: cleveref, hyperref.
Запитання й відповіді
Чому моє посилання показує ?? у LaTeX?
Мітки не існує, або її написано інакше, ніж у \ref. У Scissor LaTeX це також може означати, що мітка є другою в блоці align, який отримує лише один номер.
Як послатися на рівняння з дужками?
Використайте \eqref{key} з amsmath. Він виводить номер у дужках, наприклад (1).
Яка різниця між \ref і \autoref?
\ref виводить лише номер. \autoref додає вид об'єкта, як-от «Figure 1» чи «Section 2», тож вам не треба самим набирати це слово.
Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.