From 447eef5aca79d262a5fc62fed6b8e5b0df927b23 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Fri, 2 Sep 2022 23:02:35 +0200 Subject: [PATCH 01/28] start of explain section --- doc/tikzpingus-doc.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index ba35fee..7b81879 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -4904,5 +4904,12 @@ \subsubsection{The second shirt} \end{tcblisting} \endsubkeyexplain} +\section{Describing the internals} +The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. + +\subsection{Adding new Eyes} + + + \lstset{breakatwhitespace}\printindex \end{document} From 4ab814183355efab59b0886e23cb59c007382c41 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 14:00:41 +0200 Subject: [PATCH 02/28] initialize keys --- doc/tikzpingus-doc.tex | 7 ++++++- tex/tikzpingus.sty | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 7b81879..9a650ff 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -4904,11 +4904,16 @@ \subsubsection{The second shirt} \end{tcblisting} \endsubkeyexplain} +% set up for inclusion +\lstset{includerangemarker=false,rangeprefix={\% <}, rangesuffix={>}} +\newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange={#2}-{@#2},style=lstpingu,language=pinguinternallang]{#1} + \section{Describing the internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. \subsection{Adding new Eyes} - +The eyes of the penguin are controlled by two selections for the left, and the right eye: +\includecode{eyes-selectors} \lstset{breakatwhitespace}\printindex diff --git a/tex/tikzpingus.sty b/tex/tikzpingus.sty index 42b928a..8368b6c 100644 --- a/tex/tikzpingus.sty +++ b/tex/tikzpingus.sty @@ -106,12 +106,15 @@ \long\def\pingu@create@extra#1#2#3{\expandafter\newif\csname if@pingu@x@#1@\endcsname\pgfqkeys{/pingu}{#2,extra defaults/.append style={#3}}} \def\pingu@set@extra#1#2{\csname @pingu@x@#1@#2\endcsname} +% \pingu@create@selection{lefteye}{% \path ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left);% } \pingu@create@selection{righteye}{% \path ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate (\pingu@name-eye-right);% } +% <@eyes-selectors> + \pingu@create@selection{leftwing}{% \path ([yshift=-6.5mm]\pingu@name-wings-side-left) coordinate (\pingu@name-wing-left-start) From e8b7fbd13addc44e593d58f43e9397ad239672a8 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 16:19:04 +0200 Subject: [PATCH 03/28] removing tex aspect to allow backslashes in cmds --- doc/tikzpingus-doc.tex | 8488 ++++++++++++++++++++-------------------- tex/tikzpingus.sty | 4 +- 2 files changed, 4256 insertions(+), 4236 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 9a650ff..8fc56c1 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -19,7 +19,7 @@ \urlstyle{same} \expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks\do-} -\usepackage[tex,hyper]{listings} +\usepackage[hyper]{listings} \usepackage[skins,breakable,hooks,xparse,listingsutf8,external]{tcolorbox} \usepackage{lmodern} \usepackage{CrimsonPro} @@ -87,9 +87,9 @@ emphstyle=[2]\optstyle, emphstyle=[3]\@declaredcolor{@softgray@b}, emphstyle=[4]\@declaredcolor{@darkerblue}, - texcsstyle=*\@declaredcolor{gray}\bfseries, - texcsstyle=*[2]\@declaredcolor{doc-main}\bfseries, - texcsstyle=*[3]\@declaredcolor{@softgray}, + % texcsstyle=*\@declaredcolor{gray}\bfseries, + % texcsstyle=*[2]\@declaredcolor{doc-main}\bfseries, + % texcsstyle=*[3]\@declaredcolor{@softgray}, lineskip=2.5pt, keepspaces=true, moredelim=[s][\itshape]{<}{>}, @@ -103,8 +103,8 @@ language={[LaTeX]TeX}, moreemph={tikzpicture}, alsoletter={@}, - moretexcs=[2]{pingu@block,pingu@draw}, - moretexcs={pingu@eye@shift,pingu@color@eye@left,pingu@color@eye@right,pingu@name,@pingu@eyes@s,@pingu@none} + % moretexcs=[2]{pingu@block,pingu@draw,}, + % moretexcs={pingu@eye@shift,pingu@color@eye@left,pingu@color@eye@right,@pingu@eyes@s,@pingu@none,path} } \def\t@lst@addToLiterate#1{\protected@edef\lst@literate{\unexpanded\expandafter{\lst@literate}\unexpanded{#1}}} @@ -115,9 +115,9 @@ language={[LaTeX]TeX}, moreemph={tikzpicture}, alsoletter={.-!:0123456789},%disable number - deletetexcs={begin,end}, % -> lift 3 - moretexcs=[2]{pingu,duck,node,pingudefaults,pingudefaultsappend,pinguloadlibrary,pinguloadlibraries}, - moretexcs=[3]{begin,end,pgfmathsetseed}, + % deletetexcs={begin,end}, % -> lift 3 + % moretexcs=[2]{pingu,duck,node,pingudefaults,pingudefaultsappend,pinguloadlibrary,pinguloadlibraries}, + % moretexcs=[3]{begin,end,pgfmathsetseed}, moreemph=[3]{!hide,.style}, add to literate={/pingu/}{{\@declaredcolor{gray}/pingu/}}7 {\{tikzpicture\}}{{\@declaredcolor{@softgray}\{tikzpicture\}}}{13} @@ -126,13 +126,15 @@ {!random}{{\@declaredcolor{darkgray}\itshape!random}}7 } -\def\@CreateCodeHyperLink#1#2#3{\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#2}}}{#1}}} +\def\@CreateCodeHyperLink#1#2#3#4{\typeout{Creating hyperlink #2 => #3}\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#4}}}{#1}}} % #1 Keys | #2 length (optimized) \def\CreateCodeHyperLink#1#2{% \StrLen{\@elem}[\@cclen] \@for\@elem:=#1\do{\ifx\@elem\@empty\else % space to space cmd % TODO: do this on store and just keep store? \StrSubstitute{\@elem}{ }{\noexpand\ }[\@sub]\relax - \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}}\@tmp\fi}% + \StrSubstitute{\@sub}{_}{\\}[\@sub]% + \StrSubstitute{\@sub}{\\}{\textbackslash}[\@subb]% deal with backslash + \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}{\@subb}}\@tmp\fi}% } % store all. we use their precalculated length to ensure prefixes we go from small to large on set \def\cmdsstore#1#2{\csxdef{allcmds@#1}{#2}} @@ -195,20 +197,24 @@ \def\explaincolor{@opcolor!8!white} \def\cursub{} \def\keyexplainindent{2.5em}% +\let\@labelhack\@empty % allow the oxes to have minor overlaps \newenvironment{keyexplain}[4][/pingu/]{\minipage{\linewidth} \parskip\smallskipamount \StrSubstitute{#2}{ }{-}[\keyexternalname]% + \StrSubstitute{\keyexternalname}{\\}{_}[\keyexternalname]% + {\def\\{_}\protected@xdef\@key{#2}}%% + {\def\\{}\protected@xdef\@idxkey{#2}}%% backslash should not interfere with keys \tcbset{@/.style={externalize listing=key-\keyexternalname}}% set for externalize - \phantomsection\label{pk:#1#2}\index{\cursub#2?\hyperref[pk:#1#2]{\protect\lpingu{#2}}}% + \phantomsection\label{pk:#1\@labelhack\@key}\index{\cursub\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}% % get its length: \StrLen{#2}[\@cclen]% - \csgappto{allcmds@\@cclen}{#2,}% + \protected@csxappto{allcmds@\@cclen}{\@key,}% % update the range \ifnum\@cclen>\allcmdsmax\relax \xdef\allcmdsmax{\@cclen}\fi \ifnum\@cclen<\allcmdsmin\relax \xdef\allcmdsmin{\@cclen}\fi - \expandafter\gdef\csname pinguopt#2\endcsname{#3}% - \expandafter\gdef\csname pingudefa#2\endcsname{#4}% + \expandafter\gdef\csname pinguopt\@key\endcsname{#3}% + \expandafter\gdef\csname pingudefa\@key\endcsname{#4}% \begingroup\pgfkeys{/pingu/.cd,defaults}\protected@edef\@tmp{#4}% \protected@edef\@tmpb{#3}% \hspace*{-\keyexplainindent}\tcbox[left=3pt,right=3pt,top=3pt,bottom=3pt,colframe=white,colback=\explaincolor,on line]{% @@ -216,7 +222,7 @@ \ifx\@tmpb\@empty\lpingu{#1#2}\else\lpingu{#1#2 =\ }\texttt{<\textit{\@tmpb}>}\fi\hfill \ifx\@tmp\@empty\else{\@declaredcolor{gray}(}#4{\@declaredcolor{gray})}\fi } - }\ifcsname pingu@@lib@#2@\endcsname\index{Libraries!\textit{\csname pingu@@lib@#2@\endcsname}!#2?\hyperref[pk:#1#2]{\protect\lpingu{#2}}}\rlap{~\quad\raisebox{2.75pt}{$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\footnotesize\strut\csname pingu@@lib@#2@\endcsname}}}$}}\fi\kern-\linewidth\par\endgroup + }\ifcsname pingu@@lib@\@key @\endcsname\index{Libraries!\textit{\csname pingu@@lib@#2@\endcsname}!\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}\rlap{~\quad\raisebox{2.75pt}{$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\footnotesize\strut\csname pingu@@lib@#2@\endcsname}}}$}}\fi\kern-\linewidth\par\endgroup } {\endminipage\smallskip\par} @@ -241,6 +247,13 @@ {\@declaredcolor{gray}\footnotesize This command is only in effect if \keyref[#1]{#2} is active.}\par }{\endkeyexplain\endgroup} +\newenvironment{commandexplain}[1]{% +\begingroup +\def\@labelhack{/pingu/}% +\def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% +\keyexplain[]{\\#1}{}{}% +}{\endkeyexplain\endgroup} + \def\consumeshowkeyexplain#1(#2){\ShowcaseThis[#2]{#1}} \newenvironment{showkeyexplain}[4][/pingu/]{% \keyexplain[#1]{#2}{#3}{#4}% @@ -688,4232 +701,4239 @@ \subsection{Randomness} \endkeyexplain -\subsection{Extras} -An extra is considered everything, that is attached to the main penguin and not to the wings (as those items may be placed separately for both wings). -Most extras are activated with the format |=| (the || option is not mandatory) -and try to adapt with other extras that have been placed (yet you can place multiple hats if you really like to). A lot of the extras do offer more keys to customize their appearance. -They are explained in the full reference (\autoref{sec:full-ref}). - -Consider the somewhat overkill-example of \say{\nameref{lord-gadget}}. -\begin{tcblisting}{title={Lord-Gadget, the penguin},externalize listing=lord-gadget,nameref={Lord-Gadget, the penguin},label=lord-gadget,float} -\begin{tikzpicture} - \pingu[crown 2d=pingu@bronze, - medal=pingu@purple, tie, - eye patch left=teal, - eye patch right=orange, - right wing wave, sunglasses, - glow thick=yellow] -\end{tikzpicture} -\end{tcblisting} - -\subsection{Wing-Items} -Wing items are basically just like extras, but they can be selected separately for the left and right wing. Furthermore, they adapt their \textit{default} appearance to the active wing positions (\autoref{subsec:wings}). -Currently there are the following wing items: -% add a extra guard not present with the wing items -\typesetselection[\textit{#1\expandafter\ParseDTLListElement :"#1"\@nil}]{wingitems}. -They are selected using | |. - -Additionally, they can be customized by \keyref{left item angle} and \keyref{right item angle}, as well as \keyref{left item flip} and \keyref{right item flip}. -Lets consider an example\ldots -\begin{tcblisting}{title={Penguin with full wings!}} -\begin{tikzpicture}[scale=.75] - \pingu[lightsaber right=orange, - lollipop left, - right item angle=70, - right wing raise, left wing grab] - \pingu[cane left, right item flip, - sign post right={Hi!}, xshift=35mm] -\end{tikzpicture} -\end{tcblisting} - -\subsection{Clothing} -Clothing is the newest extension to the collection, at and the moment there is not one \say{real} clothing, that really adapts to the penguins-position. -I am working on the \textit{cloak}-Clothing at the moment: -\begin{tcblisting}{title={Pengu-Clothes},externalize listing=clothes} -\begin{tikzpicture}[scale=.75] - \pingu[cloak] -\end{tikzpicture} -\end{tcblisting} - -% \section{Examples} - -\appendix -\section{Gadget Overview}\label{Gadget-Overview} - -\TypesetShowcases - -\section{Full Reference}\label{sec:full-ref} - -\def\percenttargetreductionpengus{63}\def\lstfnsize{-1.65} -\tcbset{% - before lower={\begin{adjustbox}{scale=.\percenttargetreductionpengus}}, - after lower={\end{adjustbox}},% - boxsep=1pt% -} - -\begin{center} - \textit{Please note, that all preview-penguins have been reduced in scale to \percenttargetreductionpengus\,\% to save space and make the documentation more concise.} -\end{center} - -Aliases may set custom defaults. Those defaults are not listed as they may change. - -\subsection{Penguin Keys} - -\keyexplain{name}{text}{\pingu@name} - Sets the name of the penguin. This name is used for all the automatically generated coordinates (see~\autoref{mrk:coordinates}). -\endkeyexplain - -\keyexplain{scale}{floating point}{active scale} - Changes the scale for the penguin. This is not supported by all items by default (as some scales have to be re-calculated according to their rotation). - Yet, it should work with most. - - Furthermore, this value can be used to make the penguin independent of the outer scaling. -\endkeyexplain - - -\keyexplain{meta-dots}{true/false}{\if@pingu@draw@metadots true\else false\fi} - Can be used to enable and disable the meta dots (\autoref{mrk:coordinates}). - Passed true by default. -\endkeyexplain - -\keyalias{meta dots}{meta-dots} - -\subsubsection{The Feet} - -\keyexplain{left foot}{foot-selector}{\@pingu@select@leftfoot@} - Change the style of the left foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -\begin{tikzpicture} - \pingu[left foot=simple] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{left foot color}{color}{\pingu@color@foot@left} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[left foot color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{left foot}{\@pingu@leftfoot@}{left foot color} - -\keyexplain{right foot}{foot-selector}{\@pingu@select@rightfoot@} - Change the style of the right foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -\begin{tikzpicture} - \pingu[right foot=simple] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{right foot color}{color}{\pingu@color@foot@right} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[right foot color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{right foot}{\@pingu@rightfoot@}{right foot color} - -\keyexplain{feet}{foot-selector}{} - Change the style of both feet by calling \keyref{left foot} and \keyref{right foot} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -\begin{tikzpicture} - \pingu[feet=simple] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{feet color}{color}{} - Sets the color of both feet (using \keyref{left foot color} and \keyref{right foot color}). -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[feet color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{feet}{\@pingu@leftfoot@}{feet color} - -\subsubsection{The Body} - -\keyexplain{body main}{color}{\pingu@color@body@main} - Set the main color of the penguin. This will affect \keyref{hair} as well, as this chooses its default value from the main color.% -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[body main=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{body head}{color}{\pingu@color@body@head} - Set the color of the penguin head.% -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[body head=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{body}{color}{} - Sets the color of the main penguin and the head, by calling \keyref{body main} and \keyref{body head} with the same value. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[body=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{body front}{color}{\pingu@color@body@front} - Sets the frontal color of the penguin. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[body front=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{body type}{body type}{normal} - Change the active body type. All valid values are listed in \autoref{mrk:pengu-change-comps}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[body type=legacy] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\subsubsection{The Size} - - -\keyexplain{height}{length}{\the\pingu@side@h@half} - Change the height of the penguin manually. You probably should not use this key directly and refer to \keyref{small size}, \keyref{normal size}, and \keyref{large size}: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -\begin{tikzpicture} - \pingu[height=17mm] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{small size}{}{} - Will use \keyref{height} to create a small pingu: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -\begin{tikzpicture} - \pingu[small size] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{small}{small size} -\keyalias{small height}{small size} - - -\keyexplain{normal size}{}{} - Will use \keyref{height} to create a normal pingu: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -\begin{tikzpicture} - \pingu[normal size] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{normal}{normal size} -\keyalias{normal height}{normal size} - - -\keyexplain{large size}{}{} - Will use \keyref{height} to create a large pingu: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -\begin{tikzpicture} - \pingu[large size] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{large}{large size} -\keyalias{large height}{large size} - -\subsubsection{The Eyes} -\keyexplain{left eye}{eye-selector}{\@pingu@select@lefteye@} - Change the style of the left eye. All valid values are listed in \autoref{mrk:pengu-eye}. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -\begin{tikzpicture} - \pingu[left eye=wink] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{left eye color}{color}{\pingu@color@eye@left} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[left eye color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{left eye second color}{color}{\pingu@color@eye@second@left} - Change the secondary color of the left eye. It will be used in some styles selected by \keyref{left eye} (e.g.\ \textit{shiny}): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shiny}}}} -\begin{tikzpicture} - \pingu[left eye=shiny, - left eye second color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{left eye}{\@pingu@lefteye@}{left eye color} - -\keyexplain{right eye}{eye-selector}{\@pingu@select@righteye@} - Change the style of the right eye. All valid values are listed in \autoref{mrk:pengu-eye}. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -\begin{tikzpicture} - \pingu[right eye=wink] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{right eye color}{color}{\pingu@color@eye@right} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[right eye color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{right eye second color}{color}{\pingu@color@eye@second@right} - Change the secondary color of the right eye. It will be used in some styles selected by \keyref{right eye} (e.g.\ \textit{shiny}): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock}}}} -\begin{tikzpicture} - \pingu[right eye=shock, - right eye second color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{right eye}{\@pingu@righteye@}{right eye color} - -\keyexplain{eyes}{eye-selector}{} - Change the style of both eyes by calling \keyref{left eye} and \keyref{right eye} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -\begin{tikzpicture} - \pingu[eyes=wink] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{eyes color}{color}{} - Change the main color of both eyes by calling \keyref{left eye color} and \keyref{right eye color} with the same value. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[eyes color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{eyes second color}{color}{} - Change the secondary color of both eyes by calling \keyref{left eye second color} and \keyref{right eye second color} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock,shiny}}}} -\begin{tikzpicture} - \pingu[left eye=shock, right eye=shiny, - eyes second color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{eyes}{\@pingu@lefteye@}{eyes color} - -\subsubsection{The Wings} - -\keyexplain{left wing}{wing-selector}{\@pingu@select@leftwing@} - Change the style of the left wing. All valid values are listed in \autoref{subsec:wings}. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} -\begin{tikzpicture} - \pingu[left wing=wave] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{left wing color}{color}{\pingu@color@left@wing} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[left wing color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{left wing}{\@pingu@leftwing@}{left wing color} - -\keyexplain{right wing}{wing-selector}{\@pingu@select@rightwing@} - Change the style of the right wing. All valid values are listed in \autoref{subsec:wings}. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} -\begin{tikzpicture} - \pingu[right wing=hug] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{right wing color}{color}{\pingu@color@right@wing} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[right wing color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{right wing}{\@pingu@rightwing@}{right wing color} - -\keyexplain{wings}{wing-selector}{} - Change the style of both wings by calling \keyref{left wing} and \keyref{right wing} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -\begin{tikzpicture} - \pingu[wings=grab] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{wings color}{color}{} - Change the main color of both wings by calling \keyref{left wing color} and \keyref{right wing color} with the same value. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[wings color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{wings}{\@pingu@leftwing@}{wings color} - -\subsubsection{The Hair} - - -\keyexplain{hair 1 color}{color}{\pingu@color@hair@a} - Set the color of the first hair (this may be used differently by other hairstyles): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[hair 1 color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{hair 2 color}{color}{\pingu@color@hair@b} - Set the color of the second hair (this may be used differently by other hairstyles): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{2}}}} -\begin{tikzpicture} - \pingu[hair 2 color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{hair 3 color}{color}{\pingu@color@hair@c} - Set the color of the third hair (this may be used differently by other hairstyles): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{3}}}} -\begin{tikzpicture} - \pingu[hair 3 color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{hair 4 color}{color}{\pingu@color@hair@d} - Set the color of the fourth hair (this may be used differently by other hairstyles): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{4}}}} -\begin{tikzpicture} - \pingu[hair 4 color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{hair 5 color}{color}{\pingu@color@hair@e} - Set the color of the fifth hair (this may be used differently by other hairstyles): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{5}}}} -\begin{tikzpicture} - \pingu[hair 5 color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain +% \subsection{Extras} +% An extra is considered everything, that is attached to the main penguin and not to the wings (as those items may be placed separately for both wings). +% Most extras are activated with the format |=| (the || option is not mandatory) +% and try to adapt with other extras that have been placed (yet you can place multiple hats if you really like to). A lot of the extras do offer more keys to customize their appearance. +% They are explained in the full reference (\autoref{sec:full-ref}). + +% Consider the somewhat overkill-example of \say{\nameref{lord-gadget}}. +% \begin{tcblisting}{title={Lord-Gadget, the penguin},externalize listing=lord-gadget,nameref={Lord-Gadget, the penguin},label=lord-gadget,float} +% \begin{tikzpicture} +% \pingu[crown 2d=pingu@bronze, +% medal=pingu@purple, tie, +% eye patch left=teal, +% eye patch right=orange, +% right wing wave, sunglasses, +% glow thick=yellow] +% \end{tikzpicture} +% \end{tcblisting} + +% \subsection{Wing-Items} +% Wing items are basically just like extras, but they can be selected separately for the left and right wing. Furthermore, they adapt their \textit{default} appearance to the active wing positions (\autoref{subsec:wings}). +% Currently there are the following wing items: +% % add a extra guard not present with the wing items +% \typesetselection[\textit{#1\expandafter\ParseDTLListElement :"#1"\@nil}]{wingitems}. +% They are selected using | |. + +% Additionally, they can be customized by \keyref{left item angle} and \keyref{right item angle}, as well as \keyref{left item flip} and \keyref{right item flip}. +% Lets consider an example\ldots +% \begin{tcblisting}{title={Penguin with full wings!}} +% \begin{tikzpicture}[scale=.75] +% \pingu[lightsaber right=orange, +% lollipop left, +% right item angle=70, +% right wing raise, left wing grab] +% \pingu[cane left, right item flip, +% sign post right={Hi!}, xshift=35mm] +% \end{tikzpicture} +% \end{tcblisting} + +% \subsection{Clothing} +% Clothing is the newest extension to the collection, at and the moment there is not one \say{real} clothing, that really adapts to the penguins-position. +% I am working on the \textit{cloak}-Clothing at the moment: +% \begin{tcblisting}{title={Pengu-Clothes},externalize listing=clothes} +% \begin{tikzpicture}[scale=.75] +% \pingu[cloak] +% \end{tikzpicture} +% \end{tcblisting} + +% % \section{Examples} + +% \appendix +% \section{Gadget Overview}\label{Gadget-Overview} + +% \TypesetShowcases + +% \section{Full Reference}\label{sec:full-ref} + +% \def\percenttargetreductionpengus{63}\def\lstfnsize{-1.65} +% \tcbset{% +% before lower={\begin{adjustbox}{scale=.\percenttargetreductionpengus}}, +% after lower={\end{adjustbox}},% +% boxsep=1pt% +% } + +% \begin{center} +% \textit{Please note, that all preview-penguins have been reduced in scale to \percenttargetreductionpengus\,\% to save space and make the documentation more concise.} +% \end{center} + +% Aliases may set custom defaults. Those defaults are not listed as they may change. + +% \subsection{Penguin Keys} + +% \keyexplain{name}{text}{\pingu@name} +% Sets the name of the penguin. This name is used for all the automatically generated coordinates (see~\autoref{mrk:coordinates}). +% \endkeyexplain + +% \keyexplain{scale}{floating point}{active scale} +% Changes the scale for the penguin. This is not supported by all items by default (as some scales have to be re-calculated according to their rotation). +% Yet, it should work with most. + +% Furthermore, this value can be used to make the penguin independent of the outer scaling. +% \endkeyexplain + + +% \keyexplain{meta-dots}{true/false}{\if@pingu@draw@metadots true\else false\fi} +% Can be used to enable and disable the meta dots (\autoref{mrk:coordinates}). +% Passed true by default. +% \endkeyexplain + +% \keyalias{meta dots}{meta-dots} + +% \subsubsection{The Feet} + +% \keyexplain{left foot}{foot-selector}{\@pingu@select@leftfoot@} +% Change the style of the left foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +% \begin{tikzpicture} +% \pingu[left foot=simple] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{left foot color}{color}{\pingu@color@foot@left} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[left foot color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{left foot}{\@pingu@leftfoot@}{left foot color} + +% \keyexplain{right foot}{foot-selector}{\@pingu@select@rightfoot@} +% Change the style of the right foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +% \begin{tikzpicture} +% \pingu[right foot=simple] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{right foot color}{color}{\pingu@color@foot@right} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[right foot color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{right foot}{\@pingu@rightfoot@}{right foot color} + +% \keyexplain{feet}{foot-selector}{} +% Change the style of both feet by calling \keyref{left foot} and \keyref{right foot} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +% \begin{tikzpicture} +% \pingu[feet=simple] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{feet color}{color}{} +% Sets the color of both feet (using \keyref{left foot color} and \keyref{right foot color}). +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[feet color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{feet}{\@pingu@leftfoot@}{feet color} + +% \subsubsection{The Body} + +% \keyexplain{body main}{color}{\pingu@color@body@main} +% Set the main color of the penguin. This will affect \keyref{hair} as well, as this chooses its default value from the main color.% +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[body main=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{body head}{color}{\pingu@color@body@head} +% Set the color of the penguin head.% +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[body head=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{body}{color}{} +% Sets the color of the main penguin and the head, by calling \keyref{body main} and \keyref{body head} with the same value. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[body=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{body front}{color}{\pingu@color@body@front} +% Sets the frontal color of the penguin. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[body front=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{body type}{body type}{normal} +% Change the active body type. All valid values are listed in \autoref{mrk:pengu-change-comps}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[body type=legacy] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \subsubsection{The Size} + + +% \keyexplain{height}{length}{\the\pingu@side@h@half} +% Change the height of the penguin manually. You probably should not use this key directly and refer to \keyref{small size}, \keyref{normal size}, and \keyref{large size}: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +% \begin{tikzpicture} +% \pingu[height=17mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{small size}{}{} +% Will use \keyref{height} to create a small pingu: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +% \begin{tikzpicture} +% \pingu[small size] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{small}{small size} +% \keyalias{small height}{small size} + + +% \keyexplain{normal size}{}{} +% Will use \keyref{height} to create a normal pingu: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +% \begin{tikzpicture} +% \pingu[normal size] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{normal}{normal size} +% \keyalias{normal height}{normal size} + + +% \keyexplain{large size}{}{} +% Will use \keyref{height} to create a large pingu: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +% \begin{tikzpicture} +% \pingu[large size] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{large}{large size} +% \keyalias{large height}{large size} + +% \subsubsection{The Eyes} +% \keyexplain{left eye}{eye-selector}{\@pingu@select@lefteye@} +% Change the style of the left eye. All valid values are listed in \autoref{mrk:pengu-eye}. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +% \begin{tikzpicture} +% \pingu[left eye=wink] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{left eye color}{color}{\pingu@color@eye@left} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[left eye color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{left eye second color}{color}{\pingu@color@eye@second@left} +% Change the secondary color of the left eye. It will be used in some styles selected by \keyref{left eye} (e.g.\ \textit{shiny}): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shiny}}}} +% \begin{tikzpicture} +% \pingu[left eye=shiny, +% left eye second color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{left eye}{\@pingu@lefteye@}{left eye color} + +% \keyexplain{right eye}{eye-selector}{\@pingu@select@righteye@} +% Change the style of the right eye. All valid values are listed in \autoref{mrk:pengu-eye}. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +% \begin{tikzpicture} +% \pingu[right eye=wink] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{right eye color}{color}{\pingu@color@eye@right} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[right eye color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{right eye second color}{color}{\pingu@color@eye@second@right} +% Change the secondary color of the right eye. It will be used in some styles selected by \keyref{right eye} (e.g.\ \textit{shiny}): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock}}}} +% \begin{tikzpicture} +% \pingu[right eye=shock, +% right eye second color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{right eye}{\@pingu@righteye@}{right eye color} + +% \keyexplain{eyes}{eye-selector}{} +% Change the style of both eyes by calling \keyref{left eye} and \keyref{right eye} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +% \begin{tikzpicture} +% \pingu[eyes=wink] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{eyes color}{color}{} +% Change the main color of both eyes by calling \keyref{left eye color} and \keyref{right eye color} with the same value. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[eyes color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{eyes second color}{color}{} +% Change the secondary color of both eyes by calling \keyref{left eye second color} and \keyref{right eye second color} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock,shiny}}}} +% \begin{tikzpicture} +% \pingu[left eye=shock, right eye=shiny, +% eyes second color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{eyes}{\@pingu@lefteye@}{eyes color} + +% \subsubsection{The Wings} + +% \keyexplain{left wing}{wing-selector}{\@pingu@select@leftwing@} +% Change the style of the left wing. All valid values are listed in \autoref{subsec:wings}. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} +% \begin{tikzpicture} +% \pingu[left wing=wave] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{left wing color}{color}{\pingu@color@left@wing} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[left wing color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{left wing}{\@pingu@leftwing@}{left wing color} + +% \keyexplain{right wing}{wing-selector}{\@pingu@select@rightwing@} +% Change the style of the right wing. All valid values are listed in \autoref{subsec:wings}. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} +% \begin{tikzpicture} +% \pingu[right wing=hug] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{right wing color}{color}{\pingu@color@right@wing} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[right wing color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{right wing}{\@pingu@rightwing@}{right wing color} + +% \keyexplain{wings}{wing-selector}{} +% Change the style of both wings by calling \keyref{left wing} and \keyref{right wing} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +% \begin{tikzpicture} +% \pingu[wings=grab] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{wings color}{color}{} +% Change the main color of both wings by calling \keyref{left wing color} and \keyref{right wing color} with the same value. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[wings color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{wings}{\@pingu@leftwing@}{wings color} + +% \subsubsection{The Hair} + + +% \keyexplain{hair 1 color}{color}{\pingu@color@hair@a} +% Set the color of the first hair (this may be used differently by other hairstyles): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[hair 1 color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{hair 2 color}{color}{\pingu@color@hair@b} +% Set the color of the second hair (this may be used differently by other hairstyles): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{2}}}} +% \begin{tikzpicture} +% \pingu[hair 2 color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{hair 3 color}{color}{\pingu@color@hair@c} +% Set the color of the third hair (this may be used differently by other hairstyles): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{3}}}} +% \begin{tikzpicture} +% \pingu[hair 3 color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{hair 4 color}{color}{\pingu@color@hair@d} +% Set the color of the fourth hair (this may be used differently by other hairstyles): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{4}}}} +% \begin{tikzpicture} +% \pingu[hair 4 color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{hair 5 color}{color}{\pingu@color@hair@e} +% Set the color of the fifth hair (this may be used differently by other hairstyles): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{5}}}} +% \begin{tikzpicture} +% \pingu[hair 5 color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{hairs color}{color}{} +% Set the color of all hairs by calling \keyref{hair 1 color}, \keyref{hair 2 color}, \keyref{hair 3 color}, \keyref{hair 4 color}, and \keyref{hair 5 color} with the same argument: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hairs color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{hairs}{hairs color} +% \keyalias{hair}{hairs color} + +% \keyexplain{hairstyle}{hair-selector}{\@pingu@select@hairstyle@} +% Change the hairstyle (\autoref{mrk:pengu-change-comps}): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hairstyle=none] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{hair style}{hairstyle} +% \shortcuts{hairstyle}{\@pingu@hairstyle@}{hairs color} + +% \subsubsection{The Bill} +% \keyexplain{bill}{bill-selector}{\@pingu@select@bill@} +% Change the style of the bill (\autoref{mrk:pengu-change-comps}): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{flat}}}} +% \begin{tikzpicture} +% \pingu[bill=flat] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{bill color}{color}{\pingu@color@bill} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[bill color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \shortcuts{bill}{\@pingu@bill@}{bill color} + +% \subsection{Drawing Styles} +% \index{Styles} +% \def\cursub{Styles!} +% \keyexplain{:line}{}{} +% Disable glows, shades and fills and enforce a line. This line will be darker +% than the original fill color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:line] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:fill}{}{} +% Makes the whole penguin in one solid color (basically a shortcut for setting all main penguin colors to the same): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:fill,tie=white,eyes color=white] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:ghost parts}{opacity}{.5} +% Set the opacity of each penguin component individually. At the moment, this +% excludes some glow calculations. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:ghost parts] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:ghost}{opacity}{.5} +% Set the opacity of the complete penguin. At the moment, this +% excludes some glow calculations. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:ghost] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:devil}{color}{pingu@purple} +% Enable all devil components (not the wing items) and set their main color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:devil=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + + +% \keyexplain{:hide}{}{} +% Do not draw the main pingu: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[santa hat,:hide] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:back}{}{} +% Mirror the penguin, this swaps left and right, the rotation and more. +% Yet, at least at the time of writing, this does not swap the drawing order in each layer, but just the layers: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:back, left wing wave, +% cane left, left item angle=70] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:pingu}{options}{} +% Apply the given options to all penguin-keys: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[:pingu={/pingu/@block/.style={fill=green}}] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{:mix}{color-mix}{50!white} +% Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask,tie=red,lollipop left,:mix=50!green] +% \end{tikzpicture} +% \end{tcblisting} +% In contrast to \dkeyref{:mix-all} this changes the active colors of the penguin. +% \endkeyexplain + +% \keyexplain{:mix-all}{color-mix}{50!white} +% Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask,tie=red,:mix-all=50!green] +% \end{tikzpicture} +% \end{tcblisting} +% In contrast to \dkeyref{:mix} this changes the drawing options. +% \endkeyexplain + + +% \def\cursub{} +% \subsection{Extras} +% \subsubsection{The heart} +% \showkeyexplain{heart}{node-options}{lightgray}(pingu@main) +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[heart=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subsubsection{The tie} +% \showkeyexplain{tie}{color}{pingu@green} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[tie] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@tie{} +% \subkeyexplain{tie}{tie knot}{color}{\pingu@color@tie@knot} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[tie, tie knot=orange] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% } + +% \subkeyexplain{tie}{tie length}{length}{\expandafter\detokenize\expandafter{\pingu@x@tie@length}} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[tie, tie length=1.25cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{tie}{tie offset}{length}{\pingu@x@tie@offset} +% Change the upper vertical offset of the tie: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[tie, tie offset=.75cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{tie}{tie width}{length}{\pingu@x@tie@width} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[tie, tie width=.5cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{tie}{tie pattern}{tex-code}{} +% Change the tie pattern. +% \endsubkeyexplain + +% \subkeyexplain{tie}{tie dots}{color}{pingu@white} +% Change the \keyref{tie pattern} to dots: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[tie, tie dots] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The bowtie} +% \showkeyexplain{bow tie}{color}{pingu@blue} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[bow tie] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{bowtie}{bow tie} +% \keyalias{bow-tie}{bow tie} + +% \subkeyexplain{bow tie}{bow tie b}{color}{} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[bow tie, bow tie b=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{bowtie b}{bow tie b}{bow tie} +% \subkeyalias{bow-tie b}{bow tie b}{bow tie} + +% {\def\pingu@color@bowtie{} +% \subkeyexplain{bow tie}{bow tie knot}{color}{\pingu@color@bowtie@knot} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[bow tie, bow tie knot=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{bowtie knot}{bow tie knot}{bow tie} +% \subkeyalias{bow-tie knot}{bow tie knot}{bow tie} +% } + +% \subkeyexplain{bow tie}{bow tie offset}{length}{\pingu@x@bowtie@offset} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[bow tie, bow tie offset=8mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{bowtie offset}{bow tie offset}{bow tie} +% \subkeyalias{bow-tie offset}{bow tie offset}{bow tie} + +% \subsubsection{The cup} + +% \showkeyexplain{cup}{color}{pingu@green} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cup] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@cup{} +% \subkeyexplain{cup}{cup straw}{color}{\pingu@color@cup@straw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cup, cup straw=!hide] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The medal} +% \showkeyexplain{medal}{color}{pingu@yellow} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[medal] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{medal}{medal band}{color}{\pingu@color@medal@band} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[medal, medal band=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@medal{} +% \subkeyexplain{medal}{medal shade}{color}{\pingu@color@medal@shade} +% Change the color of the outer medal ring: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[medal, medal shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{medal}{medal shade width}{length}{.75pt} +% Change the width of the outer medal ring: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[medal, medal shade=green, +% medal shade width=2mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{medal}{medal text}{text}{\pingu@x@medal@text} +% Set the text displayed in the medal. The style can be changed by +% updating the substyle \texttt{medal text style}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[medal, medal text=XY, +% medal text style/.style={black}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \keyexplain{gold medal}{text}{1} +% Basically the same as the normal medal. This will activate \keyref{medal}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[gold medal] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{silver medal}{text}{2} +% Basically the same as the normal medal, but with a silver color. This will activate \keyref{medal}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[silver medal] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{bronze medal}{text}{3} +% Basically the same as the normal medal, but with a bronze color. This will activate \keyref{medal}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[bronze medal] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \subsubsection{The eye patches} + +% \showkeyexplain{eye patch left}{color}{} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[eye patch left] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{eyepatch left}{eye patch left} +% \keyalias{eye-patch left}{eye patch left} + +% \showkeyexplain{eye patch right}{color}{} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[eye patch right] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{eyepatch right}{eye patch right} +% \keyalias{eye-patch right}{eye patch right} + +% \subsubsection{The monocle} + +% \showkeyexplain{monocle left}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle left] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{monocle left}{monocle left glass}{color}{\pingu@color@monocleleft@glass} +% Set the color of the glass of the left monocle. The opacity of this color is set by \keyref{monocle left opacity}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle left, +% monocle left glass=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{monocle left fill}{monocle left glass}{monocle left} + + +% \subkeyexplain{monocle left}{monocle left opacity}{factor}{\pingu@x@monocleleft@opacity} +% Set the opacity of the glass color of the left monocle (set by \keyref{monocle left glass}): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[monocle left, +% monocle left opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{monocle left fill opacity}{monocle left opacity}{monocle left} + +% {\def\pingu@color@monocleleft{} +% \subkeyexplain{monocle left}{monocle left string}{color}{\pingu@color@monocleleft@string} +% Set the color of the string of the left monocle: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle left, +% monocle left string=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{monocle left}{monocle left string length}{length}{\pingu@x@monocleleft@string@l} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle left, +% monocle left string length=1cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@monocleleft{} +% \subkeyexplain{monocle left}{monocle left blob}{color}{\pingu@color@monocleleft@blob} +% Set the color of the blob at the end of the string of the left monocle: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle left, +% monocle left blob=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \showkeyexplain{monocle right}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle right] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{monocle right}{monocle right glass}{color}{\pingu@color@monocleright@glass} +% Set the color of the glass of the right monocle. The opacity of this color is set by \keyref{monocle right opacity}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle right, +% monocle right glass=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{monocle right fill}{monocle right glass}{monocle right} + +% \subkeyexplain{monocle right}{monocle right opacity}{factor}{\pingu@x@monocleright@opacity} +% Set the opacity of the glass color of the right monocle (set by \keyref{monocle right glass}): +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[monocle right, +% monocle right opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{monocle right fill opacity}{monocle right opacity}{monocle right} + +% {\def\pingu@color@monocleright{} +% \subkeyexplain{monocle right}{monocle right string}{color}{\pingu@color@monocleright@string} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle right, +% monocle right string=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + + +% \subkeyexplain{monocle right}{monocle right string length}{length}{\pingu@x@monocleright@string@r} +% Set the length of the right monocle string: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle right, +% monocle right string length=1cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@monocleright{} +% \subkeyexplain{monocle right}{monocle right blob}{color}{\pingu@color@monocleright@blob} +% Set the color of the blob at the end of the string of the right monocle: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[monocle right, +% monocle right blob=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The pants} +% \showkeyexplain{pants}{color}{pingu@red} +% Sets the color of the pants: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{pants}{pants bands}{true/false}{false} +% Switch the bands of the pants on and of: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants bands] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + + +% \subkeyexplain{pants}{pants button left}{color}{\pingu@color@pants@button@left} +% Set the color of the left pant button: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants button left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pants}{pants button right}{color}{\pingu@color@pants@button@right} +% Set the color of the right pant button: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants button right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pants}{pants buttons}{color}{\pingu@color@pants@button@left} +% Sets \keyref{pants button left} and \keyref{pants button right} with the same color. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants buttons=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@pants@button@left{}% +% \subkeyexplain{pants}{pants button left shade}{color}{\pingu@color@pants@button@left@shade} +% Set the color of the left pant button shade: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, +% pants button left shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@pants@button@left{}% +% \subkeyexplain{pants}{pants button right shade}{color}{\pingu@color@pants@button@right@shade} +% Set the color of the right pant button shade: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, +% pants button right shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@pants@button@left{}% +% \subkeyexplain{pants}{pants buttons shade}{color}{\pingu@color@pants@button@left@shade} +% Sets \keyref{pants button left shade} and \keyref{pants button right shade} with the same color. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants buttons shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{pants}{pants no buttons}{}{} +% Remove the buttons from the pants: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants no buttons] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pants}{pants extra height}{length}{\pingu@x@pants@extra@height} +% Raise the pants: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pants, pants extra height=6mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{pants without buttons}{pants no buttons}{pants} + +% \subsubsection{The glow} + +% \showkeyexplain{glow}{color}{pingu@white}(orange,glow solid=orange) +% Active a glow around the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glow=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyexplain{glow thick}{color}{} +% Will pass on the color to \keyref{glow} and use a \keyref{glow width function} width a thicker line width: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glow thick=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyexplain{glow solid}{color}{} +% Will pass on the color to \keyref{glow} and use a \keyref{glow width function} combined with \keyref{glow function} to create a solid glow: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glow solid=green, wings wave] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \subkeyexplain{glow}{glow steps}{list}{\pingu@x@extra@glow@steps} +% Comma separated list of discrete intervals for the glow calculation: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glow=green, glow steps={.3,.5,1}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\i{\textbackslash i~}% +% \subkeyexplain{glow}{glow function}{function}{\pingu@x@extra@glow@func} +% Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the opacity of the current step: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glow=green, +% glow function={.5/\i}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\i{\textbackslash i~}% +% \subkeyexplain{glow}{glow width function}{function}{\pingu@x@extra@glow@width@func} +% Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the width of the current step: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glow=green, +% glow width function={5mm-\i mm}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The eye frame} + +% \keyexplain{eye frame}{color}{pingu@black} +% This is more of a test extra that adds a frame around both eyes: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[eye frame=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{eyeframe}{eye frame} +% \keyalias{eye-frame}{eye frame} + +% \subsubsection{The glasses} + +% \showkeyexplain{glasses}{color}{pingu@black} +% Display glasses for the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{glasses}{glasses left fill}{color}{\pingu@color@glasses@fill@l} +% Sets the fill color of the left glass. The opacity is determined by \keyref{glasses left opacity}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses, +% glasses left fill=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses}{glasses right fill}{color}{\pingu@color@glasses@fill@r} +% Sets the fill color of the right glass. The opacity is determined by \keyref{glasses right opacity}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses, +% glasses right fill=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses}{glasses fill}{color}{} +% Change the color of both glasses by calling \keyref{glasses left fill} and \keyref{glasses right fill} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +% \begin{tikzpicture} +% \pingu[glasses, glasses fill=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses}{glasses left opacity}{factor}{\pingu@x@glasses@op@l} +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glasses, +% glasses left fill=green, +% glasses left opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses}{glasses right opacity}{factor}{\pingu@x@glasses@op@r} +% Sets the fill opacity of the right glass: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glasses, +% glasses right fill=green, +% glasses right opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses}{glasses opacity}{factor}{} +% Change the opacity of both glasses by calling \keyref{glasses left opacity} and \keyref{glasses right opacity} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glasses, +% glasses fill=teal, +% glasses opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses}{glasses line width}{length}{1.125pt} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses, glasses line width=1mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{sun glasses}{color}{pingu@black} +% Configure the \keyref{glasses} to display sunglasses. The color is passed on to \keyref{glasses fill} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sun glasses=orange] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{sunglasses}{sun glasses} + +% \subsubsection{The rounded glasses} + +% \showkeyexplain{glasses round}{color}{pingu@black} +% Behaves equivalent to \keyref{glasses} but produces a round counterpart: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses round=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{glasses round}{glasses round left fill}{color}{\pingu@color@glassesround@fill@l} +% Sets the fill color of the left glass. The opacity is determined by \keyref{glasses round left opacity}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses round, +% glasses round left fill=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses round}{glasses round right fill}{color}{\pingu@color@glassesround@fill@r} +% Sets the fill color of the right glass. The opacity is determined by \keyref{glasses round right opacity}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses round, +% glasses round right fill=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses round}{glasses round fill}{color}{} +% Change the color of both glasses by calling \keyref{glasses round left fill} and \keyref{glasses round right fill} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +% \begin{tikzpicture} +% \pingu[glasses round, glasses round fill=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses round}{glasses round left opacity}{factor}{\pingu@x@glassesround@op@l} +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glasses round, +% glasses round left fill=green, +% glasses round left opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses round}{glasses round right opacity}{factor}{\pingu@x@glassesround@op@r} +% Sets the fill opacity of the right glass: +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glasses round, +% glasses round right fill=green, +% glasses round right opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses round}{glasses round opacity}{factor}{} +% Change the opacity of both glasses round by calling \keyref{glasses round left opacity} and \keyref{glasses round right opacity} with the same value. +% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +% \begin{tikzpicture} +% \pingu[glasses round, +% glasses round fill=teal, +% glasses round opacity=1] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{glasses round}{glasses round line width}{length}{1.125pt} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[glasses round, glasses round line width=1mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{sun glasses round}{color}{pingu@black} +% Configure the \keyref{glasses round} to display sunglasses round. The color is passed on to \keyref{glasses round fill} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sun glasses round=orange] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{sunglasses round}{sun glasses round} + +% \subsubsection{The devil horns} + +% \showkeyexplain{devil horns}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil horns=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{devilhorns}{devil horns} +% \keyalias{devil-horns}{devil horns} + +% \subsubsection{The devil wings} + +% \showkeyexplain{devil wings}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil wings=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{devilwings}{devil wings} +% \keyalias{devil-wings}{devil wings} + +% \subkeyexplain{devil wings}{devil wings b}{color}{} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil wings, devil wings b=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{devilwings b}{devil wings b}{devil wings} +% \subkeyalias{devil-wings b}{devil wings b}{devil wings} + +% \subsubsection{The head band} + +% \showkeyexplain{head band}{color}{pingu@red} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{headband}{head band} +% \keyalias{head-band}{head band} + + +% \subkeyexplain{head band}{head band bend}{angle}{\pingu@x@headband@bend} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band bend=25] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband bend}{head band bend}{head band} +% \subkeyalias{head-band bend}{head band bend}{head band} + +% \subkeyexplain{head band}{head band angle}{angle}{\pingu@x@headband@angle} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band angle=25] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband angle}{head band angle}{head band} +% \subkeyalias{head-band angle}{head band angle}{head band} + +% \subkeyexplain{head band}{head band upper angle}{angle}{\pingu@x@headband@angle} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band upper angle=25] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband upper angle}{head band upper angle}{head band} +% \subkeyalias{head-band upper angle}{head band upper angle}{head band} + +% \subkeyexplain{head band}{head band knot}{true/false}{\if@pingu@x@headband@knot@ true\else false\fi} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band knot] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband knot}{head band knot}{head band} +% \subkeyalias{head-band knot}{head band knot}{head band} + +% {\def\pingu@color@headband{} +% \subkeyexplain{head band}{head band knot color}{color}{\pingu@color@headband@knot} +% If \keyref{head band knot} is enabled, this setting changes the color of the knot: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band knot, +% head band knot color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband knot color}{head band knot color}{head band} +% \subkeyalias{head-band knot color}{head band knot color}{head band}} + +% {\def\pingu@color@headband{} +% \subkeyexplain{head band}{head band knot a color}{color}{\pingu@color@headband@knot@a} +% If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band knot, +% head band knot a color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband knot a color}{head band knot a color}{head band} +% \subkeyalias{head-band knot a color}{head band knot a color}{head band}} + +% {\def\pingu@color@headband{} +% \subkeyexplain{head band}{head band knot b color}{color}{\pingu@color@headband@knot@b} +% If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band knot, +% head band knot a color=blue, +% head band knot b color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband knot b color}{head band knot b color}{head band} +% \subkeyalias{head-band knot b color}{head band knot b color}{head band}} + +% \subkeyexplain{head band}{head band bands}{true/false}{\if@pingu@x@headband@bands@ true\else false\fi} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band bands=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband bands}{head band bands}{head band} +% \subkeyalias{head-band bands}{head band bands}{head band} + +% {\def\pingu@color@headband{} +% \subkeyexplain{head band}{head band bands a color}{color}{\pingu@color@headband@bands@a} +% If \keyref{head band bands} is enabled, this setting changes the color of the large one of the both bands: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band bands, +% head band bands a color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband bands a color}{head band bands a color}{head band} +% \subkeyalias{head-band bands a color}{head band bands a color}{head band}} + +% {\def\pingu@color@headband{} +% \subkeyexplain{head band}{head band bands b color}{color}{\pingu@color@headband@bands@b} +% If \keyref{head band bands} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[head band, head band bands, +% head band bands a color=blue, +% head band bands b color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headband bands b color}{head band bands b color}{head band} +% \subkeyalias{head-band bands b color}{head band bands b color}{head band}} + +% \subsubsection{The rook} + +% \showkeyexplain{rook}{color}{pingu@silver} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[rook=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@rook{} +% \subkeyexplain{rook}{rook back}{color}{\pingu@color@rook@back} +% Change the color of the rook-costume background: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[rook, rook back=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{rook}{rook hatch}{true/false}{\if@pingu@x@rook@draw@hatch@ true\else false\fi} +% Toggles the opening in the rook costume: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[rook, rook hatch=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@rook{} +% \subkeyexplain{rook}{rook shade}{color}{\pingu@color@rook@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[rook, rook shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The halo} +% \showkeyexplain{halo}{color}{pingu@lightblue} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[halo=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{halo}{halo raise}{length}{\pingu@x@halo@raise} +% Define the vertical raise of the halo above the penguins head: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[halo, halo raise=4mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{halo}{halo glow}{true/false}{\if@pingu@x@halo@glow true\else false\fi} +% Disable or enable the glow of the halo. The default is controlled by the \texttt{glows}-package option. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[halo, halo glow=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{halo}{halo above}{true/false}{\if@pingu@x@halo@above true\else false\fi} +% Draws the halo above, which is useful in case of other gadgets: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[halo, halo above=true] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The strawhat} +% \showkeyexplain{strawhat}{color}{brown!50!white} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[strawhat=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{straw hat}{strawhat} + +% \subkeyexplain{strawhat}{strawhat ribbon}{color}{\pingu@color@strawhat@ribbon} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[strawhat, strawhat ribbon=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{straw hat ribbon}{strawhat ribbon}{strawhat} + +% \subkeyexplain{strawhat}{strawhat position}{angle>:(,)} +% \subkeyexplain{hat}{hat ribbon}{color}{\pingu@color@hat@ribbon} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hat, hat ribbon=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@hat{} +% \subkeyexplain{hat}{hat base}{color}{\pingu@color@hat@base} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hat, hat base=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@hat{} +% \subkeyexplain{hat}{hat coronal}{color}{\pingu@color@hat@coronal} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hat, hat coronal=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{hat}{hat position}{angle>:(,)} +% \subkeyexplain{conical hat}{conical hat shade}{length}{\pingu@x@conicalhat@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[conical hat, conical hat shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% } + +% \subkeyexplain{conical hat height}{conical hat height}{length}{\pingu@x@conicalhat@height} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[conical hat, conical hat height=10mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{conical hat width}{conical hat width}{length}{\pingu@x@conicalhat@width} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[conical hat, conical hat width=3cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{conical hat}{conical hat position}{angle>:(,):(,)} +% \subkeyexplain{crown}{crown back}{color}{\pingu@color@crown@back} +% Change the back color of the crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[crown, crown back=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{crown}{crown front bend}{angle}{\pingu@x@crown@f@bend} +% Change the front lower bend of the crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[crown, crown front bend=52] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{crown}{crown back bend}{angle}{\pingu@x@crown@b@bend} +% Change the back lower bend of the crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[crown, crown back bend=46] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{crown}{crown gem shade}{true/false}{\if@pingu@x@crown@shade@ true\else false\fi} +% Toggle the gem shading of the crown. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[crown, crown gem shade=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{crown}{crown gem colors}{a>} +% \subkeyexplain{crown}{crown gem ring}{color}{\pingu@color@crown@gem@ring} +% Change the color of the rings around the crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[crown, crown gem ring=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{crown}{crown position}{angle>:(,)} +% \subkeyexplain{princess crown}{princess crown back}{color}{\pingu@color@princesscrown@back} +% Change the back color of the smaller crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[princess crown, princess crown back=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{princess crown}{princess crown front bend}{angle}{\pingu@x@princesscrown@f@bend} +% Change the front lower bend of the smaller crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[princess crown, princess crown front bend=52] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{princess crown}{princess crown back bend}{angle}{\pingu@x@princesscrown@b@bend} +% Change the back lower bend of the smaller crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[princess crown, princess crown back bend=46] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{princess crown}{princess crown gem shade}{true/false}{\if@pingu@x@princesscrown@shade@ true\else false\fi} +% Toggle the gem shading of the smaller crown. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[princess crown, +% princess crown gem shade=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{princess crown}{princess crown bobbles}{true/false}{\if@pingu@x@princesscrown@bobbles@ true\else false\fi} +% Toggle the bobbles of the smaller crown. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[princess crown, princess crown bobbles=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{princess crown}{princess crown gem colors}{a>} +% \subkeyexplain{princess crown}{princess crown gem ring}{color}{\pingu@color@princesscrown@gem@ring} +% Change the color of the rings around the small crown: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[princess crown, +% princess crown gem ring=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{princess crown}{princess crown position}{angle>:(,)} +% Enable a cake hat with a specific color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat top}{color}{\pingu@color@cakehat@top} +% Change the color of the cake hat top: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat top=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat shade}{color}{\pingu@color@cakehat@shade} +% Change the color of the heavily transparent cake hat shading: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat candle}{color}{\pingu@color@cakehat@candle} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat candle fire}{color}{\pingu@color@cakehat@candle@fire} +% Change the color of the cake hats' candle most outer fire: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle fire=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@cakehat@candle@fire{} +% \subkeyexplain{cake-hat}{cake-hat candle fire 2}{color}{\pingu@color@cakehat@candle@fire@b} +% Change the color of the cake hats' candle middle fire: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle fire 2=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@cakehat@candle@fire{} +% \subkeyexplain{cake-hat}{cake-hat candle fire 3}{color}{\pingu@color@cakehat@candle@fire@b} +% Change the color of the cake hats' candle inner fire: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle fire 3=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{cake-hat}{cake-hat candle wick}{color}{\pingu@color@cakehat@candle@wick} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle wick=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat candle shade}{color}{\pingu@color@cakehat@candle@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat candle back}{color}{\pingu@color@cakehat@candle@back} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat candle back=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@cakehat{} +% \subkeyexplain{cake-hat}{cake-hat outline}{color}{\pingu@color@cakehat@outline} +% Change the color of the cake hats' outline (width by \keyref{cake-hat outline width}): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat outline=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{cake-hat}{cake-hat outline width}{length}{\pingu@x@cakehat@outline@w} +% Change the width of the cake hats' outline (color by \keyref{cake-hat outline}): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cake-hat, cake-hat outline width=1mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{cake-hat}{cake-hat position}{angle>:(,)} +% \subkeyexplain{pumpkin-hat}{pumpkin-hat stalk}{color}{\pingu@color@pumpkinhat@stalk} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat stalk=teal] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\subkeyexplain{pumpkin-hat}{pumpkin-hat stalk top}{color}{!95!pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat stalk top=teal] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{pumpkin-hat}{pumpkin-hat stripe a}{color}{\pingu@color@pumpkinhat@stripe@a} +% Change the color of the first stripe. By default the other stripes share this ones color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat stripe a=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pumpkin-hat}{pumpkin-hat stripe b}{color}{\pingu@color@pumpkinhat@stripe@b} +% Change the color of the second stripe. By default the third stripe share this ones color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat stripe b=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pumpkin-hat}{pumpkin-hat stripe c}{color}{\pingu@color@pumpkinhat@stripe@c} +% Change the color of the third stripe: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat stripe c=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pumpkin-hat}{pumpkin-hat outline}{color}{\pingu@color@pumpkinhat@outline} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat outline=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pumpkin-hat}{pumpkin-hat outline width}{length}{\pingu@x@pumpkinhat@outline@w} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pumpkin-hat,pumpkin-hat outline width=3pt] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{pumpkin-hat}{pumpkin-hat position}{angle>:(,)} +% \subkeyexplain{vr-headset}{vr-headset band}{color}{\pingu@color@vrheadset@band} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[vr-headset, vr-headset band=purple] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@vrheadset{} +% \subkeyexplain{vr-headset}{vr-headset band top}{color}{\pingu@color@vrheadset@band@top} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[vr-headset, vr-headset band top=purple] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{vr-headset}{vr-headset hair}{}{} +% Change the hair to support the headset: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[vr-headset, vr-headset hair] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{vr-headset}{vr-headset text}{text}{omitted} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[vr-headset, vr-headset text={ABCD}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{vr-headset}{vr-headset text color}{color}{\pingu@color@vrheadset@text@color} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[vr-headset, vr-headset text color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The headphones} + +% \showkeyexplain{headphone}{color}{pingu@blue!80!pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{headphones}{headphone} + +% {\def\pingu@color@headphone{} +% \subkeyexplain{headphone}{headphone left}{color}{\pingu@color@headphone@left} +% Change the color of the left headphone (automatically sets the color of \keyref{headphone right}): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@headphone{} +% \subkeyexplain{headphone}{headphone right}{color}{\pingu@color@headphone@right} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{headphone}{headphone left outer}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone left outer=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{headphone}{headphone right outer}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone right outer=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{headphone}{headphone outer}{color}{pingu@black} +% Set \keyref{headphone left outer} and \keyref{headphone right outer} with the same value: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone outer=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headphones outer}{headphone outer}{headphone} + +% \subkeyexplain{headphone}{headphone left inner}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone left inner=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{headphone}{headphone right inner}{color}{pingu@black} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone right inner=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{headphone}{headphone inner}{color}{pingu@black} +% Set \keyref{headphone left inner} and \keyref{headphone right inner} with the same value: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[headphone, headphone inner=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{headphones inner}{headphone inner}{headphone} + +% \subsubsection{The santa hat} + +% \showkeyexplain{santa hat}{color}{pingu@red!87!pingu@black} +% Show the merry christmas: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[santa hat=pingu@red] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@santahat{} +% \subkeyexplain{santa hat}{santa hat second}{color}{\pingu@color@santahat@second} +% Change the wool color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[santa hat,santa hat second=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% { +% \subkeyexplain{santa hat}{santa hat bobble}{color}{} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[santa hat,santa hat bobble=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The santa beard} + +% \showkeyexplain{santa beard}{color}{pingu@white!96!pingu@red!98!pingu@black!92!gray} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[santa beard=brown!20!white] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@body@main{} +% \subkeyexplain{santa beard}{santa beard string}{color}{\pingu@color@santabeard@string} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[santa beard,santa beard string=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The mask} +% \showkeyexplain{mask}{color}{pingu@white!61!gray} +% Keep the penguin safe: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{mask}{mask band}{color}{\pingu@color@mask@band} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask,mask band=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{mask}{mask line width}{length}{\pingu@x@mask@line@width} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask,mask line width=1.5pt] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@mask{} +% \subkeyexplain{mask}{mask band inner}{color}{\pingu@color@mask@band@inner} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask,mask band inner=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@mask{} +% \subkeyexplain{mask}{mask band outer}{color}{\pingu@color@mask@band@outer} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[mask,mask band outer=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subsubsection{The blush} + +% \showkeyexplain{blush}{color}{pingu@red}(pingu@red,blush opacity=.4) +% Make it cute: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[eyes wink, blush=pingu@purple] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{blush}{blush second}{color}{} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[blush, blush second=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{blush}{blush opacity}{factor}{\pingu@x@blush@opacity} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[blush, blush opacity=.86] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The banner} + +% \showkeyexplain{banner}{text}{Bannertext} +% Give the penguin a banner to hold (it adapts to the wing positions): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[left wing wave, banner=Hello] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{banner}{banner band}{color}{\pingu@color@banner@band} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner band=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner text color}{color}{\pingu@color@banner@text@color} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[wings wave, banner, banner text color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner stick left color}{color}{\pingu@color@banner@stick@left} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner stick left color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner stick right color}{color}{\pingu@color@banner@stick@right} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner stick right color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner sticks color}{color}{\pingu@color@banner@stick@left} +% Calls \keyref{banner stick left color} and \keyref{banner stick right color} with the same color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner sticks color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner stick left length}{length}{\pingu@banner@stick@left@l} +% Changes the banners left stick length: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner stick left length=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner stick right length}{length}{\pingu@banner@stick@right@l} +% Changes the banners right stick length: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner stick right length=2mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner sticks length}{color}{\pingu@banner@stick@left@l} +% Calls \keyref{banner stick left length} and \keyref{banner stick right length} with the same length: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner sticks length=9mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner raise}{length}{\pingu@banner@raise} +% Change the raise of the banner text: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner raise=2mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner height}{length}{\pingu@banner@height} +% Change the height of the banner (this modifies the half): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner height=6mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner font}{font}{} +% Change the height of the banner: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner font=\itshape] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{banner}{banner bent}{angle}{\pingu@banner@bent} +% Change the bending of the banner: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[banner, banner bent=0] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsection{Wing Items} +% \label{sub:wing-items}Most wing items created have a two variants: one for the left and one for the right wing. For consistency, both of them are represented in the documentation~--- many times, they are not just mirrored but two different shapes that appear to be mirrored with special care. + + +% \keyexplain{left wing item angle}{angle}{\pingu@wing@left@item@angle@user} +% Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the left wing: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cane left, cane right, +% left wing item angle=70] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{left item angle}{left wing item angle} + + +% \keyexplain{left wing item flip}{true/false}{\if@pingu@wi@flip@left true\else false\fi} +% Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the left wing. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag left, flag right, +% left wing item flip] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{left item flip}{left wing item flip} + + +% \keyexplain{right wing item angle}{angle}{\pingu@wing@right@item@angle@user} +% Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the right wing: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cane left, cane right, +% right wing item angle=70] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{right item angle}{right wing item angle} + + +% \keyexplain{right wing item flip}{true/false}{\if@pingu@wi@flip@right true\else false\fi} +% Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the right wing. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag left, flag right, +% right wing item flip] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{right item flip}{right wing item flip} + +% \subsubsection{The lollipop} + +% \showkeyexplain{lollipop left}{color}{pingu@green} +% Enable the left lollipop for the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[lollipop left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{lollipop left}{lollipop left handle}{color}{\pingu@color@lollipopleft@handle} +% Change the handle color of the left lollipop: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[lollipop left, lollipop left handle=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lollipop left}{lollipop left second}{color}{\pingu@color@lollipopleft@second} +% Change the second color of the left lollipop, used for the ring: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[lollipop left, lollipop left second=blue] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{lollipop right}{color}{pingu@green} +% Enable the right lollipop for the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[lollipop right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{lollipop right}{lollipop right handle}{color}{\pingu@color@lollipopright@handle} +% Change the handle color of the right lollipop: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[lollipop right, lollipop right handle=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lollipop right}{lollipop right second}{color}{\pingu@color@lollipopright@second} +% Change the second color of the right lollipop, used for the ring: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[lollipop right, lollipop right second=blue] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + + +% \subsubsection{The cane} + +% \showkeyexplain{cane left}{color}{pingu@bronze} +% Enable the left cane for the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cane left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{cane left}{cane left raise}{length}{\pinug@x@cane@raise@left} +% Raise the cane of the pingu: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cane left,cane left raise=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{cane right}{color}{pingu@bronze} +% Enable the right cane for the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cane right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{cane right}{cane right raise}{length}{\pinug@x@cane@raise@right} +% Raise the cane of the pingu: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cane right,cane right raise=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The hand cast} + +% \keyexplain{hand cast left}{text}{X} +% Show a symbol above the left wing of the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hand cast left=ABCDEFG] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{handcast left}{hand cast left} + +% \subkeyexplain{hand cast left}{hand cast left color}{color}{\pingu@color@handcast@left@color} +% Change the color of the left hand cast: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hand cast left, +% hand cast left color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \keyalias{handcast left color}{hand cast left color} + +% \keyexplain{hand cast right}{text}{X} +% Show a symbol above the right wing of the penguin: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hand cast right=ABCDEFG] +% \end{tikzpicture} +% \end{tcblisting} +% \endkeyexplain + +% \keyalias{handcast right}{hand cast right} + +% \subkeyexplain{hand cast right}{hand cast right color}{color}{\pingu@color@handcast@right@color} +% Change the color of the right hand cast: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[hand cast right, +% hand cast right color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \keyalias{handcast right color}{hand cast right color} + +% \subsubsection{The sign post} + +% \showkeyexplain{sign post left}{text}{}(Example) +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sign post left=ABC] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{signpost left}{sign post left} + +% \subkeyexplain{sign post left}{sign post left color}{color}{\pingu@color@signpostleft} +% Change the color of the sign post: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sign post left, sign post left color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{signpost left color}{sign post left color}{sign post left} + +% \subkeyexplain{sign post left}{sign post left font color}{color}{\pingu@color@signpostleft@font} +% Change the font color of the sign post: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sign post left=ABCD, +% sign post left font color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{signpost left fontcolor}{sign post left font color}{sign post left} + +% \showkeyexplain{sign post right}{text}{}(Example) +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sign post right=ABC] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \keyalias{signpost right}{sign post right} + +% \subkeyexplain{sign post right}{sign post right color}{color}{\pingu@color@signpostright} +% Change the color of the sign post: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sign post right, sign post right color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{signpost right color}{sign post right color}{sign post right} + +% \subkeyexplain{sign post right}{sign post right font color}{color}{\pingu@color@signpostright@font} +% Change the font color of the sign post: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[sign post right=ABCD, +% sign post right font color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyalias{signpost right fontcolor}{sign post right font color}{sign post right} + +% \subsubsection{The lightsaber} + +% \showkeyexplain{lightsaber left}{color}{pingu@blue} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left handle}{color}{\pingu@color@lightsaberleft@handle} +% Change the color of the penguins lightsabers' handle: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, +% lightsaber left handle=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left deco}{color}{\pingu@color@lightsaberleft@deco} +% Change the color of the penguins lightsabers' decoration elements: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, +% lightsaber left deco=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left ribbs}{color}{\pingu@color@lightsaberleft@ribbs} +% Change the color of the penguins lightsabers' ribbs: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, +% lightsaber left ribbs=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left button}{color}{\pingu@color@lightsaberleft@button} +% Change the color of the penguins lightsabers' first button: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, +% lightsaber left button=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left button b}{color}{\pingu@color@lightsaberleft@button@b} +% Change the color of the penguins lightsabers' second button: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, +% lightsaber left button b=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left double}{true/false}{\if@pingu@x@lightsaber@double@left true\else false\fi} +% Toggle the visibility of the second lightsaber: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left double, +% left wing item angle=90] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\@col{} +% \subkeyexplain{lightsaber left}{lightsaber left color b}{color}{\pingu@color@lightsaberleft@color@b} +% Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber left double} is enabled: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left double, +% lightsaber left color b=green, +% left wing item angle=90] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{lightsaber left}{lightsaber left length}{length}{\pingu@x@lightsaber@length@left} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left length=6mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left length b}{length}{\pingu@x@lightsaber@length@b@left} +% Change the length of the penguins second lightsaber (active with \keyref{lightsaber left double}): +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left double, +% lightsaber left length b=6mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + + +% \subkeyexplain{lightsaber left}{lightsaber left yshift}{length}{\pingu@x@lightsaber@yshift@left} +% Shift the penguins lightsaber in the y direction: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left yshift=12mm, +% lightsaber left length=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left glow}{true/false}{\if@pingu@x@lightsaber@glow@left true\else false\fi} +% Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left glow=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left solid}{}{} +% Disables the \keyref{lightsaber left glow}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left solid] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left glow core}{color}{\pingu@color@lightsaberleft@glow@core} +% Change the color of the lightsabers glow core: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left glow=true, +% lightsaber left glow core=cyan] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left outer glow factor}{factor}{\pingu@x@lightsaber@ogf@left} +% Modify the glow factor of the left lightsaber: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, +% lightsaber left outer glow factor=.3] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber left}{lightsaber left disabled}{}{} +% Disables the lightsaber so only the handle is visible: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber left, lightsaber left disabled] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + + +% \showkeyexplain{lightsaber right}{color}{pingu@blue} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right handle}{color}{\pingu@color@lightsaberright@handle} +% Change the color of the penguins lightsabers' handle: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right handle=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right deco}{color}{\pingu@color@lightsaberright@deco} +% Change the color of the penguins lightsabers' decoration elements: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right deco=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right ribbs}{color}{\pingu@color@lightsaberright@ribbs} +% Change the color of the penguins lightsabers' ribbs: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right ribbs=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right button}{color}{\pingu@color@lightsaberright@button} +% Change the color of the penguins lightsabers' first button: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right button=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right button b}{color}{\pingu@color@lightsaberright@button@b} +% Change the color of the penguins lightsabers' second button: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right button b=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right double}{true/false}{\if@pingu@x@lightsaber@double@right true\else false\fi} +% Toggle the visibility of the second lightsaber: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, lightsaber right double, +% right wing item angle=90] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\@col{} +% \subkeyexplain{lightsaber right}{lightsaber right color b}{color}{\pingu@color@lightsaberright@color@b} +% Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber right double} is enabled: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, lightsaber right double, +% lightsaber right color b=green, +% right wing item angle=90] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{lightsaber right}{lightsaber right length}{length}{\pingu@x@lightsaber@length@right} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right length=6mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right length b}{length}{\pingu@x@lightsaber@length@b@right} +% Change the length of the penguins second lightsaber (active with \keyref{lightsaber right double}): +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, lightsaber right double, +% lightsaber right length b=6mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + + +% \subkeyexplain{lightsaber right}{lightsaber right yshift}{length}{\pingu@x@lightsaber@yshift@right} +% Shift the penguins lightsaber in the y direction: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right yshift=12mm, +% lightsaber right length=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right glow}{true/false}{\if@pingu@x@lightsaber@glow@right true\else false\fi} +% Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right glow=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right solid}{}{} +% Disables the \keyref{lightsaber right glow}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, lightsaber right solid] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right glow core}{color}{\pingu@color@lightsaberright@glow@core} +% Change the color of the lightsabers glow core: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, lightsaber right glow=true, +% lightsaber right glow core=cyan] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right outer glow factor}{factor}{\pingu@x@lightsaber@ogf@right} +% Modify the glow factor of the right lightsaber: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, +% lightsaber right outer glow factor=.3] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{lightsaber right}{lightsaber right disabled}{}{} +% Disables the lightsaber so only the handle is visible: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[lightsaber right, lightsaber right disabled] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The lightstaff} + +% \showkeyexplain{light-staff left}{color}{pingu@green} +% Color similar to \keyref{light-staff left head}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left length}{length}{\pingu@lightstaff@left@length} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left length=18mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left glow length}{length}{\pingu@lightstaff@left@glow@length} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left glow length=16mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left head}{color}{pingu@green} +% Same as assigning the color to \keyref{light-staff left}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left head=pingu@purple] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left staff}{color}{\pingu@color@lightstaff@left@staff} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left staff=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left core}{color}{\pingu@color@lightstaff@left@head@core} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left core=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left core width}{length}{\pingu@lightstaff@left@core@width} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left core width=2mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff left}{light-staff left outer glow factor}{factor}{\pingu@x@lightstaff@ogf@left} +% Similar to \keyref{lightsaber left outer glow factor}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff left, +% light-staff left outer glow factor=.5] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{light-staff right}{color}{pingu@green} +% Color similar to \keyref{light-staff right head}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right length}{length}{\pingu@lightstaff@right@length} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right length=18mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right glow length}{length}{\pingu@lightstaff@right@glow@length} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right glow length=16mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right head}{color}{pingu@green} +% Same as assigning the color to \keyref{light-staff right}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right head=pingu@purple] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right staff}{color}{\pingu@color@lightstaff@right@staff} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right staff=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right core}{color}{\pingu@color@lightstaff@right@head@core} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right core=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right core width}{length}{\pingu@lightstaff@right@core@width} +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right core width=2mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{light-staff right}{light-staff right outer glow factor}{factor}{\pingu@x@lightstaff@ogf@right} +% Similar to \keyref{lightsaber right outer glow factor}: +% \begin{tcblisting}{} +% \begin{tikzpicture} +% \pingu[light-staff right, +% light-staff right outer glow factor=.5] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The flag} +% The flag is special in that it is meant to be customized by commands so that the visible insignia is to the users liking. + +% \showkeyexplain{flag left}{color}{pingu@purple} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{flag left}{flag left pole}{color}{\pingu@color@flagleft@pole} +% Change the color of the flag pole: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag left, flag left pole=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{flag left}{flag left bobble}{color}{\pingu@color@flagleft@bobble} +% Change the color of the flag poles top bobble: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag left, flag left bobble=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{flag left}{flag left code}{\LaTeX-code}{omitted} +% Set the flag code which is effectively the drawing code of the flag. +% You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag left, flag left code={ +% \node[/pingu/@flag@first, +% /pingu/@flag={blue}{5mm}] +% (upper) at (0,0) {}; +% \node[below,/pingu/@flag={black}{4mm}] +% (lower) at (upper.south) {}; +% }] +% \end{tikzpicture} +% \end{tcblisting} +% Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. +% \endsubkeyexplain + +% \@toggle@showcase % just so that they are aligned on the same side +% \showkeyexplain{pride flag left}{color}{pingu@bronze} +% Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a pride flag. The color argument is passed to \keyref{flag left pole}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pride flag left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain +% \@toggle@showcase % and back + + +% \showkeyexplain{german flag left}{color}{pingu@bronze} +% Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a german flag. The color argument is passed to \keyref{flag left pole}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[german flag left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + + +% \showkeyexplain{flag right}{color}{pingu@purple} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{flag right}{flag right pole}{color}{\pingu@color@flagright@pole} +% Change the color of the flag pole: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag right, flag right pole=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{flag right}{flag right bobble}{color}{\pingu@color@flagright@bobble} +% Change the color of the flag poles top bobble: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag right, flag right bobble=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{flag right}{flag right code}{\LaTeX-code}{omitted} +% Set the flag code which is effectively the drawing code of the flag. +% You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[flag right, flag right code={ +% \node[/pingu/@flag@first, +% /pingu/@flag={blue}{5mm}] +% (upper) at (0,0) {}; +% \node[below,/pingu/@flag={black}{4mm}] +% (lower) at (upper.south) {}; +% }] +% \end{tikzpicture} +% \end{tcblisting} +% Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. +% \endsubkeyexplain + +% \@toggle@showcase % just so that they are aligned on the same side +% \showkeyexplain{pride flag right}{color}{pingu@bronze} +% Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a pride flag. The color argument is passed to \keyref{flag right pole}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[pride flag right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain +% \@toggle@showcase + +% \showkeyexplain{german flag right}{color}{pingu@bronze} +% Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a german flag. The color argument is passed to \keyref{flag right pole}. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[german flag right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subsubsection{The staff} + +% \showkeyexplain{staff left}{color}{pingu@bronze} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[staff left=green, left item angle=70] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{staff left}{staff left length}{length}{\pingu@staff@left@length} +% Change the staff length: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[staff left, staff left length=20mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{staff right}{color}{pingu@bronze} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[staff right=green, right item angle=70] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{staff right}{staff right length}{length}{\pingu@staff@right@length} +% Change the staff length: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[staff right, staff right length=20mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The laptop} + +% \showkeyexplain{laptop left}{color}{gray!80!pingu@white} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@laptopleft{laptop-left-color} +% \subkeyexplain{laptop left}{laptop left bracket}{color}{\pingu@color@laptopleft@bracket} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left, laptop left bracket=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop left}{laptop left lower}{color}{\pingu@color@laptopleft@lower} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left, laptop left lower=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop left}{laptop left key}{color}{\pingu@color@laptopleft@key} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left, laptop left key=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop left}{laptop left display}{color}{\pingu@color@laptopleft@display} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left, laptop left display=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop left}{laptop left content}{tikz-code}{\pingu@x@laptopleft@content} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left, laptop left content={\draw circle[radius=2mm];}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop left}{laptop left mid}{code}{\pingu@x@laptopleft@mid} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop left, laptop left mid={Hey}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% } + + +% \showkeyexplain{laptop right}{color}{gray!80!pingu@white} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% {\def\pingu@color@laptopright{laptop-right-color} +% \subkeyexplain{laptop right}{laptop right bracket}{color}{\pingu@color@laptopright@bracket} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right, laptop right bracket=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop right}{laptop right lower}{color}{\pingu@color@laptopright@lower} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right, laptop right lower=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop right}{laptop right key}{color}{\pingu@color@laptopright@key} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right, laptop right key=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop right}{laptop right display}{color}{\pingu@color@laptopright@display} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right, laptop right display=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop right}{laptop right content}{tikz-code}{\pingu@x@laptopright@content} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right, laptop right content={\draw circle[radius=2mm];}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{laptop right}{laptop right mid}{code}{\pingu@x@laptopright@mid} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[laptop right, laptop right mid={Hey}] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% } + +% \subsubsection{The devil fork} + +% \showkeyexplain{devil fork left}{color}{pingu@red} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil fork left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{devil fork left}{devil fork left second}{color}{\pingu@color@devilforkleft@second} +% Staff color of the \keyref{devil fork left}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil fork left, +% devil fork left second=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{devil fork left}{devil fork left length}{color}{\pingu@devilfork@left@length} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil fork left, devil fork left length=7mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{devil fork right}{color}{pingu@red} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil fork right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{devil fork right}{devil fork right second}{color}{\pingu@color@devilforkright@second} +% Staff color of the \keyref{devil fork right}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil fork right, +% devil fork right second=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{devil fork right}{devil fork right length}{color}{\pingu@devilfork@right@length} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[devil fork right, +% devil fork right length=7mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The Horse} + +% \showkeyexplain{horse left}{color}{pingu@bronze!80!pingu@black} +% Give it a horse: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{horse left}{horse left flip}{true/false}{false} +% By default, the left horse will be flipped. The right horse won't. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left flip=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left has base}{true/false}{false} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left has base] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@horseleft{} +% \subkeyexplain{horse left}{horse left draw}{color}{\pingu@color@horseleft@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left mane}{color}{\pingu@color@horseleft@mane} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left mane=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseleft@mane{} +% \subkeyexplain{horse left}{horse left mane draw}{color}{\pingu@color@horseleft@mane@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left mane draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left thatch}{color}{\pingu@color@horseleft@thatch} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left thatch=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseleft@thatch{} +% \subkeyexplain{horse left}{horse left thatch draw}{color}{\pingu@color@horseleft@thatch@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left thatch draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left tail}{color}{\pingu@color@horseleft@tail} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left tail=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseleft@tail{} +% \subkeyexplain{horse left}{horse left tail draw}{color}{\pingu@color@horseleft@tail@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left tail draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left eyes}{color}{\pingu@color@horseleft@eyes} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left eyes=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% \subkeyalias{horse left eye}{horse left eyes}{horse left} + +% \subkeyexplain{horse left}{horse left mouth}{color}{\pingu@color@horseleft@mouth} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left mouth=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left nose}{color}{\pingu@color@horseleft@nose} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left nose=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left ears}{color}{\pingu@color@horseleft@ears} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left ears=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left base}{color}{\pingu@color@horseleft@base} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left has base, +% horse left base=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseleft@base{} +% \subkeyexplain{horse left}{horse left base draw}{color}{\pingu@color@horseleft@base@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left has base, +% horse left base draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left base shade}{color}{\pingu@color@horseleft@base@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left has base, +% horse left base shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseleft@base@shade{} +% \subkeyexplain{horse left}{horse left base shade draw}{color}{\pingu@color@horseleft@base@shade@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left has base, +% horse left base shade draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left xshift}{length}{\pingu@x@horseleft@xshift} +% This key reacts with the \keyref{horse left flip} option! +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left xshift=1cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left yshift}{length}{\pingu@x@horseleft@yshift} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left yshift=1cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse left}{horse left on base}{}{} +% Uses \keyref{horse left xshift} and \keyref{horse left yshift} to align a horse on a base to be set on the penguin-wing: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse left,horse left has base, +% horse left on base] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% } + +% \showkeyexplain{horse right}{color}{pingu@bronze!80!pingu@black} +% Give it a horse: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{horse right}{horse right flip}{true/false}{false} +% By default, the right horse will be flipped. The right horse won't. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right flip=false] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right has base}{true/false}{false} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right has base] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@horseright{} +% \subkeyexplain{horse right}{horse right draw}{color}{\pingu@color@horseright@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right mane}{color}{\pingu@color@horseright@mane} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right mane=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseright@mane{} +% \subkeyexplain{horse right}{horse right mane draw}{color}{\pingu@color@horseright@mane@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right mane draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right thatch}{color}{\pingu@color@horseright@thatch} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right thatch=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseright@thatch{} +% \subkeyexplain{horse right}{horse right thatch draw}{color}{\pingu@color@horseright@thatch@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right thatch draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right tail}{color}{\pingu@color@horseright@tail} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right tail=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseright@tail{} +% \subkeyexplain{horse right}{horse right tail draw}{color}{\pingu@color@horseright@tail@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right tail draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right eyes}{color}{\pingu@color@horseright@eyes} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right eyes=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% \subkeyalias{horse right eye}{horse right eyes}{horse right} + +% \subkeyexplain{horse right}{horse right mouth}{color}{\pingu@color@horseright@mouth} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right mouth=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right nose}{color}{\pingu@color@horseright@nose} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right nose=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right ears}{color}{\pingu@color@horseright@ears} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right ears=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right base}{color}{\pingu@color@horseright@base} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right has base, +% horse right base=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseright@base{} +% \subkeyexplain{horse right}{horse right base draw}{color}{\pingu@color@horseright@base@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right has base, +% horse right base draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right base shade}{color}{\pingu@color@horseright@base@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right has base, +% horse right base shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \def\pingu@color@horseright@base@shade{} +% \subkeyexplain{horse right}{horse right base shade draw}{color}{\pingu@color@horseright@base@shade@draw} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right has base, +% horse right base shade draw=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right xshift}{color}{\pingu@x@horseright@xshift} +% This key reacts with the \keyref{horse right flip} option! +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right xshift=1cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right yshift}{color}{\pingu@x@horseright@yshift} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right yshift=1cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{horse right}{horse right on base}{}{} +% Uses \keyref{horse right xshift} and \keyref{horse right yshift} to align a horse on a base to be set on the penguin-wing: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[horse right,horse right has base, +% horse right on base] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain +% } + + +% \subsection{Clothes} + +% Clothes are currently completely work in progress as the goal is to create an elegant way to offer clothes that adapt to the wing positions of the penguin. +% Currently there is only one cloth type that may be heavily edited in the course of development\ldots + +% \subsubsection{The cloak} + +% Originally developed just as a cape, the cloak is no a whole extension. + +% \showkeyexplain{cloak}{color}{pingu@bronze} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cloak=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \begin{tcblisting}{sidebyside=false, title=Cloak-Showcase} +% \begin{tikzpicture} +% \pingu[wings wave, cloak] +% \pingu[wings shock, cloak, xshift=3.5cm] +% \pingu[right wing wave, left wing hug, cloak, xshift=7cm] +% \pingu[right wing grab, left wing raise, cloak, xshift=10.5cm] +% \end{tikzpicture} +% \end{tcblisting} + +% {\def\pingu@color@cloak{} +% \subkeyexplain{cloak}{cloak cap}{color}{\pingu@color@cloak@cap} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cloak, cloak cap=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@cloak{} +% \subkeyexplain{cloak}{cloak wings color}{color}{\pingu@color@cloak@wings} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cloak, cloak wings color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@cloak{} +% \subkeyexplain{cloak}{cloak bottom color}{color}{\pingu@color@cloak@bottom} +% Should change the cloaks bottom color (currently ineffective): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cloak, cloak bottom color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@cloak{} +% \subkeyexplain{cloak}{cloak front color}{color}{\pingu@color@cloak@front} +% Should change the cloaks front color (currently ineffective): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cloak, cloak front color=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{cloak}{cloak padding}{length}{\pingu@x@cloak@padding} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cloak, cloak padding=13mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \showkeyexplain{cape}{color}{pingu@bronze} +% Uses \keyref{cloak} but disables all parts that are not part of a cape: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[cape=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subsubsection{The shirt} + +% \showkeyexplain{shirt}{color}{pingu@bronze} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{shirt}{shirt raise}{length}{\pingu@shirt@raise} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt raise=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt padding}{length}{\pingu@shirt@padding} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt padding=4mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt button top}{color}{\pingu@color@shirt@button@top} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt button top=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt button middle}{color}{\pingu@color@shirt@button@middle} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt button middle=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt button bottom}{color}{\pingu@color@shirt@button@bottom} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt button bottom=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt buttons}{color}{} +% Set \keyref{shirt button top}, \keyref{shirt button middle} and \keyref{shirt button bottom}, that is all the buttons, with the same color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt buttons=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} +% \subkeyexplain{shirt}{shirt button top shade}{color}{\pingu@color@shirt@button@top@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt button top shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@shirt@button@middle{}\def\pingu@color@shirt{} +% \subkeyexplain{shirt}{shirt button middle shade}{color}{\pingu@color@shirt@button@middle@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt button middle shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% {\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} +% \subkeyexplain{shirt}{shirt button bottom shade}{color}{\pingu@color@shirt@button@bottom@shade} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt button bottom shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} + +% \subkeyexplain{shirt}{shirt buttons shade}{color}{} +% Set all shadings of the buttons: \keyref{shirt button top shade}, \keyref{shirt button middle shade} and \keyref{shirt button bottom shade} with the same color: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt buttons shade=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt no buttons}{}{} +% Disable all buttons (by setting their colors to \lpingu{!hide}): +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, shirt no buttons] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subkeyexplain{shirt}{shirt above}{}{} +% This is interesting in combination with other extras as it allows the \keyref{shirt} to be drawn above them. +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[shirt, tie, shirt above] +% \pingu[shirt, tie, xshift=3cm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% \subsubsection{The second shirt} +% \showkeyexplain{second shirt}{color}{pingu@red} +% Display a shirt below the \keyref{shirt}: +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[second shirt=green, shirt] +% \end{tikzpicture} +% \end{tcblisting} +% \endshowkeyexplain + +% \subkeyexplain{second shirt}{second shirt raise}{length}{\pingu@secondshirt@raise} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[second shirt, second shirt raise=5mm] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain + +% {\def\pingu@color@secondshirt{} +% \subkeyexplain{second shirt}{second shirt neck}{color}{\pingu@color@secondshirt@neck} +% \begin{tcblisting}{@} +% \begin{tikzpicture} +% \pingu[second shirt, second shirt neck=green] +% \end{tikzpicture} +% \end{tcblisting} +% \endsubkeyexplain} -\keyexplain{hairs color}{color}{} - Set the color of all hairs by calling \keyref{hair 1 color}, \keyref{hair 2 color}, \keyref{hair 3 color}, \keyref{hair 4 color}, and \keyref{hair 5 color} with the same argument: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hairs color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain -\keyalias{hairs}{hairs color} -\keyalias{hair}{hairs color} +% set up for inclusion +\lstset{includerangemarker=false,rangeprefix={\%\ <}, rangesuffix={>}} +\newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange=#2-@#2,style=lstpingu,language=pinguinternallang]{#1}} -\keyexplain{hairstyle}{hair-selector}{\@pingu@select@hairstyle@} - Change the hairstyle (\autoref{mrk:pengu-change-comps}): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hairstyle=none] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain +\section{Describing the internals} +The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. -\keyalias{hair style}{hairstyle} -\shortcuts{hairstyle}{\@pingu@hairstyle@}{hairs color} +\subsection{General commands} -\subsubsection{The Bill} -\keyexplain{bill}{bill-selector}{\@pingu@select@bill@} - Change the style of the bill (\autoref{mrk:pengu-change-comps}): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{flat}}}} -\begin{tikzpicture} - \pingu[bill=flat] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{bill color}{color}{\pingu@color@bill} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[bill color=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\shortcuts{bill}{\@pingu@bill@}{bill color} - -\subsection{Drawing Styles} -\index{Styles} -\def\cursub{Styles!} -\keyexplain{:line}{}{} - Disable glows, shades and fills and enforce a line. This line will be darker - than the original fill color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:line] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:fill}{}{} - Makes the whole penguin in one solid color (basically a shortcut for setting all main penguin colors to the same): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:fill,tie=white,eyes color=white] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:ghost parts}{opacity}{.5} - Set the opacity of each penguin component individually. At the moment, this - excludes some glow calculations. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:ghost parts] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:ghost}{opacity}{.5} - Set the opacity of the complete penguin. At the moment, this - excludes some glow calculations. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:ghost] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:devil}{color}{pingu@purple} - Enable all devil components (not the wing items) and set their main color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:devil=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - - -\keyexplain{:hide}{}{} - Do not draw the main pingu: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[santa hat,:hide] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:back}{}{} - Mirror the penguin, this swaps left and right, the rotation and more. - Yet, at least at the time of writing, this does not swap the drawing order in each layer, but just the layers: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:back, left wing wave, - cane left, left item angle=70] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:pingu}{options}{} - Apply the given options to all penguin-keys: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[:pingu={/pingu/@block/.style={fill=green}}] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{:mix}{color-mix}{50!white} - Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask,tie=red,lollipop left,:mix=50!green] -\end{tikzpicture} -\end{tcblisting} - In contrast to \dkeyref{:mix-all} this changes the active colors of the penguin. -\endkeyexplain - -\keyexplain{:mix-all}{color-mix}{50!white} - Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask,tie=red,:mix-all=50!green] -\end{tikzpicture} -\end{tcblisting} - In contrast to \dkeyref{:mix} this changes the drawing options. -\endkeyexplain - - -\def\cursub{} -\subsection{Extras} -\subsubsection{The heart} -\showkeyexplain{heart}{node-options}{lightgray}(pingu@main) -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[heart=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subsubsection{The tie} -\showkeyexplain{tie}{color}{pingu@green} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[tie] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@tie{} -\subkeyexplain{tie}{tie knot}{color}{\pingu@color@tie@knot} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[tie, tie knot=orange] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -} - -\subkeyexplain{tie}{tie length}{length}{\expandafter\detokenize\expandafter{\pingu@x@tie@length}} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[tie, tie length=1.25cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{tie}{tie offset}{length}{\pingu@x@tie@offset} - Change the upper vertical offset of the tie: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[tie, tie offset=.75cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{tie}{tie width}{length}{\pingu@x@tie@width} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[tie, tie width=.5cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{tie}{tie pattern}{tex-code}{} - Change the tie pattern. -\endsubkeyexplain - -\subkeyexplain{tie}{tie dots}{color}{pingu@white} - Change the \keyref{tie pattern} to dots: - \begin{tcblisting}{@} - \begin{tikzpicture} - \pingu[tie, tie dots] - \end{tikzpicture} - \end{tcblisting} -\endsubkeyexplain - -\subsubsection{The bowtie} -\showkeyexplain{bow tie}{color}{pingu@blue} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[bow tie] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{bowtie}{bow tie} -\keyalias{bow-tie}{bow tie} - -\subkeyexplain{bow tie}{bow tie b}{color}{} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[bow tie, bow tie b=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{bowtie b}{bow tie b}{bow tie} -\subkeyalias{bow-tie b}{bow tie b}{bow tie} - -{\def\pingu@color@bowtie{} -\subkeyexplain{bow tie}{bow tie knot}{color}{\pingu@color@bowtie@knot} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[bow tie, bow tie knot=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{bowtie knot}{bow tie knot}{bow tie} -\subkeyalias{bow-tie knot}{bow tie knot}{bow tie} -} - -\subkeyexplain{bow tie}{bow tie offset}{length}{\pingu@x@bowtie@offset} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[bow tie, bow tie offset=8mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{bowtie offset}{bow tie offset}{bow tie} -\subkeyalias{bow-tie offset}{bow tie offset}{bow tie} - -\subsubsection{The cup} - -\showkeyexplain{cup}{color}{pingu@green} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cup] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@cup{} -\subkeyexplain{cup}{cup straw}{color}{\pingu@color@cup@straw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cup, cup straw=!hide] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The medal} -\showkeyexplain{medal}{color}{pingu@yellow} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[medal] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{medal}{medal band}{color}{\pingu@color@medal@band} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[medal, medal band=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@medal{} -\subkeyexplain{medal}{medal shade}{color}{\pingu@color@medal@shade} -Change the color of the outer medal ring: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[medal, medal shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{medal}{medal shade width}{length}{.75pt} -Change the width of the outer medal ring: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[medal, medal shade=green, - medal shade width=2mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{medal}{medal text}{text}{\pingu@x@medal@text} -Set the text displayed in the medal. The style can be changed by -updating the substyle \texttt{medal text style}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[medal, medal text=XY, - medal text style/.style={black}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\keyexplain{gold medal}{text}{1} -Basically the same as the normal medal. This will activate \keyref{medal}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[gold medal] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{silver medal}{text}{2} -Basically the same as the normal medal, but with a silver color. This will activate \keyref{medal}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[silver medal] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{bronze medal}{text}{3} -Basically the same as the normal medal, but with a bronze color. This will activate \keyref{medal}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[bronze medal] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\subsubsection{The eye patches} - -\showkeyexplain{eye patch left}{color}{} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[eye patch left] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{eyepatch left}{eye patch left} -\keyalias{eye-patch left}{eye patch left} - -\showkeyexplain{eye patch right}{color}{} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[eye patch right] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{eyepatch right}{eye patch right} -\keyalias{eye-patch right}{eye patch right} - -\subsubsection{The monocle} - -\showkeyexplain{monocle left}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle left] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{monocle left}{monocle left glass}{color}{\pingu@color@monocleleft@glass} -Set the color of the glass of the left monocle. The opacity of this color is set by \keyref{monocle left opacity}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle left, - monocle left glass=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{monocle left fill}{monocle left glass}{monocle left} - - -\subkeyexplain{monocle left}{monocle left opacity}{factor}{\pingu@x@monocleleft@opacity} -Set the opacity of the glass color of the left monocle (set by \keyref{monocle left glass}): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[monocle left, - monocle left opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{monocle left fill opacity}{monocle left opacity}{monocle left} - -{\def\pingu@color@monocleleft{} -\subkeyexplain{monocle left}{monocle left string}{color}{\pingu@color@monocleleft@string} -Set the color of the string of the left monocle: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle left, - monocle left string=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{monocle left}{monocle left string length}{length}{\pingu@x@monocleleft@string@l} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle left, - monocle left string length=1cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@monocleleft{} -\subkeyexplain{monocle left}{monocle left blob}{color}{\pingu@color@monocleleft@blob} -Set the color of the blob at the end of the string of the left monocle: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle left, - monocle left blob=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\showkeyexplain{monocle right}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle right] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{monocle right}{monocle right glass}{color}{\pingu@color@monocleright@glass} -Set the color of the glass of the right monocle. The opacity of this color is set by \keyref{monocle right opacity}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle right, - monocle right glass=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{monocle right fill}{monocle right glass}{monocle right} - -\subkeyexplain{monocle right}{monocle right opacity}{factor}{\pingu@x@monocleright@opacity} -Set the opacity of the glass color of the right monocle (set by \keyref{monocle right glass}): -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[monocle right, - monocle right opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{monocle right fill opacity}{monocle right opacity}{monocle right} - -{\def\pingu@color@monocleright{} -\subkeyexplain{monocle right}{monocle right string}{color}{\pingu@color@monocleright@string} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle right, - monocle right string=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - - -\subkeyexplain{monocle right}{monocle right string length}{length}{\pingu@x@monocleright@string@r} -Set the length of the right monocle string: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle right, - monocle right string length=1cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@monocleright{} -\subkeyexplain{monocle right}{monocle right blob}{color}{\pingu@color@monocleright@blob} -Set the color of the blob at the end of the string of the right monocle: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[monocle right, - monocle right blob=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The pants} -\showkeyexplain{pants}{color}{pingu@red} -Sets the color of the pants: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{pants}{pants bands}{true/false}{false} -Switch the bands of the pants on and of: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants bands] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - - -\subkeyexplain{pants}{pants button left}{color}{\pingu@color@pants@button@left} -Set the color of the left pant button: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants button left=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pants}{pants button right}{color}{\pingu@color@pants@button@right} -Set the color of the right pant button: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants button right=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pants}{pants buttons}{color}{\pingu@color@pants@button@left} -Sets \keyref{pants button left} and \keyref{pants button right} with the same color. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants buttons=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@pants@button@left{}% -\subkeyexplain{pants}{pants button left shade}{color}{\pingu@color@pants@button@left@shade} -Set the color of the left pant button shade: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, - pants button left shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@pants@button@left{}% -\subkeyexplain{pants}{pants button right shade}{color}{\pingu@color@pants@button@right@shade} -Set the color of the right pant button shade: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, - pants button right shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@pants@button@left{}% -\subkeyexplain{pants}{pants buttons shade}{color}{\pingu@color@pants@button@left@shade} -Sets \keyref{pants button left shade} and \keyref{pants button right shade} with the same color. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants buttons shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{pants}{pants no buttons}{}{} -Remove the buttons from the pants: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants no buttons] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pants}{pants extra height}{length}{\pingu@x@pants@extra@height} -Raise the pants: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pants, pants extra height=6mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{pants without buttons}{pants no buttons}{pants} - -\subsubsection{The glow} - -\showkeyexplain{glow}{color}{pingu@white}(orange,glow solid=orange) - Active a glow around the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glow=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyexplain{glow thick}{color}{} -Will pass on the color to \keyref{glow} and use a \keyref{glow width function} width a thicker line width: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glow thick=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyexplain{glow solid}{color}{} -Will pass on the color to \keyref{glow} and use a \keyref{glow width function} combined with \keyref{glow function} to create a solid glow: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glow solid=green, wings wave] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\subkeyexplain{glow}{glow steps}{list}{\pingu@x@extra@glow@steps} - Comma separated list of discrete intervals for the glow calculation: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glow=green, glow steps={.3,.5,1}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\i{\textbackslash i~}% -\subkeyexplain{glow}{glow function}{function}{\pingu@x@extra@glow@func} - Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the opacity of the current step: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glow=green, - glow function={.5/\i}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\i{\textbackslash i~}% -\subkeyexplain{glow}{glow width function}{function}{\pingu@x@extra@glow@width@func} - Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the width of the current step: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glow=green, - glow width function={5mm-\i mm}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The eye frame} - -\keyexplain{eye frame}{color}{pingu@black} -This is more of a test extra that adds a frame around both eyes: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[eye frame=green] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{eyeframe}{eye frame} -\keyalias{eye-frame}{eye frame} - -\subsubsection{The glasses} - -\showkeyexplain{glasses}{color}{pingu@black} -Display glasses for the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{glasses}{glasses left fill}{color}{\pingu@color@glasses@fill@l} - Sets the fill color of the left glass. The opacity is determined by \keyref{glasses left opacity}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses, - glasses left fill=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses}{glasses right fill}{color}{\pingu@color@glasses@fill@r} - Sets the fill color of the right glass. The opacity is determined by \keyref{glasses right opacity}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses, - glasses right fill=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses}{glasses fill}{color}{} - Change the color of both glasses by calling \keyref{glasses left fill} and \keyref{glasses right fill} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -\begin{tikzpicture} - \pingu[glasses, glasses fill=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses}{glasses left opacity}{factor}{\pingu@x@glasses@op@l} -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glasses, - glasses left fill=green, - glasses left opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses}{glasses right opacity}{factor}{\pingu@x@glasses@op@r} - Sets the fill opacity of the right glass: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glasses, - glasses right fill=green, - glasses right opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses}{glasses opacity}{factor}{} - Change the opacity of both glasses by calling \keyref{glasses left opacity} and \keyref{glasses right opacity} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glasses, - glasses fill=teal, - glasses opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses}{glasses line width}{length}{1.125pt} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses, glasses line width=1mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{sun glasses}{color}{pingu@black} -Configure the \keyref{glasses} to display sunglasses. The color is passed on to \keyref{glasses fill} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sun glasses=orange] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{sunglasses}{sun glasses} - -\subsubsection{The rounded glasses} - -\showkeyexplain{glasses round}{color}{pingu@black} -Behaves equivalent to \keyref{glasses} but produces a round counterpart: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses round=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{glasses round}{glasses round left fill}{color}{\pingu@color@glassesround@fill@l} - Sets the fill color of the left glass. The opacity is determined by \keyref{glasses round left opacity}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses round, - glasses round left fill=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses round}{glasses round right fill}{color}{\pingu@color@glassesround@fill@r} - Sets the fill color of the right glass. The opacity is determined by \keyref{glasses round right opacity}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses round, - glasses round right fill=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses round}{glasses round fill}{color}{} - Change the color of both glasses by calling \keyref{glasses round left fill} and \keyref{glasses round right fill} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -\begin{tikzpicture} - \pingu[glasses round, glasses round fill=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses round}{glasses round left opacity}{factor}{\pingu@x@glassesround@op@l} -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glasses round, - glasses round left fill=green, - glasses round left opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses round}{glasses round right opacity}{factor}{\pingu@x@glassesround@op@r} - Sets the fill opacity of the right glass: -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glasses round, - glasses round right fill=green, - glasses round right opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses round}{glasses round opacity}{factor}{} - Change the opacity of both glasses round by calling \keyref{glasses round left opacity} and \keyref{glasses round right opacity} with the same value. -\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -\begin{tikzpicture} - \pingu[glasses round, - glasses round fill=teal, - glasses round opacity=1] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{glasses round}{glasses round line width}{length}{1.125pt} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[glasses round, glasses round line width=1mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{sun glasses round}{color}{pingu@black} -Configure the \keyref{glasses round} to display sunglasses round. The color is passed on to \keyref{glasses round fill} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sun glasses round=orange] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{sunglasses round}{sun glasses round} - -\subsubsection{The devil horns} - -\showkeyexplain{devil horns}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil horns=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{devilhorns}{devil horns} -\keyalias{devil-horns}{devil horns} - -\subsubsection{The devil wings} - -\showkeyexplain{devil wings}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil wings=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{devilwings}{devil wings} -\keyalias{devil-wings}{devil wings} - -\subkeyexplain{devil wings}{devil wings b}{color}{} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil wings, devil wings b=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{devilwings b}{devil wings b}{devil wings} -\subkeyalias{devil-wings b}{devil wings b}{devil wings} - -\subsubsection{The head band} - -\showkeyexplain{head band}{color}{pingu@red} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{headband}{head band} -\keyalias{head-band}{head band} - - -\subkeyexplain{head band}{head band bend}{angle}{\pingu@x@headband@bend} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band bend=25] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband bend}{head band bend}{head band} -\subkeyalias{head-band bend}{head band bend}{head band} - -\subkeyexplain{head band}{head band angle}{angle}{\pingu@x@headband@angle} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band angle=25] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband angle}{head band angle}{head band} -\subkeyalias{head-band angle}{head band angle}{head band} - -\subkeyexplain{head band}{head band upper angle}{angle}{\pingu@x@headband@angle} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band upper angle=25] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband upper angle}{head band upper angle}{head band} -\subkeyalias{head-band upper angle}{head band upper angle}{head band} - -\subkeyexplain{head band}{head band knot}{true/false}{\if@pingu@x@headband@knot@ true\else false\fi} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band knot] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband knot}{head band knot}{head band} -\subkeyalias{head-band knot}{head band knot}{head band} - -{\def\pingu@color@headband{} -\subkeyexplain{head band}{head band knot color}{color}{\pingu@color@headband@knot} -If \keyref{head band knot} is enabled, this setting changes the color of the knot: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band knot, - head band knot color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband knot color}{head band knot color}{head band} -\subkeyalias{head-band knot color}{head band knot color}{head band}} - -{\def\pingu@color@headband{} -\subkeyexplain{head band}{head band knot a color}{color}{\pingu@color@headband@knot@a} -If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band knot, - head band knot a color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband knot a color}{head band knot a color}{head band} -\subkeyalias{head-band knot a color}{head band knot a color}{head band}} - -{\def\pingu@color@headband{} -\subkeyexplain{head band}{head band knot b color}{color}{\pingu@color@headband@knot@b} -If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band knot, - head band knot a color=blue, - head band knot b color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband knot b color}{head band knot b color}{head band} -\subkeyalias{head-band knot b color}{head band knot b color}{head band}} - -\subkeyexplain{head band}{head band bands}{true/false}{\if@pingu@x@headband@bands@ true\else false\fi} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band bands=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband bands}{head band bands}{head band} -\subkeyalias{head-band bands}{head band bands}{head band} - -{\def\pingu@color@headband{} -\subkeyexplain{head band}{head band bands a color}{color}{\pingu@color@headband@bands@a} -If \keyref{head band bands} is enabled, this setting changes the color of the large one of the both bands: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band bands, - head band bands a color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband bands a color}{head band bands a color}{head band} -\subkeyalias{head-band bands a color}{head band bands a color}{head band}} - -{\def\pingu@color@headband{} -\subkeyexplain{head band}{head band bands b color}{color}{\pingu@color@headband@bands@b} -If \keyref{head band bands} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[head band, head band bands, - head band bands a color=blue, - head band bands b color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headband bands b color}{head band bands b color}{head band} -\subkeyalias{head-band bands b color}{head band bands b color}{head band}} - -\subsubsection{The rook} - -\showkeyexplain{rook}{color}{pingu@silver} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[rook=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@rook{} -\subkeyexplain{rook}{rook back}{color}{\pingu@color@rook@back} -Change the color of the rook-costume background: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[rook, rook back=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{rook}{rook hatch}{true/false}{\if@pingu@x@rook@draw@hatch@ true\else false\fi} -Toggles the opening in the rook costume: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[rook, rook hatch=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@rook{} -\subkeyexplain{rook}{rook shade}{color}{\pingu@color@rook@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[rook, rook shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The halo} -\showkeyexplain{halo}{color}{pingu@lightblue} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[halo=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{halo}{halo raise}{length}{\pingu@x@halo@raise} -Define the vertical raise of the halo above the penguins head: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[halo, halo raise=4mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{halo}{halo glow}{true/false}{\if@pingu@x@halo@glow true\else false\fi} -Disable or enable the glow of the halo. The default is controlled by the \texttt{glows}-package option. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[halo, halo glow=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{halo}{halo above}{true/false}{\if@pingu@x@halo@above true\else false\fi} -Draws the halo above, which is useful in case of other gadgets: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[halo, halo above=true] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The strawhat} -\showkeyexplain{strawhat}{color}{brown!50!white} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[strawhat=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{straw hat}{strawhat} - -\subkeyexplain{strawhat}{strawhat ribbon}{color}{\pingu@color@strawhat@ribbon} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[strawhat, strawhat ribbon=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{straw hat ribbon}{strawhat ribbon}{strawhat} - -\subkeyexplain{strawhat}{strawhat position}{angle>:(,)} -\subkeyexplain{hat}{hat ribbon}{color}{\pingu@color@hat@ribbon} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hat, hat ribbon=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@hat{} -\subkeyexplain{hat}{hat base}{color}{\pingu@color@hat@base} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hat, hat base=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@hat{} -\subkeyexplain{hat}{hat coronal}{color}{\pingu@color@hat@coronal} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hat, hat coronal=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{hat}{hat position}{angle>:(,)} -\subkeyexplain{conical hat}{conical hat shade}{length}{\pingu@x@conicalhat@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[conical hat, conical hat shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -} - -\subkeyexplain{conical hat height}{conical hat height}{length}{\pingu@x@conicalhat@height} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[conical hat, conical hat height=10mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{conical hat width}{conical hat width}{length}{\pingu@x@conicalhat@width} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[conical hat, conical hat width=3cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{conical hat}{conical hat position}{angle>:(,):(,)} -\subkeyexplain{crown}{crown back}{color}{\pingu@color@crown@back} -Change the back color of the crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[crown, crown back=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{crown}{crown front bend}{angle}{\pingu@x@crown@f@bend} -Change the front lower bend of the crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[crown, crown front bend=52] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{crown}{crown back bend}{angle}{\pingu@x@crown@b@bend} -Change the back lower bend of the crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[crown, crown back bend=46] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{crown}{crown gem shade}{true/false}{\if@pingu@x@crown@shade@ true\else false\fi} -Toggle the gem shading of the crown. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[crown, crown gem shade=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{crown}{crown gem colors}{a>} -\subkeyexplain{crown}{crown gem ring}{color}{\pingu@color@crown@gem@ring} -Change the color of the rings around the crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[crown, crown gem ring=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{crown}{crown position}{angle>:(,)} -\subkeyexplain{princess crown}{princess crown back}{color}{\pingu@color@princesscrown@back} -Change the back color of the smaller crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[princess crown, princess crown back=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{princess crown}{princess crown front bend}{angle}{\pingu@x@princesscrown@f@bend} -Change the front lower bend of the smaller crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[princess crown, princess crown front bend=52] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{princess crown}{princess crown back bend}{angle}{\pingu@x@princesscrown@b@bend} -Change the back lower bend of the smaller crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[princess crown, princess crown back bend=46] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{princess crown}{princess crown gem shade}{true/false}{\if@pingu@x@princesscrown@shade@ true\else false\fi} -Toggle the gem shading of the smaller crown. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[princess crown, - princess crown gem shade=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{princess crown}{princess crown bobbles}{true/false}{\if@pingu@x@princesscrown@bobbles@ true\else false\fi} -Toggle the bobbles of the smaller crown. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[princess crown, princess crown bobbles=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{princess crown}{princess crown gem colors}{a>} -\subkeyexplain{princess crown}{princess crown gem ring}{color}{\pingu@color@princesscrown@gem@ring} -Change the color of the rings around the small crown: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[princess crown, - princess crown gem ring=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{princess crown}{princess crown position}{angle>:(,)} -Enable a cake hat with a specific color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{cake-hat}{cake-hat top}{color}{\pingu@color@cakehat@top} -Change the color of the cake hat top: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat top=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{cake-hat}{cake-hat shade}{color}{\pingu@color@cakehat@shade} -Change the color of the heavily transparent cake hat shading: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{cake-hat}{cake-hat candle}{color}{\pingu@color@cakehat@candle} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{cake-hat}{cake-hat candle fire}{color}{\pingu@color@cakehat@candle@fire} -Change the color of the cake hats' candle most outer fire: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle fire=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@cakehat@candle@fire{} -\subkeyexplain{cake-hat}{cake-hat candle fire 2}{color}{\pingu@color@cakehat@candle@fire@b} -Change the color of the cake hats' candle middle fire: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle fire 2=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@cakehat@candle@fire{} -\subkeyexplain{cake-hat}{cake-hat candle fire 3}{color}{\pingu@color@cakehat@candle@fire@b} -Change the color of the cake hats' candle inner fire: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle fire 3=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{cake-hat}{cake-hat candle wick}{color}{\pingu@color@cakehat@candle@wick} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle wick=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{cake-hat}{cake-hat candle shade}{color}{\pingu@color@cakehat@candle@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{cake-hat}{cake-hat candle back}{color}{\pingu@color@cakehat@candle@back} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat candle back=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@cakehat{} -\subkeyexplain{cake-hat}{cake-hat outline}{color}{\pingu@color@cakehat@outline} -Change the color of the cake hats' outline (width by \keyref{cake-hat outline width}): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat outline=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{cake-hat}{cake-hat outline width}{length}{\pingu@x@cakehat@outline@w} -Change the width of the cake hats' outline (color by \keyref{cake-hat outline}): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cake-hat, cake-hat outline width=1mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{cake-hat}{cake-hat position}{angle>:(,)} -\subkeyexplain{pumpkin-hat}{pumpkin-hat stalk}{color}{\pingu@color@pumpkinhat@stalk} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat stalk=teal] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\subkeyexplain{pumpkin-hat}{pumpkin-hat stalk top}{color}{!95!pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat stalk top=teal] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{pumpkin-hat}{pumpkin-hat stripe a}{color}{\pingu@color@pumpkinhat@stripe@a} -Change the color of the first stripe. By default the other stripes share this ones color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat stripe a=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pumpkin-hat}{pumpkin-hat stripe b}{color}{\pingu@color@pumpkinhat@stripe@b} -Change the color of the second stripe. By default the third stripe share this ones color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat stripe b=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pumpkin-hat}{pumpkin-hat stripe c}{color}{\pingu@color@pumpkinhat@stripe@c} -Change the color of the third stripe: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat stripe c=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pumpkin-hat}{pumpkin-hat outline}{color}{\pingu@color@pumpkinhat@outline} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat outline=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pumpkin-hat}{pumpkin-hat outline width}{length}{\pingu@x@pumpkinhat@outline@w} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pumpkin-hat,pumpkin-hat outline width=3pt] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{pumpkin-hat}{pumpkin-hat position}{angle>:(,)} -\subkeyexplain{vr-headset}{vr-headset band}{color}{\pingu@color@vrheadset@band} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[vr-headset, vr-headset band=purple] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@vrheadset{} -\subkeyexplain{vr-headset}{vr-headset band top}{color}{\pingu@color@vrheadset@band@top} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[vr-headset, vr-headset band top=purple] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{vr-headset}{vr-headset hair}{}{} -Change the hair to support the headset: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[vr-headset, vr-headset hair] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{vr-headset}{vr-headset text}{text}{omitted} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[vr-headset, vr-headset text={ABCD}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{vr-headset}{vr-headset text color}{color}{\pingu@color@vrheadset@text@color} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[vr-headset, vr-headset text color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The headphones} - -\showkeyexplain{headphone}{color}{pingu@blue!80!pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{headphones}{headphone} - -{\def\pingu@color@headphone{} -\subkeyexplain{headphone}{headphone left}{color}{\pingu@color@headphone@left} -Change the color of the left headphone (automatically sets the color of \keyref{headphone right}): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone left=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@headphone{} -\subkeyexplain{headphone}{headphone right}{color}{\pingu@color@headphone@right} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone right=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{headphone}{headphone left outer}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone left outer=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{headphone}{headphone right outer}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone right outer=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{headphone}{headphone outer}{color}{pingu@black} -Set \keyref{headphone left outer} and \keyref{headphone right outer} with the same value: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone outer=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headphones outer}{headphone outer}{headphone} - -\subkeyexplain{headphone}{headphone left inner}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone left inner=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{headphone}{headphone right inner}{color}{pingu@black} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone right inner=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{headphone}{headphone inner}{color}{pingu@black} -Set \keyref{headphone left inner} and \keyref{headphone right inner} with the same value: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[headphone, headphone inner=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{headphones inner}{headphone inner}{headphone} - -\subsubsection{The santa hat} - -\showkeyexplain{santa hat}{color}{pingu@red!87!pingu@black} -Show the merry christmas: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[santa hat=pingu@red] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@santahat{} -\subkeyexplain{santa hat}{santa hat second}{color}{\pingu@color@santahat@second} -Change the wool color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[santa hat,santa hat second=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{ -\subkeyexplain{santa hat}{santa hat bobble}{color}{} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[santa hat,santa hat bobble=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The santa beard} - -\showkeyexplain{santa beard}{color}{pingu@white!96!pingu@red!98!pingu@black!92!gray} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[santa beard=brown!20!white] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@body@main{} -\subkeyexplain{santa beard}{santa beard string}{color}{\pingu@color@santabeard@string} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[santa beard,santa beard string=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The mask} -\showkeyexplain{mask}{color}{pingu@white!61!gray} -Keep the penguin safe: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{mask}{mask band}{color}{\pingu@color@mask@band} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask,mask band=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{mask}{mask line width}{length}{\pingu@x@mask@line@width} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask,mask line width=1.5pt] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@mask{} -\subkeyexplain{mask}{mask band inner}{color}{\pingu@color@mask@band@inner} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask,mask band inner=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@mask{} -\subkeyexplain{mask}{mask band outer}{color}{\pingu@color@mask@band@outer} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[mask,mask band outer=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subsubsection{The blush} - -\showkeyexplain{blush}{color}{pingu@red}(pingu@red,blush opacity=.4) -Make it cute: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[eyes wink, blush=pingu@purple] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{blush}{blush second}{color}{} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[blush, blush second=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{blush}{blush opacity}{factor}{\pingu@x@blush@opacity} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[blush, blush opacity=.86] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The banner} - -\showkeyexplain{banner}{text}{Bannertext} -Give the penguin a banner to hold (it adapts to the wing positions): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[left wing wave, banner=Hello] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{banner}{banner band}{color}{\pingu@color@banner@band} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner band=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner text color}{color}{\pingu@color@banner@text@color} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[wings wave, banner, banner text color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner stick left color}{color}{\pingu@color@banner@stick@left} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner stick left color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner stick right color}{color}{\pingu@color@banner@stick@right} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner stick right color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner sticks color}{color}{\pingu@color@banner@stick@left} -Calls \keyref{banner stick left color} and \keyref{banner stick right color} with the same color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner sticks color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner stick left length}{length}{\pingu@banner@stick@left@l} -Changes the banners left stick length: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner stick left length=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner stick right length}{length}{\pingu@banner@stick@right@l} -Changes the banners right stick length: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner stick right length=2mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner sticks length}{color}{\pingu@banner@stick@left@l} -Calls \keyref{banner stick left length} and \keyref{banner stick right length} with the same length: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner sticks length=9mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner raise}{length}{\pingu@banner@raise} -Change the raise of the banner text: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner raise=2mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner height}{length}{\pingu@banner@height} -Change the height of the banner (this modifies the half): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner height=6mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner font}{font}{} -Change the height of the banner: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner font=\itshape] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{banner}{banner bent}{angle}{\pingu@banner@bent} -Change the bending of the banner: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[banner, banner bent=0] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsection{Wing Items} -\label{sub:wing-items}Most wing items created have a two variants: one for the left and one for the right wing. For consistency, both of them are represented in the documentation~--- many times, they are not just mirrored but two different shapes that appear to be mirrored with special care. - - -\keyexplain{left wing item angle}{angle}{\pingu@wing@left@item@angle@user} - Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the left wing: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cane left, cane right, - left wing item angle=70] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{left item angle}{left wing item angle} - - -\keyexplain{left wing item flip}{true/false}{\if@pingu@wi@flip@left true\else false\fi} - Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the left wing. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag left, flag right, - left wing item flip] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{left item flip}{left wing item flip} - - -\keyexplain{right wing item angle}{angle}{\pingu@wing@right@item@angle@user} - Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the right wing: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cane left, cane right, - right wing item angle=70] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{right item angle}{right wing item angle} - - -\keyexplain{right wing item flip}{true/false}{\if@pingu@wi@flip@right true\else false\fi} - Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the right wing. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag left, flag right, - right wing item flip] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{right item flip}{right wing item flip} - -\subsubsection{The lollipop} - -\showkeyexplain{lollipop left}{color}{pingu@green} - Enable the left lollipop for the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[lollipop left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{lollipop left}{lollipop left handle}{color}{\pingu@color@lollipopleft@handle} - Change the handle color of the left lollipop: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[lollipop left, lollipop left handle=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lollipop left}{lollipop left second}{color}{\pingu@color@lollipopleft@second} - Change the second color of the left lollipop, used for the ring: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[lollipop left, lollipop left second=blue] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{lollipop right}{color}{pingu@green} - Enable the right lollipop for the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[lollipop right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{lollipop right}{lollipop right handle}{color}{\pingu@color@lollipopright@handle} - Change the handle color of the right lollipop: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[lollipop right, lollipop right handle=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lollipop right}{lollipop right second}{color}{\pingu@color@lollipopright@second} - Change the second color of the right lollipop, used for the ring: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[lollipop right, lollipop right second=blue] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - - -\subsubsection{The cane} - -\showkeyexplain{cane left}{color}{pingu@bronze} - Enable the left cane for the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cane left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{cane left}{cane left raise}{length}{\pinug@x@cane@raise@left} - Raise the cane of the pingu: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cane left,cane left raise=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{cane right}{color}{pingu@bronze} - Enable the right cane for the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cane right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{cane right}{cane right raise}{length}{\pinug@x@cane@raise@right} - Raise the cane of the pingu: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cane right,cane right raise=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The hand cast} - -\keyexplain{hand cast left}{text}{X} - Show a symbol above the left wing of the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hand cast left=ABCDEFG] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{handcast left}{hand cast left} - -\subkeyexplain{hand cast left}{hand cast left color}{color}{\pingu@color@handcast@left@color} - Change the color of the left hand cast: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hand cast left, - hand cast left color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\keyalias{handcast left color}{hand cast left color} - -\keyexplain{hand cast right}{text}{X} - Show a symbol above the right wing of the penguin: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hand cast right=ABCDEFG] -\end{tikzpicture} -\end{tcblisting} -\endkeyexplain - -\keyalias{handcast right}{hand cast right} - -\subkeyexplain{hand cast right}{hand cast right color}{color}{\pingu@color@handcast@right@color} - Change the color of the right hand cast: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[hand cast right, - hand cast right color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\keyalias{handcast right color}{hand cast right color} - -\subsubsection{The sign post} - -\showkeyexplain{sign post left}{text}{}(Example) -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sign post left=ABC] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{signpost left}{sign post left} - -\subkeyexplain{sign post left}{sign post left color}{color}{\pingu@color@signpostleft} - Change the color of the sign post: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sign post left, sign post left color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{signpost left color}{sign post left color}{sign post left} - -\subkeyexplain{sign post left}{sign post left font color}{color}{\pingu@color@signpostleft@font} - Change the font color of the sign post: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sign post left=ABCD, - sign post left font color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{signpost left fontcolor}{sign post left font color}{sign post left} - -\showkeyexplain{sign post right}{text}{}(Example) -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sign post right=ABC] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\keyalias{signpost right}{sign post right} - -\subkeyexplain{sign post right}{sign post right color}{color}{\pingu@color@signpostright} - Change the color of the sign post: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sign post right, sign post right color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{signpost right color}{sign post right color}{sign post right} - -\subkeyexplain{sign post right}{sign post right font color}{color}{\pingu@color@signpostright@font} - Change the font color of the sign post: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[sign post right=ABCD, - sign post right font color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyalias{signpost right fontcolor}{sign post right font color}{sign post right} - -\subsubsection{The lightsaber} - -\showkeyexplain{lightsaber left}{color}{pingu@blue} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left handle}{color}{\pingu@color@lightsaberleft@handle} - Change the color of the penguins lightsabers' handle: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, - lightsaber left handle=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left deco}{color}{\pingu@color@lightsaberleft@deco} - Change the color of the penguins lightsabers' decoration elements: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, - lightsaber left deco=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left ribbs}{color}{\pingu@color@lightsaberleft@ribbs} - Change the color of the penguins lightsabers' ribbs: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, - lightsaber left ribbs=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left button}{color}{\pingu@color@lightsaberleft@button} - Change the color of the penguins lightsabers' first button: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, - lightsaber left button=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left button b}{color}{\pingu@color@lightsaberleft@button@b} - Change the color of the penguins lightsabers' second button: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, - lightsaber left button b=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left double}{true/false}{\if@pingu@x@lightsaber@double@left true\else false\fi} -Toggle the visibility of the second lightsaber: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left double, - left wing item angle=90] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\@col{} -\subkeyexplain{lightsaber left}{lightsaber left color b}{color}{\pingu@color@lightsaberleft@color@b} - Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber left double} is enabled: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left double, - lightsaber left color b=green, - left wing item angle=90] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{lightsaber left}{lightsaber left length}{length}{\pingu@x@lightsaber@length@left} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left length=6mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left length b}{length}{\pingu@x@lightsaber@length@b@left} - Change the length of the penguins second lightsaber (active with \keyref{lightsaber left double}): -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left double, - lightsaber left length b=6mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - - -\subkeyexplain{lightsaber left}{lightsaber left yshift}{length}{\pingu@x@lightsaber@yshift@left} - Shift the penguins lightsaber in the y direction: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left yshift=12mm, - lightsaber left length=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left glow}{true/false}{\if@pingu@x@lightsaber@glow@left true\else false\fi} -Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left glow=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left solid}{}{} -Disables the \keyref{lightsaber left glow}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left solid] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left glow core}{color}{\pingu@color@lightsaberleft@glow@core} -Change the color of the lightsabers glow core: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left glow=true, - lightsaber left glow core=cyan] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left outer glow factor}{factor}{\pingu@x@lightsaber@ogf@left} -Modify the glow factor of the left lightsaber: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, - lightsaber left outer glow factor=.3] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber left}{lightsaber left disabled}{}{} -Disables the lightsaber so only the handle is visible: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber left, lightsaber left disabled] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - - -\showkeyexplain{lightsaber right}{color}{pingu@blue} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right handle}{color}{\pingu@color@lightsaberright@handle} - Change the color of the penguins lightsabers' handle: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right handle=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right deco}{color}{\pingu@color@lightsaberright@deco} - Change the color of the penguins lightsabers' decoration elements: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right deco=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right ribbs}{color}{\pingu@color@lightsaberright@ribbs} - Change the color of the penguins lightsabers' ribbs: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right ribbs=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right button}{color}{\pingu@color@lightsaberright@button} - Change the color of the penguins lightsabers' first button: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right button=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right button b}{color}{\pingu@color@lightsaberright@button@b} - Change the color of the penguins lightsabers' second button: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right button b=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right double}{true/false}{\if@pingu@x@lightsaber@double@right true\else false\fi} -Toggle the visibility of the second lightsaber: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, lightsaber right double, - right wing item angle=90] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\@col{} -\subkeyexplain{lightsaber right}{lightsaber right color b}{color}{\pingu@color@lightsaberright@color@b} - Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber right double} is enabled: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, lightsaber right double, - lightsaber right color b=green, - right wing item angle=90] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{lightsaber right}{lightsaber right length}{length}{\pingu@x@lightsaber@length@right} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right length=6mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right length b}{length}{\pingu@x@lightsaber@length@b@right} - Change the length of the penguins second lightsaber (active with \keyref{lightsaber right double}): -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, lightsaber right double, - lightsaber right length b=6mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - - -\subkeyexplain{lightsaber right}{lightsaber right yshift}{length}{\pingu@x@lightsaber@yshift@right} - Shift the penguins lightsaber in the y direction: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right yshift=12mm, - lightsaber right length=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right glow}{true/false}{\if@pingu@x@lightsaber@glow@right true\else false\fi} -Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right glow=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right solid}{}{} -Disables the \keyref{lightsaber right glow}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, lightsaber right solid] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right glow core}{color}{\pingu@color@lightsaberright@glow@core} -Change the color of the lightsabers glow core: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, lightsaber right glow=true, - lightsaber right glow core=cyan] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right outer glow factor}{factor}{\pingu@x@lightsaber@ogf@right} -Modify the glow factor of the right lightsaber: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, - lightsaber right outer glow factor=.3] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{lightsaber right}{lightsaber right disabled}{}{} -Disables the lightsaber so only the handle is visible: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[lightsaber right, lightsaber right disabled] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The lightstaff} - -\showkeyexplain{light-staff left}{color}{pingu@green} -Color similar to \keyref{light-staff left head}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{light-staff left}{light-staff left length}{length}{\pingu@lightstaff@left@length} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left length=18mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff left}{light-staff left glow length}{length}{\pingu@lightstaff@left@glow@length} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left glow length=16mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff left}{light-staff left head}{color}{pingu@green} -Same as assigning the color to \keyref{light-staff left}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left head=pingu@purple] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff left}{light-staff left staff}{color}{\pingu@color@lightstaff@left@staff} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left staff=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff left}{light-staff left core}{color}{\pingu@color@lightstaff@left@head@core} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left core=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff left}{light-staff left core width}{length}{\pingu@lightstaff@left@core@width} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left core width=2mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff left}{light-staff left outer glow factor}{factor}{\pingu@x@lightstaff@ogf@left} -Similar to \keyref{lightsaber left outer glow factor}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff left, - light-staff left outer glow factor=.5] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{light-staff right}{color}{pingu@green} -Color similar to \keyref{light-staff right head}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{light-staff right}{light-staff right length}{length}{\pingu@lightstaff@right@length} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right length=18mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff right}{light-staff right glow length}{length}{\pingu@lightstaff@right@glow@length} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right glow length=16mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff right}{light-staff right head}{color}{pingu@green} -Same as assigning the color to \keyref{light-staff right}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right head=pingu@purple] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff right}{light-staff right staff}{color}{\pingu@color@lightstaff@right@staff} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right staff=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff right}{light-staff right core}{color}{\pingu@color@lightstaff@right@head@core} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right core=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff right}{light-staff right core width}{length}{\pingu@lightstaff@right@core@width} -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right core width=2mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{light-staff right}{light-staff right outer glow factor}{factor}{\pingu@x@lightstaff@ogf@right} -Similar to \keyref{lightsaber right outer glow factor}: -\begin{tcblisting}{} -\begin{tikzpicture} - \pingu[light-staff right, - light-staff right outer glow factor=.5] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The flag} -The flag is special in that it is meant to be customized by commands so that the visible insignia is to the users liking. - -\showkeyexplain{flag left}{color}{pingu@purple} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{flag left}{flag left pole}{color}{\pingu@color@flagleft@pole} -Change the color of the flag pole: - \begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag left, flag left pole=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{flag left}{flag left bobble}{color}{\pingu@color@flagleft@bobble} -Change the color of the flag poles top bobble: - \begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag left, flag left bobble=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{flag left}{flag left code}{\LaTeX-code}{omitted} -Set the flag code which is effectively the drawing code of the flag. -You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: - \begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag left, flag left code={ - \node[/pingu/@flag@first, - /pingu/@flag={blue}{5mm}] - (upper) at (0,0) {}; - \node[below,/pingu/@flag={black}{4mm}] - (lower) at (upper.south) {}; - }] -\end{tikzpicture} -\end{tcblisting} -Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. -\endsubkeyexplain - -\@toggle@showcase % just so that they are aligned on the same side -\showkeyexplain{pride flag left}{color}{pingu@bronze} - Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a pride flag. The color argument is passed to \keyref{flag left pole}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pride flag left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain -\@toggle@showcase % and back - - -\showkeyexplain{german flag left}{color}{pingu@bronze} - Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a german flag. The color argument is passed to \keyref{flag left pole}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[german flag left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - - -\showkeyexplain{flag right}{color}{pingu@purple} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{flag right}{flag right pole}{color}{\pingu@color@flagright@pole} -Change the color of the flag pole: - \begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag right, flag right pole=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{flag right}{flag right bobble}{color}{\pingu@color@flagright@bobble} -Change the color of the flag poles top bobble: - \begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag right, flag right bobble=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{flag right}{flag right code}{\LaTeX-code}{omitted} -Set the flag code which is effectively the drawing code of the flag. -You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: - \begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[flag right, flag right code={ - \node[/pingu/@flag@first, - /pingu/@flag={blue}{5mm}] - (upper) at (0,0) {}; - \node[below,/pingu/@flag={black}{4mm}] - (lower) at (upper.south) {}; - }] -\end{tikzpicture} -\end{tcblisting} -Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. -\endsubkeyexplain - -\@toggle@showcase % just so that they are aligned on the same side -\showkeyexplain{pride flag right}{color}{pingu@bronze} - Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a pride flag. The color argument is passed to \keyref{flag right pole}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[pride flag right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain -\@toggle@showcase - -\showkeyexplain{german flag right}{color}{pingu@bronze} - Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a german flag. The color argument is passed to \keyref{flag right pole}. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[german flag right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subsubsection{The staff} - -\showkeyexplain{staff left}{color}{pingu@bronze} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[staff left=green, left item angle=70] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{staff left}{staff left length}{length}{\pingu@staff@left@length} -Change the staff length: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[staff left, staff left length=20mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{staff right}{color}{pingu@bronze} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[staff right=green, right item angle=70] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{staff right}{staff right length}{length}{\pingu@staff@right@length} -Change the staff length: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[staff right, staff right length=20mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The laptop} - -\showkeyexplain{laptop left}{color}{gray!80!pingu@white} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@laptopleft{laptop-left-color} -\subkeyexplain{laptop left}{laptop left bracket}{color}{\pingu@color@laptopleft@bracket} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left, laptop left bracket=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop left}{laptop left lower}{color}{\pingu@color@laptopleft@lower} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left, laptop left lower=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop left}{laptop left key}{color}{\pingu@color@laptopleft@key} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left, laptop left key=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop left}{laptop left display}{color}{\pingu@color@laptopleft@display} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left, laptop left display=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop left}{laptop left content}{tikz-code}{\pingu@x@laptopleft@content} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left, laptop left content={\draw circle[radius=2mm];}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop left}{laptop left mid}{code}{\pingu@x@laptopleft@mid} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop left, laptop left mid={Hey}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -} - - -\showkeyexplain{laptop right}{color}{gray!80!pingu@white} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -{\def\pingu@color@laptopright{laptop-right-color} -\subkeyexplain{laptop right}{laptop right bracket}{color}{\pingu@color@laptopright@bracket} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right, laptop right bracket=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop right}{laptop right lower}{color}{\pingu@color@laptopright@lower} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right, laptop right lower=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop right}{laptop right key}{color}{\pingu@color@laptopright@key} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right, laptop right key=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop right}{laptop right display}{color}{\pingu@color@laptopright@display} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right, laptop right display=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop right}{laptop right content}{tikz-code}{\pingu@x@laptopright@content} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right, laptop right content={\draw circle[radius=2mm];}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{laptop right}{laptop right mid}{code}{\pingu@x@laptopright@mid} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[laptop right, laptop right mid={Hey}] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -} - -\subsubsection{The devil fork} - -\showkeyexplain{devil fork left}{color}{pingu@red} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil fork left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{devil fork left}{devil fork left second}{color}{\pingu@color@devilforkleft@second} -Staff color of the \keyref{devil fork left}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil fork left, - devil fork left second=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{devil fork left}{devil fork left length}{color}{\pingu@devilfork@left@length} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil fork left, devil fork left length=7mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{devil fork right}{color}{pingu@red} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil fork right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{devil fork right}{devil fork right second}{color}{\pingu@color@devilforkright@second} -Staff color of the \keyref{devil fork right}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil fork right, - devil fork right second=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{devil fork right}{devil fork right length}{color}{\pingu@devilfork@right@length} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[devil fork right, - devil fork right length=7mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The Horse} - -\showkeyexplain{horse left}{color}{pingu@bronze!80!pingu@black} - Give it a horse: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{horse left}{horse left flip}{true/false}{false} -By default, the left horse will be flipped. The right horse won't. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left flip=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left has base}{true/false}{false} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left has base] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@horseleft{} -\subkeyexplain{horse left}{horse left draw}{color}{\pingu@color@horseleft@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left mane}{color}{\pingu@color@horseleft@mane} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left mane=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseleft@mane{} -\subkeyexplain{horse left}{horse left mane draw}{color}{\pingu@color@horseleft@mane@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left mane draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left thatch}{color}{\pingu@color@horseleft@thatch} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left thatch=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseleft@thatch{} -\subkeyexplain{horse left}{horse left thatch draw}{color}{\pingu@color@horseleft@thatch@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left thatch draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left tail}{color}{\pingu@color@horseleft@tail} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left tail=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseleft@tail{} -\subkeyexplain{horse left}{horse left tail draw}{color}{\pingu@color@horseleft@tail@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left tail draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left eyes}{color}{\pingu@color@horseleft@eyes} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left eyes=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -\subkeyalias{horse left eye}{horse left eyes}{horse left} - -\subkeyexplain{horse left}{horse left mouth}{color}{\pingu@color@horseleft@mouth} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left mouth=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left nose}{color}{\pingu@color@horseleft@nose} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left nose=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left ears}{color}{\pingu@color@horseleft@ears} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left ears=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left base}{color}{\pingu@color@horseleft@base} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left has base, - horse left base=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseleft@base{} -\subkeyexplain{horse left}{horse left base draw}{color}{\pingu@color@horseleft@base@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left has base, - horse left base draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left base shade}{color}{\pingu@color@horseleft@base@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left has base, - horse left base shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseleft@base@shade{} -\subkeyexplain{horse left}{horse left base shade draw}{color}{\pingu@color@horseleft@base@shade@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left has base, - horse left base shade draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left xshift}{length}{\pingu@x@horseleft@xshift} -This key reacts with the \keyref{horse left flip} option! -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left xshift=1cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left yshift}{length}{\pingu@x@horseleft@yshift} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left yshift=1cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse left}{horse left on base}{}{} -Uses \keyref{horse left xshift} and \keyref{horse left yshift} to align a horse on a base to be set on the penguin-wing: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse left,horse left has base, - horse left on base] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -} - -\showkeyexplain{horse right}{color}{pingu@bronze!80!pingu@black} - Give it a horse: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{horse right}{horse right flip}{true/false}{false} -By default, the right horse will be flipped. The right horse won't. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right flip=false] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right has base}{true/false}{false} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right has base] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@horseright{} -\subkeyexplain{horse right}{horse right draw}{color}{\pingu@color@horseright@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right mane}{color}{\pingu@color@horseright@mane} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right mane=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseright@mane{} -\subkeyexplain{horse right}{horse right mane draw}{color}{\pingu@color@horseright@mane@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right mane draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right thatch}{color}{\pingu@color@horseright@thatch} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right thatch=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseright@thatch{} -\subkeyexplain{horse right}{horse right thatch draw}{color}{\pingu@color@horseright@thatch@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right thatch draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right tail}{color}{\pingu@color@horseright@tail} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right tail=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseright@tail{} -\subkeyexplain{horse right}{horse right tail draw}{color}{\pingu@color@horseright@tail@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right tail draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right eyes}{color}{\pingu@color@horseright@eyes} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right eyes=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -\subkeyalias{horse right eye}{horse right eyes}{horse right} - -\subkeyexplain{horse right}{horse right mouth}{color}{\pingu@color@horseright@mouth} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right mouth=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right nose}{color}{\pingu@color@horseright@nose} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right nose=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right ears}{color}{\pingu@color@horseright@ears} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right ears=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right base}{color}{\pingu@color@horseright@base} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right has base, - horse right base=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseright@base{} -\subkeyexplain{horse right}{horse right base draw}{color}{\pingu@color@horseright@base@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right has base, - horse right base draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right base shade}{color}{\pingu@color@horseright@base@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right has base, - horse right base shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\def\pingu@color@horseright@base@shade{} -\subkeyexplain{horse right}{horse right base shade draw}{color}{\pingu@color@horseright@base@shade@draw} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right has base, - horse right base shade draw=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right xshift}{color}{\pingu@x@horseright@xshift} -This key reacts with the \keyref{horse right flip} option! -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right xshift=1cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right yshift}{color}{\pingu@x@horseright@yshift} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right yshift=1cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{horse right}{horse right on base}{}{} -Uses \keyref{horse right xshift} and \keyref{horse right yshift} to align a horse on a base to be set on the penguin-wing: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[horse right,horse right has base, - horse right on base] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain -} - - -\subsection{Clothes} - -Clothes are currently completely work in progress as the goal is to create an elegant way to offer clothes that adapt to the wing positions of the penguin. -Currently there is only one cloth type that may be heavily edited in the course of development\ldots - -\subsubsection{The cloak} - -Originally developed just as a cape, the cloak is no a whole extension. - -\showkeyexplain{cloak}{color}{pingu@bronze} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cloak=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\begin{tcblisting}{sidebyside=false, title=Cloak-Showcase} -\begin{tikzpicture} - \pingu[wings wave, cloak] - \pingu[wings shock, cloak, xshift=3.5cm] - \pingu[right wing wave, left wing hug, cloak, xshift=7cm] - \pingu[right wing grab, left wing raise, cloak, xshift=10.5cm] -\end{tikzpicture} -\end{tcblisting} - -{\def\pingu@color@cloak{} -\subkeyexplain{cloak}{cloak cap}{color}{\pingu@color@cloak@cap} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cloak, cloak cap=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@cloak{} -\subkeyexplain{cloak}{cloak wings color}{color}{\pingu@color@cloak@wings} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cloak, cloak wings color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@cloak{} -\subkeyexplain{cloak}{cloak bottom color}{color}{\pingu@color@cloak@bottom} - Should change the cloaks bottom color (currently ineffective): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cloak, cloak bottom color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@cloak{} -\subkeyexplain{cloak}{cloak front color}{color}{\pingu@color@cloak@front} - Should change the cloaks front color (currently ineffective): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cloak, cloak front color=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{cloak}{cloak padding}{length}{\pingu@x@cloak@padding} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cloak, cloak padding=13mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\showkeyexplain{cape}{color}{pingu@bronze} - Uses \keyref{cloak} but disables all parts that are not part of a cape: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[cape=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subsubsection{The shirt} - -\showkeyexplain{shirt}{color}{pingu@bronze} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt=green] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{shirt}{shirt raise}{length}{\pingu@shirt@raise} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt raise=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt padding}{length}{\pingu@shirt@padding} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt padding=4mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt button top}{color}{\pingu@color@shirt@button@top} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt button top=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt button middle}{color}{\pingu@color@shirt@button@middle} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt button middle=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt button bottom}{color}{\pingu@color@shirt@button@bottom} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt button bottom=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt buttons}{color}{} -Set \keyref{shirt button top}, \keyref{shirt button middle} and \keyref{shirt button bottom}, that is all the buttons, with the same color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt buttons=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} -\subkeyexplain{shirt}{shirt button top shade}{color}{\pingu@color@shirt@button@top@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt button top shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@shirt@button@middle{}\def\pingu@color@shirt{} -\subkeyexplain{shirt}{shirt button middle shade}{color}{\pingu@color@shirt@button@middle@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt button middle shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -{\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} -\subkeyexplain{shirt}{shirt button bottom shade}{color}{\pingu@color@shirt@button@bottom@shade} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt button bottom shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -\subkeyexplain{shirt}{shirt buttons shade}{color}{} -Set all shadings of the buttons: \keyref{shirt button top shade}, \keyref{shirt button middle shade} and \keyref{shirt button bottom shade} with the same color: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt buttons shade=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt no buttons}{}{} -Disable all buttons (by setting their colors to \lpingu{!hide}): -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, shirt no buttons] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subkeyexplain{shirt}{shirt above}{}{} -This is interesting in combination with other extras as it allows the \keyref{shirt} to be drawn above them. -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[shirt, tie, shirt above] - \pingu[shirt, tie, xshift=3cm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -\subsubsection{The second shirt} -\showkeyexplain{second shirt}{color}{pingu@red} - Display a shirt below the \keyref{shirt}: -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[second shirt=green, shirt] -\end{tikzpicture} -\end{tcblisting} -\endshowkeyexplain - -\subkeyexplain{second shirt}{second shirt raise}{length}{\pingu@secondshirt@raise} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[second shirt, second shirt raise=5mm] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain - -{\def\pingu@color@secondshirt{} -\subkeyexplain{second shirt}{second shirt neck}{color}{\pingu@color@secondshirt@neck} -\begin{tcblisting}{@} -\begin{tikzpicture} - \pingu[second shirt, second shirt neck=green] -\end{tikzpicture} -\end{tcblisting} -\endsubkeyexplain} - -% set up for inclusion -\lstset{includerangemarker=false,rangeprefix={\% <}, rangesuffix={>}} -\newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange={#2}-{@#2},style=lstpingu,language=pinguinternallang]{#1} - -\section{Describing the internals} -The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. +\begin{commandexplain}{pingu@name} + Holds the name of the penguin. +\end{commandexplain} \subsection{Adding new Eyes} The eyes of the penguin are controlled by two selections for the left, and the right eye: -\includecode{eyes-selectors} +\includecode{eyes\ selectors} \lstset{breakatwhitespace}\printindex diff --git a/tex/tikzpingus.sty b/tex/tikzpingus.sty index 8368b6c..76c5e19 100644 --- a/tex/tikzpingus.sty +++ b/tex/tikzpingus.sty @@ -106,14 +106,14 @@ \long\def\pingu@create@extra#1#2#3{\expandafter\newif\csname if@pingu@x@#1@\endcsname\pgfqkeys{/pingu}{#2,extra defaults/.append style={#3}}} \def\pingu@set@extra#1#2{\csname @pingu@x@#1@#2\endcsname} -% +% \pingu@create@selection{lefteye}{% \path ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left);% } \pingu@create@selection{righteye}{% \path ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate (\pingu@name-eye-right);% } -% <@eyes-selectors> +% <@eyes selectors> \pingu@create@selection{leftwing}{% \path ([yshift=-6.5mm]\pingu@name-wings-side-left) From e14ef97db75f85aedd82d3ea068881110528c2f6 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 16:32:17 +0200 Subject: [PATCH 04/28] working backslash keyref --- doc/tikzpingus-doc.tex | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 8fc56c1..5d4ca2e 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -87,9 +87,6 @@ emphstyle=[2]\optstyle, emphstyle=[3]\@declaredcolor{@softgray@b}, emphstyle=[4]\@declaredcolor{@darkerblue}, - % texcsstyle=*\@declaredcolor{gray}\bfseries, - % texcsstyle=*[2]\@declaredcolor{doc-main}\bfseries, - % texcsstyle=*[3]\@declaredcolor{@softgray}, lineskip=2.5pt, keepspaces=true, moredelim=[s][\itshape]{<}{>}, @@ -98,13 +95,19 @@ \def\ipingu#1{\lstinline'#1'} \def\lpingu#1{\lstinline[style=lstpingu,language=pingulang]'#1'} \def\ltex#1{\lstinline[style=lstpingu,language=pinguinternallang]'#1'} +\def\doccmd#1{{\@declaredcolor{doc-main}\bfseries\textbackslash #1}} +\def\graycmd#1{{\@declaredcolor{gray}\bfseries\textbackslash #1}} +\def\ghostcmd#1{{\@declaredcolor{@softgray}\textbackslash #1}} \lstdefinelanguage{pinguinternallang}{ language={[LaTeX]TeX}, moreemph={tikzpicture}, alsoletter={@}, - % moretexcs=[2]{pingu@block,pingu@draw,}, - % moretexcs={pingu@eye@shift,pingu@color@eye@left,pingu@color@eye@right,@pingu@eyes@s,@pingu@none,path} + add to literate= + {\\pingu@block}{{\doccmd{pingu@block}}}{12} + {\\pingu@draw}{{\doccmd{pingu@draw}}}{11} + {\\@pingu@non}{{\graycmd{path}}}{11} + {\\path}{{\graycmd{path}}}{5} } \def\t@lst@addToLiterate#1{\protected@edef\lst@literate{\unexpanded\expandafter{\lst@literate}\unexpanded{#1}}} @@ -115,15 +118,22 @@ language={[LaTeX]TeX}, moreemph={tikzpicture}, alsoletter={.-!:0123456789},%disable number - % deletetexcs={begin,end}, % -> lift 3 - % moretexcs=[2]{pingu,duck,node,pingudefaults,pingudefaultsappend,pinguloadlibrary,pinguloadlibraries}, - % moretexcs=[3]{begin,end,pgfmathsetseed}, + deletetexcs={begin,end}, % -> lift 3 moreemph=[3]{!hide,.style}, add to literate={/pingu/}{{\@declaredcolor{gray}/pingu/}}7 {\{tikzpicture\}}{{\@declaredcolor{@softgray}\{tikzpicture\}}}{13} {\{\\number\\pdfrandomseed\}}{{\@declaredcolor{@softgray}\{\textbackslash number\textbackslash pdfrandomseed\}}}{23} % otherwise these would interfere with random {!random}{{\@declaredcolor{darkgray}\itshape!random}}7 + {\\node}{{\doccmd{node}}}5 + {\\duck}{{\doccmd{duck}}}5 + {\\pingudefaults}{{\doccmd{pingudefaults}}}{14} + {\\pingudefaultsappend}{{\doccmd{pingudefaultsappend}}}{20} + {\\pinguloadlibrary}{{\doccmd{pinguloadlibrary}}}{17} + {\\pinguloadlibraries}{{\doccmd{pinguloadlibraries}}}{19} + {\\begin}{{\ghostcmd{begin}}}6 + {\\end}{{\ghostcmd{end}}}4 + {\\pgfmathsetseed}{{\ghostcmd{pgfmathsetseed}}}{15} } \def\@CreateCodeHyperLink#1#2#3#4{\typeout{Creating hyperlink #2 => #3}\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#4}}}{#1}}} @@ -4922,10 +4932,13 @@ \subsection{Randomness} \lstset{includerangemarker=false,rangeprefix={\%\ <}, rangesuffix={>}} \newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange=#2-@#2,style=lstpingu,language=pinguinternallang]{#1}} -\section{Describing the internals} +\section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. \subsection{General commands} +\begin{commandexplain}{pingu} + The command to draw the penguin! TODO: command args. +\end{commandexplain} \begin{commandexplain}{pingu@name} Holds the name of the penguin. From 57356baa64cad7fe4a8c0845e019b51cfbab33da Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 16:32:57 +0200 Subject: [PATCH 05/28] re-in-comment all stuff as now we have working backslash links --- doc/tikzpingus-doc.tex | 8430 ++++++++++++++++++++-------------------- 1 file changed, 4215 insertions(+), 4215 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 5d4ca2e..09a2c58 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -711,4221 +711,4221 @@ \subsection{Randomness} \endkeyexplain -% \subsection{Extras} -% An extra is considered everything, that is attached to the main penguin and not to the wings (as those items may be placed separately for both wings). -% Most extras are activated with the format |=| (the || option is not mandatory) -% and try to adapt with other extras that have been placed (yet you can place multiple hats if you really like to). A lot of the extras do offer more keys to customize their appearance. -% They are explained in the full reference (\autoref{sec:full-ref}). - -% Consider the somewhat overkill-example of \say{\nameref{lord-gadget}}. -% \begin{tcblisting}{title={Lord-Gadget, the penguin},externalize listing=lord-gadget,nameref={Lord-Gadget, the penguin},label=lord-gadget,float} -% \begin{tikzpicture} -% \pingu[crown 2d=pingu@bronze, -% medal=pingu@purple, tie, -% eye patch left=teal, -% eye patch right=orange, -% right wing wave, sunglasses, -% glow thick=yellow] -% \end{tikzpicture} -% \end{tcblisting} - -% \subsection{Wing-Items} -% Wing items are basically just like extras, but they can be selected separately for the left and right wing. Furthermore, they adapt their \textit{default} appearance to the active wing positions (\autoref{subsec:wings}). -% Currently there are the following wing items: -% % add a extra guard not present with the wing items -% \typesetselection[\textit{#1\expandafter\ParseDTLListElement :"#1"\@nil}]{wingitems}. -% They are selected using | |. - -% Additionally, they can be customized by \keyref{left item angle} and \keyref{right item angle}, as well as \keyref{left item flip} and \keyref{right item flip}. -% Lets consider an example\ldots -% \begin{tcblisting}{title={Penguin with full wings!}} -% \begin{tikzpicture}[scale=.75] -% \pingu[lightsaber right=orange, -% lollipop left, -% right item angle=70, -% right wing raise, left wing grab] -% \pingu[cane left, right item flip, -% sign post right={Hi!}, xshift=35mm] -% \end{tikzpicture} -% \end{tcblisting} - -% \subsection{Clothing} -% Clothing is the newest extension to the collection, at and the moment there is not one \say{real} clothing, that really adapts to the penguins-position. -% I am working on the \textit{cloak}-Clothing at the moment: -% \begin{tcblisting}{title={Pengu-Clothes},externalize listing=clothes} -% \begin{tikzpicture}[scale=.75] -% \pingu[cloak] -% \end{tikzpicture} -% \end{tcblisting} - -% % \section{Examples} - -% \appendix -% \section{Gadget Overview}\label{Gadget-Overview} - -% \TypesetShowcases - -% \section{Full Reference}\label{sec:full-ref} - -% \def\percenttargetreductionpengus{63}\def\lstfnsize{-1.65} -% \tcbset{% -% before lower={\begin{adjustbox}{scale=.\percenttargetreductionpengus}}, -% after lower={\end{adjustbox}},% -% boxsep=1pt% -% } - -% \begin{center} -% \textit{Please note, that all preview-penguins have been reduced in scale to \percenttargetreductionpengus\,\% to save space and make the documentation more concise.} -% \end{center} - -% Aliases may set custom defaults. Those defaults are not listed as they may change. - -% \subsection{Penguin Keys} - -% \keyexplain{name}{text}{\pingu@name} -% Sets the name of the penguin. This name is used for all the automatically generated coordinates (see~\autoref{mrk:coordinates}). -% \endkeyexplain - -% \keyexplain{scale}{floating point}{active scale} -% Changes the scale for the penguin. This is not supported by all items by default (as some scales have to be re-calculated according to their rotation). -% Yet, it should work with most. - -% Furthermore, this value can be used to make the penguin independent of the outer scaling. -% \endkeyexplain - - -% \keyexplain{meta-dots}{true/false}{\if@pingu@draw@metadots true\else false\fi} -% Can be used to enable and disable the meta dots (\autoref{mrk:coordinates}). -% Passed true by default. -% \endkeyexplain - -% \keyalias{meta dots}{meta-dots} - -% \subsubsection{The Feet} - -% \keyexplain{left foot}{foot-selector}{\@pingu@select@leftfoot@} -% Change the style of the left foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -% \begin{tikzpicture} -% \pingu[left foot=simple] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{left foot color}{color}{\pingu@color@foot@left} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[left foot color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{left foot}{\@pingu@leftfoot@}{left foot color} - -% \keyexplain{right foot}{foot-selector}{\@pingu@select@rightfoot@} -% Change the style of the right foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -% \begin{tikzpicture} -% \pingu[right foot=simple] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{right foot color}{color}{\pingu@color@foot@right} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[right foot color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{right foot}{\@pingu@rightfoot@}{right foot color} - -% \keyexplain{feet}{foot-selector}{} -% Change the style of both feet by calling \keyref{left foot} and \keyref{right foot} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -% \begin{tikzpicture} -% \pingu[feet=simple] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{feet color}{color}{} -% Sets the color of both feet (using \keyref{left foot color} and \keyref{right foot color}). -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[feet color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{feet}{\@pingu@leftfoot@}{feet color} - -% \subsubsection{The Body} - -% \keyexplain{body main}{color}{\pingu@color@body@main} -% Set the main color of the penguin. This will affect \keyref{hair} as well, as this chooses its default value from the main color.% -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[body main=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{body head}{color}{\pingu@color@body@head} -% Set the color of the penguin head.% -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[body head=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{body}{color}{} -% Sets the color of the main penguin and the head, by calling \keyref{body main} and \keyref{body head} with the same value. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[body=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{body front}{color}{\pingu@color@body@front} -% Sets the frontal color of the penguin. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[body front=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{body type}{body type}{normal} -% Change the active body type. All valid values are listed in \autoref{mrk:pengu-change-comps}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[body type=legacy] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \subsubsection{The Size} - - -% \keyexplain{height}{length}{\the\pingu@side@h@half} -% Change the height of the penguin manually. You probably should not use this key directly and refer to \keyref{small size}, \keyref{normal size}, and \keyref{large size}: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -% \begin{tikzpicture} -% \pingu[height=17mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{small size}{}{} -% Will use \keyref{height} to create a small pingu: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -% \begin{tikzpicture} -% \pingu[small size] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{small}{small size} -% \keyalias{small height}{small size} - - -% \keyexplain{normal size}{}{} -% Will use \keyref{height} to create a normal pingu: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -% \begin{tikzpicture} -% \pingu[normal size] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{normal}{normal size} -% \keyalias{normal height}{normal size} - - -% \keyexplain{large size}{}{} -% Will use \keyref{height} to create a large pingu: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} -% \begin{tikzpicture} -% \pingu[large size] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{large}{large size} -% \keyalias{large height}{large size} - -% \subsubsection{The Eyes} -% \keyexplain{left eye}{eye-selector}{\@pingu@select@lefteye@} -% Change the style of the left eye. All valid values are listed in \autoref{mrk:pengu-eye}. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -% \begin{tikzpicture} -% \pingu[left eye=wink] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{left eye color}{color}{\pingu@color@eye@left} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[left eye color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{left eye second color}{color}{\pingu@color@eye@second@left} -% Change the secondary color of the left eye. It will be used in some styles selected by \keyref{left eye} (e.g.\ \textit{shiny}): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shiny}}}} -% \begin{tikzpicture} -% \pingu[left eye=shiny, -% left eye second color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{left eye}{\@pingu@lefteye@}{left eye color} - -% \keyexplain{right eye}{eye-selector}{\@pingu@select@righteye@} -% Change the style of the right eye. All valid values are listed in \autoref{mrk:pengu-eye}. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -% \begin{tikzpicture} -% \pingu[right eye=wink] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{right eye color}{color}{\pingu@color@eye@right} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[right eye color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{right eye second color}{color}{\pingu@color@eye@second@right} -% Change the secondary color of the right eye. It will be used in some styles selected by \keyref{right eye} (e.g.\ \textit{shiny}): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock}}}} -% \begin{tikzpicture} -% \pingu[right eye=shock, -% right eye second color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{right eye}{\@pingu@righteye@}{right eye color} - -% \keyexplain{eyes}{eye-selector}{} -% Change the style of both eyes by calling \keyref{left eye} and \keyref{right eye} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -% \begin{tikzpicture} -% \pingu[eyes=wink] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{eyes color}{color}{} -% Change the main color of both eyes by calling \keyref{left eye color} and \keyref{right eye color} with the same value. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[eyes color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{eyes second color}{color}{} -% Change the secondary color of both eyes by calling \keyref{left eye second color} and \keyref{right eye second color} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock,shiny}}}} -% \begin{tikzpicture} -% \pingu[left eye=shock, right eye=shiny, -% eyes second color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{eyes}{\@pingu@lefteye@}{eyes color} - -% \subsubsection{The Wings} - -% \keyexplain{left wing}{wing-selector}{\@pingu@select@leftwing@} -% Change the style of the left wing. All valid values are listed in \autoref{subsec:wings}. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} -% \begin{tikzpicture} -% \pingu[left wing=wave] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{left wing color}{color}{\pingu@color@left@wing} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[left wing color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{left wing}{\@pingu@leftwing@}{left wing color} - -% \keyexplain{right wing}{wing-selector}{\@pingu@select@rightwing@} -% Change the style of the right wing. All valid values are listed in \autoref{subsec:wings}. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} -% \begin{tikzpicture} -% \pingu[right wing=hug] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{right wing color}{color}{\pingu@color@right@wing} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[right wing color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{right wing}{\@pingu@rightwing@}{right wing color} - -% \keyexplain{wings}{wing-selector}{} -% Change the style of both wings by calling \keyref{left wing} and \keyref{right wing} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} -% \begin{tikzpicture} -% \pingu[wings=grab] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{wings color}{color}{} -% Change the main color of both wings by calling \keyref{left wing color} and \keyref{right wing color} with the same value. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[wings color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{wings}{\@pingu@leftwing@}{wings color} - -% \subsubsection{The Hair} - - -% \keyexplain{hair 1 color}{color}{\pingu@color@hair@a} -% Set the color of the first hair (this may be used differently by other hairstyles): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[hair 1 color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{hair 2 color}{color}{\pingu@color@hair@b} -% Set the color of the second hair (this may be used differently by other hairstyles): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{2}}}} -% \begin{tikzpicture} -% \pingu[hair 2 color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{hair 3 color}{color}{\pingu@color@hair@c} -% Set the color of the third hair (this may be used differently by other hairstyles): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{3}}}} -% \begin{tikzpicture} -% \pingu[hair 3 color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{hair 4 color}{color}{\pingu@color@hair@d} -% Set the color of the fourth hair (this may be used differently by other hairstyles): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{4}}}} -% \begin{tikzpicture} -% \pingu[hair 4 color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{hair 5 color}{color}{\pingu@color@hair@e} -% Set the color of the fifth hair (this may be used differently by other hairstyles): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{5}}}} -% \begin{tikzpicture} -% \pingu[hair 5 color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{hairs color}{color}{} -% Set the color of all hairs by calling \keyref{hair 1 color}, \keyref{hair 2 color}, \keyref{hair 3 color}, \keyref{hair 4 color}, and \keyref{hair 5 color} with the same argument: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hairs color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{hairs}{hairs color} -% \keyalias{hair}{hairs color} - -% \keyexplain{hairstyle}{hair-selector}{\@pingu@select@hairstyle@} -% Change the hairstyle (\autoref{mrk:pengu-change-comps}): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hairstyle=none] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{hair style}{hairstyle} -% \shortcuts{hairstyle}{\@pingu@hairstyle@}{hairs color} - -% \subsubsection{The Bill} -% \keyexplain{bill}{bill-selector}{\@pingu@select@bill@} -% Change the style of the bill (\autoref{mrk:pengu-change-comps}): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{flat}}}} -% \begin{tikzpicture} -% \pingu[bill=flat] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{bill color}{color}{\pingu@color@bill} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[bill color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \shortcuts{bill}{\@pingu@bill@}{bill color} - -% \subsection{Drawing Styles} -% \index{Styles} -% \def\cursub{Styles!} -% \keyexplain{:line}{}{} -% Disable glows, shades and fills and enforce a line. This line will be darker -% than the original fill color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:line] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:fill}{}{} -% Makes the whole penguin in one solid color (basically a shortcut for setting all main penguin colors to the same): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:fill,tie=white,eyes color=white] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:ghost parts}{opacity}{.5} -% Set the opacity of each penguin component individually. At the moment, this -% excludes some glow calculations. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:ghost parts] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:ghost}{opacity}{.5} -% Set the opacity of the complete penguin. At the moment, this -% excludes some glow calculations. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:ghost] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:devil}{color}{pingu@purple} -% Enable all devil components (not the wing items) and set their main color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:devil=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - - -% \keyexplain{:hide}{}{} -% Do not draw the main pingu: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[santa hat,:hide] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:back}{}{} -% Mirror the penguin, this swaps left and right, the rotation and more. -% Yet, at least at the time of writing, this does not swap the drawing order in each layer, but just the layers: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:back, left wing wave, -% cane left, left item angle=70] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:pingu}{options}{} -% Apply the given options to all penguin-keys: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[:pingu={/pingu/@block/.style={fill=green}}] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{:mix}{color-mix}{50!white} -% Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask,tie=red,lollipop left,:mix=50!green] -% \end{tikzpicture} -% \end{tcblisting} -% In contrast to \dkeyref{:mix-all} this changes the active colors of the penguin. -% \endkeyexplain - -% \keyexplain{:mix-all}{color-mix}{50!white} -% Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask,tie=red,:mix-all=50!green] -% \end{tikzpicture} -% \end{tcblisting} -% In contrast to \dkeyref{:mix} this changes the drawing options. -% \endkeyexplain - - -% \def\cursub{} -% \subsection{Extras} -% \subsubsection{The heart} -% \showkeyexplain{heart}{node-options}{lightgray}(pingu@main) -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[heart=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subsubsection{The tie} -% \showkeyexplain{tie}{color}{pingu@green} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[tie] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@tie{} -% \subkeyexplain{tie}{tie knot}{color}{\pingu@color@tie@knot} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[tie, tie knot=orange] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% } - -% \subkeyexplain{tie}{tie length}{length}{\expandafter\detokenize\expandafter{\pingu@x@tie@length}} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[tie, tie length=1.25cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{tie}{tie offset}{length}{\pingu@x@tie@offset} -% Change the upper vertical offset of the tie: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[tie, tie offset=.75cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{tie}{tie width}{length}{\pingu@x@tie@width} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[tie, tie width=.5cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{tie}{tie pattern}{tex-code}{} -% Change the tie pattern. -% \endsubkeyexplain - -% \subkeyexplain{tie}{tie dots}{color}{pingu@white} -% Change the \keyref{tie pattern} to dots: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[tie, tie dots] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The bowtie} -% \showkeyexplain{bow tie}{color}{pingu@blue} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[bow tie] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{bowtie}{bow tie} -% \keyalias{bow-tie}{bow tie} - -% \subkeyexplain{bow tie}{bow tie b}{color}{} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[bow tie, bow tie b=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{bowtie b}{bow tie b}{bow tie} -% \subkeyalias{bow-tie b}{bow tie b}{bow tie} - -% {\def\pingu@color@bowtie{} -% \subkeyexplain{bow tie}{bow tie knot}{color}{\pingu@color@bowtie@knot} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[bow tie, bow tie knot=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{bowtie knot}{bow tie knot}{bow tie} -% \subkeyalias{bow-tie knot}{bow tie knot}{bow tie} -% } - -% \subkeyexplain{bow tie}{bow tie offset}{length}{\pingu@x@bowtie@offset} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[bow tie, bow tie offset=8mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{bowtie offset}{bow tie offset}{bow tie} -% \subkeyalias{bow-tie offset}{bow tie offset}{bow tie} - -% \subsubsection{The cup} - -% \showkeyexplain{cup}{color}{pingu@green} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cup] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@cup{} -% \subkeyexplain{cup}{cup straw}{color}{\pingu@color@cup@straw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cup, cup straw=!hide] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The medal} -% \showkeyexplain{medal}{color}{pingu@yellow} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[medal] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{medal}{medal band}{color}{\pingu@color@medal@band} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[medal, medal band=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@medal{} -% \subkeyexplain{medal}{medal shade}{color}{\pingu@color@medal@shade} -% Change the color of the outer medal ring: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[medal, medal shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{medal}{medal shade width}{length}{.75pt} -% Change the width of the outer medal ring: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[medal, medal shade=green, -% medal shade width=2mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{medal}{medal text}{text}{\pingu@x@medal@text} -% Set the text displayed in the medal. The style can be changed by -% updating the substyle \texttt{medal text style}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[medal, medal text=XY, -% medal text style/.style={black}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \keyexplain{gold medal}{text}{1} -% Basically the same as the normal medal. This will activate \keyref{medal}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[gold medal] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{silver medal}{text}{2} -% Basically the same as the normal medal, but with a silver color. This will activate \keyref{medal}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[silver medal] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{bronze medal}{text}{3} -% Basically the same as the normal medal, but with a bronze color. This will activate \keyref{medal}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[bronze medal] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \subsubsection{The eye patches} - -% \showkeyexplain{eye patch left}{color}{} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[eye patch left] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{eyepatch left}{eye patch left} -% \keyalias{eye-patch left}{eye patch left} - -% \showkeyexplain{eye patch right}{color}{} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[eye patch right] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{eyepatch right}{eye patch right} -% \keyalias{eye-patch right}{eye patch right} - -% \subsubsection{The monocle} - -% \showkeyexplain{monocle left}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle left] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{monocle left}{monocle left glass}{color}{\pingu@color@monocleleft@glass} -% Set the color of the glass of the left monocle. The opacity of this color is set by \keyref{monocle left opacity}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle left, -% monocle left glass=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{monocle left fill}{monocle left glass}{monocle left} - - -% \subkeyexplain{monocle left}{monocle left opacity}{factor}{\pingu@x@monocleleft@opacity} -% Set the opacity of the glass color of the left monocle (set by \keyref{monocle left glass}): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[monocle left, -% monocle left opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{monocle left fill opacity}{monocle left opacity}{monocle left} - -% {\def\pingu@color@monocleleft{} -% \subkeyexplain{monocle left}{monocle left string}{color}{\pingu@color@monocleleft@string} -% Set the color of the string of the left monocle: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle left, -% monocle left string=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{monocle left}{monocle left string length}{length}{\pingu@x@monocleleft@string@l} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle left, -% monocle left string length=1cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@monocleleft{} -% \subkeyexplain{monocle left}{monocle left blob}{color}{\pingu@color@monocleleft@blob} -% Set the color of the blob at the end of the string of the left monocle: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle left, -% monocle left blob=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \showkeyexplain{monocle right}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle right] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{monocle right}{monocle right glass}{color}{\pingu@color@monocleright@glass} -% Set the color of the glass of the right monocle. The opacity of this color is set by \keyref{monocle right opacity}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle right, -% monocle right glass=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{monocle right fill}{monocle right glass}{monocle right} - -% \subkeyexplain{monocle right}{monocle right opacity}{factor}{\pingu@x@monocleright@opacity} -% Set the opacity of the glass color of the right monocle (set by \keyref{monocle right glass}): -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[monocle right, -% monocle right opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{monocle right fill opacity}{monocle right opacity}{monocle right} - -% {\def\pingu@color@monocleright{} -% \subkeyexplain{monocle right}{monocle right string}{color}{\pingu@color@monocleright@string} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle right, -% monocle right string=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - - -% \subkeyexplain{monocle right}{monocle right string length}{length}{\pingu@x@monocleright@string@r} -% Set the length of the right monocle string: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle right, -% monocle right string length=1cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@monocleright{} -% \subkeyexplain{monocle right}{monocle right blob}{color}{\pingu@color@monocleright@blob} -% Set the color of the blob at the end of the string of the right monocle: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[monocle right, -% monocle right blob=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The pants} -% \showkeyexplain{pants}{color}{pingu@red} -% Sets the color of the pants: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{pants}{pants bands}{true/false}{false} -% Switch the bands of the pants on and of: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants bands] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - - -% \subkeyexplain{pants}{pants button left}{color}{\pingu@color@pants@button@left} -% Set the color of the left pant button: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants button left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pants}{pants button right}{color}{\pingu@color@pants@button@right} -% Set the color of the right pant button: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants button right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pants}{pants buttons}{color}{\pingu@color@pants@button@left} -% Sets \keyref{pants button left} and \keyref{pants button right} with the same color. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants buttons=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@pants@button@left{}% -% \subkeyexplain{pants}{pants button left shade}{color}{\pingu@color@pants@button@left@shade} -% Set the color of the left pant button shade: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, -% pants button left shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@pants@button@left{}% -% \subkeyexplain{pants}{pants button right shade}{color}{\pingu@color@pants@button@right@shade} -% Set the color of the right pant button shade: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, -% pants button right shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@pants@button@left{}% -% \subkeyexplain{pants}{pants buttons shade}{color}{\pingu@color@pants@button@left@shade} -% Sets \keyref{pants button left shade} and \keyref{pants button right shade} with the same color. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants buttons shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{pants}{pants no buttons}{}{} -% Remove the buttons from the pants: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants no buttons] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pants}{pants extra height}{length}{\pingu@x@pants@extra@height} -% Raise the pants: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pants, pants extra height=6mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{pants without buttons}{pants no buttons}{pants} - -% \subsubsection{The glow} - -% \showkeyexplain{glow}{color}{pingu@white}(orange,glow solid=orange) -% Active a glow around the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glow=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyexplain{glow thick}{color}{} -% Will pass on the color to \keyref{glow} and use a \keyref{glow width function} width a thicker line width: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glow thick=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyexplain{glow solid}{color}{} -% Will pass on the color to \keyref{glow} and use a \keyref{glow width function} combined with \keyref{glow function} to create a solid glow: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glow solid=green, wings wave] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \subkeyexplain{glow}{glow steps}{list}{\pingu@x@extra@glow@steps} -% Comma separated list of discrete intervals for the glow calculation: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glow=green, glow steps={.3,.5,1}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\i{\textbackslash i~}% -% \subkeyexplain{glow}{glow function}{function}{\pingu@x@extra@glow@func} -% Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the opacity of the current step: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glow=green, -% glow function={.5/\i}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\i{\textbackslash i~}% -% \subkeyexplain{glow}{glow width function}{function}{\pingu@x@extra@glow@width@func} -% Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the width of the current step: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glow=green, -% glow width function={5mm-\i mm}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The eye frame} - -% \keyexplain{eye frame}{color}{pingu@black} -% This is more of a test extra that adds a frame around both eyes: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[eye frame=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{eyeframe}{eye frame} -% \keyalias{eye-frame}{eye frame} - -% \subsubsection{The glasses} - -% \showkeyexplain{glasses}{color}{pingu@black} -% Display glasses for the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{glasses}{glasses left fill}{color}{\pingu@color@glasses@fill@l} -% Sets the fill color of the left glass. The opacity is determined by \keyref{glasses left opacity}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses, -% glasses left fill=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses}{glasses right fill}{color}{\pingu@color@glasses@fill@r} -% Sets the fill color of the right glass. The opacity is determined by \keyref{glasses right opacity}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses, -% glasses right fill=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses}{glasses fill}{color}{} -% Change the color of both glasses by calling \keyref{glasses left fill} and \keyref{glasses right fill} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -% \begin{tikzpicture} -% \pingu[glasses, glasses fill=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses}{glasses left opacity}{factor}{\pingu@x@glasses@op@l} -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glasses, -% glasses left fill=green, -% glasses left opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses}{glasses right opacity}{factor}{\pingu@x@glasses@op@r} -% Sets the fill opacity of the right glass: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glasses, -% glasses right fill=green, -% glasses right opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses}{glasses opacity}{factor}{} -% Change the opacity of both glasses by calling \keyref{glasses left opacity} and \keyref{glasses right opacity} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glasses, -% glasses fill=teal, -% glasses opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses}{glasses line width}{length}{1.125pt} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses, glasses line width=1mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{sun glasses}{color}{pingu@black} -% Configure the \keyref{glasses} to display sunglasses. The color is passed on to \keyref{glasses fill} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sun glasses=orange] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{sunglasses}{sun glasses} - -% \subsubsection{The rounded glasses} - -% \showkeyexplain{glasses round}{color}{pingu@black} -% Behaves equivalent to \keyref{glasses} but produces a round counterpart: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses round=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{glasses round}{glasses round left fill}{color}{\pingu@color@glassesround@fill@l} -% Sets the fill color of the left glass. The opacity is determined by \keyref{glasses round left opacity}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses round, -% glasses round left fill=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses round}{glasses round right fill}{color}{\pingu@color@glassesround@fill@r} -% Sets the fill color of the right glass. The opacity is determined by \keyref{glasses round right opacity}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses round, -% glasses round right fill=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses round}{glasses round fill}{color}{} -% Change the color of both glasses by calling \keyref{glasses round left fill} and \keyref{glasses round right fill} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} -% \begin{tikzpicture} -% \pingu[glasses round, glasses round fill=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses round}{glasses round left opacity}{factor}{\pingu@x@glassesround@op@l} -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glasses round, -% glasses round left fill=green, -% glasses round left opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses round}{glasses round right opacity}{factor}{\pingu@x@glassesround@op@r} -% Sets the fill opacity of the right glass: -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glasses round, -% glasses round right fill=green, -% glasses round right opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses round}{glasses round opacity}{factor}{} -% Change the opacity of both glasses round by calling \keyref{glasses round left opacity} and \keyref{glasses round right opacity} with the same value. -% \begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} -% \begin{tikzpicture} -% \pingu[glasses round, -% glasses round fill=teal, -% glasses round opacity=1] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{glasses round}{glasses round line width}{length}{1.125pt} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[glasses round, glasses round line width=1mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{sun glasses round}{color}{pingu@black} -% Configure the \keyref{glasses round} to display sunglasses round. The color is passed on to \keyref{glasses round fill} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sun glasses round=orange] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{sunglasses round}{sun glasses round} - -% \subsubsection{The devil horns} - -% \showkeyexplain{devil horns}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil horns=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{devilhorns}{devil horns} -% \keyalias{devil-horns}{devil horns} - -% \subsubsection{The devil wings} - -% \showkeyexplain{devil wings}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil wings=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{devilwings}{devil wings} -% \keyalias{devil-wings}{devil wings} - -% \subkeyexplain{devil wings}{devil wings b}{color}{} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil wings, devil wings b=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{devilwings b}{devil wings b}{devil wings} -% \subkeyalias{devil-wings b}{devil wings b}{devil wings} - -% \subsubsection{The head band} - -% \showkeyexplain{head band}{color}{pingu@red} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{headband}{head band} -% \keyalias{head-band}{head band} - - -% \subkeyexplain{head band}{head band bend}{angle}{\pingu@x@headband@bend} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band bend=25] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband bend}{head band bend}{head band} -% \subkeyalias{head-band bend}{head band bend}{head band} - -% \subkeyexplain{head band}{head band angle}{angle}{\pingu@x@headband@angle} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band angle=25] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband angle}{head band angle}{head band} -% \subkeyalias{head-band angle}{head band angle}{head band} - -% \subkeyexplain{head band}{head band upper angle}{angle}{\pingu@x@headband@angle} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band upper angle=25] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband upper angle}{head band upper angle}{head band} -% \subkeyalias{head-band upper angle}{head band upper angle}{head band} - -% \subkeyexplain{head band}{head band knot}{true/false}{\if@pingu@x@headband@knot@ true\else false\fi} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band knot] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband knot}{head band knot}{head band} -% \subkeyalias{head-band knot}{head band knot}{head band} - -% {\def\pingu@color@headband{} -% \subkeyexplain{head band}{head band knot color}{color}{\pingu@color@headband@knot} -% If \keyref{head band knot} is enabled, this setting changes the color of the knot: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band knot, -% head band knot color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband knot color}{head band knot color}{head band} -% \subkeyalias{head-band knot color}{head band knot color}{head band}} - -% {\def\pingu@color@headband{} -% \subkeyexplain{head band}{head band knot a color}{color}{\pingu@color@headband@knot@a} -% If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band knot, -% head band knot a color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband knot a color}{head band knot a color}{head band} -% \subkeyalias{head-band knot a color}{head band knot a color}{head band}} - -% {\def\pingu@color@headband{} -% \subkeyexplain{head band}{head band knot b color}{color}{\pingu@color@headband@knot@b} -% If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band knot, -% head band knot a color=blue, -% head band knot b color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband knot b color}{head band knot b color}{head band} -% \subkeyalias{head-band knot b color}{head band knot b color}{head band}} - -% \subkeyexplain{head band}{head band bands}{true/false}{\if@pingu@x@headband@bands@ true\else false\fi} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band bands=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband bands}{head band bands}{head band} -% \subkeyalias{head-band bands}{head band bands}{head band} - -% {\def\pingu@color@headband{} -% \subkeyexplain{head band}{head band bands a color}{color}{\pingu@color@headband@bands@a} -% If \keyref{head band bands} is enabled, this setting changes the color of the large one of the both bands: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band bands, -% head band bands a color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband bands a color}{head band bands a color}{head band} -% \subkeyalias{head-band bands a color}{head band bands a color}{head band}} - -% {\def\pingu@color@headband{} -% \subkeyexplain{head band}{head band bands b color}{color}{\pingu@color@headband@bands@b} -% If \keyref{head band bands} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[head band, head band bands, -% head band bands a color=blue, -% head band bands b color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headband bands b color}{head band bands b color}{head band} -% \subkeyalias{head-band bands b color}{head band bands b color}{head band}} - -% \subsubsection{The rook} - -% \showkeyexplain{rook}{color}{pingu@silver} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[rook=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@rook{} -% \subkeyexplain{rook}{rook back}{color}{\pingu@color@rook@back} -% Change the color of the rook-costume background: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[rook, rook back=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{rook}{rook hatch}{true/false}{\if@pingu@x@rook@draw@hatch@ true\else false\fi} -% Toggles the opening in the rook costume: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[rook, rook hatch=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@rook{} -% \subkeyexplain{rook}{rook shade}{color}{\pingu@color@rook@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[rook, rook shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The halo} -% \showkeyexplain{halo}{color}{pingu@lightblue} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[halo=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{halo}{halo raise}{length}{\pingu@x@halo@raise} -% Define the vertical raise of the halo above the penguins head: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[halo, halo raise=4mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{halo}{halo glow}{true/false}{\if@pingu@x@halo@glow true\else false\fi} -% Disable or enable the glow of the halo. The default is controlled by the \texttt{glows}-package option. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[halo, halo glow=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{halo}{halo above}{true/false}{\if@pingu@x@halo@above true\else false\fi} -% Draws the halo above, which is useful in case of other gadgets: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[halo, halo above=true] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The strawhat} -% \showkeyexplain{strawhat}{color}{brown!50!white} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[strawhat=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{straw hat}{strawhat} - -% \subkeyexplain{strawhat}{strawhat ribbon}{color}{\pingu@color@strawhat@ribbon} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[strawhat, strawhat ribbon=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{straw hat ribbon}{strawhat ribbon}{strawhat} - -% \subkeyexplain{strawhat}{strawhat position}{angle>:(,)} -% \subkeyexplain{hat}{hat ribbon}{color}{\pingu@color@hat@ribbon} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hat, hat ribbon=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@hat{} -% \subkeyexplain{hat}{hat base}{color}{\pingu@color@hat@base} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hat, hat base=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@hat{} -% \subkeyexplain{hat}{hat coronal}{color}{\pingu@color@hat@coronal} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hat, hat coronal=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{hat}{hat position}{angle>:(,)} -% \subkeyexplain{conical hat}{conical hat shade}{length}{\pingu@x@conicalhat@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[conical hat, conical hat shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% } - -% \subkeyexplain{conical hat height}{conical hat height}{length}{\pingu@x@conicalhat@height} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[conical hat, conical hat height=10mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{conical hat width}{conical hat width}{length}{\pingu@x@conicalhat@width} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[conical hat, conical hat width=3cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{conical hat}{conical hat position}{angle>:(,):(,)} -% \subkeyexplain{crown}{crown back}{color}{\pingu@color@crown@back} -% Change the back color of the crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[crown, crown back=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{crown}{crown front bend}{angle}{\pingu@x@crown@f@bend} -% Change the front lower bend of the crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[crown, crown front bend=52] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{crown}{crown back bend}{angle}{\pingu@x@crown@b@bend} -% Change the back lower bend of the crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[crown, crown back bend=46] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{crown}{crown gem shade}{true/false}{\if@pingu@x@crown@shade@ true\else false\fi} -% Toggle the gem shading of the crown. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[crown, crown gem shade=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{crown}{crown gem colors}{a>} -% \subkeyexplain{crown}{crown gem ring}{color}{\pingu@color@crown@gem@ring} -% Change the color of the rings around the crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[crown, crown gem ring=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{crown}{crown position}{angle>:(,)} -% \subkeyexplain{princess crown}{princess crown back}{color}{\pingu@color@princesscrown@back} -% Change the back color of the smaller crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[princess crown, princess crown back=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{princess crown}{princess crown front bend}{angle}{\pingu@x@princesscrown@f@bend} -% Change the front lower bend of the smaller crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[princess crown, princess crown front bend=52] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{princess crown}{princess crown back bend}{angle}{\pingu@x@princesscrown@b@bend} -% Change the back lower bend of the smaller crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[princess crown, princess crown back bend=46] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{princess crown}{princess crown gem shade}{true/false}{\if@pingu@x@princesscrown@shade@ true\else false\fi} -% Toggle the gem shading of the smaller crown. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[princess crown, -% princess crown gem shade=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{princess crown}{princess crown bobbles}{true/false}{\if@pingu@x@princesscrown@bobbles@ true\else false\fi} -% Toggle the bobbles of the smaller crown. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[princess crown, princess crown bobbles=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{princess crown}{princess crown gem colors}{a>} -% \subkeyexplain{princess crown}{princess crown gem ring}{color}{\pingu@color@princesscrown@gem@ring} -% Change the color of the rings around the small crown: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[princess crown, -% princess crown gem ring=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{princess crown}{princess crown position}{angle>:(,)} -% Enable a cake hat with a specific color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat top}{color}{\pingu@color@cakehat@top} -% Change the color of the cake hat top: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat top=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat shade}{color}{\pingu@color@cakehat@shade} -% Change the color of the heavily transparent cake hat shading: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat candle}{color}{\pingu@color@cakehat@candle} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat candle fire}{color}{\pingu@color@cakehat@candle@fire} -% Change the color of the cake hats' candle most outer fire: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle fire=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@cakehat@candle@fire{} -% \subkeyexplain{cake-hat}{cake-hat candle fire 2}{color}{\pingu@color@cakehat@candle@fire@b} -% Change the color of the cake hats' candle middle fire: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle fire 2=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@cakehat@candle@fire{} -% \subkeyexplain{cake-hat}{cake-hat candle fire 3}{color}{\pingu@color@cakehat@candle@fire@b} -% Change the color of the cake hats' candle inner fire: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle fire 3=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{cake-hat}{cake-hat candle wick}{color}{\pingu@color@cakehat@candle@wick} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle wick=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat candle shade}{color}{\pingu@color@cakehat@candle@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat candle back}{color}{\pingu@color@cakehat@candle@back} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat candle back=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@cakehat{} -% \subkeyexplain{cake-hat}{cake-hat outline}{color}{\pingu@color@cakehat@outline} -% Change the color of the cake hats' outline (width by \keyref{cake-hat outline width}): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat outline=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{cake-hat}{cake-hat outline width}{length}{\pingu@x@cakehat@outline@w} -% Change the width of the cake hats' outline (color by \keyref{cake-hat outline}): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cake-hat, cake-hat outline width=1mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{cake-hat}{cake-hat position}{angle>:(,)} -% \subkeyexplain{pumpkin-hat}{pumpkin-hat stalk}{color}{\pingu@color@pumpkinhat@stalk} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat stalk=teal] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\subkeyexplain{pumpkin-hat}{pumpkin-hat stalk top}{color}{!95!pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat stalk top=teal] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{pumpkin-hat}{pumpkin-hat stripe a}{color}{\pingu@color@pumpkinhat@stripe@a} -% Change the color of the first stripe. By default the other stripes share this ones color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat stripe a=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pumpkin-hat}{pumpkin-hat stripe b}{color}{\pingu@color@pumpkinhat@stripe@b} -% Change the color of the second stripe. By default the third stripe share this ones color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat stripe b=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pumpkin-hat}{pumpkin-hat stripe c}{color}{\pingu@color@pumpkinhat@stripe@c} -% Change the color of the third stripe: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat stripe c=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pumpkin-hat}{pumpkin-hat outline}{color}{\pingu@color@pumpkinhat@outline} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat outline=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pumpkin-hat}{pumpkin-hat outline width}{length}{\pingu@x@pumpkinhat@outline@w} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pumpkin-hat,pumpkin-hat outline width=3pt] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{pumpkin-hat}{pumpkin-hat position}{angle>:(,)} -% \subkeyexplain{vr-headset}{vr-headset band}{color}{\pingu@color@vrheadset@band} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[vr-headset, vr-headset band=purple] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@vrheadset{} -% \subkeyexplain{vr-headset}{vr-headset band top}{color}{\pingu@color@vrheadset@band@top} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[vr-headset, vr-headset band top=purple] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{vr-headset}{vr-headset hair}{}{} -% Change the hair to support the headset: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[vr-headset, vr-headset hair] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{vr-headset}{vr-headset text}{text}{omitted} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[vr-headset, vr-headset text={ABCD}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{vr-headset}{vr-headset text color}{color}{\pingu@color@vrheadset@text@color} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[vr-headset, vr-headset text color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The headphones} - -% \showkeyexplain{headphone}{color}{pingu@blue!80!pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{headphones}{headphone} - -% {\def\pingu@color@headphone{} -% \subkeyexplain{headphone}{headphone left}{color}{\pingu@color@headphone@left} -% Change the color of the left headphone (automatically sets the color of \keyref{headphone right}): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@headphone{} -% \subkeyexplain{headphone}{headphone right}{color}{\pingu@color@headphone@right} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{headphone}{headphone left outer}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone left outer=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{headphone}{headphone right outer}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone right outer=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{headphone}{headphone outer}{color}{pingu@black} -% Set \keyref{headphone left outer} and \keyref{headphone right outer} with the same value: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone outer=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headphones outer}{headphone outer}{headphone} - -% \subkeyexplain{headphone}{headphone left inner}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone left inner=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{headphone}{headphone right inner}{color}{pingu@black} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone right inner=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{headphone}{headphone inner}{color}{pingu@black} -% Set \keyref{headphone left inner} and \keyref{headphone right inner} with the same value: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[headphone, headphone inner=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{headphones inner}{headphone inner}{headphone} - -% \subsubsection{The santa hat} - -% \showkeyexplain{santa hat}{color}{pingu@red!87!pingu@black} -% Show the merry christmas: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[santa hat=pingu@red] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@santahat{} -% \subkeyexplain{santa hat}{santa hat second}{color}{\pingu@color@santahat@second} -% Change the wool color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[santa hat,santa hat second=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% { -% \subkeyexplain{santa hat}{santa hat bobble}{color}{} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[santa hat,santa hat bobble=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The santa beard} - -% \showkeyexplain{santa beard}{color}{pingu@white!96!pingu@red!98!pingu@black!92!gray} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[santa beard=brown!20!white] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@body@main{} -% \subkeyexplain{santa beard}{santa beard string}{color}{\pingu@color@santabeard@string} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[santa beard,santa beard string=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The mask} -% \showkeyexplain{mask}{color}{pingu@white!61!gray} -% Keep the penguin safe: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{mask}{mask band}{color}{\pingu@color@mask@band} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask,mask band=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{mask}{mask line width}{length}{\pingu@x@mask@line@width} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask,mask line width=1.5pt] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@mask{} -% \subkeyexplain{mask}{mask band inner}{color}{\pingu@color@mask@band@inner} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask,mask band inner=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@mask{} -% \subkeyexplain{mask}{mask band outer}{color}{\pingu@color@mask@band@outer} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[mask,mask band outer=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subsubsection{The blush} - -% \showkeyexplain{blush}{color}{pingu@red}(pingu@red,blush opacity=.4) -% Make it cute: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[eyes wink, blush=pingu@purple] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{blush}{blush second}{color}{} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[blush, blush second=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{blush}{blush opacity}{factor}{\pingu@x@blush@opacity} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[blush, blush opacity=.86] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The banner} - -% \showkeyexplain{banner}{text}{Bannertext} -% Give the penguin a banner to hold (it adapts to the wing positions): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[left wing wave, banner=Hello] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{banner}{banner band}{color}{\pingu@color@banner@band} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner band=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner text color}{color}{\pingu@color@banner@text@color} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[wings wave, banner, banner text color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner stick left color}{color}{\pingu@color@banner@stick@left} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner stick left color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner stick right color}{color}{\pingu@color@banner@stick@right} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner stick right color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner sticks color}{color}{\pingu@color@banner@stick@left} -% Calls \keyref{banner stick left color} and \keyref{banner stick right color} with the same color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner sticks color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner stick left length}{length}{\pingu@banner@stick@left@l} -% Changes the banners left stick length: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner stick left length=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner stick right length}{length}{\pingu@banner@stick@right@l} -% Changes the banners right stick length: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner stick right length=2mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner sticks length}{color}{\pingu@banner@stick@left@l} -% Calls \keyref{banner stick left length} and \keyref{banner stick right length} with the same length: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner sticks length=9mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner raise}{length}{\pingu@banner@raise} -% Change the raise of the banner text: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner raise=2mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner height}{length}{\pingu@banner@height} -% Change the height of the banner (this modifies the half): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner height=6mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner font}{font}{} -% Change the height of the banner: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner font=\itshape] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{banner}{banner bent}{angle}{\pingu@banner@bent} -% Change the bending of the banner: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[banner, banner bent=0] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsection{Wing Items} -% \label{sub:wing-items}Most wing items created have a two variants: one for the left and one for the right wing. For consistency, both of them are represented in the documentation~--- many times, they are not just mirrored but two different shapes that appear to be mirrored with special care. - - -% \keyexplain{left wing item angle}{angle}{\pingu@wing@left@item@angle@user} -% Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the left wing: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cane left, cane right, -% left wing item angle=70] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{left item angle}{left wing item angle} - - -% \keyexplain{left wing item flip}{true/false}{\if@pingu@wi@flip@left true\else false\fi} -% Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the left wing. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag left, flag right, -% left wing item flip] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{left item flip}{left wing item flip} - - -% \keyexplain{right wing item angle}{angle}{\pingu@wing@right@item@angle@user} -% Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the right wing: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cane left, cane right, -% right wing item angle=70] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{right item angle}{right wing item angle} - - -% \keyexplain{right wing item flip}{true/false}{\if@pingu@wi@flip@right true\else false\fi} -% Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the right wing. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag left, flag right, -% right wing item flip] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{right item flip}{right wing item flip} - -% \subsubsection{The lollipop} - -% \showkeyexplain{lollipop left}{color}{pingu@green} -% Enable the left lollipop for the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[lollipop left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{lollipop left}{lollipop left handle}{color}{\pingu@color@lollipopleft@handle} -% Change the handle color of the left lollipop: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[lollipop left, lollipop left handle=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lollipop left}{lollipop left second}{color}{\pingu@color@lollipopleft@second} -% Change the second color of the left lollipop, used for the ring: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[lollipop left, lollipop left second=blue] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{lollipop right}{color}{pingu@green} -% Enable the right lollipop for the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[lollipop right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{lollipop right}{lollipop right handle}{color}{\pingu@color@lollipopright@handle} -% Change the handle color of the right lollipop: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[lollipop right, lollipop right handle=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lollipop right}{lollipop right second}{color}{\pingu@color@lollipopright@second} -% Change the second color of the right lollipop, used for the ring: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[lollipop right, lollipop right second=blue] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - - -% \subsubsection{The cane} - -% \showkeyexplain{cane left}{color}{pingu@bronze} -% Enable the left cane for the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cane left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{cane left}{cane left raise}{length}{\pinug@x@cane@raise@left} -% Raise the cane of the pingu: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cane left,cane left raise=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{cane right}{color}{pingu@bronze} -% Enable the right cane for the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cane right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{cane right}{cane right raise}{length}{\pinug@x@cane@raise@right} -% Raise the cane of the pingu: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cane right,cane right raise=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The hand cast} - -% \keyexplain{hand cast left}{text}{X} -% Show a symbol above the left wing of the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hand cast left=ABCDEFG] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{handcast left}{hand cast left} - -% \subkeyexplain{hand cast left}{hand cast left color}{color}{\pingu@color@handcast@left@color} -% Change the color of the left hand cast: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hand cast left, -% hand cast left color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \keyalias{handcast left color}{hand cast left color} - -% \keyexplain{hand cast right}{text}{X} -% Show a symbol above the right wing of the penguin: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hand cast right=ABCDEFG] -% \end{tikzpicture} -% \end{tcblisting} -% \endkeyexplain - -% \keyalias{handcast right}{hand cast right} - -% \subkeyexplain{hand cast right}{hand cast right color}{color}{\pingu@color@handcast@right@color} -% Change the color of the right hand cast: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[hand cast right, -% hand cast right color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \keyalias{handcast right color}{hand cast right color} - -% \subsubsection{The sign post} - -% \showkeyexplain{sign post left}{text}{}(Example) -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sign post left=ABC] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{signpost left}{sign post left} - -% \subkeyexplain{sign post left}{sign post left color}{color}{\pingu@color@signpostleft} -% Change the color of the sign post: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sign post left, sign post left color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{signpost left color}{sign post left color}{sign post left} - -% \subkeyexplain{sign post left}{sign post left font color}{color}{\pingu@color@signpostleft@font} -% Change the font color of the sign post: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sign post left=ABCD, -% sign post left font color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{signpost left fontcolor}{sign post left font color}{sign post left} - -% \showkeyexplain{sign post right}{text}{}(Example) -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sign post right=ABC] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \keyalias{signpost right}{sign post right} - -% \subkeyexplain{sign post right}{sign post right color}{color}{\pingu@color@signpostright} -% Change the color of the sign post: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sign post right, sign post right color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{signpost right color}{sign post right color}{sign post right} - -% \subkeyexplain{sign post right}{sign post right font color}{color}{\pingu@color@signpostright@font} -% Change the font color of the sign post: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[sign post right=ABCD, -% sign post right font color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyalias{signpost right fontcolor}{sign post right font color}{sign post right} - -% \subsubsection{The lightsaber} - -% \showkeyexplain{lightsaber left}{color}{pingu@blue} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left handle}{color}{\pingu@color@lightsaberleft@handle} -% Change the color of the penguins lightsabers' handle: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, -% lightsaber left handle=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left deco}{color}{\pingu@color@lightsaberleft@deco} -% Change the color of the penguins lightsabers' decoration elements: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, -% lightsaber left deco=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left ribbs}{color}{\pingu@color@lightsaberleft@ribbs} -% Change the color of the penguins lightsabers' ribbs: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, -% lightsaber left ribbs=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left button}{color}{\pingu@color@lightsaberleft@button} -% Change the color of the penguins lightsabers' first button: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, -% lightsaber left button=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left button b}{color}{\pingu@color@lightsaberleft@button@b} -% Change the color of the penguins lightsabers' second button: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, -% lightsaber left button b=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left double}{true/false}{\if@pingu@x@lightsaber@double@left true\else false\fi} -% Toggle the visibility of the second lightsaber: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left double, -% left wing item angle=90] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\@col{} -% \subkeyexplain{lightsaber left}{lightsaber left color b}{color}{\pingu@color@lightsaberleft@color@b} -% Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber left double} is enabled: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left double, -% lightsaber left color b=green, -% left wing item angle=90] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{lightsaber left}{lightsaber left length}{length}{\pingu@x@lightsaber@length@left} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left length=6mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left length b}{length}{\pingu@x@lightsaber@length@b@left} -% Change the length of the penguins second lightsaber (active with \keyref{lightsaber left double}): -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left double, -% lightsaber left length b=6mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - - -% \subkeyexplain{lightsaber left}{lightsaber left yshift}{length}{\pingu@x@lightsaber@yshift@left} -% Shift the penguins lightsaber in the y direction: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left yshift=12mm, -% lightsaber left length=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left glow}{true/false}{\if@pingu@x@lightsaber@glow@left true\else false\fi} -% Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left glow=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left solid}{}{} -% Disables the \keyref{lightsaber left glow}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left solid] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left glow core}{color}{\pingu@color@lightsaberleft@glow@core} -% Change the color of the lightsabers glow core: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left glow=true, -% lightsaber left glow core=cyan] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left outer glow factor}{factor}{\pingu@x@lightsaber@ogf@left} -% Modify the glow factor of the left lightsaber: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, -% lightsaber left outer glow factor=.3] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber left}{lightsaber left disabled}{}{} -% Disables the lightsaber so only the handle is visible: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber left, lightsaber left disabled] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - - -% \showkeyexplain{lightsaber right}{color}{pingu@blue} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right handle}{color}{\pingu@color@lightsaberright@handle} -% Change the color of the penguins lightsabers' handle: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right handle=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right deco}{color}{\pingu@color@lightsaberright@deco} -% Change the color of the penguins lightsabers' decoration elements: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right deco=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right ribbs}{color}{\pingu@color@lightsaberright@ribbs} -% Change the color of the penguins lightsabers' ribbs: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right ribbs=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right button}{color}{\pingu@color@lightsaberright@button} -% Change the color of the penguins lightsabers' first button: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right button=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right button b}{color}{\pingu@color@lightsaberright@button@b} -% Change the color of the penguins lightsabers' second button: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right button b=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right double}{true/false}{\if@pingu@x@lightsaber@double@right true\else false\fi} -% Toggle the visibility of the second lightsaber: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, lightsaber right double, -% right wing item angle=90] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\@col{} -% \subkeyexplain{lightsaber right}{lightsaber right color b}{color}{\pingu@color@lightsaberright@color@b} -% Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber right double} is enabled: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, lightsaber right double, -% lightsaber right color b=green, -% right wing item angle=90] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{lightsaber right}{lightsaber right length}{length}{\pingu@x@lightsaber@length@right} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right length=6mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right length b}{length}{\pingu@x@lightsaber@length@b@right} -% Change the length of the penguins second lightsaber (active with \keyref{lightsaber right double}): -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, lightsaber right double, -% lightsaber right length b=6mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - - -% \subkeyexplain{lightsaber right}{lightsaber right yshift}{length}{\pingu@x@lightsaber@yshift@right} -% Shift the penguins lightsaber in the y direction: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right yshift=12mm, -% lightsaber right length=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right glow}{true/false}{\if@pingu@x@lightsaber@glow@right true\else false\fi} -% Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right glow=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right solid}{}{} -% Disables the \keyref{lightsaber right glow}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, lightsaber right solid] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right glow core}{color}{\pingu@color@lightsaberright@glow@core} -% Change the color of the lightsabers glow core: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, lightsaber right glow=true, -% lightsaber right glow core=cyan] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right outer glow factor}{factor}{\pingu@x@lightsaber@ogf@right} -% Modify the glow factor of the right lightsaber: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, -% lightsaber right outer glow factor=.3] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{lightsaber right}{lightsaber right disabled}{}{} -% Disables the lightsaber so only the handle is visible: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[lightsaber right, lightsaber right disabled] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The lightstaff} - -% \showkeyexplain{light-staff left}{color}{pingu@green} -% Color similar to \keyref{light-staff left head}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left length}{length}{\pingu@lightstaff@left@length} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left length=18mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left glow length}{length}{\pingu@lightstaff@left@glow@length} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left glow length=16mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left head}{color}{pingu@green} -% Same as assigning the color to \keyref{light-staff left}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left head=pingu@purple] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left staff}{color}{\pingu@color@lightstaff@left@staff} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left staff=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left core}{color}{\pingu@color@lightstaff@left@head@core} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left core=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left core width}{length}{\pingu@lightstaff@left@core@width} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left core width=2mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff left}{light-staff left outer glow factor}{factor}{\pingu@x@lightstaff@ogf@left} -% Similar to \keyref{lightsaber left outer glow factor}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff left, -% light-staff left outer glow factor=.5] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{light-staff right}{color}{pingu@green} -% Color similar to \keyref{light-staff right head}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right length}{length}{\pingu@lightstaff@right@length} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right length=18mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right glow length}{length}{\pingu@lightstaff@right@glow@length} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right glow length=16mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right head}{color}{pingu@green} -% Same as assigning the color to \keyref{light-staff right}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right head=pingu@purple] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right staff}{color}{\pingu@color@lightstaff@right@staff} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right staff=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right core}{color}{\pingu@color@lightstaff@right@head@core} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right core=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right core width}{length}{\pingu@lightstaff@right@core@width} -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right core width=2mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{light-staff right}{light-staff right outer glow factor}{factor}{\pingu@x@lightstaff@ogf@right} -% Similar to \keyref{lightsaber right outer glow factor}: -% \begin{tcblisting}{} -% \begin{tikzpicture} -% \pingu[light-staff right, -% light-staff right outer glow factor=.5] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The flag} -% The flag is special in that it is meant to be customized by commands so that the visible insignia is to the users liking. - -% \showkeyexplain{flag left}{color}{pingu@purple} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{flag left}{flag left pole}{color}{\pingu@color@flagleft@pole} -% Change the color of the flag pole: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag left, flag left pole=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{flag left}{flag left bobble}{color}{\pingu@color@flagleft@bobble} -% Change the color of the flag poles top bobble: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag left, flag left bobble=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{flag left}{flag left code}{\LaTeX-code}{omitted} -% Set the flag code which is effectively the drawing code of the flag. -% You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag left, flag left code={ -% \node[/pingu/@flag@first, -% /pingu/@flag={blue}{5mm}] -% (upper) at (0,0) {}; -% \node[below,/pingu/@flag={black}{4mm}] -% (lower) at (upper.south) {}; -% }] -% \end{tikzpicture} -% \end{tcblisting} -% Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. -% \endsubkeyexplain - -% \@toggle@showcase % just so that they are aligned on the same side -% \showkeyexplain{pride flag left}{color}{pingu@bronze} -% Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a pride flag. The color argument is passed to \keyref{flag left pole}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pride flag left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain -% \@toggle@showcase % and back - - -% \showkeyexplain{german flag left}{color}{pingu@bronze} -% Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a german flag. The color argument is passed to \keyref{flag left pole}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[german flag left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - - -% \showkeyexplain{flag right}{color}{pingu@purple} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{flag right}{flag right pole}{color}{\pingu@color@flagright@pole} -% Change the color of the flag pole: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag right, flag right pole=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{flag right}{flag right bobble}{color}{\pingu@color@flagright@bobble} -% Change the color of the flag poles top bobble: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag right, flag right bobble=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{flag right}{flag right code}{\LaTeX-code}{omitted} -% Set the flag code which is effectively the drawing code of the flag. -% You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[flag right, flag right code={ -% \node[/pingu/@flag@first, -% /pingu/@flag={blue}{5mm}] -% (upper) at (0,0) {}; -% \node[below,/pingu/@flag={black}{4mm}] -% (lower) at (upper.south) {}; -% }] -% \end{tikzpicture} -% \end{tcblisting} -% Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. -% \endsubkeyexplain - -% \@toggle@showcase % just so that they are aligned on the same side -% \showkeyexplain{pride flag right}{color}{pingu@bronze} -% Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a pride flag. The color argument is passed to \keyref{flag right pole}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[pride flag right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain -% \@toggle@showcase - -% \showkeyexplain{german flag right}{color}{pingu@bronze} -% Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a german flag. The color argument is passed to \keyref{flag right pole}. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[german flag right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subsubsection{The staff} - -% \showkeyexplain{staff left}{color}{pingu@bronze} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[staff left=green, left item angle=70] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{staff left}{staff left length}{length}{\pingu@staff@left@length} -% Change the staff length: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[staff left, staff left length=20mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{staff right}{color}{pingu@bronze} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[staff right=green, right item angle=70] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{staff right}{staff right length}{length}{\pingu@staff@right@length} -% Change the staff length: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[staff right, staff right length=20mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The laptop} - -% \showkeyexplain{laptop left}{color}{gray!80!pingu@white} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@laptopleft{laptop-left-color} -% \subkeyexplain{laptop left}{laptop left bracket}{color}{\pingu@color@laptopleft@bracket} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left, laptop left bracket=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop left}{laptop left lower}{color}{\pingu@color@laptopleft@lower} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left, laptop left lower=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop left}{laptop left key}{color}{\pingu@color@laptopleft@key} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left, laptop left key=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop left}{laptop left display}{color}{\pingu@color@laptopleft@display} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left, laptop left display=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop left}{laptop left content}{tikz-code}{\pingu@x@laptopleft@content} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left, laptop left content={\draw circle[radius=2mm];}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop left}{laptop left mid}{code}{\pingu@x@laptopleft@mid} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop left, laptop left mid={Hey}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% } - - -% \showkeyexplain{laptop right}{color}{gray!80!pingu@white} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% {\def\pingu@color@laptopright{laptop-right-color} -% \subkeyexplain{laptop right}{laptop right bracket}{color}{\pingu@color@laptopright@bracket} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right, laptop right bracket=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop right}{laptop right lower}{color}{\pingu@color@laptopright@lower} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right, laptop right lower=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop right}{laptop right key}{color}{\pingu@color@laptopright@key} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right, laptop right key=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop right}{laptop right display}{color}{\pingu@color@laptopright@display} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right, laptop right display=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop right}{laptop right content}{tikz-code}{\pingu@x@laptopright@content} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right, laptop right content={\draw circle[radius=2mm];}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{laptop right}{laptop right mid}{code}{\pingu@x@laptopright@mid} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[laptop right, laptop right mid={Hey}] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% } - -% \subsubsection{The devil fork} - -% \showkeyexplain{devil fork left}{color}{pingu@red} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil fork left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{devil fork left}{devil fork left second}{color}{\pingu@color@devilforkleft@second} -% Staff color of the \keyref{devil fork left}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil fork left, -% devil fork left second=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{devil fork left}{devil fork left length}{color}{\pingu@devilfork@left@length} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil fork left, devil fork left length=7mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{devil fork right}{color}{pingu@red} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil fork right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{devil fork right}{devil fork right second}{color}{\pingu@color@devilforkright@second} -% Staff color of the \keyref{devil fork right}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil fork right, -% devil fork right second=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{devil fork right}{devil fork right length}{color}{\pingu@devilfork@right@length} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[devil fork right, -% devil fork right length=7mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The Horse} - -% \showkeyexplain{horse left}{color}{pingu@bronze!80!pingu@black} -% Give it a horse: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{horse left}{horse left flip}{true/false}{false} -% By default, the left horse will be flipped. The right horse won't. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left flip=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left has base}{true/false}{false} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left has base] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@horseleft{} -% \subkeyexplain{horse left}{horse left draw}{color}{\pingu@color@horseleft@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left mane}{color}{\pingu@color@horseleft@mane} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left mane=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseleft@mane{} -% \subkeyexplain{horse left}{horse left mane draw}{color}{\pingu@color@horseleft@mane@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left mane draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left thatch}{color}{\pingu@color@horseleft@thatch} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left thatch=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseleft@thatch{} -% \subkeyexplain{horse left}{horse left thatch draw}{color}{\pingu@color@horseleft@thatch@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left thatch draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left tail}{color}{\pingu@color@horseleft@tail} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left tail=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseleft@tail{} -% \subkeyexplain{horse left}{horse left tail draw}{color}{\pingu@color@horseleft@tail@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left tail draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left eyes}{color}{\pingu@color@horseleft@eyes} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left eyes=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% \subkeyalias{horse left eye}{horse left eyes}{horse left} - -% \subkeyexplain{horse left}{horse left mouth}{color}{\pingu@color@horseleft@mouth} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left mouth=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left nose}{color}{\pingu@color@horseleft@nose} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left nose=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left ears}{color}{\pingu@color@horseleft@ears} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left ears=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left base}{color}{\pingu@color@horseleft@base} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left has base, -% horse left base=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseleft@base{} -% \subkeyexplain{horse left}{horse left base draw}{color}{\pingu@color@horseleft@base@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left has base, -% horse left base draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left base shade}{color}{\pingu@color@horseleft@base@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left has base, -% horse left base shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseleft@base@shade{} -% \subkeyexplain{horse left}{horse left base shade draw}{color}{\pingu@color@horseleft@base@shade@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left has base, -% horse left base shade draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left xshift}{length}{\pingu@x@horseleft@xshift} -% This key reacts with the \keyref{horse left flip} option! -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left xshift=1cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left yshift}{length}{\pingu@x@horseleft@yshift} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left yshift=1cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse left}{horse left on base}{}{} -% Uses \keyref{horse left xshift} and \keyref{horse left yshift} to align a horse on a base to be set on the penguin-wing: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse left,horse left has base, -% horse left on base] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% } - -% \showkeyexplain{horse right}{color}{pingu@bronze!80!pingu@black} -% Give it a horse: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{horse right}{horse right flip}{true/false}{false} -% By default, the right horse will be flipped. The right horse won't. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right flip=false] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right has base}{true/false}{false} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right has base] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@horseright{} -% \subkeyexplain{horse right}{horse right draw}{color}{\pingu@color@horseright@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right mane}{color}{\pingu@color@horseright@mane} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right mane=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseright@mane{} -% \subkeyexplain{horse right}{horse right mane draw}{color}{\pingu@color@horseright@mane@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right mane draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right thatch}{color}{\pingu@color@horseright@thatch} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right thatch=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseright@thatch{} -% \subkeyexplain{horse right}{horse right thatch draw}{color}{\pingu@color@horseright@thatch@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right thatch draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right tail}{color}{\pingu@color@horseright@tail} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right tail=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseright@tail{} -% \subkeyexplain{horse right}{horse right tail draw}{color}{\pingu@color@horseright@tail@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right tail draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right eyes}{color}{\pingu@color@horseright@eyes} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right eyes=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% \subkeyalias{horse right eye}{horse right eyes}{horse right} - -% \subkeyexplain{horse right}{horse right mouth}{color}{\pingu@color@horseright@mouth} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right mouth=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right nose}{color}{\pingu@color@horseright@nose} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right nose=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right ears}{color}{\pingu@color@horseright@ears} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right ears=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right base}{color}{\pingu@color@horseright@base} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right has base, -% horse right base=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseright@base{} -% \subkeyexplain{horse right}{horse right base draw}{color}{\pingu@color@horseright@base@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right has base, -% horse right base draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right base shade}{color}{\pingu@color@horseright@base@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right has base, -% horse right base shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \def\pingu@color@horseright@base@shade{} -% \subkeyexplain{horse right}{horse right base shade draw}{color}{\pingu@color@horseright@base@shade@draw} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right has base, -% horse right base shade draw=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right xshift}{color}{\pingu@x@horseright@xshift} -% This key reacts with the \keyref{horse right flip} option! -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right xshift=1cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right yshift}{color}{\pingu@x@horseright@yshift} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right yshift=1cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{horse right}{horse right on base}{}{} -% Uses \keyref{horse right xshift} and \keyref{horse right yshift} to align a horse on a base to be set on the penguin-wing: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[horse right,horse right has base, -% horse right on base] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain -% } - - -% \subsection{Clothes} - -% Clothes are currently completely work in progress as the goal is to create an elegant way to offer clothes that adapt to the wing positions of the penguin. -% Currently there is only one cloth type that may be heavily edited in the course of development\ldots - -% \subsubsection{The cloak} - -% Originally developed just as a cape, the cloak is no a whole extension. - -% \showkeyexplain{cloak}{color}{pingu@bronze} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cloak=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \begin{tcblisting}{sidebyside=false, title=Cloak-Showcase} -% \begin{tikzpicture} -% \pingu[wings wave, cloak] -% \pingu[wings shock, cloak, xshift=3.5cm] -% \pingu[right wing wave, left wing hug, cloak, xshift=7cm] -% \pingu[right wing grab, left wing raise, cloak, xshift=10.5cm] -% \end{tikzpicture} -% \end{tcblisting} - -% {\def\pingu@color@cloak{} -% \subkeyexplain{cloak}{cloak cap}{color}{\pingu@color@cloak@cap} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cloak, cloak cap=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@cloak{} -% \subkeyexplain{cloak}{cloak wings color}{color}{\pingu@color@cloak@wings} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cloak, cloak wings color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@cloak{} -% \subkeyexplain{cloak}{cloak bottom color}{color}{\pingu@color@cloak@bottom} -% Should change the cloaks bottom color (currently ineffective): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cloak, cloak bottom color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@cloak{} -% \subkeyexplain{cloak}{cloak front color}{color}{\pingu@color@cloak@front} -% Should change the cloaks front color (currently ineffective): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cloak, cloak front color=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{cloak}{cloak padding}{length}{\pingu@x@cloak@padding} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cloak, cloak padding=13mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \showkeyexplain{cape}{color}{pingu@bronze} -% Uses \keyref{cloak} but disables all parts that are not part of a cape: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[cape=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subsubsection{The shirt} - -% \showkeyexplain{shirt}{color}{pingu@bronze} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{shirt}{shirt raise}{length}{\pingu@shirt@raise} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt raise=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt padding}{length}{\pingu@shirt@padding} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt padding=4mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt button top}{color}{\pingu@color@shirt@button@top} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt button top=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt button middle}{color}{\pingu@color@shirt@button@middle} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt button middle=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt button bottom}{color}{\pingu@color@shirt@button@bottom} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt button bottom=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt buttons}{color}{} -% Set \keyref{shirt button top}, \keyref{shirt button middle} and \keyref{shirt button bottom}, that is all the buttons, with the same color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt buttons=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} -% \subkeyexplain{shirt}{shirt button top shade}{color}{\pingu@color@shirt@button@top@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt button top shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@shirt@button@middle{}\def\pingu@color@shirt{} -% \subkeyexplain{shirt}{shirt button middle shade}{color}{\pingu@color@shirt@button@middle@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt button middle shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% {\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} -% \subkeyexplain{shirt}{shirt button bottom shade}{color}{\pingu@color@shirt@button@bottom@shade} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt button bottom shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} - -% \subkeyexplain{shirt}{shirt buttons shade}{color}{} -% Set all shadings of the buttons: \keyref{shirt button top shade}, \keyref{shirt button middle shade} and \keyref{shirt button bottom shade} with the same color: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt buttons shade=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt no buttons}{}{} -% Disable all buttons (by setting their colors to \lpingu{!hide}): -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, shirt no buttons] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subkeyexplain{shirt}{shirt above}{}{} -% This is interesting in combination with other extras as it allows the \keyref{shirt} to be drawn above them. -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[shirt, tie, shirt above] -% \pingu[shirt, tie, xshift=3cm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% \subsubsection{The second shirt} -% \showkeyexplain{second shirt}{color}{pingu@red} -% Display a shirt below the \keyref{shirt}: -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[second shirt=green, shirt] -% \end{tikzpicture} -% \end{tcblisting} -% \endshowkeyexplain - -% \subkeyexplain{second shirt}{second shirt raise}{length}{\pingu@secondshirt@raise} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[second shirt, second shirt raise=5mm] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain - -% {\def\pingu@color@secondshirt{} -% \subkeyexplain{second shirt}{second shirt neck}{color}{\pingu@color@secondshirt@neck} -% \begin{tcblisting}{@} -% \begin{tikzpicture} -% \pingu[second shirt, second shirt neck=green] -% \end{tikzpicture} -% \end{tcblisting} -% \endsubkeyexplain} +\subsection{Extras} +An extra is considered everything, that is attached to the main penguin and not to the wings (as those items may be placed separately for both wings). +Most extras are activated with the format |=| (the || option is not mandatory) +and try to adapt with other extras that have been placed (yet you can place multiple hats if you really like to). A lot of the extras do offer more keys to customize their appearance. +They are explained in the full reference (\autoref{sec:full-ref}). + +Consider the somewhat overkill-example of \say{\nameref{lord-gadget}}. +\begin{tcblisting}{title={Lord-Gadget, the penguin},externalize listing=lord-gadget,nameref={Lord-Gadget, the penguin},label=lord-gadget,float} +\begin{tikzpicture} + \pingu[crown 2d=pingu@bronze, + medal=pingu@purple, tie, + eye patch left=teal, + eye patch right=orange, + right wing wave, sunglasses, + glow thick=yellow] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Wing-Items} +Wing items are basically just like extras, but they can be selected separately for the left and right wing. Furthermore, they adapt their \textit{default} appearance to the active wing positions (\autoref{subsec:wings}). +Currently there are the following wing items: +% add a extra guard not present with the wing items +\typesetselection[\textit{#1\expandafter\ParseDTLListElement :"#1"\@nil}]{wingitems}. +They are selected using | |. + +Additionally, they can be customized by \keyref{left item angle} and \keyref{right item angle}, as well as \keyref{left item flip} and \keyref{right item flip}. +Lets consider an example\ldots +\begin{tcblisting}{title={Penguin with full wings!}} +\begin{tikzpicture}[scale=.75] + \pingu[lightsaber right=orange, + lollipop left, + right item angle=70, + right wing raise, left wing grab] + \pingu[cane left, right item flip, + sign post right={Hi!}, xshift=35mm] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Clothing} +Clothing is the newest extension to the collection, at and the moment there is not one \say{real} clothing, that really adapts to the penguins-position. +I am working on the \textit{cloak}-Clothing at the moment: +\begin{tcblisting}{title={Pengu-Clothes},externalize listing=clothes} +\begin{tikzpicture}[scale=.75] + \pingu[cloak] +\end{tikzpicture} +\end{tcblisting} + +% \section{Examples} + +\appendix +\section{Gadget Overview}\label{Gadget-Overview} + +\TypesetShowcases + +\section{Full Reference}\label{sec:full-ref} + +\def\percenttargetreductionpengus{63}\def\lstfnsize{-1.65} +\tcbset{% + before lower={\begin{adjustbox}{scale=.\percenttargetreductionpengus}}, + after lower={\end{adjustbox}},% + boxsep=1pt% +} + +\begin{center} + \textit{Please note, that all preview-penguins have been reduced in scale to \percenttargetreductionpengus\,\% to save space and make the documentation more concise.} +\end{center} + +Aliases may set custom defaults. Those defaults are not listed as they may change. + +\subsection{Penguin Keys} + +\keyexplain{name}{text}{\pingu@name} + Sets the name of the penguin. This name is used for all the automatically generated coordinates (see~\autoref{mrk:coordinates}). +\endkeyexplain + +\keyexplain{scale}{floating point}{active scale} + Changes the scale for the penguin. This is not supported by all items by default (as some scales have to be re-calculated according to their rotation). + Yet, it should work with most. + + Furthermore, this value can be used to make the penguin independent of the outer scaling. +\endkeyexplain + + +\keyexplain{meta-dots}{true/false}{\if@pingu@draw@metadots true\else false\fi} + Can be used to enable and disable the meta dots (\autoref{mrk:coordinates}). + Passed true by default. +\endkeyexplain + +\keyalias{meta dots}{meta-dots} + +\subsubsection{The Feet} + +\keyexplain{left foot}{foot-selector}{\@pingu@select@leftfoot@} + Change the style of the left foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +\begin{tikzpicture} + \pingu[left foot=simple] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{left foot color}{color}{\pingu@color@foot@left} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[left foot color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{left foot}{\@pingu@leftfoot@}{left foot color} + +\keyexplain{right foot}{foot-selector}{\@pingu@select@rightfoot@} + Change the style of the right foot. All valid values are listed in \autoref{mrk:pengu-change-comps}. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +\begin{tikzpicture} + \pingu[right foot=simple] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{right foot color}{color}{\pingu@color@foot@right} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[right foot color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{right foot}{\@pingu@rightfoot@}{right foot color} + +\keyexplain{feet}{foot-selector}{} + Change the style of both feet by calling \keyref{left foot} and \keyref{right foot} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +\begin{tikzpicture} + \pingu[feet=simple] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{feet color}{color}{} + Sets the color of both feet (using \keyref{left foot color} and \keyref{right foot color}). +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[feet color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{feet}{\@pingu@leftfoot@}{feet color} + +\subsubsection{The Body} + +\keyexplain{body main}{color}{\pingu@color@body@main} + Set the main color of the penguin. This will affect \keyref{hair} as well, as this chooses its default value from the main color.% +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[body main=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{body head}{color}{\pingu@color@body@head} + Set the color of the penguin head.% +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[body head=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{body}{color}{} + Sets the color of the main penguin and the head, by calling \keyref{body main} and \keyref{body head} with the same value. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[body=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{body front}{color}{\pingu@color@body@front} + Sets the frontal color of the penguin. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[body front=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{body type}{body type}{normal} + Change the active body type. All valid values are listed in \autoref{mrk:pengu-change-comps}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[body type=legacy] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\subsubsection{The Size} + + +\keyexplain{height}{length}{\the\pingu@side@h@half} + Change the height of the penguin manually. You probably should not use this key directly and refer to \keyref{small size}, \keyref{normal size}, and \keyref{large size}: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +\begin{tikzpicture} + \pingu[height=17mm] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{small size}{}{} + Will use \keyref{height} to create a small pingu: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +\begin{tikzpicture} + \pingu[small size] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{small}{small size} +\keyalias{small height}{small size} + + +\keyexplain{normal size}{}{} + Will use \keyref{height} to create a normal pingu: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +\begin{tikzpicture} + \pingu[normal size] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{normal}{normal size} +\keyalias{normal height}{normal size} + + +\keyexplain{large size}{}{} + Will use \keyref{height} to create a large pingu: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang}} +\begin{tikzpicture} + \pingu[large size] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{large}{large size} +\keyalias{large height}{large size} + +\subsubsection{The Eyes} +\keyexplain{left eye}{eye-selector}{\@pingu@select@lefteye@} + Change the style of the left eye. All valid values are listed in \autoref{mrk:pengu-eye}. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +\begin{tikzpicture} + \pingu[left eye=wink] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{left eye color}{color}{\pingu@color@eye@left} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[left eye color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{left eye second color}{color}{\pingu@color@eye@second@left} + Change the secondary color of the left eye. It will be used in some styles selected by \keyref{left eye} (e.g.\ \textit{shiny}): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shiny}}}} +\begin{tikzpicture} + \pingu[left eye=shiny, + left eye second color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{left eye}{\@pingu@lefteye@}{left eye color} + +\keyexplain{right eye}{eye-selector}{\@pingu@select@righteye@} + Change the style of the right eye. All valid values are listed in \autoref{mrk:pengu-eye}. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +\begin{tikzpicture} + \pingu[right eye=wink] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{right eye color}{color}{\pingu@color@eye@right} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[right eye color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{right eye second color}{color}{\pingu@color@eye@second@right} + Change the secondary color of the right eye. It will be used in some styles selected by \keyref{right eye} (e.g.\ \textit{shiny}): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock}}}} +\begin{tikzpicture} + \pingu[right eye=shock, + right eye second color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{right eye}{\@pingu@righteye@}{right eye color} + +\keyexplain{eyes}{eye-selector}{} + Change the style of both eyes by calling \keyref{left eye} and \keyref{right eye} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +\begin{tikzpicture} + \pingu[eyes=wink] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{eyes color}{color}{} + Change the main color of both eyes by calling \keyref{left eye color} and \keyref{right eye color} with the same value. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[eyes color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{eyes second color}{color}{} + Change the secondary color of both eyes by calling \keyref{left eye second color} and \keyref{right eye second color} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{shock,shiny}}}} +\begin{tikzpicture} + \pingu[left eye=shock, right eye=shiny, + eyes second color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{eyes}{\@pingu@lefteye@}{eyes color} + +\subsubsection{The Wings} + +\keyexplain{left wing}{wing-selector}{\@pingu@select@leftwing@} + Change the style of the left wing. All valid values are listed in \autoref{subsec:wings}. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} +\begin{tikzpicture} + \pingu[left wing=wave] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{left wing color}{color}{\pingu@color@left@wing} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[left wing color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{left wing}{\@pingu@leftwing@}{left wing color} + +\keyexplain{right wing}{wing-selector}{\@pingu@select@rightwing@} + Change the style of the right wing. All valid values are listed in \autoref{subsec:wings}. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wave}}}} +\begin{tikzpicture} + \pingu[right wing=hug] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{right wing color}{color}{\pingu@color@right@wing} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[right wing color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{right wing}{\@pingu@rightwing@}{right wing color} + +\keyexplain{wings}{wing-selector}{} + Change the style of both wings by calling \keyref{left wing} and \keyref{right wing} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{wink}}}} +\begin{tikzpicture} + \pingu[wings=grab] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{wings color}{color}{} + Change the main color of both wings by calling \keyref{left wing color} and \keyref{right wing color} with the same value. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[wings color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{wings}{\@pingu@leftwing@}{wings color} + +\subsubsection{The Hair} + + +\keyexplain{hair 1 color}{color}{\pingu@color@hair@a} + Set the color of the first hair (this may be used differently by other hairstyles): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[hair 1 color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{hair 2 color}{color}{\pingu@color@hair@b} + Set the color of the second hair (this may be used differently by other hairstyles): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{2}}}} +\begin{tikzpicture} + \pingu[hair 2 color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{hair 3 color}{color}{\pingu@color@hair@c} + Set the color of the third hair (this may be used differently by other hairstyles): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{3}}}} +\begin{tikzpicture} + \pingu[hair 3 color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{hair 4 color}{color}{\pingu@color@hair@d} + Set the color of the fourth hair (this may be used differently by other hairstyles): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{4}}}} +\begin{tikzpicture} + \pingu[hair 4 color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{hair 5 color}{color}{\pingu@color@hair@e} + Set the color of the fifth hair (this may be used differently by other hairstyles): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,moreemph={[2]{5}}}} +\begin{tikzpicture} + \pingu[hair 5 color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{hairs color}{color}{} + Set the color of all hairs by calling \keyref{hair 1 color}, \keyref{hair 2 color}, \keyref{hair 3 color}, \keyref{hair 4 color}, and \keyref{hair 5 color} with the same argument: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hairs color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{hairs}{hairs color} +\keyalias{hair}{hairs color} + +\keyexplain{hairstyle}{hair-selector}{\@pingu@select@hairstyle@} + Change the hairstyle (\autoref{mrk:pengu-change-comps}): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hairstyle=none] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{hair style}{hairstyle} +\shortcuts{hairstyle}{\@pingu@hairstyle@}{hairs color} + +\subsubsection{The Bill} +\keyexplain{bill}{bill-selector}{\@pingu@select@bill@} + Change the style of the bill (\autoref{mrk:pengu-change-comps}): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{flat}}}} +\begin{tikzpicture} + \pingu[bill=flat] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{bill color}{color}{\pingu@color@bill} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[bill color=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\shortcuts{bill}{\@pingu@bill@}{bill color} + +\subsection{Drawing Styles} +\index{Styles} +\def\cursub{Styles!} +\keyexplain{:line}{}{} + Disable glows, shades and fills and enforce a line. This line will be darker + than the original fill color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:line] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:fill}{}{} + Makes the whole penguin in one solid color (basically a shortcut for setting all main penguin colors to the same): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:fill,tie=white,eyes color=white] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:ghost parts}{opacity}{.5} + Set the opacity of each penguin component individually. At the moment, this + excludes some glow calculations. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:ghost parts] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:ghost}{opacity}{.5} + Set the opacity of the complete penguin. At the moment, this + excludes some glow calculations. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:ghost] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:devil}{color}{pingu@purple} + Enable all devil components (not the wing items) and set their main color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:devil=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + + +\keyexplain{:hide}{}{} + Do not draw the main pingu: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa hat,:hide] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:back}{}{} + Mirror the penguin, this swaps left and right, the rotation and more. + Yet, at least at the time of writing, this does not swap the drawing order in each layer, but just the layers: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:back, left wing wave, + cane left, left item angle=70] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:pingu}{options}{} + Apply the given options to all penguin-keys: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[:pingu={/pingu/@block/.style={fill=green}}] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{:mix}{color-mix}{50!white} + Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask,tie=red,lollipop left,:mix=50!green] +\end{tikzpicture} +\end{tcblisting} + In contrast to \dkeyref{:mix-all} this changes the active colors of the penguin. +\endkeyexplain + +\keyexplain{:mix-all}{color-mix}{50!white} + Mix the main penguin with given colors, but leave all extras intact. This can be used (for example) to gray-out the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask,tie=red,:mix-all=50!green] +\end{tikzpicture} +\end{tcblisting} + In contrast to \dkeyref{:mix} this changes the drawing options. +\endkeyexplain + + +\def\cursub{} +\subsection{Extras} +\subsubsection{The heart} +\showkeyexplain{heart}{node-options}{lightgray}(pingu@main) +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[heart=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subsubsection{The tie} +\showkeyexplain{tie}{color}{pingu@green} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[tie] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@tie{} +\subkeyexplain{tie}{tie knot}{color}{\pingu@color@tie@knot} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[tie, tie knot=orange] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +} + +\subkeyexplain{tie}{tie length}{length}{\expandafter\detokenize\expandafter{\pingu@x@tie@length}} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[tie, tie length=1.25cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{tie}{tie offset}{length}{\pingu@x@tie@offset} + Change the upper vertical offset of the tie: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[tie, tie offset=.75cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{tie}{tie width}{length}{\pingu@x@tie@width} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[tie, tie width=.5cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{tie}{tie pattern}{tex-code}{} + Change the tie pattern. +\endsubkeyexplain + +\subkeyexplain{tie}{tie dots}{color}{pingu@white} + Change the \keyref{tie pattern} to dots: + \begin{tcblisting}{@} + \begin{tikzpicture} + \pingu[tie, tie dots] + \end{tikzpicture} + \end{tcblisting} +\endsubkeyexplain + +\subsubsection{The bowtie} +\showkeyexplain{bow tie}{color}{pingu@blue} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[bow tie] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{bowtie}{bow tie} +\keyalias{bow-tie}{bow tie} + +\subkeyexplain{bow tie}{bow tie b}{color}{} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[bow tie, bow tie b=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{bowtie b}{bow tie b}{bow tie} +\subkeyalias{bow-tie b}{bow tie b}{bow tie} + +{\def\pingu@color@bowtie{} +\subkeyexplain{bow tie}{bow tie knot}{color}{\pingu@color@bowtie@knot} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[bow tie, bow tie knot=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{bowtie knot}{bow tie knot}{bow tie} +\subkeyalias{bow-tie knot}{bow tie knot}{bow tie} +} + +\subkeyexplain{bow tie}{bow tie offset}{length}{\pingu@x@bowtie@offset} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[bow tie, bow tie offset=8mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{bowtie offset}{bow tie offset}{bow tie} +\subkeyalias{bow-tie offset}{bow tie offset}{bow tie} + +\subsubsection{The cup} + +\showkeyexplain{cup}{color}{pingu@green} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cup] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@cup{} +\subkeyexplain{cup}{cup straw}{color}{\pingu@color@cup@straw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cup, cup straw=!hide] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The medal} +\showkeyexplain{medal}{color}{pingu@yellow} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[medal] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{medal}{medal band}{color}{\pingu@color@medal@band} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[medal, medal band=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@medal{} +\subkeyexplain{medal}{medal shade}{color}{\pingu@color@medal@shade} +Change the color of the outer medal ring: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[medal, medal shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{medal}{medal shade width}{length}{.75pt} +Change the width of the outer medal ring: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[medal, medal shade=green, + medal shade width=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{medal}{medal text}{text}{\pingu@x@medal@text} +Set the text displayed in the medal. The style can be changed by +updating the substyle \texttt{medal text style}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[medal, medal text=XY, + medal text style/.style={black}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\keyexplain{gold medal}{text}{1} +Basically the same as the normal medal. This will activate \keyref{medal}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[gold medal] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{silver medal}{text}{2} +Basically the same as the normal medal, but with a silver color. This will activate \keyref{medal}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[silver medal] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{bronze medal}{text}{3} +Basically the same as the normal medal, but with a bronze color. This will activate \keyref{medal}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[bronze medal] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\subsubsection{The eye patches} + +\showkeyexplain{eye patch left}{color}{} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[eye patch left] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{eyepatch left}{eye patch left} +\keyalias{eye-patch left}{eye patch left} + +\showkeyexplain{eye patch right}{color}{} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[eye patch right] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{eyepatch right}{eye patch right} +\keyalias{eye-patch right}{eye patch right} + +\subsubsection{The monocle} + +\showkeyexplain{monocle left}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle left] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{monocle left}{monocle left glass}{color}{\pingu@color@monocleleft@glass} +Set the color of the glass of the left monocle. The opacity of this color is set by \keyref{monocle left opacity}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle left, + monocle left glass=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{monocle left fill}{monocle left glass}{monocle left} + + +\subkeyexplain{monocle left}{monocle left opacity}{factor}{\pingu@x@monocleleft@opacity} +Set the opacity of the glass color of the left monocle (set by \keyref{monocle left glass}): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[monocle left, + monocle left opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{monocle left fill opacity}{monocle left opacity}{monocle left} + +{\def\pingu@color@monocleleft{} +\subkeyexplain{monocle left}{monocle left string}{color}{\pingu@color@monocleleft@string} +Set the color of the string of the left monocle: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle left, + monocle left string=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{monocle left}{monocle left string length}{length}{\pingu@x@monocleleft@string@l} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle left, + monocle left string length=1cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@monocleleft{} +\subkeyexplain{monocle left}{monocle left blob}{color}{\pingu@color@monocleleft@blob} +Set the color of the blob at the end of the string of the left monocle: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle left, + monocle left blob=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\showkeyexplain{monocle right}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle right] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{monocle right}{monocle right glass}{color}{\pingu@color@monocleright@glass} +Set the color of the glass of the right monocle. The opacity of this color is set by \keyref{monocle right opacity}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle right, + monocle right glass=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{monocle right fill}{monocle right glass}{monocle right} + +\subkeyexplain{monocle right}{monocle right opacity}{factor}{\pingu@x@monocleright@opacity} +Set the opacity of the glass color of the right monocle (set by \keyref{monocle right glass}): +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[monocle right, + monocle right opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{monocle right fill opacity}{monocle right opacity}{monocle right} + +{\def\pingu@color@monocleright{} +\subkeyexplain{monocle right}{monocle right string}{color}{\pingu@color@monocleright@string} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle right, + monocle right string=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + + +\subkeyexplain{monocle right}{monocle right string length}{length}{\pingu@x@monocleright@string@r} +Set the length of the right monocle string: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle right, + monocle right string length=1cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@monocleright{} +\subkeyexplain{monocle right}{monocle right blob}{color}{\pingu@color@monocleright@blob} +Set the color of the blob at the end of the string of the right monocle: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[monocle right, + monocle right blob=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The pants} +\showkeyexplain{pants}{color}{pingu@red} +Sets the color of the pants: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{pants}{pants bands}{true/false}{false} +Switch the bands of the pants on and of: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants bands] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + + +\subkeyexplain{pants}{pants button left}{color}{\pingu@color@pants@button@left} +Set the color of the left pant button: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants button left=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pants}{pants button right}{color}{\pingu@color@pants@button@right} +Set the color of the right pant button: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants button right=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pants}{pants buttons}{color}{\pingu@color@pants@button@left} +Sets \keyref{pants button left} and \keyref{pants button right} with the same color. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants buttons=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@pants@button@left{}% +\subkeyexplain{pants}{pants button left shade}{color}{\pingu@color@pants@button@left@shade} +Set the color of the left pant button shade: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, + pants button left shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@pants@button@left{}% +\subkeyexplain{pants}{pants button right shade}{color}{\pingu@color@pants@button@right@shade} +Set the color of the right pant button shade: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, + pants button right shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@pants@button@left{}% +\subkeyexplain{pants}{pants buttons shade}{color}{\pingu@color@pants@button@left@shade} +Sets \keyref{pants button left shade} and \keyref{pants button right shade} with the same color. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants buttons shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{pants}{pants no buttons}{}{} +Remove the buttons from the pants: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants no buttons] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pants}{pants extra height}{length}{\pingu@x@pants@extra@height} +Raise the pants: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pants, pants extra height=6mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{pants without buttons}{pants no buttons}{pants} + +\subsubsection{The glow} + +\showkeyexplain{glow}{color}{pingu@white}(orange,glow solid=orange) + Active a glow around the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glow=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyexplain{glow thick}{color}{} +Will pass on the color to \keyref{glow} and use a \keyref{glow width function} width a thicker line width: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glow thick=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyexplain{glow solid}{color}{} +Will pass on the color to \keyref{glow} and use a \keyref{glow width function} combined with \keyref{glow function} to create a solid glow: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glow solid=green, wings wave] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\subkeyexplain{glow}{glow steps}{list}{\pingu@x@extra@glow@steps} + Comma separated list of discrete intervals for the glow calculation: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glow=green, glow steps={.3,.5,1}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\i{\textbackslash i~}% +\subkeyexplain{glow}{glow function}{function}{\pingu@x@extra@glow@func} + Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the opacity of the current step: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glow=green, + glow function={.5/\i}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\i{\textbackslash i~}% +\subkeyexplain{glow}{glow width function}{function}{\pingu@x@extra@glow@width@func} + Function using the token \lpingu{\i} to refer to the current \keyref{glow steps}. Its evaluation will be used to determine the width of the current step: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glow=green, + glow width function={5mm-\i mm}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The eye frame} + +\keyexplain{eye frame}{color}{pingu@black} +This is more of a test extra that adds a frame around both eyes: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[eye frame=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{eyeframe}{eye frame} +\keyalias{eye-frame}{eye frame} + +\subsubsection{The glasses} + +\showkeyexplain{glasses}{color}{pingu@black} +Display glasses for the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{glasses}{glasses left fill}{color}{\pingu@color@glasses@fill@l} + Sets the fill color of the left glass. The opacity is determined by \keyref{glasses left opacity}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses, + glasses left fill=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses}{glasses right fill}{color}{\pingu@color@glasses@fill@r} + Sets the fill color of the right glass. The opacity is determined by \keyref{glasses right opacity}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses, + glasses right fill=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses}{glasses fill}{color}{} + Change the color of both glasses by calling \keyref{glasses left fill} and \keyref{glasses right fill} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +\begin{tikzpicture} + \pingu[glasses, glasses fill=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses}{glasses left opacity}{factor}{\pingu@x@glasses@op@l} +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glasses, + glasses left fill=green, + glasses left opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses}{glasses right opacity}{factor}{\pingu@x@glasses@op@r} + Sets the fill opacity of the right glass: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glasses, + glasses right fill=green, + glasses right opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses}{glasses opacity}{factor}{} + Change the opacity of both glasses by calling \keyref{glasses left opacity} and \keyref{glasses right opacity} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glasses, + glasses fill=teal, + glasses opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses}{glasses line width}{length}{1.125pt} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses, glasses line width=1mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{sun glasses}{color}{pingu@black} +Configure the \keyref{glasses} to display sunglasses. The color is passed on to \keyref{glasses fill} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sun glasses=orange] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{sunglasses}{sun glasses} + +\subsubsection{The rounded glasses} + +\showkeyexplain{glasses round}{color}{pingu@black} +Behaves equivalent to \keyref{glasses} but produces a round counterpart: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses round=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{glasses round}{glasses round left fill}{color}{\pingu@color@glassesround@fill@l} + Sets the fill color of the left glass. The opacity is determined by \keyref{glasses round left opacity}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses round, + glasses round left fill=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses round}{glasses round right fill}{color}{\pingu@color@glassesround@fill@r} + Sets the fill color of the right glass. The opacity is determined by \keyref{glasses round right opacity}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses round, + glasses round right fill=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses round}{glasses round fill}{color}{} + Change the color of both glasses by calling \keyref{glasses round left fill} and \keyref{glasses round right fill} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{simple}}}} +\begin{tikzpicture} + \pingu[glasses round, glasses round fill=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses round}{glasses round left opacity}{factor}{\pingu@x@glassesround@op@l} +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glasses round, + glasses round left fill=green, + glasses round left opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses round}{glasses round right opacity}{factor}{\pingu@x@glassesround@op@r} + Sets the fill opacity of the right glass: +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glasses round, + glasses round right fill=green, + glasses round right opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses round}{glasses round opacity}{factor}{} + Change the opacity of both glasses round by calling \keyref{glasses round left opacity} and \keyref{glasses round right opacity} with the same value. +\begin{tcblisting}{listing options={style=lstpingu,language=pingulang,deleteemph={[2]{1}}}} +\begin{tikzpicture} + \pingu[glasses round, + glasses round fill=teal, + glasses round opacity=1] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{glasses round}{glasses round line width}{length}{1.125pt} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[glasses round, glasses round line width=1mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{sun glasses round}{color}{pingu@black} +Configure the \keyref{glasses round} to display sunglasses round. The color is passed on to \keyref{glasses round fill} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sun glasses round=orange] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{sunglasses round}{sun glasses round} + +\subsubsection{The devil horns} + +\showkeyexplain{devil horns}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil horns=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{devilhorns}{devil horns} +\keyalias{devil-horns}{devil horns} + +\subsubsection{The devil wings} + +\showkeyexplain{devil wings}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil wings=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{devilwings}{devil wings} +\keyalias{devil-wings}{devil wings} + +\subkeyexplain{devil wings}{devil wings b}{color}{} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil wings, devil wings b=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{devilwings b}{devil wings b}{devil wings} +\subkeyalias{devil-wings b}{devil wings b}{devil wings} + +\subsubsection{The head band} + +\showkeyexplain{head band}{color}{pingu@red} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{headband}{head band} +\keyalias{head-band}{head band} + + +\subkeyexplain{head band}{head band bend}{angle}{\pingu@x@headband@bend} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band bend=25] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband bend}{head band bend}{head band} +\subkeyalias{head-band bend}{head band bend}{head band} + +\subkeyexplain{head band}{head band angle}{angle}{\pingu@x@headband@angle} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band angle=25] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband angle}{head band angle}{head band} +\subkeyalias{head-band angle}{head band angle}{head band} + +\subkeyexplain{head band}{head band upper angle}{angle}{\pingu@x@headband@angle} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band upper angle=25] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband upper angle}{head band upper angle}{head band} +\subkeyalias{head-band upper angle}{head band upper angle}{head band} + +\subkeyexplain{head band}{head band knot}{true/false}{\if@pingu@x@headband@knot@ true\else false\fi} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band knot] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband knot}{head band knot}{head band} +\subkeyalias{head-band knot}{head band knot}{head band} + +{\def\pingu@color@headband{} +\subkeyexplain{head band}{head band knot color}{color}{\pingu@color@headband@knot} +If \keyref{head band knot} is enabled, this setting changes the color of the knot: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band knot, + head band knot color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband knot color}{head band knot color}{head band} +\subkeyalias{head-band knot color}{head band knot color}{head band}} + +{\def\pingu@color@headband{} +\subkeyexplain{head band}{head band knot a color}{color}{\pingu@color@headband@knot@a} +If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band knot, + head band knot a color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband knot a color}{head band knot a color}{head band} +\subkeyalias{head-band knot a color}{head band knot a color}{head band}} + +{\def\pingu@color@headband{} +\subkeyexplain{head band}{head band knot b color}{color}{\pingu@color@headband@knot@b} +If \keyref{head band knot} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band knot, + head band knot a color=blue, + head band knot b color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband knot b color}{head band knot b color}{head band} +\subkeyalias{head-band knot b color}{head band knot b color}{head band}} + +\subkeyexplain{head band}{head band bands}{true/false}{\if@pingu@x@headband@bands@ true\else false\fi} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band bands=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband bands}{head band bands}{head band} +\subkeyalias{head-band bands}{head band bands}{head band} + +{\def\pingu@color@headband{} +\subkeyexplain{head band}{head band bands a color}{color}{\pingu@color@headband@bands@a} +If \keyref{head band bands} is enabled, this setting changes the color of the large one of the both bands: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band bands, + head band bands a color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband bands a color}{head band bands a color}{head band} +\subkeyalias{head-band bands a color}{head band bands a color}{head band}} + +{\def\pingu@color@headband{} +\subkeyexplain{head band}{head band bands b color}{color}{\pingu@color@headband@bands@b} +If \keyref{head band bands} is enabled, this setting changes the color of the left headband wing (this will, by default, affect the right wing was well): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[head band, head band bands, + head band bands a color=blue, + head band bands b color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headband bands b color}{head band bands b color}{head band} +\subkeyalias{head-band bands b color}{head band bands b color}{head band}} + +\subsubsection{The rook} + +\showkeyexplain{rook}{color}{pingu@silver} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[rook=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@rook{} +\subkeyexplain{rook}{rook back}{color}{\pingu@color@rook@back} +Change the color of the rook-costume background: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[rook, rook back=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{rook}{rook hatch}{true/false}{\if@pingu@x@rook@draw@hatch@ true\else false\fi} +Toggles the opening in the rook costume: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[rook, rook hatch=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@rook{} +\subkeyexplain{rook}{rook shade}{color}{\pingu@color@rook@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[rook, rook shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The halo} +\showkeyexplain{halo}{color}{pingu@lightblue} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[halo=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{halo}{halo raise}{length}{\pingu@x@halo@raise} +Define the vertical raise of the halo above the penguins head: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[halo, halo raise=4mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{halo}{halo glow}{true/false}{\if@pingu@x@halo@glow true\else false\fi} +Disable or enable the glow of the halo. The default is controlled by the \texttt{glows}-package option. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[halo, halo glow=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{halo}{halo above}{true/false}{\if@pingu@x@halo@above true\else false\fi} +Draws the halo above, which is useful in case of other gadgets: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[halo, halo above=true] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The strawhat} +\showkeyexplain{strawhat}{color}{brown!50!white} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[strawhat=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{straw hat}{strawhat} + +\subkeyexplain{strawhat}{strawhat ribbon}{color}{\pingu@color@strawhat@ribbon} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[strawhat, strawhat ribbon=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{straw hat ribbon}{strawhat ribbon}{strawhat} + +\subkeyexplain{strawhat}{strawhat position}{angle>:(,)} +\subkeyexplain{hat}{hat ribbon}{color}{\pingu@color@hat@ribbon} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hat, hat ribbon=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@hat{} +\subkeyexplain{hat}{hat base}{color}{\pingu@color@hat@base} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hat, hat base=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@hat{} +\subkeyexplain{hat}{hat coronal}{color}{\pingu@color@hat@coronal} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hat, hat coronal=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{hat}{hat position}{angle>:(,)} +\subkeyexplain{conical hat}{conical hat shade}{length}{\pingu@x@conicalhat@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[conical hat, conical hat shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +} + +\subkeyexplain{conical hat height}{conical hat height}{length}{\pingu@x@conicalhat@height} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[conical hat, conical hat height=10mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{conical hat width}{conical hat width}{length}{\pingu@x@conicalhat@width} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[conical hat, conical hat width=3cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{conical hat}{conical hat position}{angle>:(,):(,)} +\subkeyexplain{crown}{crown back}{color}{\pingu@color@crown@back} +Change the back color of the crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown back=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{crown}{crown front bend}{angle}{\pingu@x@crown@f@bend} +Change the front lower bend of the crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown front bend=52] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{crown}{crown back bend}{angle}{\pingu@x@crown@b@bend} +Change the back lower bend of the crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown back bend=46] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{crown}{crown gem shade}{true/false}{\if@pingu@x@crown@shade@ true\else false\fi} +Toggle the gem shading of the crown. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown gem shade=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{crown}{crown gem colors}{a>} +\subkeyexplain{crown}{crown gem ring}{color}{\pingu@color@crown@gem@ring} +Change the color of the rings around the crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown gem ring=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{crown}{crown position}{angle>:(,)} +\subkeyexplain{princess crown}{princess crown back}{color}{\pingu@color@princesscrown@back} +Change the back color of the smaller crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, princess crown back=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{princess crown}{princess crown front bend}{angle}{\pingu@x@princesscrown@f@bend} +Change the front lower bend of the smaller crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, princess crown front bend=52] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{princess crown}{princess crown back bend}{angle}{\pingu@x@princesscrown@b@bend} +Change the back lower bend of the smaller crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, princess crown back bend=46] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{princess crown}{princess crown gem shade}{true/false}{\if@pingu@x@princesscrown@shade@ true\else false\fi} +Toggle the gem shading of the smaller crown. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, + princess crown gem shade=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{princess crown}{princess crown bobbles}{true/false}{\if@pingu@x@princesscrown@bobbles@ true\else false\fi} +Toggle the bobbles of the smaller crown. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, princess crown bobbles=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{princess crown}{princess crown gem colors}{a>} +\subkeyexplain{princess crown}{princess crown gem ring}{color}{\pingu@color@princesscrown@gem@ring} +Change the color of the rings around the small crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, + princess crown gem ring=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{princess crown}{princess crown position}{angle>:(,)} +Enable a cake hat with a specific color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{cake-hat}{cake-hat top}{color}{\pingu@color@cakehat@top} +Change the color of the cake hat top: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat top=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{cake-hat}{cake-hat shade}{color}{\pingu@color@cakehat@shade} +Change the color of the heavily transparent cake hat shading: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{cake-hat}{cake-hat candle}{color}{\pingu@color@cakehat@candle} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{cake-hat}{cake-hat candle fire}{color}{\pingu@color@cakehat@candle@fire} +Change the color of the cake hats' candle most outer fire: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle fire=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@cakehat@candle@fire{} +\subkeyexplain{cake-hat}{cake-hat candle fire 2}{color}{\pingu@color@cakehat@candle@fire@b} +Change the color of the cake hats' candle middle fire: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle fire 2=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@cakehat@candle@fire{} +\subkeyexplain{cake-hat}{cake-hat candle fire 3}{color}{\pingu@color@cakehat@candle@fire@b} +Change the color of the cake hats' candle inner fire: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle fire 3=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{cake-hat}{cake-hat candle wick}{color}{\pingu@color@cakehat@candle@wick} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle wick=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{cake-hat}{cake-hat candle shade}{color}{\pingu@color@cakehat@candle@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{cake-hat}{cake-hat candle back}{color}{\pingu@color@cakehat@candle@back} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat candle back=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@cakehat{} +\subkeyexplain{cake-hat}{cake-hat outline}{color}{\pingu@color@cakehat@outline} +Change the color of the cake hats' outline (width by \keyref{cake-hat outline width}): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat outline=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{cake-hat}{cake-hat outline width}{length}{\pingu@x@cakehat@outline@w} +Change the width of the cake hats' outline (color by \keyref{cake-hat outline}): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, cake-hat outline width=1mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{cake-hat}{cake-hat position}{angle>:(,)} +\subkeyexplain{pumpkin-hat}{pumpkin-hat stalk}{color}{\pingu@color@pumpkinhat@stalk} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat stalk=teal] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\subkeyexplain{pumpkin-hat}{pumpkin-hat stalk top}{color}{!95!pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat stalk top=teal] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{pumpkin-hat}{pumpkin-hat stripe a}{color}{\pingu@color@pumpkinhat@stripe@a} +Change the color of the first stripe. By default the other stripes share this ones color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat stripe a=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pumpkin-hat}{pumpkin-hat stripe b}{color}{\pingu@color@pumpkinhat@stripe@b} +Change the color of the second stripe. By default the third stripe share this ones color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat stripe b=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pumpkin-hat}{pumpkin-hat stripe c}{color}{\pingu@color@pumpkinhat@stripe@c} +Change the color of the third stripe: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat stripe c=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pumpkin-hat}{pumpkin-hat outline}{color}{\pingu@color@pumpkinhat@outline} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat outline=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pumpkin-hat}{pumpkin-hat outline width}{length}{\pingu@x@pumpkinhat@outline@w} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat,pumpkin-hat outline width=3pt] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{pumpkin-hat}{pumpkin-hat position}{angle>:(,)} +\subkeyexplain{vr-headset}{vr-headset band}{color}{\pingu@color@vrheadset@band} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[vr-headset, vr-headset band=purple] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@vrheadset{} +\subkeyexplain{vr-headset}{vr-headset band top}{color}{\pingu@color@vrheadset@band@top} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[vr-headset, vr-headset band top=purple] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{vr-headset}{vr-headset hair}{}{} +Change the hair to support the headset: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[vr-headset, vr-headset hair] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{vr-headset}{vr-headset text}{text}{omitted} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[vr-headset, vr-headset text={ABCD}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{vr-headset}{vr-headset text color}{color}{\pingu@color@vrheadset@text@color} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[vr-headset, vr-headset text color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The headphones} + +\showkeyexplain{headphone}{color}{pingu@blue!80!pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{headphones}{headphone} + +{\def\pingu@color@headphone{} +\subkeyexplain{headphone}{headphone left}{color}{\pingu@color@headphone@left} +Change the color of the left headphone (automatically sets the color of \keyref{headphone right}): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone left=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@headphone{} +\subkeyexplain{headphone}{headphone right}{color}{\pingu@color@headphone@right} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone right=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{headphone}{headphone left outer}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone left outer=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{headphone}{headphone right outer}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone right outer=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{headphone}{headphone outer}{color}{pingu@black} +Set \keyref{headphone left outer} and \keyref{headphone right outer} with the same value: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone outer=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headphones outer}{headphone outer}{headphone} + +\subkeyexplain{headphone}{headphone left inner}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone left inner=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{headphone}{headphone right inner}{color}{pingu@black} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone right inner=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{headphone}{headphone inner}{color}{pingu@black} +Set \keyref{headphone left inner} and \keyref{headphone right inner} with the same value: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[headphone, headphone inner=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{headphones inner}{headphone inner}{headphone} + +\subsubsection{The santa hat} + +\showkeyexplain{santa hat}{color}{pingu@red!87!pingu@black} +Show the merry christmas: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa hat=pingu@red] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@santahat{} +\subkeyexplain{santa hat}{santa hat second}{color}{\pingu@color@santahat@second} +Change the wool color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa hat,santa hat second=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{ +\subkeyexplain{santa hat}{santa hat bobble}{color}{} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa hat,santa hat bobble=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The santa beard} + +\showkeyexplain{santa beard}{color}{pingu@white!96!pingu@red!98!pingu@black!92!gray} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa beard=brown!20!white] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@body@main{} +\subkeyexplain{santa beard}{santa beard string}{color}{\pingu@color@santabeard@string} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa beard,santa beard string=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The mask} +\showkeyexplain{mask}{color}{pingu@white!61!gray} +Keep the penguin safe: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{mask}{mask band}{color}{\pingu@color@mask@band} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask,mask band=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{mask}{mask line width}{length}{\pingu@x@mask@line@width} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask,mask line width=1.5pt] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@mask{} +\subkeyexplain{mask}{mask band inner}{color}{\pingu@color@mask@band@inner} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask,mask band inner=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@mask{} +\subkeyexplain{mask}{mask band outer}{color}{\pingu@color@mask@band@outer} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[mask,mask band outer=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subsubsection{The blush} + +\showkeyexplain{blush}{color}{pingu@red}(pingu@red,blush opacity=.4) +Make it cute: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[eyes wink, blush=pingu@purple] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{blush}{blush second}{color}{} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[blush, blush second=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{blush}{blush opacity}{factor}{\pingu@x@blush@opacity} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[blush, blush opacity=.86] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The banner} + +\showkeyexplain{banner}{text}{Bannertext} +Give the penguin a banner to hold (it adapts to the wing positions): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[left wing wave, banner=Hello] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{banner}{banner band}{color}{\pingu@color@banner@band} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner band=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner text color}{color}{\pingu@color@banner@text@color} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[wings wave, banner, banner text color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner stick left color}{color}{\pingu@color@banner@stick@left} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner stick left color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner stick right color}{color}{\pingu@color@banner@stick@right} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner stick right color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner sticks color}{color}{\pingu@color@banner@stick@left} +Calls \keyref{banner stick left color} and \keyref{banner stick right color} with the same color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner sticks color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner stick left length}{length}{\pingu@banner@stick@left@l} +Changes the banners left stick length: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner stick left length=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner stick right length}{length}{\pingu@banner@stick@right@l} +Changes the banners right stick length: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner stick right length=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner sticks length}{color}{\pingu@banner@stick@left@l} +Calls \keyref{banner stick left length} and \keyref{banner stick right length} with the same length: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner sticks length=9mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner raise}{length}{\pingu@banner@raise} +Change the raise of the banner text: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner raise=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner height}{length}{\pingu@banner@height} +Change the height of the banner (this modifies the half): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner height=6mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner font}{font}{} +Change the height of the banner: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner font=\itshape] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{banner}{banner bent}{angle}{\pingu@banner@bent} +Change the bending of the banner: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[banner, banner bent=0] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsection{Wing Items} +\label{sub:wing-items}Most wing items created have a two variants: one for the left and one for the right wing. For consistency, both of them are represented in the documentation~--- many times, they are not just mirrored but two different shapes that appear to be mirrored with special care. + + +\keyexplain{left wing item angle}{angle}{\pingu@wing@left@item@angle@user} + Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the left wing: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cane left, cane right, + left wing item angle=70] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{left item angle}{left wing item angle} + + +\keyexplain{left wing item flip}{true/false}{\if@pingu@wi@flip@left true\else false\fi} + Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the left wing. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag left, flag right, + left wing item flip] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{left item flip}{left wing item flip} + + +\keyexplain{right wing item angle}{angle}{\pingu@wing@right@item@angle@user} + Relative rotation of the \hyperref[sub:wing-items]{wing items} placed in the right wing: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cane left, cane right, + right wing item angle=70] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{right item angle}{right wing item angle} + + +\keyexplain{right wing item flip}{true/false}{\if@pingu@wi@flip@right true\else false\fi} + Some \hyperref[sub:wing-items]{wing items} do have a different style, depending on the wing they are in (e.g.\ they are mirrored). This option toggles the stile for the right wing. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag left, flag right, + right wing item flip] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{right item flip}{right wing item flip} + +\subsubsection{The lollipop} + +\showkeyexplain{lollipop left}{color}{pingu@green} + Enable the left lollipop for the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[lollipop left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{lollipop left}{lollipop left handle}{color}{\pingu@color@lollipopleft@handle} + Change the handle color of the left lollipop: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[lollipop left, lollipop left handle=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lollipop left}{lollipop left second}{color}{\pingu@color@lollipopleft@second} + Change the second color of the left lollipop, used for the ring: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[lollipop left, lollipop left second=blue] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{lollipop right}{color}{pingu@green} + Enable the right lollipop for the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[lollipop right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{lollipop right}{lollipop right handle}{color}{\pingu@color@lollipopright@handle} + Change the handle color of the right lollipop: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[lollipop right, lollipop right handle=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lollipop right}{lollipop right second}{color}{\pingu@color@lollipopright@second} + Change the second color of the right lollipop, used for the ring: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[lollipop right, lollipop right second=blue] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + + +\subsubsection{The cane} + +\showkeyexplain{cane left}{color}{pingu@bronze} + Enable the left cane for the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cane left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{cane left}{cane left raise}{length}{\pinug@x@cane@raise@left} + Raise the cane of the pingu: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cane left,cane left raise=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{cane right}{color}{pingu@bronze} + Enable the right cane for the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cane right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{cane right}{cane right raise}{length}{\pinug@x@cane@raise@right} + Raise the cane of the pingu: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cane right,cane right raise=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The hand cast} + +\keyexplain{hand cast left}{text}{X} + Show a symbol above the left wing of the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hand cast left=ABCDEFG] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{handcast left}{hand cast left} + +\subkeyexplain{hand cast left}{hand cast left color}{color}{\pingu@color@handcast@left@color} + Change the color of the left hand cast: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hand cast left, + hand cast left color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\keyalias{handcast left color}{hand cast left color} + +\keyexplain{hand cast right}{text}{X} + Show a symbol above the right wing of the penguin: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hand cast right=ABCDEFG] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\keyalias{handcast right}{hand cast right} + +\subkeyexplain{hand cast right}{hand cast right color}{color}{\pingu@color@handcast@right@color} + Change the color of the right hand cast: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hand cast right, + hand cast right color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\keyalias{handcast right color}{hand cast right color} + +\subsubsection{The sign post} + +\showkeyexplain{sign post left}{text}{}(Example) +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sign post left=ABC] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{signpost left}{sign post left} + +\subkeyexplain{sign post left}{sign post left color}{color}{\pingu@color@signpostleft} + Change the color of the sign post: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sign post left, sign post left color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{signpost left color}{sign post left color}{sign post left} + +\subkeyexplain{sign post left}{sign post left font color}{color}{\pingu@color@signpostleft@font} + Change the font color of the sign post: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sign post left=ABCD, + sign post left font color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{signpost left fontcolor}{sign post left font color}{sign post left} + +\showkeyexplain{sign post right}{text}{}(Example) +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sign post right=ABC] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\keyalias{signpost right}{sign post right} + +\subkeyexplain{sign post right}{sign post right color}{color}{\pingu@color@signpostright} + Change the color of the sign post: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sign post right, sign post right color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{signpost right color}{sign post right color}{sign post right} + +\subkeyexplain{sign post right}{sign post right font color}{color}{\pingu@color@signpostright@font} + Change the font color of the sign post: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[sign post right=ABCD, + sign post right font color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{signpost right fontcolor}{sign post right font color}{sign post right} + +\subsubsection{The lightsaber} + +\showkeyexplain{lightsaber left}{color}{pingu@blue} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left handle}{color}{\pingu@color@lightsaberleft@handle} + Change the color of the penguins lightsabers' handle: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, + lightsaber left handle=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left deco}{color}{\pingu@color@lightsaberleft@deco} + Change the color of the penguins lightsabers' decoration elements: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, + lightsaber left deco=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left ribbs}{color}{\pingu@color@lightsaberleft@ribbs} + Change the color of the penguins lightsabers' ribbs: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, + lightsaber left ribbs=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left button}{color}{\pingu@color@lightsaberleft@button} + Change the color of the penguins lightsabers' first button: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, + lightsaber left button=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left button b}{color}{\pingu@color@lightsaberleft@button@b} + Change the color of the penguins lightsabers' second button: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, + lightsaber left button b=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left double}{true/false}{\if@pingu@x@lightsaber@double@left true\else false\fi} +Toggle the visibility of the second lightsaber: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left double, + left wing item angle=90] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\@col{} +\subkeyexplain{lightsaber left}{lightsaber left color b}{color}{\pingu@color@lightsaberleft@color@b} + Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber left double} is enabled: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left double, + lightsaber left color b=green, + left wing item angle=90] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{lightsaber left}{lightsaber left length}{length}{\pingu@x@lightsaber@length@left} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left length=6mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left length b}{length}{\pingu@x@lightsaber@length@b@left} + Change the length of the penguins second lightsaber (active with \keyref{lightsaber left double}): +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left double, + lightsaber left length b=6mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + + +\subkeyexplain{lightsaber left}{lightsaber left yshift}{length}{\pingu@x@lightsaber@yshift@left} + Shift the penguins lightsaber in the y direction: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left yshift=12mm, + lightsaber left length=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left glow}{true/false}{\if@pingu@x@lightsaber@glow@left true\else false\fi} +Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left glow=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left solid}{}{} +Disables the \keyref{lightsaber left glow}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left solid] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left glow core}{color}{\pingu@color@lightsaberleft@glow@core} +Change the color of the lightsabers glow core: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left glow=true, + lightsaber left glow core=cyan] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left outer glow factor}{factor}{\pingu@x@lightsaber@ogf@left} +Modify the glow factor of the left lightsaber: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, + lightsaber left outer glow factor=.3] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber left}{lightsaber left disabled}{}{} +Disables the lightsaber so only the handle is visible: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber left, lightsaber left disabled] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + + +\showkeyexplain{lightsaber right}{color}{pingu@blue} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right handle}{color}{\pingu@color@lightsaberright@handle} + Change the color of the penguins lightsabers' handle: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right handle=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right deco}{color}{\pingu@color@lightsaberright@deco} + Change the color of the penguins lightsabers' decoration elements: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right deco=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right ribbs}{color}{\pingu@color@lightsaberright@ribbs} + Change the color of the penguins lightsabers' ribbs: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right ribbs=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right button}{color}{\pingu@color@lightsaberright@button} + Change the color of the penguins lightsabers' first button: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right button=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right button b}{color}{\pingu@color@lightsaberright@button@b} + Change the color of the penguins lightsabers' second button: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right button b=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right double}{true/false}{\if@pingu@x@lightsaber@double@right true\else false\fi} +Toggle the visibility of the second lightsaber: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, lightsaber right double, + right wing item angle=90] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\@col{} +\subkeyexplain{lightsaber right}{lightsaber right color b}{color}{\pingu@color@lightsaberright@color@b} + Change the color of the penguins second lightsaber, which is only shown if \keyref{lightsaber right double} is enabled: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, lightsaber right double, + lightsaber right color b=green, + right wing item angle=90] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{lightsaber right}{lightsaber right length}{length}{\pingu@x@lightsaber@length@right} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right length=6mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right length b}{length}{\pingu@x@lightsaber@length@b@right} + Change the length of the penguins second lightsaber (active with \keyref{lightsaber right double}): +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, lightsaber right double, + lightsaber right length b=6mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + + +\subkeyexplain{lightsaber right}{lightsaber right yshift}{length}{\pingu@x@lightsaber@yshift@right} + Shift the penguins lightsaber in the y direction: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right yshift=12mm, + lightsaber right length=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right glow}{true/false}{\if@pingu@x@lightsaber@glow@right true\else false\fi} +Toggle the glow of the lightsaber. The default is controlled by the \texttt{glows}-package option. +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right glow=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right solid}{}{} +Disables the \keyref{lightsaber right glow}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, lightsaber right solid] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right glow core}{color}{\pingu@color@lightsaberright@glow@core} +Change the color of the lightsabers glow core: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, lightsaber right glow=true, + lightsaber right glow core=cyan] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right outer glow factor}{factor}{\pingu@x@lightsaber@ogf@right} +Modify the glow factor of the right lightsaber: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, + lightsaber right outer glow factor=.3] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{lightsaber right}{lightsaber right disabled}{}{} +Disables the lightsaber so only the handle is visible: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[lightsaber right, lightsaber right disabled] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The lightstaff} + +\showkeyexplain{light-staff left}{color}{pingu@green} +Color similar to \keyref{light-staff left head}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{light-staff left}{light-staff left length}{length}{\pingu@lightstaff@left@length} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left length=18mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff left}{light-staff left glow length}{length}{\pingu@lightstaff@left@glow@length} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left glow length=16mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff left}{light-staff left head}{color}{pingu@green} +Same as assigning the color to \keyref{light-staff left}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left head=pingu@purple] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff left}{light-staff left staff}{color}{\pingu@color@lightstaff@left@staff} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left staff=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff left}{light-staff left core}{color}{\pingu@color@lightstaff@left@head@core} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left core=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff left}{light-staff left core width}{length}{\pingu@lightstaff@left@core@width} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left core width=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff left}{light-staff left outer glow factor}{factor}{\pingu@x@lightstaff@ogf@left} +Similar to \keyref{lightsaber left outer glow factor}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff left, + light-staff left outer glow factor=.5] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{light-staff right}{color}{pingu@green} +Color similar to \keyref{light-staff right head}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{light-staff right}{light-staff right length}{length}{\pingu@lightstaff@right@length} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right length=18mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff right}{light-staff right glow length}{length}{\pingu@lightstaff@right@glow@length} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right glow length=16mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff right}{light-staff right head}{color}{pingu@green} +Same as assigning the color to \keyref{light-staff right}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right head=pingu@purple] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff right}{light-staff right staff}{color}{\pingu@color@lightstaff@right@staff} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right staff=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff right}{light-staff right core}{color}{\pingu@color@lightstaff@right@head@core} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right core=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff right}{light-staff right core width}{length}{\pingu@lightstaff@right@core@width} +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right core width=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{light-staff right}{light-staff right outer glow factor}{factor}{\pingu@x@lightstaff@ogf@right} +Similar to \keyref{lightsaber right outer glow factor}: +\begin{tcblisting}{} +\begin{tikzpicture} + \pingu[light-staff right, + light-staff right outer glow factor=.5] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The flag} +The flag is special in that it is meant to be customized by commands so that the visible insignia is to the users liking. + +\showkeyexplain{flag left}{color}{pingu@purple} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{flag left}{flag left pole}{color}{\pingu@color@flagleft@pole} +Change the color of the flag pole: + \begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag left, flag left pole=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{flag left}{flag left bobble}{color}{\pingu@color@flagleft@bobble} +Change the color of the flag poles top bobble: + \begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag left, flag left bobble=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{flag left}{flag left code}{\LaTeX-code}{omitted} +Set the flag code which is effectively the drawing code of the flag. +You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: + \begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag left, flag left code={ + \node[/pingu/@flag@first, + /pingu/@flag={blue}{5mm}] + (upper) at (0,0) {}; + \node[below,/pingu/@flag={black}{4mm}] + (lower) at (upper.south) {}; + }] +\end{tikzpicture} +\end{tcblisting} +Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. +\endsubkeyexplain + +\@toggle@showcase % just so that they are aligned on the same side +\showkeyexplain{pride flag left}{color}{pingu@bronze} + Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a pride flag. The color argument is passed to \keyref{flag left pole}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pride flag left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain +\@toggle@showcase % and back + + +\showkeyexplain{german flag left}{color}{pingu@bronze} + Uses \keyref{flag left}, \keyref{flag left code}, and \keyref{flag left pole} to set a german flag. The color argument is passed to \keyref{flag left pole}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[german flag left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + + +\showkeyexplain{flag right}{color}{pingu@purple} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{flag right}{flag right pole}{color}{\pingu@color@flagright@pole} +Change the color of the flag pole: + \begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag right, flag right pole=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{flag right}{flag right bobble}{color}{\pingu@color@flagright@bobble} +Change the color of the flag poles top bobble: + \begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag right, flag right bobble=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{flag right}{flag right code}{\LaTeX-code}{omitted} +Set the flag code which is effectively the drawing code of the flag. +You can use the styles \lpingu{/pingu/@flag@first} and \lpingu{/pingu/@flag} to inherit the default flag styles and to stay compliant with the modifications of the other macros: + \begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[flag right, flag right code={ + \node[/pingu/@flag@first, + /pingu/@flag={blue}{5mm}] + (upper) at (0,0) {}; + \node[below,/pingu/@flag={black}{4mm}] + (lower) at (upper.south) {}; + }] +\end{tikzpicture} +\end{tcblisting} +Note that \lpingu{/pingu/@flag} expects two arguments: the color of the flag segment and its thickness. +\endsubkeyexplain + +\@toggle@showcase % just so that they are aligned on the same side +\showkeyexplain{pride flag right}{color}{pingu@bronze} + Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a pride flag. The color argument is passed to \keyref{flag right pole}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pride flag right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain +\@toggle@showcase + +\showkeyexplain{german flag right}{color}{pingu@bronze} + Uses \keyref{flag right}, \keyref{flag right code}, and \keyref{flag right pole} to set a german flag. The color argument is passed to \keyref{flag right pole}. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[german flag right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subsubsection{The staff} + +\showkeyexplain{staff left}{color}{pingu@bronze} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[staff left=green, left item angle=70] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{staff left}{staff left length}{length}{\pingu@staff@left@length} +Change the staff length: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[staff left, staff left length=20mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{staff right}{color}{pingu@bronze} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[staff right=green, right item angle=70] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{staff right}{staff right length}{length}{\pingu@staff@right@length} +Change the staff length: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[staff right, staff right length=20mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The laptop} + +\showkeyexplain{laptop left}{color}{gray!80!pingu@white} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@laptopleft{laptop-left-color} +\subkeyexplain{laptop left}{laptop left bracket}{color}{\pingu@color@laptopleft@bracket} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left, laptop left bracket=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop left}{laptop left lower}{color}{\pingu@color@laptopleft@lower} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left, laptop left lower=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop left}{laptop left key}{color}{\pingu@color@laptopleft@key} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left, laptop left key=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop left}{laptop left display}{color}{\pingu@color@laptopleft@display} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left, laptop left display=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop left}{laptop left content}{tikz-code}{\pingu@x@laptopleft@content} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left, laptop left content={\draw circle[radius=2mm];}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop left}{laptop left mid}{code}{\pingu@x@laptopleft@mid} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop left, laptop left mid={Hey}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +} + + +\showkeyexplain{laptop right}{color}{gray!80!pingu@white} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@laptopright{laptop-right-color} +\subkeyexplain{laptop right}{laptop right bracket}{color}{\pingu@color@laptopright@bracket} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right, laptop right bracket=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop right}{laptop right lower}{color}{\pingu@color@laptopright@lower} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right, laptop right lower=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop right}{laptop right key}{color}{\pingu@color@laptopright@key} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right, laptop right key=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop right}{laptop right display}{color}{\pingu@color@laptopright@display} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right, laptop right display=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop right}{laptop right content}{tikz-code}{\pingu@x@laptopright@content} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right, laptop right content={\draw circle[radius=2mm];}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{laptop right}{laptop right mid}{code}{\pingu@x@laptopright@mid} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[laptop right, laptop right mid={Hey}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +} + +\subsubsection{The devil fork} + +\showkeyexplain{devil fork left}{color}{pingu@red} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil fork left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{devil fork left}{devil fork left second}{color}{\pingu@color@devilforkleft@second} +Staff color of the \keyref{devil fork left}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil fork left, + devil fork left second=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{devil fork left}{devil fork left length}{color}{\pingu@devilfork@left@length} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil fork left, devil fork left length=7mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{devil fork right}{color}{pingu@red} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil fork right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{devil fork right}{devil fork right second}{color}{\pingu@color@devilforkright@second} +Staff color of the \keyref{devil fork right}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil fork right, + devil fork right second=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{devil fork right}{devil fork right length}{color}{\pingu@devilfork@right@length} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[devil fork right, + devil fork right length=7mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The Horse} + +\showkeyexplain{horse left}{color}{pingu@bronze!80!pingu@black} + Give it a horse: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{horse left}{horse left flip}{true/false}{false} +By default, the left horse will be flipped. The right horse won't. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left flip=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left has base}{true/false}{false} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left has base] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@horseleft{} +\subkeyexplain{horse left}{horse left draw}{color}{\pingu@color@horseleft@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left mane}{color}{\pingu@color@horseleft@mane} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left mane=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseleft@mane{} +\subkeyexplain{horse left}{horse left mane draw}{color}{\pingu@color@horseleft@mane@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left mane draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left thatch}{color}{\pingu@color@horseleft@thatch} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left thatch=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseleft@thatch{} +\subkeyexplain{horse left}{horse left thatch draw}{color}{\pingu@color@horseleft@thatch@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left thatch draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left tail}{color}{\pingu@color@horseleft@tail} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left tail=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseleft@tail{} +\subkeyexplain{horse left}{horse left tail draw}{color}{\pingu@color@horseleft@tail@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left tail draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left eyes}{color}{\pingu@color@horseleft@eyes} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left eyes=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +\subkeyalias{horse left eye}{horse left eyes}{horse left} + +\subkeyexplain{horse left}{horse left mouth}{color}{\pingu@color@horseleft@mouth} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left mouth=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left nose}{color}{\pingu@color@horseleft@nose} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left nose=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left ears}{color}{\pingu@color@horseleft@ears} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left ears=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left base}{color}{\pingu@color@horseleft@base} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left has base, + horse left base=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseleft@base{} +\subkeyexplain{horse left}{horse left base draw}{color}{\pingu@color@horseleft@base@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left has base, + horse left base draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left base shade}{color}{\pingu@color@horseleft@base@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left has base, + horse left base shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseleft@base@shade{} +\subkeyexplain{horse left}{horse left base shade draw}{color}{\pingu@color@horseleft@base@shade@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left has base, + horse left base shade draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left xshift}{length}{\pingu@x@horseleft@xshift} +This key reacts with the \keyref{horse left flip} option! +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left xshift=1cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left yshift}{length}{\pingu@x@horseleft@yshift} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left yshift=1cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse left}{horse left on base}{}{} +Uses \keyref{horse left xshift} and \keyref{horse left yshift} to align a horse on a base to be set on the penguin-wing: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse left,horse left has base, + horse left on base] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +} + +\showkeyexplain{horse right}{color}{pingu@bronze!80!pingu@black} + Give it a horse: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{horse right}{horse right flip}{true/false}{false} +By default, the right horse will be flipped. The right horse won't. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right flip=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right has base}{true/false}{false} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right has base] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@horseright{} +\subkeyexplain{horse right}{horse right draw}{color}{\pingu@color@horseright@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right mane}{color}{\pingu@color@horseright@mane} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right mane=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseright@mane{} +\subkeyexplain{horse right}{horse right mane draw}{color}{\pingu@color@horseright@mane@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right mane draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right thatch}{color}{\pingu@color@horseright@thatch} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right thatch=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseright@thatch{} +\subkeyexplain{horse right}{horse right thatch draw}{color}{\pingu@color@horseright@thatch@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right thatch draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right tail}{color}{\pingu@color@horseright@tail} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right tail=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseright@tail{} +\subkeyexplain{horse right}{horse right tail draw}{color}{\pingu@color@horseright@tail@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right tail draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right eyes}{color}{\pingu@color@horseright@eyes} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right eyes=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +\subkeyalias{horse right eye}{horse right eyes}{horse right} + +\subkeyexplain{horse right}{horse right mouth}{color}{\pingu@color@horseright@mouth} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right mouth=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right nose}{color}{\pingu@color@horseright@nose} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right nose=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right ears}{color}{\pingu@color@horseright@ears} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right ears=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right base}{color}{\pingu@color@horseright@base} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right has base, + horse right base=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseright@base{} +\subkeyexplain{horse right}{horse right base draw}{color}{\pingu@color@horseright@base@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right has base, + horse right base draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right base shade}{color}{\pingu@color@horseright@base@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right has base, + horse right base shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\def\pingu@color@horseright@base@shade{} +\subkeyexplain{horse right}{horse right base shade draw}{color}{\pingu@color@horseright@base@shade@draw} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right has base, + horse right base shade draw=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right xshift}{color}{\pingu@x@horseright@xshift} +This key reacts with the \keyref{horse right flip} option! +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right xshift=1cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right yshift}{color}{\pingu@x@horseright@yshift} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right yshift=1cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{horse right}{horse right on base}{}{} +Uses \keyref{horse right xshift} and \keyref{horse right yshift} to align a horse on a base to be set on the penguin-wing: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[horse right,horse right has base, + horse right on base] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain +} + + +\subsection{Clothes} + +Clothes are currently completely work in progress as the goal is to create an elegant way to offer clothes that adapt to the wing positions of the penguin. +Currently there is only one cloth type that may be heavily edited in the course of development\ldots + +\subsubsection{The cloak} + +Originally developed just as a cape, the cloak is no a whole extension. + +\showkeyexplain{cloak}{color}{pingu@bronze} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cloak=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\begin{tcblisting}{sidebyside=false, title=Cloak-Showcase} +\begin{tikzpicture} + \pingu[wings wave, cloak] + \pingu[wings shock, cloak, xshift=3.5cm] + \pingu[right wing wave, left wing hug, cloak, xshift=7cm] + \pingu[right wing grab, left wing raise, cloak, xshift=10.5cm] +\end{tikzpicture} +\end{tcblisting} + +{\def\pingu@color@cloak{} +\subkeyexplain{cloak}{cloak cap}{color}{\pingu@color@cloak@cap} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cloak, cloak cap=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@cloak{} +\subkeyexplain{cloak}{cloak wings color}{color}{\pingu@color@cloak@wings} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cloak, cloak wings color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@cloak{} +\subkeyexplain{cloak}{cloak bottom color}{color}{\pingu@color@cloak@bottom} + Should change the cloaks bottom color (currently ineffective): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cloak, cloak bottom color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@cloak{} +\subkeyexplain{cloak}{cloak front color}{color}{\pingu@color@cloak@front} + Should change the cloaks front color (currently ineffective): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cloak, cloak front color=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{cloak}{cloak padding}{length}{\pingu@x@cloak@padding} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cloak, cloak padding=13mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\showkeyexplain{cape}{color}{pingu@bronze} + Uses \keyref{cloak} but disables all parts that are not part of a cape: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cape=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subsubsection{The shirt} + +\showkeyexplain{shirt}{color}{pingu@bronze} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{shirt}{shirt raise}{length}{\pingu@shirt@raise} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt raise=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt padding}{length}{\pingu@shirt@padding} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt padding=4mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt button top}{color}{\pingu@color@shirt@button@top} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt button top=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt button middle}{color}{\pingu@color@shirt@button@middle} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt button middle=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt button bottom}{color}{\pingu@color@shirt@button@bottom} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt button bottom=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt buttons}{color}{} +Set \keyref{shirt button top}, \keyref{shirt button middle} and \keyref{shirt button bottom}, that is all the buttons, with the same color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt buttons=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} +\subkeyexplain{shirt}{shirt button top shade}{color}{\pingu@color@shirt@button@top@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt button top shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@shirt@button@middle{}\def\pingu@color@shirt{} +\subkeyexplain{shirt}{shirt button middle shade}{color}{\pingu@color@shirt@button@middle@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt button middle shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +{\def\pingu@color@shirt@button@top{}\def\pingu@color@shirt{} +\subkeyexplain{shirt}{shirt button bottom shade}{color}{\pingu@color@shirt@button@bottom@shade} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt button bottom shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} + +\subkeyexplain{shirt}{shirt buttons shade}{color}{} +Set all shadings of the buttons: \keyref{shirt button top shade}, \keyref{shirt button middle shade} and \keyref{shirt button bottom shade} with the same color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt buttons shade=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt no buttons}{}{} +Disable all buttons (by setting their colors to \lpingu{!hide}): +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, shirt no buttons] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{shirt}{shirt above}{}{} +This is interesting in combination with other extras as it allows the \keyref{shirt} to be drawn above them. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[shirt, tie, shirt above] + \pingu[shirt, tie, xshift=3cm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The second shirt} +\showkeyexplain{second shirt}{color}{pingu@red} + Display a shirt below the \keyref{shirt}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[second shirt=green, shirt] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{second shirt}{second shirt raise}{length}{\pingu@secondshirt@raise} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[second shirt, second shirt raise=5mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@secondshirt{} +\subkeyexplain{second shirt}{second shirt neck}{color}{\pingu@color@secondshirt@neck} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[second shirt, second shirt neck=green] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain} % set up for inclusion From 181071f4da904ed8068e1921b6d57bbf1960b451 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 16:33:29 +0200 Subject: [PATCH 06/28] remove wrong whitespace --- doc/tikzpingus-doc.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 09a2c58..7c8901c 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -618,7 +618,7 @@ \subsection{Changing the wings} \pingu[left wing none, heart=green] \pingu[wings wave, heart=teal, xshift=3.5cm] \pingu[wings hug, heart=orange, xshift=7cm] - \pingu[left wing grab, right wing shock, heart=purple, xshift=10.5cm] + \pingu[left wing grab, right wing shock, heart=purple, xshift=10.5cm] \end{tikzpicture} \end{tcblisting} From 8c7ff5494efc1cab926444aa9abdeba4954ca6c4 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 16:36:07 +0200 Subject: [PATCH 07/28] remove creating hyperlink typeout --- doc/tikzpingus-doc.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 7c8901c..694b87f 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -136,7 +136,7 @@ {\\pgfmathsetseed}{{\ghostcmd{pgfmathsetseed}}}{15} } -\def\@CreateCodeHyperLink#1#2#3#4{\typeout{Creating hyperlink #2 => #3}\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#4}}}{#1}}} +\def\@CreateCodeHyperLink#1#2#3#4{\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#4}}}{#1}}} % #1 Keys | #2 length (optimized) \def\CreateCodeHyperLink#1#2{% \StrLen{\@elem}[\@cclen] \@for\@elem:=#1\do{\ifx\@elem\@empty\else From 0b76368b4e99dff55beb82940aea0b274d4bf99e Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 16:50:27 +0200 Subject: [PATCH 08/28] base keyarg system --- doc/tikzpingus-doc.tex | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 694b87f..8ebb1e2 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -207,11 +207,13 @@ \def\explaincolor{@opcolor!8!white} \def\cursub{} \def\keyexplainindent{2.5em}% +\let\@explainsuff\@empty \let\@labelhack\@empty % allow the oxes to have minor overlaps \newenvironment{keyexplain}[4][/pingu/]{\minipage{\linewidth} \parskip\smallskipamount \StrSubstitute{#2}{ }{-}[\keyexternalname]% + % only use _ to keep the length intact when replace with the backslash \StrSubstitute{\keyexternalname}{\\}{_}[\keyexternalname]% {\def\\{_}\protected@xdef\@key{#2}}%% {\def\\{}\protected@xdef\@idxkey{#2}}%% backslash should not interfere with keys @@ -229,7 +231,7 @@ \protected@edef\@tmpb{#3}% \hspace*{-\keyexplainindent}\tcbox[left=3pt,right=3pt,top=3pt,bottom=3pt,colframe=white,colback=\explaincolor,on line]{% \parbox{\dimexpr\linewidth-2\fboxsep+\keyexplainindent}{\small - \ifx\@tmpb\@empty\lpingu{#1#2}\else\lpingu{#1#2 =\ }\texttt{<\textit{\@tmpb}>}\fi\hfill + \ifx\@tmpb\@empty\lpingu{#1#2}\@explainsuff\else\lpingu{#1#2 =\ }\texttt{<\textit{\@tmpb}>}\fi\hfill \ifx\@tmp\@empty\else{\@declaredcolor{gray}(}#4{\@declaredcolor{gray})}\fi } }\ifcsname pingu@@lib@\@key @\endcsname\index{Libraries!\textit{\csname pingu@@lib@#2@\endcsname}!\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}\rlap{~\quad\raisebox{2.75pt}{$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\footnotesize\strut\csname pingu@@lib@#2@\endcsname}}}$}}\fi\kern-\linewidth\par\endgroup @@ -257,10 +259,13 @@ {\@declaredcolor{gray}\footnotesize This command is only in effect if \keyref[#1]{#2} is active.}\par }{\endkeyexplain\endgroup} -\newenvironment{commandexplain}[1]{% +\newenvironment{commandexplain}[2]{% \begingroup \def\@labelhack{/pingu/}% -\def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% +\mand##1{\texttt{\{##1\}}}% +% #2 is the default +\opt##1##2{\texttt{\textit{[##1\ifx!##2!\else\textcolor{lightgray}{\smaller=##2}\fi]}}}% +\def\@explainsuff{#2}% \keyexplain[]{\\#1}{}{}% }{\endkeyexplain\endgroup} @@ -4936,12 +4941,12 @@ \section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. \subsection{General commands} -\begin{commandexplain}{pingu} - The command to draw the penguin! TODO: command args. +\begin{commandexplain}{pingu}{\opt{penguin keys}} + The command to draw the penguin! \end{commandexplain} -\begin{commandexplain}{pingu@name} - Holds the name of the penguin. +\begin{commandexplain}{pingu@name}{} + Holds the name of the penguin. Do not redefine, but use \keyref{name}. \end{commandexplain} \subsection{Adding new Eyes} From bc1954e7859943d9c97f4ba3b229cc21d4de4e6b Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 17:19:02 +0200 Subject: [PATCH 09/28] improved arg display --- doc/tikzpingus-doc.tex | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 8ebb1e2..4d98f03 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -262,9 +262,9 @@ \newenvironment{commandexplain}[2]{% \begingroup \def\@labelhack{/pingu/}% -\mand##1{\texttt{\{##1\}}}% +\def\mand##1{\texttt{\{##1\}}}% % #2 is the default -\opt##1##2{\texttt{\textit{[##1\ifx!##2!\else\textcolor{lightgray}{\smaller=##2}\fi]}}}% +\def\opt##1##2{\texttt{\textit{[##1\ifx!##2!\else\textcolor{lightgray}{\smaller\sffamily=##2}\fi]}}}% \def\@explainsuff{#2}% \keyexplain[]{\\#1}{}{}% }{\endkeyexplain\endgroup} @@ -4941,7 +4941,8 @@ \section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. \subsection{General commands} -\begin{commandexplain}{pingu}{\opt{penguin keys}} +% TODO: make the default argument of optionals a optional argument :D +\begin{commandexplain}{pingu}{\opt{penguin keys}{}} The command to draw the penguin! \end{commandexplain} From f45499c3da28602003f0713ca30478470a8a4708 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 17:28:45 +0200 Subject: [PATCH 10/28] optional optional and different style for commands --- doc/tikzpingus-doc.tex | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 4d98f03..993754d 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -74,6 +74,7 @@ \addtokomafont{date}{\normalsize} \def\optstyle{\@declaredcolor{@opcolor}\slshape} +\def\cmdstyle{\@declaredcolor{doc-main}} \colorlet{@softgray}{gray!60!white} \colorlet{@softgray@b}{gray!75!white} \colorlet{@darkerblue}{pingu@blue!40!black} @@ -136,14 +137,18 @@ {\\pgfmathsetseed}{{\ghostcmd{pgfmathsetseed}}}{15} } -\def\@CreateCodeHyperLink#1#2#3#4{\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#4}}}{#1}}} +\def\@CreateCodeHyperLink#1#2#3#4{\lstset{add to literate={#2}{{\hyperref[#3]{\hyperstyle#4}}}{#1}}} % #1 Keys | #2 length (optimized) \def\CreateCodeHyperLink#1#2{% \StrLen{\@elem}[\@cclen] \@for\@elem:=#1\do{\ifx\@elem\@empty\else % space to space cmd % TODO: do this on store and just keep store? \StrSubstitute{\@elem}{ }{\noexpand\ }[\@sub]\relax - \StrSubstitute{\@sub}{_}{\\}[\@sub]% - \StrSubstitute{\@sub}{\\}{\textbackslash}[\@subb]% deal with backslash + \let\hyperstyle\optstyle + \IfSubStr{\@sub}{_}{% update hypersyle + \let\hyperstyle\cmdstyle + \StrSubstitute{\@sub}{_}{\\}[\@sub]% + \StrSubstitute{\@sub}{\\}{\textbackslash}[\@subb]% deal with backslash + }{\let\@subb\@sub} \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}{\@subb}}\@tmp\fi}% } % store all. we use their precalculated length to ensure prefixes we go from small to large on set @@ -259,14 +264,17 @@ {\@declaredcolor{gray}\footnotesize This command is only in effect if \keyref[#1]{#2} is active.}\par }{\endkeyexplain\endgroup} -\newenvironment{commandexplain}[2]{% +\newenvironment{commandexplain}[3][]{% \begingroup \def\@labelhack{/pingu/}% \def\mand##1{\texttt{\{##1\}}}% -% #2 is the default -\def\opt##1##2{\texttt{\textit{[##1\ifx!##2!\else\textcolor{lightgray}{\smaller\sffamily=##2}\fi]}}}% -\def\@explainsuff{#2}% -\keyexplain[]{\\#1}{}{}% +\def\@pingu@command@keypartner{#1}% +% #1 is the default +\newcommand\opt[2][]{\texttt{\textit{[##2\ifx!##1!\else\textcolor{lightgray}{\smaller\sffamily=##1}\fi]}}}% +\def\@explainsuff{#3}% +\keyexplain[]{\\#2}{}{}% +\ifx\@pingu@command@keypartner\@empty\else +{\@declaredcolor{gray}\footnotesize Do \textbf{not} redefine this command, it is controlled by \keyref{#1}.}\par\fi }{\endkeyexplain\endgroup} \def\consumeshowkeyexplain#1(#2){\ShowcaseThis[#2]{#1}} @@ -4941,13 +4949,12 @@ \section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. \subsection{General commands} -% TODO: make the default argument of optionals a optional argument :D -\begin{commandexplain}{pingu}{\opt{penguin keys}{}} +\begin{commandexplain}{pingu}{\opt{penguin keys}} The command to draw the penguin! \end{commandexplain} -\begin{commandexplain}{pingu@name}{} - Holds the name of the penguin. Do not redefine, but use \keyref{name}. +\begin{commandexplain}[name]{pingu@name}{} + Holds the name of the penguin. \end{commandexplain} \subsection{Adding new Eyes} From f1bb30e96f8086d7a95252084a51262887e83ca3 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 17:37:27 +0200 Subject: [PATCH 11/28] hyperstyle at creation --- doc/tikzpingus-doc.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 993754d..e9c946b 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -137,7 +137,7 @@ {\\pgfmathsetseed}{{\ghostcmd{pgfmathsetseed}}}{15} } -\def\@CreateCodeHyperLink#1#2#3#4{\lstset{add to literate={#2}{{\hyperref[#3]{\hyperstyle#4}}}{#1}}} +\def\@CreateCodeHyperLink#1#2#3#4{\lstset{add to literate={#2}{{\hyperref[#3]{#4}}}{#1}}} % #1 Keys | #2 length (optimized) \def\CreateCodeHyperLink#1#2{% \StrLen{\@elem}[\@cclen] \@for\@elem:=#1\do{\ifx\@elem\@empty\else @@ -149,7 +149,7 @@ \StrSubstitute{\@sub}{_}{\\}[\@sub]% \StrSubstitute{\@sub}{\\}{\textbackslash}[\@subb]% deal with backslash }{\let\@subb\@sub} - \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}{\@subb}}\@tmp\fi}% + \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}{\hyperstyle\@subb}}\@tmp\fi}% } % store all. we use their precalculated length to ensure prefixes we go from small to large on set \def\cmdsstore#1#2{\csxdef{allcmds@#1}{#2}} From 821a8328ba256263b806b9b99f84a007ea7491ae Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 17:59:36 +0200 Subject: [PATCH 12/28] even darker cmds --- doc/tikzpingus-doc.tex | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index e9c946b..9b9cff1 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -73,11 +73,12 @@ \addtokomafont{author}{\normalsize} \addtokomafont{date}{\normalsize} -\def\optstyle{\@declaredcolor{@opcolor}\slshape} -\def\cmdstyle{\@declaredcolor{doc-main}} \colorlet{@softgray}{gray!60!white} \colorlet{@softgray@b}{gray!75!white} \colorlet{@darkerblue}{pingu@blue!40!black} + +\def\optstyle{\@declaredcolor{@opcolor}\slshape} +\def\cmdstyle{\@declaredcolor{@darkerblue}} \def\lstfnsize{-.7} \lstdefinestyle{lstpingu}{% tabsize=2, breaklines, @@ -137,7 +138,7 @@ {\\pgfmathsetseed}{{\ghostcmd{pgfmathsetseed}}}{15} } -\def\@CreateCodeHyperLink#1#2#3#4{\lstset{add to literate={#2}{{\hyperref[#3]{#4}}}{#1}}} +\def\@CreateCodeHyperLink#1#2#3#4#5{\lstset{add to literate={#2}{{#5\hyperref[#3]{#4}}}{#1}}} % #1 Keys | #2 length (optimized) \def\CreateCodeHyperLink#1#2{% \StrLen{\@elem}[\@cclen] \@for\@elem:=#1\do{\ifx\@elem\@empty\else @@ -149,7 +150,7 @@ \StrSubstitute{\@sub}{_}{\\}[\@sub]% \StrSubstitute{\@sub}{\\}{\textbackslash}[\@subb]% deal with backslash }{\let\@subb\@sub} - \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}{\hyperstyle\@subb}}\@tmp\fi}% + \edef\@tmp{\noexpand\@CreateCodeHyperLink{#2}{\@sub}{pk:/pingu/\@elem}{\@subb}{\expandonce{\hyperstyle}}}\@tmp\fi}% } % store all. we use their precalculated length to ensure prefixes we go from small to large on set \def\cmdsstore#1#2{\csxdef{allcmds@#1}{#2}} From 1ed951338ff264d2dd2217ccbbc175993ff072b9 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 18:17:38 +0200 Subject: [PATCH 13/28] move colors to hyper and move up pingu --- doc/tikzpingus-doc.tex | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 9b9cff1..9ab0e19 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -138,7 +138,7 @@ {\\pgfmathsetseed}{{\ghostcmd{pgfmathsetseed}}}{15} } -\def\@CreateCodeHyperLink#1#2#3#4#5{\lstset{add to literate={#2}{{#5\hyperref[#3]{#4}}}{#1}}} +\def\@CreateCodeHyperLink#1#2#3#4#5{\lstset{add to literate={#2}{{\hyperref[#3]{#5#4}}}{#1}}} % #1 Keys | #2 length (optimized) \def\CreateCodeHyperLink#1#2{% \StrLen{\@elem}[\@cclen] \@for\@elem:=#1\do{\ifx\@elem\@empty\else @@ -256,6 +256,8 @@ \newcommand*\keyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#1#2}}} \newcommand*\dkeyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#2}}} +\newcommand*\cmdref[1]{\hyperref[pk:/pingu/:bs:#1]{\lpingu{\\#1}}} + \colorlet{@softexplaincolor}{gray!8!white} \newenvironment{subkeyexplain}[5][/pingu/]{% \begingroup @@ -471,6 +473,10 @@ \section{Usage}\label{Usage} \end{tcblisting} Please note, that \say{left} and \say{right} have been chosen from the penguin-perspective. +\begin{commandexplain}{pingu}{\opt{penguin keys}} + The command to draw the penguin! +\end{commandexplain} + \clearpage Besides the keys defined by this package, you can use the keys of \TikZ\ and |pgf| as well (the duck was generated by the lovely \href{https://github.com/samcarter/tikzducks}{tikzducks} package): \begin{tcblisting}{title={The Reunion},externalize listing=pengu-duck} \begin{tikzpicture} @@ -4950,15 +4956,26 @@ \section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. \subsection{General commands} -\begin{commandexplain}{pingu}{\opt{penguin keys}} - The command to draw the penguin! -\end{commandexplain} \begin{commandexplain}[name]{pingu@name}{} Holds the name of the penguin. \end{commandexplain} -\subsection{Adding new Eyes} +\subsubsection{Selections} +TODO: explain selections +\begin{commandexplain}{pingu@create@selection}{\mand{name}\mand{none default}} + Creates a new enumeration-like structure that can be used to register a family of options (see \autoref{internal:eyes} for an example). + The \textit{none default} is used for the default member of the selection: \textit{none} which is active, whenever no other key is selected by \cmdref{pingu@@select}. + You can add keys by using \cmdref{pingu@@add} and execute the selection by \cmdref{@pingu@drawer@@}. +\end{commandexplain} +TODO: subcommandexplain and better cmdref + +\subsection{Adding new Eyes}\label{internal:eyes} + +\begin{commandexplain}{pingu@eye@shift}{} + This dimension holds a hardcoded value to be used as the offset for eyes. Its default value is \the\pingu@eye@shift. It may be removed in the future (or replaced by a option). +\end{commandexplain} + The eyes of the penguin are controlled by two selections for the left, and the right eye: \includecode{eyes\ selectors} From 0582be0c456b728e59c7d8eb0f4271d048525110 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 18:26:21 +0200 Subject: [PATCH 14/28] wip reformatting --- doc/tikzpingus-doc.tex | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 9ab0e19..7fe960a 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -450,11 +450,9 @@ \subsection{Dependencies} \subsection{Copyright} -Copyright \textcopyright\ \textit{Florian Sihler}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the GNU General Public License, version~3.0 (to be found online at: \url{https://opensource.org/licenses/gpl-3.0.html}). - +Copyright \textcopyright\ \textit{Florian Sihler}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the GNU General Public License, version~3.0 (to be found online at: \url{https://opensource.org/licenses/gpl-3.0.html}).\\* The shown example penguins are purely fictional characters, any resemblance to real penguins or real persons is purely coincidental and no copyright infringement is intended. -\vfill \section{Usage}\label{Usage} If you just want a penguin, import the package and start with the following: @@ -4963,6 +4961,7 @@ \subsection{General commands} \subsubsection{Selections} TODO: explain selections + \begin{commandexplain}{pingu@create@selection}{\mand{name}\mand{none default}} Creates a new enumeration-like structure that can be used to register a family of options (see \autoref{internal:eyes} for an example). The \textit{none default} is used for the default member of the selection: \textit{none} which is active, whenever no other key is selected by \cmdref{pingu@@select}. From 2139616a25e4cf5b0fa09e892586bb78b799ed70 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 18:35:08 +0200 Subject: [PATCH 15/28] minor reformat for atuo code snippet --- tex/tikzpingus.sty | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tex/tikzpingus.sty b/tex/tikzpingus.sty index 76c5e19..6d68b8d 100644 --- a/tex/tikzpingus.sty +++ b/tex/tikzpingus.sty @@ -108,10 +108,12 @@ % \pingu@create@selection{lefteye}{% - \path ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left);% + \path ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) + coordinate (\pingu@name-eye-left);% } \pingu@create@selection{righteye}{% - \path ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate (\pingu@name-eye-right);% + \path ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) + coordinate (\pingu@name-eye-right);% } % <@eyes selectors> From 7e136bacfb6210e74ccf0690e7c4af945fb73b4a Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 18:35:40 +0200 Subject: [PATCH 16/28] update name to selection --- doc/tikzpingus-doc.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 7fe960a..bc51abc 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -4964,8 +4964,8 @@ \subsubsection{Selections} \begin{commandexplain}{pingu@create@selection}{\mand{name}\mand{none default}} Creates a new enumeration-like structure that can be used to register a family of options (see \autoref{internal:eyes} for an example). - The \textit{none default} is used for the default member of the selection: \textit{none} which is active, whenever no other key is selected by \cmdref{pingu@@select}. - You can add keys by using \cmdref{pingu@@add} and execute the selection by \cmdref{@pingu@drawer@@}. + The \textit{none default} is used for the default member of the selection: \textit{none} which is active, whenever no other key is selected by \cmdref{pingu@@select}. + You can add keys by using \cmdref{pingu@@add} and execute the selection by \cmdref{@pingu@drawer@@}. \end{commandexplain} TODO: subcommandexplain and better cmdref From 4ffc8008db01fe87a29fa81278b67921fe8cea70 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 21:01:26 +0200 Subject: [PATCH 17/28] working subkeys for penguins --- doc/tikzpingus-doc.tex | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index bc51abc..08d487b 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -280,6 +280,15 @@ {\@declaredcolor{gray}\footnotesize Do \textbf{not} redefine this command, it is controlled by \keyref{#1}.}\par\fi }{\endkeyexplain\endgroup} +\newenvironment{subcommandexplain}[4][]{% +\begingroup +\def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% +{\def\\{}\protected@xdef\@subidxkey{#2}}%% backslash should not interfere with keys +\def\cursub{\@subidxkey?\hyperref[pk:_\@subidxkey]{\protect\lpingu{\\#2}}!}% +\commandexplain[#1]{#3}{#4}% + {\@declaredcolor{gray}\footnotesize This command is only usable in combination with \cmdref{#2}.}\par +}{\endcommandexplain\endgroup} + \def\consumeshowkeyexplain#1(#2){\ShowcaseThis[#2]{#1}} \newenvironment{showkeyexplain}[4][/pingu/]{% \keyexplain[#1]{#2}{#3}{#4}% @@ -4969,6 +4978,18 @@ \subsubsection{Selections} \end{commandexplain} TODO: subcommandexplain and better cmdref +\begin{subcommandexplain}{pingu@create@selection}{pingu@@select}{\mand{select}} + +\end{subcommandexplain} + +\begin{commandexplain}{pingu@@add}{\mand{select}} + +\end{commandexplain} + +\begin{commandexplain}{@pingu@drawer@@}{} + +\end{commandexplain} + \subsection{Adding new Eyes}\label{internal:eyes} \begin{commandexplain}{pingu@eye@shift}{} From 459086a866f27afb2ce378ee731ec6fda98f9723 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 21:25:37 +0200 Subject: [PATCH 18/28] move selections to subcommands --- doc/tikzpingus-doc.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 08d487b..c932b28 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -4982,13 +4982,13 @@ \subsubsection{Selections} \end{subcommandexplain} -\begin{commandexplain}{pingu@@add}{\mand{select}} +\begin{subcommandexplain}{pingu@create@selection}{pingu@@add}{\mand{select}} -\end{commandexplain} +\end{subcommandexplain} -\begin{commandexplain}{@pingu@drawer@@}{} +\begin{subcommandexplain}{pingu@create@selection}{@pingu@drawer@@}{} -\end{commandexplain} +\end{subcommandexplain} \subsection{Adding new Eyes}\label{internal:eyes} From 964a778e3f8ca48c77406ccccee58d27873d6b34 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sat, 3 Sep 2022 23:55:01 +0200 Subject: [PATCH 19/28] second index --- doc/tikzpingus-doc.tex | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index c932b28..130c340 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -39,7 +39,10 @@ \usepackage{xstring} \usepackage{colorinfo} -\makeindex[title={Key Overview},columns=2,columnsep=.75cm,noautomatic=true,options=-s indexstyle.ist] +\makeindex[title={Key Overview},name=\jobname,columns=2,columnsep=.75cm] +\makeindex[title={Internals Overview},name=\jobname-internals,columns=2,columnsep=.75cm] +\def\current@indexfile{\jobname} + \deffootnote{1.5em}{1em}{\textsuperscript{\hyperref[\BackrefFootnoteTag]{\thefootnotemark}}\thinspace} \def\thefootnote{$\langle$\arabic{footnote}$\rangle$} % https://tex.stackexchange.com/questions/78423/how-to-use-the-footnotebackref-package-with-footnotemark-and-footnotetext @@ -62,7 +65,7 @@ \let\say\enquote \def\DTLlistformatoxford{,}\def\DTLandname{and} % TODO: do guard against same keys for different selectors -\long\def\ParseDTLListElement#1"#2"\@nil{\textsuperscript{\smash{\raisebox{2pt}{\ifcsname pingu@@lib@#2@\CurrentList @\endcsname\index{Libraries!\textit{\csname pingu@@lib@#2@\CurrentList @\endcsname}!#2?\hyperref[expl-list:\CurrentList]{\protect\lpingu{#2} {\tiny\sffamily(\MapDTLList{\CurrentList})}}}~$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\tiny\strut\csname pingu@@lib@#2@\CurrentList @\endcsname}}}$\fi}}}} +\long\def\ParseDTLListElement#1"#2"\@nil{\textsuperscript{\smash{\raisebox{2pt}{\ifcsname pingu@@lib@#2@\CurrentList @\endcsname\index[\current@indexfile]{Libraries!\textit{\csname pingu@@lib@#2@\CurrentList @\endcsname}!#2?\hyperref[expl-list:\CurrentList]{\protect\lpingu{#2} {\tiny\sffamily(\MapDTLList{\CurrentList})}}}~$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\tiny\strut\csname pingu@@lib@#2@\CurrentList @\endcsname}}}$\fi}}}} \def\DTLlistformatitem#1{\textit{#1\expandafter\ParseDTLListElement :#1\@nil}} \newcommand*\typesetselection[1][]{\begingroup\ifx!#1!\else\def\DTLlistformatitem##1{#1}\fi\dotypesetselection} \def\dotypesetselection#1{\label{expl-list:#1}\def\CurrentList{#1}\expandafter\DTLformatlist\expandafter{\csname @pingu@#1@\endcsname}\endgroup} @@ -224,7 +227,7 @@ {\def\\{_}\protected@xdef\@key{#2}}%% {\def\\{}\protected@xdef\@idxkey{#2}}%% backslash should not interfere with keys \tcbset{@/.style={externalize listing=key-\keyexternalname}}% set for externalize - \phantomsection\label{pk:#1\@labelhack\@key}\index{\cursub\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}% + \phantomsection\label{pk:#1\@labelhack\@key}\index[\current@indexfile]{\cursub\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}% % get its length: \StrLen{#2}[\@cclen]% \protected@csxappto{allcmds@\@cclen}{\@key,}% @@ -240,7 +243,7 @@ \ifx\@tmpb\@empty\lpingu{#1#2}\@explainsuff\else\lpingu{#1#2 =\ }\texttt{<\textit{\@tmpb}>}\fi\hfill \ifx\@tmp\@empty\else{\@declaredcolor{gray}(}#4{\@declaredcolor{gray})}\fi } - }\ifcsname pingu@@lib@\@key @\endcsname\index{Libraries!\textit{\csname pingu@@lib@#2@\endcsname}!\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}\rlap{~\quad\raisebox{2.75pt}{$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\footnotesize\strut\csname pingu@@lib@#2@\endcsname}}}$}}\fi\kern-\linewidth\par\endgroup + }\ifcsname pingu@@lib@\@key @\endcsname\index[\current@indexfile]{Libraries!\textit{\csname pingu@@lib@#2@\endcsname}!\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}\rlap{~\quad\raisebox{2.75pt}{$\underset{\text{\tiny\smash{\raisebox{3pt}{\textsf{\hyperref[Libraries]{\color{gray}Library}}}}}}{\text{\textit{\footnotesize\strut\csname pingu@@lib@#2@\endcsname}}}$}}\fi\kern-\linewidth\par\endgroup } {\endminipage\smallskip\par} @@ -510,7 +513,7 @@ \subsection{Using the Coordinates} \node at (paula-foot-left) {Foot}; \end{tikzpicture} \end{tcblisting} -Lets look at those coordinates in more detail (all labels are to be prefixed by |-|): +\phantomsection\label{pingu-coordinates}Lets look at those coordinates in more detail (all labels are to be prefixed by |<\keyref{name}>-|): \newsavebox\pinguwingright \savebox\pinguwingright{% \begin{tikzpicture}% @@ -626,7 +629,7 @@ \subsection{Libraries} Currently there are the following libraries: \foreach[count=\i] \l/\xs in \pingu@defaultlibs{% \ifx\l\empty\else - \index{Libraries!\textit{\l}}\textit{\l}\ifnum\numexpr\pingu@defaultlibs@count-1>\i,\space\else + \index[\current@indexfile]{Libraries!\textit{\l}}\textit{\l}\ifnum\numexpr\pingu@defaultlibs@count-1>\i,\space\else \ifnum\pingu@defaultlibs@count=\i\else,~and\space\fi\fi \fi }. @@ -4958,6 +4961,7 @@ \subsubsection{The second shirt} % set up for inclusion \lstset{includerangemarker=false,rangeprefix={\%\ <}, rangesuffix={>}} \newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange=#2-@#2,style=lstpingu,language=pinguinternallang]{#1}} +\def\current@indexfile{\jobname-internals} \section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. @@ -4976,7 +4980,6 @@ \subsubsection{Selections} The \textit{none default} is used for the default member of the selection: \textit{none} which is active, whenever no other key is selected by \cmdref{pingu@@select}. You can add keys by using \cmdref{pingu@@add} and execute the selection by \cmdref{@pingu@drawer@@}. \end{commandexplain} -TODO: subcommandexplain and better cmdref \begin{subcommandexplain}{pingu@create@selection}{pingu@@select}{\mand{select}} @@ -4996,7 +4999,7 @@ \subsection{Adding new Eyes}\label{internal:eyes} This dimension holds a hardcoded value to be used as the offset for eyes. Its default value is \the\pingu@eye@shift. It may be removed in the future (or replaced by a option). \end{commandexplain} -The eyes of the penguin are controlled by two selections for the left, and the right eye: +The eyes of the penguin are controlled by two selections for the left, and the right eye. As we still want the coordinates for the right and the left eye (as presented in \autoref{pingu-coordinates}), the \textit{none}-version of \cmdref{pingu@create@selection} creates those: \includecode{eyes\ selectors} From de4eb1bd02c4c259490d0cf44683e0ef740971bb Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 00:55:49 +0200 Subject: [PATCH 20/28] color index include and guard csname --- doc/tikzpingus-doc.tex | 50 ++++++++++++++++++++++++++++++++---------- tex/tikzpingus.sty | 24 +++++++++++++++----- 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 130c340..2e03e06 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -8,7 +8,8 @@ \usepackage[utf8]{inputenc} \usepackage{babel} -\makeatletter\def\input@path{{../tex/}}\makeatother +\makeatletter +\def\input@path{{../tex/}} \usepackage[glows]{tikzpingus} % \definecolor{doc-main}{RGB}{204,0,25} @@ -39,14 +40,14 @@ \usepackage{xstring} \usepackage{colorinfo} -\makeindex[title={Key Overview},name=\jobname,columns=2,columnsep=.75cm] -\makeindex[title={Internals Overview},name=\jobname-internals,columns=2,columnsep=.75cm] +\makeindex[title={Key Overview},name=\jobname,columns=2,columnsep=.75cm,noautomatic=true] +\makeindex[title={Internals Overview},name=\jobname-internals,columns=2,columnsep=.75cm,noautomatic=true] \def\current@indexfile{\jobname} \deffootnote{1.5em}{1em}{\textsuperscript{\hyperref[\BackrefFootnoteTag]{\thefootnotemark}}\thinspace} \def\thefootnote{$\langle$\arabic{footnote}$\rangle$} % https://tex.stackexchange.com/questions/78423/how-to-use-the-footnotebackref-package-with-footnotemark-and-footnotetext -\makeatletter + \LetLtxMacro\BHFN@Old@footnotemark\@footnotemark \def\@footnotemark{% \refstepcounter{BackrefHyperFootnoteCounter}% @@ -69,7 +70,6 @@ \def\DTLlistformatitem#1{\textit{#1\expandafter\ParseDTLListElement :#1\@nil}} \newcommand*\typesetselection[1][]{\begingroup\ifx!#1!\else\def\DTLlistformatitem##1{#1}\fi\dotypesetselection} \def\dotypesetselection#1{\label{expl-list:#1}\def\CurrentList{#1}\expandafter\DTLformatlist\expandafter{\csname @pingu@#1@\endcsname}\endgroup} -\makeatletter \addtokomafont{sectioning}{\@declaredcolor{gray}} \addtokomafont{title}{\@declaredcolor{doc-main}} @@ -112,7 +112,10 @@ {\\pingu@block}{{\doccmd{pingu@block}}}{12} {\\pingu@draw}{{\doccmd{pingu@draw}}}{11} {\\@pingu@non}{{\graycmd{path}}}{11} - {\\path}{{\graycmd{path}}}{5} + {\\path}{{\graycmd{path}}}5 + {\\csname}{{\graycmd{csname}}}6 + {\\endcsname}{{\graycmd{endcsname}}}9 + {/pingu/}{{\@declaredcolor{@softgray}/pingu/}}7 } \def\t@lst@addToLiterate#1{\protected@edef\lst@literate{\unexpanded\expandafter{\lst@literate}\unexpanded{#1}}} @@ -260,6 +263,7 @@ \newcommand*\keyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#1#2}}} \newcommand*\dkeyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#2}}} \newcommand*\cmdref[1]{\hyperref[pk:/pingu/:bs:#1]{\lpingu{\\#1}}} +\newcommand*\cmd[1]{\texttt{\doccmd{#1}}} \colorlet{@softexplaincolor}{gray!8!white} \newenvironment{subkeyexplain}[5][/pingu/]{% @@ -529,7 +533,7 @@ \subsection{Using the Coordinates} \draw[teal,thin] (expl-\c) -- (pingu-\c); } \end{tikzpicture}} -\makeatletter + \newsavebox\pinguwingleft \savebox\pinguwingleft{% \begin{tikzpicture}% @@ -582,7 +586,7 @@ \subsection{Using the Coordinates} \end{center} \subsection{Colors} -A lot of options allow for a color to be passed. In general, you can provide any color that \TikZ\ is happy with! Yet, there are some predefined pingu-colors shipped with this package: +\label{Colors}A lot of options allow for a color to be passed. In general, you can provide any color that \TikZ\ is happy with! Yet, there are some predefined pingu-colors shipped with this package: \def\getCol#1{\pgfmathparse{int(round(#1*255))}\pgfmathresult} \def\parseRGB#1,#2,#3;{r:~\getCol{#1}, g:~\getCol{#2}, b:~\getCol{#3}} \begin{multicols}{4} @@ -596,7 +600,7 @@ \subsection{Colors} \item[] \footnotesize\strut% buffer \end{itemize} \end{multicols} -Furthermore, there is the special color {\makeatletter\say{\expandafter\ipingu\expandafter{\@pingu@none}}} which is available for most\footnote{Why just \say{most}? Well, this package is work in progress and I have added the option late, so I may have forgotten to patch some keys.} extras and wing-items. This color prohibits the compartments from being drawn. To be more precise, the package defines the macro \ltex{\\@pingu@none}, which is matched against the selected color. +Furthermore, there is the special color \say{\expandafter\ipingu\expandafter{\@pingu@none}} (\cmdref{@pingu@none}) which is available for most\footnote{Why just \say{most}? Well, this package is work in progress and I have added the option late, so I may have forgotten to patch some keys.} extras and wing-items. This color prohibits the compartments from being drawn. To be more precise, the package defines the macro \ltex{\\@pingu@none}, which is matched against the selected color. As an example, lets take a look at the \keyref{cup}-extra, which provides an additional key \keyref{cup straw} to color the straw: \begin{tcblisting}{title={Cup without a straw},externalize listing=extra-options} @@ -4960,7 +4964,7 @@ \subsubsection{The second shirt} % set up for inclusion \lstset{includerangemarker=false,rangeprefix={\%\ <}, rangesuffix={>}} -\newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange=#2-@#2,style=lstpingu,language=pinguinternallang]{#1}} +\newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange=#2-@#2,style=lstpingu,language=pinguinternallang,numbers=left,numberstyle={\tiny\color{gray}\sffamily},numbersep=5pt]{#1}} \def\current@indexfile{\jobname-internals} \section{The Internals} @@ -4972,6 +4976,18 @@ \subsection{General commands} Holds the name of the penguin. \end{commandexplain} +\subsubsection{Color} +\begin{commandexplain}{pingu@color}{\mand{name}\mand{color}} + Creates a macro \cmd{pingu@color@} that links to the given color: + \includecode{pingu@color} + I decided against the usage of \cmd{colorlet}, to support \cmdref{@pingu@none} +\end{commandexplain} + +\begin{commandexplain}{@pingu@none}{} + Holds the special color to hide the drawing of specific components as described within \autoref{Colors} (holds the value: \@pingu@none). + If you redefine this command, you redefine this hidden color. Hover, if done outside of the preamble, this may result in weird side effects due to expansions. +\end{commandexplain} + \subsubsection{Selections} TODO: explain selections @@ -4995,13 +5011,25 @@ \subsubsection{Selections} \subsection{Adding new Eyes}\label{internal:eyes} +\subsubsection{Important Commands} + \begin{commandexplain}{pingu@eye@shift}{} This dimension holds a hardcoded value to be used as the offset for eyes. Its default value is \the\pingu@eye@shift. It may be removed in the future (or replaced by a option). \end{commandexplain} +\subsubsection{The Code} + The eyes of the penguin are controlled by two selections for the left, and the right eye. As we still want the coordinates for the right and the left eye (as presented in \autoref{pingu-coordinates}), the \textit{none}-version of \cmdref{pingu@create@selection} creates those: \includecode{eyes\ selectors} +% \pgfqkeys{/pingu}{ +\includecode{eyes\ keys} + + -\lstset{breakatwhitespace}\printindex +\lstset{breakatwhitespace} +\indexprologue{\label{normal-idx}This index shows all of the options and commands that a normal user of the package may use! See the \autoref{internal-idx} for an overview of keys and commands used behind the scenes.} +\printindex[\jobname] +\indexprologue{\label{internal-idx}} +\printindex[\jobname-internals] \end{document} diff --git a/tex/tikzpingus.sty b/tex/tikzpingus.sty index 6d68b8d..637e09f 100644 --- a/tex/tikzpingus.sty +++ b/tex/tikzpingus.sty @@ -139,7 +139,11 @@ % #endregion % #region key setup -\def\pingu@color#1#2{\expandafter\def\csname pingu@color@#1\endcsname{#2}} +% +\def\pingu@color#1#2{% + \expandafter\def\csname pingu@color@#1\endcsname{#2}% +} +% <@pingu@color> % HACK: store scale \pgfqkeys{/tikz}{scale/.append code={\def\pingu@default@scale{#1}}} @@ -195,16 +199,26 @@ belly/.forward to = /pingu/belly text, belly text/.style = {/pingu/belly raw={\node[/pingu/@text,opacity=.2] {#1};}}, belly raw/.code = \def\pingu@belly@raw{#1}, - % eyes + % left eye/.code = \pingu@lefteye@select{#1}, left eye color/.code = \pingu@color{eye@left}{#1}, left eye second color/.code = \pingu@color{eye@second@left}{#1}, right eye/.code = \pingu@righteye@select{#1}, right eye color/.code = \pingu@color{eye@right}{#1}, right eye second color/.code = \pingu@color{eye@second@right}{#1}, - eyes/.style = {/pingu/left eye={#1}, /pingu/right eye={#1}}, - eyes color/.style = {/pingu/left eye color={#1}, /pingu/right eye color={#1}}, - eyes second color/.style = {/pingu/left eye second color={#1}, /pingu/right eye second color={#1}}, + eyes/.style = { + /pingu/left eye = {#1}, + /pingu/right eye = {#1} + }, + eyes color/.style = { + /pingu/left eye color = {#1}, + /pingu/right eye color = {#1} + }, + eyes second color/.style = { + /pingu/left eye second color = {#1}, + /pingu/right eye second color = {#1} + }, + % <@eyes keys> % wings left wing color/.code = \pingu@color{left@wing}{#1}, left wing/.code = \pingu@leftwing@select{#1}, From 6c35333732f3dc50bac0b9abb05d57b978e4e285 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 01:07:43 +0200 Subject: [PATCH 21/28] try to define custom key --- doc/tikzpingus-doc.tex | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 2e03e06..0a33be9 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -222,13 +222,12 @@ \let\@explainsuff\@empty \let\@labelhack\@empty % allow the oxes to have minor overlaps -\newenvironment{keyexplain}[4][/pingu/]{\minipage{\linewidth} - \parskip\smallskipamount +\newcommand\DefineKey[2][/pingu/]{% \StrSubstitute{#2}{ }{-}[\keyexternalname]% % only use _ to keep the length intact when replace with the backslash \StrSubstitute{\keyexternalname}{\\}{_}[\keyexternalname]% - {\def\\{_}\protected@xdef\@key{#2}}%% - {\def\\{}\protected@xdef\@idxkey{#2}}%% backslash should not interfere with keys + {\def\\{_}\protected@xdef\@key{#2}}% + {\def\\{}\protected@xdef\@idxkey{#2}}% backslash should not interfere with keys \tcbset{@/.style={externalize listing=key-\keyexternalname}}% set for externalize \phantomsection\label{pk:#1\@labelhack\@key}\index[\current@indexfile]{\cursub\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}% % get its length: @@ -237,6 +236,11 @@ % update the range \ifnum\@cclen>\allcmdsmax\relax \xdef\allcmdsmax{\@cclen}\fi \ifnum\@cclen<\allcmdsmin\relax \xdef\allcmdsmin{\@cclen}\fi +} + +\newenvironment{keyexplain}[4][/pingu/]{\minipage{\linewidth} + \parskip\smallskipamount + \DefineKey[#1]{#2}% \expandafter\gdef\csname pinguopt\@key\endcsname{#3}% \expandafter\gdef\csname pingudefa\@key\endcsname{#4}% \begingroup\pgfkeys{/pingu/.cd,defaults}\protected@edef\@tmp{#4}% @@ -5021,6 +5025,7 @@ \subsubsection{The Code} The eyes of the penguin are controlled by two selections for the left, and the right eye. As we still want the coordinates for the right and the left eye (as presented in \autoref{pingu-coordinates}), the \textit{none}-version of \cmdref{pingu@create@selection} creates those: \includecode{eyes\ selectors} +With this, we get \DefineKey{\\pingu@righteye@select} % \pgfqkeys{/pingu}{ \includecode{eyes\ keys} From 6112316391ce53e89db244a76c7d324e94363120 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 03:55:03 +0200 Subject: [PATCH 22/28] definitions of the eyes --- doc/tikzpingus-doc.tex | 46 +++++++++++++++--- tex/tikzpingus-devil.lib.tex | 2 +- tex/tikzpingus-emotions.lib.tex | 6 +-- tex/tikzpingus.sty | 86 +++++++++++++++++++++++---------- 4 files changed, 103 insertions(+), 37 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 0a33be9..4eebbd5 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -71,6 +71,9 @@ \newcommand*\typesetselection[1][]{\begingroup\ifx!#1!\else\def\DTLlistformatitem##1{#1}\fi\dotypesetselection} \def\dotypesetselection#1{\label{expl-list:#1}\def\CurrentList{#1}\expandafter\DTLformatlist\expandafter{\csname @pingu@#1@\endcsname}\endgroup} +% this can be used to remove some prefixes of the keys if necessary +\let\@gobblekey\@gobble + \addtokomafont{sectioning}{\@declaredcolor{gray}} \addtokomafont{title}{\@declaredcolor{doc-main}} \addtokomafont{author}{\normalsize} @@ -111,8 +114,10 @@ add to literate= {\\pingu@block}{{\doccmd{pingu@block}}}{12} {\\pingu@draw}{{\doccmd{pingu@draw}}}{11} - {\\@pingu@non}{{\graycmd{path}}}{11} + {\\@pingu@none}{{\graycmd{@pingu@none}}}{11} {\\path}{{\graycmd{path}}}5 + {\\pgfqkeys}{{\graycmd{pgfqkeys}}}9 + {\\@ifnextchar}{{\graycmd{@ifnextchar}}}9 {\\csname}{{\graycmd{csname}}}6 {\\endcsname}{{\graycmd{endcsname}}}9 {/pingu/}{{\@declaredcolor{@softgray}/pingu/}}7 @@ -227,7 +232,7 @@ % only use _ to keep the length intact when replace with the backslash \StrSubstitute{\keyexternalname}{\\}{_}[\keyexternalname]% {\def\\{_}\protected@xdef\@key{#2}}% - {\def\\{}\protected@xdef\@idxkey{#2}}% backslash should not interfere with keys + {\def\\{}\protected@xdef\@idxkey{#2}\@gobblekey{\@idxkey}}% backslash should not interfere with keys \tcbset{@/.style={externalize listing=key-\keyexternalname}}% set for externalize \phantomsection\label{pk:#1\@labelhack\@key}\index[\current@indexfile]{\cursub\@idxkey?\hyperref[pk:#1\@key]{\protect\lpingu{#2}}}% % get its length: @@ -267,7 +272,9 @@ \newcommand*\keyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#1#2}}} \newcommand*\dkeyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#2}}} \newcommand*\cmdref[1]{\hyperref[pk:/pingu/:bs:#1]{\lpingu{\\#1}}} -\newcommand*\cmd[1]{\texttt{\doccmd{#1}}} +\newcommand*\cmddef[1]{\mbox{\DefineKey{\\#1}\cmdref{#1}}\nobreak} +\newcommand*\cmdcoldef[1]{\mbox{\DefineKey{\\pingu@color@#1}\cmdref{pingu@color@#1}}\nobreak} +\newcommand*\cmd[1]{\texttt{\smaller\doccmd{#1}}} \colorlet{@softexplaincolor}{gray!8!white} \newenvironment{subkeyexplain}[5][/pingu/]{% @@ -294,7 +301,7 @@ \newenvironment{subcommandexplain}[4][]{% \begingroup \def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% -{\def\\{}\protected@xdef\@subidxkey{#2}}%% backslash should not interfere with keys +{\def\\{}\protected@xdef\@subidxkey{#2}\@gobblekey{\@subidxkey}}%% backslash should not interfere with keys \def\cursub{\@subidxkey?\hyperref[pk:_\@subidxkey]{\protect\lpingu{\\#2}}!}% \commandexplain[#1]{#3}{#4}% {\@declaredcolor{gray}\footnotesize This command is only usable in combination with \cmdref{#2}.}\par @@ -4970,6 +4977,8 @@ \subsubsection{The second shirt} \lstset{includerangemarker=false,rangeprefix={\%\ <}, rangesuffix={>}} \newcommand\includecode[2][../tex/tikzpingus.sty]{\lstinputlisting[linerange=#2-@#2,style=lstpingu,language=pinguinternallang,numbers=left,numberstyle={\tiny\color{gray}\sffamily},numbersep=5pt]{#1}} \def\current@indexfile{\jobname-internals} +% gobble leading pingu for indexing +\def\@gobblekey#1{\IfBeginWith{#1}{pingu@}{\StrDel[1]{#1}{pingu@}[#1]\protected@xdef#1{#1}}{}} \section{The Internals} The goal of this section is to explain the inner workings of the package to aid other people in helping me extending and mainting the penguins. @@ -4980,6 +4989,10 @@ \subsection{General commands} Holds the name of the penguin. \end{commandexplain} +\begin{commandexplain}{pingu@one}{} + Do not change this dimension as it represents one milli meter as the base unit. +\end{commandexplain} + \subsubsection{Color} \begin{commandexplain}{pingu@color}{\mand{name}\mand{color}} Creates a macro \cmd{pingu@color@} that links to the given color: @@ -5013,7 +5026,7 @@ \subsubsection{Selections} \end{subcommandexplain} -\subsection{Adding new Eyes}\label{internal:eyes} +\subsection{The Eyes}\label{internal:eyes} \subsubsection{Important Commands} @@ -5025,16 +5038,35 @@ \subsubsection{The Code} The eyes of the penguin are controlled by two selections for the left, and the right eye. As we still want the coordinates for the right and the left eye (as presented in \autoref{pingu-coordinates}), the \textit{none}-version of \cmdref{pingu@create@selection} creates those: \includecode{eyes\ selectors} -With this, we get \DefineKey{\\pingu@righteye@select} +With this, we get the commands \cmddef{pingu@righteye@select}, \cmddef{pingu@righteye@add}, \cmddef{@pingu@drawer@righteye@}, \cmddef{pingu@lefteye@select}, \cmddef{pingu@lefteye@add}, and \cmddef{@pingu@drawer@lefteye@}. +Within the initialization of all penguin options, we use these keys. Furthermore, \keyref{eyes} acts as a comfort option which operates on both selectors: % \pgfqkeys{/pingu}{ \includecode{eyes\ keys} +With this we see, that both eyes have two colors to work with: \cmdcoldef{eye@left}, \cmdcoldef{eye@second@left}, \cmdcoldef{eye@right}, and \cmdcoldef{eye@second@right}. + +\subsection{Adding new Eyes} +Now on how to add new eyes. While it is possible to use \cmdref{pingu@lefteye@add} and \cmdref{pingu@righteye@add}, setting up the corresponding \say{eye} and \say{eyes} comfort-methods is rather tedious. +For this, i created the command \cmdref{pingu@eyes@s}\ldots + +\begin{commandexplain}{pingu@eyes@s}{\mand{name}\mand{left-eye}\mand{right-eye}\opt{default color}} + Allows to easily add new eyes. + \textbf{Important:}\space Your code for the eyes \textit{must} create the coordinates \lpingu{\\pingu@name-eye-left} and \lpingu{\\pingu@name-eye-right} respectively. This is not checked! It is recommended to use the coordinates \lpingu{\\pingu@name-eye-back-left} and \lpingu{\\pingu@name-eye-back-right} for reference. +\end{commandexplain} +The macro \cmdref{pingu@eyes@s} is defined like this: +\includecode{pingu@eyes@s} + +As an example, this is the definition of the \say{normal eyes} (\keyref{eyes normal}) in the code: +\includecode{eyes\ normal} +As another example, this is the definition of the \say{shiny eyes} (\keyref{eyes shiny}): +\includecode{eyes\ shiny} +The usage of \cmddef{eyebaseang} is outdated and will probably be removed in the future. \lstset{breakatwhitespace} \indexprologue{\label{normal-idx}This index shows all of the options and commands that a normal user of the package may use! See the \autoref{internal-idx} for an overview of keys and commands used behind the scenes.} \printindex[\jobname] -\indexprologue{\label{internal-idx}} +\indexprologue{\label{internal-idx}The initial \cmd{pingu@} is ignored for indexing.} \printindex[\jobname-internals] \end{document} diff --git a/tex/tikzpingus-devil.lib.tex b/tex/tikzpingus-devil.lib.tex index 58433a9..a1ec5f9 100644 --- a/tex/tikzpingus-devil.lib.tex +++ b/tex/tikzpingus-devil.lib.tex @@ -26,7 +26,7 @@ % wip hack \colorlet{pingu@devil@ring}{pingu@black} \def\pingu@devil@x@opacity{.75} -\@pingu@eyes@s{devil}{% +\pingu@eyes@s{devil}{% \pingu@layer{foreground}[] \pingu@block{pingu@devil@ring} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left) ellipse [x radius=.1535cm, y radius=.1575cm]; \pingu@block{\pingu@color@eye@second@left} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left) ellipse [x radius=.1325cm, y radius=.1375cm]; diff --git a/tex/tikzpingus-emotions.lib.tex b/tex/tikzpingus-emotions.lib.tex index a5226d0..2c92087 100644 --- a/tex/tikzpingus-emotions.lib.tex +++ b/tex/tikzpingus-emotions.lib.tex @@ -1,7 +1,7 @@ % Florian Sihler, 2022 % Licensed under GNU General Public License version 3 % https://opensource.org/licenses/gpl-3.0.html -\@pingu@eyes@s{sad}{% +\pingu@eyes@s{sad}{% \path (\pingu@name-eye-back-left)++(\pingu@eye@shift,.75mm) coordinate (\pingu@name-eye-left); \pingu@block{\pingu@color@eye@left} (\pingu@name-eye-left)++(15:.1225cm and .1275cm) arc (15:-245:.1225cm and .1275cm) to[out=-45,in=175] cycle; }{% @@ -9,7 +9,7 @@ \pingu@block{\pingu@color@eye@right} (\pingu@name-eye-right)++(165:.1225cm and .1275cm) arc (165:425:.1225cm and .1275cm) to[out=225,in=5] cycle; } -\@pingu@eyes@s{angry}{% +\pingu@eyes@s{angry}{% \path (\pingu@name-eye-back-left)++(\pingu@eye@shift,.75mm) coordinate (\pingu@name-eye-left); \pingu@block{\pingu@color@eye@left} (\pingu@name-eye-left) ellipse [x radius=.1225cm, y radius=.1275cm]; \pingu@block{\pingu@color@body@front} (\pingu@name-eye-left) ++(120:.1225cm and .1275cm) ellipse [x radius=1.5mm,y radius=.5mm]; @@ -37,7 +37,7 @@ \pingu@block[/pingu/@glow,opacity=\pingu@x@blush@opacity]{\pingu@color@blush@second} ([yshift=-2.7mm,xshift=1.85mm]\pingu@name-eye-left) ellipse [x radius=2.66mm,y radius=2.25mm]; } -\@pingu@eyes@s{hearts}{% +\pingu@eyes@s{hearts}{% \path (\pingu@name-eye-back-left)++(\pingu@eye@shift,.75mm) coordinate (\pingu@name-eye-left); \pingu@block[rounded corners=0pt]{\pingu@color@eye@left} ([yshift=.3mm]\pingu@name-eye-left) arc(0:180:.065cm) to[out=270,in=110] ++(.13cm,-.2cm) to[out=70,in=270] ++(.13cm,.2cm) arc (0:180:.065cm) -- cycle; diff --git a/tex/tikzpingus.sty b/tex/tikzpingus.sty index 637e09f..fcb8f76 100644 --- a/tex/tikzpingus.sty +++ b/tex/tikzpingus.sty @@ -199,7 +199,7 @@ belly/.forward to = /pingu/belly text, belly text/.style = {/pingu/belly raw={\node[/pingu/@text,opacity=.2] {#1};}}, belly raw/.code = \def\pingu@belly@raw{#1}, - % +% left eye/.code = \pingu@lefteye@select{#1}, left eye color/.code = \pingu@color{eye@left}{#1}, left eye second color/.code = \pingu@color{eye@second@left}{#1}, @@ -218,7 +218,7 @@ /pingu/left eye second color = {#1}, /pingu/right eye second color = {#1} }, - % <@eyes keys> +% <@eyes keys> % wings left wing color/.code = \pingu@color{left@wing}{#1}, left wing/.code = \pingu@leftwing@select{#1}, @@ -589,43 +589,77 @@ coordinate[pos=\pinguanglehl] (\pingu@name-head-left); % #endregion % #region eyes % name core | left | right -\long\def\@pingu@eyes@s#1#2#3{\@ifnextchar[{\@pingu@eyes@s@{#1}{#2}{#3}}{\@pingu@eyes@s@{#1}{#2}{#3}[pingu@black]}} -\long\def\@pingu@eyes@s@#1#2#3[#4]{% +% +\long\def\pingu@eyes@s#1#2#3{% + \@ifnextchar[% + {\pingu@eyes@s@{#1}{#2}{#3}}% + {\pingu@eyes@s@{#1}{#2}{#3}[pingu@black]}% +} +\long\def\pingu@eyes@s@#1#2#3[#4]{% \pgfqkeys{/pingu}{% - left eye #1/.style = {/pingu/left eye={#1}, /pingu/left eye color={##1}},% - left eye #1/.default = {#4},% - right eye #1/.style = {/pingu/right eye={#1}, /pingu/right eye color={##1}},% - right eye #1/.default = {#4},% - eyes #1/.style = {/pingu/eyes={#1}, /pingu/eyes color={##1}},% - eyes #1/.default = {#4}% + left eye #1/.style = {/pingu/left eye={#1}, /pingu/left eye color={##1}}, + left eye #1/.default = {#4}, + right eye #1/.style = {/pingu/right eye={#1}, /pingu/right eye color={##1}}, + right eye #1/.default = {#4}, + eyes #1/.style = {/pingu/eyes={#1}, /pingu/eyes color={##1}}, + eyes #1/.default = {#4} }% \pingu@lefteye@add{#1}{#2}\pingu@righteye@add{#1}{#3}% } -\pgfqkeys{/pingu}{eyes none/.style={eyes=none},left eye none/.style={left eye=none},right eye none/.style={right eye=none}} % adding the alias - -\@pingu@eyes@s{normal}{% - \pingu@block{\pingu@color@eye@left} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left) ellipse [x radius=.1225cm, y radius=.1365cm]; +\pgfqkeys{/pingu}{% + eyes none/.style={eyes=none}, + left eye none/.style={left eye=none}, + right eye none/.style={right eye=none} +} % adding the alias +% <@pingu@eyes@s> + +% +\pingu@eyes@s{normal}{% + \pingu@block{\pingu@color@eye@left} + ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) + coordinate (\pingu@name-eye-left) + ellipse [x radius=.1225cm, y radius=.1365cm]; }{% - \pingu@block{\pingu@color@eye@right} ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate(\pingu@name-eye-right) ellipse [x radius=.1225cm, y radius=.1365cm]; + \pingu@block{\pingu@color@eye@right} + ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) + coordinate(\pingu@name-eye-right) + ellipse [x radius=.1225cm, y radius=.1365cm]; } +% <@eyes normal> -\@pingu@eyes@s{vertical}{% +\pingu@eyes@s{vertical}{% \pingu@block{\pingu@color@eye@left} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left) ellipse [x radius=1.13mm, y radius=.145cm]; }{% \pingu@block{\pingu@color@eye@right} ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate(\pingu@name-eye-right) ellipse [x radius=1.13mm, y radius=.145cm]; } -\@pingu@eyes@s{shiny}{% - \pingu@block{\pingu@color@eye@left} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate(\pingu@name-eye-left) ellipse [x radius=.22cm, y radius=.26cm]; - \pingu@block{\pingu@color@eye@second@left} (\pingu@name-eye-left)++(\eyebaseang:.85mm and \pingu@one) ellipse [x radius=.8mm, y radius=\pingu@one]; - \pingu@block{\pingu@color@eye@second@left} (\pingu@name-eye-left)++(\eyebaseang+180:.12cm and .14cm) ellipse [x radius=.25mm, y radius=.35mm]; +% +\pingu@eyes@s{shiny}{% + \pingu@block{\pingu@color@eye@left} + ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) + coordinate(\pingu@name-eye-left) + ellipse [x radius=.22cm, y radius=.26cm]; + \pingu@block{\pingu@color@eye@second@left} + (\pingu@name-eye-left)++(\eyebaseang:.85mm and \pingu@one) + ellipse [x radius=.8mm, y radius=\pingu@one]; + \pingu@block{\pingu@color@eye@second@left} + (\pingu@name-eye-left)++(\eyebaseang+180:.12cm and .14cm) + ellipse [x radius=.25mm, y radius=.35mm]; }{% - \pingu@block{\pingu@color@eye@right} ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate(\pingu@name-eye-right) ellipse [x radius=.22cm, y radius=.26cm]; - \pingu@block{\pingu@color@eye@second@right} (\pingu@name-eye-right)++(\eyebaseang:.85mm and \pingu@one) ellipse [x radius=.8mm, y radius=\pingu@one]; - \pingu@block{\pingu@color@eye@second@right} (\pingu@name-eye-right)++(\eyebaseang+180:.12cm and .14cm) ellipse [x radius=.25mm, y radius=.35mm]; + \pingu@block{\pingu@color@eye@right} + ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) + coordinate(\pingu@name-eye-right) + ellipse [x radius=.22cm, y radius=.26cm]; + \pingu@block{\pingu@color@eye@second@right} + (\pingu@name-eye-right)++(\eyebaseang:.85mm and \pingu@one) + ellipse [x radius=.8mm, y radius=\pingu@one]; + \pingu@block{\pingu@color@eye@second@right} + (\pingu@name-eye-right)++(\eyebaseang+180:.12cm and .14cm) + ellipse [x radius=.25mm, y radius=.35mm]; } +% <@eyes shiny> -\@pingu@eyes@s{wink}{% +\pingu@eyes@s{wink}{% \coordinate (\pingu@name-eye-left) at ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left); \pingu@block[rounded corners=.002cm,rotate around={-4:(\pingu@name-eye-left)}]{\pingu@color@eye@left} (\pingu@name-eye-left)++(174:.14cm and .14cm)++(0,-.065cm) arc (174:6:.14cm and .14cm) arc (-6:-174:.1mm and .08mm) arc (6:174:.12cm and .065cm) arc (-6:-174:.1mm and .08mm) -- cycle; }{% @@ -633,7 +667,7 @@ coordinate[pos=\pinguanglehl] (\pingu@name-head-left); \pingu@block[rounded corners=.002cm,rotate around={4:(\pingu@name-eye-right)}]{\pingu@color@eye@right} (\pingu@name-eye-right)++(174:.14cm and .14cm)++(0,-.065cm) arc (174:6:.14cm and .14cm) arc (-6:-174:.1mm and .08mm) arc (6:174:.12cm and .065cm) arc (-6:-174:.1mm and .08mm) -- cycle; } -\@pingu@eyes@s{shock}{% +\pingu@eyes@s{shock}{% \pingu@block{\pingu@color@eye@left} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left) ellipse [x radius=.1535cm, y radius=.1575cm]; \pingu@block{\pingu@color@eye@second@left} ([yshift=.75mm,xshift=\pingu@eye@shift]\pingu@name-eye-back-left) coordinate (\pingu@name-eye-left) ellipse [x radius=.1325cm, y radius=.1375cm]; }{% @@ -641,7 +675,7 @@ coordinate[pos=\pinguanglehl] (\pingu@name-head-left); \pingu@block{\pingu@color@eye@second@right} ([yshift=.75mm,xshift=-\pingu@eye@shift]\pingu@name-eye-back-right) coordinate(\pingu@name-eye-right) ellipse [x radius=.1325cm, y radius=.1375cm]; } -% \let\@pingu@eyes@s\relax +% \let\pingu@eyes@s\relax % #endregion % #region wings From d2fc32673ee7e82edd1b2484d124c5b364a5f8bb Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 03:59:47 +0200 Subject: [PATCH 23/28] fix typo for a -> an --- doc/tikzpingus-doc.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 4eebbd5..16c822a 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -5031,7 +5031,7 @@ \subsection{The Eyes}\label{internal:eyes} \subsubsection{Important Commands} \begin{commandexplain}{pingu@eye@shift}{} - This dimension holds a hardcoded value to be used as the offset for eyes. Its default value is \the\pingu@eye@shift. It may be removed in the future (or replaced by a option). + This dimension holds a hardcoded value to be used as the offset for eyes. Its default value is \the\pingu@eye@shift. It may be removed in the future (or replaced by an option). \end{commandexplain} \subsubsection{The Code} From 833d66d68b642824827b481651c6b868f377629d Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 04:00:28 +0200 Subject: [PATCH 24/28] remove mbox around defs to allow for breaking --- doc/tikzpingus-doc.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 16c822a..373fb24 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -272,8 +272,8 @@ \newcommand*\keyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#1#2}}} \newcommand*\dkeyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#2}}} \newcommand*\cmdref[1]{\hyperref[pk:/pingu/:bs:#1]{\lpingu{\\#1}}} -\newcommand*\cmddef[1]{\mbox{\DefineKey{\\#1}\cmdref{#1}}\nobreak} -\newcommand*\cmdcoldef[1]{\mbox{\DefineKey{\\pingu@color@#1}\cmdref{pingu@color@#1}}\nobreak} +\newcommand*\cmddef[1]{\DefineKey{\\#1}\cmdref{#1}\nobreak} +\newcommand*\cmdcoldef[1]{\DefineKey{\\pingu@color@#1}\cmdref{pingu@color@#1}\nobreak} \newcommand*\cmd[1]{\texttt{\smaller\doccmd{#1}}} \colorlet{@softexplaincolor}{gray!8!white} From 04e6ee0478bbfec93461cd3ed33ba1dc09486e8b Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 04:00:50 +0200 Subject: [PATCH 25/28] let cmdcoldef use cmddef --- doc/tikzpingus-doc.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 373fb24..f799147 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -273,7 +273,7 @@ \newcommand*\dkeyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#2}}} \newcommand*\cmdref[1]{\hyperref[pk:/pingu/:bs:#1]{\lpingu{\\#1}}} \newcommand*\cmddef[1]{\DefineKey{\\#1}\cmdref{#1}\nobreak} -\newcommand*\cmdcoldef[1]{\DefineKey{\\pingu@color@#1}\cmdref{pingu@color@#1}\nobreak} +\newcommand*\cmdcoldef[1]{\cmddef{pingu@color@#1}} \newcommand*\cmd[1]{\texttt{\smaller\doccmd{#1}}} \colorlet{@softexplaincolor}{gray!8!white} From 84e1a75c7977616a4ab60bb02098a8bccc23dc3d Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 04:05:57 +0200 Subject: [PATCH 26/28] rewording --- doc/tikzpingus-doc.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index f799147..611936b 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -5038,12 +5038,12 @@ \subsubsection{The Code} The eyes of the penguin are controlled by two selections for the left, and the right eye. As we still want the coordinates for the right and the left eye (as presented in \autoref{pingu-coordinates}), the \textit{none}-version of \cmdref{pingu@create@selection} creates those: \includecode{eyes\ selectors} -With this, we get the commands \cmddef{pingu@righteye@select}, \cmddef{pingu@righteye@add}, \cmddef{@pingu@drawer@righteye@}, \cmddef{pingu@lefteye@select}, \cmddef{pingu@lefteye@add}, and \cmddef{@pingu@drawer@lefteye@}. +With this, we define \cmddef{pingu@righteye@select}, \cmddef{pingu@righteye@add}, \cmddef{@pingu@drawer@righteye@}, \cmddef{pingu@lefteye@select}, \cmddef{pingu@lefteye@add}, and \cmddef{@pingu@drawer@lefteye@}. Within the initialization of all penguin options, we use these keys. Furthermore, \keyref{eyes} acts as a comfort option which operates on both selectors: % \pgfqkeys{/pingu}{ \includecode{eyes\ keys} -With this we see, that both eyes have two colors to work with: \cmdcoldef{eye@left}, \cmdcoldef{eye@second@left}, \cmdcoldef{eye@right}, and \cmdcoldef{eye@second@right}. +Both eyes have two colors to work with: \cmdcoldef{eye@left}, \cmdcoldef{eye@second@left}, \cmdcoldef{eye@right}, and \cmdcoldef{eye@second@right}. \subsection{Adding new Eyes} Now on how to add new eyes. While it is possible to use \cmdref{pingu@lefteye@add} and \cmdref{pingu@righteye@add}, setting up the corresponding \say{eye} and \say{eyes} comfort-methods is rather tedious. From 2656e0e7fce8b3afec9a4798c427e2cf03474ac8 Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 04:25:52 +0200 Subject: [PATCH 27/28] further rewording and style update for args --- doc/tikzpingus-doc.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 611936b..65a195c 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -288,10 +288,10 @@ \newenvironment{commandexplain}[3][]{% \begingroup \def\@labelhack{/pingu/}% -\def\mand##1{\texttt{\{##1\}}}% +\def\mand##1{\texttt{\{\textsf{\smaller##1}\}}}% \def\@pingu@command@keypartner{#1}% % #1 is the default -\newcommand\opt[2][]{\texttt{\textit{[##2\ifx!##1!\else\textcolor{lightgray}{\smaller\sffamily=##1}\fi]}}}% +\newcommand\opt[2][]{\texttt{\textit{[\textsf{##2\ifx!##1!\else\textcolor{lightgray}{\smaller\sffamily=##1}\fi}]}}}% \def\@explainsuff{#3}% \keyexplain[]{\\#2}{}{}% \ifx\@pingu@command@keypartner\@empty\else @@ -5038,12 +5038,12 @@ \subsubsection{The Code} The eyes of the penguin are controlled by two selections for the left, and the right eye. As we still want the coordinates for the right and the left eye (as presented in \autoref{pingu-coordinates}), the \textit{none}-version of \cmdref{pingu@create@selection} creates those: \includecode{eyes\ selectors} -With this, we define \cmddef{pingu@righteye@select}, \cmddef{pingu@righteye@add}, \cmddef{@pingu@drawer@righteye@}, \cmddef{pingu@lefteye@select}, \cmddef{pingu@lefteye@add}, and \cmddef{@pingu@drawer@lefteye@}. +With this code, we define the six following commands: \cmddef{pingu@righteye@select}, \cmddef{pingu@righteye@add}, \cmddef{@pingu@drawer@righteye@}, \cmddef{pingu@lefteye@select}, \cmddef{pingu@lefteye@add}, and \cmddef{@pingu@drawer@lefteye@}. Within the initialization of all penguin options, we use these keys. Furthermore, \keyref{eyes} acts as a comfort option which operates on both selectors: % \pgfqkeys{/pingu}{ \includecode{eyes\ keys} -Both eyes have two colors to work with: \cmdcoldef{eye@left}, \cmdcoldef{eye@second@left}, \cmdcoldef{eye@right}, and \cmdcoldef{eye@second@right}. +Both eyes have two colors to work with: \cmdcoldef{eye@left}, \cmdcoldef{eye@second@left} for the left as well as \cmdcoldef{eye@right} and \cmdcoldef{eye@second@right} for the right eye. \subsection{Adding new Eyes} Now on how to add new eyes. While it is possible to use \cmdref{pingu@lefteye@add} and \cmdref{pingu@righteye@add}, setting up the corresponding \say{eye} and \say{eyes} comfort-methods is rather tedious. @@ -5051,7 +5051,7 @@ \subsection{Adding new Eyes} \begin{commandexplain}{pingu@eyes@s}{\mand{name}\mand{left-eye}\mand{right-eye}\opt{default color}} Allows to easily add new eyes. - \textbf{Important:}\space Your code for the eyes \textit{must} create the coordinates \lpingu{\\pingu@name-eye-left} and \lpingu{\\pingu@name-eye-right} respectively. This is not checked! It is recommended to use the coordinates \lpingu{\\pingu@name-eye-back-left} and \lpingu{\\pingu@name-eye-back-right} for reference. + \textit{Important:}\space Your code for the eyes \textit{must} create the coordinates \lpingu{\\pingu@name-eye-left} and \lpingu{\\pingu@name-eye-right} respectively. This is not checked! It is recommended to use the coordinates \lpingu{\\pingu@name-eye-back-left} and \lpingu{\\pingu@name-eye-back-right} for reference. \end{commandexplain} The macro \cmdref{pingu@eyes@s} is defined like this: \includecode{pingu@eyes@s} From 0e6a4e040137850c205ebaa3436bbaa4a5bd05ff Mon Sep 17 00:00:00 2001 From: Florian Sihler Date: Sun, 4 Sep 2022 04:30:05 +0200 Subject: [PATCH 28/28] double smaller opt text --- doc/tikzpingus-doc.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tikzpingus-doc.tex b/doc/tikzpingus-doc.tex index 65a195c..2db4165 100644 --- a/doc/tikzpingus-doc.tex +++ b/doc/tikzpingus-doc.tex @@ -291,7 +291,7 @@ \def\mand##1{\texttt{\{\textsf{\smaller##1}\}}}% \def\@pingu@command@keypartner{#1}% % #1 is the default -\newcommand\opt[2][]{\texttt{\textit{[\textsf{##2\ifx!##1!\else\textcolor{lightgray}{\smaller\sffamily=##1}\fi}]}}}% +\newcommand\opt[2][]{\texttt{\textit{[\textsf{\smaller##2\ifx!##1!\else\textcolor{lightgray}{\smaller\sffamily=##1}\fi}]}}}% \def\@explainsuff{#3}% \keyexplain[]{\\#2}{}{}% \ifx\@pingu@command@keypartner\@empty\else