
I thought about other programmatic ways to keep track of this in python, but at this point you're pretty much writing the list yourself.

I attempted to store the value of the current upper level using a tag, but after 1 use it does not appear that a tag can be reassigned. I found page 47 of ReportLab's RML userguide helpful here. #We didn't have to reset the level 2 tag because chain takes care of it contents.add(Paragraph( (''Ĭontents.add(Paragraph(' Level 2 Header', h2))Ĭontents.add(Paragraph('. To make your levels look distinct, I suggest formatting each one differently. This has the nice property that whenever you use a higher level's seq tag, the lower levels reset. To easily use multiple seq tags, start with seqOrder. If you don't care about the precise #.# formatting, you can accomplish this by using multiple seq tags.

Edit: I now believe what you are trying to do isn't possible, but I have a couple of recommendations
