在上圖中,編號的子方程式部分是按字母順序排列的,但我想將方程式和子方程式部分自訂為如下所示: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}}
每一次。