我想在清單環境下的投影片中為一些關鍵字著色
在下面的範例中,我想將__shared__
單字塗為橙色,將寬度塗為藍色。我該如何修改這個?
\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}
這是前面程式碼的輸出
答案1
您可以使用 keywords=[2]{...}
,keywordstyle=[2]
作為第二組具有不同樣式的關鍵字(在本例中,對於橙色的關鍵字);使用otherkeywords=
您可以將藍色用於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}