不引用时抑制方程编号

不引用时抑制方程编号

是否可以只使用equationalign环境而不使用*,然后如果没有任何内容引用该方程式,则自动隐藏方程式编号?我认为这将使 LaTeX 生活变得更加轻松。

答案1

请参阅软件包和“3.2.2 仅显示引用的标签”一节。如果您运行的是 Linux,则可以通过运行或运行来mathtools获取文档texdoc mathtoolstexdoctk

答案2

在注意到 Herbert 的回答之前,我编写了一个解决方法。无论如何,它在这里:

\documentclass{article}
% TEX.SE \url{http://tex.stackexchange.com/q/15820/1402}
\usepackage{amsmath}
\usepackage{etoolbox}

\makeatletter
\appto{\equation}{%
  \notag
  \preto{\label}{%
    \refstepcounter{equation}
    \tag{\arabic{equation}}%
  }
}
\makeatother

\begin{document}

\begin{equation}
A = A
\end{equation}

\begin{equation}\label{B}
B = B
\end{equation}

\begin{equation}
C = C
\end{equation}

Proof: See Equation~\ref{B}.

\end{document}

这是我第一次使用etoolbox宏用于将代码添加到钩子中。此方法首先将其添加\notag到每个方程的开头,从而抑制方程编号;然后将其添加到\label步进计数器并重置标签的代码中。

相关内容