在没有章节的章节中编号定理

在没有章节的章节中编号定理

假设我有一个索引,例如:

1. Chapter
  1.1 Section
  1.2 Section
2. Chapter
3. Chapter

我将我的定理编号为

\newtheorem{theorem}{Theorem}[section]

1.2 中的最后一个定理是定理 1.2.5。那么第二章中的第一个定理将是 2.0.6。

我的第一个问题是:这真的是一个功能而不是一个错误吗?是否存在这是首选行为的情况?

我的第二个问题是如何解决这个问题。我希望第 2 章中的定理为 2.1、2.2 等,同时保持第 1 章中的定理显示为 1.1.1、1.1.2 等。我可以通过多种方式手动完成(看这里) 通过在各个章节中输入代码来实现。但我不应该这样做,对吧?我真的很想有一个解决方案,其中编号的格式完全由序言决定。

以下是 MWE:

\documentclass[12pt]{report}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}[section]

\begin{document}
 \begin{chapter}{Chapter 1}
  \begin{section}{Secton 1.1}
   \begin{theorem}
    asdf
   \end{theorem}
   \begin{theorem}
    asdf
   \end{theorem}
  \end{section}
 \end{chapter}
 \begin{chapter}{Chapter 2}
  \begin{theorem}
   asdf
  \end{theorem}
 \end{chapter}
\end{document}

答案1

对 的值满足下列条件section,根据需要将其插入定理编号中:

在此处输入图片描述

\documentclass[12pt]{report}
\usepackage{amsthm,amsmath}
\newtheorem{theorem}{Theorem}[section]
\numberwithin{theorem}{section}% Reset theorem counter with every section
\numberwithin{theorem}{chapter}% Reset theorem counter with every chapter

\renewcommand{\thetheorem}{%
  \ifnum\value{section}=0 
    \thechapter% "no section"
  \else
    \thesection% at least within a section
  \fi%
  .\arabic{theorem}}

\begin{document}

\chapter{First chapter}
\section{First section}
\begin{theorem}
asdf. See Theorem~\ref{abc} and~\ref{def}.
\end{theorem}
\begin{theorem}\label{abc}
asdf
\end{theorem}
\section{Second section}
\begin{theorem}
asdf
\end{theorem}
\begin{theorem}
asdf
\end{theorem}

\chapter{Second chapter}
\begin{theorem}\label{def}
asdf
\end{theorem}

\end{document}

请注意,你必须考虑到theorem计数器会随着每次\chapter \section,否则您将从Theorem 2.3上例中的第 2 章开始。此外,如果您在最终包含一个章节的章节“简介”部分中有一个定理,那么您仍将收到“减少的”编号。

答案2

也许一点“编程”有助于在有部分时维护定理的部分计数器,而在没有部分时将其删除!

\documentclass[12pt]{report}
\usepackage{amsthm}
\usepackage{etoolbox}
\newtheorem{theorem}{Theorem}[section]

\makeatletter
\@addtoreset{theorem}{chapter}%
\@addtoreset{theorem}{section}%
\makeatother

\let\OriginalTheTheorem\thetheorem
\renewcommand{\thetheorem}{%
\ifnumequal{\number\value{section}}{0}{\thechapter.\arabic{theorem}}{%
\OriginalTheTheorem}}

\begin{document}
 \begin{chapter}{Chapter 1}
  \begin{section}{Secton 1.1}
   \begin{theorem}
    asdf
   \end{theorem}
   \begin{theorem}
    asdf
   \end{theorem}
  \end{section}
 \end{chapter}
 \begin{chapter}{Chapter 2}
  \begin{theorem}
   asdf
  \end{theorem}
 \end{chapter}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容