如何在双面 KOMA-Script 文档的页脚中创建具有适当间距的文本宽度彩色框?

如何在双面 KOMA-Script 文档的页脚中创建具有适当间距的文本宽度彩色框?

以下是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

MWE 第 1 页

我该如何解决这个问题?或者更正确的方法是什么?谢谢。

答案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 节中有一个关于为页眉背景着色的示例。调整它以给页脚背景而不是页眉背景着色应该非常容易。

相关内容