0

I have two figures with 4 subfigures each. They are currently placed like this

A1 A2 A3
   A4
- Ac ---
B1 B2 B3
   B4
- Bc ---

Ac and Bc denote captions. Each subfigure also has its own caption.

What's the most space efficient way to organize this situation?

The best I could come up with is the following but I'm not sure how to achieve it

A1 A2 A3
A4    B4
-Ac--
B1 B2 B3
-Bc-----

Latex code to generate this looks similar to

\begin{figure}
  \begin{subfigure}{0.33\textwidth} A1\end{subfigure}
  \begin{subfigure}{0.33\textwidth} A2\end{subfigure}
  \begin{subfigure}{0.33\textwidth} A3\end{subfigure}
  \begin{subfigure}{0.33\textwidth} A4\end{subfigure}
\end{figure}
\begin{figure}
  \begin{subfigure}{0.33\textwidth} B1\end{subfigure}
  \begin{subfigure}{0.33\textwidth} B2\end{subfigure}
  \begin{subfigure}{0.33\textwidth} B3\end{subfigure}
  \begin{subfigure}{0.33\textwidth} B4\end{subfigure}
\end{figure}

This is in a single-column format (LNCS) if it matters.

  • Is placing four subfigures in a row an option? – Mico Apr 8 '19 at 15:49
  • Nope. They might become too tiny. I agree though that that'd be the neatest. – Peeyush Kushwaha Apr 8 '19 at 16:55
  • I would either place them in a single figure with a common caption (if the subfigures are closely related) or use a sidewaysfigure and place the 4 subfigures in a single row. – leandriis Apr 8 '19 at 17:35
  • Placing the caption on the right side of the fourth subfigure (as shown here: tex.stackexchange.com/q/186766/134144) might also be an ption. – leandriis Apr 8 '19 at 17:46
  • You can have more than one caption in a figure. (Figures don't have numbers, only captions have numbers.) – John Kormylo Apr 8 '19 at 22:13
1

If you have very short captions you could do something like this:

demo

\documentclass{article}
\usepackage{graphicx}
\usepackage[list=true]{subcaption}% add to LOF
\usepackage{duckuments}

\renewcommand{\thesubfigure}{\thefigure\alph{subfigure}}% affects LOF and \ref too
\captionsetup[subfigure]{labelformat=simple}

\begin{document}
\listoffigures

\begin{figure}
  \setlength{\dimen0}{\dimexpr \textwidth-2\columnsep}%
  \divide\dimen0 by 3
  \sbox0{\begin{subfigure}{\dimen0}% measure height
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}}%
  \usebox0\hfill
  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}\hfill
  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}

  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}\hfill
  \begin{minipage}[c][\dimexpr \ht0+\dp0][s]{\dimen0}
    \setlength{\abovecaptionskip}{0pt}%
    \setlength{\belowcaptionskip}{0pt}%
    \caption{Top caption}
    \vfill
    \caption{Bottom caption}
  \end{minipage}\hfill
  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}

  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}\hfill
  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}\hfill
  \begin{subfigure}{\dimen0}
    \includegraphics[width=\textwidth]{example-image-duck}
    \caption{}
  \end{subfigure}
\end{figure}
\end{document}
  • This is a pretty neat way to arrange things. Just one question: could I control numbering in the subfigures so that 4 of these is 1a 1b 1c 1d and other 4 are 2a 2b 2c 2d? Putting them all in one figure environment would mean that they are numbered a b c d e f g h, right? – Peeyush Kushwaha Apr 9 '19 at 6:59
  • Interestingly, subcaption knows when the caption is before or after the subcaptions and adjusts \thefigure internally. – John Kormylo Apr 9 '19 at 14:52

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.