我试图对一些由两部分组成的方程进行编号。例如,在这个数字,我希望方程式“1a”为“1”,方程式“1b”和“1c”分别为“2a”和“2b”。此外,方程式“1d”和“1e”将合在一起成为方程式 3。
我现在使用的代码如下:
\documentclass[12pt]{article}
\usepackage{amsmath,amsthm}
\usepackage{mathtools}
\begin{document}
\begin{subequations}
\begin{alignat}{2}
\max_{p_1} \pi_R &=(p_1-c_1)(a_1-b_1*p_1) \notag \\
\max_{p_2,x_1} \pi_C &=(p_2-c_2)(a_2-b_2*p_2)-x_1r_1 \notag \\
\text{s. t.\enspace} \notag \\
(a_1-b_1p_1)&<(a_2-b_2*p_2)\\
p_1 & \le p_2 & & (\text{when } a_1\le a_2) \\
x_1r_1 & \le p_2 & & (\text{when } a_2 < a_1)\\
c_1&<c_2\\
b_1&=b_2
\end{alignat}
\end{subequations}
\end{document}
答案1
这适合你吗?
\documentclass[12pt]{article}
\usepackage{amsthm}
\usepackage{mathtools, nccmath}
\usepackage{eqparbox}
\newcommand{\eqmathboxr}[2][Mr]{\eqmakebox[#1][r]{$\displaystyle#2$}}
\newcommand{\eqmathboxl}[2][Ml]{\eqmakebox[#1][l]{$\displaystyle#2$}}
\begin{document}
\begin{align}
\max_{p_1} \pi_R &=(p_1-c_1)(a_1-b_1*p_1) \notag \\
\eqmathboxr{\max_{p_2,x_1} \pi_C} &=\eqmathboxl{(p_2-c_2)(a_2-b_2*p_2)-x_1r_1} \notag \\
\eqmakebox[Mr][l]{s. t.}\notag \\
\eqmathboxr{(a_1-b_1p_1)}&<(a_2-b_2*p_2)
\end{align}
\vspace*{-6ex}
\begin{subequations}
\begin{align}
\eqmathboxr{p_1} & \le \eqmathboxl{p_2} \llap{(when $ a_1\le a_2 $)}\\
x_1r_1 & \le \eqmathboxl{p_2 } \llap{(when $ a_2 < a_1 $)}
\end{align}
\end{subequations}
\vspace*{-3ex}
\begin{equation}
\begin{aligned}
\eqmathboxr{c_1}&<\eqmathboxl{c_2}\\
b_1&=b_2
\end{aligned}
\end{equation}
\end{document}
解释:一般的想法是使用三个独立的对齐环境,因为不可能只对环境中的某些行使用子方程环境align
,并且借助eqparbox
包使这些环境的对齐点相同:我定义了 \eqmathboxr
和\eqmathboxl
命令,它们只是\eqmathbox
包定义的命令,其内容分别为数学模式、显示样式和 flushright 或 flushleft。这些命令/框使用标签(具有默认值),以便共享相同标签的所有框的宽度等于最宽的内容。我最终将这些命令应用于整个方程组最相关的左侧或右侧。
答案2
您可以这样做;但是,我对条件的多重编号颇感怀疑。
\documentclass[12pt]{article}
\usepackage{amsmath,amsthm}
\usepackage{mathtools}
\usepackage{lipsum}
\newcommand{\advanceparent}{%
\stepcounter{parentequation}%
\setcounter{equation}{0}%
\xdef\theparentequation{\arabic{parentequation}}%
}
\begin{document}
\lipsum*[3]
\begin{subequations}\label{mkctest}
\begin{alignat}{3}
&\mathmakebox[3em][l]{
\begin{aligned}[b]
\max_{p_1} \pi_R &=(p_1-c_1)(a_1-b_1*p_1)
\\
\max_{p_2,x_1} \pi_C &=(p_2-c_2)(a_2-b_2*p_2)-x_1r_1
\end{aligned}
} \notag \\
&\text{s. t.} \notag \\
&& (a_1-b_1p_1) &< (a_2-b_2*p_2) \tag{\ref{mkctest}}
\\
\advanceparent
&& p_1 &\le p_2 &\quad& (\text{when } a_1\le a_2) \\
&& x_1r_1 &\le p_2 & & (\text{when } a_2 < a_1) \\
\advanceparent
&& c_1 &< c_2 \\
&& b_1 &= b_2
\end{alignat}
\end{subequations}
\lipsum[4]
\end{document}
答案3
有多余的&
和缺失的\\
\documentclass[12pt]{article}
\usepackage{amsmath,amsthm}
\usepackage{mathtools}
\begin{document}
\begin{subequations}
\begin{alignat}{2}
\max_{p_1} \pi_R &=(p_1-c_1)(a_1-b_1*p_1) \notag \\
\max_{p_2,x_1} \pi_C &=(p_2-c_2)(a_2-b_2*p_2)-x_1r_1 \notag \\
\text{s. t.\enspace} \notag \\
(a_1-b_1p_1) & <(a_2-b_2*p_2) & \\
p_1 & \le p_2 & (\text{when } a_1\le a_2) \\
x_1r_1 & \le p_2 & (\text{when } a_2 < a_1) \\
c_1 & <c_2 & \\
b_1 & =b_2
\end{alignat}
\end{subequations}
\end{document}