def visitNode_body(self, node): # Adapted from tree.generateToC self.fontStack = [('standard', None)] # Title slide self.writer(self.start_h2) self.writer(self.title) self.writer(self.end_h2) self.writer('%center\n\n\n\n\n') for authorNode in domhelpers.findElementsWithAttribute(node, 'class', 'author'): getLatexText(authorNode, self.writer, entities=entities) self.writer('\n') # Table of contents self.writer(self.start_h2) self.writer(self.title) self.writer(self.end_h2) for element in getHeaders(node): level = int(element.tagName[1])-1 self.writer(level * '\t') self.writer(domhelpers.getNodeText(element)) self.writer('\n') self.visitNodeDefault(node)
def visitNode_body(self, node): # Adapted from tree.generateToC self.fontStack = [('standard', None)] # Title slide self.writer(self.start_h2) self.writer(self.title) self.writer(self.end_h2) self.writer('%center\n\n\n\n\n') for authorNode in domhelpers.findElementsWithAttribute( node, 'class', 'author'): getLatexText(authorNode, self.writer, entities=entities) self.writer('\n') # Table of contents self.writer(self.start_h2) self.writer(self.title) self.writer(self.end_h2) for element in getHeaders(node): level = int(element.tagName[1]) - 1 self.writer(level * '\t') self.writer(domhelpers.getNodeText(element)) self.writer('\n') self.visitNodeDefault(node)
def test_getLatexText(self): """ L{getLatexText} calls the writer function with all of the text at or beneath the given node. Non-ASCII characters are encoded using UTF-8. """ node = Element('foo') text = Text() text.data = u"foo \N{SNOWMAN}" node.appendChild(text) result = [] getLatexText(node, result.append) self.assertEqual(result, [u"foo \N{SNOWMAN}".encode('utf-8')])
def visitNode_pre(self, node): # TODO: Syntax highlighting buf = StringIO() getLatexText(node, buf.write, entities=entities) data = buf.getvalue() data = text.removeLeadingTrailingBlanks(data) lines = data.split('\n') self.fontStack.append(('typewriter', 4)) self.writer('%' + self.fontName() + '\n') for line in lines: self.writer(' ' + line + '\n') del self.fontStack[-1] self.writer('%' + self.fontName() + '\n')
def visitNode_pre(self, node): """ Writes Latex block using the 'typewriter' font when it encounters a I{pre} element. @param node: The element to process. @type node: L{xml.dom.minidom.Element} """ # TODO: Syntax highlighting buf = StringIO() getLatexText(node, buf.write, entities=entities) data = buf.getvalue() data = _removeLeadingTrailingBlankLines(data) lines = data.split('\n') self.fontStack.append(('typewriter', 4)) self.writer('%' + self.fontName() + '\n') for line in lines: self.writer(' ' + line + '\n') del self.fontStack[-1] self.writer('%' + self.fontName() + '\n')
def writeNodeData(self, node): buf = StringIO() getLatexText(node, buf.write, entities=hacked_entities) data = buf.getvalue().rstrip().replace('\n', ' ') self.writer(re.sub(' +', ' ', data))