3

I have an algorithm defined with algorithmc like this:

    \documentclass{article}
    \usepackage{algorithm}
    \usepackage{algorithmicx}

    \begin{document}

    \begin{algorithm}
    \begin{algorithmic}[1]
    \Function{X}{ItemA, ItemB, ItemC}
    \State {Lorem Lorem}
    \State {Final}
    \end{algorithmic}
    \end{algorithm}


    \end{document}

Suppose that this is a very long algorithm.

Is there a way to break algorithm to fit in many pages?

1 Answers1

3

You can manually break the algo at a suitable point with \algstore{bkbreak}...\algrestore{bkbreak}:

\documentclass{article}

\usepackage{algorithm}
\usepackage{algorithmicx}

\begin{document}

\begin{algorithm}
\begin{algorithmic}[1]
\State {em Lorem}
(...)
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\algstore{bkbreak}
\end{algorithmic}
\end{algorithm}


\begin{algorithm}
\begin{algorithmic}[1]
\algrestore{bkbreak}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\end{algorithmic}
\end{algorithm}

\end{document}

For automatic page breaks, don't wrap it in a floating environment:

\documentclass{article}

\usepackage{algorithm}
\usepackage{algorithmicx}

\begin{document}

%\begin{algorithm}
\begin{algorithmic}[1]
\State {em Lorem}
(...)
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\State {Final}
\end{algorithmic}
%\end{algorithm}

\end{document}
Pizzagne
  • 188