当我使用编写我的第一个模板时book
,我使用以下宏将文本添加到空白页:
\renewcommand{\cleardoublepage}{
\clearpage\if@twoside \ifodd\c@page\else
\hbox{}
\vspace*{\fill}
\begin{center}
\textit{This page intentionally left blank}
\end{center}
\vspace*{\fill}
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi
}
相同的宏在 下不起作用memoir
,空白页不再打印。即使只是\cleardoublepage
从类的源代码复制粘贴定义(而不是上面的宏)也足以破坏它。
我如何将我的宏移植到memoir
?
最小(非工作)示例:
\documentclass[a4paper,12pt,twoside,openright,final]{memoir}
\usepackage{fontspec}
\usepackage{microtype}
\usepackage{csquotes}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\usepackage[backend=biber,style=authoryear,bibstyle=authoryear]{biblatex}
\addbibresource{references.bib}
\usepackage{lipsum}
\settrims{0pt}{0pt}
\setlrmarginsandblock{2.54cm}{2.54cm}{1.618}
\setulmarginsandblock{2.54cm}{2.54cm}{1.618}
\checkandfixthelayout
\title{StackExchange test}
\author{Amyspark}
\date{\today}
\renewcommand{\cleardoublepage}{
\clearpage\if@twoside \ifodd\c@page\else
\hbox{}
\vspace*{\fill}
\begin{center}
\textit{This page intentionally left blank}
\end{center}
\vspace*{\fill}
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi
}
\renewcommand{\cleartorecto}{\cleardoublepage}
\begin{document}
\SingleSpacing
\frontmatter
\begin{titlingpage*}
\maketitle
\end{titlingpage*}
\cleartorecto % the back side of the title page should be blank (but instead no page)
\OnehalfSpacing
\tableofcontents*
\cleardoublepage % same as above
\mainmatter
\chapter{Test}
\lipsum[1-6]
\section{Objectives}
\lipsum[7-8]
\section{First section}
\lipsum[2-3]
\subsection{Sub}
\lipsum[3]
\subsubsection{Subsub}
\lipsum[4]\Parencite[4]{Foley:2008:CGC:1481349} % or any suitable cite, just to generate bib
\backmatter
\printbibliography[heading=bibintoc] % this should go in a recto page (but it doesn't)
\end{document}
答案1
如手册中所述,memoir
包括命令\movetoevenpage
、\cleartoevenpage
和,每个命令都可以接受一个可选参数,该参数将打印在跳过的页面上(如果有)。宏停止打印当前页面,然后在下一个合适的页面上继续排版;这些\movetooddpage
命令类似,只是它们会在继续排版之前刷新所有浮动。例如:\cleartooddpage
\moveto...
\clearto...
\cleartooddpage[\vspace*{\fill}THIS PAGE LEFT BLANK\vspace*{\fill}]
将会把“此页空白”放置在任何可能被跳过(空白)的偶数页的中心。