我该如何重置对齐中的计数器?

我该如何重置对齐中的计数器?

如果我使用align它显示方程式并对每行进行编号,如何重置计数器align

事实上,即使我\end{align}稍后在文档中使用 并且出现第二个\begin{align},计数器也会从上次中断的地方继续,而不是从 1 开始。

有没有简单的方法可以做到这一点?或者我最好创建自己的计数器而不使用align

编辑:更具体地说,我这样做是为了展示解决家庭作业问题的行/步骤。 (1) 的单独出现将出现在不同问题的答案中,因此区分起来应该不会有任何困难。

答案1

我不确定你为什么要这样做,因为文档中会有多个相同的公式标记,但可以使用 挂接到对齐环境的开头etoolbox。不过你必须注意,因为其他环境不会重置计数器。

\documentclass{article}

\usepackage{amsmath}
\usepackage{etoolbox}
\AtBeginEnvironment{align}{\setcounter{equation}{0}}

\begin{document}

\begin{align}
  a &= b\\
  a &= 2c
\end{align}

\begin{align}
  a &= b\\
  a &= 4d
\end{align}

\begin{equation}
  a = 6e
\end{equation}

\end{document}

输出样本

答案2

此套餐还amsmath提供:alignsubequations

示例输出

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{subequations}
  \begin{align}
    x &= y\\
    &=z
  \end{align}
\end{subequations}

\begin{subequations}
  \begin{align}
    a &= b\\
    &=c
  \end{align}
\end{subequations}

\end{document}

答案3

没有对齐计数器,但您可以随时创建一个。

\documentclass{article}
\usepackage{mathtools}

\newcounter{align}[equation]
\renewcommand{\thealign}{\theequation.\arabic{align}}
\newcommand{\alignno}{\refstepcounter{align}\tag{\thealign}}

\expandafter\let\expandafter\oldalignstar\csname align*\endcsname
\expandafter\def\csname align*\endcsname{\refstepcounter{equation}\oldalignstar}

\begin{document}
Some text here
\begin{align*}
  x &= a \alignno\\
  y &= b \alignno\\
\end{align*}
somr text here
\begin{align*}
  u &= c \alignno\\
  v &= d \alignno\\
\end{align*}
and some more text.
\end{document}

演示

相关内容