markdown公式语法
markdown公式语法
qf_luck如何优雅地在Markdown中输入数学公式
对于一些理科生来说,在学习数学知识的时候,在计算机上写公式是比较头疼的事情。好在Markdown支持LaTeX公式输入,在一定程度上缓解了输入的麻烦。以下是在Markdown中编写公式的方法介绍。
一、基础部分
1. 公式标记
在Markdown中,有两种输入公式的方法:
- 行内公式(inline):用一对美元符号
$包裹。例如:$E=mc^2$ ,写法是$E=mc^2$。 - 整行公式(displayed):用一对紧挨的两个美元符号
$$包裹。例如:
$$
\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}
$$
写法是:
1 | $$ |
2. 希腊字母
| 名称 | 大写 | Tex | 小写 | Tex |
|---|---|---|---|---|
| alpha | A | A | α | \alpha |
| beta | B | B | β | \beta |
| gamma | Γ | \Gamma | γ | \gamma |
| delta | Δ | \Delta | δ | \delta |
| epsilon | E | E | ϵ | \epsilon |
| zeta | Z | Z | ζ | \zeta |
| eta | H | H | η | \eta |
| theta | Θ | \Theta | θ | \theta |
| iota | I | I | ι | \iota |
| kappa | K | K | κ | \kappa |
| lambda | Λ | \Lambda | λ | \lambda |
| mu | M | M | μ | \mu |
| nu | N | N | ν | \nu |
| xi | Ξ | \Xi | ξ | \xi |
| omicron | O | O | ο | \omicron |
| pi | Π | \Pi | π | \pi |
| rho | P | P | ρ | \rho |
| sigma | Σ | \Sigma | σ | \sigma |
| tau | T | T | τ | \tau |
| upsilon | Υ | \Upsilon | υ | \upsilon |
| phi | Φ | \Phi | ϕ | \phi |
| chi | X | X | χ | \chi |
| psi | Ψ | \Psi | ψ | \psi |
| omega | Ω | \Omega | ω | \omega |
一些希腊字母具有变体形式,如\epsilon \varepsilon:ϵ ε、\phi \varphi:ϕ φ。
3. 上标与下标
- 上标和下标分别使用
^和_来表示。例如x_i^2:$x_i^2$,\log_2 x:$\log_2x$。 - 默认情况下,上下标符号仅仅对下一个组起作用。一个组即单个字符或者使用
{}包裹起来的内容。例如,10^10会得到$10^10$,而10^{10}才是$10^{10}$。 - 大括号能消除二义性,如
x^5^6会显示错误,必须使用大括号来界定^的结合性,如{x^5}^6:${x^5}^6$或者x^{5^6}:$x^{5^6}$。 - 注意区分
x_i^2:$x_i^2$和x_{i_2}:$x_{i_2}$。 - 若要在左右两边都有上下标,可以用
\sideset来表示,如\sideset{^1_2}{^3_4}\bigotimes:$\sideset{^1_2}{^3_4}\bigotimes$。
4. 括号
- 小括号与方括号:使用原始的
()和[]即可。如(2+3)[4+4]:$(2+3)[4+4]$。 - 大括号:由于大括号
{}被用来分组,因此需要使用\{和\}表示大括号,也可以使用\lbrace和\rbrace来表示。如\{a*b\}或者\lbrace a*b \rbrace,都会显示为${a*b}$。 - 尖括号:使用
\langle和\rangle分别表示左尖括号和右尖括号。如\langle x \rangle:$\langle x \rangle$。 - 上取整:使用
\lceil和\rceil表示。如\lceil x \rceil:$\lceil x \rceil$。 - 下取整:使用
\lfloor和\rfloor表示。如\lfloor x \rfloor:$\lfloor x \rfloor$。 - 原始括号并不会随着公式大小缩放。如
(\frac12):$(\frac{1}{2})$。可以使用\left( ...\right)来自适应的调整括号。如\left( \frac12 \right):$\left( \frac{1}{2} \right)$。
5. 求和与积分
\sum用来表示求和符号,其下标表示求和下限,上标表示上限。如\sum_1^n:$\sum_1^n$。\int用来表示积分符号,其上下标表示积分的上下限。如\int_1^\infty:$\int_1^\infty$。- 类似的符号还有:
\prod:$\prod$,\bigcup:$\bigcup$,\bigcap:$\bigcap$,\iint:$\iint$。
6. 分式与根式
- 分式有两种表示方法:
- 第一种,使用
\frac ab,其中\frac作用于其后的两个组a和b,结果为$\frac{a}{b}$。如果分子或分母不是单个字符,需要使用{}来分组。 - 第二种,使用
\over来分隔一个组的前后两部分,如{a+1\over b+1}:$\frac{a+1}{b+1}$。
- 第一种,使用
- 根式使用
\sqrt[a]b来表示。其中,方括号内的值用来表示开几次方,省略方括号则表示开方,如\sqrt[4]{\frac xy}:$\sqrt[4]{\frac{x}{y}}$,\sqrt{x^3}:$\sqrt{x^3}$。
7. 字体
- 使用
\it显示意大利体(公式默认字体):$\it{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathbb或\Bbb显示黑板粗体(黑板黑体),如\mathbb{CHNQRZ}:$\mathbb{CHNQRZ}$。 - 使用
\mathbf或\bf显示黑体:$\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathtt或\tt显示打印机字体:$\mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathrm或\rm显示罗马体:$\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathsf或\sf显示等线体(sans-serif体):$\mathsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathcal显示艺术字体:$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathscr或\cal显示手写字体(花体):$\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mathfrak显示Fraktur字体(老式德国字体):$\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。 - 使用
\mit显示数学斜体:$\mit{1234567890}$。
8. 特殊函数与符号
关系运算符
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|---|---|
| $\pm$ | ± | $\mp$ | ∓ | $\times$ | × | $\div$ | ÷ |
| $\mid$ | ∣ | $\nmid$ | ∤ | $\circ$ | ∘ | $\bullet$ | ∙ |
| $\cdot$ | ⋅ | $\ast$ | ∗ | $\odot$ | ⊙ | $\bigodot$ | ⨀ |
| $\otimes$ | ⊗ | $\bigotimes$ | ⨂ | $\oplus$ | ⊕ | $\bigoplus$ | ⨁ |
| $\lt$ | < | $\gt$ | > | $\leq$ | ≤ | $\geq$ | ≥ |
| $\neq$ | ≠ | $\approx$ | ≈ | $\equiv$ | ≡ | $\sim$ | ∼ |
| $\simeq$ | ≃ | $\cong$ | ≅ | $\prec$ | ≺ | $\lhd$ | ⊲ |
| $\sum$ | ∑ | $\prod$ | ∏ | $\coprod$ | ∐ |
集合运算符
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|---|---|
| $\emptyset$ | ∅ | $\varnothing$ | ∅ | $\in$ | ∈ | $\notin$ | ∉ |
| $\subset$ | ⊂ | $\supset$ | ⊃ | $\cup$ | ∪ | $\cap$ | ∩ |
| $\subseteq$ | ⊆ | $\supseteq$ | ⊇ | $\subsetneq$ | ⊊ | $\supsetneq$ | ⊋ |
| $\bigcup$ | ⋃ | $\bigcap$ | ⋂ | $\bigvee$ | ⋁ | $\bigwedge$ | ⋀ |
| $\uplus$ | ⊎ | $\biguplus$ | ⨄ | $\sqcup$ | ⊔ | $\bigsqcup$ | ⨆ |
对数运算符
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|
| $\log$ | log | $\lg$ | lg | $\ln$ | ln |
三角运算符
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|
| $\bot$ | ⊥ | $\angle$ | ∠ | $30^\circ$ | 30° |
| $\sin$ | sin | $\cos$ | cos | $\tan$ | tan |
| $\cot$ | cot | $\sec$ | sec | $\csc$ | csc |
微积分运算符
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|
| $\prime$ | ′ | $\int$ | ∫ | $\iint$ | ∬ |
| $\iiint$ | ∭ | $\iiiint$ | ⨌ | $\oint$ | ∮ |
| $\lim$ | lim | $\infty$ | ∞ | $\nabla$ | ∇ |
逻辑运算符
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|---|---|
| $\because$ | ∵ | $\therefore$ | ∴ | $\forall$ | ∀ | $\exists$ | ∃ |
| $\not=$ | ≠ | $\lnot$ | ¬ | $\vdash$ | ⊢ | $\vDash$ | ⊨ |
| $\land$ | ∧ | $\lor$ | ∨ | $\top$ | ⊤ | $\bot$ | ⊥ |
箭头符号
| 输入 | 显示 | 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
|---|---|---|---|---|---|---|---|
| $\uparrow$ | ↑ | $\downarrow$ | ↓ | $\rightarrow(\to)$ | → | $\leftarrow$ | ← |
| $\Uparrow$ | ⇑ | $\Downarrow$ | ⇓ | $\Rightarrow$ | ⇒ | $\Leftarrow$ | ⇐ |
| $\longrightarrow$ | ⟶ | $\longleftarrow$ | ⟵ | $\Longrightarrow$ | ⟹ | $\mapsto$ | ↦ |
- 表示排列使用
{n+1 \choose 2k}或\binom{n+1}{2k}:$\binom{n+1}{2k}$。 - 使用
\pmod表示模运算,如a\equiv b\pmod n:$a\equiv b\pmod n$。 - 使用
\ldots与\cdots表示省略号,二者的区别是dots的位置不同,ldots位置稍低$a_1,a_2,\ldots,a_n$,cdots位置居中$a_1+a_2+\cdots+a_n$。 - 使用
\overline与\underline表示连线符号,如\overline{a+b+c+d}:$\overline{a+b+c+d}$,\underline{x+y+z}:$\underline{x+y+z}$。 - 其他特殊字符:
\star:$\star$、\aleph_0:$\aleph_0$、\partial:$\partial$、\Im:$\Im$、\Re:$\Re$。 - 一些特殊字符可以使用
\转义为原来的含义,如\$表示$、\_表示下划线。
9. 空间
在书写公式时,a和b之间无论输入多少空格,最后都会显示为ab。可通过以下方式增加间隙:
- 在ab间加入
\,增加些许间隙,如a\,b:$a,b$; \;增加较宽的间隙,如a\;b:$a;b$;\quad与\qquad会增加更大的间隙,如a\quad b:$a\quad b$,a\qquad b:$a\qquad b$。
10. 顶部符号
- 对于单字符,可以使用
\hat x:$\hat{x}$。多字符可以使用\widehat {xy}:$\widehat{xy}$。 - 类似的还有:
\check x:$\check{x}$、\breve x:$\breve{x}$、\bar x:$\bar{x}$、\overline {xyz}:$\overline{xyz}$、\vec x:$\vec{x}$、\overrightarrow {xyz}:$\overrightarrow{xyz}$、\overleftrightarrow {xyz}:$\overleftrightarrow{xyz}$、\dot x:$\dot{x}$、\ddot x:$\ddot{x}$。
二、高级部分
1. 表格
使用$$\begin{array}{列样式}...\end{array}$$这样的形式来创建表格。其中,列样式可以使用c、l、r分别表示居中、左、右对齐,还可以使用|表示一条竖线。表格中各行使用\\分隔,各列使用&分隔。使用\hline可以在本行前加入一条直线。例如:
1 | $$ |
结果:
2. 矩阵
基本用法
使用$$\begin{matrix}...\end{matrix}$$这样的形式来表示矩阵,在\begin与\end之间加入矩阵中的元素即可。矩阵的行之间使用\\\\分隔,列之间使用&分隔。例如:
1 | $$ |
结果:
$$
\begin{matrix}
1 & x & x^2 \\
1 & y & y^2 \\
1 & z & z^2 \\
\end{matrix}
$$
加括号
如果要对矩阵加括号,可以使用\left与\right配合表示括号符号,也可以使用特殊的matrix,即替换\begin{matrix}...\end{matrix}中的matrix为pmatrix、bmatrix、Bmatrix、vmatrix、Vmatrix。例如:
1 | $$ |
结果:
$$
\begin{pmatrix}
1 & 2 \\
3 & 4 \\
\end{pmatrix}
$$
bmatrix:
$$\begin{bmatrix}1 & 2 \\3 & 4 \\\end{bmatrix}$$Bmatrix:
$$\begin{Bmatrix}1 & 2 \\3 & 4 \\\end{Bmatrix}$$vmatrix:
$$\begin{vmatrix}1 & 2 \\3 & 4 \\\end{vmatrix}$$Vmatrix:
$$\begin{Vmatrix}1 & 2 \\3 & 4 \\\end{Vmatrix}$$
省略元素
可以使用\cdots:$\cdots$、\ddots:$\ddots$、\vdots:$\vdots$来省略矩阵中的元素。例如:
1 | $$ |
结果:
$$
\begin{pmatrix}
1 & a_1 & a_1^2 & \cdots & a_1^n \\
1 & a_2 & a_2^2 & \cdots & a_2^n \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
1 & a_m & a_m^2 & \cdots & a_m^n \\
\end{pmatrix}
$$
增广矩阵
增广矩阵需要使用前面的array来实现。例如:
1 | $$ |
结果:
$$
\left[
\begin{array}{cc|c}
1 & 2 & 3 \\
4 & 5 & 6 \\
\end{array}
\right]
$$
3. 对齐的公式
有时候可能需要一系列的公式中等号对齐,这需要使用形如\begin{align}...\end{align}的格式,其中使用&来指示需要对齐的位置。例如:
1 | $$ |
结果:
$$
\begin{align}
\sqrt{37}&=\sqrt{\frac{73^2-1}{12^2}}\\
&=\sqrt{\frac{73^2}{12^2}\cdot\frac{73^2-1}{73^2}}\\
&=\sqrt{\frac{73^2}{12^2}}\sqrt{\frac{73^2-1}{73^2}}\\
&=\frac{73}{12}\sqrt{1-\frac{1}{73^2}}\\
&\approx\frac{73}{12}\left(1-\frac{1}{2\cdot73^2}\right)
\end{align}
$$
4. 分类表达式
定义函数的时候经常需要分情况给出表达式,可使用\begin{cases}...\end{cases}。其中,使用\\来分类,使用&指示需要对齐的位置。例如:
1 | $$ |
结果:
上述公式的括号也可以移动到右侧,不过需要使用array来实现。如下:
1 | $$ |
结果:
如果想分类之间的垂直间隔变大,可以在行末使用\\[2ex]代替\\来分隔不同的情况(3ex,4ex也可以用,1ex相当于原始距离)。例如:
1 | $$ |
结果:
5. 空间问题
在使用LaTeX公式时,有一些不会影响公式正确性,但却会使其看上去很糟糕的问题。
- 不要在指数或者积分中使用
\frac:在指数或者积分表达式中使用\frac会使表达式看起来不清晰,因此在专业的数学排版中很少被使用。应该使用一个水平的/来代替。 - 使用
\mid代替|作为分隔符:符号|作为分隔符时,有排版空间大小的问题,应该使用\mid代替。 - 多重积分:对于多重积分,不要使用
\int\int此类表达,应该使用\iint、\iiint等特殊形式。此外,在微分前应该使用\,$来增加些许空间。
6. 连分数
书写连分数表达式时,请使用\cfrac代替\frac或者\over,例如(\cfrac):
$$x = a_0 + \cfrac{1^2}{a_1 + \cfrac{2^2}{a_2 + \cfrac{3^2}{a_3 + \cfrac{4^2}{a_4 + \cdots}}}}$$
7. 方程组
- 使用
\begin{array}...\end{array}与\left\{...\right.配合,表示方程组,如:
1 | $$ |
显示:
$$
\left{
\begin{array}{c} % 居中对齐的列格式
a_1x + b_1y + c_1z = d_1 \\ % 单个 \ 即可换行
a_2x + b_2y + c_2z = d_2 \\ % 修正 d_3 为 d_2(保持编号一致)
a_3x + b_3y + c_3z = d_3 % 修正 a_ex 为 a_3x
\end{array}
\right.
$$
- 还可以使用
\begin{cases}...\end{cases}表达上面同样的方程组,如:
1 | $$ |
- 对齐方程组中的
=号,可以使用\begin{aligned}...\end{aligned},如:
1 | $$ |
显示:
$$
\left{
\begin{aligned}
a_1x+b_1y+c_1z&=d_1\\
a_2x+b_2y&=d_2\\
a_3x+b_3y+c_3z&=d_3
\end{aligned}
\right.
$$
- 如果要对齐
=号和项,可以使用\begin{array}{列样式}...\end{array},如:
1 | $$ |
显示:
$$
\left{
\begin{array}{ll}
a_1x+b_1y+c_1z&=d_1\\
a_2x+b_2y&=d_2\\
a_3x+b_3y+c_3z&=d_3
\end{array}
\right.
$$
8. 附加装饰
\overline:$\overline{A}\quad\overline{AA}\quad\overline{AAA}$\underline:$\underline{B}\quad\underline{BB}\quad\underline{BBB}$\widetilde:$\widetilde{C}\quad\widetilde{CC}\quad\widetilde{CCC}$\widehat:$\widehat{D}\quad\widehat{DD}\quad\widehat{DDD}$\fbox:$\fbox{E}\quad\fbox{EE}\quad\fbox{EEE}$\underleftarrow:$\underleftarrow{F}\quad\underleftarrow{FF}\quad\underleftarrow{FFF}$\underrightarrow:$\underrightarrow{G}\quad\underrightarrow{GG}\quad\underrightarrow{GGG}$\underleftrightarrow:$\underleftrightarrow{H}\quad\underleftrightarrow{HH}\quad\underleftrightarrow{HHH}$\overbrace:$\overbrace{(n-2)+(n-1)+n+(n+1)}+\overbrace{(n+2)}$\underbrace:$\underbrace{(n-2)+(n-1)+n+(n+1)}+\underbrace{(n+2)}$
\overbrace和\underbrace可以使用上下标进行注释,如\underbrace{a\cdot a\cdots a}_{b_\text{ times}}显示为$\underbrace{a\cdot a\cdots a}{b\text{ times}}$
注释音标:\check:$\check{I}$、\acute:$\acute{J}$、\grave:$\grave{K}$。
9. 交换图表
使用\begin{CD}...\end{CD}表示交换图表,如下:
1 | $$ |
显示:
$$
\begin{CD}
A@>a>>B\\
@VbVV=@VVcV\\
C@>>d>D
\end{CD}
$$
\@>>>表示箭头向右。\@<<<<表示箭头向左。\@AAA表示箭头向上。\@VVV表示箭头向下。\@=表示水平双线。\@|<表示垂直双线。\@.表示没有箭头。
例如:
1 | $$ |
显示:
$$
\begin{CD}
A@>>>B@>{\text{very long label}}>>C\\
@.@AAA@|\\
D@=E@<<<F
\end{CD}
$$
也可以用此方法编写一个化学方程式,例如:
1 | $$ |
显示:
$$
\begin{CD}
RCOHR‘SO_3Na@>{\text{Hydrolysis,$\Delta, Dil.HCl$}}>>(RCOR’)+NaCl+SO_2+H_2O
\end{CD}
$$
10. 颜色
颜色的命名是和浏览器相关的,如果浏览器没有定义相关的颜色名称,则相关文本将被渲染为黑色。以下颜色是HTML4与CSS2标准中定义的一些颜色,其应该被大多数浏览器定义了。
\color{black}{text}:$\color{black}{text}$\color{gray}{text}:$\color{gray}{text}$\color{silver}{text}:$\color{silver}{text}$\color{white}{text}:$\color{white}{text}$\color{maroon}{text}:$\color{maroon}{text}$\color{red}{text}:$\color{red}{text}$\color{yellow}{text}:$\color{yellow}{text}$\color{lime}{text}:$\color{lime}{text}$\color{olive}{text}:$\color{olive}{text}$\color{green}{text}:$\color{green}{text}$\color{teal}{text}:$\color{teal}{text}$\color{aqua}{text}:$\color{aqua}{text}$\color{blue}{text}:$\color{blue}{text}$\color{navy}{text}:$\color{navy}{text}$\color{purple}{text}:$\color{purple}{text}$\color{fuchsia}{text}:$\color{fuchsia}{text}$
HTML5与CSS3定义了更多的颜色名称。此外,颜色也可以使用#rgb的形式来表示,r、g、b分别表示代表颜色值的16进制数。

