python - 使用 Sphinx 创建 PDF 时如何避免 "too deeply nested"错误?

标签 python latex pdf-generation python-sphinx

我有一个相当复杂的项目,其中包含相当大的文档。 通过 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/

相关文章:

python - 如何使用 Django 在一个查询中从多个表中进行选择?

pdf - 如何从 pdfLaTeX 生成 PDF 索引?

latex - "spurious"在 latex 中领先

c# - 虚拟打印机 : intercept data sent to printer using c#

python - Keras、Tensorflow、CuDNN 初始化失败

python - 如何捕获麦克风缓冲区原始数据?

php - 如何使用带有canvas元素的php打印到pdf

PDF 规范 : how to specify encoding of core fonts?

python - Google API Python 客户端 - AccessTokenRefreshError

python - Latex 在 matplotlib 中无法正确显示