这个问题与这里提供的答案有点相关: 如何使用左对齐环境?
我使用 algorithm2e 和 mathtools 编写一个包含方程式的算法。我希望它位于左侧。为什么我必须在行首添加额外的 &(为了清晰起见,后面加了一个空格),而没有算法环境我不需要这样做?
梅威瑟:
\documentclass{article}
\usepackage{mathtools}
\usepackage[ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\begin{flalign*}
& \mu_\beta \leftarrow \frac{1}{m} \sum_{i=1}^{m}{x_1}&
\end{flalign*}
\end{algorithm}
\end{document}
答案1
这与 无关,algorithm2e
所以我将忽略它。基本上align
,它的兄弟实际上是连续rl
列的数组。flalign
然后拉伸列间空间在这些之间 rl
对填充页面宽度。当然,这只有在您至少有两对这样的列时才有效,也就是说,您至少需要两个&
:如果您只有一个&
,那么您就从列跳转r
到列l
,但您仍然有所谓的amsmath
“方程式列”(正如我所说,它实际上是一对列),并且这仍然会居中。
\documentclass{article}
\usepackage{mathtools}
\usepackage[showframe,textwidth=8cm]{geometry}
\begin{document}
\begin{flalign*}
R & L & R & L \\
right & left & right & left
\end{flalign*}
%
\begin{flalign*}
fooooo & \\
baz &
\end{flalign*}
%
\begin{flalign*}
& fooooo \\
& baz
\end{flalign*}
%
\begin{flalign*}
& fooooo & \\
& baz &
\end{flalign*}
%
\begin{flalign*}
fooooo &&\\
baz &&
\end{flalign*}
\end{document}
请注意,在最后两个例子中,原则上将第二个放在&
一行中就足够了,因为这足以触发扩展机制。