Como criar uma lista aninhada em reStructuredText?

91

Estou tentando criar uma lista aninhada corretamente usando o seguinte código (seguindo a documentação do Sphinx e docutils ):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

Espero que isso resulte em dois OLs, mas obtenho a seguinte saída:

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

O que estou fazendo errado? Não é possível obter o seguinte resultado?

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

Respostas:

109

Certifique-se de que a lista aninhada esteja recuada no mesmo nível que o texto da lista pai (ou três caracteres, o que for maior), como este:

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

Então você obterá a saída que esperava.

ddbeck
fonte
4
Parece que isso não é exatamente correto. No meu caso, eu estava usando *como indicador de lista e quando indentei minha próxima linha os dois caracteres necessários para se alinhar com o texto da lista pai, minha lista foi tratada como uma lista separada dentro de um blockquote. A regra empírica que descobri é que a lista interna deve ter indentação de pelo menos três caracteres .
Akrikos
Obrigado @Akrikos! Eu atualizei a resposta para incluir essa advertência.
ddbeck
36

Se quiser que o Sphinx cuide da numeração para você, faça isso.

#. X
#. Y

   #. u 
   #. v 

#. Z
Zsoobhan
fonte
6
Apenas ressaltando este detalhe, pois ainda se aplica: uev devem ser indentados em pelo menos 3 espaços (não 2 espaços), para corresponder ao texto do nível pai. Caso contrário, você obterá "1. Z" em vez de "3. Z".
S. Kirby
2
@ S.Kirby Também parece que se deve indentar mais, se usar um item da lista como iii., que usa mais lugares. Parece que o texto deve ser alinhado e parece não haver uma contagem específica de espaços que possa ser usada para todos os casos.
Zelphir Kaltstahl
3
Observe que as linhas vazias extras também são importantes aqui. Portanto, você precisará de 3 espaços para cada elemento da sub-lista aninhada, e acima e abaixo de uma linha vazia.
flazzarini de