方程式数字混乱

方程式数字混乱

我正在写一篇论文,它是不同文章的集合。我将每篇文章视为一个章节。第一篇文章的方程式编号为 A.1、A.2 等,第二篇文章的方程式编号为 B.1、B.2 等。由于某种未知原因,现在当我编写论文时,文章 B 中的方程式编号为 B.2.1、B.2.2,其中中间的 2 是章节编号。我希望像以前一样拥有 B.1 和 B.2。为什么 LaTeX 现在在方程式编号中包含章节编号?

任何帮助都将非常感激。

多谢...

更新:在回答“mpg”之后,我仍然遇到问题。问题是,在我的文章 2 中,方程编号在每个主要部分都进行了重置,因此我在 B.1 部分中有方程 B.1、B.2 等,而在 B.2 部分中我再次得到方程编号 B.1、B.2,而不是 B.3 和 B.4。不过,文章 1 中的方程编号没问题。我附上了一个最小示例。这是主文档(另存为 main.tex):

\documentclass[fleqn,a4paper,openany,twoside,11pt]{book}
\usepackage[latin1]{inputenx}
\usepackage[OT1]{fontenc}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{cite}
\usepackage{fancyhdr}
\usepackage{chapterbib}
\parfillskip 0pt plus 0.75\textwidth

\renewcommand\chaptername{Paper}
\renewcommand{\thechapter}{\Alph{chapter}}
\setcounter{secnumdepth}{4}

\pagestyle{empty}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\fancyhead[LE,RO]{\bfseries{\thepage}}
\renewcommand{\headrulewidth}{0.6pt}
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}

\begin{document}

%\clearemptydoublepage
\newpage{\pagestyle{empty}\cleardoublepage\pagenumbering{roman}}
\setcounter{page}{3}

\clearemptydoublepage
\begingroup

 \renewcommand{\appendix}{%
 \par
 \setcounter{section}{0}%
 \renewcommand{\thesection}{\thechapter.\Alph{section}}%
 }

\include{paper1}

\endgroup


\begingroup

  \renewcommand{\appendix}{%
  \par
  \setcounter{section}{0}%
  \renewcommand{\thesection}{\thechapter.\Alph{section}}%
  }

 \include{paper2}
 \endgroup

\end{document}

这是论文 1 (文章 1)...保存为 paper1.tex:

\chapter{\huge \bfseries My paper A}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhead[LO]{\scriptsize \bfseries\rightmark}
\fancyhead[CE]{\scriptsize \bfseries{Paper A}}


\section{Modelling}
\subsection{Simulating}
bla bla bla bla bla blabla blabla blabla blabla blabla blabla blabla blabla bla
bla blabla blabla blabla blabla blabla blabla bla
\begin{equation}\label{eq:eqmotion}
\begin{bmatrix}
m & 0 \\
0 & m
\end{bmatrix}
=
\begin{pmatrix}
F \thinspace \cos \omega_{f} \thinspace t \\
F \thinspace \sin \omega_{f} \thinspace t
\end{pmatrix}
\end{equation}

\section{experiment}
bla bla bla bla bla blabla blabla blabla blabla blabla blabla blabla blabla bla
bla blabla blabla blabla blabla blabla blabla bla
\begin{equation}\label{eq:eqmotion2}
\begin{bmatrix}
m & 0 \\
0 & m
\end{bmatrix}
=
\begin{pmatrix}
F \thinspace \cos \omega_{f} \thinspace t \\
F \thinspace \sin \omega_{f} \thinspace t
\end{pmatrix}
\end{equation}

\appendix
\numberwithin{equation}{section}
\section{force coefficients}
\subsection{second force}
The coefficients of bla bla
\begin{align}
A_{0} & = 15 \nonumber  \\
B_{1} & = 1
\end{align}

\subsection{first force}
\begin{align}
A_{0} & = 14 \nonumber  \\
B_{1} & = 2
\end{align}

并且 paper2 (文章 2)......保存为 paper2.tex:

\chapter{\huge \bfseries My paper B}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhead[LO]{\scriptsize \bfseries\rightmark}
\fancyhead[CE]{\scriptsize \bfseries{Paper B}}

\numberwithin{equation}{chapter}

\section{Modelling}
\subsection{Simulating}
bla bla bla bla bla blabla blabla blabla blabla blabla blabla blabla blabla bla
bla blabla blabla blabla blabla blabla blabla bla
\begin{equation}\label{eq:beqmotion}
\begin{bmatrix}
m & 0 \\
0 & m
\end{bmatrix}
=
\begin{pmatrix}
F \thinspace \cos \omega_{f} \thinspace t \\
F \thinspace \sin \omega_{f} \thinspace t
\end{pmatrix}
\end{equation}

\section{experiment}
bla bla bla bla bla blabla blabla blabla blabla blabla blabla blabla blabla bla
bla blabla blabla blabla blabla blabla blabla bla
\begin{equation}\label{eq:beqmotion2}
\begin{bmatrix}
m & 0 \\
0 & m
\end{bmatrix}
=
\begin{pmatrix}
F \thinspace \cos \omega_{f} \thinspace t \\
F \thinspace \sin \omega_{f} \thinspace t
\end{pmatrix}
\end{equation}

\appendix
\numberwithin{equation}{section}
\section{force coefficients}
\subsection{second force}
The coefficients of bla bla
\begin{align}
A_{0} & = 15 \nonumber  \\
B_{1} & = 1
\end{align}

\subsection{first force}
\begin{align}
A_{0} & = 14 \nonumber  \\
B_{1} & = 2
\end{align} 

在编译主文档(paper1.tex 和 paper2.tex 与 main.tex 位于同一文件夹中)时,您会注意到在论文 B(第 2 篇文章)的 B.2 部分中,公式编号再次从 B.1 开始……这是错误的。应该是 B.2。我做错了什么?

多谢...

答案1

看起来\numberwithin它不应该按照你尝试使用的方式使用。(我也很惊讶!)问题是它本质上做了两件事:

  1. 呼叫\renewcommand*\the<slave counter>{\the<master counter>.\arabic{slave counter}}
  2. 呼叫\@addtoreset{<slave counter>}{<master counter>}

第二个是改变编号。注意它是“addtoreset”。这意味着它将使主计数器上的增量操作触发从计数器的重置。因此,在调用之后\numberwithin{equation}{section},触发器已经设置。并且第二次调用\numberwithin{equation}{chapter} 不会删除前一个触发器。因此每次计数器增加equation时,计数器仍然会被重置。section

以上就是为什么它会做你所看到的事情。要解决这个问题,显然你必须停止使用方便的命令\numberwithin。替代方法是\counterwithin\counterwithoutchngcntr 包裹

因此,您应该在序言中定义以下命令:

\usepackage{chngcntr}

\newcommand*\startappendixeqnumbering{%
    \counterwithout{equation}{chapter}%
    \counterwithin{equation}{section}%
    \renewcommand*\theequation{\thechapter.\thesection.\arabic{equation}}}
\newcommand*\startnormaleqnumbering{%
    \counterwithout{equation}{section}%
    \counterwithin{equation}{chapter}%
    \renewcommand*\theequation{\thechapter.\arabic{equation}}}

\counterwithin{equation}{chapter}  %Set the default

\startappendixeqnumbering并在第一个附录之前和\startnormaleqnumbering最后一个附录之后、下一章开始之前调用。

答案2

LaTeX 包含了章节编号,因为您告诉它这样做:-) 在引用的帖子中,您似乎正在使用,\numberwithin{equation}{section} 这恰恰意味着:

  • 重置每个部分的方程编号;
  • 在方程编号中包含章节编号。

此命令对文档的其余部分有效(因此对您包含的第二篇文章也有效)。您可以在\numberwithin{equation}{chapter}包含本文之前发出命令,切换回按章节编号(同样,这可能会更改所有未来包含的文章的公式编号)。

警告\@removefromreset{equation}{section}除非每次使用时都添加,否则上述解决方案无法按宣传的那样工作。为此需要\numberwithin{equation}{chapter}该包。(在阅读 Willie Wong 的评论和他的答案(也有效)后添加了精度。)remreset

澄清在使用时,需要确保@是一个字母\@removefromreset,因此完整的调用看起来像\makeatletter\@removefromreset{equation}{section}\makeatother。(为了便于阅读,从注释中导入。)

相关内容