突出显示包含星号的宏和键名

突出显示包含星号的宏和键名

我的目标是在下面的 MWE 中突出显示乳胶宏和键名。当它*是键名的一部分并且也是宏的参数时,就会出现问题。

我尝试使用 MWE,但它没有\mymacro在第一行突出显示

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}

\lstset
{
    basicstyle = {\ttfamily},
    alsoletter =  {\\,-,*},
    keywords = [0]{key-*},
    keywordstyle = [0]{\color{blue}},
    keywords = [1]{\\mymacro},
    keywordstyle = [1]{\color{red}}
}

\begin{document}
    \begin{lstlisting}
        \mymacro*[key-*=true]{y}{x}
        \mymacro[key-*=true]{y}{x}
    \end{lstlisting}
\end{document}

在此处输入图片描述

答案1

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}

\lstset
{
    basicstyle = {\ttfamily},
    alsoletter =  {\\,-,*},
    keywords = [0]{key-*},
    keywordstyle = [0]{\color{blue}},
    keywords = [1]{\\mymacro,\\mymacro*},
    keywordstyle = [1]{\color{red}}
}

\begin{document}
    \begin{lstlisting}
        \mymacro*[key-*=true]{y}{x}
        \mymacro[key-*=true]{y}{x}
    \end{lstlisting}
\end{document}

在此处输入图片描述

相关内容