summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/skeyval/tex/skeyval-pstkey.tex
blob: 18a97c4e729bc0b42deecfca5df1d21235de3bfc (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
82
83
84
85
86
87
88
89
90
91
92
93
94
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
% This is file 'skeyval-pstkey.tex', version 1.3, 2013/05/15.              %
%                                                                          %
% This package and accompanying files may be distributed and/or            %
% modified under the conditions of the LaTeX Project Public License,       %
% either version 1.3 of this license or 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 2005/12/01 or later.                                             %
%                                                                          %
% The LPPL maintenance status of this software is 'author-maintained'.     %
%                                                                          %
% This software is provided 'as it is', without warranty of any kind,      %
% either expressed or implied, including, but not limited to, the          %
% implied warranties of merchantability and fitness for a particular       %
% purpose.                                                                 %
%                                                                          %
% The following files constitute the skeyval bundle and must be            %
% distributed as a whole:                                                  %
%                                                                          %
%  README, skeyval.sty, skeyval-core.tex, skeyval-for.tex,                 %
%  skeyval-view.sty, skeyval-ltxpatch.sty, skeyval-ltxcmds.tex,            %
%  skeyval-pstkey.sty, skeyval-pstkey.tex, skeyval-testclass.cls,          %
%  skeyval-testpkg.sty, skeyval-pokayoke1, skeyval-pokayoke2,              %
%  skeyval-view-pokayoke1.                                                 %
%                                                                          %
% Copyright (c) 2010-2013 Ahmed Musa (amusa22@gmail.com).                  %
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%

\begingroup%
\let\e\endlinechar\edef\p{\the\e}\e13\edef\n{\the\catcode\e}%
\xdef\skv@pst@restorecatcodes{%
  \let\noexpand\skv@pst@restorecatcodes\relax%
  \endlinechar=\p\relax\catcode\number\e=\n\relax%
  \catcode\string`\noexpand`\string=\the\catcode\string``\relax%
  \catcode\string`\noexpand=\string=\the\catcode\string`=\relax%
}%
\endgroup%
\endlinechar\string=13\relax%
\catcode13\string=5\relax%
\catcode\string``\string=12\relax
\catcode\string`=\string=12\relax
\def\skvgobble#1{}
\def\do#1{\catcode`\expandafter\skvgobble\string#1=\the\catcode`#1\relax}
\edef\skv@pst@restorecatcodes{%
  \unexpanded\expandafter{\skv@pst@restorecatcodes}%
  \do\ \do\%\do\@\do\(\do\)\do\[\do\]\do\|\do\:\do\;\do\,\do\.%
  \do\>\do\<\do\!\do\*\do\+\do\-\do\^\do\_\do\&\do\$\do\~\do\'%
  \do\"\do\
}
\catcode`\ =10\relax
\catcode`\@=11 \catcode`\(=12 \catcode`\)=12 \catcode`\[=12
\catcode`\]=12 \catcode`\|=12 \catcode`\:=12 \catcode`\;=12
\catcode`\,=12 \catcode`\*=12 \catcode`\+=12 \catcode`\-=12
\catcode`\<=12 \catcode`\>=12 \catcode`\!=12 \catcode`\.=12
\catcode`\^=07 \catcode`\_=08 \catcode`\&=04 \catcode`\$=03
\catcode`\~=13 \catcode`\%=14 \catcode`\'=12 \catcode`\"=12

\csname skeyval-pstkey-loaded\endcsname
\expandafter\let\csname skeyval-pstkey-loaded\endcsname\endinput

\def\skv@pst@afterfi#1\fi{\fi#1}
\def\skv@pst@afterelse#1\else#2\fi{\fi#1}

\ifx\ProvidesFile\@undefined\skv@pst@afterelse
  \message{File 'skeyval-pstkey.tex' 2013/05/15 v1.3
    PSTricks specialization of skeyval package (AM)}
  \input skeyval-core
\else\skv@pst@afterfi
  \ProvidesFile{skeyval-pstkey.tex}
    [2013/05/15 v1.3 PSTricks specialization of skeyval (AM)]
  \@addtofilelist{skeyval-pstkey.tex}
  \@ifpackageloaded{skeyval}{}{\RequirePackage{skeyval}}
\fi

\def\pst@famlist{}
\def\pst@addfams#1{%
  \skvcommaloop{#1}\skv@tempa{%
    \skvxifin{,\skv@tempa,}{,\pst@famlist,}{}{%
      \edef\pst@famlist{\pst@famlist,\skv@tempa}%
    }%
  }%
}
\def\psset{\skvexpandbracenext{\skv@testopt\pss@t}\pst@famlist}
\def\pss@t[#1]#2{\skvsetkeys+[psset]{#1}{#2}\ignorespaces}
\def\@psset#1,\@nil{%
  \edef\skv@tempa{\skvsetkeys+[psset]{\pst@famlist}}%
  \skv@tempa{#1}%
}

\skv@pst@restorecatcodes
\endinput

%% End of file 'skeyval-pstkey.tex'.