diff options
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.tex | 462 |
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 |