3

I'm trying to achieve the following figure layout using \subfloat but without any success. That is to have one figure one the left side of the page, and other two on the right side, aligned, and as high as the left figure. enter image description here

I have the following code:

\documentclass{article}
\usepackage{graphicx}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}

\title{}
\date{}
\begin{document}

\maketitle

\begin{figure*}[!t]
    \centering
    \subfloat[]{\includegraphics[width=0.325\textwidth]{fig1}%
    \label{subfig:fig1}}
    \hfill
    \subfloat[]{\includegraphics[width=0.65\textwidth]{fig2}%
    \label{subfig:fig2}}
    \vfill
    \hfill
    \subfloat[]{\includegraphics[width=0.65\textwidth]{fig3}%
    \label{subfig:fig3}}%
    \caption{my caption.}
    \label{fig:results}
\end{figure*}

\end{document}

but what I get is the following: enter image description here

as you can see there is a misalignment between figure (a) and the column of figures (b and c).

How can I fix that?

5
  • The first step is to post code here, which DOES compile ... as it's now, we have to guesswork about your preamble ... and can't display any figure ...
    – MS-SPO
    Commented Sep 1, 2023 at 9:42
  • You should show a minimal example from \documentclass up to \end{document}.
    – egreg
    Commented Sep 1, 2023 at 9:58
  • 1
    @MS-SPO Thanks. I've just updated the code. Is enough or should I add something more? Commented Sep 1, 2023 at 10:01
  • Fine :) Looks good enough for me now. Thank you
    – MS-SPO
    Commented Sep 1, 2023 at 10:26
  • Somewhat related: tex.stackexchange.com/questions/646910/… Commented Sep 1, 2023 at 21:03

1 Answer 1

5

I'm not sure why using figure* for a one-column document, so I add twocolumn. If your document is one-column, use figure.

There are several ways to solve the problem, I like to use \valign (which has no LaTeX interface).

\documentclass[twocolumn]{article}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\usepackage{graphicx}

\begin{document}

\begin{figure*}

\valign{#\cr
\hbox{\subfloat[]{\includegraphics[width=0.325\textwidth]{example-image}\label{subfig:fig1}}}\cr
\noalign{\hfill}
\hbox{\subfloat[]{\includegraphics[width=0.65\textwidth,height=1.5cm]{example-image-a}\label{subfig:fig2}}}
\vfill
\hbox{\subfloat[]{\includegraphics[width=0.65\textwidth,height=1.5cm]{example-image-b}\label{subfig:fig3}}}
\cr}

\end{figure*}

\end{document}

I use height=1.5cm just to reproduce the format of your images.

enter image description here

1
  • It works wonderfully, thanks! I'm using a two-column template, that's why I put figure*. I forgot to mention that Commented Sep 1, 2023 at 13:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .