我在这个问题的答案中找到了一个很好的例子如何在单个页面上使用自定义页面样式,并在所有后续页面上使用另一种样式?并做了一些改动。
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\newpagestyle{StyleA}{{StyleA left page}{StyleA right page}{Style A onesided document}}{{}{}{}}
\newpagestyle{StyleB}{{StyleB left page}{StyleB right page}{Style A onesided document}}{{}{}{}}
\usepackage{lipsum}
\begin{document}
\pagestyle{StyleB}% use StyeleB for the document
\chapter{chapter 1}
\lipsum[1-15]
\chapter{chapter 2}
\pagestyle{StyleA}% use StyleA only for this page
\cleardoublepage
\chapter{special chapter}
\lipsum[16-30]
\pagestyle{StyleB}% use StyleB for the document
\cleardoublepage
\chapter{Kapitel 3}
\lipsum[1-15]
\end{document}
这对我来说非常好,因为我只想更改章节的标题。
但有些问题我无法找到答案,所以我在这里询问。
- 如何定义页眉或页脚的左侧、中间和右侧部分?我通常使用
\ohead{}
、、\chead{}
等\ihead{}
。 - 是否可以添加这些创建的样式,以便它们也可用于章节的第一页?使用
\chapterpagestyle{StyleA}
不起作用。 - 我已经用 创建了自己的章节命令
\DeclareNewSectionCommand{}
。是否可以以某种方式自动执行该命令,即\pagestyle{StyleB}
自动将命令添加到常规章节命令中\chapter{}
,以便使用该命令将更改的页面样式重置为 StyleB?
答案1
如果您想使用\ohead
等来定义页眉和页脚的部分,则使用\newpairofpagestyles
来定义您的新页面样式。然后您将获得页面样式对,例如StyleA
作为主页面样式和plain.StyleA
关联的普通样式。
请注意,这plain
只是活动“页面样式对”的普通样式的别名。
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}% sets pagestyle scrheadings automatically
\clearpairofpagestyles
\cfoot*{\pagemark}% note the *: same content for plain.scrheadings and scrheadings
\chead*{\currentpagestyle}% show the used page style
\newpairofpagestyles
[scrheadings]% scrheadings as parent style -> clone its *current* settings
{StyleA}% name of the new layer page style
{
\ohead*{StyleA outer head}% note the *: same content for plain.StyleA and StyleA
\ihead*{StyleA inner head}%
}% definitions for the new page style
\newpairofpagestyles
[scrheadings]
{StyleB}
{
\ohead{StyleB outer head}%
\ihead{StyleB inner head}%
}
\usepackage{xpatch}
\xpretocmd\chapter{\cleardoublepage\pagestyle{StyleB}}{}{\PatchFailed}% reset the page style for \chapter
\usepackage{lipsum}% only for dummy text
\begin{document}
\pagestyle{StyleB}
\tableofcontents
\clearpage Test
\chapter{chapter 1}
\chapter{chapter 2}
\chapter{special chapter}
\pagestyle{StyleA}
\lipsum[16-30]
\chapter{Kapitel 3}
\lipsum[1-15]
\end{document}
结果:
补充说明:默认情况下,章节页面的样式为plain
。这可以通过重新定义 来更改\chapterpagestyle
:\renewcommand{\chapterpagestyle}{<page style name>}
。但在上例中,无需重新定义,因为\pagestyle{StyleA}
产生为plain
的别名plain.StyleA
,并且\pagestyle{StyleB}
产生为plain
的别名plain.StyleB
。