2

我正在使用 lstlisting 在我的文本中插入 Java 代码。但是在同一个列表中,我想更改几行的字体颜色,同时继续使用相同的列表格式。我的目标是仅以红色突出显示导致编译和/或运行时失败的行。

我知道这些特殊行中不会有任何语法突出显示(因为这些行中的颜色都是红色的)。

我曾尝试使用 escapeinside 和 \textcolor{red} 将颜色更改为红色,但这会将文本格式更改为常规文本格式,并且还删除了代码中的新行。

我怎样才能做到这一点?

4

1 回答 1

2

好,我知道了。我正在使用 moredelim 参数。像这样 -

    \begin{lstlisting}[language=java, basicstyle={\small\ttfamily}, moredelim={[is][\color{red}]{STARTRC}{ENDRC}}]
class Test{
  private String name; 
STARTRC     default String id;//will not compile.ENDRC
}
\end{lstlisting}

STARTRC 和 ENDRC 中的文本现在以红色显示,其他所有内容与列表的其他部分相同。

于 2018-06-07T08:30:43.350 回答