稍后在文档中将定理编号从 chapter.section.number 更改为 chapter.number

稍后在文档中将定理编号从 chapter.section.number 更改为 chapter.number

对于我的大部分文档(使用文档类“报告”并使用 amsthm 包),我对\newtheorem{thm}{Theorem}[section]产生的定理编号感到满意,即

定理 1.2.3。

是第 1 章第 2 节中的第 3 条定理。但是,后面的章节没有章节,因此我的定理编号如下

定理 6.0.1

0 让我很困扰 :)。如何将 \newtheorem 命令更改为根据章节进行编号,而不更改文档中先前的编号?

谢谢!

答案1

使用\counterwithin宏。

% theoremprob.tex  SE 633030

\documentclass{report}
\usepackage{amsthm}
\newtheorem{thm}{Theorem}[section]

%\usepackage{chngcntr} %%%% now in basic LaTeX 

\begin{document}

\chapter{First}
%%% default theorem number (based on current section)
\section{A section}
\begin{thm}
  maths
\end{thm}

\chapter{Second}
\counterwithin{thm}{chapter} % make theorem number based on current chapter
\begin{thm}
  maths
\end{thm}

\chapter{Third}
\counterwithin{thm}{section} % make theorem number based on current section
\section{A section}
\begin{thm}
  maths
\end{thm}

\end{document}

\counterwithin和宏\counterwithout最初由包定义,chngcntr但现在已成为基本 LaTeX 的一部分。您可以通过以下方式阅读这些宏的手册:texdoc chngcntr

相关内容