zoukankan      html  css  js  c++  java
  • 【Markdown】公式指导手册

    点击跳转至 Cmd Markdown 简明语法手册 ,立刻开始 Cmd Markdown 编辑阅读器的记录和写作之旅!


    本文为 MathJax 在 Cmd Markdown 环境下的语法指引。

    Cmd Markdown 编辑阅读器支持 (LaTeX) 编辑显示支持,例如:(sum_{i=1}^n a_i=0),访问 MathJax 以参考更多使用方法。

    右键点击每一个公式,选择 [Show Math As] → [TeX Commands] 以查看该公式的命令详情。

    [TOC]


    一、公式使用参考

    1.如何插入公式

    (LaTeX) 的数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。

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

    : $ 数学公式 $

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

    : [ 数学公式 ]

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

    : egin{equation}
    数学公式
    label{eq:当前公式名}
    end{equation}

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

    • 例子:
    $ J_alpha(x) = sum_{m=0}^infty frac{(-1)^m}{m! Gamma (m + alpha + 1)} {left({ frac{x}{2} }
    ight)}^{2m + alpha} 	ext {,行内公式示例} $
    • 显示:$ J_alpha(x) = sum_{m=0}^infty frac{(-1)^m}{m! Gamma (m + alpha + 1)} {left({ frac{x}{2} } ight)}^{2m + alpha} ext {,行内公式示例} $

    • 例子:
    $$ J_alpha(x) = sum_{m=0}^infty frac{(-1)^m}{m! Gamma (m + alpha + 1)} {left({ frac{x}{2} }
    ight)}^{2m + alpha} 	ext {,独立公式示例} $$
    • 显示:[ J_alpha(x) = sum_{m=0}^infty frac{(-1)^m}{m! Gamma (m + alpha + 1)} {left({ frac{x}{2} } ight)}^{2m + alpha} ext {,独立公式示例} ]

    • 例子:
    在公式 eqref{eq:sample} 中,我们看到了这个被自动编号的公式。
    
    egin{equation}
    E=mc^2 	ext{,自动编号公式示例}
    label{eq:Sample}
    end{equation}
    • 显示:

    [在公式 eqref{eq:sample} 中,我们看到了这个被自动编号的公式。]

    egin{equation}
    E=mc^2 ext{,自动编号公式示例}
    label{eq:sample}
    end{equation}

    2.如何输入上下标

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

    • 例子:
    $$ x^{y^z}=(1+{
    m e}^x)^{-2xy^w} $$
    • 显示:[ x^{y^z}=(1+{ m e}^x)^{-2xy^w} ]

    另外,如果要在左右两边都有上下标,可以用 sideset 命令。

    • 例子:
    $$ sideset{^1_2}{^3_4}igotimes $$
    • 显示:[sideset{^1_2}{^3_4}igotimes]

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

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

    一些特殊的括号:

    输入 显示 输入 显示
    langle (langle) angle ( angle)
    lceil (lceil) ceil ( ceil)
    lfloor (lfloor) floor ( floor)
    lbrace (lbrace) brace ( brace)
    • 例子:
    $$ f(x,y,z) = 3y^2z left( 3+frac{7x+5}{1+y^2} 
    ight) $$
    • 显示:[ f(x,y,z) = 3y^2z left( 3+frac{7x+5}{1+y^2} ight) ]

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

    • 例子:
    $$ left. frac{{
    m d}u}{{
    m d}x} 
    ight| _{x=0} $$
    • 显示:[ left. frac{{ m d}u}{{ m d}x} ight| _{x=0} ]

    4.如何输入分数

    通常使用 frac {分子} {分母} 命令产生一个分数,分数可嵌套。
    便捷情况可直接输入 frac ab 来快速生成一个 (frac ab)
    如果分式很复杂,亦可使用 分子 over 分母 命令,此时分数仅有一层。

    • 例子:
    $$frac{a-1}{b-1} quad and quad {a+1over b+1}$$
    • 显示:[frac{a-1}{b-1} quad and quad {a+1over b+1}]

    5.如何输入开方

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

    • 例子:
    $$sqrt{2} quad and quad sqrt[n]{3}$$
    • 显示:[sqrt{2} quad and quad sqrt[n]{3}]

    6.如何输入省略号

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

    • 例子:
    $$f(x_1,x_2,underbrace{ldots}_{
    m ldots} ,x_n) = x_1^2 + x_2^2 + underbrace{cdots}_{
    m cdots} + x_n^2$$
    • 显示:[f(x_1,x_2,underbrace{ldots}_{ m ldots} ,x_n) = x_1^2 + x_2^2 + underbrace{cdots}_{ m cdots} + x_n^2]

    7.如何输入矢量

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

    • 例子:
    $$vec{a} cdot vec{b}=0$$
    • 显示:[vec{a} cdot vec{b}=0]

    • 例子:
    $$overleftarrow{xy} quad and quad overleftrightarrow{xy} quad and quad overrightarrow{xy}$$
    • 显示:[overleftarrow{xy} quad and quad overleftrightarrow{xy} quad and quad overrightarrow{xy}]

    8.如何输入积分

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

    例子:

    $$int_0^1 {x^2} \,{
    m d}x$$

    显示:[int_0^1 {x^2} \,{ m d}x]

    本例中 \,{ m d} 部分可省略,但建议加入,能使式子更美观。

    9.如何输入极限运算

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

    例子:

    $$ lim_{n 	o +infty} frac{1}{n(n+1)} quad and quad lim_{xleftarrow{示例}} frac{1}{n(n+1)} $$

    显示:[lim_{n o +infty} frac{1}{n(n+1)} quad and quad lim_{xleftarrow{示例}} frac{1}{n(n+1)}]

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

    使用 sum_{下标表达式}^{上标表达式} {累加表达式} 来输入一个累加。
    与之类似,使用 prod igcup igcap 来分别输入累乘、并集和交集。
    此类符号在行内显示时上下标表达式将会移至右上角和右下角。

    • 例子:
    $$sum_{i=1}^n frac{1}{i^2} quad and quad prod_{i=1}^n frac{1}{i^2} quad and quad igcup_{i=1}^{2} R$$
    • 显示:[sum_{i=1}^n frac{1}{i^2} quad and quad prod_{i=1}^n frac{1}{i^2} quad and quad igcup_{i=1}^{2} R]

    11.如何输入希腊字母

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

    输入 显示 输入 显示 输入 显示 输入 显示
    alpha (alpha) A (A) eta (eta) B (B)
    gamma (gamma) Gamma (Gamma) delta (delta) Delta (Delta)
    epsilon (epsilon) E (E) zeta (zeta) Z (Z)
    eta (eta) H (H) heta ( heta) Theta (Theta)
    iota (iota) I (I) kappa (kappa) K (K)
    lambda (lambda) Lambda (Lambda) mu (mu) M (M)
    u ( u) N (N) xi (xi) Xi (Xi)
    o (o) O (O) pi (pi) Pi (Pi)
    ho ( ho) P (P) sigma (sigma) Sigma (Sigma)
    au ( au) 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 mid E mid varepsilon)
    heta Theta vartheta ( heta mid Theta mid vartheta)
    ho P varrho ( ho mid P mid varrho)
    sigma Sigma varsigma (sigma mid Sigma mid varsigma)
    phi Phi varphi (phi mid Phi mid varphi)

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

    若需要显示更大或更小的字符,在符号前插入 largesmall 命令。

    若找不到需要的符号,使用 ( m{Detexify^2}) 来画出想要的符号。

    Detexify^2

    (1).关系运算符

    输入 显示 输入 显示 输入 显示 输入 显示
    pm (pm) imes ( imes) div (div) mid (mid)
    mid ( mid) cdot (cdot) circ (circ) ast (ast)
    igodot (igodot) igotimes (igotimes) igoplus (igoplus) leq (leq)
    geq (geq) eq ( eq) approx (approx) equiv (equiv)
    sum (sum) prod (prod) coprod (coprod) ackslash (ackslash)

    (2).集合运算符

    输入 显示 输入 显示 输入 显示
    emptyset (emptyset) in (in) otin ( otin)
    subset (subset) supset (supset) subseteq (subseteq)
    supseteq (supseteq) igcap (igcap) igcup (igcup)
    igvee (igvee) igwedge (igwedge) iguplus (iguplus)

    (3).对数运算符

    输入 显示 输入 显示 输入 显示
    log (log) lg (lg) ln (ln)

    (4).三角运算符

    输入 显示 输入 显示 输入 显示
    30^circ (30^circ) ot (ot) angle A (angle A)
    sin (sin) cos (cos) an ( an)
    csc (csc) sec (sec) cot (cot)

    (5).微积分运算符

    输入 显示 输入 显示 输入 显示
    int (int) iint (iint) iiint (iiint)
    iiiint (iiiint) oint (oint) prime (prime)
    lim (lim) infty (infty) abla ( abla)

    (6).逻辑运算符

    输入 显示 输入 显示 输入 显示
    ecause (ecause) herefore ( herefore)
    forall (forall) exists (exists) otsubset ( otsubset)
    ot< ( ot<) ot> ( ot>) ot= ( ot=)

    (7).戴帽符号

    输入 显示 输入 显示
    hat{xy} (hat{xy}) widehat{xyz} (widehat{xyz})
    ilde{xy} ( ilde{xy}) widetilde{xyz} (widetilde{xyz})
    check{x} (check{x}) reve{y} (reve{y})
    grave{x} (grave{x}) acute{y} (acute{y})

    (8).连线符号

    输入 显示
    fbox{a+b+c+d} (fbox{a+b+c+d})
    overleftarrow{a+b+c+d} (overleftarrow{a+b+c+d})
    overrightarrow{a+b+c+d} (overrightarrow{a+b+c+d})
    overleftrightarrow{a+b+c+d} (overleftrightarrow{a+b+c+d})
    underleftarrow{a+b+c+d} (underleftarrow{a+b+c+d})
    underrightarrow{a+b+c+d} (underrightarrow{a+b+c+d})
    underleftrightarrow{a+b+c+d} (underleftrightarrow{a+b+c+d})
    overline{a+b+c+d} (overline{a+b+c+d})
    underline{a+b+c+d} (underline{a+b+c+d})
    overbrace{a+b+c+d}^{Sample} (overbrace{a+b+c+d}^{Sample})
    underbrace{a+b+c+d}_{Sample} (underbrace{a+b+c+d}_{Sample})
    overbrace{a+underbrace{b+c}_{1.0}+d}^{2.0} (overbrace{a+underbrace{b+c}_{1.0}+d}^{2.0})
    underbrace{acdot acdots a}_{b ext{ times}} (underbrace{acdot acdots a}_{b ext{ times}})

    (9).箭头符号

    • 推荐使用符号:
    输入 显示 输入 显示 输入 显示
    o ( o) mapsto (mapsto)
    implies (implies) iff (iff) impliedby (impliedby)
    • 其它可用符号:
    输入 显示 输入 显示
    uparrow (uparrow) Uparrow (Uparrow)
    downarrow (downarrow) Downarrow (Downarrow)
    leftarrow (leftarrow) Leftarrow (Leftarrow)
    ightarrow ( ightarrow) Rightarrow (Rightarrow)
    leftrightarrow (leftrightarrow) Leftrightarrow (Leftrightarrow)
    longleftarrow (longleftarrow) Longleftarrow (Longleftarrow)
    longrightarrow (longrightarrow) Longrightarrow (Longrightarrow)
    longleftrightarrow (longleftrightarrow) Longleftrightarrow (Longleftrightarrow)

    13.如何进行字体转换

    若要对公式的某一部分字符进行字体转换,可以用 {字体 {需转换的部分字符}} 命令,其中 字体 部分可以参照下表选择合适的字体。一般情况下,公式默认为意大利体 (italic)

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

    输入 说明 显示 输入 说明 显示
    m 罗马体 ( m{Sample}) cal 花体 (cal{SAMPLE})
    it 意大利体 (it{Sample}) Bbb 黑板粗体 (Bbb{SAMPLE})
    f 粗体 (f{Sample}) mit 数学斜体 (mit{SAMPLE})
    sf 等线体 (sf{Sample}) scr 手写体 (scr{SAMPLE})
    t 打字机体 ( t{Sample})
    frak 旧德式字体 (frak{Sample})

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

    • 例子:
    $$
    egin{array}{cc}
    mathrm{Bad} & mathrm{Better} \
    hline \
    int_0^1 x^2 dx & int_0^1 x^2 \,{
    m d}x
    end{array}
    $$
    • 显示:

    [ egin{array}{cc} mathrm{Bad} & mathrm{Better} \ hline \ int_0^1 x^2 dx & int_0^1 x^2 \,{ m d}x end{array} ]

    注意比较两个式子间 (dx)({ m d} x) 的不同。
    使用 operatorname 命令也可以达到相同的效果,详见 定义新的符号 operatorname

    14.大括号和行标的使用

    使用 left ight 来创建自动匹配高度的 (圆括号),[方括号] 和 {花括号} 。
    在每个公式末尾前使用 ag{行标} 来实现行标。

    • 例子:
    $$
    fleft(
       left[ 
         frac{
           1+left{x,y
    ight}
         }{
           left(
              frac{x}{y}+frac{y}{x}
           
    ight)
           left(u+1
    ight)
         }+a
       
    ight]^{3/2}
    
    ight)
    	ag{行标}
    $$
    • 显示:

    [ fleft( left[ frac{ 1+left{x,y ight} }{ left( frac{x}{y}+frac{y}{x} ight) left(u+1 ight) }+a ight]^{3/2} ight) ag{行标} ]

    如果你需要在不同的行显示对应括号,可以在每一行对应处使用 left. ight. 来放一个"影子"括号:

    • 例子:
    $$
    egin{aligned}
    a=&left(1+2+3+  cdots 
    ight. \
    & cdots+ left. infty-2+infty-1+infty
    ight)
    end{aligned}
    $$
    • 显示:

    [ egin{aligned} a=&left(1+2+3+ cdots ight. \ & cdots+ left. infty-2+infty-1+infty ight) end{aligned} ]

    如果你需要将行内显示的分隔符也变大,可以使用 middle 命令:

    • 例子:
    $$
    leftlangle  
      q
    middle|
      frac{frac{x}{y}}{frac{u}{v}}
    middle| 
       p 
    
    ight
    angle
    $$
    • 显示:

    [ leftlangle q middle| frac{frac{x}{y}}{frac{u}{v}} middle| p ight angle ]

    15.其它命令

    (1).定义新的符号 operatorname

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

    • 例子:
    $$ operatorname{Symbol} A $$
    • 显示: [operatorname{Symbol} A]

    (2).添加注释文字 ext

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

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

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

    有四种宽度的空格可以使用: \,;quadqquad

    • 例子:
    $$ a \, b mid a ; b mid a quad b mid a qquad b $$
    • 显示:[ a \, b mid a ; b mid a quad b mid a qquad b ]

    当然,使用 ext {n个空格} 也可以达到同样效果。

    (4).更改文字颜色

    使用 color{颜色}{文字} 来更改特定的文字颜色。
    更改文字颜色 需要浏览器支持 ,如果浏览器不知道你所需的颜色,那么文字将被渲染为黑色。

    对于较旧的浏览器(HTML4与CSS2),以下颜色是被支持的:

    输入 显示 输入 显示
    black (color{black}{text}) grey (color{grey}{text})
    silver (color{silver}{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})

    对于较新的浏览器(HTML5与CSS3),额外的124种颜色将被支持:

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

    • 例子:
    $$
    egin{array}{|rrrrrrrr|}hline
    verb+#000+ & color{#000}{text} & & &
    verb+#00F+ & color{#00F}{text} & & \
    & & verb+#0F0+ & color{#0F0}{text} &
    & & verb+#0FF+ & color{#0FF}{text}\
    verb+#F00+ & color{#F00}{text} & & &
    verb+#F0F+ & color{#F0F}{text} & & \
    & & verb+#FF0+ & color{#FF0}{text} &
    & & verb+#FFF+ & color{#FFF}{text}\
    hline
    end{array}
    $$
    • 显示:

    [ egin{array}{|rrrrrrrr|}hline verb+#000+ & color{#000}{text} & & & verb+#00F+ & color{#00F}{text} & & \ & & verb+#0F0+ & color{#0F0}{text} & & & verb+#0FF+ & color{#0FF}{text}\ verb+#F00+ & color{#F00}{text} & & & verb+#F0F+ & color{#F0F}{text} & & \ & & verb+#FF0+ & color{#FF0}{text} & & & verb+#FFF+ & color{#FFF}{text}\ hline end{array} ]

    • 例子:
    $$
    egin{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{array}
    $$
    • 显示:

    [ egin{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{array} ]

    (5).添加删除线

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

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

    • 例子:
    $$
    
    equire{cancel}egin{array}{rl}
    verb|y+cancel{x}| & y+cancel{x}\
    verb|cancel{y+x}| & cancel{y+x}\
    verb|y+cancel{x}| & y+cancel{x}\
    verb|y+xcancel{x}| & y+xcancel{x}\
    verb|y+cancelto{0}{x}| & y+cancelto{0}{x}\
    verb+frac{1cancel9}{cancel95} = frac15+& frac{1cancel9}{cancel95} = frac15 \
    end{array}
    $$
    • 显示:

    [ equire{cancel} egin{array}{rl} verb|y+cancel{x}| & y+cancel{x}\ verb|cancel{y+x}| & cancel{y+x}\ verb|y+cancel{x}| & y+cancel{x}\ verb|y+xcancel{x}| & y+xcancel{x}\ verb|y+cancelto{0}{x}| & y+cancelto{0}{x}\ verb+frac{1cancel9}{cancel95} = frac15+& frac{1cancel9}{cancel95} = frac15 \ end{array} ]

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

    • 例子:
    $$
    
    equire{enclose}egin{array}{rl}
    verb|enclose{horizontalstrike}{x+y}| & enclose{horizontalstrike}{x+y}\
    verb|enclose{verticalstrike}{frac xy}| & enclose{verticalstrike}{frac xy}\
    verb|enclose{updiagonalstrike}{x+y}| & enclose{updiagonalstrike}{x+y}\
    verb|enclose{downdiagonalstrike}{x+y}| & enclose{downdiagonalstrike}{x+y}\
    verb|enclose{horizontalstrike,updiagonalstrike}{x+y}| & enclose{horizontalstrike,updiagonalstrike}{x+y}\
    end{array}
    $$
    • 显示:

    [ equire{enclose}egin{array}{rl} verb|enclose{horizontalstrike}{x+y}| & enclose{horizontalstrike}{x+y}\ verb|enclose{verticalstrike}{frac xy}| & enclose{verticalstrike}{frac xy}\ verb|enclose{updiagonalstrike}{x+y}| & enclose{updiagonalstrike}{x+y}\ verb|enclose{downdiagonalstrike}{x+y}| & enclose{downdiagonalstrike}{x+y}\ verb|enclose{horizontalstrike,updiagonalstrike}{x+y}| & enclose{horizontalstrike,updiagonalstrike}{x+y}\ end{array} ]

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

    二、矩阵使用参考

    1.如何输入无框矩阵

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

    • 例子:
    $$
            egin{matrix}
            1 & x & x^2 \
            1 & y & y^2 \
            1 & z & z^2 \
            end{matrix}
    $$
    • 显示:

    [ egin{matrix} 1 & x & x^2 \ 1 & y & y^2 \ 1 & z & z^2 \ end{matrix} ]

    2.如何输入边框矩阵

    在开头将 matrix 替换为 pmatrix bmatrix Bmatrix vmatrix Vmatrix

    • 例子:
    $egin{matrix} 1 & 2 \ 3 & 4 \ end{matrix}$
    $egin{pmatrix} 1 & 2 \ 3 & 4 \ end{pmatrix}$
    $egin{bmatrix} 1 & 2 \ 3 & 4 \ end{bmatrix}$
    $egin{Bmatrix} 1 & 2 \ 3 & 4 \ end{Bmatrix}$
    $egin{vmatrix} 1 & 2 \ 3 & 4 \ end{vmatrix}$
    $egin{Vmatrix} 1 & 2 \ 3 & 4 \ end{Vmatrix}$
    • 显示:
    matrix pmatrix bmatrix Bmatrix vmatrix Vmatrix
    (egin{matrix} 1 & 2 \ 3 & 4 \ end{matrix}) (egin{pmatrix} 1 & 2 \ 3 & 4 \ end{pmatrix}) (egin{bmatrix} 1 & 2 \ 3 & 4 \ end{bmatrix}) (egin{Bmatrix} 1 & 2 \ 3 & 4 \ end{Bmatrix}) (egin{vmatrix} 1 & 2 \ 3 & 4 \ end{vmatrix}) (egin{Vmatrix} 1 & 2 \ 3 & 4 \ end{Vmatrix})

        

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

    使用 cdots (cdots) , ddots (ddots) , vdots (vdots) 来输入省略符号。

    • 例子:
    $$
            egin{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}
    $$
    • 显示:

    [ egin{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} ]

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

    详见"数组使用参考"。

    • 例子:
    $$
    left[
        egin{array}{cc|c}
          1&2&3\
          4&5&6
        end{array}
    
    ight]
    $$
    • 显示:

    [ left[ egin{array}{cc|c} 1&2&3\ 4&5&6 end{array} ight] ]

    其中 cc|c 代表在一个三列矩阵中的第二和第三列之间插入分割线。

    5.如何输入行中矩阵

    若想在一行内显示矩阵,
    使用igl(egin{smallmatrix} ... end{smallmatrix}igr)

    • 例子:
    这是一个行中矩阵的示例 $igl( egin{smallmatrix} a & b \ c & d end{smallmatrix} igr)$ 。
    • 显示:这是一个行中矩阵的示例 (igl( egin{smallmatrix} a & b \ c & d end{smallmatrix} igr))

    三、方程式序列使用参考

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

    人们经常想要一列整齐且居中的方程式序列。使用 egin{align}…end{align} 来创造一列方程式,其中在每行结尾处使用 \
    使用方程式序列无需声明公式符号 $$$

    请注意 {align} 语句是 自动编号 的。

    • 例子:
    $$
    egin{align}
    sqrt{37} & = sqrt{frac{73^2-1}{12^2}} \
     & = sqrt{frac{73^2}{12^2}cdotfrac{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}{2cdot73^2}
    ight)
    end{align}
    $$
    • 显示:

    [ egin{align} sqrt{37} & = sqrt{frac{73^2-1}{12^2}} \ & = sqrt{frac{73^2}{12^2}cdotfrac{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}{2cdot73^2} ight) end{align} ]

    本例中每行公式的编号续自 如何插入公式 中的自动编号公式 eqref{eq:sample} 。

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

    {align} 中灵活组合 ext ag 语句。 ag 语句编号优先级高于自动编号。

    • 例子:
    $$
    egin{align}
       v + w & = 0  &	ext{Given} 	ag 1\
       -w & = -w + 0 & 	ext{additive identity} 	ag 2\
       -w + 0 & = -w + (v + w) & 	ext{equations $(1)$ and $(2)$}
    end{align}
    $$
    • 显示:

    [ egin{align} v + w & = 0 & ext{Given} ag 1\ -w & = -w + 0 & ext{additive identity} ag 2\ -w + 0 & = -w + (v + w) & ext{equations $(1)$ and $(2)$} end{align} ]

    本例中第一、第二行的自动编号被 ag 语句覆盖,第三行的编号为自动编号。

    四、条件表达式使用参考

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

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

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

    [ f(n) = egin{cases} n/2, & ext{if $n$ is even} \ 3n+1, & ext{if $n$ is odd} end{cases} ]

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

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

    • 例子:
    $$
            left.
            egin{array}{l}
            	ext{if $n$ is even:}&n/2\
            	ext{if $n$ is odd:}&3n+1
            end{array}
            
    ight}
            =f(n)
    $$
    • 显示:

    [ left. egin{array}{l} ext{if $n$ is even:}&n/2\ ext{if $n$ is odd:}&3n+1 end{array} ight} =f(n) ]

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

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

    • 例子:
    不适配[2ex]
    $$
    f(n) = 
    egin{cases}
    frac{n}{2},  & 	ext{if $n$ is even} \
    3n+1, & 	ext{if $n$ is odd}
    end{cases}
    $$
    适配[2ex]
    $$
    f(n) = 
    egin{cases}
    frac{n}{2},  & 	ext{if $n$ is even} \[2ex]
    3n+1, & 	ext{if $n$ is odd}
    end{cases}
    $$
    • 显示:
    不适配[2ex]
    [ f(n) = egin{cases} frac{n}{2}, & ext{if $n$ is even} \ 3n+1, & ext{if $n$ is odd} end{cases} ]
    适配[2ex]
    [ f(n) = egin{cases} frac{n}{2}, & ext{if $n$ is even} \[2ex] 3n+1, & ext{if $n$ is odd} end{cases} ]

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

    五、数组与表格使用参考

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

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

    • 例子:
    $$
    egin{array}{c|lcr}
    n & 	ext{左对齐} & 	ext{居中对齐} & 	ext{右对齐} \
    hline
    1 & 0.24 & 1 & 125 \
    2 & -1 & 189 & -8 \
    3 & -20 & 2000 & 1+10i
    end{array}
    $$
    • 显示:

    [ egin{array}{c|lcr} n & ext{左对齐} & ext{居中对齐} & ext{右对齐} \ hline 1 & 0.24 & 1 & 125 \ 2 & -1 & 189 & -8 \ 3 & -20 & 2000 & 1+10i end{array} ]

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

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

    • 例子:
    $$
    % outer vertical array of arrays 外层垂直表格
    egin{array}{c}
        % inner horizontal array of arrays 内层水平表格
        egin{array}{cc}
            % inner array of minimum values 内层"最小值"数组
            egin{array}{c|cccc}
            	ext{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}
        &
            % inner array of maximum values 内层"最大值"数组
            egin{array}{c|cccc}
            	ext{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}
        % 内层第一行表格组结束
        \
        % inner array of delta values 内层第二行Delta值数组
            egin{array}{c|cccc}
            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}
    $$
    • 显示:

    [ % outer vertical array of arrays 外层垂直表格 egin{array}{c} % inner horizontal array of arrays 内层水平表格 egin{array}{cc} % inner array of minimum values 内层"最小值"数组 egin{array}{c|cccc} ext{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} & % inner array of maximum values 内层"最大值"数组 egin{array}{c|cccc} ext{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} % 内层第一行表格组结束 \ % inner array of delta values 内层第二行Delta值数组 egin{array}{c|cccc} 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.如何输入一个方程组

    使用 egin{array}…end{array}left{… ight. 来创建一个方程组。

    • 例子:
    $$
    left{ 
    egin{array}{c}
    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{array}
    
    ight. 
    $$
    • 显示:

    [ left{ egin{array}{c} 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{array} ight. ]

    或者使用条件表达式组 egin{cases}…end{cases} 来实现相同效果:

    • 例子:
    $$
    egin{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}
    $$
    • 显示:

    [ egin{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}}}} ]

    不要使用普通的 fracover 来创建,否则会看起来 很恶心

    • 反例:
    $$
    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}}}} ]

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

    • 例子:
    $$
    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 ]

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

    七、交换图表使用参考

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

    使用一行 $ equire{AMScd} $ 语句来允许交换图表的显示。
    声明交换图表后,语法与矩阵相似,在开头使用 begin{CD},在结尾使用 end{CD},在中间插入图表元素,每个元素之间插入 & ,并在每行结尾处使用 \

    • 例子:
    $$
    $
    equire{AMScd}$
    egin{CD}
        A @>a>> B\
        @V b V V# @VV c V\
        C @>>d> D
    end{CD}
    $$
    • 显示:

    [ $ equire{AMScd}$ egin{CD} A @>a>> B\ @V b V V# @VV c V\ C @>>d> D\ end{CD} ]

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

    • 例子:
    $$
    egin{CD}
        A @>>> B @>{	ext{very long label}}>> C \
        @. @AAA @| \
        D @= E @<<< F
    end{CD}
    $$
    • 显示:

    [ egin{CD} A @>>> B @>{ ext{very long label}}>> C \ @. @AAA @| \ D @= E @<<< F end{CD} ]

    在本例中, "very long label"自动延长了它所在箭头以及对应箭头的长度。

    八、一些特殊的注意事项

    !! 本段内容为个人翻译,可能有不准确之处 !!

    These are issues that won't affect the correctness of formulas, but might make them look significantly better or worse. Beginners should feel free to ignore this advice; someone else will correct it for them, or more likely nobody will care.

    现在指出的小问题并不会影响方程式及公式等的正确显示,但能让它们看起来明显更好看。初学者可无视这些建议,自然会有强迫症患者替你们改掉它的,或者更可能地,根本没人发现这些问题。

    Don't use frac in exponents or limits of integrals; it looks bad and can be confusing, which is why it is rarely done in professional mathematical typesetting. Write the fraction horizontally, with a slash:

    在以e为底的指数函数、极限和积分中尽量不要使用 frac 符号:它会使整段函数看起来很怪,而且可能产生歧义。也正是因此它在专业数学排版中几乎从不出现。
    横着写这些分式,中间使用斜线间隔 / (用斜线代替分数线)。

    • 例子:
    $$
    egin{array}{cc}
    mathrm{Bad} & mathrm{Better} \
    hline \
    e^{ifrac{pi}2} quad e^{frac{ipi}2}& e^{ipi/2} \
    int_{-fracpi2}^fracpi2 sin x\,dx & int_{-pi/2}^{pi/2}sin x\,dx \
    end{array}
    $$
    • 显示:

    [ egin{array}{cc} mathrm{Bad} & mathrm{Better} \ hline \ e^{ifrac{pi}2} quad e^{frac{ipi}2}& e^{ipi/2} \ int_{-fracpi2}^fracpi2 sin x\,dx & int_{-pi/2}^{pi/2}sin x\,dx \ end{array} ]

    The | symbol has the wrong spacing when it is used as a divider, for example in set comprehensions. Use mid instead:

    | 符号在被当作分隔符时会产生错误的间隔,因此在需要分隔时最好使用 mid 来代替它。

    • 例子:
    $$
    egin{array}{cc}
    mathrm{Bad} & mathrm{Better} \
    hline \
    {x|x^2inBbb Z} & {xmid x^2inBbb Z} \
    end{array}
    $$
    • 显示:

    [ egin{array}{cc} mathrm{Bad} & mathrm{Better} \ hline \ {x|x^2inBbb Z} & {xmid x^2inBbb Z} \ end{array} ]

    For double and triple integrals, don't use intint or intintint. Instead use the special forms iint and iiint:

    使用多重积分符号时,不要多次使用 int 来声明,直接使用 iint 来表示 二重积分 ,使用 iiint 来表示 三重积分 等。对于无限次积分,可以用 int cdots int 表示。

    • 例子:
    $$
    egin{array}{cc}
    mathrm{Bad} & mathrm{Better} \
    hline \
    intint_S f(x)\,dy\,dx & iint_S f(x)\,dy\,dx \
    intintint_V f(x)\,dz\,dy\,dx & iiint_V f(x)\,dz\,dy\,dx
    end{array}
    $$
    • 显示:

    [ egin{array}{cc} mathrm{Bad} & mathrm{Better} \ hline \ intint_S f(x)\,dy\,dx & iint_S f(x)\,dy\,dx \ intintint_V f(x)\,dz\,dy\,dx & iiint_V f(x)\,dz\,dy\,dx end{array} ]

    [无限次积分:int cdots int]

    Use \,, to insert a thin space before differentials; without this (TeX) will mash them together:

    在微分符号前加入 \, 来插入一个小的间隔空隙;没有 \, 符号的话,(TeX) 将会把不同的微分符号堆在一起。

    • 例子:
    $$
    egin{array}{cc}
    mathrm{Bad} & mathrm{Better} \
    hline \
    iiint_V f(x){
    m d}z {
    m d}y {
    m d}x & iiint_V f(x)\,{
    m d}z\,{
    m d}y\,{
    m d}x
    end{array}
    $$
    • 显示:

    [ egin{array}{cc} mathrm{Bad} & mathrm{Better} \ hline \ iiint_V f(x){ m d}z { m d}y { m d}x & iiint_V f(x)\,{ m d}z\,{ m d}y\,{ m d}x end{array} ]


    感谢您花费时间阅读这份指导手册,本手册内容可能有疏漏之处,欢迎更改指正。
    更多语法请参见:Cmd Markdown 简明语法手册Cmd Markdown 高阶语法手册
    祝您记录、阅读、分享愉快!

    Drafted & Translated by Eric P.
    2015-10-02

  • 相关阅读:
    python_day10 socket serverr
    python_day10 协程 GEVENT
    python_day10 协程 Greenlet
    python_day10 协程
    python_day10 paramiko模块
    python-day10 线程 queue
    python_day10 event
    python_day10 信号量
    python_day10 锁
    CSS命名规范(规则)
  • 原文地址:https://www.cnblogs.com/blknemo/p/11969820.html
Copyright © 2011-2022 走看看