我对 tex 中的曲线括号有疑问。尚未找到该问题的好解决方案:
我有以下公式:
\begin{equation}
\begin{aligned}
f(x) &= x + 1 \\
g(x) &= x + 2 \\
h(x) &= x + 3 \\
k(x) &= x + 4 \\
l(x) &= x + 5
\end{aligned}
\end{equation}
现在我想在右侧的 f(x) 和 g(x) 周围加一个花括号,并在花括号后面写一些内容。我还想在 h(x)、k(x) 和 l(x) 后面加一个花括号。我该如何做到这一点,同时确保所有五个方程式都与“=”符号对齐?
我刚刚尝试将公式放入 \begin{rcases} ... \end{rcases},但公式不再对齐。
提前非常感谢您!
此致!
答案1
您可以使用nicematrix
其强大的方法。
\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}
\AtBeginEnvironment{NiceArray}{\tracinglostchars=0 }
\begin{document}
\[
\renewcommand{\arraystretch}{1.2}
\begin{NiceArray}{ @{} r @{} >{{}}c<{{}} @{} l l}
f(x) &=& x + 1 & \Block{2-1}{\text{whatever}}\\
g(x) &=& x + 2 \\
h(x) &=& x + 3 & \Block{3-1}{\text{something else}}\\
k(x) &=& x + 4 \\
l(x) &=& x + 5 \\
\CodeAfter
\SubMatrix.{1-3}{2-3}\}
\SubMatrix.{3-3}{5-3}\}
\end{NiceArray}
\]
\end{document}
奇怪的设置是\tracinglostchars
为了避免虚假警告(但它们值得调查)。
列的规范通常模仿aligned
,包括 的设置\arraystretch
。我们构建两个“子矩阵”,左侧有空分隔符,右侧有括号,外加两个分别跨越两行和三行的块。
需要进行几次 LaTeX 运行才能使输出稳定,因为在测量物体后,装饰是分阶段设置的。
答案2
一个巧妙的方法是定义一个新的列类型来对齐,=
如下所示
\newcolumntype{e}{@{{$\mspace{\thinmuskip}$}}c@{{}}}
NiceArray
nicematrix
对于此类目的而言效果很好
\documentclass[11pt, a4paper]{article}
\usepackage{nicematrix}
\newcolumntype{e}{@{{$\mspace{\thinmuskip}$}}c@{{}}}
\begin{document}
\begin{equation*}
\everymath{\displaystyle}
\begin{NiceArray}[cell-space-limits=3.7pt]{r e @{\quad}l}
f(x) &= x + 1 & \Block[l]{2-1}{\text{Text for $f(x)$} \\ \text{and $g(x)$}}
\\
g(x) &= x + 2 &
\\
h(x) &= x + 3 & \Block[l]{3-1}{\text{Text for $h(x)$,} \\ \text{$k(x)$, and $k(x)$}}
\\
k(x) &= x + 4 &
\\
l(x) &= x + 5 &
\CodeAfter
\SubMatrix{.}{1-1}{2-2}{\}}[extra-height=-1.1pt]
\SubMatrix{.}{3-2}{5-2}{\}}[extra-height=-1.1pt]
\end{NiceArray}
\end{equation*}
\end{document}
答案3
我不确定我是否正确理解了你的问题。就我的理解而言,以下内容应该可以解决问题
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{aligned}
&\left.\begin{aligned}
f(x) &= x + 1 \\
g(x) &= x + 2 \\
\end{aligned}\right\}\hspace{0.5cm}\text{some stuff}\\
&\left.\begin{aligned}
h(x) &= x + 3 \\
k(x) &= x + 4 \\
l(x) &= x + 5
\end{aligned}\right\}
\end{aligned}
\end{equation}
\end{document}
制作
如果所有方程的 RHS 长度相同,内部对齐 & 将幸运地产生所需的对齐。但是,如果你真的想强制对齐,解决方案就不那么简单了,我建议你看看下面的问题:这里