Bagaimana cara membuat daftar bersarang di reStructuredText?

90

Saya mencoba membuat daftar bersarang dengan benar menggunakan kode berikut (mengikuti dokumen Sphinx dan docutils ):

1. X

  a. U
  b. V
  c. W

2. Y
3. Z

Saya berharap ini menghasilkan dua OLs tetapi saya mendapatkan output berikut sebagai gantinya:

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

Apa yang saya lakukan salah? Apakah tidak mungkin mendapatkan hasil sebagai berikut?

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

Jawaban:

107

Pastikan daftar bertingkat menjorok ke tingkat yang sama dengan teks daftar induk (atau tiga karakter, mana saja yang lebih besar), seperti ini:

1. X

   a. U
   b. V
   c. W

2. Y
3. Z

Kemudian Anda akan mendapatkan hasil yang Anda harapkan.

ddbeck
sumber
4
Tampaknya ini tidak sepenuhnya benar. Dalam kasus saya, saya menggunakan *sebagai indikator daftar dan ketika saya membuat indentasi baris berikutnya dua karakter yang diperlukan untuk berbaris dengan teks daftar induk, daftar saya diperlakukan sebagai daftar terpisah di dalam blockquote. Aturan empiris yang saya temukan adalah bahwa daftar bagian dalam harus menjorok setidaknya tiga karakter .
Akrikos
@Akrikos Terima kasih! Saya memperbarui jawaban untuk memasukkan peringatan itu.
ddbeck
36

Jika Anda ingin Sphinx menangani penomoran untuk Anda, lakukan ini.

#. X
#. Y

   #. u 
   #. v 

#. Z
zsoobhan.dll
sumber
6
Hanya menyoroti ulang detail ini karena masih berlaku: u dan v harus menjorok setidaknya 3 spasi (bukan 2 spasi), agar sesuai dengan teks pada tingkat induk. Jika tidak, Anda akan mendapatkan "1. Z", bukan "3. Z".
S. Kirby
2
@ S.Kirby Tampaknya juga seseorang harus menambah indentasi, jika menggunakan item daftar seperti iii., yang menggunakan lebih banyak tempat. Tampaknya teks harus diratakan dan tampaknya tidak ada jumlah spasi tertentu yang dapat digunakan untuk semua kasus.
Zelphir Kaltstahl
3
Harap dicatat bahwa baris kosong ekstra juga penting di sini. Jadi Anda akan membutuhkan 3 spasi untuk setiap elemen dari sub list bersarang, dan di atas dan di bawah baris kosong.
flazzarini