超过3级标题的狮身人面像部分编号:.. sectnum ::

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的标题。

如果有人可以帮助我,我真的很感激。

Bra*_*ron 4

Sphinx似乎认为整个项目是一个文档,每个.rst文件都是其中的一章;您可以在 main 中指定文件的顺序.. toctree::。我想这就是你得到这些数字的原因。我猜想不希望对文件进行编号是一个非常常见的用例.rst,所以也许有人应该建议这样做。

顺便说一句,请注意 Sphinx 明确不支持sectnum. 相反,他们建议您使用:numbered:顶级.. toctree::. (http://sphinx-doc.org/rest.html