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

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

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

Рівняння, діапазони й посилання на сторінки:

Рівняння, \crefrange і \cpageref

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

Параметри 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 друкує номер

LaTeXПреамбула: \usepackage{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.