前言
- 在涉及深度学习等人工智能方面需要涉及到大量数学公式,所以需要使用 LaTeX \normalsize\LaTeX LATEX 中数学公式的排版方法,用Latex排版出来的数学公式十分优雅漂亮,除了提供丰富的数学公式和特殊符号,Latex的文章排版能力也是十分强大的,当然本次博客内容有所侧重,主要聚焦在一些很常用用到的数学符号和特殊符号以及相应的排版技巧。
- 本篇文章的目标是,使读者能够轻松上手理工科课程做笔记时的数学公式和特殊符号的使用,文章目录结构循环渐进,按照个人认为的重要程度依次排列。
- 建议:学的时候千万别太死了,用 L a t e x Latex Latex最后的目的就是为了优雅的排版,就是为了好看,你可以理解为怎么好看怎么来,同一个数学公式的表达方式不止一种,只要我们找到自己喜欢的方式就行,不用过于纠结定式。
1. 公式基础结构
想要在md编辑器中显示数学公式有两种基本方式,一种是行内公式,可以嵌入到文本当中去;另一种是行外公式,独自一行居中显示,一般用两种就差不多够用了,文章后面还会有一些其他的语法结构来显示数学公式,先掌握好基础的再说。
-
行内公式(inline formulas)
用$
… \ldots …$
表示行内公式
例如:$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$
表示 ∑ i = 0 n i 2 = ( n 2 + n ) ( 2 n + 1 ) 6 \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} ∑i=0ni2=6(n2+n)(2n+1) -
独立公式( displayed formulas)
用$$
… \ldots …$$
表示独立公,公式会自动居中显示
例如:用$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$
表示
∑ i = 0 n i 2 = ( n 2 + n ) ( 2 n + 1 ) 6 \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} i=0∑ni2=6(n2+n)(2n+1)
注意:
$
必须和公式中的第一个字符和最后一个字符紧邻,才能被视为Latex公式,
2. 上下标表示
- 上标:
^
后面的内容表示上标,例如$x^{(i)}$
,$y^{(i)}$
表示 x ( i ) x^{(i)} x(i) , y ( i ) y^{(i)} y(i) - 下标:
_
后面的内容表示下标,例如:$x_{(i)}$
,$y_{(i)}$
表示 x ( i ) x_{(i)} x(i) , y ( i ) y_{(i)} y(i) - 混合上下标使用:例如
$x_i^2$
表示 x i 2 x_i^2 xi2,$\log_2 x:$
表示 log 2 x \log_2 x log2x
此时引入组(Group)的概念:
当上下标符号后面的内容不止一个字符时,我们用Group{
… \ldots …}
一对花括号。把多个字符括起来,否则的话系统就会只把第一个字符当作上下标。上面的举例就是使用到这点
- 当上下标的位置或者大小我们不满意时,是可以调整的,在角标符号前面加上相应参数即可。(该方法也可用于调整字体大小)。相应参数如下
\tiny
,\small
,\normalsize
,\large
,\Large
,\LARGE
,或者使用下标的下标_{_N}
例如:$y_N$
,$y_{_N}$
,$y_{\tiny{N} }$
表示 y N y_N yN , y N y_{_N} yN , y N y_{\tiny{N} } yN
支持中文做角标(真在Tex文件中使用中文是需要导包的,在md编辑器中不用担心这些直接用就行了)
例如: ${\partial f}_{极大值}$
表示
∂
f
极大值
{\partial f}_{极大值}
∂f极大值
3. 分数表示(fraction)
-
分数表示
\frac{super}{sub}
,该分式根据环境设置样式,frac是分数fraction的缩写,
例如$\frac{a+1}{b+1}$
表示 a + 1 b + 1 \frac{a+1}{b+1} b+1a+1,很明显能看到该分数和文本一样的高度,受文本环境影响 -
\dfrac{}{}
, 表示该分式是以 displaystyle 设置的,不受文本环境影响
例如:$\dfrac{y}{x}$
表示 y x \dfrac{y}{x} xy -
{}\over{}
,分式的另一种表达方法,虽然很方便只是不推荐使用,更建议使用\frac{}{}
具体原因如下:What is the difference between \over and \frac?
4. 定界符用法
-
如果使用常规符号
()
把公式括起来,就不能随着公式内容大小自动调整符号大小,
如(\dfrac{\sqrt x}{y^3})
: ( x y 3 ) (\dfrac{\sqrt x}{y^3}) (y3x),这样显示效果很差,我们使用另一种定界符 -
\left(
…\right)
就可以随着公式内容大小自动调整符号大小,看起来就很舒服,
如\left(\frac{\sqrt x}{y^3}\right)
: ( x y 3 ) \left(\dfrac{\sqrt x}{y^3}\right) (y3x)
\left
…\right
不止可以作用于圆括号()
,其他定界符同样可以使用,在定界符上加上\left
…\right
就可以了
常规定界符 | 显示效果 |
---|---|
( and ) | ( x ) (x) (x) |
[ and ] | [ x ] [x] [x] |
\{ and \} | { x } \{x\} {x} |
\vert | ∣ x ∣ \vert x\vert ∣x∣ |
\Vert | ∥ x ∥ \Vert x\Vert ∥x∥ |
\langle and \rangle | ⟨ x ⟩ \langle x \rangle ⟨x⟩ |
\lceil and \rceil | ⌈ x ⌉ \lceil x \rceil ⌈x⌉ |
\lfloor and \rfloor | ⌊ x ⌋ \lfloor x \rfloor ⌊x⌋ |
注意:
\left
…\right
必须成对出现,如果只需要用一边时,可用\left.
或\right.
进行配对,
例如\left.x^2\right\rvert_3^5 = 5^2-3^2
表示 x 2 ∣ 3 5 = 5 2 − 3 2 \left.x^2\right\rvert_3^5 = 5^2-3^2 x2 35=52−32
5. 根式表示
- 平方根
\sprt{表达式}
, 例如\sqrt{x}
表示 x \sqrt{x} x - n次根式
\sprt[n]{表达式}
,例如\sqrt[3]{x}
表示 x 3 \sqrt[3]{x} 3x
注意:
被开方表达式字符高度不一致时,根号上面的横线可能不在同一条直线上,可以在被开方表达式插入一个只有高度没有宽度的数学支柱\mathstrut
例如:$\sqrt{a}+\sqrt{b}+\sqrt{c}$
表示 a + b + c \sqrt{a}+\sqrt{b}+\sqrt{c} a+b+c
$\sqrt{\mathstrut a}+\sqrt{\mathstrut b}+\sqrt{\mathstrut c}$
表示 ( a + ( b + ( c \sqrt{\mathstrut a}+\sqrt{\mathstrut b}+\sqrt{\mathstrut c} (a+(b+(c
6. 空白和间隔的表示
- 在公式中直接输入空格,系统是不会承认空格的存在的,在Latex中有专门的空格表示方法
命令 | 语法 | 效果 |
---|---|---|
没有空格 | $ab$ | a b ab ab |
紧贴,缩进1/6m宽度 | $a\!b$ | a b a\!b ab |
小空格 | $a\,b$ | a b a\,b ab |
1/3个空格 | $a\ b$ | a b a\ b a b |
中等空格 | $a\:b$ 或 $a\;b$ | a b a\;b ab |
一个空格 | $a \quad b$ | a b a \quad b ab |
两个空格 | $a \qquad b$ | a b a \qquad b ab |
个人认为,quad是quadruple四倍的缩写,可以看成四个小空格
我觉得其中的第3种到第5种效果都一样,看自己习惯哪一种了,我个人比较习惯用\,
或者\;
这两个用法
7. 常用数学运算符号
- 这里以累加符号和连乘符号使用举例,其他符号使用类似
- 累加
\sum_{}^{}
,例如\sum_{i=0}^\infty i^2
表示 ∑ i = 0 ∞ i 2 \sum_{i=0}^\infty i^2 ∑i=0∞i2 - 其他符号也是类似用法
语义 | 语法 | 效果 |
---|---|---|
连乘 | prob | ∏ \prod ∏ |
累加 | \sum | ∑ \sum ∑ |
积分 | \int | ∫ \int ∫ |
二重积分 | \iint | ∬ \iint ∬ |
三重积分 | \iiint | ∭ \iiint ∭ |
曲线积分 | \oint | ∮ \oint ∮ |
二重曲线 | \oiint | ∯ \oiint ∬ |
极限 | \lim | lim \lim lim |
- | (与上面符号相关联的) | |
偏导 | \partial | ∂ \partial ∂ |
微分 | {\text d} x | d x {\text d}x dx |
梯度 | \nabla | ∇ \nabla ∇ |
无穷 | \infty | ∞ \infty ∞ |
导数 | f' | f ′ f' f′ |
运算符的上下限显示位置是可以调整的
\limits
,强制上下限在上下侧,如\sum\limits_{k=1}^nk
表示: ∑ k = 1 n k \sum\limits_{k=1}^nk k=1∑nk\nolimits
,强制上下限在右侧,如\sum\nolimits_{k=1}^nk
表示: ∑ k = 1 n k \sum\nolimits_{k=1}^nk ∑k=1nk
8. 多行公式的使用
长公式的换行
- 使用
split
环境 , 可以用\\
来换行和&
设置对齐的锚点位置
$$
\begin{split}
x=& a+b+c+ \\
& d+e+f+g
\end{split}
$$
x = a + b + c + d + e + f + g \begin{split} x=& a+b+c+ \\ & d+e+f+g \end{split} x=a+b+c+d+e+f+g
公式组
- 使用
aligned
环境,如果不自己加锚点的话,会默认对齐行的最右端
$$
\begin{aligned}
a &=b+c+d \\
x &=y+z
\end{aligned}
$$
a = b + c + d x = y + z \begin{aligned} a &=b+c+d \\ x &=y+z \end{aligned} ax=b+c+d=y+z
分段公式
- 使用
cases
实现分段,需要加上\quad
来间隔才好看点,同时需要注意锚点的位置 - 用
\\
来换行和&
设置对齐的锚点位置
$$
y=\begin{cases}
-x,\quad &x \leq 0 \\
x, &x>0
\end{cases}
$$
y = { − x , x ≤ 0 x , x > 0 y=\begin{cases} -x,\quad &x \leq 0 \\ x, &x>0 \end{cases} y={−x,x,x≤0x>0
带编号公式
- 单个方程自动编号就使用
equation
环境(equation方程)
$$
\begin{equation}
E=mc^2
\end{equation}
$$
E = m c 2 \begin{equation} E=mc^2 \end{equation} E=mc2
- 多行公式自动编号就使用
align
(align对齐),也用\\
来换行和&
设置对齐的锚点位置
$$
\begin{align}
a &=b+c+d \\
x &=y+z
\end{align}
$$
a = b + c + d x = y + z \begin{align} a &=b+c+d \\ x &=y+z \end{align} ax=b+c+d=y+z
- 可在公式后加上
\nonumber
命令取消公式编号,适用于有的公式想编号,有的不想编号时
$$
\begin{align}
a &=b+c+d \nonumber \\
x &=y+z \nonumber
\end{align}
$$
a = b + c + d x = y + z \begin{align} a &=b+c+d \nonumber \\ x &=y+z \nonumber \end{align} ax=b+c+d=y+z
9. 省略号
- 基本省略号
\dots
默认三个点,位于底部,,如$\dots$
表示 … \dots …,但我们也可以调整省略号的摆放位置: - 居中显示center
\cdots
⋯ \cdots ⋯ - 垂直显示vertical
\vdots
⋮ \vdots ⋮ - 对角显示diagonal
\ddots
⋱ \ddots ⋱
10. 矩阵
a. 基本矩阵
$$\begin{matrix}…\end{matrix}$$
,表示一个不带边界的基本矩阵,
在\begin
和\end
之间,放置矩阵元素。每个矩阵行以\\
结尾,矩阵元素以&
分隔,具体例子如下
$$
\begin{matrix}
x_{_{11} } & x_{_{12} } & \dots & x_{_{1n} } \\
x_{_{21} } & x_{_{22} } & \dots & x_{_{2n} } \\
\vdots & \vdots & \ddots & \vdots \\
x_{_{m1} } & x_{_{m2} } & \dots & x_{_{mn} } \\
\end{matrix}
$$
x 11 x 12 … x 1 n x 21 x 22 … x 2 n ⋮ ⋮ ⋱ ⋮ x m 1 x m 2 … x m n \begin{matrix} x_{_{11} } & x_{_{12} } & \dots & x_{_{1n} } \\ x_{_{21} } & x_{_{22} } & \dots & x_{_{2n} } \\ \vdots & \vdots & \ddots & \vdots \\ x_{_{m1} } & x_{_{m2} } & \dots & x_{_{mn} } \\ \end{matrix} x11x21⋮xm1x12x22⋮xm2……⋱…x1nx2n⋮xmn
b. 各种括号的矩阵
-
想要在矩阵两边加括号,除了直接使用
\left
…\right
后面加上对应的括号,也可以直接用对应的矩阵类型 -
parenthesis圆括号,bracket方括号,brace 花括号,后面两个我也不知道全称,就看成vetical的意思吧。
pmatrix
( 1 2 3 4 ) \begin{pmatrix} 1&2\\3&4\\ \end{pmatrix} (1324) ,bmatrix
[ 1 2 3 4 ] \begin{bmatrix}1&2\\3&4\\ \end{bmatrix} [1324],Bmatrix
{ 1 2 3 4 } \begin{Bmatrix}1&2\\3&4\\ \end{Bmatrix} {1324},vmatrix
∣ 1 2 3 4 ∣ \begin{vmatrix}1&2\\3&4\\ \end{vmatrix} 1324 ,Vmatrix
∥ 1 2 3 4 ∥ \begin{Vmatrix}1&2\\3&4\\ \end{Vmatrix} 1324 .
两种使用方法的具体举例如下:
$$
\begin{pmatrix} a & b \\ c & d \\ \end{pmatrix} \quad
\left( \begin{matrix} a & b \\ c & d \\ \end{matrix} \right) \quad
\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix} \quad
\left[ \begin{matrix} a & b \\ c & d \\ \end{matrix} \right] \quad
\begin{Bmatrix} a & b \\ c & d \\ \end{Bmatrix} \quad
\left\{ \begin{matrix} a & b \\ c & d \\ \end{matrix} \right\} \quad
\begin{vmatrix} a & b \\ c & d \\ \end{vmatrix} \quad
\left| \begin{matrix} a & b \\ c & d \\ \end{matrix} \right| \quad
\begin{Vmatrix} a & b \\ c & d \\ \end{Vmatrix} \quad
$$
( a b c d ) ( a b c d ) [ a b c d ] [ a b c d ] { a b c d } { a b c d } ∣ a b c d ∣ ∣ a b c d ∣ ∥ a b c d ∥ \begin{pmatrix} a & b \\ c & d \\ \end{pmatrix} \quad \left( \begin{matrix} a & b \\ c & d \\ \end{matrix} \right) \quad \begin{bmatrix} a & b \\ c & d \\ \end{bmatrix} \quad \left[ \begin{matrix} a & b \\ c & d \\ \end{matrix} \right] \quad \begin{Bmatrix} a & b \\ c & d \\ \end{Bmatrix} \quad \left\{ \begin{matrix} a & b \\ c & d \\ \end{matrix} \right\} \quad \begin{vmatrix} a & b \\ c & d \\ \end{vmatrix} \quad \left| \begin{matrix} a & b \\ c & d \\ \end{matrix} \right| \quad \begin{Vmatrix} a & b \\ c & d \\ \end{Vmatrix} \quad (acbd)(acbd)[acbd][acbd]{acbd}{acbd} acbd acbd acbd
c. 增广矩阵
- 对于水平增广矩阵,与上面的矩阵命令不太一样,用的是
\array
环境,然后在\array
后面需要对增广矩阵的分布进行描述,如{cc|c}
表示矩阵第三列为拓展列,具体示例如下:
$$
\left[
\begin{array}{cc|c}
1&2&3\\
4&5&6\\
\end{array}
\right]
$$
[ 1 2 3 4 5 6 ] \left[ \begin{array}{cc|c} 1&2&3\\ 4&5&6\\ \end{array} \right] [142536]
- 对于垂直增广矩阵,和水平增广矩阵不太一样。还是用之前的矩阵语法,然后哪里需要分割哪里加上
\hlne
具体示例如下:
$$
\begin{pmatrix}
a & b\\
c & d\\
\hline
1 & 0\\
0 & 1
\end{pmatrix}
$$
( a b c d 1 0 0 1 ) \begin{pmatrix} a & b\\ c & d\\ \hline 1 & 0\\ 0 & 1 \end{pmatrix} ac10bd01
11. 字体
- 在Latex中对于显示的公式是可以变换字体的,具体例子如下。
还可以参考Latex字体转换这里的例子
命令 | 说明 | 效果 |
---|---|---|
\rm | 罗马体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \rm{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\cal | 花体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \cal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\it | 意大利体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \it{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\Bbb | 黑板粗体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \Bbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\bf | 粗体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \bf{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\mit | 数学斜体 | KaTeX parse error: Undefined control sequence: \mit at position 1: \̲m̲i̲t̲{ABCDEFGHIJKLMN… |
\sf | 等线体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \sf{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\scr | 手写体 | KaTeX parse error: Undefined control sequence: \scr at position 1: \̲s̲c̲r̲{ABCDEFGHIJKLMN… |
\tt | 打字机体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \tt{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
\frak | 旧德式字体 | f r a k A B C D E F G H I J K L M N O P Q R S T U V W X Y Z frak{ABCDEFGHIJKLMNOPQRSTUVWXYZ} frakABCDEFGHIJKLMNOPQRSTUVWXYZ |
\boldsymbol | 黑体 | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \boldsymbol{ABCDEFGHIJKLMNOPQRSTUVWXYZ} ABCDEFGHIJKLMNOPQRSTUVWXYZ |
12. 希腊字母
13. 其他符号的总结
-
一定要会的一个特殊符号,Latex的正式名称
\normalsize\LaTeX
LaTeX \normalsize\LaTeX LATEX -
这里总结我经常用到的特殊符号(杂集)
命令 | 效果 | 命令 | 效果 |
---|---|---|---|
\lt | < \lt < | gt | > \gt > |
\le | ≤ \le ≤ | ge | ≥ \ge ≥ |
\ne | ≠ \ne = | equiv | ≡ \equiv ≡ |
\approx | ≈ \approx ≈ | ||
- | |||
\bigcup | ⋃ \bigcup ⋃ | \bigcap | ⋂ \bigcap ⋂ |
\forall | ∀ \forall ∀ | \exists | ∃ \exists ∃ |
- | |||
\times | × \times × | \div | ÷ \div ÷ |
\pm | ± \pm ± | \mp | ∓ \mp ∓ |
- | |||
\to | → \to → | \gets | ← \gets ← |
- | |||
\lceil | ⌈ \lceil ⌈ | \rceil | ⌉ \rceil ⌉ |
\lfloor | ⌊ \lfloor ⌊ | \rfloor | ⌋ \rfloor ⌋ |
13. 使用中遇到的问题(你可能会遇到的坑)
特殊符号的使用
- 当我们想打出这几个字符
# $ % & ~ _ ^ \ { }
时,因为它们有特殊意义是语法的一部分,所以想要表示符号本身需要进行转义,在这些特殊符号前面加上\
即可显示。 - 而对于
\
本身,需使用\backslach
\ \backslash \
一些遇到的问题还会不断补充
参考资料
- 简洁有力的教程!虽然关于一个知识点可能没几句话但就是能让你看懂!MathJax基础教程
- Markdown 中 LaTex 数学公式命令
- Katex Function
- 语雀数学公式举例
- L a T e x LaTex LaTex特殊符号大全
- Cmd Markdown 公式指导手册
个人觉得关于Latex这方面想要快速学习的话,还是多看看官网和外网相关论坛吧,然后下载一些大学或者期刊指定的Latex模板来模仿,先模仿后学习是一种比较有效率的方法。