LaTeX 更多语法请见另一篇博客

纯正的 LaTeX 调用公式的语法请见最后一部分

# 基本语法

  1. MathJax 在一对 $ 中间即是行内公式,在一对 $$ 即是行间居中公式。

LaTeX 稍有区别(见后),但也可以使用上面的东西。

$$a+b=c$$
a+b=ca+b=c

\begin{equation}a+b\end{equation}
a+ba+b

另外,还可以使用 \( \)

  1. 下标_,上标^,后面跟{}
    $a^{2}_{j}$: aj2a^{2}_{j}
  2. []即是中括号。 如$[1+2]$: [1+2][1+2]
  3. 编译时无视空格、回车,空格只用于分隔识别符。公式中需要空格请前往#排版
  4. LaTeX换行中行末需要\\,由于 Markdown(Hexo) 和 MathJax 进行了两次渲染,所以需要\\
  5. 目前已发现的需要用 \转义的符号有:%&\{}
    • Markdown(Hexo) 中需要 \\。下文如不提及是在 Markdown(Hexo) 中使用 \,均为\\
\begin{equation}
\begin{aligned}
x&=a+b+c\\
&=d+e\\
&=f+g
\end{aligned}
\end{equation}
x=a+b+c=d+e=f+g\begin{aligned} x&=a+b+c\\ &=d+e\\ &=f+g \end{aligned}
  1. 符号和 Onenote 的基本一样,大概是相互借鉴 Onenote 把 LaTeX 的符号照搬,然后 Onenote 简化了分数等一些部分吧。

# 常用运算符

中文 LaTeX语句 数学符号
点乘 \cdot \cdot
叉乘 \times ×\times
除号 \div ÷\div
分数 \frac{1}{x^2+1} 1x2+1\frac{1}{x^2+1}
1/2 1/21/2
方根 \sqrt[3]{2} 23\sqrt[3]{2}
\surd{2} 2\surd{2}
取模 a \bmod b amodba \bmod b
7 \equiv 1 \pmod 3 71(mod3)7 \equiv 1 \pmod 3
范数 \| x \| x\| x \|

# 常用关系符

在关系符前面加\not可得其否定形式。 \not\equiv: ≢\not\equiv

另外,可以使用 \stackrel{}{} 实现两符号的上下重叠。见排版

中文 LaTeX语句 数学符号
等价 \equiv \equiv
不等于 \neq \neq
相似 \sim \sim
全等 \simeq \simeq

# 微积分

中文 LaTeX语句 数学符号
极限 \lim_(n->\infty)\frac{\sin n}{n} limn0sinnn\lim_{n\to 0}\frac{\sin n}{n}
连续求和 \sum_{n=1}^{\infty}{\frac{1}{n}} n=11n\sum_{n=1}^{\infty} {\frac{1}{n}}
连续求积 \prod_\varepsilon ε\prod_\varepsilon
积分 \int_{0}^{1}{\frac{1}{n+1}} 011n+1\int_{0}^{1}{\frac{1}{n+1}}
二重积分 \iint_{0}^{1}{\frac{1}{n+1}} 011n+1\iint_{0}^{1}{\frac{1}{n+1}}
偏导数 \frac{\partial y}{\partial x} yx\frac{\partial y}{\partial x}

有些上下标的位置在文中公式和独立公式中是不一样的,以 \sum 为例:

  • 文中公式 $\sum_1^2x$ 的效果为:12x\sum_1^2x
  • 独立公式 $$\sum_1^2x$$ 的效果为:
12x\sum_1^2x

但也可以用 \limits\nolimits 来控制上下标的出现位置:

  • 使用方法如 $\sum\limits_1^2x$ 就强制将上下标写在上边和下边:12x\sum\limits_1^2x
  • $$\sum\nolimits_1^2x$$ 使其强制出现在右边角上:
12x\sum\nolimits_1^2x

# 上下划线

中文 LaTeX语句 数学符号
加粗 \mathbf{x} x\mathbf{x}
\bm{x}bm package 中 MathJax 不支持
\boldsymbol{x}amsmath x\boldsymbol{x}
上划线 \overline{123} 123\overline{123}
下划线 \underline{123} 123\underline{123}
上括弧 \overbrace{a+b+\cdots+z}^{26} a+b++z26\overbrace{a+b+\cdots+z}^{26}
下括弧 \underbrace{a+b+\cdots+z}_{26} a+b++z26\underbrace{a+b+\cdots+z}_{26}
向量 \vec{a}\qquad\vec{AB} aAB\vec{a}\qquad\vec{AB}
\overrightarrow{AB} AB\overrightarrow{AB}
\overleftarrow{AB} AB\overleftarrow{AB}

# 矩阵 matrix

参考博客:https://blog.csdn.net/bendanban/article/details/44221279

另外貌似也可以使用 \begin{array}

# 裸矩阵

使用 $$\begin{matrix}...\end{matrix}$$ 生成矩阵。矩阵中每一行以 \\换行(Markdown 中是\\),矩阵的元素用 & 来分隔开。

行间矩阵

(1234)\left(\begin{smallmatrix}1&2\\3&4\end{smallmatrix}\right)

请使用 $$\begin{smallmatrix}...\end{smallmatrix}$$

如,

$$
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{matrix} \tag{1}
$$
123456789(1) \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \tag{1}

# 带括号的矩阵

如果需要带括号的矩阵,一种是用 \left(\right) 括住 \begin{matrix} ... \end{matrix}。注意,如果不加 \left\right,括号是和其他字符等高,而不是完全括住了矩阵。

另一种是使用 \begin{bmatrix}...\end{bmatrix}

不同的 matrix 名对应的矩阵列表如下:

pmatirx:

(1234)\begin{pmatrix} 1&2\\3&4\end{pmatrix}

bmatrix:

[1234]\begin{bmatrix} 1&2\\3&4\end{bmatrix}

Bmatirx:

{1234}\begin{Bmatrix} 1&2\\3&4\end{Bmatrix}

vmatrix:

1234\begin{vmatrix} 1&2\\3&4\end{vmatrix}

Vmatrix:

1234\begin{Vmatrix} 1&2\\3&4\end{Vmatrix}

但是直接用 \left( \right),它不香吗?

对于 smallmatrix,只能使用第一种方法,不能使用后面的更改 matrix 类型的方法。

# 数组 array

貌似 array 也可以用于建矩阵,而且必须指定列对齐的形式:

123456789 \begin{array}{clr} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{array}
\begin{array}{clr}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{array}

clr 的每个字母分别代表了一列的对齐方式:第一列居中 c(enter)、第二列左对齐 l(eft)、第三列右对齐 r(ight)

# 讨论情况 cases

$$f(x)=
\begin{cases}
0& x=0\\
1& x \neq 0
\end{cases}$$
f(x)={0x=01x0f(x)= \begin{cases} 0& x=0\\ 1& x \neq 0 \end{cases}

如果是需要对齐等于号,可以使用 \begin{align}(详解看 排版)。大括号需要下一段提到的 \left\{ \right. 来实现。

{I0=1e1In=1nIn1(n=1,2,...) \left\{ \begin{aligned} I_0 &= 1 - e^{-1} \\ I_n &= 1-nI_{n-1} \quad (n=1,2,...) \end{aligned} \right.

# 奇奇怪怪的括号

参考博客:https://blog.csdn.net/miao0967020148/article/details/78712811

使用括号的时候,可以加一句\left \right,大概是告诉 LaTeX,我要用括号了,这样 LaTeX 会根据括号中内容中的高度自动调整括号的高度。

中文 LaTeX语句 数学符号
大括号 $\left\{ \frac{a}{b} \right\}$ $\{ \}$ {ab}\left\{ \frac{a}{b} \right\}
尖括号 $\left \langle \frac{a}{b} \right \rangle$ ab\left \langle \frac{a}{b} \right \rangle
单、双竖线 由于和 Markdown 表格语法冲突,单竖线和双竖线的语法写在表格下
取整函数 $\left \lfloor \frac{a}{b} \right \rfloor$ ab\left \lfloor \frac{a}{b} \right \rfloor
取顶函数 $\left \lceil \frac{c}{d} \right \rceil$ cd\left \lceil \frac{c}{d} \right \rceil
混合括号 $\left [ 0,1 \right )\left \langle \psi \right \|$ [0,1)ψ\left [ 0,1 \right )\left \langle \psi \right\|
单左括号 $\left \{ \frac{a}{b} \right .$
加个点就可以省略了
{ab\left \{ \frac{a}{b} \right .

单竖线:$\left| \frac{a}{b} \right|$ ab\left| \frac{a}{b} \right|
双竖线:$\left\| \frac{a}{b} \right\|$ ab\left\| \frac{a}{b} \right\|

(提醒 MathJax 用户:上述符号前的 \ 都应使用 \\,而 leftright 前仍为 \

但是要注意,\left\right 中间不能出现换行 \\。如果实在需要调整括号高度,可以参照下一行。

还可以使用 \big\Big\bigg\Bigg 手动控制括号的高度。

$$\Bigg ( \bigg [ \Big \{ \big \langle \left | \| x \| \right | \big \rangle \Big \} \bigg ] \Bigg )$$
([{x}])\Bigg ( \bigg [ \Big \{ \big \langle \left | \| x \| \right | \big \rangle \Big \} \bigg ] \Bigg )

# 排版

中文 LaTeX语句 数学符号 注释
普通空格 a \space b \; c \ d abcda \space b \; c \ d
1cm短空格 $a\quad b$ aba\quad b
2cm长空格 $a\qquad b$ aba\qquad b
换行并对齐 $\begin{aligned}
x&=a+b+c\\
&=d+e\\
&=g+f
\end{aligned}$
x=a+b+c=d+e=g+f\begin{aligned}x&=a+b+c\\&=d+e\\&=g+f\end{aligned} 开头 \begin{aligned}
结束 \end{aligned}
行末 \\
需要对齐的符号前 &
& 可以放在任意符号之前表示“在此处对齐”
省略号 1...n
1 \dots n
1n1 \dots n
1 \cdots n 1n1 \cdots n
\vdots \vdots
\ddots \ddots
公式标号 a^2 + b^2 = c^2 \tag{1} 原生 LaTeX 的 $$a+b$$ 是自带编号的
重叠符号 \stackrel{F}{=} =F\stackrel{F}{=}

# 数学符号表

常用希腊字母表:

小写 大写 var小写 var大写
delta δ\delta Δ\Delta Δ\varDelta
phi ϕ\phi Φ\Phi φ\varphi Φ\varPhi
psi ψ\psi Ψ\Psi Ψ\varPsi
epsilon ϵ\epsilon ε\varepsilon \
chi χ\chi

用法:小写即为 \ 加英文名;大写只要首字母大小就行;var\var 加大/小写字母。

\varPsiΨ\varPsi

更多的:

50 51 52 53 54

# 纯正 LaTeX 插入公式

由于我在接触 LaTeX 之前就学了 MathJax,所以上述的大多数语法都是基于 MathJax 而非纯正 LaTeX 语法。

LaTeX 插入公式的格式和 MathJax 稍有区别,但是公式的语法还是差不多的。

LaTeX 插入数学公式需要调用宏包:

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm} % 某些数学定理和证明会用到

(貌似 TeXstudio 自带,不需要这两行命令也能写数学公式)

行内公式的格式有:

\(a+b\)
$a+b$ %最常用;MathJax 仅支持这种
\begin{math}a+b\end{math}

行间公式:

\[a+b\]
$$a+b$$ %最常用;MathJax 仅支持这种
\begin{displaymath}a+b\end{displaymath}

MathJax 支持另一种行间公式:\begin{equation}a+b\end{equation}

LaTeX 也支持这个功能,但是会进行自动标号(MathJax 不会标号)。

要想不标号,请使用 \begin{equation*}。与 \section*{} 如出一辙。

# 在 LaTeX 引用公式

可见 latex 引用公式_天天向上的专栏-CSDN博客 (opens new window)

需要注意的是,和其他引用相同,在 LaTeX 引用公式可能需要编译两遍。

# LaTeX 中换行

MathJax 中可以在 $$a+b$$ 之中 插入 \\ 以换行,这样就可以在内输入多个公式。然而 LaTeX 中不允许这样做。这种情况下需要写为多个公式,每个公式用一对 $$ 括起来。