在我的 latex 安装中,多次运行后,此 MWE 总是给出警告:marginpars have changed
。但显然,没有任何变化。这是一个错误吗?
\documentclass{scrbook}
\usepackage[debug]{mparhack}
\begin{document}
\title{}
\maketitle
\pagenumbering{arabic}
X{\marginpar Y}
\end{document}
输出日志
DBG: --- checking marginpar 1
DBG: last on page 1 is 1
DBG: 1 <= 1, exiting loop
DBG: === marginpar 1 is on page 1
[1] (./test_marginpar.aux
DBG: 1 != 0!
DBG: 1 == 1
Package mparhack Warning: Marginpars may have changed.
(mparhack) Rerun to get them right.
答案1
问题是您使用的\pagenumbering
会重置页码,因此您有两页的页码都是 1。这让人困惑mparhack
(hyperref 也不喜欢这样)。为标题页提供其他数字样式,例如 Roman:
\documentclass{scrbook}
\usepackage[debug]{mparhack}
\begin{document}
\pagenumbering{Roman}
\title{}
\maketitle
\pagenumbering{arabic}
X{\marginpar Y}
\end{document}
附注:在双面文档中,将第二页(偶数页)的页码设为奇数通常不是一个好主意。