Можно ли задать два цвета для ключевых слов внутри Codeblock?
У меня есть текущие настройки для моего Codeblock
\lstset{language=[Sharp]C,
captionpos=b,
%numbers=left, %Nummerierung
%numberstyle=\tiny, % kleine Zeilennummern
frame=lines, % Oberhalb und unterhalb des Listings ist eine Linie
showspaces=false,
showtabs=false,
numbers=left,
basicstyle = small,
breaklines=true,
showstringspaces=false,
breakatwhitespace=true,
escapeinside={(*@}{@*)},
commentstyle=\color{greencomments},
morekeywords={HaarCascade, Image, partial, var, value, get, set},
keywordstyle=\color{bluekeywords},
stringstyle=\color{redstrings},
basicstyle=\ttfamily\small,
}
Я могу определить такие ключевые слова как HaarCascade
или Image
, и они будут отображаться в моем коде как синие. Но что я могу сделать, чтобы установить эти два конкретных ключевых слова в другой цвет, скажем, бирюзовый?
решение1
Вы можете использовать любое количество различных классов ключевых слов с синтаксисом keyword=[class]...
, а keywordstyle=[class]...
. class
— это просто натуральное число, используемое в качестве идентификатора для класса.
В твоем случае:
\documentclass{article}
\usepackage[usenames]{xcolor}
\definecolor{turquoise}{RGB}{64, 224, 208}
\colorlet{greencomments}{green!50!black}
\colorlet{bluekeywords}{blue}
\colorlet{redstrings}{red}
\usepackage{listings}
\lstset{language=[Sharp]C,
captionpos=b,
%numbers=left, %Nummerierung
%numberstyle=\tiny, % kleine Zeilennummern
frame=lines, % Oberhalb und unterhalb des Listings ist eine Linie
showspaces=false,
showtabs=false,
numbers=left,
basicstyle = small,
breaklines=true,
showstringspaces=false,
breakatwhitespace=true,
escapeinside={(*@}{@*)},
commentstyle=\color{greencomments},
morekeywords=[1]{partial, var, value, get, set},
morekeywords=[2]{HaarCascade, Image},
keywordstyle=\color{bluekeywords},
keywordstyle=[2]\color{turquoise},
stringstyle=\color{redstrings},
basicstyle=\ttfamily\small,
}
\begin{document}
\begin{lstlisting}
using System;
// From wikipedia
class Program
{
static void Main()
{
Console.WriteLine("Hello, world!");
Image img;
}
}
HaarCascade, Image, partial, var, value, get, set
\end{lstlisting}
\end{document}