使用 \eqref 时 \tag 的一部分不显示

使用 \eqref 时 \tag 的一部分不显示

在文档中,我有方程编号,如(3.4)=(2.1),以表明该方程以前已经使用过。当我用 引用此方程时\eqref,它显示的内容与此完全相同。我如何才能将第二部分定义为可选部分,以便我可以将方程标记为(3.4)=(2.1),但对它的引用仅显示(3.4)

\documentclass{article}

\usepackage{amsmath}
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\begin{equation}\label{eq:1.1}
  a+b=c \tag*{(1.1)=(2.2)}
\end{equation}
\lipsum[2]
\eqref{eq:1.1}

\end{document}

答案1

如果您知道如何做,您几乎可以将任何东西放入标签中。

需要注意的是,amsmath 重新定义了标签,使得无法将其设置为环境内的任何其他内容。

\documentclass{article}

\usepackage{amsmath}
\usepackage{lipsum}

\makeatletter
\newcommand{\mytag}[2]% #1 = tag, #2 = label
  {\def\@currentlabel{#1}\label{#2}}
\makeatother

\begin{document}

\lipsum[1]
\mytag{1.1}{eq:1.1}
\begin{equation}
  a+b=c \tag*{(1.1)=(2.2)}
\end{equation}
\lipsum[2]
\eqref{eq:1.1}

\end{document}

相关内容