
Я пытаюсь сделать что-то вроде этого:
Но я не могу найти способ выровнять две скобки. Это всегда выглядит так:
\begin{equation*}
\left. \begin{array}{r}
x1 + x2 \leq 5
\end{array} \right\}
\text{Equation 1 says ..}
\end{equation*}
\begin{equation*}
\left. \begin{array}{r}
x1 + x2 + x3 + x4 + x5 \leq 5
\end{array} \right\}
\text{Equation 2 says ..}
\end{equation*}
решение1
На основе предоставленного фрагмента кода вам не нужно разделять уравнения. Вместо этого установите их как часть одного и того же align
ment и используйте принудительное изменение размера скобок:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
& x_1 + x_2 \leq 5 & \quad & \Big\}~
\text{Equation 1 says \ldots} \\
& x_1 + x_2 + x_3 + x_4 + x_5 \leq 5 & \quad & \Big\}~
\text{Equation 2 says \ldots}
\end{alignat*}
\end{document}
Вы можете поиграть с размером \Big
, даже растянуть его с помощью \vphantom
.
решение2
решение3
Два других решения: одно с eqparbox
и drcases
окружением, из mathtools
. Я определяю \eqmathbox
команду, которая принимает в качестве необязательного аргумента a tag
( Eq
по умолчанию), и обязательный аргумент, установленный в mathmode, display style. Все блоки, разделяющие один и тот же тег, будут иметь ширину наибольшего содержимого этих блоков.
Другое решение основано на blkarray
и его \Right{delimiter}{some text}
команде (которая будет использоваться в преамбуле blocks
).
Обратите внимание, что между этими решениями есть визуальное различие: длина текста после правой фигурной скобки в решении blkarray
не учитывается при центрировании, как будто some text
на самом деле \rlap{some text}
.
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{mathtools, eqparbox, blkarray}
\newcommand{\eqmathbox}[2][Eq]{\eqparbox{#1}{$\displaystyle#2$}
}
\begin{document}
\begin{align*}
\begin{drcases*}
\eqmathbox{x₁ + x₂ \leq 5}
\end{drcases*}\quad\text{Equation 1 says \ldots} \\[2ex]
\begin{drcases*}
\eqmathbox{ x₁ + x₂ + x₃ + x₄ + x₅ \leq 5 d\quad}
\end{drcases*}\quad\text{Equation 2 says \ldots}
\end{align*}
\[
\begin{blockarray}{l}
\begin{block}{@{}l<{\quad}\Right{\}\quad}{Equation 1 says \ldots}}
x₁ + x₂ \leq 5 \\
\end{block}
\\
\begin{block}{@{}l<{\quad}\Right{\}\quad}{Equation 2 says \ldots}}
x₁ + x₂ + x₃ + x₄ + x₅ \leq 5 \\
\end{block}
\end{blockarray} \]%
\end{document}