是否可以只使用equation
或align
环境而不使用*
,然后如果没有任何内容引用该方程式,则自动隐藏方程式编号?我认为这将使 LaTeX 生活变得更加轻松。
答案1
请参阅软件包和“3.2.2 仅显示引用的标签”一节。如果您运行的是 Linux,则可以通过运行或运行来mathtools
获取文档texdoc mathtools
texdoctk
答案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
步进计数器并重置标签的代码中。