Generating pdf-latex with python script

后端 未结 4 1692
庸人自扰
庸人自扰 2020-11-29 17:29

I\'m a college guy, and in my college, to present any kind of homework, it has to have a standard coverpage (with the college logo, course name, professor\'s name, my name a

4条回答
  •  南方客
    南方客 (楼主)
    2020-11-29 18:07

    There's a Python library exactly for that: PyLaTeX. The following code was taken directly from the documentation:

    from pylatex import Document, Section, Subsection, Command
    from pylatex.utils import italic, NoEscape
    
    
    def fill_document(doc):
        """Add a section, a subsection and some text to the document.
    
        :param doc: the document
        :type doc: :class:`pylatex.document.Document` instance
        """
        with doc.create(Section('A section')):
            doc.append('Some regular text and some ')
            doc.append(italic('italic text. '))
    
            with doc.create(Subsection('A subsection')):
                doc.append('Also some crazy characters: $&#{}')
    
    
    if __name__ == '__main__':
        # Basic document
        doc = Document('basic')
        fill_document(doc)
    
        doc.generate_pdf(clean_tex=False)
        doc.generate_tex()
    
        # Document with `\maketitle` command activated
        doc = Document()
    
        doc.preamble.append(Command('title', 'Awesome Title'))
        doc.preamble.append(Command('author', 'Anonymous author'))
        doc.preamble.append(Command('date', NoEscape(r'\today')))
        doc.append(NoEscape(r'\maketitle'))
    
        fill_document(doc)
    
        doc.generate_pdf('basic_maketitle', clean_tex=False)
    
        # Add stuff to the document
        with doc.create(Section('A second section')):
            doc.append('Some text.')
    
        doc.generate_pdf('basic_maketitle2', clean_tex=False)
        tex = doc.dumps()  # The document as string in LaTeX syntax
    

    It's particularly useful for generating automatic reports or slides.

提交回复
热议问题