% ======================================================================
% typearea-experts.tex
% Copyright (c) Markus Kohm, 2008-2015
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, version 1.3c of the license.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX 
% version 2005/12/01 or later and of this work.
%
% This work has the LPPL maintenance status "author-maintained".
%
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% typearea-experts.tex
% Copyright (c) Markus Kohm, 2008-2015
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%   http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
%
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
% 
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
% Chapter about typearea of the KOMA-Script guide part II
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Kapitel über typearea in der KOMA-Script-Anleitung Teil II
% Verwaltet von Markus Kohm
%
% ======================================================================

\KOMAProvidesFile{typearea-experts.tex}
                 [$Date: 2015-05-21 15:48:01 +0200 (Thu, 21 May 2015) $
                  KOMA-Script guide (chapter: typearea for experts)]

\chapter{Zusätzliche Informationen zum Paket \Package{typearea.sty}}
\labelbase{typearea-experts}

In diesem Kapitel finden Sie zusätzliche Informationen zum Paket
\Package{typearea}. \iffree{Einige Teile des Kapitels sind dabei dem
  \KOMAScript-Buch \cite{book:komascript} vorbehalten. Dies sollte kein
  Problem sein, denn der}{Der} normale Anwender, der das Paket einfach nur
verwenden will, wird diese Informationen normalerweise nicht benötigen. Ein
Teil der Informationen richtet sich an Anwender, die ausgefallene Aufgaben
lösen oder eigene Pakete schreiben wollen, die auf \Package{typearea}
basieren. Ein weiterer Teil der Informationen behandelt Möglichkeiten von
\Package{typearea}, die aus Gründen der Kompatibilität zu den Standardklassen
oder früheren Versionen von \KOMAScript{} existieren. Die Teile, die nur aus
Gründen der Kompatibilität zu früheren Versionen von \KOMAScript{} existieren,
sind in serifenloser Schrift gesetzt und sollten nicht mehr verwendet werden.


\section{Anweisungen für Experten}
\seclabel{experts}

In diesem Abschnitt werden Anweisungen beschrieben, die für den normalen
Anwender kaum oder gar nicht von Interesse sind. Experten bieten diese
Anweisungen zusätzliche Möglichkeiten. Da die Beschreibungen für Experten
gedacht sind, sind sie kürzer gefasst.

\begin{Declaration}
  \Macro{activateareas}
\end{Declaration}%
\BeginIndex{Cmd}{activateareas}%
Diese Anweisung wird von \Package{typearea} genutzt, um die Einstellungen
für Satzspiegel und Ränder in die internen \LaTeX-Längen zu übertragen, wenn
der Satzspiegel innerhalb des Dokuments, also nach
\Macro{begin}\PParameter{document} neu berechnet wurde. Wurde die Option
\Option{pagesize} verwendet, so wird diese anschließend mit demselben Wert
neu aufgerufen. Damit kann beispielsweise innerhalb von PDF-Dokumenten die
Seitengröße tatsächlich variieren.

Experten können diese Anweisung auch verwenden, wenn Sie aus irgendwelchen
Gründen Längen wie \Length{textwidth} oder \Length{textheight} innerhalb des
Dokuments manuell geändert haben. Der Experte ist dabei für eventuell
notwendige Seitenumbrüche vor oder nach der Verwendung jedoch selbst
verantwortlich! Darüber hinaus sind alle von \Macro{activateareas}
durchgeführten Änderungen lokal!%
% 
\EndIndex{Cmd}{activateareas}

\begin{Declaration}
  \Macro{storeareas}\Parameter{Anweisung}\\
  \Macro{BeforeRestoreareas}\Parameter{Code}\\
  \Macro{BeforeRestoreareas*}\Parameter{Code}\\
  \Macro{AfterRestoreareas}\Parameter{Code}\\
  \Macro{AfterRestoreareas*}\Parameter{Code}
\end{Declaration}
\BeginIndex{Cmd}{storeareas}%
\BeginIndex{Cmd}{BeforeRestoreareas}%
\BeginIndex{Cmd}{BeforeRestoreareas*}%
\BeginIndex{Cmd}{AfterRestoreareas}%
\BeginIndex{Cmd}{AfterRestoreareas*}%
Mit Hilfe von \Macro{storeareas} wird eine \PName{Anweisung} definiert, über
die alle aktuellen Seitenspiegeleinstellungen wieder hergestellt werden
können. So ist es möglich, die aktuellen Einstellungen zu speichern,
anschließend die Einstellungen zu ändern und dann die gespeicherten
Einstellungen wieder zu reaktivieren.

\begin{Example}
  Sie wollen in einem Dokument im Hochformat eine Seite im Querformat
  unterbringen. Mit \Macro{storeareas} kein Problem:
\begin{lstcode}
  \documentclass[pagesize]{scrartcl}

  \begin{document}
  \noindent\rule{\textwidth}{\textheight}

  \storeareas\meinegespeichertenWerte
  \KOMAoptions{paper=landscape,DIV=current}
  \noindent\rule{\textwidth}{\textheight}

  \clearpage
  \meinegespeichertenWerte
  \noindent\rule{\textwidth}{\textheight}
  \end{document}
\end{lstcode}
  Wichtig\textnote{Achtung!} ist dabei die Anweisung \Macro{clearpage} vor dem 
  Aufruf von \Macro{meinegespeichertenWerte}, damit die Wiederherstellung erst
  auf der nächsten Seite erfolgt. Bei doppelseitigen Dokumenten sollte bei
  Änderungen am Papierformat stattdessen sogar
  \Macro{cleardoubleoddpage}\IndexCmd{cleardoubleoddpage} oder -- wenn keine
  \KOMAScript-Klasse zum Einsatz kommt --
  \Macro{cleardoublepage}\IndexCmd{cleardoublepage} verwendet werden.
\end{Example}
Im Beispiel wird \Macro{noindent} verwendet, um den normalen Absatzeinzug vor
den schwarzen Kästen zu verhindern. Sie würden sonst kein korrektes Bilde des
Seitenlayouts wiedergeben.

Bei\textnote{Achtung!} der Verwendung von \Macro{storeareas} ist zu beachten,
dass sowohl \Macro{storeareas} als auch die damit definierte \PName{Anweisung}
nicht innerhalb einer Gruppe aufgerufen werden sollten. Die Definition der
\PName{Anweisung} erfolgt intern mit
\Macro{newcommand}\IndexCmd{newcommand*}\important{\Macro{newcommand*}}. Bei
erneuter Verwendung einer bereits definierten \PName{Anweisung} wird eine
entsprechende Fehlermeldung ausgegeben.

Oftmals\ChangedAt{v3.18}{\Package{typearea}} ist es auch erwünscht, vor der
Wiederherstellung der Einstelllungen per \PName{Anweisung} grundsätzlich
bestimmte Aktionen wie beispielsweise ein \Macro{cleardoubleoddpage}
auszuführen. Dies kann man mit Hilfe von \Macro{BeforeRestoreareas} und
\Macro{BeforeRestoreareas*} erreichen. Entsprechend kann man mit
\Macro{AfterRestoreareas} und \Macro{AfterRestoreareas*} \PName{Code} nach der
Wiederherstellung der Einstellungen ausführen lassen. Die Formen mit und ohne
Stern unterscheiden sich insoweit, als die Sternform nur für noch nicht per
\Macro{storeareas} gespeicherte Einstellungen gilt, während sich die Variante
ohne Stern auch auf die zukünftige Verwendung bereits früher gespeicherter
Einstellungen auswirkt.%
%
\EndIndex{Cmd}{AfterRestoreareas*}%
\EndIndex{Cmd}{AfterRestoreareas}%
\EndIndex{Cmd}{BeforeRestoreareas*}%
\EndIndex{Cmd}{BeforeRestoreareas}%
\EndIndex{Cmd}{storeareas}

\begin{Declaration}
  \Macro{AfterCalculatingTypearea}\Parameter{Anweisungen}\\
  \Macro{AfterCalculatingTypearea*}\Parameter{Anweisungen}\\
  \Macro{AfterSettingArea}\Parameter{Anweisungen}\\
  \Macro{AfterSettingArea*}\Parameter{Anweisungen}
\end{Declaration}%
\BeginIndex{Cmd}{AfterCalculatingTypearea}%
Diese Anweisungen dienen der Verwaltung zweier Haken\Index{Haken} (engl.
\emph{hooks}\Index{hook=\emph{hook}}). Die ersten beiden,
\Macro{AfterCalculatingTypearea} und deren Sternform, ermöglichen es dem
Experten jedes Mal, nachdem \Package{typearea} eine neue Aufteilung in
Satzspiegel und Ränder berechnet hat, also nach jeder impliziten oder
expliziten Ausführung von \Macro{typearea}, \PName{Anweisungen} ausführen zu
lassen. Entsprechendes leisten
\Macro{AfterSettingArea}\ChangedAt{v3.11}{\Package{typearea}} und dessen
Stern-Form für die Ausführung von \Macro{areaset}. Die Normalformen arbeiten
dabei global, während die Änderungen durch die Sternformen nur lokal wirksam
sind. Die \PName{Anweisungen} werden jeweils unmittelbar vor
\Macro{activateareas} ausgeführt.\iffree{}{ In \autoref{cha:modernletters}
  wird für die \emph{Letter-Class-Option} \File{asymTypB.lco} davon Gebrauch
  gemacht, um die Randverteilung zu ändern.}%
% 
\EndIndex{Cmd}{AfterCalculatingTypearea}


\section{Lokale Einstellungen durch die Datei \File{typearea.cfg}}
\seclabel{cfg}
\BeginIndex{File}{typearea.cfg}

\LoadNonFree{typearea-experts}{0}

\section{Mehr oder weniger obsolete Optionen und Anweisungen}
\seclabel{obsolete}

\LoadNonFree{typearea-experts}{1}

%%% Local Variables:
%%% mode: latex
%%% coding: iso-latin-1
%%% TeX-master: "../guide"
%%% End:

% LocalWords:  Hochformat Seitenspiegels
