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
加载包,或者通过加载包来使用:algpseudocode
compatible
algcompatible
\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}