You didn't provide a minimal example, so it's hard to say what exactly is going on. However, if you simply want "to avoid pages with only one figure", put the two \includegraphics
macros inside one figure
environment (and add some vertical space with \vspace{floatsep}
).
EDIT: Contrary to Mico's assertion, it is possible to create separate cross-references to the graphics inside figure
-- see my updated example.
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
A cross-reference to figures~\ref{first} and~\ref{second}.
\begin{figure}
\centering
\rule{1cm}{8cm}% placeholder for graphics
\caption{First}\label{first}
\vspace{\floatsep}
\rule{1cm}{8cm}% placeholder for graphics
\caption{Second}\label{second}
\end{figure}
\end{document}
From my experience, this type of design never works well by using packages. You rather build your own code around your requirements. Here is an example with rather large figures, that illustrate some of the issues (the code is in the MWE below).
Here the text is positioned either left or right depending if the page is odd or even. as you observe the height of the text is not right. So my suggestion rather describe your requirements first visually (perhaps by lifting ideas from a book you like or an article), then see how this will work in the overall deign of the class you are using.
\documentclass[imperial]{octavo}
\usepackage{geometry}
%\usepackage{textsamples}
\usepackage{graphicx,xcolor}
\usepackage{changepage}
\newcommand\lorem{Fusce adipiscing justo nec ante. Nullam in enim.
Pellentesque felis orci, sagittis ac, malesuada et, facilisis in,
ligula. Nunc non magna sit amet mi aliquam dictum. In mi. Curabitur
sollicitudin justo sed quam et quadd. \par}
\begin{document}
\newpage
\newgeometry{left=10mm,right=10mm,top=1.0cm,bottom=1cm}
%%%%%%%%%%% RENOIR NARROW
\def\ballatbougival{ballatbougival}
\def\ballatbougivalcaption{\lorem\lorem}
\def\ballatbougivaltitle{{\large\bf Ball at Bougival}}
\checkoddpage
\begin{minipage}[c]{\textwidth}%
\fboxrule0pt%
\fboxsep1pt%
\fbox{%
\ifoddpage\relax\else%
\begin{minipage}[b]{110pt}%
%% odd caption is placed at bottom
\ballatbougivaltitle\par%
\ballatbougivalcaption%
\the\textwidth\rule{0pt}{180pt}
\end{minipage}%
\fi%
\begin{minipage}[b]{\the\dimexpr(\textwidth-150pt)}%
\includegraphics[width=\textwidth]{./graphics/\ballatbougival}
\end{minipage}\hspace*{10pt}%
\ifoddpage%
\begin{minipage}[b]{110pt}%
%% odd caption is placed at bottom
\ballatbougivaltitle\par%
\ballatbougivalcaption%
\the\textwidth\rule{0pt}{180pt}
\end{minipage}%
\fi
}
\end{minipage}
\clearpage
%%%%%%%%%%% RENOIR NARROW
\def\ballatbougival{ballatbougival}
\def\ballatbougivalcaption{\lorem\lorem}
\def\ballatbougivaltitle{{\large\bf Ball at Bougival}}
\checkoddpage
\begin{minipage}[c]{\textwidth}%
\fboxrule0pt%
\fboxsep0pt%
\fbox{%
\ifoddpage\relax\else
\begin{minipage}[b]{110pt}%
%% odd caption is placed at bottom
\ballatbougivaltitle\par%
\ballatbougivalcaption%
\the\textwidth\rule{0pt}{180pt}
\end{minipage}%
\hspace*{10pt}%
\fi%
\begin{minipage}[b]{\the\dimexpr(\textwidth-130pt)}%
\includegraphics[height=\textheight, width=\textwidth, keepaspectratio]{./graphics/Pierre-Auguste_Renoir_019}%
\end{minipage}%
\ifoddpage%
\hspace*{10pt}%
\begin{minipage}[b]{110pt}%
%% odd caption is placed at bottom
\ballatbougivaltitle\par%
\ballatbougivalcaption%
\the\textwidth\rule{0pt}{180pt}
\end{minipage}%
\fi
}
\end{minipage}
\end{document}
As you will observe from the code, the image and caption is placed within minipages
, so effectively ensuring that it stays together. If you want them to float, enclose them in
\begin{figure}...\end{figure}
If you want numbered captions or the captions to go to the contents, you can style them, using the caption
package.
Minor adjustments on the position of text, you can add rules (make them invisible using a zero width or add space via vspace).
Although this might appear as tedious and requiring a lot of work to set up, for a book at most you will have about 3-5 layout designs. Once you are happy you can change everything to environments or macros to make life easier.
Best Answer
Or