在使用LaTeX排版公式时,subequations环境是管理一组相关公式编号的常用工具。它会自动将公式编号格式化为“主编号+子编号”(例如2.1、2.2),但有时我们需要让组内第一个公式保持主编号格式,后续公式才使用子编号——这种需求该如何实现呢?
(封面id:95018910)
问题场景:为何需要特殊编号?
在撰写学术论文或技术文档时,可能会遇到这样的场景:一组公式中,第一个公式是核心结论,后续公式是其推导步骤或补充说明。此时希望核心公式使用独立的主编号(如式(5)),而补充公式使用子编号(如式(5a)、式(5b)),既体现关联性,又突出核心公式的重要性。
amsmath宏包提供的subnumcases环境虽然能实现类似效果,但灵活性较低。其实通过tag命令手动指定编号,配合\theequation获取当前主编号,就能轻松实现我们需要的格式。
实现方法:手动控制编号格式
以下是具体的代码示例,核心思路是:在align环境中,给第一个公式手动指定主编号,后续公式使用默认的子编号:
\begin{subequations}
\begin{align}
% 第一个公式:手动指定为主编号
A + B &= C \tag{\theequation} \label{eq:main} \\
% 后续公式:自动使用子编号(如主编号a、主编号b)
X + Y &= Z \label{eq:sub1} \\
P - Q &= R \label{eq:sub2}
\end{align}
\end{subequations}
% 引用示例
\eqref{eq:main} \eqref{eq:sub1} \eqref{eq:sub2}

代码解析:关键命令的作用
-
subequations环境:
该环境会临时修改equation计数器的行为,使内部公式的编号格式变为“主编号+子编号”。但通过tag命令可以覆盖这种默认行为。 -
\tag{\theequation}:\theequation用于获取当前的主编号(例如当全局公式编号为5时,\theequation的值为5);\tag命令强制将当前公式的编号设置为指定内容,这里即“主编号”(如5),而非默认的子编号(如5a)。
-
标签与引用:
每个公式仍可通过\label设置标签,后续用\eqref引用时,会正确显示对应的编号(主编号或子编号)。
注意事项
-
宏包依赖:必须导入
amsmath宏包(\usepackage{amsmath}),否则align、subequations等环境和\tag命令无法使用。 -
编号连续性:
subequations环境会自动管理主编号的递增,无需手动干预。即使后续新增公式,主编号和子编号也会自动调整。 -
兼容性:该方法适用于
align、gather等常见的多公式环境,只需在需要特殊编号的公式后添加\tag{\theequation}即可。
通过这种方式,我们既能利用subequations环境的关联性管理,又能灵活控制编号格式,让公式排版更符合文档的逻辑需求。如果需要调整编号的显示样式(如去掉括号、改为字母编号等),只需修改\tag命令中的格式即可(例如\tag{\theequation a})。


805

被折叠的 条评论
为什么被折叠?



