我想在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
您的问题分为两部分:
您想省略方程式中某一行的编号,但仍将此行计入所有行的编号中。如评论中所建议,定义一个命令,将计数器增加
equation
1 并调用\nonumber
宏:\newcommand\nonumberthis{\refstepcounter{equation}\nonumber}
您希望从 1 开始对每个块中的行进行编号
align
。换句话说,您希望equation
在每个环境开始时将计数器重置为 0。您可以使用包中的align
宏轻松实现这一点:\AtBeginEnvironment
etoolbox
\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}