数学公式
Markdown 支持使用 LaTeX 语法编写数学公式,通过 MathJax 或 KaTeX 渲染。数学公式是技术文档、学术论文、科学计算领域不可或缺的组成部分。
本章将详细介绍如何在 Markdown 中编写专业级的数学公式。
基本语法
数学公式分为行内公式和块级公式两种形式,两者的区别在于公式的显示位置和排版方式。
行内公式
行内公式嵌入在正文文字中,使用单个美元符号 $ 包围:
质能方程 $E = mc^2$ 揭示了质量和能量的等价关系。
二次方程的求根公式是 $x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$。
渲染效果:质能方程 揭示了质量和能量的等价关系。二次方程的求根公式是 。
何时使用行内公式:
- 简短的数学表达式
- 在句子中引用的变量或符号
- 不需要单独强调的公式
块级公式
块级公式独占一行或多行,使用双美元符号 $$ 包围,适合复杂的公式:
$$
E = mc^2
$$
渲染效果:
何时使用块级公式:
- 重要或复杂的公式
- 需要编号的公式
- 多行对齐的公式组
- 矩阵、方程组等大型结构
公式编号
部分渲染器支持公式编号,使用 \tag{} 命令:
$$
E = mc^2 \tag{1}
$$
渲染效果:
希腊字母
希腊字母是数学和科学表达中最常用的符号,分为大小写两种形式。
小写希腊字母
| 字母 | 语法 | 字母 | 语法 | 字母 | 语法 |
|---|---|---|---|---|---|
\alpha | \beta | \gamma | |||
\delta | \epsilon | \zeta | |||
\eta | \theta | \iota | |||
\kappa | \lambda | \mu | |||
\nu | \xi | \pi | |||
\rho | \sigma | \tau | |||
\upsilon | \phi | \chi | |||
\psi | \omega |
大写希腊字母
大写希腊字母只需将首字母大写:
| 字母 | 语法 | 字母 | 语法 | 字母 | 语法 |
|---|---|---|---|---|---|
\Gamma | \Delta | \Theta | |||
\Lambda | \Xi | \Pi | |||
\Sigma | \Phi | \Psi | |||
\Omega |
变体希腊字母
某些希腊字母有变体形式:
$\epsilon$ 与 $\varepsilon$
$\theta$ 与 $\vartheta$
$\pi$ 与 $\varpi$
$\rho$ 与 $\varrho$
$\sigma$ 与 $\varsigma$
$\phi$ 与 $\varphi$
渲染效果: 与 , 与 , 与
使用建议: 在数学文献中, 常用于表示"小量", 常用于表示角度。
上下标与修饰符
上标
使用 ^ 表示上标,上标可以是单个字符或用花括号包围的多个字符:
$x^2$ 平方
$x^{10}$ 多字符上标
$x^{n+1}$ 表达式上标
$e^{i\pi} + 1 = 0$ 欧拉公式
渲染效果:,,,
下标
使用 _ 表示下标,规则与上标相同:
$x_1$ 单字符下标
$x_{i,j}$ 多字符下标
$a_{n-1}$ 表达式下标
$\sum_{i=1}^{n}$ 同时使用上下标
渲染效果:,,,
上下标组合
$x_1^2$ 先下后上
$^{13}C$ 左上标(同位素)
$_{92}U$ 左下标(原子序数)
${}_{i}^{j}A$ 左上左下标
渲染效果:,,,
导数与撇号
$f'$ 一阶导数
$f''$ 二阶导数
$f^{(n)}$ n 阶导数
$\dot{x}$ 一阶时间导数
$\ddot{x}$ 二阶时间导数
渲染效果:,,,,
向量与平均
$\vec{a}$ 向量(箭头)
$\bar{x}$ 平均值
$\hat{x}$ 估计值
$\tilde{x}$ 变量变体
$\widehat{AB}$ 宽帽子
$\overline{AB}$ 上划线
$\underline{AB}$ 下划线
渲染效果:,,,,,,
运算符号
基本运算符
| 符号 | 语法 | 说明 | 示例 |
|---|---|---|---|
+ | 加法 | ||
- | 减法 | ||
\times | 乘法 | ||
\div | 除法 | ||
\cdot | 点乘 | ||
\pm | 加减 | ||
\mp | 减加 |
高级运算符
$\ast$ 星号
$\star$ 五角星
$\circ$ 圆圈
$\bullet$ 实心圆点
$\oplus$ 圈加
$\otimes$ 圈乘
$\odot$ 圈点
$\dagger$ 匕首
$\ddagger$ 双匕首
渲染效果:,,,,,,
关系符号
比较关系
| 符号 | 语法 | 含义 |
|---|---|---|
= | 等于 | |
\neq | 不等于 | |
< | 小于 | |
> | 大于 | |
\leq | 小于等于 | |
\geq | 大于等于 | |
\ll | 远小于 | |
\gg | 远大于 |
近似与等价
$\approx$ 约等于
$\equiv$ 恒等于
$\sim$ 相似
$\simeq$ 相似或等于
$\cong$ 全等
$\propto$ 正比于
$\doteq$ 点等于
渲染效果:,,,,,
集合关系
$\in$ 属于
$\notin$ 不属于
$\ni$ 包含(元素视角)
$\subset$ 真子集
$\supset$ 真超集
$\subseteq$ 子集
$\supseteq$ 超集
$\cup$ 并集
$\cap$ 交集
$\setminus$ 差集
$\emptyset$ 空集
渲染效果:,,,,,,,
箭头符号
基本箭头
$\leftarrow$ 或 $\gets$ 左箭头
$\rightarrow$ 或 $\to$ 右箭头
$\leftrightarrow$ 双向箭头
$\Rightarrow$ 右双箭头
$\Leftarrow$ 左双箭头
$\Leftrightarrow$ 双向双箭头
渲染效果:,,,,,
长箭头
$\longrightarrow$ 长右箭头
$\Longrightarrow$ 长右双箭头
$\mapsto$ 映射箭头
$\longmapsto$ 长映射箭头
渲染效果:,,
方向箭头
$\uparrow$ $\downarrow$ $\updownarrow$
$\Uparrow$ $\Downarrow$ $\Updownarrow$
$\nearrow$ $\searrow$ $\swarrow$ $\nwarrow$
渲染效果:,,,
分数与根号
分数
分数使用 \frac{分子}{分母} 语法:
$\frac{1}{2}$ 简单分数
$\frac{a+b}{c+d}$ 复杂分数
$\frac{\frac{1}{x}+1}{y}$ 嵌套分数
渲染效果:,,
行内分数优化
行内公式中,分数可能显得拥挤,可以使用 \dfrac(display fraction):
普通:$\frac{a+b}{c+d}$
优化:$\dfrac{a+b}{c+d}$
连分数
$$
a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2 + \cfrac{1}{a_3}}}
$$
渲染效果:
根号
$\sqrt{2}$ 平方根
$\sqrt[3]{8}$ 立方根
$\sqrt[n]{x}$ n 次方根
$\sqrt{x^2+y^2}$ 复杂根式
渲染效果:,,,
求和、积分与极限
求和
求和符号使用 \sum,上下限用 _ 和 ^ 表示:
$\sum_{i=1}^{n} x_i$ 行内求和
$$
\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n
$$
渲染效果:
双重求和:
$$
\sum_{i=1}^{m} \sum_{j=1}^{n} a_{ij}
$$
渲染效果:
积分
积分使用 \int,定积分的上下限用 _ 和 ^ 表示:
$\int_{0}^{1} x^2 dx$ 定积分
$$
\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$
渲染效果:
多重积分:
$$
\iint_D f(x,y) dA \quad \iiint_V f(x,y,z) dV
$$
渲染效果:
环路积分:
$\oint_C \vec{F} \cdot d\vec{r}$ 闭合曲线积分
渲染效果:
极限
极限使用 \lim:
$\lim_{x \to 0} \frac{\sin x}{x} = 1$
$$
\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e
$$
渲染效果:
连乘
连乘使用 \prod:
$$
\prod_{i=1}^{n} x_i = x_1 \times x_2 \times \cdots \times x_n
$$
渲染效果:
三角函数与对数
三角函数
三角函数直接使用函数名(反斜杠前缀):
$\sin x$ $\cos x$ $\tan x$
$\cot x$ $\sec x$ $\csc x$
渲染效果:,,,
反三角函数:
$\arcsin x$ $\arccos x$ $\arctan x$
渲染效果:,,
双曲函数:
$\sinh x$ $\cosh x$ $\tanh x$
渲染效果:,,
对数函数
$\log x$ 对数
$\ln x$ 自然对数
$\lg x$ 常用对数
$\log_2 x$ 以 2 为底的对数
渲染效果:,,,
矩阵
矩阵是线性代数的核心内容,LaTeX 提供多种矩阵环境。
基本矩阵
使用 matrix 环境(无括号):
$$
\begin{matrix}
a & b \\
c & d
\end{matrix}
$$
渲染效果:
带括号的矩阵
不同环境对应不同括号样式:
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\quad
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
\quad
\begin{Bmatrix}
a & b \\
c & d
\end{Bmatrix}
$$
渲染效果:
pmatrix:圆括号bmatrix:方括号Bmatrix:花括号
行列式与范数
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
$$
渲染效果:
省略号
矩阵中使用省略号表示省略的元素:
$$
\begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{pmatrix}
$$
渲染效果:
省略号类型:
\cdots:水平居中省略号\ldots:水平底部省略号\vdots:垂直省略号\ddots:对角线省略号
增广矩阵
使用 array 环境创建增广矩阵:
$$
\left[
\begin{array}{ccc|c}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 10 & 11 & 12
\end{array}
\right]
$$
渲染效果:
方程组与分段函数
方程组
使用 cases 环境:
$$
\begin{cases}
x + y = 1 \\
x - y = 0
\end{cases}
$$
渲染效果:
分段函数
分段函数是方程组的常见应用:
$$
f(x) = \begin{cases}
x^2, & x \geq 0 \\
-x^2, & x < 0
\end{cases}
$$
渲染效果:
多条件分段
$$
f(x) = \begin{cases}
0, & x < 0 \\
x, & 0 \leq x < 1 \\
1, & x \geq 1
\end{cases}
$$
渲染效果:
多行公式对齐
align 环境
使用 align 环境进行多行对齐,& 指定对齐位置:
$$
\begin{aligned}
(a + b)^2 &= (a + b)(a + b) \\
&= a^2 + ab + ba + b^2 \\
&= a^2 + 2ab + b^2
\end{aligned}
$$
渲染效果:
多列对齐
$$
\begin{aligned}
x &= y & a &= b \\
x' &= y' & a' &= b'
\end{aligned}
$$
渲染效果:
gather 环境
居中对齐的多行公式:
$$
\begin{gathered}
x = \frac{-b + \sqrt{b^2-4ac}}{2a} \\
x = \frac{-b - \sqrt{b^2-4ac}}{2a}
\end{gathered}
$$
渲染效果:
括号与定界符
括号类型
$( \ )$ 圆括号
$[ \ ]$ 方括号
$\{ \ \}$ 花括号
$\langle \ \rangle$ 尖括号
$| \ |$ 绝对值
$\| \ \|$ 范数
$\lfloor \ \rfloor$ 向下取整
$\lceil \ \rceil$ 向上取整
渲染效果:,,,,,
自动调整大小
使用 \left 和 \right 让括号自动适应内容大小:
固定大小:$(\frac{a}{b})$
自动调整:$\left(\frac{a}{b}\right)$
多层嵌套:$\left[\left(\frac{a}{b}\right)^2 + 1\right]$
渲染效果:固定大小:,自动调整:
单侧括号
使用 \left. 或 \right. 表示空定界符:
$$
\left.
\frac{dy}{dx}
\right|_{x=0} = 1
$$
渲染效果:
空格与间距
LaTeX 默认会自动处理大多数空格,但有时需要手动调整。
空格命令
$a\!b$ 负空格(缩小)
$a\,b$ 小空格
$a\;b$ 中等空格
$a\ b$ 普通空格
$a\quad b$ 大空格
$a\qquad b$ 更大空格
渲染效果:,,,,,
应用场景
$\int_0^1 x dx$ → $\int_0^1 x \, dx$ (dx 前添加空格)
$\sqrt{x}dy$ → $\sqrt{x} \, dy$ (dy 前添加空格)
文本与字体
公式中的文本
使用 \text{} 在公式中插入普通文本:
$$
P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} \quad \text{(贝叶斯定理)}
$$
渲染效果:
字体样式
$\mathbf{AB}$ 粗体
$\mathit{AB}$ 斜体
$\mathrm{AB}$ 罗马体
$\mathsf{AB}$ 无衬线体
$\mathtt{AB}$ 打字机体
$\mathcal{AB}$ 花体
$\mathbb{AB}$ 黑板粗体(用于数集)
$\mathfrak{AB}$ 哥特体
渲染效果:,,,,,,
数集符号
使用黑板粗体表示常用数集:
$\mathbb{N}$ 自然数集
$\mathbb{Z}$ 整数集
$\mathbb{Q}$ 有理数集
$\mathbb{R}$ 实数集
$\mathbb{C}$ 复数集
渲染效果:,,,,
经典公式示例
二次方程求根公式
泰勒展开式
欧拉公式
傅里叶变换
高斯积分
斯托克斯定理
麦克斯韦方程组
薛定谔方程
兼容性说明
渲染引擎比较
| 特性 | MathJax | KaTeX |
|---|---|---|
| 渲染速度 | 较慢 | 极快 |
| 功能完整度 | 非常完整 | 大部分 |
| 自定义环境 | 支持 | 有限 |
| 公式编号 | 原生支持 | 需扩展 |
平台支持情况
| 平台 | 渲染引擎 | 特殊说明 |
|---|---|---|
| GitHub | MathJax | 支持 TeX 语法 |
| GitLab | KaTeX | 部分高级功能受限 |
| Obsidian | MathJax | 支持 \label、\ref |
| Typora | MathJax | 支持导出 PDF |
| Docusaurus | KaTeX | 可配置使用 MathJax |
常见问题与解决方案
公式不渲染
检查以下几点:
- 确保使用正确的分隔符
$...$或$$...$$ - 确保公式语法正确,括号配对
- 某些平台需要启用数学公式支持
特殊字符转义
在公式中使用特殊字符:
$\$\{\}$ 显示 $、{、}
$\text{a_b}$ 下划线在文本中
中文与公式混排
公式与中文之间建议添加空格:
推荐:当 $x > 0$ 时,函数单调递增。
不推荐:当$x>0$时,函数单调递增。
最佳实践
选择合适的公式形式
- 简短表达式使用行内公式
- 重要推导过程使用块级公式
- 同一文档保持风格一致
保持源码可读性
推荐:
$$
\begin{aligned}
f(x) &= x^2 + 2x + 1 \\
&= (x + 1)^2
\end{aligned}
$$
不推荐:
$$f(x)=x^2+2x+1=(x+1)^2$$
添加必要说明
根据牛顿第二定律 $F = ma$,物体的加速度与作用力成正比。
方程的解为:
$$
x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
$$
其中 $a \neq 0$,判别式 $\Delta = b^2-4ac$ 决定解的性质。
小结
本章详细介绍了 Markdown 中数学公式的编写方法:
- 基本语法:行内公式
$...$,块级公式$$...$$ - 希腊字母:大小写及变体形式
- 上下标与修饰符:导数、向量、平均等
- 运算与关系符号:算术、比较、集合运算
- 复杂结构:分数、根号、求和、积分、矩阵
- 多行公式:对齐、方程组、分段函数
- 经典公式:泰勒展开、傅里叶变换等
- 最佳实践:保持可读性、添加说明
掌握这些语法后,你可以编写专业级的数学文档。
练习
- 编写二次方程 的求根公式,并解释判别式的意义
- 创建一个 3×3 矩阵,并计算其行列式
- 使用对齐环境展示 的展开过程
- 编写一个分段函数的完整定义,包括定义域说明
- 将柯西-施瓦茨不等式写成公式形式