texlive[55713] Master: tikzducks [now generic] (30jun20)

commits+karl at tug.org commits+karl at tug.org
Tue Jun 30 23:36:12 CEST 2020


Revision: 55713
          http://tug.org/svn/texlive?view=revision&revision=55713
Author:   karl
Date:     2020-06-30 23:36:12 +0200 (Tue, 30 Jun 2020)
Log Message:
-----------
tikzducks [now generic] (30jun20)

Modified Paths:
--------------
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
    trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/generic/tikzducks/
    trunk/Master/texmf-dist/doc/generic/tikzducks/README.md
    trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
    trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
    trunk/Master/texmf-dist/tex/generic/tikzducks/
    trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv
    trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
    trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
    trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/tikzducks/
    trunk/Master/texmf-dist/tex/latex/tikzducks/

Added: trunk/Master/texmf-dist/doc/generic/tikzducks/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/tikzducks/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/tikzducks/README.md	2020-06-30 21:36:12 UTC (rev 55713)
@@ -0,0 +1,11 @@
+# TikZducks
+
+This is a little LaTeX package for ducks to be used in TikZ pictures. The project is a continuation of the TeX.Stackexchange.com answer [How can we draw a duck](https://tex.stackexchange.com/a/347458/36296)
+
+This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+
+## A few examples:
+
+![tikz ducks](https://user-images.githubusercontent.com/43832342/71718547-d160d400-2e1b-11ea-8bae-39cc4b648771.png)
+
+More examples of TikZducks can be seen at https://github.com/samcarter/tikzducks/
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/generic/tikzducks/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf	2020-06-30 21:29:43 UTC (rev 55712)
+++ trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf	2020-06-30 21:36:12 UTC (rev 55713)

Property changes on: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex	2020-06-30 21:36:12 UTC (rev 55713)
@@ -0,0 +1,1247 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Documentation for the tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass[parskip=half]{scrartcl}
+
+% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[T1]{fontenc}  
+\usepackage[utf8]{inputenc}    
+\usepackage[english]{babel}
+\usepackage[bitstream-charter]{mathdesign}
+\usepackage{tikzducks}
+\usetikzlibrary{ducks,3d}
+\usepackage[most]{tcolorbox}
+\usepackage[paper=a4paper,margin=3cm,foot=2cm]{geometry}
+\usepackage{url}
+\usepackage{xspace}
+\usepackage{scrlayer-scrpage} 
+\usepackage{marvosym}
+\usepackage{fontawesome}
+\usepackage[hang,flushmargin,bottom]{footmisc}
+\usepackage{imakeidx}
+\usepackage[colorlinks=true,breaklinks=true,urlcolor=duckblue,linkcolor=duckblue,citecolor=duckblue,filecolor=duckblue]{hyperref}
+
+% macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\CTAN}{\textsc{CTAN}\xspace}
+\newcommand{\TikZ}{Ti\emph{k}Z\xspace}
+\newcommand{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\newcommand{\miktex}{MiK\TeX\xspace}
+\newcommand{\texlive}{\TeX{}Live\xspace}
+\newcommand{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+
+% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\definecolor{duckblue}{RGB}{0,70,140}
+\addtokomafont{sectioning}{\color{duckblue}}
+\addtokomafont{date}{\normalsize}
+\addtokomafont{author}{\normalsize}
+\setlength{\footnotemargin}{0.7em}
+
+\lstdefinestyle{duckstyle}{%
+  language={[latex]TeX},
+  tabsize=2,
+  breaklines,
+  basicstyle=\footnotesize\ttfamily,
+  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,beard,glasses,sunglasses,alien,hat,cap,santa,chef,cheese,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,buttons,sheep,squareglasses,tail,basket,easter,egga,eggb,eggc,mohican,mullet,horsetail,darthvader,crozier,queencrown,kingcrown,wing,laughing,parrot,stethoscope,niuqelrah,harlequin,neckerchief,woggle,snowduck,invisible,strawhat,ribbon,vampire,parting,crystalball,helmet,shovel,pickaxe,bowtie,lapel,umbrella,umbrellaclosed,handbag,cocktail,viking,devil,aodai,conicalhat,overleaf,sailor},
+  texcsstyle=*\color{duckblue}\bfseries,
+  keywordstyle=\color{red!60!black}\bfseries,
+  morekeywords={tikzpicture,picture,scope,patterns,calc,pgfinterruptboundingbox},
+  moretexcs={duck,picduck,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,duckpathmohican,duckpathmullet,duckpathqueencrown,duckpathkingcrown,duckpathdarthvader,duckpathhorsetail,tikzset,duckpathwing,shade,duckhookbackground,duckhookbody,duckhookclothing,duckhookhair,duckhookhat,duckhookforeground},
+  delim ={[s][\ttfamily\color{green!50!black}]{$}{$}},
+  moredelim=[is][\footnotesize\ttfamily\color{orange!70!black}]{|}{|},
+  index=[1][emph]
+}
+
+\tcbset{%
+  colframe=duckblue,
+  arc=2mm,
+  fonttitle=\bfseries,
+  sidebyside,
+  listing options={style=duckstyle},
+  center lower,
+  righthand width=6.5cm,
+  bottom=0pt, 
+  top=0pt,
+  before lower={%
+    \setlength{\parskip}{0.5cm}%
+    \spaceskip=5\fontdimen2\font%
+  },
+}
+
+\lstset{style=duckstyle}
+\pgfkeys{/duck/|stripes|/.style={stripes={#1}}}
+
+\pgfmathsetseed{2}
+\setlength{\footheight}{41pt}
+\newlength{\duckoffset}
+
+\cfoot{%
+  \tikzset{external/export=false}%
+  \shuffleducks
+  \begin{tikzpicture}[scale=0.5] 
+      \duck[signpost=\scalebox{0.6}{\thepage},\randomhead]
+  \end{tikzpicture}
+} 
+\pagestyle{scrheadings}
+\indexsetup{firstpagestyle=scrheadings}
+\makeindex[columns=3]
+
+\usetikzlibrary{external}
+\ifnum\pdfshellescape=1
+  \tikzexternalize[prefix=./tikzducks-doc-figures/]
+\fi
+
+% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{The \texorpdfstring{\tikzducks}{tikzducks} package}
+\subtitle{using ducks in \TikZ}
+\author{%
+  \texorpdfstring{\texttt{samcarter} (alias 
+    \tikzset{external/export=false}%
+    \begin{tikzpicture}[scale=0.3,baseline=3pt]
+      \duck[body=yellow!50!brown!50!white,
+          longhair=red!50!brown, 
+          jacket=blue!50!black]
+    \end{tikzpicture})\\[0.8em]
+    \url{https://github.com/samcarter/tikzducks}\\
+    \url{https://www.ctan.org/pkg/tikzducks}
+  }{samcarter}}
+\date{Version v1.5 \textendash{} 2020/06/30}
+
+\begin{document}
+\maketitle
+\thispagestyle{scrheadings}
+
+\section{Introduc(k)tion}
+\label{intro}
+
+Rubber ducks can be made of latex, but can they also be made with \LaTeX? Yes! The \tikzducks package is a \LaTeX{} package for rubber ducks to be used in \TikZ pictures. 
+This project is a continuation of \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/samcarter/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 asking a question at \url{topanswers.xyz/tex}.
+
+\subsection{Acknowledgements}
+
+Without the friendly and helpful community of \TeX{} users this package would not exist. I would like to thank a few fellow users in particular:
+
+First of all 
+%
+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},
+%
+Paulo Cereda for his contagious enthusiasm for ducks (\emph{Quack!}) and
+%
+Ulrike Fischer for her useful \TikZ advices and contributions to the package and coming to rescue for keyword highlighting in the package documentation.
+
+Many other users contributed to this package (in random order):
+%
+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,
+% 
+Andrew Stacey contributed the \TikZ Library ``ducks'',
+%
+Symbol~1 solved a few problems with default key values,
+%
+Mihikma created the duck's beard,
+%
+Yudai Nakata helped with problems of \lstinline|\pdfrandomseed|,
+%
+ at marmot for his seemingly infinite knowledge of \TikZ which he shared with the world,    
+%
+ at JairoAdelRio for contributing the \ConTeXt{}  User Module
+%
+and last but not least my thanks go to Martin Schr\"oder for his feedback to the code review.
+
+\pagebreak
+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 \lstinline|expl3| and \TikZ, which in turn loads the \lstinline|xcolor| package (amongst others). 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.
+
+\begin{lstlisting}[morekeywords={xcolor,svgnames}]
+  \PassOptionsToPackage{svgnames}{xcolor}
+\end{lstlisting}
+It also uses the \lstinline|\usetikzlibrary{patterns}| and \lstinline|\usetikzlibrary{calc}|. 
+
+\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}.
+
+The shown example ducks are purely fictional characters, any resemblance to real ducks or persons is purely coincidental and no copyright infringement is intended.
+
+\section{Usage}
+
+The basic usage is fairly simple, to draw a duck:
+\begin{tcblisting}{title={Basic duck}}
+\begin{tikzpicture}
+  \duck
+\end{tikzpicture}
+\end{tcblisting}
+
+To customise this basic duck, the package uses \lstinline|pgf| keys. For almost all parts the colour can be changed using \lstinline|<shape name>=<colour name>|. For example to change the colour of the duck:
+\begin{tcblisting}{title={Blue duck}}
+\begin{tikzpicture}
+  \duck[body=blue]
+\end{tikzpicture}
+\end{tcblisting}
+
+If the keyword consists of multiples words, it works both with and without spaces. In the following usually the version without spaces is given. 
+
+\clearpage
+In addition to the keys defined in this package, all usual \TikZ and \lstinline|pgf| keys can also be used. For example if the size of the ducks should be changed or shifted:
+
+\begin{tcblisting}{title={Scaled duck and \emph{The Ugly Duckling}},  righthand width=3cm}
+\begin{tikzpicture}[scale=0.6]
+  \duck
+  \duck[xshift=90pt, scale=.3, yshift=150pt]
+  \duck[xshift=60pt, scale=.3, yshift=100pt]
+  \duck[body=gray!50!white,head=gray!50!white,
+    xshift=80pt, scale=.3, yshift=50pt]
+\end{tikzpicture}
+\end{tcblisting}
+
+To make the usage easier for the \TikZ-savvy users, Andrew Stacey contributed a \TikZ library. It can be loaded with \lstinline|\usetikzlibrary{ducks}|. In addition to the normal functionality of the \tikzducks package, the ducks are now also available as \lstinline|pic|. A short example:
+
+\begin{tcolorbox}[title={\TikZ library ``ducks''}]
+\begin{lstlisting}[morekeywords={ducks,duck,standalone,tikz,document}]
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{ducks}
+
+\begin{document}
+
+\begin{tikzpicture}
+\draw (0,0) pic[
+    duck/water=green,
+    duck/alien,
+  ] {duck};
+\draw (4,0) pic[
+    scale=1.4,
+  ] {duck};
+\end{tikzpicture}
+
+\end{document}
+\end{lstlisting} 
+
+\tcblower
+\begin{tikzpicture}
+\draw (0,0) pic[
+    duck/water=green,
+    duck/alien,
+  ] {duck};
+\draw (2,1) pic[
+    scale=1.4,
+  ] {duck};
+\end{tikzpicture}
+\end{tcolorbox}
+
+For everybody suffering from anatidaephobia, there is also a special option to not draw the duck: 
+\begin{tcblisting}{title={Invisible duck}}
+\begin{tikzpicture}
+  \duck[invisible]
+\end{tikzpicture}
+\end{tcblisting}
+
+This can also be useful to recycle some of the accessories presented in \ref{sec:accessories}.
+
+\clearpage
+For the \TeX{} purists, there is also a picture mode variant:
+
+{
+\setlength{\unitlength}{0.6mm}
+\begin{tcblisting}{title={\texttt{picture} mode duck}}
+\begin{picture}(42,44)
+  \picduck
+\end{picture}
+\end{tcblisting}
+}
+
+And thanks to @JairoAdelRio there is even a \ConTeXt{} User Module available (caveat: some colours might look different):
+
+\begin{tcolorbox}[title={\ConTeXt{}  User Module}]
+\begin{lstlisting}[morekeywords={usemodule,usecolors,starttext,stoptext,starttikzpicture,stoptikzpicture}]
+\usemodule[tikzducks]
+\usecolors[xwi]
+\starttext
+
+\starttikzpicture
+\duck[tophat,bowtie]
+\stoptikzpicture
+
+\stoptext
+\end{lstlisting} 
+
+\tcblower
+\begin{tikzpicture}
+\duck[tophat,bowtie]
+\end{tikzpicture}
+\end{tcolorbox}
+
+\subsection{Body parts}
+
+The various parts of the duck can also be coloured independently, i.e.\ \lstinline|body|, \lstinline|head| or \lstinline|bill|:
+
+\begin{tcblisting}{title={Harlequin duck}}
+\begin{tikzpicture}
+  \duck[body=yellow,
+    head=yellow!50!orange, 
+    bill=red,
+    eye=green]
+\end{tikzpicture}
+\end{tcblisting}
+
+Furthermore using the keywords \lstinline|grumpy|, \lstinline|laughing| or \lstinline|parrot| the shape of the bill can be changed:
+
+\begin{tcblisting}{title={Grumpy duck}}
+\begin{tikzpicture}
+  \duck[grumpy]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[grumpy, bill=cyan]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Laughing duck}}
+\begin{tikzpicture}
+  \duck[laughing]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[laughing, bill=red]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Parrot duck}}
+\begin{tikzpicture}
+  \duck[parrot]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[parrot, bill=blue]
+\end{tikzpicture}
+\end{tcblisting}
+
+
+\subsection{Hair styles}
+
+Some duck also like to have nice hair cuts, several different hair styles are available:
+
+\begin{tcblisting}{title={Long hair duck}}
+\begin{tikzpicture}
+  \duck[longhair]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Short hair duck}}
+\begin{tikzpicture}
+  \duck[shorthair]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Parting hair duck}}
+\begin{tikzpicture}
+  \duck[parting]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Crazy hair duck}}
+\begin{tikzpicture}
+  \duck[crazyhair]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Receding hair duck}}
+\begin{tikzpicture}
+  \duck[recedinghair]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Mohican duck}}
+\begin{tikzpicture}
+  \duck[mohican]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Mullet duck}}
+\begin{tikzpicture}
+  \duck[mullet]
+\end{tikzpicture}
+\end{tcblisting}
+
+And of course the colour of each hair style can be adjusted:
+\begin{tcblisting}{title={Coloured hair duck}}
+\begin{tikzpicture}
+  \duck[longhair=teal]
+\end{tikzpicture}
+\end{tcblisting}
+
+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}
+  \duck[eyebrow]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[longhair=blue,eyebrow]
+\end{tikzpicture}
+
+\begin{tikzpicture}
+  \duck[crazyhair=red,eyebrow=blue]
+\end{tikzpicture}
+\end{tcblisting}
+
+\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}}
+
+Please note that not all of the accessories, especially hats, shown in the following sections, will suite every hairstyle. In case the desired combination of hair style and hat does not work well, there is always the possibility to look up the original definition of the hat in the \lstinline|tikzducks| source code and recreate it with a more suitable position or size.
+
+\subsection{Clothing}
+
+A respectable duck needs a suitable wardrobe. It can choose from several different garments. In it's infinite wardrobe these items are available in all colours definable in the current colour model.
+
+\begin{tcblisting}{title={T-shirt duck}}
+\begin{tikzpicture}
+  \duck[tshirt=red]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Jacket duck}}
+\begin{tikzpicture}
+  \duck[jacket=blue]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Tie duck}}
+\begin{tikzpicture}
+  \duck[tshirt,
+      jacket=gray,
+      tie]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Bowtie duck}}
+\begin{tikzpicture}
+  \duck[tshirt,
+      jacket=gray,
+      bowtie]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Áo dài duck}}
+\begin{tikzpicture}
+  \duck[tshirt=cyan,
+        aodai=blue!50!black
+  ]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Cape duck}}
+\begin{tikzpicture}
+  \duck[cape]
+\end{tikzpicture}
+\end{tcblisting}
+
+For more ways to customise the clothing also have a look at the \hyperref[sec:footballducks]{football ducks in Section \ref{sec:footballducks}}.
+
+\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 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}
+  \duck[water=cyan!50!blue]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Alien duck}}
+\begin{tikzpicture}
+  \duck[alien=green!50!brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Hat duck}}
+\begin{tikzpicture}
+  \duck[hat=red!50!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Tophat duck}}
+\begin{tikzpicture}
+  \duck[tophat=blue!20!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Strawhat duck}}
+\begin{tikzpicture}
+  \duck[strawhat=brown!50!white, ribbon=gray]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Basecap duck}}
+\begin{tikzpicture}
+  \duck[cap=red!80!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Conical hat duck}}
+\begin{tikzpicture}
+  \duck[conicalhat=brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Santa Duck}}
+\begin{tikzpicture}
+  \duck[santa=red!80!black, 
+        beard=white!80!brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\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{tikzpicture}
+  \duck[beret=red!70!black]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Peaked cap duck}}
+\begin{tikzpicture}
+  \duck[peakedcap=blue!50!black]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Harlequin duck}}
+\begin{tikzpicture}
+  \duck[harlequin=blue,
+    niuqelrah=red]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Sailor duck}}
+\begin{tikzpicture}
+  \duck[sailor=white]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Crown duck}}
+\begin{tikzpicture}
+\duck[body=black!75!white,
+      crown=yellow!70!brown]
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\duck[queencrown=gray]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[kingcrown=brown!70!red]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Knight duck}}
+\begin{tikzpicture}
+  \duck[helmet=gray]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Viking duck}}
+\begin{tikzpicture}
+  \duck[viking=gray]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Devil duck}}
+\begin{tikzpicture}
+  \duck[devil=red]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Unicorn duck}}
+\begin{tikzpicture}
+  \duck[body=pink,
+    unicorn=magenta!60!violet,
+    longhair=magenta!60!violet]
+\end{tikzpicture}
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Bunny duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+\duck[body=white!80!brown, bill=white!60!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.}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Sheep duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+\duck[body=white!80!brown, bill=white!60!brown, sheep]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The in-ear colour of the sheep chosen to be the same as the bill}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Horse duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+\duck[body=brown!80!white, longhair=brown!50!black, horsetail]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{If no colour is specified, the horse tail will have the same colour as the hair}
+
+\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]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[squareglasses=blue!50!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Sunglasses duck}}
+\begin{tikzpicture}
+  \duck[sunglasses=blue]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Superhero duck}}
+\begin{tikzpicture}
+  \duck[mask=teal,cape=teal]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Signpost duck}}
+\begin{tikzpicture} 
+    \duck[signpost=42]
+\end{tikzpicture}
+\begin{tikzpicture} 
+\duck[signpost=\scalebox{0.4}{
+  \parbox{2cm}{\color{black}
+  \centering Science\\ first}},
+  signcolour=brown!70!gray,
+  signback=white!80!brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Speaking duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[speech={Bla},bubblecolour=cyan!20!white,laughing]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Thinking duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \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}}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Buttons duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[buttons=brown!50!black]
+\end{tikzpicture}  
+\begin{tikzpicture}
+  \duck[jacket=red,buttons]
+\end{tikzpicture}  
+\end{tcblisting}
+\footnotetext[\thefootnote]{In case the duck is wearing a jacket, the buttons are positioned a bit lower}
+
+\begin{tcblisting}{title={Dinner jacket duck}}
+\begin{tikzpicture}
+  \duck[jacket=gray,lapel=black,buttons]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Book duck}}
+\begin{tikzpicture}
+  \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}}
+\begin{tikzpicture}
+  \duck[cricket=red!50!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Hockey duck}}
+\begin{tikzpicture}
+  \duck[hockey=brown!70!black]
+\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}}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Lightsaber duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[lightsaber=red,darthvader=black!30!gray]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{Dedicated to the Counter Wizard (aka Christian Hupfer)}
+
+\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={Shepherd duck}}
+\begin{tikzpicture}
+  \duck[crozier=brown!80!black]
+\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]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[icecream=brown, 
+        flavoura=green!50!brown, 
+        flavourb=white, 
+        flavourc=red]
+\end{tikzpicture}
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Chef duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[chef=white!95!yellow,
+      rollingpin=brown!80!black]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The chef duck is based on an idea by Carla Maggi, please see the following link for a more sophisticated version of the toque and the rolling pin: \url{https://tex.stackexchange.com/a/387126/36296}}
+
+\begin{tcblisting}{title={Cake duck}}
+\begin{tikzpicture}
+  \duck[cake=red!50!violet!80!black]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Pizza duck}}
+\begin{tikzpicture}
+  \duck[pizza]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Baguette duck}}
+\begin{tikzpicture}
+  \duck[baguette=brown]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Cheese duck}}
+\begin{tikzpicture}
+  \duck[cheese=orange]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Milkshake duck}}
+\begin{tikzpicture}
+  \duck[milkshake=red!20!white]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Wine duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[wine=red!70!black]
+\end{tikzpicture}
+\end{tcblisting}
+\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}
+
+\begin{tcblisting}{title={Cocktail duck}}
+\begin{tikzpicture}
+  \duck[cocktail]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Wing duck}}
+\begin{tikzpicture}
+  \duck[wing=yellow!90!brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Basket duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[basket=brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Easter duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[bunny,easter]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[bunny,easter=brown,
+  egga=cyan,eggb=orange,eggc=teal]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The basket and Easter basket was kindly contributed by Benito van der Zander}
+
+\begin{tcblisting}{title={Ducktor}}
+\begin{tikzpicture}
+  \duck[stethoscope=gray!80!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Neckerchief duck}}
+\begin{tikzpicture}
+  \duck[neckerchief=red!70!black,
+    woggle=blue!60!black]
+\end{tikzpicture}
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Snow Duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[snowduck=white]
+\end{tikzpicture}   
+\end{tcblisting}
+\footnotetext[\thefootnote]{The snowduck is dedicated to all Japanese \TeX\ users}
+
+\begin{tcblisting}{title={Vampire Duck}}
+\begin{tikzpicture}
+  \duck[vampire=white]
+\end{tikzpicture}  
+\begin{tikzpicture}
+  \duck[laughing, vampire=white]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Fortune Quacker$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[crystalball=cyan]
+\end{tikzpicture}   
+\end{tcblisting}
+\footnotetext[\thefootnote]{The crystal ball is kindly contributed by @marmot}
+
+\begin{tcblisting}{title={Shovelling Duck}}
+\begin{tikzpicture}
+  \duck[shovel=gray]
+\end{tikzpicture}  
+\begin{tikzpicture}
+  \duck[pickaxe=gray]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Umbrella Duck}}
+\begin{tikzpicture}
+  \duck[umbrella=cyan]
+\end{tikzpicture}   
+\begin{tikzpicture}
+  \duck[umbrellaclosed=cyan]
+\end{tikzpicture}  
+\end{tcblisting}
+
+\begin{tcblisting}{title={Handbag Duck}}
+\begin{tikzpicture}
+  \duck[handbag=red!70!black]
+\end{tikzpicture}   
+\end{tcblisting}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Overleaf Duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+  \duck[overleaf]
+\end{tikzpicture}   
+\end{tcblisting}
+\footnotetext[\thefootnote]{added to celebrate that \tikzducks are now also available on overleaf, see \url{https://www.overleaf.com/blog/tex-live-upgrade-september-2019}}
+
+\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}
+
+\section{Further customisation}
+
+This package will never be able to do everything every potential user might want to do, as this number quickly approaches $\infty$ -- but as the ducks are simply things inside \lstinline|tikzpicture|s, all the heavy weapons of the \TikZ package are available for further customisation.
+
+\begin{tcblisting}{title={Adding things to the duck}}
+\begin{tikzpicture}
+  \duck
+  \fill[blue] (2,0) rectangle (1,1);
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Monochrome duck}}
+\begin{tikzpicture}
+  \selectcolormodel{gray}
+  \duck
+\end{tikzpicture}
+\end{tcblisting}
+
+For convenience the more complex paths of this package are stored in macros, which can easily be reused:
+
+\begin{tcblisting}{title={Redraw parts}}
+\begin{tikzpicture}
+  \duck
+  \path[preaction={fill, red!50!black},pattern=fivepointed stars, pattern color=yellow]  
+      \duckpathlonghair;
+\end{tikzpicture}
+\end{tcblisting}
+
+In detail, the following paths are available:
+
+\begin{lstlisting}[aboveskip=1.2em,breakindent=0pt]
+\duckpathbody, \duckpathgrumpybill, \duckpathbill, \duckpathtshirt, \duckpathjacket,\duckpathcape, \duckpathshorthair, \duckpathlonghair, \duckpathcrazyhair, \duckpathrecedinghair, \duckpathcrown,  \duckpathmohican,  \duckpathmullet,  \duckpathqueencrown,  \duckpathkingcrown,  \duckpathdarthvader,  \duckpathhorsetail
+\end{lstlisting}
+
+In case one of the other shapes is needed, please have a look at the package source code, which can be found in \lstinline|tikzducks.sty|.
+
+To ease the placement of further accessories, some particular spots of the duck are marked with \TikZ coordinates, namely the \lstinline|wing|, \lstinline|head|, \lstinline|bill| and \lstinline|tail|. 
+
+{
+\footnotesize\ttfamily
+\begin{tcblisting}{title={\normalfont\normalsize\bfseries Coordinates}}
+\begin{tikzpicture}[scale=2]
+  \duck
+  \fill[black] (wing) circle (0.04);
+  \fill[black] (head) circle (0.04);
+  \fill[black] (bill) circle (0.04);
+  \fill[black] (tail) circle (0.04);
+  \node[xshift=15] at (wing) {Wing};
+  \node[xshift=15] at (head) {Head};
+  \node[xshift=18] at (bill) {Bill};
+  \node[xshift=15] at (tail) {Tail};
+\end{tikzpicture}
+\end{tcblisting}
+}
+
+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]
+   \duck[name=bar,xshift=90pt,
+         scale=.3,yshift=150pt]
+  \draw (foo-wing) -- (bar-wing);
+\end{tikzpicture}  
+\end{tcblisting}
+
+Sometimes it might desirable to add things at a specific z-position, for example re-draw a t-shirt with some pattern that should be below the duck's hair and accessories. To facilitate this the \tikzducks provide a couple of hooks: \lstinline|\duckhookbackground|, \lstinline|\duckhookbody|, \lstinline|\duckhookclothing|, \lstinline|\duckhookhair|, \lstinline|\duckhookhat| and \lstinline|\duckhookforeground|. 
+
+\begin{center}
+\footnotesize\ttfamily \textbackslash duckhook\dots
+
+  \begin{tikzpicture}
+    \newcommand{\planes}{\fill[gray!20!white,opacity=0.9] (-0.1,-0.1) rectangle (2.4,2.4);}
+    \newcommand{\hooks}{\draw[duckblue, rounded corners=3pt, line width=1pt] (-0.1,-0.1) rectangle (2.4,2.4);}
+    \node[font=\footnotesize\ttfamily] at (-0.8,-1.4) {\strut background};
+    \begin{scope}[canvas is zy plane at x=0]
+      \hooks
+    \end{scope}
+    \begin{scope}[canvas is zy plane at x=0.8]
+      \planes
+      \duck
+    \end{scope}
+    \node[font=\footnotesize\ttfamily] at (0.8,-1.4) {\strut body};
+    \begin{scope}[canvas is zy plane at x=1.6]
+      \hooks
+    \end{scope}
+    \begin{scope}[canvas is zy plane at x=2.4]
+      \planes
+      \duck[invisible,jacket=black!50!gray] 
+    \end{scope}
+    \node[font=\footnotesize\ttfamily] at (2.4,-1.4) {\strut clothing};
+    \begin{scope}[canvas is zy plane at x=3.2]
+      \hooks
+    \end{scope}
+    \begin{scope}[canvas is zy plane at x=4.0]
+      \planes
+      \duck[invisible,longhair=red!80!black]
+    \end{scope}
+    \node[font=\footnotesize\ttfamily] at (4.0,-1.4) {\strut hair};
+    \begin{scope}[canvas is zy plane at x=4.8]
+      \hooks
+    \end{scope}
+    \begin{scope}[canvas is zy plane at x=5.6]
+      \planes
+      \duck[invisible,witch=black!50!gray];
+    \end{scope}
+    \node[font=\footnotesize\ttfamily] at (5.6,-1.4) {\strut hat};
+    \begin{scope}[canvas is zy plane at x=6.4]
+      \hooks
+    \end{scope}
+    \begin{scope}[canvas is zy plane at x=7.2]
+      \planes
+      \duck[invisible,magicwand]
+    \end{scope}
+    \node[font=\footnotesize\ttfamily] at (7.2,-1.4) {\strut foreground};
+    \begin{scope}[canvas is zy plane at x=8.0]
+      \hooks
+    \end{scope}
+  \end{tikzpicture}
+\end{center}
+
+These hooks can be defined by the user as needed:
+
+\begin{tcblisting}{title={Hooks}}
+\begin{tikzpicture}
+  \begingroup
+    \newcommand{\duckhookclothing}{\path[pattern=fivepointed stars, pattern color=yellow] \duckpathjacket;}
+    \duck[witch=black!50!gray,
+          longhair=red!80!black,
+          jacket=black!50!gray,
+          magicwand]
+   \endgroup
+\end{tikzpicture}  
+\end{tcblisting}
+
+\clearpage
+\section{Football ducks -- contributed by Carla Maggi}
+\label{sec:footballducks}
+
+\tikzducks are huge sports fans! They do a lot of different sports themselves (see all the piece of sports equipment amongst the accessories), but to cheer their favourite teams, they need suitable fan clothing. In \href{https://tex.stackexchange.com/a/387126/36296}{The Duck Pond} Carla Maggi was so kind to contribute the necessary code to dress the ducks in their team's colours.
+
+\addtocounter{footnote}{1}
+A (non-representative) survey$^{\thefootnote}$\footnotetext[\thefootnote]{see the selection of jerseys in \url{https://tex.stackexchange.com/a/387126/36296}} showed that most sports jerseys can be emulated by drawing stripes of various colours, sizes and orientations -- and this is exactly what the \lstinline|stripes| macro does, drawing stripes across the shape of the duck's jacket. In order to preserve the whole flexibility of this powerful macro, it was integrated as an independent command into the \tikzducks package, this means it can simply be used on top of a drawn duck:
+
+\begin{tcblisting}{title={\texttt{stripes} macro}}
+\begin{tikzpicture}
+  \duck
+  \stripes
+\end{tikzpicture}
+\end{tcblisting}
+
+This may be impractical as the stripes are drawn on top of any accessories or hair the duck may have. Therefore the option \lstinline|stripes| let's you inject any code you would normally use to draw the stripes at the correct layer above the duck's clothing but beneath the hair and accessories:
+
+\begin{tcblisting}{title={Using \texttt{stripes} for \texttt{tikzducks}}}
+\begin{tikzpicture}
+  \duck[longhair,|stripes|={\stripes}]
+\end{tikzpicture}
+\end{tcblisting}
+
+Not all teams wear vertically stripped jerseys, therefore many parameters can be adjusted to best emulate your favourite teams jerseys. The available options are:
+
+\begin{tabular}{@{}ll@{}}
+  \lstinline|color|      & colour of the stripes, default:     
+                          \lstinline|black| \\
+  \lstinline|distance|  &  periodicity length of the stripes, default: 
+                           \lstinline|0.3| \\
+  \lstinline|width|      &  stripe width, default: \lstinline|0.15| \\ 
+  \lstinline|height|    &  length of the stripes, default: 
+                          \lstinline|2.7| \\
+  \lstinline|initialx|  &  x coordinate of staring point, default: 
+                          \lstinline|0.1| \\
+  \lstinline|initialy|  &  y coordinate of staring point, default: 
+                          \lstinline|-0.3| \\
+  \lstinline|rotate|    &  rotation angle in degree, default:
+                          \lstinline|-10|\\
+  \lstinline|emblem|    & possibility to add logos etc., default: empty\\
+\end{tabular}
+
+Please note that the colour of the stripes only affects the stripes themselves, to influence the colour of the empty space between the stripes, clothe the duck with a \lstinline|tshirt| or \lstinline|jacket| of the desired colour underneath the stripes.
+
+\begin{tcblisting}{title={\texttt{stripes} options}}
+\begin{tikzpicture}
+  \duck[stripes]
+\end{tikzpicture}
+\begin{tikzpicture}
+  \duck[|stripes|={
+        \stripes[color=blue]}]
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[distance=0.6]}]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[width=0.03]}]
+\end{tikzpicture}
+
+\begin{tikzpicture} 
+\duck[|stripes|={\stripes[emblem={\includegraphics[width=0.3cm]{example-image-a}}]}]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[height=1.0]}]
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[initialx=1]}]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[initialy=0.8]}]
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[rotate=45]}]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[|stripes|={
+      \stripes[rotate=-45]}]
+\end{tikzpicture}
+\end{tcblisting}
+
+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|={
+\stripes[color=yellow, width=0.1]
+\stripes[color=orange, width=0.1, initialx=0.0]}]
+\end{tikzpicture}
+\end{tcblisting}
+
+\tcbset{righthand width=3cm}
+A few examples to see \lstinline|stripes| in action:
+\begin{tcblisting}{title={Inter duck}}
+\definecolor{blueinter}{RGB}{0,102,170}%
+\begin{tikzpicture}
+\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]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Milan duck}}
+\begin{tikzpicture}
+\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=mggreen,|stripes|={\stripes},football]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Palmeiras duck}}
+\definecolor{verdep}{RGB}{0,100,55}%
+\begin{tikzpicture} 
+\duck[tshirt=green,jacket=verdep,football] 
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Cagliari duck}}
+\definecolor{rossocagliari}{RGB}{149,20,38}%
+\definecolor{blucagliari}{RGB}{23,52,84}%
+\begin{tikzpicture} 
+\duck[tshirt=white, jacket=blucagliari,|stripes|={
+\stripes[color=rossocagliari, width=0.46, distance=3]},football]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Sampdoria duck}}
+\begin{tikzpicture} 
+\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]
+},football]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Brescia duck}}
+\begin{tikzpicture} 
+\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]
+\end{tikzpicture}
+\end{tcblisting}
+
+\section{Examples}
+
+To see more examples of what can be done with the \tikzducks, you are invited to visit \url{https://github.com/samcarter/tikzducks}. 
+
+If you have created a duck you would like to share with the community, I would be happy to add it to this collection, just make a pull request or open an issue in the bug tracking system.
+
+\clearpage
+\printindex
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv	2020-06-30 21:36:12 UTC (rev 55713)
@@ -0,0 +1,56 @@
+% !TeX root = ./testing/context_duck.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Code for this ConTeXt User Module kindly provided by @JairoAdelRio https://github.com/samcarter/tikzducks/pull/25
+\writestatus{loading}{ConTeXt User Module / TikZDucks 2020/06/30 version v1.5 Draw rubber ducks in TikZ}
+\setupcolors[state=start]
+\usemodule[tikz]
+\enabledirectives[colors.pgf]
+\usetikzlibrary[patterns] % for the wizard hat
+\usetikzlibrary[calc]
+\definecolor[duck at overleafcol][x=48AC3C]
+%\unprotect does not work here
+\catcode`\@=11
+%So \scalebox and co. works in MkIV too
+\define[2]\scalebox{\scale[factor={\ctxlua{context(3*#1)}}]{#2}}
+\let\tiny\tfxx
+\let\pdfrandomseed\randomseed
+%Duck
+\def\duck{\dosingleempty\doduck}
+\def\doduck[#1]{%
+    \iffirstargument
+        \startscope%
+            \tikzset{/duck/.cd,#1}%
+            \duck at draw%
+        \stopscope%
+    \else
+        \startscope%
+            \tikzset{/duck/.cd}%
+            \duck at draw%
+        \stopscope%
+    \fi%
+}
+%Stripes
+\def\stripes{\dosingleempty\dostripes}
+\def\dostripes[#1]{
+	\iffirstargument
+	\tikzset{/stripes/.cd,#1}\stripes at draw
+	\else
+	\tikzset{/stripes/.cd}\stripes at draw
+	\fi
+}
+\input tikzducks-generic.tex
+\catcode`\@=12
+\endinput

Added: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex	2020-06-30 21:36:12 UTC (rev 55713)
@@ -0,0 +1,1748 @@
+% !TeX root = ./testing/test.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newif\ifduck at name
+\newif\ifduck at invisible
+% Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifduck at water
+% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifduck at grumpy
+\newif\ifduck at laughing
+\newif\ifduck at parrot
+% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifduck at shorthair
+\newif\ifduck at longhair
+\newif\ifduck at crazyhair
+\newif\ifduck at recedinghair
+\newif\ifduck at eyebrow
+\newif\ifduck at beard
+\newif\ifduck at mohican
+\newif\ifduck at mullet
+\newif\ifduck at parting
+% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifduck at clothing
+\newif\ifduck at tshirt
+\newif\ifduck at jacket
+\newif\ifduck at tie
+\newif\ifduck at cape
+\newif\ifduck at stripes
+\newif\ifduck at bowtie
+\newif\ifduck at lapel
+\newif\ifduck at aodai
+% 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 queencrown
+\newif\ifduck at kingcrown
+\newif\ifduck at peakedcap
+\newif\ifduck at bunny
+\newif\ifduck at tophat
+\newif\ifduck at darthvader
+\newif\ifduck at harlequin
+\newif\ifduck at strawhat
+\newif\ifduck at helmet
+\newif\ifduck at viking
+\newif\ifduck at devil 
+\newif\ifduck at conicalhat
+\newif\ifduck at sailor
+% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifduck at glasses
+\newif\ifduck at sunglasses
+\newif\ifduck at squareglasses
+\newif\ifduck at icecream
+\newif\ifduck at book
+\newif\ifduck at magicwand
+\newif\ifduck at cricket
+\newif\ifduck at rollingpin
+\newif\ifduck at signpost
+\newif\ifduck at lightsaber
+\newif\ifduck at cake
+\newif\ifduck at pizza
+\newif\ifduck at hockey
+\newif\ifduck at baguette
+\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
+\newif\ifduck at easter
+\newif\ifduck at basket
+\newif\ifduck at buttons
+\newif\ifduck at sheep
+\newif\ifduck at horsetail
+\newif\ifduck at crozier
+\newif\ifduck at davidlikespineapplepizza
+\newif\ifduck at wing
+\newif\ifduck at stethoscope
+\newif\ifduck at neckerchief
+\newif\ifduck at snowduck
+\newif\ifduck at vampire
+\newif\ifduck at crystalball
+\newif\ifduck at cheese
+\newif\ifduck at shovel
+\newif\ifduck at pickaxe
+\newif\ifduck at umbrella
+\newif\ifduck at umbrellaclosed
+\newif\ifduck at handbag
+\newif\ifduck at cocktail
+\newif\ifduck at overleaf
+
+\tikzset{
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Pass unknown keys on to tikz
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  /duck/.search also={/tikz,/pgf},
+  /duck/.cd,
+  name/.code= \duck at nametrue \def\duck at name{#1},
+  invisible/.code  = \duck at invisibletrue,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Environment
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  water/.code               = \duck at watertrue
+                              \def\duck at water{#1},
+  water/.default            = blue,  
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % body parts
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  body/.code                = \def\duck at body{#1},
+  body                      = yellow!70!brown,
+  head/.code                = \def\duck at head{#1},
+  eye/.code                 = \def\duck at eye{#1},
+  eye                       = white!85!yellow,
+  pupil/.code               = \def\duck at pupil{#1},
+  pupil                     = black,
+  bill/.code                = \def\duck at bill{#1},
+  bill                      = orange!50!brown, 
+  grumpy/.code              = \duck at grumpytrue,
+  laughing/.code            = \duck at laughingtrue,
+  parrot/.code              = \duck at parrottrue,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % clothing
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  tshirt/.code              = \duck at tshirttrue    
+                              \duck at clothingtrue  
+                              \def\duck at tshirt{#1},
+  tshirt/.default           = white,                            
+  jacket/.code              = \duck at jackettrue  
+                              \duck at clothingtrue    
+                              \def\duck at jacket{#1},
+  jacket/.default           = blue,                              
+  tie/.code                 = \duck at tietrue         
+                              \def\duck at tie{#1},
+  tie/.default              = blue,                              
+  cape/.code                = \duck at capetrue    
+                              \duck at clothingtrue    
+                              \def\duck at cape{#1},
+  cape/.default             = red,                            
+  stripes/.code             = \duck at stripestrue
+                              \duck at clothingtrue
+                              \def\duck at stripes{#1},
+  stripes/.default          = \stripes ,                
+  bowtie/.code              = \duck at bowtietrue 
+                              \def\duck at bowtie{#1},
+  bow tie/.forward to       = /duck/bowtie,
+  bowtie/.default           = black,     
+  lapel/.code               = \duck at lapeltrue   
+                              \def\duck at lapel{#1},
+  lapel/.default            = black,  
+  aodai/.code               = \duck at aodaitrue
+                              \duck at clothingtrue
+                              \def\duck at aodai{#1},
+  ao dai/.forward to        = /duck/aodai,                         
+  aodai/.default            = blue!50!black,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % hair styles
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  shorthair/.code           = \duck at shorthairtrue    
+                              \def\duck at hair{#1},
+  short hair/.forward to    = /duck/shorthair,
+  shorthair/.default        = brown,
+  longhair/.code            = \duck at longhairtrue     
+                              \def\duck at hair{#1},
+  long hair/.forward to     = /duck/longhair,
+  longhair/.default         = brown,
+  crazyhair/.code           = \duck at crazyhairtrue    
+                              \def\duck at hair{#1},
+  crazy hair/.forward to    = /duck/crazyhair,
+  crazyhair/.default        = brown,
+  recedinghair/.code        = \duck at recedinghairtrue 
+                              \def\duck at hair{#1},
+  receding hair/.forward to = /duck/recedinghair,
+  recedinghair/.default     = brown,
+  eyebrow/.code             = \duck at eyebrowtrue      
+                              \def\duck at eyebrow{#1},
+  eyebrow/.default          = brown,
+  beard/.code               = \duck at beardtrue        
+                              \def\duck at beard{#1},
+  beard/.default            = brown,
+  mohican/.code             = \duck at mohicantrue      
+                              \def\duck at hair{#1},
+  mohican/.default          = brown,
+  mullet/.code              = \duck at mullettrue       
+                              \def\duck at hair{#1},
+  mullet/.default           = brown,
+  parting/.code             = \duck at partingtrue      
+                              \def\duck at hair{#1},
+  parting/.default          = brown,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Headgear
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  alien/.code               = \duck at alientrue       
+                              \def\duck at alien{#1},
+  alien/.default            = green, 
+  hat/.code                 = \duck at hattrue
+                              \def\duck at hat{#1},
+  hat/.default              = brown,
+  cap/.code                 = \duck at captrue         
+                              \def\duck at cap{#1},
+  cap/.default              = blue,
+  santa/.code               = \duck at santatrue       
+                              \def\duck at santa{#1},
+  santa/.default            = red!80!black,
+  chef/.code                = \duck at cheftrue        
+                              \def\duck at chef{#1},
+  chef/.default             = gray!20!white,
+  graduate/.code            = \duck at graduatetrue    
+                              \def\duck at graduate{#1},
+  graduate/.default         = black,
+  tassel/.code              = \def\duck at tassel{#1},
+  tassel                    = red,
+  beret/.code               = \duck at berettrue       
+                              \def\duck at beret{#1},
+  beret/.default            = black,
+  unicorn/.code             = \duck at unicorntrue     
+                              \def\duck at unicorn{#1},
+  unicorn/.default          = pink,
+  magichat/.code            = \duck at magichattrue    
+                              \def\duck at magichat{#1},
+  magic hat/.forward to     = /duck/magichat,
+  magichat/.default         = violet,
+  magicstars/.code          = \def\duck at magicstars{#1},
+  magic stars/.forward to   = /duck/magicstars,
+  magicstars                = yellow!80!brown,
+  witch/.code               = \duck at witchtrue       
+                              \def\duck at witch{#1},
+  witch/.default            = black,
+  crown/.code               = \duck at crowntrue       
+                              \def\duck at crown{#1},
+  crown/.default            = yellow,
+  queencrown/.code          = \duck at queencrowntrue  
+                              \def\duck at queencrown{#1},
+  queen crown/.forward to   = /duck/queencrown,
+  queencrown/.default       = yellow,
+  kingcrown/.code           = \duck at kingcrowntrue   
+                              \def\duck at kingcrown{#1},
+  king crown/.forward to    = /duck/kingcrown,
+  kingcrown/.default        = gray,
+  bunny/.code               = \duck at bunnytrue       
+                              \def\duck at bunny{#1},
+  bunny/.default            = \duck at body,
+  inear/.code               = \def\duck at inear{#1},
+  in ear/.forward to        = /duck/inear,
+  inear                     = \duck at bunny!50!white,
+  peakedcap/.code           = \duck at peakedcaptrue   
+                              \def\duck at peakedcap{#1},
+  peaked cap/.forward to    = /duck/peakedcap,
+  peakedcap/.default        = blue,
+  tophat/.code              = \duck at tophattrue      
+                              \def\duck at tophat{#1},
+  top hat/.forward to       = /duck/tophat,
+  tophat/.default           = black,
+  darthvader/.code          = \duck at darthvadertrue  
+                              \def\duck at darthvader{#1},
+  darth vader/.forward to   = /duck/darthvader,
+  darthvader/.default       = black,
+  harlequin/.code           = \duck at harlequintrue   
+                              \def\duck at harlequin{#1},
+  harlequin/.default        = blue,
+  niuqelrah/.code           = \def\duck at niuqelrah{#1},
+  niuqelrah                 = red,
+  strawhat/.code            = \duck at strawhattrue    
+                              \def\duck at strawhat{#1},
+  straw hat/.forward to     = /duck/strawhat,
+  strawhat/.default         = gray!30!white,
+  ribbon/.code              = \def\duck at ribbon{#1},
+  ribbon                    = black,
+  helmet/.code              = \duck at helmettrue      
+                              \def\duck at helmet{#1},
+  helmet/.default           = gray,
+  devil/.code               = \duck at deviltrue
+                              \def\duck at devil{#1},
+  devil/.default            = red,
+  viking/.code              = \duck at vikingtrue      
+                              \def\duck at viking{#1}
+                              \duck at deviltrue
+                              \def\duck at devil{brown!20!white},
+  viking/.default           = gray,  
+  conicalhat/.code          = \duck at conicalhattrue
+                              \def\duck at conicalhat{#1},
+  conical hat/.forward to   = /duck/conicalhat,                  
+  conicalhat/.default       = brown!90!orange!90!white,
+  sailor/.code              = \duck at sailortrue
+                              \def\duck at sailor{#1},
+  sailor/.default           = white!80!gray,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Accessories
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  glasses/.code             = \duck at glassestrue     
+                              \def\duck at glasses{#1},
+  glasses/.default          = black,
+  sunglasses/.code          = \duck at sunglassestrue  
+                              \def\duck at sunglasses{#1},
+  sunglasses/.default       = black, 
+  squareglasses/.code       = \duck at squareglassestrue 
+                              \def\duck at squareglasses{#1},
+  square glasses/.forward to = /duck/squareglasses,
+  squareglasses/.default    = black,
+  icecream/.code            = \duck at icecreamtrue    
+                              \def\duck at cone{#1},
+  ice cream/.forward to     = /duck/icecream,
+  icecream/.default         = brown!60!gray,
+  flavoura/.code            = \def\duck at flavoura{#1},
+  flavour a/.forward to     = /duck/flavoura,
+  flavoura                  = brown!50!black,
+  flavourb/.code            = \def\duck at flavourb{#1},
+  flavour b/.forward to     = /duck/flavourb,
+  flavourb                  = white!70!brown,
+  flavourc/.code            = \def\duck at flavourc{#1},
+  flavour c/.forward to     = /duck/flavourc,
+  flavourc                  = red!50!white,
+  book/.code                = \duck at booktrue        
+                              \def\duck at book{#1},
+  bookcolour/.code          = \def\duck at bookcolour{#1},
+  book colour/.forward to   = /duck/bookcolour,
+  book color/.forward to    = /duck/bookcolour,
+  bookcolor/.forward to     = /duck/bookcolour,
+  bookcolour                = brown,
+  signpost/.code            = \duck at signposttrue    
+                              \def\duck at signpost{#1},
+  sign post/.forward to     = /duck/signpost,
+  signcolour/.code          = \def\duck at signcolour{#1},
+  sign colour/.forward to   = /duck/signcolour,
+  sign color/.forward to    = /duck/signcolour,
+  signcolor/.forward to     = /duck/signcolour,  
+  signcolour                = brown!50!black,
+  signback/.code            = \def\duck at signback{#1},
+  sign back/.forward to     = /duck/signback,
+  signback                  = green!40!black,
+  magicwand/.code           = \duck at magicwandtrue,
+  magic want/.forward to    = /duck/magicwand,
+  cricket/.code             = \duck at crickettrue     
+                              \def\duck at cricket{#1},
+  cricket/.default          = brown,
+  rollingpin/.code          = \duck at rollingpintrue  
+                              \def\duck at rollingpin{#1},
+  rolling pin/.forward to   = /duck/rollingpin,
+  rollingpin/.default       = brown,
+  lightsaber/.code          = \duck at lightsabertrue  
+                              \def\duck at lightsaber{#1},
+  light saber/.forward to   = /duck/lightsaber,
+  lightsaber/.default       = green,
+  cake/.code                = \duck at caketrue        
+                              \def\duck at cake{#1},
+  cake/.default             = violet,
+  pizza/.code               = \duck at pizzatrue,
+  hockey/.code              = \duck at hockeytrue      
+                              \def\duck at hockey{#1},
+  hockey/.default           = brown,
+  baguette/.code            = \duck at baguettetrue    
+                              \def\duck at baguette{#1},
+  baguette/.default         = brown,
+  football/.code            = \duck at footballtrue    
+                              \def\duck at football{#1},
+  football/.default         = white,
+  mask/.code                = \duck at masktrue        
+                              \def\duck at mask{#1},
+  mask/.default             = black,
+  necklace/.code            = \duck at necklacetrue    
+                              \def\duck at necklace{#1},
+  necklace/.default         = white!80!gray,
+  milkshake/.code           = \duck at milkshaketrue   
+                              \def\duck at milkshake{#1},
+  milkshake/.default        = red!20!white,
+  wine/.code                = \duck at winetrue        
+                              \def\duck at wine{#1},  
+  wine/.default             = red!70!black,
+  prison/.code              = \duck at prisontrue      
+                              \def\duck at prison{#1},
+  prison/.default           = gray,
+  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},
+  bubble colour/.forward to = /duck/bubblecolour,
+  bubble color/.forward to  = /duck/bubblecolour,
+  bubblecolor/.forward to   = /duck/bubblecolour,  
+  bubblecolour              = gray!30!white,
+  torch/.code               = \duck at torchtrue       
+                              \def\duck at torch{#1},
+  torch/.default            = gray,
+  basket/.code              = \duck at baskettrue      
+                              \def\duck at basket{#1},
+  basket/.default           = brown!70!gray,
+  easter/.code              = \duck at eastertrue
+                              \duck at baskettrue      
+                              \def\duck at basket{#1},
+  easter/.default           = brown!70!gray,                       
+  egga/.code                = \def\duck at egga{#1},
+  egg a/.forward to         = /duck/egga,
+  egga                      = blue,
+  eggb/.code                = \def\duck at eggb{#1},
+  egg b/.forward to         = /duck/eggb,
+  eggb                      = green,
+  eggc/.code                = \def\duck at eggc{#1},
+  egg c/.forward to         = /duck/eggc,
+  eggc                      = red,
+  buttons/.code             = \duck at buttonstrue     
+                              \def\duck at buttons{#1},
+  buttons/.default          = black,
+  sheep/.code               = \duck at sheeptrue       
+                              \def\duck at sheep{#1},
+  sheep/.default            = \duck at body,
+  horsetail/.code           = \duck at horsetailtrue   
+                              \def\duck at horsetail{#1},
+  horsetail/.default        = brown,
+  crozier/.code             = \duck at croziertrue     
+                              \def\duck at crozier{#1},
+  crozier/.default          = brown,
+  davidlikespineapplepizza/.code = \duck at davidlikespineapplepizzatrue
+                              \duck at speechtrue 
+  \def\duck at speech{\scalebox{\scalingfactor}{\scalebox{0.9}{\tiny ih, che schifo!}}},
+  david likes pineapple pizza/.forward to = /duck/davidlikespineapplepizza,
+  wing/.code                = \duck at wingtrue      
+                              \def\duck at wing{#1},
+  wing/.default             = yellow!50!brown,
+  stethoscope/.code         = \duck at stethoscopetrue 
+                              \def\duck at stethoscope{#1},
+  stethoscope/.default      = gray,
+  neckerchief/.code         = \duck at neckerchieftrue 
+                              \def\duck at neckerchief{#1},
+  neckerchief/.default      = brown,
+  woggle/.code              = \def\duck at woggle{#1},
+  woggle                    = brown!50!black,
+  snowduck/.code            = \duck at snowducktrue 
+                              \def\duck at snowduck{#1}
+                              \def\duck at eye{#1}
+                              \def\duck at body{#1}
+                              \duck at tophattrue
+                              \def\duck at tophat{black}
+                              \duck at buttonstrue  
+                              \def\duck at buttons{black},
+  snow duck/.forward to     = /duck/snowduck,
+  snowduck/.default         = gray!15!white,
+  vampire/.code             = \duck at vampiretrue  
+                              \def\duck at vampire{#1},
+  vampire/.default          = white!85!yellow,
+  crystalball/.code         = \duck at crystalballtrue 
+                              \def\duck at crystalball{#1},
+  crystal ball/.forward to  = /duck/crystalball,
+  crystalball/.default      = cyan,
+  cheese/.code              = \duck at cheesetrue
+                              \def\duck at cheese{#1},
+  cheese/.default           = orange,  
+  shovel/.code              = \duck at shoveltrue
+                              \def\duck at shovel{#1},
+  shovel/.default           = gray,    
+  pickaxe/.code             = \duck at pickaxetrue
+                              \def\duck at pickaxe{#1},
+  pickaxe/.default          = gray,  
+  umbrella/.code            = \duck at umbrellatrue
+                              \def\duck at umbrella{#1},
+  umbrella/.default         = cyan,      
+  umbrellaclosed/.code      = \duck at umbrellaclosedtrue
+                              \def\duck at umbrellaclosed{#1},
+  umbrellaclosed/.default   = cyan,    
+  umbrella closed/.forward to  = /duck/umbrellaclosed,
+  handbag/.code             = \duck at handbagtrue
+                              \def\duck at handbag{#1},
+  handbag/.default          = red!70!black,  
+  cocktail/.code             = \duck at cocktailtrue,
+  overleaf/.code            = \duck at overleaftrue 
+                              \def\duck at body{duck at overleafcol}
+                              \duck at graduatetrue
+                              \def\duck at graduate{black}
+                              \duck at squareglassestrue
+                              \def\duck at squareglasses{black}
+}
+
+\def\duck at draw{
+%\scope
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% minimal bounding box size
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at invisible
+\else
+  \path (0.1,0.1) rectangle (2.1,2.12);
+\fi
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 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);
+  \coordinate (\duck at name-tail) at (1.82,1.41);
+\fi
+\coordinate (wing) at (0.8,0.7);
+\coordinate (head) at (0.9,2);
+\coordinate (bill) at (0.5,1.3);
+\coordinate (tail) at (1.82,1.41);
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% store the current scale factor
+% from https://github.com/samcarter/tikzlings/issues/3#issuecomment-461373494
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfgettransformentries{\tmpscaleA}{\tmpscaleB}{\tmpscaleC}{\tmpscaleD}{\tmp}{\tmp}%
+\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf at xx/1cm)*(\pgf at yy/1cm)-(\pgf at xy/1cm)*(\pgf at yx/1cm)))}%
+\pgfmathsetmacro{\xscalefactor}{\tmpscaleA}
+\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Environment
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname duckhookbackground\endcsname
+%
+% water %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at water
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse[x radius=0.88, y radius=0.35] (1.00,0.40) ellipse[x radius=0.75, y radius=0.25];
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse[x radius=1.05, y radius=0.50] (1.00,0.40) ellipse[x radius=0.95, y radius=0.42];
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse[x radius=1.23, y radius=0.63] (1.00,0.40) ellipse[x radius=1.17, y radius=0.57];
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse[x radius=1.42, y radius=0.77] (1.00,0.40) ellipse[x radius=1.38, y radius=0.73];    
+\fi
+%
+% sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sheep
+  \fill[\duck at sheep]  (0.65,1.95) circle[radius=0.15] (0.50,1.75) circle[radius=0.15] (0.46,1.51) circle[radius=0.15] (0.37,1.00) circle[radius=0.15] (0.23,0.80) circle[radius=0.15] (0.20,0.60) circle[radius=0.15] (0.25,0.45) circle[radius=0.15] (0.35,0.30) circle[radius=0.15] (0.55,0.25) circle[radius=0.15] (0.75,0.20) circle[radius=0.15] (0.95,0.16) circle[radius=0.15] (1.15,0.20) circle[radius=0.15] (1.35,0.23) circle[radius=0.15] (1.55,0.30) circle[radius=0.15] (1.75,0.38) circle[radius=0.15] (1.95,0.50) circle[radius=0.15] (2.05,0.65) circle[radius=0.15] (2.10,0.85) circle[radius=0.15] (2.05,1.00) circle[radius=0.15] (2.00,1.15) circle[radius=0.15] (1.85,1.35) circle[radius=0.15] (1.60,1.25) circle[radius=0.15] (1.35,1.25) circle[radius=0.15] (1.30,1.50) circle[radius=0.15] (1.30,1.70) circle[radius=0.15] (1.20,1.90) circle[radius=0.15] (0.85,2.05) circle[radius=0.15] (1.05,2.00) circle[radius=0.15];
+\fi
+%
+% devil (back horn) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at devil
+  \fill[\duck at devil] (0.7723,2.3756) .. controls (0.6369,2.1184) and (0.7916,2.0228) .. (0.8360,1.9897) .. controls (0.8744,1.9675) and (0.8774,1.9511) .. (0.8853,1.9173) .. controls (0.8853,1.8595) and (0.8407,1.8127) .. (0.7856,1.8127) .. controls (0.7535,1.8178) and (0.7240,1.8231) .. (0.6965,1.8545) .. controls (0.6965,1.8545) and (0.4451,2.2259) .. (0.7723,2.3756) -- cycle;
+\fi
+% Conical Hat (background) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at conicalhat
+  \fill[\duck at conicalhat!50!black,rotate=-21] (0.265,1.915) ellipse[x radius=0.79, y radius=0.1]; 
+  \fill[\duck at conicalhat!30!black] (0.5501,0.9739) -- (0.2002,1.9676) -- (0.2946,2.0008) -- (0.6445,1.0072) -- cycle;
+\fi
+% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% body parts
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at invisible
+\else
+%
+% body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fill[\duck at body,overlay] \duckpathbody;
+%
+% head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifdefined\duck at head\else\let\duck at head=\duck at body\fi
+\fill[\duck at head] 
+  (0.90,1.50) ellipse[x radius=0.50, y radius=0.625];
+%
+% bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at grumpy
+   \fill[\duck at bill] \duckpathgrumpybill;
+\else
+  \ifduck at laughing
+    \fill[\duck at bill!80!black,overlay] (0.40,1.20) .. controls (0.54,1.36) and (0.65,1.31) .. (0.91,1.37) .. controls (0.45,1.06) and (0.36,1.18) .. (0.40,1.20) -- cycle;
+    \fill[\duck at bill,overlay] (0.41,1.47) .. controls (0.64,1.53) and (0.54,1.30) .. (0.91,1.37) .. controls (-0.02,1.10) and (0.28,1.37) .. (0.41,1.47) -- cycle;
+  \else
+    \ifduck at parrot
+      \fill[\duck at bill!80!black] 
+      (0.40,1.45) .. controls (0.51,1.48) and (0.54,1.44) .. (0.59,1.39) .. controls (0.63,1.34) and (0.69,1.34) .. (0.86,1.35) .. controls (0.43,1.15) and (0.37,1.13) .. (0.34,1.20) .. controls (0.52,1.27) and (0.34,1.40) .. (0.40,1.45) -- cycle;
+      \fill[\duck at bill] 
+      (0.39,1.49) .. controls (0.50,1.52) and (0.54,1.44) .. (0.59,1.39) .. controls (0.63,1.34) and (0.68,1.34) .. (0.86,1.35) .. controls (0.43,1.15) and (0.54,1.40) .. (0.22,1.20) .. controls (0.24,1.52) and (0.39,1.49) .. (0.39,1.49) -- cycle;
+    \else
+      \fill[\duck at bill] \duckpathbill;
+    \fi
+  \fi
+\fi
+%
+% Superhero mask %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% has to be behind the eyes
+\ifduck at mask
+  \scope
+    \clip (0.90,1.50) ellipse[x radius=0.50, y radius=0.625];
+    \fill[\duck at mask,rotate=-15] (-0.1,1.59) rectangle (1.3,1.88);
+  \endscope
+\fi%
+%
+% right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fill[\duck at eye, rotate=-20] 
+  (0.23,1.7675) ellipse[x radius=0.0893, y radius=0.125];
+\fill[\duck at pupil, rotate=-20] 
+  (0.26,1.7575) ellipse[x radius=0.0357, y radius=0.0714];
+%
+% left eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fill[\duck at eye, rotate=-20] 
+  (-0.06,1.74) ellipse[x radius=0.0786, y radius=0.1143];
+\fill[\duck at pupil, rotate=-20] 
+  (-0.03,1.73) ellipse[x radius=0.0286, y radius=0.0643];
+%
+\fi % from no duck
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname duckhookbody\endcsname
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% clothing
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 
+% Strap of the conical hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at conicalhat
+  \ifduck at clothing
+    \fill[\duck at conicalhat!30!black] (1.5943,1.5059) .. controls (1.4384,1.3576) and (1.2780,1.2120) .. (1.0987,1.0923) -- (1.0617,0.9549) .. controls (1.2151,1.0361) and (1.3476,1.1504) .. (1.4785,1.2630) .. controls (1.5417,1.3187) and (1.6038,1.3757) .. (1.6644,1.4344) -- cycle;
+  \else
+    \fill[\duck at conicalhat!30!black] (1.5943,1.5059) .. controls (1.4384,1.3576) and (1.2780,1.2120) .. (1.0987,1.0923) .. controls (0.9540,0.9995) and (0.7864,0.9875) .. (0.6358,1.0398) .. controls (0.6727,0.9043) and (0.9752,0.9113) .. (1.0617,0.9549) .. controls (1.2151,1.0361) and (1.3476,1.1504) .. (1.4785,1.2630) .. controls (1.5417,1.3187) and (1.6038,1.3757) .. (1.6644,1.4344) -- cycle;
+  \fi
+\fi
+%
+% tshirt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at tshirt
+  \fill[\duck at tshirt,overlay] \duckpathtshirt;
+\fi
+%
+% tie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at tie
+  \fill[\duck at tie,rotate=-12] (0.32,0.7) rectangle (0.43,1.15);
+\fi
+%
+% jacket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at jacket
+  \fill[\duck at jacket,overlay] \duckpathjacket;
+\fi
+%
+% Áo dài %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at aodai
+  \fill[\duck at aodai,overlay] (1.819,1.419) .. controls (2.871,0.120) and (0.711,-0.145) .. (0.296,0.251) .. controls (-0.118,0.647) and (0.232,1.073) .. (0.440,1.128) -- (0.567,0.927) .. controls (0.567,0.927) and (0.543,0.906) .. (0.509,0.882) -- (0.481,0.929) -- (0.458,0.915) -- (0.487,0.868) .. controls (0.473,0.859) and (0.457,0.850) .. (0.441,0.842) -- (0.422,0.894) -- (0.397,0.885) -- (0.417,0.831) .. controls (0.404,0.826) and (0.391,0.821) .. (0.378,0.818) -- (0.364,0.869) -- (0.338,0.862) -- (0.351,0.815) .. controls (0.334,0.814) and (0.318,0.817) .. (0.304,0.825) .. controls (0.303,0.774) and (0.329,0.759) .. (0.365,0.763) -- (0.376,0.722) -- (0.402,0.729) -- (0.391,0.768) .. controls (0.405,0.772) and (0.420,0.778) .. (0.435,0.784) -- (0.447,0.750) -- (0.472,0.759) -- (0.459,0.796) .. controls (0.477,0.805) and (0.496,0.815) .. (0.512,0.825) -- (0.533,0.791) -- (0.556,0.805) -- (0.535,0.840) .. controls (0.567,0.860) and (0.590,0.877) .. (0.590,0.877) .. controls (1.011,1.168) and (0.887,0.936) .. (1.819,1.419) -- cycle;
+\fi
+%
+% lapel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at lapel
+  \fill[\duck at lapel] (0.490,1.145) .. controls (0.3984,1.13) and (0.3515,1.08) .. (0.3515,1.08) -- (0.4265,1.0192) -- (0.35,0.98) -- (0.513,0.700) -- (1.0089,0.9162) -- (0.9547,0.9868) -- (1.1194,0.9782) -- (1.0822,1.135) .. controls (0.9616,1.1) and (0.8648,1.0300) .. (0.513,0.700) -- cycle;
+\fi
+%
+% stripes for football jersey %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at stripes
+  \duck at stripes
+\fi
+%
+% superhero cape %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at cape
+  \fill[\duck at cape,overlay] \duckpathcape;
+\fi
+%
+% bowtie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at bowtie
+  \fill[\duck at bowtie] (0.4382, 1.1105) .. controls (0.3984, 1.0671) and (0.3911, 0.9535) .. (0.4116, 0.9176) .. controls (0.4958, 0.9064) and (0.565, 0.9487) .. (0.565, 0.9487) -- (0.6448, 0.9398) .. controls (0.6448, 0.9398) and (0.6777, 0.8844) .. (0.804, 0.8689) .. controls (0.8323, 0.9056) and (0.8422, 1.0026) .. (0.8284, 1.0551) .. controls (0.7881, 1.0942) and (0.6537, 1.0285) .. (0.6537, 1.0285) -- (0.5739, 1.0374) .. controls (0.5739, 1.0374) and (0.5436, 1.0956) .. (0.4382, 1.1105) -- cycle;
+\fi
+%
+% necklace (not really clothing, but needs to be below the hair) %%%%%
+\ifduck at necklace
+  \fill[\duck at necklace] (0.5000,1.112) circle[radius=0.032] (0.5100,1.050) circle[radius=0.032] (0.5200,0.990) circle[radius=0.032] (0.5400,0.931) circle[radius=0.032] (0.5825,0.885) circle[radius=0.032] (0.6450,0.885) circle[radius=0.032] (0.7000,0.910) circle[radius=0.032] (0.7500,0.945) circle[radius=0.032] (0.8000,0.980) circle[radius=0.032] (0.8500,1.020) circle[radius=0.032] (0.9000,1.050) circle[radius=0.032] (0.9500,1.080) circle[radius=0.032] (1.0000,1.110) circle[radius=0.032] (1.0550,1.130) circle[radius=0.032] (1.1100,1.150) circle[radius=0.032] (1.1650,1.165) circle[radius=0.032] (1.2200,1.180) circle[radius=0.032] (1.2750,1.195) circle[radius=0.032] (1.3300,1.210) circle[radius=0.032];
+\fi
+%
+% Scout neckerchief %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at neckerchief
+  \fill[\duck at neckerchief] 
+  (0.3650,1.0892) .. controls (0.4127,1.1589) and (0.4900,1.1450) .. (0.4900,1.1450) .. controls (0.6500,0.9300) and (1.1366,1.2400) .. (1.3675,1.2649) .. controls (1.4131,1.2533) and (1.4052,1.2446) .. (1.4099,1.2124) .. controls (1.3028,1.0810) and (0.7415,0.8930) .. (0.6807,0.9076) .. controls (0.8257,0.7387) and (0.6347,0.7168) .. (0.7151,0.4426) .. controls (0.6059,0.5672) and (0.5513,0.6588) .. (0.5938,0.8388) .. controls (0.5871,0.6953) and (0.4493,0.7565) .. (0.4716,0.4967) .. controls (0.3682,0.6697) and (0.3820,0.7984) .. (0.5321,0.9351) .. controls (0.4635,0.9699) and (0.4115,1.0215) .. (0.3650,1.0892) -- cycle;
+  \fill[\duck at woggle, rounded corners=\scalingfactor*1, rotate=-10] (0.33,1.05) rectangle (0.55,0.98);
+\fi
+%
+% buttons (same argument as for the necklace)
+\ifduck at buttons
+  \ifduck at jacket
+    \fill[\duck at buttons] (0.49,0.6) circle[radius=0.05] (0.46,0.45) circle[radius=0.05] (0.45,0.3) circle[radius=0.05];
+  \else
+    \fill[\duck at buttons] (0.53,0.75) circle[radius=0.05] (0.5,0.6) circle[radius=0.05]  (0.47,0.45) circle[radius=0.05];
+  \fi
+\fi
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname duckhookclothing\endcsname
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% hair styles
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% short hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at shorthair
+  \path (0.1,0.1) rectangle (2.1,2.25);
+  \fill[\duck at hair,overlay] \duckpathshorthair;
+\fi
+%
+% long hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at longhair
+  \path (0.1,0.1) rectangle (2.1,2.25);
+  \fill[\duck at hair,overlay] \duckpathlonghair;
+\fi
+%
+% crazy hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at crazyhair
+  \path (0.1,0.1) rectangle (2.1,2.4);
+  \fill[\duck at hair,overlay] \duckpathcrazyhair;
+\fi
+%
+% receding hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at recedinghair
+  \path (0.1,0.1) rectangle (2.1,2.18);
+  \fill[\duck at hair,overlay] \duckpathrecedinghair;
+\fi
+%
+% mohican hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at mohican
+  \path (0.1,0.1) rectangle (2.1,2.24);
+  \fill[\duck at hair,overlay] \duckpathmohican;
+\fi
+%
+% mullet hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at mullet
+  \path (0.1,0.1) rectangle (2.1,2.17);
+  \fill[\duck at hair,overlay] \duckpathmullet;
+\fi
+%
+% middle parting %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at parting
+  \path (0.1,0.1) rectangle (2.1,2.22);
+  \fill[\duck at hair,overlay]   (1.4053,1.5403) .. controls (1.5524,2.2939) and (0.3739,2.5180) .. (0.4084,1.6117) .. controls (0.4248,1.8921) and (0.7860,1.9734) .. (0.7860,1.9734) .. controls (1.1125,1.5754) and (1.3375,1.4715) .. (1.4053,1.5403) -- cycle;
+\fi
+%
+% eye brow %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfkeys{/duck/eyebrow/. at def/.get=\duck at test}
+\ifx\duck at eyebrow\duck at test
+  \ifdefined\duck at hair\let\duck at eyebrow=\duck at hair\fi
+\fi%
+\ifduck at eyebrow
+  \fill[\duck at eyebrow, rounded corners=\scalingfactor*1, rotate=60] (1.92,0.21) rectangle (1.98,-0.01);
+  \fill[\duck at eyebrow, rounded corners=\scalingfactor*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[radius=0.12] (1.2,1.15) circle[radius=0.12] (0.5,1.05) circle[radius=0.1] (0.525,0.90) circle[radius=0.12] (0.525,0.75) circle[radius=0.12] (0.65,0.65) circle[radius=0.14] (0.75,0.75) circle[radius=0.12] (0.85,0.85) circle[radius=0.12] (0.95,0.95) circle[radius=0.12] (1.05,1.05) circle[radius=0.12] (1.15,1.25) circle[radius=0.12] (1,1.20) circle[radius=0.12] (0.85,1.20) circle[radius=0.12] (0.75,1.15) circle[radius=0.12] (0.65,1.10) circle[radius=0.12] (0.58,1.07) circle[radius=0.12] (0.44,1.46) circle[radius=0.06] (0.52,1.45) circle[radius=0.06] (0.6, 1.41) circle[radius=0.06] (0.68,1.36) circle[radius=0.06] (0.76,1.34) circle[radius=0.06] (0.86,1.26) circle[radius=0.12] (0.38,1.44) circle[radius=0.03] (1,1.28) circle[radius=0.12];
+  \fill[\duck at beard] (1.3,1.3) -- (0.5,1.05) -- (0.65,0.65) -- cycle;
+\fi%
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname duckhookhair\endcsname
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Headgear
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 
+% alien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at alien
+  \fill[\duck at alien,rotate=-25] (0.09,2.1) rectangle (0.16,2.6);
+  \fill[\duck at alien,rotate=5] (0.79,1.86) rectangle (0.86,2.25);
+  \fill[\duck at alien] (1.20,2.30) circle[radius=0.07];
+  \fill[\duck at alien] (0.62,2.35) circle[radius=0.07];
+\fi
+%
+% hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at hat
+  \ifdefined\duck at hair % with hair
+    \fill[\duck at hat,rotate=-15] (0.44,2.1) ellipse[x radius=0.7, y radius=0.1];  
+    \fill[\duck at hat,rotate=-15] (0.0,2.1) rectangle (0.88,2.4);
+    \fill[\duck at hat,rotate=-15] (0.44,2.4) ellipse[x radius=0.44, y radius=0.08];
+  \else % without hair
+    \fill[\duck at hat,rotate=-15] (0.44,2.1) ellipse[x radius=0.6, y radius=0.1];  
+    \fill[\duck at hat,rotate=-15] (0.07,2.1) rectangle (0.81,2.4);
+    \fill[\duck at hat,rotate=-15] (0.44,2.4) ellipse[x radius=0.37, y radius=0.08];
+  \fi  
+\fi
+%
+% cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at cap
+  \fill[\duck at cap, start angle=0, end angle=150, radius=0.5] (1.4,1.75) arc;
+  \fill[\duck at cap,rotate=-15] (0.3,2.05) ellipse[x radius=0.6, y radius=0.15];
+\fi  
+%
+% Santa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at santa
+  \fill[\duck at santa] 
+    (0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) ..
+    (1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) .. 
+    (1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) .. 
+    (1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) .. 
+    (0.430,1.803) -- cycle;
+  \fill[white!80!brown] 
+    (0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) .. 
+    (1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) .. 
+    (1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) .. 
+    (0.44,1.733) -- cycle;
+  \fill[white!80!brown] (1.6,1.0) circle[radius=0.17];
+\fi
+%
+% Chef hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at chef
+  \fill[\duck at chef,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.08];  
+  \fill[\duck at chef,rotate=-15] (0.07,2.1) rectangle (0.81,2.55);
+  \fill[\duck at chef] (1.01,2.47) circle[radius=0.17];
+  \fill[\duck at chef] (1.24,2.35) circle[radius=0.15];
+  \fill[\duck at chef] (0.77,2.40) circle[radius=0.12];
+  \fill[\duck at chef] (1.39,2.20) circle[radius=0.12];
+\fi
+%
+% graduate hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at graduate
+  \fill[\duck at graduate,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.1];  
+  \fill[\duck at graduate,rotate=-15] (0.07,2.1) rectangle (0.81,2.3);
+  \fill[\duck at graduate] (0.3,2.25) -- (1.05,2.35) -- (1.7,1.95) -- (0.92,1.85) -- cycle;
+  \fill[\duck at tassel,rounded corners=\scalingfactor*1] (1.12,1.89) -- (1.01,2.1) -- (1.09,2.11) -- (1.2,1.9) -- (1.2,1.3) -- (1.12,1.3) -- cycle;
+  \fill[\duck at tassel] (1.16,1.3) ellipse[x radius=0.06, y radius=0.12];
+\fi
+%
+% beret %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at beret
+  \fill[\duck at beret,rotate=-25] (0.13,2.15) ellipse[x radius=0.5, y radius=0.17];
+  \fill[\duck at beret,rotate=-25] (0.13,2.25) ellipse[x radius=0.55, y radius=0.17];
+  \fill[\duck at beret,rotate=-25] (0.13,2.4) circle[radius=0.08];
+\fi
+%
+% unicorn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at unicorn
+  \fill[\duck at unicorn,rotate=25] (1.48,1.4375)--(1.60,1.9)--(1.72,1.4375);
+  \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[x radius=0.75, y radius=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);
+  \fill[\duck at crown,overlay] \duckpathcrown;
+\fi
+%
+% Queen crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at queencrown
+  \fill[\duck at queencrown] \duckpathqueencrown;
+\fi
+%
+% King crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at kingcrown
+  \fill[\duck at kingcrown] \duckpathkingcrown;
+\fi
+%
+% Bunny ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at bunny
+  \path (0.55,1.9) rectangle (1.2,2.55);
+  \pgfinterruptboundingbox
+  \scope
+    \clip[rotate=-5] (0.68,2.38) ellipse[x radius=0.3, y radius=0.4];
+    \fill[\duck at bunny,rotate=-5] (1.06,2.2) ellipse[x radius=0.3, y radius=0.4] (0.28,2.26) ellipse[x radius=0.3, y radius=0.4];
+  \endscope
+  
+  \scope
+    \clip[rotate=-5] (0.68,2.38) ellipse[x radius=0.25, y radius=0.35];
+    \fill[\duck at inear,rotate=-5] (1.06,2.2) ellipse[x radius=0.25, y radius=0.35] (0.28,2.26) ellipse[x radius=0.25, y radius=0.35];
+  \endscope
+  \endpgfinterruptboundingbox
+\fi
+%
+% peaked cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at peakedcap
+  \fill[\duck at peakedcap,rotate=-15] (0.35,2.05) ellipse[x radius=0.5, y radius=0.15];
+  \fill[\duck at peakedcap,rotate=-25] (0.13,2.15) ellipse[x radius=0.5, y radius=0.17];
+  \fill[\duck at peakedcap,rotate=-35] (-0.25,2.2) ellipse[x radius=0.55, y radius=0.17];
+\fi
+%
+% tophat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at tophat
+  \fill[\duck at tophat,rotate=-15] (0.44,2.1) ellipse[x radius=0.48, y radius=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[x radius=0.37, y radius=0.08];  
+\fi
+%
+% darth vader %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at darthvader
+  \path (0.1,0.1) rectangle (2.1,2.22);
+  \fill[\duck at darthvader,overlay] \duckpathdarthvader;
+\fi
+%
+% Harlequin duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at harlequin
+  \path (0.19,1.85) rectangle (1.85,2.67);
+  \fill[\duck at harlequin,overlay] (0.6006,1.9719) .. controls (0.7432,1.8954) and (0.9320,1.8698) .. (0.9320,1.8698) -- (1.0404,2.3839) .. controls (0.9223,2.8873) and (0.1755,2.5634) .. (0.3019,2.2958) .. controls (0.5807,2.5024) and (0.7251,2.3376) .. (0.6006,1.9719) -- cycle;
+  \fill[\duck at niuqelrah,overlay] (1.2853,1.8902) .. controls (1.1177,1.8507) and (0.9278,1.8703) .. (0.9278,1.8703) -- (1.0404,2.3839) .. controls (1.3637,2.8347) and (1.9373,2.3532) .. (1.7049,2.1284) .. controls (1.5267,2.3895) and (1.3204,2.2666) .. (1.2853,1.8902) -- cycle;
+  \fill[\duck at harlequin] (1.7,2.07) circle[radius=0.1];
+  \fill[\duck at niuqelrah] (0.3,2.23) circle[radius=0.1];
+\fi
+%
+% Straw hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at strawhat
+  \fill[\duck at strawhat,rotate=-15] (0.44,2.0) ellipse[x radius=0.75, y radius=0.1];  
+  \fill[\duck at strawhat,rotate=-15] (0.1,2.05) rectangle (0.78,2.5);
+  \fill[\duck at strawhat,rotate=-15] (0.44,2.5) ellipse[x radius=0.34, y radius=0.08];  
+  \fill[\duck at strawhat,rotate=-15] (-0.3,2.02) -- (1.18,2.02) -- (0.78,2.2) -- (0.1,2.2) -- cycle;
+  \fill[\duck at ribbon,rotate=-15] (0.44,2.2) ellipse[x radius=0.34, y radius=0.08];   
+  \fill[\duck at ribbon,rotate=-15] (0.1,2.2) rectangle (0.78,2.3);
+  \fill[\duck at strawhat,rotate=-15] (0.44,2.3) ellipse[x radius=0.34, y radius=0.08];  
+\fi
+%
+% helmet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at helmet
+  \fill[\duck at helmet] (1.4331,1.5155) .. controls (1.4365,1.7226) and (1.3866,2.0493) .. (1.0429,2.1279) .. controls (0.7050,2.2052) and (0.4794,1.9294) .. (0.4481,1.8183) .. controls (0.6062,1.8381) and (1.1506,1.7480) .. (1.4331,1.5155) -- cycle;
+  \fill[\duck at helmet!70!black] (1.0282,2.1360) .. controls (0.9395,2.1312) and (0.8696,2.0652) .. (0.8152,2.0010) .. controls (0.7824,1.9609) and (0.7546,1.9169) .. (0.7309,1.8709) .. controls (0.6510,1.8859) and (0.5703,1.8971) .. (0.4892,1.9024) .. controls (0.4595,1.8831) and (0.4114,1.7962) .. (0.4743,1.7961) .. controls (0.5446,1.7868) and (0.6149,1.7767) .. (0.6845,1.7629) .. controls (0.6647,1.7052) and (0.6469,1.6454) .. (0.6401,1.5851) -- (0.6583,1.5355) -- (0.7069,1.5673) .. controls (0.7193,1.6285) and (0.7363,1.6889) .. (0.7590,1.7471) .. controls (0.9991,1.6922) and (1.2114,1.6182) .. (1.4111,1.4722) .. controls (1.4369,1.4960) and (1.4536,1.5229) .. (1.4475,1.5553) .. controls (1.4417,1.5927) and (1.4030,1.6066) .. (1.3766,1.6276) .. controls (1.2054,1.7408) and (1.0085,1.8089) .. (0.8095,1.8546) .. controls (0.8733,1.9674) and (0.9684,2.0703) .. (1.0932,2.1138) .. controls (1.0751,2.1288) and (1.0515,2.1362) .. (1.0282,2.1360) -- cycle;
+  \fill[\duck at helmet!50!white] (0.502,1.845) circle[radius=0.015] (0.586,1.835) circle[radius=0.015] (0.684,1.822) circle[radius=0.015] (0.791,1.799) circle[radius=0.015]  (0.899,1.770) circle[radius=0.015] (1.003,1.741) circle[radius=0.015]  (1.099,1.706) circle[radius=0.015] (1.185,1.673) circle[radius=0.015]  (1.276,1.629) circle[radius=0.015] (1.360,1.581) circle[radius=0.015]  (0.676,1.606) circle[radius=0.015] (0.695,1.666) circle[radius=0.015]  (0.714,1.729) circle[radius=0.015] (0.784,1.889) circle[radius=0.015]  (0.835,1.968) circle[radius=0.015] (0.896,2.034) circle[radius=0.015]  (0.957,2.081) circle[radius=0.015] (1.020,2.115) circle[radius=0.015]  (1.422,1.535) circle[radius=0.015] (0.502,1.845) circle[radius=0.015];
+\fi
+%
+% Viking %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at viking
+  \fill[\duck at viking] (1.4331,1.5155) .. controls (1.4365,1.7226) and (1.3866,2.0493) .. (1.0429,2.1279) .. controls (0.7050,2.2052) and (0.4794,1.9294) .. (0.4481,1.8183) .. controls (0.6062,1.8381) and (1.1506,1.7480) .. (1.4331,1.5155) -- cycle;
+  \fill[\duck at viking!70!black] (1.0282,2.1360) .. controls (0.9395,2.1312) and (0.8696,2.0652) .. (0.8152,2.0010) .. controls (0.7824,1.9609) and (0.7546,1.9169) .. (0.7309,1.8709) .. controls (0.6510,1.8859) and (0.5703,1.8971) .. (0.4892,1.9024) .. controls (0.4595,1.8831) and (0.4114,1.7962) .. (0.4743,1.7961) .. controls (0.5446,1.7868) and (0.6149,1.7767) .. (0.6845,1.7629) .. controls (0.6845,1.7629) and (0.6845,1.7629) .. (0.7590,1.7471) .. controls (0.9991,1.6922) and (1.2114,1.6182) .. (1.4111,1.4722) .. controls (1.4369,1.4960) and (1.4536,1.5229) .. (1.4475,1.5553) .. controls (1.4417,1.5927) and (1.4030,1.6066) .. (1.3766,1.6276) .. controls (1.2054,1.7408) and (1.0085,1.8089) .. (0.8095,1.8546) .. controls (0.8733,1.9674) and (0.9684,2.0703) .. (1.0932,2.1138) .. controls (1.0751,2.1288) and (1.0515,2.1362) .. (1.0282,2.1360) -- cycle;
+  \fill[\duck at viking!50!white] (0.502,1.845) circle[radius=0.015]   (0.586,1.835) circle[radius=0.015] (0.684,1.822) circle[radius=0.015]   (0.791,1.799) circle[radius=0.015] (0.899,1.770) circle[radius=0.015]   (1.003,1.741) circle[radius=0.015] (1.099,1.706) circle[radius=0.015]   (1.185,1.673) circle[radius=0.015] (1.276,1.629) circle[radius=0.015]   (1.360,1.581) circle[radius=0.015] (0.784,1.889) circle[radius=0.015]  (0.835,1.968) circle[radius=0.015] (0.896,2.034) circle[radius=0.015]  (0.957,2.081) circle[radius=0.015] (1.020,2.115) circle[radius=0.015]    (1.422,1.535) circle[radius=0.015];
+\fi
+%
+% devil (front horn) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at devil
+  \fill[\duck at devil] (1.2185,2.3521) .. controls (1.3540,2.0950) and (1.1993,1.9994) .. (1.1548,1.9663) .. controls (1.1165,1.9441) and (1.1134,1.9277) .. (1.1056,1.8938) .. controls (1.1056,1.8361) and (1.1502,1.7893) .. (1.2052,1.7893) .. controls (1.2373,1.7944) and (1.2669,1.7996) .. (1.2944,1.8311) .. controls (1.2944,1.8311) and (1.5458,2.2025) .. (1.2185,2.3521) -- cycle;
+\fi
+%
+% Conical Hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at conicalhat
+  \path (0.19,1.4) rectangle (1.68,2.32);
+  \fill[\duck at conicalhat,overlay] (1.6722,1.4137) .. controls (1.6722,1.4337) and (1.3592,1.6230) .. (0.9513,1.7735) .. controls (0.5433,1.9239) and (0.1948,1.9784) .. (0.1948,1.9754) .. controls (0.2049,2.0230) and (1.1428,2.36) .. (1.1428,2.3) .. controls (1.1428,2.35) and (1.6821,1.4784) .. (1.6722,1.4137) -- cycle;
+\fi
+%
+% Sailor hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sailor
+  \fill[\duck at sailor]  (1.0390,2.2743) .. controls (0.9475,2.2748) and (0.8569,2.2355) .. (0.7943,2.1690) .. controls (0.7147,2.1872) and (0.6335,2.2098) .. (0.5512,2.2029) .. controls (0.5524,2.1164) and (0.5536,2.0299) .. (0.5547,1.9434) .. controls (0.6637,1.9348) and (0.7679,1.8974) .. (0.8716,1.8653) .. controls (1.0321,1.8101) and (1.1932,1.7522) .. (1.3420,1.6697) .. controls (1.3671,1.6622) and (1.3911,1.6147) .. (1.4083,1.6518) .. controls (1.4623,1.7160) and (1.5163,1.7802) .. (1.5702,1.8444) .. controls (1.5154,1.8979) and (1.4433,1.9287) .. (1.3757,1.9624) .. controls (1.3666,2.1156) and (1.2403,2.2511) .. (1.0881,2.2707) .. controls (1.0718,2.2731) and (1.0554,2.2743) .. (1.0390,2.2743) -- cycle;
+\fi
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname duckhookhat\endcsname
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 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[radius=0.14];
+  \fill[\duck at sunglasses,rotate=-20] (-0.06,1.74) circle[radius=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[radius=0.14] (0.23,1.7675) circle[radius=0.11];
+  \fill[\duck at glasses,rotate=-20,even odd rule] (-0.06,1.74) circle[radius=0.13] (-0.06,1.74) circle[radius=0.095];    
+\fi
+%
+% square glasses
+\ifduck at squareglasses
+  \fill[\duck at squareglasses,rotate=-17] (0.43,1.8) rectangle (0.8,1.84);
+  \fill[\duck at squareglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
+  \fill[\duck at squareglasses,rotate=-20,rounded corners=\scalingfactor*2,even odd rule] (-0.16,1.62) -- (-0.18,1.85) -- (0.05,1.87) -- (0.04,1.62) -- cycle [rounded corners=\scalingfactor*1.5] (-0.14,1.64) -- (-0.16,1.83) -- (0.03,1.85) -- (0.02,1.64) -- cycle;
+  \fill[\duck at squareglasses,rotate=-20,rounded corners=\scalingfactor*2,even odd rule] (0.12,1.63) -- (0.10,1.88) -- (0.36,1.90) -- (0.35,1.65) -- cycle  [rounded corners=\scalingfactor*1.5] (0.14,1.65) -- (0.12,1.86) -- (0.34,1.88) -- (0.33,1.67) -- cycle;
+\fi
+%
+% icecream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at icecream
+  \fill[\duck at cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20);
+  \fill[\duck at flavoura] (0.85,1.03) circle[radius=0.12];
+  \fill[\duck at flavourb] (1.05,0.95) circle[radius=0.12];
+  \fill[\duck at flavourc] (0.95,1.1) circle[radius=0.12];    
+\fi
+%
+% book %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at book
+  \fill[\duck at bookcolour,rotate=-20] 
+    (0.40,1.20) rectangle (0.80,0.60);
+  \node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (0.88,0.70) {\duck at book};%
+\fi
+%
+% signpost %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at signpost
+  \fill[\duck at signcolour, rounded corners=\scalingfactor*1, rotate=-20] (0.8,0.75) rectangle (0.9,1.75);
+  \fill[\duck at signcolour, rounded corners=\scalingfactor*1, rotate=-20] (0.4,1.7) rectangle (1.3,2.4);
+  \fill[\duck at signback, rounded corners=\scalingfactor*1, rotate=-20] (0.45,1.75) rectangle (1.25,2.35);
+   \node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (1.5,1.65) {\duck at signpost};
+\fi
+%
+% speech bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at speech
+  \fill[\duck at bubblecolour] (-0.5,1.8) ellipse[x radius=0.7, y radius=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[x radius=0.7, y radius=0.35]; 
+  \fill[\duck at bubblecolour] (1.55,2.35) circle[radius=0.25] (2.0,2.15) circle[radius=0.25] (2.4,2.25) circle[radius=0.25] (1.6,2.55) circle[radius=0.25] (2.0,2.6) circle[radius=0.25] (2.35,2.5) circle[radius=0.25] (1.65,1.95) circle[radius=0.1] (1.55,1.80) circle[radius=0.06] (1.47,1.70) circle[radius=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);
+  \fill[white,rotate=-30] (0.27,1.13) rectangle (0.37,1.03);
+\fi
+%
+% cricket bat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at cricket
+  \fill[\duck at cricket, rounded corners=\scalingfactor*2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2);
+  \fill[\duck at cricket, rounded corners=\scalingfactor*1, rotate=-30] (0.5,0.8) rectangle (0.6,1.3);
+\fi
+%
+% rollingpin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at rollingpin
+  \fill[\duck at rollingpin, rounded corners=\scalingfactor*2, rotate=-60] (-0.18,0.85) rectangle (0.08,1.75);
+  \fill[\duck at rollingpin, rounded corners=\scalingfactor*1, rotate=-60] (-0.1,0.65) rectangle (0.0,1.95);
+\fi
+%
+% lightsaber %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at lightsaber
+  \fill[\duck at lightsaber, rounded corners=\scalingfactor*1, rotate=-30] (0.5,0.9) rectangle (0.6,2.5);
+  \fill[gray!80!black, rounded corners=\scalingfactor*1, rotate=-30] (0.47,0.7) rectangle (0.63,1.2);
+\fi
+%
+% cake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at cake
+  \fill[\duck at cake] (1.00,0.50) ellipse[x radius=0.4, y radius=0.2];
+  \fill[\duck at cake] (0.6,0.5) rectangle (1.4,0.7);
+  \fill[\duck at cake] (1.00,0.70) ellipse[x radius=0.4, y radius=0.2];
+  \fill[\duck at cake!50!white] (0.75,0.75) rectangle (0.8,0.95);
+  \fill[\duck at cake!50!white] (1.2,0.75) rectangle (1.25,0.95);
+  \fill[\duck at cake!50!white] (0.975,0.65) rectangle (1.025,0.85);
+  \fill[white!85!yellow] (1.0,0.93) ellipse[x radius=0.03, y radius=0.06];
+  \fill[white!85!yellow] (1.225,1.03) ellipse[x radius=0.03, y radius=0.06];
+  \fill[white!85!yellow] (0.775,1.03) ellipse[x radius=0.03, y radius=0.06];
+\fi
+%
+% pizza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at pizza
+  \fill[brown] (1.00,0.60) ellipse[x radius=0.4, y radius=0.2];
+  \fill[red!70!black] (1.00,0.60) ellipse[x radius=0.34, y radius=0.16];
+  \fill[white!85!yellow] (1.15,0.65) ellipse[x radius=0.065, y radius=0.04];  
+  \fill[white!85!yellow] (0.81,0.57) ellipse[x radius=0.065, y radius=0.04];  
+  \fill[white!85!yellow] (0.95,0.68) ellipse[x radius=0.065, y radius=0.04];  
+  \fill[white!85!yellow] (1.02,0.54) ellipse[x radius=0.065, y radius=0.04];
+  \fill[green!40!brown] (1.09,0.54) ellipse[x radius=0.07, y radius=0.02];
+  \fill[green!40!brown,rotate=20] (1.0,0.34) ellipse[x radius=0.07, y radius=0.02];
+  \fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse[x radius=0.07, y radius=0.02];
+  \fill[green!40!brown] (1.00,0.60) ellipse[x radius=0.03, y radius=0.06];
+\fi
+%
+% no pizza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at davidlikespineapplepizza
+  \fill[brown] (1.00,0.60) ellipse[x radius=0.4, y radius=0.2];
+  \fill[red!70!black] (1.00,0.60) ellipse[x radius=0.34, y radius=0.16];
+  \fill[yellow!70!brown] (1.15,0.65) ellipse[x radius=0.08, y radius=0.06];  
+  \fill[red!70!black] (1.15,0.65) ellipse[x radius=0.04, y radius=0.03]; 
+  \fill[yellow!70!brown] (0.81,0.57) ellipse[x radius=0.08, y radius=0.06];  
+  \fill[red!70!black] (0.81,0.57) ellipse[x radius=0.04, y radius=0.03]; 
+  \fill[yellow!70!brown] (0.95,0.68) ellipse[x radius=0.08, y radius=0.06];  
+  \fill[red!70!black] (0.95,0.68) ellipse[x radius=0.04, y radius=0.03]; 
+  \fill[yellow!70!brown] (1.02,0.54) ellipse[x radius=0.08, y radius=0.06];
+  \fill[red!70!black] (1.02,0.54) ellipse[x radius=0.04, y radius=0.03]; 
+  \fill[green!40!brown] (1.09,0.54) ellipse[x radius=0.07, y radius=0.02];
+  \fill[green!40!brown,rotate=20] (1.0,0.34) ellipse[x radius=0.07, y radius=0.02];
+  \fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse[x radius=0.07, y radius=0.02];
+  \fill[green!40!brown] (1.00,0.60) ellipse[x radius=0.03, y radius=0.06];  
+\fi
+%
+% Hockey stick %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at hockey
+  \fill[\duck at hockey, rounded corners=\scalingfactor*1, rotate=-30] (0.5,0.6) rectangle (0.6,2.1);
+  \fill[\duck at hockey, rounded corners=\scalingfactor*3] (0.2,0.2) rectangle (0.85,0.4);
+\fi
+%
+% baguette %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at baguette
+  \fill[\duck at baguette!70!white, rounded corners=\scalingfactor*4, rotate=-30] (0.4,0.72) rectangle (0.7,2.0);
+  \fill[\duck at baguette!80!black, rotate=5] (1.44,1.1) ellipse[x radius=0.1, y radius=0.03] (1.30,0.9) ellipse[x radius=0.1, y radius=0.03] (1.16,0.7) ellipse[x radius=0.1, y radius=0.03] (1.02,0.5) ellipse[x radius=0.1, y radius=0.03];
+\fi
+%
+% football %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at football
+  \fill[\duck at football] (1.2,0.33) circle[radius=0.32];
+  \scope
+    \clip (1.2,0.33) circle[radius=0.32];
+    \fill[black] (1.06,0.30) -- (1.01,0.17) -- (1.14,0.08) -- (1.26,0.14) -- (1.20,0.28) -- cycle (1.37,0.14) -- (1.46,0.27) -- (1.59,0.27) -- (1.41,0.04) -- cycle (1.28,0.38) -- (1.22,0.52) -- (1.33,0.61) -- (1.45,0.51) -- (1.43,0.37) -- cycle (0.87,0.44) -- (1.02,0.40) -- (1.10,0.53) -- (1.07,0.62) -- (0.94,0.57) -- cycle;
+  \endscope
+\fi
+%
+% milkshake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at milkshake
+  \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse[x radius=0.17, y radius=0.05];
+  \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse[x radius=0.12, y radius=0.03];
+  \scope
+    \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
+    \fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse[x radius=0.18, y radius=0.4];
+    \fill[\duck at milkshake, rotate=-10] (0.8,0.94) ellipse[x radius=0.15, y radius=0.36];
+  \endscope
+  \fill[white!85!yellow] (0.83,0.92) circle[radius=0.05] (0.88,0.9) circle[radius=0.05] (0.93,0.92) circle[radius=0.05] (0.99,0.91) circle[radius=0.05] (1.06,0.86) circle[radius=0.05] (1.13,0.87) circle[radius=0.05] (0.85,0.99) circle[radius=0.05] (0.9,0.98) circle[radius=0.07] (1.0,0.98) circle[radius=0.07] (1.1,0.95) circle[radius=0.07];
+  \fill[red!90!black] (1.0,1.1) circle[radius=0.05];
+  \fill[white!85!yellow] (0.94,1.05) circle[radius=0.05] (1.03,1.03) circle[radius=0.05];
+  \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse[x radius=0.17, y radius=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[x radius=0.17, y radius=0.05];
+  \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse[x radius=0.12, y radius=0.03];
+  \fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse[x radius=0.03, y radius=0.2];
+  \scope
+    \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
+    \fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse[x radius=0.18, y radius=0.4];
+  \endscope
+  \scope
+    \clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87); 
+    \fill[\duck at wine, rotate=-10] (0.8,1.1) ellipse[x radius=0.15, y radius=0.36];
+  \endscope
+\fi
+%
+% prison duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at prison
+  \fill[\duck at prison] (1.5,0.25) circle[radius=0.3];
+  \fill[\duck at prison, even odd rule] (1.2,0.1) ellipse[x radius=0.10, y radius=0.07] (1.2,0.1) ellipse[x radius=0.06, y radius=0.04] (1.05,-0.05) ellipse[x radius=0.10, y radius=0.07] (1.05,-0.05) ellipse[x radius=0.06, y radius=0.04] (0.87,-0.2) ellipse[x radius=0.10, y radius=0.07] (0.87,-0.2) ellipse[x radius=0.06, y radius=0.04];
+  \fill[\duck at prison, even odd rule] (0.72,-0.2) ellipse[x radius=0.10, y radius=0.07] (0.72,-0.2) ellipse[x radius=0.06, y radius=0.04];  
+  \fill[\duck at prison,even odd rule,rotate=70] (0.4,-1.05) ellipse[x radius=0.1, y radius=0.07] (0.4,-1.05) ellipse[x radius=0.06, y radius=0.04] (0.2,-0.95) ellipse[x radius=0.1, y radius=0.07] (0.2,-0.95) ellipse[x radius=0.06, y radius=0.04] (0.22,-0.58) ellipse[x radius=0.1, y radius=0.07] (0.22,-0.58) ellipse[x radius=0.06, y radius=0.04];
+  \fill[\duck at prison,even odd rule,rotate=110](-0.33,-0.55) ellipse[x radius=0.1, y radius=0.07] (-0.33,-0.55) ellipse[x radius=0.06, y radius=0.04];  
+  \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[x radius=0.1, y radius=0.07] (-0.07,-0.6) ellipse[x radius=0.06, y radius=0.04];  
+  \endscope
+\fi
+%
+% torch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at torch
+  \fill[red!50!yellow] \duckpathtorch;
+  \fill[red!25!yellow, scale=0.67, xshift=17, yshift=15] \duckpathtorch;
+  \fill[white!50!yellow, scale=0.4, xshift=53.5, yshift=45.3] \duckpathtorch;
+  \fill[\duck at torch,rounded corners=\scalingfactor*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[x radius=0.2, y radius=0.08];
+\fi%
+% 
+% sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sheep
+  \scope
+    \clip[rotate=-5] (1.2,1.7) ellipse[x radius=0.3, y radius=0.4];
+    \fill[\duck at bill,rotate=-5] (0.8,1.5) ellipse[x radius=0.3, y radius=0.4];
+  \endscope
+\fi
+%
+% basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at basket
+  \fill[\duck at basket, start angle=180, end angle=360, x radius=0.35, y radius=0.35] (0.65,0.61) arc  -- cycle;
+  \fill[\duck at basket, start angle=180, end angle=0, even odd rule] [x radius=0.35, y radius=0.5] (0.65,0.6) arc  -- cycle [x radius=0.3, y radius=0.45] (0.7,0.6) arc  -- cycle;
+  \fill[\duck at basket, even odd rule] (1,0.6) ellipse[x radius=0.35, y radius=0.1] (1,0.6) ellipse[x radius=0.3, y radius=0.07];  
+  \fill[\duck at basket!75!black] (1,0.6) ellipse[x radius=0.3, y radius=0.07];  
+\fi%  
+%
+% easter basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at easter
+  \scope
+    \clip [start angle=180, end angle=0, x radius=0.3, y radius=0.45] (0.7,0.6) arc  -- cycle [start angle=180, end angle=360, x radius=0.3, y radius=0.07] (0.7,0.6) arc  -- cycle;  
+    \fill[\duck at eggb, rotate=-5]  (0.95,0.72) ellipse[x radius=0.09, y radius=0.13];
+    \fill[\duck at egga, rotate=10]  (0.94,0.42) ellipse[x radius=0.09, y radius=0.13];
+    \fill[\duck at eggc, rotate=-30] (0.7,1.08) ellipse[x radius=0.09, y radius=0.13];
+  \endscope  
+\fi%
+%
+% horse tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfkeys{/duck/horsetail/. at def/.get=\duck at test}
+\ifx\duck at horsetail\duck at test
+  \ifdefined\duck at hair\let\duck at horsetail=\duck at hair\fi
+\fi%
+\ifduck at horsetail
+  \path (0.1,0.1) rectangle (2.82,2.14);
+  \fill[\duck at horsetail,overlay] \duckpathhorsetail;
+\fi  
+%
+% crozier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at crozier
+  \scope
+    \clip [rotate=-20] (0.6,2.3) rectangle (1.1,1.999);
+    \fill[even odd rule,\duck at crozier] (1.5,1.6) circle[radius=0.2] (1.5,1.6) circle[radius=0.1];
+  \endscope
+  \fill[\duck at crozier,rotate=-20] (0.663,0.5) rectangle (0.763,2.0);  
+\fi
+%
+% stethoscope %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at stethoscope
+  \fill[\duck at stethoscope,rounded corners=\scalingfactor*0.5,rotate=-18] (0.08,0.7) rectangle (0.13,1.24);
+  \fill[\duck at stethoscope] (0.35,0.7) circle[radius=0.1]; 
+  \scope
+    \fill[\duck at stethoscope,rounded corners=\scalingfactor*0.5,rotate=-30] (0.53,1.3) rectangle (0.58,1.72);
+    \clip[rotate=-30] (0.36,0.89) -- (0.36,1.36) -- (0.79,1.36) -- (0.79,0.89) -- (0.65,0.89) -- (0.65,0.96) -- (0.5,0.96) -- (0.5,0.89) -- cycle ;
+    \fill [\duck at stethoscope,rounded corners=\scalingfactor*3,rotate=-30,even odd rule] (0.775,1.35) rectangle (0.375,0.9) [rounded corners=\scalingfactor*2] (0.725,1.3) rectangle (0.425,0.95);
+  \endscope
+\fi
+%
+% snow duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at snowduck
+  \fill[black, rotate=-25] (0.65,0.65) rectangle (0.7,1.8);
+  \fill[black, rotate=35] (1.55,0.15) rectangle (1.6,0.5);
+  \fill[black, rotate=-35] (0.4,1.7) rectangle (0.45,2.0);
+  \fill[black, rotate=-60] (-0.3,2.0) rectangle (-0.35,1.65);
+\fi
+%
+% vampire %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at vampire
+  \ifduck at laughing
+    \fill[\duck at vampire] (0.55,1.28) -- (0.575,1.22) -- (0.6,1.29) -- cycle;
+  \else
+    \fill[\duck at vampire] (0.6,1.20) -- (0.625,1.16) -- (0.65,1.223) -- cycle;
+  \fi
+\fi
+%
+% crystal ball %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at crystalball
+  \shade[ball color=\duck at crystalball,opacity=0.7] (0.93,0.5) circle[radius=0.33];
+\fi
+%
+% Cheese %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at cheese
+  \scope[xshift=26,yshift=-2]
+    \fill[\duck at cheese] (-0.3200,0.8058) -- (0.0608,0.7220) -- (0.0608,0.6366) -- (-0.3200,0.5410) -- (0.2143,0.4236) .. controls (0.3395,0.4810) and (0.4241,0.5627) .. (0.4117,0.6253) -- (0.4117,0.7634) .. controls (0.4261,0.8618) and (0.2607,0.8954) .. (0.1907,0.8962) -- cycle;
+    \fill[\duck at cheese!35!white] (-0.3200,0.8057) -- (-0.3200,0.5410) -- (0.2143,0.4236) -- (0.2143,0.7381) -- cycle;
+    \fill[\duck at cheese] (-0.23,0.71) circle[radius=0.04] (0.0,0.55) circle[radius=0.04] (-0.23,0.58) circle[radius=0.02] (-0.15,0.6) circle[radius=0.02] (-0.1,0.7) circle[radius=0.02] (0.1,0.65) circle[radius=0.02] (0,0.65) circle[radius=0.02] (0.1,0.5) circle[radius=0.02] (0.07,0.55) circle[radius=0.01] (0.12,0.6) circle[radius=0.01] (-0.08,0.54) circle[radius=0.01];
+  \endscope
+\fi
+%
+% shovel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at shovel
+  \fill[brown!80!black,rotate around={-23:(0.91, 0.88)}] (0.87, 0.28) rectangle ++(0.1,1.4);
+  \fill[\duck at shovel]  (0.6133, 0.9536) .. controls (0.8388, 0.8117) and (0.9253, 0.7517) .. (1.1962, 0.6696) -- (0.8332, 0.1263) .. controls (0.6458, 0.11) and (0.5417, 0.1644) .. (0.4517, 0.3034) -- cycle;
+\fi
+%
+% pickaxe %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at pickaxe
+  \fill[brown!80!black,rotate around={-23:(0.91, 0.88)}] (0.87, 0.28) rectangle ++(0.1,1.4);
+  \fill[\duck at pickaxe]  (-0.0085, 0.6858) .. controls (0.6422, 0.3523) and (0.7609, 0.3068) .. (1.4114, 0.1108) .. controls (0.6589, 0.1246) and (0.5556, 0.1887) .. (-0.0085, 0.6858) -- cycle;
+\fi
+%
+% umbrella %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at umbrella
+  \path (0.2,0.4) rectangle (2.22,2.7);
+  \fill[gray,overlay] (0.6922,0.5942) -- (0.7426,0.6103) .. controls (0.8276,0.3884) and (0.8855,0.4523) .. (0.9333,0.6543) -- (0.9334,0.6545) -- (0.9335,0.6547) .. controls (1.0347,1.0671) and (1.2906,1.9565) .. (1.2906,1.9565) -- (1.3415,1.9419) .. controls (1.3415,1.9419) and (1.0855,1.0519) .. (0.9849,0.6423) -- (0.9848,0.6420) .. controls (0.9240,0.3633) and (0.7874,0.3312) .. (0.6922,0.5942) -- cycle;
+  \fill[\duck at umbrella,overlay] (0.2185,1.9927) .. controls (0.3559,2.1962) and (0.6837,2.0720) .. (0.6761,1.8240) .. controls (0.8398,2.0111) and (1.1891,1.9216) .. (1.1685,1.6915) .. controls (1.3000,1.8765) and (1.6639,1.7626) .. (1.6607,1.5356) .. controls (1.7865,1.7271) and (2.1350,1.6950) .. (2.1626,1.4589) .. controls (2.4996,2.5771) and (0.5644,3.2631) .. (0.2185,1.9927) -- cycle;
+\fi
+%
+% closed umbrella %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at umbrellaclosed
+  \fill[gray] (1.3401,0.6996) -- (1.2872,0.7019) .. controls (1.2840,0.9395) and (1.2076,0.8995) .. (1.0930,0.7264) -- (1.0929,0.7262) -- (1.0928,0.7261) .. controls (0.8555,0.3739) and (0.9223,0.4608) .. (0.9223,0.4608) -- (0.8795,0.4920) .. controls (0.8795,0.4920) and (0.8131,0.4057) .. (1.0488,0.7554) -- (1.0489,0.7556) .. controls (1.2022,0.9963) and (1.3414,0.9793) .. (1.3401,0.6996) -- cycle;
+  \fill[\duck at umbrellaclosed] (0.6827,0.1263) -- (0.8038,0.6188) -- (0.9548,0.6494) -- (0.9520,0.8231) -- (1.1945,0.6529) -- (1.0218,0.5885) -- (1.0465,0.4566) -- cycle;
+\fi
+%
+% handbag %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at handbag
+  \fill[\duck at handbag] (0.7811,0.1751) -- (1.4913,0.3097) -- (1.3315,0.7086) -- (0.7832,0.6152) -- cycle;
+  \fill[\duck at handbag!70!black] (0.8857,0.4354) .. controls (0.7861,0.9811) and (1.1796,1.0719) .. (1.2866,0.5155) -- (1.2043,0.4996) .. controls (1.1247,0.8952) and (0.9051,0.8883) .. (0.9676,0.4536) -- cycle;
+\fi
+%
+% cocktail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at cocktail
+  \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse[x radius=0.17, y radius=0.05];
+  \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse[x radius=0.12, y radius=0.03];
+  \fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse[x radius=0.03, y radius=0.2];
+  \fill[cyan!10!white] (0.92,0.6) -- (0.75,0.9) -- (1.18,0.83) -- cycle;
+  \fill[gray!60!white] (0.928,0.64) -- (0.85,0.77) -- (1.08,0.77) -- cycle;
+  \fill[green!40!brown!60!white] (0.94,0.71) circle[radius=0.04];
+  \fill[red!80!black] (0.94,0.72) circle[radius=0.01];
+\fi
+%
+% overleaf duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at overleaf
+  \fill[white] \duckpathoverleaf;
+\fi
+%
+% wing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at wing
+  \fill[\duck at wing] \duckpathwing;
+\fi
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname duckhookforeground\endcsname
+%
+%\draw (current bounding box.north west) rectangle (current bounding box.south east);% For debugging bounding boxes
+%
+%\endscope
+}% from `\def\duck at draw{` at the very beginning 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Random ducks
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pgfmathdeclarerandomlist{head}{{shorthair}{longhair}{crazyhair}{mohican}{mullet}{beard}{alien}{hat}{cap}{santa}{chef}{graduate}{beret}{magichat}{witch}{crown}{bunny}{peakedcap}{tophat}{queencrown}{kingcrown}{harlequin}{strawhat}{parting}}
+\pgfmathdeclarerandomlist{accessories}{{glasses}{sunglasses}{icecream}{book}{signpost}{magicwand}{cricket}{rollingpin}{lightsaber}{cake}{pizza}{hockey}{baguette}{football}{mask}{necklace}{milkshake}{wine}{prison}{cape}{torch}{crozier}{easter}{stethoscope}{neckerchief}{cheese}{shovel}{pickaxe}{crystalball}}
+
+\def\shuffleducks{%
+ \pgfmathrandomitem{\head}{head}%
+ \edef\randomhead{\head}%
+ \pgfmathrandomitem{\accessories}{accessories}%
+ \edef\randomaccessories{\accessories}%
+}
+
+\def\randuck{%
+  \shuffleducks%
+  \duck[\randomhead, \randomaccessories]%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Defining some of the more complicate paths for easy reuse
+%
+% naming scheme is \duckpath<name>
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\duckpathbody{%
+  (0.513,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. 
+  (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) ..
+  (1.818,1.419) .. controls (0.938, 0.946) and ( 1.240,1.379) ..
+  (0.513,1.145) -- cycle
+}
+
+\def\duckpathgrumpybill{%
+  (0.406,1.472) .. controls (0.643,1.530) and (0.643,1.530) ..
+   (0.800,1.300) .. controls (0.083,0.850) and (0.269,1.369) .. 
+   (0.406,1.472) -- cycle
+}
+
+\def\duckpathbill{%
+  (0.406,1.472) .. controls (0.643,1.530) and (0.541,1.303) ..
+  (0.910,1.370) .. controls (0.083,0.850) and (0.269,1.369) ..
+  (0.406,1.472) -- cycle
+}
+
+\def\duckpathwing{%
+  (1.47,0.56) .. controls (1.51,0.59) and (1.57,0.62) .. 
+  (1.60,0.66) .. controls (1.61,0.70) and (1.51,0.69) .. 
+  (1.47,0.69) .. controls (1.48,0.72) and (1.41,0.76) .. 
+  (1.37,0.74) .. controls (1.35,0.79) and (1.33,0.81) .. 
+  (1.25,0.80) .. controls (1.25,0.86) and (1.18,0.88) .. 
+  (1.15,0.88) .. controls (1.20,1.01) and (0.40,0.79) .. 
+  (0.52,0.57) .. controls (0.63,0.26) and (1.22,0.43) .. 
+  (1.47,0.56) -- cycle
+}
+
+% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\duckpathtshirt{%
+  (0.490,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. 
+  (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. 
+  (1.818,1.419) .. controls (0.938, 0.976) and ( 1.240,1.279) ..
+  (0.590,1.000) -- cycle
+}
+
+\def\duckpathjacket{%
+  (0.490,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. 
+  (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. 
+  (1.818,1.419) .. controls (0.880, 0.946) and ( 1.240,1.378) .. 
+  (0.513,0.700) -- cycle
+}
+
+% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\duckpathshorthair{%
+  (1.3947,1.4175) .. controls (1.4546,1.4518) and (1.4699,1.6566) .. 
+  (1.4343,1.7992) .. controls (1.2528,2.5033) and (0.2339,2.2710) .. 
+  (0.4151,1.5907) .. controls (0.4345,1.8709) and (0.7421,2.0999) .. 
+  (0.9494,1.9054) .. controls (1.2241,1.6476) and (1.3316,1.3814) .. 
+  (1.3947,1.4175) -- cycle
+}
+
+\def\duckpathlonghair{%
+  (1.4508,0.7565) .. controls (1.5146,0.7888) and (1.5854,0.8216) .. 
+  (1.6247,0.8831) .. controls (1.5859,0.8847) and (1.4726,0.9457) .. 
+  (1.5587,0.9706) .. controls (1.6317,0.9685) and (1.7016,1.0046) .. 
+  (1.7314,1.0734) .. controls (1.7931,1.1660) and (1.6616,1.1176) .. 
+  (1.6277,1.1566) .. controls (1.6853,1.1741) and (1.7840,1.1829) .. 
+  (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.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.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
+}
+
+\def\duckpathcrazyhair{%
+  (0.1977,1.9023) .. controls (0.2633,2.0599) and (0.4819,2.0547) ..
+  (0.4713,2.0879) .. controls (0.4647,2.2106) and (0.2516,2.2392) .. 
+  (0.2516,2.2392) .. controls (0.4352,2.2933) and (0.7427,1.9304) .. 
+  (0.5743,2.3885) .. controls (0.6017,2.3633) and (0.8307,2.1739) .. 
+  (0.8082,2.4245) .. controls (0.8271,2.2885) and (0.9195,2.2400) .. 
+  (0.9933,2.2673) .. controls (1.0814,2.6593) and (0.9688,2.0034) .. 
+  (1.3350,2.3615) .. controls (1.3657,2.3292) and (1.1627,2.1043) .. 
+  (1.3424,2.1387) .. controls (1.3102,1.8312) and (1.5049,2.2623) .. 
+  (1.5049,2.2623) .. controls (1.5049,2.2623) and (1.4675,2.0493) .. 
+  (1.4287,1.9560) .. controls (1.4287,1.9560) and (1.6830,1.9470) .. 
+  (1.7178,1.8823) .. controls (1.1926,1.8054) and (2.0160,1.7277) .. 
+  (1.4923,1.7275) .. controls (1.5366,1.6685) and (1.3013,1.6009) .. 
+  (1.6500,1.5946) .. controls (0.8836,1.5797) and (1.2764,1.9221) .. 
+  (0.8957,2.0442) .. controls (0.5516,2.0958) and (0.5228,1.8527) .. 
+  (0.4695,1.7963) .. controls (0.4825,1.9607) and (0.3601,1.9095) .. 
+  (0.1977,1.9023) -- cycle
+}
+
+\def\duckpathrecedinghair{%
+  (1.3385,1.4841) .. controls (1.4243,1.4529) and (1.4877,1.7127) .. 
+  (1.3964,1.8658) .. controls (1.1071,2.3511) and (0.5189,2.1609) .. 
+  (0.4381,1.6816) .. controls (0.4575,1.9618) and (0.9007,2.2059) .. 
+  (1.1308,2.0390) .. controls (1.4703,1.7469) and (1.0343,1.5949) .. 
+  (1.3385,1.4841) -- cycle
+}
+
+\def\duckpathmohican{%
+  (0.7632,1.7935) .. controls (0.9223,2.3084) and (1.3870,1.8580) ..
+  (1.3920,1.5854) .. controls (1.4233,2.1466) and (0.6812,2.5808) ..
+  (0.6725,1.8166) .. controls (0.6725,1.8166) and (0.7615,1.7926) ..
+  (0.7632,1.7935) -- cycle
+}
+
+\def\duckpathmullet{%
+  (1.3723,1.2684) .. controls (1.3723,1.2684) and (1.5129,1.5571) ..
+  (1.4435,1.7815) .. controls (1.2652,2.3572) and (0.3342,2.2633) ..
+  (0.4106,1.5424) .. controls (0.4204,1.6825) and (0.5692,1.9195) ..
+  (0.5692,1.9195) .. controls (0.5692,1.9195) and (0.8475,1.8402) ..
+  (1.1031,1.7844) .. controls (1.0808,1.6260) and (1.1130,1.4754) ..
+  (1.1130,1.4754) .. controls (1.1956,1.4198) and (1.3001,1.3369) ..
+  (1.3723,1.2684) -- cycle
+}
+
+% Acessoires %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\duckpathqueencrown{%
+  (0.7370,2.0732) .. controls (0.6966,2.2091) and (0.6769,2.3503) ..
+  (0.6354,2.4859) .. controls (0.6149,2.5164) and (0.5958,2.5732) ..
+  (0.6498,2.5808) .. controls (0.6973,2.5907) and (0.7091,2.5350) ..
+  (0.6926,2.5016) .. controls (0.6967,2.4544) and (0.7188,2.4109) ..
+  (0.7340,2.3665) .. controls (0.7415,2.3472) and (0.7619,2.2862) ..
+  (0.7676,2.3381) .. controls (0.7755,2.3852) and (0.7871,2.4329) ..
+  (0.7833,2.4808) .. controls (0.7597,2.5148) and (0.7834,2.5720) ..
+  (0.8294,2.5570) .. controls (0.8775,2.5457) and (0.8536,2.4937) ..
+  (0.8436,2.4638) .. controls (0.8502,2.3973) and (0.8640,2.3313) ..
+  (0.8798,2.2664) .. controls (0.9047,2.2750) and (0.9168,2.3261) ..
+  (0.9342,2.3514) .. controls (0.9492,2.3853) and (0.9714,2.4171) ..
+  (0.9773,2.4540) .. controls (0.9645,2.4873) and (0.9766,2.5358) ..
+  (1.0204,2.5303) .. controls (1.0646,2.5298) and (1.0691,2.4725) ..
+  (1.0443,2.4460) .. controls (1.0440,2.3935) and (1.0580,2.3419) ..
+  (1.0671,2.2905) .. controls (1.0706,2.2719) and (1.0788,2.2126) ..
+  (1.0985,2.2554) .. controls (1.1269,2.3087) and (1.1558,2.3623) ..
+  (1.1772,2.4187) .. controls (1.1697,2.4515) and (1.1716,2.5081) ..
+  (1.2210,2.5018) .. controls (1.2706,2.4969) and (1.2686,2.4403) ..
+  (1.2406,2.4126) .. controls (1.2279,2.3600) and (1.2211,2.3057) ..
+  (1.2172,2.2518) .. controls (1.2296,2.2439) and (1.2538,2.2943) ..
+  (1.2693,2.3112) .. controls (1.2908,2.3467) and (1.3228,2.3784) ..
+  (1.3316,2.4200) .. controls (1.3203,2.4624) and (1.3708,2.5014) ..
+  (1.4051,2.4678) .. controls (1.4448,2.4342) and (1.3945,2.3994) ..
+  (1.3765,2.3710) .. controls (1.3022,2.2536) and (1.2440,2.1265) ..
+  (1.1686,2.0097) .. controls (0.9649,1.9465) and (0.8367,1.9955) ..
+  (0.7370,2.0732) -- cycle
+}
+
+\def\duckpathkingcrown{%
+  (0.6572,2.0396) .. controls (0.6637,2.0838) and (0.6716,2.1289) ..
+  (0.6684,2.1735) .. controls (0.6481,2.2496) and (0.5923,2.3131) ..
+  (0.5818,2.3921) .. controls (0.5738,2.4607) and (0.6167,2.5343) ..
+  (0.6862,2.5502) .. controls (0.7548,2.5703) and (0.8210,2.5304) ..
+  (0.8720,2.4881) .. controls (0.8984,2.4712) and (0.9239,2.4324) ..
+  (0.9486,2.4249) .. controls (0.9524,2.4691) and (0.9566,2.5158) ..
+  (0.9844,2.5527) .. controls (1.0052,2.5845) and (1.0390,2.6282) ..
+  (1.0820,2.6127) .. controls (1.1212,2.5899) and (1.1378,2.5421) ..
+  (1.1478,2.5003) .. controls (1.1576,2.4639) and (1.1336,2.4180) ..
+  (1.1349,2.3906) .. controls (1.2050,2.4269) and (1.2847,2.4629) ..
+  (1.3654,2.4429) .. controls (1.4292,2.4285) and (1.4864,2.3679) ..
+  (1.4793,2.2998) .. controls (1.4859,2.2404) and (1.4407,2.1925) ..
+  (1.4006,2.1551) .. controls (1.3681,2.1232) and (1.3290,2.0951) ..
+  (1.3072,2.0544) .. controls (1.2904,2.0121) and (1.2805,1.9674) ..
+  (1.2738,1.9225) .. controls (1.1221,1.8892) and (0.9586,1.8836) ..
+  (0.8112,1.9386) .. controls (0.7535,1.9608) and (0.6999,1.9945) ..
+  (0.6572,2.0396) -- cycle
+}
+
+\def\duckpathdarthvader{%
+  (0.4264,1.9092) .. controls (0.4347,1.9248) and (0.4612,1.9186) ..
+  (0.4969,1.9783) .. controls (0.5499,2.0670) and (0.7559,2.2377) ..
+  (0.9889,2.2057) .. controls (1.2691,2.1668) and (1.4075,1.8829) ..
+  (1.4176,1.7421) .. controls (1.4279,1.5955) and (1.5246,1.3484) ..
+  (1.5246,1.3484) --
+  (0.9846,1.2036) .. controls (1.0898,1.2735) and (1.0667,1.5598) ..
+  (1.0555,1.6034) .. controls (0.9758,1.9147) and (0.8121,1.8681) ..
+  (0.7174,1.7694) .. controls (0.5671,2.0370) and (0.4103,1.7556) ..
+  (0.4132,1.472) --
+  (0.3529,1.415) .. controls (0.3529,1.43938) and (0.3893,1.8379)..
+  (0.4264,1.9092) -- cycle
+}
+
+\def\duckpathhorsetail{%
+  (1.7248,1.3553) .. controls (2.0530,1.3369) and (2.1427,1.1604) ..
+  (2.2915,0.9970) .. controls (2.4759,0.7946) and (2.9531,0.8890) ..
+  (2.7668,0.9003) .. controls (2.4670,0.9184) and (2.5158,1.1488) ..
+  (2.3907,1.3152) .. controls (2.2788,1.4641) and (1.9414,1.5945) ..
+  (1.7248,1.3553) -- cycle
+}
+
+\def\duckpathcape{%
+  (0.225,0.966) .. controls (1.314,0.961) and (2.070,0.650) ..
+  (2.042,1.245) .. controls (1.863,1.164) and (1.844,1.173) ..
+  (1.792,1.340) .. controls (1.635,1.235) and (1.620,1.268) ..
+  (1.567,1.393) .. controls (1.358,1.086) and (0.664,1.096) ..
+  (0.460,1.110) .. controls (0.461,1.133) and (0.305,1.077) ..
+  (0.235,0.966) -- cycle
+}
+
+\def\duckpathcrown{%
+  (0.7365,2.0616) .. controls (0.7365,2.0616) and (0.7771,2.1763) ..
+  (0.6959,2.4650) -- (0.8895,2.2378) -- (1.0391,2.3943) --
+  (1.1260,2.1961) -- 
+  (1.3938,2.3318) .. controls (1.1927,2.1132) and (1.2194,1.9764) .. 
+  (1.2194,1.9764) .. controls (1.0774,1.9202) and (0.8507,1.9601) .. 
+  (0.7365,2.0616) -- cycle
+}
+
+\def\duckpathtorch{%
+  (1.4338,1.0258) .. controls (1.4308,0.8877) and (1.3468,0.8997) .. 
+  (1.2447,0.7481) .. controls (1.1427,0.8982) and (1.0721,0.8892) .. 
+  (1.0646,1.0243) .. controls (1.0541,1.1714) and (1.2642,1.1654) .. 
+  (1.2492,1.3860) .. controls (1.3093,1.3110) and (1.4383,1.2705) .. 
+  (1.4338,1.0258) -- cycle
+}
+
+\def\duckpathoverleaf{%
+  (1.2699,0.6095) .. controls (1.2710,0.5992) and (1.2752,0.5910) .. (1.2822,0.5852) .. controls (1.2892,0.5793) and (1.2983,0.5763) .. (1.3095,0.5763) .. controls (1.3165,0.5762) and (1.3233,0.5778) .. (1.3295,0.5809) .. controls (1.3353,0.5840) and (1.3401,0.5885) .. (1.3436,0.5940) -- (1.3792,0.5940) .. controls (1.3731,0.5785) and (1.3640,0.5664) .. (1.3521,0.5578) .. controls (1.3398,0.5492) and (1.3252,0.5447) .. (1.3103,0.5449) .. controls (1.3002,0.5448) and (1.2902,0.5467) .. (1.2808,0.5505) .. controls (1.2718,0.5544) and (1.2636,0.5601) .. (1.2567,0.5672) .. controls (1.2500,0.5742) and (1.2446,0.5825) .. (1.2410,0.5915) .. controls (1.2372,0.6005) and (1.2353,0.6101) .. (1.2353,0.6198) .. controls (1.2352,0.6294) and (1.2370,0.6389) .. (1.2404,0.6479) .. controls (1.2438,0.6567) and (1.2489,0.6647) .. (1.2554,0.6715) .. controls (1.2625,0.6790) and (1.2709,0.6850) .. (1.2802,0.6892) .. controls (1.2891,0.6933) and (1.2988,0.6954) .. (1.3086,0.6955) .. controls (1.3207,0.6955) and (1.3325,0.6926) .. (1.3432,0.6871) .. controls (1.3540,0.6813) and (1.3633,0.6732) .. (1.3705,0.6634) .. controls (1.3751,0.6571) and (1.3786,0.6501) .. (1.3807,0.6427) .. controls (1.3831,0.6341) and (1.3842,0.6253) .. (1.3841,0.6164) .. controls (1.3840,0.6139) and (1.3839,0.6119) .. (1.3837,0.6092) .. controls (1.3458,0.6093) and (1.3079,0.6094) .. (1.2699,0.6095) -- cycle(1.3486,0.6358) .. controls (1.3458,0.6453) and (1.3410,0.6525) .. (1.3343,0.6575) .. controls (1.3276,0.6625) and (1.3192,0.6650) .. (1.3090,0.6650) .. controls (1.3004,0.6651) and (1.2920,0.6622) .. (1.2852,0.6570) .. controls (1.2783,0.6517) and (1.2733,0.6443) .. (1.2711,0.6359) .. controls (1.2969,0.6359) and (1.3228,0.6358) .. (1.3486,0.6358) -- cycle(1.5160,0.5487) -- (1.5160,0.5662) .. controls (1.5122,0.5593) and (1.5064,0.5538) .. (1.4992,0.5505) .. controls (1.4920,0.5471) and (1.4828,0.5455) .. (1.4715,0.5455) .. controls (1.4505,0.5455) and (1.4329,0.5527) .. (1.4187,0.5670) .. controls (1.4046,0.5814) and (1.3976,0.5993) .. (1.3975!
 ,0.6206) .. controls (1.3975,0.6303) and (1.3993,0.6401) .. (1.4029,0.6492) .. controls (1.4063,0.6580) and (1.4114,0.6661) .. (1.4180,0.6729) .. controls (1.4246,0.6801) and (1.4327,0.6857) .. (1.4416,0.6895) .. controls (1.4509,0.6932) and (1.4608,0.6950) .. (1.4708,0.6949) .. controls (1.4800,0.6951) and (1.4891,0.6933) .. (1.4976,0.6896) .. controls (1.5050,0.6862) and (1.5112,0.6807) .. (1.5156,0.6739) -- (1.5156,0.6911) -- (1.5480,0.6911) -- (1.5480,0.5485) -- (1.5160,0.5485) -- (1.5160,0.5487) -- cycle(1.4436,0.5910) .. controls (1.4513,0.5831) and (1.4619,0.5787) .. (1.4729,0.5789) .. controls (1.4833,0.5789) and (1.4926,0.5829) .. (1.5006,0.5911) .. controls (1.5083,0.5986) and (1.5126,0.6088) .. (1.5126,0.6196) .. controls (1.5127,0.6307) and (1.5084,0.6414) .. (1.5006,0.6494) .. controls (1.4926,0.6577) and (1.4833,0.6619) .. (1.4727,0.6619) .. controls (1.4618,0.6621) and (1.4514,0.6577) .. (1.4439,0.6499) .. controls (1.4361,0.6423) and (1.4318,0.6318) .. (1.4317,0.6205) .. controls (1.4315,0.6092) and (1.4355,0.5991) .. (1.4436,0.5910) -- cycle(1.6366,0.6913) -- (1.6366,0.6617) -- (1.6127,0.6617) -- (1.6127,0.5487) -- (1.5806,0.5487) -- (1.5806,0.6617) -- (1.5637,0.6617) -- (1.5637,0.6913) -- (1.5796,0.6913) -- (1.5796,0.6952) .. controls (1.5796,0.7102) and (1.5838,0.7214) .. (1.5922,0.7288) .. controls (1.6005,0.7362) and (1.6131,0.7399) .. (1.6300,0.7399) .. controls (1.6324,0.7398) and (1.6347,0.7396) .. (1.6370,0.7395) -- (1.6370,0.7097) -- (1.6347,0.7097) .. controls (1.6272,0.7097) and (1.6218,0.7084) .. (1.6186,0.7059) .. controls (1.6154,0.7034) and (1.6138,0.6993) .. (1.6138,0.6936) -- (1.6138,0.6910) .. controls (1.6214,0.6913) and (1.6290,0.6912) .. (1.6366,0.6913) -- cycle(1.1906,0.5487) -- (1.2231,0.5487) -- (1.2231,0.7374) -- (1.1906,0.7374) -- cycle(0.9820,0.6095) .. controls (0.9831,0.5992) and (0.9872,0.5910) .. (0.9943,0.5852) .. controls (1.0013,0.5793) and (1.0104,0.5763) .. (1.0216,0.5763) .. controls (1.0285,0.5762) and (1.0354,0.5778) .. (1.0416,0.5809) .. controls (1.0474,0!
 .5839) and (1.0522,0.5885) .. (1.0556,0.5940) -- (1.0914,0.5940) .. controls (1.0854,0.5785) and (1.0763,0.5664) .. (1.0643,0.5578) .. controls (1.0522,0.5492) and (1.0382,0.5449) .. (1.0225,0.5449) .. controls (1.0124,0.5448) and (1.0024,0.5467) .. (0.9931,0.5505) .. controls (0.9840,0.5544) and (0.9758,0.5601) .. (0.9690,0.5672) .. controls (0.9622,0.5742) and (0.9569,0.5825) .. (0.9532,0.5915) .. controls (0.9495,0.6005) and (0.9475,0.6101) .. (0.9475,0.6198) .. controls (0.9475,0.6294) and (0.9492,0.6389) .. (0.9527,0.6479) .. controls (0.9560,0.6567) and (0.9611,0.6647) .. (0.9677,0.6715) .. controls (0.9747,0.6790) and (0.9830,0.6850) .. (0.9924,0.6892) .. controls (1.0012,0.6933) and (1.0109,0.6955) .. (1.0207,0.6955) .. controls (1.0327,0.6955) and (1.0446,0.6927) .. (1.0552,0.6871) .. controls (1.0660,0.6813) and (1.0753,0.6732) .. (1.0826,0.6634) .. controls (1.0871,0.6571) and (1.0906,0.6501) .. (1.0926,0.6427) .. controls (1.0949,0.6341) and (1.0960,0.6253) .. (1.0959,0.6164) .. controls (1.0959,0.6139) and (1.0957,0.6119) .. (1.0956,0.6092) .. controls (1.0577,0.6100) and (1.0199,0.6095) .. (0.9820,0.6095) -- cycle(1.0606,0.6358) .. controls (1.0578,0.6453) and (1.0531,0.6526) .. (1.0463,0.6575) .. controls (1.0397,0.6625) and (1.0312,0.6650) .. (1.0210,0.6650) .. controls (1.0124,0.6651) and (1.0041,0.6622) .. (0.9973,0.6570) .. controls (0.9903,0.6517) and (0.9853,0.6443) .. (0.9830,0.6359) .. controls (1.0089,0.6359) and (1.0348,0.6358) .. (1.0606,0.6358) -- cycle(1.1761,0.6624) .. controls (1.1632,0.6614) and (1.1542,0.6580) .. (1.1492,0.6523) .. controls (1.1441,0.6465) and (1.1415,0.6363) .. (1.1415,0.6214) -- (1.1415,0.5487) -- (1.1083,0.5487) -- (1.1083,0.6913) -- (1.1394,0.6913) -- (1.1394,0.6748) .. controls (1.1438,0.6808) and (1.1494,0.6856) .. (1.1559,0.6891) .. controls (1.1621,0.6923) and (1.1690,0.6938) .. (1.1760,0.6937) .. controls (1.1760,0.6833) and (1.1761,0.6728) .. (1.1761,0.6624) -- cycle(0.8646,0.8092) .. controls (0.8244,0.8248) and (0.6787,0.8306) .. (0.6784,0.7437) .. con!
 trols (0.6359,0.7165) and (0.6078,0.6721) .. (0.6078,0.6246) .. controls (0.6077,0.5410) and (0.7016,0.4916) .. (0.7705,0.5391) .. controls (0.8394,0.5866) and (0.8268,0.6919) .. (0.7486,0.7217) .. controls (0.7411,0.7246) and (0.7248,0.7297) .. (0.7117,0.7286) .. controls (0.6931,0.7168) and (0.6704,0.6924) .. (0.6597,0.6682) .. controls (0.6918,0.7064) and (0.7528,0.6983) .. (0.7737,0.6530) .. controls (0.7947,0.6076) and (0.7614,0.5559) .. (0.7115,0.5562) .. controls (0.6914,0.5562) and (0.6724,0.5649) .. (0.6594,0.5802) .. controls (0.6410,0.6019) and (0.6363,0.6254) .. (0.6400,0.6484) .. controls (0.6532,0.7289) and (0.7487,0.7748) .. (0.8197,0.7924) .. controls (0.7966,0.7801) and (0.7548,0.7600) .. (0.7255,0.7380) .. controls (0.8108,0.7051) and (0.8246,0.7770) .. (0.8646,0.8092) -- cycle(0.8731,0.5487) -- (0.8189,0.6913) -- (0.8542,0.6913) -- (0.8874,0.5965) -- (0.9217,0.6913) -- (0.9561,0.6913) -- (0.8991,0.5487) -- cycle
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Picture mode ducks
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\picduck{%
+  % bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \qbezier(6.5,29.5)(-1,17.5)(16.8,27.3)
+  \qbezier(6.5,29.5)(9,30.5)(11.4,28.0)
+  \qbezier(11.4,28.0)(13.5,26.5)(16.8,27.3)
+  % head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \qbezier(06.5,29.5)(6,41.5)(16.8,42.4)
+  \qbezier(16.8,42.4)(29,41)(25.3,24)
+  % body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \qbezier(7.8,23.2)(8,22.8)(8,22.5)
+  \qbezier(8,22.5)(-5,9)(8,3)
+  \qbezier(8,3)(22,-2)(35,6.5)
+  \qbezier(35,6.5)(46,15)(35,28.3)
+  \qbezier(35,28.3)(30,25)(25.3,24)
+  % right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \qbezier(13,32)(13.8,34.5)(16,34)
+  \qbezier(16,34)(17.3,33.2)(16.7,31)
+  \qbezier(16.7,31)(16,29.1)(14.5,29.3)
+  \qbezier(14.5,29.3)(12.7,29.5)(13,32)
+  \put(15.3,31.3){\circle*{1.8}}
+  % left eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \qbezier(7.7,33.2)(8.4,35.7)(10.3,35)
+  \qbezier(10.3,35)(11.2,34)(10.4,32.2)
+  \qbezier(10.4,32.2)(9.7,30.7)(8.7,30.7)
+  \qbezier(8.7,30.7)(7.2,30.9)(7.7,33.2)
+  \put(9.5,32.7){\circle*{1.5}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                    32237378723223                                   
+%                 23737232212232237822                                
+%               3282232232232232232<3723                              
+%              382232232232232232232232232                            
+%             72232322323323223223223223282                           
+%            7503223223522332322322322322372                          
+%           9hklke23232<252<2322322322322323                          
+%          9jzltrg22320fklke23232232232232232                         
+%          0lzp ye252qkzliuk92323223223223223                         
+%          2dkfaw233<fzl, .g623232232232232282                        
+%          3<<432325<eklits9232322322322322322                        
+%         ++#@o$;<32329edw22322322322322322323                        
+%       o++oo at oooo%::12<<<<123223223223223223             328         
+%      o++o+oo+o+oooooO@=*:<32232232232232232         323782282       
+%      +o+oo+o+oooooo%-:12232232232232232232      23237322322373      
+%      ++ at +++o o+%-:<32232232232232232232232 32237822322322322322     
+%       +oOoo&><<32232232232232232232232232282822322322322322322372   
+%          37232232232232232232232232232232232232232232232232232237<  
+%       728282232232232232232232232232232232232232232232232232232232  
+%     282232232232232232232232232232232232232232232232232232232232232 
+%   282232232232232232232232232232232232232232232232232232232232232282
+%  7322322322322322322322322322322322322322322322322322322322322322322
+% 23223223223223223223223223223223223223223223223223223223223223223223
+%322322322322322322322322322322322322322322322322322322322322322322322
+%322322322322322322322322322322322322322322322322322322322322322322322
+%232232232232232232232232232232232232232232232232232232232232232232282
+%82232232232232232232232232232232232232232232232232232232232232232282 
+%3223223223223223223223223223223223223223223223223223223223223223282  
+%273223223223223223223223223223223223223223223223223223223223223723   
+% 273223223223223223223223223223223223223223223223223223223223723     
+%  228223223223223223223223223223223223223223223223223223228232       
+%    2822322322322322322322322322322322322322322322322378232          
+%      2378223223223223223223223223223223223223223782232              
+%         322378282232232232232232232232282878223223                  
+%              223232232282828282322322323223            
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% stripes for sports jerseys
+%
+% code contributed by Carla Maggi
+% https://tex.stackexchange.com/a/387126/36296
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\tikzset{
+  /stripes/.cd,
+  color/.code     = \def\stripes at color{#1},
+  distance/.code  = \def\stripes at distance{#1},
+  width/.code     = \def\stripes at width{#1},
+  height/.code    = \def\stripes at height{#1},
+  initialx/.code  = \def\stripes at initialx{#1},
+  initialy/.code  = \def\stripes at initialy{#1},
+  rotate/.code    = \def\stripes at rotate{#1},
+  emblem/.code    = \def\stripes at emblem{#1},
+  % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  color      = black,
+  distance   = 0.3,
+  width      = 0.15,
+  height     = 2.7,
+  initialx   = 0.1,
+  initialy   = -0.3,
+  rotate     = -10,
+  emblem     = \empty
+}
+
+\def\stripes at draw{%
+  \path (0.1,0.1) rectangle (2.1,1.45);
+  \pgfinterruptboundingbox
+    \scope
+      \clip \duckpathjacket;
+      \foreach \shifta in {0,\stripes at distance,...,2.4}{%
+        \fill[\stripes at color,rotate around={\stripes at rotate:(1.2,0.9)}] 
+        ($(\stripes at initialx,\stripes at initialy)+(\shifta,0)$) rectangle ($(\stripes at initialx,\stripes at initialy)+(\shifta,0)+(\stripes at width,\stripes at height)$);
+      }
+    \endscope
+   \endpgfinterruptboundingbox
+   \node at (wing) {\stripes at emblem };
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%.........................%%%%%%%%%%%%%%%%%%%.........................
+%....................%%%%%%%%%............%%%%%%%%....................
+%................%%%%%%....%%...................%%%%%%................
+%.............%%%%%.......%%%.......................%%%%%.............
+%...........%%%%........%%%%%%%%%...................%%%%%%%...........
+%.........%%%........%%%%%%%%%%%%%%%%..............%%%%%%%%%%.........
+%.......%%%.......%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.......
+%......%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%..............%%%%%%%%%%%......
+%.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%................%%%%%%%%%%%.....
+%...%%%%........%%%%%%%%%%%%%%%%%%%%%...................%%%%%%%%%%%...
+%...%%%..........%%%%%%%%%%%%%%%%%%%.....................%%%%%%%%%%...
+%..%%%............%%%%%%%%%%%%%%%%%.......................%%%%%%%%%%..
+%.%%%%............%%%%%%%%%%%%%%%%%........................%%%%%%%%%%.
+%.%%%..............%%%%%%%.......%%%......................%%%.....%%%.
+%%%%..............%%...............%%%...................%%%.......%%%
+%%%..............%%.................%%%..................%%.........%%
+%%%%............%%%...................%%%...............%%..........%%
+%%%%...........%%%.....................%%%.............%%...........%%
+%%%%%..........%%........................%%%%%%%%%%%%%%%%...........%%
+%%%%%........%%%........................%%%%%%%%%%%%%%%%%%.........%%%
+%.%%%%%%%%%%%%%%%......................%%%%%%%%%%%%%%%%%%%.........%%.
+%.%%%%%%%%%%%%%%%%.....................%%%%%%%%%%%%%%%%%%%........%%%.
+%..%%%%%%%%%%%%%%%%...................%%%%%%%%%%%%%%%%%%%%%.......%%..
+%...%%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%%%%%%%......%%...
+%...%%%%%%%%%%%%%%%%%%............%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....
+%.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....%%%.....
+%......%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%......%%%......
+%.......%%%%%%%%%%%%%%....................%%%%%%%%%%........%%%.......
+%.........%%%%%%%%%%%........................%%%%.........%%%.........
+%...........%%%%%%%%%........................%%........%%%%...........
+%.............%%%%%%%%%.....................%%......%%%%%.............
+%................%%%%%%%%.................%%%...%%%%%%................
+%....................%%%%%%%%......%%%%%%%%%%%%%%%....................
+%..........................%%%%%%%%%%%%%%%%%..........................
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Property changes on: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty	2020-06-30 21:36:12 UTC (rev 55713)
@@ -0,0 +1,50 @@
+% !TeX root = ./testing/test.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ProvidesPackage{tikzducks}[2020/06/30 version v1.5 Draw rubber ducks in TikZ]
+
+\RequirePackage{expl3}
+\RequirePackage{tikz}
+\usetikzlibrary{patterns} % for the wizard hat
+\usetikzlibrary{calc} % for the sports jerseys
+
+\definecolor{duck at overleafcol}{RGB}{72,172,60}
+
+\newcommand*{\duck}[1][]{%
+  \begin{scope}%
+    \tikzset{/duck/.cd,#1}%
+    \duck at draw%
+  \end{scope}%
+}
+
+\ExplSyntaxOn
+\ifdefined\sys_rand_seed:
+\pgfmathsetseed {\sys_rand_seed:}
+\else
+\ifdefined\pdfrandomseed % pdflatex
+\else
+\ifdefined\randomseed 
+\let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
+\else
+\let\pdfrandomseed\time % pre TL19 xelatex
+\fi
+\fi
+\pgfmathsetseed{\number\pdfrandomseed} 
+\fi
+\ExplSyntaxOff
+\newcommand*{\stripes}[1][]{\tikzset{%
+		/stripes/.cd,#1}\stripes at draw%
+}
+
+\input tikzducks-generic


Property changes on: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex	2020-06-30 21:36:12 UTC (rev 55713)
@@ -0,0 +1,24 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% TikZ library for the tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{tikzducks}
+
+% This is all that is needed ...
+\tikzset{
+  duck/.pic={%
+    \duck at draw
+  },
+  duck/.search also={,/tikz,/pgf},
+}
+
+


Property changes on: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2020-06-30 21:29:43 UTC (rev 55712)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2020-06-30 21:36:12 UTC (rev 55713)
@@ -1393,6 +1393,7 @@
  'xkeyval',     "&MAKExkeyval",
  'xlop',        "&MAKEflatten",
  'xltabular',   "&MAKEflatten",
+ 'xml2pmx',	"die 'skipping, nontrivial compilation needed'",
  'xmltex',      "&MAKExmltex",
  'xor',         "die 'skipping, will be in xpackages when ready (Morten says)'",
  'xpackages',   "die 'skipping, now l3packages, etc.'",
@@ -1722,6 +1723,7 @@
  'texdraw',             'generic',
  'texsis',              'texsis',
  'textmerg',            'generic',
+ 'tikzducks',		'generic',
  'tugboat-plain',       'plain',
  'ulem',                'generic',
  'uptex-base',		'uptex',
@@ -2132,6 +2134,7 @@
  'tikz-qtree',  '(pgf|tikz-)(subpic|q?tree(-compat)?)\.(tex|sty)',
  'tikz-sfc',		'\.code\.tex$',
  'tikz-trackschematic',	'\.code\.tex$',
+ 'tikzducks',	'-generic.tex$|\.mkiv$|' . $standardtex,
  'tikzposter',  'tikzposter[^-].*\.tex|' . $standardtex,
  # tipa: we want to install all .sty except tipaman|boxchar|codelist.
  # i can't explain why ^(?!...), the "zero-width negative look-ahead
@@ -2435,6 +2438,7 @@
  'texsis',              'otherformats',
  'textmerg',            'generic',
  'textpath',            'metapost',
+ 'tikzducks',		'generic',
  'timing',              'fonts',
  'trajan',              'fonts',
  'tugboat-plain',       'plain',

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2020-06-30 21:29:43 UTC (rev 55712)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2020-06-30 21:36:12 UTC (rev 55713)
@@ -180,7 +180,6 @@
 depend cleveref
 depend clipboard
 depend clock
-depend cloze
 depend clrdblpg
 depend clrstrip
 depend cmdstring

Modified: trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc	2020-06-30 21:29:43 UTC (rev 55712)
+++ trunk/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc	2020-06-30 21:36:12 UTC (rev 55713)
@@ -11,6 +11,7 @@
 depend bezierplot
 depend checkcites
 depend chickenize
+depend cloze
 depend combofont
 depend cstypo
 depend ctablestack



More information about the tex-live-commits mailing list.