我是靠谱客的博主 甜甜大地,最近开发中收集的这篇文章主要介绍MathJax基本的使用方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先为了让Markdown能够解析LaTeX数学表达式,通常情况下,我们需要引入MathJax插件才可能工作。

<script type="text/javascript"<src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>

插入公式

  • 如果是在文本中插入公式,则用$...$

  • 如果公式自成段落,则使用$$...$$

多行公式

如果要写出多行公式,就使用

begin{equation}begin{split}
end{split}end{equation}

\ 符号表示换行,再使用&符号表示要对齐的位置,例子如下

begin{equation}begin{split}
H(Y|X)&=sum_{xin X} p(x)H(Y|X)\
&=-sum_{xin X} p(x)sum_{yin Y}p(y|x)log p(y|x)\
&=-sum_{xin X} sum_{yin Y}p(y,x)log p(y|x)
end{split}end{equation}

H(Y|X)=xXp(x)H(Y|X)=xXp(x)yYp(y|x)logp(y|x)=xXyYp(y,x)logp(y|x)

字体

  • 使用mathbbBbb来显示黑板粗体字, NQRZ
  • 使用mathbf来显示粗体字, ABCDabcd
  • 使用mathtt来显示打印式字体, ABCDabcd
  • 使用mathrm来显示罗马字体, ABCDabcd
  • 使用mathcal来显示手写字体, ABCDabcd
  • 使用mathscr来显示剧本字体, ABCDabcd
  • 使用mathfrak来显示Fraktur字母(一种旧的德国字体), ABCDabcd

分组

通过大括号{}将操作数与符号分割开,消除二义性。例如,若使用x^10,其效果为 x10 ,这里就要用到大括号,x^{10},最终效果为 x10

空间

MathJax 通常用自己的一套复杂策略来决定公式的空间距离。直接在两个元素之间加入空格是毫无用处的。因此为了增加空间距离,使用,可以增加稍许空间;使用;可以增加更多的空间;quadqquad分别对应更大的空间。

希腊字母

大写字母实现小写字母实现
A A αalpha
B B βbeta
Γ Gamma γ gamma
Δ Delta δ delta
E E ϵepsilon
Z Z ζzeta
H H ηeta
Θ Theta θ theta
Λ Lambda λ lambda
M M μmu
N N νnu
Ξ Xi ξ xi
O O οomicron
Π Pi π pi
P P ρrho
Σ Sigma σ sigma
T T τtau
Υ Upsilon υ upsilon
Φ Phi ϕ phi
X X χchi
Ψ Psi ψ psi
Ω Omega ω omega

数学符号

上标与下标

上标或小标只需在后面加上^ 或 _。另外需要注意的是,如果上下标不止一个字符,就需要用大括号括起来,表示是一个整体,{...}

分式

有两种方式做到这个效果。
1. 使用frac ab。如frac {1+a}{4+b},效果为 1+a4+b ;
2. 使用a over b。如{1+a} over {4+b},效果为 1+a4+b
一般推荐使用第二种

根式

平方根:
sqrt{x^3},效果为 x3

其余:
sqrt[4]{frac xy},效果为 xy4

关系比较符号

符号表示
< lt
> gt
le
ge
neq

运算符号

运算符表示
+ +
-
× times
÷ div
± pm
mp
cdot

集合符号

符号表示
cup
cap
setminus
subset
subseteq
subsetneq
supset
in
notin
emptyset
varnothing

箭头符号

符号表示
to
rightarrow
leftarrow
Rightarrow
Leftarrow
mapsto
Uparrow
uparrow
Downarrow
downarrow

特殊符号

符号表示
infty
nabla
partial
approx
sim
simeq
cong
equiv
prec
(n+12k) {n+1 choose 2k}binom{n+1}{2k}
land
lor
¬ lnot
forall
exists
top
bot
vdash
vDash
star
ast
oplus
circ
bullet

括号

符号表示
() ()
[] []
{} { }
`langle
`rangle
x lceil x rceil
x lfloor$ x rfloor

原始括号不会自适应算式的大小,需要在括号外面加上left(…right)

求和、积分、极限与连乘

运算符表示示例表示
sum k=X(kΩ) sum_{k=-infty}^{infty}X(kOmega)
int T/2T/2x(t)dt int_{-T/ 2}^{T/2}x(t)dt
iint
prod ni=1i prod_{i=1}^{n}i
lim lim limn limlimits_{n to infty}

顶部符号

符号表示
x^ hat x(单符号)
xyˆ widehat {xy}
xyz¯¯¯¯¯ overline {xyz}
ab vec {ab}(最多两个符号)
abcd overrightarrow {abcd}
a˙ dot a
a¨ ddot a

表格

在MathJax中插入表格需要$$begin{array}{列格式}…end{array}$$,在begin{array}后需要表明每列的格式:c表示居中;l表示左对齐;r表示右对齐;|表示列分割线。每一行末用\结束,用&分隔矩阵元素。用hline表示行分割线。
如:

$$
begin{array}{c|lcr}
n & text{Left} & text{Center} & text{Right} \
hline
1 & 0.24 & 1 & 125 \
2 & -1 & 189 & -8 \
3 & -20 & 2000 & 1+10i
end{array}
$$

效果:

n123Left0.24120Center11892000Right12581+10i

矩阵

  • 使用$$begin{matrix}…end{matrix}$$,每一行末用\结束,用&分隔矩阵元素。
    eg.
$$
begin{matrix}
1 & 0 & 0 \
0 & 1 & 0 \
0 & 0 & 1 \
end{matrix}
$$

效果:

100010001

  • 如果要加括号,可以使用上面的括号符号。除此之外,还可以直接将matrix替换为pmatrix: 100010001 ,或者`bmatrix`, 100010001 ,或者`Bmatrix`: 100010001 ,或者`vmatrix`: 100010001 ,或者`Vmatrix`: 100010001

  • 如果你想省略一些项,可以使用cdots ddots 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 & ddots & vdots \
1 & a_n & a_n^2 & cdots & a_n^n
\
end{pmatrix}
$$

效果

111a1a2ana21a22a2nan1an2ann

  • 增广矩阵是使用前面的创建表格来实现
    如:
$$ left[
begin{array}{cc|c}
1&2&3\
4&5&6
end{array}
right] $$

效果:

[142536]

  • 文本段内使用矩阵,则需要用bigl(begin{smallmatrix} ... end{smallmatrix}bigr)

如:

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

效果:

(acbd)

分情况表达式

  • 使用begin{cases}…end{cases},每种情况开始前用&,用\结束。
    如:
$$
f(n) =
begin{cases}
n/2,
& text{if $n$ is even} \
3n+1, & text{if $n$ is odd}
end{cases}
$$

效果:

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

  • 如果想要更多的竖直空间,可以用\[2ex]代替\

如:

$$
f(n) =
begin{cases}
frac{n}{2},
& text{if $n$ is even} \[2ex]
3n+1, & text{if $n$ is odd}
end{cases}
$$

效果:

f(n)=n2,3n+1,if n is evenif n is odd

标记与引用

为了方便在文章中标记等式,通常使用tag{yourtag},如果想在后面引用这个等式,就使用label{somelabel} ,且放在tag的后面。(引用的功能有问题)
例:
x=y+asin x tag{*}

x=y+asinx(*)

为了在接下来引用这个式子,使用 eqref{somelabel} ,例:
x-sin x stackrel{eqref{*}}=y
xsinx=(???)y

绝对值和模

绝对值可以使用lvert xrvert 表示 x ,对于向量的模长,则可以使用lVert vrVert v

高亮

为了显著表示某等式,可以使用bbox

$$ bbox[yellow]
{
e^x=lim_{ntoinfty} left( 1+frac{x}{n} right)^n
qquad (1)
}
$$

ex=limn(1+xn)n(1)

$$ bbox[border:2px solid red]
{
e^x=lim_{ntoinfty} left( 1+frac{x}{n} right)^n
qquad (2)
}
$$

ex=limn(1+xn)n(2)

参考资料:
mathjax-basic-tutorial-and-quick-reference

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。

最后

以上就是甜甜大地为你收集整理的MathJax基本的使用方式的全部内容,希望文章能够帮你解决MathJax基本的使用方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部