如何在 eqnarray 环境中获取单行 flushleft

如何在 eqnarray 环境中获取单行 flushleft

我想让 eqnarray 环境中的一行向左刷新。这是我目前的代码

\begin{eqnarray}
\delta_{j}      & = & \sum_{i = j+1}^{d} n_{i}  \\
and \nonumber\\
g^{\prime}(x)   & = &  \left\{
\begin{array}{ll}
    \cos (n_{p-1} \, \theta_{1})            &  \text{for~~} n_{p} = 0   \\
    \sin ( (n_{p-1} + 1) \, \theta_{1})     &  \text{for~~} n_{p} = 1   \\
\end{array}
\right.
\end{eqnarray}

我想画一条与左侧and \nonumber\\齐平的线。

这是当前输出的图片以及我希望发生的情况的描述

在此处输入图片描述

我尝试过使用\hspace、和 的组合,\hfill\noindent 没有成功。以这种方式输入代码的原因是因为我确实想让等号保持对齐。

答案1

您不应该使用,eqnarray因为它会在对齐点周围产生不好的间距。请使用环境之一amsmathalignalignat,此外,它们更容易输入,和\intertext。在这里,我mathtools为其命令加载了 amsmath 的扩展\shortintertext(单个单词的垂直间距更好)。我还\left\{\begin{array}{ll} ... \end{array}用简单cases*环境替换了,它在文本模式下切换第二列。请注意,您不必输入g^{\prime}派生词:一个简单的g'就可以了:

\documentclass {book}

\usepackage {mathtools}

\begin {document}

\begin{align}
\delta_{j} & = \smashoperator{\sum_{i = j+1}^{d}} n_{i} \\
\shortintertext{and}
g'(x) & = \begin{cases*}
\cos (n_{p-1} \, \theta_{1}) & for $n_{p} = 0$, \\
\sin ( (n_{p-1} + 1) \, \theta_{1}) & for $n_{p} = 1$. \\
\end{cases*}
\end{align}

\end {document} 

在此处输入图片描述

相关内容