到目前为止,我很高兴地使用了fancyvrb
带有环境的包,但我想改变我的数字以使用带有环境的包,以便使用粗体关键字来提高可读性。Verbatim
listing
lstlisting
不幸的是,我不知道如何调整列表设置以获得与之前使用 fancyvrb 时相同的(非常漂亮的)字体...
以下是我喜欢的动词设置:
% fancy verb
\usepackage[T1]{fontenc}
\usepackage{fancyvrb}
\usepackage{relsize}
\fvset{fontfamily=fvm}
\fvset{fontsize=\relsize{-2}}
\fvset{baselinestretch=1.3}
以下是使用 Scala 语言的列表:
% listings
\usepackage{listings}
\lstdefinelanguage{scala}{ % "define" 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]"""
}
\lstset{ % activate the language and predefine settings
language=scala,%
fontadjust=true,%
columns=[c]fixed,%
keepspaces=true,%
basewidth={0.58em, 0.53em},%
tabsize=2,%
basicstyle=\renewcommand{\baselinestretch}{0.95}\ttfamily,%
commentstyle=\itshape,%
keywordstyle=\bfseries,%
mathescape=true,%
escapechar=€,%
captionpos=b,%
framerule=0.3pt,%
firstnumber=0,%
numbersep=1.5mm,%
numberstyle=\tiny,%
}
以下是对比两者的文件主体:
\documentclass{article}
% ... paste the fancy verb and listing settings from above here
\begin{document}
\begin{Verbatim}
object Stream {
def cons[A](hd: A, tl: => Stream[A]) = new Stream[A] {
def head = hd
lazy val tail = tl
...
}
}
\end{Verbatim}
\begin{lstlisting}
object Stream {
def cons[A](hd: A, tl: => Stream[A]) = new Stream[A] {
def head = hd
lazy val tail = tl
...
}
}
\end{lstlisting}
\end{document}
列表的字体看起来与 T1/fancyvrb 字体完全不同,LaTeX 似乎也没有注意将关键字设置为粗体:
我想我需要更改basicstyle
条目,但该怎么做呢?
答案1
好的,这实际上是@Speravir 的回答:)
所需的只是以下列表设置:
\lstset{
language=scala,%
commentstyle=\itshape,%
keywordstyle=\bfseries,%
fancyvrb=true % !!
}
然后,所有已设置的内容都将\begin{Verbatim}...\end{Verbatim}
受益于关键字和注释的突出显示。