1

I have a figure illustrating a 3-step process, for which I use subfigures. The desired output is something like this (excuse my paint skills):

Desired output

Now the placement of the subfigures/images is achievable using minipages or multicolumn:

\begin{figure}
\begin{minipage}[c][8cm][c]{0.5\textwidth}
\centering
\vspace*{\fill}
\includegraphics[height=3cm]{step1}
\subcaption{Step 1}
\label{fig:process11}

\includegraphics[height=3cm]{step3}
\subcaption{Step 3}
\label{fig:process13}
\end{minipage}
\begin{minipage}[c][8cm][t]{0.5\textwidth}
\vspace*{\fill}
\centering
\includegraphics[height=7cm]{step2}
\subcaption{Step 2}
\label{fig:process12}
\end{minipage}
\caption{Process 1}
\label{fig:process1}
\end{figure}

However, that causes step 2 to have the c number and step 3 to have the b number. How can I fix the numbering?

jak123
  • 4,252
  • 5
  • 26
  • 49
dtech
  • 113
  • Can you add a complete MWE (starting with \documentclass{...} and ending with \end{document}) – jak123 Sep 24 '15 at 15:55
  • Subcaption number follows orders of subcaptions in your code, there you have step 1, step 3 and step 2 and to them is accompanied a (step 1), b (step 3) and c (step 2). Reorder order of code acordingly – Zarko Sep 24 '15 at 16:24

3 Answers3

4

You can load them into \saveboxes in the correct order, then arrange the boxes in any order.

saveboxes

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}

\newsavebox{\tempboxa}
\newsavebox{\tempboxb}
\newsavebox{\tempboxc}

\begin{document}
\begin{figure}
% firat step
\savebox{\tempboxa}{\begin{minipage}[b]{0.5\textwidth}
\centering
\includegraphics[height=3cm]{example-image-a}
\subcaption{Step 1}
\label{fig:process11}
\end{minipage}}
% second step
\savebox{\tempboxb}{\begin{minipage}[b]{0.5\textwidth}
\centering% redundant in this case
\includegraphics[height=7cm,width=\textwidth]{example-image-b}
\subcaption{Step 2}
\label{fig:process12}
\end{minipage}}
% third step
\savebox{\tempboxc}{\begin{minipage}[b]{0.5\textwidth}
\centering
\includegraphics[height=3cm]{example-image-c}
\subcaption{Step 3}
\label{fig:process13}
\end{minipage}}
% arrange boxes
\parbox[b][\ht\tempboxb][s]{0.5\textwidth}{%
\usebox{\tempboxa}
\vfill
\usebox{\tempboxc}}%
\usebox{\tempboxb}
\caption{Process 1}
\label{fig:process1}
\end{figure}

Step 1 (Figure~\ref{fig:process11}).\par
Step 2 (Figure~\ref{fig:process12}).\par
Step 3 (Figure~\ref{fig:process13}).
\end{document}
John Kormylo
  • 79,712
  • 3
  • 50
  • 120
3

You can adjust them manually:

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{minipage}[c][8cm][c]{0.5\textwidth}
\centering
\vspace*{\fill}
\includegraphics[height=3cm]{step1}
\subcaption{Step 1}
\label{fig:process11}

\addtocounter{subfigure}{1}
\includegraphics[height=3cm]{step1}
\subcaption{Step 3}
\label{fig:process13}
\end{minipage}
\begin{minipage}[c][8cm][t]{0.5\textwidth}
\vspace*{\fill}
\centering
\includegraphics[height=7cm]{step2}
\addtocounter{subfigure}{-2}
\subcaption{Step 2}
\label{fig:process12}

\end{minipage}
\caption{Process 1}
\label{fig:process1}
\end{figure}

Step 3 (Figure~\ref{fig:process13}).
\end{document}
jak123
  • 4,252
  • 5
  • 26
  • 49
2

Another possibility is to put graphic in table with multirow in second column. Than (after manual adjusting of images positions) you can obtain:

enter image description here

MWE:

\documentclass[12pt]{article}
    \usepackage{multirow}
    \usepackage{subcaption}
    \usepackage{graphicx}

    \begin{document}
\begin{figure}
    \begin{tabular}{p{0.48\textwidth}p{0.48\textwidth}}
\includegraphics[height=3cm,width=\hsize]{example-image-a}
\captionof{subfigure}{Step 1}
\label{fig:process11}
&   \multirow{2}{\hsize}[32mm]{
    \includegraphics[height=7cm,width=\hsize]{example-image-b}
     \captionof{subfigure}{Step 2}
    \label{fig:process12} 
                        }
    \\[-4mm]
\includegraphics[height=3cm,width=\hsize]{example-image-c}
\captionof{subfigure}{Step 3}
\label{fig:process11}
    &    
    \end{tabular}
\caption{Process 1}
\label{fig:process1}
\end{figure}
    \end{document}

If your figure occupy less than text width, you reduce witdh of columns accordingly and after \begin{figure} add \centering}.

Zarko
  • 296,517