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}

效果如下:

the align environment

我们可以为每个方程添加标签并在文中引用:

\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.

输出效果如下:

align with references

但这种方式的编号并没有体现出这些方程是同一个系统中的子项。更理想的做法是编号为 (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.

效果如下:

The subequations environment

说明:

  • \label{eq:system} 是给整个方程组添加的标签,可以在文中引用整个系统。
  • 每个子方程也有自己的标签,可以单独引用。
  • 整个系统的编号是基于前一个方程的编号递增的,比如前一个是 (2),那么系统编号就是 (3),子项为 (3a)、(3b) 等。

3.1. 自定义子方程编号格式

默认情况下,子方程使用小写字母编号,比如 (1a)、(1b)。我们可以通过重写 \theequation 命令来自定义编号格式。

例如,我们想让编号显示为 (1-A)、(1-B) 这样的格式,可以在 subequations 环境中添加如下命令:

\renewcommand{\theequation}{\theparentequation-\Alph{equation}}

效果如下:

Customizing subordinate labels

LaTeX 支持的编号格式包括:

  • \roman:小写罗马数字
  • \Roman:大写罗马数字
  • \arabic:阿拉伯数字
  • \alph:小写字母
  • \Alph:大写字母

📌 提示:如果你想让引用变成可点击的超链接,可以引入 hyperref 包。

4. 小结

本文介绍了如何在 LaTeX 中使用 subequations 环境来引用一组方程,并支持:

  • 对整个方程组的引用
  • 对单个子方程的引用
  • 自定义子方程编号格式

这种技巧在撰写学术论文、技术报告或教科书时非常实用,建议掌握。


原始标题:Referencing Subordinate Equations in LaTeX