我正在使用algorithm2e
包,但我的算法不适合一页。有没有办法将它分成两页,即使是手动的?
如果手动进行,我们可以使用两个algorithm
环境,但存在一些问题:
保持行计数-好的,这可以通过调用以下包来完成
noresetcount
从第一/第二个算法中删除标题(取决于我们是否希望在开头或结尾添加标题)——如何做?
注意缩进的垂直线,也就是说,我希望它们“跨越”页面 - 如何做到?
答案1
如果你不需要使用algorithm2e
,你应该看看listings
包,支持多页列表。
答案2
有一个技巧,我遵循答案algorithm2e 分为几页 经过超越
\documentclass{report}
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\caption{abc dcc}
\LinesNumbered
% This is to hide end and get the last vertical line straight
\SetKwBlock{Begin}{Begin}{}
\SetAlgoLined
\SetKwProg{Loop}{LOOP}{}{}
\Begin{
$\mathcal{E} \leftarrow \emptyset$\;
\SetAlgoVlined \Loop {$ab \gets cd$}{
$abcd$\\
$abdc $ }
}
\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}
\SetKwProg{Loop}{LOOP}{}{}
\Begin{
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
\SetAlgoVlined \Loop {$ab \gets cd$}{
$abcd$\\
$abdc $ }
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
}
\end{algorithm}
\begin{algorithm}
\caption{fbf jfjf}
\LinesNumbered
% 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
\SetKwProg{Loop}{LOOP}{}{}
\SetKwBlock{Begin}{loop3}{end}
\Begin{
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
\SetAlgoVlined \Loop {$ab \gets cd$}{
$abcd$\\
$abdc $ }
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
$\mathcal{E} \leftarrow \emptyset$\;
}
\end{algorithm}
\end{document}
对于行号,您可以使用\usepackage[ruled,vlined]{algorithm2e}
代替\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
,并使用 来编号行\nl
。或者您也可以\LinesNotNumbered{
在 之前使用begin{algorithm}
要删除规则行:有三种方法:首先,使用
\setlength{\algoheightrule}{0.8pt} % thickness of the rules above and below
\setlength{\algotitleheightrule}{0pt} % thicknes of the rule below the title
第二:删除算法标题下方的规则 - 使用 Algorithm2e
第三:好方法,顶部、底部、中线用algorithm2e 中的彩色水平线经过沃纳
答案3
对我来说,我通过减小文本大小解决了这个问题。
通过使用:\footnotsize
或\scriptsize
。
而且效果很好。