UK TeX FAQ -- question label tmupfl

### “Too many unprocessed floats”

If LaTeX responds to a `\``begin{figure}` or `\``begin{table}` command with the error message

>     ! LaTeX Error: Too many unprocessed floats.

>     See the LaTeX manual or LaTeX Companion for explanation.

your figures (or tables) are not being placed properly. LaTeX has a limited amount of storage for ‘floats’ (figures, tables, or floats you’ve defined yourself with the float package); if something you have done has prevented LaTeX from typesetting floats, it will run out of storage space.

This failure usually occurs in extreme cases of floats moving “wrongly”; LaTeX has found it can’t place a float, and floats of the same type have piled up behind it.

How does this happen? — LaTeX guarantees that caption numbers are sequential in the document, but the caption number is allocated when the figure (or whatever) is created, and can’t be changed. Thus, if floats are placed out of order, their caption numbers would also appear out of order in the body of the document (and in the list of figures, or whatever). As a result, enforcement of the guarantee means that simple failure to place a float means that no subsequent float can be placed; and hence (eventually) the error.

Techniques for solving the problem are discussed in the floats question already referenced.

An alternative may be to use the morefloats package. The package will allocate more “float skeletons” than LaTeX does by default; each such skeleton may then be used to store a float. Beware that even with morefloats, the number you can allocate is limited; even with the etex package (which makes available many more registers, etc., than LaTeX does by default; e-TeX can create lots more registers, but none of those “beyond the original TeX default” may be used in float skeletons). Thus, etex may offer some relief, but it can not be regarded as a panacea

The error also occurs in a long sequence of float environments, with no intervening text. Unless the environments will fit “here” (and you’ve allowed them to go “here”), there will never be a page break, and so there will never be an opportunity for LaTeX to reconsider placement. (Of course, the floats can’t all fit “here” if the sequence is sufficiently prolonged: once the page fills, LaTeX won’t place any more floats, leading to the error.

Techniques for resolution may involve redefining the floats using the float package’s `[H]` float qualifier, but you are unlikely to get away without using `\``clearpage` from time to time.

`float.sty`
  macros/latex/contrib/float (or browse the directory); catalogue entry
`morefloats.sty`
  macros/latex/contrib/morefloats (or browse the directory); catalogue entry

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tmupfl