Come creare un elenco nidificato in reStructuredText?


91

Sto cercando di creare un elenco nidificato correttamente utilizzando il seguente codice (seguendo i documenti Sphinx e docutils ):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

Mi aspetto che questo si traduca in due OLs, ma invece ottengo il seguente output:

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

Che cosa sto facendo di sbagliato? Non è possibile ottenere il seguente risultato?

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

Risposte:


109

Assicurati che l'elenco nidificato sia rientrato allo stesso livello del testo dell'elenco principale (o tre caratteri, a seconda di quale sia il maggiore), in questo modo:

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

Quindi otterrai l'output che ti aspettavi.


4
Sembra che questo non sia esattamente corretto. Nel mio caso stavo usando *come indicatore di elenco e quando ho indentato la mia riga successiva i due caratteri necessari per allinearsi con il testo dell'elenco padre, il mio elenco è stato trattato come un elenco separato all'interno di una blockquote. La regola empirica che ho trovato è che l'elenco interno deve essere rientrato di almeno tre caratteri .
Akrikos

@ Akrikos Grazie! Ho aggiornato la risposta per includere questo avvertimento.
ddbeck

36

Se vuoi che Sphinx si occupi della numerazione per te, fallo.

#. X
#. Y

   #. u 
   #. v 

#. Z

6
È sufficiente evidenziare nuovamente questo dettaglio poiché è ancora valido: uev devono essere rientrati di almeno 3 spazi (non 2 spazi), per corrispondere al testo del livello principale. Altrimenti, otterrai "1. Z" invece di "3. Z".
S. Kirby

2
@ S.Kirby Sembra anche che si debba indentare di più, se si usa una voce di elenco come iii., che usa più posti. Sembra che il testo debba essere allineato e non sembra esserci un conteggio specifico di spazi utilizzabili per tutti i casi.
Zelphir Kaltstahl

3
Si prega di notare che anche le righe vuote extra sono importanti qui. Quindi avrai bisogno di 3 spazi per ogni elemento del sottoelenco annidato e sopra e sotto una riga vuota.
flazzarini
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.