1. 引言
在本教程中,我们将讨论如何在 LaTeX 中引用子方程(subordinate equations),也就是一个方程组中的各个子项。这种方式在展示多个相关方程时非常有用,既能统一编号,又能单独引用。
2. 问题描述
有时候我们需要展示一组相关的方程,LaTeX 提供了多种方式来实现这一点。比如,我们可以使用 amsmath
包中的 align
环境:
\begin{align}
x + y & \geq 0 \\
x - y & \leq 4 \\
x \times y & \geq 1 \\
x^y + y^x & \geq 1 \\
\end{align}
效果如下:
我们可以为每个方程添加标签并在文中引用:
\begin{align}
x + y & \geq 0 \label{eq:sum} \\
x - y & \leq 4 \label{eq:difference}\\
x \times y & \geq 1 \label{eq:product}\\
x^y + y^x & \geq 1 \label{eq:exp_sum}
\end{align}
Equations \eqref{eq:product} and \eqref{eq:exp_sum} are tricky.
输出效果如下:
但这种方式的编号并没有体现出这些方程是同一个系统中的子项。更理想的做法是编号为 (1a)、(1b)、(1c)、(1d) 这样的格式。
另外,这种方式也无法单独引用整个方程组本身。如果我们想引用整个系统,就必须手动引用所有子项或至少引用第一个和最后一个,这样操作起来比较麻烦。
3. 使用 subequations
环境
LaTeX 提供了 subequations
环境来解决上述两个问题:
✅ 可以引用整个方程组
✅ 可以单独引用每个子方程
✅ 编号自动变成 (1a)、(1b) 格式
示例代码如下:
Let's solve System \eqref{eq:system}:
\begin{subequations} \label{eq:system}
\begin{align}
x + y & \geq 0 \label{eq:sum} \\
x - y & \leq 4 \label{eq:diff}\\
x \times y & \geq 1 \label{eq:prod} \\
x^y + y^x &\geq 1 \label{eq:exp_sum}
\end{align}
\end{subequations}
We should pay special attention to Equations \eqref{eq:prod} and \eqref{eq:exp_sum} because they're tricky.
效果如下:
说明:
\label{eq:system}
是给整个方程组添加的标签,可以在文中引用整个系统。- 每个子方程也有自己的标签,可以单独引用。
- 整个系统的编号是基于前一个方程的编号递增的,比如前一个是 (2),那么系统编号就是 (3),子项为 (3a)、(3b) 等。
3.1. 自定义子方程编号格式
默认情况下,子方程使用小写字母编号,比如 (1a)、(1b)。我们可以通过重写 \theequation
命令来自定义编号格式。
例如,我们想让编号显示为 (1-A)、(1-B) 这样的格式,可以在 subequations
环境中添加如下命令:
\renewcommand{\theequation}{\theparentequation-\Alph{equation}}
效果如下:
LaTeX 支持的编号格式包括:
\roman
:小写罗马数字\Roman
:大写罗马数字\arabic
:阿拉伯数字\alph
:小写字母\Alph
:大写字母
📌 提示:如果你想让引用变成可点击的超链接,可以引入 hyperref
包。
4. 小结
本文介绍了如何在 LaTeX 中使用 subequations
环境来引用一组方程,并支持:
- 对整个方程组的引用
- 对单个子方程的引用
- 自定义子方程编号格式
这种技巧在撰写学术论文、技术报告或教科书时非常实用,建议掌握。