\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]
无输出页面。
我如何解决它?