仅更改一个章节的编号级别

仅更改一个章节的编号级别

如果这是重复的,请原谅,但我找不到它。

我有一份文档,使用 amsmath 对章节、章节和小节进行编号,并且所有内容(定理、引理等)都使用相同的编号系统。

我有一章没有章节或小节(这确实有道理,老实说,这是一个 5-6 页的定理,与其他任何东西都格格不入)。问题是这里的编号从 4.0.13 开始(大概是因为我没有重置小节计数器)。

我有两个选择 - 要么将其设置为 4.1.1,要么更好,在本章中只有两个部分编号,以便定理/引理可以编号为 4.1、4.2 等等。我已经阅读了不少关于 \numberwithin 和 \counterwithin 的帖子,但我很困惑。

下面的例子 - 这里第 2 章中的 thm 是 2.0.3,但我希望它是 2.1.1 或者最好是 2.1。

\documentclass{scrreprt}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}

\theoremstyle{plain}% default
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{prop}[thm]{Proposition}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{conj}{Conjecture}[section]
\newtheorem{exmp}{Example}[section]
\theoremstyle{remark}
\newtheorem*{rem}{Remark}
\newtheorem*{note}{Note}
\newtheorem{case}{Case}
\makeatletter\@addtoreset{case}{thm}\makeatother
\makeatletter
\def\thm@space@setup{%
 \thm@preskip=\parskip \thm@postskip=0pt}
\makeatother

\makeatletter\@addtoreset{case}{lem}\makeatother
\makeatletter
\def\thm@space@setup{%
\thm@preskip=\parskip \thm@postskip=0pt}
\makeatother

\begin{document}

\begin{chapter}{chap title}
\begin{section}{title blah}
\begin{thm}
hello
\end{thm}
\begin{subsection}{title blahh}
\begin{lem} 
hi
\end{lem}
\end{subsection}
\end{section}
\end{chapter}

\begin{chapter}{chap title 2}
\begin{thm}
hello again
\end{thm}
\end{chapter}

\end{document}

答案1

没有chaptersectionsubsection环境。不要使用\begin{chapter}和 类似的结构,即使它们看起来可以工作。

您可以自动决定编号:如果章节计数器为零(如之后),则\chapter定理将编号为“章节.定理”,否则编号为“章节.节.定理”。对于定理位于章节内的章节,无需手动重置。

我删除了该设置,\thm@space@setup因为我真的不明白它们应该做什么。

\documentclass{scrreprt}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}

\theoremstyle{plain}% default
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{prop}[thm]{Proposition}

\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{conj}{Conjecture}[section]
\newtheorem{exmp}{Example}[section]

\theoremstyle{remark}
\newtheorem*{rem}{Remark}
\newtheorem*{note}{Note}
\newtheorem{case}{Case}[thm]

\makeatletter
\@addtoreset{thm}{chapter}
\makeatother
\renewcommand{\thethm}{%
  \ifnum\value{section}=0
    \thechapter.%
  \else
    \thesection.%
  \fi
  \arabic{thm}%
}
\renewcommand{\thecase}{\arabic{case}}

\begin{document}

\chapter{chap title}
\section{title blah}
\begin{thm}
hello
\end{thm}

\subsection{title blahh}
\begin{lem} 
hi
\end{lem}

\chapter{chap title 2}
\begin{thm}
hello again
\end{thm}

\end{document}

case请注意,使用每个定理重置数字会更容易。

在此处输入图片描述

在此处输入图片描述

答案2

在第 2 章之前使用该chngcntr包并手动重置,通过\setcounter{thm}{0}

之后可能需要进行一些重新设置!

\documentclass{scrreprt}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{chngcntr}%

\theoremstyle{plain}% default
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{prop}[thm]{Proposition}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{conj}{Conjecture}[section]
\newtheorem{exmp}{Example}[section]
\theoremstyle{remark}
\newtheorem*{rem}{Remark}
\newtheorem*{note}{Note}
\newtheorem{case}{Case}
\makeatletter
\@addtoreset{case}{thm}
\makeatother
\makeatletter
\def\thm@space@setup{%
 \thm@preskip=\parskip \thm@postskip=0pt}
\makeatother

\makeatletter\@addtoreset{case}{lem}\makeatother
\makeatletter
\def\thm@space@setup{%
\thm@preskip=\parskip \thm@postskip=0pt}
\makeatother

\begin{document}

\begin{chapter}{chap title}
\begin{section}{title blah}
\begin{thm}
hello
\end{thm}
\begin{subsection}{title blahh}
\begin{lem} 
hi
\end{lem}
\end{subsection}
\end{section}
\end{chapter}


%%%% My addition:
\setcounter{thm}{0}
\begin{chapter}{chap title 2}
%%%% My addition:

\counterwithin{thm}{chapter}
\begin{thm}
hello again
\end{thm}
\end{chapter}

\end{document}

在此处输入图片描述

相关内容