我需要一些帮助来格式化我的算法。到目前为止,我得到的是:
\documentclass[9pt]{sig-alternate}
\usepackage[linesnumbered,ruled]{algorithm2e}
\begin{document}
\begin{algorithm}
\SetAlgoNoLine
\KwData{The original list \textbf{R}, $ N \leq n $}
\KwResult{The re-ranked list \textbf{S}}
S = <>\;
\While{ |S| < N } {\do {$i^{*} = argmax_{i\in R\setminus S} f_{obj}(i,S,u)$ \;
S = S $ \circ i^{*}$\;
R = R $ \setminus {i^{*}}$ \;
\Return{S}\;
}
\
}
\caption{The greedy strategy.}
\label{Algorithm1}
\end{algorithm}
\end{document}
我正在使用algorithm2e
带有选项linesnumbered
和的包ruled
。所需的结果如下所示:
该ruled
选项使标题出现在算法的顶部,但我需要它出现在底部。此外,在我的文档中,语句Return
出现在end
语句之前。我该如何交换它们?这是我的文档目前的样子:
谢谢。
答案1
这是一个略显丑陋的答案,但它符合您的需求。我添加了一个\hrulealg
宏,以便您可以手动将一些水平线放置在需要的位置,并删除了该ruled
选项。\Return
墙被放置在的第二个参数内\While
,因此它以前的位置在end
\documentclass[9pt]{article}
\usepackage[linesnumbered]{algorithm2e}
\newcommand{\hrulealg}[0]{\vspace{1mm} \hrule \vspace{1mm}}
\begin{document}
\begin{algorithm}
\SetAlgoNoLine
\hrulealg
\KwData{The original list \textbf{R}, $ N \leq n $}
\KwResult{The re-ranked list \textbf{S}}
\hrulealg
S = <>\;
\While{ |S| < N } {\do {$i^{*} = argmax_{i\in R\setminus S} f_{obj}(i,S,u)$ \;
S = S $ \circ i^{*}$\;
R = R $ \setminus {i^{*}}$ \;
}
}
\Return{S}\;
\hrulealg
\caption{The greedy strategy.}
\label{Algorithm1}
\end{algorithm}
\end{document}
由于使用了我没有的article
类,我的输出有一些细微的差别。sig-alternate