算法超过 2 页

算法超过 2 页

algorithm我正在使用和编写一些相当大的伪代码函数algorithmic,即我的代码如下所示:

\begin{algorithm}                     
\caption{Coolest Algorithm ever}          
\label{findme}                          
\begin{algorithmic} [1]                   % enter the algorithmic environment
\REQUIRE    Here are a few variables \\
            variable 2 \\
            variable 3 
\ENSURE     this is the output \\
            output 2

\STATE $some cool code here$
\STATE $some cool code here$
\STATE $some cool code here$
\STATE $some cool code here$
\end{algorithmic}
\end{algorithm}

不幸的是,这段代码不适合放在一页上,而且我绝对无法将其分成几个子函数等(我已经尽可能地这样做了)。

所以现在我需要将算法分成两页,但我不知道如何做。

我能想到的最简单的方法就是在新页面上启动一个新算法,但这次让行计数器从第 35 行左右开始而不是从 1 行开始。但我该怎么做呢?

请注意,本网站上已经存在类似的问题,但它涉及包裹algorithmicx

答案1

你应该使用算法包及其\algstore命令\algrestore。如果您不想重写所有algorithmic算法,您仍然可以通过使用选项algorithmicx加载包,或者通过加载包来使用:algpseudocodecompatiblealgcompatible

\documentclass{article}
\usepackage{algcompatible}
\usepackage{algorithm}

\begin{document}

\begin{algorithm}                     
\caption{Coolest Algorithm ever}          
\label{findme}                          
\begin{algorithmic} [1]                   % enter the algorithmic environment
\REQUIRE    Here are a few variables \\
            variable 2 \\
            variable 3 
\ENSURE     this is the output \\
            output 2
\algstore{myalg}
\end{algorithmic}
\end{algorithm}

\begin{algorithm}                     
\begin{algorithmic} [1]                   % enter the algorithmic environment
\algrestore{myalg}
\STATE $some cool code here$
\STATE $some cool code here$
\STATE $some cool code here$
\STATE $some cool code here$
\end{algorithmic}
\end{algorithm}

\end{document}

算法输出示例超过 2 页

相关内容