我正在使用 KOMA 脚本scrbook
,并希望每个章节标题都位于其自己的页面中,后面跟着一个空白页。
titlesec
目前,它已通过以下代码实现(使用 XeLaTeX):
\documentclass{scrbook}
\usepackage{mwe}
%%%%%%%%%%% EMPTY CHAPTER PAGE %%%%%%%%%%%
% from http://www.tex.ac.uk/FAQ-reallyblank.html
\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{%
\clearpage
{\pagestyle{empty}\origdoublepage}%
}
\let\cleardoublepage\clearemptydoublepage
%%%%%%%%%%% CHAPTERS %%%%%%%%%%%
\usepackage[center]{titlesec}
\titleformat
{\chapter} % command
[block] % shape
{\huge} % format
{} % label
{0.5ex} % sep
{
% add code to start on even pages
\centering
} % before-code
[
\cleardoublepage
] % after-code
\assignpagestyle{\chapter}{empty}
\begin{document}
\chapter{Manta Ray}
\blindtext
\section{Taxonomy}
\blindtext[10]
\chapter{Mobula}
\blindtext
\section{Life style}
\blindtext[10]
\end{document}
由于titlesec
和 KOMA 不是好朋友,所以我想将titlesec
代码“翻译”为scrlayer-scrpage
。
但是文档很混乱,而且我在互联网上也找不到相关的例子。
在里面文档,第 83 页,我发现了这一点:
Suppose you have defined your own page style for initial chapter pages with the scrlayer-scrpage package (see chapter 5). You have given this page style the fitting name of chapter. To actually use this style, you must redefine \chapterpagestyle in this way: \renewcommand*{\chapterpagestyle}{chapter}
听起来很有希望......但我在第 5 章中找不到如何创建自己的页面样式。
答案1
单独的标题页,标题居中,标题后跟一个空白页,通常用于部分内容。因此,一种可能性是将标题样式从 更改chapter
为part
:
\documentclass{scrbook}
\usepackage{mwe}
\RedeclareSectionCommand[style=part]{chapter}
\begin{document}
\chapter{Manta Ray}
\blindtext
\section{Taxonomy}
\blindtext[10]
\chapter{Mobula}
\blindtext
\section{Life style}
\blindtext[10]
\end{document}
如果您不想在标题中显示章节编号,但仍为标题提供逻辑编号,您也可以更改\chapterformat
:
\documentclass{scrbook}
\usepackage{mwe}
\RedeclareSectionCommand[style=part]{chapter}
\renewcommand*{\chapterformat}{}% remove chapter number
% \renewcommand*{\chaptermarkformat}{}% also for the page header
\begin{document}
\chapter{Manta Ray}
\blindtext
\section{Taxonomy}
\blindtext[10]
\chapter{Mobula}
\blindtext
\section{Life style}
\blindtext[10]
\end{document}
要更改字体,您可以使用\setkomafont{chapter}{…}
或font
选项\RedeclareSectionCommand
。请参阅手册以了解该命令的其他选项,例如,更改标题之前或之后的跳过。
另一个解决方案可能是重新定义\chapterheadendvskip
。在这种情况下,您还需要更改\raggedchapter
为将标题居中:
\documentclass{scrbook}
\usepackage{mwe}
\renewcommand*{\chapterheadendvskip}{\cleardoubleemptypage}
\let\raggedchapter\centering
\renewcommand*{\chapterformat}{}
\begin{document}
\chapter{Manta Ray}
\blindtext
\section{Taxonomy}
\blindtext[10]
\chapter{Mobula}
\blindtext
\section{Life style}
\blindtext[10]
\end{document}
顺便提一句:
- KOMA-Script 已经具有
\cleardoubleemptypage
并且默认空白页面已经具有页面样式empty
。 - 而且 KOMA-Script 已经有一个空页面样式。因此,如果您想在第二个示例中的章节页面中使用页面样式空,只需使用 即可
\renewcommand*{\chapterpagestyle}{empty}
。但是,如果您想定义自己的页面样式,请参阅手册中的第 17 章和第 18 章。
答案2
要在章节标题后获得分页符,只需添加一个命令,请参阅此 MWE:
\documentclass[english]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{microtype}
\usepackage{lmodern}
\renewcommand{\chapterheadendvskip}{\newpage}
\begin{document}
\blinddocument{}
\end{document}
不过,我并没有测试副作用。
我对你的这个问题的第二部分不太清楚:你希望在每个章节标题的页面后面有一个完全空白的页面,还是有一个带有标题和页码的页面?
如果页面必须为空:\renewcommand{\chapterheadendvskip}{\cleardoubleemptypage}
,就像其他答案中所建议的那样。
如果您想要一个带有标题的页面:\renewcommand{\chapterheadendvskip}{\newpage\mbox{}\newpage}
。