似乎在所有其他使用\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
\let
s\lst@ifnumberbychapter
在\AtBeginDocument
。