3

I've for a long time used [htbp] as options for the placement of figures, but if not specified latex places figures on the top of the page (t) rather than here (h).

Often, the result is that figures appear before they are referenced in the text, which is not the order in which I expect to read figures. Is there a commonly accepted typographic convention or a study that supports having figures appear before they are referenced, or should I keep asking latex to favor placing figures here?

5
  • 1
    Please see the posting How to influence the position of float environments like figure and table in LaTeX for an in-depth discussion of how LaTeX places float objects.
    – Mico
    Jul 2, 2020 at 15:09
  • Maybe a better option in just place the float a few paragraphs after the reference, specially if you are near of the start of a chapter or section, then the top of a second page or the second column is the best place for a figure, where you see first, so it is a good default.
    – Fran
    Jul 2, 2020 at 15:44
  • Thanks for the comments. I'm more interested in why latex does this, and if it's considered the best practice from a reader's standpoint (even if it doesn't work very well for me personally as a reader), Jul 2, 2020 at 16:26
  • 1
    It was a design decision by Leslie Lamport the creator of LaTeX. Jul 2, 2020 at 16:47
  • latex always tries h (if h is allowed) before t. The standard classes set the default placement to tbp but that is user-setable. Many publications do not have figures mid-page Dec 17, 2022 at 13:26

1 Answer 1

2

I cannot speak of motivations for the float default options in standard documents, but the most logic for a float algorithm cannot other than place the float in a good place as soon as possible.

The default of a standard article is[tbp] (i.e., place the float anywhere except here). Restrict some of these options mean lost many chances of place a float, whereas add some more ([htbp] or [!htbp]) mean increase the chances, but at the cost of the elegance of the document layout, allowing text scattered between figures, instead of figures scattered between text.

Without being aware of possible cross-references, [tbp] seems a good default, even if some float can be placed before of the first reference to this float when you do not care at which point the algorithm should start to try these places.

The best practice, of course, is not settle for this to happen, but (1) not to place the float near of the reference, but near where it should be showed, or (2) avoid the top option (e.g., to [bp]), or alternatively (3) use the package afterpage to allow a top float but in the next page, or if you are more prone to automatic solutions (4) use the package flafter to skip always the top position, but only of the actual page.

1

This site is temporarily in read-only mode and not accepting new answers.

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