Как изменить стиль страницы и распечатать заметку с помощью \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страница уже создана: вам нужно просто добавить текст, нет необходимости подключаться к выходной процедуре shipout.

\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}

Связанный контент