Eu preciso destacar o código fonte no LaTeX. O pacote listings
parece ser a melhor opção para a maioria dos casos de uso e, para mim, até agora.
No entanto, agora eu preciso de mais flexibilidade. Geralmente, o que estou procurando é um verdadeiro lexer. Em particular, preciso (para uma definição de linguagem própria) definir (e destacar!) Estilos de número próprios. listings
não permite destacar números no código. No entanto, preciso produzir algo como isto:
listings
também não pode lidar com delimitadores arbitrários para seqüências de caracteres. Considere o seguinte código Ruby válido:
s = %q!this is a string.!
Aqui, !
pode ser substituído por quase qualquer delimitador.
(Isso listings
não pode lidar com Unicode também é bastante irritante, mas isso é outro problema.)
Idealmente, estou procurando uma extensão listings
que permita fornecer regras de lexing mais complexas. Mas, exceto por isso, também estou procurando alternativas viáveis.
Outros tópicos sugeriram o uso de pigmentos que podem produzir saída LaTeX. Existe até um pacote - texments
- para facilitar a transição.
No entanto, isso carece de recursos. Em particular, eu estou interessado em listings
numeração de estilo linha, as referências de linha de código fonte, bem como a possibilidade de incorporar LaTeX no código fonte (opções texcl
e mathescape
em listings
).
Como exemplo, aqui está um código-fonte digitado com o listings
qual mostra algumas das coisas que uma substituição também deve fornecer:
["Adição lateral" modificada a partir de Bit Twiddling Hacks]