\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}