如何在align
环境中生成以下内容?
\begin{eqnarray*}& & abcd \\
&=& defg\\
&=& hijk
\end{eqnarray*}
我尝试
\begin{align*}& abcd \\
&= defg\\
&= hijk
\end{align*}
但结果并不是我想要的。
答案1
为了避免猜测空间,您可以使用
\begin{align*}
&\mathrel{\phantom{=}} abcd \\
&= defg\\
&= hijk
\end{align*}
答案2
这里你得到了第五个解决方案,这表明你想要做的事情确实有点棘手align
。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
& abcd \\
={} & defg \\
={} & hijk
\end{align*}
\end{document}
技巧:如果左栏中有=
,那么您需要在它后面放置一些内容以获得正确的间距。
答案3
这有点作弊,但在您的示例文档中,以下操作也有效:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a&bcd \\
= d&efg \\
= h&ijk
\end{align*}
\end{document}
为什么?因为我知道 a、d 和 h 的宽度都一样。这个技巧出奇地具有普遍性。
另一个解决方案给出几乎相同的结果eqnarray
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{aligned}
& & abcd \\
&=& defg \\
&=& hijk
\end{aligned}
\end{equation*}
\end{document}
这是可行的,因为aligned
子环境(必须包含在更大equation
或类似的环境中)会缩小以精确适应其内容,并以最小量分隔列。您可以通过重新定义来调整此量\minalignsep
:
\renewcommand*{\minalignsep}{2em} % 10pt by default
就像这个答案中说的:我可以全局将 `aligned` 的默认列分隔符从 \quad 更改为 \qquad 吗?。
不过,就我个人而言,我会采用 Hendrik Vogt 的方法。
答案4
\begin{align*}
&\quad\, abcd \\
&= defg \\
&= hijk
\end{align*}