1

基本上我想做的是复制这种风格(来自word doc)但使用rst。

在此处输入图像描述

我在想我可能需要一个自定义指令,我可以包含标题并设置内部复选框的样式。

理想情况下,我希望能够执行以下操作:

.. handson::

   The title

   - Check one
   - Check two

handson 块内的项目符号将被设置为复选框,但文档的其余部分将只有正常的项目符号点。

我查看了自定义指令的内容,但我不确定这是否是解决此问题的最佳方法。如果这对结果有任何影响,我也会使用 rst2pdf。

4

1 回答 1

1

如果您不想走创建自定义指令的路线,您可以使用普通的警告块并“伪造”复选框。您的标记可以是标准的 reStructuredText:

.. admonition:: The title

   - Check one
   - Check two

然后,您可以在 reStructuredText 文件中包含一些自定义 CSS 标记,以针对 admonitions 中的列表项:

.. raw:: html

   <style>
   .admonition ul { list-style-type: none; } 

   .admonition li:before { content: "\2610"; }
   </style>

此处,CSS 以任何列表项元素为目标,该元素是具有“警告”类的任何元素的子元素,并使用Unicode 投票框字符☐将列表项项目符号替换为模拟复选框。

Docutils将一个附加类应用于通用警告,它是“警告”和警告标题的串联。因此,在上面的示例中,我们可以更具体地使用 CSS 规则定位的元素:

.admonition-the-title ul { /* ... */ }

这可用于定位文档中的单个警告。

归功于SO问题How to create a checklist in reStructuredText (reST) 两个答案?

显然,上面的目标是 HTML 输出。但是,我没有使用 rst2pdf,因此无法评论如何修改上述内容以使用该程序。希望其他人会对此提供答案。据我所知,rst2pdf 确实支持级联样式表机制,因此(对于了解 rst2pdf 样式表语法的人来说)添加一个额外的.. raw:: pdf角色并修改上述列表样式应该很简单。

于 2013-06-23T09:42:34.890 回答