AFAIK a figure or table should always be placed after the first reference to it in the text.

So I always place the code for my figures and tables after the paragraph which contains the first reference \ref to them. When I then use the command \begin{figure}[t], it is possible that the figure is placed at the top of the same page where it is referenced, so IMHO that is against the rule mentioned above.

  • Is there a way to force pdflatex to place the floats after the paragraph which precedes them in the source text?
    (so in my example that would be at the top of the following page or later)

2 Answers 2


You could try with the flafter package:

  • 6
    +1 I was just going to give the same answer :-) Note that the flafter package will make sure that the floats are not placed before their definition, e.g. the figure or table environment, not where it was first \ref-erenced. So you need to place this environments close to the first \ref to make it work. Also check out the TeX FAQ for this. Commented Apr 13, 2011 at 11:48
  • @Martin Scharrer: Thanks for your comments - mentioning the difference between the definition and the first \ref is an important point (I had already seen that problem and placed the code for the figures accordingly). Thanks again for reminding me of the TeX FAQ which contains useful information. Commented Apr 13, 2011 at 19:00
  • Although some years later, thank you very much.
    – henry
    Commented Jun 25, 2014 at 13:57
  • if you add a suggestion to also try the option [htp] then this question can be closed as a dup: tex.stackexchange.com/q/297564 Commented Mar 6, 2016 at 18:08

Or you could replace the [t] option with [b] so that floats preferentially lie at the page bottom instead of the top if that's suitable to your tastes or needs.

You must log in to answer this question.

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