![重新定义 \cleardoublepage 换行符行距](https://linux22.com/image/430417/%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%20%5Ccleardoublepage%20%E6%8D%A2%E8%A1%8C%E7%AC%A6%E8%A1%8C%E8%B7%9D.png)
我重新定义了\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
),因为后面的文本是这样的。有没有其他方法可以实现 的效果\cleardoublepage
(tikz
请不要使用 ),这样就不会干扰 的效果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
的超集)具有宏book
report
\cleartoodpage[<text>]
\cleartoevenpage[<text>]
如果存在,则将<text>
其放在跳过的页面上。