Markdown 源文件下载 / 链接未知本文固定链接 https://ericp.cn/cmd

Cmd Markdown 公式指导手册

本文为 MathJax 在 Cmd Markdown 环境下的常用语法指引。Cmd Markdown 编辑阅读器支持 MathjaxTutorialMdeditor - 图1 编辑显示支持,例如:MathjaxTutorialMdeditor - 图2,访问 MathJax 以参考更多使用方法。 右键点击每一个公式,选择 [Show Math As] → [TeX Commands] 以查看该公式的命令详情。

一、公式使用参考

1.如何插入公式

MathjaxTutorialMdeditor - 图3 的数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。

行中公式可以用如下方法表示:

$ 数学公式 $

独立公式可以用如下方法表示:

数学公式

自动编号的公式可以用如下方法表示:
若需要手动编号,参见“大括号和行标的使用”。

\begin{equation}<br />数学公式<br />\label{eq:当前公式名}<br />\end{equation}

自动编号后的公式可在全文任意处使用 \eqref{eq:公式名} 语句引用。

  • 例子:
  1. $ J_\alpha(x) = \sum_{m=0}^\infty \frac{(-1)^m}{m! \Gamma (m + \alpha + 1)} {\left({ \frac{x}{2} }\right)}^{2m + \alpha} \text {,行内公式示例} $
  • 显示:MathjaxTutorialMdeditor - 图4
  • 例子:
  1. $$ J_\alpha(x) = \sum_{m=0}^\infty \frac{(-1)^m}{m! \Gamma (m + \alpha + 1)} {\left({ \frac{x}{2} }\right)}^{2m + \alpha} \text {,独立公式示例} $$
  • 显示:MathjaxTutorialMdeditor - 图5
  • 例子:
  1. $$ 在公式 \eqref{eq:sample} 中,我们看到了这个被自动编号的公式。$$
  2. \begin{equation}
  3. E=mc^2 \text{,自动编号公式示例}
  4. \label{eq:sample}
  5. \end{equation}
  • 显示:

MathjaxTutorialMdeditor - 图6

MathjaxTutorialMdeditor - 图7

2.如何输入上下标

^ 表示上标, _ 表示下标。如果上下标的内容多于一个字符,需要用 {} 将这些内容括成一个整体。上下标可以嵌套,也可以同时使用。

  • 例子:
  1. $$ x^{y^z}=(1+{\rm e}^x)^{-2xy^w} $$
  • 显示:MathjaxTutorialMdeditor - 图8

另外,如果要在左右两边都有上下标,可以使用 \sideset 命令;也可以简单地在符号前面多打一个上下标,此时会以行内公式渲染。

  • 例子:
  1. $$ \sideset{^1_2}{^3_4}\bigotimes \quad or \quad {^1_2}\bigotimes {^3_4} $$
  • 显示:MathjaxTutorialMdeditor - 图9

3.如何输入括号和分隔符

()[]| 表示符号本身,使用 \{\} 来表示 {} 。当要显示大号的括号或分隔符时,要用 \left\right 命令。

一些特殊的括号:

输入 显示 输入 显示
\langle MathjaxTutorialMdeditor - 图10 \rangle MathjaxTutorialMdeditor - 图11
\lceil MathjaxTutorialMdeditor - 图12 \rceil MathjaxTutorialMdeditor - 图13
\lfloor MathjaxTutorialMdeditor - 图14 \rfloor MathjaxTutorialMdeditor - 图15
\lbrace MathjaxTutorialMdeditor - 图16 \rbrace MathjaxTutorialMdeditor - 图17
\lvert MathjaxTutorialMdeditor - 图18 \rvert MathjaxTutorialMdeditor - 图19
\lVert MathjaxTutorialMdeditor - 图20 \rVert MathjaxTutorialMdeditor - 图21

@lymd 有时,我们需要在行内使用两个竖杠表示向量间的某种空间距离,可以这样写
\lVert \boldsymbol{X}_i - \boldsymbol{S}_j \rVert^2MathjaxTutorialMdeditor - 图22

  • 例子:
  1. $$ f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right) $$
  • 显示:MathjaxTutorialMdeditor - 图23

有时要用 \left.\right. 进行匹配而不显示本身。

  • 例子:
  1. $$ \left. \frac{{\rm d}u}{{\rm d}x} \right| _{x=0} $$
  • 显示:MathjaxTutorialMdeditor - 图24

4.如何输入分数

通常使用 \frac {分子} {分母} 来生成一个分数,分数可多层嵌套。如果分式较为复杂,亦可使用 分子 \over 分母 此时分数仅有一层。

  • 例子:
  1. $$ \frac{a-1}{b-1} \quad or \quad {a+1 \over b+1} $$
  • 显示:MathjaxTutorialMdeditor - 图25

当分式 仅有两个字符时 可直接输入 \frac ab 来快速生成一个 MathjaxTutorialMdeditor - 图26

  • 例子:
  1. $$ \frac 12,\frac 1a,\frac a2 \quad \mid \quad \text{2 letters only:} \quad \frac 12a \,, k\frac q{r^2} $$
  • 显示:MathjaxTutorialMdeditor - 图27

5.如何输入开方

使用 \sqrt [根指数,省略时为2] {被开方数} 命令输入开方。

  • 例子:
  1. $$ \sqrt{2} \quad or \quad \sqrt[n]{3} $$
  • 显示:MathjaxTutorialMdeditor - 图28

6.如何输入省略号

数学公式中常见的省略号有两种,\ldots 表示与 文本底线 对齐的省略号,\cdots 表示与 文本中线 对齐的省略号。

  • 例子:
  1. $$ f(x_1,x_2,\underbrace{\ldots}_{\rm ldots} ,x_n) = x_1^2 + x_2^2 + \underbrace{\cdots}_{\rm cdots} + x_n^2 $$
  • 显示:MathjaxTutorialMdeditor - 图29

7.如何输入向量

使用 \vec{向量} 来自动产生一个向量。也可以使用 \overrightarrow 等命令自定义字母上方的符号。

  • 例子:
  1. $$ \vec{a} \cdot \vec{b}=0 $$
  • 显示:MathjaxTutorialMdeditor - 图30
  • 例子:
  1. $$ xy \text{ with arrows:} \quad \overleftarrow{xy} \; \mid \; \overleftrightarrow{xy} \; \mid \; \overrightarrow{xy} $$
  • 显示:MathjaxTutorialMdeditor - 图31

8.如何输入积分

使用 \int_积分下限^积分上限 {被积表达式} 来输入一个积分。

例子:

  1. $$ \int_0^1 {x^2} \,{\rm d}x $$

显示:MathjaxTutorialMdeditor - 图32

本例中 \,{\rm d} 部分可省略,但加入能使式子更美观,详见“在字符间加入空格”及“如何进行字体转换”。

9.如何输入极限运算

使用 \lim_{变量 \to 表达式} 表达式 来输入一个极限。如有需求,可以更改 \to 符号至任意符号。

例子:

  1. $$ \lim_{n \to \infty} \frac{1}{n(n+1)} \quad and \quad \lim_{x\leftarrow{示例}} \frac{1}{n(n+1)} $$

显示:MathjaxTutorialMdeditor - 图33

10.如何输入累加、累乘运算

使用 \sum_{下标表达式}^{上标表达式} {累加表达式} 来输入一个累加。与之类似,使用 \prod \bigcup \bigcap 来分别输入累乘、并集和交集,更多符号可参考“其它特殊字符”。
此类符号在行内显示时上下标表达式将会移至右上角和右下角,如 MathjaxTutorialMdeditor - 图34

  • 例子:
  1. $$ \sum_{i=1}^n \frac{1}{i^2} \quad and \quad \prod_{i=1}^n \frac{1}{i^2} \quad and \quad \bigcup_{i=1}^{2} \Bbb{R} $$
  • 显示:MathjaxTutorialMdeditor - 图35

11.如何输入希腊字母

输入 \小写希腊字母英文全称\首字母大写希腊字母英文全称 来分别输入小写和大写希腊字母。
对于大写希腊字母与现有字母相同的,直接输入大写字母即可。

输入 显示 输入 显示 输入 显示 输入 显示
\alpha MathjaxTutorialMdeditor - 图36 A MathjaxTutorialMdeditor - 图37 \beta MathjaxTutorialMdeditor - 图38 B MathjaxTutorialMdeditor - 图39
\gamma MathjaxTutorialMdeditor - 图40 \Gamma MathjaxTutorialMdeditor - 图41 \delta MathjaxTutorialMdeditor - 图42 \Delta MathjaxTutorialMdeditor - 图43
\epsilon MathjaxTutorialMdeditor - 图44 E MathjaxTutorialMdeditor - 图45 \zeta MathjaxTutorialMdeditor - 图46 Z MathjaxTutorialMdeditor - 图47
\eta MathjaxTutorialMdeditor - 图48 H MathjaxTutorialMdeditor - 图49 \theta MathjaxTutorialMdeditor - 图50 \Theta MathjaxTutorialMdeditor - 图51
\iota MathjaxTutorialMdeditor - 图52 I MathjaxTutorialMdeditor - 图53 \kappa MathjaxTutorialMdeditor - 图54 K MathjaxTutorialMdeditor - 图55
\lambda MathjaxTutorialMdeditor - 图56 \Lambda MathjaxTutorialMdeditor - 图57 \mu MathjaxTutorialMdeditor - 图58 M MathjaxTutorialMdeditor - 图59
\nu MathjaxTutorialMdeditor - 图60 N MathjaxTutorialMdeditor - 图61 \xi MathjaxTutorialMdeditor - 图62 \Xi MathjaxTutorialMdeditor - 图63
o MathjaxTutorialMdeditor - 图64 O MathjaxTutorialMdeditor - 图65 \pi MathjaxTutorialMdeditor - 图66 \Pi MathjaxTutorialMdeditor - 图67
\rho MathjaxTutorialMdeditor - 图68 P MathjaxTutorialMdeditor - 图69 \sigma MathjaxTutorialMdeditor - 图70 \Sigma MathjaxTutorialMdeditor - 图71
\tau MathjaxTutorialMdeditor - 图72 T MathjaxTutorialMdeditor - 图73 \upsilon MathjaxTutorialMdeditor - 图74 \Upsilon MathjaxTutorialMdeditor - 图75
\phi MathjaxTutorialMdeditor - 图76 \Phi MathjaxTutorialMdeditor - 图77 \chi MathjaxTutorialMdeditor - 图78 X MathjaxTutorialMdeditor - 图79
\psi MathjaxTutorialMdeditor - 图80 \Psi MathjaxTutorialMdeditor - 图81 \omega MathjaxTutorialMdeditor - 图82 \Omega MathjaxTutorialMdeditor - 图83

部分字母有变量专用形式,以 **\var-** 开头。

小写形式 大写形式 变量形式 显示
\epsilon E \varepsilon MathjaxTutorialMdeditor - 图84
\theta \Theta \vartheta MathjaxTutorialMdeditor - 图85
\rho P \varrho MathjaxTutorialMdeditor - 图86
\sigma \Sigma \varsigma MathjaxTutorialMdeditor - 图87
\phi \Phi \varphi MathjaxTutorialMdeditor - 图88

12.如何输入其它特殊字符

完整的 MathjaxTutorialMdeditor - 图89 可用符号列表可以在 这份文档 中查阅(极长,共 348 页),大部分常用符号可以参阅 这份精简版文档 查询。需要注意的是,MathjaxTutorialMdeditor - 图90 符号并不保证在 MathJax v2.2 中可用,即在 Cmd Markdown 编辑阅读器中可能并不支持所输入的特定命令。

若需要显示更大或更小的字符,在符号前插入 \large\small 命令。
MathJax 针对任意元素均提供从小至大 \tiny \Tiny \scriptsize \small *默认值 \normalsize \large \Large \LARGE \huge \Huge 共十种渲染大小,详见官方文档

若找不到需要的符号,推荐使用 来画出想要的符号MathjaxTutorialMdeditor - 图91

MathjaxTutorialMdeditor - 图92

(1).关系运算符

输入 显示 输入 显示 输入 显示 输入 显示
\pm MathjaxTutorialMdeditor - 图93 \times MathjaxTutorialMdeditor - 图94 \div MathjaxTutorialMdeditor - 图95 \mid MathjaxTutorialMdeditor - 图96
\nmid MathjaxTutorialMdeditor - 图97 \cdot MathjaxTutorialMdeditor - 图98 \circ MathjaxTutorialMdeditor - 图99 \ast MathjaxTutorialMdeditor - 图100
\bigodot MathjaxTutorialMdeditor - 图101 \bigotimes MathjaxTutorialMdeditor - 图102 \bigoplus MathjaxTutorialMdeditor - 图103 \leq MathjaxTutorialMdeditor - 图104
\geq MathjaxTutorialMdeditor - 图105 \neq MathjaxTutorialMdeditor - 图106 \approx MathjaxTutorialMdeditor - 图107 \equiv MathjaxTutorialMdeditor - 图108
\sum MathjaxTutorialMdeditor - 图109 \prod MathjaxTutorialMdeditor - 图110 \coprod MathjaxTutorialMdeditor - 图111 \backslash MathjaxTutorialMdeditor - 图112

(2).集合运算符

输入 显示 输入 显示 输入 显示
\emptyset MathjaxTutorialMdeditor - 图113 \in MathjaxTutorialMdeditor - 图114 \notin MathjaxTutorialMdeditor - 图115
\subset MathjaxTutorialMdeditor - 图116 \supset MathjaxTutorialMdeditor - 图117 \subseteq MathjaxTutorialMdeditor - 图118
\supseteq MathjaxTutorialMdeditor - 图119 \cap MathjaxTutorialMdeditor - 图120 \cup MathjaxTutorialMdeditor - 图121
\vee MathjaxTutorialMdeditor - 图122 \wedge MathjaxTutorialMdeditor - 图123 \uplus MathjaxTutorialMdeditor - 图124
\top MathjaxTutorialMdeditor - 图125 \bot MathjaxTutorialMdeditor - 图126 \complement MathjaxTutorialMdeditor - 图127

(3).对数运算符

输入 显示 输入 显示 输入 显示
\log MathjaxTutorialMdeditor - 图128 \lg MathjaxTutorialMdeditor - 图129 \ln MathjaxTutorialMdeditor - 图130

(4).三角运算符

输入 显示 输入 显示 输入 显示
\backsim MathjaxTutorialMdeditor - 图131 \cong MathjaxTutorialMdeditor - 图132 \angle A MathjaxTutorialMdeditor - 图133
\sin MathjaxTutorialMdeditor - 图134 \cos MathjaxTutorialMdeditor - 图135 \tan MathjaxTutorialMdeditor - 图136
\csc MathjaxTutorialMdeditor - 图137 \sec MathjaxTutorialMdeditor - 图138 \cot MathjaxTutorialMdeditor - 图139

(5).微积分运算符

输入 显示 输入 显示 输入 显示
\int MathjaxTutorialMdeditor - 图140 \iint MathjaxTutorialMdeditor - 图141 \iiint MathjaxTutorialMdeditor - 图142
\partial MathjaxTutorialMdeditor - 图143 \oint MathjaxTutorialMdeditor - 图144 \prime MathjaxTutorialMdeditor - 图145
\lim MathjaxTutorialMdeditor - 图146 \infty MathjaxTutorialMdeditor - 图147 \nabla MathjaxTutorialMdeditor - 图148

(6).逻辑运算符

输入 显示 输入 显示 输入 显示
\because MathjaxTutorialMdeditor - 图149 \therefore MathjaxTutorialMdeditor - 图150 \neg MathjaxTutorialMdeditor - 图151
\forall MathjaxTutorialMdeditor - 图152 \exists MathjaxTutorialMdeditor - 图153 \not\subset MathjaxTutorialMdeditor - 图154
\not< MathjaxTutorialMdeditor - 图155 \not> MathjaxTutorialMdeditor - 图156 \not= MathjaxTutorialMdeditor - 图157

(7).戴帽符号

输入 显示 输入 显示 输入 显示
\hat{xy} MathjaxTutorialMdeditor - 图158 \widehat{xyz} MathjaxTutorialMdeditor - 图159 \bar{y} MathjaxTutorialMdeditor - 图160
\tilde{xy} MathjaxTutorialMdeditor - 图161 \widetilde{xyz} MathjaxTutorialMdeditor - 图162 \acute{y} MathjaxTutorialMdeditor - 图163
\breve{y} MathjaxTutorialMdeditor - 图164 \check{y} MathjaxTutorialMdeditor - 图165 \grave{y} MathjaxTutorialMdeditor - 图166
\dot{x} MathjaxTutorialMdeditor - 图167 \ddot{x} MathjaxTutorialMdeditor - 图168 \dddot{x} MathjaxTutorialMdeditor - 图169

若需要在特定文字顶部\底部放置内容,可使用 \overset{顶部内容}{正常内容}\underset{底部内容}{正常内容} 命令。

  • 例子:
  1. $$ \verb+\overset{above}{level}+ \qquad \overset{xx}{ABC} \;\; \mid \quad \overset{x^2}{\longmapsto}\ \, \mid \quad \overset{\bullet\circ\circ\bullet}{T} $$
  • 显示:

MathjaxTutorialMdeditor - 图170

  • 例子:
  1. $$ \verb+\underset{below}{level}+ \qquad \underset{xx}{ABC} \;\; \mid \quad \underset{x^2}{\longmapsto}\ \, \mid \quad \underset{\bullet\circ\circ\bullet}{T} $$
  • 显示:

MathjaxTutorialMdeditor - 图171

此命令可叠加嵌套使用,生成类似化学反应式的多重条件符号,
\overset{H_2}{\underset{1300℃}{\Longleftrightarrow}}

MathjaxTutorialMdeditor - 图172%7D%20%24%24%20%E5%92%8C%20%60%5Coverset%7BSurface%2Fbulk%7D%7B%5Cunderset%7Bdiffusion%7D%7B%5Clongleftrightarrow%7D%7D%60%EF%BC%9A%0A%24%24%20%5Crm%7B2OH%5E%7B%5Cbullet%7D%7BO(STN)%7D%2B2O%5E%7B%5Ctimes%7D%7BO(YSZ)%7D%20%5C%3B%20%5Coverset%7BSurface%2Fbulk%7D%7B%5Cunderset%7Bdiffusion%7D%7B%5Clongleftrightarrow%7D%7D%20%5C%3B%5C%3B%202OH%5E%7B%5Cbullet%7D%7BO(YSZ)%7D%2B2O%5E%7B%5Ctimes%7D%7BO(STN)%7D%7D%20#card=math&code=%20%5Crm%7BSrO%2BV%5E%7B%27%27%7D%7BSr%7D%20%5Coverset%7BH_2%7D%7B%5Cunderset%7B1300%E2%84%83%7D%7B%5CLongleftrightarrow%7D%7D%20Sr%5E%7B%5Ctimes%7D%7BSr%7D%2B2e%5E%7B%27%7D%2B%5Cfrac%2012O2%28g%29%7D%20%24%24%20%E5%92%8C%20%60%5Coverset%7BSurface%2Fbulk%7D%7B%5Cunderset%7Bdiffusion%7D%7B%5Clongleftrightarrow%7D%7D%60%EF%BC%9A%0A%24%24%20%5Crm%7B2OH%5E%7B%5Cbullet%7D%7BO%28STN%29%7D%2B2O%5E%7B%5Ctimes%7D%7BO%28YSZ%29%7D%20%5C%3B%20%5Coverset%7BSurface%2Fbulk%7D%7B%5Cunderset%7Bdiffusion%7D%7B%5Clongleftrightarrow%7D%7D%20%5C%3B%5C%3B%202OH%5E%7B%5Cbullet%7D%7BO%28YSZ%29%7D%2B2O%5E%7B%5Ctimes%7D_%7BO%28STN%29%7D%7D%20&id=xsGKQ)

一般建议在书写化学方程式时声明 \require{AMDcd} 语句,使用 MathJax 内置的交换图表功能,具体例子可参见下文

(8).连线符号

其它可用的文字修饰符可参见官方文档 “Additional decorations”

输入 显示
\fbox{a+b+c+d} 高级框选需声明
[**enclose**](#5%E6%B7%BB%E5%8A%A0%E5%88%A0%E9%99%A4%E7%BA%BF)
标签
MathjaxTutorialMdeditor - 图173
\overleftarrow{a+b+c+d} MathjaxTutorialMdeditor - 图174
\overrightarrow{a+b+c+d} MathjaxTutorialMdeditor - 图175
\overleftrightarrow{a+b+c+d} MathjaxTutorialMdeditor - 图176
\underleftarrow{a+b+c+d} MathjaxTutorialMdeditor - 图177
\underrightarrow{a+b+c+d} MathjaxTutorialMdeditor - 图178
\underleftrightarrow{a+b+c+d} MathjaxTutorialMdeditor - 图179
\overline{a+b+c+d} MathjaxTutorialMdeditor - 图180
\underline{a+b+c+d} MathjaxTutorialMdeditor - 图181
\overbrace{a+b+c+d}^{Sample} MathjaxTutorialMdeditor - 图182
\underbrace{a+b+c+d}_{Sample} MathjaxTutorialMdeditor - 图183
\overbrace{a+\underbrace{b+c}_{1.0}+d}^{2.0} MathjaxTutorialMdeditor - 图184
\underbrace{a\cdot a\cdots a}_{b\text{ times}} MathjaxTutorialMdeditor - 图185

(9).箭头符号

  • 推荐使用符号: | 输入 | 显示 | | —- | —- | | \to | MathjaxTutorialMdeditor - 图186 | | \mapsto | MathjaxTutorialMdeditor - 图187 | | \underrightarrow{1℃/min} | MathjaxTutorialMdeditor - 图188 | | \implies | MathjaxTutorialMdeditor - 图189 | | \iff | MathjaxTutorialMdeditor - 图190 | | \impliedby | MathjaxTutorialMdeditor - 图191 |

  • 其它可用符号: | 输入 | 显示 | | —- | —- | | \uparrow | MathjaxTutorialMdeditor - 图192 | | \downarrow | MathjaxTutorialMdeditor - 图193 | | \leftarrow | MathjaxTutorialMdeditor - 图194 | | \rightarrow | MathjaxTutorialMdeditor - 图195 | | \leftrightarrow | MathjaxTutorialMdeditor - 图196 | | \longleftarrow | MathjaxTutorialMdeditor - 图197 | | \longrightarrow | MathjaxTutorialMdeditor - 图198 | | \longleftrightarrow | MathjaxTutorialMdeditor - 图199 | | \Uparrow | MathjaxTutorialMdeditor - 图200 | | \Downarrow | MathjaxTutorialMdeditor - 图201 | | \Leftarrow | MathjaxTutorialMdeditor - 图202 | | \Rightarrow | MathjaxTutorialMdeditor - 图203 | | \Leftrightarrow | MathjaxTutorialMdeditor - 图204 | | \Longleftarrow | MathjaxTutorialMdeditor - 图205 | | \Longrightarrow | MathjaxTutorialMdeditor - 图206 | | \Longleftrightarrow | MathjaxTutorialMdeditor - 图207 |

13.如何进行字体转换

若要对公式的某一部分字符进行字体转换,可以用 {\字体 {需转换的部分字符}} 命令,其中 \字体 部分可以参照下表选择合适的字体。一般情况下,公式默认为斜体字 MathjaxTutorialMdeditor - 图208

示例中 全部大写 的字体仅大写可用。

输入 全字母可用 显示 输入 仅大写可用 显示
\rm 罗马体 MathjaxTutorialMdeditor - 图209 \mathcal 花体(数学符号等) MathjaxTutorialMdeditor - 图210
\it 斜体 MathjaxTutorialMdeditor - 图211 \mathbb 黑板粗体(定义域等) MathjaxTutorialMdeditor - 图212
\bf 粗体 MathjaxTutorialMdeditor - 图213 \mit 数学斜体 MathjaxTutorialMdeditor - 图214
\sf 等线体 MathjaxTutorialMdeditor - 图215 \scr 手写体 MathjaxTutorialMdeditor - 图216
\tt 打字机体 MathjaxTutorialMdeditor - 图217


\frak 旧德式字体 MathjaxTutorialMdeditor - 图218


@lymd \boldsymbol{\alpha} 用来表示向量或者矩阵的加粗斜体,如向量 MathjaxTutorialMdeditor - 图219

转换字体十分常用,例如在积分中:

  • 例子:
  1. \begin{array}{cc}
  2. \mathrm{Bad} & \mathrm{Better} \\
  3. \hline \\
  4. \int_0^1 x^2 dx & \int_0^1 x^2 \,{\rm d}x
  5. \end{array}
  • 显示:
    MathjaxTutorialMdeditor - 图220

注意比较两个式子间 MathjaxTutorialMdeditor - 图221MathjaxTutorialMdeditor - 图222 的不同。
使用 \operatorname 命令也可以达到相同的效果,详见“定义新的运算符”。

14.如何高亮一行公式

使用 \bbox[底色, (可选)边距, (可选)边框 border: 框宽度 框类型 框颜色] 命令来高亮一行公式。
底色和框颜色支持详见“更改文字颜色”,边距及框宽度支持 绝对像素 px相对大小 em,框类型支持 实线 solid虚线 dashed

  • 例子:
  1. $$
  2. \bbox[yellow]{
  3. e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (1)
  4. }
  5. $$
  • 显示:

MathjaxTutorialMdeditor - 图223%5En%20%5Cqquad%20(1)%0A%7D%0A#card=math&code=%5Cbbox%5Byellow%5D%7B%0A%20%20%20%20e%5Ex%3D%5Clim_%7Bn%5Cto%5Cinfty%7D%20%5Cleft%28%201%2B%5Cfrac%7Bx%7D%7Bn%7D%20%5Cright%29%5En%20%5Cqquad%20%281%29%0A%7D%0A&id=fY1Un)

  • 例子:
  1. $$
  2. \bbox[#9ff, 5px]{ % 此处向外添加 5 像素的边距
  3. e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (1)
  4. }
  5. $$
  • 显示:

MathjaxTutorialMdeditor - 图224%5En%20%5Cqquad%20(1)%0A%7D%0A#card=math&code=%5Cbbox%5B%239ff%2C%205px%5D%7B%0A%20%20%20%20e%5Ex%3D%5Clim_%7Bn%5Cto%5Cinfty%7D%20%5Cleft%28%201%2B%5Cfrac%7Bx%7D%7Bn%7D%20%5Cright%29%5En%20%5Cqquad%20%281%29%0A%7D%0A&id=T6zmi)

  • 例子:
  1. $$
  2. % 此处使用 0.5 倍行高作为边距,附加 2 像素的实线边框(Ctrl+Alt+Y 可见)
  3. \bbox[#2f3542, 0.5em, border:2px solid #f1f2f6]{
  4. \color{#f1f2f6}{e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (1)}
  5. }
  6. $$
  • 显示:

MathjaxTutorialMdeditor - 图225%5En%20%5Cqquad%20(1)%7D%0A%7D%0A#card=math&code=%5Cbbox%5B%232f3542%2C%200.5em%2C%20border%3A2px%20solid%20%23f1f2f6%5D%7B%0A%20%20%20%20%5Ccolor%7B%23f1f2f6%7D%7Be%5Ex%3D%5Clim_%7Bn%5Cto%5Cinfty%7D%20%5Cleft%28%201%2B%5Cfrac%7Bx%7D%7Bn%7D%20%5Cright%29%5En%20%5Cqquad%20%281%29%7D%0A%7D%0A&id=l3MWe)

15.大括号和行标的使用

\left\right 之后加上要使用的括号来创建自动匹配高度的圆括号 ( ),方括号 [ ] 和花括号 \{ \}
在每个公式末尾前使用 \tag {行标} 来实现行标。

  • 例子:
  1. $$
  2. f\left(
  3. \left[
  4. \frac{
  5. 1+\left\{x,y\right\}
  6. }{
  7. \left(
  8. \frac xy + \frac yx
  9. \right)
  10. (u+1)
  11. }+a
  12. \right]^{3/2}
  13. \right)
  14. \tag {行标}
  15. $$
  • 显示:

MathjaxTutorialMdeditor - 图226%0A%20%20%20%20%20%20%20(u%2B1)%0A%20%20%20%20%20%7D%2Ba%0A%20%20%20%5Cright%5D%5E%7B3%2F2%7D%0A%5Cright)%0A%5Ctag%20%7B%E8%A1%8C%E6%A0%87%7D%0A#card=math&code=f%5Cleft%28%0A%20%20%20%5Cleft%5B%20%0A%20%20%20%20%20%5Cfrac%7B%0A%20%20%20%20%20%20%201%2B%5Cleft%5C%7Bx%2Cy%5Cright%5C%7D%0A%20%20%20%20%20%7D%7B%0A%20%20%20%20%20%20%20%5Cleft%28%0A%20%20%20%20%20%20%20%20%20%20%5Cfrac%20xy%20%2B%20%5Cfrac%20yx%0A%20%20%20%20%20%20%20%5Cright%29%0A%20%20%20%20%20%20%20%28u%2B1%29%0A%20%20%20%20%20%7D%2Ba%0A%20%20%20%5Cright%5D%5E%7B3%2F2%7D%0A%5Cright%29%0A%5Ctag%20%7B%E8%A1%8C%E6%A0%87%7D%0A&id=qkjIb)

如果你需要在不同的行显示对应括号,可以在每一行对应处使用 \left.\right. 来放一个“不存在的括号”。

  • 例子:
  1. $$
  2. \begin{align*}
  3. a=&\left(1+2+3+ \cdots \right. \\
  4. &\cdots+\left. \infty-2+\infty-1+\infty\right)
  5. \end{align*}
  6. $$
  • 显示:

MathjaxTutorialMdeditor - 图227%0A%5Cend%7Balign*%7D%0A#card=math&code=%5Cbegin%7Balign%2A%7D%0A%20%20%20%20a%3D%26%5Cleft%281%2B2%2B3%2B%20%5Ccdots%20%5Cright.%20%5C%5C%0A%20%20%20%20%20%20%26%5Ccdots%2B%5Cleft.%20%5Cinfty-2%2B%5Cinfty-1%2B%5Cinfty%5Cright%29%0A%5Cend%7Balign%2A%7D%0A&id=TiYax)

如果你需要将大括号里面显示的分隔符也变大,可以使用 \middle 命令,此处分别使用单竖线 | 和双竖线 \\|

  • 例子:
  1. $$
  2. \left\langle
  3. q \; \middle|
  4. \frac{\frac xy}{\frac uv}
  5. \middle\| p
  6. \right\rangle
  7. $$
  • 显示:

MathjaxTutorialMdeditor - 图228

16.其它命令

(1).定义新的运算符 \operatorname

当需要使用的运算符不在 MathJax 的内置库中时,程序可能会报错或产生错误的渲染结果。此时可以使用 \operatorname 命令定义一个新的运算符号。

  • 反例:
  1. \begin{array}{c|c}
  2. \mathrm{Error} & \text{Wrong rendering} \\
  3. \hline \\
  4. \arsinh(x) & arsinh(x) \\
  5. \Res_{z=1} & Res_{z=1}{\frac{1}{z^2-z}=1} \\
  6. \end{array}
  • 显示:

截屏2022-07-14 14.32.38.png

使用 \operatorname{运算符}{式子} 来生成一个普通运算,或使用 \operatorname*{运算符}_{下标}^{上标}{式子} 来生成一个含上下标的自定义运算。

  • 例子:
  1. \begin{array}{c|c}
  2. \text{Normal Operator} & \text{Operator with label above and below} \\
  3. \hline \\
  4. \scriptsize\text{\operatorname{arsinh}{x}} & \scriptsize\text{\operatorname*{Res}_{z=1}{\frac{1}{z^2-z}=1}} \\
  5. \operatorname{arsinh}{x} & \operatorname*{Res}_{z=1}{\frac{1}{z^2-z}=1} \\
  6. \end{array}
  • 显示:
    MathjaxTutorialMdeditor - 图230

查询关于此命令的定义关于此命令的讨论来进一步了解此命令。

(2).添加注释文字 \text

\text {文字} 中仍可以使用 $公式$ 插入其它公式。

  • 例子:
  1. $$ f(n)= \begin{cases} n/2, & \text {if $n$ is even} \\ 3n+1, & \text{if $n$ is odd} \end{cases} $$
  • 显示:

MathjaxTutorialMdeditor - 图231%3D%20%5Cbegin%7Bcases%7D%20n%2F2%2C%20%26%20%5Ctext%20%7Bif%20%24n%24%20is%20even%7D%20%5C%5C%203n%2B1%2C%20%26%20%5Ctext%7Bif%20%24n%24%20is%20odd%7D%20%5Cend%7Bcases%7D%20%0A#card=math&code=f%28n%29%3D%20%5Cbegin%7Bcases%7D%20n%2F2%2C%20%26%20%5Ctext%20%7Bif%20%24n%24%20is%20even%7D%20%5C%5C%203n%2B1%2C%20%26%20%5Ctext%7Bif%20%24n%24%20is%20odd%7D%20%5Cend%7Bcases%7D%20%0A&id=YoISt)

(3).在字符间加入空格

有四种宽度的空格可以使用: \,\;\quad\qquad,灵活使用 \text{n个空格} 也可以在任意位置实现空格。
同时存在一种负空格 \! 用来减小字符间距,一般在物理单位中使用。
反复使用 **\!** 命令能够实现不同元素的叠加渲染,如MathjaxTutorialMdeditor - 图232 和 $ }!!!!!\div $

  • 例子:
  1. \begin{array}{c|c}
  2. \text{Spaces} & \text{Negative Space in Units} \\
  3. \hline \\
  4. \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 \\
  5. \end{array}
  • 显示:
    MathjaxTutorialMdeditor - 图233

一些常见的公式单位可表达如下:

  • 例子:
  1. $$ \mu_0=4\pi\times10^{-7} \ \left.\mathrm{\mathrm{T}\!\cdot\!\mathrm{m}}\middle/\mathrm{A}\right. $$
  2. $$ 180^\circ=\pi \ \mathrm{rad} $$
  3. $$ \mathrm{N_A} = 6.022\times10^{23} \ \mathrm{mol}^{-1} $$
  • 显示:

MathjaxTutorialMdeditor - 图234

(4).更改文字颜色 \color

使用 \color{颜色}{文字} 来更改特定的文字颜色。

更改文字颜色需要浏览器支持 ,如果浏览器不知道你所需的颜色,那么文字将被渲染为黑色。对于较旧的浏览器(HTML4 & CSS2),以下颜色是被支持的:

输入 显示 输入 显示
black MathjaxTutorialMdeditor - 图235 grey MathjaxTutorialMdeditor - 图236
silver MathjaxTutorialMdeditor - 图237 white MathjaxTutorialMdeditor - 图238
maroon MathjaxTutorialMdeditor - 图239 red MathjaxTutorialMdeditor - 图240
yellow MathjaxTutorialMdeditor - 图241 lime MathjaxTutorialMdeditor - 图242
olive MathjaxTutorialMdeditor - 图243 green MathjaxTutorialMdeditor - 图244
teal MathjaxTutorialMdeditor - 图245 auqa MathjaxTutorialMdeditor - 图246
blue MathjaxTutorialMdeditor - 图247 navy MathjaxTutorialMdeditor - 图248
purple MathjaxTutorialMdeditor - 图249 fuchsia MathjaxTutorialMdeditor - 图250

对于较新的浏览器(HTML5 & CSS3),HEX 颜色将被支持:

输入 \color {#rgb} {text} 来自定义更多的颜色,其中 #rgb#rrggbbr g b 可输入 0-9a-f 来表示红色、绿色和蓝色的纯度(饱和度)。

  • 例子:
  1. \begin{array}{|rrrrrrrr|}\hline
  2. \verb+#000+ & \color{#000}{text} & & &
  3. \verb+#00F+ & \color{#00F}{text} & & \\
  4. & & \verb+#0F0+ & \color{#0F0}{text} &
  5. & & \verb+#0FF+ & \color{#0FF}{text} \\
  6. \verb+#F00+ & \color{#F00}{text} & & &
  7. \verb+#F0F+ & \color{#F0F}{text} & & \\
  8. & & \verb+#FF0+ & \color{#FF0}{text} &
  9. & & \verb+#FFF+ & \color{#FFF}{text} \\
  10. \hline\end{array}
  • 显示:
    MathjaxTutorialMdeditor - 图251
  • 例子:
  1. \begin{array}{|rrrrrrrr|}\hline
  2. \verb+#000+ & \color{#000}{text} & \verb+#005+ & \color{#005}{text} & \verb+#00A+ & \color{#00A}{text} & \verb+#00F+ & \color{#00F}{text} \\
  3. \verb+#500+ & \color{#500}{text} & \verb+#505+ & \color{#505}{text} & \verb+#50A+ & \color{#50A}{text} & \verb+#50F+ & \color{#50F}{text} \\
  4. \verb+#A00+ & \color{#A00}{text} & \verb+#A05+ & \color{#A05}{text} & \verb+#A0A+ & \color{#A0A}{text} & \verb+#A0F+ & \color{#A0F}{text} \\
  5. \verb+#F00+ & \color{#F00}{text} & \verb+#F05+ & \color{#F05}{text} & \verb+#F0A+ & \color{#F0A}{text} & \verb+#F0F+ & \color{#F0F}{text} \\
  6. \hline
  7. \verb+#080+ & \color{#080}{text} & \verb+#085+ & \color{#085}{text} & \verb+#08A+ & \color{#08A}{text} & \verb+#08F+ & \color{#08F}{text} \\
  8. \verb+#580+ & \color{#580}{text} & \verb+#585+ & \color{#585}{text} & \verb+#58A+ & \color{#58A}{text} & \verb+#58F+ & \color{#58F}{text} \\
  9. \verb+#A80+ & \color{#A80}{text} & \verb+#A85+ & \color{#A85}{text} & \verb+#A8A+ & \color{#A8A}{text} & \verb+#A8F+ & \color{#A8F}{text} \\
  10. \verb+#F80+ & \color{#F80}{text} & \verb+#F85+ & \color{#F85}{text} & \verb+#F8A+ & \color{#F8A}{text} & \verb+#F8F+ & \color{#F8F}{text} \\
  11. \hline
  12. \verb+#0F0+ & \color{#0F0}{text} & \verb+#0F5+ & \color{#0F5}{text} & \verb+#0FA+ & \color{#0FA}{text} & \verb+#0FF+ & \color{#0FF}{text} \\
  13. \verb+#5F0+ & \color{#5F0}{text} & \verb+#5F5+ & \color{#5F5}{text} & \verb+#5FA+ & \color{#5FA}{text} & \verb+#5FF+ & \color{#5FF}{text} \\
  14. \verb+#AF0+ & \color{#AF0}{text} & \verb+#AF5+ & \color{#AF5}{text} & \verb+#AFA+ & \color{#AFA}{text} & \verb+#AFF+ & \color{#AFF}{text} \\
  15. \verb+#FF0+ & \color{#FF0}{text} & \verb+#FF5+ & \color{#FF5}{text} & \verb+#FFA+ & \color{#FFA}{text} & \verb+#FFF+ & \color{#FFF}{text} \\
  16. \hline\end{array}
  • 显示:
    MathjaxTutorialMdeditor - 图252

(5).添加删除线

使用删除线功能必须声明 $$ 符号。

在公式内使用 \require{cancel} 来允许片段删除线的显示。
声明片段删除线后,使用 \cancel{字符}\bcancel{字符}\xcancel{字符}\cancelto{字符} 来实现各种片段删除线效果。

  • 例子:
  1. $$
  2. \require{cancel}
  3. \begin{array}{rl}
  4. \verb|y+\cancel{x}| & y+\cancel{x} \\
  5. \verb|\cancel{y+x}| & \cancel{y+x} \\
  6. \verb|y+\bcancel{x}| & y+\bcancel{x} \\
  7. \verb|y+\xcancel{x}| & y+\xcancel{x} \\
  8. \verb|y+\cancelto{0}{x}| & y+\cancelto{0}{x} \\
  9. \verb+\frac{1\cancel9}{\cancel95} = \frac15+& \frac{1\cancel9}{\cancel95} = \frac15 \\
  10. \end{array}
  11. $$
  • 显示:

MathjaxTutorialMdeditor - 图253

使用 \require{enclose} 来允许整段删除线的显示。
声明整段删除线后,使用 \enclose{删除线效果}{字符} 来实现各种整段删除线效果。
其中,删除线效果有 horizontalstrikeverticalstrikeupdiagonalstrikedowndiagonalstrike,可叠加使用。

  • 例子:
  1. $$
  2. \require{enclose}
  3. \begin{array}{rl}
  4. \verb|\enclose{horizontalstrike}{x+y}| & \enclose{horizontalstrike}{x+y} \\
  5. \verb|\enclose{verticalstrike}{\frac xy}| & \enclose{verticalstrike}{\frac xy} \\
  6. \verb|\enclose{updiagonalstrike}{x+y}| & \enclose{updiagonalstrike}{x+y} \\
  7. \verb|\enclose{downdiagonalstrike}{x+y}| & \enclose{downdiagonalstrike}{x+y} \\
  8. \verb|\enclose{horizontalstrike,updiagonalstrike}{x+y}| & \enclose{horizontalstrike,updiagonalstrike}{x+y} \\
  9. \end{array}
  10. $$
  • 显示:

MathjaxTutorialMdeditor - 图254

此外, \enclose 命令还可以产生包围的边框和圆等,参见 MathML Menclose Documentation 以查看更多效果。

  • 例子:

分别使用 circleroundedbox 包围的公式

  1. $$
  2. \require{enclose}
  3. \begin{array}{c}
  4. \enclose{circle}{f(\top),\, f^2(\top),\, f^3(\top) \,\cdots\, f^n(\top)} \\
  5. \enclose{roundedbox}{f(\bot),\, f^2(\bot),\, f^3(\bot) \,\cdots\, f^n(\bot)} \\
  6. \end{array}
  7. $$

使用 box框住所有公式

  1. $$
  2. \require{enclose}
  3. \enclose{box}{
  4. \begin{array}{c}
  5. f(\top),\, f^2(\top),\, f^3(\top) \,\cdots\, f^n(\top) \\
  6. f(\bot),\, f^2(\bot),\, f^3(\bot) \,\cdots\, f^n(\bot) \\
  7. \end{array}
  8. }
  9. $$
  • 显示: | 分别使用 circleroundedbox包围的公式 | 使用 box 框住所有公式 | | —- | —- | | MathjaxTutorialMdeditor - 图255 | MathjaxTutorialMdeditor - 图256 |

二、矩阵使用参考

1.如何输入无框矩阵

在开头使用 \begin{matrix},在结尾使用 \end{matrix},在中间插入矩阵元素,每个元素之间插入 & ,并在每行结尾处使用 \\
使用矩阵时必须声明 $$$ 符号。
例子:

  1. $$
  2. \begin{matrix}
  3. 1 & x & x^2 \\
  4. 1 & y & y^2 \\
  5. 1 & z & z^2 \\
  6. \end{matrix}
  7. $$

显示:
MathjaxTutorialMdeditor - 图257

2.如何输入边框矩阵

在开头将 matrix 替换为 pmatrix,bmatrix,Bmatrix,vmatrix,Vmatrix 。
例子:

  1. $ \begin{matrix} 1 & 2 \\ 3 & 4 \\ \end{matrix} $
  2. $ \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ \end{pmatrix} $
  3. $ \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ \end{bmatrix} $
  4. $ \begin{Bmatrix} 1 & 2 \\ 3 & 4 \\ \end{Bmatrix} $
  5. $ \begin{vmatrix} 1 & 2 \\ 3 & 4 \\ \end{vmatrix} $
  6. $ \begin{Vmatrix} 1 & 2 \\ 3 & 4 \\ \end{Vmatrix} $

显示:

matrix pmatrix bmatrix Bmatrix vmatrix Vmatrix
MathjaxTutorialMdeditor - 图258 MathjaxTutorialMdeditor - 图259 MathjaxTutorialMdeditor - 图260 MathjaxTutorialMdeditor - 图261 MathjaxTutorialMdeditor - 图262 MathjaxTutorialMdeditor - 图263

3.如何输入带省略符号的矩阵

使用 \cdotsMathjaxTutorialMdeditor - 图264 , \ddotsMathjaxTutorialMdeditor - 图265 , \vdotsMathjaxTutorialMdeditor - 图266 来输入省略符号。
例子:

  1. $$
  2. \begin{pmatrix}
  3. 1 & a_1 & a_1^2 & \cdots & a_1^n \\
  4. 1 & a_2 & a_2^2 & \cdots & a_2^n \\
  5. \vdots & \vdots & \vdots & \ddots & \vdots \\
  6. 1 & a_m & a_m^2 & \cdots & a_m^n \\
  7. \end{pmatrix}
  8. $$

显示:
MathjaxTutorialMdeditor - 图267

4.如何输入带分割符号的矩阵

例子:

  1. $$
  2. \left[
  3. \begin{array}{cc|c}
  4. 1 & 2 & 3 \\
  5. 4 & 5 & 6 \\
  6. \end{array}
  7. \right]
  8. $$

显示:
MathjaxTutorialMdeditor - 图268
其中 cc|c 代表在一个三列矩阵中的第二和第三列之间插入分割线。

5.如何输入行中矩阵

若想在一行内显示矩阵,使用\bigl(\begin{smallmatrix} … \end{smallmatrix}\bigr)。
例子:
这是一个行中矩阵的示例

  1. $\bigl(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\bigr)$

显示:这是一个行中矩阵的示例
MathjaxTutorialMdeditor - 图269

三、方程式序列使用参考

1.如何输入一个方程式序列

人们经常想要一列整齐且居中的方程式序列。使用 \begin{align}…\end{align} 来创造一列方程式,其中在每行结尾处使用 \ 。使用方程式序列无需声明公式符号 $ 或 $$ 。
请注意 {align} 语句是自动编号的,使用 {align*} 声明不自动编号。

  • 例子:

    1. \begin{align}
    2. \sqrt{37} & = \sqrt{\frac{73^2-1}{12^2}} \\
    3. & = \sqrt{\frac{73^2}{12^2}\cdot\frac{73^2-1}{73^2}} \\
    4. & = \sqrt{\frac{73^2}{12^2}}\sqrt{\frac{73^2-1}{73^2}} \\
    5. & = \frac{73}{12}\sqrt{1-\frac{1}{73^2}} \\
    6. & \approx \frac{73}{12}\left(1-\frac{1}{2\cdot73^2}\right) \\
    7. \end{align}
  • 显示:

MathjaxTutorialMdeditor - 图270
本例中每行公式的编号续自“如何插入公式”中的自动编号公式\eqref{eq:sample} 。

2.在一个方程式序列的每一行中注明原因

在 {align} 中后添加 & 符号来自动对齐后面的内容,可灵活组合 \text 和 \tag 语句。\tag 语句编号优先级高于自动编号。

  • 例子:

    1. \begin{align}
    2. v + w & = 0 & \text{Given} \tag 1 \\
    3. -w & = -w + 0 & \text{additive identity} \tag 2 \\
    4. -w + 0 & = -w + (v + w) & \text{equations $(1)$ and $(2)$} \\
    5. \end{align}
  • 显示:

MathjaxTutorialMdeditor - 图271
本例中第一、第二行的自动编号被 \tag 语句覆盖,第三行的编号为自动编号。
@joyphys 如何引用 \tag 标记的公式? 使用 \tag{yourtag} 来标记公式,然后在 \tag 之后加上 \label{yourlabel}

四、条件表达式使用参考

1.如何输入一个条件表达式

使用 \begin{cases}…\end{cases} 来创造一组条件表达式,在每一行条件中插入 & 来指定需要对齐的内容,并在每一行结尾处使用 \。

  • 例子:

    1. $$
    2. f(n) =
    3. \begin{cases}
    4. n/2, & \text{if $n$ is even} \\
    5. 3n+1, & \text{if $n$ is odd} \\
    6. \end{cases}
    7. $$
  • 显示:

MathjaxTutorialMdeditor - 图272=
@Sherlockk 用 markdown+math 编辑时 \text 内需用 (equation)

2.如何输入一个左侧对齐的条件表达式

若想让文字在左侧对齐显示,则有如下方式:

  • 例子:

    1. $$
    2. \left.
    3. \begin{array}{l}
    4. \text{if $n$ is even:} & n/2 \\
    5. \text{if $n$ is odd:} & 3n+1 \\
    6. \end{array}
    7. \right\}
    8. =f(n)
    9. $$
  • 显示:

MathjaxTutorialMdeditor - 图273

3.如何使条件表达式适配行高

在一些情况下,条件表达式中某些行的行高为非标准高度,此时使用 \[2ex] 语句代替该行末尾的 \ 来让编辑器适配。

  • 例子:

不适配【2ex】

  1. $$
  2. f(n) =
  3. \begin{cases}
  4. \frac{n}{2}, & \text{if $n$ is even} \\
  5. 3n+1, & \text{if $n$ is odd} \\
  6. \end{cases}
  7. $$

适配【2ex】

  1. $$
  2. f(n) =
  3. \begin{cases}
  4. \frac{n}{2}, & \text{if $n$ is even} \\[2ex]
  5. 3n+1, & \text{if $n$ is odd} \\
  6. \end{cases}
  7. $$
  • 显示: | 不适配[2ex] | 适配[2ex] | | —- | —- | | MathjaxTutorialMdeditor - 图274 | MathjaxTutorialMdeditor - 图275 |

一个 [ex] 指一个 “X-Height”,即 x 字母高度。可以根据情况指定多个 [ex],如 [3ex]、[4ex] 等。其实可以在任意换行处使用 \[2ex] 语句,只要你觉得合适。

五、数组与表格使用参考

1.如何输入一个数组或表格

通常,一个格式化后的表格比单纯的文字或排版后的文字更具有可读性。数组和表格均以 \begin{array} 开头,并在其后定义列数及每一列的文本对齐属性,clr 分别代表居中、左对齐及右对齐。若需要插入垂直分割线,在定义式中插入 | ,若要插入水平分割线,在下一行输入前插入 \hline 。与矩阵相似,每行元素间均须要插入 & ,每行元素以 \ 结尾,最后以 \ end{array} 结束数组。使用单个数组或表格时无需声明 $ 或 $$ 符号。

  • 例子:

    1. \begin{array}{c|lcr}
    2. n & \text{左对齐} & \text{居中对齐} & \text{右对齐} \\
    3. \hline
    4. 1 & 0.24 & 1 & 125 \\
    5. 2 & -1 & 189 & -8 \\
    6. 3 & -20 & 2000 & 1+10i \\
    7. \end{array}
  • 显示:

MathjaxTutorialMdeditor - 图276

2.如何输入一个嵌套的数组或表格

多个数组\表格可 互相嵌套 并组成一组数组或表格。使用嵌套前必须声明 $$ 符号。

  • 例子:

    1. $$
    2. \begin{array}{c} % 总表格
    3. \begin{array}{cc} % 第一行内分成两列
    4. \begin{array}{c|cccc} % 第一列"最小值"数组
    5. \text{min} & 0 & 1 & 2 & 3 \\
    6. \hline
    7. 0 & 0 & 0 & 0 & 0 \\
    8. 1 & 0 & 1 & 1 & 1 \\
    9. 2 & 0 & 1 & 2 & 2 \\
    10. 3 & 0 & 1 & 2 & 3 \\
    11. \end{array}
    12. &
    13. \begin{array}{c|cccc} % 第二列"最大值"数组
    14. \text{max} & 0 & 1 & 2 & 3 \\
    15. \hline
    16. 0 & 0 & 1 & 2 & 3 \\
    17. 1 & 1 & 1 & 2 & 3 \\
    18. 2 & 2 & 2 & 2 & 3 \\
    19. 3 & 3 & 3 & 3 & 3 \\
    20. \end{array}
    21. \end{array} % 第一行表格组结束
    22. \\
    23. \begin{array}{c|cccc} % 第二行 Delta 值数组
    24. \Delta & 0 & 1 & 2 & 3 \\
    25. \hline
    26. 0 & 0 & 1 & 2 & 3 \\
    27. 1 & 1 & 0 & 1 & 2 \\
    28. 2 & 2 & 1 & 0 & 1 \\
    29. 3 & 3 & 2 & 1 & 0 \\
    30. \end{array} % 第二行表格结束
    31. \end{array} % 总表格结束
    32. $$
  • 显示:

MathjaxTutorialMdeditor - 图277

3.如何输入一个方程组

可以使用 \begin{array} … \end{array} 和 \left{ … \right. 来创建一个方程组:

  • 例子:

    1. $$
    2. \left\{
    3. \begin{array}{c}
    4. a_1x+b_1y+c_1z=d_1 \\
    5. a_2x+b_2y+c_2z=d_2 \\
    6. a_3x+b_3y+c_3z=d_3 \\
    7. \end{array}
    8. \right.
    9. $$
  • 显示:

MathjaxTutorialMdeditor - 图278
或使用条件表达式组 \begin{cases} … \end{cases} 来实现相同效果:

  • 例子:

    1. \begin{cases}
    2. a_1x+b_1y+c_1z=d_1 \\
    3. a_2x+b_2y+c_2z=d_2 \\
    4. a_3x+b_3y+c_3z=d_3 \\
    5. \end{cases}
  • 显示:

MathjaxTutorialMdeditor - 图279

六、连分数使用参考

1.如何输入一个连分式

就像输入分式时使用 \frac 一样,使用 \cfrac 来创建一个连分数。

  • 例子:

    1. $$
    2. x = a_0 + \cfrac{1^2}{a_1 +
    3. \cfrac{2^2}{a_2 +
    4. \cfrac{3^2}{a_3 +
    5. \cfrac{4^4}{a_4 +
    6. \cdots
    7. }
    8. }
    9. }
    10. }
    11. $$
  • 显示:

MathjaxTutorialMdeditor - 图280
不要使用普通的 \frac 或 \over 来生成连分数,这样会看起来很恶心

  • 反例:

    1. $$
    2. x = a_0 + \frac{1^2}{a_1 +
    3. \frac{2^2}{a_2 +
    4. \frac{3^2}{a_3 +
    5. \frac{4^4}{a_4 +
    6. \cdots
    7. }
    8. }
    9. }
    10. }
    11. $$
  • 显示:

MathjaxTutorialMdeditor - 图281
当然,你可以使用 \frac 来表达连分数的紧缩记法

  • 例子:

    1. $$
    2. x = a_0 + \frac{1^2}{a_1 +}
    3. \frac{2^2}{a_2 +}
    4. \frac{3^2}{a_3 +}
    5. \frac{4^4}{a_4 +}
    6. \cdots
    7. $$
  • 显示:

MathjaxTutorialMdeditor - 图282
连分数通常都太大以至于不易排版,所以建议在连分数前后声明 $$ 符号,或使用像 [a0,a1,a2,a3,…] 一样的紧缩记法。

七、交换图表使用参考

1.如何输入一个交换图表

推荐使用 Cmd Markdown 自带的各种图功能,详见 Cmd Markdown 高阶语法手册
使用一行 \require{AMScd} 语句来允许交换图表的显示。声明交换图表后,语法与矩阵相似,在开头使用 \begin{CD},在结尾使用 \ end{CD},在中间插入图表元素,每个元素之间插入 & ,并在每行结尾处使用 \。

  • 例子:

    1. $$
    2. \require{AMScd}
    3. \begin{CD}
    4. A @>a>> B \\
    5. @V b V V\# @VV c V \\
    6. C @>>d> D \\
    7. \end{CD}
    8. $$
  • 显示:

MathjaxTutorialMdeditor - 图283
其中,@>>> 代表右箭头、@<<< 代表左箭头、@VVV 代表下箭头、@AAA 代表上箭头、@= 代表水平双实线、@| 代表竖直双实线、@.代表没有箭头。在 @>>> 的 >>> 之间任意插入文字即代表该箭头的注释文字。

  • 例子:

    1. $$
    2. \require{AMDcd}
    3. \begin{CD}
    4. A @>>> B @>{\text{very long label}}>> C \\
    5. @. @AAA @| \\
    6. D @= E @<<< F \\
    7. \end{CD}
    8. $$
  • 显示:

MathjaxTutorialMdeditor - 图284
在本例中,very long label 自动延长了它所在箭头以及对应箭头的长度,因而交换图表十分适合进行化学反应式的书写。

  • 例子:

    1. $$
    2. \require{AMDcd}
    3. \begin{CD}
    4. \rm{RCOHR^{'}SO_3Na} @>{\large\text{Hydrolysis, $\Delta$, Dil.HCl}}>> \rm{(RCOR^{'})+NaCl+SO_2+ H_2O}
    5. \end{CD}
    6. $$
  • 显示:

MathjaxTutorialMdeditor - 图285

八、一些特殊的注意事项