[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