“这个符号在 LaTeX 里怎么输入?”——一旦开始写数学,几乎总会遇到这个问题。寻找答案的工具大致可以归为四类。首先是 amssymb 包,它补足了标准 LaTeX 中缺少的大多数符号。其次是 Scott Pakin 的 Comprehensive LaTeX Symbol List,按包和主题收录了约 25,000 个符号。还有可以 手绘符号来查找命令名的 Detexius(Detexify)。最后是 mathcomp/textcomp,用于在数学模式中使用单位、温度等直立符号。本页整理的不是又一张单独的符号表,而是这套“寻找符号的工具箱”,并引向各分类的详细查询页。
amssymb — 标准之后加载的包
当你要找的符号不在标准 LaTeX 中时,首先应尝试 amssymb。这是美国数学会(AMS)提供的包,只要在导言区写一行 \usepackage{amssymb},就能使用数百个额外符号。它与 amsmath 不同:可以这样区分,amsmath 负责数学内容的 结构(对齐环境、分数机制等),而 amssymb 增加的是 符号本身。
简单说一下内部机制。加载 amssymb 时,它会在内部调用 AMSFonts 的 amsfonts 包,从而设置两个 AMS 符号字体 msam 和 msbm。amssymb.sty 这个文件负责 给这些字体中的字形命名。因此,仅 \usepackage{amssymb} 就会同时带来 amsfonts 提供的内容,包括 \mathbb(blackboard bold)、\mathfrak(Fraktur),以及 \checkmark、\hbar 等符号(严格来说这些定义属于 amsfonts,但因为 amssymb 会加载它,所以无需另行指定)。
amssymb 增加的符号大致分为五类。记住这些分类,就能判断目标符号是否可能在这里。
- 追加关系符。 标准关系符的变体和近亲:
\leqslant(倾斜的“小于等于”)与\geqslant、\lesssim与\gtrsim、双线的\subseteqq与\supseteqq等。 - 否定关系符。 已经画好斜杠的专用符号:
\nleq(不小于等于)、\ngeq、\nsim、\nsubseteq、\nmid(不整除)等。 - 追加箭头。 装饰性箭头,如
\twoheadrightarrow(双头 = 满射)、\rightrightarrows(并排双箭头)、\rightsquigarrow(波浪箭头)、\dashrightarrow(虚线箭头)等。 - 杂项符号。
\varnothing(圆形空集)、\square/\blacksquare、\complement、\nexists、\circledast等。 - 希伯来字母。
\beth、\gimel、\daleth(用于基数)。注意只有\aleph已经在标准 LaTeX 中。
\usepackage{amssymb} % 追加の関係子・否定・矢印・雑記号・ヘブライ文字
% ...
\[ 0 \leqslant x \lesssim 1, \qquad a \nmid b, \qquad A \subseteqq B \]
\[ f \colon X \twoheadrightarrow Y, \qquad \varnothing \ne S, \qquad \aleph_0 < \beth_1 \]amssymb 的关系符和否定(代表例)
关系符变体和否定形是 amssymb 中最常用的类别之一。下面列出一些代表例(并不穷尽;都需要 amssymb)。在数学中,用倾斜的 \leqslant(⩽)来排“小于等于”很常见;否定时,与临时写 \not\leq 相比,使用一开始就带斜杠的专用符号字形更整洁。
| 命令 | 字形 | 含义(均需 amssymb) |
|---|---|---|
\leqslant | ⩽ | 小于等于(倾斜变体) |
\geqslant | ⩾ | 大于等于(倾斜变体) |
\lesssim | ≲ | 小于或近似于 |
\gtrsim | ≳ | 大于或近似于 |
\subseteqq | ⫅ | 子集,带双等号线 |
\nleq | ≰ | 不小于等于 |
\ngeq | ≱ | 不大于等于 |
\nsim | ≁ | 不相似 |
\nsubseteq | ⊈ | 不是子集或相等 |
\nmid | ∤ | 不整除 |
\nparallel | ∦ | 不平行 |
没有专用否定符号的关系符,可以在前面加 \not 临时否定(例如 \not\equiv)。不过 \not 的斜杠大小和倾斜角度固定,叠在某些符号上会显得别扭。\ne(≠)和 \notin(∉)在标准 LaTeX 中已有专用命令,因此它们既不需要 amssymb,也不需要 \not。关系符类别的间距以及 \not 的详细用法,在“关系符”页中说明。
amssymb 的箭头、杂项符号和希伯来字母
另外三类也列出一些代表例(均为 amssymb)。箭头中常见的有表示满射的双头 \twoheadrightarrow(↠)、表示单射的带尾 \rightarrowtail(↣),以及波浪线的 \rightsquigarrow(⇝)。杂项符号中,常用的是圆形空集 \varnothing(∅)、用于证明结束 □ 的 \square,以及表示补集的 \complement。
| 命令 | 字形 | 含义 / 备注(均需 amssymb) |
|---|---|---|
\twoheadrightarrow | ↠ | 双头右箭头;满射 |
\rightarrowtail | ↣ | 带尾右箭头;单射 |
\rightrightarrows | ⇉ | 并排两个右箭头 |
\rightsquigarrow | ⇝ | 波浪右箭头 |
\varnothing | ∅ | 圆形空集(\emptyset 的变体) |
\square | □ | 白方块 / 证明结束(QED) |
\blacksquare | ■ | 黑方块 |
\complement | ∁ | 集合补集 |
\nexists | ∄ | 不存在(∃ 的否定) |
\checkmark | ✓ | 复选标记(来自 amsfonts) |
\beth | ℶ | 希伯来字母 beth(基数) |
\gimel | ℷ | 希伯来字母 gimel |
\daleth | ℸ | 希伯来字母 daleth |
希伯来字母用于集合论中的基数(无限势)。只有 \aleph(ℵ)属于标准 LaTeX;后续的 \beth、\gimel 和 \daleth 需要 amssymb。\digamma(ϝ)和 \varkappa(ϰ)这样的希腊字母变体也由 amssymb 提供(见希腊字母页)。各类别的完整列表在“箭头”“杂项符号”和“关系符”各页中;这个元页面只是告诉你该去哪里找。
Comprehensive LaTeX Symbol List(权威总目录)
当某个符号连 amssymb 中也没有,或者你需要查明它属于哪个包时,Scott Pakin 的 The Comprehensive LaTeX Symbol List 就是权威参考。它把 LaTeX 可用的符号 按包和主题 排列,收录数量随版本持续增长,截至 2026 年已达到 约 25,000 个(相比 2020 年约 14,600 个大幅增加)。每个符号都以表格给出字形、命令名和所需包,末尾还附有索引。
它随 TeX Live 和 MiKTeX 标准附带,因此即使没有网络也可以在本地打开。在终端输入下面的命令,会用查看器打开已安装的 PDF。在 CTAN 上它名为 comprehensive,PDF 文件名是 symbols-a4.pdf(A4)和 symbols-letter.pdf(letter)。
# インストール済みの「記号網羅一覧」を開く / open the installed symbol list
texdoc comprehensive
# ファイル名を直接指定してもよい / or name the file directly
texdoc symbols-a4使用诀窍是:先从主题章节缩小范围,再在按包排列的表中确认命令名。例如“电路符号”“国际象棋棋子”“天文符号”等跨领域符号也都能在这里找到。不过要注意,列表中的许多符号只有在 另行安装专用字体或包 后才能使用;该列表开头也明确说明,并非所有符号都能在标准环境中使用。它采用 LPPL(LaTeX Project Public License)发布。
Detexify — 画出符号来查命令
当你不知道符号名称,也不知道它属于哪个领域,但 知道它的形状 时,Detexify 很有用。这是 Daniel Kirsch 制作的网页应用,你可以用鼠标或手指在框中画出符号,它会按相似度列出接近的 LaTeX 命令候选。遇到“这个弯箭头叫什么命令来着?”这样的情况时,它往往比逐行翻纸质列表快得多。
每个候选项还会显示该命令是否属于标准 LaTeX,或者 需要哪个包,例如 amssymb。由于它识别的是手绘图形,不一定第一次就命中;但如果你告诉它哪个候选项是正确的,这会反馈给识别模型,之后精度会逐步提高。官方网站是 detexify.kirelabs.org。对于想在本地使用的人,也有一些基于同类思路的桌面 / 移动应用。
mathcomp / textcomp — 直立的单位和符号
还有一类容易被忘记的工具:textcomp 及其数学模式版本 mathcomp。textcomp 启用名为 TS1(Text Companion) 的额外编码,使正文(text mode)中可以输出度符号 \textdegree(°)、千分号 \textperthousand(‰)、欧姆 \textohm(Ω)、微符号 \textmu(µ)、摄氏 \textcelsius(℃)等。现代 LaTeX 已将其中许多并入内核,但旧文档或某些字体仍可能需要显式加载。
不过,有时你想在 数学模式中 使用这些符号。例如单位“µm”应使用 直立的 µ,而不是斜体变量。这正是 mathcomp 的用途:它把 textcomp 的 \text… 符号重新提供为一组面向数学模式的 \tc…(text companion)命令。命名规则很简单:把 text 换成 tc,所以 \textmu 变成 \tcmu,\textdegree 变成 \tcdegree。
| 命令(mathcomp) | 字形 | 含义 |
|---|---|---|
\tcohm | Ω | 欧姆(电阻单位);直立 |
\tcmu | µ | 微符号(µm 中的 µ);直立 |
\tcdegree | ° | 度符号 |
\tccelsius | ℃ | 摄氏度(\tccentigrade 同义) |
\tcperthousand | ‰ | 千分号(千分率) |
\tcpertenthousand | ‱ | 万分号(基点) |
加载只需 \usepackage{mathcomp},它会在内部调用 textcomp。可以通过选项指定字体族(例如 \usepackage[ppl]{mathcomp} 使用 Palatino 的 TC 字体),还可用 \tcdigitoldstyle{0} … \tcdigitoldstyle{9} 得到旧式数字。注意 \tcohm(Ω)不同于希腊大写字母 \Omega;前者才是正式单位符号。若要认真排版单位,专用的 siunitx 包往往更合适;这在“单位(siunitx)”页中介绍。若使用 XeLaTeX / LuaLaTeX 并希望使用 OpenType 数学字体,Will Robertson 等人的 unicode-math 包是另一条路线,它可通过与 Unicode 名称对应的命令(如 \mforall)调用符号;它不适用于 pdfLaTeX。