左边距意外减小

左边距意外减小
\documentclass{beamer}
\usepackage[ noend, boxruled]{algorithm2e}

\begin{document}
    \begin{center}
        \begin{algorithm}[H]
            \SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
            \SetKwProg{fxn}{Function}{}{end} %To define functions like \fxn{name}{body}
            \Input{$a,b\in\mathbb N$}
            \Output{$\mathrm{gcd}(a,b)$}
            \textbf{Initialize} $X,Y\leftarrow 1$\;
            \While{$Y\le a$}{\If{$Y|a$\quad\&\quad$Y|b$}{$X\leftarrow Y$\;}$Y=Y+1$}
            \textbf{Output} $Y$
            \caption{$\mathrm{gcd}(a,b)$}
        \end{algorithm}
    \end{center}
\end{document}

以上是我的问题的 MWE。为什么center这里的环境不起作用?为什么左边距这么糟糕?如何像在文章类中一样使其正常?将其放在里面minipage\centering无济于事。

编辑上述 MWE 的输出是并且所需的输出是(除了盒子的宽度,这里并不重要)。

参见框左边距的差异。

答案1

  • 环境center正在运行,但算法的宽度等于文本的宽度,因此你看不到任何差异。如果你减小算法的宽度,你会看到效果

  • 您可以通过设置来调整边距\algomargin


\documentclass{beamer}
\usepackage[ noend, boxruled]{algorithm2e}

\setlength{\algomargin}{1em}

\begin{document}
\begin{frame}
\centering
\begin{minipage}{.6\textwidth}
       \begin{algorithm}[H]
           \SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
           \SetKwProg{fxn}{Function}{}{end} %To define functions like \fxn{name}{body}
           \Input{$a,b\in\mathbb N$}
           \Output{$\mathrm{gcd}(a,b)$}
           \textbf{Initialize} $X,Y\leftarrow 1$\;
           \While{$Y\le a$}{\If{$Y|a$\quad\&\quad$Y|b$}{$X\leftarrow Y$\;}$Y=Y+1$}
           \textbf{Output} $Y$
           \caption{$\mathrm{gcd}(a,b)$}
       \end{algorithm}
\end{minipage}
\end{frame}
\end{document}

在此处输入图片描述

相关内容