我使用以下内容来定义我的默认页面样式,并针对章节的第一页进行调整,使其也包含页脚:
\usepackage[headsepline,footsepline]{scrlayer-scrpage}
%% set DEFAULT pagestyle
\pagestyle{scrheadings}
\clearpairofpagestyles
\ihead{\workAuthor}
\ohead{\headmark}
\automark[section]{chapter}
\ofoot{\pagemark}
%% Chapter begin
\newpairofpagestyles[scrheadings]{chap-begin}{%
\KOMAoptions{headsepline=false}
\ihead*{}
}
\renewcommand*{\chapterpagestyle}{chap-begin}
效果完全符合预期,到目前为止一切顺利。现在我希望所有目录页(包括图片列表、列表列表等)看起来就像带有完整页眉和页脚的普通页面,因为恕我直言,它们不是章节,而且由于总共有很多页面,最好有页脚和页眉以免混淆。
我尝试过这个:
\BeforeTOCHead[toc]{%
\clearpairofpagestyles
\KOMAoptions{headsepline=true}
\ihead{\workAuthor}
\ohead{\headmark}
\automark[section]{chapter}
\ofoot{\pagemark}
}
和这个:
\newpairofpagestyles{sameasdefault}{%
\KOMAoptions{headsepline=true}
\ihead{\workAuthor}
\ohead{\headmark}
\automark[section]{chapter}
\ofoot{\pagemark}
}
%% overwrite style for first page of list-of-*
\BeforeTOCHead[toc]{%
\clearpairofpagestyles
\pagestyle{sameasdefault}
}
但都没有任何效果。TOC、LOF……都有常规的纯文本风格。
由于某种原因,列表的第一页与其余的目录看起来不同:它没有纯色样式,它有常规的页脚(我认为它被视为通用的chapter*
),但奇怪的是它也有ohead
条目,但没有标题行
答案1
ToC、LoF、LoT 等默认为章节。但可以使用
\AfterTOCHead{\thispagestyle{scrheadings}}
加载包scrhack
来通过包控制 LoL tocbasic
。
示例(不幸的是,问题中没有 MWE):
\documentclass{scrbook}
\usepackage{blindtext}% only for dummy text
\usepackage{listings}
\usepackage{scrhack}% <- added!
\newcommand*\workAuthor{workAuthor}
\usepackage[headsepline,footsepline]{scrlayer-scrpage}% sets page style scrheadings automatically
\clearpairofpagestyles
\ihead{\workAuthor}
\ohead{\headmark}
\automark[section]{chapter}
\ofoot{\pagemark}
%% Chapter begin
\newpairofpagestyles[scrheadings]{chap-begin}{
\KOMAoptions{headsepline=false}
\ihead*{}
}
\AddToLayerPageStyleOptions{scrheadings}{onselect=\KOMAoptions{headsepline=true}}% <- added
\renewcommand*{\chapterpagestyle}{chap-begin}
\AfterTOCHead{\thispagestyle{scrheadings}}% <- changed
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\begin{lstlisting}[caption={Listing}]
code
\end{lstlisting}
\end{document}