在ReStructuredText中加粗斜体

问题描述 投票:37回答:3

我正在使用ReStructuredText(ReST)格式编写一些文档,以便稍后使用Sphinx生成网页,我找不到编写一些“粗体斜体”文本的方法。

有所谓的“强调”(斜体)和“强调”(粗体)文本的标记。他们分别是*italic text***bold text**。我还阅读了一些关于这种格式的文档,这些格式标记不能简单地“嵌套”。即***text***(或** *text* **)不会产生粗体斜体文本。

仍然可能有某种方式来生成一个用粗体和斜体标记强调的文本,因为通过这种方式标记文本片段是一种普遍的做法。

documentation python-sphinx restructuredtext
3个回答
23
投票

尽管Markdown支持嵌套粗体和斜体,但reStructuredText却不支持(这是Markdown功能更强大的罕见情况之一,因为无法在reStructuredText中表示粗体斜体)。

https://gist.github.com/1855764


14
投票

HTML输出的配方。

my.rst

.. role:: red
  :class: red

.. role:: bolditalic
  :class: bolditalic

:red:`WARNING` :bolditalic:`Don't be stupid!`

my.css

.red { color: red; }
.bolditalic {
  font-weight: bold;
  font-style: italic;
}

建立者:

rst2html --strip-comments --halt warning --stylesheet=my.css my.rst my.html

12
投票

在sphinx中,这可以通过自定义角色实现:您在css中创建一个样式,并使角色指向该样式。以下是带下划线的文本的完整工作示例:sphinx-dev thread

编辑:

这是一个很好的例子:ReST strikethrough

编辑2:

sphinx-dev链接不再可用,所以这里是要点,它与上面的删除线链接非常相​​似:

CSS:

span.underlined {
  text-decoration: underline;
}

在RST中注册角色:

.. role:: underlined
   :class: underlined

以后再用它

:underlined:`test`

所有这些都可以在一个RST文档中:

.. raw:: html

   <style type="text/css">
     span.underlined {
       text-decoration: underline;
     }
   </style>

.. role:: underlined
   :class: underlined

:underlined:`test`

测试它::

rst2html5.py test01.rst test01.html
© www.soinside.com 2019 - 2024. All rights reserved.