定义方言并更改默认方言

定义方言并更改默认方言
\documentclass{article}

\usepackage{listings}

\lstdefinelanguage[3]{Python}[]{Python}{morekeywords={yield,goto}}

\lstset{
  defaultdialect=[3]Python % Line A
}

\begin{document}

\begin{lstlisting}[language=Python]
yield
goto
\end{lstlisting}

\end{document}

[3]Python根据Python包提供的方言定义了它。[3]Python还有两个关键字。

如果我删除 A 行,并language={[3]Python}为每个设置\begin{lstlisting},则文件可以正常编译。

但我想利用 defaultdialect 选项,将 Python 的默认方言从空方言改为 [3] 方言。但是,当我编译文件时,xelatex 会报错

!TeX 容量已超出,抱歉 [输入堆栈大小=5000]。\zap@space #1 #2->#1 \ifx #2@empty \else \expandafter \zap@space \fi #2 l.14 \begin{lstlisting}[language=Python]

无输出页面。

我如何解决它?

相关内容