diff options
Diffstat (limited to 'graphics/pgf/contrib/tikzpingus/tikzpingus-doc.tex')
-rw-r--r-- | graphics/pgf/contrib/tikzpingus/tikzpingus-doc.tex | 4879 |
1 files changed, 4879 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikzpingus/tikzpingus-doc.tex b/graphics/pgf/contrib/tikzpingus/tikzpingus-doc.tex new file mode 100644 index 0000000000..0eede4d9f3 --- /dev/null +++ b/graphics/pgf/contrib/tikzpingus/tikzpingus-doc.tex @@ -0,0 +1,4879 @@ +% Florian Sihler, 2022 +% Licensed under GNU General Public License version 3 +% https://opensource.org/licenses/gpl-3.0.html +\errorcontextlines9999 +\documentclass[parskip=half,english,numbers=noenddot,footnotes=nomultiple,oneside]{scrartcl} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\makeatletter\def\input@path{{../tex/}}\makeatother +\usepackage[glows]{tikzpingus} + +% \definecolor{doc-main}{RGB}{204,0,25} +\colorlet{@opcolor}{pingu@blue!75!black} +\colorlet{doc-main}{@opcolor!80!pingu@black} +\usepackage[linkcolor=@opcolor,urlcolor=@opcolor,colorlinks,breaklinks,pdfusetitle]{hyperref} +\usetikzlibrary{shapes.misc,arrows.meta} +\urlstyle{same} +\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks\do-} + +\usepackage[tex,hyper]{listings} +\usepackage[skins,breakable,hooks,xparse,listingsutf8,external]{tcolorbox} +\usepackage{lmodern} +\usepackage{CrimsonPro} + +\usepackage{imakeidx} +\usepackage{tikz} +\usepackage{fontawesome} +\usepackage{csquotes} +\usepackage{enumitem} +\usepackage{microtype} +\usepackage{tikzducks} +\usepackage{datatool} +\usepackage{relsize} +\usepackage{multicol} +\usepackage{footnotebackref} +\usepackage{adjustbox} +\usepackage{xstring} +\usepackage{colorinfo} + +\makeindex[title={Key Overview},columns=2,columnsep=.75cm,noautomatic=true,options=-s indexstyle.ist] +\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}% + \xdef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}% + \label{\BackrefFootnoteTag}% + \BHFN@Old@footnotemark +} + +\newlist{inlist}{enumerate*}{1} +\setlist[inlist]{itemjoin={{, }},itemjoin*={{, and }},label=$\roman*$),mode=boxed} + +\def\MapDTLList#1{\ifcsname ListnameOf#1\endcsname\csname ListnameOf#1\endcsname\else#1\fi} +\def\ListnameOflefteye{eyes} +\def\ListnameOfbodytype{body type} + +\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}}}} +\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}} +\addtokomafont{author}{\normalsize} +\addtokomafont{date}{\normalsize} + +\def\optstyle{\@declaredcolor{@opcolor}\slshape} +\colorlet{@softgray}{gray!60!white} +\colorlet{@softgray@b}{gray!75!white} +\colorlet{@darkerblue}{pingu@blue!40!black} +\def\lstfnsize{-.7} +\lstdefinestyle{lstpingu}{% + tabsize=2, breaklines, + basicstyle=\relsize{\lstfnsize}\ttfamily, + commentstyle={\@declaredcolor{gray}\slshape}, + columns=fullflexible, + emphstyle=\slshape, + 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]{<}{>}, +} +\lstset{style=lstpingu} +\def\ipingu#1{\lstinline'#1'} +\def\lpingu#1{\lstinline[style=lstpingu,language=pingulang]'#1'} +\def\ltex#1{\lstinline[style=lstpingu,language=pinguinternallang]'#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@name,@pingu@eyes@s,@pingu@none} +} + +\def\t@lst@addToLiterate#1{\protected@edef\lst@literate{\unexpanded\expandafter{\lst@literate}\unexpanded{#1}}} +\lst@Key{add to literate}{}{\t@lst@addToLiterate{#1}} +\let\lst@ifxliterate\iftrue % make literate a star literate + +\lstdefinelanguage{pingulang}{ + 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}, + 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 +} + +\def\@CreateCodeHyperLink#1#2#3{\lstset{add to literate={#2}{{\hyperref[#3]{\optstyle#2}}}{#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}% +} +% 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}} +\def\allcmdsmin{3}% think +\def\allcmdsmax{3}% +\AtEndDocument{% + \pgfkeys{/pingu/.cd,defaults}% this way we have active defaults + \foreach \i in {\allcmdsmin,...,\allcmdsmax} {% + \immediate\write\@auxout{\noexpand\cmdsstore{\i}{\csuse{allcmds@\i}}}% + }% + \immediate\write\@auxout{% + \noexpand\gdef\noexpand\allcmdsmin{\allcmdsmin}% + \noexpand\gdef\noexpand\allcmdsmax{\allcmdsmax}% + \noexpand\gdef\noexpand\pengu@all@showcases{\pengu@all@showcases}% + }% +} + + +\def\RawShowcase#1#2{\scalebox{.68}{%\begin{tcbexternal}{showcase-#2#1}% +\tikzpicture[baseline={(pingu-bottom-center)}] +\pingu[body=pingu@main!30!white,bill color=pingu@yellow!30!white,feet color=pingu@yellow!30!white,eyes color=pingu@black!30!white,name=pingu,#1#2] +\pgfonlayer{foreground} +\node[below=3mm] at(pingu-bottom-center) {\strut}; % buffer +\pgfinterruptboundingbox +\node[below=3mm,fill=white,fill opacity=.52,text opacity=1,rounded corners=1pt] at(pingu-bottom-center) {\textsf{\strut\smash{#1}}}; +\endpgfinterruptboundingbox +\endpgfonlayer +\endtikzpicture +%\end{tcbexternal}% +}} + +\setbox0=\hbox{\RawShowcase{}{}} +\newdimen\pingu@showcase@height +\pingu@showcase@height=\dimexpr\ht0+\dp0\relax + +\def\ShowcasePengu#1=#2;{{\hypersetup{linkcolor=.}% +\hyperref[pk:/pingu/#1]{% + \parbox[b][\pingu@showcase@height]{.14\linewidth}{\centering\ifx!#2!\def\Arg{}\else\def\Arg{=#2}\fi\edef\MakeShowcase{\noexpand\RawShowcase{#1}{\Arg}}~\clap{\MakeShowcase}~}% +}}} +\def\pengu@all@showcases{} +% we mix them somewhat funny +\def\@showcase@pre{pre} +\let\@showcase@cur\@showcase@pre +\def\@toggle@showcase{\ifx\@showcase@cur\@showcase@pre\global\let\@showcase@cur\@empty\else \global\let\@showcase@cur\@showcase@pre\fi} +\newcommand\ShowcaseThis[2][]{\ifx\@showcase@cur\@showcase@pre \global\let\@showcase@cur\@empty\expandafter\gpreto\else \global\let\@showcase@cur\@showcase@pre\expandafter\gappto\fi\pengu@all@showcases{{#2=#1},}} + +\RedeclareSectionCommand[runin=false,afterskip=-2mm]{section} +\RedeclareSectionCommand[runin=false,afterskip=-2mm]{subsection} + +\tcbset{% + colframe=gray,enhanced,breakable, arc=2mm, + fonttitle=\bfseries, sidebyside, + boxrule=.35mm,listing options={style=lstpingu,language=pingulang}, + center lower,segmentation at break=false, + righthand width=4.75cm, bottom=0pt, top=0pt,boxsep=2.25pt, + before lower app={}, colback=white +} +\lstMakeShortInline[style=lstpingu,language=pingulang,basicstyle=\relsize{-1}\ttfamily\@declaredcolor{black!90!white},moredelim={[s][\itshape]{<}{>}}]{|} + +\def\explaincolor{@opcolor!8!white} +\def\cursub{} +\def\keyexplainindent{2.5em}% +% allow the oxes to have minor overlaps +\newenvironment{keyexplain}[4][/pingu/]{\minipage{\linewidth} + \parskip\smallskipamount + \StrSubstitute{#2}{ }{-}[\keyexternalname]% + \tcbset{@/.style={externalize listing=key-\keyexternalname}}% set for externalize + \phantomsection\label{pk:#1#2}\index{\cursub#2?\hyperref[pk:#1#2]{\protect\lpingu{#2}}}% + % get its length: + \StrLen{#2}[\@cclen]% + \csgappto{allcmds@\@cclen}{#2,}% + % 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}% + \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]{% + \parbox{\dimexpr\linewidth-2\fboxsep+\keyexplainindent}{\small + \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\par\endgroup +} +{\endminipage\smallskip\par} + +\def\singleshortcut#1#2"#3"#4{\def\cursub{#2?\hyperref[pk:#1#2]{\protect\lpingu{#2}}!}\keyexplain[#1]{#2 #3}{\csname pinguopt#4\endcsname}{\csname pingudefa#4\endcsname}% + \textcolor{gray}{\footnotesize This is a shortcut for: \texttt{\keyref[#1]{#2}\relsize{-1}{\ =\ {\optstyle#3}}}. The \enquote{\texttt{\textit{\csname pinguopt#4\endcsname}}} argument is passed to \keyref[#1]{#4}.} +\endkeyexplain} +\newcommand*\shortcuts[4][/pingu/]{\begingroup +\protected@edef\@tmp{#3}% +\def\explaincolor{@softexplaincolor}% +\foreach \type in \@tmp {% +\edef\tmp{\noexpand\singleshortcut{#1}{#2}\type{#4}}\tmp +}\endgroup} + +\newcommand*\keyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#1#2}}} +\newcommand*\dkeyref[2][/pingu/]{\hyperref[pk:#1#2]{\lpingu{#2}}} +\colorlet{@softexplaincolor}{gray!8!white} +\newenvironment{subkeyexplain}[5][/pingu/]{% +\begingroup +\def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% +\def\cursub{#2?\hyperref[pk:#1#2]{\protect\lpingu{#2}}!}% +\keyexplain[#1]{#3}{#4}{#5}% + {\@declaredcolor{gray}\footnotesize This command is only in effect if \keyref[#1]{#2} is active.}\par +}{\endkeyexplain\endgroup} + +\def\consumeshowkeyexplain#1(#2){\ShowcaseThis[#2]{#1}} +\newenvironment{showkeyexplain}[4][/pingu/]{% +\keyexplain[#1]{#2}{#3}{#4}% +\@ifnextchar({\consumeshowkeyexplain{#2}}{\consumeshowkeyexplain{#2}()} +}{\endkeyexplain} + +\newcommand\keyalias[3][/pingu/]{\begingroup +\def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% +\def\cursub{#3?\hyperref[pk:#1#3]{\protect\lpingu{#3}}!}% +\keyexplain[#1]{#2}{\csname pinguopt#3\endcsname}{\csname pingudefa#3\endcsname}% + {\@declaredcolor{gray}\footnotesize This is an alias for \keyref[#1]{#3}.}% +\endkeyexplain\endgroup} +\newcommand\subkeyalias[4][/pingu/]{\begingroup +\def\explaincolor{@softexplaincolor}\def\keyexplainindent{0em}% +\def\cursub{#4?\hyperref[pk:#1#4]{\protect\lpingu{#4}}!#3?\hyperref[pk:#1#3]{\protect\lpingu{#3}}!}% +\keyexplain[#1]{#2}{\csname pinguopt#3\endcsname}{\csname pingudefa#3\endcsname}% + {\@declaredcolor{gray}\footnotesize This is an alias for \keyref[#1]{#3}.}% +\endkeyexplain\endgroup} + +\def\lib#1{\tikz[baseline=-.6ex]\node[draw=teal,fill=teal!3!white,very thick,rounded corners=2pt,inner ysep=0pt]{\sffamily\strut#1};} + +\def\TikZ{Ti\textit{k}Z} +\def\tikzpingus{\TikZ pingus} + +\tcbset{external/prefix=sub_} +\tcbEXTERNALIZE % we do not need the other configurationshttps://www.freecodecamp.org/news/deploy-a-react-app-to-github-pages/ in the externalized images :D + +\hfuzz=12pt + +% this should not happen in the external images +\AtBeginDocument{% +% we do not use foreach to avoid groups +\count@=\allcmdsmin +\edef\@cntmax@{\the\numexpr\allcmdsmax+1\relax}% +\@whilenum\count@<\@cntmax@\do{% + \edef\i{\number\count@}\relax + \ifcsname allcmds@\i\endcsname + \edef\allcmds{\csname allcmds@\i\endcsname}% if undefined => empty + \expandafter\CreateCodeHyperLink\expandafter{\allcmds}{\i}% + \csxdef{allcmds@\i}{}% + \fi% csx kill to stop infinite + \global\advance\count@\@ne +}% +} +\def\TypesetShowcases{\@tempcnta\z@ +\begingroup\parskip\z@ \parindent\z@ +\@for\@elem:=\pengu@all@showcases\do{% + \advance\@tempcnta\@ne + \ifnum\@tempcnta>5 \global\@tempcnta\@ne\par\fi + \ifx\@elem\@empty\else + % space to space cmd + \edef\@tmp{\noexpand\ShowcasePengu\@elem;}\hfill\@tmp\hfill +\fi}% +\endgroup\global\let\pengu@all@showcases\@empty} + +\def\PenguinTitle{% +\setbox0=\hbox{\tikz{\pingu[body type=tilt-right,eyes wink,conical hat,cane right,bow tie=pingu@purple,left wing grab,cup=doc-main]}}% +\begin{tikzpicture}[overlay,remember picture] + \node[below left=1.5cm,rotate=-10] at (current page.north east) {\box0}; +\end{tikzpicture}% +} + +\title{The \texorpdfstring{\tikzpingus}{tikzpingus} package} +% \subtitle{Penguins with \TikZ} +\author{% + \texorpdfstring{Florian Sihler\\* + \url{https://github.com/EagleoutIce/tikzpingus} + }{Florian Sihler}} +\date{Version v1.0 \textendash\ 2022/08/24} + +\begin{document} +\maketitle +\PenguinTitle + +\begingroup +\vspace*{-4em}\newsavebox\pinguboxA +\savebox\pinguboxA{\tikz{\pingu[wings raise,santa hat,eyes wink,bow tie=pingu@yellow]}} +\newsavebox\pinguboxB +\savebox\pinguboxB{\tikz{\pingu[wings raise,head band,eyes angry,sunglasses,bow tie=doc-main,body type=chubby]}} +\begin{center} +\begin{tikzpicture} + \node[text width=.95\linewidth, inner sep=11pt] (m) {% + For my slides at university, I started to use the famous \LaTeX-package \textsl{\href{https://github.com/samcarter/tikzducks}{tikzducks}} a few years ago. + Yet, it seemed somewhat of a necessity to extend the range of available \say{cute} animals in \LaTeX. + Therefore I started writing this package: \textsl{tikzpingus}.\footnotemark\medskip\\ + \textit{Please note:} While tikzpingus is certainly inspired by tikzducks, it does offer a different set of features (e.g., multiple wing positions,~\ldots).\medskip\\ + I would be happy for any feedback or issues on the \href{https://github.com/EagleoutIce/tikzpingus}{tikzpingus}-GitHub. + }; +\pgfonlayer{background} + \node[below,xshift=1.1cm,yshift=19.5pt,scale=.4] at(m.south west) {\usebox\pinguboxA}; + \node[below,xshift=-1cm,yshift=13.5pt,scale=.4] at(m.south east) {\usebox\pinguboxB}; + \draw[rounded corners,gray,fill=white] (m.north west) -- (m.north east) -- (m.south east) -- ++(-.45cm,0) to[bend right=40] ++(-1.2cm,0) -- ([xshift=1.65cm]m.south west) to[bend right=40] ++(-1.2cm,0) -- ++(-.45cm,0) -- cycle; + \endpgfonlayer + \node[above=3mm,font=\bfseries\sffamily\Large] at(current bounding box.north) {Motivation}; +\end{tikzpicture}\vspace*{-\baselineskip} +\end{center} +\footnotetext{Why \say{pingu} and not \say{pengu}? Well, this is the third try on achieving cute penguins without using any templates or vector formats as a basis. As a german, the short form \say{pingu} was merely a typo that originated from the german word \say{pinguin} for \say{penguin}. It somewhat sticked\ldots} +\endgroup\vfill + +\begin{center} + \newsavebox\pinguA \newsavebox\pinguB \newsavebox\pinguC \newsavebox\pinguD \newsavebox\pinguE \newsavebox\pinguF \newsavebox\pinguG + \def\Table#1(#2)#3{\scope[shift={(#2)},xshift=1.75cm,yshift=1.75cm]\pingu[#1]\endscope\pgfonlayer{foreground}\draw[lightgray,line width=6pt,rounded corners=2pt,line cap=round](#2) |- ++(4.5,1.35) -- ++(0,-1.35);\fill[draw=lightgray,fill=white,line width=3pt,rounded corners=2pt] (#2)++(3pt-1.5pt,-3pt+1.5pt+2mm) rectangle ++(1.15,1.15) node[midway,centered]{\Large$\mathsf{#3}$};\endpgfonlayer}% + \setbox\pinguA=\hbox{\tikz{\pingu[santa hat,santa beard,eyes vertical,blush]}}% + \setbox\pinguB=\hbox{\tikz{\pingu[:back,right wing wave,rook=pingu@silver!80!white,rook hatch=false]}}% +\resizebox*!{4.5cm}{\begin{tikzpicture} +\Table{right wing wave,horse right,crown, eyes wink, crown position={1:(-.1cm,-.255cm){1.33}}}(2.5,3.5){\text{\sffamily f}(x)} +\Table{right wing wave,eyes wink,shirt=gray,tie,blush}(0,0)+ +\Table{right wing wave,eyes vertical,cloak=gray,body type=legacy,cup,left wing grab,blush}(5,0)* + +\Table{right wing wave,left wing shock,eyes shock,halo,heart=gray!40!pingu@white}(-2.5,-4)\div +\Table{right wing wave,cake-hat,eyes wink,flag right}(2.5,-4)\ln +\pgfonlayer{foreground} +\node[scale=.125,circle,fill=white] at (a) {\rotatebox{13}{\copy\pinguA}}; % a sets flag core +\endpgfonlayer +\Table{right wing wave,vr-headset,vr-headset hair}(7.5,-4)\bmod +\pgfonlayer{foreground} + \node[scale=2] at([yshift=-3.45cm]current bounding box.south) {\copy\pinguB}; +\endpgfonlayer +\end{tikzpicture}}\hskip6em% +% todo: regroup that +\setbox\pinguA=\hbox{\tikz{% + \pingu[wings wave,name=pingu,eyes wink,body type=legacy,eye patch right] + \draw[line cap=round,lightgray,line width=1.5pt] (pingu-wing-right-tip) circle[radius=2mm]; + \draw[line cap=round,lightgray,line width=1.5pt] (pingu-head-back-con-left) circle[radius=3mm]; + \draw[line cap=round,lightgray,line width=1.5pt] (pingu-waist-right) circle[radius=4mm]; + \draw[line cap=round,lightgray,line width=1.5pt] (pingu-foot-left) circle[radius=3.5mm]; + \draw[line cap=round,lightgray,line width=1.5pt] (pingu-head) circle[radius=2.5mm]; + \draw[line cap=round,-Kite,lightgray,line width=1.5pt] ([xshift=1mm,yshift=-1mm]pingu-wing-left-tip) to[bend left] ++(3mm,-1cm); + \draw[line cap=round,Kite-Kite,lightgray,line width=1.5pt] ([xshift=4mm]pingu-foot-left) -- ++(1cm,0); + \draw[line cap=round,Kite-Kite,lightgray,line width=1.5pt] ([yshift=-1.75cm]pingu-head-top)++(60:1.75cm and 2cm) arc(60:120:1.75cm and 2cm); +}}% +\newsavebox\whitepingu +\setbox\whitepingu=\hbox{\tikz{\pingu[@block/.style={fill=pingu@white,draw=pingu@white},wings wave]}} +\setbox\pinguB=\hbox{\rlap{\kern2.8pt\box\whitepingu}\tikz{ + \pingu[wings wave,:line,name=pingu] + \path[line width=1.5pt] (pingu-wing-right-tip) circle[radius=2mm]; +}}% +\setbox\pinguC=\hbox{\tikz{\pingu[eyes shiny,hat, hat position={1:(0cm,-.09cm){1.33}}]}}% +\setbox\pinguD=\hbox{\tikz{\pingu[eyes shiny,lightsaber right=pingu@purple,hat, hat position={1:(0cm,-.09cm){1.33}},right item angle=-13,medal]}}% +\setbox\pinguE=\hbox{\tikz{\pingu[eyes shiny,hat,cane left, hat position={1:(0cm,-.09cm){1.33}},left item angle=-13,tie,tie dots]}}% +\setbox\pinguF=\hbox{\tikz{\pingu[eyes shiny,hat,cane left, hat position={1:(0cm,-.09cm){1.33}},left item angle=-13,shirt=gray,second shirt,bill=flat,tie,tie dots]}}% +\setbox\pinguG=\hbox{\tikz{\pingu}} +\resizebox*!{4.5cm}{\begin{tikzpicture} + \node[scale=2] (a) at(0,0) {\copy\pinguA}; + \node[above=1.5cm,scale=2] at(a.north) {\small\copy\pinguB}; + + \node[right] (x) at(7.5,8) {\copy\pinguC}; + \node[below right=1cm](e) at(x.south) {\copy\pinguE}; + \node[below left=1cm] (d) at(x.south) {\copy\pinguD}; + \node[below=1cm] (f) at(e.south) {\copy\pinguF}; + + \node[above left=1cm] (g) at(x.north) {\copy\pinguG}; + + \draw[lightgray,line width=3pt,{Triangle[round,open,fill=white,scale=1.42]}-] (g) -- (x); + \draw[lightgray,line width=3pt,{Triangle[round,open,fill=white,scale=1.42]}-] (x) -- (e); + \draw[lightgray,line width=3pt,{Triangle[round,open,fill=white,scale=1.42]}-] (x) -- (d); + \draw[lightgray,line width=3pt,{Triangle[round,open,fill=white,scale=1.42]}-] (e) -- (f); +\end{tikzpicture}} +\end{center} +\vfill\null + +\clearpage\section{Introduction} +\subsection{Dependencies} + +As this package is constantly work in progress, the concrete dependencies may change any time. +At the moment, it loads \href{https://www.ctan.org/pkg/pgf}{\TikZ}, which loads a lot of other packages (e.g. \href{https://www.ctan.org/pkg/xcolor}{xcolor}), and \href{https://www.ctan.org/pkg/etoolbox}{etoolbox}. +Furthermore, the following \TikZ-Libraries are in use:\footnote{A lot of the libraries loaded are important only for specific extras. I plan on cleaning them up.} \textit{intersections}, \textit{shadings}, \textit{patterns.meta}, \textit{decorations.pathmorphing}, and \textit{shapes.symbols}. + +\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}). + +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: +\begin{tcblisting}{title={One small penguin},externalize listing=small-pengu} +\begin{tikzpicture} + \pingu +\end{tikzpicture} +\end{tcblisting} + +There are \textit{a lot} of configuration-options which can be passed as an optional argument via the known |<key>=<value>|-style. See \autoref{Gadget-Overview} for a complete gadget overview. +\begin{tcblisting}{title={Happy penguin with cup!},externalize listing=happy-cup} +\begin{tikzpicture} + \pingu[left wing wave, right wing grab, + eyes shiny, cup] +\end{tikzpicture} +\end{tcblisting} +Please note, that \say{left} and \say{right} have been chosen from the penguin-perspective. + +\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} + \duck + \pingu[xshift=2.8cm, yshift=14mm, + eyes wink] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Using the Coordinates} +\label{mrk:coordinates}While there are a lot of gadgets available already, +every penguin is accompanied by \textit{several} adaptive coordinates +to place custom items, texts,~\ldots\ % TODO: links +They can be visualized by the \keyref{meta-dots} option. +Furthermore, some extras create further coordinates themselves! +All coordinates are available with |<pingu-name>-<coordinate>|. +While the default name of a penguin is \say{pingu}, it can be +changed with the name option: +\begin{tcblisting}{title={Lotta dots},externalize listing=dotted-pengu} +\begin{tikzpicture} + \pingu[meta dots,left wing wave, + right wing grab, name=paula] + \node at (paula-belly-center) {X}; + \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 |<pingu-name>-|): +\newsavebox\pinguwingright +\savebox\pinguwingright{% +\begin{tikzpicture}% + \scope + \path[clip] (.25,-1.25) rectangle (-1.1,.7); + \pgfonlayer{foreground}\path[clip] (.25,-1.25) rectangle (-1.1,.7);\endpgfonlayer + \pingu[@block/.append style={fill=#1!35!white},wings hug,eyes shiny,heart=gray!30!white,feet=none] + \path[draw,pink,thick] (pingu-wing-right-start) -- (pingu-wing-right); + \endscope + \foreach \c/\a/\n in {wing-right/left/.75mm,wing-right-low/left/.75mm,wing-right-up/above/.75mm,wing-right-start-low/below left/1.75mm,wing-right-start-up/above left/.75mm} { + \path[fill=teal] (pingu-\c) circle [radius=1.125pt]; + \node[\a=\n,font=\ttfamily,scale=.35,inner sep=2.5pt] (expl-\c) at (pingu-\c) {\c}; + \draw[teal,thin] (expl-\c) -- (pingu-\c); + } +\end{tikzpicture}} +\makeatletter +\newsavebox\pinguwingleft +\savebox\pinguwingleft{% +\begin{tikzpicture}% + \scope + \path[clip] (\pingu@w@half*2-.25cm,-1.25) rectangle ++(1.25,1.95); + \pgfonlayer{foreground}\path[clip] (\pingu@w@half*2-.25cm,-1.25) rectangle ++(1.25,1.95);\endpgfonlayer + \pingu[@block/.append style={fill=#1!35!white}, wings wave,eyes shiny,heart=gray!30!white,feet=none] + \path[draw,pink,thick] (pingu-wing-left-start) -- (pingu-wing-left); + \endscope + \foreach \c/\a/\n in {wing-left/right/.75mm,wing-left-low/below right/.75mm,wing-left-up/above/.75mm,wing-left-start-low/below right/1.25mm,wing-left-start-up/below right/1.5mm} { + \path[fill=teal] (pingu-\c) circle [radius=1.125pt]; + \node[\a=\n,font=\ttfamily,scale=.35,inner sep=1.5pt] (expl-\c) at (pingu-\c) {\c}; + \draw[teal,thin] (expl-\c) -- (pingu-\c); + } +\end{tikzpicture}% +} +\vfill +\def\PinguCoords#1{\begin{tikzpicture} + \pingu[@block/.append style={fill=##1!35!white}, wings wave,eyes shiny,heart=gray!30!white,#1] + \pgfonlayer{foreground} + \foreach \c/\a in {belly-center/above,head/below,head-top/above,foot-left/right,foot-right/left,eye-right/above left,eye-left/above right,bill/right,bill-bottom/below,wings-side-left/right,wings-side-right/left,wing-left-start/below right,wing-left-tip/right,wing-right-start/below left,wing-right-tip/left,head-right/left,head-left/right,head-center/below,head-back-con-left/above right,head-back-con-right/above left,bottom-center/above,waist-left/right,waist-right/left} { + \path[fill=green] (pingu-\c) circle [radius=1.125pt]; + \node[\a=.5mm,font=\ttfamily,scale=.35,inner sep=1.5pt] (expl-\c) at (pingu-\c) {\c}; + \draw[green,thin] (expl-\c) -- (pingu-\c); + } + \endpgfonlayer +\end{tikzpicture}}% +\begin{center} + \edef\measurepage{\the\dimexpr\pagegoal-\pagetotal-2\baselineskip\relax}% + \ifdim\measurepage<4\baselineskip\clearpage\edef\measurepage{\the\dimexpr\pagegoal-\pagetotal-2\baselineskip\relax}\fi + \resizebox*!{\measurepage}{% + \PinguCoords{}% + } +\end{center} + +\paragraph{The Wings} +This view excluded a lot of special data collected on the wings! +While there is more information stored for each wing, the following five coordinates are the most important to place items into penguins hand:\vspace*{-1.5em} +\begin{center} + \null\hfill\parbox[c]{2.5\wd\pinguwingright}{\scalebox{2.5}{\usebox\pinguwingright}}\hfill\parbox[c]{4cm}{\centering\small\@declaredcolor{gray}\sffamily And yes, the wings are deliberately placed asymmetrical.\endgraf}\hfill + \parbox[c]{2.5\wd\pinguwingleft}{\scalebox{2.5}{\usebox\pinguwingleft}}\hfill\null +\end{center} + +\paragraph{The Body} Similarly to the wing position, different +body types can change the coordinates (left the \keyref{body type} \textit{chubby} and right the \keyref{body type} \textit{legacy}): +\begin{center} + \resizebox\linewidth!{% + \PinguCoords{body type=chubby,wings hug}\quad\PinguCoords{body type=legacy,wings hug} + } +\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: +\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} +\begin{itemize} + \foreach \col in {main,black,silver,bronze,white,yellow,lightblue,blue,green,red,purple} { + \item[{\tikz[baseline=-.6ex]{\fill[pingu@\col,semithick,draw=black] circle (4pt);}}] \footnotesize\strut + % somehow outputs, therefore box + \setbox0=\hbox{\colorInfoRGB{pingu@\col}\xdef\colorValue{\colorValue}}\rlap{\smash{\raisebox{-2.9mm}{\sffamily\color{gray}\tiny\expandafter\parseRGB\colorValue;}}}% + \texttt{pingu@\col}% + } + \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. + +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} +\begin{tikzpicture} + \pingu[wings grab, cup=pingu@purple, + cup straw=pingu@blue] + \pingu[wings grab, cup, xshift=2.8cm, + cup straw=!hide] +\end{tikzpicture} +\end{tcblisting} +As you can see, using \lpingu{!hide}, the straw will not be drawn. + +\subsection{Setting the defaults} +You do not have to re-state every key. +With \lstinline[language=pingulang]'\pingudefaults' and \lstinline[language=pingulang]'\pingudefaultsappend' (similar, but extends the current options) you can set default-options for all penguins to come: +\begin{tcblisting}{title={Change the mainstream},externalize listing=update-defaults} +\begin{tikzpicture} + \pingudefaults{wings grab, eyes shiny} + \pingu + \pingu[left wing shock, xshift=2.8cm] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Libraries} +\label{Libraries}\index{Libraries}I've split the penguin features into a set of libraries. While all of them are loaded by default, the |bare| package-option disables the automatic loading of all libraries. They can be loaded (locally to the current group) using |\pinguloadlibrary| and |\pinguloadlibraries| passing on a comma separated list of desired libraries. +See the full reference or the index to learn which key comes from which library. +Please note that~--- at the moment~--- not all components of a library are labeled correctly. +% TODO: already count that? % global let? +\foreach[count=\i] \l/\xs in \pingu@defaultlibs{\xdef\pingu@defaultlibs@count{\i}}% +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 + \ifnum\pingu@defaultlibs@count=\i\else,~and\space\fi\fi + \fi +}. + +\subsection{Changing the wings} +\label{subsec:wings}As already demonstrated, it is possible to change the wing positions! +All selected wing-items will adapt to the wing-position (although not all wing-items will make sense with every wing-position). +Currently, there are the following wing-positions: +\typesetselection{leftwing}. \say{none} is a special wing-position: it omits the drawing of wings (teaser: every selection has a none-option, which prohibits the part from being drawn)! + +For each valid wing-position you can use |wings <position>| to change both wings or |left wing <position>| and |right wing <position>| to change only one wing respectively. The default wing-position is \say{normal}. If you supply multiple options for a wing, only the last one survives.\footnote{For the sake of completeness: \ipingu{wings <position>}, \ipingu{left wing <position>}, and \ipingu{right wing <position>} are just alternatives i prefer: \ipingu{wings=<position>}, \ipingu{left wing=<position>} and \ipingu{right wing=<position>}.} +This is shown in Box~\say{\nameref{wing-showcase}}. + +\begin{tcblisting}{sidebyside=false, title=Wing-Showcase,nameref=Wing-Showcase,externalize listing=wings-showcase,float,phantomlabel=wing-showcase} +\begin{tikzpicture} + \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] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Changing the eyes} +\label{mrk:pengu-eye}Just like the wings, there are a couple of different eye-styles to choose from: \typesetselection{lefteye}. +Similar to the wings, there is a \say{none} and a \say{normal}-option (which is the default). +Furthermore, the convenient selectors |eyes <style>|, |left eye <style>|, and |right eye <style>| exist as well. All of this is showcased in~Box~\say{\nameref{eye-showcase}}. + +\begin{tcblisting}{sidebyside=false,title=Eye-Showcase,nameref=Eye-Showcase,externalize listing=eyes-showcase,float,phantomlabel=eye-showcase} +\begin{tikzpicture} + \pingu[left eye none, heart=green] + \pingu[eyes wink, heart=teal, xshift=3.5cm] + \pingu[eyes shock, heart=orange, xshift=7cm] + \pingu[left eye devil, right eye angry, heart=purple, xshift=10.5cm] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Changing other components} +\label{mrk:pengu-change-comps}Just like for the wings and the eyes, you can change the following body parts: +\begin{itemize} + \itemsep0pt\relax + \item The \textit{body type} itself\\* + Select from: \typesetselection{bodytype}. + \item The \textit{feet} (again with separate left and right)\\* + Select from: \typesetselection{leftfoot}. + \item The \textit{bill} (does not have left and right, as there is just one)\\* + Select from: \typesetselection{bill}. + \item The \textit{hairstyle} (does not have left and right)\\* + Select from: \typesetselection{hairstyle}. +\end{itemize} +For each selection, \say{none} will prohibit the drawing, and \say{normal} is the default chosen. See Box~\say{\nameref{bodyparts-showcase}} for a example. +\begin{tcblisting}{sidebyside=false,title=Bodyparts-Showcase,nameref=Bodyparts-Showcase,externalize listing=bodyparts-showcase,float,phantomlabel=bodyparts-showcase} +\begin{tikzpicture} + \pingu[bill angry, heart=green] + \pingu[feet back, hairstyle none, heart=teal, xshift=3.5cm] + \pingu[bill flat, feet simple, heart=orange, xshift=7cm] + \pingu[feet none, bill none, heart=purple, xshift=10.5cm] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Predefined Styles} +While the penguin options offer the modification of basically every drawing routine (through other styles like |@block|), it is tedious to change them every time. +So I have started to create some predefined styles, that do change some of the penguins appearance (and are completely new, so beware of bugs): +\begin{multicols}{2} +\begin{itemize} + \itemsep0pt + \foreach \tx/\s in {{draw everything with a line}/{:line}, {fill main penguin}/{:fill}, {draw components with transparency}/{:ghost parts}, {draw all layers with transparency}/{:ghost}, {set main \say{devil}-components}/{:devil},{flip the penguin (swaps left \& right)}/{:back},{do not draw main pingu}/{:hide}} { + \item \parbox[t]{.8\linewidth}{\raggedright\texttt{\s}, \tx.} \hfill + \parbox[t]{.175\linewidth}{\scalebox{.4}{% + \begin{tikzpicture}[baseline=.35\baselineskip]% + \pingu[\s] + \end{tikzpicture}% + }} + } + \item[] \parbox[t][2.25\baselineskip]{0pt}{}% buffer +\end{itemize} +\end{multicols} +Currently, only some of the styles do affect other items. As an example, consider |:line|, that changes the draw-style of wing-items and extras: +\begin{tcblisting}{title={Line Penguin},externalize listing=line-pengu} +\begin{tikzpicture} + \pingu[:line, princess crown, silver medal] +\end{tikzpicture} +\end{tcblisting} + +\subsection{Randomness} +Each selection (like the wings or the eyes) can receive a special command \lpingu{!random}. If given, the penguin will receive a randomly picked component. +Please note, that \textit{none} (the component removing it) will never be picked. +The first line in the example in Box~\say{\nameref{random-penguin}} sets the seed. % we do not externalize this one +\begin{tcblisting}{title={Random Penguin},nameref={Random Penguin},label=random-penguin,float} +\pgfmathsetseed{\number\pdfrandomseed} +\begin{tikzpicture} + \pingu[wings=!random,eyes=!random, + body type=!random, + left foot=!random, + bill=!random, + hairstyle=!random] +\end{tikzpicture} +\end{tcblisting} + +In a more general fashion, there is a \keyref{random from} key for completely random penguins. + +\keyexplain{random from}{list}{} + You can pass any list of penguin keys and exactly one of them will be selected. You can nest \keyref{random from}-calls. Please note, that the items are not separated by comma but in braces. The first line in the example sets the seed:% do not externalize +\begin{tcblisting}{} +\pgfmathsetseed{\number\pdfrandomseed} +\begin{tikzpicture} + \pingu[random from={{eye patch left}{eye patch right}{halo,halo raise=4mm}},random from={{right eye color=pingu@blue}{random from={{bow tie}{gold medal}}}},random from={{eyes=!random}{wings=!random}},body type=legacy] +\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 |<extra>=<color>| (the |<color>| 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 |<wing item> <left/right>|. + +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] +\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 + +\def\cursub{} + +\subsection{Extras} +\subsubsection{The heart} +\showkeyexplain{heart}{node-options}{}(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{<tie-color>} +\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}{<bowtie-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{<bowtie-color>} +\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{<cup-color>} +\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{<medal-color>} +\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}{<pingu-main-color>}(pingu@main) +\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}{<pingu-main-color>}(pingu@main) +\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}(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{<left-monocle-color>} +\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{<left-monocle-color>} +\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}(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{<right-monocle-color>} +\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{<right-monocle-color>} +\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{<left-button-color>}% +\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{<right-button-color>}% +\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{<left-button-color>}% +\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}{<devil--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{<headband-color>} +\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{<headband-color>} +\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{<headband-color>} +\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{<headband-color>} +\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{<headband-color>} +\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{<rook-color>} +\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{<rook-color>} +\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>:(<x>,<y>)<scale}{\pingu@x@strawhat@angle:(\pingu@x@strawhat@xshift,\pingu@x@strawhat@yshift)\{\pingu@x@strawhat@scale\}} +Currently, this is a very cumbersome command to change various strawhat parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[strawhat, + strawhat position={33:(-.8cm,.14cm){1.4}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyalias{straw hat position}{strawhat position}{strawhat} + +\subsubsection{The hat} +\showkeyexplain{hat}{color}{brown!50!white} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hat=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@hat{<hat-color>} +\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{<hat-color>} +\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{<hat-color>} +\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>:(<x>,<y>)<scale}{\pingu@x@hat@angle:(\pingu@x@hat@xshift,\pingu@x@hat@yshift)\{\pingu@x@hat@scale\}} +Currently, this is a very cumbersome command to change various hat parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[hat, hat position={1:(0cm,-.09cm){1.33}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The conical hat} +\showkeyexplain{conical hat}{color}{pingu@yellow} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[conical hat=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{conical hat}{conical hat rounding}{length}{\pingu@x@conicalhat@rounding} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[conical hat, + conical hat rounding=.25pt] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{ +\def\pingu@color@conicalhat{<canonical-hat-color>} +\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>:(<x>,<y>)<scale}{\pingu@x@conicalhat@angle:(\pingu@x@conicalhat@xshift,\pingu@x@conicalhat@yshift)\{\pingu@x@conicalhat@scale\}} +Currently, this is a very cumbersome command to change various conical hat parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[conical hat, + conical hat position={1:(-.1cm,-.275cm){1.33}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The cap} +\showkeyexplain{cap}{color}{pingu@bronze} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cap=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{cap padding}{cap padding}{length}{\pingu@x@cap@padding} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cap, cap padding=4mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + + +\subkeyexplain{cap extra height}{cap extra height}{length}{\pingu@x@cap@height} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cap, cap extra height=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The construction helmet} +\showkeyexplain{construction helmet}{color}{pingu@yellow} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[construction helmet=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{construction helmet}{construction helmet padding}{length}{\pingu@x@constructionhelmet@padding} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[construction helmet, + construction helmet padding=4mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{construction helmet extra height}{construction helmet extra height}{length}{\pingu@x@constructionhelmet@height} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[construction helmet, + construction helmet extra height=2mm] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subkeyexplain{construction helmet}{construction helmet position}{angle>:(<x>,<y>)<scale}{\pingu@x@constructionhelmet@angle:(\pingu@x@constructionhelmet@xshift,\pingu@x@constructionhelmet@yshift)\{\pingu@x@constructionhelmet@scale\}} +Currently, this is a very cumbersome command to change various construction helmet parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[construction helmet, + construction helmet position={1:(-.1cm,-.275cm){1.33}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The crown} +\showkeyexplain{crown}{color}{pingu@yellow} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{crown}{crown 3d}{true/false}{\if@pingu@x@crown@ddd@ true\else false\fi} +Toggle the 3d-Design of the crown. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown 3d=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@crown{<crown-color>} +\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><b><c><d><e><f}{\{\pingu@color@crown@gem@a\}\{\pingu@color@crown@gem@b\}\ldots} +Change the color of all the seven gems of the crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, crown gem colors={green}{green} + {green}{white}{green}{green}{green}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@crown{<crown-color>} +\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>:(<x>,<y>)<scale}{\pingu@x@crown@angle:(\pingu@x@crown@xshift,\pingu@x@crown@yshift)\{\pingu@x@crown@scale\}} +Currently, this is a very cumbersome command to change various crown parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown, eyes wink, + crown position={1:(-.1cm,-.275cm){1.33}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\keyexplain{crown 2d}{color}{pingu@yellow} +Enables the \keyref{crown} with the given color and disables \keyref{crown 3d}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[crown 2d=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\subsubsection{The princess crown} +Similar to \keyref{crown} but smaller. + +\showkeyexplain{princess crown}{color}{pingu@yellow} +Enable the smaller crown with a specific color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +\subkeyexplain{princess crown}{princess crown 3d}{true/false}{\if@pingu@x@princesscrown@ddd@ true\else false\fi} +Toggle the 3d-Design of the smaller crown. +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, princess crown 3d=false] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@princesscrown{<princess-crown-color>} +\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><b><c><d}{\{\pingu@color@princesscrown@gem@a\}\{\pingu@color@princesscrown@gem@b\}\ldots} +Change the color of all the seven gems of the smaller crown: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, + princess crown gem colors={green}{green}{white} + {green}{green}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +{\def\pingu@color@princesscrown{<princess-crown-color>} +\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>:(<x>,<y>)<scale}{\pingu@x@princesscrown@angle:(\pingu@x@princesscrown@xshift,\pingu@x@princesscrown@yshift)\{\pingu@x@princesscrown@scale\}} +Currently, this is a very cumbersome command to change various princess crown parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown, eyes wink, + princess crown position={1:(-.19cm,-.2cm){2.2}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\keyexplain{princess crown 2d}{color}{pingu@yellow} +Enables the \keyref{princess crown} with the given color and disables \keyref{princess crown 3d}: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[princess crown 2d=green] +\end{tikzpicture} +\end{tcblisting} +\endkeyexplain + +\subsubsection{The cake hat} + +\showkeyexplain{cake-hat}{color}{pingu@white!92!<pingu-cake-hat-top>} +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{<cake-hat-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{<cake-hat-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{<cake-hat-color>} +\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}{color}{\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>:(<x>,<y>)<scale}{\pingu@x@cakehat@angle:(\pingu@x@cakehat@xshift,\pingu@x@cakehat@yshift)\{\pingu@x@cakehat@scale\}} +Currently, this is a very cumbersome command to change various cake hat parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[cake-hat, + cake-hat position={1:(-.085cm,-.2cm){1.275}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The pumpkin hat} + +\showkeyexplain{pumpkin-hat}{color}{pingu@bronze!97!white} +Enable a pumpkin hat with a specific color: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@pumpkinhat{<pumpkinhat-color>} +\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}{<pumpkinhat-stalk-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}{color}{\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>:(<x>,<y>)<scale}{\pingu@x@pumpkinhat@angle:(\pingu@x@pumpkinhat@xshift,\pingu@x@pumpkinhat@yshift)\{\pingu@x@pumpkinhat@scale\}} +Currently, this is a very cumbersome command to change various pumpkin hat parameters at the same time: +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[pumpkin-hat, + pumpkin-hat position={1:(-.085cm,-.15cm){1.275}}] +\end{tikzpicture} +\end{tcblisting} +\endsubkeyexplain + +\subsubsection{The VR-Headset} + +\showkeyexplain{vr-headset}{color}{pingu@black!92!gray} +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[vr-headset=green] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@vrheadset{<vr-headset>} +\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{<vr-headset>} +\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{<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{<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{<santa hat>} +\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}{<santa hat second>} +\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}(pingu@white!96!pingu@red!98!pingu@black!92!gray,santa beard string=pingu@main) +\begin{tcblisting}{@} +\begin{tikzpicture} + \pingu[santa beard=brown!20!white] +\end{tikzpicture} +\end{tcblisting} +\endshowkeyexplain + +{\def\pingu@color@body@main{<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}(pingu@white!61!gray,mask band=pingu@main) +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{<mask-color>} +\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{<mask-color>} +\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}{<blush>} +\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}{<fat 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}(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{<lightsaber-color>} +\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}(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{<lightsaber-color>} +\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{<horse-left-color>} +\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{<horse-left-mane-color>} +\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{<horse-left-thatch-color>} +\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{<horse-left-tail-color>} +\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{<horse-left-base-color>} +\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{<horse-left-base-shade-color>} +\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}{color}{\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}{color}{\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{<horse-right-color>} +\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{<horse-right-mane-color>} +\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{<horse-right-thatch-color>} +\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{<horse-right-tail-color>} +\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{<horse-right-base-color>} +\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{<horse-right-base-shade-color>} +\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{<cloak-color>} +\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{<cloak-color>} +\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{<cloak-color>} +\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{<cloak-color>} +\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{<shirt-button-top>}\def\pingu@color@shirt{<shirt-color>} +\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{<shirt-button-middle>}\def\pingu@color@shirt{<shirt-color>} +\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{<shirt-button-top>}\def\pingu@color@shirt{<shirt-color>} +\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{<second-shirt-color>} +\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} + +\lstset{breakatwhitespace}\printindex +\end{document}
\ No newline at end of file |