2011年5月26日星期四

我的TeX手札之 源代码引用和语法高亮

LaTeX自带的『原文照排』的verbatim环境的确不错,但是其功能略显简略,不能满足我们引用各种源代码的高级要求。本文介绍一下宏包listing的使用,并给出引用源代码并作高亮显示的TeX代码示例。
通常地,我们引用源代码的要求有:
  • 字体样式与正文有明显区分,美观大方
  • 可以标注代码行号
  • 可以添加背景色,可以添加边框
  • 可以对援引源代码进行语法高亮
那么listing宏包一定是你非常好的选择!

listing宏包支持代码上色的语言非常之多,目前所支持的语言有:
ABAP    IDL    Plasm    ACSL    inform    POV    Ada    Java    Prolog
Algol    JVMIS    Promela    Ant    ksh    Python    Assembler    Lisp    R
Awk    Logo    Reduce    bash    make    Rexx    Basic    Mathematica    RSL
C    Matlab    Ruby    C++    Mercury    S    Caml    MetaPost    SAS
Clean    Miranda    Scilab    Cobol    Mizar    sh    Comal    ML    SHELXL
csh    Modula-2    Simula    Delphi    MuPAD    SQL    Eiffel    NASTRAN    tcl
Elan    Oberon-2    TeX    erlang    OCL    VBScript    Euphoria    Octave     Verilog
Fortran    Oz    VHDL    GCL    Pascal    VRML    Gnuplot    Perl    XML
Haskell    PHP    XSLT    HTML    PL/I
当然,这个语言列表可能会随时间推移而逐渐庞大,如果你所援引的语言暂时不在上述之列,你仍可以自定义语法高亮的规则,不过,这便不再本文讨论之范畴。

以下给出的是使用了listing宏包的TeX代码示例,该代码可以使用LaTeX,pdfLaTeX,XeLaTeX等编译通过。


有关这个示例的TeX源文件以及排版结果之DVI档,PDF档,请移步:
https://docs.google.com/leaf?id=0ByIYMq1zOBB4NzJlNmJmMWYtZmU2ZS00NGJlLTliOWUtODc0NjJhZGY5YWIw&hl=zh_CN

没有评论:

发表评论