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 | 45 |
1 files changed, 43 insertions, 2 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 a31bb2da159..7a003c40f3c 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 @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{scrbase.tex} - [$Date: 2015-03-31 11:10:59 +0200 (Tue, 31 Mar 2015) $ + [$Date: 2015-06-17 12:15:52 +0200 (Wed, 17 Jun 2015) $ KOMA-Script package scrbase] \translator{Markus Kohm\and Melvin Hendrix} -% Date of the translated German file: 2015-03-31 +% Date of the translated German file: 2015-06-17 \chapter{Basic Functions of Package \Package{scrbase}} \labelbase{scrbase} @@ -348,6 +348,47 @@ of \Package{keyval}. Ultimately, with the help of \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 +\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}. + +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 +never be deleted. + +\begin{Example} + Now, you are writing a package that loads \Package{liversausage}. But you do + not provide option \Option{coldcut} with this package. So you use + \Macro{BeforeFamilyProcessOptions} to deactivate + that option before loading the package: +\begin{lstcode} + \RequirePackage{scrbase} + \BeforeFamilyProcessOptions[.liversausage.sty]{butcher}{% + \RelaxFamilyKey[.liversausage.sty]{butcher}{coldcut}% + } + \RequirePackageWithOptions{liversausage} +\end{lstcode} + If after this a user tries to load your package with option + \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. +\end{Example} +\EndIndex{Cmd}{BeforeFamilyProcessOptions}% + + +\begin{Declaration} \Macro{FamilyExecuteOptions}\OParameter{family member}\Parameter{family}% \Parameter{options list} \end{Declaration} |