Jak utworzyć zagnieżdżoną listę w reStructuredText?

90

Próbuję utworzyć poprawnie zagnieżdżoną listę przy użyciu następującego kodu (następujące dokumenty Sphinx i docutils ):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

Spodziewam się, że spowoduje to dwa OLs, ale zamiast tego otrzymuję następujące dane wyjściowe:

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

Co ja robię źle? Czy nie można uzyskać następującego wyniku?

<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
źródło

Odpowiedzi:

107

Upewnij się, że zagnieżdżona lista jest wcięta na tym samym poziomie co tekst listy nadrzędnej (lub trzy znaki, w zależności od tego, który z nich jest większy), na przykład:

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

Wtedy otrzymasz oczekiwany wynik.

ddbeck
źródło
4
Wydaje się, że nie jest to do końca poprawne. W moim przypadku użyłem *jako wskaźnika listy, a kiedy wciąłem w następnym wierszu dwa znaki potrzebne do wyrównania z tekstem listy nadrzędnej, moja lista była traktowana jako oddzielna lista wewnątrz cytatu blokowego. Reguła empiryczna, którą znalazłem, jest taka, że ​​lista wewnętrzna musi mieć wcięcie o co najmniej trzech znakach .
Akrikos
@Akrikos Thanks! Zaktualizowałem odpowiedź, aby uwzględnić to zastrzeżenie.
ddbeck
36

Jeśli chcesz, aby Sphinx zajął się za Ciebie numeracją, zrób to.

#. X
#. Y

   #. u 
   #. v 

#. Z
zsoobhan
źródło
6
Podkreślam tylko ten szczegół, ponieważ nadal ma on zastosowanie: uiv muszą być wcięte co najmniej 3 spacje (nie 2 spacje), aby dopasować tekst poziomu nadrzędnego. W przeciwnym razie otrzymasz „1. ​​Z” zamiast „3. Z”.
S. Kirby
2
@ S.Kirby Wydaje się również, że trzeba wciskać więcej, jeśli używa się elementu listy, takiego jak iii., który używa więcej miejsc. Wygląda na to, że tekst musi być wyrównany i nie ma określonej liczby spacji, których można użyć we wszystkich przypadkach.
Zelphir Kaltstahl
3
Należy pamiętać, że dodatkowe puste wiersze są tutaj również ważne. Będziesz więc potrzebował 3 spacji dla każdego elementu zagnieżdżonej listy podrzędnej, a powyżej i poniżej pustej linii.
flazzarini