Ich verwende die article-Klasse und stelle das Layout der Seiten über das geometry-Paket ein, also z.B.

\documentclass[11pt]{article}
\usepackage[a4paper,left=3cm,right=3cm,top=2cm,bottom=4cm,bindingoffset=5mm]{geometry}

Wie kann ich inmitten des Dokuments die Werte ändern? Also zum Beispiel andere Papiergröße wählen und die Ränder anpassen, wenn mein PDF-Dokument Seiten mit anderen Abmessungen enthalten soll?

gefragt 15 Sep '13, 06:34

Max's gravatar image

Max
3172610
Akzeptiert: 50%


Das Paket »geometry« kennt den Befehl \newgeometry, der solche Veränderungen in begrenztem Maße zulässt. Mit \restoregeometry gelangt man wieder zu den ursprünglichen Einstellungen zurück.

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{
  left=3cm,
  right=3cm,
  top=2cm,
  bottom=4cm,
  bindingoffset=5mm
}
\usepackage{blindtext}

\begin{document}
\blinddocument

\newgeometry{
  left=6cm,
  right=6cm,
  top=4cm,
  bottom=8cm,
  bindingoffset=5mm
}

\blinddocument

\restoregeometry

\blinddocument
\end{document}

Die Papiergröße lässt sich nicht ändern.

Permanenter link

beantwortet 15 Sep '13, 07:14

Thorsten's gravatar image

Thorsten
1.5k325

bearbeitet 15 Sep '13, 07:16

Das Paket typearea bietet auch die Möglichkeit, das Papierformat innerhalb des Dokument zu ändern:

Open in Online-Editor
\documentclass[a4paper,11pt]{article}
\usepackage{typearea}
\areaset[5mm]{150mm}{237mm}

\usepackage{blindtext}

\begin{document}
\blinddocument

\cleardoublepage
\storeareas\StandardArea
\KOMAoptions{paper=a3,paper=landscape}
\areaset[5mm]{360mm}{237mm}
\blinddocument

\cleardoublepage
\StandardArea
\blinddocument

\end{document}

Näheres zu den Anweisungen \areaset, \storeareas und \KOMAoptions ist der KOMA-Script-Anleitung zu entnehmen.

Eine Kombination mit geometry ist allerdings nur eingeschränkt möglich. Zwar kann man die Ausgangseinstellungen mit geometry vornehmen, die Einstellungen für die Seiten in anderem Format kann man jedoch nur sehr unzuverlässig mit \newgeometry vornehmen, weil geometry bei seinen Berechnungen nicht von dem neuen Papierformat, sondern vom ursprünglichen Format ausgeht, während:

Open in Online-Editor
\documentclass[a4paper,11pt]{article}
\usepackage{typearea}
\usepackage[a4paper,left=3cm,right=3cm,top=2cm,bottom=4cm,bindingoffset=5mm]{geometry}

\usepackage{blindtext}

\begin{document}
\blinddocument

\cleardoublepage
\storeareas\StandardArea
\KOMAoptions{paper=a3,paper=landscape}
\recalctypearea
\newgeometry{left=3cm,bindingoffset=5mm,width=\dimexpr\textwidth+\paperwidth\relax}
\blinddocument

\cleardoublepage
\StandardArea
\blinddocument

\end{document}

durchaus zu einem vernünftigen Ergebnis führt, würde daher versagen, wenn man die \newgeometry-Anweisung wiederum durch

Open in Online-Editor
\documentclass[a4paper,11pt]{article}
\usepackage[pagesize]{typearea}
\usepackage[a4paper,left=3cm,right=3cm,top=2cm,bottom=4cm,bindingoffset=5mm]{geometry}

\usepackage{blindtext}

\begin{document}
\blinddocument

\cleardoublepage
\storeareas\StandardArea
\KOMAoptions{paper=a3,paper=landscape}
\recalctypearea
\newgeometry{left=3cm,right=3cm,top=2cm,bottom=4cm,bindingoffset=5mm}
\blinddocument

\cleardoublepage
\StandardArea
\blinddocument

\end{document}

ersetzen würde.

Um solche Probleme zu lösen, gibt es in typearea schon seit einiger Zeit die experimentelle Option usegeometry. Mit dieser wird u. a. versucht, geometry über Änderungen der Papiergröße zu informieren. Damit funktioniert dann auch:

Open in Online-Editor
\documentclass[a4paper,11pt]{article}
\usepackage[usegeometry]{typearea}
\usepackage[a4paper,left=3cm,right=3cm,top=2cm,bottom=4cm,bindingoffset=5mm]{geometry}

\usepackage{blindtext}

\begin{document}
\blinddocument

\cleardoublepage
\storeareas\StandardArea
\KOMAoptions{paper=a3,paper=landscape}
\recalctypearea
\newgeometry{left=3cm,right=3cm,top=2cm,bottom=4cm,bindingoffset=5mm}
\blinddocument

\cleardoublepage
\StandardArea
\blinddocument

\end{document}

Eine Alternative bestünde darin, die Seiten in anderem Format als externes Dokument zu erstellen und diese Seiten dann mit Hilfe von pdfpages einzubinden. Dabei hat man je nach gewählten Optionen die Wahl, ob eingebundenen Seiten passende zu den Dokumentseiten vergrößert bzw. verkleinert werden sollen (Optionen noautoscale=false und fitpaper=false) oder in ihrem ursprünglichen Format eingebunden werden sollen (Optionen noautoscale=true und fitpaper=true). Auch den Seitenstil der eingebundenen Seiten kann man leicht verändern. Siehe dazu Option pagecommand in der Anleitung des Pakets.

Permanenter link

beantwortet 17 Sep '13, 12:11

saputello's gravatar image

saputello
18.4k22352

bearbeitet 17 Aug, 06:51

Die Papiergröße innerhalb des Dokumentes mit \KOMAoptions{paper=…} zu ändern führt übrigens zu einer Warnung.

Warning: Typearea changed! You should do this only at preamble, because only \begin{document} calculates output dimensions! Trying to calculate new output dimensions, but this is only a dirty hack

(17 Aug, 06:18) sudo

@sudo: Die Warnung kommt daher, dass typearea für die Anpassung internen Code aus der Definition von \document verwendet. Sollte sich dieser ändern, dann funktioniert die Formatanpassung eventuell nicht mehr korrekt. Also ist es nur fair, dass KOMA-Script zugibt, dass es dafür einen Hack verwendet. Bis vor einiger Zeit hätte man die Warnung als paranoid abtun können. Seit aber LaTeX nicht mehr (bis auf Bugbeseitigung) eingefroren ist, sondern Verbesserungen direkt in den Kernel einfließen, könnte man sie genauso gut als vorausschauend betrachten. ;-)

(17 Aug, 06:45) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×22
×13
×8
×4

Frage gestellt: 15 Sep '13, 06:34

Frage wurde angeschaut: 34,193 Mal

Zuletzt aktualisiert: 17 Aug, 06:51