You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.7 KiB
86 lines
2.7 KiB
%%
|
|
%% This is file `keyval.tex',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% xkeyval.dtx (with options: `xkvkeyval')
|
|
%%
|
|
%% ---------------------------------------
|
|
%% Copyright (C) 2004-2014 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'.
|
|
|