额外的},或者被遗忘的\endgroup。lstset

额外的},或者被遗忘的\endgroup。lstset

我遇到了一个问题,什么都没起作用。是的,代码没问题,应该没问题。我重新安装了完整的 MiKTeX 环境,但问题仍然存在。

\documentclass{article}

\usepackage{listings}

\lstset{
  basicstyle=\scriptsize\fontfamily{pcr}\selectfont,
  tabsize=2,
  breaklines=true,
  prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
  breakatwhitespace=false,
  aboveskip={1.5\baselineskip},
  belowcaptionskip={6pt},
  columns=fixed,
  extendedchars=true,
  frame=single,
  escapechar=\%
}

\begin{document}

\begin{lstlisting}
var decompressedMochiKit = function(p,a,c
    ,k,e,d){e=function(c){return(c<a?"":
    e(parseInt(c/a)))+((c=c%a)>35?String.
    fromCharCode(c+29):c.toString(36))}
    ...
}(...);
\end{lstlisting}

\end{document}

}为什么环境内部的关闭会lstlisting引起问题?

答案1

通过此escapechar=\%设置,%清单第三行中的 告诉 LaTeX 开始将标记解释%为 LaTeX 代码。但是匹配%,所以当 LaTeX 发现不平衡时}它会抱怨。

消除escapechar=\%

答案2

问题出escapechar=\%在 lstset 中的设置。

相关内容