我需要在LaTeX中突出显示源代码。listings
对于大多数用例来说,该软件包似乎是最佳选择,对我而言,直到现在。
但是,现在我需要更大的灵活性。通常,我要寻找的是一个真正的词法分析器。特别是,我需要(用于自己的语言定义)定义(并突出显示!)自己的数字样式。listings
不允许突出显示代码中的数字。但是,我需要产生以下内容:
listings
也不能应付字符串的任意定界符。考虑以下有效的Ruby代码:
s = %q!this is a string.!
在这里,!
几乎可以用任何定界符代替。
(那listings
无法处理Unicode也很烦人,但这是另一个问题。)
理想情况下,我正在寻找扩展名,listings
以便允许我提供更复杂的词汇规则。但是除非如此,我也在寻找可行的替代方案。
其他线程建议使用可以产生LaTeX输出的Pygments。甚至还有一个包texments
–可以简化过渡。
但是,这非常缺乏功能。我尤其对listings
-style行编号,源代码行引用以及将LaTeX嵌入源代码(选项texcl
和mathescape
中listings
)的可能性感兴趣。
例如,这是源代码类型集,listings
其中显示了替代品还应提供的一些内容:
[从Bit Twiddling Hacks修改为“ Sideways添加”]