LaTeX. Перекрёстные ссылки. Пакет zref-clever
LaTeX. Перекрёстные ссылки. Пакет zref-clever.
Содержание
1 Общая информация
- Пакет
zref-cleverразработан для создания перекрёстных ссылок в LaTeX. - Пришёл на смену
cleveref. - Построен на расширяемой системе
zref. - CTAN: https://ctan.org/pkg/zref-clever
2 Подключение
- Простой вариант:
\usepackage{zref-clever}
3 Глобальная настройка
- Команда
\zcsetupиспользуется для глобальной настройки поведения пакета. - Должна вызываться в преамбуле.
zref-cleverне принимает эти опции как аргументы пакета.\zcsetup{ cap, % Делать первую букву заглавной по умолчанию nameinlink, % Включать название в гиперссылку % ... другие настройки }
\zcsetup| Опция | Описание |
|---|---|
cap / nocap | Включает/выключает автоматическую капитализацию первого слова названия ссылки. |
nameinlink / nonameinlink | Включает/выключает включение названия объекта (например, «рис.») в гиперссылку. По умолчанию false. |
sort / nosort | Включает/выключает автоматическую сортировку списка меток. По умолчанию true. |
comp / nocomp | Включает/выключает сжатие последовательных ссылок в диапазоны (например, «рис. 1-3»). По умолчанию true. |
abbrev / noabbrev | Использовать сокращённые или полные названия (например, «рис.» vs «рисунок»). |
4 Основные команды
4.1 Умная ссылка \zcref
- Основная команда.
- Автоматически определяет тип объекта (раздел, рисунок, таблица, уравнение и т.д.) и подставляет нужное название.
\section{Введение} \label{sec:intro} Смотрите раздел~\zcref{sec:intro}. % Выведет: "Смотрите раздел 1."
4.2 Ссылка на страницу \zcpageref
Для ссылок на страницы используется
\zcpageref.Работает аналогично
\zcref, но выводит номер страницы.\zcpageref{sec:intro} % Выведет: "стр. 1"Для создания ссылок, зависящих от положения (например, «на предыдущей странице»), используйте пакет
zref-vario, который является расширением дляzref-clever.
4.3 Опции для \zcref
- Можно передавать локальные опции в квадратных скобках для изменения поведения конкретной ссылки.
| Опция | Описание | Пример |
|---|---|---|
[S] | Делает первую букву названия заглавной (аналог \Cref). | \zcref[S]{sec:intro} → «Раздел 1» |
[ref=page] | Ссылается на свойство page вместо номера объекта. | \zcref[ref=page]{sec:intro} → «1» |
5 Настройка типов ссылок
zref-cleverавтоматически распознаёт стандартные окружения LaTeX (section, figure, table, equation).Для нестандартных окружений (например, теорем) или для изменения названий используйте команду
\zcRefTypeSetup.Для стандартного типа:
\zcRefTypeSetup{equation}{ name-sg = формула, % Название в единственном числе name-pl = формулы % Название во множественном числе }Для нового окружения (например, леммы):
\newtheorem{lemma}{Лемма} \zcRefTypeSetup{lemma}{ name-sg = лемма, name-pl = леммы }
6 Управление форматом ссылок
- Можно настраивать внешний вид ссылок с помощью опций
refиstripprefix.ref: определяет, на какое свойство метки ссылаться (например,default,page,thecounter).stripprefix: удаляет префикс из номера ссылки (например, если ваша меткаfig:plot, а номер1, тоstripprefixможет убратьfig:).
7 Интернационализация
zref-cleverинтегрируется сbabelиpolyglossia, адаптируя названия ссылок к текущему языку.- Для настройки языковых вариантов используйте команду
\zcLanguageSetup.
8 Замена \eqref
8.1 Варианты замены
- Оставить
\eqrefдля простых ссылок на уравнения. - Использовать
\zcrefдля получения единообразных, автоматически форматируемых ссылок на все типы объектов (разделы, рисунки, таблицы, уравнения). - Настроить
\zcrefтак, чтобы он эмулировал поведение\eqrefдля уравнений, если это необходимо.
8.2 Ссылаться на уравнения без слова «уравнение»
- В математических текстах фраза «см. (1)» звучит естественнее, чем «см. уравнение (1)».
zref-cleverпозволяет настроить это поведение глобально для всех ссылок на уравнения.- Для этого нужно переопределить названия типа
equationв преамбуле, сделав их пустыми:\zcRefTypeSetup{equation}{ name-sg =, % Убираем слово "уравнение" (ед. ч.) name-pl =, % Убираем слово "уравнения" (мн. ч.) name-sg-ab =, % Убираем сокращение (например, "ур.") name-pl-ab =, } - Для конкретного уравнения можно использовать опцию
[noname], которая подавляет вывод названия типа для конкретной ссылки:\zcref[noname]{eq:1}
8.3 Связь c mathtools
mathtools— это надстройка надamsmath.Предоставляет опцию
showonlyrefs.Эта опция автоматически скрывает номера у тех уравнений, на которые в тексте нет ссылок.
Если вы ссылаетесь на уравнение через
\eqref, его номер появится.Если не ссылаетесь — номер исчезнет, и уравнение останется без номера.
Это позволяет не загромождать текст лишними цифрами.
В
zref-cleverмодуль совместимости сmathtoolsспециально адаптирован для поддержкиshowonlyrefs.Вариант загрузки пакетов:
\documentclass{article} \usepackage{mathtools} \mathtoolsset{showonlyrefs} \usepackage{zref-clever} \begin{document} ... \end{document}Когда
showonlyrefsактивен, ссылки через\zcrefили\eqrefсообщаютmathtools, что уравнение нужно пронумеровать.Помимо скрытия номеров,
zref-cleverавтоматически сжимает последовательные ссылки на уравнения.Например,
\zcref{eq1, eq2, eq4}может вывестиуравнения (1)--(2) и (4), а не перечислять их все через запятую.
