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.
221 lines
9.9 KiB
221 lines
9.9 KiB
% ======================================================================
|
|
% common-options.tex
|
|
% Copyright (c) Markus Kohm, 2001-2019
|
|
%
|
|
% 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-2019
|
|
%
|
|
% 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
|
|
%
|
|
% ----------------------------------------------------------------------
|
|
%
|
|
% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind
|
|
% Verwaltet von Markus Kohm
|
|
%
|
|
% ======================================================================
|
|
|
|
\KOMAProvidesFile{common-options.tex}
|
|
[$Date: 2017-12-07 23:10:55 -0800 (Thu, 07 Dec 2017) $
|
|
KOMA-Script guide (common paragraphs)]
|
|
\translator{Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen}
|
|
|
|
% Date of the translated German file: 2019-10-29
|
|
|
|
\section{Early or Late Selection of Options}
|
|
\seclabel{options}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{options}%
|
|
|
|
\IfThisCommonFirstRun{%
|
|
This section introduces a special feature of \KOMAScript{} which, in
|
|
addition to \IfThisCommonLabelBase{typearea}{\Package{typearea}}{%
|
|
\IfThisCommonLabelBase{maincls}{\Class{scrbook}, \Class{scrreprt}, and
|
|
\Class{scrartcl}}{%
|
|
\IfThisCommonLabelBase{scrlttr2}{the \Class{scrlttr2} class}{%
|
|
\IfThisCommonLabelBase{scrextend}{the classes and
|
|
\Package{scrextend}}{%
|
|
\IfThisCommonLabelBase{scrhack}{\Package{scrhack}}{%
|
|
\IfThisCommonLabelBase{scrjura}{\Package{scrjura}}{%
|
|
\IfThisCommonLabelBase{scrlayer}{\Package{scrlayer}}{%
|
|
\IfThisCommonLabelBase{scrlayer-scrpage}{%
|
|
\Package{scrlayer-scrpage}}{%
|
|
\IfThisCommonLabelBase{scrlayer-notecolumn}{%
|
|
\Package{scrlayer-notecolumn}}{%
|
|
\InternalCommonFileUsageError}}}}}}}}}%
|
|
, is also relevant to other \KOMAScript{} packages and classes. %
|
|
\IfThisCommonLabelBase{scrlttr2}{So that each chapter may stand on its own,
|
|
this section appears in nearly identical form in several chapters, but if
|
|
you are studying all of \KOMAScript{}, you of course only need to read it
|
|
one time.%
|
|
}{This section appears in nearly identical form in several chapters, so you
|
|
can find all the information about a single package or class in the
|
|
relevant chapter. Users who are interested not just in a particular
|
|
package or class but in getting an overview of \KOMAScript{} as a whole
|
|
only need to read this section in one of the chapters and can
|
|
\IfThisCommonLabelBase{maincls}{skip the rest of the chapter.}{%
|
|
then skip it as they study the guide.}%
|
|
}%
|
|
}{%
|
|
The information in \autoref{sec:\ThisCommonFirstLabelBase.options} applies
|
|
equally to this chapter. So if you have already read and understood
|
|
\autoref{sec:\ThisCommonFirstLabelBase.options}, you can skip ahead to
|
|
\autoref{sec:\ThisCommonLabelBase.options.next},
|
|
\autopageref{sec:\ThisCommonLabelBase.options.next}.%
|
|
}
|
|
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{documentclass}\OParameter{option list}%
|
|
\Parameter{{\KOMAScript} class}
|
|
\Macro{usepackage}\OParameter{option list}%
|
|
\Parameter{package list}
|
|
\end{Declaration}
|
|
\LaTeX{} allows users to pass class options\textnote{class options} as a
|
|
comma-separated list of keywords in the optional argument to
|
|
\Macro{documentclass}. In addition to being passed to the class, these options
|
|
are also passed on to all packages\textnote{global options} that can
|
|
understand them. Users can also pass a similar comma-separated list of
|
|
keywords in the optional argument of \Macro{usepackage}\textnote{packet
|
|
options}. \KOMAScript{} extends\ChangedAt{v3.00}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}\and
|
|
\Package{typearea}} the option mechanism for
|
|
\IfThisCommonLabelBaseOneOf{scrextend,scrjura}{}{the \KOMAScript{} classes and
|
|
} some packages with further options. Thus most \KOMAScript{} options can also
|
|
take a value, so an option does not necessarily take the form \PName{option},
|
|
but can also take the form \PName{option}\texttt{=}\PName{value}%
|
|
\important{\PName{option}\texttt{=}\PName{value}}. Except for this difference,
|
|
\Macro{documentclass} and \Macro{usepackage} in \KOMAScript{} function as
|
|
described in \cite{latex:usrguide} or any introduction to \LaTeX, for example
|
|
\cite{lshort}.
|
|
|
|
\IfThisCommonLabelBaseNotOneOf{%
|
|
scrjura,scrhack,scrlayer,scrlayer-scrpage,scrlayer-notecolumn,scrextend%
|
|
}{%
|
|
When using a \KOMAScript{} class\textnote{Attention!}, you should not
|
|
specify options when loading the \Package{typearea} or \Package{scrbase}
|
|
packages. The reason for this restriction is that the class already loads
|
|
these packages without options, and \LaTeX{} refuses to load a package
|
|
multiple times with different option settings.%
|
|
\IfThisCommonLabelBaseOneOf{maincls,scrlttr2}{ In general, it is not
|
|
necessary to load either one of these packages explicitly when using any
|
|
\KOMAScript{} class.}{}%
|
|
\par
|
|
}{}
|
|
|
|
% The alternative text for wrapping optimization was redundant and, as
|
|
% it's not required for the English version, has been deleted.
|
|
Setting the options with \Macro{documentclass} has one\textnote{Attention!}
|
|
major disadvantage: unlike the interface described below, the options in
|
|
\Macro{documentclass} are not robust. So commands, lengths, counters, and
|
|
similar constructs may break inside the optional argument of this command.
|
|
For example, with many non-\KOMAScript{} classes, using a \LaTeX{} length
|
|
in the value of an option results in an error%
|
|
\IfThisCommonLabelBaseNotOneOf{maincls,scrlttr2}{ before the value is passed
|
|
to a \KOMAScript{} package and it can take control of the option
|
|
execution}{}%
|
|
. So if you want to use a \LaTeX{} length, counter, or command as part of the
|
|
value of an option, you should use \DescRef{\LabelBase.cmd.KOMAoptions} or
|
|
\DescRef{\LabelBase.cmd.KOMAoption}. These commands will be described next.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{KOMAoptions}\Parameter{option list}
|
|
\Macro{KOMAoption}\Parameter{option}\Parameter{value list}
|
|
\end{Declaration}
|
|
\KOMAScript{}\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}\and \Package{scrextend}\and \Package{typearea}} also
|
|
provides the ability to change the values of most
|
|
\IfThisCommonLabelBaseOneOf{scrextend,scrjura}{}{class and }package options
|
|
even after loading the \IfThisCommonLabelBaseOneOf{scrextend,scrjura}{}{%
|
|
class or} package. You can use the \Macro{KOMAoptions} command to change the
|
|
values of a list of options, as in
|
|
\DescRef{\ThisCommonLabelBase.cmd.documentclass} or
|
|
\DescRef{\ThisCommonLabelBase.cmd.usepackage}. Each option in the
|
|
\PName{option list} has the form \PName{option}\texttt{=}\PName{value}%
|
|
\important{\PName{option}\texttt{=}\PName{value},\dots}.
|
|
|
|
Some options also have a default value. If you do not specify a value, that is
|
|
if you give the option simply as \PName{option}, then this default value will
|
|
be used.
|
|
|
|
Some options can have several values simultaneously. For such options, it is
|
|
possible, with the help of \Macro{KOMAoption}, to pass a list of values to a
|
|
single \PName{option}. The individual values are given as a comma-separated
|
|
\PName{value list}\important{\PName{value},\dots}.
|
|
|
|
\begin{Explain}
|
|
\KOMAScript{} uses the commands \DescRef{scrbase.cmd.FamilyOptions} and
|
|
\DescRef{scrbase.cmd.FamilyOption} with the family ``\PValue{KOMA}'' to
|
|
implement this ability.
|
|
\IfThisCommonLabelBaseOneOf{typearea}{% Umbruchkorrektur
|
|
Advanced users will find more on these instructions in
|
|
\autoref{sec:scrbase.keyvalue}, \DescPageRef{scrbase.cmd.FamilyOptions}.
|
|
}{%
|
|
See \autoref{part:forExperts}, \autoref{sec:scrbase.keyvalue},
|
|
\DescPageRef{scrbase.cmd.FamilyOptions}. }%
|
|
\end{Explain}
|
|
|
|
Options set with \Macro{KOMAoptions} or \Macro{KOMAoption} will reach
|
|
\IfThisCommonLabelBase{scrextend}{}{both the \KOMAScript{} class and }any
|
|
previously loaded \KOMAScript{} packages that recognise these options. If an
|
|
option or a value is unknown, \hyperref[cha:scrbase]{\Package{scrbase}}%
|
|
\IndexPackage{scrbase}\important{\hyperref[cha:scrbase]{\Package{scrbase}}}
|
|
will report it as an error.%
|
|
%
|
|
\iffalse% Umbruchkorrekturtext
|
|
\iffree{}{\IfThisCommonLabelBase{scrlayer-scrpage}{\par
|
|
Incidentally, the \Package{scrpage2}\IndexPackage{scrpage2}%
|
|
\important{\Package{scrpage2}}, which is considered obsolete, does not have
|
|
this extension. Options can therefore only be set when the package is loaded
|
|
with the option explained previously.}{}}%
|
|
\fi%
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\phantomsection
|
|
\label{sec:\ThisCommonLabelBase.options.end}
|
|
\endinput
|
|
|
|
%%% Local Variables:
|
|
%%% mode: latex
|
|
%%% mode: flyspell
|
|
%%% coding: us-ascii
|
|
%%% ispell-local-dictionary: "en_GB"
|
|
%%% TeX-master: "../guide"
|
|
%%% End:
|
|
|