我希望有一个cases
环境,其中包含一些太长而无法在一行中容纳的案例。我尝试了以下操作:
\begin{cases}
\begin{split}
long expression \\ second line of long expression
\end{split} & condition \\
...
但我收到警告
包 amsmath 警告:这里不能使用‘split’;尝试在输入行 201 上使用‘aligned’进行恢复。
它会自动split
用aligned
环境替换,如下所示:
有什么方法可以让这些长表达式表现得像在split
或multline
环境中一样,顶行向左对齐,下一行稍微缩进一点?
答案1
好吧,我会遵循 amsmath 的建议,使用 aligned 而不是 split:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\text{left hand side} =
\begin{cases}
\!\begin{aligned}%[b]
& \text{a very long expression} \\
& + \text{that continues on the next line}
\end{aligned} & \text{1st condition} \\%[1ex]
\text{short expression} & \text{2nd condition}
\end{cases}
\]
\end{document}
这会产生您想要的输出吗?(请注意,\!
前面的aligned
是必需的,因为该环境添加了 ,\,
我们必须取消。)
编辑:如果您想实现 Niel 建议的对齐和间距(@Niel:我想要这个;很好的发现),那么只需删除%
代码中的这两个。
答案2
这是 Hendrik 的另一种构造,它将1st condition
与长表达式的最底行对齐(我建议这通常是一种可读性方面的良好做法)。我还在两个公式之间添加了垂直空间,以便更容易在视觉上将两者区分开。
\documentclass{文章} \usepackage{amsmath} \开始{文档} \[ \text{左侧} = \左边\{ \开始{对齐} & \text{非常长的表达式} \\ & + \text{在下一行继续} && \text{第一个条件} \\[1ex] & \text{简短表达} && \text{第二个条件} \结束{对齐} \正确的。 \] \结束{文档}
我cases
在这里省略了环境,因为它所做的所有对齐工作现在都由 更好地执行aligned
。选择对齐选项卡是为了获得条件的统一对齐,以及涉及的所有内容的左对齐;可以更改它们以获得所需的右对齐。
答案3
分享Latex
仅给出具体的例子而不是只放文字假设你已经写了以下案例方程
\begin{equation*}
L_{t}=
\begin{cases}
A_{t} & \text{if }A_{t}\leq L_{t-1}e^{g} \\
L_{t-1}e^{g} & \text{if }L_{t-1}e^{g}<A_{t}\leq
L_{t-1}e^{g}+E_{t-1}e^{g}+B_{t-1} \\
\begin{split}
L_{t-1}e^{g} \\
+\alpha \delta(1-b)(A_{t}-L_{t-1}e^{g}-E_{t-1}e^{g}-B_{t-1})
\end{split} & \text{if } A_{t}>L_{t-1}e^{g}+E_{t-1}e^{g}+B_{t-1}
\end{cases}
\end{equation*}
正如你所见,它不太合适,那么你可以写下以下内容
\begin{equation*}
L_{t}=
\left\{
\begin{aligned}
& A_{t} && \text{if }A_{t}\leq L_{t-1}e^{g} \\
& L_{t-1}e^{g} && \text{if }L_{t-1}e^{g}<A_{t}\leq L_{t-1}e^{g}+E_{t-1}e^{g}+B_{t-1} \\
& L_{t-1}e^{g} \\
& \quad + \alpha \delta(1-b)(A_{t}-L_{t-1}e^{g}-E_{t-1}e^{g}-B_{t-1}) && \text{if } A_{t}>L_{t-1}e^{g}+E_{t-1}e^{g}+B_{t-1} \\
\end{aligned}
\right.
\end{equation*}