todonotes:输出循环---一页上 50 个 \todo{} 之后连续 100 次死循环

todonotes:输出循环---一页上 50 个 \todo{} 之后连续 100 次死循环

当使用带有 IEEEtran 模板的包时,我在一页上todonotes放置 50 个之后似乎达到了限制。\todo{}

在编译文档时,出现以下错误:

Output loop---100 consecutive dead cycles.

我可以通过插入\maxdeadcycles=200序言来解决它。

但是,我想了解这个错误来自哪里,以及是否有更优雅的技术来解决这个问题。

答案1

这是一个低级 tex 错误,latex 正在尝试排列框以找到可行的分页符位置,它已经循环了 100 次(比平时多 98 倍左右),但此时仍未找到任何可行的分页符,因此它放弃了。如果没有看到您的输入,很难猜测原因。但是,如果您知道您只是遇到了困难的材料,并且将其设置得更高可以解决问题,那就没问题了。(几乎总是在您收到此错误时,tex 处于无限循环中,增加尝试次数无济于事,但这显然不是这种情况)

\marginpar并且相关命令强制至少一个额外的循环,因为输出例程被调用来测量位置而不发送页面,所以我认为如果你有这么多的注释,增加它\maxdeadcycles是合理的。

答案2

一个简单的解决方案是在发生此错误的位置手动添加分页符。只需添加即可\newpage为我解决此问题。

答案3

您还可以\clearpage通过为浮动对象引入边界来使用命令。

答案4

与“todonotes”关系不大,但我因为\addtolength{\textheight}{-15cm}IEEE ieeeconf 中的这个命令遇到了这个错误

要解决这个问题,只需将数字 -15cm 调整为更小的数字,例如 -5cm 或 -0cm。

相关内容