在以下 MWE 中,声明的关键字te-st
和999
未按预期突出显示:
\documentclass{scrartcl}
\usepackage{listings,xcolor}
\lstdefinelanguage{mylang}{keywords={test,te-st,999,xyz},keywordstyle=\color{red}}
\begin{document}
\begin{lstlisting}[language=mylang,basicstyle=\ttfamily]
abc test
def te-st
ghi 999
jkl xyz
\end{lstlisting}
\end{document}
我如何定义诸如999
或之类的关键字te-st
?
答案1
对于列表,关键字与所有标识符一样以字母开头,并以字母或数字结尾。如果您的标识符中需要其他字符,则必须将其设为字母或数字。或者,使用由otherkeywords
您不想重新定义的字符组成的关键字选项:
\documentclass{scrartcl}
\usepackage{listings,xcolor}
\lstdefinelanguage{mylang}{%
alsodigit={-}, % also: alsoletter
otherkeywords={999},
keywords={test,te-st,xyz},keywordstyle=\color{red}}
\begin{document}
\begin{lstlisting}[language=mylang,basicstyle=\ttfamily]
abc test
def te-st
ghi 999
jkl xyz
\end{lstlisting}
\end{document}
有关详细信息,请参阅列表文档的参考部分。