diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/latex-referenz/DEoptions.sty')
-rw-r--r-- | Master/texmf-dist/doc/latex/latex-referenz/DEoptions.sty | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/latex-referenz/DEoptions.sty b/Master/texmf-dist/doc/latex/latex-referenz/DEoptions.sty new file mode 100644 index 00000000000..d625f6c5ef5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-referenz/DEoptions.sty @@ -0,0 +1,51 @@ +% $Id: DEoptions.sty 574 2011-09-05 08:17:17Z herbert $ +% Copyright 2011 by Herbert Voss +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +% See the file doc/licenses/LICENSE for more details. + +\RequirePackage{keyval}[1997/11/10] + +\def\ProcessOptionsExa{% + \let\@tempa\@empty + \ifx\@currext\@clsextension% + \else + \@for\CurrentOption:=\@classoptionslist\do{% + \@ifundefined{KV@\@currname @\CurrentOption}% + {}{\edef\@tempa{\@tempa,\CurrentOption,}}}% + \fi + \edef\@tempa{% + \noexpand\setkeys{\@currname}{\@tempa\@ptionlist{\@currname.\@currext}}}% + \let\exa@origkverr\KV@err% + \ifx\@currext\@clsextension\let\KV@errx=\@gobble\fi% never mind + \@tempa% + \let\KV@err\exa@origkverr% + \AtEndOfPackage{\let\@unprocessedoptions\relax}} + +\def\ExecuteOptionsExa#1{\setkeys{\@currname}{#1}} +\def\DeclareOptionExa#1{\@ifnextchar[{\exa@dokv{#1}}{\exa@dokv{#1}[]}} +\long\def\exa@dokv#1[#2]#3{\define@key{\@currname}{#1}[{#2}]{#3}} + +\def\exa@filterclassoptions{% + \def\exa@filteredclassoptionslist{} + \@for\CurrentOption:=\@classoptionslist\do{% + \ifx\CurrentOption\@empty\else + \@expandtwoargs\in@{=}{\CurrentOption}% + \ifin@ + \else + \edef\exa@filteredclassoptionslist{% + \exa@filteredclassoptionslist,\CurrentOption} + \fi + \fi + }% + \let\@classoptionslist=\exa@filteredclassoptionslist% +} + +\newcommand\defexaoption{\define@key{exa@option}} +\newcommand\setexaoption{\setkeys{exa@option}} + +\endinput
\ No newline at end of file |