如同这问题是,我怎样才能让subequations
环境给我number.number
样式标签,例如像1.1
和 这样的标签1.2
?我怎样才能在本地执行此操作(即,不是针对整个文档)?
答案1
本地
只需放在\def\theequation{\theparentequation.\arabic{equation}}%
后面即可\begin{subequations}
。
全球
将下面的代码放在 后面\usepackage{amsmath}
。
\makeatletter
\renewenvironment{subequations}{%
\refstepcounter{equation}%
\protected@edef\theparentequation{\theequation}%
\setcounter{parentequation}{\value{equation}}%
\setcounter{equation}{0}%
% \def\theequation{\theparentequation\alph{equation}}%
\def\theequation{\theparentequation.\arabic{equation}}%
\ignorespaces
}{%
\setcounter{equation}{\value{parentequation}}%
\ignorespacesafterend
}
\makeatother
答案2
(已编辑答案以满足 OP 的后续请求)
您可以使用\patchcmd
由电子工具箱包,来“修补”\subequations
宏的数学包裹:
\patchcmd\subequations{\alph{equation}}{.\arabic{equation}}{}{}
将此命令放在前言中以使更改成为全局更改。如果你想将更改保留在subequations
环境的特定实例中,我建议你将上面显示的修补命令和subequations
感兴趣的环境包含在 TeX 组中,例如通过
\begingroup
\patchcmd\subequations{\alph{equation}}{.\arabic{equation}}{}{}
\begin{subequations}
...
\end{subequations}
\endgroup
\documentclass{article}
\usepackage{amsmath} % for 'subequations' environment
\usepackage{etoolbox} % for '\patchcmd' macro
% the scope of the following instruction is *global*
\patchcmd\subequations{\alph{equation}}{.\arabic{equation}}{}{}
\begin{document}
\begin{subequations}
\begin{gather}
a+b=c \\
d+e=f
\end{gather}
\end{subequations}
\end{document}