在回忆录的所有空白页上写点东西

在回忆录的所有空白页上写点东西

这个问题:如何使用自定义章节样式在回忆录中写下“此页故意留空。”? 尝试回答如何在空白页上写东西的问题,但它没有在命令周围的空白页上写任何\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\cleartoversoopenrightopenanyopenleftopenright少犯错误更改是在这些宏中添加故意留空的页面文本,因此如果您碰巧更改了选项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       |
|---------------|

相关内容