4

I am using the caption package, now I have one problem: In one case an image is placed at the bottom of one page, while its caption is placed on the top of the following page. In this case I would prefer the image to be also moved to the next page.

Actually my LaTeX code looks like this:

\begin{flushleft}
    \includegraphics{sample.png}
    \captionof{figure}{the caption}
    \label{figure:sample}
\end{flushleft}

Is there some way to tell LaTeX that the graphic and the caption shall be seen as one unit and shall never be split up over 2 pages?

Stefan Kottwitz
  • 231,401
me.at.coding
  • 1,653

2 Answers2

6

You could use a minipage environment enclosing figure and caption. Within minipage environments no pagebreak can occur.

Further there's the samepage environment for that purpose. Unlike minipage, samepage doesn't require a width argument.

Stefan Kottwitz
  • 231,401
  • Though further support of \samepage is doubtful, you could read about that in source2e. – Stefan Kottwitz Dec 04 '10 at 23:48
  • thank you very much! minipage seems to work the best. is it maybe somehow possible to define in the preamble, that \includegraphics followed by \caption shall be automatically put in a minipage or do I have to add the minipage always manually? – me.at.coding Dec 04 '10 at 23:54
  • It should be added in the document body. Shortcuts might be used. But you could define a new environment or command taking filename, caption and label as argument, that produces a minipage together with \includegraphics, \caption and \label if you desire to compress your code. – Stefan Kottwitz Dec 05 '10 at 00:06
  • No, he should use the figure environment. – Martin Schröder Nov 19 '11 at 22:26
  • 1
    @MartinSchröder If he wants it to be able to float. If he knows the caption package and \captionof{figure}{...} it seems that he would like to avoid figures or floating, respectively, while keeping the caption below the image though. However, I agree with you recommending figure and preferring using and improving floating instead of avoiding it. – Stefan Kottwitz Nov 19 '11 at 22:54
  • Shouldn't be \nopagebreak after the \includegraphic enough? – Martin - マーチン Aug 11 '13 at 13:45
1

I would suggest to improve Stefan's answer by putting minipage inside figure environment. So image + caption can still be a floating object:

\begin{figure}
\begin{minipage}{\textwidth}
    \includegraphics{sample.png}
    \caption{the caption}
    \label{figure:sample}
\end{minipage}
\end{figure}
Igor
  • 11