如何避免在评论中突出显示更多关键词?

如何避免在评论中突出显示更多关键词?

假设我有以下列表样式:

\lstdefinestyle{custCpp}{
  language=c++,
  keywordstyle={\bfseries}, % keyword color
  keywordstyle = [2]{\color{blue}\bfseries},
  otherkeywords = {QuadraticException},
  morekeywords = [2]{QuadraticException},
  commentstyle=\color{gray},
  upquote=true,
  showstringspaces=false  
}

我如何才能避免QuadraticException在评论中被加粗?

请参阅下面的 MWE:

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{xcolor}
\usepackage{textcomp}
\usepackage{listings}

\lstdefinestyle{custCpp}{
  language=c++,
  keywordstyle={\bfseries}, % keyword color
  keywordstyle = [2]{\color{blue}\bfseries},
  otherkeywords = {QuadraticException},
  morekeywords = [2]{QuadraticException},
  commentstyle=\color{gray},
  upquote=true,
  showstringspaces=false  
}

\begin{document}

\begin{lstlisting}[style = custCpp]
// Not styled: try catch else if then
// Styled: QuadraticException

int x = 2;

for (int i = 0; i < x; ++i) {
    if (i > 0) {
      throw QuadraticException("test working exception class");
    }
}
\end{lstlisting}

\end{document}

谢谢您的帮助!

在此处输入图片描述

答案1

解决方法很简单,删除下面这行

otherkeywords = {QuadraticException},

来自你的样式定义。otherkeywords用于定义包含归类listings其他字符(通常是大多数符号),因此得名。这些关键字的解析方式不同,目前有点问题。正确的选项是morekeywords

如果没有该行,您的代码将正确输出为

在此处输入图片描述

相关内容