1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
% ======================================================================
% common-0.tex
% Copyright (c) Markus Kohm, 2001-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.
% ----------------------------------------------------------------------
% common-0.tex
% Copyright (c) Markus Kohm, 2001-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.
% ======================================================================
%
% Paragraphs that are common for several chapters of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind
% Verwaltet von Markus Kohm
%
% ======================================================================
\KOMAProvidesFile{common-0.tex}
[$Date: 2015-03-31 11:10:59 +0200 (Tue, 31 Mar 2015) $
KOMA-Script guide (common paragraphs)]
\makeatletter
\@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}%
\@ifundefined{ifCommonscrextend}{\newif\ifCommonscrextend}{}%
\@ifundefined{ifCommonscrlttr}{\newif\ifCommonscrlttr}{}%
\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}%
\@ifundefined{ifCommonscrlayer-scrpage}{%
\expandafter\newif\csname ifCommonscrlayer-scrpage\endcsname}{}%
\@ifundefined{ifCommonscrlayerscrpage}{%
\expandafter\let\expandafter\ifCommonscrlayerscrpage
\csname ifCommonscrlayer-scrpage\endcsname}{}%
\@ifundefined{ifCommonscrlayer-notecolumn}{%
\expandafter\newif\csname ifCommonscrlayer-notecolumn\endcsname}{}%
\@ifundefined{ifCommonscrlayernotecolumn}{%
\expandafter\let\expandafter\ifCommonscrlayernotecolumn
\csname ifCommonscrlayer-notecolumn\endcsname}{}%
\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}%
\makeatother
\section{Frühe oder späte Optionenwahl}
\seclabel{options}
\ifshortversion\IgnoreThisfalse\IfNotCommon{typearea}{\IgnoreThistrue}\fi
\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++ nicht typearea +
Es gilt sinngemäß, was in \autoref{sec:typearea.options} geschrieben wurde.
\else %------------------------------------------------------ nur typearea -
\BeginIndex{}{Optionen}%
In diesem Abschnitt wird eine Besonderheit von \KOMAScript{} vorgestellt, die
neben %
\IfCommon{typearea}{\Package{typearea} auch andere \KOMAScript-Pakete und
"~Klassen }%
\IfCommon{maincls}{den Klassen \Class{scrbook}, \Class{scrreprt} und
\Class{scrartcl} auch andere \KOMAScript-Klassen und "~Pakete }%
\IfCommon{scrlttr2}{der Klasse \Class{scrlttr2} auch andere
\KOMAScript-Klassen und "~Pakete }%
\IfCommon{scrextend}{den Klassen und \Package{scrextend} auch einige andere
\KOMAScript-Pakete }%
\IfCommon{scrhack}{\Package{scrhack} auch andere \KOMAScript-Pakete und
"~Klassen }%
\IfCommon{scrjura}{\Package{scrjura} auch andere \KOMAScript-Pakete und
"~Klassen }%
\IfCommon{scrlayer}{\Package{scrlayer} auch andere \KOMAScript-Pakete und
"-Klassen }%
\IfCommon{scrlayer-scrpage}{\Package{scrlayer-scrpage} auch andere
\KOMAScript-Pakete und "-Klassen }%
\IfCommon{scrlayer-notecolumn}{\Package{scrlayer-notecolumn} auch andere
\KOMAScript-Pakete und "-Klassen }%
betrifft. %
% Umbruchvarianten:
\IfNotCommon{scrlttr2}{Damit die Anwender alle Informationen zu einem Paket
oder einer Klasse im jeweiligen Kapitel finden, ist dieser Abschnitt nahezu
gleichlautend in mehreren Kapiteln zu finden. Anwender, die nicht nur an
der Anleitung zu einem Paket oder einer Klasse interessiert sind, sondern
sich einen Gesamtüberblick über \KOMAScript{} verschaffen wollen, brauchen
diesen Abschnitt nur in einem der Kapitel zu lesen und können ihn
\IfCommon{maincls}{bei den weiteren Kapitel überspringen.}%
\IfNotCommon{maincls}{beim weiteren Studium der Anleitung dann
überspringen.}%
} %
\IfCommon{scrlttr2}{Im Sinne der Abgeschlossenheit der Kapitel ist dieser
Abschnitt nahezu identisch in mehreren Kapiteln zu finden, braucht aber beim
Studium des gesamten von \KOMAScript{} natürlich nur in einem gelesen
werden.}
\begin{Declaration}
\Macro{documentclass}\OParameter{Optionenliste}%
\Parameter{\KOMAScript-Klasse}\\
\Macro{usepackage}\OParameter{Optionenliste}%
\Parameter{Paket-Liste}
\end{Declaration}
\BeginIndex{Cmd}{documentclass}%
\BeginIndex{Cmd}{usepackage}%
Bei \LaTeX{} ist vorgesehen, dass Anwender Klassenoptionen in Form einer durch
Komma getrennten Liste einfacher Schlüsselwörter als optionales Argument von
\Macro{documentclass} angeben. Außer an die Klasse werden diese Optionen auch
an alle Pakete weitergereicht, die diese Optionen verstehen. Ebenso ist
vorgesehen, dass Anwender Paketoptionen in Form einer durch Komma getrennten
Liste einfacher Schlüsselwörter als optionales Argument von \Macro{usepackage}
angeben. \KOMAScript{} erweitert\ChangedAt{v3.00}{\Class{scrbook}\and
\Class{scrreprt}\and \Class{scrartcl}\and \Package{typearea}} den
Mechanismus der Optionen für die \KOMAScript-Klassen und einige Pakete um
weitere Möglichkeiten. So haben die meisten Optionen bei \KOMAScript{}
zusätzlich einen Wert. Eine Option hat also nicht unbedingt nur die Form
\PName{Option}, sondern kann auch die Form
\PName{Option}\texttt{=}\PName{Wert} haben. Bis auf diesen Unterschied
arbeiten \Macro{documentclass} und \Macro{usepackage} bei \KOMAScript{} wie in
\cite{latex:usrguide} oder jeder \LaTeX-Einführung, beispielsweise
\cite{l2kurz}, beschrieben.%
%
\iffree{}{\IfCommon{scrlayer-scrpage}{\par
Das als veraltet zu betrachtende Paket
\Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}
besitzt diese Erweiterung übrigens nicht. Es versteht daher nur einfache
Optionen ohne Wertzuweisung.\par}}%
%
\IfNotCommon{scrjura}{%
\IfNotCommon{scrhack}{%
\IfNotCommon{scrlayer}{%
\IfNotCommon{scrlayer-scrpage}{%
\IfNotCommon{scrlayer-notecolumn}{%
\IfNotCommon{scrextend}{\par%
Bei Verwendung einer \KOMAScript-Klasse\textnote{Achtung!} sollten
im Übrigen beim
% Umbruchoptimierung!!!
% Die Alternativen an dieser Stelle dienen der Verbesserung des Umbruchs
% \IfCommon{typearea}{überflüssigen, expliziten }%
Laden des Pakets \Package{typearea} oder \Package{scrbase} keine
Optionen angegeben werden. Das ist darin begründet, dass die
Klasse diese Pakete bereits ohne Optionen lädt und \LaTeX{} das
mehrmalige Laden eines Pakets mit unterschiedlicher Angabe von
Optionen verweigert.%
% \IfCommon{maincls}{\ Überhaupt ist es bei Verwendung einer
% \KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch
% noch explizit zu laden.}%
\IfCommon{scrlttr2}{\ Überhaupt ist es bei Verwendung einer
\KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch
noch explizit zu laden.}}}}}}}
% Umbruchoptimierung!!!
\IfCommon{typearea}{Das Setzen der Optionen mit \Macro{documentclass} oder
\Macro{usepackage} hat übrigens einen\textnote{Achtung!} entscheidenden
Nachteil:} %
\IfNotCommon{typearea}{Gegenüber der nachfolgend vorgestellten Schnittstelle
zu Einstellungen von Optionen haben \Macro{documentclass} und
\Macro{usepackage} einen Nachteil, der unbedingt zu
beachten\textnote{Achtung!} ist:} %
Anweisungen, Längen, Zähler und ähnliches können darin leicht zerbrechen. So
führt die Verwendung einer \LaTeX-Länge im Wert einer Option bei diesen
Anweisungen zu einer Fehlermeldung, noch bevor der Wert an \KOMAScript{}
übergeben wird, es also die Kontrolle darüber übernehmen
könnte. Wertzuweisungen mit \LaTeX-Längen oder \LaTeX-Zählern sollten daher
nie per \Macro{documentclass} oder \Macro{usepackage}, sondern immer mit den
nachfolgend dokumentierten Anweisungen \Macro{KOMAoptions} oder
\Macro{KOMAoption} vorgenommen werden.%
%
\EndIndex{Cmd}{usepackage}%
\EndIndex{Cmd}{documentclass}%
\BeginIndex{Cmd}{KOMAoptions}%
\BeginIndex{Cmd}{KOMAoption}%
\begin{Declaration}
\Macro{KOMAoptions}\Parameter{Optionenliste}\\
\Macro{KOMAoption}\Parameter{Option}\Parameter{Werteliste}
\end{Declaration}
\KOMAScript{}\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
\Class{scrartcl}\and \Package{typearea}} bietet bei
den meisten Klassen- und Paketoptionen auch die Möglichkeit, den Wert der
Optionen noch nach dem Laden der Klasse beziehungsweise des Pakets zu
ändern. Man kann dann wahlweise mit der Anweisung \Macro{KOMAoptions} die
Werte einer Reihe von Optionen ändern. Jede Option der \PName{Optionenliste}
hat dabei die Form \PName{Option}\texttt{=}\PName{Wert}.
Einige Optionen besitzen auch einen Säumniswert (engl. \emph{default
value}). Versäumt man die Angabe eines Wertes, verwendet man die Option also
einfach in der Form \PName{Option}, so wird automatisch dieser Säumniswert
angenommen.
Manche Optionen können %
%\IfCommon{maincls}{auch }% Umbruchkorrektur
%\IfCommon{scrlttr2}{auch }% Umbruchkorrektur
gleichzeitig mehrere Werte besitzen. Für solche Optionen besteht die
Möglichkeit, mit \Macro{KOMAoption} der einen \PName{Option}
nacheinander eine Reihe von Werten zuzuweisen. Die einzelnen Werte sind dabei
in der \PName{Werteliste} durch Komma voneinander getrennt.
Soll\textnote{Achtung!} ein \PName{Wert} ein Gleichheitszeichen oder ein Komma
enthalten, so ist der \PName{Wert} in geschweifte Klammern zu setzen.
\begin{Explain}
\KOMAScript{} bedient sich für die Realisierung dieser Möglichkeit der
Anweisungen \Macro{FamilyOptions} und \Macro{FamilyOption} mit der Familie
»\PValue{KOMA}«.
\iffalse % Umbruchkorrektur
Näheres zu diesen Anweisungen ist %
\IfCommon{maincls}{für Experten }%
\IfCommon{scrlttr2}{für Experten }%
in \autoref{sec:scrbase.keyvalue},
\autopageref{desc:scrbase.cmd.FamilyOptions} zu finden.
\else
%
Siehe dazu \autoref{part:forExperts}, \autoref{sec:scrbase.keyvalue},
\autopageref{desc:scrbase.cmd.FamilyOptions}.
%
\fi
\end{Explain}%
\iffree{}{\IfCommon{scrlayer-scrpage}{\par
Das als veraltet zu betrachtende Paket
\Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}
besitzt diese Erweiterung übrigens nicht. Optionen können daher nur über
die zuvor erklärte Möglichkeit während des Ladens des Pakets gesetzt
werden.}}%
%
\EndIndex{Cmd}{KOMAoption}%
\EndIndex{Cmd}{KOMAoptions}%
%
\EndIndex{}{Optionen}%
\fi % ************************************************** Ende nur typearea *
%%% Local Variables:
%%% mode: latex
%%% coding: iso-latin-1
%%% TeX-master: "../guide"
%%% End:
|