LaTex 系列 - 5. `amsthm` 定理环境编号

1. 美国数学学会 AMS 提供的 “定理类环境” LaTeX 宏包 – amsthm

amsthm 是 美国数学学会 AMS 提供的 LaTeX 宏包,专门用来处理:

  • 定理 / 引理 / 命题 / 推论等 “定理类环境” 的定义和编号

  • proof(证明环境)的排版

  • 不同风格的定理格式(斜体/正常体/备注型)

  • 可以理解成:“让定理环境更好用、更好看”的官方标准包。

2. 定理环境的编号

2.1 case 1

1
2
3
4
\usepackage{amsthm}
\newtheorem{thm}{定理}[section] % [section]:随 section 重置
% {定理}:"定理 3.1"
% {thm}:\begin{thm}...\end{thm}

2.2 case 2

1
2
3
4
\usepackage{amsthm}
\newtheorem{thm}{定理} % {thm}:\begin{thm}...\end{thm}
% {定理}:"定理 1"
% 定理号不随 section 重置

2.3 case 3

1
2
3
4
\usepackage{amsthm}
\newtheorem{thm}{定理} % {thm}:\begin{thm}...\end{thm}
% {定理}:"定理 1"
\numberwithin{thm}{section} % 定理号随 section 重置

2.4 case 4

1
2
3
\usepackage{amsthm}
\newtheorem{thm}{定理}
\newtheorem{lem}[thm]{引理}

文中顺序是:

1
2
3
4
\begin{thm} ... \end{thm}
\begin{lem} ... \end{lem}
\begin{thm} ... \end{thm}
\begin{lem} ... \end{lem}
编号会是:
1
2
3
4
定理 1
引理 2
定理 3
引理 4

2.5 case 5

1
2
\newtheorem{thm}{定理}[section]   % 或者 \numberwithin{thm}{section}
\newtheorem{lem}[thm]{引理}

Section 3 中顺序是:

1
2
3
4
\begin{thm} ... \end{thm}
\begin{lem} ... \end{lem}
\begin{thm} ... \end{thm}
\begin{lem} ... \end{lem}
编号会是:
1
2
3
4
定理 3.1
引理 3.2
定理 3.3
引理 3.4

2.6 case 6 希望它们“各自”从 1 开始

1
2
\newtheorem{thm}{定理}   % 定理 1, 2, 3, ...
\newtheorem{lem}{引理} % 引理 1, 2, 3, ...

文中:

1
2
3
4
\begin{thm} ... \end{thm}    % 定理 1
\begin{lem} ... \end{lem} % 引理 1
\begin{thm} ... \end{thm} % 定理 2
\begin{lem} ... \end{lem} % 引理 2
编号会是:
1
2
3
4
定理 1
引理 1
定理 2
引理 2

2.7 case 7 按章节重置且各自从 1 开始

1
2
\newtheorem{thm}{定理}[section]   % 定理 3.1, 3.2, 4.1, ...
\newtheorem{lem}{引理}[section] % 引理 3.1, 3.2, 4.1, ...

3. 证明 proof 环境

写证明时不用自己手敲 “证明.”,“□” 等:

1
2
3
\begin{proof}
这是证明内容……
\end{proof}
会自动排成类似:
1
证明. 这是证明内容…… □

你也可以改成英文 “Proof.”,或者自定义名字:

1
2
3
4
5
6
\begin{proof}[定理3的证明]
这是证明内容…… □
\end{proof}
\begin{proof}[解]
这是求解过程…… □
\end{proof}
会自动排成类似:
1
2
定理3的证明. 这是证明内容…… □
解. 这是求解过程…… □

4. 修改定理风格

三种常见风格:

1
2
3
4
5
6
7
8
\theoremstyle{plain}       % 粗体标题 + 斜体正文(默认,适合 Theorem/Lemma)
\newtheorem{thm}{定理}

\theoremstyle{definition} % 粗体标题 + 正文字体(适合 Definition)
\newtheorem{defn}{定义}

\theoremstyle{remark} % 斜体标题 + 正文字体(适合 Remark/Note)
\newtheorem{rem}{注}

这样可以轻松实现“定理是斜体、定义是正体、备注是小字”的常见数学排版规范。

5. 拓展

5.1 amsthm普通 LaTeX 有什么关系?

LaTeX 本身也有一个 \newtheorem,但功能比较简单。

amsthm 在此基础上扩展了:

  • 多种 \theoremstyle

  • 更灵活的编号方式

  • 标准的 proof 环境

绝大多数数学论文/讲义都默认加载 amsthm(或者基于它的更高级包)。

5.2 数学定理环境包汇总

功能类似包

  • amsthmAMS 官方,简洁、稳定、最常用;大部分期刊模板都会直接用它。

  • ntheorem:功能更强,能统一定理/证明/脚注等样式,但略复杂,有时和其他宏包冲突。

  • thmtools:在 amsthm 上再封一层,提供更高级的接口(自动列表、reference name 等)。

如果只是正常写数学讲义 / 论文,直接用 amsthm 就足够了。


LaTex 系列 - 5. `amsthm` 定理环境编号
http://yylustb.github.io/2025/11/20/code/Latex/latex_5-thm_number-2025-11-20/
作者
yylustb
发布于
2025年11月20日
许可协议