On 10-Mar-05 Mats Broberg wrote: > [...] > Another general groff question: > > Does groff handle floats, i.e. graphics that does not necessarily need > to be inserted at a specific point on the page but are allowed to queue > until there is enough space to put them without getting alot of white > space? I found a a few references to floats in the UTP book, but only > in > relation to something called "displays". > > Best regards, > Mats Broberg
This depends on the macro package. In the 'ms' macros, for instance, there is a concept of a "keep" -- a block of material which must stay together on one page. Thus the "immediate keep" .KS [....] .KE will encapsulate the formatted [....] and, if there is room for it on the current page, will output it there and then; but, if not, then there will be an immediate break to a new page and [....] will be placed at the top of this. There is also the "floating keep" which works like what you are asking about: .KF [....] .KE If there is room for the formatted [....] on the current page, then it goes there immediately. Otherwise, it is kept in reserve, and subsequent material is output on the current page until the page is full, whereupon there will be a page break. The formatted [....] is then output at the top of the new page, after which the material from the bottom of the previous page continues below the [....]. This generally works well, to the point where you can write .KF [...1] .KE .KF [...2] .KE .KF [...3] .KE etc., and (supposing for example that each of these is too big for more than one of them on a page) you will get [...1] at the top of the next page as described above, then [...2] on the following page, then [...3] on the page after that, in all cases with the surrounding text continuiung smoothly past the [....]s at the tops of the pages. However, there can be some conflicts or inconsistencies with this mechanism. For instance, if [....] is a figure with a caption and you make an Table-of-Contents entry of the caption text inside the ".KF ... .KE", then the page number attached to the index entry will be the page number on which the "keep" was first encountered, and not the page number on which it is printed. It is possible to work round things like this, but it can be subtle! Hoping this helps, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <[EMAIL PROTECTED]> Fax-to-email: +44 (0)870 094 0861 Date: 10-Mar-05 Time: 17:40:39 ------------------------------ XFMail ------------------------------ _______________________________________________ Groff mailing list Groff@gnu.org http://lists.gnu.org/mailman/listinfo/groff