Ich verwende diese Lösung bereitgestelltHieropenright
um den Seitenstil zu löschen, wenn durch die Verwendung der Option in der report
Klasse und des Befehls leere Seiten entstehen \cleardoublepage
:
\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{\clearpage{\pagestyle{empty}\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage
Ich möchte jedoch neben dem Löschen des Seitenstils eine Notiz in der Mitte der Seite anzeigen. Ich habe es versucht miteso-pic
und tikz
(um es zu zentrieren, unter Berücksichtigung der linken und rechten Ränder):
\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
Da \AddToShipoutPictureBG*
vor ausgeführt wird \origdoublepage
, was in der Tat der Fall ist \cleardoublepage
, wird die Notiz der leeren Seite hinzugefügt, wenn sie eingefügt wird, oder der ersten Seite des nächsten Kapitels. Ich möchte das letztere Verhalten vermeiden, d. h. nicht ausführen, \AddToShipoutPictureBG*
wenn \origdoublepage
nichts passiert.
Ich benutzeeso-pic
anstattbackground
weil \NoBgThispage
es im Moment nicht funktioniert, und ich benutze es, um andere Hintergründe zu erstellen, wie inDasFrage. Aber ich bin offen für andere Ansätze.
MWE (das fehlerhafte Verhalten wird auf Seite 5 gezeigt):
\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}
Antwort1
Ich denke, Sie machen es viel komplizierter als nötig. \cleardoublepage
Die Seite wird bereits generiert: Sie müssen nur Text hinzufügen, eine Einbindung in die Ausgaberoutine „Shipout“ ist nicht erforderlich.
\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}