修改子公式的编号样式

修改子公式的编号样式

以下 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加载,那么您只需修补此答案中的第一个代码,然后加载即可hyperrefhyperref使用加载时有效的定义。

相关内容