How do I make figure captions span multiple pages?

Instead of using a floating environment which can't handle page breaks you can use a simple list environment. To set a caption you can use the command \captionof. The command is provided by

  • the package capt-of,
  • the package caption or
  • a KOMA-Class scrreprt, scrbook and scrartcl

Here an example

\documentclass{article}
\usepackage{kantlipsum}

\usepackage{capt-of}
\begin{document}
\kant[1-2]

\noindent\hrulefill

\begin{center}
\rule{3cm}{3cm}

\captionof{figure}[short caption]{%
\kant[4-6]}
\end{center}

\noindent\hrulefill

\kant[1]
\end{document}

enter image description here


Well, @Marco Daniel answer did not work for me.

Searching google, though, I found this thread with the same issue (I reproduce the working code below): http://www.latex-community.org/forum/viewtopic.php?t=5881&f=45

The working answer to the thread is here: http://www.latex-community.org/forum/viewtopic.php?t=5881&f=45#p22785

Only to clarify, in this thread one wants to use subfigures in the same figure, using package subfig. However, it also worked for me when skipping all the subfig related features.

By the way, I am not using any latex standard documentclass. I am using elsarticle documentclass, in which the package caption also worked fine.

Enjoy.

CODE (replace <YOUR FIGURE>, <YOUR CAPTION> and <FIGURE LABEL> with the file name, figure caption and figure label, respectively):

\documentclass{article}

%...

\usepackage{caption}
% the following format will be used to emulate the captions produced by fltpage
\DeclareCaptionLabelFormat{adja-page}{\hrulefill\\#1 #2 \emph{(previous page)}}

%...

\begin{document}

%...

\begin{figure}
    \captionsetup{labelformat=empty}
    \centering
    \includegraphics[width=10cm]{<YOUR FIGURE>}
    \caption{}
\end{figure}
\clearpage
\begin{figure}
    \captionsetup{labelformat=adja-page}
    \ContinuedFloat
    \caption{<YOUR CAPTION>}
    \label{<FIGURE LABEL>}
\end{figure}

%...

\end{document}

If you need two pages, e.g., figure on one page and a caption on the next, this works:

\begin{figure*}
\includegraphics{turtle.pdf}
\end{figure*}

\begin{figure*}
\caption{
   \label{turtle}
Here is a turtle.
}
\end{figure*}