这个问题:如何使用自定义章节样式在回忆录中写下“此页故意留空。”?
尝试回答如何在空白页上写东西的问题,但它没有在命令周围的空白页上写任何\part{partname}
东西
这个问题的一个答案是使用
\cleartooddpage[\vspace*{\fill}\centering BLANK PAGE \vspace*{\fill}]
但必须对每个空白页都调用此方法,我希望所有空白页都能获取文本。
\documentclass[openright]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\cleartoevenpage[\vspace*{\fill}\centering BLANK PAGE \vspace*{\fill}]
\makeatletter \def\clearforchapter{\clearpage\if@twoside \ifodd\c@page\else \hbox{}\vfill\begin{center}This page intentionally left blank.\end{center}\vfill \thispagestyle{cleared}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}\makeatother
\begin{document}
Text before a part
\part{bob}
\chapter{the}
\chapter{cool}
\chapter{duck}
\end{document}
有很多空白页,但并非所有页面都标记有文字
答案1
这里似乎有三个(四个)宏在起作用(从您的示例代码判断)。
首先,\cleardoublepage
,这是用于清除双面文档中的页面的标准 LaTeX 命令。它用\part
在文档中的 之前。
第二(和第三),\clearforchapter
,这是的命令,用于使用正确的页面作为章节标题。但是,如果分别使用了、或,则memoir
此宏定义为\cleartorecto
、或(默认为)。\clearpage
\cleartoverso
openright
openany
openleft
openright
少犯错误更改是在这些宏中添加故意留空的页面文本,因此如果您碰巧更改了选项open...
,您的文档就不会被弄乱。您链接到的答案发生因为 OP 没有使用任何选项,所以openright
默认使用(并且重新定义是基于 完成的\cleartorecto
)。
第四,\partpageend
,由memoir
后A \part
。
为了方便起见,我还添加了一个\clearpagetext
命令,该命令显示它被调用自哪个宏,仅用于记账。您可以(并且应该 :-) 从文档中删除它。话虽如此,以下是代码:
\documentclass[openright]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\makeatletter
\def\clearpagetext#1{%
\vfill
\begin{center}%
This page was intentionally left blank by \texttt{\string#1}.
\end{center}%
\vfill}
\if@openleft
\def\cleartoverso{\clearpage\if@twoside
\ifodd\c@page\hbox{}%
\clearpagetext\cleartoverso% <--
\thispagestyle{cleared}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\else
\if@openright
\def\cleartorecto{\clearpage\if@twoside
\ifodd\c@page\else\hbox{}%
\clearpagetext\cleartorecto% <--
\thispagestyle{cleared}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\fi
\fi
\def\cleardoublepage{\clearpage\if@twoside
\ifodd\c@page\else\hbox{}%
\clearpagetext\cleardoublepage% <--
\thispagestyle{cleared}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}% (Yes, this is the same as \cleartoverso)
\def\partpageend{\afterpartskip
\ifm@mnopartnewpage
\else
\if@twoside
\if@openright
\null
\clearpagetext\partpageend% <--
\thispagestyle{afterpart}%
\newpage
\fi
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\begin{document}
Text before a part
\part{bob}
\chapter{the}
\chapter{cool}
\chapter{duck}
\end{document}
文档结构将如下所示(请欣赏我精美的 ASCII 艺术):
|---------------| |---------------|
| Text before | | This page was |
| a part | | intentionally |
| | → | left blank by |
| 1 | | \cleardoublepage. |% <-- Overfull \hbox
|---------------| ↙ |---------------|
|---------------| |---------------|
| Part I | | This page was |
| Bob | | intentionally |
| | | left blank by |
| 3 | | \partpageend. |
|---------------| |---------------|
|---------------| |---------------|
| Chapter 1 | | This page was |
| the | | intentionally |
| | | left blank by |
| 5 | | \cleartorecto |
|---------------| |---------------|
|---------------| |---------------|
| Chapter 2 | | This page was |
| cool | | intentionally |
| | | left blank by |
| 7 | | \cleartorecto |
|---------------| |---------------|
|---------------|
| Chapter 3 |
| duck |
| |
| 9 |
|---------------|