LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Frank Mittelbach <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Sun, 25 Nov 2007 21:51:45 +0100
text/plain (88 lines)
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
AAAAAA  t3t3t3
AAAAAA  t3t3t3
AAAAAA  t3t3t3
AAAAAA  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,


t1t1t1  t3t3t3
AAAAAA  t3t3t3
AAAAAA  t3t3t3
AAAAAA  t3t3t3
AAAAAA  t3t3t3
t2t2t2  t3t3t3
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...


    * 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?