我需要在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改编的"侧身添加"]
As is explained in here, I find minted package is pretty cool for source code listing.
My question is how to use minted package with AucTeX/emacs?
For command line I can use pdflatex -shell-escape SOURCE, but
-shell-escape? I mean, how to change the action for C-c+C-c?-shell-escape选择吗?或者,可以毫无问题地使用它吗?-shell-escape …继这个问题之后,当我处于逐字模式时,我完全难以让LaTeX给我一个波浪号.它必须是代字号,因为它是函数的类型!
sig symm : (Board, [(Int, Int)]) ~> Bool
Run Code Online (Sandbox Code Playgroud)
当然,逐字打印标准的波浪形显示方法.
有什么建议?
一个编辑澄清:在逐字模式下键入〜给出一个空格以上的重音.因为它出现在这句话的开头.
我正在使用安装了MiKTeX 2.8的TeXnicCenter 2.0 Alpha 3(版本1118)在Vista上使用LaTeX .我想使用的代码高亮Objective-C和阅读这里的铸造包是巨大的.我按照铸造文档中的说法安装了Python 2.7和pygmentize.我还在TeXnicCenter中设置了编译器选项-shell-escape.编译器找到pygmentize脚本但发生以下错误.
文件"C:\ Python27\Scripts\pygmentize.exe",第1行语法错误:第1行文件C:\ Python27\Scripts\pygmentize.exe中的非ASCII字符'\ x90',但未声明编码; 有关详细信息,请访问http://www.python.org/peps/pep-0263.html!LaTeX错误:找不到文件`Test.out.pyg'.键入X退出或继续,或输入新名称.(默认扩展名:out.pyg)输入文件名:!紧急停止.
我无法弄清楚如何解决问题.我尝试将tex文件保存为ANSI或UTF-8.我对tex文件的唯一补充是包含
\ usepackage {}铸造
这个简单的例子来自铸造文档.
\ mint {python} |导入此|