如何使用 \cleardoublepage 更改頁面樣式並列印註釋?

如何使用 \cleardoublepage 更改頁面樣式並列印註釋?

我正在使用提供的這個解決方案這裡由於使用類別和命令openright中的選項而引入空白頁面時清除頁面樣式:report\cleardoublepage

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{\clearpage{\pagestyle{empty}\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage

但是,除了清除頁面樣式之外,我還想在頁面中間顯示一條註釋。我嘗試過eso-pic並且tikz(為了使其居中,考慮左右邊距):

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{
\clearpage{\pagestyle{empty}\AddToShipoutPictureBG*{
 \begin{tikzpicture}[overlay]
  \pgfmathsetmacro{\correct}{((\rmargin-\lmargin)/(2*28.453)}
  \node[font=\normalfont] at ($(current page.center)+(\correct,0)$) {\blanknote};
 \end{tikzpicture}
}
\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage

由於\AddToShipoutPictureBG*在 之前執行\origdoublepage(實際上是 ),因此\cleardoublepage註釋將添加到空白頁(如果插入)或下一章的第一頁。我想避免後一種行為,即\AddToShipoutPictureBG*如果\origdoublepage不執行任何操作,則不執行。

我在用著eso-pic代替background因為\NoBgThispage目前不起作用,我用它來創建其他背景,如問題。但我對其他方法持開放態度。

MWE(錯誤行為如第 5 頁所示):

\documentclass[a4paper,titlepage,11pt,twoside,openright]{report}
\usepackage{lipsum}
\usepackage{eso-pic}
\def\lmargin{3.5cm}
\def\rmargin{1.5cm}
\def\blanknote{This page intentionally left blank}
\usepackage[left=\lmargin, right=\rmargin]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{
\clearpage{\pagestyle{empty}\AddToShipoutPictureBG*{
 \begin{tikzpicture}[overlay]
  \pgfmathsetmacro{\correct}{((\rmargin-\lmargin)/(2*28.453)}
  \node[font=\normalfont] at ($(current page.center)+(\correct,0)$) {\blanknote};
 \end{tikzpicture}
}
\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage

\begin{document}
Introduction text...
\chapter{First}  \lipsum[1-9]
\chapter{Second} \lipsum[10-12]
\chapter{Third}  \lipsum[15]
\end{document}

答案1

我認為你讓它變得比需要的要複雜得多,\cleardoublepage已經生成了頁面:你只需要添加文本,不需要掛鉤到輸出例程發貨。

\documentclass[a4paper,titlepage,11pt,twoside,openright]{report}
\usepackage{lipsum}

\def\lmargin{3.5cm}
\def\rmargin{1.5cm}
\def\blanknote{This page intentionally left blank}
\usepackage[left=\lmargin, right=\rmargin]{geometry}

\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
 \thispagestyle{empty}%
 \hbox{}\vfill\centerline\blanknote\vfill\hbox{}\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother

\begin{document}
Introduction text...
\chapter{First}  \lipsum[1-9]
\chapter{Second} \lipsum[10-12]
\chapter{Third}  \lipsum[15]
\end{document}

相關內容