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.

For some reason, my figures get pushed to the end of the document. I tried begin{figure}[t], [h] and other options, but none helped. Any ideas how to get the figures to appear much earlier in the document, where they are approximately first mentioned in the .tex file?

share|improve this question
Also see <tex.stackexchange.com/questions/2275/…; –  Will Robertson Feb 18 '11 at 0:35
If one figure or table has a width or height greater than the current textwidth or height, itself and all following will move to the end of the chapter/section –  Herbert Feb 18 '11 at 8:04
Perhaps use the smallest and simplest figures that convey the required information, so that you don't distract the reader's eye. Pack a punch in a tiny space, keeping your figure easy to scan by removing any unnecessary details. Figures in the flow of the text are easiest for the reader to absorb. –  Benjamin McKay Feb 25 '13 at 18:52

4 Answers 4

up vote 16 down vote accepted

Note that this has been mentioned in a few places already. Here is a summary:

If you really want them to stay in place, you could just not put them in Floats. Then you can use either the caption or the capt-of package to add a caption to the figure.

However, I think that the most accepted method is to use the placeins package to have your floats placed in the section they appear in. You can also define \FloatBarriers to decide where floats should not go past.

Playing with the size of the figure, even for a couple of points, can also make a great difference in the placement while not changing much of the visual aspect.

share|improve this answer
+1: While placeins doesn't stop figure migrating to be on their own page (because almost nothing short of resizing them can). It forced them to only migrate so far. Thus locking them down to there section (or subsection see tex.stackexchange.com/questions/118662/…). Thus solving many issues. Its almost always preferable (for my work at least) to have them be anywhere closer than the end of the document. –  Oxinabox Oct 22 '14 at 3:48

Your figures are most likely too large and/or you tell LaTeX to place them at a position where they don't fit. So they are are pushed to the last position were they finally do: the end of the document.

Adding restrictions like [t] (top) or [h] (here, LaTeX has a habit of refusing it) doesn't help, but makes things worse! Actually removing all of that restrictions might help. There is a good reason why this argument to figure is optional! If you are using it add at least p so LaTeX can do float-only pages.

To fix this you can allow more space for floats (figure and table) alike by redefining one or more of the following macros. The ...fraction ones define the fraction of the page with is allowed to be used on top or bottom etc. The ...number ones define the maximum number of floats at these positions. The values below are examples from this TeX FAQ.


I wouldn't recommend to change your figures to non-floating ones because this gives bad layout.

share|improve this answer
Thanks. I had [t] on a figure that was too big. Removing [t] or changing it to [tp] worked for me. –  geometrikal Aug 12 '14 at 2:53

Start with appropriate placement parameters for your float objects.

% figure content

The exclamation mark overwrites the internal values introduced by Martin and makes LaTeX "try harder" to place the float at the earliest possible place. It is documented in Appendix C.9 of the Lamport book.

share|improve this answer
Neither !h or t will do any good when the figure is larger then 1-\textfraction or \topfraction. IMHO restricting a figure causes this issue more often then fixing them. –  Martin Scharrer Feb 18 '11 at 10:07
There was no talk of "!h or t", but of [!ht]. One single parameter is never good. And a figure with that size should be placed on its own float page by using [!p] as placement parameter. –  Thorsten Donig Feb 18 '11 at 10:33
Thanks man, this solution works great, I though i were screwed !! –  user1774937 May 10 '13 at 13:56
Thank you @ThorstenDonig! I was struggling with this for some time and solved it with a single character '!'. –  Jedediyah May 7 '14 at 19:43

I solved this problem by using "\vspace{-20pt}" after and before the caption to remove vertical space as shown:

\begin{figure}[t!] \centering \vspace{-20pt} \centering\includegraphics[scale=0.8]{myfigure.eps} \vspace{-10pt} \caption{my caption} \vspace{-20pt} \label{fig:myfigure} \end{figure}

share|improve this answer
That is really not a good solution. It could have side-effects when you least expect them, especially if other aspects of your document change. I wouldn't recommend others use this approach as it is, at best, covering something up rather than solving it and, at worst, will cause far more problems than it solves. –  cfr Dec 24 '14 at 2:54

Your Answer


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.