忽略重新定义的标签

忽略重新定义的标签

如何让 LaTeX 忽略\label重复使用的标签?也就是说,如果我定义一个标签两次,然后交叉引用它,我希望引用指示标签的第一次定义。

例如,在此 MWE 中:

\begin{document}
\begin{equation}
    x^2=2 \label{l1}
\end{equation}
\begin{equation}
    x^2=3 \label{l1}
\end{equation}
See the equation in \eqref{l1}
\end{document}

然后我希望句子读作‘......在(1)中’而不是‘......在(2)中’。

答案1

我不明白您如何用相同的标记来标记不同的方程式\label。但是,您必须重新定义在读取文件期间执行检查的方式.aux,以便删除警告和已使用的重新定义\label

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\makeatletter
\def\@newl@bel#1#2#3{%
  \@ifundefined{#1@#2}
    {\global\@namedef{#1@#2}{#3}}
    {\gdef\@multiplelabels{}}%
  }
\makeatother

\begin{document}
\begin{equation}
    x^2=2 \label{l1}
\end{equation}
\begin{equation}
    x^2=3 \label{l1}
\end{equation}
See the equation in \eqref{l1}.
\end{document}

相关内容