texlive[45874] Master/texmf-dist: tikzducks (21nov17)

commits+karl at tug.org commits+karl at tug.org
Tue Nov 21 23:14:30 CET 2017


Revision: 45874
          http://tug.org/svn/texlive?view=revision&revision=45874
Author:   karl
Date:     2017-11-21 23:14:30 +0100 (Tue, 21 Nov 2017)
Log Message:
-----------
tikzducks (21nov17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tikzducks/README.md
    trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.pdf
    trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex
    trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty

Modified: trunk/Master/texmf-dist/doc/latex/tikzducks/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzducks/README.md	2017-11-21 21:57:40 UTC (rev 45873)
+++ trunk/Master/texmf-dist/doc/latex/tikzducks/README.md	2017-11-21 22:14:30 UTC (rev 45874)
@@ -6,6 +6,8 @@
 
 The project repository, including a bug tracker, can be found at https://github.com/samcarter8/tikzducks/issues
 
+![This repository has an official duck seal of approval](https://i.stack.imgur.com/mSAtL.png)
+
 ### A few examples:
 
-![tikz ducks](https://user-images.githubusercontent.com/8226363/29253620-1c4ea2de-8082-11e7-800b-64df42ce6a66.png)
+![tikz ducks](https://user-images.githubusercontent.com/8226363/33049537-e71e9dd0-ce60-11e7-8b4c-7e1de0177f14.png)

Modified: trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex	2017-11-21 21:57:40 UTC (rev 45873)
+++ trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex	2017-11-21 22:14:30 UTC (rev 45874)
@@ -10,20 +10,22 @@
 % Released under the LaTeX Project Public License v1.3c or later
 % See http://www.latex-project.org/lppl.txt
 %
-% Version 0.4
-% Sep 04, 2017 
+% Version 0.5
+% Nov 21, 2017 
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[parskip=half]{scrartcl}
 
 % packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[T1]{fontenc}	
+\usepackage[LSBC5,T1]{fontenc}	
 \usepackage[utf8]{inputenc}		
 \usepackage[english]{babel}
 \usepackage[bitstream-charter]{mathdesign}
+\usepackage{chessfss}
 \usepackage{tikzducks}
 \usepackage[most]{tcolorbox}
 \usepackage[paper=a4paper,margin=3cm]{geometry}
+\usepackage{url}
 \usepackage[colorlinks=true,breaklinks=true,urlcolor=duckblue,linkcolor=duckblue,citecolor=duckblue,filecolor=duckblue]{hyperref}
 \usepackage{xspace}
 \usepackage{scrlayer-scrpage} 
@@ -30,6 +32,7 @@
 \usepackage{marvosym}
 \usepackage{fontawesome}
 \usepackage[hang,flushmargin,bottom]{footmisc}
+\usepackage{imakeidx}
 
 % macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newcommand{\CTAN}{\textsc{CTAN}\xspace}
@@ -53,13 +56,14 @@
 	commentstyle={\color{green!50!black}\slshape}, 
 	columns=fullflexible,
 	emphstyle=\color{orange!70!black},
-	emph=[1]{water,body,head,eye,pupil,bill,grumpy,tshirt,jacket,tie,cape,shorthair,longhair,crazyhair,recedinghair,eyebrow,glasses,sunglasses,alien,hat,cap,santa,chef,graduate,tassel,beret,crown,unicorn,icecream,flavoura,flavourb,flavourc,book,bookcolour,signpost,signcolour,signback,magichat,magicstars,magicwand,witch,cricket,rollingpin,lightsaber,cake,pizza,hockey,baguette,wing,football},
+	emph=[1]{water,body,head,eye,pupil,bill,grumpy,tshirt,jacket,tie,cape,shorthair,longhair,crazyhair,recedinghair,eyebrow,beard,glasses,sunglasses,alien,hat,cap,santa,chef,graduate,tassel,beret,crown,unicorn,icecream,flavoura,flavourb,flavourc,book,bookcolour,signpost,signcolour,signback,magichat,magicstars,magicwand,witch,cricket,rollingpin,lightsaber,torch,cake,pizza,hockey,baguette,wing,football,mask,bunny,inear,necklace,milkshake,wine,peakedcap,prison,tophat,speech,bubblecolour,think},
 	texcsstyle=*\color{duckblue}\bfseries,
 	keywordstyle=\color{red!60!black}\bfseries,
 	morekeywords={tikzpicture,scope,patterns,pgfinterruptboundingbox},
-	moretexcs={duck,path,definecolor,duckpathjacket,duckpathbody,duckpathgrumpybill,duckpathbill,duckpathtshirt,duckpathcape,duckpathshorthair,duckpathlonghair,duckpathcrazyhair,duckpathrecedinghair,duckpathcrown,scalebox,foreach,node,PassOptionsToPackage,usetikzlibrary,selectcolormodel,colorlet,insignia,stripes,color,includegraphics,mcap},
+	moretexcs={duck,path,definecolor,duckpathjacket,duckpathbody,duckpathgrumpybill,duckpathbill,duckpathtshirt,duckpathcape,duckpathshorthair,duckpathlonghair,duckpathcrazyhair,duckpathrecedinghair,duckpathcrown,scalebox,foreach,node,draw,PassOptionsToPackage,usetikzlibrary,selectcolormodel,colorlet,insignia,stripes,color,includegraphics,mcap,setboardfontcolors,setboardfontencoding,WhiteQueenOnWhite,WhiteKingOnWhite,superstripes,shuffleducks,randuck,randomhead,randomaccessories},
 	delim ={[s][\ttfamily\color{green!50!black}]{$}{$}},
-	escapechar=@,
+	moredelim=[is][\footnotesize\ttfamily\color{orange!70!black}]{|}{|},
+	index=[1][emph]
 }
 
 \tcbset{%
@@ -70,7 +74,8 @@
 	listing options={style=duckstyle},
 	center lower,
 	righthand width=6.5cm,
-	bottom=0cm, top=0cm,
+	bottom=0pt, 
+	top=0pt,
 	before lower={%
 		\setlength{\parskip}{0.5cm}%
 		\spaceskip=5\fontdimen2\font%
@@ -78,40 +83,28 @@
 }
 
 \lstset{style=duckstyle}
+\pgfkeys{/duck/|stripes|/.style={stripes={#1}}}
 
-\setlength{\footheight}{27.21881pt}
+\pgfmathsetseed{11}
+\setlength{\footheight}{45pt}
 \newlength{\duckoffset}
+
 \cfoot{%
-	\begin{tikzpicture}[scale=0.3,baseline=-5pt]
-		\duck
-	\end{tikzpicture}%
-	\ifnum\thepage>1%
-		\foreach \x in{2,...,\thepage}{%
-			\ifodd\x
-				\setlength{\duckoffset}{-12pt}
-			\else%
-				\setlength{\duckoffset}{-5pt}
-			\fi%
-			\begin{tikzpicture}[scale=0.15,baseline=\duckoffset]
-				\ifnum\x=5
-					\duck[body=gray!50!white,head=gray!50!white]
-				\else
-					\ifnum\x=10
-						\duck[body=gray!50!white,head=gray!50!white]
-					\else
-						\ifnum\x=15
-							\duck[body=gray!50!white,head=gray!50!white]
-						\else
-							\duck
-						\fi
-					\fi
-				\fi
-			\end{tikzpicture}
-		}%
-	\fi%
+	\shuffleducks
+	\begin{tikzpicture}[scale=0.5] 
+	    \duck[signpost=\scalebox{0.6}{\thepage},\randomhead]
+	\end{tikzpicture}
 } 
 \pagestyle{scrheadings}
+\indexsetup{firstpagestyle=scrheadings}
 
+%\ifnum\pdfshellescape=1
+%	\usetikzlibrary{external}
+%	\tikzexternalize[prefix=tikzducks-doc-figures/]
+%\fi
+
+\makeindex
+
 % meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \title{The \texorpdfstring{\tikzducks}{tikzducks} package}
 \subtitle{using ducks in \TikZ}
@@ -125,7 +118,7 @@
 		\url{https://github.com/samcarter8/tikzducks}\\
 		\url{https://www.ctan.org/pkg/tikzducks}
 	}{samcarter}}
-\date{Version 0.4 -- \today}
+\date{Version 0.5 -- \today}
 
 \begin{document}
 \maketitle
@@ -138,25 +131,24 @@
 This project is a continuation of an answer at TeX.Stackexchange: \href{tex.stackexchange.com/a/347458/36296}{How can we draw a duck?}.
 
 This package is work in progress (and will probably never be really finished as there is an infinite amount of things which could be added), 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/samcarter8/tikzducks}, 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/tikzducks}) and is included in both \miktex and \texlive as \tikzducks. If you seek any other assistance (not bug reports/feature requests), I suggest using the \href{https://tex.stackexchange.com/questions/tagged/tikzducks}{\texttt{\{tikzducks\}}-tag} on TeX.Stackexchange.
+The head version of the source code can be found on \url{github.com/samcarter8/tikzducks}, 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/tikzducks}) and is included in both \miktex and \texlive as \tikzducks. If you seek any other assistance (not bug reports/feature requests), I suggest using the \href{https://tex.stackexchange.com/questions/tagged/tikzducks}{\texttt{\{tikzducks\}}-tag} on TeX.Stackexchange.
 
 \subsection{Acknowledgements}
 
 Without the friendly and helpful community of \href{https://tex.stackexchange.com/}{TeX.Stackexchange} this package would not exist. I would like to thank a few fellow users in particular:
 
-First of all \href{https://tex.stackexchange.com/users/101651/carlatex}{Carla Maggi} for pointing out the overwhelming need of having a \tikzducks package and valuable contribution to the package code, in particular the \hyperref[sec:footballducks]{football ducks} and \href{https://tex.stackexchange.com/users/3094/paulo-cereda}{Paulo Cereda} for his contagious enthusiasm for ducks (\emph{Quack!}). Many other users contributed to this package (in random order): \href{https://tex.stackexchange.com/users/4427/egreg}{Enrico Gregorio} helped to implement the \lstinline|\tikzset{}| interface which makes it much easier to adjust the properties of the ducks to fit the user needs, \href{https://tex.stackexchange.com/users/51022/symbol-1}{Symbol 1}  solved a few problems with default key values, \href{https://tex.stackexchange.com/users/2388/ulrike-fischer}{Ulrike Fischer} gave valuable \TikZ advices and last but not least my thanks go to \href{https://tex.stackexchange.com/users/5763/martin-schr%c3%b6der}{Martin Schr\"oder} for his feedback to the code review.
+First of all \href{https://tex.stackexchange.com/users/101651/carlatex}{Carla Maggi} for pointing out the overwhelming need of having a \tikzducks package and valuable contribution to the package code, in particular the \hyperref[sec:footballducks]{football ducks} and \href{https://tex.stackexchange.com/users/3094/paulo-cereda}{Paulo Cereda} for his contagious enthusiasm for ducks (\emph{Quack!}). Many other users contributed to this package (in random order): \href{https://tex.stackexchange.com/users/4427/egreg}{Enrico Gregorio} helped to implement the \lstinline|\tikzset{}| interface which makes it much easier to adjust the properties of the ducks to fit the user needs, \href{https://tex.stackexchange.com/users/51022/symbol-1}{Symbol 1}  solved a few problems with default key values, \href{https://tex.stackexchange.com/users/2388/ulrike-fischer}{Ulrike Fischer} gave valuable \TikZ advices and came to rescue for the keyword highlighting in the documentation, \href{https://tex.stackexchange.com/users/148434/mihikma}{Mihikma} created the duck's beard and last but not least my thanks go to \href{https://tex.stackexchange.com/users/5763/martin-schr%c3%b6der}{Martin Schr\"oder} for his feedback to the code review.
 
-The ducks mostly consist of basic geometric shapes drawn in \TikZ. Some of the more complex shapes (e.g.\ the different hair styles) are first drawn in \texttt{inkscape} (\url{inkscape.org}) and then exported to \TikZ paths using the \texttt{SVG to TikZ/PGF} extension (\url{github.com/kjellmf/svg2tikz}).
+The ducks mostly consist of basic geometric shapes drawn in \TikZ. Some of the more complex shapes (e.g.\ the different hair styles) are first drawn in \texttt{inkscape} (\url{https://inkscape.org}) and then exported to \TikZ paths using the \texttt{SVG to TikZ/PGF} extension (\url{https://github.com/kjellmf/svg2tikz}).
 
 \subsection{Dependencies}
 
 The \tikzducks package loads the packages \lstinline|xcolor| and \TikZ, both without any options. If you require one of these packages to be loaded with some option, please consider loading it yourself before the \tikzducks package or use, e.g.
 
-\vskip0.5em
-\begin{lstlisting}[morekeywords={xcolor,svgnames}]
+\begin{lstlisting}[aboveskip=1.2em,morekeywords={xcolor,svgnames}]
 	\PassOptionsToPackage{svgnames}{xcolor}
 \end{lstlisting}
-It also uses the \lstinline|\usetikzlibrary{patterns}|.
+It also uses the \lstinline|\usetikzlibrary{patterns}| and \lstinline|\usetikzlibrary{calc}|.
 
 \subsection{License}
 
@@ -250,7 +242,7 @@
 \end{tikzpicture}
 \end{tcblisting}
 
-Eyebrows are also part of the package. The colour choice is more tricky for them -- if a colour is explicitly specified \lstinline|eyebrow=<colour name>| this colour is of course used, but if no colour is given, it first falls back to the hair colour and only if the duck does not have any hairs, the default colour is applied.
+Eyebrows and a beard are also part of the package. The colour choice is more tricky for them -- if a colour is explicitly specified (\lstinline|eyebrow=<colour name>| or \lstinline|beard=<colour name>|) this colour is of course used, but if no colour is given, it first falls back to the hair colour and only if the duck does not have any hairs, the default colour is applied.
 
 \begin{tcblisting}{title={Eye brow duck}}
 \begin{tikzpicture}
@@ -267,7 +259,17 @@
 \end{tikzpicture}
 \end{tcblisting}
 
-\clearpage
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Beard duck$^\thefootnote$}}
+\begin{tikzpicture}
+	\duck[beard=white!80!brown]
+\end{tikzpicture}
+\begin{tikzpicture}
+	\duck[recedinghair=white,beard]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The beard is based on an answer by Mihikma, see \url{https://tex.stackexchange.com/a/401777/36296}}
+
 \subsection{Clothing}
 
 A respectable duck needs a suitable wardrobe. It can choose from a \lstinline|tshirt|, a \lstinline|jacket| and a \lstinline|tie|. In it's infinite wardrobe these items are available in all colours definable in the current colour model.
@@ -297,10 +299,11 @@
 
 For more ways to customise the clothing also have a look at the \hyperref[sec:footballducks]{football ducks in Section \ref{sec:footballducks}}.
 
+\clearpage
 \subsection{Accessories}
 \label{sec:accessories}
 
-There is a multitude of things a duck might need. The following examples all also work without specifying a colour, but giving an examples with and one without explicit colour just makes this overview unnecessary long, so only one is given.
+There is a multitude of things a duck might need. The following examples all also work without specifying a colour, but giving both an example with and one without explicit colour just makes this overview unnecessary long, so only one is given.
 
 \begin{tcblisting}{title={Swimming duck}}
 \begin{tikzpicture}
@@ -320,6 +323,12 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+\begin{tcblisting}{title={Tophat duck}}
+\begin{tikzpicture}
+	\duck[tophat=blue!20!black]
+\end{tikzpicture}
+\end{tcblisting}
+
 \begin{tcblisting}{title={Basecap duck}}
 \begin{tikzpicture}
 	\duck[cap=red!80!black]
@@ -326,26 +335,33 @@
 \end{tikzpicture}
 \end{tcblisting}
 
-\begin{tcblisting}{title={Santa Clause}}
+\begin{tcblisting}{title={Santa Duck}}
 \begin{tikzpicture}
-	\duck[santa=red!80!black]
+	\duck[santa=red!80!black, 
+	      beard=white!80!brown]
 \end{tikzpicture}
 \end{tcblisting}
 
-\begin{tcblisting}{title={Graduate Duck}}
+\begin{tcblisting}{title={Graduate duck}}
 \begin{tikzpicture}
 	\duck[graduate=gray!20!black,tassel=red!70!black]
 \end{tikzpicture}	
 \end{tcblisting}
 
-\begin{tcblisting}{title={Beret Duck}}
+\begin{tcblisting}{title={Beret duck}}
 \begin{tikzpicture}
 	\duck[beret=red!70!black]
 \end{tikzpicture}	
 \end{tcblisting}
 
-\begin{tcblisting}{title={Crown Duck}}
+\begin{tcblisting}{title={Peaked cap duck}}
 \begin{tikzpicture}
+	\duck[peakedcap=blue!50!black]
+\end{tikzpicture}	
+\end{tcblisting}
+
+\begin{tcblisting}{title={Crown duck}}
+\begin{tikzpicture}
 \duck[body=black!75!white,
 			crown=yellow!70!brown]
 \end{tikzpicture}
@@ -359,6 +375,37 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Bunny duck$^\thefootnote$}}
+\begin{tikzpicture}
+\duck[body=white!65!brown, bill=white!50!brown, bunny]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[bunny=red,inear=blue]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{Unless an explicit colour is specified, the bunny ears will take the body colour as default colour, the inner parts will be drawn in a lighter shade.}
+
+\begin{tcblisting}{title={Witch duck}}
+\begin{tikzpicture}
+	\duck[witch=black!50!gray,
+				longhair=red!80!black,
+				jacket=black!50!gray,
+				magicwand]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Magic duck}}
+\begin{tikzpicture}
+	\duck[magichat,magicwand]
+\end{tikzpicture}
+\begin{tikzpicture}
+	\duck[magichat=teal,
+				magicstars=blue!30!cyan,
+				magicwand]
+\end{tikzpicture}
+\end{tcblisting}
+
 \begin{tcblisting}{title={Glasses duck}}
 \begin{tikzpicture}
 	\duck[glasses=red!50!black]
@@ -371,13 +418,10 @@
 \end{tikzpicture}
 \end{tcblisting}
 
-\begin{tcblisting}{title={Book duck}}
+\begin{tcblisting}{title={Superhero duck}}
 \begin{tikzpicture}
-	\duck[book=\scalebox{0.5}{\TeX}]
+	\duck[mask=teal,cape=teal]
 \end{tikzpicture}
-\begin{tikzpicture}
-\duck[book=\scalebox{0.6}{$\pi$}, bookcolour=blue!50!black]
-\end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Signpost duck}}
@@ -393,25 +437,27 @@
 \end{tikzpicture}
 \end{tcblisting}
 
-\begin{tcblisting}{title={Magic duck}}
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Speaking duck$^\thefootnote$}}
 \begin{tikzpicture}
-	\duck[magichat,
-				magicwand]
+	\duck[speech={Bla},bubblecolour=cyan!20!white]
 \end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Thinking duck$^\thefootnote$}}
 \begin{tikzpicture}
-	\duck[magichat=teal,
-				magicstars=blue!30!cyan,
-				magicwand]
+	\duck[think={Blub},bubblecolour=white!95!yellow]
 \end{tikzpicture}
 \end{tcblisting}
+\footnotetext[\thefootnote]{Both the speech and thought bubble are inspired by the wonderful \href{https://www.ctan.org/pkg/ducksay}{ducksay package}}
 
-\begin{tcblisting}{title={Witch duck}}
+\begin{tcblisting}{title={Book duck}}
 \begin{tikzpicture}
-	\duck[witch=black!50!gray,
-				longhair=red!80!black,
-				jacket=black!50!gray,
-				magicwand]
+	\duck[book=\scalebox{0.5}{\TeX}]
 \end{tikzpicture}
+\begin{tikzpicture}
+\duck[book=\scalebox{0.6}{$\pi$}, bookcolour=blue!50!black]
+\end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Cricket duck}}
@@ -426,6 +472,38 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Football duck$^\thefootnote$}}
+\begin{tikzpicture}
+	\duck[football=white!85!yellow]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The football duck is simplified version from an answer by Carla Maggi, \url{https://tex.stackexchange.com/a/387126/36296}}
+
+\begin{tcblisting}{title={Lightsaber duck}}
+\begin{tikzpicture}
+	\duck[lightsaber=red]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Torch duck}}
+\begin{tikzpicture}
+	\duck[torch=black!30!gray]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Prison duck}}
+\begin{tikzpicture}
+	\duck[prison=gray]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Necklace duck}}
+\begin{tikzpicture}
+	\duck[necklace=gray!20!white]
+\end{tikzpicture}	
+\end{tcblisting}
+
 \begin{tcblisting}{title={Icecream duck}}
 \begin{tikzpicture}
 	\duck[icecream]
@@ -441,7 +519,7 @@
 \addtocounter{footnote}{1}
 \begin{tcblisting}{title={Chef duck$^\thefootnote$}}
 \begin{tikzpicture}
-\duck[chef=white!95!yellow,
+	\duck[chef=white!95!yellow,
 			rollingpin=brown!80!black]
 \end{tikzpicture}
 \end{tcblisting}
@@ -465,20 +543,39 @@
 \end{tikzpicture}	
 \end{tcblisting}
 
-\begin{tcblisting}{title={Lightsaber duck}}
+\begin{tcblisting}{title={Milkshake duck}}
 \begin{tikzpicture}
-\duck[lightsaber=red]
-\end{tikzpicture}
+	\duck[milkshake=red!20!white]
+\end{tikzpicture}	
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Football duck$^\thefootnote$}}
+\begin{tcblisting}{title={Wine duck$^\thefootnote$}}
 \begin{tikzpicture}
-	\duck[football=white!85!yellow]
+	\duck[wine=red!70!black]
 \end{tikzpicture}
 \end{tcblisting}
-\footnotetext[\thefootnote]{The football duck is simplified version from an answer by Carla Maggi, \url{https://tex.stackexchange.com/a/387126/36296}}
+\footnotetext[\thefootnote]{According to the resident Italian wine expert of the \href{https://chat.stackexchange.com/transcript/message/40103109}{ TeX.SE chatroom}, the duck is drinking a fine Brunello di Montalcino}
 
+\clearpage
+\section{Random ducks}
+With all these available accessories it might be hard to decide which one to choose, but don't worry the \tikzducks provide a solution for this dilemma, the random duck, or short \lstinline|\randuck|, which automatically creates a duck with a randomly chosen accessories and something on top of the head (hair, a hat, ears, alien antenna ...)
+
+\begin{tcblisting}{title={Random duck}}
+\begin{tikzpicture}
+	\randuck
+\end{tikzpicture}
+\end{tcblisting}
+
+In case the duck should not be completely random, but only some of the random elements are desired, these can be accessed independently by using \lstinline|\randomhead| and \lstinline|\randomaccessories| for a random headpiece and a random accessories, respectively. Small caveat: Before using \lstinline|\randomhead| or \lstinline|\randomaccessories|, \lstinline|\shuffleducks| has to be used to provide the random items (for \lstinline|\randuck| this is done automatically).     
+
+\begin{tcblisting}{title={Random head gear and accessories}}
+\begin{tikzpicture}
+	\shuffleducks
+	\duck[\randomhead, \randomaccessories]
+\end{tikzpicture}
+\end{tcblisting}
+
 %\clearpage
 \section{Further customisation}
 
@@ -510,8 +607,7 @@
 
 In detail, the following paths are available:
 
-\vskip0.5em
-\begin{lstlisting}[breakindent=0pt]
+\begin{lstlisting}[aboveskip=1.2em,breakindent=0pt]
 \duckpathbody, \duckpathgrumpybill, \duckpathbill, \duckpathtshirt, \duckpathjacket,\duckpathcape, \duckpathshorthair, \duckpathlonghair, \duckpathcrazyhair, \duckpathrecedinghair, \duckpathcrown
 \end{lstlisting}
 
@@ -533,8 +629,21 @@
 \end{tikzpicture}
 \end{tcblisting}
 }
-An example making use this option are the \hyperref[starducks]{``Live long and prosper'' ducks}.. 
+An example making use this option are the \hyperref[starducks]{``Live long and prosper'' ducks}. 
 
+To distinguish coordinates from multiple ducks in the same \lstinline|tikzpicture|, one can name the ducks using the option \lstinline[emph={name}]|name|. If this option is used, the coordinates are prefixed with the respective name and a dash: \lstinline|<name>-<coordinate>|.
+
+\begin{tcblisting}{title={Named coordinates},listing options={style={duckstyle}, emph={name,wing}}}
+\begin{tikzpicture}
+	\duck[name=foo]
+	\begin{scope}[xshift=90pt,
+			scale=.3, yshift=150pt]
+	 	\duck[name=bar]
+	\end{scope}
+	\draw (foo-wing) -- (bar-wing);
+\end{tikzpicture}	
+\end{tcblisting}
+
 \clearpage
 \section{Football ducks -- contributed by Carla Maggi}
 \label{sec:footballducks}
@@ -555,7 +664,7 @@
 
 \begin{tcblisting}{title={Using \texttt{stripes} for \texttt{tikzducks}}}
 \begin{tikzpicture}
-	\duck[longhair,stripes={\stripes}]
+	\duck[longhair,|stripes|={\stripes}]
 \end{tikzpicture}
 \end{tcblisting}
 
@@ -585,42 +694,42 @@
 	\duck[stripes]
 \end{tikzpicture}
 \begin{tikzpicture}
-	\duck[stripes={
+	\duck[|stripes|={
 				\stripes[color=blue]}]
 \end{tikzpicture}
 
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[distance=0.6]}]
 \end{tikzpicture}
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[width=0.03]}]
 \end{tikzpicture}
 
 \begin{tikzpicture} 
-\duck[stripes={\stripes[emblem={\includegraphics[width=0.3cm]{example-image-a}}]}]
+\duck[|stripes|={\stripes[emblem={\includegraphics[width=0.3cm]{example-image-a}}]}]
 \end{tikzpicture}
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[height=1.0]}]
 \end{tikzpicture}
 
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[initialx=1]}]
 \end{tikzpicture}
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[initialy=0.8]}]
 \end{tikzpicture}
 
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[rotate=45]}]
 \end{tikzpicture}
 \begin{tikzpicture}
-\duck[stripes={
+\duck[|stripes|={
 			\stripes[rotate=-45]}]
 \end{tikzpicture}
 \end{tcblisting}
@@ -628,7 +737,7 @@
 For more complex or multicoloured designs the stripes can easily be stacked on top of each other:
 \begin{tcblisting}{title={multicoloured \texttt{stripes}}}
 \begin{tikzpicture} 
-\duck[tshirt=red, stripes={
+\duck[tshirt=red, |stripes|={
 \stripes[color=yellow, width=0.1]
 \stripes[color=orange, width=0.1, initialx=0.0]}]
 \end{tikzpicture}
@@ -639,25 +748,26 @@
 \begin{tcblisting}{title={Inter duck}}
 \definecolor{blueinter}{RGB}{0,102,170}%
 \begin{tikzpicture}
-\duck[tshirt=black,stripes={\stripes[color=blueinter]},football]
+\duck[tshirt=black,|stripes|={\stripes[color=blueinter]},football]
 \end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Juve duck}}
 \begin{tikzpicture} 
-\duck[tshirt=black,stripes={\stripes[color=white]},football]
+\duck[tshirt=black,|stripes|={\stripes[color=white]},football]
 \end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Milan duck}}
 \begin{tikzpicture}
-\duck[tshirt=black,stripes={\stripes[color=red]},football]
+\duck[tshirt=black,|stripes|={\stripes[color=red]},football]
 \end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={M\"{o}nchengladbach duck}}
+\definecolor{mggreen}{RGB}{37,166,89}%
 \begin{tikzpicture} 
-\duck[tshirt=green,stripes={\stripes},football]
+\duck[tshirt=mggreen,|stripes|={\stripes},football]
 \end{tikzpicture}
 \end{tcblisting}
 
@@ -672,7 +782,7 @@
 \definecolor{rossocagliari}{RGB}{149,20,38}%
 \definecolor{blucagliari}{RGB}{23,52,84}%
 \begin{tikzpicture} 
-\duck[tshirt=white, jacket=blucagliari,stripes={
+\duck[tshirt=white, jacket=blucagliari,|stripes|={
 \stripes[color=rossocagliari, width=0.46, distance=3]},football]
 \end{tikzpicture}
 \end{tcblisting}
@@ -679,7 +789,7 @@
 
 \begin{tcblisting}{title={Sampdoria duck}}
 \begin{tikzpicture} 
-\duck[tshirt=blue, jacket=blue,stripes={
+\duck[tshirt=blue, jacket=blue,|stripes|={
 \stripes[color=white,rotate=-90,width=0.6,distance=1] 
 \stripes[color=red,rotate=-90,width=0.2,distance=1.2] 
 \stripes[color=black,rotate=-90,width=0.1,distance=1.3]
@@ -689,7 +799,7 @@
 
 \begin{tcblisting}{title={Brescia duck}}
 \begin{tikzpicture} 
-\duck[tshirt=blue, jacket=blue,stripes={
+\duck[tshirt=blue, jacket=blue,|stripes|={
 	\stripes[color=white, rotate=-70, width=0.22,distance=1.1, initialy=0.01]
 	\stripes[color=white, rotate=40, width=0.2, distance=1.8, initialy=1.0,initialx=0.285]
 },football]
@@ -700,8 +810,9 @@
 
 \clearpage
 \section{Showcase}
-For more examples (or to show your own creations) please visit \href{https://tex.stackexchange.com/q/387047/36296}{The Duck Pond}.
 
+In the following a few examples of possible duck customisations, some of which will require additional packages (which are stated as a comment at the start of the code). For more examples (or to show your own creations) please visit \href{https://tex.stackexchange.com/q/387047/36296}{The Duck Pond}.
+
 \begin{tcblisting}{title={\texttt{samcarter} duck}}
 \begin{tikzpicture}
 	\duck[body=yellow!50!brown!50!white, 
@@ -788,21 +899,31 @@
 \end{tikzpicture}	
 \end{tcblisting}
 
+\begin{tcblisting}{title={Ghost duck}}
+\colorlet{ghost}{white!98!gray}%
+\begin{tikzpicture}
+\duck[body=ghost,bill=ghost,prison=gray]
+\fill[ghost,rotate=-17](-0.1,0.7) rectangle (0.15,1.3);
+\fill[ghost,rotate=17] (1.6,0.7) rectangle (1.81,1.3);
+\end{tikzpicture}
+\end{tcblisting}
+
 \addtocounter{footnote}{1}
 \begin{tcblisting}{title={67P/Churyumov-Gerasimenko duck$^\thefootnote$}}
 \begin{tikzpicture}[path image/.style={path picture={\foreach \j in {0,...,2}{\node at (0,\j) {\foreach \i in {1,...,5}{\includegraphics[height=1cm]{#1}}};}}}]
-\path [path image=crinklepaper] 
+\path (0.1,0.1) rectangle (2.1,2.12);
+\begin{pgfinterruptboundingbox}
+\path[path image=crinklepaper] 
 	(0.90,1.50) ellipse (0.50 and 0.625);
-\path [path image=crinklepaper] \duckpathbody;
-\fill [gray!80!white]  \duckpathbill;
+\path[path image=crinklepaper] \duckpathbody;
+\fill[gray!80!white]  \duckpathbill;
 \fill[white!70!gray, rotate=-20]
-	(0.23,1.7675) ellipse (0.0893 and 0.125);
-\fill[black, rotate=-20]
-	(0.26,1.7575) ellipse (0.0357 and 0.0714);
-\fill[white!70!gray, rotate=-20]
+	(0.23,1.7675) ellipse (0.0893 and 0.125) 	
 	(-0.06,1.74) ellipse (0.0786 and 0.1143);
 \fill[black, rotate=-20]
+	(0.26,1.7575) ellipse (0.0357 and 0.0714) 
 	(-0.03,1.73) ellipse (0.0286 and 0.0643);
+\end{pgfinterruptboundingbox}
 \end{tikzpicture}
 \end{tcblisting}
 \footnotetext[\thefootnote]{If you try this at home, replace the \texttt{crinklepaper} with an image of the comet's surface, e.g. \url{https://arxiv.org/abs/1707.02945}}
@@ -866,29 +987,34 @@
 
 \begin{tcblisting}{title={French duck}}
 \begin{tikzpicture} 
-\duck[body=yellow!60!red!30!white,tshirt=white!90!yellow,stripes={\stripes[color=blue!70!black,rotate=-87,width=0.07,distance=0.12]},beret=blue!30!black,baguette=brown]
+\duck[body=yellow!60!red!30!white,tshirt=white!90!yellow,|stripes|={\stripes[color=blue!70!black,rotate=-87,width=0.07,distance=0.12]},beret=blue!30!black,baguette=brown]
 \end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Bee duck}}
 \begin{tikzpicture}
-	\duck[stripes={\stripes[distance=0.4,width=0.2,rotate=0,initialx=0.15]},alien=black]
+	\duck[|stripes|={\stripes[distance=0.4,width=0.2,rotate=0,initialx=0.15]},alien=black]
 \end{tikzpicture}	
 \end{tcblisting}
 
+\begin{tcblisting}{title={Jailbird duck}}
+\begin{tikzpicture}
+\duck[peakedcap=gray!40!black,tshirt=white,stripes={
+\stripes[rotate=100,color=gray!40!black]},prison=gray]
+\end{tikzpicture}
+\end{tcblisting}
+
 \begin{tcblisting}{title={Super duck brothers}}
-\newcommand{\mcap}[2]{\fill[#1,rotate=-15] (0.35,2.05) ellipse (0.5 and 0.15);
-\fill[#1,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17) (0.13,2.25) ellipse (0.55 and 0.17);
+\newcommand{\superstripes}{\stripes[color=blue!80!black,width=3,height=1.0,rotate=5] \stripes[color=blue!80!black,width=0.1,rotate=0,distance=0.7,initialx=-1.1,height=2]}
+\begin{tikzpicture}
+\duck[tshirt=red!80!black,peakedcap=red!80!black,|stripes|={\superstripes}]
 \fill[white] (0.8,2) circle (0.13);
-\node[#1,rotate=-15] at (0.8,2) {\scalebox{0.6}{\textsf{#2}}};
-}
-\begin{tikzpicture}
-\duck[tshirt=red!80!black, stripes={\stripes[color=blue!80!black,width=3,height=1.0,rotate=5] \stripes[color=blue!80!black,width=0.1,rotate=0,distance=0.7,initialx=-1.1,height=2]}]
-\mcap{red!80!black}{M}
+\node[red!80!black,rotate=-25] at (0.8,2) {\scalebox{0.6}{\textsf{M}}};
 \end{tikzpicture}	
 \begin{tikzpicture}
-\duck[tshirt=green!70!black, stripes={\stripes[color=blue!80!black,width=4,height=1.0,rotate=5] \stripes[color=blue!80!black,width=0.1,rotate=0,distance=0.7,initialx=-1.1,height=2]}]
-\mcap{green!70!black}{L}
+\duck[tshirt=green!70!black,peakedcap=green!70!black, |stripes|={\superstripes}]
+\fill[white] (0.8,2) circle (0.13);
+\node[green!70!black,rotate=-25] at (0.8,2) {\scalebox{0.6}{\textsf{L}}};
 \end{tikzpicture}	
 \end{tcblisting}
 
@@ -896,7 +1022,7 @@
 \definecolor{pskin}{RGB}{255,200,184}%
 \definecolor{phair}{RGB}{249,249,139}%
 \begin{tikzpicture}
-\duck[body=pskin!80!white,longhair=phair,tshirt=magenta!60!white,jacket=magenta!40!white]
+\duck[body=pskin!80!white,longhair=phair,tshirt=magenta!60!white,jacket=magenta!40!white,necklace=white!85!yellow]
 \path (0.7,2) rectangle (1.4,2.55);
 \begin{pgfinterruptboundingbox}	
 	\fill[yellow!80!orange,rotate=-10,xshift=-11,yshift=5] \duckpathcrown;
@@ -904,4 +1030,54 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+\begin{tcblisting}{title={ZZZoro duck}}
+\begin{tikzpicture}
+\duck[cape=black,hat=black,mask=black]
+\node[rotate=-5] at (0.4,0.7) {\tiny\fontfamily{pzc}\selectfont \textbackslash ZZZ};
+\fill[black,rotate=24] (0.1,0.21) rectangle (1.1,0.23) (1.2,0.22) ellipse (0.15 and 0.03) (1.08,0.22) ellipse (0.03 and 0.15);
+\end{tikzpicture}   
+\end{tcblisting}
+
+\begin{tcblisting}{title={Farm animals}}
+\definecolor{fskin}{RGB}{161,140,126}%
+\definecolor{fbill}{RGB}{238,212,191}%
+\definecolor{fhair}{RGB}{89,72,72}%
+\begin{tikzpicture}
+\duck[body=fskin,bill=fbill,shorthair=fhair,bunny,inear=fbill]
+\node[fskin,rotate=45,scale=3] at (1.7,1.55) {\textsf{s}};
+\fill[fhair,rotate=45] (2.4,0.13) ellipse (0.15 and 0.07); 
+\end{tikzpicture}   
+
+\begin{tikzpicture}
+\duck[body=white!80!brown, bill=white!60!brown, bunny, longhair=white!60!brown]
+\fill[white!60!brown] (1.85,1.42) circle (0.2);
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\duck[body=red!20!white,bill=red!30!white,shorthair=red!30!white,bunny=red!30!white,inear=red!30!white]
+\node[red!20!white,rotate=25,scale=3] at (1.7,1.51) {\textsf{s}};
+\end{tikzpicture}       
+\end{tcblisting}
+
+\begin{tcblisting}{title={Duck Queen}}
+%\usepackage[LSBC5,T1]{fontenc}
+%\usepackage{chessfss}
+\definecolor{qskin}{RGB}{225,219,206}%
+\definecolor{qbill}{RGB}{170,123,154}%
+\definecolor{qdress}{RGB}{184,209,206}%
+\definecolor{qcrown}{RGB}{90,76,183}%
+\setboardfontencoding{LSBC5}
+\setboardfontcolors{whiteonwhitepiecemask=qcrown,whitepiece=gray!60!white}  
+\begin{tikzpicture}
+\duck[body=qskin,bill=qbill,jacket=qdress,tshirt=teal!30!qdress,shorthair=gray!60!white,necklace=gray!10!white]  
+\node[rotate=-10] at (1.03,2.42) {\scalebox{1.9}{\WhiteKingOnWhite}}; 
+\fill[gray!60!white,rotate=-10] (0.6,2.18) ellipse (0.38 and 0.1);
+\fill[gray!60!white,rotate=-30] (0.27,1.23) rectangle (0.37,0.65);
+\node[rotate=-30] at (0.94,0.98) {\scalebox{0.4}{\WhiteQueenOnWhite}}; 
+\end{tikzpicture}
+\end{tcblisting}
+
+\clearpage
+\printindex
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty	2017-11-21 21:57:40 UTC (rev 45873)
+++ trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty	2017-11-21 22:14:30 UTC (rev 45874)
@@ -10,8 +10,8 @@
 % Released under the LaTeX Project Public License v1.3c or later
 % See http://www.latex-project.org/lppl.txt
 %
-% Version 0.4
-% Sep 04, 2017 
+% Version 0.5
+% Nov 21, 2017 
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -20,13 +20,21 @@
 \RequirePackage{xcolor}
 \RequirePackage{tikz}
 \usetikzlibrary{patterns} % for the wizard hat
-%\usetikzlibrary{intersections} % for named paths
 \usetikzlibrary{calc} % for the sports jerseys
 
+%\pgfdeclarelayer{backgroundlayer} 
+%\pgfdeclarelayer{bodylayer}
+%\pgfdeclarelayer{clothinglayer}
+%\pgfdeclarelayer{hairlayer}
+%\pgfdeclarelayer{hatlayer}
+%
+%\pgfsetlayers{backgroundlayer,bodylayer,clothinglayer,hairlayer,hatlayer,main}
+
 \newcommand*{\duck}[1][]{\tikzset{%
 	/duck/.cd,#1}\duck at draw%
 }
 
+\newif\ifduck at name
 % Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\ifduck at water
 % body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37,6 +45,7 @@
 \newif\ifduck at crazyhair
 \newif\ifduck at recedinghair
 \newif\ifduck at eyebrow
+\newif\ifduck at beard
 % clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\ifduck at tshirt
 \newif\ifduck at jacket
@@ -43,35 +52,48 @@
 \newif\ifduck at tie
 \newif\ifduck at cape
 \newif\ifduck at stripes
-% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck at glasses
-\newif\ifduck at sunglasses
+% Headgear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\ifduck at alien
 \newif\ifduck at hat
 \newif\ifduck at cap
 \newif\ifduck at santa
 \newif\ifduck at unicorn
+\newif\ifduck at magichat
+\newif\ifduck at chef
+\newif\ifduck at witch
+\newif\ifduck at graduate
+\newif\ifduck at beret
+\newif\ifduck at crown
+\newif\ifduck at peakedcap
+\newif\ifduck at bunny
+\newif\ifduck at tophat
+% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifduck at glasses
+\newif\ifduck at sunglasses
 \newif\ifduck at icecream
 \newif\ifduck at book
-\newif\ifduck at magichat
 \newif\ifduck at magicwand
 \newif\ifduck at cricket
 \newif\ifduck at rollingpin
-\newif\ifduck at chef
 \newif\ifduck at signpost
-\newif\ifduck at witch
-\newif\ifduck at graduate
 \newif\ifduck at lightsaber
 \newif\ifduck at cake
 \newif\ifduck at pizza
 \newif\ifduck at hockey
-\newif\ifduck at beret
 \newif\ifduck at baguette
-\newif\ifduck at crown
 \newif\ifduck at football
+\newif\ifduck at mask
+\newif\ifduck at necklace
+\newif\ifduck at milkshake
+\newif\ifduck at wine
+\newif\ifduck at prison
+\newif\ifduck at speech
+\newif\ifduck at think
+\newif\ifduck at torch
 
 \tikzset{
 	/duck/.cd,
+	name/.code = \duck at nametrue \def\duck at name{#1},
 	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 	%
 	% Environment
@@ -122,6 +144,7 @@
  	crazyhair/.code			= \duck at crazyhairtrue			\def\duck at hair{#1},
  	recedinghair/.code	= \duck at recedinghairtrue	\def\duck at hair{#1},
  	eyebrow/.code				= \duck at eyebrowtrue			  \def\duck at eyebrow{#1},
+ 	beard/.code					= \duck at beardtrue					\def\duck at beard{#1},
 	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 	shorthair/.default 		= brown,
 	longhair/.default			= brown,
@@ -128,13 +151,12 @@
 	crazyhair/.default		= brown,
 	recedinghair/.default	= brown,
 	eyebrow/.default			= brown,
+	beard/.default				= brown,
 	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 	%
- 	% Accessories
- 	%
- 	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 	glasses/.code			= \duck at glassestrue			\def\duck at glasses{#1},
- 	sunglasses/.code	= \duck at sunglassestrue	\def\duck at sunglasses{#1},
+	%
+	% Headgear
+	%
+	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  	alien/.code				= \duck at alientrue 			\def\duck at alien{#1},
  	hat/.code					= \duck at hattrue 				\def\duck at hat{#1},
  	cap/.code					= \duck at captrue					\def\duck at cap{#1},
@@ -144,6 +166,39 @@
  	tassel/.code			=												\def\duck at tassel{#1},
  	beret/.code				= \duck at berettrue				\def\duck at beret{#1},
  	unicorn/.code			= \duck at unicorntrue 		\def\duck at unicorn{#1},
+	magichat/.code		= \duck at magichattrue		\def\duck at magichat{#1},
+	magicstars/.code	= 											\def\duck at magicstars{#1},
+	witch/.code				=	\duck at witchtrue				\def\duck at witch{#1},
+	crown/.code				= \duck at crowntrue				\def\duck at crown{#1},
+	bunny/.code				= \duck at bunnytrue				\def\duck at bunny{#1},
+	inear/.code				=												\def\duck at inear{#1},
+	peakedcap/.code		= \duck at peakedcaptrue		\def\duck at peakedcap{#1},
+	tophat/.code			= \duck at tophattrue			\def\duck at tophat{#1},
+	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+	alien/.default		= green,		
+	hat/.default			= brown,
+	cap/.default			= blue,
+	santa/.default		= red!80!black,
+	chef/.default			= gray!20!white,
+	graduate/.default	= black,
+	tassel						= red,
+	beret/.default		= black,			
+	unicorn/.default	= pink,
+	magichat/.default	= violet,
+	magicstars        = yellow!80!brown,
+	witch/.default		= black,		
+	crown/.default		= yellow,
+	bunny/.default		= \duck at body,
+	inear							= \duck at bunny!50!white,
+	peakedcap/.default= blue,
+	tophat/.default		= black,
+	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 	%
+ 	% Accessories
+ 	%
+ 	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 	glasses/.code			= \duck at glassestrue			\def\duck at glasses{#1},
+ 	sunglasses/.code	= \duck at sunglassestrue	\def\duck at sunglasses{#1},
 	icecream/.code 		= \duck at icecreamtrue 		\def\duck at cone{#1},
 	flavoura/.code 		= 											\def\duck at flavoura{#1},
 	flavourb/.code 		= 											\def\duck at flavourb{#1},
@@ -153,10 +208,7 @@
 	signpost/.code		= \duck at signposttrue		\def\duck at signpost{#1},
 	signcolour/.code  = 											\def\duck at signcolour{#1},
 	signback/.code		= 											\def\duck at signback{#1},
-	magichat/.code		= \duck at magichattrue		\def\duck at magichat{#1},
-	magicstars/.code	= 											\def\duck at magicstars{#1},
 	magicwand/.code		= \duck at magicwandtrue,
-	witch/.code				=	\duck at witchtrue				\def\duck at witch{#1},
 	cricket/.code			= \duck at crickettrue			\def\duck at cricket{#1},
 	rollingpin/.code	= \duck at rollingpintrue	\def\duck at rollingpin{#1},
 	lightsaber/.code 	= \duck at lightsabertrue	\def\duck at lightsaber{#1},
@@ -164,20 +216,19 @@
 	pizza/.code				= \duck at pizzatrue,
 	hockey/.code			= \duck at hockeytrue			\def\duck at hockey{#1},
 	baguette/.code		= \duck at baguettetrue		\def\duck at baguette{#1},
-	crown/.code				= \duck at crowntrue				\def\duck at crown{#1},
 	football/.code		= \duck at footballtrue		\def\duck at football{#1},
+	mask/.code				= \duck at masktrue				\def\duck at mask{#1},
+	necklace/.code		= \duck at necklacetrue		\def\duck at necklace{#1},
+	milkshake/.code		= \duck at milkshaketrue		\def\duck at milkshake{#1},
+	wine/.code				= \duck at winetrue				\def\duck at wine{#1},	
+	prison/.code			= \duck at prisontrue			\def\duck at prison{#1},
+	speech/.code 			= \duck at speechtrue 			\def\duck at speech{#1},
+	think/.code 			= \duck at thinktrue 			\def\duck at think{#1},
+	bubblecolour/.code = 										\def\duck at bubblecolour{#1},
+	torch/.code				= \duck at torchtrue				\def\duck at torch{#1},
 	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 	glasses/.default		= black,	
 	sunglasses/.default	= black,	
-	alien/.default			= green,		
-	hat/.default				= brown,
-	cap/.default				= blue,
-	santa/.default			= red!80!black,
-	chef/.default				= gray!20!white,
-	graduate/.default		= black,
-	tassel							= red,
-	beret/.default			= black,			
-	unicorn/.default		= pink,
 	icecream/.default 	= brown!60!gray,
 	flavoura 						= brown!50!black,
 	flavourb 						= white!70!brown,
@@ -185,9 +236,6 @@
 	bookcolour					= brown,
 	signcolour					= brown!50!black,
 	signback						= green!40!black,	
-	magichat/.default		= violet,
-	magicstars          = yellow!80!brown,
-	witch/.default			= black,		
 	cricket/.default		= brown,
 	rollingpin/.default	= brown,
 	lightsaber/.default = green,
@@ -194,8 +242,14 @@
 	cake/.default				= violet,
 	hockey/.default			=	brown,
 	baguette/.default		= brown,
-	crown/.default			= yellow,
 	football/.default		= white,
+	mask/.default				= black,
+	necklace/.default		= white!80!gray,
+	milkshake/.default 	= red!20!white,
+	wine/.default				= red!70!black,
+	prison/.default			= gray,
+	bubblecolour				= gray!30!white,
+	torch/.default			= gray,
 }
 
 \def\duck at draw{
@@ -211,6 +265,11 @@
 % defining some coordinates
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at name
+	\coordinate (\duck at name-wing) at (0.8,0.7);
+	\coordinate (\duck at name-head) at (0.9,2);
+	\coordinate (\duck at name-bill) at (0.5,1.3);
+\fi
 \coordinate (wing) at (0.8,0.7);
 \coordinate (head) at (0.9,2);
 \coordinate (bill) at (0.5,1.3);
@@ -220,6 +279,7 @@
 % Environment
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{pgfonlayer}{backgroundlayer}
 %
 % water %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at water
@@ -229,11 +289,13 @@
 	\fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.42 and 0.77) (1.00,0.40) ellipse (1.38 and 0.73);		
 \fi
 %
+%\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % body parts
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{pgfonlayer}{bodylayer}
 %
 % body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{pgfinterruptboundingbox}
@@ -252,6 +314,15 @@
 	\fill[\duck at bill] \duckpathbill;
 \fi
 %
+% Superhero mask %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% has to be behind the eyes
+\ifduck at mask
+	\begin{scope}
+		\clip (0.90,1.50) ellipse (0.50 and 0.625);
+		\fill[\duck at mask,rotate=-15] (-0.1,1.59) rectangle (1.3,1.88);
+	\end{scope}
+\fi%
+%
 % right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \fill[\duck at eye, rotate=-20] 
 	(0.23,1.7675) ellipse (0.0893 and 0.125);
@@ -264,11 +335,13 @@
 \fill[\duck at pupil, rotate=-20] 
 	(-0.03,1.73) ellipse (0.0286 and 0.0643);
 %
+%\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % clothing
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{pgfonlayer}{clothinglayer}
 %
 % tshirt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at tshirt
@@ -301,11 +374,18 @@
 	\end{pgfinterruptboundingbox}
 \fi
 %
+% necklace (not really clothing, but needs to be below the hair) %%%%%
+\ifduck at necklace
+	\fill[\duck at necklace] (0.5000,1.112) circle (0.032) (0.5100,1.050) circle (0.032) (0.5200,0.990) circle (0.032) (0.5400,0.931) circle (0.032) (0.5825,0.885) circle (0.032) (0.6450,0.885) circle (0.032) (0.7000,0.910) circle (0.032) (0.7500,0.945) circle (0.032) (0.8000,0.980) circle (0.032) (0.8500,1.020) circle (0.032) (0.9000,1.050) circle (0.032) (0.9500,1.080) circle (0.032) (1.0000,1.110) circle (0.032) (1.0550,1.130) circle (0.032) (1.1100,1.150) circle (0.032) (1.1650,1.165) circle (0.032) (1.2200,1.180) circle (0.032) (1.2750,1.195) circle (0.032) (1.3300,1.210) circle (0.032);
+\fi
+%
+%\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % hair styles
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{pgfonlayer}{hairlayer}
 %
 % short hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at shorthair
@@ -349,28 +429,24 @@
 	\fill[\duck at eyebrow, rounded corners=1, rotate=100] (1.67,-0.77) rectangle (1.73,-0.95);
 \fi	
 %
+% beard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfkeys{/duck/beard/. at def/.get=\duck at test}
+\ifx\duck at beard\duck at test
+    \ifdefined\duck at hair\let\duck at beard=\duck at hair\fi
+\fi%
+\ifduck at beard
+	\fill[\duck at beard] (1.3,1.3) circle (0.12) (1.2,1.15) circle (0.12) (0.5,1.05) circle (0.1) (0.525,0.90) circle (0.12) (0.525,0.75) circle (0.12) (0.65,0.65) circle (0.14) (0.75,0.75) circle (0.12) (0.85,0.85) circle (0.12) (0.95,0.95) circle (0.12) (1.05,1.05) circle (0.12) (1.15,1.25) circle (0.12) (1,1.20) circle (0.12) (0.85,1.20) circle (0.12) (0.75,1.15) circle (0.12) (0.65,1.10) circle (0.12) (0.58,1.07) circle (0.12) (0.44,1.46) circle (0.06) (0.52,1.45) circle (0.06) (0.6, 1.41) circle (0.06) (0.68,1.36) circle (0.06) (0.76,1.34) circle (0.06) (0.86,1.26) circle (0.12) (0.38,1.44) circle (0.03) (1,1.28) circle (0.12);
+	\fill[\duck at beard] (1.3,1.3) -- (0.5,1.05) -- (0.65,0.65) -- cycle;
+\fi%
+%
+%\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-% Accessories
+% Headgear
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{pgfonlayer}{hatlayer}
 % 
-% sunglasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at sunglasses
-  \fill[\duck at sunglasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
-	\fill[\duck at sunglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
-	\fill[\duck at sunglasses,rotate=-20] (0.23,1.7675) circle (0.14);
-	\fill[\duck at sunglasses,rotate=-20] (-0.06,1.74) circle (0.13);				
-\fi
-%
-% glasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at glasses
-  \fill[\duck at glasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
-	\fill[\duck at glasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
-	\fill[\duck at glasses,rotate=-20,even odd rule] (0.23,1.7675) circle (0.14) (0.23,1.7675) circle (0.11);
-	\fill[\duck at glasses,rotate=-20,even odd rule] (-0.06,1.74) circle (0.13) (-0.06,1.74) circle (0.095);		
-\fi
-%
 % alien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at alien
 	\fill[\duck at alien,rotate=-25] (0.09,2.1) rectangle (0.16,2.6);
@@ -440,6 +516,80 @@
 	\fill[\duck at body!100,rotate=25] (1.50,1.43)--(1.60,1.8375)--(1.70,1.43);	
 \fi
 %
+% magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at magichat
+	\path[preaction={fill, \duck at magichat!100},rotate=-5,
+				pattern=fivepointed stars, pattern color=\duck at magicstars!100] 
+		(0.36,1.95)--(0.86,2.95)--(1.20,1.85);
+\fi
+%
+% witch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at witch
+	\fill[\duck at witch,rotate=-15] (0.44,2.13) ellipse (0.75 and 0.17);	
+	\fill[\duck at witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2);
+\fi
+%
+% crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at crown
+	\path (0.7,1.95) rectangle (1.4,2.45);
+	\begin{pgfinterruptboundingbox}	
+		\fill[\duck at crown,rotate=-10,xshift=-10,yshift=3] \duckpathcrown;
+	\end{pgfinterruptboundingbox}	
+\fi
+%
+% Bunny ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at bunny
+	\path (0.55,1.9) rectangle (1.2,2.55);
+	\begin{pgfinterruptboundingbox}
+	\begin{scope}
+	  \clip[rotate=-5] (0.68,2.38) ellipse (0.3 and 0.4);
+		\fill[\duck at bunny,rotate=-5] (1.06,2.2) ellipse (0.3 and 0.4) (0.28,2.26) ellipse (0.3 and 0.4);
+	\end{scope}
+	
+	\begin{scope}
+	  \clip[rotate=-5] (0.68,2.38) ellipse (0.25 and 0.35);
+		\fill[\duck at inear,rotate=-5] (1.06,2.2) ellipse (0.25 and 0.35) (0.28,2.26) ellipse (0.25 and 0.35);
+	\end{scope}
+	\end{pgfinterruptboundingbox}
+\fi
+%
+% peaked cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at peakedcap
+	\fill[\duck at peakedcap,rotate=-15] (0.35,2.05) ellipse (0.5 and 0.15);
+	\fill[\duck at peakedcap,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17);
+	\fill[\duck at peakedcap,rotate=-35] (-0.25,2.2) ellipse (0.55 and 0.17);
+\fi
+%
+% tophat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at tophat
+	\fill[\duck at tophat,rotate=-15] (0.44,2.1) ellipse (0.48 and 0.1);
+	\fill[\duck at tophat,rotate=-15]  (0.12,2.1) -- (0.75,2.1) -- (0.81,2.55) -- (0.07,2.55) -- cycle;
+	\fill[\duck at tophat,rotate=-15] (0.44,2.55) ellipse (0.37 and 0.08);	
+\fi
+%
+%\end{pgfonlayer}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Accessories
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 
+% sunglasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sunglasses
+  \fill[\duck at sunglasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
+	\fill[\duck at sunglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
+	\fill[\duck at sunglasses,rotate=-20] (0.23,1.7675) circle (0.14);
+	\fill[\duck at sunglasses,rotate=-20] (-0.06,1.74) circle (0.13);				
+\fi
+%
+% glasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at glasses
+  \fill[\duck at glasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
+	\fill[\duck at glasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
+	\fill[\duck at glasses,rotate=-20,even odd rule] (0.23,1.7675) circle (0.14) (0.23,1.7675) circle (0.11);
+	\fill[\duck at glasses,rotate=-20,even odd rule] (-0.06,1.74) circle (0.13) (-0.06,1.74) circle (0.095);		
+\fi
+%
 % icecream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at icecream
 	\fill[\duck at cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20);
@@ -455,7 +605,7 @@
 	\node[rotate=-20, color=white] at (0.88,0.70) {\duck at book};%
 \fi
 %
-% signpost %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% signpost %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at signpost
 	\fill[\duck at signcolour, rounded corners=1, rotate=-20] (0.8,0.75) rectangle (0.9,1.75);
   \fill[\duck at signcolour, rounded corners=1, rotate=-20] (0.4,1.7) rectangle (1.3,2.4);
@@ -463,13 +613,20 @@
  	\node[rotate=-20, color=white] at (1.5,1.65) {\duck at signpost};
 \fi
 %
-% magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at magichat
-	\path[preaction={fill, \duck at magichat!100},rotate=-5,
-				pattern=fivepointed stars, pattern color=\duck at magicstars!100] 
-		(0.36,1.95)--(0.86,2.95)--(1.20,1.85);
+% speech bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at speech
+	\fill[\duck at bubblecolour] (-0.5,1.8) ellipse (0.7 and 0.3);
+	\fill[\duck at bubblecolour] (-0.2,1.54) -- (0.2,1.35) -- (0.0,1.6) -- cycle;
+	\node at (-0.5,1.8) {\duck at speech};
 \fi
 %
+% think bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at think
+	\fill[\duck at bubblecolour] (2,2.4) ellipse (0.7 and 0.35); 
+	\fill[\duck at bubblecolour] (1.55,2.35) circle (0.25) (2.0,2.15) circle (0.25) (2.4,2.25) circle (0.25) (1.6,2.55) circle (0.25) (2.0,2.6) circle (0.25) (2.35,2.5) circle (0.25) (1.65,1.95) circle (0.1) (1.55,1.80) circle (0.06) (1.47,1.70) circle (0.03);
+	\node at (2,2.4) {\duck at think};
+\fi
+%
 % magic wand %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at magicwand
 	\fill[black,rotate=-30] (0.27,1.23) rectangle (0.37,0.65);
@@ -476,12 +633,6 @@
 	\fill[white,rotate=-30] (0.27,1.13) rectangle (0.37,1.03);
 \fi
 %
-% witch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at witch
-	\fill[\duck at witch,rotate=-15] (0.44,2.13) ellipse (0.75 and 0.17);	
-	\fill[\duck at witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2);
-\fi
-%
 % cricket bat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at cricket
 	\fill[\duck at cricket, rounded corners=2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2);
@@ -539,14 +690,6 @@
 	\fill[\duck at baguette!80!black, rotate=5] (1.44,1.1) ellipse (0.1 and 0.03) (1.30,0.9) ellipse (0.1 and 0.03) (1.16,0.7) ellipse (0.1 and 0.03) (1.02,0.5) ellipse (0.1 and 0.03);
 \fi
 %
-% crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at crown
-	\path (0.7,1.95) rectangle (1.4,2.45);
-	\begin{pgfinterruptboundingbox}	
-		\fill[\duck at crown,rotate=-10,xshift=-10,yshift=3] \duckpathcrown;
-	\end{pgfinterruptboundingbox}	
-\fi
-%
 % football %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at football
 	\fill[\duck at football] (1.2,0.33) circle (0.32);
@@ -556,6 +699,62 @@
 	\end{scope}
 \fi
 %
+% milkshake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at milkshake
+	\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
+	\fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03);
+	\begin{scope}
+		\clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
+		\fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse (0.18 and 0.4);
+		\fill[\duck at milkshake, rotate=-10] (0.8,0.94) ellipse (0.15 and 0.36);
+	\end{scope}
+	\fill[white!85!yellow] (0.83,0.92) circle (0.05) (0.88,0.9) circle (0.05) (0.93,0.92) circle (0.05) (0.99,0.91) circle (0.05) (1.06,0.86) circle (0.05) (1.13,0.87) circle (0.05) (0.85,0.99) circle (0.05) (0.9,0.98) circle (0.07) (1.0,0.98) circle (0.07) (1.1,0.95) circle (0.07);
+	\fill[red!90!black] (1.0,1.1) circle (0.05);
+	\fill[white!85!yellow] (0.94,1.05) circle (0.05) (1.03,1.03) circle (0.05);
+	\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
+	\fill[red!90!black,rotate=20] (1.2,0.58) rectangle (1.22,0.85); 
+\fi
+% 
+% wine %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at wine
+	\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
+	\fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03);
+	\fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse (0.03 and 0.2);
+	\begin{scope}
+		\clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
+		\fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse (0.18 and 0.4);
+	\end{scope}
+	\begin{scope}
+		\clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87); 
+		\fill[\duck at wine, rotate=-10] (0.8,1.1) ellipse (0.15 and 0.36);
+	\end{scope}
+\fi
+%
+% prison duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at prison
+	\fill[\duck at prison] (1.5,0.25) circle (0.3);
+	\fill[\duck at prison, even odd rule] (1.2,0.1) ellipse (0.10 and 0.07) (1.2,0.1) ellipse (0.06 and 0.04) (1.05,-0.05) ellipse (0.10 and 0.07) (1.05,-0.05) ellipse (0.06 and 0.04) (0.87,-0.2) ellipse (0.10 and 0.07) (0.87,-0.2) ellipse (0.06 and 0.04);
+	\fill[\duck at prison, even odd rule] (0.72,-0.2) ellipse (0.10 and 0.07) (0.72,-0.2) ellipse (0.06 and 0.04);	
+	\fill[\duck at prison,even odd rule,rotate=70](0.4,-1.05) ellipse (0.1 and 0.07) (0.4,-1.05) ellipse (0.06 and 0.04) (0.2,-0.95) ellipse (0.1 and 0.07) (0.2,-0.95) ellipse (0.06 and 0.04) (0.22,-0.58) ellipse (0.1 and 0.07) (0.22,-0.58) ellipse (0.06 and 0.04);
+	\fill[\duck at prison,even odd rule,rotate=110](-0.33,-0.55) ellipse (0.1 and 0.07) (-0.33,-0.55) ellipse (0.06 and 0.04);	
+	\begin{scope}
+		\clip[rotate=-12] (0.45,0.15) rectangle (0.63,0.25);	
+		\fill[\duck at prison,even odd rule,rotate=110](-0.07,-0.6) ellipse (0.1 and 0.07) (-0.07,-0.6) ellipse (0.06 and 0.04);	
+	\end{scope}
+\fi
+%
+% torch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at torch
+		\fill[red!50!yellow, xscale=0.015, yscale=-0.015,xshift=130,yshift=-5600] \duckpathtorch;
+		\fill[red!25!yellow, xscale=0.01, yscale=-0.01,xshift=1300,yshift=-6600] \duckpathtorch;
+		\fill[white!50!yellow, xscale=0.006, yscale=-0.006,xshift=3700,yshift=-8600] \duckpathtorch;
+		\fill[\duck at torch,rounded corners=1] 
+			(1.1,0.96) -- (0.77,0.25) -- (0.83,0.25) -- (1.3,0.86) -- cycle;
+		\fill[\duck at torch,rotate=-28] 
+			(0.62,1.32) ellipse (0.2 and 0.08);
+\fi%
+%
+%
 %\draw (current bounding box.north west) rectangle (current bounding box.south east);% For debugging bounding boxes
 %
 }% from `\def\duck at draw{` at the very beginning 
@@ -562,6 +761,28 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
+% Random ducks
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfmathsetseed{\number\pdfrandomseed}
+
+\pgfmathdeclarerandomlist{head}{{shorthair}{longhair}{crazyhair}{alien}{hat}{cap}{santa}{chef}{graduate}{beret}{magichat}{witch}{crown}{bunny}{peakedcap}{tophat}}
+\pgfmathdeclarerandomlist{accessories}{{glasses}{sunglasses}{icecream}{book}{signpost}{magicwand}{cricket}{rollingpin}{lightsaber}{cake}{pizza}{hockey}{baguette}{football}{mask}{necklace}{milkshake}{wine}{prison}}
+
+\newcommand{\shuffleducks}{%
+ \pgfmathrandomitem{\head}{head}%
+ \edef\randomhead{\head}%
+ \pgfmathrandomitem{\accessories}{accessories}%
+ \edef\randomaccessories{\accessories}%
+}
+
+\newcommand{\randuck}{%
+	\shuffleducks%
+	\duck[\randomhead, \randomaccessories]%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
 % Defining some of the more complicate paths for easy reuse
 %
 % naming scheme is \duckpath<name>
@@ -624,11 +845,11 @@
 	(1.8123,1.2244) .. controls (1.7022,1.2488) and (1.5688,1.2663) .. 
 	(1.5063,1.3739) .. controls (1.4619,1.5143) and (1.4696,1.6649) .. 
 	(1.4340,1.8076) .. controls (1.2524,2.5117) and (0.2335,2.2794) .. 
-	(0.4148,1.5991) .. controls (0.4341,1.8793) and (0.6629,2.1130) .. 
+	(0.4060,1.5991) .. controls (0.4341,1.8793) and (0.6629,2.1130) .. 
 	(0.9011,1.9578) .. controls (1.2427,1.7382) and (1.3350,1.4214) .. 
-	(1.0905,1.0610) .. controls (1.0897,1.0109) and (1.1103,0.9166) .. 
+	(1.0905,1.0610) .. controls (1.0597,1.0109) and (1.1103,0.9166) .. 
 	(1.1805,0.8670) .. controls (1.2507,0.8174) and (1.3503,0.7853) .. 
-	(1.4508,0.7565) -- cycle
+	(1.4508,0.7565) -- cycle;
 }
 
 \newcommand{\duckpathcrazyhair}{%
@@ -669,6 +890,14 @@
 	(0.71,2.06) -- cycle
 }
 
+\newcommand{\duckpathtorch}{%
+	(90.5,127.8) .. controls (90.3,137.0) and (84.7,136.2) ..
+	(77.9,146.3) .. controls (71.1,136.3) and (66.4,136.9) ..
+	(65.9,127.9) .. controls (65.2,118.1) and (79.2,118.5) ..
+	(78.2,103.8) .. controls (82.2,108.8) and (90.8,111.5) ..
+	(90.5,127.8) -- cycle;	
+}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                    32237378723223                                   
 %                 23737232212232237822                                



More information about the tex-live-commits mailing list