web-dev-qa-db-ja.com

ReStructuredTextでの太字斜体

Sphinxを使用して後でWebページを生成するために、ReStructuredText(ReST)形式を使用していくつかのドキュメントを書いていますが、「太字のイタリック」テキストを作成する方法が見つかりません。

いわゆる「強調」(italic)および「強い強調」(太字)テキストのマーカーがあります。彼らです *italic text*および**bold text**それぞれ。また、このフォーマットに関するいくつかのドキュメントを読んで、これらのフォーマットマーカーを単純に「ネスト」することはできません。つまり***text***(または** *text* **)はbold italicテキストを生成しません。

それでも、太字と斜体の両方のマーカーで強調されたテキストを生成するためのいくつかの方法があるはずです。なぜなら、そのようにテキストの一部にマークを付けることは広く行われている慣習だからです。

44
v_2e

Markdownはボールドとイタリックのネストをサポートしていますが、reStructuredTextはサポートしていません(reStructuredTextでボールドイタリックを表す方法がないため、これはMarkdownがより強力なまれなケースの1つです)。

https://Gist.github.com/1855764

29
user647772

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
16
gavenkoa

Sphinxでは、これはカスタムの役割を通じて可能です。CSSでスタイルを作成し、そのスタイルを指す役割を作成します。下線が引かれたテキストの完全な動作例を次に示します: sphinx-dev thread

編集

これが良い例です: ReST取り消し線

編集2

そのsphinx-devリンクはもう利用できないので、ここに要点があります。これは上記の取り消し線リンクに非常に似ています。

CSS:

span.underlined {
  text-decoration: underline;
}

RSTに役割を登録:

.. role:: underlined
   :class: underlined

後でそれを使用する

:underlined:`test`

これはすべて、1つの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
12
Adobe