Sphinx 中的自定义颜色和编号警告

问题描述 投票:0回答:2

我正在尝试做的事情:

我正在为课程创建在线笔记。我正在使用 Spinx (reStructuredText)。我真的想用自定义的着色方案创建一些编号的警告(例如,蓝色用于定义,绿色用于定理,橙色用于示例等)。我希望能够计算出这样的东西:

Chapter
=======

.. definition:: My name of choice

   My definition here.

它会呈现一个编号的、自定义颜色的警告,比如:

第 1 章

This is a picture of what I want

编号将根据警告所在的章节/子章/子子章进行测量,并且(最好)继续针对其他类型的自定义警告进行编号。因此,如果我在第 3.2.1 章中先有一个定义,然后有一个定理,我会得到“3.2.1.1 定义:我选择的名称”,然后是“3.2.1.2 定理:我选择的名称”。

注:

我已经用谷歌搜索了我能想到的一切,但没有结果。我尝试了编号块扩展,但它并不真正适合我的需要。我尝试按照自定义警告的说明(虽然没有编号)创建一个

custom.css
def setup(app): app.add_stylesheet('custom.css')
添加到我的
conf.py
文件中(如here所述),但我无法让它工作。我变得非常绝望。

python-sphinx restructuredtext
2个回答
0
投票

您可以制作自定义元素。

|Red-boxts| My Word |boxs| Bla Bla Bla |boxe|


|Green-boxts| My Word |boxs| Bla Bla Bla |boxe|


|Orange-boxts| My Word |boxs| Bla Bla Bla |boxe|


.. |Red-boxts| raw:: html

    <div style="background-color: red; width: 100%; padding: 5px;">
    <h1>

.. |Green-boxts| raw:: html

    <div style="background-color: green; width: 100%; padding: 5px;">
    <h1>
.. |Orange-boxts| raw:: html

    <div style="background-color: orange; width: 100%; padding: 5px;">
    <h1>

.. |boxs| raw:: html

    </h1><p>

.. |boxe| raw:: html

    </p></div>

应该显示:

Click to see Result


0
投票

您可以使用通用“admonition”指令和自定义 CSS 的 :class: 选项。

.. admonition::  My name of choice
   :class: definition
   
   My definition here 

允许定义标题的样式,例如

.admonition.definition > .admonition-title {
   background-color: lightblue;
}

“任意复杂”的编号可以通过 CSS 计数器定义。 (缺点是这些数字不容易参考。)

© www.soinside.com 2019 - 2024. All rights reserved.