KaTeX语法速查:100个常用命令与渲染效果

更新于

KaTeX语法就是 LaTeX 数学公式的写法:反斜杠开头的命令加花括号参数,行内公式用一对 $ 包住,独立成行的公式用 $$ 包住。本文把最常用的 100 个命令按 9 类排成速查表,符号类直接给出渲染出来的字符,结构类和字体类的效果放在表后两张渲染图里。报错原文都取自 KaTeX 0.16.9,版本不同时措辞可能略有出入。

100 个常用命令速查表

表里「效果」列是渲染后的字符;结构类命令没法用一个字符表示,就先写出它排出来的形状,再看表后的渲染图。

希腊字母(18 个)

命令 效果 命令 效果
\alpha α \beta β
\gamma γ \delta δ
\epsilon ϵ \varepsilon ε
\theta θ \lambda λ
\mu μ \pi π
\sigma σ \phi ϕ
\varphi φ \omega ω
\Gamma Γ \Delta Δ
\Sigma Σ \Omega Ω

运算符与关系符(20 个)

命令 效果 命令 效果
\times × \div ÷
\pm ± \mp ∓
\cdot · \cup ∪
\cap ∩ \le ≤
\ge ≥ \ne ≠
\approx ≈ \equiv ≡
\sim ∼ \propto ∝
\in ∈ \notin ∉
\subset ⊂ \subseteq ⊆
\perp ⊥ \parallel ∥

箭头(8 个)

命令 效果 命令 效果
\to → \leftarrow ←
\Rightarrow ⇒ \Leftrightarrow ⇔
\mapsto ↦ \uparrow ↑
\longrightarrow ⟶ \xrightarrow{k} 箭头上方写 k

结构(12 个)

命令 效果 命令 效果
x^{2} x² x_{i} xᵢ
\frac{a}{b} 上 a 下 b 的分式 \dfrac{a}{b} 行内也按大号排的分式
\sqrt{x} √x \sqrt[3]{x} ∛x
\binom{n}{k} 组合数,括号里上下两行 \overline{AB} AB 上加一道横线
\vec{v} v 上加箭头 \hat{x} x̂
\bar{x} x̄ \dot{x} ẋ

大型运算符与极限(10 个)

命令 效果 命令 效果
\sum ∑ \prod ∏
\int ∫ \iint ∬
\oint ∮ \lim lim
\max max \min min
\bigcup ⋃ \bigcap ⋂

函数名(8 个)

命令 效果 命令 效果
\sin 正体 sin \cos 正体 cos
\tan 正体 tan \log 正体 log
\ln 正体 ln \exp 正体 exp
\det 正体 det \operatorname{rank} 自定义正体函数名

括号与定界符(8 个)

命令 效果 命令 效果
\left( 与 \right) 随内容变高的圆括号 \{ 与 \} { }
\langle 与 \rangle ⟨ ⟩ \lfloor 与 \rfloor ⌊ ⌋
\lceil 与 \rceil ⌈ ⌉ \lVert 与 \rVert ‖ ‖
\big( 放大一档的括号 \Bigg( 放大四档的括号

字体(8 个)

命令 效果 命令 效果
\mathbb{R} ℝ \mathcal{L} 花体 L
\mathbf{x} 粗体 x \boldsymbol{\theta} 粗体 θ
\mathrm{d} 正体 d \text{中文} 公式里夹普通文字
\mathscr{F} 手写体 F \mathfrak{g} 哥特体 g

常用杂项符号(8 个)

命令 效果 命令 效果
\infty ∞ \partial ∂
\nabla ∇ \forall ∀
\exists ∃ \ldots …
\cdots ⋯ \quad 一个字宽的空白

用 \text{…} 包住的中文才会按正常文字显示,直接把汉字写进公式,字距和字体都会乱。

字体类命令最难靠文字描述,同一组大写字母换四种字体,差别一眼就能看出来:

八个大写字母在四种字体命令下的字形对照

结构类命令的实际样子如下,分式、根号、组合数和几种重音符号都在里面:

结构类 KaTeX 命令排出来的样子一览

按类别的用法示例

速查表解决「这个符号怎么打」,真正写公式时更容易出错的是结构嵌套。下面每类给一个完整例子,源码可以直接复制。

分式、根号、上下标组合在一起时,每一层参数都要单独用花括号包住:

\dfrac{\sqrt[3]{x}+1}{x^{2}-1}

编辑器里放大的根号套分式公式

积分的上下限写在 \int 后面,微分号 d 习惯用正体,前面加一个 \, 留出细空:

\int_{1}^{e}\frac{\ln x}{x}\,\mathrm{d}x=\frac{1}{2}

多行推导用 aligned 环境,& 标对齐位置,\\ 换行:

\begin{aligned} (x-2)(x+3)&=x^{2}+3x-2x-6\\ &=x^{2}+x-6 \end{aligned}

分段定义用 cases,每行的条件前面放 &,三段就写三行。符号函数写出来是这样:

\operatorname{sgn}(x)=\begin{cases} 1, & x>0\\ 0, & x=0\\ -1, & x<0 \end{cases}

用 cases 环境排出的三段符号函数

矩阵换括号只要换环境名:pmatrix 是圆括号,bmatrix 是方括号,vmatrix 是行列式的竖线。二维旋转矩阵:

\begin{pmatrix} \cos\theta & -\sin\theta\\ \sin\theta & \cos\theta \end{pmatrix}

常见报错与改法

KaTeX 解析失败时会显示报错原文,看懂下面五条就能定位大部分问题。

报错原文(节选) 原因 改法
Undefined control sequence: \foo 命令拼错,或 KaTeX 没有实现 查拼写;换成速查表里的写法
Expected '}', got 'EOF' 花括号少了右半个 从报错位置往前数括号
Double superscript 一个字母后面接了两次 ^ 把指数合并进一对花括号,或先加括号再写外层指数
Mismatch: \begin{matrix} matched by \end{pmatrix} 开头和结尾的环境名不一致 两处改成同一个名字
{align} can be used only in display mode. 把 align 写进了行内公式 改用 $$ 独立成行,或行内改用 aligned

还有两类问题不报错,但结果不对:sin x 会被排成三个斜体字母相乘,要写 \sin x;a_i,j 只把 i 放进下标,逗号和 j 留在正常高度,要写 a_{i,j}。

和 LaTeX 的差别

KaTeX 只负责把公式排出来,和完整的 LaTeX 相比,缺的主要是文档层面的功能。0.16.9 里,\usepackage、\label、\eqref、\SI 都会报 Undefined control sequence,tabular 会报 No such environment: tabular。公式编号用 \tag{1} 可以正常显示。

KaTeX 与完整 LaTeX 常见差别对照表

写网页或笔记时想先确认一条公式能不能排出来,可以把它贴进公式编辑器切到「LaTeX」模式,右侧立刻出预览,这一步免费且不用登录;编辑器的渲染引擎不是 KaTeX,个别命令的支持范围会有差别,最终以你要发布的平台为准。更多写法专题见站内公式写法教程。

拿不准的命令,最省事的做法是从本表挑几条正要用的,敲进编辑器「LaTeX」模式左侧,对照右侧预览一条条试,确认写法后再复制回自己的网页或笔记。

延伸阅读

常见问题

KaTeX和LaTeX语法一样吗?
公式部分基本一样。KaTeX 实现的是 LaTeX 数学模式里常用的那一部分命令,分式、根号、上下标、求和积分、矩阵与分段函数的写法完全相同;差别在于它只排公式,不处理整篇文档,也不能加载宏包。
哪些命令KaTeX不支持?
常见的有四类:加载宏包的命令、tabular 这类文本表格环境、公式编号引用的 label 与 eqref、siunitx 之类宏包提供的单位命令。遇到时多数报 Undefined control sequence,tabular 报 No such environment: tabular,改成 KaTeX 已支持的写法即可,例如编号用 tag。