LaTeX/定理
用“定理”,我们可以指代任何我们想要将其从文本中分离出来的带标签的陈述,并在其旁边显示顺序编号。这种方法通常用于数学定理,但可以用于任何内容。LaTeX 提供了一个命令,可以让你轻松地定义任何类似定理的陈述。
首先,确保你启用了 amsthm 包。
\usepackage{amsthm}
最简单的方法如下
\newtheorem{name}{Printed output}
将它放在序言中。第一个参数是你用来引用它的名称,第二个参数是 LaTeX 在你使用它时会打印的输出。例如
\newtheorem{mydef}{Definition}
将定义 mydef
环境;如果你像这样使用它
\begin{mydef}
Here is a new definition
\end{mydef}
它将看起来像这样
用换行符将其与文本的其余部分分开。
通常,计数器由节决定,例如,“定理 2.3” 指的是文档第 2 节中的第 3 个定理。在这种情况下,在序言中指定定理如下
\newtheorem{theorem}{Theorem}[section]
并在需要时使用它
\begin{theorem}
If $A$ is positive definite symmetric,
\end{theorem}
或者,使用一个通用的“名称”来输出“打印的输出”,添加“numberby”
\newtheorem{name}{Printed output}[numberby]
其中 numberby 是要进行编号的 节级别(节/小节/等)。
默认情况下,每个定理都使用它自己的计数器。但是,类似类型的定理(例如定理、引理和推论)通常共享一个计数器。在这种情况下,将后续定理定义为
\newtheorem{name}[counter]{Printed output}
其中 counter 是要使用的计数器的名称。通常,这将是主定理的名称。
\newtheorem 命令最多可以有一个可选参数。
你也可以使用 newtheorem*
命令[1] 创建一个不编号的定理环境。例如,
\newtheorem*{mydef}{Definition}
定义了 mydef
环境,它将生成不带编号的定义。这需要 amsthm
包。
proof
环境[1] 可用于添加定理的证明。基本用法是
\begin{proof}
Here is my proof
\end{proof}
它只是在作为参数给出的文本开头添加斜体的 Proof,并在结尾添加一个白色正方形 (Q.E.D. 符号,也称为 墓碑符号)。如果你用的是英语以外的语言,只需使用带正确参数的 babel,输出中打印的 Proof 字样就会相应地翻译;无论如何,在源代码中,环境的名称仍然是 proof
。
如果你想手动命名证明,将名称包含在方括号中
\begin{proof}[Proof of important theorem]
Here is my important proof
\end{proof}
如果证明的最后一行是显示数学公式,则 Q.E.D. 符号将出现在后续的空行中。要在最后一行末尾放置 Q.E.D. 符号,请使用 \qedhere
命令
\begin{proof}
Here is my proof:
\[
a^2 + b^2 = c^2 \qedhere
\]
\end{proof}
上述方法不适用于已弃用的 eqnarray*
环境。请改用 align*
。
要使用自定义 Q.E.D. 符号,请重新定义\qedsymbol命令。要完全隐藏 Q.E.D. 符号,请将其重新定义为空
\renewcommand{\qedsymbol}{}
它增加了通过使用标题中的 \theoremstyle
命令[1] 来更改 \newtheorem
定义的环境的输出的可能性
\theoremstyle{stylename}
参数是要使用的样式。所有后续定义的定理都将使用此样式。以下是可能的预定义样式列表
stylename | 描述 | 外观 |
---|---|---|
plain | 用于定理、引理、命题等(默认) | 定理 1. 定理文本。 |
definition | 用于定义和示例 | 定义 2. 定义文本。 |
remark | 用于备注和注释 | 备注 3. 备注文本。 |
要定义你自己的样式,请使用 \newtheoremstyle
命令[1]
\newtheoremstyle{stylename}% name of the style to be used
{spaceabove}% measure of space to leave above the theorem. E.g.: 3pt
{spacebelow}% measure of space to leave below the theorem. E.g.: 3pt
{bodyfont}% name of font to use in the body of the theorem
{indent}% measure of space to indent
{headfont}% name of head font
{headpunctuation}% punctuation between head and body
{headspace}% space after theorem head; " " = normal interword space
{headspec}% Manually specify head
(任何留空的参数都将假设其默认值)。以下是一个示例 headspec
\thmname{#1}\thmnumber{ #2}:\thmnote{ #3}
它看起来像这样
定义 2:拓扑
对于以下内容
\begin{definition}[Topology]...
(注释参数,在本例中是拓扑,始终是可选的,但默认情况下不会出现,除非你像上面在头部规范中指定的那样。)
定理环境与其他环境冲突,例如 wrapfigure。一种解决方法是重新定义定理,例如以下方式
% Fix latex
\def\smallskip{\vskip\smallskipamount}
\def\medskip{\vskip\medskipamount}
\def\bigskip{\vskip\bigskipamount}
% Hand made theorem
\newcounter{thm}[section]
\renewcommand{\thethm}{\thesection.\arabic{thm}}
\def\claim#1{\par\medskip\noindent\refstepcounter{thm}\hbox{\bf \arabic{chapter}.\arabic{section}.\arabic{thm}. #1.}
\it\ %\ignorespaces
}
\def\endclaim{
\par\medskip}
\newenvironment{thm}{\claim}{\endclaim}
在这种情况下,定理看起来像
\begin{thm}{Claim}\label{lyt-prob}
Let it be.
Then you know.
\end{thm}