Перейти до вмісту

Перехресні посилання в 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}.
Зверстано в Scissor LaTeX: Посилання на розділ і рисунок

~ між словом і посиланням є пробілом, на якому рядок ніколи не розривається, тож «Figure» і її номер лишаються в одному рядку.

Де ставити мітку

Мітка бере номер найближчого нумерованого об'єкта перед нею:

Посилання наДе ставити \label\ref виводить
Розділодразу після \section{...} (або \subsection, \chapter)2, 2.1
Рисунок чи таблицюпісля \caption{...}, усередині плаваючого об'єкта1
Рівнянняусередині equation або нумерованого align1
Пункт спискупісля \item в enumerate2, 2b
Теоремуусередині theorem, lemma та подібних середовищ1
Виноскуусередині тексту \footnote{...}2

Рівняння

\eqref{key} виводить номер рівняння в дужках, як номери рівнянь зазвичай і показують. \ref{key} дає сам номер.

\eqref і \ref для рівняння

LaTeXПреамбула: \usepackage{amsmath}Відкрити в редакторі (відкриється в новій вкладці)
\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

LaTeXПреамбула: \usepackage{amsmath,hyperref,cleveref}Відкрити в редакторі (відкриється в новій вкладці)
\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.
Зверстано в Scissor LaTeX: \autoref, \cref і \Cref

cleveref також уміє посилатися на кілька міток одразу й на діапазон:

Переліки й діапазони з \cref

LaTeXПреамбула: \usepackage{amsmath,cleveref}Відкрити в редакторі (відкриється в новій вкладці)
\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: Параметри cleveref і \crefname
КомандаУ 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.