Mithilfe einer report
Klasse mit den twoside
Optionen openright
und 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 \cleardoublepage
vorher verwendet wird, \tableofcontents
wird nur eine leere Seite eingefügt. Wenn ich jedoch \newgometry
(vom geometry
Paket bereitgestellt) zwischen der Seitenlöschung und dem Inhaltsverzeichnis verwende, werden drei leere Seiten eingefügt. Wenn ich jedoch \mycentered
durch 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, \topskip0pt
und 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 \topskip0pt
wird das Ergebnis mit angezeigt, und auf der rechten Seite wird das Ergebnis ohne darübergelegt.
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}}