我有一个相当复杂的项目,有相当大的文档。
使用Sphinx viamake latexpdf将普通用户指南转换为PDF非常有效。但是,如果还希望将库引用包含在所有函数、类和模块文档中,则命令将失败,原因是:

! LaTeX Error: Too deeply nested.

手动减少嵌套不是一个选项。Sphinx内部嵌套参数描述、函数描述、模块描述和其他内容。因此,在每种情况下,找出如何减少嵌套几乎是不可能的。

最佳答案

我通过在狮身人面像的前导部分添加一些乳胶语句来解决这个问题。
因此,我在sphinx源文件夹中创建了一个新的latex_preamble.tex文件。它只包含以下两个命令:

\usepackage{enumitem}
\setlistdepth{99}

此外,在conf.py文件中,也在我的源文件夹中,我更改了以下内容(您可以在latex_elements文件中查找conf.py变量,它通常被注释掉):
fh = open('latex_preamble.tex', 'r+')
PREAMBLE = fh.read()
fh.close()
latex_elements = {
# Additional stuff for the LaTeX preamble.
'preamble': PREAMBLE,
}

因此,现在sphinx使用允许任意嵌套的enumitem包。我想现在enumitem应该是乳胶分布的一部分。我不需要安装程序包。此外,这也适用于read the docs的开箱即用。

10-04 20:07