`scrlayer-scrpage` 包中的选项 `headwidth=textwithmargin` 用于非对称页面布局

`scrlayer-scrpage` 包中的选项 `headwidth=textwithmargin` 用于非对称页面布局

在下面的例子中,我尝试扩展 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和选项?asymmetricgeometry

相关内容