摘要:
- 介绍如何在 hexo 的 next 主题下,编辑数学公式
- MathJax 下 latex 语法介绍
介绍
这篇文章本质上将应该不属于 markdown 文档的学习部分。这篇文章主要说的是 MathJax 下使用 Latex 进行数学公式的编写,所以更多的属于 Latex 的介绍。
在 hexo 的 next 主题下,启动 mathjax 编辑数学公式
如何在 Hexo 中添加数学公式?
- 在 hexo 主题下的配置文件中,将 # MathJax Support 下的 mathjax 下的设置为 true。
- 在每篇文章开始处添加: mathjax:true
这样的话,应该就是启动了其中自带的 MathJax 插件,这是一个 javascript 脚本库,用来专门在网页中显示公式。 如果你是编辑网页,并想在网页中添加数学公式,可以将下面的脚本添加到网页代码中:
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
MathJax 下 latex 语法介绍
在启动 MathJax 后便可以直接进行数学公式的编写了。
<a name="cankao">参考:</a>
- https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
- https://artofproblemsolving.com/wiki/index.php/LaTeX:Symbols
正文:
注意,本文中的所有公式都可以点击右键,点击 Show Math As -> TeX Commands 进行查看。
行内与行间公式
在行内显示公式,使用 $...$ 将公式包围。 在行间使用公式,使用 $$...$$ 将其包围住。
例如: 这是一个行内的公式: ;而这是一个行间的公式:
两者的 latex 代码形式分别是:
$\frac{1}{x+y}$
$$\frac{1}{x+y}$$
希腊字母
在数学公式中,经常会出现希腊字母,具体的形式如下,首先是小写希腊字母:
| Latex 表达式 | 对应的希腊字母 | Latex 表达式 | 对应的希腊字母 |
|---|---|---|---|
| \alpha | \beta | ||
| \gamma | \delta | ||
| \epsilon | \varepsilon | ||
| \zeta | \eta | ||
| \theta | \vartheta | ||
| \iota | \kappa | ||
| \lambda | \mu | ||
| \nu | \xi | ||
| \pi | \varpi | ||
| \rho | \varrho | ||
| \sigma | \varsigma | ||
| \tau | \upsilon | ||
| \phi | \varphi | ||
| \chi | \psi | ||
| \omega |
然后是 大写希腊字母:
| Latex 表达式 | 对应的希腊字母 | Latex 表达式 | 对应的希腊字母 |
|---|---|---|---|
| \Gamma | \Delta | ||
| \Theta | \Lambda | ||
| \Xi | \Pi | ||
| \Sigma | \Upsilon | ||
| \Phi | \Psi | ||
| \Omega |
基本的数学运算符
加减乘除
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \pm | \mp | ||
| \times | \div |
至于基本的加减符号可以直接在 $...$、 $$...$$ 中写入
其他的符号
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \sqrt{x} | \sqrt[n]{x} | ||
| a^x | a^{xyz} | ||
| a^xyz | \cdot | ||
| \dagger | \cap | ||
| \cup | \vee | ||
| \wedge | \circ | ||
| \otimes | \oplus | ||
| \odot | \star | ||
| \log | \ln | ||
| \sin x | \cos x | ||
| \tan x | \cot x |
注意:
$\sin x$ : 与
$sin x$ : 的区别。 一个是罗马字体,一个是斜体。同样的情况对
cos 、log 等都适用。
除法表达式
举个例子:
$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ :
$${a+1\over b+1}$$ :
使用 \frac{...}{...} 可以用来展示除法表达式。也可以在 {...} 中使用 \over 来标识除法表达式。
上标与下标
从上节中的乘方的例子可以看出,上标使用的是 ^ 如果需要上标的元素不止一个,可以使用 {...} 将其括起来。 下标使用的是 _ 同样可以使用 {...}。
举例:
-
$x_i^2$: -
$x_{i^2}$: -
$\log_2 x:
括号问题
对于中括号 [] 和小括号 () 可以直接在 $...$ 写入 () 或者 []。 对于大括号 {} 则需要写为: \{ 和 \},或者 \lbrace \rbrace
注意: 在 Hexo Next 中 \ 具有转义的意义,所有需要展示大括号的时候需要写为:\\{ 和 \\{}。
举例:
-
$(x)$: -
$[x]$: -
$\\{x\\}$: -
$\lbrace x \rbrace$:
问题: 上面的例子都没有问题,但是当括号中的式子比较大的时候,上面的表示则会有问题,因为括号的大小是固定的,不随表达式大小的变化而变化。
-
$(\frac{1}{\frac{1}{x+y}})$: -
$[\frac{1}{\frac{1}{x+y}}]$: -
$\\{\frac{1}{\frac{1}{x+y}}\\}$:
很显然,这样并不合理,并不好看,解决的办法就是使用 \left 和 \right,从而使得括号可以自动根据表达式的大小调整大小,例如:
-
$\left(\frac{1}{\frac{1}{x+y}}\right)$: -
$\left[\frac{1}{\frac{1}{x+y}}\right]$: -
$\left\\{\frac{1}{\frac{1}{x+y}}\right\\}$: -
$\left\lbrace \frac{1}{\frac{1}{x+y}} \right\rbrace$:
除过大小括号可以使用 \left 和 \right 自动调节大小外,还有其他的符号也可以使用这种方式。
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \vert x | \Vert x | ||
| x\vert | x\Vert | ||
| \langle | \rangle | ||
| \lceil | \rceil | ||
| \lfloor | \rfloor |
求和、求积、积分
求和、求积举例:
-
$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$: -
$$\sum_{i=0}^\infty i^2$$: -
$$\sum_1^n i^2$$: -
$$\prod_{i=1}^n i^2$$:
积分举例:
-
$$\int_0^{10} x dx$$: -
$$\iint_{x=0,y=0}^{x=10,y=20} xy dxdy$$: -
$$\iiint xyz dxdydz$$:
相似于求和 、积分的符号还有:
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \bigcup | \bigcap |
极限符号:
描述集合的符号
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \cup | \cap | ||
| \setminus | \subset | ||
| \subseteq | \subsetneq | ||
| \supset | \supseteq | ||
| \supsetneq | \in | ||
| \notin | \emptyset |
<font color = green> 大小关系比较 </font>
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \gt | \ge | ||
| \lt | \le | ||
| \neq | \sim | ||
| \ll | \gg | ||
| \doteq | \simeq | ||
| \approx | \equiv |
箭头
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \gets | \to | ||
| \leftarrow | \rightarrow | ||
| \Leftarrow | \Rightarrow | ||
| \leftrightarrow | \Leftrightarrow |
更多的箭头形式,<a href="#cankao">请看参考2</a>
特殊符号
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \infty | \nabla | ||
| \partial |
导数与向量形式
| Latex 表达式 | 符号 | Latex 表达式 | 符号 |
|---|---|---|---|
| \dot x | \ddot x | ||
| \vec x | \vec {xy} | ||
| \bar x | \overline x |
字体
- blackboard bold:
\mathbb{}或者\Bbb{}。
\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
\Bbb{abcdefghigklmnopqrstuvwxyz}:
- boldface:
\mathbf{}
\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
- "typewriter" font:
\mathtt{}
\mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
- roman font:
\mathrm{}
\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
- sans-serif font:
\mathsf{}
\mathsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
- "calligraphic" letters:
\mathcal
\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
- script letters:
\mathscr{}
\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
- "Fraktur" (old German style) letters:
\mathfrak{}
\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ}:
空格与文本
在 MathJax 公式中,会自动忽略公式中的空格,例如 $ab$ $a b$ 都是: 。为了在公式中加入空格,可以使用
\ \quad \qquad:
-
$a\ b$: -
$a\quad b$: -
$a\qquad b$:
如果需要在公式中加入文本,可使用 \text{...}:
$$\lbrace x \in \mathbf{R} | \text{x 是实数} \rbrace $$:
矩阵
使用 $$\begin{matrix}…\end{matrix}$$ 来书写矩阵。 在 \begin 与 \end 之间写入矩阵元素,即用元素替换 ...。 矩阵的行与行之间使用 \\ 隔开。 每行之间的元素使用 & 隔开。
注意: 在此处,矩阵的行与行之间需要使用 \\\\ 隔开,因为转义的原因 \\ 相当于 \。
举例:
如果想要为矩阵加上括号,需要使用 pmatrix bmatrix Bmatrix vmatrix Vmatrix 代替原来的 matrix。
在矩阵中使用省略号,\cdots: 、
\ddots: 和
\vdots:
对于行内的矩阵,使用 smallmatrix :
连等方程 Aligned equations
使用: \begin{align}…\end{align}
分情况定义 Definitions by cases (piecewise functions)
使用: \begin{cases}…\end{cases}
\\\\[2ex] 的作用是使得行间距变大。
<font color = red> 总结 </font>
以上介绍了 MathJax 下使用 Latex 编写数学公式的基本用法,看完上面的部分后,基本上就可以编写出自己需要些的公式了。 不详细的地方请注意参考给出的两个网站,那里面的信息都比较全面。