重新定义 \cleardoublepage 换行符行距

重新定义 \cleardoublepage 换行符行距

我重新定义了\cleardoublepage显示This page is intentionally left blank在页面中心的内容,如下所示:

\RequirePackage{xcolor}
\RequirePackage{geometry}
\newcommand{\blinkpagetext}{This page is intentionally left blank}
\renewcommand{\cleardoublepage}{\relax
    \clearpage
    \if@twoside\ifodd\c@page\relax\else
    \thispagestyle{empty}
    \newgeometry{centering}
    \null\vfill
    \centerline{\large\color{gray!20}\blinkpagetext}
    \vfill\restoregeometry\newpage\fi\fi}

但是,使用\restoregeometry会消除 的效果\onehalfspacing(由 提供setspace),因为后面的文本是这样的。有没有其他方法可以实现 的效果\cleardoublepagetikz请不要使用 ),这样就不会干扰 的效果setspace

以下是完整的代码。

\documentclass{book}

\makeatletter
\RequirePackage{xcolor}
\RequirePackage{geometry}
\newcommand{\blinkpagetext}{This page is intentionally left blank}
\renewcommand{\cleardoublepage}{\relax
    \clearpage
    \if@twoside\ifodd\c@page\relax\else
    \thispagestyle{empty}
    \newgeometry{centering}
    \null\vfill
    \centerline{\large\color{gray!20}\blinkpagetext}
    \vfill\restoregeometry\newpage\fi\fi}
\makeatother

\usepackage{setspace}
\usepackage{blindtext}

\usepackage{titlesec}

\begin{document}

\doublespacing

\frontmatter
\blindtext

\mainmatter
\blindtext % these texts are not double-spaced

\end{document}

答案1

使用当前的 LaTeX,您可以简单地使用 shipout 钩子(使用较旧的版本,您可以使用 eso-pic)

\documentclass{book}
\RequirePackage{xcolor}
\RequirePackage{geometry}
\newcommand{\blinkpagetext}{This page is intentionally left blank}
\makeatletter
\renewcommand{\cleardoublepage}{\relax
    \clearpage
    \if@twoside\ifodd\c@page\relax\else
    \thispagestyle{empty}
    \AddToHookNext{shipout/background}
      {% 
       \put(0.5\paperwidth,-0.5\paperheight){%
       \makebox[0pt]{\large\color{gray!20}\blinkpagetext}}}
    \null\newpage\fi\fi}
\makeatother

\usepackage{setspace}
\usepackage{blindtext}

\usepackage{titlesec}

\begin{document}

\doublespacing

\frontmatter
\blindtext

\mainmatter
\blindtext %

\end{document}

答案2

您可以使用分组。

我添加showframe并将颜色改为红色只是为了生成更好地显示输出的图片。

\documentclass{book}

\usepackage{xcolor}
\usepackage[showframe]{geometry}
\usepackage{setspace}
\usepackage{blindtext}

\newcommand{\blinkpagetext}{This page is intentionally left blank}

\makeatletter
\renewcommand{\cleardoublepage}{%
  \clearpage
  \if@twoside
    \ifodd\c@page
    \else
      \begingroup
      \newgeometry{centering}
      \thispagestyle{empty}
      \vspace*{\fill}
      \centerline{\large\color{red}\blinkpagetext}
      \vspace*{\fill}
      \clearpage
      \endgroup
    \fi
  \fi
}
\makeatother

\begin{document}

\doublespacing

\frontmatter
\blindtext

\mainmatter
\blindtext

\end{document}

在此处输入图片描述

答案3

该类(和memoir的超集)具有宏bookreport

\cleartoodpage[<text>]
\cleartoevenpage[<text>]

如果存在,则将<text>其放在跳过的页面上。

相关内容