为代码中的文本行着色 {lstlisting}

为代码中的文本行着色 {lstlisting}

我尝试将该包改成xcolor如下lstlisting代码:

\begin{lstlisting}

\color{red}{text...}

\end{lstlisting}

但我无法为“文本...”注释添加颜色。

有人可以帮帮我吗?

谢谢!

答案1

lstlisting是一个逐字环境,因此它被设计为准确打印您在其中写入的内容,而不是评估其中的任何宏。但是,您可以为代码段定义特殊分隔符,应该escapeinside={<opening delim>}{<closing delim>}通过使用in进行评估\lstset。例如:

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\lstset{escapeinside={<@}{@>}}
\begin{document}
\begin{lstlisting}
This is normal text.
<@\textcolor{red}{red text}@>
More.
\end{lstlisting}
\end{document}

enter image description here

相关内容