Does the [h] placement specifier guarantee immediate float placement in LaTeX?
0 reputation · 26 Apr 2023, 20:43 UTC
I need to confirm whether a figure or table marked with the standard [h] placement specifier is required to appear at its exact source insertion point, or whether LaTeX may still defer it to a later page. The kernel describes [h], [t], [b], and [p] as placement preferences rather than binding directives, and floats that cannot fit the current page enter a pending queue and are retried later. The stricter [h!] form relaxes some constraints, but it still cannot place a float taller than the available text block. Packages such as float introduce [H] forced-here behavior, which may change expectations for documents that load them.
Given these rules, I want to know exactly when the float algorithm is permitted to override [h], whether a deferred float can reorder relative to intervening text, and whether [h!] guarantees placement whenever the float physically fits on the current page.
- Does
[h]ever permit LaTeX to move a float to a later page even when sufficient space exists on the current page? - If a
[h]float is deferred, can it appear after floats that occur later in the source? - Does
[h!]guarantee immediate placement for any float whose height is below the page’s text-block limit?