我有一个相当复杂的项目,有相当大的文档。
使用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的开箱即用。