在列表中使用多种语言时关键字样式错误

在列表中使用多种语言时关键字样式错误

使用此代码

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

\lstset{%
  language=[AlLaTeX]TeX,
  alsolanguage=MetaPost,
  texcsstyle=\color{blue},
  basicstyle=\ttfamily%
}

\begin{document}
\begin{lstlisting}
 $\sum_{n=1}^\infty\frac{1}{n^2}$.
\end{lstlisting}
\end{document}

不是\sum彩色的。但是,如果我用 替换MetaPostpstricks就会\sum变成蓝色。

有人可以帮助我并解释一下这个问题吗?

答案1

来自listings包装文档:

错误:texcs... 与其他关键字列表相冲突。例如,如果emph包含单词foo,则控制序列\foo将显示在 中emphstyle

基于此,我尝试声明MetaPost第一和TeX第二,并且成功了。

代码

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

\lstset{%
    language=MetaPost,
    alsolanguage=[AlLaTeX]TeX,
    texcsstyle=\color{blue},
    basicstyle=\ttfamily%
}

\begin{document}
    \begin{lstlisting}
    $\sum_{n=1}^\infty\frac{1}{n^2}$.
    \end{lstlisting}
\end{document}

您还可以使用带星号的变体texcsstyle来突出显示反斜杠:

texcsstyle=*\color{blue}

结果

在此处输入图片描述

相关内容