获取列表以突出显示 Func

获取列表以突出显示 Func

鉴于此图像:

在此处输入图片描述

如何创建一个lstdefinelanguage可以突出Func<double, double, double>显示而不必在每个逗号后添加空格的代码?

\documentclass{book}
\usepackage{listings}
\usepackage{color}
\usepackage{xcolor}
\lstdefinelanguage{CSharp}
{
      basicstyle=\ttfamily,
      keywordstyle=\color{blue!60!black}\bfseries,
      morekeywords={double,Func},
      alsoletter={[, ]},
}

\lstset{
    basicstyle=\footnotesize\ttfamily,
    language=[Sharp]C,
    alsolanguage=CSharp,      
    keywordstyle=\color[rgb]{0.0,0,1.0}\bfseries  
}
\begin{document}

\begin{lstlisting}
double x = 10;
Func<double> x = 10;
Func<double, double, double> x = 10;
Func<double , double , double> x = 20;
\end{lstlisting}

\end{document}

答案1

这是一个展示一种方法的简单示例。

根据评论中给出的信息,您想要突出显示类似 的组合int[]。在这种情况下,您不应该使用alsoletter。而是使用otherkeywords

\documentclass[varwidth,border=10,convert={png,size=800,density=1000}]{standalone}
\usepackage{xcolor}
\usepackage{bera}
\usepackage{listings}
\lstdefinelanguage{mylang}{%
  basicstyle=\ttfamily,
  keywordstyle=\color{blue!60!black}\bfseries,
 morekeywords={double,Func,int},
  sensitive=false,
 otherkeywords={[, ]}
}
\begin{document}
\begin{lstlisting}[language=mylang]
double x = 10;
Func<double> x = 10;
Func<double, double, double> x = 10;
Func<double , double , double> x = 10;
int[];
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容