在下面的例子中,我尝试扩展 KOMA-Script 类的页眉和页脚的宽度scrbook
以包含边距列的宽度:
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{geometry}
\usepackage{calc}
\usepackage{lipsum}
\geometry{
includemp,
hmargin=25mm,
marginparwidth=15mm,
marginparsep=5mm,
reversemp,
asymmetric,
}
\KOMAoptions{
usegeometry,
headwidth=textwithmarginpar,
footwidth=textwithmarginpar,
}
\ihead{(empty)}
\ohead{makeHeader}
\ifoot{makeDocName}
\ofoot{makeFooter\quad\thepage}
\begin{document}
abc \marginpar{Note 1} \lipsum[1]
\lipsum[2-8] \marginpar{Note 2}
\end{document}
虽然宽度似乎调整正确,但第 1 页的页眉和页脚对齐似乎不正确:页眉和页脚延伸到外边距,而不是内边距。第 2 页的格式符合我的预期。
headwidth
如果我将和footwidth
中的选项的值更改\KOMAoptions
为以下值,那么即使对于第 1 页,一切都会正常运行:
\KOMAoptions{
usegeometry,
headwidth=textwithmarginpar:-\marginparwidth-\marginparsep:\marginparwidth+\marginparsep,
footwidth=textwithmarginpar:-\marginparwidth-\marginparsep:\marginparwidth+\marginparsep,
}
这是预期的行为还是一个错误?我原本以为第一个解决方案可以立即使用。
也许该scrlayer-scrpage
包无法正确识别包的reversemp
和选项?asymmetric
geometry