使用 scrlayer-scrpage 更改 scrbook 的目录样式

使用 scrlayer-scrpage 更改 scrbook 的目录样式

我使用以下内容来定义我的默认页面样式,并针对章节的第一页进行调整,使其也包含页脚:

\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}

相关内容