以下 MWE 生成子方程编号 1a 和 1b。但是,我希望将其显示为 1A 和 1B。我可能必须重命名 \theequation,但到目前为止我还没有成功 :(。您知道正确的代码吗?
谢谢
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{subequations}
\begin{align}
3 &= 1+2 \\
6 &= 2+4
\end{align}
\end{subequations}
\end{document}
答案1
您可以使用 来修补subequations
环境,而不是:etoolbox
\patchcmd
\Alph
\alph
\documentclass{report}
\usepackage{amsmath}
\usepackage{etoolbox}
\patchcmd\subequations{\alph}{\Alph}{}{\GenericError{}{Patching failed.}{}{}}
\begin{document}
\begin{subequations}
\begin{align}
3 &= 1+2 \\
6 &= 2+4
\end{align}
\end{subequations}
\end{document}
编辑:如果hyperref
已经加载,subequations
我们不必进行修补,而必须进行修补HyOrg@subequations
。下面执行此操作(不测试 是否hyperref
实际加载):
\documentclass{report}
\usepackage{amsmath}
\usepackage{etoolbox}
\usepackage[]{hyperref}
\makeatletter
\AtBeginDocument
{%
\patchcmd\HyOrg@subequations
{\alph}{\Alph}{}{\GenericError{}{Patching failed}{}{}}%
}
\makeatother
\begin{document}
\begin{subequations}
\begin{align}
3 &= 1+2 \\
6 &= 2+4
\end{align}
\end{subequations}
\end{document}
编辑2:如果您可以控制何时hyperref
加载,那么您只需修补此答案中的第一个代码,然后加载即可hyperref
。hyperref
使用加载时有效的定义。