use*_*469 5 restructuredtext python-sphinx
我正在使用Sphinx从rst文件生成pdf文件。Sphinx会自动生成不超过3级标题的章节号,以及不超过此级别的目录。但是,我希望所有级别的标题都被编号并放在目录中。为此,我尝试使用.. sectnum:: (http://docutils.sourceforge.net/docs/ref/rst/directives.html#table-of-contents)。结果与我预期的不完全相同:
1)在目录和文本的所有节号前面都添加了一个数字1.,而不是1,它是1.1,而不是2,它是1.2。
2)在TOC和直到第三级标题的文本中,都重复了部分编号,即错误的部分前面加了一个部分编号(正确的一个)(前面加了1.)。
这是我的示例rst文件:
.. sectnum::
level 1: the first party
========================
level 1 desc: this document is about xyz
level 2
-------
level 2 desc
level 3
~~~~~~~~
level 3 content
level 4
^^^^^^^^
level 4 content
level 5
''''''''
level 5 content jflkasjfslkajf
asdfsafs
level 1: the second part
========================
fjsdafjskalfjslkafjksaljflksaj
fasdhfkjsahfjkhdsf
level 2
-------
level 2 desc
level 3
~~~~~~~~
level 3 content
level 4
^^^^^^^^
level 4 content
level 5
''''''''
level 5 content jflkasjfslkajf
asdfsafs
Run Code Online (Sandbox Code Playgroud)
这是TOC的结果:
(我拍摄了pdf文件以显示结果,但是我发现我无法发布图片,因为我需要10个信誉,这是我第一次发布任何内容)
1 1.1 level 1: the first party
1.1 1.1.1 level 2
2 1.2 level 1: the second part
2.1 1.2.1 level 2
Run Code Online (Sandbox Code Playgroud)
这是文本的结果:
1.1 LEVEL 1: THE FIRST PARTY
level 1 desc: this document is about xyz
1.1 1.1.1 level 2
level 2 desc
1.1.1 1.1.1.1 level 3
level 3 content
1.1.1.1.1 level 4
level 4 content
1.1.1.1.1.1 level 5
level 5 content jflkasjfslkajf asdfsafs
Run Code Online (Sandbox Code Playgroud)
如您所见,在节号中添加了1.,并重复了直到标题3的标题。
如果有人可以帮助我,我真的很感激。
Sphinx似乎认为整个项目是一个文档,每个.rst文件都是其中的一章;您可以在 main 中指定文件的顺序.. toctree::。我想这就是你得到这些数字的原因。我猜想不希望对文件进行编号是一个非常常见的用例.rst,所以也许有人应该建议这样做。
顺便说一句,请注意 Sphinx 明确不支持sectnum. 相反,他们建议您使用:numbered:顶级.. toctree::. (http://sphinx-doc.org/rest.html)