如何使用右括号来表示多个编号的方程式?

如何使用右括号来表示多个编号的方程式?

我在数组或对齐环境中有一个方程列表。我的目标是用右括号包裹其中的一些,并在括号右侧有一个表达式,并保留页面右侧的方程编号。您可以在下面看到一个例子。我目前的问题是:

  1. 我无法控制方程式与括号的对齐。我希望这些方程式从同一点开始。

  2. 带括号的方程式编号丢失。

我想要的方程式如下:

在此处输入图片描述

\begin{alignat}{3}
\text{min}  \quad z   & & \text{[Optimization Problem]}\nonumber \\ 
&\text{s.t. }  \\
& f_a(x)=1 & \forall a \in A\\
&\left .
\begin{array}{cc}
&f_b(x)=1+2+3\\
&g_b(x)=1\\
\end{array}
\right \}&\forall b\in B
\end{alignat}

答案1

我做了一个解决方案,其中括号是用bigdelim包完成的。因此我需要将括号集的顶部方程式放入数组中。

\usepackage{bigdelim}

\begin{alignat}{2}
\text{min}  \quad z   & & & \text{[Optimization Problem]}\nonumber \\ 
&\text{s.t. }  \nonumber \\
& f_a(x)=1 & & \forall a \in A \\
& 
\begin{array}{@{}lc}
f_b(x)=1+2+3 & \rdelim\}{2}{2mm}\\
\end{array} & \\
& g_b(x)=1
 & & \raisebox{.5\baselineskip}[0pt]{$\forall b\in B$}  
\end{alignat}

在此处输入图片描述

答案2

您可以将下面两个方程的括号和定义域移动到位:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat}{3}
  \text{min $z$} & \qquad\rlap{[Optimization Problem]} \nonumber \\ 
  \text{s.t.} \quad
  f_a(x) &= 1 & \forall a \in A \\
  f_b(x) &= 1 + 2 + 3
    \raisebox{-.5\baselineskip}[0pt][0pt]{$
    \left.\kern-\nulldelimiterspace
    \begin{array}{ @{} c } \mathstrut \\ \mathstrut \end{array}
    \right\}
    $} \\
  g_b(x) &= 1 &
    \hspace{4em} % To move content left/right
    \raisebox{.5\baselineskip}[0pt][0pt]{$
       \forall b \in B
    $}
\end{alignat}

\end{document}

答案3

我根据“mathtools”提出以下alignat建议rcases

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}%

 \begin{document}

\begin{alignat}{2}
  \min z & & & \tag*{\small[Optimization Problem]} \\
  \text{s.t. }\raisebox{0pt}[0pt][0pt]{\rule[-2.5\baselineskip]{0.5pt}{3\baselineskip}}\; & f_a(x)=1 & & ∀ a ∈ A \\
  & \negmedspace \begin{rcases}f_b(x)=1+2+3\\[2.5pt]%
  g_b(x)=1
  \end{rcases}
  &\quad & ∀ b ∈ B
\end{alignat}

\end{document} 

在此处输入图片描述

答案4

请参阅 Stefan Kottowitz 给出的简单解决方案https://latex.org/forum/viewtopic.php?t=30012我将其转述如下

\documentclass{article} 
\usepackage{empheq}

\begin{document}

\begin{empheq}[right=\empheqrbrace]{align}
  2x+y    &=  1 \\
  8x*y    &= 12 \\
  12x/c^2 &= 10
\end{empheq}

\end{document}

相关内容