如果您不想走创建自定义指令的路线,您可以使用普通的警告块并“伪造”复选框。您的标记可以是标准的 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
角色并修改上述列表样式应该很简单。