使用Sphinx创建PDF时如何避免"过于嵌套"的错误?

SmC*_*lar 2 python documentation latex pdf-generation python-sphinx

我有一个相当复杂的项目,有相当大的文档.通过Sphinx 将普通用户指南转换为PDF make latexpdf可以很好地工作.但是,如果我还想将库引用包含在所有函数,类和模块文档中,则该命令将失败:

! LaTeX Error: Too deeply nested.
Run Code Online (Sandbox Code Playgroud)

手动减少嵌套不是一种选择.Sphinx内部嵌套参数描述,功能描述,模块描述等等.因此,在每种情况下弄清楚如何减少嵌套几乎是不可能的.

SmC*_*lar 6

我通过在sphinx序言中添加一些乳胶语句来解决问题.因此,我latex_preamble.tex在我的sphinx 文件夹中创建了一个新文件.它只包含以下两个命令:

\usepackage{enumitem}
\setlistdepth{99}
Run Code Online (Sandbox Code Playgroud)

此外,在conf.py文件中,也在我的文件夹中,我更改了以下内容(您可以latex_elementsconf.py文件中查找变量,通常会将其注释掉):

fh = open('latex_preamble.tex', 'r+')
PREAMBLE = fh.read()
fh.close()
latex_elements = {
# Additional stuff for the LaTeX preamble.
'preamble': PREAMBLE,
}
Run Code Online (Sandbox Code Playgroud)

因此,现在sphinx使用enumitem允许任意嵌套的包.我想现在enumitem应该是任何乳胶分销的一部分.我不需要安装包.此外,这也开箱即用,阅读文档.