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


90

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

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

我希望这将导致两个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> 

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

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

Answers:


107

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

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

然后,您将获得预期的输出。


4
看来这并不完全正确。就我而言,我*用作列表指示符,当我在下一行缩进时需要与父列表的文本对齐的两个字符,我的列表被视为blockquote内的单独列表。我发现的经验法则是内部列表必须缩进至少三个字符
Akrikos

@Akrikos谢谢!我更新了答案以包括该警告。
ddbeck

36

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

#. X
#. Y

   #. u 
   #. v 

#. Z

6
只需重新突出显示此细节,因为它仍然适用:u和v必须缩进至少3个空格(而不是2个空格),以匹配父级文本。否则,您将获得“ 1. Z”而不是“ 3. Z”。
S. Kirby's

2
@ S.Kirby如果使用列表项(如iii.使用更多位置),则似乎还必须缩进更多。似乎文本必须对齐,并且似乎没有一个特定的空格数可以在所有情况下使用。
Zelphir Kaltstahl '16

3
请注意,多余的空行在这里也很重要。因此,对于嵌套子列表的每个元素,在空行的上方和下方将需要3个空格。
flazzarini
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.