我想避免使用 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}