this summer I reimplemented some old ideas for an interface for placing boxes
in a "natural way" and I also presented a draft of that work in SF this
Joseph did a cleaner reimplementation of that recently. This new
implementation is working very nicely and it is available from the svn for
people who want to play with it.
We do think that the interface is now largely the way we like it. But I still
think that there are a couple of things that would be worth having and I would
be interested to hear what others think about this.
Basically what xcoffins currently does is to provide a fairly natural way for
specifying how boxes (called coffins for some reason) are to be aligned to
each other including rotation and with Joseph's implementation also scaling.
Having a descriptive interface that doesn't use some absolute coordinate
system (such as the picture environment) but instead allows to specify
alignments according to relations of objects is quite essential for providing
layout specifications for things like headings, floats etc in a natural way.
And as far as it goes I think it works quite well. But there are a couple of
things which aren't provided that I guess one would like to have available
when specifying layout for things like headings or floats.
What I have in mind are primarily rules, specified not by giving absolute
length but rather specifying the end points in relation to the coffin handles.
A more or less natural extension of this would be something like "leaders" the
way TeX defines them, or a variation of that. But perhaps that is already too
much and rules are enough.
I don't think that it is right to try to turn the concept of coffins into some
sort of general purpose graphics language, ie. really complicated things are
probably better done differently but it would be nice if the more common
layouts could be easily decribed in this way and right now at least the rules
seems to me something that is clearly necessary.
But is there anything else you feel would be essential? And if so what?
Also, what kind of paramerization would be suitable for such objects (again
thinking about what is commonly needed and not so much what would be
theoretically possible in some arcane setup)?