为什么改变 \setkomafont{pagehead} 中的 \fontsize 会导致 \hbox 过满?

为什么改变 \setkomafont{pagehead} 中的 \fontsize 会导致 \hbox 过满?

我想设置\fontsizewithin\setkomafont{pagehead}以便头部看起来相同,与文档字体大小无关。这是我尝试的 MWE:

\documentclass[draft, a4paper, 10pt]{scrartcl}

\usepackage{scrlayer-scrpage}

\rohead{%
  \parbox[c][16mm][s]{\textwidth}{%
    \setlength{\baselineskip}{1\baselineskip plus 1fil}%
    Header\\
    More header\\
    \\
    \pagemark}}
\setkomafont{pagehead}{\fontsize{10pt}{10pt} \selectfont}

\begin{document}
  No text here.
\end{document}

结果看起来不错,但我得到了

\output 处于活动状态时,\hbox 溢出(宽度过大 2.22221pt)

草稿选项可以直观地看到这些超满的箱子出现的位置: 标头

在尝试了 MWE 之后,我发现错误是由于更改了 内的字体大小而导致的\setkomafont{pagehead}。问题不在于\parbox标题中的 太宽。此外,简单地将字体更改为\normalfont而不更改大小,不会导致框过满。

对此有什么想法吗?

答案1

问题在于\fontsize{10pt}{10pt}和之间的空间\selectfont。这样你就得到了\parbox的宽度\textwidth加上一个空格。这比 还大\textwidth。以下是结果:

\documentclass[draft, a4paper, 10pt]{scrartcl}

\usepackage{scrlayer-scrpage}

\rohead{%
  \parbox[c][16mm][s]{\textwidth}{%
    \setlength{\baselineskip}{1\baselineskip plus 1fil}%
    Header\\
    More header\\
    \\
    \pagemark}}
\setkomafont{pagehead}{\fontsize{10pt}{10pt}\selectfont}

\begin{document}
  No text here.
\end{document}

为了使警告静音\headheight to low,您可以将 更改\parbox[c][16mm][s]{\textheight}{...}\smash{\parbox[b][16mm][s]{\textheight}{...}}

相关内容