Wie erstelle ich eine verschachtelte Liste in reStructuredText?


89

Ich versuche, eine ordnungsgemäß verschachtelte Liste mit dem folgenden Code zu erstellen ( gemäß den Dokumenten von Sphinx und docutils ):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

Ich erwarte, dass dies zu zwei OLSekunden führt, aber ich erhalte stattdessen die folgende Ausgabe:

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

Was mache ich falsch? Ist es nicht möglich, das folgende Ergebnis zu erhalten?

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

Antworten:


106

Stellen Sie sicher, dass die verschachtelte Liste auf derselben Ebene eingerückt ist wie der Text der übergeordneten Liste (oder drei Zeichen, je nachdem, welcher Wert größer ist).

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

Dann erhalten Sie die erwartete Ausgabe.


4
Es scheint, dass dies nicht genau richtig ist. In meinem Fall habe ich *als Listenindikator verwendet, und als ich in meiner nächsten Zeile die beiden Zeichen einrückte, die für die Ausrichtung mit dem Text der übergeordneten Liste erforderlich waren, wurde meine Liste als separate Liste innerhalb eines Blockzitats behandelt. Die empirische Regel, die ich gefunden habe, ist, dass die innere Liste mindestens drei Zeichen eingerückt sein muss .
Akrikos

@Akrikos Danke! Ich habe die Antwort aktualisiert, um diese Einschränkung aufzunehmen.
ddbeck

36

Wenn Sie möchten, dass Sphinx sich um die Nummerierung kümmert, tun Sie dies.

#. X
#. Y

   #. u 
   #. v 

#. Z

5
Markieren Sie dieses Detail nur noch einmal, da es weiterhin gilt: u und v müssen mindestens 3 Leerzeichen (nicht 2 Leerzeichen) eingerückt sein, damit sie mit dem Text der übergeordneten Ebene übereinstimmen. Andernfalls erhalten Sie "1. Z" anstelle von "3. Z".
S. Kirby

2
@ S.Kirby Es scheint auch, dass man mehr einrücken muss, wenn man ein Listenelement wie verwendet iii., das mehr Stellen verwendet. Es scheint, dass Text ausgerichtet werden muss und es nicht eine bestimmte Anzahl von Leerzeichen zu geben scheint, die für alle Fälle verwendet werden können.
Zelphir Kaltstahl

2
Bitte beachten Sie, dass auch hier die zusätzlichen Leerzeilen wichtig sind. Sie benötigen also 3 Leerzeichen für jedes Element der verschachtelten Unterliste und über und unter einer leeren Zeile.
Flazzarini
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.