\nonumber 但保留计数

\nonumber 但保留计数

我想在align环境中对某些行进行编号(或align*使用\numberthis(见下文)),但保持相同的编号,就像所有行都已编号一样。

我知道我不清楚所以这里有一个例子:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

\begin{document}
\begin{align}
    A & = & 1 \notag\\
    B & = & 2 
\end{align}
\end{document}

这里,第二行有数字 1 但我想要数字 2。

\numberthis,感谢它的创造者,我不记得是谁了)

\newcommand\numberthis{\stepcounter{equation}{1}\tag{\theequation}}

编辑:如果我有另一个系统,我希望计数器从 1 重新开始。例如,对于下面的代码,我想要两个数字 2(也许,一个数字,以便系统本身能够说:系统一的第二个等式是 blabla)

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

\newcommand\nonumberthis{\refstepcounter{equation}\nonumber}

\begin{document}

\begin{align}
    A & = & 1 \nonumberthis\\
    B & = & 2 
\end{align}

\begin{align}
    A & = & 1 \nonumberthis\\
    B & = & 2 
\end{align}

\end{document}

答案1

您的问题分为两部分:

  • 您想省略方程式中某一行的编号,但仍将此行计入所有行的编号中。如评论中所建议,定义一个命令,将计数器增加equation1 并调用\nonumber宏:

    \newcommand\nonumberthis{\refstepcounter{equation}\nonumber}
    
  • 您希望从 1 开始对每个块中的行进行编号align。换句话说,您希望equation在每个环境开始时将计数器重置为 0。您可以使用包中的align宏轻松实现这一点:\AtBeginEnvironmentetoolbox

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

完整示例:

\documentclass{article}

\usepackage{amsmath}
\usepackage{etoolbox}

\AtBeginEnvironment{align}{\setcounter{equation}{0}}
\newcommand\nonumberthis{\refstepcounter{equation}\nonumber}

\begin{document}

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

\begin{align}
    \alpha&=1 \\
    \beta&=2 \nonumberthis \\
    \gamma&=3
\end{align}

\end{document}

在此处输入图片描述

相关内容