理解新定理和新环境之间的差异

理解新定理和新环境之间的差异

我遇到的困难是我提出了一个新定理:

\newtheorem{definition}[theorem]{Definition}

然而,它的行为似乎与新环境几乎相同:

\newenvironment{definition}[1][Definition]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}

那么我为什么要使用其中一个呢?

至于如何操纵它们,我找到了newtheorem各种参数组合的资源,例如:

\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}

它看起来与设置类似newenvironment,只是我们在 [Definition] 前面有一个 [1],newenvironment我猜它接受一个参数,因此可以扩展到多个。此外,在 newenvironment 的第 3 项中似乎定义了一堆东西,其中 -\begin{trivlist}\item[\hskip \labelsep {\bfseries #1}]{\end{trivlist} 已定义。snewtheorem参数是否已在系统中定义,或者无法扩展到多个参数 - 这是区别之一吗?

无论如何,我只是想弄清楚何时使用newtheorem以及何时使用newenvironment

答案1

尽管\newtheorem实际上与相似,但\newenvironment它们是不同的:\newtheorem专门设计用于定义特定类型的环境:类定理结构而\newenvironment允许您定义任意环境。

定理类结构通常具有头部(由名称和数字组成)和主体(结构的实际内容)。当然,您可以使用“从头”定义定理类结构\newenvironment,但\newtheorem会做出一系列规定,以便轻松解释表征此类结构的不同格式元素。例如,只需使用

\newtheorem{theo}{Theorem}

进而

\begin{theo}
Theorem text.
\end{theo}

您将获得一个带有自动编号的粗体标题,正文将使用斜体排版。此外,使用定义的环境\newtheorem有一个可选参数,允许您为定理指定名称(或注释)。请看以下示例:

\documentclass{article}

\newtheorem{theo}{Theorem}

\begin{document}

\begin{theo}
Theorem text.
\end{theo}

\begin{theo}[Fundamental theorem of algebra]
Theorem text.
\end{theo}

\end{document}

在此处输入图片描述

有许多软件包扩展了内核\newthereom命令的功能;最受欢迎的是:

答案定理包:使用哪一个,哪些会冲突?显示这些包之间的良好比较。

关于句法方面,this answer理解 newtheorem 中的参数,例如 \newtheorem{theorem}{Theorem}[section]芭芭拉·比顿已经解释了语法\newtheorem;可以在中找到类似的解释this other answer使用 \newtheorem; 的语法解释\newenvironment可以在this answer将 \newenvironment、\newcounter 放在文档类中的目的是什么?

相关内容