将 algorithm2e 环境水平居中在页面上的标准方法

将 algorithm2e 环境水平居中在页面上的标准方法

将 algorithm2e 环境水平居中在页面上的最佳方法是什么?它\centering是否就像图形一样,或者更确切地说是封闭的\begin{center} ... \end{center},或者甚至有必要使用minipage

提前致谢!

答案1

默认行为algorithm2e环境algorithm是全宽的,横跨整个文本块宽度。可以说它必然是居中的。如果您对不居中的感兴趣\textwidth,那么您需要更有创意一点:

将预先指定宽度的元素algorithm放入另一个浮点元素中(如)。确保使用浮动说明符来阻止浮动。浮动行为将由管理。然后使用常规。没有提供调整宽度的自然方法。您可以使用调整宽度。minipagefigure[H]algorithmfigure\centeringalgorithm2e\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)。在这种情况下,人们必须对代码的位置进行调整,才能获得适当的顺序。

相关内容