HoRain云--LaTeX 数学公式进阶

发布时间:2026/8/25 5:24:42
HoRain云--LaTeX 数学公式进阶 它们全部来自 amsmath 宏包——这也是为什么所有数学文档的导言区都该有一行 \usepackage{amsmath}。矩阵matrix 家族矩阵用环境表示 分隔列\\ 换行环境名决定外层的括号样式。环境外层样式典型用途matrix无括号拼接数据块pmatrix圆括号 ( )普通矩阵bmatrix方括号 [ ]系数矩阵、线性代数Bmatrix大括号 { }集合表示vmatrix单竖线 | |行列式Vmatrix双竖线 ‖ ‖范数pmatrix圆括号矩阵(1234)(13​24​)bmatrix方括号矩阵[1001][10​01​]vmatrix行列式∣abcd∣ad−bc​ac​bd​​ad−bc实例带省略号的 n 阶矩阵\[\begin{pmatrix}a_{11} \cdots a_{1n} \\\vdots \ddots \vdots \\a_{n1} \cdots a_{nn}\end{pmatrix}\](a11⋯a1n⋮⋱⋮an1⋯ann)​a11​⋮an1​​⋯⋱⋯​a1n​⋮ann​​​三种省略号各司其职\cdots 横向、\vdots 纵向、\ddots 斜向。矩阵元素多时务必用省略号而不是把几十个元素全部敲进去。行内公式中放不下大矩阵时可以用 smallmatrix 环境它会压缩行距与字号。多行推导align 环境align 是数学推导的主力环境多行公式按 标记的位置对齐每行自动编号。实例两行推导\begin{align}(ab)^2 a^2 2ab b^2 \\ a^2 b^2 2ab\end{align}(ab)2a22abb2a2b22ab(ab)2​a22abb2a2b22ab​​规则只有两条 放在「对齐锚点」处通常是等号前它会把前后分成两列\\ 换行。每行都会自动获得编号。实例定积分计算\begin{align}\int_0^1 x^2 \,\mathrm{d}x \left[ \frac{x^3}{3} \right]_0^1 \notag \\[2pt] \frac{1}{3}\end{align}∫01x2dx[x33]0113∫01​x2dx​[3x3​]01​31​​​这里出现了两个新写法\notag 让某一行不编号推导中间行不需要编号时用它\\ 后面的 [2pt] 微调行距可省略。不需要任何编号时用带星号的 align* 环境——这与章节命令 \section* 的逻辑一致星号等于「不编号、不进目录」。方程组与分段函数cases 环境cases 环境专门生成左侧一个大括号的分组结构方程组和分段函数的标准写法。实例二元一次方程组\[\begin{cases}x y 5 \\2x - y 1\end{cases}\]{xy52x−y1{xy52x−y1​实例分段函数\[f(x) \begin{cases}-x, x 0 \\x, x \geq 0\end{cases}\]f(x){−x,x0x,x≥0f(x){−x,x,​x0x≥0​分段函数里 的作用变了把「函数值」和「成立条件」分成两列第二列条件会自动与右侧对齐。公式编号与引用行间公式 \[...\] 不编号需要被引用的公式用 equation 环境它会自动编号。实例编号与引用\documentclass{ctexart}\usepackage{amsmath} % align、equation、cases 都需要它\begin{document}由式 \eqref{eq:pyth} 可知直角三角形的斜边满足\begin{equation} \label{eq:pyth} % \label 打上标签供 \eqref 引用a^2 b^2 c^2,\end{equation}而等差数列的前 $n$ 项和为\begin{equation}S_n \frac{n(a_1 a_n)}{2}.\end{equation}\end{document}三步记住equation 负责编号\label{key} 打标签\eqref{key} 引用自动带括号。标签的取名建议「类型:内容」如 eq:pyth、eq:sum——公式多了以后eq:3 这种名字会让你自己都认不出来。引用显示成 (??) 说明 .aux 还没更新再编译一遍老朋友了。超长公式折行split 环境一个公式长得超过版心宽度时放进 equation 里再用 split 折行——整段保持同一个编号。实例长公式折行\begin{equation}\begin{split}\sum_{i1}^{n} (x_i - \bar{x})(y_i - \bar{y}) \sum_{i1}^{n} x_i y_i - n\bar{x}\bar{y} \\ \frac{1}{n}\sum_{i1}^{n} x_i y_i - \bar{x}\bar{y}\end{split}\end{equation}∑i1n(xi−xˉ)(yi−yˉ)∑i1nxiyi−nxˉyˉ1n∑i1nxiyi−xˉyˉi1∑n​(xi​−xˉ)(yi​−yˉ​)​i1∑n​xi​yi​−nxˉyˉ​n1​i1∑n​xi​yi​−xˉyˉ​​​​split 与 align 的区别align 是「多个公式」各编号各的split 是「一个公式」折成几行共享一个编号。嵌套关系也说明问题——split 必须住在 equation或 \[...\]里面。常见公式错误排查数学模式的报错占了新手报错的一大半高频错误如下。错误写法问题正确写法文本中直接用 \alpha数学命令只能用于数学模式$\alpha$$a_1 b_$_ 或 ^ 后面缺内容补上$a_1 b_2$\[ x \frac{1}{2} \]没加载 amsmath 却用 \dfrac 等导言区 \usepackage{amsmath}\[ a b \\ c d \]普通行间公式里用 只属于 matrix、align 等环境公式里夹中文说明字体与断行全乱说明文字放到 $ 外或用 \text{中文}align 里忘了 \\多行挤成一行每行末尾最后一行除外加 \\其中 \text{...}amsmath 提供值得多说一句偶尔需要在公式里嵌一小段文字如「当 x 0 时」的条件、单位用 \text 包住即可保持正体与正常间距。小结需求环境 / 命令矩阵pmatrix / bmatrix / vmatrix 分列\\ 换行多行推导每行编号align星号版不编号方程组 / 分段函数cases单个编号公式equation \label引用公式编号\eqref{key}长公式折行equation 内嵌 split