I am writing pseudo code in the algorithmic environment. It is quite long and doesn't fit on one single page. Instead of it continuing on the next page, it is cut off. I tried inserting it into a figure environment, but the problem persists. Is there a solution to have the code continue on the next page?
Asked
Active
Viewed 1.5k times
1 Answers
12
If you do not want the algorithm to float, just use the algorithmic environment without the algorithm environment.
Otherwise, you can use the algorithmicx package. It allows breaking long algorithms in parts, preserving line numbers and indentation. You can also combine this with caption's \ContinuedFloat to get proper algorithm numbering:
\documentclass{article}
\usepackage{algorithm,algpseudocode}
\usepackage{caption}
\begin{document}
\begin{algorithm}
\caption{My algorithm}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\While{$r\not=0$}\Comment{We have the answer if r is 0}
\State $a\gets b$
\State $b\gets r$
\algstore{myalg}
\end{algorithmic}
\end{algorithm}
\clearpage
\begin{algorithm}
\ContinuedFloat
\caption{My algorithm (continued)}
\begin{algorithmic}
\algrestore{myalg}
\State $r\gets a\bmod b$
\EndWhile\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}
(The algorithm example is taken from algorithmicx's documentation.)
Andrey Vihrov
- 22,325
See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help.
...
l.12 \State $r\gets a\bmod b$
– Vass Mar 31 '11 at 17:51algorithm,algorithmicxandcaptiondo you have (see the log file)? – Andrey Vihrov Mar 31 '11 at 18:48algorithmic' style; Document style optionalgorithm' Release 2.5 -- March 13 1995 --;Package: caption 2007/01/07 v3.0k Customising captions (AR). Thanks – Vass Apr 03 '11 at 22:12algorithmicwithoutalgorithm. But then you need to do something about caption (perhaps\captionof). – Andrey Vihrov Jan 08 '13 at 11:05