Setzen Sie Schlüsselwörter in zwei bestimmten Farben innerhalb eines Codeblocks

Setzen Sie Schlüsselwörter in zwei bestimmten Farben innerhalb eines Codeblocks

Ist es möglich, innerhalb eines Codeblocks zwei Farben für Schlüsselwörter festzulegen?

Ich habe die aktuellen Einstellungen für meinen 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,
}

HaarCascadeIch kann solche Schlüsselwörter als oder definieren Image, und sie würden in meinem Code blau erscheinen. Aber was kann ich tun, um diese beiden spezifischen Schlüsselwörter in einer anderen Farbe zu setzen, sagen wir türkis?

Antwort1

Sie können mit der Syntax eine beliebige Anzahl verschiedener Schlüsselwortklassen verwenden keyword=[class]...und keywordstyle=[class].... classist einfach eine natürliche Zahl, die als ID für die Klasse verwendet wird.

In Ihrem Fall:

\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}

Vorschau

verwandte Informationen