搜 索

LaTeX语法简要说明

  • 229阅读
  • 2023年06月10日
  • 0评论
首页 / 编程 / 正文

出门在外身份地位都是自己给的,作为一个经常需要写技术文档和论文的架构师,如何写出一些别人看上去很高级的东西呢?

$$ L(w, b, \alpha) = \frac{1}{2}\|w\|^2 - \sum_{i=1}^{n} \alpha_i [y_i(w^T x_i + b) - 1] $$

这里我要介绍一种公式方法LaTeX,上面SVM的拉格朗日函数(Lagrangian Function)按照LaTeX来写就是以下的这样。

$$
L(w, b, \alpha) = \frac{1}{2}\|w\|^2 - \sum_{i=1}^{n} \alpha_i [y_i(w^T x_i + b) - 1]
$$

这篇文章整理了我日常最常用的 LaTeX 语法,方便查阅。

为什么用 LaTeX?

说实话,Word 写公式真的很痛苦。LaTeX 的优势在于:

  • 数学公式渲染美观,专业级排版
  • 纯文本格式,版本控制友好
  • 跨平台一致性,不存在字体错乱问题
  • 学术圈标准,投稿省心

基础语法

行内公式 vs 独立公式

行内公式用单个美元符号包裹:

质能方程 $E = mc^2$ 是物理学中最著名的公式之一。

独立公式(居中显示)用双美元符号:

$$
E = mc^2
$$

上标与下标

上标用 ^,下标用 _

$x^2$          % x的平方
$x_i$          % x下标i
$x_i^2$        % 组合使用
$x_{ij}$       % 多字符下标需要大括号
$e^{i\pi}$     % 多字符上标同理

分数

$\frac{a}{b}$              % 基础分数
$\frac{x^2 + 1}{x - 1}$    % 复杂分数
$\dfrac{a}{b}$             % 显示模式分数(更大)

根号

$\sqrt{x}$         % 平方根
$\sqrt[3]{x}$      % 立方根
$\sqrt[n]{x}$      % n次根

常用数学符号

希腊字母

小写LaTeX大写LaTeX
α\alphaΑA
β\betaΒB
γ\gammaΓ\Gamma
δ\deltaΔ\Delta
ε\epsilonΕE
θ\thetaΘ\Theta
λ\lambdaΛ\Lambda
μ\muΜM
π\piΠ\Pi
σ\sigmaΣ\Sigma
φ\phiΦ\Phi
ω\omegaΩ\Omega

运算符

$\times$       % 乘号
$\div$         % 除号
$\pm$          % 正负号
$\mp$          % 负正号
$\cdot$        % 点乘
$\ast$         % 星号
$\leq$         % 小于等于
$\geq$         % 大于等于
$\neq$         % 不等于
$\approx$      % 约等于
$\equiv$       % 恒等于
$\propto$      % 正比于

集合符号

$\in$          % 属于
$\notin$       % 不属于
$\subset$      % 真子集
$\subseteq$    % 子集
$\cup$         % 并集
$\cap$         % 交集
$\emptyset$    % 空集
$\mathbb{R}$   % 实数集
$\mathbb{Z}$   % 整数集
$\mathbb{N}$   % 自然数集

箭头

$\rightarrow$      % →
$\leftarrow$       % ←
$\Rightarrow$      % ⇒ (推出)
$\Leftarrow$       % ⇐
$\Leftrightarrow$  % ⇔ (等价)
$\mapsto$          % ↦

进阶语法

求和与积分

% 求和
$\sum_{i=1}^{n} x_i$

% 积分
$\int_{a}^{b} f(x) dx$

% 多重积分
$\iint_D f(x,y) dxdy$
$\iiint_V f(x,y,z) dxdydz$

% 环路积分
$\oint_C \vec{F} \cdot d\vec{l}$

% 极限
$\lim_{x \to \infty} f(x)$

% 连乘
$\prod_{i=1}^{n} x_i$

矩阵

% 普通矩阵(无括号)
$$
\begin{matrix}
a & b \\
c & d
\end{matrix}
$$

% 方括号矩阵
$$
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
$$

% 圆括号矩阵
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$

% 行列式
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
$$

$$ \begin{matrix} a & b \\ c & d \end{matrix} $$

分段函数

$$
f(x) = 
\begin{cases}
x^2 & \text{if } x \geq 0 \\
-x & \text{if } x < 0
\end{cases}
$$

多行公式对齐

$$
\begin{aligned}
f(x) &= (x+1)^2 \\
     &= x^2 + 2x + 1
\end{aligned}
$$

括号自适应

当括号内容较高时,使用 \left\right 让括号自动调整大小:

$\left( \frac{a}{b} \right)$
$\left[ \sum_{i=1}^{n} x_i \right]$
$\left\{ \int_0^1 f(x) dx \right\}$

机器学习常用公式示例

这些是我做 AI 项目时经常用到的:

损失函数

% 均方误差 MSE
$$
\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
$$

% 平均绝对误差 MAE
$$
\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|
$$

% 二元交叉熵损失
$$
\mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1-y_i) \log(1-\hat{y}_i) \right]
$$

% 多分类交叉熵损失
$$
\mathcal{L} = -\sum_{i=1}^{C} y_i \log(\hat{y}_i)
$$

% Focal Loss (处理类别不平衡)
$$
\text{FL}(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)
$$

% Huber Loss (平滑L1)
$$
L_\delta(a) = 
\begin{cases}
\frac{1}{2}a^2 & \text{if } |a| \leq \delta \\
\delta(|a| - \frac{1}{2}\delta) & \text{otherwise}
\end{cases}
$$

激活函数

% Sigmoid
$$
\sigma(x) = \frac{1}{1 + e^{-x}}
$$

% Tanh
$$
\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}
$$

% ReLU
$$
\text{ReLU}(x) = \max(0, x)
$$

% Leaky ReLU
$$
\text{LeakyReLU}(x) = 
\begin{cases}
x & \text{if } x > 0 \\
\alpha x & \text{otherwise}
\end{cases}
$$

% GELU (Transformer常用)
$$
\text{GELU}(x) = x \cdot \Phi(x) = x \cdot \frac{1}{2}\left[1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right]
$$

% Swish / SiLU
$$
\text{Swish}(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}
$$

Softmax

$$
\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}
$$

% 带温度参数的 Softmax
$$
\text{softmax}(z_i, T) = \frac{e^{z_i / T}}{\sum_{j=1}^{K} e^{z_j / T}}
$$

优化器

% 梯度下降
$$
\theta_{t+1} = \theta_t - \eta \nabla_\theta \mathcal{L}(\theta_t)
$$

% 动量 Momentum
$$
\begin{aligned}
v_t &= \gamma v_{t-1} + \eta \nabla_\theta \mathcal{L}(\theta_t) \\
\theta_{t+1} &= \theta_t - v_t
\end{aligned}
$$

% Adam
$$
\begin{aligned}
m_t &= \beta_1 m_{t-1} + (1 - \beta_1) g_t \\
v_t &= \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \\
\hat{m}_t &= \frac{m_t}{1 - \beta_1^t} \\
\hat{v}_t &= \frac{v_t}{1 - \beta_2^t} \\
\theta_{t+1} &= \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t
\end{aligned}
$$

% 学习率衰减 (Cosine Annealing)
$$
\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 + \cos\left(\frac{t}{T}\pi\right)\right)
$$

目标检测公式 (YOLO 相关)

做目标检测项目天天打交道的公式:

% IoU
$$
\text{IoU} = \frac{|A \cap B|}{|A \cup B|} = \frac{\text{交集面积}}{\text{并集面积}}
$$

% GIoU (Generalized IoU)
$$
\text{GIoU} = \text{IoU} - \frac{|C \setminus (A \cup B)|}{|C|}
$$

% DIoU (Distance IoU)
$$
\text{DIoU} = \text{IoU} - \frac{\rho^2(b, b^{gt})}{c^2}
$$

% CIoU (Complete IoU)
$$
\text{CIoU} = \text{IoU} - \frac{\rho^2(b, b^{gt})}{c^2} - \alpha v
$$

% 其中 v 和 α 定义为
$$
v = \frac{4}{\pi^2}\left(\arctan\frac{w^{gt}}{h^{gt}} - \arctan\frac{w}{h}\right)^2
$$

$$
\alpha = \frac{v}{(1 - \text{IoU}) + v}
$$

% NMS 置信度更新
$$
s_i = 
\begin{cases}
s_i & \text{if IoU}(M, b_i) < N_t \\
0 & \text{if IoU}(M, b_i) \geq N_t
\end{cases}
$$

% Soft-NMS
$$
s_i = s_i \cdot e^{-\frac{\text{IoU}(M, b_i)^2}{\sigma}}
$$

% mAP 计算
$$
\text{AP} = \int_0^1 p(r) \, dr \approx \sum_{k=1}^{n} (r_k - r_{k-1}) p_{\text{interp}}(r_k)
$$

% Precision 和 Recall
$$
\text{Precision} = \frac{TP}{TP + FP}, \quad \text{Recall} = \frac{TP}{TP + FN}
$$

% F1 Score
$$
F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}
$$

注意力机制

% Scaled Dot-Product Attention
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
$$

% Multi-Head Attention
$$
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W^O
$$

$$
\text{where head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)
$$

% Self-Attention 位置编码
$$
\begin{aligned}
PE_{(pos, 2i)} &= \sin\left(\frac{pos}{10000^{2i/d_{model}}}\right) \\
PE_{(pos, 2i+1)} &= \cos\left(\frac{pos}{10000^{2i/d_{model}}}\right)
\end{aligned}
$$

归一化

% Batch Normalization
$$
\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}, \quad y_i = \gamma \hat{x}_i + \beta
$$

% Layer Normalization
$$
\hat{x}_i = \frac{x_i - \mu_L}{\sqrt{\sigma_L^2 + \epsilon}}, \quad y_i = \gamma \hat{x}_i + \beta
$$

% Group Normalization
$$
\hat{x}_i = \frac{x_i - \mu_G}{\sqrt{\sigma_G^2 + \epsilon}}
$$

卷积相关

% 输出尺寸计算
$$
H_{out} = \left\lfloor \frac{H_{in} + 2p - k}{s} \right\rfloor + 1
$$

% 感受野计算
$$
RF_l = RF_{l-1} + (k_l - 1) \times \prod_{i=1}^{l-1} s_i
$$

% 参数量 (标准卷积)
$$
\text{Params} = C_{out} \times (C_{in} \times k^2 + 1)
$$

% 深度可分离卷积参数量
$$
\text{Params}_{DW} = C_{in} \times k^2 + C_{in} \times C_{out}
$$

文本样式

$\text{普通文本}$        % 公式中的普通文本
$\textbf{粗体}$          % 粗体
$\textit{斜体}$          % 斜体
$\mathbf{A}$             % 粗体字母(常用于向量/矩阵)
$\vec{v}$                % 向量箭头
$\hat{x}$                % 估计值/单位向量
$\bar{x}$                % 平均值
$\tilde{x}$              % 波浪号
$\dot{x}$                % 一阶导数
$\ddot{x}$               % 二阶导数

常用技巧

空格控制

LaTeX 默认忽略空格,需要手动添加:

$a \, b$       % 小空格
$a \: b$       % 中空格  
$a \; b$       % 大空格
$a \quad b$    % 更大空格
$a \qquad b$   % 最大空格

省略号

$1, 2, \ldots, n$      % 底部省略号
$1 + 2 + \cdots + n$   % 居中省略号

上下划线

$\overline{AB}$        % 上划线
$\underline{AB}$       % 下划线
$\overbrace{a+b+c}^{n}$   % 上花括号
$\underbrace{a+b+c}_{n}$  % 下花括号

概率统计公式

写论文和做数据分析时常用:

基础概率

% 条件概率
$$
P(A|B) = \frac{P(A \cap B)}{P(B)}
$$

% 贝叶斯定理
$$
P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}
$$

% 全概率公式
$$
P(A) = \sum_{i=1}^{n} P(A|B_i) P(B_i)
$$

% 期望
$$
E[X] = \sum_{i=1}^{n} x_i \cdot P(x_i) = \int_{-\infty}^{\infty} x \cdot f(x) \, dx
$$

% 方差
$$
\text{Var}(X) = E[(X - \mu)^2] = E[X^2] - (E[X])^2
$$

% 协方差
$$
\text{Cov}(X, Y) = E[(X - \mu_X)(Y - \mu_Y)]
$$

% 相关系数
$$
\rho_{XY} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y}
$$

常见分布

% 正态分布
$$
f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$

% 标准正态分布
$$
\phi(z) = \frac{1}{\sqrt{2\pi}} e^{-\frac{z^2}{2}}
$$

% 泊松分布
$$
P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}
$$

% 二项分布
$$
P(X = k) = \binom{n}{k} p^k (1-p)^{n-k}
$$

% 指数分布
$$
f(x) = \lambda e^{-\lambda x}, \quad x \geq 0
$$

信息论

% 信息熵
$$
H(X) = -\sum_{i=1}^{n} p(x_i) \log p(x_i)
$$

% 交叉熵
$$
H(p, q) = -\sum_{i=1}^{n} p(x_i) \log q(x_i)
$$

% KL 散度
$$
D_{KL}(P \| Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}
$$

% 互信息
$$
I(X; Y) = H(X) - H(X|Y) = H(X) + H(Y) - H(X, Y)
$$

线性代数公式

向量运算

% 向量点积
$$
\vec{a} \cdot \vec{b} = \sum_{i=1}^{n} a_i b_i = |\vec{a}||\vec{b}|\cos\theta
$$

% 向量叉积
$$
\vec{a} \times \vec{b} = 
\begin{vmatrix}
\vec{i} & \vec{j} & \vec{k} \\
a_1 & a_2 & a_3 \\
b_1 & b_2 & b_3
\end{vmatrix}
$$

% 向量范数
$$
\|\vec{x}\|_2 = \sqrt{\sum_{i=1}^{n} x_i^2}, \quad \|\vec{x}\|_1 = \sum_{i=1}^{n} |x_i|
$$

% L_p 范数
$$
\|\vec{x}\|_p = \left(\sum_{i=1}^{n} |x_i|^p\right)^{\frac{1}{p}}
$$

矩阵运算

% 矩阵乘法
$$
(AB)_{ij} = \sum_{k=1}^{n} A_{ik} B_{kj}
$$

% 矩阵转置
$$
(A^T)_{ij} = A_{ji}
$$

% 矩阵的迹
$$
\text{tr}(A) = \sum_{i=1}^{n} A_{ii}
$$

% 矩阵的行列式 (2x2)
$$
\det(A) = |A| = 
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
$$

% 矩阵的行列式 (3x3)
$$
\det(A) = 
\begin{vmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{vmatrix}
$$

% 逆矩阵 (2x2)
$$
A^{-1} = \frac{1}{ad-bc}
\begin{bmatrix}
d & -b \\
-c & a
\end{bmatrix}
$$

% 特征值方程
$$
A\vec{v} = \lambda\vec{v} \Rightarrow \det(A - \lambda I) = 0
$$

% SVD 分解
$$
A = U \Sigma V^T
$$

% Frobenius 范数
$$
\|A\|_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} |a_{ij}|^2} = \sqrt{\text{tr}(A^T A)}
$$

微积分公式

导数

% 基本导数
$$
\frac{d}{dx}(x^n) = nx^{n-1}
$$

$$
\frac{d}{dx}(e^x) = e^x, \quad \frac{d}{dx}(\ln x) = \frac{1}{x}
$$

$$
\frac{d}{dx}(\sin x) = \cos x, \quad \frac{d}{dx}(\cos x) = -\sin x
$$

% 链式法则
$$
\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}
$$

% 偏导数
$$
\frac{\partial f}{\partial x}, \quad \frac{\partial^2 f}{\partial x \partial y}
$$

% 梯度
$$
\nabla f = \left(\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \ldots, \frac{\partial f}{\partial x_n}\right)
$$

% Hessian 矩阵
$$
H = \nabla^2 f = 
\begin{bmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} \\
\frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2}
\end{bmatrix}
$$

% Jacobian 矩阵
$$
J = 
\begin{bmatrix}
\frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\
\vdots & \ddots & \vdots \\
\frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n}
\end{bmatrix}
$$

积分

% 基本积分
$$
\int x^n \, dx = \frac{x^{n+1}}{n+1} + C \quad (n \neq -1)
$$

$$
\int e^x \, dx = e^x + C, \quad \int \frac{1}{x} \, dx = \ln|x| + C
$$

% 分部积分
$$
\int u \, dv = uv - \int v \, du
$$

% 高斯积分
$$
\int_{-\infty}^{\infty} e^{-x^2} \, dx = \sqrt{\pi}
$$

% 伽马函数
$$
\Gamma(n) = \int_0^{\infty} t^{n-1} e^{-t} \, dt = (n-1)!
$$

级数

% 泰勒展开
$$
f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n
$$

% 常用展开式
$$
e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots
$$

$$
\sin x = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!} = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots
$$

$$
\cos x = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n}}{(2n)!} = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots
$$

$$
\ln(1+x) = \sum_{n=1}^{\infty} \frac{(-1)^{n+1} x^n}{n} = x - \frac{x^2}{2} + \frac{x^3}{3} - \cdots
$$

物理/工程公式

偶尔写跨领域文档时会用到:

% 牛顿第二定律
$$
\vec{F} = m\vec{a} = m\frac{d^2\vec{r}}{dt^2}
$$

% 万有引力
$$
F = G\frac{m_1 m_2}{r^2}
$$

% 动能
$$
E_k = \frac{1}{2}mv^2
$$

% 薛定谔方程
$$
i\hbar\frac{\partial}{\partial t}\Psi = \hat{H}\Psi
$$

% 麦克斯韦方程组
$$
\nabla \cdot \vec{E} = \frac{\rho}{\epsilon_0}, \quad \nabla \times \vec{E} = -\frac{\partial \vec{B}}{\partial t}
$$

% 傅里叶变换
$$
\hat{f}(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} \, dt
$$

% 傅里叶逆变换
$$
f(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} \hat{f}(\omega) e^{i\omega t} \, d\omega
$$

% 拉普拉斯变换
$$
\mathcal{L}\{f(t)\} = F(s) = \int_0^{\infty} f(t) e^{-st} \, dt
$$

% 卷积
$$
(f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau
$$

小结

以上是我日常使用最频繁的 LaTeX 语法,基本覆盖了写技术文档和论文的需求。LaTeX 语法确实有学习曲线,但一旦熟练,写公式的效率会比 Word 高很多。

评论区
暂无评论
avatar