使用lstlisting在代码清单中切换语言

时间:2018-06-07 04:43:27

标签: lstlisting

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

我知道在这些特殊行中不会有任何语法高亮(因为这些行中的颜色会是红色的。)

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

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。我正在使用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中的文本现在以红色显示,其他所有内容都与列表的其他部分相同。