Fork me on GitHub

MathJax(Markdown中的公式)的基本使用语法

本文主要介绍MathJax公式的基本语法。

插入公式

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

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

字体

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

多行公式

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

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

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

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

当然,再加上$$...$$之后,显示如下:
$$\begin{equation}\begin{split}
H(Y|X)&=\sum_{x\in X} p(x)H(Y|X)\\
&=-\sum_{x\in X} p(x)\sum_{y\in Y}p(y|x)\log p(y|x)\\
&=-\sum_{x\in X} \sum_{y\in Y}p(y,x)\log p(y|x)
\end{split}\end{equation}$$

分组

通过大括号{}将操作数与符号分割开,消除二义性。

例如,若使用x^10,其效果为$x^10$,这里就要用到大括号,x^{10},最终效果为$x^{10}$。

空间

MathJax通常用自己的一套复杂策略来决定公式的空间距离。直接在两个元素之间加入空格是毫无用处的。

因此为了增加空间距离,使用\,可以增加稍许空间;使用\;可以增加更多的空间;\quad\qquad分别对应更大的空间。

数学符号

上标与下标

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

分式

有两种方式做到这个效果。

  1. 使用\frac ab。如\frac {1+a}{4+b},效果为$\frac{1+a}{4+b}$;
  2. 使用a \over b。如{1+a} \over {4+b},效果为${1+a}\over {4+b}$。

一般推荐使用第二种。个人倾向于使用第一种

根式

平方根: \sqrt{x^3},效果为 $\sqrt{x^3} $。

其余: \sqrt[4]{\frac xy},效果为 $\sqrt[4]{\frac xy}$。

关系比较符号

<    \lt
>    \gt
≤    \le
≥    \ge
≠    \neq

$$\begin{array}{c|lcr}
\text{符号} & \text{\表示} \\
\hline
< & lt \\
> & gt \\
≤ & le \\
≥ & ge \\
≠ & neq \\
\end{array}$$

argmax

\underset{f}{\mathrm{argmin}}

效果如下:
$$\underset{f}{\mathrm{argmin}}$$

不显示斜体

对于常量部分,有时候我们不想让他显示成斜体,而是正常的竖直显示,可加上\text{...},就可以正常显示。

矩阵

使用$$\begin{matrix}…\end{matrix}$$,每一行末用\\结束表示换行,用&分隔矩阵元素。

$$
  \begin{matrix}
  1 & 0 & 0 \\
  0 & 1 & 0 \\
  0 & 0 & 1 \\
  \end{matrix}
$$

效果:
$$
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{matrix}
$$

如果要加括号,可以使用上面的括号符号。
除此之外,还可以直接将matrix替换为pmatrix(小括号),或者bmatrix(中括号),或者Bmatrix(大括号),或者vmatrix(竖线),或者Vmatrix(是双竖线)

如果你想省略一些项,可以使用\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}
$$

效果:
$$
\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}
$$

代码块

不同语言的代码块,可以用不同的标识符。如python语言,则代码块表示为

1
//下一行写具体代码

就是用三个反引号(英文状态下、键盘左上角、ESC下面的那个键)包围的部分就是代码块,上面的三个点号之后,可以标识一下具体的语言,如c,c++,python,java,javascript,yml,html等等。

测试:

JavaScript代码块效果如下:

1
2
3
if (condition){
return true
}

Python代码块效果如下:

1
2
3
def func(A):
'''intresting document.'''
return len(A)
------ 本文结束感谢您的阅读 ------
坚持原创技术分享,您的支持将鼓励我继续创作!