Devo evidenziare il codice sorgente in LaTeX. Il pacchetto listings
sembra essere la scelta migliore per la maggior parte dei casi d'uso e per me lo è stato, fino ad ora.
Tuttavia, ora ho bisogno di maggiore flessibilità. In generale, quello che sto cercando è un vero lexer. In particolare, ho bisogno (per una definizione della propria lingua) di definire (ed evidenziare!) I propri stili numerici. listings
non consente l'evidenziazione dei numeri nel codice. Tuttavia, devo produrre qualcosa del genere:
listings
inoltre non può far fronte a delimitatori arbitrari per le stringhe. Considera il seguente codice Ruby valido:
s = %q!this is a string.!
Qui, !
può essere sostituito da quasi tutti i delimitatori.
(Che listings
non può gestire Unicode è anche abbastanza fastidioso, ma questo è un altro problema.)
Idealmente, sto cercando un'estensione listings
che mi permetta di fornire regole di lexing più complesse. Ma a parte questo, sto anche cercando alternative praticabili.
Altri thread hanno suggerito di usare Pygments che possono produrre output LaTeX. C'è anche un pacchetto - texments
- per facilitare la transizione.
Tuttavia, questo manca di funzionalità. In particolare, sono interessato alla listings
numerazione delle righe in stile, ai riferimenti alle righe del codice sorgente e alla possibilità di incorporare LaTeX nel codice sorgente (opzioni texcl
e mathescape
in listings
).
Ad esempio, ecco un set di codice sorgente con il listings
quale mostra alcune delle cose che una sostituzione dovrebbe anche fornire:
["Aggiunta laterale" modificata da Bit Twiddling Hacks]