KOMAscript und Geometrie mischen

KOMAscript und Geometrie mischen

Ich habe ein Dokument, das die KOMAscript-Dokumentenklasse srcrprt verwendet. Für einige Seiten muss ich benutzerdefinierte Ränder mit absoluten Werten einrichten. Ich habe versucht, dafür das Geometriepaket wie folgt zu verwenden:

\newgeometry{..options..}

..custom page..

\restoregeometry

Das funktioniert allerdings nicht wie erwartet. Sobald ich etwas \usepackage{geometry}zur Präambel hinzufüge, wird das KOMAscript-Dokumentlayout zerstört.

Kann man das beheben?

Antwort1

Das geometryPaket hat eine sehr nützliche Option, nämlich pass.

Wenn Sie anrufen

\usepackage[pass]{geometry}

Das Paket legt keine Paginierungsparameter fest, sondern lädt sich einfach selbst und stellt den \newgeometryBefehl zur Verfügung.

Ein Anwendungsbeispiel finden Sie in der Paketdokumentation:

\documentclass{book}
\usepackage[pass]{geometry}
   % ’pass’ disregards the package layout,
   %  so the original ’book’ layout is memorized here.
\begin{document}
\newgeometry{margin=1cm}% changes the first page dimensions.
   Page 1
\restoregeometry % restores the original ’book’ layout.
   Page 2 and more
\end{document}

Antwort2

Für einige Releases bietet KOMA-Script eine undokumentierte Option usegeometryzur Interaktion mit dem Paket an geometry. Seit KOMA-Script 3.22 ist dies eine dokumentierte Option (von Paket typearea). Sie übersetzt die Seiteneinstellungen des Pakets typeareain Seiteneinstellungen des Pakets geometryund übergibt sie beispielsweise als Optionen an geometry.

\documentclass[usegeometry]{scrreprt}
\usepackage{geometry}
\usepackage{showframe}
\begin{document}
\newgeometry{margin=1cm}% changes the first page dimensions.
   Page 1
\restoregeometry % restores the original typearea layout.
   Page 2 and more
\end{document}

Die Zusammenarbeit ermöglicht es sogar, die Seitengröße oder Seitenausrichtung mithilfe von zu ändern typeareaund dann die Ränder mithilfe von zu ändern geometry, was derzeit geometrymithilfe von nicht möglich ist \newgeometry. In diesem Fall sollten Sie jedoch typeareadie Befehle von verwenden, um die Geometrien zu speichern und wiederherzustellen.

verwandte Informationen