插入公式
Markdown 插入的数学公式有两种:行内公式和独立公式。
1 | $行内公式$ |
特殊符号
注释
行注释使用 %
开头,直到行结束都是注释内容,不会渲染显示。
换行(\\
)应置于注释(%
)之前。
1 | $$ |
括号
()
、[]
、|
都可以表示符号本身,但是 {}
有特殊含义,即将其内容当成一个整体看待。如果要表示花括号需要要转义,即使用 \{\}
表示。
更多括号符号详见【附录·括号】章节。
空格
公式中键入的普通空格会被忽略,如果真的需要显示间隔,可以使用 \,
、\;
、\quad
、\qquad
,它们将显示为从小到大的间隔。甚至可以使用 \text{n个空格}
实现任意空格间隔。
另外,\!
是一种负向间隔,它可以缩减字符间距(常用于物理单位中),重复使用可以叠加不同的字符。
符号汇总:\!
、\,
、\;
、\quad
、\qquad
、\text{n个空格}
更多空格命令可参考 MathJax 相关说明。
省略号
普通公式中常见有两种省略号:与文本底线对齐的省略号用 \ldots
,与文本中线对齐的省略号用 \cdots
。
在矩阵中,省略号样式更为丰富,有水平(\cdots
)、垂直(\vdots
)甚至倾斜(\ddots
)显示的。
位置相关
上下标
符号 | 作用 | 示例代码 | 示例显示 |
---|---|---|---|
^ |
上标 | $2^n$ |
$2^n$ |
_ |
下标 | $A_0$ |
$A_0$ |
- 上下标不止一个字符
使用花括号将上下标整体括起来,如:
1 | $T_n = 2T_{n-1} + 1 = 2(2^{n-1} - 1) + 1 = 2^n - 1$ |
- 左右都有上下标
使用 \sideset
命令,如:$\sideset{^1_2}{^3_4}\bigotimes$
1 | $\sideset{^1_2}{^3_4}\bigotimes$ |
顶底部字符
想把一串字符放在另一串字符上方或下方,需要使用:\overset{顶部内容}{常规内容}
和 \underset{底部内容}{常规内容}
。
分数
命令 | 格式 | 示例代码 | 示例显示 |
---|---|---|---|
\frac |
\frac {分子} {分母} |
$\frac {a + 1} {b + 1}$ |
$\frac {a + 1} {b + 1}$ |
\over |
{分子} \over {分母} |
$\frac {a - 1} {b - 1}$ |
$\frac {a - 1} {b - 1}$ |
- 连分数
使用 \cfrac
命令:
1 | $$ |
注意:不要使用 \frac
或 \over
来创建连分数,否则会逐级缩小显示。
开方
开方语法为:\sqrt [根指数,默认为2] {被开方数}
。
1 | $$ \sqrt {2} \quad and \quad \sqrt[n]{5}$$ |
累加/乘
命令 | 作用 | 格式 |
---|---|---|
\sum | 累加 | \sum_{下标}^{上标} {累加表达式} |
\prod | 累乘 | \prod_{下标}^{上标} {累乘表达式} |
1 | $$S = \sum_{k = 0}^n {p^k} = 1 + p + p^2 + ... + p^n$$ |
1 | $$S = \prod_{k=0}^{m} \frac {1 - p_k^{a_{k+1}}} {1-p_k}$$ |
极限
语法为:\lim_{变量 \to 表达式} 表达式
。\to
可改为其他任意符号。
1 | $$\lim_{n \to \infty} \frac{1}{n(n+1)}$$ |
积分
语法为:\int_积分下限^积分上限 {被积表达式}
。
更多积分符号见附录。
矢量
语法为:\vec{矢量}
。也可以使用位于字符上方的箭头命令:\overleftarrow
和 \overrightarrow
。
更多详见【附录·环绕符号】章节。
对齐
默认居中对齐
默认情况下,公式是居中对齐的。在多行公式中,居中对齐会显得参差不齐。
常见的场景是,期望“连等式”每行开头的等号对齐。这时需要使用 \begin{align}
和 \end{align}
包裹公式,并用 &
标识要对齐的位置。
1 | $$ |
禁止自动编号
{align}
会自动编号,不需要可使用{align*}
禁用。
左对齐与右对齐
要想公式左对齐或右对齐,就要用到 {flalign}
或 {flalign*}
了。它的效果是:首列左对齐,末列右对齐。
因此,要左对齐效果就把公式放在首列,要右对齐效果就把公式放在末列。
1 | $$ |
1 | $$ |
变换相关
大小
可以通过命令来调整字符的大小,MathJax 提供了从小到大共十种命令:
\tiny
、Tiny
、\scriptsize
、\small
、\normalsize
、\large
、\Large
、\LARGE
、\huge
、\Huge
。
更多说明详见 MathJax 文档相关章节。
字体
更改字体语法为:\字体 {被转换字符}
。(更多详见【附录·字体转换】章节)
公式中“不可识别”的运算符号或普通文本均是以斜体显示的,如果想让其转换为常规字体显示,需要分别使用 \operatorname
和 \text
命令。
\operatorname
用以定义一个新的运算符号,其语法为:\operatorname{运算符}{表达式}
或 \operatorname*{运算符}_{下标}^{上标}{表达式}
。
\text
用以定义普通文本,通常是注释,其语法为:\text {文本}
。
颜色
更改字符颜色语法为:\color{颜色}{字符}
。
注意:文字颜色需要浏览器支持,否则将显示为黑色。对于较老的浏览器可能只支持有限的颜色名称,较新的浏览器支持 RGB 颜色。
高亮
语法:\bbox[背景色,边距*,border:width* type color
。
- 背景色:可以使用上节所述的颜色。
- 边距:可使用绝对像素 px 或相对大小 em。
- 边框宽度:同“边距”类似。
- 边框类型:可用 solid、dotted、dashed 等。(与 CSS 中 border-style 值对应)
- 边框颜色:与“背景色”类似。
1 | $$ |
删除线
可使用 \cancel
、\bcancel
、\xcancel
、\cancelto
等命令添加删除效果。(更多详见【附录·删除线】章节)
括号
普通的各种括号通常只显示为一行的大小,如果要显示为多行的括号,需要使用 \left
和 \right
命令——这使得括号会随内部公式大小调整大小高度。
\left
和 \right
必须配对使用,如果只想显示一半的括号,可以使用 \left.
或 \right.
来配对,但不显示。
需要注意的是,配对范围被限制在“公式行”中,如果一对括号被换行(\\
)分隔在不同的行,那括号所在行需要使用 \left.
或 \right.
来“虚假配对”。
1 | $$ |
更多括号符号详见【附录·括号】章节。
行标
公式末尾前使用 \tag {行标}
注明行标。
注:不要尝试给连分数“每行”标注行标,因为整体上看,连分数只有一行。
使用如下语法可以实现自动编号:
1 | \begin{equation} |
自动编号的公式,可以在全文任意位置使用 \eqref{eq:公式名}
引用自动编号的公式。
注意:
- 仍可以使用
\tag
手动编号;- 自动编号是个带圆括号的数字,引用显示的也是该“带圆括号的数字”。通常显示为超链接,指向引用的公式标注行;
- 从经验看,一些 Markdown 编辑器不完全支持自动编号,可能会存在一些显示问题。但在 hexo 中通过 MathJax 渲染的公式通常是支持自动编号语法的。
如果想不自动编号可以:
1 | \begin{equation*} |
如果对公式的对齐方式有要求,则需要使用:
1 | \begin{align} |
该语句是自动编号的,不想自动编号类似地可使用:
1 | \begin{align*} |
如果只是有些行不需要编号,可以使用 \nonumber
或 \notag
移除当前行的行标。
另注意,自动编号是“全局”的,针对页面所有公式而言的。
复杂公式
矩阵
矩阵以 \begin{matrix}
开始 \end{matrix}
结束,以 \\
分行,以 &
分隔元素。
1 | $$ |
矩阵边框
默认矩阵没有边框,要显示不同的边框,可以为 matrix
添加不同的前缀:
matrix | pmatrix | bmatrix | Bmatrix | vmatrix | Vmatrix |
---|---|---|---|---|---|
$\begin{matrix} 1 & 2 \ 3 & 4 \ \end{matrix}$ | $\begin{pmatrix} 1 & 2 \ 3 & 4 \ \end{pmatrix}$ | $\begin{bmatrix} 1 & 2 \ 3 & 4 \ \end{bmatrix}$ | $\begin{Bmatrix} 1 & 2 \ 3 & 4 \ \end{Bmatrix}$ | $\begin{vmatrix} 1 & 2 \ 3 & 4 \ \end{vmatrix}$ | $\begin{Vmatrix} 1 & 2 \ 3 & 4 \ \end{Vmatrix}$ |
省略号
矩阵中常用的省略号有水平(\cdots
)、垂直(\vdots
)以及倾斜(\ddots
)等几种。
行内矩阵
如果矩阵行列足够少,就有可能显示在行中,此时使用 \begin{smallmatrix}
和 \end{smallmatrix}
界定。
条件表达式
条件表达式以 \begin{cases}
开始 \end{cases}
结束,插入 &
来对齐内容,每行以 \\
结束换行。
1 | $$ |
行高配置
默认情况下,条件表达式每行均显示为单倍行高,通常会显得比较紧凑,甚至有些较高的公式显示会存在问题。
此时,可以在换行符(\\
)后指定行高。如上例中指定了 [2ex]
,当然可以视需要指定任意数量的 [ex]
。
关于单位
ex
ex
是一个相对的尺寸单位,指“x-height”,即字母 x 的高度。
注:在 CSS 中,字母 x 的下边缘即基线(baseline)所在的位置。
数组表示条件表达式
条件表达式除了使用 {cases}
外,也可以使用左对齐数组({array}
)来表示:
1 | $$ |
数组表示条件表达式的优点
概念上说,条件表达式对应的应该是{cases}
,但{array}
可以实现相同的效果,并且更为灵活,可以实现“右括号”显示的条件表达式效果。
数组与表格
数组以表格形式展示,使用 \begin{array}
开始 \end{array}
结束。
\begin{array}
后紧跟花括号定义列及其文本对齐方式,可选对齐方式有居中(c
)、左对齐(l
)、右对齐(r
)。一个有四列的表格可能这样开头:\begin{array}{lcrc}
。
默认表格没有分割线。垂直分割线,在定义式中插入 |
,如:{l|crc}
。水平分割线在行间插入 \hline
。
行以 \\
结尾换行,列以 &
分隔。
1 | $$ |
补充说明
数组也可以用于展示条件表达式或者方程组,这可以参考上一章节【条件表达式】。
以数组展示表格,比“普通”的 Markdown 表格更灵活,可以实现嵌套和单元格合并效果。
交换图表
开头使用 \require{AMScd}
来启用交换图表。
部分 Markdown 编辑器不需要,但为了兼容性,建议加上。
以 \begin{CD}
开头 \end{CD}
结束。
每行以 \\
结尾换行,元素以 &
分隔。
连线箭头如下显示:
符号 | 说明 | 符号 | 说明 |
---|---|---|---|
@<<< |
左箭头 | @>>> |
右箭头 |
@AAA |
上箭头 | @VVV |
下箭头 |
@= |
水平双实线 | @| |
垂直双实线 |
@. |
无箭头(占位) |
箭头符号可以添加注释文字。上表可以看到,代表箭头的符号都有 3 个相同的字符,在这些字符间插入的文字会作为箭头上的注释显示。注意,在第一、二个或第二、三个相同字符间插入文字,其显示的方位不同。
1 | $$ |
附录
希腊字母
命令 | 显示 | 命令 | 显示 | 命令 | 显示 | 命令 | 显示 |
---|---|---|---|---|---|---|---|
\alpha |
$\alpha$ | A | $A$ | \beta |
$\beta$ | B | $B$ |
\gamma |
$\gamma$ | \Gamma |
$\Gamma$ | \delta |
$\delta$ | \Delta |
$\Delta$ |
\epsilon |
$\epsilon$ | E | $E$ | \zeta |
$\zeta$ | Z | $Z$ |
\eta |
$\eta$ | H | $H$ | \theta |
$\theta$ | \Theta |
$\Theta$ |
\iota |
$\iota$ | I | $I$ | \kappa |
$\kappa$ | K | $K$ |
\lambda |
$\lambda$ | \Lambda |
$\Lambda$ | \mu |
$\mu$ | M | $M$ |
\nu |
$\nu$ | N | $N$ | \xi |
$\xi$ | \Xi |
$\Xi$ |
o | $o$ | O | $O$ | \pi |
$\pi$ | \Pi |
$\Pi$ |
\rho |
$\rho$ | P | $P$ | \sigma |
$\sigma$ | \Sigma |
$\Sigma$ |
\tau |
$\tau$ | T | $T$ | \upsilon |
$\upsilon$ | \Upsilon |
$\Upsilon$ |
\phi |
$\phi$ | \Phi |
$\Phi$ | \chi |
$\chi$ | X | $X$ |
\psi |
$\psi$ | \Psi |
$\Psi$ | \omega |
$\omega$ | \Omega |
$\Omega$ |
部分字母加 var
前缀转变为变量专用形式:
小写 | 大写 | 变量 | 显示 |
---|---|---|---|
\epsilon |
E |
\varepsilon |
$\epsilon \; E \; \varepsilon$ |
\theta |
\Theta |
\vartheta |
$\theta \; \Theta \; \vartheta$ |
\rho |
P |
\varrho |
$\rho \; P \; \varrho$ |
\sigma |
\Sigma |
\varsigma |
$\sigma \; \Sigma \; \varsigma$ |
\phi |
\Phi |
\varphi |
$\phi \; \Phi \; \varphi$ |
关系运算符
命令 | 显示 | 命令 | 显示 | 命令 | 显示 | 命令 | 显示 |
---|---|---|---|---|---|---|---|
\pm |
$\pm$ | \times |
$\times$ | \div |
$\div$ | \mid |
$\mid$ |
\cdot |
$\cdot$ | \ast |
$\ast$ | \oplus |
$\oplus$ | \leq |
$\leq$ |
\geq |
$\geq$ | \neq |
$\neq$ | \approx |
$\approx$ | \equiv |
$\equiv$ |
集合运算符
命令 | 显示 | 命令 | 显示 | 命令 | 显示 | 命令 | 显示 |
---|---|---|---|---|---|---|---|
\emptyset |
$\emptyset$ | \in |
$\in$ | \notin |
$\notin$ | \subset |
$\subset$ |
\supset |
$\supset$ | \subseteq |
$\subseteq$ | \supseteq |
$\supseteq$ | \cap |
$\cap$ |
\cup |
$\cup$ |
对数运算符
命令 | 显示 | 命令 | 显示 | 命令 | 显示 |
---|---|---|---|---|---|
\log |
$\log$ | \lg |
$\lg$ | \ln |
$\ln$ |
三角运算符
命令 | 显示 | 命令 | 显示 | 命令 | 显示 | ||
---|---|---|---|---|---|---|---|
\angle A |
$\angle A$ | \sin |
$\sin$ | \cos |
$\cos$ | ||
\tan |
$\tan$ | \cot |
$\cot$ |
逻辑运算符
命令 | 显示 | 命令 | 显示 | 命令 | 显示 | 命令 | 显示 |
---|---|---|---|---|---|---|---|
\because |
$\because$ | \therefore |
$\therefore$ | \forall |
$\forall$ | \exists |
$\exists$ |
箭头符号
命令 | 显示 | 命令 | 显示 |
---|---|---|---|
\to |
$\to$ | \implies |
$\implies$ |
\iff |
$\iff$ | \impliedby |
$\impliedby$ |
\uparrow |
$\uparrow$ | \Uparrow |
$\Uparrow$ |
\downarrow |
$\downarrow$ | \Downarrow |
$\Downarrow$ |
\leftarrow |
$\leftarrow$ | \Leftarrow |
$\Leftarrow$ |
\rightarrow |
$\rightarrow$ | \Rightarrow |
$\Rightarrow$ |
\leftrightarrow |
$\leftrightarrow$ | \Leftrightarrow |
$\Leftrightarrow$ |
\longleftarrow |
$\longleftarrow$ | \Longleftarrow |
$\Longleftarrow$ |
\longrightarrow |
$\longrightarrow$ | \Longrightarrow |
$\Longrightarrow$ |
\longleftrightarrow |
$\longleftrightarrow$ | \Longleftrightarrow |
$\Longleftrightarrow$ |
括号
命令 | 显示 | 命令 | 显示 |
---|---|---|---|
\langle |
$\langle$ | \rangle |
$\rangle$ |
\lceil |
$\lceil$ | \rceil |
$\rceil$ |
\lfloor |
$\lfloor$ | \rfloor |
$\rfloor$ |
\lbrace |
$\lbrace$ | \rbrace |
$\rbrace$ |
\lvert |
$\lvert$ | \rvert |
$\rvert$ |
\lVert |
$\lVert$ | \rVert |
$\rVert$ |
微积分运算符
命令 | 显示 | 命令 | 显示 | 命令 | 显示 |
---|---|---|---|---|---|
\int |
$\int$ | \iint |
$\iint$ | \prime |
$\prime$ |
\infty |
$\infty$ | \nabla |
$\nabla$ |
环绕符号
命令 | 示例代码 | 示例显示 |
---|---|---|
\overleftarrow |
\overleftarrow{a+b} |
$\overleftarrow{a+b}$ |
\overrightarrow |
\overrightarrow{a+b} |
$\overrightarrow{a+b}$ |
\overleftrightarrow |
\overleftrightarrow{a+b} |
$\overleftrightarrow{a+b}$ |
\underleftarrow |
\underleftarrow{a+b} |
$\underleftarrow{a+b}$ |
\underrightarrow |
\underrightarrow{a+b} |
$\underrightarrow{a+b}$ |
\underleftrightarrow |
\underleftrightarrow{a+b} |
$\underleftrightarrow{a+b}$ |
\overline |
\overline{a+b} |
$\overline{a+b}$ |
\underline |
\underline{a+b} |
$\underline{a+b}$ |
\overbrace |
\overbrace{a+b}^{sample} |
$\overbrace{a+b}^{sample}$ |
\underbrace |
\underbrace{a+b}_{sample} |
$\underbrace{a+b}_{sample}$ |
\fbox |
\fbox{a+b} |
$\fbox{a+b}$ |
\bar |
\bar{a} |
$\bar{a}$ |
\acute |
\acute{a} |
$\acute{a}$ |
\breve |
\breve{a} |
$\breve{a}$ |
\check |
\check{a} |
$\check{a}$ |
\grave |
\grave{a} |
$\grave{a}$ |
\dot |
0.\dot{9} |
$0.\dot{9}$ |
字体转换
输入 | 说明 | 显示 |
---|---|---|
\rm | 罗马体 | $\rm{SAMPLE}$ |
\it | 意大利体 | $\it{SAMPLE}$ |
\mit | 数学斜体 | $\mit{SAMPLE}$ |
\bf | 粗体 | $\bf{SAMPLE}$ |
\sf | 等线体 | $\sf{SAMPLE}$ |
\tt | 打字机体 | $\tt{SAMPLE}$ |
浏览器支持的颜色名
颜色名 | 显示 | 颜色名 | 显示 |
---|---|---|---|
black | $\color{black}{text}$ | grey | $\color{grey}{text}$ |
silver | $\color{sliver}{text}$ | white | $\color{white}{text}$ |
maroon | $\color{maroon}{text}$ | red | $\color{red}{text}$ |
yellow | $\color{yellow}{text}$ | lime | $\color{lime}{text}$ |
olive | $\color{olive}{text}$ | green | $\color{green}{text}$ |
teal | $\color{teal}{text}$ | auqa | $\color{auqa}{text}$ |
blue | $\color{blue}{text}$ | navy | $\color{navy}{text}$ |
purple | $\color{purple}{text}$ | fuchsia | $\color{fuchsia}{text}$ |
删除线
命令 | 示例代码 | 示例显示 |
---|---|---|
\cancel |
\cancel{a+b} |
$\cancel{a+b}$ |
\bcancel |
\bcancel{a+b} |
$\bcancel{a+b}$ |
\xcancel |
a+\xcancel{b} |
$a+\xcancel{b}$ |
\cancelto |
a+\cancelto{c}{b} |
$a+\cancelto{c}{b}$ |
\enclose{horizontalstrike} |
\enclose{horizontalstrike}{a+b} |
$\enclose{horizontalstrike}{a+b}$ |
\enclose{verticalstrike} |
\enclose{verticalstrike}{\frac ab} |
$\enclose{verticalstrike}{\frac ab}$ |
\enclose{updiagonalstrike} |
\enclose{updiagonalstrike}{a+b} |
$\enclose{updiagonalstrike}{a+b}$ |
\enclose{downdiagonalstrike} |
\enclose{downdiagonalstrike}{a+b} |
$\enclose{downdiagonalstrike}{a+b}$ |
注意:对于 \enclose
命令,可以组合使用删除线,比如:\enclose{horizontalstrike,updiagonalstrike}
。
参考
MathJax basic tutorial and quick reference:基础教程(英文版),绝大部分命令都有介绍。
LaTeX/Advanced Mathematics:维基百科(英文版)关于 LaTex 高等数学公式的说明。
Detexify:一个搜索查询 LaTeX 符号的在线工具。可以通过鼠标书写来检索符号(使用 AI 识别,当然也可以浏览所有符号)。
完整 LaTeX 可用符号列表:超多,不便于查询。
精简 LaTeX 可用符号列表:大部分常用符号可查询。
MathJax 文档·TeX/LaTeX扩展列表:所有支持的命令列表。