blob: cb547cc70093200a1774e2c0c1aaaf600c11c69a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
%%
%% This is file `keyval.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% keyval.dtx (with options: `package')
%%
%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
%%
%% This file is part of the Standard LaTeX `Graphics Bundle'.
%% It may be distributed under the terms of the LaTeX Project Public
%% License, as described in lppl.txt in the base LaTeX distribution.
%% Either version 1.0 or, at your option, any later version.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{keyval}
[1999/03/16 v1.13 key=value parser (DPC)]
\def\setkeys#1#2{%
\def\KV@prefix{KV@#1@}%
\let\@tempc\relax
\KV@do#2,\relax,}
\def\KV@do#1,{%
\ifx\relax#1\empty\else
\KV@split#1==\relax
\expandafter\KV@do\fi}
\def\KV@split#1=#2=#3\relax{%
\KV@@sp@def\@tempa{#1}%
\ifx\@tempa\@empty\else
\expandafter\let\expandafter\@tempc
\csname\KV@prefix\@tempa\endcsname
\ifx\@tempc\relax
\KV@errx
{\@tempa\space undefined}%
\else
\ifx\@empty#3\@empty
\KV@default
\else
\KV@@sp@def\@tempb{#2}%
\expandafter\@tempc\expandafter{\@tempb}\relax
\fi
\fi
\fi}
\def\KV@default{%
\expandafter\let\expandafter\@tempb
\csname\KV@prefix\@tempa @default\endcsname
\ifx\@tempb\relax
\KV@err{No value specified for \@tempa}%
\else
\@tempb\relax
\fi}
\DeclareOption{unknownkeysallowed}{%
\def\KV@errx#1{\PackageInfo{keyval}{#1}}}
\DeclareOption{unknownkeyserror}{%
\def\KV@errx#1{\PackageError{keyval}{#1}\@ehc}}
\ExecuteOptions{unknownkeyserror}
\let\KV@err\KV@errx
\ProcessOptions
\def\@tempa#1{%
\def\KV@@sp@def##1##2{%
\futurelet\KV@tempa\KV@@sp@d##2\@nil\@nil#1\@nil\relax##1}%
\def\KV@@sp@d{%
\ifx\KV@tempa\@sptoken
\expandafter\KV@@sp@b
\else
\expandafter\KV@@sp@b\expandafter#1%
\fi}%
\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%
}
\@tempa{ }
\def\KV@@sp@c#1\@nil#2\relax#3{\KV@toks@{#1}\edef#3{\the\KV@toks@}}
\newtoks\KV@toks@
\def\define@key#1#2{%
\@ifnextchar[{\KV@def{#1}{#2}}{\@namedef{KV@#1@#2}####1}}
\def\KV@def#1#2[#3]{%
\@namedef{KV@#1@#2@default\expandafter}\expandafter
{\csname KV@#1@#2\endcsname{#3}}%
\@namedef{KV@#1@#2}##1}
\endinput
%%
%% End of file `keyval.sty'.
|