如何禁用特定实例nameinlink
的功能?cleveref
\cref
答案1
你问:
如何禁用特定实例
nameinlink
的功能?cleveref
\cref
我将假设该hyperref
包与 一起加载cleveref
。如果不是,请告知。
我不相信该cleveref
软件包提供了可以让你实现格式化目标的宏直接地\cref
。但是,通过 (a) 从 切换到\labelcref
以及 (b) 手动插入所需的标签词,可以轻松实现所需的效果。
例如,假设一个文档有两个方程,标签为和eq:1
,eq: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}