如何在reStructuredText中创建嵌套列表?

muh*_*huk 77 markup restructuredtext python-sphinx

我正在尝试使用以下代码创建一个正确嵌套的列表(遵循Sphinxdocutils文档):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z
Run Code Online (Sandbox Code Playgroud)

我希望这会导致两个OLs,但我得到以下输出:

<ol class="arabic simple"> 
  <li>X</li> 
</ol> 

<blockquote> 
  <div>
    <ol class="loweralpha simple"> 
      <li>U</li> 
      <li>V</li> 
      <li>W</li> 
    </ol> 
  </div>
</blockquote> 

<ol class="arabic simple" start="2"> 
  <li>Y</li> 
  <li>Z</li> 
</ol> 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?是否无法获得以下结果?

<ol class="arabic simple"> 
  <li>X
    <ol class="loweralpha simple"> 
      <li>U</li> 
      <li>V</li> 
      <li>W</li> 
    </ol> 
  </li>
  <li>Y</li> 
  <li>Z</li> 
</ol> 
Run Code Online (Sandbox Code Playgroud)

ddb*_*eck 92

确保嵌套列表缩进到与父列表文本相同的级别(或三个字符,以较大者为准),如下所示:

1. X

   a. U
   b. V
   c. W

2. Y
3. Z
Run Code Online (Sandbox Code Playgroud)

然后你会得到你期望的输出.

  • 看来这不完全正确.在我的情况下,我使用`*`作为列表指示符,当我缩进下一行时,需要与父列表的文本对齐的两个字符,我的列表被视为blockquote中的单独列表.我发现的经验规则是内部列表必须*缩进至少三个字符*. (2认同)

zso*_*han 30

如果您希望Sphinx为您处理编号,请执行此操作.

#. X
#. Y

   #. u 
   #. v 

#. Z
Run Code Online (Sandbox Code Playgroud)

  • 只是重新突出显示这个细节,因为它仍然适用:u和v必须缩进至少3个空格(不是2个空格),以匹配父级的文本.否则,您将获得"1. Z"而不是"3. Z". (4认同)
  • 请注意,额外的空行在这里也很重要。因此,嵌套子列表的每个元素都需要 3 个空格,并且在空行的上方和下方。 (3认同)
  • @ S.Kirby如果使用像`iii.这样使用更多地方的列表项,那么似乎必须缩进更多.似乎文本必须对齐,并且似乎没有可以用于所有情况的特定空间计数. (2认同)