别再手动对齐了!用LaTeX的matrix、array环境搞定论文里的矩阵和方程组(附完整代码)

张开发
2026/4/17 17:51:11 15 分钟阅读

分享文章

别再手动对齐了!用LaTeX的matrix、array环境搞定论文里的矩阵和方程组(附完整代码)
LaTeX矩阵与方程组排版实战从基础到高阶技巧深夜的实验室里咖啡杯旁堆满了草稿纸你盯着屏幕上歪歪扭扭的矩阵对齐线第N次按下退格键——这场景是否似曾相识学术写作中矩阵和方程组的排版往往是理工科研究者最头疼的环节之一。本文将带你系统掌握LaTeX中matrix系列环境和array环境的精髓彻底告别手动对齐的噩梦。1. 矩阵排版基础六大环境全解析LaTeX的amsmath宏包提供了六种矩阵环境每种都有独特的边界符风格。先看这段典型代码\documentclass{article} \usepackage{amsmath} \begin{document} \begin{equation} \begin{matrix} a b \\ c d \end{matrix} \quad \begin{pmatrix} a b \\ c d \end{pmatrix} \quad \begin{bmatrix} a b \\ c d \end{bmatrix} \quad \begin{Bmatrix} a b \\ c d \end{Bmatrix} \quad \begin{vmatrix} a b \\ c d \end{vmatrix} \quad \begin{Vmatrix} a b \\ c d \end{Vmatrix} \end{equation} \end{document}编译后会呈现六种不同风格的2×2矩阵环境名称边界符样式典型应用场景matrix无矩阵运算中的中间步骤pmatrix圆括号线性代数中的标准矩阵bmatrix方括号最常用的矩阵表示法Bmatrix大括号集合表示的矩阵vmatrix单竖线行列式Vmatrix双竖线矩阵的范数或特殊标记提示在数学物理论文中bmatrix的使用频率最高约占矩阵排版的70%以上案例2. 高阶矩阵排版技巧2.1 对角矩阵的优雅实现对角矩阵的传统写法会导致大量空白\begin{bmatrix} a_{11} \\ a_{22} \\ a_{33} \end{bmatrix}更专业的做法是使用\ddots命令\begin{bmatrix} a_{11} \cdots a_{1n} \\ \vdots \ddots \vdots \\ a_{n1} \cdots a_{nn} \end{bmatrix}对于分块矩阵推荐使用\multicolumn和\hline\begin{bmatrix} \begin{array}{c|c} A B \\ \hline C D \end{array} \end{bmatrix}2.2 复杂矩阵对齐方案当矩阵元素长度差异较大时可以采用\phantom命令实现视觉对齐\begin{bmatrix} a_{\text{long}} b \\ c d_{\text{very long}} \end{bmatrix}优化后版本\begin{bmatrix} a_{\text{long}} \phantom{d_{\text{very}}}b \\ c d_{\text{very long}} \end{bmatrix}3. 方程组排版的三大范式3.1 基础方程组使用cases环境是最简洁的方案\begin{equation} f(x) \begin{cases} x^2 \text{当 } x \geq 0 \\ -x^2 \text{当 } x 0 \end{cases} \end{equation}3.2 多行对齐方程组对于需要等号对齐的方程组aligned环境是首选\begin{equation} \left\{ \begin{aligned} a_{11}x_1 a_{12}x_2 b_1 \\ a_{21}x_1 a_{22}x_2 b_2 \\ \ \vdots \\ a_{n1}x_1 a_{n2}x_2 b_n \end{aligned} \right. \end{equation}3.3 带编号的方程组subequations环境可为方程组添加子编号\begin{subequations} \begin{align} \frac{dx}{dt} \sigma(y-x) \\ \frac{dy}{dt} x(\rho-z)-y \\ \frac{dz}{dt} xy-\beta z \end{align} \end{subequations}4. array环境与矩阵的深度对比虽然matrix系列环境简单易用但array环境提供了更精细的控制\begin{equation} \left[ \begin{array}{rcr} % r右对齐 c居中 l左对齐 -1 0 1 \\ 0 1 0 \\ 1 0 -1 \end{array} \right] \end{equation}array环境的独特优势支持列格式自定义l/c/r可添加横线\hline和竖线|允许混合文本和数学公式支持单元格合并\multicolumn典型应用场景对比需求推荐环境理由简单标准矩阵bmatrix语法简洁边界符自动添加需要精确控制对齐array可指定每列对齐方式带分隔线的矩阵array支持\hline和竖线矩阵中的多行文本array支持\text命令分块矩阵array支持单元格合并5. 实战中的常见问题解决方案5.1 矩阵间距调整技巧默认间距可能不理想时可用\arraystretch调整\renewcommand{\arraystretch}{1.5} \begin{bmatrix} a b \\ c d \end{bmatrix}对于特定行距调整\begin{bmatrix} a b \\[5pt] c d \end{bmatrix}5.2 复杂数学符号的处理当矩阵包含积分、求和等大型符号时\begin{bmatrix} \displaystyle\int f(x)dx \displaystyle\sum_{i1}^n a_i \\[10pt] \dfrac{\partial f}{\partial x} \sqrt{a^2b^2} \end{bmatrix}5.3 跨页矩阵的解决方案对于超大型矩阵可使用\resizebox自动缩放\resizebox{\textwidth}{!}{% $\begin{bmatrix} % 矩阵内容 \end{bmatrix}$}或者使用smallmatrix环境行内小矩阵示例$\left(\begin{smallmatrix} a b \\ c d \end{smallmatrix}\right)$6. 效率提升自定义命令与模板创建快捷命令可大幅提升效率\newcommand{\diag}[1]{\operatorname{diag}\left(#1\right)} \newcommand{\mat}[1]{\begin{bmatrix}#1\end{bmatrix}}使用时设对角矩阵 $D \diag{d_1, \ldots, d_n}$而系数矩阵 \[ A \mat{ a b \\ c d } \]推荐的基础模板结构\documentclass{article} \usepackage{amsmath,amssymb} % 自定义命令区 \newcommand{\R}{\mathbb{R}} \begin{document} % 矩阵示例 \begin{equation} A \begin{bmatrix} a_{11} \cdots a_{1n} \\ \vdots \ddots \vdots \\ a_{m1} \cdots a_{mn} \end{bmatrix} \in \R^{m \times n} \end{equation} \end{document}在撰写博士论文期间我发现将常用矩阵结构保存为独立.tex文件通过\input命令调用可以保持全文矩阵风格一致也便于后期修改。例如所有协方差矩阵都引用同一个模板文件当需要调整格式时只需修改一处。

更多文章