Scala是一种针对 JVM 将函数和面向对象技术组合在一起的编程语言。作为我们LaTeX用户,更关心如何排版其语言让其显示更为美观使我们很感到兴趣的。 下面我们定制其显示颜色 这样我们可以用下面的语句输入了 【演示效果】 选自:http://tihlde.org/~eivindw/latex-listings-for-scala/listings
包本身没有预定义Scala语言,所以我要先定义其语言如下,选自网络包lstlang0.sty
的定义:\usepackage{listings}
% "define" Scala
\lstdefinelanguage{scala}{
morekeywords={abstract,case,catch,class,def,%
do,else,extends,false,final,finally,%
for,if,implicit,import,match,mixin,%
new,null,object,override,package,%
private,protected,requires,return,sealed,%
super,this,throw,trait,true,try,%
type,val,var,while,with,yield},
otherkeywords={=>,<-,<\%,<:,>:,\#,@},
sensitive=true,
morecomment=[l]{//},
morecomment=[n]{},
morestring=[b]",
morestring=[b]',
morestring=[b]"""
}\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
% Default settings for code listings
\lstset{frame=tb,
language=scala,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
frame=single,
breaklines=true,
breakatwhitespace=true
tabsize=3
}\begin{lstlisting}
val t = "hello" // a string
val x = 42 // an int
def While (p: => Boolean) (s: => Unit) {
if (p) { s ; While(p)(s) }
}
\end{lstlisting}
发表评论 取消回复