当基本样式为 ttfamily 时,LaTeX lstlisting 不突出显示关键字

发布于 2024-08-26 04:10:49 字数 381 浏览 3 评论 0原文

我正在处理 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 时关键字不会突出显示为粗体,但如果我使用小或不指定基本样式,它们会突出显示。

我缺少什么?

I'm working on a LaTeX document and using lstlisting to display my Java source code. My setup looks like this:

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

The keywords are not highlighted bold when using ttfamily, but if I use small or don't specify the basic style, they're highlighted fine.

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

游魂 2024-09-02 04:10:49

LaTeX 中的默认字体 Computer Modern 不提供电传打字机系列的粗体版本。您可以将其安装为 bold-extra 软件包;有关详细信息,请参阅此常见问题解答条目

The default font in LaTeX, Computer Modern, does not provide a bold version of the teletype family. You can install this as the bold-extra package; see this FAQ entry for details.

蓝咒 2024-09-02 04:10:49

另一种选择是将您使用的字体替换为粗体,如下所述: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}{}

Another option is to swap which fonts you're using for bold as described here: http://www.macfreek.nl/mindmaster/LaTeX_Bold_Typewriter_Font

Just putting this line at the top of my document worked for me on a pretty standard Ubuntu build:

\DeclareFontShape{OT1}{cmtt}{bx}{n}{<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>cmttb10}{}
云归处 2024-09-02 04:10:49

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

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

所有功劳均归功于 Marco Daniel!

There is an alternative approach (a bit simplee IMHO) here using a Courier font instead of the default Computer Modern:

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

All credits goes of cause to Marco Daniel!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文