修复方程式编号问题

修复方程式编号问题

我正在撰写一篇有多个作者的论文,但在解决方程编号问题时遇到了困难。

希望方程式在小节内进行编号。同时,目标是所有编号都是唯一的,因此引理 2.2.3 之后是方程式 2.2.4 和小节 2.2.5。无论动机如何,结果如下:

\documentclass[12pt]{amsart}

\newtheorem{theorem}[subsubsection]{Theorem}
\def\numequation{\addtocounter{subsubsection}{1}\begin{equation}}
\renewcommand{\theequation}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}

\begin{document}

We have
\begin{equation} \label{one} 1+1 \ge 2 \end{equation}
and also
\numequation \label{two} 1+1 \le 2 \end{equation}
similar to Equation~(\ref{one}). 
We wish to have:
\begin{equation} \label{three} 1+1 \ge 2 \end{equation}
\begin{theorem} $1+1=2$.
\end{theorem}
Proof: Equations~(\ref{one}) and~(\ref{two}) imply equation~(\ref{three}).


\end{document}

编译时没有错误,但方程式的编号为 (0.0.0)、(0.0.1),然后是方程式 (0.0.1),而最后一个方程式的编号应为 (0.0.2),然后定理的编号应为 (0.0.3)。(我猜 (0.0.1)-(0.0.4) 会更好。)

这篇论文有几百页,多次使用了 \begin{equation} 和 \numequation。此外,这篇论文还处于证明阶段,所以我真的很想找到一个尽可能少做改动的解决方案。

问题:是否有一个简单的修复程序可以解决序言中的编号问题?请注意,我们正在为相关期刊使用自定义样式文件。

我曾希望将序言改为

\def\numequation{\begin{equation}}
\renewcommand{\theequation}{\addtocounter{subsubsection}{1}\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}

会解决问题,但现在方程式被标记为(0.0.1),(0.0.2)和(0.0.4) --- 不知何故,参考在编号上加一。

答案1

我想,就您现有的条件而言,最简单的事情就是让环境equation逆势而行subsubsection

\documentclass[12pt]{amsart}

\newtheorem{theorem}[subsubsection]{Theorem}
\renewcommand{\theequation}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}
\AtBeginEnvironment{equation}{\stepcounter{subsubsection}}

\begin{document}

We have
\begin{equation} \label{one} 1+1 \ge 2 \end{equation}
and also
\begin{equation} \label{two} 1+1 \le 2 \end{equation}
similar to Equation~(\ref{one}). 
We wish to have:
\begin{equation} \label{three} 1+1 \ge 2 \end{equation}
\begin{theorem} $1+1=2$.
\end{theorem}
Proof: Equations~(\ref{one}) and~(\ref{two}) imply equation~(\ref{three}).

\end{document}

在上面我删除了该\numequation命令,因为它不是真正需要的,但如果你想保留它,因为你已经有了代码,你可以使用

\newcommand*{\numequation}{\begin{equation}}

以免影响计数器。

相关内容