Bei Verwendung von \cleardoublepage und \newgeometry werden zusätzliche leere Seiten eingefügt.

Bei Verwendung von \cleardoublepage und \newgeometry werden zusätzliche leere Seiten eingefügt.

Mithilfe einer reportKlasse mit den twosideOptionen openrightund habe ich eine Funktion definiert, \mycentered[1]um vor dem Inhaltsverzeichnis ein vertikal und horizontal ausgerichtetes (in der Seitenmitte) Zitat anzuzeigen.

Der Text wird korrekt angezeigt und wenn \cleardoublepagevorher verwendet wird, \tableofcontentswird nur eine leere Seite eingefügt. Wenn ich jedoch \newgometry(vom geometryPaket bereitgestellt) zwischen der Seitenlöschung und dem Inhaltsverzeichnis verwende, werden drei leere Seiten eingefügt. Wenn ich jedoch \mycentereddurch Text ersetze, werden diese Seiten nicht eingefügt. Wie kann vermieden werden, dass diese zwei zusätzlichen Seiten hinzugefügt werden?

Im folgenden MWE wird der Seitenstil ebenfalls geändert, um zu zeigen, dass die zusätzlichen leeren Seiten eingeführt werdennachdas explizite \cleardoublepage.

\documentclass[a4paper,twoside,openright]{report}
\usepackage[top=2cm,bottom=2cm]{geometry}
\newcommand\mycentered[1]{\topskip0pt\vspace*{\fill}{\centering#1\par}\vspace*{\fill}}

\def\mytextblock{
This is some text

with several paragraphs
}

\begin{document}
\pagestyle{empty}
\mycentered{\mytextblock}
\cleardoublepage
\pagestyle{plain}
\newgeometry{top=3cm,bottom=3cm}
\tableofcontents
\chapter{First}

\end{document}

Ich habe versucht, es zu entfernen, \topskip0ptund das Problem mit den leeren Seiten ist gelöst. Aber der Inhalt ist nicht wirklich zentriert, da oben etwas Platz eingefügt wird. Bei nicht sehr langen Zitaten fällt das nicht auf, aber das folgende Bild zeigt den Unterschied, wenn es zum vertikalen Zentrieren größerer Blöcke verwendet wird. Auf der linken Seite \topskip0ptwird das Ergebnis mit angezeigt, und auf der rechten Seite wird das Ergebnis ohne darübergelegt.

Bildbeschreibung hier eingeben

Antwort1

Durch die explizite Kompensation von \topskip, anstatt es auf festzulegen 0pt, wird das Problem gelöst und es wird oben kein zusätzlicher Leerraum eingefügt.

\newcommand\th@centered[1]{\hbox{}\vspace*{-\topskip}\vspace*{\fill}{\centering#1\par}\vspace{\fill}}

verwandte Informationen