5.2. 使用 Sphinx 生成 LaTeX 文件 (最终得到 PDF)

在 LaTeX 设置中, 设置以下参数:

latex_engine = "xelatex"
latex_elements = {
    'papersize': 'a4paper',
    'utf8extra': '',
    'inputenc': '',
    'cmappkg': '',
    'fontenc': '',
    'preamble': r'''
        \usepackage{xeCJK}
        \parindent 2em
        \setcounter{tocdepth}{3}
        \renewcommand\familydefault{\ttdefault}
        \renewcommand\CJKfamilydefault{\CJKrmdefault}
    ''',
}

就能获得良好的 TeX 代码输出, 进入到 build/latex 目录下 make, 就能自动调用 xelatex 编译 PDF 了

注意, make 文件中, 查找的 LaTeX 文件与这个设置有关:

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
#  author, documentclass [howto, manual, or own class]).
latex_documents = [
    (master_doc, 文件名, 封面标题,
    author, 'manual'),
]

在文件名中, 最好不要有非 ASCII 字符, xelatex 恐怕无法找到含还有中文字符的文件名.

默认情况下, 生成的 PDF 是双页打印模式的, 在电脑上浏览会发现有很多空白, 这是那些左侧有文字, 右侧没有内容, 且下面的内容在下一个章节的情况下, 会留空.

要设置这一点, 在 latex_elements 中添加一项

latex_elements = {
    'extraclassoptions': 'openany,oneside',
}

那么, 就会按照单页样式打印.