summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/doc/typearea-experts-de.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/doc/typearea-experts-de.tex')
-rw-r--r--macros/latex/contrib/koma-script/doc/typearea-experts-de.tex304
1 files changed, 304 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/doc/typearea-experts-de.tex b/macros/latex/contrib/koma-script/doc/typearea-experts-de.tex
new file mode 100644
index 0000000000..cd9b859737
--- /dev/null
+++ b/macros/latex/contrib/koma-script/doc/typearea-experts-de.tex
@@ -0,0 +1,304 @@
+% ======================================================================
+% typearea-experts-de.tex
+% Copyright (c) Markus Kohm, 2008-2022
+%
+% 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.md.
+% ======================================================================
+%
+% Chapter about typearea of the KOMA-Script guide part II
+% Maintained by Markus Kohm
+%
+% ======================================================================
+
+\KOMAProvidesFile{typearea-experts-de.tex}
+ [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ KOMA-Script guide (chapter: typearea for experts)]
+
+\chapter{Zusätzliche Informationen zum Paket \Package{typearea.sty}}
+\labelbase{typearea-experts}
+
+\BeginIndexGroup \BeginIndex{Package}{typearea} In diesem Kapitel finden Sie
+zusätzliche Informationen zum Paket
+\hyperref[cha:typearea]{\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 eher selten
+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{Experimentelle Möglichkeiten}
+\seclabel{experimental}
+
+In diesem Abschnitt werden experimentelle Möglichkeiten
+beschrieben. Experimentell bedeutet in diesem Zusammenhang, dass die Funktion
+nicht garantiert werden kann.
+\iffalse % Umbruchkorrektur
+Dafür kann es zwei Gründe geben. Zum einen
+steht die endgültige Funktion oder Implementierung eventuell noch nicht
+abschließend fest. Zum anderen hängen die Möglichkeiten teilweise von Interna
+anderer Pakete ab und können deshalb in ihrer Funktion nur so lange garantiert
+werden, wie diese anderen Pakete nicht geändert werden.
+\fi
+
+\begin{Declaration}
+ \OptionVName{usegeometry}{Ein-Aus-Wert}
+\end{Declaration}
+Normalerweise kümmert sich \Package{typearea} wenig darum, ob es in irgend
+einer Konstellation zusammen mit dem Paket
+\Package{geometry}\IndexPackage{geometry} (siehe \cite{package:geometry})
+verwendet wird. Das bedeutet insbesondere, dass \Package{geometry} nach wie
+vor nichts davon mitbekommt, wenn man mit \Package{typearea} beispielsweise
+die Papiergröße ändert -- etwas, das \Package{geometry} selbst gar nicht
+bietet.
+
+Sobald\ChangedAt{v3.17}{\Package{typearea}} Option \Option{usegeometry}
+gesetzt wird, versucht \Package{typearea}, alle eigenen Optionen für
+\Package{geometry} in dessen Optionen zu übersetzen. Innerhalb des Dokuments
+wird sogar \Macro{newgeometry} aufgerufen, wenn neue Parameter aktiviert
+werden (siehe \DescRef{\LabelBase.cmd.activateareas} im nachfolgenden
+Abschnitt). Da \Package{geometry} keine Änderung der Papiergröße oder
+Papierausrichtung via \Macro{newgeometry} bietet, wird diese bei Bedarf über
+interne Anweisungen und Längen von \Package{geometry} umgesetzt. Getestet ist
+dies für \Package{geometry}~5.3 bis 5.6.
+
+Die Option bedeutet übrigens nicht, dass bei Verwendung von \Package{geometry}
+nach einer Papiergrößen- oder Papierausrichtungsänderung mit
+\Package{typearea} das neue Papier direkt optimal genutzt wird. Da
+\Package{geometry} aus Komfortgründen deutlich mehr Optionen für die
+Papiereinstellung bietet, als für die Bestimmung von Textbereich, Rändern,
+Kopf, Fuß etc. benötigt werden -- man spricht von \emph{Überbestimmung} -- und
+gleichzeitig bei neuen Aufrufen von \Macro{newgeometry} fehlende Angaben aus
+bereits bekannten ableitet -- man spricht von \emph{Werterhalt} --,
+muss man gegebenenfalls durch vollständige Bestimmung neuer Werte
+mit einem eigenen Aufruf von \Macro{newgeometry} alle gewünschten
+Einstellungen explizit vornehmen. Nichtsdestotrotz kann die Berücksichtigung
+von \Package{geometry} durch \Package{typearea} zusätzliche Möglichkeiten
+eröffnen.
+
+{\setlength{\emergencystretch}{1em}%
+Von \Package{typearea} werden mit \Option{usegeometry} für \Package{geometry}
+derzeit die Optionen
+\Option{bindingoffset}, \Option{footskip}, \Option{headheight},
+\Option{headsep}, \Option{includefoot}, \Option{includehead},
+\Option{includemp}, \Option{lmargin}, \Option{marginparsep},
+\Option{marginparwidth}, \Option{textheight}, \Option{textwidth}, \Option{top}
+und in der Dokumentpräambel zusätzlich \Option{paperheight} und
+\Option{paperwidth} gesetzt.\par}%
+\EndIndexGroup
+
+
+\begin{Declaration}
+ \OptionVName{areasetadvanced}{Ein-Aus-Wert}
+ \Macro{areaset}\OParameter{BCOR}\Parameter{Breite}\Parameter{Höhe}
+\end{Declaration}
+Normalerweise berücksichtigt \DescRef{typearea.cmd.areaset} Optionen zur
+Bestimmung der Höhe von Kopf und Fuß oder zur Festlegung, ob Randelemente Teil
+des Satzspiegels sein sollen, nicht in gleicher Weise wie
+\DescRef{typearea.cmd.typearea}. Mit Option
+\Option{areasetadvanced}\ChangedAt{v3.11}{\Package{typearea}} kann jedoch
+eingestellt werden, dass sich \DescRef{typearea.cmd.areaset} diesbezüglich
+mehr wie \DescRef{typearea.cmd.typearea} verhalten soll. Trotzdem
+unterscheiden sich Einstellungen, die zu gleich großen Textbereichen führen
+zwischen den beiden Befehlen weiterhin, da \DescRef{typearea.cmd.typearea}
+immer auf ganze Zeilen rundet und dabei gegebenenfalls den unteren Rand um bis
+zu eine Zeile kleiner wählt, während \DescRef{typearea.cmd.areaset} den oberen
+und unteren Rand immer im Verhältnis 1:2 einstellt. Die Textbereiche der
+unterschiedlichen Befehle können also bei gleicher Größe vertikal leicht
+verschoben sein.
+
+Nach Aktivierung von \Option{areasetadvanced} kann jedoch mit einer
+Kombination wie
+\begin{lstcode}[escapeinside=><]
+ \typearea{>\PName{BCOR}<}{>\PName{DIV}<}
+ \areaset[current]{\textwidth}{\textheight}
+\end{lstcode}
+das unterschiedliche Verhalten ausgeglichen werden, ohne dass dabei die
+eingangs erwähnten Abstriche in der Arbeitsweise von \Macro{areaset} in Kauf
+genommen werden müssen. Siehe dazu auch das Beispiel im nächsten Abschnitt.%
+\EndIndexGroup
+
+
+\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.
+
+\begin{Declaration}
+ \Macro{activateareas}
+\end{Declaration}%
+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
+\DescRef{typearea.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!%
+\EndIndexGroup
+
+
+\begin{Declaration}
+ \Macro{storeareas}\Parameter{Anweisung}
+ \Macro{BeforeRestoreareas}\Parameter{Code}
+ \Macro{BeforeRestoreareas*}\Parameter{Code}
+ \Macro{AfterRestoreareas}\Parameter{Code}
+ \Macro{AfterRestoreareas*}\Parameter{Code}
+\end{Declaration}
+Mit Hilfe von \Macro{storeareas} wird eine \PName{Anweisung} definiert, über
+die alle aktuellen Seitenspiegeleinstellungen wiederhergestellt 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}
+ Immer wieder fragen Anwender nach der Möglichkeit, in einem A4-Dokument
+ unter Beibehaltung der Randeinstellungen eine A3-Seite im Querformat
+ einfügen zu können. Der Textbereich soll also lediglich um die gewonnene
+ Papierbreite verbreitert werden. Mit \Macro{storeareas},
+ \DescRef{\LabelBase.cmd.areaset} und der zuvor bereits erklärten Option
+ \DescRef{\LabelBase.option.areasetadvanced} ist das sehr einfach möglich:
+\begin{lstcode}
+ \documentclass[areasetadvanced]{scrartcl}
+ \areaset[current]{\textwidth}{\textheight}
+
+ \begin{document}
+ \noindent\rule{\textwidth}{\textheight}
+
+ \storeareas\meinegespeichertenWerte
+ \KOMAoption{paper}{a3,landscape}
+ \areaset[current]
+ {\dimexpr\textwidth+.5\paperwidth\relax}
+ {\textheight}
+ \noindent\rule{\textwidth}{\textheight}
+
+ \clearpage
+ \meinegespeichertenWerte
+ \noindent\rule{\textwidth}{\textheight}
+ \end{document}
+\end{lstcode}
+ Die \DescRef{\LabelBase.cmd.areaset}-Anweisung\IndexCmd{areaset} in der
+ Dokumentpräambel dient dabei zusammen mit Option
+ \DescRef{\LabelBase.option.areasetadvanced}\IndexOption{areasetadvanced}
+ dazu, die Unterschiede zwischen der
+ \DescRef{typearea.cmd.typearea}-Voreinstellung und der späteren Verwendung
+ von \DescRef{\LabelBase.cmd.areaset} auszugleichen, wie dies bereits auf
+ \DescPageRef{\LabelBase.option.areasetadvanced} erklärt wurde. Ohne diese
+ Maßnahme könnte es insbesondere bei Verwendung von Optionen wie
+ \DescRef{typearea.option.headinclude} und
+ \DescRef{typearea.option.headheight} zu deutlichen Abweichungen bei den
+ Randeinstellungen kommen.
+
+ Wichtig\textnote{Achtung!} ist auch die Anweisung
+ \DescRef{maincls.cmd.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
+ \DescRef{maincls.cmd.cleardoubleoddpage}\IndexCmd{cleardoubleoddpage} oder
+ -- wenn keine \KOMAScript-Klasse zum Einsatz kommt --
+ \DescRef{maincls.cmd.cleardoublepage}\IndexCmd{cleardoublepage} verwendet
+ werden.%
+ \iffree{\par Außerdem wird \Macro{noindent} verwendet, um den normalen
+ Absatzeinzug vor den schwarzen Kästen zu verhindern. Sie würden sonst kein
+ korrektes Bild des Seitenlayouts wiedergeben.}{}%
+\end{Example}
+
+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 auch erwünscht, vor der
+Wiederherstellung der Einstelllungen per \PName{Anweisung} grundsätzlich
+bestimmte Aktionen wie beispielsweise ein
+\DescRef{maincls.cmd.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.%
+%
+\EndIndexGroup
+
+
+\begin{Declaration}
+ \Macro{AfterCalculatingTypearea}\Parameter{Anweisungen}
+ \Macro{AfterCalculatingTypearea*}\Parameter{Anweisungen}
+ \Macro{AfterSettingArea}\Parameter{Anweisungen}
+ \Macro{AfterSettingArea*}\Parameter{Anweisungen}
+\end{Declaration}%
+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 Auf"|teilung in
+Satzspiegel und Ränder berechnet hat, also nach jeder impliziten oder
+expliziten Ausführung von \DescRef{typearea.cmd.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 \DescRef{typearea.cmd.areaset}. Die
+Normalformen arbeiten dabei global, während die Änderungen durch die
+Sternformen nur lokal wirksam sind. Die \PName{Anweisungen} werden jeweils
+unmittelbar vor \DescRef{\LabelBase.cmd.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.}%
+%
+\EndIndexGroup
+
+
+\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}
+%
+\EndIndexGroup
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "scrguide-en.tex"
+%%% coding: utf-8
+%%% ispell-local-dictionary: "en_GB"
+%%% eval: (flyspell-mode 1)
+%%% End:
+
+% LocalWords: Hochformat Seitenspiegels