listings
LaTeX中的listings包可以用来方便地排版各种编程语言。它默认内置了对多达80多种语言的支持,包括Lisp -- 不过可惜的是没有对Scheme的直接支持。不过这也不是一个大的问题,因为listings提供了宏命令lstdefinelanguage来自定义新的语言。
\lstdefinelanguage{Scheme}{%
morekeywords={begin,call-with-current-continuation,call/cc,define,%
case,cond,do,delay,else,force,for-each,map,if,and,or,not,lambda,%
let,let-syntax,let*,letrec,letrec-syntax,syntax,syntax-rules%
},%
sensitive,%
alsodigit=-,%
morecomment=[l]{;},%
morecomment=[s]{\#|}{|\#},%
morestring=[b]{``}%
}[keywords,comments,strings]
其实Scheme的关键字相当稀少,除了define, lambda, if等等,其它多数只是宏而已,不过一起定义出来使得排版出来的代码自动语法高亮,还是相当赏心悦目。
标签: latex
0 Comments:
发表评论
<< Home