Fork me on GitHub

LaTeX 数学符号速查

Abstract

本博客集成了mathjax,这使得Markdown解析器更上一层楼。

在此 Post 这篇文章,以便应对硕士时大量的 essay 需求。希望以后能帮到同样奋斗在 System Engineering 领域的学习者。

只记录常用 LaTex 记号,根据自己需要更新。若用到更高级的技巧或想了解完整的 LaTex 语法,请参阅文末官方文档链接。

本文持续更新。

$$
J(\theta) = \frac 1 2 \sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2
$$


My blog integrates mathjax module, which makes Markdown more advanced. This post is intended to deal with my essay demands during SE studying, and of course I hope that this post can help those who are struggling in the field of System Engineering.

I only posted my frequently-used LaTeX notations of math on my own need, and I will update this post constantly.
For more advanced techs, please refer to the official document link at the end of the article.


Content

行内公式和行间公式

  • 行内公式

如果我们要插入一个公式,把公式放在$$之间就可以了。如$h(x) = \theta_0 + \theta_1 x$ 在Markdown中书写如下:

1
Markdown 中 $h(x) = \theta_0 + \theta_1 x$ 公式的书写。

  • 行间公式

公式独立显示一行,使用$$作为公式的左右边界。
书写一个质能守恒公式:

1
$$E=mc^2$$

效果如下:
$$E=mc^2$$

在数学模式中,空格均不起作用,需要诸如\, ~ \quad,\qquad的命令。

上下标

上标命令为^{...},下标为_{...},角标为单个字符时可不用花括号,同时有上标和下标时,输入次序不重要。如果角标的位置看起来不明显,可以强制改变角标的层次,如一级角标改为二级角标,如y_N渲染为 $y_N$ 看不出角标,可以使 $N$ 为二级下标,y_{_N}渲染 $y_{_N}$。

上下标可以同时和嵌套使用,例如$a_2^{2^{2^2}}$,输出$a_2^{2^{2^2}}$。

分式根式

短分数线直接使用/,水平分数线$\frac{x+y}{2}$,输出$\frac{x+y}{2}$。

当然也可以通过在花括号中添加一个分数的方式得到连分数,如:

1
$$1+\frac{1}{2+\frac{1}{3+\frac{1}{4+\frac{1}{5+\dots}}}}$$

将输出:
$$1+\frac{1}{2+\frac{1}{3+\frac{1}{4+\frac{1}{5+\dots}}}}$$

开平方$\sqrt{x}$输出$\sqrt{x}$,开高次方$\sqrt[n]{x}$,$\sqrt[n]{x}$,同样也可以嵌套。

求和·连乘·积分·微分

行内求和$\sum_{k=1}^n$,输出为$\sum_{k=1}^n$;行内连乘$\prod_{i=0}^n$,输出为$\prod_{i=0}^n$;行内积分$\int_{k=1}^n$,输出为$\int_{k=1}^n$,行间求和与积分只需要用两个$$包围即可。

偏微分符号\partial,微分算法 $d$ 应该是直体,输入为$\mathrm{d}$,$\mathrm{d}$。

上划线·下划线·其他线

公式上划线$\overline{x+y}$,输出$\overline{x+y}$;下划线$\underline{x+y}$,$\underline{x+y}$;或者上方或下放花括号,使用\overbrace{}\underbrace{},例如:

1
$$\underbrace{a + \overbrace{b + \dots + b}^{m\mbox{个}} + c}_{20\mbox{个}}$$

输出:
$$
\underbrace{a + \overbrace{b + \dots + b}^{m\mbox{个}} + c}_{20\mbox{个}}
$$

堆叠符号

在一个符号上面堆叠另一个符号,使用\stackrel{上方符号}{基位符号},如:

1
$$\vec{x} \stackrel{\mathrm{def}}{=}(x_1,\dots,x_n)$$

输出:
$$\vec{x} \stackrel{\mathrm{def}}{=}(x_1,\dots,x_n)$$

这种方式得到的上下符号字号不同,要得到平等地位的结构,使用{上公式 \atop 下公式},如:

1
$$\sum_{k+0,k_1,\ldots>0 \atop k_0+k_1+\cdots=n} A_{0k_0}A_{1K_1}\cdots$$

输出:

$$\sum_{k+0,k_1,\ldots>0 \atop k_0+k_1+\cdots=n} A_{0k_0}A_{1K_1}\cdots$$

或者,使用{上公式 \atop 下公式},整个公式被包围在括号中:

1
$${n+1 \choose k} = {n \choose k} + {n \choose k-1}$$

输出:
$${n+1 \choose k} = {n \choose k} + {n \choose k-1}$$

定界符尺寸

诸如()、[]、{}、|等分割公式的称为定界符,前面加上\big,\Big,\bigg,\Bigg可以放大这些符号,我比较喜欢用自适应的放大命令,\left...\right,例如

1
$$\left. \frac{\partial f(x, y)}{\partial x}\right|_{x=0}$$

输出:
$$\left. \frac{\partial f(x, y)}{\partial x}\right|_{x=0}$$
由于只有右侧有|需要变化,左侧没有需要变化的定界符,所以用英文句点.代替。

矩阵

1
2
3
4
$$\left( \begin{array}{ccc}
11 & 12 & 13 \\
21 & 22 & 23
\end{array}\right)$$

{ }中指定了对应的列格式,c为内容居中对齐,l为靠左,r为靠右;&为对齐符号,输出:

$$
\left(\begin{array}{ccc}
11 & 12 & 13 \\
21 & 22 & 23
\end{array}\right)
$$

Forms

使用大写开头字母来输入大写希腊字母,如 $\Gamma$,生成 $\Gamma$。

Greek alphabet Input Symbols Input
$\alpha$ $\alpha$ $\vec{a}$ $\vec{a}$
$\beta$ $\beta$ $\dot{x}\ddot{x}$ $\dot{x}\ddot{x}$
$\gamma$ $\gamma$ $\dots \vdots \ddots$ $\dots\vdots\ddots$
$\delta$ $\delta$ $\bar{x}$ $\bar{x}$
$\epsilon$ $\epsilon$ $x’x’’x’’’$ $x'x''x'''$
$\varepsilon$ $\varepsilon$ $^{\circ}$C $^{\circ}$C
$\zeta$ $\zeta$ $\hbar$ $\hbar$
$\eta$ $\eta$ $\mu m$ $\mu m$
$\theta$ $\theta$ $\pm$ $\pm$
$\kappa$ $\kappa$ $\nabla$ $\nabla$
$\lambda$ $\lambda$ $\mp$ $\mp$
$\mu$ $\mu$ $\times\div$ $\times\div$
$\nu$ $\nu$ $A^{\dagger}$ $A^{\dagger}$
$\xi$ $\xi$ $\oplus\otimes$ $\oplus\otimes$
$\pi$ $\pi$ $\Leftrightarrow\Updownarrow$ $\Leftrightarrow\Updownarrow$
$\rho$ $\rho$ $\cdot\bullet$ $\cdot\bullet$
$\sigma$ $\sigma$ $\le\ge\ll\gg$ $\le\ge\ll\gg$
$\tau$ $\tau$ $\ne\approx\sim\simeq\propto$ $\ne\approx\sim\simeq\propto$
$\upsilon$ $\upsilon$ $\in\ni\equiv$ $\in\ni\equiv$
$\phi$ $\phi$ $\infty$ $\infty$
$\varphi$ $\varphi$ $\forall\exists$ $\forall\exists$
$\chi$ $\chi$ $\rightarrow\Rightarrow$ $\rightarrow\Rightarrow$
$\psi$ $\psi$ $\Box$ $\Box$
$\omega$ $\omega$ $B_{\bot}B_{\parallel}$ $B_{\bot}B_{\parallel}$

Resolve the Conflict (Optional)

可以通过修改Hexo渲染源码nodes_modules/lib/marked/lib/marked.js来解决同时使用MathJaxMarkdown时的转义冲突。

  • 去掉\的额外转义。
  • em标签对应的符号中,去掉_,因为markdown中有*可以表示斜体,_就可以去掉了。

去掉 \ 的转义:

打开nodes_modules/marked/lib/marked.js

1
escape: /^\\([\\`*{}\[\]()# +\-.!_>])/,

改为:

1
escape: /^\\([`*{}\[\]()# +\-.!_>])/,

去掉 _ 的转义:

打开nodes_modules/marked/lib/marked.js

1
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

改为:

1
em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

实例

解决了\\的转义问题,便可大胆在Markdown中使用多行公式了。

1
2
3
4
5
6
7
8
$$
\begin{align}
D(x) &= \int_{x_0}^x P(x^{\prime})\,\mathrm{dx^{\prime}} \\
&= C\int_{x_0}^x x^{\prime n}\,\mathrm{dx^{\prime}} \\
&= \frac{C}{n+1}(x^{n+1}-x_0^{n+1}) \\
&\equiv y
\end{align}
$$

输出:
$$
\begin{align}
D(x) &= \int_{x_0}^x P(x^{\prime})\,\mathrm{dx^{\prime}} \\
&= C\int_{x_0}^x x^{\prime n}\,\mathrm{dx^{\prime}} \\
&= \frac{C}{n+1}(x^{n+1}-x_0^{n+1}) \\
&\equiv y
\end{align}
$$

结论

这种办法通用性很高,因为我们没有修改文章的内容,可以放到别的引擎下也会顺利渲染。

Further Reading

当你有问题的时候,来这里看看。

--- The following is a wasteland without any knowledge.---