如何在 Sphinx 中对告诫进行编号?

How to number admonitions in Sphinx?

我正在使用 Sphinx 文档写一本书,我有一个经常使用的特殊 admonition。但为了更好地与其他作者交流,我希望在每个特殊警告中都有一个自动编号。

假设我输入了这个:

Section
=======

.. admonition:: Observation

   text

.. admonition:: Observation

   text

我想为 HTML 版本获得这样的东西:

<h2>Section</h2>

<div class="admonition-observation admonition">
<p class="first admonition-title">Observation 1</p>
<p>text</p>

<div class="admonition-observation admonition">
<p class="first admonition-title">Observation 2</p>
<p>text</p>

或者在 HTML 源中给我自动编号的任何东西(对于乳胶源也是如此)。

一种方法是使用扩展程序,例如 https://github.com/rhopfer/sphinx-numbered-blocks

安装后,您的方法的 conf.py 可能如下所示:

...
numbered_blocks = [
    {'name': 'observation'},
]
...

然后,在你的源代码中,你会这样写:

.. observation::

   This is an observation

导致HTML:

<div class="numbered-block observation" id="observation-0">
  <span class="title">
  <span class="label">Observation 1.1</span><p>This is an observation</p></span>
</div>

(您的确切输出可能略有不同)

有关更多配置示例以及如何修改标签,请参阅 https://git.io/vHQzJ