summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex462
1 files changed, 193 insertions, 269 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex
index 8b68d25fd98..04eb18f25ab 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex
+++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrbase.tex
-% Copyright (c) Markus Kohm, 2002-2016
+% Copyright (c) Markus Kohm, 2002-2017
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrbase.tex
-% Copyright (c) Markus Kohm, 2002-2016
+% Copyright (c) Markus Kohm, 2002-2017
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,15 +46,15 @@
% ======================================================================
\KOMAProvidesFile{scrbase.tex}
- [$Date: 2016-03-09 18:09:14 +0100 (Wed, 09 Mar 2016) $
+ [$Date: 2017-01-02 13:30:07 +0100 (Mon, 02 Jan 2017) $
KOMA-Script package scrbase]
\translator{Markus Kohm\and Melvin Hendrix}
-% Date of the translated German file: 2016-03-09
+% Date of the translated German file: 2017-01-02
\chapter{Basic Functions of Package \Package{scrbase}}
\labelbase{scrbase}
-
+\BeginIndexGroup
\BeginIndex{Package}{scrbase}%
The package \Package{scrbase} provides basic features designed and implemented
@@ -85,9 +85,8 @@ values to these keys. The options provided by \Package{scrbase} also use
\Package{keyval} syntax: \PName{key}\texttt{=}\PName{value}.
\begin{Declaration}
- \KOption{internalonly}\PName{value}
+ \OptionVName{internalonly}{value}
\end{Declaration}
-\BeginIndex{Option}{internalonly~=\PName{value}}%
Package \Package{scrbase} provides some commands for conditional
execution. The primary names for these are builds like
\Macro{scr@\PName{name}}, which are internal commands. \KOMAScript{} only uses
@@ -109,7 +108,7 @@ use it with or without \PName{value} either as a global option with
\Macro{documentclass} or using \Macro{PassOptionsToPackage}.
\begin{Example}
The user does not want \Package{scrbase} to define commands \Macro{ifVTeX}
- and \Macro{ifundefinedorrelax}. Because of this, to load the class, the user
+ and \DescRef{\LabelBase.cmd.ifundefinedorrelax}. Because of this, to load the class, the user
writes:
\begin{lstcode}
\documentclass%
@@ -118,11 +117,11 @@ use it with or without \PName{value} either as a global option with
\end{lstcode}
Class name \Class{foo} is, therefore, an placeholder
for any class in this example. The meanings of commands \Macro{ifVTeX} and
- \Macro{ifundefinedorrelax} and many more commands for conditional execution
+ \DescRef{\LabelBase.cmd.ifundefinedorrelax} and many more commands for conditional execution
is located in \autoref{sec:scrbase.if}.
\end{Example}
%
-\EndIndex{Option}{internalonly~=\PName{value}}%
+\EndIndexGroup
\section{Keys as Attributes of Families and their Members}
@@ -137,11 +136,9 @@ more family members. Additionally, a value may be assigned to the key of a
family member, to the key of a family, or to the keys of all family members.
\begin{Declaration}
- \Macro{DefineFamily}\Parameter{family}\\
+ \Macro{DefineFamily}\Parameter{family}%
\Macro{DefineFamilyMember}\OParameter{family member}\Parameter{family}%
\end{Declaration}
-\BeginIndex{Cmd}{DefineFamily}%
-\BeginIndex{Cmd}{DefineFamilyMember}%
\Package{scrbase} needs to know the members of a family for different
reasons. First, you have to define a new family using
\Macro{DefineFamily}, which produces an empty member list. If the family
@@ -184,26 +181,19 @@ the same as members of another family.
loading all three packages, all three member will be defined.
\end{Example}
%
-\EndIndex{Cmd}{DefineFamilyMember}%
-\EndIndex{Cmd}{DefineFamily}%
+\EndIndexGroup
\begin{Declaration}
\Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{DefineFamilyKey}}\OParameter{default}\Parameter{action}\\
- \Macro{FamilyKeyState}\\
- \Macro{FamilyKeyStateUnknown}\\
- \Macro{FamilyKeyStateProcessed}\\
- \Macro{FamilyKeyStateUnknownValue}\\
+ \Parameter{key}%
+ \OParameter{default}\Parameter{action}%
+ \Macro{FamilyKeyState}%
+ \Macro{FamilyKeyStateUnknown}%
+ \Macro{FamilyKeyStateProcessed}%
+ \Macro{FamilyKeyStateUnknownValue}%
\Macro{FamilyKeyStateNeedValue}
\end{Declaration}
-\BeginIndex{Cmd}{DefineFamilyKey}%
-\BeginIndex{Cmd}{FamilyKeyState}%
-\BeginIndex{Cmd}{FamilyKeyStateUnknown}%
-\BeginIndex{Cmd}{FamilyKeyStateProcessed}%
-\BeginIndex{Cmd}{FamilyKeyStateUnknownValue}%
-\BeginIndex{Cmd}{FamilyKeyStateNeedValue}%
The command \Macro{DefineFamilyKey} defines a \PName{key}. If a \PName{family
member} is given, the \PName{key} becomes an attribute of that member in the
given \PName{family}. If a \PName{family member} is not given, the member
@@ -286,31 +276,25 @@ Generally, the four predefined states should be sufficient.
has to be replaced by the corresponding names.
\end{Example}
%
-\EndIndex{Cmd}{FamilyKeyStateNeedValue}%
-\EndIndex{Cmd}{FamilyKeyStateUnknownValue}%
-\EndIndex{Cmd}{FamilyKeyStateProcessed}%
-\EndIndex{Cmd}{FamilyKeyStateUnknown}%
-\EndIndex{Cmd}{FamilyKeyState}%
-\EndIndex{Cmd}{DefineFamilyKey}%
+\EndIndexGroup
\begin{Declaration}
\Macro{RelaxFamilyKey}\OParameter{family member}\Parameter{family}%
\Parameter{key}
\end{Declaration}
-\BeginIndex{Cmd}{RelaxFamilyKey}%
If\ChangedAt{v3.15}{\Package{scrbase}} the \PName{key} of the \PName{family
member} of \PName{family} has been defined before, that definition will be
cancelled. Afterwards the \PName{key} will not be defined for the \PName{family
member} of \PName{family} any longer. Usage of \Macro{RelaxFamilyKey} for a
not yet defined \PName{key} of the \PName{family member} of the \PName{family}
is also allowed.%
-\EndIndex{Cmd}{RelaxFamilyKey}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{FamilyProcessOptions}\OParameter{family member}\Parameter{family}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyProcessOptions}%
Generally the extension of keys of families to keys of families and family
members, as mentioned earlier, uses keys or key-value settings as class or
package options. The command \Macro{FamilyProcessOptions} is an extension of
@@ -344,26 +328,26 @@ options assigned to the package locally leads to an error message.
of \Package{keyval}. Ultimately, with the help of
\Macro{FamilyProcessOptions}, \PName{key=value} pairs become options.%
%
-\EndIndex{Cmd}{FamilyProcessOptions}%
+\EndIndexGroup
\begin{Declaration}
\Macro{BeforeFamilyProcessOptions}\OParameter{member}\Parameter{family}%
\Parameter{code}%
\end{Declaration}
-\BeginIndex{Cmd}{BeforeFamilyProcessOptions}%
Especially\ChangedAt{v3.18}{\Package{scrbase}} authors of wrapper classes or
wrapper packages sometimes need a hook to execute \PName{code} just before
-\Macro{FamilyProcessOptions}. The package \Package{scrbase} provides such a
-hook and you can add \PName{code} to it using
+\DescRef{\LabelBase.cmd.FamilyProcessOptions}. The package \Package{scrbase}
+provides such a hook and you can add \PName{code} to it using
\Macro{BeforeFamilyProcessOptions}. The parameters \PName{member} and
-\PName{family} are same to \Macro{FamilyProcessOptions}. In difference to
-\Macro{FamilyProcessOptions} you can add \PName{code} also to the hook of not
-yet defined \PName{family} or \PName{member}.
+\PName{family} are same to \DescRef{\LabelBase.cmd.FamilyProcessOptions}. In
+difference to \DescRef{\LabelBase.cmd.FamilyProcessOptions} you can add
+\PName{code} also to the hook of not yet defined \PName{family} or
+\PName{member}.
Note, the hook of a family member will be cleaned after execution. But if you
use an empty \PName{member} the \PName{code} will be executed before the
-\Macro{FamilyProcessOptions} of every member of the \PName{family} and will
+\DescRef{\LabelBase.cmd.FamilyProcessOptions} of every member of the \PName{family} and will
never be deleted.
\begin{Example}
@@ -382,17 +366,16 @@ never be deleted.
\Option{coldcut}, package \Package{liversausage} will throw an undefined
option error. If \Option{coldcut} is used as a global option, package
\Package{liversausage} will ignore it. But default settings inside
- \Package{liversausage}, e.\,g., using \Macro{FamilyExecuteOptions} before
- \Macro{FamilyProcessOptions} are not effected.
+ \Package{liversausage}, e.\,g., using \DescRef{\LabelBase.cmd.FamilyExecuteOptions} before
+ \DescRef{\LabelBase.cmd.FamilyProcessOptions} are not effected.
\end{Example}
-\EndIndex{Cmd}{BeforeFamilyProcessOptions}%
+\EndIndexGroup
\begin{Declaration}
\Macro{FamilyExecuteOptions}\OParameter{family member}\Parameter{family}%
\Parameter{options list}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyExecuteOptions}%
This command is an extension of \Macro{ExecuteOptions} from the \LaTeX{}
kernel (see \cite{latex:clsguide}). The command processes not only options
that are defined using \Macro{DeclareOption}, but also processes all keys of
@@ -422,13 +405,12 @@ above all other attributes.
Usage of the command inside the execution of an option is provided.%
%
-\EndIndex{Cmd}{FamilyExecuteOptions}%
+\EndIndexGroup
\begin{Declaration}
\Macro{FamilyOptions}\Parameter{family}\Parameter{options list}%
\end{Declaration}
-\BeginIndex{Cmd}{FamilyOptions}%
Hence \PName{options list} is like:
\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l}
\PName{key}\texttt{=}\PName{value}\texttt{,}%
@@ -446,7 +428,7 @@ keys follow in the order in which the members have been defined. If a given
\PName{key} does not exist, either for the family or for any member of the
family, then \Macro{FamilyOptions} will result in an error. Package
\Package{scrbase} reports an error also if there are members with key
-\PName{key}, but all those members signal failure via \Macro{FamilyKeyState}.
+\PName{key}, but all those members signal failure via \DescRef{\LabelBase.cmd.FamilyKeyState}.
\begin{Example}
You extend your butcher project by a package \Package{sausagesalad}. If this
package has been loaded, all sausage package should generate cold cuts:
@@ -484,22 +466,21 @@ family, then \Macro{FamilyOptions} will result in an error. Package
\Macro{begin}\PParameter{document} to do nothing for package
\Package{sausagesalad}. Because \Macro{@currname} and \Macro{@currext} are
not longer valid at this time, the optional argument on
- \Macro{DefineFamilyKey} has to be used. But until this re-definition of the
+ \DescRef{\LabelBase.cmd.DefineFamilyKey} has to be used. But until this re-definition of the
option, a second definition is made, that calls the option again while
\Macro{begin}\PParameter{document} for the whole family and so also for
other sausage salad packages.
\end{Example}
%
-\EndIndex{Cmd}{FamilyOptions}%
+\EndIndexGroup
\begin{Declaration}
\Macro{FamilyOption}\Parameter{family}%
\Parameter{option}\Parameter{values list}%
\end{Declaration}
-\BeginIndex{Cmd}{FamilyOption}%
Besides options that have concurrently excluding values, there may be options
-that produce several values at the same time. Using \Macro{FamilyOptions} for
+that produce several values at the same time. Using \DescRef{\LabelBase.cmd.FamilyOptions} for
that type of option would result in using the same option several times with
different value assignments. Instead of this, \Macro{FamilyOption} may be used
to assign a whole \PName{values list} to the same \PName{option}. The
@@ -510,7 +491,7 @@ to assign a whole \PName{values list} to the same \PName{option}. The
\end{tabular}\end{flushleft}
By the way, please note that usage of a comma inside a value may be done only
if the value is put inside braces. The general functionality of this command
-is the same as that of the previous command \Macro{FamilyOptions}.
+is the same as that of the previous command \DescRef{\LabelBase.cmd.FamilyOptions}.
\begin{Example}
Package \Package{sausagesalad} should have one mire option, to add
additional ingredients. Each of the ingredients sets a switch as was done
@@ -539,56 +520,55 @@ is the same as that of the previous command \Macro{FamilyOptions}.
\end{lstcode}
\end{Example}
%
-\EndIndex{Cmd}{FamilyOption}%
+\EndIndexGroup
\begin{Declaration}
\Macro{AtEndOfFamilyOptions}\Parameter{action}%
\end{Declaration}
-\BeginIndex{Cmd}{AtEndOfFamilyOptions}%
Sometimes\ChangedAt{v3.12}{\Package{scrbase}} it is useful to delay the
execution of an \PName{action} that is part of a value assignment to a key
-until all assignments inside one \Macro{FamilyProcessOptions},
-\Macro{FamilyExecuteOptions}, \Macro{FamilyOptions}, or \Macro{FamilyOption}
-is finished. This may be done using \Macro{AtEndOfFamilyOptions} inside
-an option definition. Reporting failure states of \PName{action} is not
-possible in this case. Furthermore, the command should not be used outside an
-option definition.
+until all assignments inside one
+\DescRef{\LabelBase.cmd.FamilyProcessOptions},
+\DescRef{\LabelBase.cmd.FamilyExecuteOptions},
+\DescRef{\LabelBase.cmd.FamilyOptions}, or
+\DescRef{\LabelBase.cmd.FamilyOption} is finished. This may be done using
+\Macro{AtEndOfFamilyOptions} inside an option definition. Reporting failure
+states of \PName{action} is not possible in this case. Furthermore, the
+command should not be used outside an option definition.
%
-\EndIndex{Cmd}{AtEndOfFamilyOptions}%
+\EndIndexGroup
\begin{Declaration}
\Macro{FamilyBoolKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\Parameter{switch name}\\
+ \Parameter{key}\Parameter{switch name}%
\Macro{FamilySetBool}\Parameter{family}%
\Parameter{key}\Parameter{switch name}\Parameter{value}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyBoolKey}%
-\BeginIndex{Cmd}{FamilySetBool}%
In the previous examples, boolean switches often have been used. In the example
with option \Option{coldcuts}, it is necessary that the user assigns either
value \PValue{true} or value \PValue{false}. There is no error message for
wrong value assignment. Because of this, boolean switches are a necessary
feature. Package \Package{scrbase} provides \Macro{FamilyBoolKey} for definition of
such options. Therefore, the arguments \PName{family member}, \PName{family}, and
-\PName{key} are the same as that used by \Macro{DefineFamilyKey} (see
-\autopageref{desc:scrbase.cmd.DefineFamilyKey}). Argument \PName{switch name}
+\PName{key} are the same as that used by \DescRef{\LabelBase.cmd.DefineFamilyKey} (see
+\DescPageRef{scrbase.cmd.DefineFamilyKey}). Argument \PName{switch name}
is the name of the switch without the prefix \Macro{if}. If a switch with this
name does not exist already, \Macro{FamilyBoolKey} will define it and
initialize it to \PName{false}. Internally \Macro{FamilyBooKey} uses
-\Macro{FamilySetBool} as \PName{action} of \Macro{DefineFamilyKey}. The
+\Macro{FamilySetBool} as \PName{action} of \DescRef{\LabelBase.cmd.DefineFamilyKey}. The
\PName{default} for those options is always \PValue{true}.
On the other hand, \Macro{FamilySetBool} understands \PName{value} \PValue{on}
and \PValue{yes} beside \PName{true} for switching on and \PName{off} and
\PName{no} beside \PName{false} for switching off. Unknown values will result
-in a call of \Macro{FamilyUnknownKeyValue} with the arguments \PName{family},
-\PName{key}, and \PName{value}, which results in setting of
-\Macro{FamilyKeyState}. Depending on the command used and other family
-members, this may result in an error message about unknown value assignment
-(see also \autopageref{desc:scrbase.cmd.FamilyUnkownKeyValue} and
-\autopageref{desc:scrbase.cmd.FamilyKeyState}).
+in a call of \DescRef{\LabelBase.cmd.FamilyUnknownKeyValue} with the arguments
+\PName{family}, \PName{key}, and \PName{value}, which results in setting of
+\DescRef{\LabelBase.cmd.FamilyKeyState}. Depending on the command used and
+other family members, this may result in an error message about unknown value
+assignment (see also \DescPageRef{scrbase.cmd.FamilyUnknownKeyValue} and
+\DescPageRef{scrbase.cmd.FamilyKeyState}).
\begin{Example}
The key \Option{coldcuts} should be declared somehow more
robust. Additionally, all sausage packages should use the same key. So
@@ -624,26 +604,21 @@ members, this may result in an error message about unknown value assignment
\end{lstcode}
using the additional information at
\autopageref{explain:scrbase.macro.DefineFamilyKey}, this is not only valid
- for \Macro{DefineFamilyKey} but for \Macro{FamilyBoolKey} too.
+ for \DescRef{\LabelBase.cmd.DefineFamilyKey} but for \Macro{FamilyBoolKey} too.
\end{Example}
%
-\EndIndex{Cmd}{FamilySetBool}%
-\EndIndex{Cmd}{FamilyBoolKey}
+\EndIndexGroup
\begin{Declaration}
\Macro{FamilyNumericalKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{FamilyNumericalKey}}%
+ \Parameter{key}%
\OParameter{default}\Parameter{command}%
- \Parameter{values list}\\
- \Macro{FamilySetNumerical}\Parameter{family}\Parameter{key}\\
- \hphantom{\XMacro{FamilySetNumerical}}%
+ \Parameter{values list}%
+ \Macro{FamilySetNumerical}\Parameter{family}\Parameter{key}%
\Parameter{command}\Parameter{values list}%
\Parameter{value}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyNumericalKey}%
-\BeginIndex{Cmd}{FamilySetNumerical}%
In contrast to switches that may be either true or false, a key exists
that accept several values. For example an alignment may not only be left or
not left, but left, centered, or right. Internally such
@@ -714,78 +689,67 @@ assignment.
\end{lstcode}
\end{Example}
Internally, \Macro{FamilyNumericalKey} uses \Macro{FamilySetNumerical} as
-\PName{action} of \Macro{DefineFamilyKey}. If a unknown value is assigned to
-such a key, \Macro{FamilySetNumerical} will call \Macro{FamilyUnkownKeyValue}
-with the arguments \PName{family}, \PName{key} and \PName{value}. This will
-normally result in an error message about assigning an unknown value.
+\PName{action} of \DescRef{\LabelBase.cmd.DefineFamilyKey}. If a unknown value
+is assigned to such a key, \Macro{FamilySetNumerical} will call
+\DescRef{\LabelBase.cmd.FamilyUnknownKeyValue} with the arguments
+\PName{family}, \PName{key} and \PName{value}. This will normally result in an
+error message about assigning an unknown value.
%
-\EndIndex{Cmd}{FamilySetNumerical}%
-\EndIndex{Cmd}{FamilyNumericalKey}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{FamilyCounterKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{FamilyCounterKey}}%
- \OParameter{default}\Parameter{\LaTeX{} counter}\\
+ \Parameter{key}%
+ \OParameter{default}\Parameter{\LaTeX{} counter}%
\Macro{FamilySetCounter}\Parameter{family}%
\Parameter{key}\Parameter{\LaTeX{} counter}\Parameter{value}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyCounterKey}%
-\BeginIndex{Cmd}{FamilySetCounter}%
-Beside\ChangedAt{v3.12}{\Package{scrbase}} \Macro{FamilyNumercialKey} that
-defines a macro to a numeric value depending on a symbolic value, there are
-circumstances when a \PName{key} directly represents a \PName{\LaTeX{}
- counter}, that should be assigned directly to a numeric value. In those
-cases, \Macro{FamilyCounterKey} can be used that internally will call
-\Macro{FamilySetCounter}. A primary test of the \PName{value} argument is done
-that only detects whether or not usage of \PName{value} as a number is
-plausible. The assignment is done, only if this plausibility test is
-successful. Nevertheless the assignment can still fail and result in a \TeX{}
-error. But if the plausibility test fails already, this is signalled by
-\Macro{FamilyKeyStateUnknownValue}.
+Beside\ChangedAt{v3.12}{\Package{scrbase}}
+\DescRef{\LabelBase.cmd.FamilyNumericalKey} that defines a macro to a numeric
+value depending on a symbolic value, there are circumstances when a
+\PName{key} directly represents a \PName{\LaTeX{} counter}, that should be
+assigned directly to a numeric value. In those cases, \Macro{FamilyCounterKey}
+can be used that internally will call \Macro{FamilySetCounter}. A primary test
+of the \PName{value} argument is done that only detects whether or not usage
+of \PName{value} as a number is plausible. The assignment is done, only if
+this plausibility test is successful. Nevertheless the assignment can still
+fail and result in a \TeX{} error. But if the plausibility test fails already,
+this is signalled by \DescRef{\LabelBase.cmd.FamilyKeyStateUnknownValue}.
If\ChangedAt{v3.15}{\Package{scrbase}} the value is omitted, the
\PName{default} is used instead. If there is no \PName{default}, the
\PName{key} can be used only with a value being defined.%
-\EndIndex{Cmd}{FamilySetCounter}%
-\EndIndex{Cmd}{FamilyCounterKey}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{FamilyCounterMacroKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{FamilyCounterMacroKey}}%
- \OParameter{default}\Parameter{macro}\\
+ \Parameter{key}%
+ \OParameter{default}\Parameter{macro}%
\Macro{FamilySetCounterMacro}\Parameter{family}%
\Parameter{key}\Parameter{macro}\Parameter{value}%
\end{Declaration}
-\BeginIndex{Cmd}{FamilyCounterMacroKey}%
-\BeginIndex{Cmd}{FamilySetCounterMacro}%
These\ChangedAt{v3.12}{\Package{scrbase}} two commands differ from the
-previously described \Macro{FamilyCounterKey} and \Macro{FamilySetCounter}
+previously described \DescRef{\LabelBase.cmd.FamilyCounterKey} and \DescRef{\LabelBase.cmd.FamilySetCounter}
only by the fact, that they do not assign a \PName{value} to a \PName{\LaTeX
counter}, but define a \Macro{macro} with the
\PName{value}.%
-\EndIndex{Cmd}{FamilySetCounterMacro}%
-\EndIndex{Cmd}{FamilyCounterMacroKey}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{FamilyLengthKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{FamilyLengthKey}}%
- \OParameter{default}\Parameter{length}\\
+ \Parameter{key}%
+ \OParameter{default}\Parameter{length}%
\Macro{FamilySetLength}\Parameter{family}%
- \Parameter{key}\Parameter{length}\Parameter{value}\\
+ \Parameter{key}\Parameter{length}\Parameter{value}%
\Macro{FamilyLengthMacroKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{FamilyLengthMacroKey}}%
- \OParameter{default}\Parameter{Makro}\\
+ \Parameter{key}%
+ \OParameter{default}\Parameter{Makro}%
\Macro{FamilySetLengthMacro}\Parameter{family}%
- \Parameter{key}\Parameter{Makro}\Parameter{value}%
+ \Parameter{key}\Parameter{Makro}\Parameter{value}%
\end{Declaration}
-\BeginIndex{Cmd}{FamilyLengthKey}%
-\BeginIndex{Cmd}{FamilySetLength}%
-\BeginIndex{Cmd}{FamilyLengthMacroKey}%
-\BeginIndex{Cmd}{FamilySetLengthMacro}%
With\ChangedAt{v3.12}{\Package{scrbase}} \Macro{FamilyLengthKey} you can
define a \PName{key} that represents a \PName{length}. It does not matter
whether the \PName{length} is a \LaTeX{} length, a \TeX{} skip or a \TeX{}
@@ -795,7 +759,7 @@ whether or not it is plausible to assign \PName{length} to \PName{value}. The
assignment is done only if this plausibility test is successful. Nevertheless,
not all assignment errors can be recognised, so an inaccurate \PName{value}
can still result in \TeX{} error. Recognised errors however will be signalled
-by \Macro{FamilyKeyStateUnknownValue}.
+by \DescRef{\LabelBase.cmd.FamilyKeyStateUnknownValue}.
If\ChangedAt{v3.15}{\Package{scrbase}} the value is omitted,
the \PName{default} is used instead. If there is no \PName{default}, the
@@ -805,35 +769,31 @@ In difference to this, \Macro{FamilyLengthMacroKey} and
\Macro{FamilySetLengthMacro} do not assign \PName{value} to a \PName{length},
but define a \Macro{macro} with this
\PName{value}.%
-\EndIndex{Cmd}{FamilySetLengthMacro}%
-\EndIndex{Cmd}{FamilyLengthMacroKey}%
-\EndIndex{Cmd}{FamilySetLength}%
-\EndIndex{Cmd}{FamilyLengthKey}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{FamilyStringKey}\OParameter{family member}\Parameter{family}%
- \Parameter{key}\\
- \hphantom{\XMacro{FamilyStringKey}}%
+ \Parameter{key}%
\OParameter{default}\Parameter{command}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyStringKey}%
This defines\ChangedAt{v3.08}{\Package{scrbase}} a \PName{key} that accepts
every value. The value will be stored into the given \Macro{command}. If there
is no optional argument for the \PName{default}, \Macro{FamilyStringKey} is
the same as:
\begin{quote}
-\Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}%
+\DescRef{\LabelBase.cmd.DefineFamilyKey}\OParameter{family member}\Parameter{family}%
\Parameter{key}\\
-\hphantom{\Macro{DefineFamilyKey}}%
+\hphantom{\DescRef{\LabelBase.cmd.DefineFamilyKey}}%
\PParameter{\Macro{def}\PName{command}\string{\#1\string}%
-\Macro{FamilyKeyStateProcessed}}.
+\DescRef{\LabelBase.cmd.FamilyKeyStateProcessed}}.
\end{quote}
If an optional argument \PName{default} is used, \Macro{FamilyStringKey}
is the same as:
\begin{quote}
-\Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}%
+\DescRef{\LabelBase.cmd.DefineFamilyKey}\OParameter{family member}\Parameter{family}%
\Parameter{key}\\
-\hphantom{\Macro{DefineFamilyKey}}%
+\hphantom{\DescRef{\LabelBase.cmd.DefineFamilyKey}}%
\OParameter{default}%
\PParameter{\Macro{def}\PName{command}\string{\#1\string}}.
\end{quote}
@@ -860,15 +820,13 @@ In this case there are not unknown values because all values are simply used
for a macro definition. Nevertheless, you should note that paragraph breaks
at the value assignment to the key are not allowed.
%
-\EndIndex{Cmd}{FamilyStringKey}%
+\EndIndexGroup
\begin{Declaration}
- \Macro{FamilyUnkownKeyValue}\Parameter{family}\Parameter{key}%
- \Parameter{value}\Parameter{values list}%
+ \Macro{FamilyUnknownKeyValue}\Parameter{family}\Parameter{key}%
+ \Parameter{value}\Parameter{values list}%
\end{Declaration}
-\BeginIndex{Cmd}{FamilyUnkownKeyValue}%
-\BeginIndex{Cmd}{FamilyElseValues}%
The command \Macro{FamilyUnknownKeyValue} throws and error message about
unknown values assigned to a known key. The \PName{values list} is a comma
separated list of allowed values in the form:
@@ -905,39 +863,42 @@ not used by \Package{scrbase}.
\end{lstcode}
Let's have a look at the definition of \Option{butcher}:
First of all, we try to set the boolean switch of cold cuts using
- \Macro{FamilySetBool}. After this command, we test whether or not
- \Macro{FamilyKeyState} signals the success of the command with state
- \Macro{FamilyKeyStateProcessed}. If so, only the thin cut has to be
- deactivated.
+ \DescRef{\LabelBase.cmd.FamilySetBool}. After this command, we test whether
+ or not \DescRef{\LabelBase.cmd.FamilyKeyState} signals the success of the
+ command with state \DescRef{\LabelBase.cmd.FamilyKeyStateProcessed}. If so,
+ only the thin cut has to be deactivated.
In the other case, the value will be tested to be equal to \PValue{thin}. In
that case, cold cuts and thin cut are activated and the state will be
- switched to \Macro{FamilyKeyStateProcessed}. If the last test failed also,
- the failure state of \Macro{FamilySetBool} is still valid at the end of the
+ switched to \DescRef{\LabelBase.cmd.FamilyKeyStateProcessed}. If the last
+ test failed also, the failure state of
+ \DescRef{\LabelBase.cmd.FamilySetBool} is still valid at the end of the
execution.
Command \Macro{ifstr} is used for the thin test. It is
- described on \autopageref{desc:scrbase.cmd.ifstr} in
+ described on \DescPageRef{scrbase.cmd.ifstr} in
\autoref{sec:scrbase.if}.
\end{Example}
%
-\EndIndex{Cmd}{FamilyUnkownKeyValue}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{FamilyElseValues}
\end{Declaration}
-\BeginIndex{Cmd}{FamilyElseValues}%
With former releases\ChangedAt{v3.12}{\Package{scrbase}} of \Package{scrbase},
-additional allowed values reported by \Macro{FamilyUnknownKeyValue} can be
-set re-defining \Macro{FamilyElseValues} in the form:
+additional allowed values reported by
+\DescRef{\LabelBase.cmd.FamilyUnknownKeyValue} can be set re-defining
+\Macro{FamilyElseValues} in the form:
\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l}
\texttt{,} `\PName{value}'\texttt{,} `\PName{value}' \dots
\end{tabular}\vskip\dp\strutbox\end{flushleft}
-Since release~3.12 \Macro{FamilyUnknownValue} does not report errors itself,
-but signals them using \Macro{FamilyKeyState}. Therefore,
-\Macro{FamilyElseValues} became deprecated. Nevertheless, its former usage is
-recognised by \Package{scrbase} and results in a code change demand message.%
-\EndIndex{Cmd}{FamilyElseValues}%
+Since release~3.12 \DescRef{\LabelBase.cmd.FamilyUnknownKeyValue} does not
+report errors itself, but signals them using
+\DescRef{\LabelBase.cmd.FamilyKeyState}. Therefore, \Macro{FamilyElseValues}
+became deprecated. Nevertheless, its former usage is recognised by
+\Package{scrbase} and results in a code change demand message.%
+\EndIndexGroup
\section{Conditional Execution}
@@ -945,8 +906,7 @@ recognised by \Package{scrbase} and results in a code change demand message.%
The package \Package{scrbase} provides several commands for conditional
execution. other than the \TeX{} syntax of conditionals, e.\,g.,
-% Umbruchkorrektur
-\begin{lstcode}[belowskip=\dp\strutbox]
+\begin{lstcode}
\iftrue
...
\else
@@ -962,8 +922,8 @@ conditionals of \Package{scrbase} are very basic. Because of this
\Package{scrbase} firstly defines these conditionals as internal commands with
prefix \Macro{scr@}. Additional user commands without this prefix are
subsequently defined. But the definition of the user commands may be
-suppressed with option \Option{internalonly} (see
-\autoref{sec:scrbase.loadit}, \autopageref{desc:scrbase.option.internalonly}).
+suppressed with option \DescRef{\LabelBase.option.internalonly} (see
+\autoref{sec:scrbase.loadit}, \DescPageRef{scrbase.option.internalonly}).
Authors of packages and classes should use the internal commands as
\KOMAScript{} itself does. Nevertheless, for completeness the user commands
@@ -972,12 +932,10 @@ are described separately.
\begin{Declaration}
\Macro{scr@ifundefinedorrelax}%
- \Parameter{name}\Parameter{then instructions}\Parameter{else instructions}\\
+ \Parameter{name}\Parameter{then instructions}\Parameter{else instructions}%
\Macro{ifundefinedorrelax}%
\Parameter{name}\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{scr@ifundefinedorrelax}%
-\BeginIndex{Cmd}{ifundefinedorrelax}%
This command has almost the same functionality as \Macro{@ifundefined} from
the \LaTeX{} kernel (see \cite{latex:source2e}). So the \PName{then
instructions} will be executed if \PName{name} is the name of a command
@@ -987,289 +945,270 @@ that is currently either not defined or \Macro{relax}. Otherwise, the
in the event it was not defined before. Moreover, using \eTeX{} this case will
not consume any hash memory.%
%
-\EndIndex{Cmd}{ifundefinedorrelax}%
-\EndIndex{Cmd}{scr@ifundefinedorrelax}%
+\EndIndexGroup
\begin{Declaration}
\Macro{scr@ifpdftex}%
- \Parameter{then instructions}\Parameter{else instructions}\\
+ \Parameter{then instructions}\Parameter{else instructions}%
\Macro{ifpdftex}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{scr@ifpdftex}%
-\BeginIndex{Cmd}{ifpdftex}%
If pdf\TeX{} has been used, the \PName{then instructions} will be executed,
otherwise the \PName{else instructions}. Whether or not a PDF-file is
generated does not matter, and the pdf\TeX{} test is rarely useful. In
general, test for the desired command instead (see previous
-\Macro{scr@ifundefinedorrelax} and \Macro{ifundefinedorrelax}).
+\Macro{scr@ifundefinedorrelax} and
+\DescRef{\LabelBase.cmd.ifundefinedorrelax}).
%
-\EndIndex{Cmd}{ifpdftex}%
-\EndIndex{Cmd}{scr@ifpdftex}%
+\EndIndexGroup
\begin{Declaration}
\Macro{scr@ifVTeX}%
- \Parameter{then instructions}\Parameter{else instructions}\\
+ \Parameter{then instructions}\Parameter{else instructions}%
\Macro{ifVTeX}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{scr@ifVTeX}%
-\BeginIndex{Cmd}{ifVTeX}%
If V\TeX{} has been used, the \PName{then instructions} will be executed,
otherwise the \PName{else instructions}. This test is seldom useful. Test for
the desired command instead (see previous \Macro{scr@ifundefinedorrelax} and
-\Macro{ifundefinedorrelax}).
+\DescRef{\LabelBase.cmd.ifundefinedorrelax}).
%
-\EndIndex{Cmd}{ifVTeX}%
-\EndIndex{Cmd}{scr@ifVTeX}%
+\EndIndexGroup
\begin{Declaration}
\Macro{scr@ifpdfoutput}%
- \Parameter{then instructions}\Parameter{else instructions}\\
+ \Parameter{then instructions}\Parameter{else instructions}%
\Macro{ifpdfoutput}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{scr@ifpdfoutput}%
-\BeginIndex{Cmd}{ifpdfoutput}%
When generating a PDF-file the \PName{then instructions} will be executed,
otherwise the \PName{else instructions}. Whether pdf\TeX{} or V\TeX{} or
another \TeX{} engine is used to generate the PDF-file does not matter.
%
-\EndIndex{Cmd}{ifpdfoutput}%
-\EndIndex{Cmd}{scr@ifpdfoutput}%
+\EndIndexGroup
\begin{Declaration}
\Macro{scr@ifpsoutput}%
- \Parameter{then instructions}\Parameter{else instructions}\\
+ \Parameter{then instructions}\Parameter{else instructions}%
\Macro{ifpsoutput}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{scr@ifpsoutput}%
-\BeginIndex{Cmd}{ifpsoutput}%
When generating a PostScript-file the \PName{then instructions} will be
executed, otherwise the \PName{else instructions}. V\TeX{} provides direct
PostScript generation that will be recognised here. If V\TeX{} is not used,
but a switch \Macro{if@dvips} has been defined, the decision depends on that
switch. \KOMAScript{} provides \Macro{if@dvips} in \Package{typearea}.
%
-\EndIndex{Cmd}{ifpsoutput}%
-\EndIndex{Cmd}{scr@ifpsoutput}%
+\EndIndexGroup
\begin{Declaration}
\Macro{scr@ifdvioutput}%
- \Parameter{then instructions}\Parameter{else instructions}\\
+ \Parameter{then instructions}\Parameter{else instructions}%
\Macro{ifdvioutput}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{scr@ifdvioutput}%
-\BeginIndex{Cmd}{ifdvioutput}%
When generating a DVI-file the \PName{then instructions} will be executed,
otherwise the \PName{else instructions}. If neither a direct PDF-file
generation nor a direct PostScript-file generation has been detected, DVI-file
generation is assumed.
%
-\EndIndex{Cmd}{ifdvioutput}%
-\EndIndex{Cmd}{scr@ifdvioutput}%
+\EndIndexGroup
\begin{Declaration}
\Macro{ifnotundefined}\Parameter{name}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifnotundefined}%
\eTeX{} will be used to test, whether or not a command with the given
\PName{name} has already been defined. The \PName{then instructions} will be
executed if the command is defined, otherwise the \PName{else
instructions}. There is no corresponding internal command.
%
-\EndIndex{Cmd}{ifnotundefined}%
+\EndIndexGroup
\begin{Declaration}
\Macro{ifstr}\Parameter{string}\Parameter{string}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifstr}%
Both \PName{string} arguments are expanded and afterwards compared. If the
expansions are the same, the \PName{then instructions} will be executed,
otherwise the \PName{else instructions}. There is no corresponding internal
command.
%
-\EndIndex{Cmd}{ifstr}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifstrstart}\Parameter{string}\Parameter{string}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifstrstart}%
Both\ChangedAt{v3.12}{\Package{scrbase}} \PName{string} arguments are
expanded and afterwards compared. If aside from white spaces the first string
starts with the second one, the \PName{then instructions} will be executed,
otherwise the \PName{else instructions}. The command is not completely
expandable and there is no corresponding internal command.%
-\EndIndex{Cmd}{ifstrstart}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisdimen}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisdimen}%
If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in
a \Macro{dimen}, which is also known as \TeX{} length register, the
\PName{then instructions} will be executed, otherwise the \PName{else
instructions}. The command is not completely expandable and there is no
corresponding internal command.%
-\EndIndex{Cmd}{ifisdimen}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisdimension}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisdimension}%
If\ChangedAt{v3.12}{\Package{scrbase}} \PName{code} expands to something with
the syntax of the value of a length, the \PName{then instructions} will be
executed, otherwise the \PName{else instructions}. Please
note\textnote{Attention!} that currently an invalid unit will result in an
error message. The command is not completely expandable and there is no
corresponding internal command.%
-\EndIndex{Cmd}{ifisdimension}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisdimexpr}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisdimexpr}%
If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in
a \Macro{dimexpr}, which is also known as \TeX{} length expression, the
\PName{then instructions} will be executed, otherwise the \PName{else
instructions}. Note\textnote{Attention!} that illegal expressions will
result in error messages. The command is not completely expandable and there
is no corresponding internal command.%
-\EndIndex{Cmd}{ifisdimexpr}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisskip}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisskip}%
If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in
a \Macro{skip}, which is also known as \TeX{} distance register, the
\PName{then instructions} will be executed, otherwise the \PName{else
instructions}. The command is not completely expandable and there is no
corresponding internal command.%
-\EndIndex{Cmd}{ifisskip}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisglue}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisglue}%
If\ChangedAt{v3.12}{\Package{scrbase}} \PName{code} expands to something with
the syntax of the value of a skip, the \PName{then instructions} will be
executed, otherwise the \PName{else instructions}. Please
note\textnote{Attention!} that currently an invalid unit will result in an
error message. The command is not completely expandable and there is no
corresponding internal command.%
-\EndIndex{Cmd}{ifisglue}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisglueexpr}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisglueexpr}%
If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in
a \Macro{glueexpr}, which is also known as \TeX{} distance expression, the
\PName{then instructions} will be executed, otherwise the \PName{else
instructions}. Note,\textnote{Attention!} that illegal expressions will
result in error messages. The command is not completely expandable and there
is no corresponding internal command.%
-\EndIndex{Cmd}{ifisglueexpr}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifiscount}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifiscount}%
If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in
a \Macro{count}, which is also known as \TeX{} counter register, the
\PName{then instructions} will be executed, otherwise the \PName{else
instructions}. The command is not completely expandable and there is no
corresponding internal command. For test with \LaTeX{} counters, see
-\Macro{ifiscounter}.%
-\EndIndex{Cmd}{ifiscount}%
+\DescRef{\LabelBase.cmd.ifiscounter}.%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisinteger}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisinteger}%
If\ChangedAt{v3.12}{\Package{scrbase}} \PName{code} expands to something with
the syntax of the value of a counter, which would be a negative or positive
integer, the \PName{then instructions} will be executed, otherwise the
\PName{else instructions}. The command is not completely expandable and there
is no corresponding internal command.%
-\EndIndex{Cmd}{ifisinteger}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifisnumexpr}\Parameter{code}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifisnumexpr}%
If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in
a \Macro{numexpr}, which is also known as \TeX{} number expression, the
\PName{then instructions} will be executed, otherwise the \PName{else
instructions}. Note\textnote{Attention!} that illegal expressions will
result in error messages. The command is not completely expandable and there
is no corresponding internal command.%
-\EndIndex{Cmd}{ifisnumexpr}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifiscounter}\Parameter{counter}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifiscounter}%
If\ChangedAt{v3.12}{\Package{scrbase}} \PName{counter} is an already defined
\LaTeX{} counter, the \PName{then instructions} will be executed, otherwise
the \PName{else instructions}. The command is not completely expandable and
there is no corresponding internal command.%
-\EndIndex{Cmd}{ifiscounter}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ifnumber}\Parameter{string}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifnumber}%
Note that this does not compare numbers. The \PName{then instructions} will
be executed if the one step expansion of \PName{string} consists of digits
only. Otherwise the \PName{else instructions} will be used. There is no
corresponding internal command.
%
-\EndIndex{Cmd}{ifnumber}%
+\EndIndexGroup
\begin{Declaration}
\Macro{ifdimen}\Parameter{string}%
\Parameter{then instructions}\Parameter{else instructions}
\end{Declaration}
-\BeginIndex{Cmd}{ifdimen}%
Note that this does not compare dimensions. The \PName{then instructions} will
be executed, if the one step expansion of \PName{string} consists of digits
and a valid unit of length. Otherwise, the \PName{else instructions} will be
used. There is no corresponding internal command.
%
-\EndIndex{Cmd}{ifdimen}%
+\EndIndexGroup
\begin{Declaration}
- \Macro{if@atdocument}\ \PName{the instructions}
- \Macro{else}\ \PName{else instructions} \Macro{fi}
+ \Macro{if@atdocument}\ \PName{the instructions}\ %
+ \textMacro{else}\ \PName{else instructions}\ \textMacro{fi}
\end{Declaration}
-\BeginIndex{Cmd}{if@atdocument}%
This command exists intentionally as internal command only. In the document
preamble \Macro{if@atdocument} is same as \Macro{iffalse}. After
\Macro{begin}\PParameter{document} it's the same as \Macro{iftrue}. Authors of
@@ -1278,11 +1217,12 @@ depending on whether it has been used in the preamble or inside the documents
body. Please note\textnote{Attention!} that this is a condition in \TeX{}
syntax not in \LaTeX{} syntax!
%
-\EndIndex{Cmd}{if@atdocument}%
+\EndIndexGroup
\section{Definition of Language-Dependent Terms}
\seclabel{languageSupport}
+\BeginIndexGroup
\BeginIndex{}{language>definition}
\index{language>dependent terms|see{language definition}}
\index{terms>language-dependent|see{language definition}}
@@ -1304,26 +1244,22 @@ provides some additional commands for defining language-dependent terms.
\begin{Declaration}
\Macro{defcaptionname}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{providecaptionname}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{newcaptionname}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{renewcaptionname}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{defcaptionname*}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{providecaptionname*}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{newcaptionname*}%
- \Parameter{language list}\Parameter{term}\Parameter{definition}\\
+ \Parameter{language list}\Parameter{term}\Parameter{definition}%
\Macro{renewcaptionname*}%
\Parameter{language list}\Parameter{term}\Parameter{definition}
\end{Declaration}
-\BeginIndex{Cmd}{defcaptionname}%
-\BeginIndex{Cmd}{providecaptionname}%
-\BeginIndex{Cmd}{newcaptionname}%
-\BeginIndex{Cmd}{renewcaptionname}%
Using one of these commands, the user can assign a \PName{definition} for a
particular language to a \PName{term}. Several languages can be concatenated
with comma to a \PName{language list}. The \PName{term} is always a
@@ -1493,12 +1429,9 @@ packages are listed and described in \autoref{tab:scrbase.commonNames}.
}%
\end{desclist}
%
-\EndIndex{Cmd}{providecaptionname}%
-\EndIndex{Cmd}{newcaptionname}%
-\EndIndex{Cmd}{renewcaptionname}%
-\EndIndex{Cmd}{defcaptionname}%
+\EndIndexGroup
%
-\EndIndex{}{language>definition}
+\EndIndexGroup
\section{Identification of \KOMAScript}
@@ -1512,19 +1445,17 @@ to identify itself as a \KOMAScript{} package.
\begin{Declaration}
\Macro{KOMAScript}
\end{Declaration}
-\BeginIndex{Cmd}{KOMAScript}%
This command only sets the word ``\KOMAScript'' with sans-serif font and
a little bit tracking for the capitals. By the way: All \KOMAScript{} classes
and packages define this command, if it has not been defined already. The
definition is robust using \Macro{DeclareRobustCommand}.
%
-\EndIndex{Cmd}{KOMAScript}
+\EndIndexGroup
\begin{Declaration}
\Macro{KOMAScriptVersion}
\end{Declaration}
-\BeginIndex{Cmd}{KOMAScriptVersion}%
\KOMAScript{} defines the main version of \KOMAScript{} in this command. It
has the form ``\PName{date} \PName{version} \texttt{KOMA-Script}''. This main
version is same for all \KOMAScript{} classes and the \KOMAScript{} packages
@@ -1532,7 +1463,7 @@ that are essential for the classes. Because of this, it may be inquired after
loading \Package{scrbase}, too. For example, this document has been made using
\KOMAScript{} version ``\KOMAScriptVersion''.
%
-\EndIndex{Cmd}{KOMAScriptVersion}%
+\EndIndexGroup
\section{Extension of the \LaTeX{} Kernel}
@@ -1543,11 +1474,9 @@ similar commands that would often be useful, too. Some of those commands for
authors of packages and classes are provided by \Package{scrbase}.
\begin{Declaration}
- \Macro{ClassInfoNoLine}\Parameter{class name}\Parameter{information}\\
+ \Macro{ClassInfoNoLine}\Parameter{class name}\Parameter{information}%
\Macro{PackageInfoNoLine}\Parameter{package name}\Parameter{information}%
\end{Declaration}%
-\BeginIndex{Cmd}{PackageInfoNoLine}%
-\BeginIndex{Cmd}{ClassInfoNoLine}%
For authors of classes and package the \LaTeX{} kernel already provides
commands like \Macro{ClassInfo} and \Macro{PackageInfo} to write information.
together with the current line number, into the log-file. Besides
@@ -1558,14 +1487,12 @@ numbers. Nevertheless, the commands \Macro{ClassInfoNoLine} and
\Macro{PackageInfoNoLine} for writing information without line numbers into the
log-file are missing. Package \Package{scrbase} provides them.
%
-\EndIndex{Cmd}{ClassInfoNoLine}%
-\EndIndex{Cmd}{PackageInfoNoLine}
+\EndIndexGroup
\begin{Declaration}
\Macro{l@addto@macro}\Parameter{command}\Parameter{extension}%
\end{Declaration}%
-\BeginIndex{Cmd}{l@addto@macro}%
The \LaTeX{} kernel already provides an internal command \Macro{g@addto@macro}
to extend the definition of macro \Macro{command} by \PName{extension}
globally. This may be used only for macros that have no
@@ -1575,7 +1502,7 @@ provides such a command with \Macro{l@addto@macro}. An alternative may be
usage of package \Package{etoolbox}\IndexPackage{etoolbox}, which provides
several of such commands for different purposes (see \cite{package:etoolbox}).
%
-\EndIndex{Cmd}{l@addto@macro}
+\EndIndexGroup
\section{Extension of the Mathematical Features of \eTeX}
@@ -1589,11 +1516,9 @@ supported. Correct rounding is done while division. Sometimes additional
operators would be useful.
\begin{Declaration}
- \Macro{XdivY}\Parameter{dividend}\Parameter{divisor}\\
+ \Macro{XdivY}\Parameter{dividend}\Parameter{divisor}%
\Macro{XmodY}\Parameter{dividend}\Parameter{divisor}%
\end{Declaration}%
-\BeginIndex{Cmd}{XdivY}%
-\BeginIndex{Cmd}{XmodY}%
Having a division with remainder command\ChangedAt{v3.05a}{\Package{scrbase}}
\Macro{XdivY} gives the value of the integer quotient, with command
\Macro{XmodY} giving the value of the remainder. This kind of division is
@@ -1610,10 +1535,9 @@ The value may be used for assignment to a counter or directly in the
expression of \Macro{numexpr}. For output the value as an Arabic number has
to be prefixed by \Macro{the}.%
%
-\EndIndex{Cmd}{XmodY}%
-\EndIndex{Cmd}{XdivY}%
+\EndIndexGroup
%
-\EndIndex{Package}{scrbase}%
+\EndIndexGroup
\endinput