我正在使用thmtools
包在文档末尾生成定理列表。我还使用了几个不同的定理标题(命题、引理、定义等),它们是不是独立编号。编号按照章节进行。
在实现 thmtools 包之前,我可以通过包含以下内容来使章节编号适用于所有定理样式
\setcounter{theorem}{0}
\numberwithin{theorem}{section}
在第一节标题之后。
在实施 thmtools 包后,这似乎不起作用,并且只能正确地对定理进行编号。我现在必须添加一行单独的代码
\numberwithin{foo}{section}
对于每个foo
,,,,等等...definition
lemma
fact
exercise
有没有办法不必为每种定理样式添加单独的行,而是用一行来一次涵盖所有样式(即使我稍后添加一些新的样式)?
编辑:这是我所指的一个例子。
我的原始代码(在需要定理列表之前)
\documentclass{article}
\usepackage{amsmath, amssymb}
\usepackage[mathscr]{eucal}
\usepackage{amsthm}
\usepackage{amscd}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\begin{document}
\section{Some Results}
\setcounter{theorem}{0}
\numberwithin{theorem}{section}
\begin{lemma}
Here is a lemma.
\end{lemma}
\begin{definition}
Here is a definition.
\end{definition}
\begin{theorem}
Here is a theorem.
\end{theorem}
\begin{theorem}
Here is another theorem.
\end{theorem}
\begin{corollary}
Here is a corollary.
\end{corollary}
\end{document}
如果你编译这个,你会看到结果列为引理 1.1、定义 1.2、定理 1.3、定理 1.4、推论 1.5。这就是我想要的。
然后,我决定我需要一个定理列表。所以我添加了\usepackage{thmtools}
和\listoftheorems
命令(在正文末尾)。
所以现在我得到了定理列表,但编号是错误的。具体来说,结果编号为引理 1、定义 2、定理 1.3、定理 1.4、推论 5。所以只有定理继承了章节编号。我知道的唯一修复方法是添加
\numberwithin{lemma}{section}
\numberwithin{corollary}{section}
\numberwithin{definition}{section}
低于\numberwithin{theorem}{section}
线。如果不必这样做就好了。特别是当我不可避免地决定添加事实、示例、命题、练习等时……
答案1
你要
\newtheorem{theorem}{Theorem}[section]
不是\numberwithin
。我在示例中添加了thmtools
和。\listoftheorems
\documentclass{article}
\usepackage{amsmath, amssymb}
\usepackage[mathscr]{eucal}
\usepackage{amsthm,thmtools}
\usepackage{amscd}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\begin{document}
\section{Some Results}
\begin{lemma}
Here is a lemma.
\end{lemma}
\begin{definition}
Here is a definition.
\end{definition}
\begin{theorem}
Here is a theorem.
\end{theorem}
\begin{theorem}
Here is another theorem.
\end{theorem}
\begin{corollary}
Here is a corollary.
\end{corollary}
\listoftheorems
\end{document}