Gostaria de colorir algumas palavras-chave em meus slides no ambiente de listagens
No exemplo inventado a seguir, gostaria de colorir a __shared__
palavra com laranja e WIDTH com azul. Como eu modificaria isso?
\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}
Aqui está a saída do código anterior
Responder1
Você pode usar keywords=[2]{...}
, keywordstyle=[2]
para um segundo grupo de palavras-chave com estilo diferente (neste caso, para as palavras-chave na cor laranja); usando otherkeywords=
você pode usar a cor azul para 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}