The current implementation of xor does not support float placement that interrupts the text column (except for inline floats which effectively aren't floats since they do not float out of their position as long as they split the text column--- thus the column is still a single block). I always thought that this is too limiting, but so far couldn't think of a good way to respresent design specs that allow for more freedom with floats that interrupt the column structure in the middle. One problem is to define how the algorithm should split the column(s) vertically, e.g., if AAAA is the float place somewhere in column 1: t1t1t1 t3t3t3 t1t1t1 t3t3t3 t3t3t3 AAAAAA t3t3t3 AAAAAA t3t3t3 AAAAAA t3t3t3 AAAAAA t3t3t3 t3t3t3 t2t2t2 t3t3t3 t2t2t2 t3t3t3 t2t2t2 t3t3t3 t2t2t2 t3t3t3 What is/should be the vertical size for the t1t1t1 block and what for t2t2t2 in this case? And what would be the values in a case with additional floats, e.g., BBBBBBBBBBBBBB BBBBBBBBBBBBBB t1t1t1 t3t3t3 t3t3t3 AAAAAA t3t3t3 AAAAAA t3t3t3 AAAAAA t3t3t3 AAAAAA t3t3t3 t3t3t3 t2t2t2 t3t3t3 t2t2t2 t2t2t2 CCCCCC t2t2t2 CCCCCC To state the problem differently, what should be the amount of freedom available to the designer (through the algorithm), and what would be a good way to express it? Perhaps one can restate this into two different questions: * What are possible/imaginable specifications that a designer may come up with for such floats in the middle of pages? * Which of them could be expressed algorithmically in a way that they can be implemented? Tackling the first question first, here are a bunch of specs that I can think of (without judging for the moment how well they would represent anything real life and how well they might work out in practice). * The ratio of t1 to t2 is fixed by the design and a float AAA can be placed into the middle position if neither t1 nor t2 become too small. (Downside of this kind of layout might be that the positioning of the floats drastically varies from page to page.) * The end position of t1 is fixed (vertically) so that a middle float always starts on the same point on a page. Further restriction then that t2 is not getting smaller as a certain value. * The starting starting position of t2 is fixed so that the bottom of the middle floats always appear on the same vertical position on the page, again with some further restrictions to the size of t1 this time. * An obvious extension to the above could be that there are a list of vertical starting points to choose from and some mechanism/logic to select one of them * ...other ideas... Questions: * What kind of other specs can you think of? * What is wrong with the above? What is right with them? * Which of the specs might be worth implementing (or not) for which reason? * Other comments, ideas? thanks Frank