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> 

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.


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.