我需要排版一个包含多个方程式的文本:(#1)必须包含与相应方程式相符的“最大化”和“服从”表达式;(#2)必须包含三个对齐的右括号;(#3)方程式必须单独编号。
尝试了几种方法(使用 optidef、rcases、普通数组......)后,我找到了一个线索在右括号内对齐多个方程式
我已经解决了问题 #2,并且我已经用蛮力解决了问题 #1,但我不知道如何解决要求 #3(方程式编号)。
\documentclass{memoir}
\usepackage{amsmath}
\usepackage{lipsum}
% ================================================
\begin{document}
%
\lipsum[1][1-5]
%
\begin{equation}
\begin{aligned}
\text{Maximize:}\qquad\qquad W &= W ( U_1 , U_2 ) \\[\jot]
\text{Subject to:}\qquad\qquad U_1 &= U_1 \left( x_1 , y_1 \right)\\
U_2 &= U_2 \left( x_2 , y_2 \right)\\[2\jot]
x &= x \left( K_x , L_x \right)\\
y &= y \left( K_y , L_y \right)\\[2\jot]
K_x &+ K_y = \overline{K} \\
L_x &+ L_y = \overline{L}
\end{aligned}
\begin{aligned}
&\left.\vphantom{\begin{aligned}
\text{Maximize:}\qquad\qquad W &= W ( U_1 , U_2 )\\[\jot]
\end{aligned}}\right.\\
&\left.\vphantom{\begin{aligned}
\text{Subject to:}\qquad\qquad U_1 &= U_1 \left( x_1 , y_1 \right)\\
U_2 &= U_2 \left( x_2 , y_2 \right)\\[2\jot]
\end{aligned}}\right\rbrace\quad\text{Preferences}\\
&\left.\vphantom{\begin{aligned}
x &= x \left( K_x , L_x \right)\\
y &= y \left( K_y , L_y \right)\\[2\jot]
\end{aligned}}\right\rbrace\quad\text{Tecnology}\\
&\left.\vphantom{\begin{aligned}
K_x &+ K_y = \overline{K} \\
L_x &+ L_y = \overline{L}
\end{aligned}}\right\rbrace\quad\text{Resources}\\
\end{aligned}
\end{equation}
%
\lipsum[1][1-5]
%
\end{document}
输出结果如下:
任何提示都会受到欢迎。
答案1
您可以使用 重叠 2 行条目\raisebox
。(这或多或少就是多行的工作方式。)
如果要将“最大化”一直移到左侧,请替换align
为flalign
并在右侧添加一个额外的 &。
\documentclass{memoir}
\usepackage{amsmath}
\usepackage{lipsum}
\newsavebox{\tempbox}
% ================================================
\begin{document}
%
\lipsum[1][1-5]
%
\savebox{\tempbox}{$\displaystyle \left. \begin{aligned} \mathstrut\\ \mathstrut\end{aligned}\right\rbrace$}%
%
\begin{align}
&\text{Maximize:}& W &= W ( U_1 , U_2 )\\[\jot]
&\text{Subject to:}& U_1 &= U_1 \left( x_1 , y_1 \right) && \raisebox{-0.5\baselineskip}[0pt][0pt]{\usebox\tempbox Preferences}\\
&& U_2 &= U_2 \left( x_2 , y_2 \right)\\[2\jot]
&& x &= x \left( K_x , L_x \right) && \raisebox{-0.5\baselineskip}[0pt][0pt]{\usebox\tempbox Technology}\\
&& y &= y \left( K_y , L_y \right)\\[2\jot]
&& K_x &+ K_y = \overline{K} && \raisebox{-0.5\baselineskip}[0pt][0pt]{\usebox\tempbox Resources}\\
&& L_x &+ L_y = \overline{L}
\end{align}
%
\lipsum[1][1-5]
%
\end{document}
答案2
就我个人而言,我发现带有大量花括号的布局会严重破坏多行方程中元素的视觉“流动”,使材料更难掌握而不是更容易掌握。
因此,我想提出两种完全不同的布局供大家参考。作为重新排列材料的副作用,对方程式进行编号变得非常简单。
以下屏幕截图中的水平线只是为了界定alignat
和equation
/alignat
组的垂直范围。 我仍然认为,第二种布局更简单,因此更有吸引力。
\documentclass{memoir}
\usepackage{amsmath}
\begin{document}
\hrule
\begin{alignat}{3}
\text{Maximize}&\qquad& && W &= W(U_1,U_2) \\[2\jot]
\text{Subject to}&&\text{Preferences}&\qquad& U_1 &= U_1( x_1,y_1)\\
&&&& U_2 &= U_2( x_2,y_2)\\[\jot]
&&\text{Technology} && x &= x (K_x,L_x )\\
&&&& y &= y (K_y,L_y )\\[\jot]
&&\text{Resources} && K_x &+ K_y = \bar{K} \\
&&&& L_x &+ L_y = \bar{L}
\end{alignat}
\hrule
\begin{equation}
\text{Maximize} \quad W = W(U_1,U_2)
\end{equation}
subject to the following conditions:
\begin{alignat}{2}
\text{Preferences}&\qquad& U_1 &= U_1( x_1,y_1)\\
&& U_2 &= U_2( x_2,y_2)\\[\jot]
\text{Technology} && x &= x (K_x,L_x )\\
&& y &= y (K_y,L_y )\\[\jot]
\text{Resources} && K_x &+ K_y = \bar{K} \\
&& L_x &+ L_y = \bar{L}
\end{alignat}
\hrule
\end{document}