150

I would appreciate if someone could tell me difference between [t] and [ht] in the following example? I don't see a difference in the output pdf file.

\begin{figure}[ht]
...
\end{figure}

and

\begin{figure}[t]
...
\end{figure}

2 Answers 2

203

These are optional parameters to fine tune the placement of tables and figures, with the following meaning:

  • h, here
  • t, top
  • b, bottom
  • p, page of float

and LaTeX will try to honour the placement with respect to the actual place, the top or bottom of the page, or a separate page of floats coming immediately after the present insertion point. For example, when using ht LaTeX will try to put the figure at the insertion point, then on the top of the next page if it happens to violate its typesetting rules.

You may also force LaTeX to "insist" on these specifications by adding an exclamation mark (!) before the placement parameters, e.g. \begin{figure}[!htb]. Additionally, per @WillRobertson's comment:

Note that the ! means that LaTeX will ignore certain other restrictions for placement (e.g., number of floats on a page; maximum size of bottom floats, etc.); it will not always help and should be used sparingly.

8
  • 28
    Note that the ! means that LaTeX will ignore certain other restrictions for placement (e.g., number of floats on a page; maximum size of bottom floats, etc.); it will not always help and should be used sparingly. Jan 11, 2011 at 2:08
  • 2
    Must the ! be before the parameters, or can it be in the end too? Dec 14, 2012 at 3:42
  • 1
    @JonasStein Usually, before.
    – chl
    Dec 14, 2012 at 12:52
  • 14
    The order of the arguments doesn't actually matter. See How to influence the position of float environments like figure and table in LaTeX? for "the full story" on float placement. Apr 11, 2013 at 22:03
  • 2
    @OAH Yes, I meant the place when one put the float in the flow of the document.
    – chl
    Jan 17, 2016 at 11:03
14

there will be no difference, because your documentclass will change it anyway to ht, which means place the floating object here or, if it is not possible depending to the parameter setting of the lenghts and counters, put it on the top of the next page. For [!ht] the parameter setting will be ignored and you can have for example 20 floats on one page. Without a h in your parameter the float can also appear on the top of the current page.

1
  • 20
    [ht] differs from [h] in that it allows top of current page (latex only changes h to ht after the page that the float is on) Apr 11, 2013 at 21:59

You must log in to answer this question.

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