本文为 MathJax 在 Cmd Markdown 环境下的常用语法指引。Cmd Markdown 编辑阅读器支持 LATEX 编辑显示支持,例如:∑ni=1ai=0,访问 MathJax 以参考更多使用方法。
右键点击每一个公式,选择 [Show Math As] → [TeX Commands] 以查看该公式的命令详情。
一、公式使用参考
1.如何插入公式
LATEX 的数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。
- 行中公式可以用如下方法表示:
-
- 独立公式可以用如下方法表示:
-
- 自动编号的公式可以用如下方法表示:
-
若需要手动编号,参见“大括号和行标的使用”。
-
数学公式
\label{eq:当前公式名}
\end
自动编号后的公式可在全文任意处使用 \eqref{eq:公式名}
语句引用。
在公式(1)中,我们看到了这个被自动编号的公式。 E=mc2,自动编号公式示例(1)
2.如何输入上下标
^
表示上标, _
表示下标。如果上下标的内容多于一个字符,需要用 {}
将这些内容括成一个整体。上下标可以嵌套,也可以同时使用。
- 显示:$$ x{yz}=(1+{\rm e}x) $$
另外,如果要在左右两边都有上下标,可以使用 \sideset
命令;也可以简单地在符号前面多打一个上下标,此时会以行内公式渲染。
- 显示:$$\sideset{1_2}{3_4}\bigotimes \quad or \quad {^1_2}\bigotimes {^3_4} $$
3.如何输入括号和分隔符
()
、[]
和 |
表示符号本身,使用 \{\}
来表示 {}
。当要显示大号的括号或分隔符时,要用 \left
和 \right
命令。
一些特殊的括号:
输入 |
显示 |
输入 |
显示 |
\langle |
⟨ |
\rangle |
⟩ |
\lceil |
⌈ |
\rceil |
⌉ |
\lfloor |
⌊ |
\rfloor |
⌋ |
\lbrace |
{ |
\rbrace |
} |
\lvert |
| |
\rvert |
| |
\lVert |
∥ |
\rVert |
∥ |
@lymd 有时,我们需要在行内使用两个竖杠表示向量间的某种空间距离,可以这样写
\lVert \boldsymbol{X}_i - \boldsymbol{S}_j \rVert^2
→ ∥Xi−Sj∥2
- 显示:f(x,y,z)=3y2z(3+7x+51+y2)
有时要用 \left.
或 \right.
进行匹配而不显示本身。
4.如何输入分数
通常使用 \frac {分子} {分母}
来生成一个分数,分数可多层嵌套。如果分式较为复杂,亦可使用 分子 \over 分母
此时分数仅有一层。
- 显示:a−1b−1ora+1b+1
当分式 仅有两个字符时 可直接输入 \frac ab
来快速生成一个 ab 。
- 显示:12,1a,a2∣2 letters only:12a,,kqr2
5.如何输入开方
使用 \sqrt [根指数,省略时为2] {被开方数}
命令输入开方。
6.如何输入省略号
数学公式中常见的省略号有两种,\ldots
表示与 文本底线 对齐的省略号,\cdots
表示与 文本中线 对齐的省略号。
- 显示:$$ f(x_1,x_2,\underbrace{\ldots}{\rm ldots} ,x_n) = x_1^2 + x_2^2 + \underbrace{\cdots} + x_n^2 $$
7.如何输入向量
使用 \vec{向量}
来自动产生一个向量。也可以使用 \overrightarrow
等命令自定义字母上方的符号。
- 显示:xy with arrows:←−xy;∣;←→xy;∣;−→xy
8.如何输入积分
使用 \int_积分下限^积分上限 {被积表达式}
来输入一个积分。
例子:
显示:∫10x2,dx
本例中 \,
和 {\rm d}
部分可省略,但加入能使式子更美观,详见“在字符间加入空格”及“如何进行字体转换”。
9.如何输入极限运算
使用 \lim_{变量 \to 表达式} 表达式
来输入一个极限。如有需求,可以更改 \to
符号至任意符号。
例子:
显示:limn→∞1n(n+1)andlimx←示例1n(n+1)
10.如何输入累加、累乘运算
使用 \sum_{下标表达式}^{上标表达式} {累加表达式}
来输入一个累加。与之类似,使用 \prod
\bigcup
\bigcap
来分别输入累乘、并集和交集,更多符号可参考“其它特殊字符”。
此类符号在行内显示时上下标表达式将会移至右上角和右下角,如 ∑ni=11i2。
- 显示:n∑i=11i2andn∏i=11i2and2⋃i=1R
11.如何输入希腊字母
输入 \小写希腊字母英文全称
和 \首字母大写希腊字母英文全称
来分别输入小写和大写希腊字母。
对于大写希腊字母与现有字母相同的,直接输入大写字母即可。
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\alpha |
α |
A |
A |
\beta |
β |
B |
B |
\gamma |
γ |
\Gamma |
Γ |
\delta |
δ |
\Delta |
Δ |
\epsilon |
ϵ |
E |
E |
\zeta |
ζ |
Z |
Z |
\eta |
η |
H |
H |
\theta |
θ |
\Theta |
Θ |
\iota |
ι |
I |
I |
\kappa |
κ |
K |
K |
\lambda |
λ |
\Lambda |
Λ |
\mu |
μ |
M |
M |
\nu |
ν |
N |
N |
\xi |
ξ |
\Xi |
Ξ |
o |
o |
O |
O |
\pi |
π |
\Pi |
Π |
\rho |
ρ |
P |
P |
\sigma |
σ |
\Sigma |
Σ |
\tau |
τ |
T |
T |
\upsilon |
υ |
\Upsilon |
Υ |
\phi |
ϕ |
\Phi |
Φ |
\chi |
χ |
X |
X |
\psi |
ψ |
\Psi |
Ψ |
\omega |
ω |
\Omega |
Ω |
部分字母有变量专用形式,以 \var-
开头。
小写形式 |
大写形式 |
变量形式 |
显示 |
\epsilon |
E |
\varepsilon |
ϵ∣E∣ε |
\theta |
\Theta |
\vartheta |
θ∣Θ∣ϑ |
\rho |
P |
\varrho |
ρ∣P∣ϱ |
\sigma |
\Sigma |
\varsigma |
σ∣Σ∣ς |
\phi |
\Phi |
\varphi |
ϕ∣Φ∣φ |
12.如何输入其它特殊字符
完整的 LATEX 可用符号列表可以在 这份文档 中查阅(极长,共 348 页),大部分常用符号可以参阅 这份精简版文档 查询。需要注意的是,LATEX 符号并不保证在 MathJax v2.2 中可用,即在 Cmd Markdown 编辑阅读器中可能并不支持所输入的特定命令。
若需要显示更大或更小的字符,在符号前插入 \large
或 \small
命令。
MathJax 针对任意元素均提供从小至大 \tiny
\Tiny
\scriptsize
\small
*默认值 \normalsize
\large
\Large
\LARGE
\huge
\Huge
共十种渲染大小,详见官方文档。
若找不到需要的符号,推荐使用 Detexify 来画出想要的符号

(1).关系运算符
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\pm |
± |
\times |
× |
\div |
÷ |
\mid |
∣ |
\nmid |
∤ |
\cdot |
⋅ |
\circ |
∘ |
\ast |
∗ |
\bigodot |
⨀ |
\bigotimes |
⨂ |
\bigoplus |
⨁ |
\leq |
≤ |
\geq |
≥ |
\neq |
≠ |
\approx |
≈ |
\equiv |
≡ |
\sum |
∑ |
\prod |
∏ |
\coprod |
∐ |
\backslash |
∖ |
(2).集合运算符
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\emptyset |
∅ |
\in |
∈ |
\notin |
∉ |
\subset |
⊂ |
\supset |
⊃ |
\subseteq |
⊆ |
\supseteq |
⊇ |
\cap |
∩ |
\cup |
∪ |
\vee |
∨ |
\wedge |
∧ |
\uplus |
⊎ |
\top |
⊤ |
\bot |
⊥ |
\complement |
∁ |
(3).对数运算符
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\log |
log |
\lg |
lg |
\ln |
ln |
(4).三角运算符
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\backsim |
∽ |
\cong |
≅ |
\angle A |
∠A |
\sin |
sin |
\cos |
cos |
\tan |
tan |
\csc |
csc |
\sec |
sec |
\cot |
cot |
(5).微积分运算符
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\int |
∫ |
\iint |
∬ |
\iiint |
∭ |
\partial |
∂ |
\oint |
∮ |
\prime |
′ |
\lim |
lim |
\infty |
∞ |
\nabla |
∇ |
(6).逻辑运算符
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\because |
∵ |
\therefore |
∴ |
\neg |
¬ |
\forall |
∀ |
\exists |
∃ |
\not\subset |
⊄ |
\not< |
≮ |
\not> |
≯ |
\not= |
≠ |
(7).戴帽符号
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
\hat |
^xy |
\widehat |
ˆxyz |
\bar |
¯y |
\tilde |
~xy |
\widetilde |
˜xyz |
\acute |
´y |
\breve |
˘y |
\check |
ˇy |
\grave |
`y |
\dot |
˙x |
\ddot |
¨x |
\dddot |
...x |
若需要在特定文字顶部\底部放置内容,可使用 \overset{顶部内容}{正常内容}
和 \underset{底部内容}{正常内容}
命令。
\overset{above}{level}xxABC∣x2⟼ ∣∙∘∘∙T
\underset{below}{level}ABCxx∣⟼x2 ∣T∙∘∘∙
此命令可叠加嵌套使用,生成类似化学反应式的多重条件符号,
如 \overset{H_2}{\underset{1300℃}{\Longleftrightarrow}}
:
SrO+V′′SrH2⟺1300℃Sr×Sr+2e′+12O2(g)$$和‘Surface/bulk⟷diffusion‘:$$2OH∙O(STN)+2O×O(YSZ)Surface/bulk⟷diffusion2OH∙O(YSZ)+2O×O(STN)
一般建议在书写化学方程式时声明 \require{AMDcd}
语句,使用 MathJax 内置的交换图表功能,具体例子可参见下文。
(8).连线符号
其它可用的文字修饰符可参见官方文档 "Additional decorations"。
输入 |
显示 |
\fbox{a+b+c+d} 高级框选需声明 enclose 标签 |
a+b+c+d |
\overleftarrow |
←−−a+b+c+d |
\overrightarrow |
−−→a+b+c+d |
\overleftrightarrow |
←→a+b+c+d |
\underleftarrow |
a+b+c+d←−− |
\underrightarrow |
a+b+c+d−−→ |
\underleftrightarrow |
a+b+c+d←→ |
\overline |
¯¯¯¯¯¯¯¯a+b+c+d |
\underline |
a+b+c+d–––– |
\overbrace{a+b+c+d}^ |
Samplea+b+c+d |
\underbrace{a+b+c+d}_ |
a+b+c+dSample |
\overbrace{a+\underbrace{b+c}_{1.0}+d}^ |
2.0a+b+c1.0+d |
\underbrace{a\cdot a\cdots a}_{b\text{ times}} |
a⋅a⋯ab times |
(9).箭头符号
-
推荐使用符号:
|输入|显示|输入|显示|输入|显示|
|:--😐:--😐:--😐:--😐:--😐:--😐
|\to|→|\mapsto|↦|\underrightarrow{1℃/min} | 1℃/min−−−−−−−→ |
|\implies|⟹|\iff|⟺|\impliedby|⟸|
-
其它可用符号:
|输入|显示|输入|显示|
|:--😐:--😐:--😐:--😐
|\uparrow|↑|\Uparrow|⇑|
|\downarrow|↓|\Downarrow|⇓|
|\leftarrow|←|\Leftarrow|⇐|
|\rightarrow|→|\Rightarrow|⇒|
|\leftrightarrow|↔|\Leftrightarrow|⇔|
|\longleftarrow|⟵|\Longleftarrow|⟸|
|\longrightarrow|⟶|\Longrightarrow|⟹|
|\longleftrightarrow|⟷|\Longleftrightarrow|⟺|
13.如何进行字体转换
若要对公式的某一部分字符进行字体转换,可以用 {\字体 {需转换的部分字符}}
命令,其中 \字体
部分可以参照下表选择合适的字体。一般情况下,公式默认为斜体字 italic 。
示例中 全部大写 的字体仅大写可用。
|输入|全字母可用|显示|输入|仅大写可用|显示|
|:--😐:--😐:--😐:--😐:--😐:--😐:--😐
|\rm|罗马体|Sample|\mathcal|花体(数学符号等)|SAMPLE|
|\it|斜体|Sample|\mathbb|黑板粗体(定义域等)|SAMPLE|
|\bf|粗体|Sample|\mit|数学斜体|SAMPLE|
|\sf|等线体|Sample|\scr|手写体|SAMPLE|
|\tt|打字机体|Sample|
|\frak|旧德式字体|Sample|
@lymd \boldsymbol{\alpha}
用来表示向量或者矩阵的加粗斜体,如向量 →α。
转换字体十分常用,例如在积分中:
- 显示:
\begin{array}{cc}
\mathrm{Bad} & \mathrm{Better} \
\hline \
\int_0^1 x^2 dx & \int_0^1 x^2 ,{\rm d}x
\end
注意比较两个式子间 dx 与 dx 的不同。
使用 \operatorname
命令也可以达到相同的效果,详见“定义新的运算符”。
14.如何高亮一行公式
使用 \bbox[底色, (可选)边距, (可选)边框 border: 框宽度 框类型 框颜色]
命令来高亮一行公式。
底色和框颜色支持详见“更改文字颜色”,边距及框宽度支持 绝对像素 px
或 相对大小 em
,框类型支持 实线 solid
或 虚线 dashed
。
ex=limn→∞(1+xn)n(1)
ex=limn→∞(1+xn)n(1)
ex=limn→∞(1+xn)n(1)
15.大括号和行标的使用
在 \left
和 \right
之后加上要使用的括号来创建自动匹配高度的圆括号 (
)
,方括号 [
]
和花括号 \{
\}
。
在每个公式末尾前使用 \tag {行标}
来实现行标。
f⎛⎜
⎜⎝⎡⎢⎣1+{x,y}(xy+yx)(u+1)+a⎤⎥⎦3/2⎞⎟
⎟⎠(行标)
如果你需要在不同的行显示对应括号,可以在每一行对应处使用 \left.
或 \right.
来放一个“不存在的括号”。
a=(1+2+3+⋯⋯+∞−2+∞−1+∞)
如果你需要将大括号里面显示的分隔符也变大,可以使用 \middle
命令,此处分别使用单竖线 |
和双竖线 \\|
。
⟨q∣∣
∣∣xyuv∥∥∥p⟩
16.其它命令
(1).定义新的运算符 \operatorname
当需要使用的运算符不在 MathJax 的内置库中时,程序可能会报错或产生错误的渲染结果。此时可以使用 \operatorname
命令定义一个新的运算符号。
- 显示:
\begin{array}{c|c}
\mathrm{Error} & \text{Wrong rendering} \
\hline \
\arsinh(x) & arsinh(x) \
\Res_{z=1} & Res_{z=1}{\frac{1}{z^2-z}=1} \
\end
使用 \operatorname{运算符}{式子}
来生成一个普通运算,或使用 \operatorname*{运算符}_{下标}^{上标}{式子}
来生成一个含上下标的自定义运算。
- 显示:
\begin{array}{c|c}
\text{Normal Operator} & \text{Operator with label above and below} \
\scriptsize\text{\operatorname{arsinh}{x}} & \scriptsize\text{\operatorname{Res}_{z=1}{\frac{1}{z^2-z}=1}} \[2ex]
\hline \
\operatorname{arsinh}{x} & \operatorname_{z=1}{\frac{1}{z^2-z}=1}
\end
查询关于此命令的定义和关于此命令的讨论来进一步了解此命令。
(2).添加注释文字 \text
在 \text {文字}
中仍可以使用 $公式$
插入其它公式。
f(n)={n/2,if n is even3n+1,if n is odd
(3).在字符间加入空格
有四种宽度的空格可以使用: \,
、\;
、\quad
和 \qquad
,灵活使用 \text{n个空格}
也可以在任意位置实现空格。
同时存在一种负空格 \!
用来减小字符间距,一般在物理单位中使用。
反复使用 \!
命令能够实现不同元素的叠加渲染,如∧◯ 和 }!!!!!\div
- 显示:
\begin{array}{c|c}
\text{Spaces} & \text{Negative Space in Units} \
\hline \
\overbrace{a ! b}^{\text{!}} \mid \underbrace{ab}{\rm{default}} \mid \overbrace{a , b}^{\text{,}} \mid \underbrace{a ; b}{\text{;}} \mid \overbrace{a \quad b}^{\text{\quad}} \mid \underbrace{a \qquad b}_{\text{\qquad}} & \mathrm{N}!\cdot!\mathrm{m} \mid \mathrm{s}!\cdot!\mathrm{A} \mid \mathrm{kg}!\cdot!\mathrm{m}^2 \
\end
一些常见的公式单位可表达如下:
μ0=4π×10−7 T⋅m/A$$$$180∘=π rad$$$$NA=6.022×1023 mol−1
(4).更改文字颜色 \color
使用 \color{颜色}{文字}
来更改特定的文字颜色。
更改文字颜色需要浏览器支持 ,如果浏览器不知道你所需的颜色,那么文字将被渲染为黑色。对于较旧的浏览器(HTML4 & CSS2),以下颜色是被支持的:
输入 |
显示 |
输入 |
显示 |
black |
text |
grey |
text |
silver |
text |
white |
text |
maroon |
text |
red |
text |
yellow |
text |
lime |
text |
olive |
text |
green |
text |
teal |
text |
auqa |
text |
blue |
text |
navy |
text |
purple |
text |
fuchsia |
text |
对于较新的浏览器(HTML5 & CSS3),HEX 颜色将被支持:
输入 \color {#rgb} {text}
来自定义更多的颜色,其中 #rgb
或 #rrggbb
的 r
g
b
可输入 0-9
和 a-f
来表示红色、绿色和蓝色的纯度(饱和度)。
- 显示:
\begin{array}{|rrrrrrrr|}\hline
\verb+#000+ & \color{#000}{text} & \verb+#005+ & \color{#005}{text} & \verb+#00A+ & \color{#00A}{text} & \verb+#00F+ & \color{#00F}{text} \
\verb+#500+ & \color{#500}{text} & \verb+#505+ & \color{#505}{text} & \verb+#50A+ & \color{#50A}{text} & \verb+#50F+ & \color{#50F}{text} \
\verb+#A00+ & \color{#A00}{text} & \verb+#A05+ & \color{#A05}{text} & \verb+#A0A+ & \color{#A0A}{text} & \verb+#A0F+ & \color{#A0F}{text} \
\verb+#F00+ & \color{#F00}{text} & \verb+#F05+ & \color{#F05}{text} & \verb+#F0A+ & \color{#F0A}{text} & \verb+#F0F+ & \color{#F0F}{text} \
\hline
\verb+#080+ & \color{#080}{text} & \verb+#085+ & \color{#085}{text} & \verb+#08A+ & \color{#08A}{text} & \verb+#08F+ & \color{#08F}{text} \
\verb+#580+ & \color{#580}{text} & \verb+#585+ & \color{#585}{text} & \verb+#58A+ & \color{#58A}{text} & \verb+#58F+ & \color{#58F}{text} \
\verb+#A80+ & \color{#A80}{text} & \verb+#A85+ & \color{#A85}{text} & \verb+#A8A+ & \color{#A8A}{text} & \verb+#A8F+ & \color{#A8F}{text} \
\verb+#F80+ & \color{#F80}{text} & \verb+#F85+ & \color{#F85}{text} & \verb+#F8A+ & \color{#F8A}{text} & \verb+#F8F+ & \color{#F8F}{text} \
\hline
\verb+#0F0+ & \color{#0F0}{text} & \verb+#0F5+ & \color{#0F5}{text} & \verb+#0FA+ & \color{#0FA}{text} & \verb+#0FF+ & \color{#0FF}{text} \
\verb+#5F0+ & \color{#5F0}{text} & \verb+#5F5+ & \color{#5F5}{text} & \verb+#5FA+ & \color{#5FA}{text} & \verb+#5FF+ & \color{#5FF}{text} \
\verb+#AF0+ & \color{#AF0}{text} & \verb+#AF5+ & \color{#AF5}{text} & \verb+#AFA+ & \color{#AFA}{text} & \verb+#AFF+ & \color{#AFF}{text} \
\verb+#FF0+ & \color{#FF0}{text} & \verb+#FF5+ & \color{#FF5}{text} & \verb+#FFA+ & \color{#FFA}{text} & \verb+#FFF+ & \color{#FFF}{text} \
\hline\end
(5).添加删除线
使用删除线功能必须声明 $$
符号。
在公式内使用 \require{cancel}
来允许片段删除线的显示。
声明片段删除线后,使用 \cancel{字符}
、\bcancel{字符}
、\xcancel{字符}
和 \cancelto{字符}
来实现各种片段删除线效果。
y+\cancel{x}y+x\cancel{y+x}y+xy+\bcancel{x}y+xy+\xcancel{x}y+xy+\cancelto{0}{x}y+x0\frac{1\cancel9}{\cancel95} = \frac151995=15 使用 \require{enclose}
来允许整段删除线的显示。
声明整段删除线后,使用 \enclose{删除线效果}{字符}
来实现各种整段删除线效果。
其中,删除线效果有 horizontalstrike
、verticalstrike
、updiagonalstrike
和 downdiagonalstrike
,可叠加使用。
\enclose{horizontalstrike}{x+y}x+y\enclose{verticalstrike}{\frac xy}xy\enclose{updiagonalstrike}{x+y}x+y\enclose{downdiagonalstrike}{x+y}x+y\enclose{horizontalstrike,updiagonalstrike}{x+y}x+y
此外, \enclose
命令还可以产生包围的边框和圆等,参见 MathML Menclose Documentation 以查看更多效果。
分别使用 circle 和 roundedbox 包围的公式 |
分别使用 circle 和 roundedbox 包围的公式 |
使用 box 框住所有公式 |
$$ |
|
\require |
|
\begin{array} |
|
\end{array}
|
\require{enclose}
\enclose{box}{
f(⊤),,f2(⊤),,f3(⊤),⋯,fn(⊤) f(⊥),,f2(⊥),,f3(⊥),⋯,fn(⊥)
}
|
此例语法可参见“[如何输入一个数组或表格](#五数组与表格使用参考)”。
#二、矩阵使用参考
##1.如何输入无框矩阵
在开头使用 `\begin{matrix}`,在结尾使用 `\end{matrix}`,在中间插入矩阵元素,每个元素之间插入 `&` ,并在每行结尾处使用 `\\` 。
使用矩阵时必须声明 `$` 或 `$$` 符号。
- 例子:
```
1xx2 1yy2 1zz2
‘‘‘−显示:
1xx2 1yy2 1zz2
[Math Processing Error]
(1a1a21⋯an1 1a2a22⋯an2 ⋮⋮⋮⋱⋮ 1ama2m⋯anm )
‘‘‘−显示:
(1a1a21⋯an1 1a2a22⋯an2 ⋮⋮⋮⋱⋮ 1ama2m⋯anm )
##4.如何输入带分割符号的矩阵
详见"[数组使用参考](#五数组与表格使用参考)"。
- 例子:
```
\left[
123 456
\right]
‘‘‘−显示:
\left[
123 456
\right]
其中 `cc|c` 代表在一个三列矩阵中的第二和第三列之间插入分割线。
##5.如何输入行中矩阵
若想在一行内显示矩阵,
使用`\bigl(\begin{smallmatrix} ... \end{smallmatrix}\bigr)`。
- 例子:
```
这是一个行中矩阵的示例 $\bigl(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\bigr)$ 。
```
- 显示:这是一个行中矩阵的示例 $\bigl(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\bigr)$ 。
#三、方程式序列使用参考
##1.如何输入一个方程式序列
人们经常想要一列整齐且居中的方程式序列。使用 `\begin{align}…\end{align}` 来创造一列方程式,其中在每行结尾处使用 `\\` 。使用方程式序列无需声明公式符号 `$` 或 `$$` 。
**请注意 `{align}` 语句是自动编号的,使用 `{align*}` 声明不自动编号。**
- 例子:
```
\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}
```
- 显示:
\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}
本例中每行公式的编号续自“[如何插入公式](#1如何插入公式)”中的自动编号公式\eqref{eq:sample} 。
##2.在一个方程式序列的每一行中注明原因
在 `{align}` 中后添加 `&` 符号来自动对齐后面的内容,可灵活组合 `\text` 和 `\tag` 语句。`\tag` 语句编号优先级高于自动编号。
- 例子:
```
\begin{align}
v + w & = 0 & \text{Given} \tag 1 \\
-w & = -w + 0 & \text{additive identity} \tag 2 \\
-w + 0 & = -w + (v + w) & \text{equations $(1)$ and $(2)$} \\
\end{align}
```
- 显示:
\begin{align}
v + w & = 0 & \text{Given} \tag 1 \\
-w & = -w + 0 & \text{additive identity} \tag 2 \\
-w + 0 & = -w + (v + w) & \text{equations $(1)$ and $(2)$} \\
\end{align}
本例中第一、第二行的自动编号被 `\tag` 语句覆盖,第三行的编号为自动编号。
> **@joyphys** 如何引用 `\tag` 标记的公式?
<span style="text-align: center; display: block;"> 使用 `\tag{yourtag}` 来标记公式,然后在 `\tag` 之后加上 `\label{yourlabel}` </span>
#四、条件表达式使用参考
##1.如何输入一个条件表达式
使用 `\begin{cases}…\end{cases}` 来创造一组条件表达式,在每一行条件中插入 `&` 来指定需要对齐的内容,并在每一行结尾处使用 `\\`。
- 例子:
```
‘‘‘−显示:
> **@Sherlockk** 用 markdown+math 编辑时 `\text` 内需用 `\(equation\)`
##2.如何输入一个左侧对齐的条件表达式
若想让文字在**左侧对齐显示**,则有如下方式:
- 例子:
```
‘‘‘−显示:
##3.如何使条件表达式适配行高
在一些情况下,条件表达式中某些行的行高为非标准高度,此时使用 `\\[2ex]` 语句代替该行末尾的 `\\` 来让编辑器适配。
- 例子:
|不适配[2ex]|
|:--:|
```
f(n) =
\begin{cases}
\frac{n}{2}, & \text{if n is even} \
3n+1, & \text{if n is odd} \
\end{cases}
‘‘‘|适配[2ex]||:−−:|‘‘‘
f(n) =
\begin{cases}
\frac{n}{2}, & \text{if n is even} \[2ex]
3n+1, & \text{if n is odd} \
\end{cases}
‘‘‘−显示:|不适配[2ex]|适配[2ex]||:−−:|:−−:||
f(n) =
\begin{cases}
\frac{n}{2}, & \text{if n is even} \
3n+1, & \text{if n is odd} \
\end{cases}
|
f(n) =
\begin{cases}
\frac{n}{2}, & \text{if n is even} \[2ex]
3n+1, & \text{if n is odd} \
\end{cases}
[Math Processing Error]
\begin{array}{c} % 总表格
\begin{array}{cc} % 第一行内分成两列
\begin{array}{c|cccc} % 第一列"最小值"数组
\text{min} & 0 & 1 & 2 & 3 \
\hline
0 & 0 & 0 & 0 & 0 \
1 & 0 & 1 & 1 & 1 \
2 & 0 & 1 & 2 & 2 \
3 & 0 & 1 & 2 & 3 \
\end{array}
&
\begin{array}{c|cccc} % 第二列"最大值"数组
\text{max} & 0 & 1 & 2 & 3 \
\hline
0 & 0 & 1 & 2 & 3 \
1 & 1 & 1 & 2 & 3 \
2 & 2 & 2 & 2 & 3 \
3 & 3 & 3 & 3 & 3 \
\end{array}
\end{array} % 第一行表格组结束
\
\begin{array}{c|cccc} % 第二行 Delta 值数组
\Delta & 0 & 1 & 2 & 3 \
\hline
0 & 0 & 1 & 2 & 3 \
1 & 1 & 0 & 1 & 2 \
2 & 2 & 1 & 0 & 1 \
3 & 3 & 2 & 1 & 0 \
\end{array} % 第二行表格结束
\end{array} % 总表格结束
‘‘‘−显示:
\begin{array}{c} % 总表格
\begin{array}{cc} % 第一行内分成两列
\begin{array}{c|cccc} % 第一列"最小值"数组
\text{min} & 0 & 1 & 2 & 3 \
\hline
0 & 0 & 0 & 0 & 0 \
1 & 0 & 1 & 1 & 1 \
2 & 0 & 1 & 2 & 2 \
3 & 0 & 1 & 2 & 3 \
\end{array}
&
\begin{array}{c|cccc} % 第二列"最大值"数组
\text{max} & 0 & 1 & 2 & 3 \
\hline
0 & 0 & 1 & 2 & 3 \
1 & 1 & 1 & 2 & 3 \
2 & 2 & 2 & 2 & 3 \
3 & 3 & 3 & 3 & 3 \
\end{array}
\end{array} % 第一行表格组结束
\
\begin{array}{c|cccc} % 第二行 Delta 值数组
\Delta & 0 & 1 & 2 & 3 \
\hline
0 & 0 & 1 & 2 & 3 \
1 & 1 & 0 & 1 & 2 \
2 & 2 & 1 & 0 & 1 \
3 & 3 & 2 & 1 & 0 \
\end{array} % 第二行表格结束
\end{array} % 总表格结束
##3.如何输入一个方程组
可以使用 `\begin{array} … \end{array}` 和 `\left\{ … \right.` 来创建一个方程组:
- 例子:
```
\left{
a1x+b1y+c1z=d1 a2x+b2y+c2z=d2 a3x+b3y+c3z=d3
\right.
‘‘‘−显示:
\left{
a1x+b1y+c1z=d1 a2x+b2y+c2z=d2 a3x+b3y+c3z=d3
\right.
或使用条件表达式组 `\begin{cases} … \end{cases}` 来实现相同效果:
- 例子:
```
\begin{cases}
a_1x+b_1y+c_1z=d_1 \\
a_2x+b_2y+c_2z=d_2 \\
a_3x+b_3y+c_3z=d_3 \\
\end{cases}
```
- 显示:
\begin{cases}
a_1x+b_1y+c_1z=d_1 \\
a_2x+b_2y+c_2z=d_2 \\
a_3x+b_3y+c_3z=d_3 \\
\end{cases}
#六、连分数使用参考
##1.如何输入一个连分式
就像输入分式时使用 `\frac` 一样,使用 `\cfrac` 来创建一个连分数。
- 例子:
```
x = a_0 + \cfrac{1^2}{a_1 +
\cfrac{2^2}{a_2 +
\cfrac{3^2}{a_3 +
\cfrac{4^4}{a_4 +
\cdots
}
}
}
}
‘‘‘−显示:
x = a_0 + \cfrac{1^2}{a_1 +
\cfrac{2^2}{a_2 +
\cfrac{3^2}{a_3 +
\cfrac{4^4}{a_4 +
\cdots
}
}
}
}
不要使用普通的‘‘或‘‘来生成连分数,这样会看起来∗∗很恶心∗∗。−反例:‘‘‘
x = a_0 + \frac{1^2}{a_1 +
\frac{2^2}{a_2 +
\frac{3^2}{a_3 +
\frac{4^4}{a_4 +
\cdots
}
}
}
}
‘‘‘−显示:
x = a_0 + \frac{1^2}{a_1 +
\frac{2^2}{a_2 +
\frac{3^2}{a_3 +
\frac{4^4}{a_4 +
\cdots
}
}
}
}
当然,你可以使用‘‘来表达连分数的∗∗紧缩记法∗∗。−例子:‘‘‘
x = a_0 + \frac{1^2}{a_1 +}
\frac{2^2}{a_2 +}
\frac{3^2}{a_3 +}
\frac{4^4}{a_4 +}
\cdots
‘‘‘−显示:
x = a_0 + \frac{1^2}{a_1 +}
\frac{2^2}{a_2 +}
\frac{3^2}{a_3 +}
\frac{4^4}{a_4 +}
\cdots
[Math Processing Error]
\require{AMScd}
\begin{CD}
A @>a>> B \
@V b V V# @VV c V \
C @>>d> D \
\end{CD}
‘‘‘−显示:
\require{AMScd}
\begin{CD}
A @>a>> B \
@V b V V# @VV c V \
C @>>d> D \
\end{CD}
其中,‘@>>>‘代表右箭头、‘@<<<‘代表左箭头、‘@VVV‘代表下箭头、‘@AAA‘代表上箭头、‘@=‘代表水平双实线、‘@|‘代表竖直双实线、‘@.‘代表没有箭头。在‘@>>>‘的‘>>>‘之间任意插入文字即代表该箭头的注释文字。−例子:‘‘‘
\require{AMDcd}
\begin{CD}
A @>>> B @>{\text{very long label}}>> C \
@. @AAA @| \
D @= E @<<< F \
\end{CD}
‘‘‘−显示:
\require{AMDcd}
\begin{CD}
A @>>> B @>{\text{very long label}}>> C \
@. @AAA @| \
D @= E @<<< F \
\end{CD}
在本例中,‘verylonglabel‘自动延长了它所在箭头以及对应箭头的长度,因而交换图表十分适合进行化学反应式的书写。−例子:‘‘‘
\require{AMDcd}
\begin{CD}
\rm{RCOHR^{'}SO_3Na} @>{\large\text{Hydrolysis, Δ, Dil.HCl}}>> \rm{(RCOR^{'})+NaCl+SO_2+ H_2O}
\end{CD}
‘‘‘−显示:
\require{AMDcd}
\begin{CD}
\rm{RCOHR^{'}SO_3Na} @>{\large\text{Hydrolysis, Δ, Dil.HCl}}>> \rm{(RCOR^{'})+NaCl+SO_2+ H_2O}
\end{CD}
[Math Processing Error]
\require{AMSmath}
\begin{array}{cc}
\mathrm{Bad} & \mathrm{Better} \
\hline \
\int\int_S f(x),dy,dx & \iint_{\boldsymbol{S}} f(x),{\rm d}y,{\rm d}x \
\int\int\int_V f(x),dz,dy,dx & \iiint_{\boldsymbol{V}} f(x),{\rm d}z,{\rm d}y,{\rm d}x \[3ex]
\hline \
\text{多重积分示例} & \idotsint_{\boldsymbol{D}} f(x_1,x_2,,\cdots, ,x_n),{\rm d}x_1\cdots{\rm d}x_n
\end{array}
[Math Processing Error]
__EOF__
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)