You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
248 lines
11 KiB
248 lines
11 KiB
% ======================================================================
|
|
% common-options.tex
|
|
% Copyright (c) Markus Kohm, 2001-2017
|
|
%
|
|
% 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-options.tex
|
|
% Copyright (c) Markus Kohm, 2001-2017
|
|
%
|
|
% 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-options.tex}
|
|
[$Date: 2019-10-29 09:18:21 +0100 (Tue, 29 Oct 2019) $
|
|
KOMA-Script guide (common paragraphs)]
|
|
|
|
\section{Frühe oder späte Optionenwahl}
|
|
\seclabel{options}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{Optionen}%
|
|
|
|
\IfThisCommonFirstRun{%
|
|
In diesem Abschnitt wird eine Besonderheit von \KOMAScript{} vorgestellt, die
|
|
neben %
|
|
\IfThisCommonLabelBase{typearea}{\Package{typearea} auch andere
|
|
\KOMAScript-Pakete und "~Klassen }{%
|
|
\IfThisCommonLabelBase{maincls}{den Klassen \Class{scrbook},
|
|
\Class{scrreprt} und \Class{scrartcl} auch andere \KOMAScript-Klassen und
|
|
"~Pakete }{%
|
|
\IfThisCommonLabelBase{scrlttr2}{der Klasse \Class{scrlttr2} auch andere
|
|
\KOMAScript-Klassen und "~Pakete }{%
|
|
\IfThisCommonLabelBase{scrextend}{den Klassen und \Package{scrextend}
|
|
auch einige andere \KOMAScript-Pakete }{%
|
|
\IfThisCommonLabelBase{scrhack}{\Package{scrhack} auch andere
|
|
\KOMAScript-Pakete und "~Klassen }{%
|
|
\IfThisCommonLabelBase{scrjura}{\Package{scrjura} auch andere
|
|
\KOMAScript-Pakete und "~Klassen }{%
|
|
\IfThisCommonLabelBase{scrlayer}{\Package{scrlayer} auch andere
|
|
\KOMAScript-Pakete und "-Klassen }{%
|
|
\IfThisCommonLabelBase{scrlayer-scrpage}{%
|
|
\Package{scrlayer-scrpage} auch andere \KOMAScript-Pakete und
|
|
"-Klassen }{%
|
|
\IfThisCommonLabelBase{scrlayer-notecolumn}{%
|
|
\Package{scrlayer-notecolumn} auch andere \KOMAScript-Pakete
|
|
und "-Klassen }{%
|
|
\InternalCommonFileUsageError}}}}}}}}}%%
|
|
betrifft. %
|
|
% Umbruchvarianten:
|
|
\IfThisCommonLabelBase{typearea}{Im Sinne der
|
|
Abgeschlossenheit der Kapitel ist dieser Abschnitt nahezu identisch in
|
|
mehreren Kapiteln zu finden.%
|
|
}{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
|
|
\IfThisCommonLabelBase{maincls}{bei den weiteren Kapitel
|
|
überspringen.}{beim weiteren Studium der Anleitung dann überspringen.}%
|
|
}%
|
|
}{%
|
|
Es gilt sinngemäß, was in \autoref{sec:\ThisCommonFirstLabelBase.options}
|
|
geschrieben wurde. Falls Sie also
|
|
\autoref{sec:\ThisCommonFirstLabelBase.options} bereits gelesen und
|
|
verstanden haben, können Sie auf
|
|
\autopageref{sec:\ThisCommonLabelBase.options.next} mit
|
|
\autoref{sec:\ThisCommonLabelBase.options.next} fortfahren.%
|
|
}
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{documentclass}\OParameter{Optionenliste}%
|
|
\Parameter{\KOMAScript-Klasse}%
|
|
\Macro{usepackage}\OParameter{Optionenliste}%
|
|
\Parameter{Paket-Liste}
|
|
\end{Declaration}
|
|
Bei \LaTeX{} ist vorgesehen, dass Anwender
|
|
Klassenoptionen\textnote{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\textnote{globale Optionen} weitergereicht, die diese Optionen
|
|
verstehen. Ebenso ist vorgesehen, dass Anwender
|
|
Paketoptionen\textnote{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
|
|
\IfThisCommonLabelBaseOneOf{scrextend,scrjura}{}{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}%
|
|
\important{\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.
|
|
|
|
\IfThisCommonLabelBaseNotOneOf{%
|
|
scrjura,scrhack,scrlayer,scrlayer-scrpage,scrlayer-notecolumn,scrextend%
|
|
}{%
|
|
Bei Verwendung einer \KOMAScript-Klasse\textnote{Achtung!} sollten
|
|
\IfThisCommonLabelBase{typearea}{beim dann ohnehin überflüssigen}{im Übrigen
|
|
beim} Laden des Pakets \Package{typearea} oder \Package{scrbase} keine
|
|
Optionen angegeben werden. \IfThisCommonLabelBase{typearea}{Diese Klassen
|
|
laden die beiden Pakete nämlich bereits ohne Optionen und \LaTeX{} meldet
|
|
einen Fehler, wenn eines der Pakete anschließend mit Optionen geladen
|
|
wird.}{Das ist darin begründet, dass die Klassen diese Pakete bereits ohne
|
|
Optionen laden und \LaTeX{} das mehrmalige Laden eines Pakets mit
|
|
unterschiedlicher Angabe von Optionen verweigert.}%
|
|
\iffalse % Umbruchoptimierung
|
|
\IfThisCommonLabelBase{scrlttr2}{ Überhaupt ist es bei Verwendung einer
|
|
\KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch noch explizit
|
|
zu laden.}{}%
|
|
\fi %
|
|
\par
|
|
}{}
|
|
|
|
% Umbruchoptimierung!!!
|
|
\IfThisCommonLabelBase{typearea}{Das Setzen der Optionen mit
|
|
\Macro{documentclass} hat übrigens einen\textnote{Achtung!} entscheidenden
|
|
Nachteil: %
|
|
}{%
|
|
Gegenüber der nachfolgend vorgestellten Schnittstelle zu Einstellungen von
|
|
Optionen hat \Macro{documentclass} 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 dieser
|
|
Anweisung bei vielen Nicht-\KOMAScript-Klassen zu einer Fehlermeldung%
|
|
\IfThisCommonLabelBaseNotOneOf{maincls,scrlttr2}{, noch bevor der Wert an ein
|
|
\KOMAScript-Paket ü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}, sondern mit den nachfolgend dokumentierten Anweisungen
|
|
\DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption}
|
|
vorgenommen werden.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\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
|
|
\IfThisCommonLabelBaseOneOf{scrextend,scrjura}{}{Klassen- und }Paketoptionen
|
|
auch die Möglichkeit, den Wert der Optionen noch nach dem Laden
|
|
\IfThisCommonLabelBaseOneOf{scrextend,scrjura}{}{der Klasse beziehungsweise
|
|
}des Pakets zu ändern. Mit der Anweisung \Macro{KOMAoptions} kann man wie bei
|
|
\DescRef{\ThisCommonLabelBase.cmd.documentclass} oder
|
|
\DescRef{\ThisCommonLabelBase.cmd.usepackage} die Werte einer Reihe von
|
|
Optionen ändern. Jede Option der \PName{Optionenliste} hat dabei die Form
|
|
\PName{Option}\texttt{=}\PName{Wert}%
|
|
\important{\PName{Option}\texttt{=}\PName{Wert},\dots}.
|
|
|
|
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 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}\important{\PName{Wert},\dots} 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 \DescRef{scrbase.cmd.FamilyOptions} und
|
|
\DescRef{scrbase.cmd.FamilyOption} mit der Familie »\PValue{KOMA}«.
|
|
\IfThisCommonLabelBaseOneOf{typearea}{% Umbruchkorrektur
|
|
Näheres zu diesen Anweisungen finden fortgeschrittene Anwender in
|
|
\autoref{sec:scrbase.keyvalue} ab \DescPageRef{scrbase.cmd.FamilyOptions}.
|
|
}{%
|
|
Siehe dazu \autoref{part:forExperts}, \autoref{sec:scrbase.keyvalue},
|
|
ab \DescPageRef{scrbase.cmd.FamilyOptions}.
|
|
}%
|
|
\end{Explain}
|
|
|
|
Mit \Macro{KOMAoptions} oder \Macro{KOMAoption} gesetzte Optionen erreichen
|
|
\IfThisCommonLabelBase{scrextend}{}{sowohl die \KOMAScript-Klasse als }auch
|
|
alle bereits geladenen \KOMAScript-Pakete, die diese Optionen kennen. Ist eine
|
|
Option oder ein Wert insgesamt unbekannt, so wird die Option einschließlich
|
|
des Wertes von
|
|
\hyperref[cha:scrbase]{\Package{scrbase}}\IndexPackage{scrbase}%
|
|
\important{\hyperref[cha:scrbase]{\Package{scrbase}}} als fehlerhaft
|
|
gemeldet.%
|
|
%
|
|
\iffalse% Umbruchkorrekturtext
|
|
\iffree{}{\IfThisCommonLabelBase{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.}{}}%
|
|
\fi%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\phantomsection
|
|
\label{sec:\ThisCommonLabelBase.options.end}
|
|
\endinput
|
|
|
|
%%% Local Variables:
|
|
%%% mode: latex
|
|
%%% coding: utf-8
|
|
%%% TeX-master: "../guide"
|
|
%%% End:
|
|
|