如何从 (1) 处开始 \beginequation 来执行每个证明?

如何从 (1) 处开始 \beginequation 来执行每个证明?

以下是我所谈内容的直观表示: “证明”

如何才能使计数器在每次证明时重置为 (1)?

谢谢您的回答。

答案1

最简单的做法是创建自己的证明环境来重置方程编号:

\newenvironment{myproof}{\setcounter{equation}{0}\begin{proof}}{\end{proof}}

或者,如果愿意的话,保存当前进入证明的方程编号,以便之后可以恢复:

\newcounter{savenumber}
\newenvironment{myproof}{%
\setcounter{savenumber}{\value{equation}}\setcounter{equation}{0}%
\begin{proof}}%
{\end{proof}%
\setcounter{equation}{\value{savenumber}}%
}

使用示例和输出

%\usepackage{amsmath} % preamble
%\usepackage{amsthm} % preamble
\begin{document}
\begin{equation}
    x=1
\end{equation}
\begin{equation}
    x=2
\end{equation}
\begin{myproof}
    \begin{equation}
        x=3
    \end{equation}
\end{myproof}
\begin{equation}
    x=4
\end{equation}
\end{document}

输出1

如果您使用这两种方式,读者可能会感到困惑,并且hyperref程序包会抱怨(并且无法正确链接每个方程)。更好的方法是hyperref在新的证明环境中为方程添加一个可视标识符(如果适用,还有一个),例如:

\newcounter{savenumber}
\newenvironment{myproof}{%
\renewcommand{\theequation}{p.\arabic{equation}}% Visual identifier
% \renewcommand{\theHequation}{p.\arabic{equation}}% Uncomment if using hyperref
\setcounter{savenumber}{\value{equation}}\setcounter{equation}{0}%
\begin{proof}}%
{\end{proof}%
\setcounter{equation}{\value{savenumber}}
}

然后

输出2

相关内容