ฉันต้องการไฮไลต์ซอร์สโค้ดใน LaTeX แพคเกจlistings
น่าจะเป็นตัวเลือกที่ดีที่สุดสำหรับการใช้งานส่วนใหญ่และสำหรับฉันมันคือจนถึงตอนนี้
อย่างไรก็ตามตอนนี้ฉันต้องการความยืดหยุ่นมากขึ้น โดยทั่วไปสิ่งที่ฉันกำลังมองหาคือlexer ตัวจริง โดยเฉพาะอย่างยิ่งฉันต้องการ (สำหรับคำจำกัดความภาษาของตัวเอง) เพื่อกำหนด (และเน้น!) รูปแบบตัวเลขของตัวเอง listings
ไม่อนุญาตการเน้นตัวเลขในรหัส อย่างไรก็ตามฉันต้องผลิตสิ่งนี้:
listings
ยังไม่สามารถรับมือกับตัวคั่นโดยพลการสำหรับสตริง พิจารณารหัสทับทิมที่ถูกต้องต่อไปนี้:
s = %q!this is a string.!
ที่นี่!
สามารถถูกแทนที่ด้วยตัวคั่นเกือบทุกตัว
(ที่listings
ไม่สามารถจัดการ Unicode ก็ค่อนข้างรบกวน แต่นั่นเป็นปัญหาอื่น)
เป็นการดีที่ฉันกำลังมองหาส่วนขยายlistings
ที่ช่วยให้ฉันสามารถกำหนดกฎการ lexing ที่ซับซ้อนมากขึ้นได้ แต่นอกจากนี้ฉันยังค้นหาทางเลือกที่ทำงานได้
เธรดอื่น ๆแนะนำให้ใช้Pygmentsซึ่งสามารถสร้างเอาต์พุต LaTeX ได้ มีแม้กระทั่งแพ็คเกจ - texments
- เพื่อให้ง่ายต่อการเปลี่ยนแปลง
อย่างไรก็ตามคุณสมบัตินี้ค่อนข้างขาดคุณสมบัติ โดยเฉพาะอย่างยิ่งฉันสนใจในการกำหนดlistings
หมายเลขบรรทัดสไตล์การอ้างอิงบรรทัดซอร์สโค้ดและความเป็นไปได้ของการฝัง LaTeX ในซอร์สโค้ด (ตัวเลือกtexcl
และmathescape
ในlistings
)
ดังตัวอย่างต่อไปนี้เป็นชุดโค้ดต้นฉบับlistings
ที่แสดงบางสิ่งที่การแทนที่ควรมี:
[“ การเพิ่มด้านข้าง” ดัดแปลงจาก Bit Twiddling Hacks]