MathJax基础教程与快速参考
MathJax是一款运行在浏览器中的开源的数学符号渲染引擎,使用MathJax可以方便的在浏览器中显示数学公式,不需要使用图片。可以解析LaTex、MathML和ASCIIMathMl的标记语言。
在Stack Exchange上有一篇基础教程MathJax basic tutorial and quick reference很值得学习,顺便翻译一下。
- 有两种公式显示形式,一种是嵌入在行内的公式,写在
$...$
内;另一种是单独展示的公式,使用$$...$$
。这两种方式的渲染效果不同,如下所示:
$sum_{i=0}^n i^2 = frac{(n^2+n)(2n+1)}{6} ag{inline}$
$$sum_{i=0}^n i^2 = frac{(n^2+n)(2n+1)}{6} ag{displayed}$$
希腊字母,小写形式,使用
alpha, eta, ..., omega
,如:α,β,...,ω ;大写形式,使用Gamma, Delta, ..., Omega
,如:Γ,Δ,...,Ω 。下标与上标符号,分别为
^
与_
,如:x_i^2
:x2i 。上标、下标以及其它操作符只作用于下一个组。一个组可以是单个符号,或者是由花括号
{...}
括起来的公式。例如使用10^10来表示10的10次方,但是会显示成1010 ,可以使用$10^{10}$
来正确显示1010 。使用花括号界定公式中应用上标或下标的更多例子如下:x^5^6
:x^5^6是错误的用法;{x^y}^z
表示xyz ,x^{y^z}
表示xyz 。另外,观察一下x_i^2
x2i 与x_{i^2}
xi2 之间的区别。小括号与中括号
() []
都是普通的符号()[] ,可以直接使用。如果想使用大括号{}
,则需要使用转义字符 {}
{} 。
不过这些括号直接用在公式中是没有大小尺度变化的,因此在一些公式中会显的特别小,如:(frac{sqrt x}{y^3})
(x√y3) 。可以在括号前使用left( ... ight)
解决这一问题,使之自动调整括号在公式中的显示大小,如:left(frac{sqrt x}{y^3} ight)
(x√y3) 。
left和 ight可以用在如下一类的括号中:(
与)
(x) ,[
与]
[x] ,{
与}
或lbrace
与brace
{x} ,|
|x| ,langle
与angle
⟨x⟩ ,lceil
与ceil
⌈x⌉ ,lfloor
与floor
⌊x⌋ 。另外,也可以使用.
隐藏括号,使之不显示,如:left.frac{1}{2} ight brace
12} 。求和符
∑ 与积分符∫ ,分别为sum
与int
。使用求和符与积分符时,需要指定上下标,如:sum_i^n
∑ni 。特别需要注意的是,如果角标不是单个字符时需要使用花括号{...}
,如:sum_{i=0}^{infty} i^2
∑∞i=0i2 ,求积符prod
∏ 、求积分符int
∫ 、并集符igcup
⋃ 、交集符igcap
⋂ 、双重积分符iint
∬ 等类似。分数,有两种方式实现分数,一种是
frac ab
ab ,frac {a+1}{b+1}
a+1b+1 ;另一种是使用over
a+1b+1 。字体。
mathbb
或Bbb
blackboard bold:ABCabc 。mathbf
boldface:ABCabc 。mathtt
typewritter font:ABCabc 。mathrm
roman font:ABCabc 。mathsf
sans-serif font:ABCabc 。mathcal
calligraphic letters:ABCabc 。mathscr
script letters:ABCabc 。mathfrak
Fraktur letters:ABCabc 。
开根号
sqrt
sqrt,sqrt{x^3}
x3−−√ ,sqrt[3]{frac xy}
xy−−√3 。对于更复杂的表达式,可以考虑使用{...}^{1/2}
代替。一些特殊的函数,如
lim
,sin
,max
,ln
等,使用sin
,lim
表示正弦函数sinx ,而不是$sin x$
表示正弦函数sinx ,其它类似。对于lim
,可以附加一个下标记号,如:lim_{x o 0}
。limx→0 此外,还有大量的特殊符号与记法,这里列举一些最常用的,更加详细的符号说明参见The Comprehensive LaTex Symbol与LaTeX and AMS-LaTex Symbols。
- 关系操作符:
lt gt le ge eq
<,>,≤,≥,≠ ,也可以在这些符号前加上ot
表示非,如:otlt
≮ 。 - 算术操作符:
imes div pm mp
×,÷,±,∓ 。cdot
表示居中的点x⋅y 。 - 集合操作符:
cup cap setminus subset subseteq subsetneq supset in otin emptyset varnothing
∪∩∖⊂⊆⊊⊃∈∉∅∅ 。 - 排列组合:
{n+1 choose 2k}
或inom{n+1}{2k}
(n+12k) 。 - 箭头:
o ightarrow leftarrow Rightarrow Leftarrow mapsto
→→←⇒⇐↦ 。 - 逻辑操作符:
land lor lnot forall exists op ot vdash vDash
∧∨¬∃∀⊤⊥⊢⊨ 。 star ast oplus circ ullet
⋆∗⊕∘∙ approx sim simeq cong equiv prec
≈∼≃≅≡≺ 。infty aleph_0
∞ℵ0 abla partial
∇∂ Im Re
IR 。- 对于求模值,使用
pmod
:aequiv bpmod na≡b(modn) 。 - 省略号:
ldots
a1,a2,…,an 与cdots
a1+a2+⋯+an 。 - 希腊字符做变量的形式:
epsilon, varepsilon
ϵ,ε ,phi varphi
ϕφ 。以及其它的角标小写字母,如:ell
ℓ 。
*顶部符号:hat
x^ widehat
xyˆ overline
xy¯¯¯¯ overrightarrow
x→ dot
x˙ ddot
x¨ 。
- 关系操作符:
空格
\, ; quad qquad
a\,b a;b a quad b a qquad b
ab ab ab ab 。矩阵:使用
$$egin{matrix}…end{matrix}$$
这样的形式来表示矩阵,在egin{matrix}`与`end{matrix}
之间加入矩阵中的元素即可。矩阵的行之间使用分隔,列之间使用&分隔。如:egin{matrix} 1&0&0 \ 0&1&0 \ 0&0&1 end{matrix}
。100010001 带括号的矩阵:
{matrix}
替换为{pmatrix}、{bmatrix}、{Bmatrix}、{vmatrix}、{Vmatrix}
。同样也可以使用left ight
。如:
(1001)(pmatrix)
[1001](bmatrix)
{1001}(Bmatrix)
∣∣∣1001∣∣∣(vmatrix)
∥∥∥1001∥∥∥(Vmatrix) 矩阵中省略元素:
cdots
⋯ ,ddots
⋱ ,vdots
⋮ 。如:
⎛⎝⎜⎜⎜⎜⎜12⋮n12⋮n⋯⋯⋱⋯12⋮n⎞⎠⎟⎟⎟⎟⎟ 方程组使用
egin{array}...end{array}
与left{... ight.
,如:f(n)=left{egin{array}{c} n/2, & ext{if n is even}\3n+1, & ext{if n is odd}end{array} ight.
f(n)={n/2,3n+1,if n is evenif n is odd
也可以使用egin{cases}...end{cases}
,此时不需要left
与ight
,如:f(n)=egin{cases}n/2, & ext{if n is even}\3n+1, & ext{if n is odd}end{cases}
f(n)={n/2,3n+1,if n is evenif n is odd
恩,就这些也基本够用了。更多内容请参见官网。
参考资料
1. MathJax basic tutorial and quick reference
2. MathJax
3. MathJax中文文档