包含长数学公式的案例

包含长数学公式的案例

以下最佳格式是什么aligncases中间情况有一个很长的数学方程式?

\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来自nccmathmultlined来自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*这是一个使用环境而不是环境的解决方案casesd中的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}

相关内容