我为我的列表定义了以下列表集
\lstset{
numbers=left,
numberstyle=\scriptsize,
tabsize=4,
rulecolor=,
language=java,
basicstyle=\scriptsize,
upquote=true,
aboveskip={1.5\baselineskip},
columns=fixed,
showstringspaces=false,
extendedchars=true,
breaklines=true,
prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
frame=single,
showtabs=false,
showspaces=false,
showstringspaces=false,
identifierstyle=\ttfamily,
}
但是,问题是,当我在列表中创建一些 Java 代码时,关键字(例如 private、boolean、return 等)会以粗体突出显示。我不想这样。是否可以禁用粗体关键字突出显示?
答案1
有一个名为的键/值参数keywordstyle=<value>
,您可以在其中重新定义关键字样式。
默认设置为:关键字已排版大胆的以及评论斜体。添加keywordstyle=\ttfamily
将\lstset
重新定义它:
\documentclass{article}
\usepackage{listings}
\usepackage{upquote}
\lstset{
numbers=left,
numberstyle=\scriptsize,
tabsize=4,
rulecolor=,
language=java,
basicstyle=\scriptsize,
upquote=true,
aboveskip={1.5\baselineskip},
columns=fixed,
showstringspaces=false,
extendedchars=true,
breaklines=true,
prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
frame=single,
showtabs=false,
showspaces=false,
showstringspaces=false,
identifierstyle=\ttfamily,
keywordstyle=\ttfamily
}
\begin{document}
\begin{lstlisting}
public class HelloWorld {
// main method
public static void main(String[] args) {
System.out.println("Hello world");
}
}
\end{lstlisting}
\end{document}
输出:
希望能帮助到你。=)
答案2
除了 Paulo 的答案将关键字的样式更改为与周围文本相同之外,您还可以通过keywords={}
在语言规范后添加来消除已识别的关键字集。
代码:
\documentclass{article}
\usepackage{listings}
\usepackage{upquote}
\lstset{
numbers=left, numberstyle=\scriptsize,
columns=fixed, frame=single, rulecolor=, aboveskip=1.5\baselineskip,
showspaces=false, showstringspaces=false,
showtabs=false, tabsize=4, extendedchars=true,
breaklines=true, prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
language=java,
upquote=true,
basicstyle=\scriptsize, identifierstyle=\ttfamily,
keywords={}
}
\begin{document}
\begin{lstlisting}
public class HelloWorld {
// main method
public static void main(String[] args) {
System.out.println("Hello world");
}
}
\end{lstlisting}
\end{document}
输出: