
在align
環境中,它會自動將同一環境中的連續行逐行標記為 (1),(2),...,(n)。但我希望它能更正確地組織方程,並使用 (1.0)、(1.1)、(1.2)... 作為第一個環境中的第一個方程align
,然後使用(2.0)、(2.1)、( 2.2)...對於以下單獨align
環境。有沒有辦法做到這一點?
答案1
我建議您加載該etoolbox
套件並使用巨集在兩個地方\patchcmd
“修補”環境。subequations
\documentclass{article}
\usepackage{amsmath} % for 'align' and 'subequations' environments
\usepackage{etoolbox} % for '\patchcmd' macro
\patchcmd{\subequations}{{0}}{{-1}}{}{} % decrement the equation counter
\patchcmd{\subequations}{\alph}{.\arabic}{}{} % change display format of eq. counter
\begin{document}
\begin{subequations}
\begin{align}
1+1=2\\
2+2=4\\
3+3=6
\end{align}
\end{subequations}
\begin{subequations}
\begin{align}
4+4=8\\
0+0=0\\
1-1=0
\end{align}
\end{subequations}
\end{document}
答案2
使用mathtools
package來編輯方程式括號。使用\patchcmd
frometoolbox
自訂子方程式標籤的外觀。
方程式和子方程式編號時從 1 開始。若要變更此行為,請使用\AtBeginEnvironment
frometoolbox
\documentclass[]{book}
\usepackage{amsmath}
\renewcommand{\theequation}{\arabic{equation}}
\usepackage{amssymb, amsfonts}
\usepackage{adjustbox}
\usepackage[]{mathtools}
\newtagform{eqbrackets}[]{(}{)}
\usetagform{eqbrackets}
\usepackage{etoolbox}
\patchcmd{\subequations}{\alph{equation}}{.\arabic{equation}}{}{}
\AtBeginEnvironment{alignat}{\addtocounter{equation}{-1}}
\begin{document}
\begin{subequations}
\begin{alignat}{3}
I_{sc} & = I_{sc,ref} & \bigg[ 1 + \frac{\alpha}{100} (T_{op}-T_{ref}) \biggl]
\label{eq:SubEq1}
\\
%
V_{oc} & = V_{oc,ref} & \bigg[ 1 + \frac{\beta}{100} (T_{op}-T_{ref}) \biggl]
\label{eq:SubEq2}
\\
%
P_{mp} & = P_{mp,ref} & \bigg[ 1 + \frac{\gamma}{100} (T_{op}-T_{ref}) \biggl]
\label{eq:SubEq3}
\end{alignat}
\end{subequations}
See SubEq. \ref{eq:SubEq1}
\begin{subequations}
\begin{alignat}{3}
I_{sc} & = I_{sc,ref} & \bigg[ 1 + \frac{\alpha}{100} (T_{op}-T_{ref}) \biggl]
\label{eq:SubEq4}
\\
%
V_{oc} & = V_{oc,ref} & \bigg[ 1 + \frac{\beta}{100} (T_{op}-T_{ref}) \biggl]
\label{eq:SubEq5}
\\
%
P_{mp} & = P_{mp,ref} & \bigg[ 1 + \frac{\gamma}{100} (T_{op}-T_{ref}) \biggl]
\label{eq:SubEq6}
\end{alignat}
\end{subequations}
See SubEq. \ref{eq:SubEq5}
\begin{subequations}
\begin{alignat}{3}
I_{sc} & = I_{sc,ref} & \bigg[ 1 + \frac{\alpha}{100} (T_{op}-T_{ref}) \biggl]
\\
%
V_{oc} & = V_{oc,ref} & \bigg[ 1 + \frac{\beta}{100} (T_{op}-T_{ref}) \biggl]
\\
%
P_{mp} & = P_{mp,ref} & \bigg[ 1 + \frac{\gamma}{100} (T_{op}-T_{ref}) \biggl]
\end{alignat}
\end{subequations}
\end{document}