%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
% 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
