Comment créer une liste imbriquée dans reStructuredText?


90

J'essaie de créer une liste correctement imbriquée en utilisant le code suivant (en suivant les documents Sphinx et docutils ):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

Je m'attends à ce que cela entraîne deux OLs mais j'obtiens à la place la sortie suivante:

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

Qu'est-ce que je fais mal? N'est-il pas possible d'obtenir le résultat suivant?

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

Réponses:


107

Assurez-vous que la liste imbriquée est en retrait au même niveau que le texte de la liste parente (ou trois caractères, selon la valeur la plus élevée), comme ceci:

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

Ensuite, vous obtiendrez le résultat attendu.


4
Il semble que ce ne soit pas tout à fait correct. Dans mon cas, j'utilisais *comme indicateur de liste et lorsque j'ai mis en retrait ma ligne suivante les deux caractères nécessaires pour s'aligner avec le texte de la liste parente, ma liste a été traitée comme une liste séparée à l'intérieur d'un blockquote. La règle empirique que j'ai trouvée est que la liste interne doit être indentée d'au moins trois caractères .
Akrikos

@Akrikos Merci! J'ai mis à jour la réponse pour inclure cette mise en garde.
ddbeck

36

Si vous voulez que Sphinx s'occupe de la numérotation pour vous, faites-le.

#. X
#. Y

   #. u 
   #. v 

#. Z

6
Il suffit de re-surligner ce détail car il s'applique toujours: u et v doivent être en retrait d'au moins 3 espaces (pas 2 espaces), pour correspondre au texte du niveau parent. Sinon, vous obtiendrez "1. Z" au lieu de "3. Z".
S. Kirby

2
@ S.Kirby Il semble aussi que l'on doive indenter davantage, si l'on utilise un élément de liste comme iii., qui utilise plus de places. Il semble que le texte doive être aligné et il ne semble pas y avoir de décompte spécifique d'espaces pouvant être utilisé dans tous les cas.
Zelphir Kaltstahl

3
Veuillez noter que les lignes vides supplémentaires sont également importantes ici. Vous aurez donc besoin de 3 espaces pour chaque élément de la sous-liste imbriquée, et au-dessus et en dessous d'une ligne vide.
flazzarini
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.