我正在以“报告”格式撰写文档。在整个文档中,第 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