MathJax语法总结
Posted Nemo&
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MathJax语法总结相关的知识,希望对你有一定的参考价值。
基础语法
1.显示公式
在行中显示的 (inline mode),就用 $...$
单独一行显示 (display mode),则用 $$...$$
2.希腊字母
要显示希腊字母,可以用 \\alpha, \\beta, …, \\omega
,输出\\(\\alpha, \\beta, …, \\omega\\)
想要显示大写的话,就用 \\Gamma, \\Delta, …, \\Omega
, 输出\\(\\Gamma, \\Delta, …, \\Omega\\)
3. 上下标
上下标可用 ^
和 _
, 比如\\log_2 x
显示 \\(\\log_2 x\\)
上下标符号只能用于接下来一个 Group,即 单个字符,或一组花括号内的东西,比如 \\(10^10\\) 要写成10^10
4. 括号
小括号、方括号直接输,花括号要用 \\
和 \\
括号不会伸缩,如写 (\\frac\\sqrt xy^3)
会得到 \\((\\frac\\sqrt xy^3)\\)
如果需要伸缩,就需要用 \\left(…\\right)
来进行自动伸缩,如写 \\left(\\frac\\sqrt xy^3\\right)
得到 \\(\\left(\\frac\\sqrt xy^3\\right)\\)
\\left
和 \\right
的用法在这些中有用:三种括号,绝对值符号,范数符号 \\vert x \\vert
\\(\\vert x \\vert\\),\\Vert x \\Vert
\\(\\Vert x \\Vert\\),尖角符号 \\langle
和 \\rangle
\\(\\langle x \\rangle\\),向上下取整符号 \\lceil
\\rceil
和 \\lfloor
\\rfloor
。如果只需显示一半的符号,可以用 .
来表示另一边为空,如\\left. \\frac 1 2 \\right \\rbrace
就是 \\(\\left. \\frac 1 2 \\right \\rbrace\\)
当然也可以手动调整括号的大小,如\\Biggl(\\biggl(\\Bigl(\\bigl((x)\\bigr)\\Bigr)\\biggr)\\Biggr)
会得到 \\(\\Biggl(\\biggl(\\Bigl(\\bigl((x)\\bigr)\\Bigr)\\biggr)\\Biggr)\\)
5. 求和与积分
\\sum_1^n
显示 \\(\\sum_1^n\\), \\int_1^n
显示 \\(\\int_1^n\\),当然也有Group的概念,不止一位时需要花括号。
类似的还有连乘号 \\prod
\\(\\prod\\)、并集\\bigcup
\\(\\bigcup\\)、交集\\bigcap
\\(\\bigcap\\)、多重积分 \\iint
\\(\\iint\\)等。
6. 分数
有两种方法来显示分数,一种是 \\frac a b
来显示\\(\\frac a b\\),另一种是用 \\over
, 如a+1 \\over b+1
显示 \\(a+1 \\over b+1\\)
7. 字体
用 \\mathbb
或 \\Bbb
选择blackboard bold 字体,如\\mathbb ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
:
\\(\\mathbb ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathbf
选择 boldface 字体:
\\(\\mathbf ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathtt
选择 typewriter 字体:
\\(\\mathtt ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathrm
选择 roman 字体:
\\(\\mathrm ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathsf
选择 sans-serif字体:
\\(\\mathsf ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathcal
选择 calligraphic 字体:
\\(\\mathcal ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathscr
选择 script 字体:
\\(\\mathscr ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
用 \\mathfrak
选择 Fraktur 字体:
\\(\\mathfrak ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\\\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\\)
8. 根号
\\sqrt x^3
可显示根号\\(\\sqrt x^3\\),\\sqrt[3] \\frac x y
显示三次根号 \\(\\sqrt[3] \\frac x y\\)
9. 三角函数、极限和对数
像 “lim”, “sin”, “max”, “ln”等符号,已包括在roman 字体中,用 \\lim
等即可,极限可用\\lim_x\\to 0
来表示:\\(\\lim_x\\to 0\\)
10. 特殊符号和记号
有很多,以下是一小部分:
\\lt \\gt \\le \\ge \\neq
表示\\(\\lt \\gt \\le \\ge \\neq\\),还可以在不等号上加\\not
,如\\not\\lt
表示 \\(\\not\\lt\\)\\times \\div \\pm \\mp
表示 \\(\\times \\div \\pm \\mp\\),点乘用\\cdot
表示,如x \\cdot y
表示 \\(x \\cdot y\\)- 集合类符号,
\\cup \\cap \\setminus \\subset \\subseteq \\subsetneq \\supset \\in \\notin \\emptyset \\varnothing
表示 \\(\\cup \\cap \\setminus \\subset \\subseteq \\subsetneq \\supset \\in \\notin \\emptyset \\varnothing\\) - 组合数,
n+1 \\choose 2k
或\\binomn+12k
表示\\(\\binomn+12k\\) - 箭头,
\\to \\rightarrow \\leftarrow \\Rightarrow \\Leftarrow \\mapsto
表示 \\(\\to \\rightarrow \\leftarrow \\Rightarrow \\Leftarrow \\mapsto\\) \\land \\lor \\lnot \\forall \\exists \\top \\bot \\vdash \\vDash
表示 \\(\\land \\lor \\lnot \\forall \\exists \\top \\bot \\vdash \\vDash\\)\\star \\ast \\oplus \\circ \\bullet
表示 \\(\\star \\ast \\oplus \\circ \\bullet\\)\\approx \\sim \\simeq \\cong \\equiv \\prec \\lhd
表示 \\(\\approx \\sim \\simeq \\cong \\equiv \\prec \\lhd\\)\\infty \\aleph_0
表示 \\(\\infty \\aleph_0\\),\\nabla \\partial
表示 \\(\\nabla \\partial\\),\\Im \\Re
表示 \\(\\Im \\Re\\)- 取模,用
\\pmod
,如a \\equiv b\\pmod n
表示 \\(a \\equiv b\\pmod n\\) - 省略号,底一点的中的省略用
\\ldots
,如a_1, a_2, \\ldots ,a_n
表示 \\(a_1, a_2, \\ldots ,a_n\\),中间位置的的省略用\\cdots
,如a_1 + a_2 + \\ldots + a_n
表示 \\(a_1 + a_2 + \\ldots + a_n\\)
11. 空格
MathJax中加入空格不会改变表达式,如果想在表达式中加空格,根据空格的不同,可用\\, \\; \\quad \\qquad
,如 \\(a\\,a, a\\;a, a \\quad a, a \\qquad a\\)
如果想加入一段文字,可用\\text…
,如\\x \\in s \\mid x \\text is extra large\\
表示 \\(\\x \\in s \\mid x \\text is extra large\\\\),在\\text…
里面还可以嵌套$…$
12. Accents (重音符) and diacritical (变音符) marks
重音符可用\\hat
,如\\hat x
表示 \\(\\hat x\\)
变音符可用\\widehat
,如\\widehat xy
表示 \\(\\widehat xy\\)
\\bar x
表示 \\(\\bar x\\),\\overline xyz
表示 \\(\\overline xyz\\)
\\vec x
表示\\(\\vec x\\),\\overrightarrow xy
表示 \\(\\overrightarrow xy\\),\\overleftrightarrow xy
表示 \\(\\overleftrightarrow xy\\)
如果用点号,可用\\dot
和\\ddot
,如可用\\frac ddxx\\dot x = \\dot x^2 + x\\ddot x
表示 \\(\\frac ddxx\\dot x = \\dot x^2 + x\\ddot x\\)
13. 转义符
一般情况下可用\\
来作转义,但如果想要表示\\
本身,需要用\\backslash
,因为\\\\
表示换行。
矩阵
1. 矩阵表示
可以用 $$\\beginmatrix…\\endmatrix$$
来表示矩阵。将矩阵元素放在 \\begin
和 \\end
之间即可。 用 \\\\
来分割行,用 &
来分割同一行的矩阵元素。如:
$$
\\beginmatrix
1 & x & x^2 \\\\
1 & y & y^2 \\\\
1 & z & z^2 \\\\
\\endmatrix
$$
表示:
MathJax 会自动调整行列的尺寸。
2. 矩阵两端的括号
$$
\\beginmatrix
1 & 2 \\\\
3 & 4 \\\\
\\endmatrix
$$
给矩阵两端加上括号,可以用\\left…\\right
或者把 matrix
替换为 pmatrix
, 变成
替换为 bmatrix
,变成
替换为Bmatrix
变成
替换为 vmatrix
变成
替换为 Vmatrix
变成
3. 在中间省略一些项
可以用 \\cdots
\\(\\cdots\\)、\\ddots
\\(\\ddots\\) 、\\vdots
\\(\\vdots\\)来在中间省略一些项。
比如:
\\begin 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. 增广矩阵 augmented matrix
对于增广矩阵,要用到 array
语句。如:
\\left [
\\begin array cc|c
1&2&3\\\\
4&5&6
\\end array
\\right ]
可以得到:
cc|c
的作用是,在第二列和第三列之间画一条垂直线,c表示列中心对齐。
5. 在行内画小矩阵
如果只是需要在行内画个小矩阵,可以用 \\bigl(\\beginsmallmatrix ... \\endsmallmatrix\\bigr)
来画。
如 $\\bigl( \\beginsmallmatrix a & b \\\\ c & d \\endsmallmatrix \\bigr)$
可以画出 \\(\\bigl( \\beginsmallmatrix a & b \\\\ c & d \\endsmallmatrix \\bigr)\\)
对齐等式
如果有一系列的等式需要写,并且等号需要对齐,那么可以用 \\beginalign…\\endalign
。
每次换行都要用 \\\\
,新的一行需要在需要对齐的地方使用 &
。
下面是一个例子:
\\beginalign
\\sqrt37 & = \\sqrt \\frac73^2-112^2 \\\\
& = \\sqrt \\frac73^212^2 \\cdot \\frac73^2-173^2 \\\\
& = \\sqrt \\frac73^212^2\\sqrt \\frac73^2-173^2 \\\\
& = \\frac7312 \\sqrt1 - \\frac173^2 \\\\
& \\approx \\frac7312 \\left(1 - \\frac12 \\cdot73^2 \\right)
\\endalign
写出来是这样的:
在这里,$$
符号可以省略。
分段函数 piecewise functions
怎么写分段函数呢?用关键词 case
。
主要格式是 \\begincases…\\endcases
,用\\\\
来换行,用&
来对齐。
举个例子:
f(n) =
\\begincases
n/2, & \\textif $n$ is even \\\\
3n+1, & \\textif $n$ is odd
\\endcases
可以得到:
如果想把括号放右边,就这样写:
\\left.
\\beginarrayl
\\textif $n$ is even:&n/2\\\\
\\textif $n$ is odd:&3n+1
\\endarray
\\right\\
=f(n)
得到:
如果想让两行之间的间隔变得更大一些,就可以用 \\\\[2ex]
代替 \\\\
,接着举例子:
f(n) =
\\begincases
\\fracn2, & \\textif $n$ is even \\\\[2ex]
3n+1, & \\textif $n$ is odd
\\endcases
得到:
注:ex
是指字母x的高度,\\\\[2ex]
就表示两倍的字母x的高度。
Array
用 MathJax 来表示 array 或 table 比用 “文本+空格”的方式方便得多。
在 \\beginarray
之后,要再用一个 格式写出每一列应该如何对齐, 在花括号里面,用
c
表示列中心对齐,用 r
表示右对齐,l
表示左对齐,|
表示垂直线。
和矩阵一样,用 &
来分割单元,用 \\\\
来换行。
如果要作水平线,在当前行的前面加上 \\hline
即可。
下面是一个例子:
$$
\\beginarray c|lcr
n & \\textLeft & \\textCenter & \\textRight \\\\
\\hline
1 & 0.24 & 1 & 125 \\\\
2 & -1 & 189 & -8 \\\\
3 & -20 & 2000 & 1+10i
\\endarray
$$
显示出来是这样的:
Array可嵌套,形成一个 “array of tables”,例子如下:
源代码是这样的:
% outer vertical array of arrays
\\beginarray c
% inner horizontal array of arrays
\\beginarray cc
% inner array of minimum values
\\beginarray c|cccc
\\textmin & 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
\\endarray
&
% inner array of maximum values
\\beginarray c|cccc
\\textmax&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
\\endarray
\\endarray
\\\\
% inner array of delta values
\\beginarray 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
\\endarray
\\endarray
方程组
在需要建立方程组的时候,可以用 \\beginarray…\\endarray
和 \\left\\…\\right.
,如:
$$
\\left \\
\\beginarrayc
a_1x+b_1y+c_1z=d_1 \\\\
a_2x+b_2y+c_2z=d_2 \\\\
a_3x+b_3y+c_3z=d_3
\\endarray
\\right.
$$
就可以显示:
另外,也可以使用 \\begincases…\\endcases
,如:
$$
\\begincases
a_1x+b_1y+c_1z=d_1 \\\\
a_2x+b_2y+c_2z=d_2 \\\\
a_3x+b_3y+c_3z=d_3
\\endcases
$$
显示:
如果想把等号对齐,就用 \\beginaligned...\\endaligned
和 \\left\\…\\right.
,如:
$$
\\left\\
\\beginaligned
a_1x+b_1y+c_1z &= d_1+e_1 \\\\
a_2x+b_2y &= d_2 \\\\
a_3x+b_3y+c_3z &= d_3
\\endaligned
\\right.
$$
显示:
如果想要等号对齐,并左右两边左对齐,就可以用 array 中的 l
参数:
$$
\\left\\
\\beginarrayll
a_1x+b_1y+c_1z &=d_1+e_1 \\\\
a_2x+b_2y &=d_2 \\\\
a_3x+b_3y+c_3z &=d_3
\\endarray
\\right.
$$
显示:
连续分式
如果要书写连续分式,请使用 \\cfrac
,如:
x = a_0 + \\cfrac1^2a_1
+ \\cfrac2^2a_2
+ \\cfrac3^2a_3 + \\cfrac4^4a_4 + \\cdots
显示为
如果用 \\frac
,会怎么样呢?
x = a_0 + \\frac1^2a_1
+ \\frac2^2a_2
+ \\frac3^2a_3 + \\frac4^4a_4 + \\cdots
显示为:
看起来就很奇怪。
如果非要用\\frac
,那就写成这样吧:
x = a_0 + \\frac1^2a_1+
\\frac2^2a_2+
\\frac3^2a_3 + \\frac4^4a_4 + \\cdots
显示为:
打 Tag 和引用公式
如果在某个公式之后,又想要引用原公式并说明原公式的出处,该怎么办呢?
可以用 tagging/labelling/referencing system来做。
可以用 \\tagyourtag
来给原公式打 Tag。如果在后面需要引用它,就在 \\tag
后面加上 \\labelsomelabel
,yourtag
和 somelabel
不一定要一样,但最好一样。
下面是一个例子。
比如我先对原公式打 Tag:
$$ a := x^2-y^3 \\tag*\\label* $$
显示为:
需要引用该公式时,就可以用 \\eqrefsomelabel
:
$$ a+y^3 \\stackrel\\eqref*= x^2 $$
显示为:
也可以用 \\refsomelabel
,这样的话就没有括号,$$ a+y^3 \\stackrel\\ref*= x^2 $$
,显示为:
Commutative diagrams
AMScd 图一定要以”require”开头。
例子:
\\requireAMScd
\\beginCD
A @>a>> B\\\\
@V b V V= @VV c V\\\\
C @>>d> D
\\endCD
显示为:
符号说明如下:
@>>>
向右箭头
@<<<
向左箭头
@VVV
向下箭头
@AAA
向上箭头
@=
水平的 double line
@|
垂直的 double line
@.
没有箭头
另一个例子:
\\beginCD
A @>>> B @>\\textvery long label>> C \\\\
@. @AAA @| \\\\
D @= E @<<< F
\\endCD
显示为:
这招可以用来写化学方程式:
\\requireAMScd
\\beginCD
RCOHR\'SO_3Na @>\\textHydrolysis,$\\Delta, Dil.HCl$>> (RCOR\')+NaCl+SO_2+ H_2O
\\endCD
显示为:
让括号变大
用 \\left
和 \\right
可以让三种括号(圆括号、方括号、花括号)的尺寸适应公式的大小。
比如:
$$
f\\left(
\\left[
\\frac
1+\\left\\x,y\\right\\
\\left(
\\fracxy+\\fracyx
\\right)
\\left(u+1\\right)
+a
\\right]^3/2
\\right)
$$
显示为:
注意,花括号,要用 \\
\\
.
如果左边括号用了 \\left
,并需要在另一行用 \\right
的右括号,那么就要先使用 \\right.
和 \\left.
,来当成“隐形的”括号。
例子如下:
$$
\\beginaligned
a=&\\left(1+2+3+ \\cdots \\right. \\\\
& \\cdots+ \\left. \\infty-2+\\infty-1+\\infty\\right)
\\endaligned
$$
显示为:
如果是对称的符号(如绝对值符号,没有左右之分)要伸缩,那就用 \\middle
,例子如下:
$$
\\left\\langle
q
\\middle\\|
\\frac\\fracxy\\fracuv
\\middle|
p
\\right\\rangle
$$
显示为:
但是,用 \\left|
和 \\left|
也是可以的。
任意运算符
有时候想打某个运算符,但它又不在 built-in command 中,这时候该怎么办?
可以用 \\operatorname…
将它打出来。
比如, \\operatornamearsinh(x)
可以打出 \\(\\operatornamearsinh(x)\\)
如果用 \\arsinh(x)
的话,\\arsinh(x)
是不合规则的
如果直接写 arsinh(x)
,会显示 \\(arsinh(x)\\) ,它的字体又不符合函数的要求。
如果需要在运算符的上面或下面添加一些限制,可以用 \\operatorname*…
,如 \\operatorname*Res_z=1\\left(\\frac1z^2-z\\right)=1
会显示:
\\(\\operatorname*Res_z=1\\left(\\frac1z^2-z\\right)=1\\)
极限符号
怎样在一行内写出一个像 \\(\\lim \\limits_x \\to 1 \\fracx^2-1x-1\\) 一样的极限符号?
如果用MathJax基础(1)中的方法,在一行内,$\\lim_x \\to 1$
,会渲染成$$\\lim_x \\to 1$$,只有独立成一行时,这种写法才会渲染正常。
下面说详细步骤:
- 用
$\\lim
开头,它会被渲染成 \\(\\lim\\),注意要加反斜杠,防止lim倾斜。 - 在后面再写
\\limits_x \\to 1
,就会渲染成 \\(\\limits_x \\to 1\\). - 最后,写上要求极限的函数即可。
所以最后的源代码为 $\\lim \\limits_x \\to 1 \\fracx^2-1x-1$
,写出来就是\\(\\lim \\limits_x \\to 1 \\fracx^2-1x-1\\).
笔者将不定期更新【考研或就业】的专业相关知识以及自身理解,希望大家能【关注】我。
如果觉得对您有用,请点击左下角的【点赞】按钮,给我一些鼓励,谢谢!
如果有更好的理解或建议,请在【评论】中写出,我会及时修改,谢谢啦!
本文来自博客园,作者:Nemo&
转载请注明原文链接:https://www.cnblogs.com/blknemo/p/16745637.html
以上是关于MathJax语法总结的主要内容,如果未能解决你的问题,请参考以下文章