我有一个相当复杂的项目,其中包含相当大的文档。
通过 make latexpdf
使用 Sphinx 将普通的用户指南 转换为 PDF 效果很好。但是,如果我还想将库引用包含在所有函数、类和模块文档中,该命令将失败并显示:
! LaTeX Error: Too deeply nested.
手动减少嵌套不是一种选择。 Sphinx 内部嵌套了参数说明、功能说明、模块说明等等。因此,在每种情况下都弄清楚如何减少嵌套几乎是不可能的。
最佳答案
我通过在 sphinx 序言中添加一些 latex 语句解决了这个问题。
因此,我在我的 sphinx source 文件夹中创建了一个新的 latex_preamble.tex
文件。它只包含以下两个命令:
\usepackage{enumitem}
\setlistdepth{99}
此外,在 conf.py
文件中,也在我的 source 文件夹中,我更改了以下内容(您可以查看 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
应该是任何 latex 发行版的一部分。我不需要安装这个包。此外,这也在 read the docs 上开箱即用。 .
关于python - 使用 Sphinx 创建 PDF 时如何避免 "too deeply nested"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454217/