在 moredelim 中更改字体

在 moredelim 中更改字体

lstlisting没有使用使标识符名称变成红色的identifierstyle字体moredelim。在示例中,第一个varname是 tt 字体,但第二个是罗马字体。我希望第二个varname也是 tt 字体,但颜色为红色。我做错了什么?

\documentclass{article}
\usepackage{listings}
\usepackage{color}

\lstset{
language=C++,
identifierstyle={\texttt},
moredelim=**[is][\color{red}]{@}{@},
}% lstset

\begin{document}
\begin{lstlisting}
varname
@varname@
\end{lstlisting}
\end{document}

答案1

添加\ttfamily

\documentclass{article}
\usepackage{listings}
\usepackage{color}

\lstset{
language=C++,
identifierstyle={\texttt},
moredelim=**[is][\color{red}\ttfamily]{@}{@},
}% lstset

\begin{document}
\begin{lstlisting}
varname
@varname@
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容