Cleveref. 为特定 \cref{} 禁用“nameinlink”

Cleveref. 为特定 \cref{} 禁用“nameinlink”

如何禁用特定实例nameinlink的功能?cleveref\cref

答案1

你问:

如何禁用特定实例nameinlink的功能?cleveref\cref

我将假设该hyperref包与 一起加载cleveref。如果不是,请告知。

我不相信该cleveref软件包提供了可以让你实现格式化目标的宏直接地\cref。但是,通过 (a) 从 切换到\labelcref以及 (b) 手动插入所需的标签词,可以轻松实现所需的效果。

例如,假设一个文档有两个方程,标签为和eq:1eq:2并且您希望交叉引用这些方程。如果cleveref设置为输出英语字符串,则指令

\cref{eq:1,eq:2}

将产生

方程(1)和方程(2)

字符串“eqs.”与“(1)”一起构成超链接。(附言:如果你加载了cleveref选项noabbrev,你会得到“equations”而不是“eqs。”)但是,没有什么可以阻止你写

eqs.\ \labelcref{eq:1,eq:2}

或 eqs.~\labelcref{eq:1,eq:2}

无论使用哪种方法,该词eqs.都会不是成为超链接的一部分。请注意,~在“eqs.”和“(1)”之间插入一个不间断空格;相反,使用简单的反斜杠空格序列会插入一个普通(即可断)空格。~如果避免在项目的标签(此处为“eqs.”)与其相关编号之间出现换行符很重要,则该方法是首选。


完整的 MWE (最小工作示例):

在此处输入图片描述

\documentclass{article}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[nameinlink]{cleveref}

\begin{document}
\begin{equation}\label{eq:1} a \end{equation}
\begin{equation}\label{eq:2} b \end{equation}

\cref{eq:1,eq:2}

eqs.\ \labelcref{eq:1,eq:2}
\end{document}

相关内容