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.tex45
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}