不幸的是,我已经遇到过几次同样的问题了。我在这个论坛上找不到答案,所以我决定发布这个问题。我现在想做的是给方程式编号,但是一旦我进入新的章节(不使用“第 1/2/3 章”标题),我希望方程式的编号重新开始。
因此,我想要:
第1章
第 1 部分
x (1.1.1)
是 (1.1.2)
第 2 节 z (1.2.1) g (1.2.2)
第2章
第 1 部分
(2.1.1)
不幸的是,当我使用第 2 章中的编号方程时,我得到的是 (2.4.1) 而不是 (2.1.1.)
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{fullpage}
\title{Equations in chapters}
\author{Student NL}
\begin{document}
\maketitle
\chapter*{Problem 1}
\section*{Question 1}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
X = 8
\end{equation}
\begin{equation}
y = 9
\end{equation}
\end{subequations}
\section*{Question 2}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
A = 3
\end{equation}
\begin{equation}
B = 5
\end{equation}
\end{subequations}
\chapter*{Problem 2}
\section*{Question 1}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
C = 5
\end{equation}
\begin{equation}
D = 0
\end{equation}
\end{subequations}
\section*{Question 2}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
E = 1
\end{equation}
\begin{equation}
F = 6
\end{equation}
\end{subequations}
\end{document}
我该如何改变这种情况?
提前致谢!
现在假设,正如你们中的一些人所建议的那样,我使用章节编号。那么我确实有另一个问题。在下面的例子中,在第 2 章中,第 2 节不包含任何方程式,而第 3 节包含。在第 3 节中,我得到的是 2.2.1 而不是 2.3.1。我该如何避免这种情况?
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{fullpage}
\title{Equations in chapters}
\author{Student NL}
\begin{document}
\maketitle
\chapter{Problem 1}
\section{Question 1}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
X = 8
\end{equation}
\begin{equation}
y = 9
\end{equation}
\end{subequations}
\section{Question 2}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
A = 3
\end{equation}
\begin{equation}
B = 5
\end{equation}
\end{subequations}
\chapter{Problem 2}
\section{Question 1}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
C = 5
\end{equation}
\begin{equation}
D = 0
\end{equation}
\end{subequations}
\section{Question 2}
\section{Question 3}
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\arabic{equation}}
\begin{equation}
E = 1
\end{equation}
\begin{equation}
F = 6
\end{equation}
\end{subequations}
\end{document}
答案1
看来你只是想要按节而不是按章编号的方程式
\numberwithin{equation}{section}
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{longtable}
\usepackage{graphicx}
\numberwithin{equation}{section}
\title{Equations in chapters}
\author{Student NL}
\begin{document}
\maketitle
\chapter{Problem 1}
\section{Question 1}
aaa
\begin{equation}
X = 8
\end{equation}
aaa
\begin{equation}
y = 9
\end{equation}
\section{Question 2}
aaa
\begin{equation}
A = 3
\end{equation}
aaa
\begin{equation}
B = 5
\end{equation}
\chapter{Problem 2}
\section{Question 1}
aaa
\begin{equation}
C = 5
\end{equation}
aaa
\begin{equation}
D = 0
\end{equation}
\section{Question 2}
\section{Question 3}
aaa
\begin{equation}
E = 1
\end{equation}
aa
\begin{equation}
F = 6
\end{equation}
\end{document}
答案2
注意:OP 将问题转向了另一个方向,但在这些改变之前已经回答了这个问题。
据我了解,问题在于\chapter*
不会重置方程计数器(因为其他计数器也不会重置)。可以使用 来解决这个问题\xpretocmd
。
计数器输出格式也应该作为补丁进行更改,因为subequations
每次调用时都会重新定义它。
\documentclass{report}
\usepackage{xpatch}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\xpatchcmd{\subequations}{%
\def\theequation{\theparentequation\alph{equation}}%
}{%
\def\theequation{\theparentequation.\arabic{equation}}
}{\typeout{Success!}}{\typeout{Failed!}}
\makeatletter
\xpretocmd{\@schapter}{\setcounter{equation}{0}\setcounter{parentequation}{0}}{\typeout{Yes!}}{\typeout{Failed to patch \@schapter}}
\makeatother
\begin{document}
\chapter*{Problem 1}
\section*{Question 1}
\begin{subequations}
\begin{equation}
X = 8
\end{equation}
\begin{equation}
y = 9
\end{equation}
\end{subequations}
\section*{Question 2}
\begin{subequations}
\begin{equation}
A = 3
\end{equation}
\begin{equation}
B = 5
\end{equation}
\end{subequations}
\chapter*{Problem 2}
\section*{Question 1}
\begin{subequations}
\begin{equation}
C = 5
\end{equation}
\begin{equation}
D = 0
\end{equation}
\end{subequations}
\end{document}
以下是\chapter
版本:
\documentclass{report}
\usepackage{xpatch}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\xpatchcmd{\subequations}{%
\def\theequation{\theparentequation\alph{equation}}%
}{%
\def\theequation{\theparentequation.\arabic{equation}}
}{\typeout{Success!}}{\typeout{Failed!}}
\usepackage{chngcntr}
\counterwithout{equation}{section}
\begin{document}
\chapter{Problem 1}
\section{Question 1}
\begin{subequations}
\begin{equation}
X = 8
\end{equation}
\begin{equation}
y = 9
\end{equation}
\end{subequations}
\section{Question 2}
\begin{subequations}
\begin{equation}
A = 3
\end{equation}
\begin{equation}
B = 5
\end{equation}
\end{subequations}
\chapter{Problem 2}
\section{Question 1}
\begin{subequations}
\begin{equation}
C = 5
\end{equation}
\begin{equation}
D = 0
\end{equation}
\end{subequations}
\end{document}