Нумерация разделов Sphinx для заголовков более чем 3 уровня: .. sectnum ::

Я использую Sphinx для создания файлов 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) Как в оглавлении, так и в тексте до заголовка третьего уровня номера разделов как бы повторяются, то есть номер раздела (правильный) перед неправильным (с добавлением 1. впереди).

Вот мой пример первого файла:


.. 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

Вот результат ТОС:

(Я сделал снимок своего файла 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

Вот результат текста:

                     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

Как видите, к номеру раздела добавлен 1. и есть повторяющаяся часть для заголовков до уровня 3.

Я очень ценю, если кто-нибудь может мне помочь в этом.


person user3006469    schedule 19.11.2013    source источник


Ответы (2)


Сфинкс, кажется, придерживается точки зрения, что весь проект - это один документ, а каждый .rst файл - это одна его глава; вы можете указать порядок файлов в вашем главном .. toctree::. Думаю, именно поэтому вы получаете цифры. Я предполагаю, что это довольно распространенный вариант использования, когда не нужно нумеровать .rst файлы, так что, возможно, кто-то должен это предложить.

Кстати, обратите внимание, что Sphinx явно не поддерживает sectnum. Вместо этого они рекомендуют использовать параметр :numbered: в .. toctree:: верхнего уровня. (http://sphinx-doc.org/rest.html)

person Bram Geron    schedule 13.08.2014

Я пробую преобразовать ваш код в HTML, и он отлично работает.

возможно, вы можете рассмотреть формат HTML.

введите здесь описание изображения


Кроме того,

.. sectnum::

а также

.. toctree::
   :numbered:

Думаю, они ничем не отличаются, все зависит от вашего дизайна.

  • просто хочу, чтобы подраздел был пронумерован: sectnum
  • пронумерованный заголовок всего проекта (он автоматически будет содержать подпункт toctree) выберите: toctree:: :number:

Подробнее> номер дерева токена

person Carson    schedule 06.09.2019