以下最佳格式是什么align
?cases
中间情况有一个很长的数学方程式?
\begin{align*}
V_{ijk}& = \begin{cases}
\dfrac{y_u+y_l}2 - \dfrac{x_u+x_l}2,& \text{if }x_u < y_l\\[15pt]
\dfrac1C \bigg[\dfrac{x_u^3-y_l^3}{6}+\dfrac{y_l^2+x_u^2}{2}x_l + (x_u-y_l)\dfrac{x_l^2}{2}+ \dfrac{y_u^2-x_u^2}{2}(x_u-x_l)& - (y_u-x_u)\dfrac{x_u^2-x_l^2}{2} \bigg],
\\[12pt]& \text{if }x_u\in\left[y_l,y_u\right]\\[15pt]
\dfrac1{x_u-x_l}\bigg[\dfrac{(y_u+y_l)^2}6 - \dfrac{y_u+y_l}2 x_l + \dfrac{x_l^2}2\bigg],& \text{otherwise}
\end{cases}
\end{align*}
当前解决方法的主要默认设置几乎没问题,但在-(y_u-x_u)
此之前有一个多余的空格,很烦人。请注意,我将第二个 if 文本放在第二个等式下方,因为否则对于我的回忆录来说它太宽了。如果可能的话,请尽量选择最简单的解决方案 :)
答案1
使用\mfrac
来自nccmath
和multlined
来自mathtools
包:
\documentclass{article}
\usepackage{mathtools, nccmath}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\[
V_{ijk} = \begin{cases}
\mfrac{y_u+y_l}{2} - \mfrac{x_u+x_l}{2}, &\text{if }x_u < y_l \\[3ex]
\begin{multlined}
\mfrac{1}{C} \bigg[\mfrac{x_u^3-y_l^3}{6}+\mfrac{y_l^2+x_u^2}{2}x_l
+ (x_u-y_l)\mfrac{x_l^2}{2}\\[-2ex]
+ \mfrac{y_u^2-x_u^2}{2}(x_u-x_l) - (y_u-x_u)\mfrac{x_u^2-x_l^2}{2} \biggr]
\end{multlined},
& \text{if }x_u\in [y_l,y_u ]
\\[5ex]
\mfrac{1}{x_u-x_l}\biggl[\mfrac{(y_u+y_l)^2}{6} - \mfrac{y_u+y_l}{2} x_l
+ \mfrac{x_l^2}{2}\biggr],& \text{otherwise}
\end{cases}
\]
\end{document}
答案2
我很确定这是重复的。但使用以下方法也很容易解决aligned
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
V_{ijk}& = \begin{cases} \dfrac{y_u+y_l}2 - \dfrac{x_u+x_l}2,&
\text{if }x_u < y_l
\\[15pt]
\begin{aligned}[b]
&\dfrac1C \bigg[\dfrac{x_u^3-y_l^3}{6}+\dfrac{y_l^2+x_u^2}{2}x_l
+ (x_u-y_l)\dfrac{x_l^2}{2}
\\
&+ \dfrac{y_u^2-x_u^2}{2}(x_u-x_l) -
(y_u-x_u)\dfrac{x_u^2-x_l^2}{2} \bigg]
\end{aligned},
& \text{if }x_u\in\left[y_l,y_u\right]
\\[15pt]
\dfrac1{x_u-x_l}\bigg[\dfrac{(y_u+y_l)^2}6 - \dfrac{y_u+y_l}2 x_l
+ \dfrac{x_l^2}2\bigg],& \text{otherwise}
\end{cases}
\end{align*}
\end{document}
答案3
我的建议是不要使用cases
,因为它也会增加嵌套对齐内的行间空间。
使用multlined
长中间方程就可以完成这项工作。
\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{equation*}
V_{ijk} = \left\{
\begin{aligned}
& \dfrac{y_u+y_l}2 - \dfrac{x_u+x_l}2, && \text{if }x_u < y_l
\\[2ex]
& \begin{multlined}[b]
\dfrac{1}{C} \biggl[
\dfrac{x_u^3-y_l^3}{6}+\dfrac{y_l^2+x_u^2}{2}x_l + (x_u-y_l)\dfrac{x_l^2}{2} \\
+ \dfrac{y_u^2-x_u^2}{2}(x_u-x_l) - (y_u-x_u)\dfrac{x_u^2-x_l^2}{2}
\biggr],
\end{multlined} && \text{if }x_u\in [y_l,y_u]
\\[2ex]
& \dfrac{1}{x_u-x_l}\biggl[
\dfrac{(y_u+y_l)^2}6 - \dfrac{y_u+y_l}2 x_l + \dfrac{x_l^2}2
\biggr], && \text{otherwise}
\end{aligned}
\right.
\end{equation*}
\end{document}
避免使用\frac1C
难以阅读和维护的代码。还请注意使用\biggl
和\biggr
而不是不合格的\bigg
。
也应避免align
使用单一方程式(这是一个例子)。
答案4
dcases*
这是一个使用环境而不是环境的解决方案cases
。d
中的dcases
表示“显示样式”;这意味着,除其他外,可以写\frac
而不是\dfrac
以获得“大”分数项。
请注意,我已删除了不必要的\left
指令\right
。
\documentclass{article}
\usepackage{mathtools} % for 'dcases*' environment
\begin{document}
\[
V_{ijk} =
\begin{dcases*}
\frac{y_u+y_l}{2} - \frac{x_u+x_l}{2}\,,
&if $x_u < y_l$\\[1ex]
\begin{aligned}[b]
&\frac{1}{C} \biggl[
\frac{x_u^3-y_l^3}{6}+\frac{y_l^2+x_u^2}{2}x_l
+ (x_u-y_l)\frac{x_l^2}{2}\\
&\quad + \frac{y_u^2-x_u^2}{2}(x_u-x_l)
- (y_u-x_u)\frac{x_u^2-x_l^2}{2} \,\biggr]\,,
\end{aligned}
&if $x_u\in[y_l,y_u]$ \\[1ex]
\frac{1}{x_u-x_l} \biggl[
\frac{(y_u+y_l)^2}{6}
- \frac{y_u+y_l}{2} x_l
+ \frac{x_l^2}{2} \,\biggr]\,,
& otherwise
\end{dcases*}
\]
\end{document}