Можно ли сделать так, чтобы автоматическая нумерация заголовков разделов в reST начиналась с уровня подраздела?

Можно ли как-то заставить reST начать нумерацию разделов только, скажем, второго уровня? Я использую настройку автоматической нумерации:

.. section-numbering::

Что я хотел бы для ввода:

Section A
=========

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

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

Section B
=========

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

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

вывести заголовки разделов А и Б без нумерации, но пронумеровать подразделы (т.е. подразделы А.1, А.2 и Б.1, Б.2).

Просмотрев документацию, кажется, что вы можете ограничить глубину нумерации, но не то, с какой глубины она начинается.


person Sahand    schedule 06.03.2014    source источник


Ответы (1)


Docutils, эталонная реализация reStructuredText и то, на чем построен Pelican, не имеет параметров для начального раздела. число на произвольных уровнях (насколько я могу судить). Однако вместо того, чтобы полагаться на роль section-numbering, вы можете использовать простой CSS для оформления заголовков разделов. Таким образом, у вас не будет чисел в сгенерированной разметке, но вы все равно получите нужную нумерацию. Хорошую статью, демонстрирующую использование счетчиков содержания, сгенерированных CSS, можно найти здесь. Базовый 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 элемент

person Chris    schedule 10.03.2014