有没有选项algorithm2e
可以将算法拆分成几页?请不要回答“使用algorithmic
或listings
包”。algorithm2e
是 latex 中算法的最佳包,所以我想用这个包来运行它。
答案1
答案2
解决这个问题的方法是找到一个好的突破点,分割算法,并使用下一个
\setcounter{AlgoLine}{20}
嵌入块的问题可以通过不可见的开始/结束来解决。Begin 关键字可以通过以下方式隐藏:
\SetKwBlock{Begin}{}{end}
例子:
第一部分:
\begin{algorithm}
\LinesNumbered
% This is to hide end and get the last vertical line straight
\SetKwBlock{Begin}{Begin}{}
\SetAlgoLined
\Begin{
% This is to restore vline mode
\SetAlgoVlined
$\mathcal{E} \leftarrow \emptyset$\;
第二部分:
\begin{algorithm}
\LinesNumbered
\setcounter{AlgoLine}{19}
%This is to hide Begin keyword
\SetKwBlock{Begin}{}{end}
\Begin{
更新示例代码:
\documentclass{report}
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\LinesNumbered
% This is to hide end and get the last vertical line straight
\SetKwBlock{Begin}{Begin}{}
\SetAlgoLined
\Begin{
$\mathcal{E} \leftarrow \emptyset$\;
}
\end{algorithm}
\SetNlSty{texttt}{(}{)}
\begin{algorithm}
\LinesNumbered
\setcounter{AlgoLine}{12}
% This is to restore vline mode if you did not take the package as \usepackage[linesnumbered,ruled,vlined]{algorithm2e}
\SetAlgoVlined
%This is to hide Begin keyword
\SetKwBlock{Begin}{}{end}
\Begin{
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
}
\end{algorithm}
\end{document}