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, 12:34

Max's gravatar image

Max
3176610
Akzeptiert-Rate: 0%


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, 13:14

Thorsten's gravatar image

Thorsten
1.6k325
Akzeptiert-Rate: 58%

bearbeitet 15 Sep '13, 13: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, 18:11

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 17 Aug '16, 12: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 '16, 12: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 '16, 12:45) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×42
×20
×16
×4

gestellte Frage: 15 Sep '13, 12:34

Frage wurde gesehen: 132,434 Mal

zuletzt geändert: 17 Aug '16, 12:51