Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I was told to use table* rather than the table environment to insert a table in a two-column document which is too small to fit in a single column. When I try to do the same thing with a figure, The figure chooses to move to a page of its own. How do I prevent this? The same thing happens in the article class

\documentclass[twocolumn, 11pt]{apa6}
\begin{document}

Why does the figure skip this page?

\begin{figure*}
    \includegraphics[width=400 pt, height=200 pt]{test.pdf}
           \caption{test.} 
\end{figure*}

\end{document}

Page 1:

Page 1

Page 2:

enter image description here

share|improve this question
    
Untested, so only comment, try adding [!htbp] after \begin{figure*}, this makes LaTeX try to place it in the current place or at the top/bottom of a page before sending it to a page of its own. –  hugovdberg Mar 23 at 9:10
    
Also, LaTeX allows a picture to take only a certain percentage of the pageheight if that page also includes text to prevent having only a few lines that are easily missed, see for example this answer by Frank Mittelbach: tex.stackexchange.com/a/39020/46598 –  hugovdberg Mar 23 at 9:21
    
@hugovdberg I've tried [!htbp] before I posted here. In fact, I've also tried reducing the image size to [width=100 pt, height=100 pt]. I've also tried this in the article class. Either and all of those don't work. There must be something obvious I'm missing. –  Far Zin Mar 23 at 9:27
    
Does this also occur with non-pdf images (jpg, eps, whatever)? I just noticed you include a pdf, perhaps that causes a new page to occur. (Sorry I can't test easily at the moment, on my phone right now ;)) –  hugovdberg Mar 23 at 9:30
    
yes. in fact you can remove \includegraphics{test.pdf} line completely and the same issue occurs –  Far Zin Mar 23 at 9:50

2 Answers 2

up vote 6 down vote accepted

Double column floats always go on the next page at the earliest (they can't be placed on the current page as the first column may already have been set full height, so in a real document you just need to move the figure* environment earlier in the source, so that it is seen before the text that ends on that page. In the rare cases that you want the float at the top of the first page, you don't want a float at all and you can simply use

\twocolumn[{\includegraphics{...}}]

and put the image in the two column box at the top.

share|improve this answer

According to the LaTeX/Floats, Figures and Captions page on wikibooks figure* and table* by default "can be placed only at the top of a page or on their own page". Since LaTeX doesn't want to start the document with a float, and it can't place it at the bottom, it drifts to the next page where it is placed at the top. The dblfloatfix package solves this partially by allowing these floats to be placed at the bottom of a page as well (still no h option!). However, this does not work for the first page with the global twocolumn switch.

Another option is to drop this twocolumn option and instead use multicolumn environments, some examples how to do this can be found on this page (including a way to include single column floats, as the unstarred floats don't work in multicolumn).

Your code adapted with dblfloatfix to allow a float at the bottom of a page:

\documentclass[twocolumn, 11pt]{apa6}
\usepackage{dblfloatfix}
\usepackage{blindtext}
\begin{document}
\blindtext[6]

\begin{figure*}[b]% Force the float to the bottom of the page (but still not page 1)
    \centering
    \includegraphics[height=100pt]{test.pdf}
    \caption{test.} 
\end{figure*}

\blindtext[6]
\end{document}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.