以下是scrbook
我当前方法的 -class MWE:
\documentclass[%
twoside,
DIV=12,
headsepline=1.2pt,
footheight=30pt
]{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{xcolor}
\usepackage{blindtext}
\usepackage{showframe}
\definecolor{mypurple}{HTML}{810081}
\addtokomafont{pagehead}{\color{mypurple}}
\automark[chapter]{chapter}
\automark*[section]{}
\ihead{\headmark}
\chead{}
\ohead{}
\addtokomafont{pagenumber}{\scriptsize\sffamily\color{white}}
\ifoot*{}
\cfoot*{}
\lefoot*{\colorbox{mypurple}{%
\parbox[c][8pt]{\textwidth}{%
\;\pagemark
}
}
}
\rofoot*{\colorbox{mypurple}{%
\parbox[c][8pt]{\textwidth}{%
\raggedleft\pagemark\;
}
}
}
\begin{document}
\blinddocument
\end{document}
但得到的彩色框似乎没有正确间隔,并且输出返回溢出\hbox
警告:Overfull \hbox (9.64635pt too wide) has occurred while \output is active
。
我该如何解决这个问题?或者更正确的方法是什么?谢谢。
答案1
存在不需要的空格,并且另外\colorbox
添加了彩色边距\fboxsep
。
\documentclass[%
twoside,
DIV=12,
headsepline=1.2pt,
footheight=30pt
]{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{xcolor}
\usepackage{blindtext}
\usepackage{showframe}
\definecolor{mypurple}{HTML}{810081}
\addtokomafont{pagehead}{\color{mypurple}}
\automark[chapter]{chapter}
\automark*[section]{}
\ihead{\headmark}
\chead{}
\ohead{}
\addtokomafont{pagenumber}{\scriptsize\sffamily\color{white}}
\ifoot*{}
\cfoot*{}
\lefoot*{\colorbox{mypurple}{%
\parbox[c][8pt]{\dimeval{\textwidth-2\fboxsep}}{%
\;\pagemark
}%
}%
}
\rofoot*{\colorbox{mypurple}{%
\parbox[c][8pt]{\dimeval{\textwidth-2\fboxsep}}{%
\raggedleft\pagemark\;
}%
}%
}
\begin{document}
\blinddocument
\end{document}
顺便说一句:KOMA-Script 手册第 18.3 节中有一个关于为页眉背景着色的示例。调整它以给页脚背景而不是页眉背景着色应该非常容易。