对齐环境:按行编号方程式

对齐环境:按行编号方程式

align 的标准行为是给每行一个新编号,其中编号是全局的(或按章节)。是否可以为每个 align 环境只提供一个编号,并使用本地计数器对每行进行编号。

举个例子可能更清楚一点: 例子

这里第一个是标准行为,第二个是期望行为(我通过 \tag 命令设置数字)。如果方程环境(或只有一行的环境)能像往常一样编号,那就最好了。

答案1

以下解决方案align\begin{subequations}...包围每个\end{subequations},并且重新定义子方程的编号方式 - <parent>.<eqn>

在此处输入图片描述

\documentclass{book}

\usepackage{environ,amsmath}

\counterwithout{equation}{chapter}

% Needs LaTeX2e 2020-10-01 or later 
\AddToHook{env/align/before}{%
  \begin{subequations}
    \renewcommand{\theequation}{\theparentequation.\arabic{equation}}%
}
\AddToHook{env/align/after}{%
  \end{subequations}
}

\begin{document}

\setcounter{chapter}{6}
\chapter{A chapter}

\[ f(x) = ax^2 + bx + c \]

\begin{equation} f(x) = ax^2 + bx + c \end{equation}

\begin{align}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^2 + bx + c
\end{align}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^2 + bx + c
\end{align*}

\[ f(x) = ax^2 + bx + c \]

\begin{equation} f(x) = ax^2 + bx + c \end{equation}

\begin{align}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^2 + bx + c
\end{align}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^2 + bx + c
\end{align*}

\end{document}

相关内容