25

I want to use subfigures to place three figures like this:

one shape left two shapes right

The following is the code I used:

\begin{figure}
\begin{tabular}{|c|c|}
\hline
\multirow{2}{*}{
        \begin{subfigure}[h]{0.3\textwidth}
                \centering
                \includegraphics{Fig2}
                \caption{Argumentation Framework $I$}
                \label{fig:afexampleI}
        \end{subfigure}
               }
        &
         \begin{subfigure}[h]{0.6\textwidth}
             \centering
             \includegraphics{Fig3}
             \caption{Argumentation Framework $III$}
             \label{fig:afexampleIII}
         \end{subfigure} \\
        &
         \begin{subfigure}[h]{0.6\textwidth}
             \centering
             \includegraphics{Fig4}
             \caption{Argumentation Framework $II$}
             \label{fig:afexampleII}
         \end{subfigure} \\
\hline
\end{tabular}
\caption{Argumentation Frameworks}\label{fig:afexample}
\end{figure}

However, this is the result:

enter image description here

P.S. I used \hline in order to better illustrate the figures, otherwise there should be no borders for the tabular environment used.

24

To have three independent figures with the desired layout, you can use minipages:

\documentclass{article}
\usepackage[demo]{graphicx}

\begin{document}

\begin{figure}
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=10cm]{image1}
  \caption{test figure one}
  \label{fig:test1}
\end{minipage}%
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \caption{test figure two}
  \label{fig:test2}\par\vfill
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \caption{test figure three}
  \label{fig:test3}
\end{minipage}
\end{figure}

\end{document}

enter image description here

To have the three images as subfigures, you can simply replace \caption with \subcaption (from the subcaption package) in the previous code:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption,subcaption}

\begin{document}

\begin{figure}
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=10cm]{image1}
  \subcaption{test figure one}
  \label{fig:test1}
\end{minipage}%
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \subcaption{test figure two}
  \label{fig:test2}\par\vfill
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \subcaption{test figure three}
  \label{fig:test3}
\end{minipage}
\end{figure}

\end{document}

enter image description here

The demo option for graphicx simply replaces actual figures with black rectangles; do not use that option in your actual document.

  • @JLDiaz: would it be possible to achieve this effect using tabular and subfigures? – Ali Aug 13 '12 at 15:23
  • @Ali no need for tabular; in my previous code, simply use subfigure instead of minipage; see my updated answer. – Gonzalo Medina Aug 13 '12 at 15:30
  • @GonzaloMedina I must confess that your solution using minipage was perfect. The updated solution leaves some white space above figure b. Thanks! – Ali Aug 13 '12 at 15:53
  • @Ali then I guess I will edit my answer showing both alternatives ;-) – Gonzalo Medina Aug 13 '12 at 15:56
9

A subfig solution:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subfig}

\newsavebox{\bigleftbox}

\begin{document}

\begin{figure}
\centering
\sbox{\bigleftbox}{%
  \begin{minipage}[b]{.5\textwidth}
  \centering
  \vspace*{\fill}
  \subfloat[test figure one]
    {\includegraphics[width=5cm,height=10cm]{image1}\label{fig:test1}}
  \end{minipage}%
}\usebox{\bigleftbox}%
\begin{minipage}[b][\ht\bigleftbox][s]{.5\textwidth}
\centering
\subfloat[test figure two]
  {\includegraphics[width=5cm,height=4.5cm]{image1}\label{fig:test2}}

\vfill

\subfloat[test figure three]
  {\includegraphics[width=5cm,height=4.5cm]{image1}\label{fig:test3}}
\end{minipage}
\end{figure}

\end{document}

The big left subfigure is measured and typeset, so we can set the height of the right box to be exactly the same as the left box's.

enter image description here

3

You could also use minipages if you don't want to use subfigures, so the result looks more like the example in the question:

enter image description here

\documentclass{article}
\usepackage[demo]{graphicx}

\begin{document}

\begin{figure}[htbp]
\begin{minipage}{0.5\linewidth}
\centering
\includegraphics[width=5cm,height=10cm]{image1}
\caption{A Circle}
\label{fig:circle}
\end{minipage}%
\begin{minipage}{0.5\linewidth}
\centering
\includegraphics[width=5cm,height=4.5cm]{image1}
\caption{test subfigure two}
\label{fig:test2}\par \medskip \vfill
\includegraphics[width=5cm,height=4.5cm]{image1}
\caption{test subfigure three}
\label{fig:test3}
\end{minipage}
\end{figure}

\end{document}
2

With tabular + subcaption:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption,subcaption}
\begin{document}

\begin{figure}
\begin{tabular}[b]{p{5cm}}
 \includegraphics[width=5cm,height=10cm]{image1}\\     
 \subcaption{test figure one}
\end{tabular}
\begin{tabular}[b]{p{5cm}}
 \includegraphics[width=5cm,height=5cm]{image2}\\  
 \subcaption{test figure 2}\\     
 \includegraphics[width=5cm,height=5cm]{image1}\\     
 \subcaption{test figure three}
\end{tabular}
 \caption{figure}
\end{figure}

\end{document}

This yields:

enter image description here

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.