%% %% This is file `keyval.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% xkeyval.dtx (with options: `xkvkeyval') %% %% --------------------------------------- %% Copyright (C) 2004-2022 Hendri Adriaens %% --------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Hendri Adriaens. %% %% This work consists of the file xkeyval.dtx and derived files %% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty, %% xkvltxp.sty, xkvutils.tex, pst-xkey.tex, pst-xkey.sty, xkveca.cls, %% xkvecb.cls, xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, %% xkvex2.tex, xkvex3.tex and xkvex4.tex. %% %% The following files constitute the xkeyval bundle and must be %% distributed as a whole: readme, xkeyval.pdf, keyval.tex, %% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty, %% xkvltxp.sty, xkvtxhdr.tex, xkvutils.tex, pst-xkey.dtx and xkeyval.dtx. %% %% %% Based on keyval.sty. %% \def\XKV@tempa#1{% \long\def\KV@@sp@def##1##2{% \futurelet\XKV@resa\KV@@sp@d##2\@nil\@nil#1\@nil\relax##1}% \long\def\KV@@sp@d{% \ifx\XKV@resa\@sptoken \expandafter\KV@@sp@b \else \expandafter\KV@@sp@b\expandafter#1% \fi}% \long\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}% } \XKV@tempa{ } \long\def\KV@@sp@c#1\@nil#2\relax#3{\XKV@toks{#1}\edef#3{\the\XKV@toks}} \long\def\KV@do#1,{% \ifx\relax#1\@empty\else \KV@split#1==\relax \expandafter\KV@do\fi} \long\def\KV@split#1=#2=#3\relax{% \KV@@sp@def\XKV@tempa{#1}% \ifx\XKV@tempa\@empty\else \expandafter\let\expandafter\XKV@tempc \csname\KV@prefix\XKV@tempa\endcsname \ifx\XKV@tempc\relax \XKV@err{`\XKV@tempa' undefined}% \else \ifx\@empty#3\@empty \KV@default \else \KV@@sp@def\XKV@tempb{#2}% \expandafter\XKV@tempc\expandafter{\XKV@tempb}\relax \fi \fi \fi} \def\KV@default{% \expandafter\let\expandafter\XKV@tempb \csname\KV@prefix\XKV@tempa @default\endcsname \ifx\XKV@tempb\relax \XKV@err{No value specified for key `\XKV@tempa'}% \else \XKV@tempb\relax \fi} \def\KV@def#1#2[#3]{% \long\@namedef{KV@#1@#2@default\expandafter}\expandafter {\csname KV@#1@#2\endcsname{#3}}% \long\@namedef{KV@#1@#2}##1} \endinput %% %% End of file `keyval.tex'.