algorithm2e 环境中缺少结束语句

algorithm2e 环境中缺少结束语句

我过去常常\SetKwProg{myproc}{Procedure}{}{}用关键字来开始我的伪代码Procedure。但是它的end语句(伪代码中的最后一个end)没有出现在结果 pdf 中。那么我该如何获取它呢?

\documentclass[10pt,a4paper]{article}
\usepackage[algo2e]{algorithm2e}

\begin{document}

\IncMargin{1em}
\begin{algorithm2e}[H]
\SetKwFunction{proc}{BuildEBTM}%
\SetKwProg{myproc}{Procedure}{}{}
\SetKwInOut{Input}{input}
\SetKwInOut{Output}{output}
\SetKwFunction{connect}{Connect}
\SetKwData{ce}{ce}
\myproc{\proc{}}{
    \Input{A Process $M$}
    \Output{A Process $EM$}
    \BlankLine
    \ForEach{FlowElement $e$ in $M$}{
        \ForEach{Converter $c$ in $Converters$}{
            \If{$c$ accepts $e$}{
                \ce $\leftarrow$ $c$ converts $e$\;
                \connect($EM$,\ce)\;
            }               
        }
    }
}
\caption{my procedure}
\label{my_procedure}
\end{algorithm2e}
\DecMargin{1em}

\end{document}

没有最后一条语句的结果 pdf end

结果 pdf

答案1

根据文件CTAN,命令的最后一个参数\SetKwProg设置结束文本。因此,获取“结束”,命令的构建器\myproc应该是

\SetKwProg{myproc}{Procedure}{}{end}

相关内容