如何在子方程环境中自定义方程编号?

如何在子方程环境中自定义方程编号?

在此处输入图片描述

在上图中,子方程部分的编号是按字母顺序排列的,但我想自定义方程和子方程部分,使其看起来像这样:a-Ia-IIa-III。以下是源代码:

\documentclass{book}

\usepackage{amsmath}
\usepackage{amssymb, amsfonts}

\usepackage{subfloat}


\begin{document}

\begin{subequations}

    \begin{align}
        I_{sc} & = I_{sc,ref} & \hspace{-30 mm} \bigg[  1 + \frac{\alpha}{100} (T_{op}-T_{ref}) \biggl]
        \vspace{2 mm}
        \label{eq:I_sc_trans_STC2}
        \\
        %
        V_{oc} & = V_{oc,ref} & \hspace{-30 mm} \bigg[  1 + \frac{\beta}{100} (T_{op}-T_{ref}) \biggl]
        \vspace{2 mm}
        \label{eq:V_oc_trans_STC}
        \\
        %
        P_{mp} & = P_{mp,ref} & \hspace{-30 mm} \bigg[  1 + \frac{\gamma}{100} (T_{op}-T_{ref}) \biggl]
        \label{eq:P_mp_trans_STC}
    \end{align}

\end{subequations}

\end{document}

答案1

你可以放

\renewcommand{\theequation}{\alph{parentequation}--\Roman{equation}}

刚过\begin{subequations}

在下面的 MWE 中,我使用了alignat而不是来避免使用文本命令来表示水平空间,并且我使用而不是 之align类的东西来调整方程之间的垂直空间。此外,使用 可以使文本下标看起来更好。\\[2mm]\vspace{2 mm}\\\text

\documentclass{book}

\usepackage{amsmath}
\usepackage{amssymb, amsfonts}

\begin{document}

\begin{subequations}
\renewcommand{\theequation}{\alph{parentequation}--\Roman{equation}}

    \begin{alignat}{2}
        I_{\text{sc}} & = I_{\text{sc},\text{ref}} & \bigg[  1 + \frac{\alpha}{100} (T_{\text{op}}-T_{\text{ref}}) \biggl]
        \label{eq:I_sc_trans_STC2}
        \\[2mm]
        %
        V_{\text{oc}} & = V_{\text{oc},\text{ref}} & \bigg[  1 + \frac{\beta}{100} (T_{\text{op}}-T_{\text{ref}}) \biggl]
        \label{eq:V_oc_trans_STC}
        \\[2mm]
        %
        P_{\text{mp}} & = P_{\text{mp},\text{ref}} & \bigg[  1 + \frac{\gamma}{100} (T_{\text{op}}-T_{\text{ref}}) \biggl]
        \label{eq:P_mp_trans_STC}
    \end{alignat}

\end{subequations}

\end{document} 

在此处输入图片描述


如果您全局需要这种行为,即\alpha对所有方程进行编号并对\Roman所有子方程进行编号,请在序言中添加以下几行:

\usepackage{etoolbox}
\patchcmd{\subequations}{\alph{equation}}{--\Roman{equation}}{}{}

\renewcommand{\theequation}{\alph{equation}}

而不是使用

\renewcommand{\theequation}{\alph{parentequation}--\Roman{equation}}

每一次。

相关内容