summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/skeyval
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-16 22:30:01 +0000
committerKarl Berry <karl@freefriends.org>2013-05-16 22:30:01 +0000
commit318d628c7989d4f9ede20b1ee66471bedf447437 (patch)
treee552e9f9b6195d98f3d579088419fdce722df49c /Master/texmf-dist/doc/latex/skeyval
parentf297f05f92068bd7f54e8ee25ce7b8b8a83c2353 (diff)
skeyval (16may13)
git-svn-id: svn://tug.org/texlive/trunk@30509 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/skeyval')
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/README59
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.pdfbin126258 -> 125805 bytes
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.tex49
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.pdfbin136229 -> 135914 bytes
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.tex30
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/skeyval-testclass.cls320
-rw-r--r--Master/texmf-dist/doc/latex/skeyval/skeyval-testpkg.sty454
7 files changed, 105 insertions, 807 deletions
diff --git a/Master/texmf-dist/doc/latex/skeyval/README b/Master/texmf-dist/doc/latex/skeyval/README
index 00977c54e35..3bf12d11cbc 100644
--- a/Master/texmf-dist/doc/latex/skeyval/README
+++ b/Master/texmf-dist/doc/latex/skeyval/README
@@ -6,12 +6,19 @@ Ahmed Musa
VERSION
-Version 1.2, February 10, 2013.
+Version 1.3, 2013/05/15.
LOCATION ON CTAN
macros/latex/contrib/skeyval
+ANNOUNCEMENT TEXT
+
+The package integrates the features of xkeyval and of pgfkeys by
+introducing a new set of handlers. Style keys, links, changing
+key callbacks and values on the fly, and other features of pgfkeys
+are introduced in a new context.
+
LICENSE
Copyright (c) 2010-2013 Ahmed Musa
@@ -29,13 +36,14 @@ FILES
The following files constitute the skeyval bundle and must be
distributed as a whole:
- readme, skeyval.sty, skeyval-core.tex, skeyval-for.tex,
+ 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,
- and skeyval-testpkg.sty.
+ skeyval-testpkg.sty, skeyval-pokayoke1.tex, skeyval-pokayoke2.tex,
+ skeyval-view-pokayoke1.tex.
-The skeyval package can be used by LaTeX and non-LaTeX users.
-LaTeX users should load the package via
+The skeyval package can be used by LaTeX and non-LaTeX users. LaTeX users
+should load the package via
\usepackage[<options>]{skeyval}
@@ -51,12 +59,16 @@ Users of pre-version-1.0 of skeyval package can access the former
version by entering the option 'compatibility' in <options> above.
This option will automatically load version 0.73 (the version
just before 1.0) of skeyval package. From version 1.0, the package
-has changed radically.
+has changed radically. Please accept my sincere apologies for making
+changes to the implementation and command names without renaming
+the package. I hate the practice of creating many forks of the same
+package, irrespective of the fact that forking a package is rather
+a standard practice in LaTeX.
SUMMARY
-The 's' in skeyval means 'skeleton keys' or 'master keys'.
+The 's' in skeyval means 'skeleton' or 'master' keys.
The skeyval package provides commands for compactly defining and
initializing all types of key (ordinary, command, boolean, style, choice,
@@ -179,7 +191,7 @@ the following.
\skvcmdkey{fam}[mp@]{key2}[deafultx,defaulty]{%
\def\cmd##1{#1+#2+##1}%
}
- \skvassignargs{fam}[.expanded]{key2}{#1,#2}
+ \skvassignargs{fam}{key2}{.expanded{#1,#2}}
and much later
@@ -189,11 +201,12 @@ the following.
** The callbacks of keys can be readily modified using commands
like \skvaddtocallback, \skvprependtocallback, \skvappendtocallback,
- or the handlers .prepend code, .append code, .add code.
+ or (within \directkeys) using the handlers .prepend code, .append code,
+ .add code.
-** Handlers
+** Handlers
- The skeyval package has many handlers. The handlers of
+ The skeyval package has many handlers. The handlers of skeyval package
start with a dot (.), as in pgfkeys package.
Unlike in pgfkeys package, when 'expand' or 'expanded'
@@ -207,26 +220,24 @@ the following.
\skvappendstyles[KV]{fam}{key1,key2}{keya=.expanded{\vala},keyb=valb}
[default of key1&2]{\def\y##1{#1*##1}}
- Here the subjects are key1 and key2, while the observers are keya and
- keyb. For now, the only thing the subject does is to set the given values
+ Here the subjects/observable are key1 and key2, while the observers are keya
+ and keyb. For now, the only thing the subject does is to set the given values
of the observers on the current path. In the future, we intend to extend
the subject-observer functionality to include more features of the
observer pattern found in other programming paradigms. We foresee that
subjects will be able to publish their services, and observer keys will be
- able to subscribe for notification from subjects. And rather than 'notify
- messages' simply setting observer keys with prior prescribed observer
- values, as is currently the obtainable, observers may be able to do more
- with such messages (such as change observer state patterns).
+ able to subscribe for notification from subjects. And rather than having
+ 'notify messages' simply setting observer keys with prior prescribed
+ observer values, which is what is currently obtainable, observers may be
+ able to do more with such messages (such as change observer state patterns).
** The parameters/arguments of callbacks of keys can be easily changed
by calling \skvdefinekeys, \skvmakekeys, \skvassignargs or \directkeys.
\skvordkeys[KV1]{fam2}{keya,keyb}[default-a]{\def\x##1{#1*##1}}
- \skvassignargs[KV1,KV2]{fam1,fam2}[x1]{keya,keyb}{#1/#2}
+ \skvassignargs[KV1,KV2]{fam1,fam2}{keya,keyb}{.expand{#1/#2}}
\skvsetkeys[KV1]{fam2}{keya=vala/valb}
- 'x1' here means 'expand argument once at setting keys'.
-
** \directkeys command:
\directkeys{%
@@ -385,8 +396,8 @@ the following.
** 'Quick keys' are a new concept. They're quite fast to define and set,
but they can't carry pointers.
- \quickkeys.define{<family>}[<holder.prefix>]{<list>}
- \quickkeys.set{<family>}[<na>]{<kvlist>}
+ \skvquickkeys.define{<family>}[<holder.prefix>]{<list>}
+ \skvquickkeys.set{<family>}[<na>]{<kvlist>}
When defining keys, the syntax of <list> is:
@@ -396,7 +407,7 @@ the following.
Example:
- \quickkeys.define{fam}[mp@]{%
+ \skvquickkeys.define{fam}[mp@]{%
keya/true/\def\x##1{#1*##1}/true,false;
keyb;
keyc,keyd/aaa+bbb/\def\y##1{#1*##1*#2}/.na/#1+#2;
@@ -765,4 +776,4 @@ the following.
\skvdefineordkey{key1}[def1]{\def\cmd##1{#1*##1}}
\skvprocesskeys{key1=value1}
-% End of readme file of skeyval package.
+% End of readme file
diff --git a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.pdf b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.pdf
index b38b077fa0a..f94e0f6eda6 100644
--- a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.pdf
+++ b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.tex b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.tex
index ed79d37585d..6205121ae9f 100644
--- a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.tex
+++ b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke1.tex
@@ -1,3 +1,32 @@
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
+% This is file 'skeyval-pokayoke1.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). %
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
+
\makeatletter
\RequirePackage{skeyval-ltxpatch}
@@ -63,15 +92,6 @@
% Note: When the value of a handler contains equality sign (=) or
% comma (,), it should be enclosed in braces.
-\directkeys*{%
- % Defining new handlers that can't be overloaded:
- .new reserved handlers={
- {.x handler,.x handlers}={
- \dirkeys@defhandlers{00}{#1}
- },
- }
-}
-
\directkeys*{
.exec=\skvtestcnt\z@,
.prefix = KV1,
@@ -246,11 +266,22 @@
.kv={keya=vala,keyc=valc,keyd=vald}
},
% .exec code={\show\mysuccesslist},
+ % Defining new handlers that can't be overloaded.
+ % '.resd handler' and '.resd handlers' are reserved handlers.
+ % They can be used to define new handlers (see below).
+ .new reserved handlers={
+ {.resd handler,.resd handlers}=\dirkeysdefhandlers{00}{#1},
+ },
+ .resd handlers={
+ .example handler1=\def\val{#1}, .example handler2=\edef\val{#1}
+ },
+% .exec=\skvshowcs{dirkeys@handler@.example handler1},
}
\makeatother
\begin{document}
+
\title{The \texttt{\textcolor{blue}{skeyval}} Package\\[1ex]
Version 1.1a\\[1ex]
\textsf{Test document 1}}
diff --git a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.pdf b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.pdf
index 8f1cda84161..995acce9470 100644
--- a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.pdf
+++ b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.tex b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.tex
index b720169ebbe..3c016c0d3c3 100644
--- a/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.tex
+++ b/Master/texmf-dist/doc/latex/skeyval/skeyval-pokayoke2.tex
@@ -1,3 +1,33 @@
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
+% This is file 'skeyval-pokayoke2.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). %
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
+
+% Check the log file for warning about unused global option 'unknown-option':
\documentclass[
insertwatermark,watermarkcolor=blue!55,
firstpagenumber=2,maketitlepage,unknown-option
diff --git a/Master/texmf-dist/doc/latex/skeyval/skeyval-testclass.cls b/Master/texmf-dist/doc/latex/skeyval/skeyval-testclass.cls
deleted file mode 100644
index ecb846dc99b..00000000000
--- a/Master/texmf-dist/doc/latex/skeyval/skeyval-testclass.cls
+++ /dev/null
@@ -1,320 +0,0 @@
-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-% This is file 'skeyval-testclass.cls', version 1.2, 2013/02/10. %
-% %
-% 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, %
-% and skeyval-testpkg.sty. %
-% %
-% Copyright (c) 2010-2013 Ahmed Musa (amusa22@gmail.com). %
-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-
-\ProvidesClass{skeyval-testclass}[2013/02/10 v1.2 skeyval test class (AM)]
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\@ifpackageloaded{skeyval}{}{\RequirePackage{skeyval}}
-\@ifpackageloaded{xcolor}{}{\RequirePackage{xcolor}}
-\@ifpackageloaded{pifont}{}{\RequirePackage{pifont}}
-\@ifpackageloaded{tikz}{}{\RequirePackage{tikz}}
-
-\ifdefined\skvtestcnt\else\newcount\skvtestcnt\fi
-\skvatbegineverypage{\skvcl@maybewm}
-\let\skvcl@maybewm\relax
-\def\skvcl@watermark{%
- \tikz[overlay,remember picture]{%
- \node [\skvcl@watermarkcolor,inner sep=0pt,rotate=45,align=center,
- scale=\skvcl@watermarkscale,font=\fontseries{b}\fontfamily{bch}%
- \fontsize{\skvcl@fontsize@a}{\skvcl@fontsize@b}\selectfont] at
- ([shift={(\skvcl@watermarkxshift,-\skvcl@watermarkyshift)}]%
- current page.north west){%
- \skvcl@watermarktext
- };
- }%
-}
-
-\skvrobustdef*\skvcl@titlecmds{%
- \setcounter{footnote}{0}%
- \def\do##1{\global\let##1\@empty}%
- \do\@thanks\do\@author\do\@date\do\@title
- \def\do##1{\global\let##1\relax}%
- \do\thanks\do\maketitle\do\@maketitle\do\title\do\author\do
- \date\do\and\let\do\relax
- \let\@fnsymbol\orig@fnsymbol
-}
-\let\orig@fnsymbol\@fnsymbol
-
-\skvrobustredef*\skv@fnsymbol#1{%
- \unskip\ifcase#1\or\ding{'106}\or\ding{'110}\or\ding{'111}\or
- \ding{'112}\or\ding{'113}\or\ding{'114}\or\ding{'121}\or
- \ding{'122}\else\@ctrerr\fi
-}
-\skvrobustdef*\skvcl@newfootnotestyle{%
- \def\@makefnmark{%
- \rlap{\@textsuperscript{\normalfont\skv@fnsymbol\@thefnmark}}%
- }%
- \long\def\@makefntext##1{%
- \parindent1em\relax\noindent
- \hb@xt@1.8em{\hss\@textsuperscript{%
- \normalfont\skv@fnsymbol\@thefnmark}%
- }%
- ##1%
- }%
-}
-\skvnewlet\skv@sav@footnote\footnote
-\skvnewlet\skv@sav@thanks\thanks
-\AtEndOfPackage{%
- \skvdisablekeys[SKVC]{title}{insertwatermark}%
-}
-\AtBeginDocument{%
- \def\footnote{\unskip\skv@sav@footnote}%
- \def\thanks{\unskip\skv@sav@thanks}%
- \skvdisablekeys[SKVC]{textemphasis}{dummy-option}%
- \skvdisablekeys[SKVC]{title}{%
- maketitlepage,firstpagenumber,pagenumberstyle
- }%
-}
-\let\skvcl@settitlepageno\@gobble
-
-% Example of option and nonoption keys:
-\skvordkeys[KV]{fam}{testkey1,testkey2}[value]{}
-\skvoptionkeys[KV]{fam}{testkey1}
-\skvnonoptionkeys[KV]{fam}{testkey2}
-
-% LaTeX will zap spaces in key name, anyway. So our options don't have
-% spaces within themselves.
-
-\directkeys*{%
- .every unknown option={
- \PassOptionsToClass{\CurrentOption}{article}
- },
- .message type when disabled option is invoked=error,
- .prefix=SKVC,
- % Extended text emphasis:
- .family=textemphasis,
- .hp=xem@,
- .new options={
- .initialize keys after define,
- .ord/{testkey1,testkey2,testkey3}/default,
- .bool/useitalic/true,
- .bool/usebold/true,
- .bool/usecolor/true,
- .cmd/color/red,
- .bool/make-textemphasis-inactive/true/
- \ifskvindef\else
- \skvifbool xem@make-textemphasis-inactive\then
- \PackageInfo{skeyval-testclass}
- {Extended text emphasis has been made inactive}
- \let\xem\emph
- \fi
- \fi
- ,
- .ord/dummy-option/\@nil,
- },
- .links={
- useitalics/useitalic,
- usecolour/usecolor,
- colour/color,
- },
- .option keys = {testkey1},
- .nonoption keys = {testkey2,testkey3},
- % Modifying the article title:
- .change family=title,
- .hp=skvcl@,
- .new options={
- .bool/putdate/true,
- .cmd/datefont/\large,
- .bool/clearpage/true,
- .bool/maketitlepage/true/
- \skvifbool skvcl@maketitlepage\then
- \ifskvindef\else
- \PassOptionsToClass{titlepage}{article}
- \fi
- \fi
- ,
- .cmd/firstpagenumber/\@nil/
- \ifx\skvcl@firstpagenumber\@nnil\else
- \skvensureinteger{page number}\skvcl@firstpagenumber
- \AtBeginDocument{%
- \gdef\pagenumbering##1{%
- \global\c@page\skvcl@firstpagenumber\relax
- \gdef\thepage{\csname @##1\endcsname\c@page}%
- }%
- % Default:
- \pagenumbering{arabic}%
- \let\skvcl@settitlepageno\@iden
- }%
- \fi
- ,
- .cmd/pagenumberstyle/\@nil/
- \ifx\skvcl@pagenumberstyle\@nnil\else
- \skvafterbegindocument{\pagenumbering{#1}}%
- \fi
- ,
- .cmd/pretitleskip/10pt,
- .cmd/posttitleskip/10pt,
- .cmd/authorfont/\large,
- .cmd/titlefont/\huge,
- .bool/insertwatermark/true/
- \skvifbool skvcl@insertwatermark\then
- \ifskvindef\else
- \let\skvcl@maybewm\skvcl@watermark
- \fi
- \fi
- ,
- .cmd/watermarkxshift/.5\paperwidth,
- .cmd/watermarkyshift/.5\paperheight,
- .cmd/watermarktext/DRAFT/
- \skvstripouterbraces{2}\skvcl@watermarktext
- ,
- .cmd/fontsize/{14.4,17}/
- \def\skvcl@fontsize@a{#1}\def\skvcl@fontsize@b{#2}
- ,
- .arg/fontsize/{#1,#2},
- .cmd/watermarkscale/5,
- .cmd/watermarkcolor/gray!55,
- },
- .slots={
- showdate/putdate=#1,
- first-page-number/firstpagenumber=#1,
- titlepage/maketitlepage=#1,
- },
- % Ececute the options in the current family. If any of the options
- % isn't found, report error (ie, don't save the key to the list of
- % 'remaining keys'). Unknown options should be flagged immediately.
- % Use '.execute options+' or '.execute options in all families' to
- % execute options in multiple families.
- .execute options={
- putdate,datefont,clearpage=false,pretitleskip,posttitleskip,
- authorfont,titlefont,watermarkscale,firstpagenumber,
- insertwatermark=false,watermarkxshift,watermarkyshift,
- watermarktext,watermarkcolor,fontsize
- },
- .families={textemphasis,title},
- .process options in all families,
-}
-%\show\skvcurrentpoxkeys
-
-% testkey1 is an option key: don't set it outside option list:
-% \skvsetkeys[SKVC]{textemphasis}{testkey1}
-
-\skvrobustdef*\setupskvtestclass{%
- \skvsetkeys*+[SKVC]{textemphasis,title}%
-}
-
-% Setting up extended text emphasis:
-\skvrobustdef*\setuptextemphasis#1{\skvsetkeys[SKVC]{textemphasis}{#1}}
-\newcommand*\xem[1]{\xem@emph{\xem@bold{\xem@colortext{\xem@color}{#1}}}}
-\newcommand*\xem@emph{%
- \skvifbool xem@useitalic\then
- \expandafter\emph
- \else
- \expandafter\@firstofone
- \fi
-}
-\newcommand*\xem@bold{%
- \skvifbool xem@usebold\then
- \expandafter\textbf
- \else
- \expandafter\@firstofone
- \fi
-}
-\newcommand*\xem@colortext{%
- \skvifbool xem@usecolor\then
- \expandafter\textcolor
- \else
- \expandafter\@secondoftwo
- \fi
-}
-
-\LoadClass{article}
-
-\if@titlepage
- \renewcommand\maketitle{%
- \ifskvcl@clearpage
- \clearpage
- \fi
- \begin{titlepage}%
- \skvcl@newfootnotestyle
- \let\footnotesize\small
- \let\footnoterule\relax
- \let\footnote\thanks
- \null\vfil
- \vskip\skvcl@pretitleskip\relax
- \begin{center}%
- {\skvcl@titlefont\@title\par}%
- \vskip\skvcl@posttitleskip\relax
- {%
- \skvcl@authorfont
- \lineskip.75em\relax
- \begin{tabular}[t]{c}%
- \@author
- \end{tabular}\par
- }%
- \vskip1.5em\relax
- \skvifbool skvcl@putdate\then{{\skvcl@datefont\@date}}\fi
- \end{center}\par
- \@thanks
- \vfil\null
- \end{titlepage}%
- \skvcl@settitlepageno{\c@page\skvcl@firstpagenumber\relax}%
- \skvcl@titlecmds
- }
-\else
- \renewcommand\maketitle{%
- \par
- \begingroup
- \skvcl@newfootnotestyle
- \if@twocolumn
- \ifnum\col@number=\@ne
- \@maketitle
- \else
- \twocolumn[\@maketitle]%
- \fi
- \else
- \newpage
- \global\@topnum\z@
- \@maketitle
- \fi
- \thispagestyle{plain}\@thanks
- \endgroup
- \skvcl@titlecmds
- }
- \def\@maketitle{%
- \newpage
- \null
- \vskip\skvcl@pretitleskip\relax
- \begin{center}%
- \let\footnote\thanks
- {\skvcl@titlefont\@title\par}%
- \vskip\skvcl@posttitleskip\relax
- {\skvcl@authorfont
- \lineskip.5em\relax
- \begin{tabular}[t]{c}%
- \@author
- \end{tabular}\par
- }%
- \vskip1em\relax
- \skvifbool skvcl@putdate\then{\skvcl@datefont\@date}\fi
- \end{center}%
- \par
- \vskip1.5em\relax
- }
-\fi
-
-\endinput
diff --git a/Master/texmf-dist/doc/latex/skeyval/skeyval-testpkg.sty b/Master/texmf-dist/doc/latex/skeyval/skeyval-testpkg.sty
deleted file mode 100644
index d2467bc9f1d..00000000000
--- a/Master/texmf-dist/doc/latex/skeyval/skeyval-testpkg.sty
+++ /dev/null
@@ -1,454 +0,0 @@
-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-% This is file 'skeyval-testpkg.sty', version 1.2, 2013/02/10. %
-% %
-% 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, %
-% and skeyval-testpkg.sty. %
-% %
-% Copyright (c) 2010-2013 Ahmed Musa (amusa22@gmail.com). %
-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-
-\ProvidesPackage{skeyval-testpkg}[2013/02/10 v1.2 skeyval test package (AM)]
-\NeedsTeXFormat{LaTeX2e}
-\@ifpackageloaded{skeyval}{}{\RequirePackage{skeyval}}
-\RequirePackage{graphicx}
-
-\skvdisabledkeysmessagetype{warning}
-
-%%++++++++++++++++ Passing options to packages +++++++++++++++++++%%
-
-\skvdeclarebooloption[SKVT]<testpkg>[skvtp@]{verbose}[true]{}
-
-% Declare options with default values that will be used when the options
-% are called without user values.
-%
-\skvdeclarepassedoptionsloadpackage[SKVT]{testpkg}{%
- hyperref={colorlinks,breaklinks},xcolor=svgnames
-}
-
-%%+++++++++++++++++++ Producing arbitrary texts +++++++++++++++++%%
-
-% The key 'align' could have defined using \skvchoicekey, as in
-% 'shadowbox' family below.
-\newcommand*\justified{}
-\skvordkey[SKVT]{abrtext}{align}[right]{%
- \skvifcase\skvxifstrcmpTF{#1}
- {left}{\def\mpfalign{flushleft}}
- {right}{\def\mpfalign{flushright}}
- {center}{\def\mpfalign{center}}
- {justified}{\def\mpfalign{justified}}
- \elsedo
- \PackageError{skeyval-testpkg}
- {Invalid value `#1' for align}
- {You have issued an illegal value `#1' for option `align'.}%
- \endif
-}
-
-\skvzcmdkey[SKVT]{abrtext}[mpf]{text style}[\rmfamily]{}
-\skvcmdkey[SKVT]{abrtext}[mpf]{author}[Karl Berry]{}
-\skvzboolkey[SKVT]{abrtext}[mpf]{show author}[true]{}
-
-% Using pointers to expand values of keys while setting keys:
-\def\alignval{right}
-\def\alignvalb{\alignval}
-\def\stextstyle{\sffamily}
-
-\skvsetkeys[SKVT]{abrtext}{
- align=.expand twice{\alignvalb},
- text style=.expand once{\stextstyle},author,show author
-}
-
-%%+++++++++++++++++++++++++++ Citations +++++++++++++++++++++++++++%%
-
-% Keys defined by \skvdefinekeys are automatically initialiized when
-% the option 'initialize' is true. In general, to save initialize
-% key values at key definition, you need to call \skvsaveinitialvaluekeys
-% before defining the keys.
-
-\skvsaveinitialvaluekeys[SKVT]{citation}{put frame,width,show author,author,
- textcolor,fonttype,leftmargin,rightmargin,preskip,framecolor,shadecolor,
- frame thickness}
-
-\newbox\skv@testbox
-\skvdefinekeys*[SKVT]{citation}[ctt@]{%
- .cmd/width/\hsize,
- .zbool/show author/true,
- .cmd/author//, % empty default
- .zbool/put frame/true,
- .cmd/framecolor/black,
- .cmd/shadecolor/white,
- .cmd/textcolor/black,
- .zcmd/frame thickness/.4pt,
- .cmd/fonttype/\normalfont,
- .cmd/leftmargin/\leftmargin,
- .cmd/rightmargin/\rightmargin,
- .cmd/preskip/0ex,
- .cmd/width/\textwidth,
- .ord/dummy key/\@nil,
-}
-% Keys defined by \skvdefinekeys are automatically initialiized when
-% the option 'initialize' is true. When \skvsaveinitialvaluekeys has been
-% called for a set of keys, those keys can be initialized via
-% \skvinitializekeys:
-\skvinitializekeys[SKVT]{citation}[dummy key]
-
-\newcommand\newcitation[2][]{%
- \skvsetkeys[SKVT]{citation}{#1}%
- \sbox\skv@testbox{%
- \ctt@fonttype
- \textit{\textcolor{\ctt@textcolor}{\ctt@author}}%
- }%
- \list{}{%
- \setlength\leftmargin{\ctt@leftmargin}%
- \setlength\rightmargin{\ctt@leftmargin}%
- }%
- \vspace*{\ctt@preskip}%
- \item\relax
- \ifctt@putframe
- \begingroup
- \fboxrule\ctt@framethickness\relax
- \fcolorbox{\ctt@framecolor}{\ctt@shadecolor}{%
- \fi
- \parbox{\ctt@width}{%
- \ctt@fonttype\textcolor{\ctt@textcolor}{\ignorespaces#2}%
- \ifctt@showauthor
- \hspace*{\fill}\nolinebreak[1]%
- \quad\hspace*{\fill}\finalhyphendemerits\z@\relax
- \usebox\skv@testbox
- \fi
- }%
- \ifctt@putframe}\endgroup\fi
- \endlist
- % Restore default values of keys:
- \skvinitializekeys[SKVT]{citation}[]
-}
-
-
-%%++++++++++++++++++++++++ Shadow boxes ++++++++++++++++++++++%%
-
-\newdimen\shadowspread
-
-\skvdefinekeys*[SKVT]{shadowbox}[shb@]{%
- .zbool/put frame/true,
- .bool/shadow/true,
- .cmd/framecolor/black,
- .cmd/shadecolor/white,
- .cmd/shadowcolor/gray!55,
- .cmd/boxwidth/1.5cm,
- .ord/framesize/.5pt/\def\currfboxrule{#1},
- .ord/shadowsize/2pt/\shadowspread=\dimexpr#1\relax,
- .choice/align/center/{%
- center.do=\def\curralign##1{\hfil##1\hfil},
- right.do=\def\curralign##1{\hfill##1},
- left.do=\def\curralign##1{##1\hfill},
- justified.do=\let\curralign\@iden
- }
-}
-
-\skvdefinekeys*[SKVT]{testfam}[shb@]{%
- .zbool/put shadow/true,% Test zbool
- .zcmd/shade color/gray!55, % Test .zcmd
-}
-
-\skvdisablekeys[SKVT]{testfam}{put shadow, shade color}
-
-% Presetting and posetting keys.
-%
-% 1. 'Presetting keys' means set the following keys whenever
-% \setkeys is called. These keys should be set BEFORE the keys
-% listed in the current argument of \setkeys are set, provided
-% that these keys aren't listed in the current argument of \setkeys.
-% If these keys appear in the current argument of \setkeys,
-% then obviously the user has new values for them or he wants
-% the keys to be set with their default values.
-%
-% 2. 'Postsetting keys' means set the following keys whenever
-% \setkeys is called. These keys should be set AFTER the keys
-% listed in the current argument of \setkeys are set, provided
-% that these keys aren't listed in the current argument of \setkeys.
-%
-% 3. The command \presetkeys of the xkeyval package expects both
-% 'head' and 'tail'. The skeyval package splits \presetkeys into two,
-% hopefully less confusing, commands: \skvpresetkeys and
-% \skvpostsetkeys.
-%
-% 4. There is also command \skvpreposetkeys, which combines
-% \skvpresetkeys and \skvpostsetkeys. This expects both head and
-% tail and is equivalent to xkeyval's \presetkeys.
-
-\skvpresetkeys[SKVT]{shadowbox}{%
- put frame,framecolor=black,framesize=.8pt,boxwidth=1.5cm,align=center,
- shadecolor=gray!15
-}
-
-\skvpostsetkeys[SKVT]{shadowbox}{%
- shadow=.use value{put frame},shadowcolor=.use value{framecolor}!40,
- shadowsize=\dimexpr.use value{framesize}*5\relax
-}
-
-\newcommand*\newshadowbox[2][]{%
- \skvsetkeys[SKVT]{shadowbox}{#1}%
- \begingroup
- \ifshb@putframe
- \fboxrule=\dimexpr\currfboxrule\relax
- \else
- \fboxrule=0pt
- \fi
- \ifshb@shadow\else\shadowspread=0pt \fi
- \sbox\z@{\fcolorbox{\shb@framecolor}{\shb@shadecolor}{%
- \hb@xt@\shb@boxwidth{\curralign{#2}}%
- }}%
- \hskip\shadowspread
- \color{\shb@shadowcolor}%
- \rule[-\dp0]{\wd0}{\dimexpr\ht0+\dp0\relax}%
- \llap{\raisebox{\shadowspread}{\box0\hskip\shadowspread}}%
- \endgroup
-}
-
-%%++++++++++++++++++++++++ The \directkeys command ++++++++++++++++++++%%
-
-% The following are meant to demonstrate the use of the macro \directkeys:
-
-\ifdefined\skvtestcnt
- \skvtestcnt\z@
-\else
- \newcount\skvtestcnt
-\fi
-\def\logsetting{%
- \advance\skvtestcnt\@ne
- \typeout{'\skvcurrentkey' set: no.
- \ifnum\skvtestcnt<10 0\fi\the\skvtestcnt, %
- path: \skvcurrentprefix/\skvcurrentfamily}%
-}
-
-\directkeys{%
- % #1 will be the user-value of the handler 'some handler'.
- .new handlers = {
- .some handler=\def\x##1{##1*#1},
- .phantom handler=,
- },
- .handler let = {
- .another handler=.some handler,
- .do nothing handler=.phantom handler
- },
- .kill handlers={
- .another handler,
- .do nothing handler
- },
- .define handlers={
- .j handler=\def\x##1{##1*#1},
- .j handler=\def\y##1{##1*#1},
- },
- .define narg handlers={
- .j1 handler={2}{\def\x##1{##1*#1*#2}},
- .j2 handler={3}{\def\x##1{##1*#1*#2*#3}}
- },
- .new narg handlers={
- % Error: handler j1 already exists:
- % .j1 handler={2}{\def\x##1{##1*#1*#2}},
- .k handler={2}{\def\x##1{##1*#1*#2}},
- .l handler={3}{\def\x##1{##1*#1*#2*#3}}
- },
- .reserve handlers={reservedx , reservedy},
- .holder prefix = mp@,
- .prefix = KV,
- .families = {fam1, fam2},
- .add family = {fam3},
- .add families = {fama,famb,famc},
- .ignore families = {fama,famb,famc},
- .restore families = {fama,famb},
- .restore paths = {KVA/fama,KVD/famc},
-% .ignore keys = {keyb,keyc},
- .new keys = {
- .ord/keya/keya-default,
- .cmd/keyb/keyb-default/\def\x##1{##1#1},
- .cmd/keyc/keyc-default,
- .choice*/keyd/center
- /{ right.do=\def\val@r{#1},
- left.do=\def\val@l{#1},
- center.do=\def\val@c{#1}
- }
- /\def\yes{value accepted}
- /\def\no{value rejected},
- .bool/keye/true/
- \ifskvindef\else\logsetting\fi
- \ifmp@keye\def\y##1{##1#1}\fi
- ,
- .bool/keyf/true/,
- .bool/keyg/true/
- },
- .push path,
- .path = KV/fam1,
- .set keys = {keyd},
- .pop path,
- .ignore keys = {keyb,keyc},
- % Stop processing this list:
- % .list break,
- .restore keys = {keyb,keyc},
- .preset keys = {keyb,keyc},
- .postset keys = {keyb,keyc},
- % Save unknown keys in the default macro \<pref>@<fam>@rmkeys:
- .save unknown keys = true,
- .save unknown keys in = \macroa,
- .set keys = {keya,keyb,keyc,keyd,keye},
- .set keys = {keya=keya-value,keyb=\def\y####1{####1}},
- .set keys* = {keya=keya-value,keyf},
- .set keys* = {keya=keya-value,keyf},
- .ignore keys = {keyf},
- .set rmkeys*,
- % Execute arbitrary code:
- .exec code=\def\x#1{#1},
- % Nesting of \directkeys is possible. Pre-entry and post-entry
- % topologies are independent. At the end of the nest,
- % prevailing variables of \directkeys revert to their previous
- % (pre-door) values:
- \directkeys{
- .paths = {KVA/fam3,KVB/fam3},
- .holder prefix = hp@,
- .define keys = {
- .cmd/keya/keya-default/\def\x##1{##1#1},
- .ord/keyb/keyb-default,
- },
- .set keys = {keya=vala},
- },
- .exec code = \def\keycval{true},
- % Prepend slot keye to key1 and key2:
- .prepend slot={key1/{keye=.expanded{\keycval}},key2/{keye=false}},
- % Multi-prepend slots:
- .prepend slot={{key3,key4}/{keye=true,keyf=true},key5/{keye=false}},
- % Prepend slot keyd to key6:
- .prepend slot={key6/{keyd=right}},
- % Append slots keye and keyf to key7 and key8.
- % '.slots' and '.slot' are equivalent to '.append slots'
- % and '.append slot'.
- .append slot={key7/{keye=true},key8/{keyf=false}},
- % The next two link keyb and keyc to key9. #1 here refers to the
- % current value of key9. The same effect can be achieved directly
- % via the '.link' handler:
- .prepend slot={key9/{keyb=#1}},
- .append slot={key9/{keyc=#1}},
- .set keys = {key9=val9},
- % Link keye and keyf to key10 and key11. The values of key10 and
- % key11 are used to set keye and keyf. key10 and key11 are hence
- % 'parent keys'.
- .link = {key10/keye, {key11,key12}/{keyf,keyg}},
- .set keys = {key10=true},
- .ignore key = keyf,
- .save unknown keys in = \macrob,
- .setkeys = {keya,keyb,keyf},
- .disable keys = {keye,keyf},
-}
-
-%%++++++++++++++++++++++ Collecting body of environment +++++++++++++++++%%
-
-\skvmakekeys[
- .prefix=KV,
- .family=collectbody,
- .hp=mp,
- .initialize,
- .endlinechar=-1
-]{%
- .cmd/title//,
- .zcmd/title scale/1,
- .zcmd/body scale/1,
- .cmd/width/\textwidth,
- .zcmd/title text style//,
- .zcmd/body text style//,
- .cmd/action//
-}
-
-\newsavebox{\boxbody}
-\newenvironment{collectbody}[1][]{%
- \skvusekeys[.prefix=KV,.family=collectbody]{#1}%
- \ifx\mptitle\@empty\else\skvafterfi
- \begin{center}%
- \scalebox{\mptitlescale}{\mptitletextstyle\mptitle}%
- \end{center}%
- \fi
- \begin{lrbox}{\boxbody}%
- \begin{minipage}{\mpwidth}%
- \mpbodytextstyle\mpaction
-}{%
- \end{minipage}%
- \end{lrbox}%
- \scalebox{\mpbodyscale}{\usebox{\boxbody}}%
-}
-
-
-%%+++++++++++++++++++++ Changing the key parser ++++++++++++++++++++%%
-
-\setupskeyval{key parser={;}}
-\skvafterdefinekeys{\setupskeyval{keyparser={,}}}
-\skvdefinekeys*[SKVT]{example}[exm@]{%
- .zbool/put frame/true;
- .cmd/shadecolor/green;
- .ord/framesize/.5pt/\def\currfboxrule{#1};
- .choice/align/center/{%
- center.do=\def\curralign##1{\hfil##1\hfil},
- right.do=\def\curralign##1{\hfill##1},
- left.do=\def\curralign##1{##1\hfill},
- justified.do=\let\curralign\@iden
- };
-}
-
-%%++++++++++++++++++++++++++ Options section ++++++++++++++++++++++%%
-
-\def\skvtp@unknownoptions{}
-
-\skvunknownoptionhandler[SKVT]<abrtext,shadowbox,citation,testpkg>{%
- \edef\skvtp@unknownoptions{%
- \skvtp@unknownoptions\ifx\skvtp@unknownoptions\@empty\else,\fi
- #3%
- }%
- \AtEndDocument{%
- \ifx\skvtp@unknownoptions\@empty\else
- \PackageWarningNoLine{skeyval-testpkg}
- {Unknown keys: \skvtp@unknownoptions}%
- \fi
- }%
-}
-\skvexecuteoptions[SKVT]<abrtext>{align=.expanded{\alignval},
- text style=.expand once{\stextstyle},author,show author
-}
-
-\skvprocessoptions*+[SKVT]<abrtext,shadowbox,citation,testpkg>\relax
-%\skvrestrictedprocessoptions*+[SKVT]<abrtext,shadowbox,citation,testpkg>\relax
-
-\skvcomment
-Here you could also use:
-
-\directkeys{
- .mega process options*={
- .prefix=SKVT,
- .families={abrtext,shadowbox,citation,testpkg},
- }
-}
-
-or
-
-\directkeys{
- .prefix=SKVT,
- .families={abrtext,shadowbox,citation,testpkg},
- .copy class options and process options in all families,
-}
-\endcomment
-
-\endinput