在 align 环境中用什么来替代 \lefteqn?

在 align 环境中用什么来替代 \lefteqn?

我想避免使用 eqnarray。我想改用 align 环境。

但是,我有一个方程,我目前按以下方式指定:

\begin{eqnarray}
\lefteqn{f(a,b,c,d,e,...)} \\
& = & A
\end{eqnarray}

如您所见,我正在使用\lefteqn,并且不能在对齐环境中使用(使用的原因\lefteqn是因为 f(a,b,c,...) 是一个非常长的术语)。

有什么想法如何使用对齐环境(与对齐环境相对应的东西)来做到这一点?

编辑:

\lefteqn有助于更好地对齐某一行中的长方程。每当某一行中出现长项时,都可以使用 lefteqn,这样下面的行就不会垂直放在长行之后。这也许很难解释,但这个想法是你会得到类似的东西:

 very long text =
   continue here

代替

  very long text =
                   continue here

答案1

\MoveEqLeft从包中使用mathtools,如下所示:

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{align}
\MoveEqLeft \text{very very long} \\
 &= \text{shorter}
\end{align}
\end{document}

编辑:如果您觉得这不会将第一行向左移动得足够远,则使用例如代替\MoveEqLeft[4]\MoveEqLeft这会将第一行移到4em左侧;默认值为2em。另请参阅第 17 页mathtools 文档

答案2

我更喜欢将多行与对齐结​​合起来:

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{multline}
x=\\
\begin{aligned*}
 &= y\\
 &= z
\end{aligned*}
\end{multline}
\end{document}

相关内容