How can I position figures and tables where I want them with LaTeX?
LaTeX uses specific rules to place floats (figures and tables).
You begin figures with \begin{figure}[loc] where loc is a sequence of 0 to 4 letters, each one specifying a location where the figure or table may be placed, as follows:
Code | Meaning |
---|---|
h | Here: at the position in the text where the environment appears. |
t | Top: at the top of the next page. |
b | Bottom: at the bottom of the next page. |
p | Page of floats: on a seperate page containing no text, only figures and tables. |
The default is tbp.
If you only specify h (here), and it doesn't fit there, it will float to the end. So, it is best to rank your choices (htp for example...)
The only things that you can be sure of, however, is that LaTeX will never place a float before it is referenced in the text. But it is possible that it will put it many pages AFTER the place where you actually placed it in the .tex file.
A good way to put the figures where you really want them is to wait until you're done with the paper. When all the text is ready, you can modify it so it puts the figures where you want them.
Look for the end of a page that you want your figure to come after. For example: if you want your figure to go on page 77, find the place in the text, where page 76 ends.
Insert a \clearpage command there. This command will force LaTeX to insert all the floats (figures and tables) that weren't printed yet to be printed before any other text is processed.