在 Sphinx 文本中强制换行

Force a new line in Sphinx text

我在源代码中有以下格式的 Sphinx 文本:

Line 1 Line 2 Line 3 Line 4

我希望第 4 行在 HTML 中呈现在单独的物理行上。这可能吗?

您可以按如下方式定义硬换行符:

.. # define a hard line break for HTML
.. |br| raw:: html

   <br />

您应该在 prolog.inc 中定义此类别名并在您的 Sphinx 配置文件中引用它。

这是一个用法示例:

My first line |br|
My second line

使用line blocks:

| Line 1
| Line 2
| Line 3
| Line 4

将产生:

第 1 行
第 2 行
第 3 行
第 4 行

您可以使用:

Line 1 |br|
Line 2 |br|
Line 3 |br|
Line 4 |br|

在文件末尾您需要输入:

.. |br| raw:: html

      <br>

注意:这在制作乳胶代码时不起作用。

解决方案 user14678546Paebbels 也适用于 tables:

在 tables 中使用 line blocks 是不稳定的,不漂亮,并且它在末尾留下一个 blank/additional 换行符,导致 ex。 3 行,但只有前 2 行有文字。

这里是 reStructuredText 的 table 中的换行符示例(仅适用于 html):

.. table:: Truth table for "not"
  :width: 20%
  :widths: 1 3 1

  =====  =====    =====
  A      not A    Note
  =====  =====    =====
  False  True     Text here
  True   False    Comment here
         False
  False  True     Text here |br| line break in table here
  True   False
  =====  =====    =====

.. |br| raw:: html

     <br>

在 table 的文本中使用 |br| 内联会导致在单个文本单元格中换行(在 html 中):Table with line break

它也适用于 csv tables。

我不得不使用指令行块,没有其他方法对我有用。

.. line-block::
   Line 1
   Line 2