我需要在LaTeX中突出显示源代码.listings对于大多数用例而言,该软件包似乎是最佳选择,对我来说,它一直是现在.
但是,现在我需要更多的灵活性.一般来说,我正在寻找的是一个真正的词法分析器.特别是,我需要(对于自己的语言定义)来定义(并突出显示!)自己的数字样式.listings不允许在代码中突出显示数字.但是,我需要生成这样的东西:

listings也无法处理字符串的任意分隔符.考虑以下有效的Ruby代码:
s = %q!this is a string.!
Run Code Online (Sandbox Code Playgroud)
在这里,!几乎可以用任何分隔符代替.
(那listings不能处理Unicode也很烦人,但这是另一个问题.)
理想情况下,我正在寻找一个扩展,listings这允许我提供更复杂的lexing规则.但除此之外,我也在寻找可行的替代方案.
其他线程建议使用可以产生LaTeX输出的Pygments.甚至有一个包 - texments- 以缓解过渡.
然而,这非常缺乏功能.特别是,我对listings样式行号,源代码行引用以及在源代码中嵌入LaTeX的可能性感兴趣(选项texcl和mathescapein listings).
例如,这里是一个源代码排版集,listings其中显示了替换程序还应提供的一些内容:
[Bit Twiddling Hacks改编的"侧身添加"]