summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/keyreader
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-03-06 01:06:09 +0000
committerKarl Berry <karl@freefriends.org>2010-03-06 01:06:09 +0000
commit234872ca368f7e9b20b71cb472263e21e9daaee5 (patch)
treec838e061dbaede10ceb2e38448eff545fa5b1a1d /Master/texmf-dist/tex/latex/keyreader
parentf7c1ee6c9d7fad1fe918ca68e23bf03b95008e1c (diff)
rm keyreader, withdrawn by author
git-svn-id: svn://tug.org/texlive/trunk@17334 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/keyreader')
-rw-r--r--Master/texmf-dist/tex/latex/keyreader/keyreader.sty568
1 files changed, 0 insertions, 568 deletions
diff --git a/Master/texmf-dist/tex/latex/keyreader/keyreader.sty b/Master/texmf-dist/tex/latex/keyreader/keyreader.sty
deleted file mode 100644
index da826d47d9b..00000000000
--- a/Master/texmf-dist/tex/latex/keyreader/keyreader.sty
+++ /dev/null
@@ -1,568 +0,0 @@
-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-% %
-% This is file 'keyreader.sty', version 0.3. %
-% %
-% This package reads multiple keys to be defined by xkeyval.sty. %
-% %
-% 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. %
-% %
-% Copyright (c) 2010 Ahmed Musa (a.musa@rocketmail.com). %
-% %
-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-
-\begingroup
-\catcode064 11% @
-\catcode123 01% {
-\catcode125 02% }
-\def\KR@tempa{\endgroup
- \edef\KR@restorecodes{%
- \catcode035 \the\catcode035% #
- \catcode064 \the\catcode064% @
- \catcode123 \the\catcode123% {
- \catcode125 \the\catcode125% }
- \catcode061 \the\catcode061% =
- }%
-}
-\KR@tempa
-\@makeother{\=}%
-\catcode035=06% #
-\catcode064=11% @
-\catcode123=01% {
-\catcode125=02% }
-\def\KR@ensurecode#1#2{%
- \edef\KR@restorecodes{%
- \KR@restorecodes
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\AtEndOfPackage{\KR@restorecodes}
-\KR@ensurecode{044}{12}% ,
-\KR@ensurecode{058}{12}% :
-\KR@ensurecode{059}{12}% ;
-\ProvidesPackage{keyreader}%
- [2010/01/24 v0.3 Extensions for the xkeyval parser (AM)]
-\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}[2008/08/13]}
-\def\KR@nil{\noexpand\KR@nil}
-\protected\long\def\KR@info#1{\PackageInfo{keyreader}{#1\@gobble}}
-\protected\long\def\KR@warn#1{\PackageWarningNoLine{keyreader}{#1}}
-\protected\long\def\KR@err#1#2{\PackageError{keyreader}{#1}{#2}}
-\protected\long\def\KR@afterfi#1\fi{\fi#1}
-\protected\long\def\KR@afterelsefi#1\else#2\fi{\fi#1}
-\def\KR@commandlistparser#1{%
- \long\def\KR@define@keylist##1##2{%
- \mathchardef\KR@tempcntb=\z@
- ##1\KR@readlist##2#1\KR@nil
- }%
- \long\def\KR@readlist##1#1##2\KR@nil{%
- \KR@ifblank{##1}{}%
- {%
- \KR@ifstrequal{##1}{\stopread}{%
- \mathchardef\KR@tempcntb=\@ne
- \stopread##2\KR@nil
- }{%
- \KR@define@multiple@keys##1\KR@nil
- }%
- }%
- \ifnum\KR@tempcntb=\z@
- \KR@ifblank{##2}{}{\KR@readlist##2\KR@nil}%
- \fi
- }%
-}
-\def\KR@expandargs#1#2#3#4{%
- \begingroup
- \protected@edef\KR@tempa{\endgroup
- \ifcase#1\relax
- \noexpand#2{#3}%
- \or
- \unexpanded{#2#3}{#4}%
- \or
- \noexpand#2{#3}{#4}%
- \or
- {#2}{#3}{#4}%
- \else
- \KR@err{Erroneous expansion type '#1'}{\noexpand\@ehc}
- \fi
- }%
- \KR@tempa
-}
-\long\def\KR@inputerr#1#2{%
- \KR@err{Erroneous value '#1' for key '#2'}{%
- Please use the correct value for key '#2'.}%
-}
-\protected\long\def\KR@ifblank#1{%
- \KR@ifbl@nk#1\KR@nil\KR@nil\@secondoftwo\@firstoftwo:}
-\long\def\KR@ifbl@nk#1#2\KR@nil#3#4#5:{#4}
-\protected\def\KR@xifblank#1{\KR@expandargs{0}\KR@ifblank{#1}}
-\def\KR@findescape#1{%
- \begingroup
- \escapechar=92\relax
- \edef\KR@tempa{\expandafter\@car\string#1\@nil}%
- \ifx\KR@tempa\@backslashchar
- \aftergroup\@secondoftwo
- \else
- \aftergroup\@firstoftwo
- \fi
- \endgroup
-}
-\protected\long\def\KR@ifstrequal#1#2{%
- \begingroup
- \KR@expandargs{1}\KV@@sp@def\KR@tempa{\detokenize{#1}}%
- \KR@expandargs{1}\KV@@sp@def\KR@tempb{\detokenize{#2}}%
- \ifx\KR@tempa\KR@tempb
- \aftergroup\@firstoftwo
- \else
- \aftergroup\@secondoftwo
- \fi
- \endgroup
-}
-\protected\long\def\KR@xifstrequal#1#2{%
- \KR@expandargs{2}\KR@ifstrequal{#1}{#2}%
-}
-\def\KR@listparser@err{%
- \KR@err{List parser '\KR@parser' not allowed}%
- {Use semicolon (preferable) or colon.}%
-}
-\define@cmdkey[KV]{keyreader}[KR@]{parser}[;]{%
- \@onelevel@sanitize\KR@parser
- \KR@xifblank{\KR@parser}{\KR@listparser@err}{}%
- \KR@expandargs{1}\KV@@sp@def\KR@parser\KR@parser%
- \def\KR@tempa{,}%
- \ifx\KR@parser\KR@tempa\KR@listparser@err\fi
- \KR@expandargs{0}\KR@commandlistparser\KR@parser%
-}
-\def\KR@keyprefix@err{%
- \KR@err{Key prefix '\KR@keyprefix' is not allowed}%
- {Use another prefix.}%
-}
-\define@cmdkey[KV]{keyreader}[KR@]{keyprefix}[KV]{%
- \KR@xifblank{\KR@keyprefix}{\KR@keyprefix@err}{}%
- \KR@expandargs{1}\KV@@sp@def\KR@keyprefix\KR@keyprefix%
- \XKV@for@n{KR,mp,fam,XKV}\KR@tempa{%
- \ifx\KR@keyprefix\KR@tempa\KR@keyprefix@err\fi
- }%
-}
-\def\KR@keyfamily@err{%
- \KR@err{Key family '\KR@keyfamily' is not allowed}%
- {Use another family name.}%
-}
-\define@cmdkey[KV]{keyreader}[KR@]{keyfamily}[fam]{%
- \KR@xifblank{\KR@keyfamily}{\KR@keyfamily@err}{}%
- \KR@expandargs{1}\KV@@sp@def\KR@keyfamily\KR@keyfamily%
- \XKV@for@n{KR,mp,keyreader,KV,XKV}\KR@tempa{%
- \ifx\KR@keyfamily\KR@tempa\KR@keyfamily@err\fi
- }%
-}
-\def\KR@macroprefix@err{%
- \KR@err{Macro prefix '\KR@macroprefix' is not allowed}%
- {Use another prefix.}%
-}
-\define@cmdkey[KV]{keyreader}[KR@]{macroprefix}[mp@]{%
- \KR@xifblank{\KR@macroprefix}{\KR@macroprefix@err}{}%
- \KR@expandargs{1}\KV@@sp@def\KR@macroprefix\KR@macroprefix%
- \XKV@for@n{KR,keyreader,fam,KV,XKV}\KR@tempa{%
- \ifx\KR@macroprefix\KR@tempa\KR@macroprefix@err\fi
- }%
-}
-\define@boolkey+[KV]{keyreader}[KR@]{xchoicelist}[true]{}{%
- \KR@inputerr{#1}{xchoicelist}%
-}
-\DeclareOptionX*{\KR@warn{Unknown option '\CurrentOption' ignored}}
-\ExecuteOptionsX[KV]<keyreader>{parser,keyprefix,keyfamily,macroprefix}
-\ProcessOptionsX*[KV]<keyreader>\relax
-\newcommand\krsetup[1]{\setkeys[KV]{keyreader}{#1}}
-\def\KR@named@f#1#2{%
- \ifcsname#2\endcsname
- \expandafter\ifx\csname#2\endcsname\relax\else
- \def\reserved@a{#2}%
- \expandafter\expandafter\expandafter\@notdefinable
- \fi
- \else
- \expandafter#1\csname#2\expandafter\endcsname
- \fi
-}
-\def\KR@namedef#1{\KR@named@f\def{#1}}
-\def\KR@n@medef#1#2{\expandafter\def\csname#1\endcsname{#2}}
-\def\KR@nameedef#1{\KR@named@f\edef{#1}}
-\def\KR@n@meedef#1#2{\expandafter\edef\csname#1\endcsname{#2}}
-\def\KR@nameuse#1{\ifcsname#1\endcsname\csname#1\expandafter\endcsname\fi}
-\def\KR@ifnamedef#1{%
- \ifcsname#1\endcsname
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
-}
-\def\KR@ifnameundef#1{%
- \ifcsname#1\endcsname
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\expandafter\expandafter\@firstoftwo
- \else
- \expandafter\expandafter\expandafter\@secondoftwo
- \fi
- \else
- \expandafter\@firstoftwo
- \fi
-}
-\long\def\KR@ifnextchar#1#2#3{% \new@ifnextchar
- \let\tmp@d=#1\def\tmp@a{#2}\def\tmp@b{#3}%
- \futurelet\@let@token\KR@ifnch
-}
-\long\def\KR@ifnch{\ifx\@let@token\tmp@d\let\tmp@b\tmp@a\fi\tmp@b}
-\long\def\KR@testopt#1#2{\KR@ifnextchar[{#1}{#1[{#2}]}}
-\long\def\KR@ifstar#1#2{\KR@ifnextchar*{\def\tmp@a*{#1}\tmp@a}{#2}}
-\long\def\KR@expandonce#1{\unexpanded\expandafter{#1}}
-\long\def\KR@csexpandonce#1{\expandafter\KR@expandonce\csname#1\endcsname}
-\newcommand*\nameletcs[2]{\expandafter\let\csname#1\endcsname#2}
-\newcommand*\csletname[2]{\expandafter\let\expandafter#1\csname#2\endcsname}
-\newcommand*\nameletname[2]{%
- \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
-}
-\def\define@comp@boolkeys{\KR@testopt{\KR@comp@opta}{KV}}
-\def\KR@comp@opta[#1]#2{\KR@testopt{\KR@define@comp@boolkeys[#1]{#2}}{mp@}}
-\def\KR@define@comp@boolkeys[#1]#2[#3]#4[#5]#6#7#8{%
- \KR@namedef{comp@#2@#4}{\KR@nameuse{if#3#4}\KR@nameuse{#3#6false}\fi}%
- \KR@namedef{comp@#2@#6}{\KR@nameuse{if#3#6}\KR@nameuse{#3#4false}\fi}%
- \KR@namedef{func@#2@#4}{#7}%
- \KR@namedef{func@#2@#6}{#8}%
- \begingroup\protected@edef\KR@tempa{\endgroup
- \unexpanded{\define@boolkey+[#1]{#2}[#3]{#4}[#5]{%
- \KR@nameuse{comp@#2@#4}\KR@nameuse{func@#2@#4}}%
- {\KR@inputerr{##1}{#4}}%
- }%
- \unexpanded{\define@boolkey+[#1]{#2}[#3]{#6}[#5]{%
- \KR@nameuse{comp@#2@#6}\KR@nameuse{func@#2@#6}}%
- {\KR@inputerr{##1}{#6}}%
- }%
- }%
- \KR@tempa
-}
-\newcommand*\KR@star@or@none{}
-\newcommand*\KR@star@or@long[1]{%
- \KR@ifstar {%
- \let\l@ngrel@x\relax
- \def\KR@star@or@none{*}#1%
- }{%
- \let\l@ngrel@x\long
- \def\KR@star@or@none{}#1%
- }%
-}
-\protected\long\def\requirecmd{\KR@star@or@long\KR@require@cmd}
-\newcommand\KR@require@cmd[1]{%
- \ifdefined#1%
- \KR@afterelsefi
- \expandafter\CheckCommand\KR@star@or@none
- \else
- \KR@afterfi
- \expandafter\newcommand\KR@star@or@none
- \fi
- {#1}%
-}
-\def\@check@eq#1#2{%
- \unless\ifx#1#2%
- \KR@warn{%
- Previous definition of \string#1\MessageBreak
- doesn't match your new definition.\MessageBreak
- *** I haven't redefined \string#1\space ***
- }%
- \fi
-}
-\protected\def\KR@undeftoggle@err#1{%
- \KR@err{Toggle '#1' undefined}%
- {You need to first define '#1' before use.}%
-}
-\protected\def\deftog#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \KR@warn{Toggle '#1' redefined\on@line}%
- }{}%
- \nameletcs{KR@toggle@#1}\@secondoftwo
-}
-\protected\def\newtog#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \KR@err{Toggle '#1' already defined}%
- {Please provide a new toggle or redefine '#1'.}%
- }{%
- \nameletcs{KR@toggle@#1}\@secondoftwo
- }%
-}
-\protected\def\providetog#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \KR@info{Toggle '#1' already defined.\MessageBreak
- Not redefined\on@line}%
- }{%
- \nameletcs{KR@toggle@#1}\@secondoftwo
- }%
-}
-\protected\def\requiretog#1{%
- \expandafter\requirecmd\csname KR@toggle@#1\endcsname[2]{##2}%
-}
-\protected\def\settog#1#2{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \KR@ifnamedef{KR@t@ggle#2}{%
- \nameletname{KR@toggle@#1}{KR@t@ggle#2}%
- }{%
- \KR@err{%
- Inadmissible value '#2' for toggle '#1'
- }{%
- Valid values for toggles are 'true' and 'false'.
- }%
- }%
- }{%
- \KR@undeftoggle@err{#1}%
- }%
-}
-\protected\def\togtrue#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \nameletcs{KR@toggle@#1}\KR@t@ggletrue
- }{%
- \KR@undeftoggle@err{#1}%
- }%
-}
-\protected\def\togfalse#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \nameletcs{KR@toggle@#1}\KR@t@gglefalse
- }{%
- \KR@undeftoggle@err{#1}%
- }%
-}
-\global\let\KR@t@ggletrue\@firstoftwo
-\global\let\KR@t@gglefalse\@secondoftwo
-\protected\def\iftog#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \csname KR@toggle@#1\endcsname
- }{%
- \KR@undeftoggle@err{#1}%
- }%
-}
-\protected\def\ifnottog#1{%
- \KR@ifnamedef{KR@toggle@#1}{%
- \csname KR@toggle@#1\endcsname\@secondoftwo\@firstoftwo
- }{%
- \KR@undeftoggle@err{#1}\@gobbletwo
- }%
-}
-\def\define@togkey{\XKV@t@stopta{\XKV@testoptd\KR@define@togkey{}}}
-\def\KR@define@togkey#1#2[#3]{%
- \ifXKV@pl\KR@afterelsefi
- \expandafter\KR@d@f@ne@togkey
- \else\KR@afterfi
- \expandafter\KR@d@fine@togkey
- \fi
- \csname\XKV@header#2\endcsname{#2}{#1#2}{#3}%
-}
-\def\KR@d@fine@togkey#1#2#3#4#5{%
- \KR@d@f@ne@t@gkey#1{#2}{#3}{#4}%
- {{\settog{#3}{\XKV@resa}#5}}%
-}
-\def\KR@d@f@ne@togkey#1#2#3#4#5#6{%
- \KR@d@f@ne@t@gkey#1{#2}{#3}{#4}%
- {{\settog{#3}{\XKV@resa}#5}{#6}}%
-}
-\def\KR@d@f@ne@t@gkey#1#2#3#4#5{%
- \newtog{#3}%
- \ifXKV@st\XKV@define@default{#2}{#4}\fi
- \ifXKV@pl
- \def#1##1{\XKV@pltrue\XKV@sttrue
- \XKV@checkchoice[\XKV@resa]{##1}{true,false}#5%
- }%
- \else
- \def#1##1{\XKV@plfalse\XKV@sttrue
- \XKV@checkchoice[\XKV@resa]{##1}{true,false}#5%
- }%
- \fi
-}
-\def\define@togkeys{\XKV@plfalse\XKV@testoptd\KR@define@togkeys{}}
-\def\KR@define@togkeys#1#2[#3]{%
- \XKV@sp@deflist\KR@tempa{#2}%
- \XKV@for@o\KR@tempa\KR@tempa{%
- \expandafter\KR@d@fine@togkeys\expandafter{\KR@tempa}{#1}{#3}%
- }%
-}
-\def\KR@d@fine@togkeys#1#2#3{%
- \expandafter\KR@d@f@ne@t@gkey\csname\XKV@header#1\endcsname
- {#1}{#2#1}{#3}{{\settog{#2#1}{\XKV@resa}}}%
-}
-\@ifdefinable\stopread{%
- \long\def\stopread#1\KR@nil{%
- {\toks@{#1}\long\xdef\KR@remainder{\the\toks@}}
- }%
-}
-\mathchardef\KR@tempcnta=\z@\mathchardef\KR@tempcntb=\z@
-\mathchardef\KR@tempcntc=\z@
-\protected\long\def\define@keylist{%
- \KR@ifstar{\KR@define@keylist\expandafter}%
- {\KR@define@keylist\@firstofone}%
-}
-\newcommand\ChoiceKeyValues[2]{%
- \ifKR@xchoicelist
- \KR@n@meedef{\KR@keyfamily @#1@altlist}{#2}%
- \else
- \KR@ifnameundef{\KR@keyfamily @#1@altlist}{%
- \KR@nameedef{\KR@keyfamily @#1@altlist}{#2}%
- }{%
- \KR@err{%
- You have attempted to set two \MessageBreak
- \string\ChoiceKeyValues\space for the choice\MessageBreak
- key '#1' in the same family '\KR@keyfamily'
- }{%
- You can only do that if you set 'xchoicelist'=true.
- }%
- }%
- \fi
-}
-\@ifdefinable\CKVS{\global\let\CKVS\ChoiceKeyValues}
-\def\KR@define@multiple@keys#1,#2,#3,#4\KR@nil{%
- \edef\KR@tempa{\string\if\KR@macroprefix#2}%
- \@onelevel@sanitize\KR@tempa
- \KR@expandargs{2}\in@{\KR@tempa}{\detokenize{#4}}%
- \ifin@
- \KR@afterfi
- \KR@err{%
- You can't use \string\if\space and \string\fi\space in key macro
- }{%
- Use \string\fif\space and \string\ffi\space instead.
- }%
- \fi
- \KR@expandargs{2}\in@{\detokenize{\fif}}{\detokenize{#4}}%
- \ifin@
- \KR@afterelsefi
- \KR@namedef{\KR@keyfamily @#2@func}{#4}%
- \else
- \KR@afterfi
- \KR@nameedef{\KR@keyfamily @#2@func}{\KR@expandonce{#4}}%
- \fi
- \begingroup
- \protected@edef\KR@tempa{\endgroup
- \ifcase#1\relax
- \mathchardef\KR@tempcntc=\@ne
- \or
- \noexpand\define@key[\KR@keyprefix]{\KR@keyfamily}%
- {#2}[#3]{%
- \KR@namedef{\KR@keyfamily @#2@value}{\unexpanded{##1}}%
- \noexpand\KR@nameuse{\KR@keyfamily @#2@func}%
- }%
- \or
- \noexpand\define@cmdkey[\KR@keyprefix]{\KR@keyfamily}%
- [\KR@macroprefix]{#2}[#3]{%
- \KR@namedef{\KR@keyfamily @#2@value}{\unexpanded{##1}}%
- \noexpand\KR@nameuse{\KR@keyfamily @#2@func}%
- }%
- \or
- \noexpand\define@boolkey+[\KR@keyprefix]{\KR@keyfamily}%
- [\KR@macroprefix]{#2}[#3]{%
- \KR@namedef{\KR@keyfamily @#2@value}{\unexpanded{##1}}%
- \noexpand\KR@nameuse{\KR@keyfamily @#2@func}%
- }{%
- \unexpanded{\KR@inputerr{##1}{#2}}%
- }%
- \or
- \noexpand\define@togkey+[\KR@keyprefix]{\KR@keyfamily}%
- [\KR@macroprefix]{#2}[#3]{%
- \KR@namedef{\KR@keyfamily @#2@value}{\unexpanded{##1}}%
- \noexpand\KR@nameuse{\KR@keyfamily @#2@func}%
- }{%
- \unexpanded{\KR@inputerr{##1}{#2}}%
- }%
- \or
- \KR@ifnameundef{\KR@keyfamily @#2@altlist}{%
- \mathchardef\KR@tempcnta=\@ne}{}%
- \noexpand\define@choicekey*+[\KR@keyprefix]{\KR@keyfamily}{#2}%
- [\unexpanded{\val\nr}]{%
- \KR@nameuse{\KR@keyfamily @#2@altlist}%
- }[#3]{%
- \KR@namedef{\KR@keyfamily @#2@value}{\unexpanded{##1}}%
- \noexpand\KR@nameuse{\KR@keyfamily @#2@func}%
- }{%
- \unexpanded{\KR@inputerr{##1}{#2}}%
- }%
- \else
- \mathchardef\KR@tempcntc=\@ne
- \fi
- }%
- \KR@tempa
- \ifnum\KR@tempcnta=\@ne
- \KR@afterfi
- \KR@err{%
- Choice key '#2' can't be defined.\MessageBreak
- Alternate key values list for '#2' is empty
- }{%
- You need to first define admissible\MessageBreak
- key values through '\string\ChoiceKeyValues'\MessageBreak
- for choice key '#2'
- }%
- \fi
- \ifnum\KR@tempcntc=\@ne
- \KR@afterfi
- \KR@err{%
- Unknown key type/identifier '#1'
- }{%
- You can only use key types 1 to 5.
- }%
- \fi
-}
-\def\krsetkeys{%
- \def\fif##1{%
- \KR@findescape{##1}{}{%
- \KR@err{Bad argument '\string##1'}%
- {Backslash in '\string##1' not allowed.}%
- }%
- \csname if##1\endcsname
- }%
- \let\ffi\fi
- \XKV@testopta{\XKV@testoptc\XKV@setkeys}%
-}
-\protected\def\KR@disabledkey@err{%
- \KR@err{%
- Key '\KR@disabledkey' has been disabled
- }{%
- You can't set or reset '\KR@disabledkey' at this\MessageBreak
- late stage. You should have set it \MessageBreak
- earlier in \string\documentclass\space or \string\usepackage
- }%
-}
-\def\krdisable@keys{\XKV@testoptb\KR@dis@ble@keys}
-\long\def\KR@dis@ble@keys#1{%
- \XKV@checksanitizeb{#1}\KR@tempa
- \XKV@for@o\KR@tempa\KR@tempa{%
- \XKV@ifundefined{\XKV@header\KR@tempa}{%
- \KR@warn{Key '\KR@tempa' undefined: can't be disabled\on@line}%
- }{%
- \global\let\KR@disabledkey\KR@tempa
- }%
- \XKV@ifundefined{\XKV@header\KR@tempa @default}{%
- \edef\KR@tempb{\noexpand\XKV@define@key{\KR@tempa}}%
- }{%
- \edef\KR@tempb{\noexpand\XKV@define@key{\KR@tempa}[]}%
- }%
- \expandafter\KR@tempb\expandafter{\KR@disabledkey@err}%
- }%
-}
-\protected\def\KR@cs#1#2{%
- \begingroup\toks@{#1}%
- \edef\@i{\the\toks@}\@onelevel@sanitize\@i
- \KR@expandargs{1}\KV@@sp@def\@i{\@i}%
- \tt\textup{\textcolor{#2}{\KR@expandonce{\@i}}}%
- \endgroup\xspace
-}
-\protected\def\KR@cx#1#2{%
- \begingroup\toks@{#1}%
- \edef\@i{\expandafter\expandafter\expandafter\zap@space%
- \expandafter\detokenize\expandafter{\the\toks@} \@empty}%
- \tt\textup{\textcolor{#2}{\KR@expandonce{\@i}}}%
- \endgroup\xspace
-}
-
-\endinput
-
-%%% End of file keyreader.sty %%% \ No newline at end of file