-1

I have a document in double column format, and for the appendix, where I just list omitted figures, I would like to have a section heading ("A - Omitted Figures") and then several figures. However, the figures are wide, so I'm using figure*. This causes latex to set the section heading, then clear the rest of the page and then start the figures on a new page. Here is a minimal non-working example:

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

\begin{document}

\section{Omitted Figures}

\begin{figure*}[h]
\includegraphics{example-image-a}
\end{figure*}

\end{document}

The result is this:

The figure is on the second page, the heading is on the first

This problem has been answered for single-column articles. However, if I use H as placement specifier, the figure disappears completely in double-column layout (without even emitting an error?!?). I've used various placement specifiers, h, h!, ht, htpb. Aside from H they all yield the same result as seen above.

Is there a way of displaying the double-column figure right below the section header?

Edit: Later in the document, there is a little more text that fits double-column really well, so I would rather not switch the whole document to single-column using \onecolumn

Edit 2: Zarko suggested below using the stfloats package, which works great for one figure - but not for my 'many figures' use case. A little larger MNWE with stfloats, [b] placement and two figures:

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage{stfloats}

\begin{document}

\section{Omitted Figures}

\begin{figure*}[b]
\centering
\includegraphics[scale=0.8]{example-image-a}
\end{figure*}
\begin{figure*}[b]
\centering
\includegraphics[scale=0.8]{example-image-b}
\end{figure*}

\end{document}

This yields: heading and image a on the first page, image b on the second page

  • Your claims about my solution not hold. Sum of heights of your images are bigger than \textheight, consequently in your MWE is no room for both pictures in one page! Please see my comment below my answer and edited answer. – Zarko Oct 8 at 12:50
  • Just remove the figure environment and use a \captionof-command either from scrextend, caption or capt-of package. – Sveinung Oct 8 at 13:45
2

With help of the package stfloats you can put figure on the bottom of the same page where is inserted (if there is enough space):

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage{stfloats}   % <---

\begin{document}

\section{Omitted Figures}

\begin{figure*}[b]
\includegraphics{example-image-a}
\end{figure*}

\end{document}

enter image description here

On such a way you can insert more figures on the same page. If for figures you need more pages, than for the figure which will appear on the next page change placement option to [t]

Edit: As I mentioned in my comment below, standard LaTeX enable only 70% of page to contain floats. Other space is reserved for a text. If you have only figures, you need to change this settings, for example as in the next example:

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage{stfloats}

\renewcommand{\textfraction}{0.09}
\renewcommand{\dbltopfraction}{0.9}
\renewcommand{\bottomfraction}{0.9}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\section{Omitted Figures}

\begin{figure*}[b]
    \centering
\includegraphics[height=0.35\textheight]{example-image-a}
\caption{First figure in appendix}
\end{figure*}

\begin{figure*}[b]
    \centering
\includegraphics[height=0.35\textheight]{example-image-b}
\caption{Second figure in appendix}
\end{figure*}

\end{document}

Of course this works, if the pictures in figure floats are not to height. Their sum had to be smaller than about 70% of text height.

enter image description here

(red lines indicate page layout)

  • Thanks, that works great for a single image, but not for two. See my updated question above. – Lukas Barth Oct 8 at 11:43
  • @LukasBarth, I warn you abut this with "it there s enough space". You cant store elephant into lady suitcase. Additionally, standard LaTeX enable only 70% of page to be floats. other should be text. If you have only figures, you need to change this settings. – Zarko Oct 8 at 12:12
  • @LukasBarth, see edited answer. – Zarko Oct 8 at 12:46
1

With addition to Zarko's answer, if you need two figures at the bottom of the same page, then keep both figures in the same figure* tag, MWE given below

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage{stfloats}

\begin{document}

\section{Omitted Figures}

\begin{figure*}[b]
\centering
\includegraphics[scale=0.6]{example-image-a}\\
%\end{figure*}
%\begin{figure*}[b]
%\centering
\vspace{\floatsep}
\includegraphics[scale=0.6]{example-image-b}
\end{figure*}

\end{document}

Output:

enter image description here

  • Note that I've modified the figure size slightly to make it fit into a page.. – MadyYuvi Oct 8 at 12:03

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.