summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/skeyval/doc/skeyval-pokayoke2.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/skeyval/doc/skeyval-pokayoke2.tex')
-rw-r--r--macros/latex/contrib/skeyval/doc/skeyval-pokayoke2.tex194
1 files changed, 194 insertions, 0 deletions
diff --git a/macros/latex/contrib/skeyval/doc/skeyval-pokayoke2.tex b/macros/latex/contrib/skeyval/doc/skeyval-pokayoke2.tex
new file mode 100644
index 0000000000..3c016c0d3c
--- /dev/null
+++ b/macros/latex/contrib/skeyval/doc/skeyval-pokayoke2.tex
@@ -0,0 +1,194 @@
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
+% 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
+]{skeyval-testclass}
+
+\setupskvtestclass{%
+ watermarktext={skeyval-test2\\[.25ex]Page~\thepage}
+}
+
+\usepackage{lipsum}
+\usepackage{xcolor}
+
+% If you try to load 'skeyval-testpkg' with options, the options
+% will all be zapped, unless you load 'skeyval-ltxpatch' on top of
+% \documentclass.
+
+\setuptextemphasis{usecolour=true,usebold,useitalics=true}
+
+\begin{document}
+
+\title{%
+ The \texttt{\textcolor{blue}{skeyval}} Package\\[2ex]
+ Version 1.1a\\[1ex]
+ \textsf{Test document 2}
+ \footnote{Made by \texttt{skeyval-testclass, Version~1.1a.}}%
+}
+\author{Ahmed Musa\footnote{\texttt{amusa22@gmail.com}.}}
+
+\maketitle
+
+\lipsum[1]
+
+\xem{\lipsum[1]}
+
+\setuptextemphasis{color=blue}
+
+\xem{\lipsum[1]}
+
+\setuptextemphasis{usecolor=false, usebold=false, useitalic=false}
+
+\xem{\lipsum[1]}
+
+\lipsum[1]
+
+\setuptextemphasis{make-textemphasis-inactive}
+
+\xem{\lipsum[1]}
+
+% This will raise an error: 'dummy-option' has been disabled
+% at begin document:
+% \setuptextemphasis{dummy-option}
+
+\begin{tikzpicture}[shading=ball]
+\newforeach \x/\cola in {0/red,1/green,2/blue,3/yellow} do {%
+ \newforeach \y/\colb in {0/red,1/green,2/blue,3/yellow} {%
+ \node[
+ circle,double,draw=-\cola!50!\colb,fill=\cola!50!\colb,
+ thick,inner sep=2pt,
+ minimum size=10mm,font=\bfseries\color{white}
+ ] at (\x*2,\y*2) {\x,\y};
+ }%
+}
+\end{tikzpicture}
+
+\bigskip
+\parindent-20pt
+\begin{tikzpicture}
+\draw[step=.5cm,blue!65,very thin] (0,0) grid (13,6);
+\newforeach \x in {1,2,...,5,7,8,...,12} {
+ \newforeach \y in {1,...,5} do {
+ \draw (\x,\y) +(-.5,-.5) rectangle ++(.5,.5);
+ \draw (\x,\y) node{\x,\y};
+ }
+}
+\end{tikzpicture}
+
+\bigskip
+\begingroup
+\catcode`\,=13
+\gdef\alist{1,2,...,5,7,8,...,12}
+\endgroup
+\parindent-20pt
+\begin{tikzpicture}
+\draw[step=.5cm,blue!65,very thin] (0,0) grid (13,6);
+\newforeach* \x [
+ count in=\xc all \x satisfying \ifnum\x>5\fi
+] in \alist {
+ \newforeach[
+ parser={;}, subparser=:,
+ evaluate=\y as \ye using \numexpr\y*10
+ ]
+ \y:\z in {1:red; 2:green; 3:blue; 4:brown; 5:purple} do {
+ \draw [fill=\z\ifnum\x>5!\ye\fi](\x,\y) +(-.5,-.5) rectangle ++(.5,.5);
+ \draw (\x,\y) node {\x,\y};
+ }
+}
+\global\let\xc\xc
+\end{tikzpicture}
+%\show\xc
+
+
+\end{document}
+
+
+%++ Pokayoke for \skvsetdirectkeysparser and \skvsetdefinekeysparser ++%
+
+\usepackage{tikz}
+\usetikzlibrary{shapes.geometric}
+\makeatletter
+\skvsetdirectkeysparser{;}
+\skvsetdefinekeysparser{;}
+\directkeys*{
+ .family=graph;
+ .holder prefix=cvt@;
+ .initialize keys after define;
+ .define keys={
+ .ord/num vertices,number of vertices,vertices/6/
+ \skvensureinteger{vertices}{#1}
+ \def\cvt@vertices{#1}
+ ;
+ .ord/radius,circle radius/2/\def\cvt@radius{#1};
+ .cmd/x,y/0
+ };
+ .preset keys={vertices,radius,x,y}
+}
+\newcommand*\drawgraph[1][]{%
+ \directkeys{
+ .family=graph;
+ .set keys={#1}
+ }
+ \pgfmathsetmacro\halfcircleradius{\cvt@radius/2}
+ \draw[blue] (\cvt@x,\cvt@y) circle (\halfcircleradius cm)
+ node [regular polygon, regular polygon sides=\cvt@vertices,
+ minimum size=\cvt@radius cm, draw=none, name={vertex set}]{};
+ \foreach \x in {1,...,\cvt@vertices}{
+ \node[draw,circle,inner sep=1pt,blue,fill=blue] at (vertex set.corner \x){};
+ }
+ \foreach \x in {1,...,\cvt@vertices}{
+ \foreach \y in {\x,...,\cvt@vertices}{
+ \draw[ultra thin, red] (vertex set.corner \x)--(vertex set.corner \y);
+ }
+ }
+}
+\makeatother
+\begin{document}
+\begin{tikzpicture}
+\drawgraph[number of vertices=6, circle radius=3, x=0, y=0]
+\drawgraph[number of vertices=8, circle radius=3, x=4, y=0]
+\end{tikzpicture}
+\par\bigskip
+\begin{tikzpicture}
+% Use default values of positions:
+\drawgraph[vertices=8, radius=3]
+% Use default values of vertices and radius:
+\drawgraph[x=4, y=0]
+\end{tikzpicture}
+\par\bigskip
+\begin{tikzpicture}
+% Use default values of all keys:
+\drawgraph
+\end{tikzpicture}
+\end{document}
+
+% End of file skeyval-pokayoke2.tex