%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Documentation for the tikzlings package
% A collection of packages to draw animals in tikz
% Maintained by samcarter
%
% Project repository and bug tracker:
% https://github.com/samcarter/tikzlings
%
% Released under the LaTeX Project Public License v1.3c or later
% See http://www.latex-project.org/lppl.txt
%
% Version 0.1
% Nov 9, 2018   
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[parskip=half]{scrartcl}

% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[T1]{fontenc}	
\usepackage[utf8]{inputenc}		
\usepackage[english]{babel}
\usepackage[svgnames]{xcolor}
\usepackage[bitstream-charter]{mathdesign}
\usepackage{tikzlings}
\usepackage[most]{tcolorbox}
\usepackage[paper=a4paper,margin=3cm]{geometry}
\usepackage{url}
\usepackage{xspace}
\usepackage{scrlayer-scrpage} 
\usepackage[hang,flushmargin,bottom]{footmisc}
\usepackage[%
	colorlinks=true,
	breaklinks=true,
	allcolors=SteelBlue!50!black
]{hyperref}

% macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\CTAN}{\textsc{CTAN}\xspace}
\newcommand{\TikZ}{Ti\emph{k}Z\xspace}
\newcommand{\tikzducks}{Ti\emph{k}Zducks\xspace}
\newcommand{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
\newcommand{\tikzlings}{Ti\emph{k}Zlings\xspace}
\newcommand{\miktex}{MiK\TeX\xspace}
\newcommand{\texlive}{\TeX{}Live\xspace}

% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addtokomafont{sectioning}{\color{SteelBlue}}
\addtokomafont{date}{\normalsize}
\addtokomafont{author}{\normalsize}

\deftocheading{toc}{}%
\setcounter{tocdepth}{1}

\newcommand*\gobbleentrynumber[1]{}
\newcommand*\mytocformat[1]{#1}
\newcommand*\mytocpageformat[1]{#1}
\RedeclareSectionCommand[
  toclinefill=\TOCLineLeaderFill,
  tocnumwidth=0pt,
  tocentrynumberformat=\gobbleentrynumber,
  tocentryformat=\mytocformat,
  tocpagenumberformat=\mytocpageformat,
  tocbeforeskip=0.8ex plus 1pt minus 1pt
]{section}

\makeatletter
\renewcommand{\sectionlinesformat}[4]{%
\ifstr{#1}{section}{%
    \parbox[t]{\linewidth}{%
      \raggedsection\@hangfrom{\hskip #2#3}{#4}\par%
      \kern-.75\ht\strutbox\rule{\linewidth}{.8pt}%
    }%
  }{%
    \@hangfrom{\hskip #2#3}{#4}}% 
}
\makeatother

\renewcommand*{\subsectionformat}{}
\renewcommand*{\sectionformat}{}

\setlength{\footnotemargin}{0.7em}

\colorlet{blue}{SteelBlue}

\lstdefinestyle{duckstyle}{%
	language={[latex]TeX},
	tabsize=2,
	breaklines,
	basicstyle=\ttfamily,
	commentstyle={\color{green!50!black}\slshape}, 
	columns=fullflexible,
	alsodigit={-},
	alsoletter={3},
	emphstyle=\color{red!60!black},
	emph=[1]{
		tikzlings,
		tikzlings-marmots, tikzlings-bears, tikzlings-coatis, tikzlings-koalas, tikzlings-marmots, tikzlings-owls, tikzlings-penguins, tikzlings-snowmans, tikzlings-mice, tikzlings-moles, tikzlings-sloths,
		body, 3D, rotatehead, sideward, blush, sleeping, whiskers, teeth, shadow, askphil, leftstep, rightstep, eye, nose, pupil, bill, feet, belly, ask, phil, mouth, buttons, rotatearms, 
		scale, yshift, xshift, rotate, hands, muzzle,
		hat, tophat, beret, strawhat, ribbon, harlequin, niuqelrah, witch, magichat, magicstars, crown, queencrown, kingcrown, santa, chef, graduate, tassel, alien, book, bookcolour, signpost, signcolour, signback, speech, think, bubblecolour, pizza, cheese, baguette, cake, icecream, flavoura, flavourb, flavourc, milkshake, wine, cricket, hockey, football, crystalball, magicwand, rollingpin, lightsaber, torch, basket, easter, egga, eggb, eggc, crozier, shovel, pickaxe,
	},
	texcsstyle=*\color{SteelBlue!50!black}\bfseries,
	keywordstyle=\color{red!60!black}\bfseries,
	morekeywords={tikzpicture},
	moretexcs={
		usepackage, usetikzlibrary, marmot, coati, bear, koala, owl, penguin, thing, tikzling, snowman, mouse, moles, sloth,
	},
	delim ={[s][\ttfamily\color{green!50!black}]{$}{$}},
	moredelim=[is][\footnotesize\ttfamily\color{orange!70!black}]{|}{|},
	index=[1][emph]
}

\tcbset{%
	colframe=SteelBlue!50!black,
	arc=0mm,
	fonttitle=\bfseries,
	sidebyside,
	listing options={style=duckstyle},
	center lower,
	righthand width=6.5cm,
	bottom=0pt, 
	top=0pt,
	tikz lower,
	height plus=3cm,
	colback=SteelBlue!30!white
}

\lstset{style=duckstyle}

\pgfmathsetseed{2}
\setlength{\footheight}{50pt}

\cfoot{\thepage} 
\pagestyle{scrheadings}

\makeatletter
\renewcommand*{\coati}[1][]{%
	\begin{scope}%
		\path (-1.63,0.1) rectangle (1.63,2.26);
		\tikzset{/coati/.cd,#1}%
		\coati@draw%
	\end{scope}%
	\thing[#1]%
}

\renewcommand*{\mouse}[1][]{%
	\begin{scope}%
		\path (-1.6,0.1) rectangle (0.905, 2.17);
		\tikzset{/mouse/.cd,#1}%
		\mouse@draw%
	\end{scope}%
	\thing[#1]%
}
\makeatother

\cfoot{%
	\begin{tikzpicture}[scale=0.5] 
	    \tikzling[signpost={\thepage}]
	\end{tikzpicture}
} 

% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{The \texorpdfstring{\tikzlings}{tikzlings} package}
\subtitle{drawing animals and beings in \TikZ}
\author{%
	\texorpdfstring{\texttt{samcarter}\\[0.8em]
		\url{https://github.com/samcarter/tikzlings}
%		\url{https://www.ctan.org/pkg/tikzlings}
	}{samcarter}}
\date{Version 0.1 -- \today}

\begin{document}
\maketitle
\thispagestyle{scrheadings}

\section*{Introduction}
\label{intro}

The \tikzlings are a collection of little animals (and beings) drawn in \TikZ. It is the next evolutionary phase of the \tikzmarmots package extending it with further animals (and beings) and also adding the ability to natively use many of the accessories known from the \tikzducks package. 

This package is work in progress, therefore I would be happy to hear your feedback and ideas how to improve the package. 
The head version of the source code can be found on \url{github.com/samcarter/tikzlings}, including a bug tracker -- please make constructive use of it! 
%A more stable package version can be found on \CTAN (\url{www.ctan.org/pkg/tikzlings}) and is included in both \miktex and \texlive as \tikzlings. 

\subsection*{Acknowledgements}

I'd like to thank the friendly and helpful community of \href{https://tex.stackexchange.com/}{TeX.Stackexchange} for their suggestions, feedback and help to create this package and find a suitable name for it. As a thank you all the \tikzlings have a name which is in some way or another connected to the users of TeX.SE.

\subsection*{License}

Copyright \raisebox{0.2em}{\tiny\fontfamily{cmr}\selectfont\textcopyright}
\texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{http://www.latex-project.org/lppl.txt}.

\clearpage
\section*{The \tikzlings}

The \tikzlings package is a collection of packages. It can either be loaded as a whole with \lstinline|\usepackage{tikzlings}| or the subpackages containing the individual animals (and beings) can be used separately, e.g.\ by loading \lstinline|\usepackage{tikzlings-marmots}|.

The basic usage is the same for all animals (and beings). Inside a \lstinline|tikzpicture|, the \tikzlings can be added via \color{SteelBlue!50!black}\lstinline|\<name_of_the_tikzling>|\color{black}. For example

\begin{tcblisting}{}
\marmot
\end{tcblisting}

will produce a marmot. All usual \TikZ and \lstinline|pgf| keys can be passed as optional argument to change the appearance. For example scaling and rotating the \tikzlings can be done by

\begin{tcblisting}{}
\penguin[rotate=30,scale=0.5]
\end{tcblisting}

In addition to the standard options provided by \TikZ each \tikzlings also comes with some additional options which are listed in the following sections. If these additional options consist of multiple words they are available both with and without spaces, for example \lstinline|askphil| and \lstinline|ask phil| will be treated as the same.

\subsection*{List of all \tikzlings:}

\begingroup
	\hypersetup{hidelinks}
	\tableofcontents
\endgroup

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Bear 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Bear]{B\"ar, the teddy bear}

\emph{If you look very closely at the group picture in \href{https://www.tug.org/TUGboat/tb39-2/tb122wright-tug18.pdf}{TUG goes to Rio} you can spot the real B\"ar in it}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-bears}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\bear
\end{tcblisting}

\subsection{Options}

The basic teddy bear can be modified by changing its colour:
\begin{tcblisting}{}
\bear[body=blue]
\end{tcblisting}

The key \lstinline|3D| will make the teddy bear 3-dimensional:
\begin{tcblisting}{}
\bear[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Coati 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Coati]{007, the coati}

\emph{Named after a coati living in the zoo of M\"onchengladbach}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-coatis}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\coati
\end{tcblisting}

\subsection{Options}

The basic coati can be modified by changing its colour:
\begin{tcblisting}{}
\coati[body=blue]
\end{tcblisting}

The head of the coati can be rotated, but please don't overdo this, otherwise his neck might break!
\begin{tcblisting}{}
\coati[rotatehead=-15]
\end{tcblisting}

For the head an alternative sidewards facing head is available. It can be combined with the \lstinline|rotatehead| option.
\begin{tcblisting}{}
\coati[sideward]
\end{tcblisting}

Finally the key \lstinline|3D| will make the coati 3-dimensional:
\begin{tcblisting}{}
\coati[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Koala 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Koala]{Will, the koala}

\emph{The koala was generously contributed by the TeX.Stackexchange user marmot and is named in honour of a \LaTeX{} developer from Down Under}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-koalas}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\koala
\end{tcblisting}

\subsection{Options}

The basic koala can be modified by changing its colour:
\begin{tcblisting}{}
\koala[body=blue]
\end{tcblisting}

It can also blush
\begin{tcblisting}{}
\koala[blush]
\end{tcblisting}

and if tired, it is going to take a nap:
\begin{tcblisting}{}
\koala[sleeping]
\end{tcblisting}

Finally the key \lstinline|3D| will make the koala 3-dimensional:
\begin{tcblisting}{}
\koala[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Marmot 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Marmot]{Phil, the marmot}

\emph{Phil got his name from Punxsutawney Phil, the famous weather forecasting groundhog}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-marmots}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\marmot
\end{tcblisting}

\subsection{Options}

The basic marmot can be modified by changing its colour:
\begin{tcblisting}{}
\marmot[body=blue]
\end{tcblisting}

It can also blush
\begin{tcblisting}{}
\marmot[blush]
\end{tcblisting}

and whiskers can be added:
\begin{tcblisting}{}
\marmot[whiskers=gray]
\end{tcblisting}

Some marmots even show their chisel teeth:
\begin{tcblisting}{}
\marmot[teeth=white]
\end{tcblisting}

or can cast a shadow:
\begin{tcblisting}{}
\marmot[shadow]
\end{tcblisting}

This ability is important if you want to ask Punxsutawney Phil\footnote{\url{https://en.wikipedia.org/wiki/Punxsutawney_Phil}} on Groundhog Day how the weather is going to be. With a probability derived from the statistics of 120 Groundhog Days\footnote{\url{https://www.livescience.com/32974-punxsutawney-phil-weather-prediction-accuracy.html}} the option \lstinline|askphil| might or might not result in a shadow.
\begin{tcblisting}{}
\marmot[askphil]
\end{tcblisting}

If a good weather prognosis is derived, the happy marmot can dance by lifting up its left and right foot: 
\begin{tcblisting}{}
\marmot[leftstep]
\marmot[rightstep,xshift=2cm]
\end{tcblisting}

Finally the key \lstinline|3D| will make the marmot 3-dimensional:
\begin{tcblisting}{}
\marmot[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Mouse 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Mole]{Wilhelm, the mole}

\emph{The mole was added in celebration of the international mole day and is named after the chemist Wilhelm Ostwald}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-moles}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\textcolor{red!60!black}{\textbf{Attention:} In contrast to the other \tikzlings the macro name is the plural form to avoid conflicts with  \lstinline|siunitx| and similar packages.}
\begin{tcblisting}{}
\moles
\end{tcblisting}

\subsection{Options}

The basic mouse can be modified by changing its colour:
\begin{tcblisting}{}
\moles[body=blue]
\end{tcblisting}

In addition to the colour of the body, the colour of various body parts can be adjusted:
\begin{tcblisting}{}
\moles[muzzle=red]
\end{tcblisting}

\begin{tcblisting}{}
\moles[hands=red]
\end{tcblisting}

\begin{tcblisting}{}
\moles[feet=red]
\end{tcblisting}

The key \lstinline|3D| will make the mole 3-dimensional:
\begin{tcblisting}{}
\moles[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Mouse 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Mouse]{Tokz, the mouse}

\emph{The idea for the mouse came from an Italian TeX.Stackexchange user -- Tokz is a combination of the Italian word for mouse and \TikZ}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-mice}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\mouse
\end{tcblisting}

\subsection{Options}

The basic mouse can be modified by changing its colour:
\begin{tcblisting}{}
\mouse[body=blue]
\end{tcblisting}

The rotation angle of its arms can be adjusted:
\begin{tcblisting}{}
\mouse[rotatearms=40]
\end{tcblisting}

The key \lstinline|3D| will make the mouse 3-dimensional:
\begin{tcblisting}{}
\mouse[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Jake 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Owl]{Jake, the owl}

\emph{The owl Jake was inspired by the avatar of one of the top users of TeX.Stackexchange}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-owls}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\owl
\end{tcblisting}

\subsection{Options}

The basic owl can be modified by changing its colour:
\begin{tcblisting}{}
\owl[body=blue]
\end{tcblisting}

In addition to the colour of the body, the colour of various body parts can be adjusted:
\begin{tcblisting}{}
\owl[eye=red]
\end{tcblisting}
\begin{tcblisting}{}
\owl[pupil=red]
\end{tcblisting}
\begin{tcblisting}{}
\owl[bill=red]
\end{tcblisting}
\begin{tcblisting}{}
\owl[feet=red]
\end{tcblisting}

Finally the key \lstinline|3D| will make the owl 3-dimensional:
\begin{tcblisting}{}
\owl[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Penguin 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Penguin]{Tux, the penguin}

\emph{Dedicated to the Linux mascot}


\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-penguins}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\penguin
\end{tcblisting}

\subsection{Options}

The basic penguin can be modified by changing its colour:
\begin{tcblisting}{}
\penguin[body=blue]
\end{tcblisting}

In addition to the colour of the body, the colour of various body parts can be adjusted:
\begin{tcblisting}{}
\penguin[eye=red]
\end{tcblisting}
\begin{tcblisting}{}
\penguin[pupil=red]
\end{tcblisting}
\begin{tcblisting}{}
\penguin[bill=red]
\end{tcblisting}
\begin{tcblisting}{}
\penguin[belly=red]
\end{tcblisting}
\begin{tcblisting}{}
\penguin[feet=red]
\end{tcblisting}

Finally the key \lstinline|3D| will make the penguin 3-dimensional:
\begin{tcblisting}{}
\penguin[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Sloth 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Sloth]{Riley, the sloth}

\emph{One of the regulars in the TeX.Stackexchange chat once met a sloth called Riley}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-sloths}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\sloth
\end{tcblisting}

\subsection{Options}

The basic sloth can be modified by changing its colour:
\begin{tcblisting}{}
\sloth[body=blue]
\end{tcblisting}

If tired, the sloth can take a nap:
\begin{tcblisting}{}
\sloth[sleeping]
\end{tcblisting}

Finally the key \lstinline|3D| will make the sloth 3-dimensional:

\begin{tcblisting}{}
\sloth[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Snowman 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Snowman]{Yuki, the snowman}

\emph{Yuki is the transcription of the Japanese word for snow}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings-snowmans}| 
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\snowman
\end{tcblisting}

\subsection{Options}

The basic snowman can be modified by changing its colour:
\begin{tcblisting}{}
\snowman[body=blue]
\end{tcblisting}

In addition to the colour of the body, the colour of various body parts can be adjusted:
\begin{tcblisting}{}
\snowman[eye=red]
\end{tcblisting}
\begin{tcblisting}{}
\snowman[nose=red]
\end{tcblisting}
\begin{tcblisting}{}
\snowman[mouth=red]
\end{tcblisting}
\begin{tcblisting}{}
\snowman[buttons=red]
\end{tcblisting}

Finally the key \lstinline|3D| will make the snowman 3-dimensional:

\begin{tcblisting}{}
\snowman[3D]
\end{tcblisting}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Random Tikzling 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section[Ti\emph{k}Zlings]{... , the Ti\emph{k}Zling}

\emph{The inventor of the word \tikzlings has yet to come up with a name for the Ti\emph{k}Zling}

\subsection{Package name}

\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
\vspace*{0.5cm}
\lstinline|\usepackage{tikzlings}|
\vspace*{0.5cm}
\end{tcolorbox}

\subsection{Basic Usage}

\begin{tcblisting}{}
\tikzling
\end{tcblisting}

\subsection{Options}

Only options common for all \tikzlings are supported for the \lstinline|\tikzling|. These are the ability to change the body colour
\begin{tcblisting}{}
\tikzling[body=blue]
\end{tcblisting}

and the \lstinline|3D| key, which will make the Ti\emph{k}Zlings 3-dimensional:
\begin{tcblisting}{}
\tikzling[3D]
\end{tcblisting}

If an option of a specific tikzlings is used (for example \lstinline|sleeping| which only the koala can do) this only works if your are lucky and the koala is drawn, in all other cases it will result in an error. 

In addition all usual \TikZ and \lstinline|pgf| keys can be used in the optional argument as well as the accessories presented in the following section.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Accessories 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\section{Accessories}

To customise the \tikzlings the package provides a number of accessories which can be added to all the \tikzlings simply by adding the respective keyword as optional argument:

\begin{tcblisting}{}
\bear[hat]
\end{tcblisting}
 
For most of these items, the colour can be customised:

\begin{tcblisting}{}
\koala[crown=orange!50!yellow]
\end{tcblisting}

Unfortunately it is very difficult to create accessories that will fit all the different shapes of the \tikzlings. Therefore it is also possible to add them separately as optional argument of the \lstinline|\thing| macro, which allows more control of their size and placement:

\begin{tcblisting}{}
\owl
\thing[tophat,scale=1.5,yshift=-0.6cm,xshift=-0.05cm]
\end{tcblisting}

A list of all available accessories is given below. For completeness the default colours for each key are shown, but actually it is unnecessary unless it should be changed. In case more than one key is shown, all but the first are optional.

\subsection{Hats}

\begin{tcblisting}{}
\penguin[
	hat=blue!40!black
]
\end{tcblisting}

\begin{tcblisting}{}
\snowman[
	tophat=black!90!white
]
\end{tcblisting}

\begin{tcblisting}{}
\mouse[
	beret=black
]
\end{tcblisting}

\begin{tcblisting}{}
\owl[
	strawhat=gray!30!white,
	ribbon=black
]
\end{tcblisting}

\begin{tcblisting}{}
\coati[
	harlequin=blue,
	niuqelrah=red
]
\end{tcblisting}

\begin{tcblisting}{}
\owl[
	witch=black
]
\end{tcblisting}

\begin{tcblisting}{}
\bear[
	magichat=violet,
	magicstars=yellow!80!brown
]
\end{tcblisting}

\begin{tcblisting}{}
\penguin[
	crown=yellow!90!orange
]
\end{tcblisting}

\begin{tcblisting}{}
\koala[
	queencrown=yellow
]
\end{tcblisting}

\begin{tcblisting}{}
\marmot[
	kingcrown=gray
]
\end{tcblisting}

\begin{tcblisting}{}
\mouse[
	santa=red!80!black
]
\end{tcblisting}

\begin{tcblisting}{}
\bear[
	chef=gray!20!white
]
\end{tcblisting}

\begin{tcblisting}{}
\snowman[
	graduate=black,
	tassel=red
]
\end{tcblisting}

\begin{tcblisting}{}
\penguin[
	alien=green
]
\end{tcblisting}

\subsection{Communication}

\begin{tcblisting}{}
\coati[
	book={\tiny\TeX},
	bookcolour=brown
]
\end{tcblisting}

\begin{tcblisting}{}
\mouse[
	signpost={\TeX},
	signcolour= brown!50!black,
	signback=green!40!black
]
\end{tcblisting}

\begin{tcblisting}{}
\bear[
	speech={\TeX},
	bubblecolour=gray!30!white
]
\end{tcblisting}

\begin{tcblisting}{}
\penguin[
	think={\TeX},
	bubblecolour=gray!30!white
]
\end{tcblisting}

\subsection{Food}

\begin{tcblisting}{}
\koala[
	pizza
]
\end{tcblisting}

\begin{tcblisting}{}
\mouse[
	cheese=yellow!30!orange!60!white
]
\end{tcblisting}

\begin{tcblisting}{}
\coati[
	baguette=brown
]
\end{tcblisting}

\begin{tcblisting}{}
\moles[
	cake=violet
]
\end{tcblisting}

\begin{tcblisting}{}
\marmot[
	icecream=brown!60!gray,
	flavoura=brown!50!black,
	flavourb=white!70!brown,
	flavourc=red!50!white
]
\end{tcblisting}

\begin{tcblisting}{}
\penguin[
	milkshake=red!20!white
]
\end{tcblisting}

\begin{tcblisting}{}
\owl[
	wine=red!70!black
]
\end{tcblisting}

\subsection{Sports}

\begin{tcblisting}{}
\coati[
	cricket=brown
]
\end{tcblisting}

\begin{tcblisting}{}
\mouse[
	hockey=brown
]
\end{tcblisting}

\begin{tcblisting}{}
\koala[
	football=white
]
\end{tcblisting}

\subsection{Other items}

\begin{tcblisting}{}
\marmot[
	crystalball=cyan
]
\end{tcblisting}

\begin{tcblisting}{}
\bear[
	magicwand
]
\end{tcblisting}

\begin{tcblisting}{}
\coati[
	rollingpin=brown
]
\end{tcblisting}

\begin{tcblisting}{}
\penguin[
	lightsaber=green
]
\end{tcblisting}

\begin{tcblisting}{}
\snowman[
	torch=gray
]
\end{tcblisting}

\begin{tcblisting}{}
\mouse[
	basket=brown!70!gray
]
\end{tcblisting}

\begin{tcblisting}{}
\sloth[
	easter=brown!70!gray,
	egga=blue,
	eggb=green,
	eggc=red
]
\end{tcblisting}

\begin{tcblisting}{}
\koala[
	crozier=brown
]
\end{tcblisting}

\begin{tcblisting}{}
\snowman[
	shovel=gray
]
\end{tcblisting}

\begin{tcblisting}{}
\penguin[
	pickaxe=gray
]
\end{tcblisting}

\end{document}
