in my opinion middle floats always float ;-) "Middle" floats could float
from the column top to the column bottom; if there's room left before or
after one should apply the standard orphan/widow rules (but if a
designer wants a fixed middle placement one should have an option like
the absolute placement for top and bottom position). They can be of
different size and therefore I don't think there is a algorithm that
will satisfy all possible combinations automatically. As said there
should be a possibility for a fixed position on the page, e.g., on top
or bottom or both (wether in single column mode or more) and maybe even
in combination with column number, e.g., left column, middle, right (or
one, two, three, ...) -- In this case I would like to have an option to
place some text at the original position when the float has been moved.
> To state the problem differently, what should be the amount of freedom
> available to the designer (through the algorithm), and what would be a
> way to express it?
> * What kind of other specs can you think of?
for fixed positions:
[col=1, pos=<t,c,b,>, col=2, pos=<t,c,b,>, col=3, pos=<t,c,b,>, ...] or
[col=1, pos=absolute(10cm), ...], [col=1, pos=absolute(10\baselineskip),
...], or [col=1, pos=<baseline|top|bottom>(10\baselineskip), ...]
otherwise real floats with optional preferences where to float:
[pos=<t,c,b>, text=<optional text at original pos>]
Plus an option for maximum numbers of floats per column, plus an option
for vsize of floats.
The biggest problem is how to manually adjust bad page makeup ...