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