【问题标题】:How to create a nested list in reStructuredText?如何在 reStructuredText 中创建嵌套列表?
【发布时间】:2011-07-29 20:04:22
【问题描述】:

我正在尝试使用以下代码(遵循 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> 

【问题讨论】:

    标签: markup restructuredtext python-sphinx


    【解决方案1】:

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

    1. X
    
       a. U
       b. V
       c. W
    
    2. Y
    3. Z
    

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

    【讨论】:

    • 看来这并不完全正确。在我的情况下,我使用* 作为列表指示符,当我缩进下一行时,两个字符需要与父列表的文本对齐,我的列表被视为块引用内的单独列表。我发现的经验法则是内部列表必须缩进至少三个字符
    • @Akrikos 谢谢!我更新了答案以包含该警告。
    • 在使用 * 列表时,用 3 个空格缩进内部列表对我不起作用。我认为第一次答案是正确的。
    【解决方案2】:

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

    #. X
    #. Y
    
       #. u 
       #. v 
    
    #. Z
    

    【讨论】:

    • 只是重新突出显示这个细节,因为它仍然适用:u 和 v 必须缩进至少 3 个空格(不是 2 个空格),以匹配父级别的文本。否则,您将得到“1.Z”而不是“3.Z”。
    • @S.Kirby 如果使用像iii. 这样的列表项,它使用更多的地方,似乎还必须缩进更多。似乎文本必须对齐,并且似乎没有特定的空格数可以用于所有情况。
    • 请注意,额外的空行在这里也很重要。因此,嵌套子列表的每个元素需要 3 个空格,并且在空行的上方和下方。
    猜你喜欢
    • 1970-01-01
    • 2011-01-11
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    相关资源
    最近更新 更多