![为什么改变 \setkomafont{pagehead} 中的 \fontsize 会导致 \hbox 过满?](https://linux22.com/image/477579/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%94%B9%E5%8F%98%20%5Csetkomafont%7Bpagehead%7D%20%E4%B8%AD%E7%9A%84%20%5Cfontsize%20%E4%BC%9A%E5%AF%BC%E8%87%B4%20%5Chbox%20%E8%BF%87%E6%BB%A1%EF%BC%9F.png)
我想设置\fontsize
within\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}{...}}
。