Tôi cần làm nổi bật mã nguồn trong LaTeX. Gói listings
dường như là sự lựa chọn tốt nhất cho hầu hết các trường hợp sử dụng và đối với tôi, cho đến bây giờ.
Tuy nhiên, bây giờ tôi cần linh hoạt hơn. Nói chung, những gì tôi đang tìm kiếm là một từ vựng thực sự . Cụ thể, tôi cần (đối với một định nghĩa ngôn ngữ riêng) để xác định (và tô sáng!) Các kiểu số riêng. listings
không cho phép đánh dấu các số trong mã. Tuy nhiên, tôi cần phải sản xuất một cái gì đó như thế này:
listings
cũng không thể đối phó với các dấu phân cách tùy ý cho các chuỗi. Hãy xem xét mã Ruby hợp lệ sau:
s = %q!this is a string.!
Ở đây, !
có thể được thay thế bằng hầu như bất kỳ dấu phân cách.
(Điều đó listings
không thể xử lý Unicode cũng khá khó chịu, nhưng đó là một vấn đề khác.)
Lý tưởng nhất, tôi đang tìm kiếm một phần mở rộng listings
cho phép tôi cung cấp các quy tắc từ vựng phức tạp hơn. Nhưng để ngăn chặn điều đó, tôi cũng đang tìm kiếm các lựa chọn thay thế khả thi.
Các luồng khác đã đề xuất sử dụng Pygments có thể tạo đầu ra LaTeX. Thậm chí còn có một gói - texments
- để dễ dàng chuyển đổi.
Tuy nhiên, điều này vô cùng thiếu tính năng. Cụ thể, tôi quan tâm đến việc listings
đánh số dòng kiểu, tham chiếu dòng mã nguồn và khả năng nhúng LaTeX vào mã nguồn (tùy chọn texcl
và mathescape
trong listings
).
Ví dụ, đây là một loại mã nguồn listings
cho thấy một số điều mà một sự thay thế cũng sẽ cung cấp:
[Thêm Sideways bổ sung, cải tiến từ hack Twiddling]