[reportlab-users] question about keepWithNext and multibuild
adam hyde
adam at flossmanuals.net
Tue Sep 23 10:20:58 EDT 2008
hi Robin,
Thanks for the update. Its good to hear the situation, I'm not entirely
sure I understand the technical issue but I will talk to a friend that
is a python programmer to see if he can take a look at it.
Is there any way that you can think of to generate a TOC without
multibuild? I was wondering if it is possible to record the placement of
headings, and build the TOC at the end of the process. I'm sorry if this
is a naive suggestion, my understanding of python is not too deep. If
you have any suggestion on how we could do it without multipass I would
happily try some experiments and report back.
adam
On Tue, 2008-09-23 at 14:59 +0100, Robin Becker wrote:
> adam hyde wrote:
> > hi,
> >
> > I saw the bug mentioned last week or so (keepWithNext failing with
> > multibuild).
> >
> > Someone from reportlab said they would look at it - did you manage to
> > check it out? I'm not sure how to check if there bug has been fixed etc
> > (so guessing this list is the best place to ask)
> ........
>
> I had a look at this and think it will be pretty hard to fix this stuff up
> easily. The original intent of the doctemplate class was to be a simple single
> pass process. That meant that the requirement of non-mutable story contents was
> not strictly observed.
>
> For multi-pass there is an absolute requirement that the story contents not be
> seriously modified during each pass. Of course things like the actual contents
> of flowables may change so something that rendered as 'pass 0' might eventually
> end up as rendering as 'pass 2', but the keepWithNext stuff is implemented by
> injecting new things into the story and modifying the original styles.
>
> Currently the multi-pass builder which was introduced by Andy to allow easier
> calculation of references/tables of content etc etc makes little effort to clean
> up undesired changes made during each pass. Probably we need to keep a list of
> structural changes that are made and reverse these prior to succeeding passes.
> The alternative is to find better implementations of keepWithNext and similar
> which remain invariant after first usage.
--
Adam Hyde
Founder FLOSS Manuals
http://www.flossmanuals.net
More information about the reportlab-users
mailing list