rST:在 table 中插入代码块

rST: Inserting a code-block in a table

我需要使用与 DVB 规范相同的格式在 rST 中创建 table。

语法栏类似于代码块,它需要有适当的缩进,但它也需要与其他栏对齐。

我尝试了各种方法...问题似乎是前导空格对 rST 做了奇怪的事情。

+-----------------------------+-----------------+------------+
| Syntax                      | Number of bits  | Identifier |
+=============================+=================+============+
|``private_data_byte(){``     |                 |            |
+-----------------------------+-----------------+------------+
|``  magic_bit``              | 8               | uimsbf     |
+-----------------------------+-----------------+------------+
|``  version``                | 8               | uimsbf     |
+-----------------------------+-----------------+------------+
|``  if (a == 0x0F){``        |                 |            |
+-----------------------------+-----------------+------------+
|``    field_a``              | 16              | uimsbf     |
+-----------------------------+-----------------+------------+
|``  }``                      |                 |            |
+-----------------------------+-----------------+------------+
|``}``                        |                 |            |
+-----------------------------+-----------------+------------+

解决方法是使用由替换定义的不间断 space:

.. |_| unicode:: 0xA0 

+-----------------------------+-----------------+------------+
| Syntax                      | Number of bits  | Identifier |
+=============================+=================+============+
|``private_data_byte(){``     |                 |            |
+-----------------------------+-----------------+------------+
| |_| ``magic_bit``           | 8               | uimsbf     |
+-----------------------------+-----------------+------------+
| |_| ``version``             | 8               | uimsbf     |
+-----------------------------+-----------------+------------+
| |_| ``if (a == 0x0F){``     |                 |            |
+-----------------------------+-----------------+------------+
| |_| |_| ``field_a``         | 16              | uimsbf     |
+-----------------------------+-----------------+------------+
| |_| ``}``                   |                 |            |
+-----------------------------+-----------------+------------+
|``}``                        |                 |            |
+-----------------------------+-----------------+------------+