xmlgraphics-fop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Hennebert" <vhenneb...@gmail.com>
Subject Re: [Xmlgraphics-fop Wiki] Update of "GoogleSummerOfCode2006/FloatsImplementationProgress/ImplementingSideFloats" by VincentHennebert
Date Fri, 11 Aug 2006 14:17:15 GMT
2006/8/11, Jeremias Maerki:
> > In some situations, a best-fit approach could even produce better
> > results, as we would have the possibility to consider the differing of a
> > side-float. But it is well-known that best-fit may be much worse than
> > total-fit regarding before-floats and footnote placements.
> Are you sure that it's "much" worse? Note that even TeX uses best-fit
> for page breaking.

Oh yes I'm sure ;-) It's a common complaint from users of the LaTeX
world that figures are placed in a weird manner. There are plenty of
parameters to tweak the output by hand, but this doesn't always give
satisfying results. And given that manual intervention isn't really an
option in the FO world...
Note also that TeX implemented best-fit for page-breaking only because
of limited computation resources at that time (you know, those good old

> > Looking at how tables are handled might give me some ideas for
> > side-floats, but this would require some time and there isn't much left
> > now.
> >
> > I also have some ideas for improving the handling of before-floats and
> > footnotes, and I'd like to implement them while I have time and it's
> > still fresh in my memory.
> >
> > The implementation I propose on the Wiki page has its limitations but
> > should work in most cases. This might give a basis for further
> > improvements.
> >
> > I'm thinking about making a poll on fop-user to know what are their
> > expectations regarding side-floats, and which usage they would make of
> > them. This might help make some design decisions.
> That should certainly provide some interesting feedback.
> > Well, in one word, I'm a bit lost as for what to do, now.
> Hmm, yeah, it's a bit difficult. Best-fit vs. total-fit plays into this.
> Best-fit will most likely replace total-fit because of the additional
> features we can cover. If that means some drawbacks on things like
> footnote placement that could be acceptable if the drawbacks are not too
> great. ATM, I cannot estimate the impact of the change. Too bad we don't

Well, to me switching to best-fit is out of the question. Total-fit is a
killer feature for technical documents with lots of figures and
footnotes (the current implementation is already better than Xep...).
This would give Fop a big advantage over concurrent implementations.

Rather, we might consider implementing both strategies. Ideally there
would be an option in the config file ( "optimize-for-books" vs
"optimize-for-fancy-layouts" or something like that). The generation of
Knuth elements would be the same, only the breaking algorithm would
differ. But abandoning total-fit is not an option, IMO. Moreover...

> have much theoretical reference material on using the Knuth approach on
> page breaking. Most of what exists today around page breaking is by M.F.
> Plass or worked out by us on our Wiki.

... I'm still hoping to find a solution compatible with the total-fit
approach. The glue/box/penalty model is simply not powerful enough to
represent tables, side-floats and the like. All we have to do is find
another model...

> I would not consider it a bad move if you concentrated the rest of your
> time of the GSoC on the before-floats and footnotes, especially if it's
> unlikely that you can finish side-floats in time and if the switch from
> total-fit to best-fit hangs in the air. Even without an actual
> implementation the groundwork for a side-float implementation in form of
> some very good documentation is a very satisfying result. I would
> consider the goals of the GSoC project met. It might be good to add some
> best-fit-specific comments, though.

Ok, will do.

> How does that sound?

Well, now I know what to do ;-) I'll first work on footnotes and
before-floats improvements. I'll also try to implement the simplified
solution for side-floats. Depending on the results I'll write the
suitable documentation.


View raw message