当基本风格是ttfamily时,LaTeX没有突出显示关键字

时间:2010-03-25 11:47:26

标签: latex formatting code-formatting

我正在处理LaTeX文档并使用lstlisting来显示我的Java源代码。我的设置如下:

\lstset{
  basicstyle=\ttfamily,
  keywordstyle=\bfseries,
  language=Java,
  frame=single,
  aboveskip=11pt,
  belowskip=11pt,
  breaklines=true,
  breakatwhitespace=false,
  showspaces=false,
  showstringspaces=false
}

使用ttfamily时,关键字不会以粗体显示,但如果我使用small或不指定基本样式,则会突出显示它们。

我错过了什么?

3 个答案:

答案 0 :(得分:12)

LaTeX中的默认字体Computer Modern不提供电传打字机系列的粗体版本。您可以将其安装为bold-extra包;有关详细信息,请参阅this FAQ entry

答案 1 :(得分:1)

另一种选择是将您使用的字体换成粗体,如下所述:http://www.macfreek.nl/mindmaster/LaTeX_Bold_Typewriter_Font

只需将此行放在我的文档顶部,就可以在非常标准的Ubuntu版本上为我工作:

\DeclareFontShape{OT1}{cmtt}{bx}{n}{<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>cmttb10}{}

答案 2 :(得分:1)

有一种替代方法(有点简单的恕我直言)here使用Courier字体而不是默认的Computer Modern:

% Using Courier font
\renewcommand{\ttdefault}{pcr}
\begin{lstlisting}[basicstyle=\ttfamily\bfseries]
y:=2
\end{lstlisting}

所有学分都归功于Marco Daniel!