将 algorithm2e 环境水平居中在页面上的最佳方法是什么?它\centering
是否就像图形一样,或者更确切地说是封闭的\begin{center} ... \end{center}
,或者甚至有必要使用minipage
?
提前致谢!
答案1
默认行为algorithm2e
环境algorithm
是全宽的,横跨整个文本块宽度。可以说它必然是居中的。如果您对不居中的感兴趣\textwidth
,那么您需要更有创意一点:
将预先指定宽度的元素algorithm
放入另一个浮点元素中(如)。确保使用浮动说明符来阻止浮动。浮动行为将由管理。然后使用常规。没有提供调整宽度的自然方法。您可以使用调整宽度。minipage
figure
[H]
algorithm
figure
\centering
algorithm2e
\SetCustomAlgoRuledWidth{width}
\documentclass{article}
\usepackage[ruled,linesnumbered]{algorithm2e}
\begin{document}
\begin{algorithm}[ht]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}
\begin{figure}[ht]
\centering
\begin{minipage}{.7\linewidth}
\begin{algorithm}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}
\end{minipage}
\end{figure}
\end{document}
请注意,这种方法将相同的构造放在不同的浮点数中,因此,如果上述两种技术彼此接近使用,可能会导致算法的数字排序不正确(例如算法5出现前 算法4)。在这种情况下,人们必须对代码的位置进行调整,才能获得适当的顺序。