我正在尝试从我的论文中删除一些警告,但有一个我完全无法理解。这是 typearea 包和 algorithm2e 包之间的一些奇怪的交互。这是一个 mwe:
\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{algorithm2e}
\KOMAoptions{
paper=a4,
pagesize=auto,
fontsize=11pt,
twoside=true,
BCOR=20mm,
DIV=13,
open=right, % new chapter always on right page
cleardoublepage=current,
headsepline=true,
titlepage=true,
parskip=false,
chapterprefix=true,
captions=tableheading
}
\recalctypearea
\begin{document}
Hello World!
\blindtext[10]
\end{document}
我收到以下警告:
Package typearea Warning: \typearea used at group level 2.
(typearea) Using \typearea inside any group, e.g.
(typearea) environments, math mode, boxes, etc. may result in
(typearea) many type setting problems.
(typearea) You should move the command \typearea
(typearea) outside all groups on input line 21.
我不确定是否\recalctypearea
正确使用了,但注释它肯定会改变输出。如果我注释包algorithm2e
,那么也不会有警告。
谢谢你的帮助!
答案1
这是由旧版本中存在的一个错误引起的,algorithm2e.sty
该错误有一个流浪{
字符。
如果你无法更新你的 TeX 发行版,请复制algorithm2e.sty
到你的工作目录中,并修改以下行
\newboolean{algocf@displaygroupmarkers}{\setboolean{algocf@displaygroupmarkers}{false}
进入
\newboolean{algocf@displaygroupmarkers}\setboolean{algocf@displaygroupmarkers}{false}
也就是去掉{
之前的\setboolean
。
您也可以algorithm2e.sty
在完成后加载\recalctypearea
,但未关闭的组的问题仍然存在,并且可能会影响大文档。