marginpar 已经改变了,这是一个错误吗?

marginpar 已经改变了,这是一个错误吗?

在我的 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}

附注:在双面文档中,将第二页(偶数页)的页码设为奇数通常不是一个好主意。

相关内容