Переключите язык в листинге кода, используя lstlisting

Я использую lstlisting, чтобы вставить код Java в мой текст. Но в том же листинге я хочу изменить цвет шрифта на несколько строк, продолжая в том же формате листинга. Моя цель - выделять красным цветом только те строки, которые вызывают сбой компиляции и / или выполнения.

Я понимаю, что в этих специальных строках не будет никакой подсветки синтаксиса (потому что цвет будет красным по всем этим линиям).

Я пробовал escapeinside и \textcolor{red}, чтобы изменить цвет на красный, но это изменяет текстовый формат на обычный текстовый формат, а также избавляет от новых строк, которые есть в коде.

Как мне этого добиться?

1 ответ

Ладно, я понял. Я использую параметр 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 теперь отображается красным цветом, а все остальное так же, как и в другой части списка.

Другие вопросы по тегам