Saya perlu menyoroti kode sumber di LaTeX. Paket tersebut listings
tampaknya menjadi pilihan terbaik untuk sebagian besar kasus penggunaan dan bagi saya, sampai sekarang.
Namun, sekarang saya perlu lebih banyak fleksibilitas. Secara umum, apa yang saya cari adalah lexer nyata . Secara khusus, saya perlu (untuk definisi bahasa sendiri) untuk mendefinisikan (dan menyoroti!) Gaya nomor sendiri. listings
tidak mengizinkan penyorotan angka dalam kode. Namun, saya perlu membuat sesuatu seperti ini:
listings
juga tidak dapat mengatasi pembatas acak untuk string. Pertimbangkan kode Ruby yang valid berikut:
s = %q!this is a string.!
Di sini, !
dapat diganti oleh hampir semua pembatas.
(Itu listings
tidak bisa menangani Unicode juga cukup menjengkelkan, tapi itu masalah lain.)
Idealnya, saya mencari perpanjangan listings
yang memungkinkan saya untuk memberikan aturan lexing yang lebih kompleks. Tetapi selain itu, saya juga mencari alternatif yang layak.
Utas lain menyarankan menggunakan Pygments yang dapat menghasilkan keluaran LaTeX. Bahkan ada paket - texments
- untuk memudahkan transisi.
Namun, ini sangat kekurangan fitur. Secara khusus, saya tertarik pada listings
penomoran baris-gaya, referensi baris kode sumber, dan kemungkinan menanamkan LaTeX dalam kode sumber (opsi texcl
dan mathescape
dalam listings
).
Sebagai contoh, inilah set kode sumber listings
yang menunjukkan beberapa hal yang harus disediakan oleh pengganti:
["Tambahan Sideways" dimodifikasi dari Bit Twiddling Hacks]