回忆录和清单中出现奇怪的错误

回忆录和清单中出现奇怪的错误

以下 MWE 崩溃:

\documentclass{memoir}
\usepackage{amsmath}
\usepackage{listings}

\newlistof{lstlisting}{lol}{\lstlistlistingname}

\begin{document}
  \begin{lstlisting}
    struct x;
  \end{lstlisting}
\end{document}

错误信息是:

! TeX capacity exceeded, sorry [input stack size=5000].
\reserved@a ->\def \reserved@a 
                               *{\@nameuse {mem@lstlisting}{01}}\reserved@a 
l.11   \end{lstlisting}
                       
!  ==> Fatal error occurred, no output PDF file produced!

出于某种奇怪的原因,amsmath包裹是必须的。问题似乎出在这条\newlistof线上,评论说一条包裹通过了,没有问题。

答案1

当你跑步时

\newlistof{foo}{ext}{name}

定义了一个新的宏:(\foo\tableofcontents\listoffigures

在这种情况下

 \newlistof{lstlisting}{lol}{\lstlistlistingname}

定义\lstlisting也与之相同,\begin{lstlisting}所以您刚刚破坏了lstlisting环境。

虽然错误memoir在于 ,但在定义它之前memoir应该检查 的存在。\foo

此错误已被注意到,并将在将来的版本中修复memoir

相关内容