我有如下形式的方程
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
都会产生正确的大小,无论是在基准级别还是在下标、上标或限制中使用。