Estou usando esta solução fornecidaaquipara limpar o estilo de página quando páginas em branco são introduzidas devido ao uso da openright
opção na report
classe e do \cleardoublepage
comando:
\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{\clearpage{\pagestyle{empty}\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage
Porém, além de limpar o estilo da página, gostaria de exibir uma nota no meio da página. Eu tentei comeso-pic
e tikz
(para centralizá-lo, levando em consideração as margens esquerda e direita):
\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
Como \AddToShipoutPictureBG*
é executada antes \origdoublepage
, que na verdade é \cleardoublepage
, a nota é adicionada à página em branco, se inserida, ou à primeira página do próximo capítulo. Eu gostaria de evitar o último comportamento, ou seja, não executar \AddToShipoutPictureBG*
se \origdoublepage
não fizer nada.
estou a usareso-pic
em vez debackground
pois \NoBgThispage
não está funcionando no momento, e utilizo-o para criar outros fundos, conforme exposto emessepergunta. Mas estou aberto a outras abordagens.
MWE (o comportamento incorreto é mostrado na página 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}
Responder1
Acho que você está complicando muito mais do que o necessário, \cleardoublepage
já está gerando a página: basta adicionar texto, sem necessidade de se conectar à rotina de saída 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}