混合编号/未编号的章节/小节

混合编号/未编号的章节/小节
\documentclass{amsart}

\begin{document}

\title{Title 1}
\maketitle

\section{Section 1}
\subsection{Sub-section 1}
Text 1

\section{Section 2}
\subsection{Sub-section 2}
Text 2

\section*{Unnumbered section}
\subsection{Numbered sub-section}
Text 3

\section{Section 4}
\subsection{Sub-section 4}
Text 4

\section*{Unnumbered section}
\subsection{Numbered sub-section}
Text 5

\section{Section 6}
\subsection{Sub-section 6}
Text 6

\end{document}

您会看到,对于未编号的章节,未编号章节的子章节是不正确的,因为它是从上一节的子章节继续的,这是不受欢迎的行为。例如,对于“文本 3”子章节,它应该是子章节 3.1,而不是 2.2。此外,下一节的编号为第 3 节,而它应该是第 4 节,依此类推。

答案1

以下补丁(感谢etoolbox)更新其中一个部分内部内容 - \@sect- 始终踩下有问题的计数器,无论您使用\section*还是\section

在此处输入图片描述

\documentclass{amsart}

\usepackage{etoolbox}
\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\@sect}{\@svsec\@empty}{\@svsec\@empty\stepcounter{#1}}{}{}
\makeatother

\begin{document}

\title{Title 1}
\maketitle

\section{Section 1}
\subsection{Sub-section 1}
Text 1

\section{Section 2}
\subsection{Sub-section 2}
Text 2

\section*{Unnumbered section}
\subsection{Numbered sub-section}
Text 3

\section{Section 4}
\subsection{Sub-section 4}
Text 4

\section*{Unnumbered section}
\subsection{Numbered sub-section}
Text 5

\section{Section 6}
\subsection{Sub-section 6}
Text 6

\end{document}

相关内容