Skip to content

结构之美:矩阵、多行公式与分段函数

在上一篇教程中,我们掌握了 LaTeX 公式的“字母”和“单词”——单个的符号、分数和上下标。现在,是时候学习如何将它们组织成更复杂的“句子”和“段落”了。本篇教程将聚焦于创建具有二维或多行结构的数学表达式,这是撰写推导过程和定义复杂模型的关键。

我们将学习 LaTeX 中一个极其强大的概念:环境 (Environment)。环境通常以 \begin{环境名} 开始,并以 \end{environment} 结束。

矩阵与数组:构建二维结构

矩阵是线性代数的核心。在 LaTeX 中,我们可以使用 matrix 环境轻松地创建它。在环境中,我们使用 & 符号来分隔,使用 \\换行

实时预览 (Live Preview)
$$ \begin{matrix} a & b \\ c & d \end{matrix} $$

可以看到,上面的矩阵缺少了括号。LaTeX 为此提供了多种预设好括号的矩阵环境,非常方便:

  • pmatrix:带小括号 () 的矩阵
  • bmatrix:带方括号 [] 的矩阵
  • vmatrix:带竖线 || 的矩阵(常用于表示行列式)

可以试试在下面的编辑器中,将 pmatrix 更换为 bmatrixvmatrix,观察它们的不同。

实时预览 (Live Preview)
$$ \mathbf{A} = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

多行公式对齐:展示推导过程

当我们需要展示一个多步的公式推导时,最优雅的方式是让等号 = 在每一行都精确对齐。align 环境就是为此而生的。

align 环境中,& 符号扮演着对齐锚点的角色。你把它放在哪一列,那一列就会在所有行中对齐。同样,\\ 用于换行。

请看下面的例子,展示了求解一个简单方程的全过程。注意 & 是放在 =前面的。

实时预览 (Live Preview)
$$ \begin{align} 2x + 5 &= 11 \\ 2x &= 11 - 5 \\ 2x &= 6 \\ x &= 3 \end{align} $$

align 环境会为每一行都生成一个公式编号(在 Overleaf 或学术模板中会更明显)。但有时我们希望整个推导过程只共享一个编号。这时,alignedsplit 环境就派上用场了。

aligned 环境:对齐块中的对齐

aligned 环境和 align 的用法几乎完全相同,但它本身不会生成任何公式编号。它通常被嵌套在 equation$$...$$ 这样的数学环境中,作为一个“对齐块”。

这在你希望将一个多行对齐的推导作为一个整体来引用时非常有用。

实时预览 (Live Preview)
$$ \begin{aligned} (a+b)^2 &= (a+b)(a+b) \\ &= a^2 + ab + ba + b^2 \\ &= a^2 + 2ab + b^2 \end{aligned} $$

注意,上面的整个三行推导在学术论文中只会生成一个居中的公式编号。

split 环境:单个长公式的换行与对齐

当你有一个特别长的公式,需要在一行内换行时,split 环境是最佳选择。它只能对齐一列(只有一个 & 对齐点),并且整个环境也只生成一个公式编号。

它的主要用途是将一个等式的左右两边分开,并在某个运算符号处换行。

实时预览 (Live Preview)
$$ \begin{equation} \begin{split} \sigma(x) &= \frac{1}{1+e^{-x}} \\ & \quad + \text{这里可以写一些注释} \end{split} \end{equation} $$

在上面的例子中,我们在 = 处对齐,然后在第二行开头用 \quad 命令增加了一些缩进,使结构更清晰。

总结一下 align, aligned, 和 split 的区别:

  • align: 用于多个独立公式的对齐,每行都有编号。
  • aligned: 用于将一个逻辑整体(如推导过程)进行多行对齐,整个块共享一个编号。
  • split: 用于将一个超长的单个公式进行换行和对齐,整个公式只有一个编号。

可以试试在下面补完2x+5=11的求解过程

实时预览 (Live Preview)
$$ \begin{split} 2x+5&=11\\ ... \end{split} $$

分段函数:定义条件逻辑

在数学中,我们经常会遇到分段函数,例如绝对值的定义。cases 环境可以完美地排版这种结构。

cases 环境中,& 符号用于分隔条件

实时预览 (Live Preview)
$$ |x| = \begin{cases} x, & \text{if } x \ge 0 \\ -x, & \text{if } x < 0 \end{cases} $$

您可能注意到了一个新的命令 \text{...}。这是因为在数学模式中,直接输入 if 会被渲染成斜体的变量 if。为了插入正体的普通文本,我们需要使用 \text 命令将其包裹起来。我们将在下一篇教程中更详细地讨论公式中的文本和样式。

显然我们可以写出不止两行的分段函数:

实时预览 (Live Preview)
$$ f(x) = \begin{cases} \sin x, & x > 0 \\ 0, & x = 0 \\ -x^2, & x < 0 \end{cases} $$

恭喜你!现在你已经掌握了创建结构化公式的核心技能。通过组合使用 matrix, align, cases 这些环境,你已经能够清晰地展示复杂的数学推导和定义。

在下一篇教程中,我们将学习如何让公式变得更加“精致”和“专业”——探索如何自动调整括号大小、精细控制间距,以及为符号添加各种装饰。