在上图中,子方程部分的编号是按字母顺序排列的,但我想自定义方程和子方程部分,使其看起来像这样:a-I
,a-II
和a-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}}
每一次。