17

In what I would like to be a two-page, two-column document with two wide (figure*) figures, I need one to be on the bottom of the first page, and one to be on the top or bottom of the second.

However, LaTeX can't place wide figures on the bottom by default at all apparently without the use of an extra package (either stfloats or dblfloatfix), and both of these packages can only place a float on the page after its location in the source, making it impossible to have a double float on the first page.

Is there any way to get around this limitation, and have a float on the bottom of the first page?

It's worth noting that the simple idea of putting the float before the real first page doesn't work.

migrated from stackoverflow.com Nov 6 '11 at 3:10

This question came from our site for professional and enthusiast programmers.

8

You mention that very specific requirements for the document - only two pages, and a two-column format. The following minimal example duplicates this using the multicol package. It allows multiple column document format via the multicols environment that takes a mandatory argument:

\begin{multicols}{<n>}
  ...
\end{multicols}

This is an option in lieu of specifying a twocolumn document class option. As such, specifying your first image before starting the multicols environment, and specifying the second image after produces the desired result. The first image is still specified within a figure float with a float specifier of [b] (for bottom placement) while the last figure has a float specifier of [t] (for top placement):

enter image description here

\documentclass{article}
\usepackage{multicol}% http://ctan.org/pkg/multicol
\usepackage[demo]{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\begin{figure}[b]
  \centering
  \includegraphics{figure1}
  \caption{This is the first figure}
\end{figure}
\begin{multicols}{2}
\lipsum[1-7]
\end{multicols}
\begin{figure}[t]
  \centering
  \includegraphics{figure2}
  \caption{This is the second figure}
\end{figure}
\end{document}

In the above example, graphicx is loaded with the demo package option which replaces all images with a 150pt x 100pt black rectangle (for compatibility reason). You should remove this for your document. Also, lipsum was used to generate dummy text.

  • What if one needs to have (one column-wide) figures inside the two-column environment? As far as I understand, multicol doesn't allow this. – nemarona Feb 24 '16 at 18:43
1

If I understand correctly, because the figure command is placed before the multicol command, it is possible for the figure to float at the bottom of the first page. My document was still struggling with your script, until I changed \begin{figure}[b] into \begin{figure}[b!].

Hope this helps!

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.