Ich muss den Quellcode in LaTeX hervorheben. Das Paket listings
scheint die beste Wahl für die meisten Anwendungsfälle zu sein, und für mich war es das bis jetzt.
Jetzt brauche ich jedoch mehr Flexibilität. Im Allgemeinen suche ich einen echten Lexer. Insbesondere muss ich (für eine eigene Sprachdefinition) eigene Zahlenstile definieren (und hervorheben!). listings
erlaubt nicht das Hervorheben von Zahlen im Code. Ich muss jedoch so etwas produzieren:
listings
kann auch nicht mit beliebigen Trennzeichen für Zeichenfolgen umgehen. Betrachten Sie den folgenden gültigen Ruby-Code:
s = %q!this is a string.!
Hier !
kann durch fast jedes Trennzeichen ersetzt werden.
(Das listings
mit Unicode nicht umgehen kann ist auch ziemlich ärgerlich, aber das ist ein anderes Problem.)
Idealerweise suche ich nach einer Erweiterung listings
, mit der ich komplexere Lexing-Regeln bereitstellen kann. Abgesehen davon suche ich auch nach tragfähigen Alternativen.
Andere Threads haben die Verwendung von Pylements vorgeschlagen, die eine LaTeX-Ausgabe erzeugen können. Es gibt sogar ein Paket - texments
- um den Übergang zu erleichtern.
Diesem fehlen jedoch schmerzliche Merkmale. Insbesondere interessieren mich listings
Zeilennummern im Stil, Quellcode-Zeilenreferenzen und die Möglichkeit, LaTeX in den Quellcode einzubetten (Optionen texcl
und mathescape
in listings
).
Als Beispiel hier ein Quellcode-Satz, listings
der einige der Dinge zeigt, die ein Ersatz auch bieten sollte:
["Seitwärtszugabe" geändert von Bit Twiddling Hacks]