编辑

编辑

这可能在某处有一个答案......

以下是 MWE:

\documentclass[a4paper]{memoir}
\usepackage{listings}
\usepackage[svgnames,dvipsnames]{xcolor}
\colorlet{level1}{red}
\lstset{
  basicstyle=\small\ttfamily,
  keywordstyle=\bfseries\color{level1},
  alsoletter={\\},
}
\begin{document}
\lstset{
  morekeywords={\\bigl,\\bigr}
}

\begin{lstlisting}
$\bigl(\sqrt{x^2}\bigr)$
\end{lstlisting}

\begin{lstlisting}
$ \bigl(\sqrt{x^2}\bigr)$
\end{lstlisting}

\end{document}

为什么我需要一个空格才能得到红色\bigl

在此处输入图片描述

答案1

数学移位也是一个字母,因此列表会看到“关键字” $\bigl。您可以添加alsoother={$}

编辑

可能更好的方法是定义一种自己的语言:

\documentclass[a4paper]{memoir}
\usepackage{listings}
\usepackage[svgnames,dvipsnames]{xcolor}
\colorlet{level1}{red}

\lstdefinelanguage{daleif}{%
 moretexcs={bigr}}%default keywords
[keywords,tex,comments] %aspects

\lstset{
  language=daleif,
  basicstyle=\small\ttfamily,
  texcsstyle=*\bfseries\color{level1},
  }
\begin{document}

\begin{lstlisting}
$\bigr\bigl\def$
\end{lstlisting}

\begin{lstlisting}[moretexcs={bigl}]
$\bigr\bigl\def$
\end{lstlisting}


\begin{lstlisting}
$\bigr\bigl\def$
\end{lstlisting}


\end{document}

相关内容