是否可以在reST级别开始reST开始自动章节标题编号?

时间:2014-03-06 01:13:16

标签: restructuredtext pelican

有没有反过来让reST开始编号只有部分,比如第二级?我正在使用自动编号设置:

.. section-numbering::

我想要的是输入:

Section A
=========

Subsection A.1
------------

Subsection A.2
------------

Section B
=========

Subsection B.1
------------

Subsection B.2
------------

输出A部分和B部分的头部未编号,但编号为子部分(即A.1,A.2和B.1小节,B.2)。

仔细阅读文档后,您似乎可以限制编号的深度,但不能限制编号的深度。

1 个答案:

答案 0 :(得分:3)

Docutils,reStructuredText的参考实现和Pelican构建的基础,没有选项来启动任意级别的节号(据我所知)。但是,您可以使用一些简单的CSS来设置节标题的样式,而不是依赖section-numbering角色。这样您就不会在生成的标记中包含数字,但您仍然可以获得所需的编号。可以找到一篇展示使用CSS generated content counters的好文章here。基本的CSS是:

body {counter-reset: h2}
h2 {counter-reset: h3}
h3 {counter-reset: h4}
h4 {counter-reset: h5}
h5 {counter-reset: h6}

h2:before {counter-increment: h2; content: counter(h2) ". "}
h3:before {counter-increment: h3; content: counter(h2) "." counter(h3) ". "}
h4:before {counter-increment: h4; content: counter(h2) "." counter(h3) "." counter(h4) ". "}
h5:before {counter-increment: h5; content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "}
h6:before {counter-increment: h6; content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) ". "}

这将开始h2个元素的部分编号,一直到h6个元素。您需要做的就是将上面的CSS添加到您的一个样式表中。这将为您提供表单的部分标题(虽然我已经作弊,只是在这里使用了Markdown!):

h1元素

1。 h2元素

1.1 h3元素

1.2 h3元素

2。 h2元素

2.1 h3元素

2.2 h3元素

2.2.1 h4元素

h1元素