Cómo agregar color al código fuente en el entorno de listados

Cómo agregar color al código fuente en el entorno de listados

Me gustaría colorear algunas palabras clave en mis diapositivas en el entorno de listados.

En el siguiente ejemplo ideado, me gustaría colorear la __shared__ palabra con naranja y WIDTH con azul. ¿Cómo modificaría esto?

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

Aquí está el resultado del código anterior. ingrese la descripción de la imagen aquí

Respuesta1

Puedes utilizar keywords=[2]{...}, keywordstyle=[2]para un segundo grupo de palabras clave con diferente estilo (en este caso, para las palabras clave en color naranja); Usando otherkeywords=puedes usar el color 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}

ingrese la descripción de la imagen aquí

información relacionada