我想要在 gather 环境中的每个换行符之前添加类似\AtEndEnvironment{gather}{\label{equ:\theequation}}
(在末尾)的内容,即在此代码中自动添加代码部分:\label{equ:\theequation}
\\
\label{equ:\theequation}
\documentclass{report}
\usepackage{etoolbox}
\usepackage{mathtools}
\usepackage{amsmath}
\AtBeginEnvironment{gather}{\label{equ:\theequation}}
\begin{document}
\begin{gather}
x = y \text{first equation (1)} \label{equ:\theequation}\\
...
y = z \text{(n-1)th equation (n-1)}\label{equ:\theequation}\\
y = z \text{nth equation (n)}
\label{equ:\theequation}
\end{gather}
Reference to the first equation: \eqref{1}... (even if the equation is a "gather" environment)
\end{document}
答案1
LaTeX 之所以具有这种\label
机制,是因为您可以引用自动编号的结构而不需要知道编号,并且在编辑文档时编号发生变化时无需更改引用标记。
如果您自动将方程 2 标记为\label{eq:2}
并将其引用为,\ref{eq:2}
那么您的引用将引用恰好具有数字 2 的任何方程,而不是预期的方程。
预期用途是,您用对您有意义的内部标识符来标记方程式,说\label{pythagorus}
然后将其引用为,\ref{pythagorus}
并且引用将生成正确的数字,无论该数字在文档的当前(或实际上是先前)编辑中是什么。