跳到主要内容

mathematical-formulas-symbols

数学公式与符号

数学排版是LaTeX皇冠上的明珠,也是大多数人选择它的第一理由。 本篇覆盖数学公式的地基:行内与行间公式、上下标、分数、根号、希腊字母与常用符号表。

文中每个「写法 \to 效果」对照均为实时渲染,你在文档中看到的效果,就是 LaTeX 排出来的样子。

行内公式与行间公式

公式只有两种存在形态:嵌在句子里的行内公式,用一对 $ 包住;独立成行居中的行间公式,用 \[\] 包住。

\documentclass{ctexart}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
一元二次方程 $ax^2 + bx + c = 0$ 的求根公式为
\[
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a},
\]
其中判别式 $\Delta = b^2 - 4ac$ 决定根的个数。
\end{document}

行内公式与行间公式效果

形态写法效果什么时候用
行内公式$...$与文字同高,嵌在句中简单、被句子引用的公式
行间公式\[...\]独立成行、居中、字号更大重要公式、复杂公式

两个习惯要避免:一是用旧式 $$...$$ 写行间公式,它对间距的控制有缺陷,统一用 \[...\];二是一个句子被行间公式打断后,行间公式前不要有空行——公式还在句子里,没有分段。

上下标

^ 是上标,_ 是下标,都只作用于紧随其后的一个字符或一个花括号组。

写法渲染结果
x^2x2x^2
a_{ij}aija_{ij}
2^{n+1}2n+12^{n+1}
x_i^2xi2x_i^2
x^{i^2}xi2x^{i^2}
e^{-t}ete^{-t}

对比第四、五行的写法:x_i^2 是「第 i 个 x 的平方」,x^{i^2} 是「x 的 i2i^2 次方」——花括号决定了作用的范围,差之毫厘谬以千里。

上下标多于一个字符就必须加花括号。\hat{x}10 会被排成 x^10\hat{x}10(x加帽子,后面直接跟数字10,不是上标),正确写法是 \hat{x}^{10},最终排版为 x^10\hat{x}^{10}

分数与根号

\frac{分子}{分母} 生成分数,\sqrt{被开方数} 生成根号,n 次根写成 \sqrt[n]{...}

写法渲染结果
\frac{a+b}{c}a+bc\frac{a+b}{c}
\frac{1}{1+\frac{1}{x}}11+1x\frac{1}{1+\frac{1}{x}}
\sqrt{2}2\sqrt{2}
\sqrt[3]{x^2+1}x2+13\sqrt[3]{x^2+1}
(\frac{a}{b})(ab)(\frac{a}{b})
\left(\frac{a}{b}\right)(ab)\left(\frac{a}{b}\right)

最后一对值得专门记:普通括号不会随着内容长高,\left(\right) 让括号自动适配内容高度,包分数、包矩阵时必用。

行内公式里的分数会被自动压缩(分母下移、字号变小),如果嫌它太小,把 \frac 换成 \dfrac(display frac),分数就会保持行间的大小。

希腊字母

希腊字母的命令就是「反斜杠 + 英文名」,大小写靠命令首字母控制。

小写希腊字母

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

大写希腊字母

命令效果命令效果
\GammaΓ\Gamma\DeltaΔ\Delta
\SigmaΣ\Sigma\OmegaΩ\Omega

注意两点:大写命令仅首字母大写(\Sigma 不是 \SIGMA);\epsilon\varepsilon\phi\varphi 是同一字母的两种字形,数学惯例各有用途,论文里保持统一即可。

常用符号速查

高频符号按用途分三张表,效果列均为实时渲染。

命令效果命令效果
\times×\times\div÷\div
\pm±\pm\mp\mp
\cdot\cdot\leq\leq
\geq\geq\neq\neq
\approx\approx\equiv\equiv
\ll\ll\gg\gg
命令效果命令效果
\in\in\notin\notin
\subset\subset\subseteq\subseteq
\cup\cup\cap\cap
\emptyset\emptyset\infty\infty
\forall\forall\exists\exists
\Rightarrow\Rightarrow\Leftrightarrow\Leftrightarrow
命令效果命令效果
\partial\partial\nabla\nabla
\to\to\mapsto\mapsto
\mathrm{d}xdx\mathrm{d}x\hat{x}x^\hat{x}
\bar{x}xˉ\bar{x}\vec{x}x\vec{x}

大运算符:求和、积分、极限

\sum\int\lim 是三个最常用的大运算符,配合上下标使用。

\sum_{i=1}^n i = \frac{n(n+1)}{2} \\[1em]
\int_{0}^{\infty} e^{-x^2} \mathrm{d}x = \frac{\sqrt{\pi}}{2} \\[1em]
\lim_{n\to\infty} \left(1+\frac{1}{n}\right)^n = e
i=1ni=n(n+1)20ex2dx=π2limn(1+1n)n=e\sum_{i=1}^n i = \frac{n(n+1)}{2} \\[1em] \int_{0}^{\infty} e^{-x^2} \mathrm{d}x = \frac{\sqrt{\pi}}{2} \\[1em] \lim_{n\to\infty} \left(1+\frac{1}{n}\right)^n = e

行间公式里,求和号的上下标位于符号正上/正下方;放进行内公式时会自动压缩到侧边。若在行内也想保持「上下」形态,外面套一层 \displaystyle 即可。

两个必备宏包:amsmath 与 amssymb

amsmathamssymb 是数学排版的「官方扩展库」,写公式前建议加载。

宏包提供什么
amsmath更多公式环境(align 等,第7篇)、\dfrac / \tfrac、公式编号控制
amssymb扩展数学符号,如 \mathbb 空心字体

数学里常用的字体效果命令也来自这两个宏包:

写法效果
\mathbb{R}R\mathbb{R}
\mathcal{F}F\mathcal{F}
\vec{v}v\vec{v}
\mathrm{e}^{\mathrm{i}\pi}eiπ\mathrm{e}^{\mathrm{i}\pi}

最后一行是个排版细节:自然对数的底e、虚数单位i,如果直接写,会被当作变量排成斜体;用 \mathrm{} 包住排成正体,才符合出版规范。 公式里不要出现中文和全角标点。$\(\alpha\)+\(\beta\)$ 这样用输入法打出来的全角加号、Unicode希腊字母,都是错误用法——公式内容必须用命令输入,中文说明放在 $ 之外。

综合示例:真实文档编译

把本篇内容放进一份完整文档里编译:

\documentclass{ctexart}
\usepackage{amsmath} % 数学公式增强宏包,公式排版标配
\usepackage{amssymb}
\begin{document}

一元二次方程 $ax^2 + bx + c = 0$ 的求根公式为
\[
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a},
\]
其中判别式 $\Delta = b^2 - 4ac$ 决定根的个数。

数学中最优美的公式当属欧拉公式
\[
\mathrm{e}^{\mathrm{i}\pi} + 1 = 0,
\]
它把五个最重要的常数联系在了一起。

\end{document}

综合示例编译效果

小结

需求写法
行内公式$...$
行间公式\[...\]
上下标\(\hat{x}\){10}、a_{ij}(多字符必须花括号)
分数/根号\frac{a}{b}\sqrt[n]{x}
自适应括号\left( \right)
行内大分数\dfrac{a}{b}
正体字符\mathrm{e}