On Mon, 2 Aug 1999, Henk Coetzee wrote:

> I'm busy with a document with a lot of figures, and have tried setting
> float placement to hp, h, !h and !hp, with no apparent logic in the
> results. I am trying to get the floats, most of which are a page big, 
> to place themselves as close to the relevant text as possible. This
> seems to work for the first three and then the 4th figure (smaller than
> a page) trundles off, with all following figures to the end of the
> document. (I am using report class). This started after inserting a
> figure quite close to the end. What have I done?

Latex usually decides to move the figures to the end of the document
because it can not fulfil the format constraints you gave. Unfortunately
the constraints Latex use are quite complex and sometimes result in
unexpected placement. 

It is difficult to tell what exactly went wrong in your case, but I
expect that the fourth figure could not be placed exactly where it
was in the document (so the 'h' specifier is not used) and could not be
put on a seperate page either, for instance since it is too small.
A float page must be filled for more that \floatpagefraction with 
floats. This default to 0.5, so if your float is smaller than half a 
page, it will float all to the end of the document.

Now if some float goes to the end of the document, all floats after it
will also float to the end. If there are too many, some buffer in Latex
will overflow and the 'too many floats' error will appear, which you
refered to in a later post.

More on float placement can be read in the documentation of the
fancyheadings package (which is renamed to fancyhdr, I believe).

Now, how to repair the mess? Leave the float placement option empty,
it which case it defaults to 'thp', I believe. This will in general
result in fine float placement. In general, the more options Latex has
to place the floats, the less often it has to resort to the ugly 
solution of putting all floats at the end.

The alternative is to customize the float placement parameters, eg. by 
placing '\renewcommand\floatpagefraction{0.3}' in the preamble.


Hope this helps,

Jitse Niesen

Reply via email to