Ich möchte einige Schlüsselwörter in meinen Folien unter der Listings-Umgebung einfärben
Im folgenden erfundenen Beispiel möchte ich das __shared__
Wort orange und WIDTH blau einfärben. Wie kann ich das ändern?
\begin{frame}[fragile]
\lstset{language=C++,
basicstyle=\ttfamily\scriptsize,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{green}\ttfamily,
breakline=true
}
\begin{lstlisting}
__global__
void MatMulKernelFast(double* d_M,double* d_N,double* d_P,int WIDTH)
{
__shared__ double ds_M[TILE_WIDTH][TILE_WIDTH];
__shared__ double ds_N[TILE_WIDTH][TILE_WIDTH];
}
\end{lstlisting}
\end{frame}
Hier ist die Ausgabe des vorherigen Codes
Antwort1
keywords=[2]{...}
Sie können , für eine zweite Gruppe von Schlüsselwörtern mit anderem Stil verwenden keywordstyle=[2]
(in diesem Fall für die Schlüsselwörter in Orange); mit otherkeywords=
können Sie die blaue Farbe verwenden für WIDTH
:
\documentclass{beamer}
\usepackage{listings}
\lstset{language=C++,
basicstyle=\ttfamily\scriptsize,
keywordstyle=\color{blue}\ttfamily,
otherkeywords={WIDTH},
keywords=[2]{__shared__},
keywordstyle=[2]\color{orange}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{green}\ttfamily,
breaklines=true,
}
\begin{document}
\begin{frame}[fragile]
\begin{lstlisting}
__global__
void MatMulKernelFast(double* d_M,double* d_N,double* d_P,int WIDTH)
{
__shared__ double ds_M[TILE_WIDTH][TILE_WIDTH];
__shared__ double ds_N[TILE_WIDTH][TILE_WIDTH];
}
\end{lstlisting}
\end{frame}
\end{document}