我正在写一篇论文,它是不同文章的集合。我将每篇文章视为一个章节。第一篇文章的方程式编号为 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
它不应该按照你尝试使用的方式使用。(我也很惊讶!)问题是它本质上做了两件事:
- 呼叫
\renewcommand*\the<slave counter>{\the<master counter>.\arabic{slave counter}}
- 呼叫
\@addtoreset{<slave counter>}{<master counter>}
第二个是改变编号。注意它是“addtoreset”。这意味着它将使主计数器上的增量操作触发从计数器的重置。因此,在调用之后\numberwithin{equation}{section}
,触发器已经设置。并且第二次调用\numberwithin{equation}{chapter}
不会删除前一个触发器。因此每次计数器增加equation
时,计数器仍然会被重置。section
以上就是为什么它会做你所看到的事情。要解决这个问题,显然你必须停止使用方便的命令\numberwithin
。替代方法是\counterwithin
\counterwithout
chngcntr
包裹。
因此,您应该在序言中定义以下命令:
\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
。(为了便于阅读,从注释中导入。)