LaTex: 在listings包中添加新的编程语言

在LaTex中,如果需要插入程序代码,使用listings包是比较好的选择。listings可以对关键词、注释和字符串进行高亮,并为代码添加边框、行号等背景元素。遗憾的是,listings宏包支持的语言种类有限 — 比如,它并不支持JavaScript。那么,如何在listings包中增加一种编程语言呢?

listings对支持的编程语言的定义存放于几个lstlang*.sty文件中。在TeX Live 2011中,这几个sty文件位于:texlive/2011/texmf-dist/tex/latex/listings/,文件名为lstlang1.stylstlang2.stylstlang3.sty。为了添加一种编程语言的支持,我们可以修改lstlang1.sty文件,在其中两个编程语言定义之间插入下列文本(以JavaScript为例):

\lst@definelanguage{JavaScript}%
  {morekeywords={typeof,new,true,false,catch,function,return,null,catch,switch,var,if,in,while,do,else,case,break},%
  morecomment=[l]//,%
  morecomment=[s]{/*}{*/},%
  morestring=[b]",%
  morestring=[b]',%
  }[keywords,comments,strings]%

使用时与其它编程语言一样,定义language=JavaScript即可。

Chuan Shao

Read more posts by this author.

Shanghai

Subscribe to Chuan's blog

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!