from twisted.lore import latex from twisted.lore.latex import processFile import os.path # 2. Create a new mixin that does what the old MyLatexSpitter used to do: # process the new classes we defined class MySpitterMixin: def visitNode_span_productname(self, node): self.writer('\\underline{') self.visitNodeDefault(node) self.writer('}') def visitNode_span_marketinglie(self, node): self.writer('\\begin{bf}\\begin{Large}') self.visitNodeDefault(node) self.writer('\\end{Large}\\end{bf}') # 3. inherit from the mixin class for each of the three sub-spitters class MyLatexSpitter(MySpitterMixin, latex.LatexSpitter): pass class MySectionLatexSpitter(MySpitterMixin, latex.SectionLatexSpitter): pass class MyChapterLatexSpitter(MySpitterMixin, latex.ChapterLatexSpitter): pass