列表包中有错误吗?

列表包中有错误吗?

似乎在所有其他使用\AtBeginDocument

\documentclass[]{scrbook} % 
\AtBeginDocument{\RequirePackage{listings}}
\begin{document}
\end{document}

这会引发错误

! Undefined control sequence.

<argument> ... \iffalse }{}\lst@ifnumberbychapter

在代码序列中

\AtBeginDocument{
  \@ifundefined{thechapter}{\let\lst@ifnumberbychapter\iffalse}{}
  \lst@ifnumberbychapter
      \newcounter{lstlisting}[chapter]
      \gdef\thelstlisting%
           {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@lstlisting}
  \else
      \newcounter{lstlisting}
      \gdef\thelstlisting{\@arabic\c@lstlisting}
  \fi}

这是一个错误还是我使用不当\AtBeginDocument

答案1

你可能误用\AtBeginDocument:-)

我当时不知道可以加载包;但看起来可以。listings但是,它使用\AtBeginDocument自身。我想这就是你的代码不起作用的原因。

事实上,我已经检查过了:是的,listings \lets\lst@ifnumberbychapter\AtBeginDocument

相关内容