【发布时间】:2020-11-01 10:50:00
【问题描述】:
我有一个如下所示的文档文件:
##
H1
##
Blah Blah
**
H2
**
Blah Blah
H3
==
Blah Blah
H4
--
Blah Blah
.. automodule:: lib.X
:members:
Python 文件X.py 如下所示:
"""
Another H3
==========
Blah Blah
"""
Lots of stuff
我的问题是X.py 中模块文档字符串的第一个标题以与原始文档H4 中的最后一个标题相同的方式呈现在 HTML 中,而不是呈现为第三级标题。我做错了什么还是我在 Sphinx 中发现了问题?
【问题讨论】:
-
@bad-coder,在我提供的代码中用“pass”替换“Lots of stuff”,你有一个最小的例子。唯一相关的是 doctree 包含一个 Sphinx 标头 Python 文件的其余部分与此问题完全无关。
-
我同意这一点,但它使 Python 模块文档字符串和 @include 文件成为二等公民。需要 Docutils 和 Sphinx 支持的一种潜在解决方案是能够声明任何已发现的听力层次结构仍然可以控制。这对在主文件中使用从属文档的问题没有任何作用。另一种解决方案是添加一个 DocUtils 指令,该指令声明从属文档中的标题与已发现的层次结构相关。因此,从属文档总是可以从级别 1 开始并且仍然适合。
-
您的建议适用于当前的 Sphinx 环境,如果您将其转化为答案,我可以接受。
标签: python python-sphinx restructuredtext sections autodoc