将数组内的条件语句左对齐

将数组内的条件语句左对齐

我有如下形式的方程

a = b + d     for i <= 4, j < 3
  = c         for i = 5
  = d - e + u for i > 5 

我正在使用以下代码在 Latex 中编写它们:

\begin{equation} 
  a = \left\{
 \begin{array}{lr}
 b + d  & \mbox{for } i \le 4, j < 3 \\
 c & \mbox{for } i = 5 \\
 d - e + u & \mbox{for } i > 5
\end{array}
\right.
\label{eqn:simple_one} 
\end{equation}

但问题是,以“for”开头的条件语句总是右对齐,输出看起来像这样(“=”符号后有一个左括号,我无法画出来:))。

a = b + d     for i <= 4, j < 3
    c                 for i = 5
    d - e + u         for i > 5 

我想让条件部分左对齐,这样单词“for”就正好一个接一个地排列。如何实现呢?

答案1

它们是右对齐的,因为您已将{array}{lr} 其更改为{array}{ll}左对齐两列。但通常最好不要用它array来布置整个方程式,它是为矩阵/数组设计的。在这里我认为amsmath包及其cases环境会更好。

答案2

使用amsmath\cases允许使用更简单的编码来实现这一点:

\begin{equation} 
  a = \begin{cases}
 b + d  & \text{for $i \le 4$, $j < 3$} \\
 c & \text{for $i = 5$} \\
 d - e + u & \text{for $i > 5$}
\end{cases}
\label{eqn:simple_one} 
\end{equation}

结果如下:

在此处输入图片描述

还要注意,使用\text而不是\mbox. \text都会产生正确的大小,无论是在基准级别还是在下标、上标或限制中使用。

相关内容