“报告”式定理编号

“报告”式定理编号

我正在以“报告”格式撰写文档。在整个文档中,第 X 章和第 Y 节中的结果显示为:“定理 XY1”或“引理 XY2”等。我想保留这种方式。

但是我的第一章(作为介绍)不包含任何章节。因此结果显示为:“定理 1.0.1”或“引理 1.0.2”。这很烦人,我希望将这些结果显示为“定理 1.1”或“引理 1.2”。

是否可以在不离开“报告”样式的情况下做到这一点?

答案1

\thetheorem这是可能的。如果节号为零,您可以重新定义以省略节号。

如果定理位于\section第 2 章中的第一个命令之前,您还会得到“定理 2.1”。

\documentclass{report}

\usepackage[a5paper]{geometry} % just to make a smaller picture

\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}

\renewcommand{\thetheorem}{%
  \ifnum\value{section}=0
    \thechapter.%
  \else
    \thesection.%
  \fi
  \arabic{theorem}%
}

\begin{document}

\chapter{Introduction}

This chapter has no sections but it has theorems.

\begin{lemma}
A lemma
\end{lemma}

\begin{theorem}
A theorem
\end{theorem}

\chapter{First}

This chapter has sections.

\section{Test}

\begin{lemma}
A lemma
\end{lemma}

\begin{theorem}
A theorem
\end{theorem}

\section{Again}

\begin{lemma}
A lemma
\end{lemma}

\begin{theorem}
A theorem
\end{theorem}

\end{document}

注意:geometry仅用于制作较小的图片。请使用您自己的设置。

在此处输入图片描述

答案2

没有办法做到这一点,很大程度上是因为不可能始终如一地做到这一点。例如,您将如何命名下面的定理?其中哪一个应该是“定理 1.1”?

\chapter{Chapter}

\begin{theorem}A\end{theorem}

\subsection{Subsection}

\begin{theorem}B\end{theorem}

\section{Section}

\begin{theorem}C\end{theorem}

至少有两种方法可以解决这个问题。要么采用一种编号方案,其中每个定理都有一个独立的连续唯一编号。或者如果你绝对必须这样做(尽管不鼓励),你可以手动对定理进行编号,如下所示:https://tex.stackexchange.com/a/53981/97712

相关内容