完成我的双面文章后,我想生成 LOF 和 LOT。
许多图形反复出现以下错误(第一个是:“未定义的控制序列”,第二个是:“缺失数字被视为零”):
! Undefined control sequence.
\l@figure #1#2->\ifnum \c@lofdepth
>\z@ \vskip \cftbeforefigskip {\leftskip ...
l.10 ...DPJIP2009}\relax }}{11}{figure.caption.14}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Missing number, treated as zero.
<to be read again>
>
l.10 ...DPJIP2009}\relax }}{11}{figure.caption.14}
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)
我通过 texstudio (MAC OSX) 和 \documentclass[11pt,a4paper,twoside,openany]{book} 使用 PDFLATEX。我也刚刚更新了所有软件包,没有区别(没有重启计算机)。
我希望有人能帮帮忙。
答案1
标准类有一个tocdepth
计数器,但没有lofdepth
计数器(其内部名称为\c@lofdepth
),因此很可能您在某一时刻使用了一个用于扩展图形处理列表的包,而该包不再加载,导致临时文件处于不一致状态。
删除.lof
.toc
.lot
和.aux
文件并重新乳胶,一切应该会恢复同步。
答案2
正如 Joost 在评论中提到的,当使用tocloft
包的特定选项时可能会发生这种情况。
就我而言,我在序言中有以下代码:
\usepackage[subfigure]{tocloft}
该subfigure
选项导致了问题。手册对此进行了最好的说明,重点是我:
如果出现以下情况,则需要此选项:并且仅当,
tocloft
和subfigure
包一起使用。这两个包可以按任意顺序指定。--(摘自 tocloft 手册第 2.1 节)
由于我没有使用该subfigure
包,因此删除该选项可以消除错误。