J'ai besoin de mettre en évidence le code source dans LaTeX. Le paquetlistings
semble être le meilleur choix pour la plupart des cas d'utilisation et pour moi, il l'était jusqu'à présent.
Cependant, maintenant j'ai besoin de plus de flexibilité. Généralement, ce que je recherche, c'est un vrai lexer. En particulier, j'ai besoin (pour une définition de langage propre) de définir (et de mettre en évidence!) Ses propres styles de nombres. listings
ne permet pas de surligner les nombres dans le code. Cependant, je dois produire quelque chose comme ceci:
listings
ne peut pas non plus gérer les délimiteurs arbitraires pour les chaînes. Considérez le code Ruby valide suivant:
s = %q!this is a string.!
Ici, !
peut être remplacé par presque tout délimiteur.
(Cela listings
ne peut pas gérer Unicode est également assez vexant, mais c'est un autre problème.)
Idéalement, je recherche une extension listings
qui me permette de fournir des règles de lexing plus complexes. Mais sauf cela, je recherche également des alternatives viables.
D'autres discussions ont suggéré d'utiliser des Pygments qui peuvent produire une sortie LaTeX. Il existe même un package - texments
- pour faciliter la transition.
Cependant, cela manque cruellement de fonctionnalités. En particulier, je m'intéresse à la listings
numérotation des lignes -style, aux références de ligne de code source et à la possibilité d'incorporer LaTeX dans le code source (options texcl
et mathescape
dans listings
).
À titre d'exemple, voici une composition de code source listings
qui montre certaines des choses qu'un remplacement devrait également fournir:
[«Ajout latéral» modifié à partir de piratages Bit Twiddling]