0

I would like a large figure to be preceded by a bit of text, to be followed right below by "Figure X: (Caption next page)", and then have the large caption on top of the following page.

Here is what it should look like: enter image description here

The closest I got so far thanks to John (Figure preceded by small text, long caption on next page) is with this code:

\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage[english]{babel}
\usepackage{subcaption}
\usepackage{afterpage}
\usepackage{environ}
\usepackage{mwe}

\newsavebox{\doublepagecaption}
\newsavebox{\doublepageimage}
\makeatletter
\NewEnviron{doublepagefigure}[2][]% #1=short caption (optional), #2=caption
{\def\@captype{figure}%
 \global\setbox\doublepagecaption=\vbox{\caption[#1]{#2}}%
 \global\setbox\doublepageimage=\vbox{\BODY}%
 \afterpage{%
 \ifodd\value{page}%
   \afterpage{%
    \vspace*{\fill}\vspace{-\baselineskip}%
    \noindent\usebox{\doublepageimage}\vfill\pagebreak
    \begin{figure}[t]\usebox{\doublepagecaption}\end{figure}}%
 \else
   \vspace*{\fill}\vspace{-\baselineskip}%
   \noindent\usebox{\doublepageimage}\vfill\pagebreak
   \begin{figure}[t]\usebox{\doublepagecaption}\end{figure}%
 \fi}}
\makeatother

\renewcommand{\bottomfraction}{0.5}% fraction of page allowed for bottom floats

\begin{document}

\lipsum[1-3]

\begin{doublepagefigure}[(Caption next page.)]{(Previous page.)\textbf{\lipsum[2-4]}\label{fig:test1}}
\centering
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig1}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig2}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig3}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig4}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig5}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig6}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig7}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig8}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\begin{subfigure}{0.3\textwidth}
    \caption{vero eos et accusamus et}\label{subfig9}
    \includegraphics[width=\linewidth]{example-image}
\end{subfigure}
\end{doublepagefigure}

\lipsum[5-9]

\end{document}

which gives: enter image description here

The remaining issues are:

  1. "Caption next page" does not print, neither "Figure 1" (I'd like it to appear twice: with figure + with caption)

  2. No text above the figure (whatever fraction I use in \renewcommand{\bottomfraction}{0.99})

Also using it in my article, I run into an issue that is: using doublepagefigure does not mess with the numbering of the figures, however it won't prevent placing the doublepagefigure (say figure 4) after figure 5.

Forcing position with \begin{doublepagefigure}[!h]{(Previous page.)\textbf{\lipsum[2-4]}\label{fig:test1}} doesn't do it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.