如何局部改变方程引用

如何局部改变方程引用

使用该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}

相关内容