pylatex 中 documentclass 的选项

pylatex 中 documentclass 的选项

我不明白的文档pylatex。我正在使用pylatex

如何更改页面方向和字体大小?

答案1

构造函数Document不支持文档类的选项。但是,documentclass可以使用Command,并且可以覆盖:

    doc = Document('basic')
    doc.documentclass = Command(
        'documentclass',
        options=['12pt', 'landscape'],
        arguments=['article'],
    )

还可以添加类似的包geometry,请参见以下示例,该示例源自文档的基本和完整示例pylatex

#!/usr/bin/env python

from pylatex import Document, Section, Subsection, Package, 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')
    doc.documentclass = Command(
        'documentclass',
        options=['12pt', 'landscape'],
        arguments=['article'],
    )
    fill_document(doc)
    doc.packages.append(Package('geometry',
        options=['a6paper', 'showframe']))

    doc.generate_pdf(clean_tex=False)
    doc.generate_tex()

结果

答案2

在 PyLaTeX 中>1.1.0Document 类的构造函数允许以列表形式提供 document_options:

from pylatex import Document

doc = Document(inputenc="utf8", documentclass="scrarticle", document_options=["12pt", "landscape"])

编辑:PyLatex 1.1.0 在@heiko-oberdiek 回答几周后发布。

相关内容