MathJax语法

总阅读量 加载中... 次

1 基础语法

1.1 显示公式

  • 在行中显示的 (inline mode),就用 $ ... $
  • 单独一行显示 (display mode),则用 $$ ... $$

1.2 希腊字母

  • 要显示小写希腊字母,可以用 \alpha, \beta, …, \omega,输出: α,β,…,ω
  • 想要显示大写的话,就用 \Gamma, \Delta, …, \Omega,输出: Γ,Δ,…,Ω

1.3 上下标

上下标可用 ^ 和 _,上下标符号只能用于接下来一个「Group」(即单个字符,或一组花括号内的东西)。

  • 例如:\log_2 x 显示为 log2⁡x
  • 如果要写 1010 ,必须写成 10^{10}

1.4 括号

  • 小括号、方括号直接输入,花括号要用 \{ 和 \}。
  • 由于括号不会自动伸缩,直接写 (\frac{\sqrt x}{y^3}) 会得到 (xy3) 。
  • 如果需要自动伸缩,需要使用 \left 和 \right 进行包裹。例如:\left(\frac{\sqrt x}{y^3}\right) 会得到 (xy3) 。
  • \left 和 \right 还可以配合以下符号使用:
    • 绝对值:\left\vert x \right\vert ( |x| )
    • 范数:\left\Vert x \right\Vert ( ‖x‖ )
    • 尖角:\left\langle x \right\rangle ( ⟨x⟩ )
    • 向上取整:\left\lceil x \right\rceil ( ⌈x⌉ )
    • 向下取整:\left\lfloor x \right\rfloor ( ⌊x⌋ )
  • 如果只需显示单侧符号,可以用 . 表示另一边为空。例如:\left. \frac 1 2 \right \rbrace 显示为 12} 。
  • 也可以手动调整括号大小:\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr) 显示为 (((((x))))) 。

1.5 求和与积分

  • 求和:\sum_1^n 显示为 ∑1n
  • 积分:\int_1^n 显示为 ∫1n
  • 连乘:\prod ( ∏ )
  • 并集:\bigcup ( ⋃ )
  • 交集:\bigcap ( ⋂ )
  • 多重积分:\iint ( ∬ )

(注:上下限不止一位时需要用花括号包裹)

1.6 分数

有两种方法来显示分数:

  1. 使用 \frac a b 显示为 ab
  2. 使用 \over,如 {a+1 \over b+1} 显示为 a+1b+1

1.7 字体

  • 使用 \mathbb 或 \Bbb 选择 blackboard bold 字体:如 \mathbb {R} 显示为 R
  • 使用 \mathbf 选择 boldface(粗体):如 \mathbf {x} 显示为 x
  • 使用 \mathtt 选择 typewriter 字体:如 \mathtt {A} 显示为 A
  • 使用 \mathrm 选择 roman(正体):如 \mathrm {A} 显示为 A
  • 使用 \mathsf 选择 sans-serif 字体:如 \mathsf {A} 显示为 A
  • 使用 \mathcal 选择 calligraphic 字体:如 \mathcal {A} 显示为 A
  • 使用 \mathscr 选择 script 字体:如 \mathscr {A} 显示为 A
  • 使用 \mathfrak 选择 Fraktur 字体:如 \mathfrak {A} 显示为 A

1.8 根号

  • 平方根:\sqrt {x^3} 显示为 x3
  • 高次根:\sqrt[3] {\frac x y} 显示为 xy3

1.9 三角函数、极限和对数

像 “lim”, “sin”, “max”, “ln” 等符号已包括在 roman 字体中,直接用斜杠调用即可:

  • 例如:\lim_{x\to 0} 显示为 limx→0

1.10 特殊符号和记号

  • 不等号:\lt ( < )、\gt ( > )、\le ( ≤ )、\ge ( ≥ )、\neq ( ≠ )。还可以在符号前加 \not,如 \not\lt ( ≮ )。
  • 算术运算符:\times ( × )、\div ( ÷ )、\pm ( ± )、\mp ( ∓ )。点乘用 \cdot 表示,如 x \cdot y 显示为 x⋅y 。
  • 集合类符号:\cup ( ∪ )、\cap ( ∩ )、\setminus ( ∖ )、\subset ( ⊂ )、\subseteq ( ⊆ )、\subsetneq ( ⊊ )、\supset ( ⊃ )、\in ( ∈ )、\notin ( ∉ )、\emptyset ( ∅ )、\varnothing ( ∅ )。
  • 组合数:{n+1 \choose 2k} 或 \binom{n+1}{2k} 显示为 (n+12k) 。
  • 箭头:\to ( → )、\rightarrow ( → )、\left ( ← )、\Rightarrow ( ⇒ )、\Leftarrow ( ⇐ )、\mapsto ( ↦ )。
  • 逻辑运算符:\land ( ∧ )、\lor ( ∨ )、\lnot ( ¬ )、\forall ( ∀ )、\exists ( ∃ )、\top ( ⊤ )、\bot ( ⊥ )、\vdash ( ⊢ )、\vDash ( ⊨ )。
  • 其他运算符:\star ( ⋆ )、\ast ( ∗ )、\oplus ( ⊕ )、\circ ( ∘ )、\bullet ( ∙ )。
  • 关系符:\approx ( ≈ )、\sim ( ∼ )、\simeq ( ≃ )、\cong ( ≅ )、\equiv ( ≡ )、\prec ( ≺ )、\lhd ( ⊲ )。
  • 无穷与微积分:\infty ( ∞ )、\aleph_0 ( ℵ0 )、\nabla ( ∇ )、\partial ( ∂ )、\Im ( ℑ )、\Re ( ℜ )。
  • 取模:用 \pmod,如 a \equiv b\pmod n 表示 a≡b(modn) 。
  • 省略号:
    • 底点省略号(如逗号间):\ldots,如 a_1, a_2, \ldots ,a_n 表示 a1,a2,…,an 。
    • 中间位置省略号(如加号间):\cdots,如 a_1 + a_2 + \ldots + a_n 表示 a1+a2+…+an 。

1.11 空格

MathJax 中直接输入空格不会改变表达式。如果想在表达式中加入空格,可以使用:

  • 极小空格:\,
  • 小空格:\;
  • 大空格:\quad
  • 特大空格:\qquad
  • 插入文本:如果想在公式中加入一段正常文本,可用 \text{…}。例如:\{x \in s \mid x \text{ is extra large}\} 显示为 {x∈s∣x is extra large} 。在 \text{…} 里面还可以嵌套数学符号 $…$。

1.12 重音符与变音符

  • 单字符重音:\hat x ( x^ ),变音:\widehat {xy} ( xy^ )
  • 平均值/长横线:\bar x ( x¯ ),\overline {xyz} ( xyz― )
  • 向量/箭头:\vec x ( x→ ),\overrightarrow {xy} ( xy→ ),\overleftrightarrow {xy} ( xy↔ )
  • 导数点号:\dot x ( x˙ ),\ddot x ( x¨ )

1.13 转义符

一般情况下可用 \ 来作转义。但如果想要表示 \ 本身,必须使用 \backslash,因为双斜杠 \\ 在 MathJax 中表示换行。

2 矩阵

2.1 矩阵表示

可以用 \begin{matrix} … \end{matrix} 来表示矩阵。将矩阵元素放在 \begin 和 \end 之间,用 \\ 来分割行,用 & 来分割同一行的矩阵元素。

1xx21yy21zz2

2.2 矩阵两端的括号

除了用 \left…\right 之外,还可以通过替换 matrix 关键字来快速实现不同样式的矩阵:

  • 圆括号 pmatrix: (1234)
  • 方括号 bmatrix: [1234]
  • 花括号 Bmatrix: {1234}
  • 单竖线 vmatrix: |1234|
  • 双竖线 Vmatrix: ‖1234‖

2.3 在中间省略一些项

可以用 \cdots ( ⋯ )、\ddots ( ⋱ )、\vdots ( ⋮ ) 来表示省略项。

(1a1a12⋯a1n1a2a22⋯a2n⋮⋮⋮⋱⋮1amam2⋯amn)

2.4 增广矩阵

写增广矩阵需要用到 array 语法。

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

显示为:

[123456]

(注:{cc|c} 的作用是在第二列和第三列之间画一条垂直分割线,其中的 c 表示列内容居中对齐)

2.5 在行内画小矩阵

如果需要在行内插入小矩阵,可以使用 \bigl(\begin{smallmatrix} ... \end{smallmatrix}\bigr)。

  • 例如: (abcd)

3 对齐等式

如果有一系列的等式需要写,并且等号需要对齐,可以使用 \begin{align} … \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}

其显示效果会自动为每一行附带编号(在支持 align 编号的 MathJax 环境中)。在使用 align 时,外层的 $$ 符号可以省略。

4 分段函数

分段函数使用 cases 语法:\begin{cases} … \end{cases},用 \\ 换行,用 & 对齐条件。

f(n)={n/2,if n is even3n+1,if n is odd

如果想把大括号放在右边,可以这样写:

\left.
\begin{array}{l}
\text{if $n$ is even:}&n/2\\
\text{if $n$ is odd:}&3n+1
\end{array}
\right\}
=f(n)

如果想让两行之间的行间距更大一些,可以用 \\[2ex] 代替 \\(ex 是指字母 x 的高度,2ex 表示两倍的字母 x 高度)。

5 数组与表格

在 \begin{array} 之后,必须用一对花括号 {} 定义每一列的对齐方式和分隔线:

  • c 表示居中对齐
  • l 表示左对齐
  • r 表示右对齐
  • | 表示垂直分隔线
  • 用 & 分割单元格,用 \\ 换行
  • 如需水平分隔线,在当前行前加上 \hline 即可
nLeftCenterRight10.2411252−1189−83−2020001+10i

array 还支持嵌套,用以形成复杂的矩阵和表格。

6 方程组

要建立方程组,有以下几种常用方式:

  1. 使用 array 结合 \left\{ 和 \right. 隐藏右括号:
{a1x+b1y+c1z=d1a2x+b2y+c2z=d2a3x+b3y+c3z=d3
  1. 直接使用 cases 语法:
{a1x+b1y+c1z=d1a2x+b2y+c2z=d2a3x+b3y+c3z=d3
  1. 如果想把等号对齐,可嵌套 aligned 语法:
{a1x+b1y+c1z=d1+e1a2x+b2y=d2a3x+b3y+c3z=d3

7 连续分式

书写连续分式(连分数)时,请使用 \cfrac 代替普通的 \frac,以保证层级比例正常。

  • 推荐做法 (\cfrac):
x=a0+12a1+22a2+32a3+44a4+⋯
  • 不推荐做法 (\frac 会导致字体逐层缩小且挤压):
x=a0+12a1+22a2+32a3+44a4+⋯

8 公式编号与引用

在 MathJax 中可以使用标记与引用系统。

  • 使用 \tag{yourtag} 给公式打标签。
  • 如果后续需要引用,在 \tag 后面加上 \label{somelabel}。

例如,先对公式打标:

(*)a:=x2−y3

在后文中,可以使用 \eqref{*} 带有括号地引用它:

a+y3=(*)x2

或者使用 \ref{*} 进行无括号引用:

a+y3=*x2

9 交换图表

为了兼容静态 MathJax 渲染器,可以使用基础的 array 环境组合箭头:

\begin{array}{ccc}
A & \xrightarrow{a} & B \\
{\scriptstyle b}\downarrow & & \downarrow{\scriptstyle c} \\
C & \xrightarrow{d} & D
\end{array}

显示为:

A→aBb↓↓cC→dD

符号说明:

  • \xrightarrow{a} 表示带标签的向右箭头
  • \downarrow 表示向下箭头
  • \scriptstyle 用于缩小箭头旁的标签
  • array 的列对齐参数 {ccc} 表示三列居中