从 fancyvrb 移至 listing – 需要重建我的字体设置

从 fancyvrb 移至 listing – 需要重建我的字体设置

到目前为止,我很高兴地使用了fancyvrb带有环境的包,但我想改变我的数字以使用带有环境的包,以便使用粗体关键字来提高可读性。Verbatimlistinglstlisting

不幸的是,我不知道如何调整列表设置以获得与之前使用 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}受益于关键字和注释的突出显示。

相关内容