答案1
可以使用等keywordstyle
,identifierstyle
并将它们设置为特定颜色,或者使用带有\colorbox{colorname}
-- 的特定颜色背景。相关的第二个参数\colorbox
将自动插入listings
。请注意,这可能看起来不太理想,请参阅 C 语言中带有#
- 符号下行部分的示例:
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\begin{document}
\lstset{ keywordstyle={\colorbox{yellow}},identifierstyle={\colorbox{green}}}
\begin{lstlisting}[language=C]
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World\n");
return EXIT_SUCCESS;
}
\end{lstlisting}
\end{document}
答案2
添加到克里斯蒂安的回答,您可能需要修复colorbox
es 的高度并将其填充设置为零,以便它们不会改变代码的布局。
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\newcommand{\myColorBox}[3][0pt]{{\fboxsep#1\colorbox{#2}{\strut #3}}}
\begin{document}
\lstset{columns=fullflexible,basicstyle=\ttfamily,keepspaces,language=C}
\begin{lstlisting}
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World\n");
return EXIT_SUCCESS;
}
\end{lstlisting}
\begin{lstlisting}[
keywordstyle={\myColorBox{yellow}},
identifierstyle={\myColorBox{green}}
]
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World\n");
return EXIT_SUCCESS;
}
\end{lstlisting}
\end{document}