1

I have the following figure in a single-column article:

    \documentclass[12pt,a4paper]{article}
    \usepackage{graphicx}
    \usepackage{showframe}
    \begin{document}

    \begin{figure}[htbp]
    \centering
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    % insert some space that fills the page vertically
    % and creates a gap between the first and second row of pictures
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \caption{A caption that describes all six images.}
    \end{figure}

    \end{document}

This creates two rows with 3 pictures each. All pictures have the same size. Since the figure almost fills the whole page vertically, I want to separate the two rows by a space to make it easier to distinguish where one row ends and the other starts. Because I am still working on the design of my document, I don't want to make the space a fixed size but adjust it so that the gap takes whatever vertical space is left on the page. I could, for example, just include an all white picture in between the two rows, but then I have to decide on a fixed height:

    \documentclass[12pt,a4paper]{article}
    \usepackage{graphicx}
    \usepackage{showframe}
    \begin{document}

    \begin{figure}[htbp]
    \centering
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{\textwidth}
        \centering
        % "B" could be an all white picture
        % but how heigh should it be?
        \includegraphics[width=\textwidth,height=2cm]{example-image-b}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \begin{minipage}{0.325\textwidth}
        \centering
        \includegraphics[width=\textwidth,height=9cm]{example-image-a}
    \end{minipage}
    \caption{A caption that describes all six images.}
    \end{figure}

    \end{document}
  • 1
    I know that this is not your real code, as it is not compilable. – Johannes_B Jul 3 '16 at 14:38
1

See, if the following solution satisfy your expectation:

enter image description here

For above image I use \rule{0pt}{<height>} where the rule height calculation consider \textheight, height of both rows with images, height of text in caption and estimated vertical distance to which contribute row separation in tabularx, \abovecaptionskip and \belowcaptionskip (altogether ~3\baselineskip).

Height of caption is measured by use of save box \captbox where the width of figure label is estimated on 11ex. This require to save caption text in \savebox, hovewer this text can be used in caption only in case if caption style is hang. Otherwise, the caption text is necessary type in caption environment again.

If distance beween figures in one row is to big, it can be reduced by \setlength\tabcolsep{<width}. Default value is 6pt.

\documentclass[12pt]{article}
\usepackage{caption,graphicx}
\usepackage{tabularx}
\usepackage{calc}
\usepackage[a4paper,
            showframe
            ]{geometry}

\newsavebox{\captbox}
\begin{document}
    \begin{figure}[p]
\savebox{\captbox}{\begin{minipage}{\textwidth}\hspace{11ex}
                    A caption that describes all six images. 
                    A caption that describes all six images. A caption that describes all six images. A caption that describes all six images.
                   \end{minipage} 
                   }
    \begin{tabularx}{\textwidth}{@{}*{3}{>{\centering\arraybackslash}X}@{}}
\includegraphics[width=\linewidth,height=9cm]{example-image-a}
    &   \includegraphics[width=\linewidth,height=9cm]{example-image-b}
        &   \includegraphics[width=\linewidth,height=9cm]{example-image-c}
                \\
\rule{0pt}{\textheight-180mm-\ht\captbox-3\baselineskip}
% 3\baselineskip is estimation of all not considered vertical spaces
    &   &       \\
\includegraphics[width=\linewidth,height=9cm]{example-image-a}
    &   \includegraphics[width=\linewidth,height=9cm]{example-image-b}
        &   \includegraphics[width=\linewidth,height=9cm]{example-image-c}
                \\
    \end{tabularx}
\caption{A caption that describes all six images.
    A caption that describes all six images. A caption that describes all six images. A caption that describes all six images.
        }
\label{fig:mycomplicatedimageset}
    \end{figure}
\end{document}    

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.