不使用章节编号对章节内的方程式进行编号

不使用章节编号对章节内的方程式进行编号

不幸的是,我已经遇到过几次同样的问题了。我在这个论坛上找不到答案,所以我决定发布这个问题。我现在想做的是给方程式编号,但是一旦我进入新的章节(不使用“第 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}

相关内容