使用该cleveref
包,我创建了一些约束的格式。
\usepackage{cleveref}
\crefformat{cons}{#2constraint~\textup{(#1)}#3}
假设,我有以下带有标签的方程my_cons
,方程编号为(1)
。
\begin{equation}\label[cons]{my_cons}
a+b = 2.
\end{equation}
当我使用时\cref{my_cons}
,我通常希望看到constraint (1)
,这就是我对当前布局所做的。但是,有时,我想隐藏该constraint
部分并仅显示方程编号。如何才能局部禁用交叉引用的文本部分?
答案1
要创建交叉引用而不生成名称前缀,请使用\labelcref
。命令\ref
或\eqref
(假设amsmath
已加载)也可以很好地完成。
根据您的格式偏好,\labelcrefformat
在序言中提供说明可能是一个好主意。
对于下面的截图,我已经加载了hyperref
包并cleveref
使用选项加载了包,以更好地突出显示、和nameinlink
究竟生成了什么。\labelcref
\eqref
\ref
\documentclass{article}
\usepackage{amsmath} % for "\eqref" macro
\usepackage[colorlinks,allcolors=red]{hyperref} % optional
\usepackage[nameinlink]{cleveref} % "nameinlink" optional
\crefformat{cons}{#2constraint~\textup{(#1)}#3}
\labelcrefformat{cons}{\textup{(#2#1#3)}} % or some other suitable choice
\begin{document}
\begin{equation}\label[cons]{my_cons}
a+b<2
\end{equation}
\cref{my_cons}
\labelcref{my_cons} or \eqref{my_cons} or \ref{my_cons}
\end{document}