Otherkeywords 选项导致列表中断

Otherkeywords 选项导致列表中断

我正在尝试为排版正则表达式创建一个简单的语言定义。包提供otherkeywords的选项listings似乎非常方便。然而,它似乎不起作用。以下是我想要做的事情的 MWE:

\documentclass{article}

\usepackage{listings}

\lstdefinelanguage{regex}{
  otherkeywords={+,*,|,?}
}

\begin{document}

\begin{lstlisting}[language=regex]
[A-Za-z](_?[A-Za-z0-9])*
\end{lstlisting}

\end{document}

当我尝试编译它时出现以下错误:

! Undefined control sequence.
\lst@OutputToken ...lst@CheckMerge {\lst@thestyle 
                                                  {\lst@FontAdjust \setbox \...
l.12 [A-Za-z](_?
                [A-Za-z0-9])*
? 

显然,这里出了问题,但我想象不出是什么

答案1

我认为这是 lstlistings 中的一个错误,有一个未定义的关键字样式的内部命令。请提交错误报告。

\documentclass{article}

\usepackage{listings}

\lstdefinelanguage{regex}{
  otherkeywords={+,*,|,?}
}
\makeatletter \def\lst@gkeywords@sty{\bfseries} %definition for this is missing.
\begin{document}

\begin{lstlisting}[language=regex]
[A-Za-z](_?[A-Za-z0-9])*
\end{lstlisting}

\end{document}

相关内容