cleveref, nameref и varioref в Scissor LaTeX
Пакет cleveref в Scissor LaTeX в основном работает: \cref и \Cref работают с отдельными метками, списками и диапазонами, как и \cpageref, \namecref, параметры capitalise, noabbrev и nameinlink, а также \crefname; \nameref выводит номер вместо названия, а \vref не даёт указания на страницу.
Что делают пакеты
cleveref добавляет к ссылке вид объекта: \cref{fig:plot} выводит «fig. 1» без того, чтобы вы набирали слово, а \cref{a,b} объединяет несколько меток в «figs. 1 and 2». nameref выводит название раздела вместо его номера. varioref с помощью \vref добавляет указания на страницу вроде «on the next page».
Что здесь работает
| Команда | В Scissor LaTeX | Примечания |
|---|---|---|
\cref{label} | Работает | «section 1», «fig. 1», «table 1», «eq. (1)». |
\Cref{label} | Работает | С заглавной буквы, без сокращений: «Figure 1», «Equation (1)». |
\cref{a,b}, \cref{a,b,c} | Работает | «sections 1 and 2». |
\crefrange{a}{b} | Работает | «eqs. (1) to (2)». |
\cpageref{label} | Работает | «page 1». |
\namecref{label}, \labelcref{label} | Работает | Только имя («eq.») или только номер («(1)»). |
\crefname, \Crefname | Работает | Собственные имена, в преамбуле. |
Параметры capitalise, noabbrev, nameinlink | Работает | Другие параметры игнорируются. |
\nameref{label} (nameref) | Частично | Выводит номер, а не название. |
\vref, \Vref (varioref) | Частично | Выводит номер без указания на страницу. |
Примеры
\cref сам называет вид объекта и объединяет несколько меток:
\cref и \Cref
\section{Data}\label{sec:data}
\section{Method}\label{sec:method}
\begin{figure}[h]
\centering
\fbox{A plot of the 44 samples}
\caption{Samples.}\label{fig:samples}
\end{figure}
\begin{table}[h]
\centering
\begin{tabular}{lr} Erika & 44 \\ Hans & 38 \\ \end{tabular}
\caption{Counts.}\label{tab:counts}
\end{table}
As \cref{sec:data,sec:method} explain, \cref{fig:samples} shows
the samples. \Cref{tab:counts} counts them.Уравнения, диапазоны и ссылки на страницы:
Уравнения, \crefrange и \cpageref
\begin{equation} a + b = 44 \label{eq:sum} \end{equation}
\begin{equation} a - b = 2 \label{eq:diff} \end{equation}
Adding \crefrange{eq:sum}{eq:diff} gives $a = 23$; \Cref{eq:sum}
is on \cpageref{eq:sum}.Параметры capitalise и noabbrev везде пишут полные имена с заглавной буквы, а \crefname задаёт собственные. С capitalise команда \cref использует форму вашего имени с заглавной буквы, поэтому part ниже выводится как «Part»:
Параметры и \crefname
\documentclass{article}
\usepackage[capitalise,noabbrev]{cleveref}
\crefname{section}{part}{parts}
\begin{document}
\section{Overview}\label{sec:overview}
\begin{figure}[h]
\centering
\fbox{Diagram}
\caption{A diagram.}\label{fig:diagram}
\end{figure}
\cref{fig:diagram} belongs to \cref{sec:overview}.
\end{document}\nameref здесь выводит номер раздела, а не его название:
\nameref выводит номер
\section{Related work}\label{sec:related}
John Doe's results are summarised in \nameref{sec:related}.Совместимость
- Из установленного TeX сюда: ссылки с
\crefи родственными командами выглядят так же, как в установленном TeX.\namerefдаёт номер вместо названия, а у\vrefнет указания «on the next page». - Отсюда в установленный TeX: документы компилируются там без изменений. Загружайте
cleverefпослеhyperref, как требует его руководство.
Полные руководства есть на CTAN: ctan.org/pkg/cleveref, ctan.org/pkg/nameref и ctan.org/pkg/varioref. Руководство есть в разделе Метки и перекрёстные ссылки, а о \autoref читайте на странице hyperref.
Вопросы и ответы
Чем \cref отличается от \Cref?
\cref использует короткие имена со строчной буквы, например «fig. 1» или «eq. (1)». \Cref пишет их полностью с заглавной буквы, для начала предложения. Параметр capitalise заставляет \cref везде вести себя как \Cref.
Выводит ли \nameref название раздела?
Пока нет. Она выводит номер раздела, поэтому предложение всё равно читается, но иначе. Если название важно, напишите его полностью.
Каждый пример на этой странице верстается в Scissor LaTeX при сборке сайта. Обновлено 2026-11-07.