KOMA 脚本排除内容中的页眉页脚

KOMA 脚本排除内容中的页眉页脚

我正在使用这些设置:

\documentclass[12pt,a4paper,english,openany,oneside]{scrbook}
\usepackage{etoolbox}
\usepackage{calc}
\makeatletter
\pretocmd{\@part}{\gdef\parttitle{#1}}{}{}
\pretocmd{\@spart}{\gdef\parttitle{#1}}{}{}
\makeatother
\usepackage[nouppercase,headsepline,footsepline,automark]{scrpage2}
\clearscrheadfoot
\clearscrheadings
\chead{}
\cfoot{}
\ihead{HeaderLeftText}
\ohead{\parttitle}
\ifoot{\rule{0pt}{\ht\strutbox+\dp\strutbox}\leftmark}
\ofoot{\rule{0pt}{\ht\strutbox+\dp\strutbox}\thepage}
\pagestyle{scrheadings}

\begin{document}
% title stuff here
\thispagestyle{empty}
\newpage
\tableofcontents
\part{PartText}

问题是因为上面的设置是在 之前定义的\begin{document},所以在呈现目录时会出现错误,即 \parttitle 和 \part 中的控制序列未定义,因为页眉和页脚也出现在目录页上(我不想要)。我认为错误是由于在 TOC 之前没有定义 \part,因此没有文本可放入 parttitle,即正确的页眉。

那么,我该如何摆脱目录中的页眉页脚,或者还有其他解决方案吗?

答案1

为了消除错误,请在序言中初始化您的命令(无论如何这是一个好主意): \newcommand\parttitle{}

要在目录中获取另一种页面样式(例如空),请执行以下操作

\newpage
\pagestyle{empty}
\tableofcontents
\clearpage
\pagestyle{scrheadings}
\part{blub}

答案2

修补\@part程序不再适用于当前的 KOMA-Script。但它也不再需要(并且从未需要),因为 KOMA-Script 还提供了零件级别的自动标记:

\documentclass[12pt,a4paper,english,openany,oneside]{scrbook}
\usepackage{calc}
\usepackage[headsepline,footsepline,automark,autooneside=false]{scrlayer-scrpage}
\automark[chapter]{part}
\renewcommand*{\partmarkformat}{}
\clearpairofpagestyles
\ihead{HeaderLeftText}
\ohead{\leftmark}
\ifoot{\rule{0pt}{\ht\strutbox+\dp\strutbox}\rightmark}
\ofoot{\rule{0pt}{\ht\strutbox+\dp\strutbox}\pagemark}

\usepackage{blindtext}

\begin{document}
% title stuff here
\pagestyle{empty}
\tableofcontents
\cleardoublepage
\pagestyle{scrheadings}
\part{PartText}
\blinddocument
\end{document}

答案3

要删除目录中的页眉/页脚,您可以使用:

\tableofcontents
\thispagestyle{empty}

相关内容