diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/xkeyval/xkvview.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/xkeyval/xkvview.sty | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/xkeyval/xkvview.sty b/Master/texmf-dist/tex/latex/xkeyval/xkvview.sty new file mode 100644 index 00000000000..112f2b7cfea --- /dev/null +++ b/Master/texmf-dist/tex/latex/xkeyval/xkvview.sty @@ -0,0 +1,202 @@ +%% +%% This is file `xkvview.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xkeyval.dtx (with options: `xkvview') +%% +%% --------------------------------------- +%% Copyright (C) 2004-2005 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, 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, pst-xkey.dtx and xkeyval.dtx. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{xkvview}% + [2005/07/10 v1.4a viewer utility for xkeyval (HA)] +\RequirePackage{xkeyval} +\RequirePackage{longtable} +\DeclareOptionX*{% + \PackageWarning{xkvview}{Unknown option `\CurrentOption'}% +} +\ProcessOptionsX +\newif\ifXKVV@vwkey +\newif\ifXKVV@colii +\newif\ifXKVV@coliii +\newif\ifXKVV@coliv +\newif\ifXKVV@colv +\newwrite\XKVV@out +\let\XKVV@db\@empty +\define@cmdkeys[XKVV]{xkvview}[XKVV@]{% + prefix,family,type,default,file,columns,wcolsep,weol}[\@nil] +\define@boolkeys[XKVV]{xkvview}[XKVV@]{view,vlabels,wlabels}[true] +\presetkeys[XKVV]{xkvview}{prefix,family,type,default,file,% + columns,wcolsep=&,weol=\\,view,vlabels=false,wlabels=false}{} +\def\XKVV@tabulate#1#2#3{% + \def\XKV@tempa{#3}% + \@onelevel@sanitize\XKV@tempa + \XKV@addtolist@x\XKVV@db{#1=\expandafter + \XKVV@t@bulate\XKV@prefix=\XKV@tfam=#2=\XKV@tempa}% +} +\def\XKVV@t@bulate#1@{#1} +\def\XKV@define@key#1{% + \@ifnextchar[{\XKV@d@fine@k@y{#1}}{% + \XKVV@tabulate{#1}{ordinary}{[none]}% + \expandafter\def\csname\XKV@header#1\endcsname####1% + }% +} +\def\XKV@d@fine@k@y#1[#2]{% + \XKVV@tabulate{#1}{ordinary}{#2}% + \XKV@define@default{#1}{#2}% + \expandafter\def\csname\XKV@header#1\endcsname##1% +} +\def\XKV@define@cmdkey#1#2[#3]#4{% + \ifXKV@st + \XKVV@tabulate{#2}{command}{#3}% + \XKV@define@default{#2}{#3}% + \else + \XKVV@tabulate{#2}{command}{[none]}% + \fi + \def\XKV@tempa{\expandafter\def\csname\XKV@header#2\endcsname####1}% + \begingroup\expandafter\endgroup\expandafter\XKV@tempa\expandafter + {\expandafter\def\csname#1#2\endcsname{##1}#4}% +} +\def\XKV@d@fine@ch@icekey#1[#2]{% + \XKVV@tabulate{#1}{choice}{#2}% + \XKV@define@default{#1}{#2}% + \XKV@d@fine@ch@ic@key{#1}% +} +\def\XKV@d@fine@ch@ic@key#1{% + \XKVV@tabulate{#1}{choice}{[none]}% + \ifXKV@pl\XKV@afterelsefi + \expandafter\XKV@d@f@ne@ch@ic@k@y + \else\XKV@afterfi + \expandafter\XKV@d@f@ne@ch@ic@key + \fi + \csname\XKV@header#1\endcsname +} +\def\XKV@d@f@ne@b@olkey#1#2#3#4#5{% + \expandafter\newif\csname if#3\endcsname + \ifXKV@st + \XKVV@tabulate{#2}{boolean}{#4}% + \XKV@define@default{#2}{#4}% + \else + \XKVV@tabulate{#2}{boolean}{[none]}% + \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\xkvview#1{% + \setkeys[XKVV]{xkvview}{#1}% + \ifx\XKVV@default\@nnil\else\@onelevel@sanitize\XKVV@default\fi + \ifx\XKVV@columns\@nnil + \count@5 + \XKVV@coliitrue\XKVV@coliiitrue\XKVV@colivtrue\XKVV@colvtrue + \else + \count@\@ne + \@expandtwoargs\in@{,prefix,}{,\XKVV@columns,}% + \ifin@\advance\count@\@ne\XKVV@coliitrue\else\XKVV@coliifalse\fi + \@expandtwoargs\in@{,family,}{,\XKVV@columns,}% + \ifin@\advance\count@\@ne\XKVV@coliiitrue\else\XKVV@coliiifalse\fi + \@expandtwoargs\in@{,type,}{,\XKVV@columns,}% + \ifin@\advance\count@\@ne\XKVV@colivtrue\else\XKVV@colivfalse\fi + \@expandtwoargs\in@{,default,}{,\XKVV@columns,}% + \ifin@\advance\count@\@ne\XKVV@colvtrue\else\XKVV@colvfalse\fi + \fi + \ifXKVV@view + \protected@edef\XKV@tempa{\noexpand\begin{longtable}[l]{% + *\the\count@ l}\normalfont Key\ifXKVV@colii&\normalfont Prefix% + \fi\ifXKVV@coliii&\normalfont Family\fi\ifXKVV@coliv&\normalfont + Type\fi\ifXKVV@colv&\normalfont Default\fi\\\noexpand\hline + \noexpand\endfirsthead\noexpand\multicolumn{\the\count@}{l}{% + \normalfont\emph{Continued from previous page}}\\\noexpand\hline + \normalfont Key\ifXKVV@colii&\normalfont Prefix\fi\ifXKVV@coliii + &\normalfont Family\fi\ifXKVV@coliv&\normalfont Type\fi + \ifXKVV@colv&\normalfont Default\fi\\\noexpand\hline\noexpand + \endhead\noexpand\hline\noexpand\multicolumn{\the\count@}{r}{% + \normalfont\emph{Continued on next page}}\\\noexpand\endfoot + \noexpand\hline\noexpand\endlastfoot + }% + \XKV@toks\expandafter{\XKV@tempa}% + \fi + \ifx\XKVV@file\@nnil\else\immediate\openout\XKVV@out\XKVV@file\fi + \XKV@for@o\XKVV@db\XKV@tempa{% + \XKVV@vwkeytrue\expandafter\XKVV@xkvview\XKV@tempa\@nil + }% + \ifXKVV@view + \addto@hook\XKV@toks{\end{longtable}}% + \begingroup\ttfamily\the\XKV@toks\endgroup + \fi + \ifx\XKVV@file\@nnil\else\immediate\closeout\XKVV@out\fi +} +\def\XKVV@xkvview#1=#2=#3=#4=#5\@nil{% + \ifx\XKVV@prefix\@nnil\else + \def\XKV@tempa{#2}% + \ifx\XKV@tempa\XKVV@prefix\else\XKVV@vwkeyfalse\fi + \fi + \ifx\XKVV@family\@nnil\else + \def\XKV@tempa{#3}% + \ifx\XKV@tempa\XKVV@family\else\XKVV@vwkeyfalse\fi + \fi + \ifx\XKVV@type\@nnil\else + \def\XKV@tempa{#4}% + \ifx\XKV@tempa\XKVV@type\else\XKVV@vwkeyfalse\fi + \fi + \ifx\XKVV@default\@nnil\else + \def\XKV@tempa{#5}% + \ifx\XKV@tempa\XKVV@default\else\XKVV@vwkeyfalse\fi + \fi + \ifXKVV@vwkey + \ifXKVV@view + \edef\XKV@tempa{% + #1\ifXKVV@colii\fi\ifXKVV@coliii\fi + \ifXKVV@coliv\fi\ifXKVV@colv\fi + \ifXKVV@vlabels\noexpand\label{#2-#3-#1}\fi + }% + \expandafter\addto@hook\expandafter + \XKV@toks\expandafter{\XKV@tempa\\}% + \fi + \ifx\XKVV@file\@nnil\else + \immediate\write\XKVV@out{% + #1\ifXKVV@colii\XKVV@wcolsep#2\fi + \ifXKVV@coliii\XKVV@wcolsep#3\fi + \ifXKVV@coliv\XKVV@wcolsep#4\fi + \ifXKVV@colv\XKVV@wcolsep#5\fi + \ifXKVV@wlabels\string\label{#2-#3-#1}\fi + \expandafter\noexpand\XKVV@weol + }% + \fi + \fi +} +\endinput +%% +%% End of file `xkvview.sty'. |