我正在使用这些设置:
\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}