texlive[73659] Master/texmf-dist: tikzducks (31jan25)
commits+karl at tug.org
commits+karl at tug.org
Fri Jan 31 23:08:12 CET 2025
Revision: 73659
https://tug.org/svn/texlive?view=revision&revision=73659
Author: karl
Date: 2025-01-31 23:08:12 +0100 (Fri, 31 Jan 2025)
Log Message:
-----------
tikzducks (31jan25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc-settings.sty
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/tikzducks.sty
trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex
Removed Paths:
-------------
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-plain.tex
Modified: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc-settings.sty
===================================================================
--- trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc-settings.sty 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc-settings.sty 2025-01-31 22:08:12 UTC (rev 73659)
@@ -61,6 +61,7 @@
\RequirePackage{footnotehyper}
\makesavenoteenv{tcolorbox}
\RequirePackage[all]{nowidow}
+ \RequirePackage[hyphens]{url}
\RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
}
\RequirePackage[T1]{fontenc}
@@ -68,7 +69,8 @@
\RequirePackage{inconsolata}% mono font with bold, but italic is missing
% \RequirePackage[scale=0.85]{cascadia-code}
% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
-\usepackage{synthslant}% to fake slented comments in inconsolata
+\RequirePackage{synthslant}% to fake slanted comments in inconsolata
+\RequirePackage{metalogox}% should be loaded after the fonts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -82,7 +84,7 @@
\@namedef{PYG at tok@na}{\def\PYG at tc##1{\textcolor{black}{##1}}}%
% macros
\@namedef{PYG at tok@k}{\def\PYG at tc##1{\textcolor{listingcolor}{\bfseries ##1}}}%
- % curly brakets
+ % curly brackets
\@namedef{PYG at tok@nb}{\def\PYG at tc##1{\textcolor{listingcolor}{\bfseries ##1}}}%
% comments (italics won't work with the inconsolata font)
\@namedef{PYG at tok@c}{\def\PYG at tc##1{\textcolor{gray}{\textsynthslant{##1}}}}%
@@ -156,4 +158,21 @@
\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
-\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
\ No newline at end of file
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Doc blurb
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\packagename}[1]{\def\@packagename{#1}}
+
+\NewDocumentCommand\blurb{s}{%
+ This package is work in progress, therefore I would be happy to hear your feedback and ideas how to improve the package. The development version of the source code can be found at \url{https://github.com/samcarter/\@packagename}, including an issue tracker.
+ \IfBooleanF#1{%
+ A more stable version of the package can be found on \CTAN (\url{https://ctan.org/pkg/\@packagename}) and is included in both \texlive and \miktex as \texttt{\@packagename}.
+ }%
+ If you seek any other assistance (not bug reports/feature requests), I suggest asking at \url{https://topanswers.xyz/tex}.
+
+ Copyright {\footnotesize\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{https://www.latex-project.org/lppl.txt}.
+}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/doc/generic/tikzducks/tikzducks-doc.tex 2025-01-31 22:08:12 UTC (rev 73659)
@@ -14,6 +14,10 @@
% arara: latexmk
\documentclass{scrartcl}
+\usepackage[
+ themecolor=samlblue
+]{\jobname-settings}
+
% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{The \texorpdfstring{\tikzducks}{tikzducks} package}
\subtitle{using ducks in \TikZ}
@@ -24,14 +28,11 @@
\end{tikzpicture}\\[0.8em]
\texttt{samcarter}\\
\url{https://github.com/samcarter/tikzducks}\\
- \url{https://www.ctan.org/pkg/tikzducks}
+ \url{https://ctan.org/pkg/tikzducks}
}{samcarter}}
-\date{Version v1.10 \textendash{} 2025/01/05}
+\date{Version v2.0 \textendash{} 2025/01/31}
+\packagename{tikzducks}
-\usepackage[
- themecolor=samlblue
-]{\jobname-settings}
-
\colorlet{blue}{samlblue}
\colorlet{red}{samred}
@@ -47,9 +48,8 @@
\newlength{\duckoffset}
\cfoot{%
- \shuffleducks
\begin{tikzpicture}[scale=0.5]
- \duck[signpost=\scalebox{0.6}{\thepage},\randomhead]
+ \duck[signpost=\scalebox{0.6}{\thepage},randomhead]
\end{tikzpicture}
}
\pagestyle{scrheadings}
@@ -64,48 +64,13 @@
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{https://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{https://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{https://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{https://topanswers.xyz/tex}.
+Without the friendly and helpful community of \TeX{} users this package would not exist. A big thanks to all the users and contributors of this package!
-\subsection{Acknowledgements}
+\blurb
-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 \saminline|\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 \saminline|\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.
-
-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{svg2tikz} extension (\url{https://github.com/xyz2tex/svg2tikz}).
-
-\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{https://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.
+\clearpage
\section{Usage}
The basic usage is fairly simple, to draw a duck:
@@ -181,7 +146,7 @@
This can also be useful to recycle some of the accessories presented in \ref{sec:accessories}.
-For the \TeX{} purists, there is also a picture mode variant:
+For the purists, there is also a picture mode variant:
{
\setlength{\unitlength}{0.6mm}
\begin{tcblisting}{title={\texttt{picture} mode duck}}
@@ -191,46 +156,6 @@
\end{tcblisting}
}
-And thanks to @JairoAdelRio there is even a \ConTeXt{} User Module available. Some of the colours might look different and not being a \ConTeXt{} user myself, I can't guarantee maintenance of this module.
-
-\begin{tcolorbox}[title={\ConTeXt{} User Module}]
-\begin{samcode}
-\usemodule[tikzducks]
-\usecolors[xwi]
-\starttext
-
-\starttikzpicture
- \duck[tophat,bowtie]
-\stoptikzpicture
-
-\stoptext
-\end{samcode}
-
-\tcblower
-\begin{tikzpicture}
- \duck[tophat,bowtie]
-\end{tikzpicture}
-\end{tcolorbox}
-
-For those who prefer to work with pdf\TeX:
-
-\begin{tcolorbox}[title={pdfTeX}]
-\begin{samcode}
-\input tikzducks-plain.tex
-
-\tikzpicture
- \duck[bobblehat,cheese]
-\endtikzpicture
-
-\bye
-\end{samcode}
-
-\tcblower
-\begin{tikzpicture}
- \duck[bobblehat,cheese]
-\end{tikzpicture}
-\end{tcolorbox}
-
\subsection{Body parts}
The various parts of the duck can also be coloured independently, i.e.\ \saminline|body|, \saminline|head| or \saminline|bill|:
@@ -908,12 +833,11 @@
\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 \saminline|\randomhead| and \saminline|\randomaccessories| for a random headpiece and a random accessories, respectively. Small caveat: Before using \saminline|\randomhead| or \saminline|\randomaccessories|, \saminline|\shuffleducks| has to be used to provide the random items (for \saminline|\randuck| this is done automatically).
+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 the \saminline|randomhead| and \saminline|randomaccessories| options for a random headpiece and a random accessories, respectively.
\begin{tcblisting}{title={Random head gear and accessories}}
\begin{tikzpicture}
- \shuffleducks
- \duck[\randomhead, \randomaccessories]
+ \duck[randomhead, randomaccessories]
\end{tikzpicture}
\end{tcblisting}
@@ -992,12 +916,17 @@
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:
-\begin{samcode}
-\duckhookbackground, \duckhookbody, \duckhookclothing, \duckhookhair, \duckhookhat, \duckhookforeground
-\end{samcode}
+\begin{itemize}
+\item \saminline|\NewHook{tikzducks/background}|
+\item \saminline|\NewHook{tikzducks/body}|
+\item \saminline|\NewHook{tikzducks/clothing}|
+\item \saminline|\NewHook{tikzducks/hair}|
+\item \saminline|\NewHook{tikzducks/hat}|
+\item \saminline|\NewHook{tikzducks/foreground}|
+\end{itemize}
\begin{center}
-\texttt{\textbackslash duckhook}\dots
+\saminline|\NewHook{tikzducks/...}|
\begin{tikzpicture}[scale=1.59]
\newcommand{\planes}{\fill[gray!20!white,opacity=0.9] (-0.1,-0.1) rectangle (2.4,2.4);}
@@ -1049,22 +978,26 @@
\end{tikzpicture}
\end{center}
-These hooks can be defined by the user as needed:
+These hooks can be utilised by the user as needed:
\begin{tcblisting}{title={Hooks}}
\begin{tikzpicture}
- \begingroup
- \newcommand{\duckhookclothing}{
- \path[pattern={Stars[distance=1.7mm,
- radius=0.5mm,angle=32]},
- pattern color=yellow]
- \duckpathjacket;
- }
- \duck[witch=black!50!gray,
- longhair=red!80!black,
- jacket=black!50!gray,
- magicwand]
- \endgroup
+
+ \AddToHook{tikzducks/clothing}{
+ \path[pattern={Stars[distance=1.7mm,
+ radius=0.5mm,angle=32]},
+ pattern color=yellow]
+ \duckpathjacket;
+ }
+
+ \duck[witch=black!50!gray,
+ longhair=red!80!black,
+ jacket=black!50!gray,
+ magicwand]
+
+ % optionally
+ \RemoveFromHook{tikzducks/clothing}
+
\end{tikzpicture}
\end{tcblisting}
Deleted: trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/t-tikzducks.mkiv 2025-01-31 22:08:12 UTC (rev 73659)
@@ -1,62 +0,0 @@
-% !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 https://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 2025/01/05 version v1.10 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]
-
-\catcode`\@=11
-
-% Defining commands not available in context %%%%%%%%%%%%%%%%%%%%%%%%%
-\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
Deleted: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-generic.tex 2025-01-31 22:08:12 UTC (rev 73659)
@@ -1,1902 +0,0 @@
-% !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 https://www.latex-project.org/lppl.txt
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\duck at listhead{}
-\def\duck at listacces{}
-\def\duck at headtext{head}
-\def\duck at accesstext{acess}
-
-\ExplSyntaxOn
-\NewDocumentCommand{\duck at ini}{om}{
- \expandafter\newif\csname ifduck@#2\endcsname
- \def\duck at tmp{#1}
- \ifx\duck at headtext\duck at tmp
- \tl_put_right:Nn \duck at listhead { {#2} }
- \fi
- \ifx\duck at accesstext\duck at tmp
- \tl_put_right:Nn \duck at listacces { {#2} }
- \fi
-}
-\ExplSyntaxOff
-
-\duck at ini{name}
-\duck at ini{invisible}
-% Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\duck at ini{water}
-% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\duck at ini{grumpy}
-\duck at ini{laughing}
-\duck at ini{parrot}
-% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\duck at ini[head]{shorthair}
-\duck at ini[head]{longhair}
-\duck at ini[head]{crazyhair}
-\duck at ini[head]{recedinghair}
-\duck at ini{eyebrow}
-\duck at ini[head]{beard}
-\duck at ini[head]{mohican}
-\duck at ini[head]{mullet}
-\duck at ini[head]{parting}
-% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\duck at ini{clothing}
-\duck at ini{tshirt}
-\duck at ini{jacket}
-\duck at ini{tie}
-\duck at ini[acess]{cape}
-\duck at ini{stripes}
-\duck at ini[acess]{bowtie}
-\duck at ini{lapel}
-\duck at ini{aodai}
-\duck at ini[acess]{scarf}
-% Headgear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\duck at ini[head]{alien}
-\duck at ini[head]{hat}
-\duck at ini[head]{cap}
-\duck at ini[head]{santa}
-\duck at ini{unicorn}
-\duck at ini[head]{magichat}
-\duck at ini[head]{chef}
-\duck at ini[head]{witch}
-\duck at ini[head]{graduate}
-\duck at ini[head]{beret}
-\duck at ini[head]{crown}
-\duck at ini[head]{queencrown}
-\duck at ini[head]{kingcrown}
-\duck at ini[head]{peakedcap}
-\duck at ini[head]{bunny}
-\duck at ini[head]{tophat}
-\duck at ini[head]{darthvader}
-\duck at ini[head]{harlequin}
-\duck at ini[head]{strawhat}
-\duck at ini[head]{helmet}
-\duck at ini[head]{viking}
-\duck at ini[head]{devil}
-\duck at ini[head]{conicalhat}
-\duck at ini[head]{sailor}
-\duck at ini[head]{bobblehat}
-\duck at ini[head]{sombrero}
-% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\duck at ini[acess]{glasses}
-\duck at ini[acess]{sunglasses}
-\duck at ini[acess]{squareglasses}
-\duck at ini[acess]{icecream}
-\duck at ini[acess]{book}
-\duck at ini[acess]{magicwand}
-\duck at ini[acess]{cricket}
-\duck at ini[acess]{rollingpin}
-\duck at ini[acess]{signpost}
-\duck at ini[acess]{lightsaber}
-\duck at ini[acess]{cake}
-\duck at ini[acess]{pizza}
-\duck at ini[acess]{hockey}
-\duck at ini[acess]{baguette}
-\duck at ini[acess]{football}
-\duck at ini[acess]{mask}
-\duck at ini[acess]{necklace}
-\duck at ini[acess]{milkshake}
-\duck at ini[acess]{wine}
-\duck at ini[acess]{prison}
-\duck at ini{speech}
-\duck at ini{think}
-\duck at ini[acess]{torch}
-\duck at ini[acess]{easter}
-\duck at ini[acess]{basket}
-\duck at ini{buttons}
-\duck at ini{sheep}
-\duck at ini{horsetail}
-\duck at ini[acess]{crozier}
-\duck at ini{davidlikespineapplepizza}
-\duck at ini{wing}
-\duck at ini[acess]{stethoscope}
-\duck at ini[acess]{neckerchief}
-\duck at ini{snowduck}
-\duck at ini{vampire}
-\duck at ini[acess]{crystalball}
-\duck at ini[acess]{cheese}
-\duck at ini[acess]{shovel}
-\duck at ini[acess]{pickaxe}
-\duck at ini[acess]{strawbroom}
-\duck at ini[acess]{broom}
-\duck at ini[acess]{umbrella}
-\duck at ini[acess]{umbrellaclosed}
-\duck at ini[acess]{handbag}
-\duck at ini[acess]{cocktail}
-\duck at ini{overleaf}
-\duck at ini[acess]{banana}
-\duck at ini[acess]{stick}
-\duck at ini{megaphone}
-
-\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,
- scarf/.code = \duck at scarftrue
- \def\duck at scarf{#1},
- scarf/.default = red!70!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,
- bobblehat/.code = \duck at bobblehattrue
- \def\duck at bobblehat{#1},
- bobble hat/.forward to = /duck/bobblehat,
- bobblehat/.default = red!70!black,
- sombrero/.code = \duck at sombrerotrue
- \def\duck at sombrero{#1},
- sombrero/.default = orange!70!yellow,
- sombreroa/.code = \def\duck at sombreroa{#1},
- sombreroa = green!70!blue,
- sombrerob/.code = \def\duck at sombrerob{#1},
- sombrerob = red,
- sombreroc/.code = \def\duck at sombreroc{#1},
- sombreroc = blue,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % 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,
- strawbroom/.code = \duck at strawbroomtrue
- \def\duck at strawbroom{#1},
- strawbroom/.default = brown!50!white,
- strawbroomstick/.code = \def\duck at strawbroomstick{#1},
- strawbroomstick = brown,
- strawbroomribbon/.code = \def\duck at strawbroomribbon{#1},
- strawbroomribbon = red!50!black,
- broom/.code = \duck at broomtrue
- \def\duck at broom{#1},
- broom/.default = brown,
- broomstick/.code = \def\duck at broomstick{#1},
- broomstick = gray!50!black,
- 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},
- banana/.code = \duck at bananatrue
- \def\duck at banana{#1},
- banana/.default = yellow!80!orange,
- stick/.code = \duck at sticktrue
- \def\duck at stick{#1},
- stick/.default = red!60!green,
- leaf/.code = \def\duck at leaf{#1},
- leaf = green!70!red,
- megaphone/.code = \duck at megaphonetrue
- \def\duck at megaphone{#1},
- megaphone/.default = lightgray
-}
-
-\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}
-\pgfmathsetmacro{\decoscalefactor}{sign(\tmpscaleA)*sign(\tmpscaleD)*\scalingfactor}%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% 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
-%
-% Scarf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at scarf
- \fill[\duck at scarf] (1.3780,1.2876) .. controls (1.1405,1.0484) and (0.7278,0.8710) .. (0.4865,1.1319) .. controls (0.4312,1.1245) and (0.3749,1.1088) .. (0.3443,1.0553) .. controls (0.4097,0.9269) and (0.4360,0.9534) .. (0.5231,0.8623) -- (0.4780,0.5230) -- (0.5666,0.5486) -- (0.6442,0.5011) -- (0.6584,0.6852) -- (0.6881,0.3913) -- (0.7782,0.4358) -- (0.8543,0.4133) -- (0.7988,0.8309) .. controls (1.0539,0.8635) and (1.1298,0.8415) .. (1.4849,1.1302) .. controls (1.4898,1.1985) and (1.4313,1.2543) .. (1.3780,1.2876) -- cycle;
-\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={Stars[distance=1.7mm,radius=0.5mm,angle=32]}, 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
-%
-% Bobble hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at bobblehat
- \pgfinterruptboundingbox
- \fill[\duck at bobblehat] (0.4639,1.7996) .. controls (0.5789,1.8438) and (1.3853,1.6023) .. (1.4046,1.4672) .. controls (1.4581,1.5025) and (1.5242,1.5917) .. (1.4544,1.6879) .. controls (1.5205,2.1879) and (0.7711,2.3780) .. (0.5562,1.9848) .. controls (0.4314,1.9650) and (0.4277,1.8625) .. (0.4639,1.7996) -- cycle;
- \fill[\duck at bobblehat] (1.1,2.2) circle [radius=0.1];
- \endpgfinterruptboundingbox
- \path (0.43,1.3) rectangle (1.5,2.3);
-\fi
-%
-% sombrero %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at sombrero
- \begin{scope}[rotate=-20,xshift=8,yshift=2]
- \fill[\duck at sombrero] (-.45,2) to[in=200] (0,2.8) to[out=-20] (.45,2) -- cycle;
- \fill[\duck at sombrero] (-0.65, 1.75) .. controls (-0.85, 1.7) and (-0.85, 1.9) .. (-0.85, 1.9) .. controls (-0.30, 2.2) and (0.30, 2.2) .. ( 0.85, 1.9) .. controls ( 0.85, 1.9) and (0.85, 1.7) .. ( 0.65, 1.75) .. controls ( 0.30, 1.95) and (-0.30, 1.95) .. (-0.65, 1.75) -- cycle;
- \draw[\duck at sombrerob,line width=\scalingfactor*0.8pt] (-0.85, 1.9) .. controls (-0.30, 2.2) and (0.30, 2.2) .. ( 0.85, 1.9);
- \draw[decorate, decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*6pt}, \duck at sombreroa, line width=\scalingfactor*1pt] (-0.81, 1.8) .. controls (-0.30, 2.1) and (0.30, 2.1) .. ( 0.82, 1.8);
- \begin{scope}
- \clip (-.45,2) to[in=200] (0,2.8) to[out=-20] (.45,2) -- cycle;
- \draw[decorate,decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*3pt},\duck at sombreroa, line width=\scalingfactor*1pt] (-.4,2.4) to[bend left] (.4,2.4);
- \fill[decorate,decoration={shape backgrounds,shape=circle, shape size=\scalingfactor*2pt, shape evenly spread=7}, \duck at sombreroc] (-.3,2.6) to[bend left] (.3,2.6);
- \fill[decorate,decoration={shape backgrounds,shape=circle,shape size=\scalingfactor*2pt,shape evenly spread=9},\duck at sombreroc] (-.4,2.18) to[bend left] (.4,2.18);
- \end{scope}
- \end{scope}
-\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
-%
-% strawbroom %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at strawbroom
- \fill[\duck at strawbroomstick] (0.9160,0.5478) -- (1.2792,1.6574) .. controls (1.3063,1.6961) and (1.3956,1.6649) .. (1.3688,1.6176) -- (0.9508,0.5179) .. controls (0.9360,0.5142) and (0.9202,0.5331) .. (0.9160,0.5478) -- cycle;
- \fill[\duck at strawbroom] (0.5528,0.2890) .. controls (0.6449,0.3598) and (0.7460,0.5693) .. (0.8911,0.6871) .. controls (0.9481,0.7215) and (1.0395,0.6925) .. (1.0553,0.6224) .. controls (1.1219,0.4385) and (0.9965,0.2147) .. (1.0056,0.1000) .. controls (0.8926,0.0241) and (0.5950,0.2078) .. (0.5528,0.2890) -- cycle;
- \draw[\duck at strawbroomribbon,line width=\scalingfactor*0.4pt] (0.7916,0.5876) .. controls (0.7916,0.5876) and (0.8210,0.5404) .. (0.8451,0.5304) .. controls (0.8708,0.5197) and (0.9021,0.5419) .. (0.9284,0.5329) .. controls (0.9544,0.5240) and (0.9663,0.4903) .. (0.9919,0.4806) .. controls (1.0148,0.4720) and (1.0653,0.4781) .. (1.0653,0.4781);
- \draw[\duck at strawbroomribbon,line width=\scalingfactor*0.4pt] (0.7565,0.5493) .. controls (0.7565,0.5493) and (0.7897,0.4961) .. (0.8169,0.4848) .. controls (0.8458,0.4727) and (0.8812,0.4978) .. (0.9109,0.4876) .. controls (0.9401,0.4776) and (0.9535,0.4396) .. (0.9824,0.4287) .. controls (1.0083,0.4189) and (1.0652,0.4259) .. (1.0652,0.4259);
-\fi
-%
-% broom %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at broom
- \scope[rotate=-10]
- \draw[\duck at broomstick,line width=\scalingfactor*1.8pt] (0.9, 1.8) -- ++(0,-1.4);
- \draw[\duck at broomstick,line width=\scalingfactor*1.8pt] (0.6, 0.42) -- ++(0.6,0);
- \fill[\duck at broom] (0.6, 0.40) -- ++(-0.05,-0.1) -- ++(0.7,0) -- ++(-0.05, 0.1) -- cycle;
- \endscope
-\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
-%
-% banana %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at banana
- \begin{scope}[yshift=10,xshift=19,rotate=-25,scale=1.3]
- \fill[\duck at banana!30!] (0.02,0) .. controls (0.21,0.20) and (0.21,0.40) .. (0.02,0.6) arc [start angle=60,end angle=120, radius =0.04] .. controls (0.07,0.40) and (0.07,0.20) .. (-0.02,0) --cycle ;
- %peel
- \begin{scope}
- \clip (-0.04,-0.01) rectangle (0.20,0.3);
- \fill[\duck at banana] (0.03,0) .. controls (0.22,0.20) and (0.22,0.40) .. (0.03,0.6) arc [start angle=60,end angle=120, radius =0.06] .. controls (0.06,0.40) and (0.06,0.20) .. (-0.03,0);
- \end{scope}
- \fill[\duck at banana!60!] (0.12,0.3) arc [start angle=140, end angle=-100, y radius=0.20, x radius=0.06] arc [start angle=-90, end angle=90, y radius=0.15, x radius=0.02] (0.12,0.3) arc [start angle=60, end angle=270, y radius=0.15, x radius=0.1] arc [start angle=270, end angle=90, y radius=0.13, x radius=0.04];
- \end{scope}
-\fi
-%
-% stick %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at stick
- \begin{scope}[rotate=-30,yshift=16,xshift=12]
- %leaf
- \begin{scope}[rotate=60, xshift=8.2,yshift=8.1]
- \fill[\duck at leaf] (-0.01,0) .. controls (-0.1,0) and (-0.02, 0.2) .. (0,0.2) .. controls (0.02, 0.2) and (0.1,0) .. (0.01,0.0);
- \path[clip] (-0.04,-0.04)-- (-0.01,0) .. controls (-0.1,0) and (-0.02, 0.2) .. (0,0.2) .. controls (0.02, 0.2) and (0.1,0) .. (0.01,0)-- (0.04,-0.04) --cycle;
- \draw[\duck at leaf!80!, line width=0.1] (0,-0.04) -- (0,0.2) \foreach \i in {0.02,0.04,...,0.2} {(0,\i) -- ++(0.1,\i) (0,\i) -- ++(-0.1,\i)} ;
- \end{scope}
- %stick itself
- \fill[\duck at stick!90!red] (-0.04,0.8) -- (-0.04,0.4) arc[start angle=345,end angle=270,radius=0.03] -- ++(0,-0.01) arc[start angle=90,end angle=15,radius=0.03] -- (-0.04,0) arc [start angle=180, end angle=360 ,x radius=0.04, y radius=0.02] -- (0.04, 0.4) arc [start angle=180, end angle=120, radius=0.08] arc [start angle=-90, end angle=90, x radius=0.02, y radius=0.04] arc [start angle=240, end angle=180, radius=0.08] -- (0.04,0.75) arc [start angle=0, end angle=120 ,x radius=0.04, y radius=0.02] --cycle;
- \fill[\duck at stick!90!] (0.08, 0.51) ellipse [x radius=0.02, y radius=0.04] (0,0.75) ellipse [x radius=0.04, y radius=0.02] ;
- \draw[\duck at stick!90!red, line width=0.06] (0.08, 0.51) ellipse [x radius=0.016, y radius=0.032]
- ellipse [x radius=0.012, y radius=0.024] ellipse [x radius=0.008, y radius=0.016] (0,0.75) ellipse [y radius=0.016, x radius=0.032] ellipse [y radius=0.012, x radius=0.024] ellipse [y radius=0.008, x radius=0.016] ;
- \fill[\duck at stick!90!red] (0.08, 0.51) ellipse [x radius=0.004, y radius=0.008] (0,0.75) ellipse [x radius=0.008, y radius=0.004];
- \end{scope}
-\fi
-%
-% megaphone %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck at megaphone
- \fill[\duck at megaphone] (0.2,1.2) ellipse[x radius=0.05,y radius=0.1];
- \fill[\duck at megaphone] (-0.4,1.2) ellipse[x radius=0.1,y radius=0.3];
- \fill[\duck at megaphone] (0.2,1.3) -- (-0.4,1.5) -- (-0.4,0.9) -- (0.2,1.1) -- cycle;
- \fill[\duck at megaphone!70!black] (-0.4,1.2) ellipse[x radius=0.07,y radius=0.25];
- \draw[line width=\scalingfactor*2pt,\duck at megaphone] (-0.05,1.05) circle [radius=0.13];
-\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}{\duck at listhead}
-\pgfmathdeclarerandomlist{accessories}{\duck at listacces}
-
-\def\shuffleducks{%
- \pgfmathrandomitem{\head}{head}%
- \edef\randomhead{\head}%
- \pgfmathrandomitem{\accessories}{accessories}%
- \edef\randomaccessories{\accessories}%
-}
-
-\newcommand*{\randuck}[1][]{%
- \shuffleducks%
- \duck[\randomhead, \randomaccessories, #1]%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% 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 };
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%.........................%%%%%%%%%%%%%%%%%%%.........................
-%....................%%%%%%%%%............%%%%%%%%....................
-%................%%%%%%....%%...................%%%%%%................
-%.............%%%%%.......%%%.......................%%%%%.............
-%...........%%%%........%%%%%%%%%...................%%%%%%%...........
-%.........%%%........%%%%%%%%%%%%%%%%..............%%%%%%%%%%.........
-%.......%%%.......%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.......
-%......%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%..............%%%%%%%%%%%......
-%.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%................%%%%%%%%%%%.....
-%...%%%%........%%%%%%%%%%%%%%%%%%%%%...................%%%%%%%%%%%...
-%...%%%..........%%%%%%%%%%%%%%%%%%%.....................%%%%%%%%%%...
-%..%%%............%%%%%%%%%%%%%%%%%.......................%%%%%%%%%%..
-%.%%%%............%%%%%%%%%%%%%%%%%........................%%%%%%%%%%.
-%.%%%..............%%%%%%%.......%%%......................%%%.....%%%.
-%%%%..............%%...............%%%...................%%%.......%%%
-%%%..............%%.................%%%..................%%.........%%
-%%%%............%%%...................%%%...............%%..........%%
-%%%%...........%%%.....................%%%.............%%...........%%
-%%%%%..........%%........................%%%%%%%%%%%%%%%%...........%%
-%%%%%........%%%........................%%%%%%%%%%%%%%%%%%.........%%%
-%.%%%%%%%%%%%%%%%......................%%%%%%%%%%%%%%%%%%%.........%%.
-%.%%%%%%%%%%%%%%%%.....................%%%%%%%%%%%%%%%%%%%........%%%.
-%..%%%%%%%%%%%%%%%%...................%%%%%%%%%%%%%%%%%%%%%.......%%..
-%...%%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%%%%%%%......%%...
-%...%%%%%%%%%%%%%%%%%%............%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....
-%.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....%%%.....
-%......%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%......%%%......
-%.......%%%%%%%%%%%%%%....................%%%%%%%%%%........%%%.......
-%.........%%%%%%%%%%%........................%%%%.........%%%.........
-%...........%%%%%%%%%........................%%........%%%%...........
-%.............%%%%%%%%%.....................%%......%%%%%.............
-%................%%%%%%%%.................%%%...%%%%%%................
-%....................%%%%%%%%......%%%%%%%%%%%%%%%....................
-%..........................%%%%%%%%%%%%%%%%%..........................
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Deleted: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks-plain.tex 2025-01-31 22:08:12 UTC (rev 73659)
@@ -1,63 +0,0 @@
-% !TeX root = ./testing/plain_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 https://www.latex-project.org/lppl.txt
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\input miniltx
-\input graphicx.sty
-\input tikz.tex
-\usetikzlibrary{calc}%
-\usetikzlibrary{patterns}%
-\usetikzlibrary{decorations.shapes}% for sombrero
-\usetikzlibrary{decorations.pathmorphing}
-
-\catcode`\@=11
-
-\let\pdfrandomseed\randomseed
-\font\tiny=cmr5
-
-% Duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\duck{\futurelet\next\doduck}
-\def\doduck{%
- \ifx[\next %]
- \expandafter\doduckopt
- \else
- \scope%%
- \tikzset{/duck/.cd}%
- \duck at draw%
- \endscope%%
- \fi
-}
-\def\doduckopt[#1]{%
- \scope%%
- \tikzset{/duck/.cd,#1}%
- \duck at draw%
- \endscope%%
-}
-
-% Stripes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\stripes{\futurelet\next\dostripes}
-\def\dostripes{
- \ifx[\next %]
- \expandafter\dostripesopt
- \else
- \tikzset{/stripes/.cd}\stripes at draw
- \fi
-}
-\def\dostripesopt[#1]{%
- \tikzset{/stripes/.cd,#1}\stripes at draw
-}
-
-\input tikzducks-generic.tex
-
-\catcode`\@=12
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzducks.sty 2025-01-31 22:08:12 UTC (rev 73659)
@@ -12,9 +12,8 @@
% See https://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzducks}[2025/01/05 version v1.10 Draw rubber ducks in TikZ]
+\ProvidesPackage{tikzducks}[2025/01/31 version v2.0 Draw rubber ducks in TikZ]
-\RequirePackage{expl3}
\RequirePackage{tikz}
\usetikzlibrary{patterns.meta} % for the wizard hat
\usetikzlibrary{calc} % for the sports jerseys
@@ -21,15 +20,16 @@
\usetikzlibrary{decorations.shapes} % for sombrero
\usetikzlibrary{decorations.pathmorphing}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% misc helper code
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% colour for the overleaf duck
\definecolor{duck at overleafcol}{RGB}{72,172,60}
-\newcommand*{\duck}[1][]{%
- \begin{scope}%
- \tikzset{/duck/.cd,#1}%
- \duck at draw%
- \end{scope}%
-}
-
+% using a random seed, e.g. for randuck
\ExplSyntaxOn
\ifdefined\sys_rand_seed:
\pgfmathsetseed {\sys_rand_seed:}
@@ -46,9 +46,1849 @@
\fi
\ExplSyntaxOff
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% for randomhead and randomaccessoires
+\def\duck at listhead{}
+\def\duck at listacces{}
+
+\ExplSyntaxOn
+% based on https://topanswers.xyz/tex?q=8082#a7698
+\NewDocumentCommand{\duck at ini}{om}{
+ \expandafter\newif\csname ifduck@#2\endcsname
+ \IfValueT{#1}{
+ \tl_put_right:cn { duck at list#1 } { {#2} }
+ }
+}
+\ExplSyntaxOff
+
+\duck at ini{name}
+\duck at ini{invisible}
+% Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\duck at ini{water}
+% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\duck at ini{grumpy}
+\duck at ini{laughing}
+\duck at ini{parrot}
+% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\duck at ini[head]{shorthair}
+\duck at ini[head]{longhair}
+\duck at ini[head]{crazyhair}
+\duck at ini[head]{recedinghair}
+\duck at ini{eyebrow}
+\duck at ini[head]{beard}
+\duck at ini[head]{mohican}
+\duck at ini[head]{mullet}
+\duck at ini[head]{parting}
+% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\duck at ini{clothing}
+\duck at ini{tshirt}
+\duck at ini{jacket}
+\duck at ini{tie}
+\duck at ini[acces]{cape}
+\duck at ini{stripes}
+\duck at ini[acces]{bowtie}
+\duck at ini{lapel}
+\duck at ini{aodai}
+\duck at ini[acces]{scarf}
+% Headgear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\duck at ini[head]{alien}
+\duck at ini[head]{hat}
+\duck at ini[head]{cap}
+\duck at ini[head]{santa}
+\duck at ini{unicorn}
+\duck at ini[head]{magichat}
+\duck at ini[head]{chef}
+\duck at ini[head]{witch}
+\duck at ini[head]{graduate}
+\duck at ini[head]{beret}
+\duck at ini[head]{crown}
+\duck at ini[head]{queencrown}
+\duck at ini[head]{kingcrown}
+\duck at ini[head]{peakedcap}
+\duck at ini[head]{bunny}
+\duck at ini[head]{tophat}
+\duck at ini[head]{darthvader}
+\duck at ini[head]{harlequin}
+\duck at ini[head]{strawhat}
+\duck at ini[head]{helmet}
+\duck at ini[head]{viking}
+\duck at ini[head]{devil}
+\duck at ini[head]{conicalhat}
+\duck at ini[head]{sailor}
+\duck at ini[head]{bobblehat}
+\duck at ini[head]{sombrero}
+% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\duck at ini[acces]{glasses}
+\duck at ini[acces]{sunglasses}
+\duck at ini[acces]{squareglasses}
+\duck at ini[acces]{icecream}
+\duck at ini[acces]{book}
+\duck at ini[acces]{magicwand}
+\duck at ini[acces]{cricket}
+\duck at ini[acces]{rollingpin}
+\duck at ini[acces]{signpost}
+\duck at ini[acces]{lightsaber}
+\duck at ini[acces]{cake}
+\duck at ini[acces]{pizza}
+\duck at ini[acces]{hockey}
+\duck at ini[acces]{baguette}
+\duck at ini[acces]{football}
+\duck at ini[acces]{mask}
+\duck at ini[acces]{necklace}
+\duck at ini[acces]{milkshake}
+\duck at ini[acces]{wine}
+\duck at ini[acces]{prison}
+\duck at ini{speech}
+\duck at ini{think}
+\duck at ini[acces]{torch}
+\duck at ini[acces]{easter}
+\duck at ini[acces]{basket}
+\duck at ini{buttons}
+\duck at ini{sheep}
+\duck at ini{horsetail}
+\duck at ini[acces]{crozier}
+\duck at ini{davidlikespineapplepizza}
+\duck at ini{wing}
+\duck at ini[acces]{stethoscope}
+\duck at ini[acces]{neckerchief}
+\duck at ini{snowduck}
+\duck at ini{vampire}
+\duck at ini[acces]{crystalball}
+\duck at ini[acces]{cheese}
+\duck at ini[acces]{shovel}
+\duck at ini[acces]{pickaxe}
+\duck at ini[acces]{strawbroom}
+\duck at ini[acces]{broom}
+\duck at ini[acces]{umbrella}
+\duck at ini[acces]{umbrellaclosed}
+\duck at ini[acces]{handbag}
+\duck at ini[acces]{cocktail}
+\duck at ini{overleaf}
+\duck at ini[acces]{banana}
+\duck at ini[acces]{stick}
+\duck at ini{megaphone}
+
+\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,
+ randomhead/.code = \shuffleducks,
+ randomhead/.forward to = /duck/\randomhead,
+ randomaccessories/.code = \shuffleducks,
+ randomaccessories/.forward to = /duck/\randomaccessories,
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % 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,
+ scarf/.code = \duck at scarftrue
+ \def\duck at scarf{#1},
+ scarf/.default = red!70!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,
+ bobblehat/.code = \duck at bobblehattrue
+ \def\duck at bobblehat{#1},
+ bobble hat/.forward to = /duck/bobblehat,
+ bobblehat/.default = red!70!black,
+ sombrero/.code = \duck at sombrerotrue
+ \def\duck at sombrero{#1},
+ sombrero/.default = orange!70!yellow,
+ sombreroa/.code = \def\duck at sombreroa{#1},
+ sombreroa = green!70!blue,
+ sombrerob/.code = \def\duck at sombrerob{#1},
+ sombrerob = red,
+ sombreroc/.code = \def\duck at sombreroc{#1},
+ sombreroc = blue,
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % 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,
+ strawbroom/.code = \duck at strawbroomtrue
+ \def\duck at strawbroom{#1},
+ strawbroom/.default = brown!50!white,
+ strawbroomstick/.code = \def\duck at strawbroomstick{#1},
+ strawbroomstick = brown,
+ strawbroomribbon/.code = \def\duck at strawbroomribbon{#1},
+ strawbroomribbon = red!50!black,
+ broom/.code = \duck at broomtrue
+ \def\duck at broom{#1},
+ broom/.default = brown,
+ broomstick/.code = \def\duck at broomstick{#1},
+ broomstick = gray!50!black,
+ 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},
+ banana/.code = \duck at bananatrue
+ \def\duck at banana{#1},
+ banana/.default = yellow!80!orange,
+ stick/.code = \duck at sticktrue
+ \def\duck at stick{#1},
+ stick/.default = red!60!green,
+ leaf/.code = \def\duck at leaf{#1},
+ leaf = green!70!red,
+ megaphone/.code = \duck at megaphonetrue
+ \def\duck at megaphone{#1},
+ megaphone/.default = lightgray
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Hooks
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\NewHook{tikzducks/background}
+\NewHook{tikzducks/body}
+\NewHook{tikzducks/clothing}
+\NewHook{tikzducks/hair}
+\NewHook{tikzducks/hat}
+\NewHook{tikzducks/foreground}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Duck
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand*{\duck}[1][]{%
+\begin{scope}%
+\tikzset{/duck/.cd,#1}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 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}
+\pgfmathsetmacro{\decoscalefactor}{sign(\tmpscaleA)*sign(\tmpscaleD)*\scalingfactor}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Environment
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\UseHook{tikzducks/background}
+\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
+ \begin{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);
+ \end{scope}
+\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\UseHook{tikzducks/body}
+\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
+%
+% Scarf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at scarf
+ \fill[\duck at scarf] (1.3780,1.2876) .. controls (1.1405,1.0484) and (0.7278,0.8710) .. (0.4865,1.1319) .. controls (0.4312,1.1245) and (0.3749,1.1088) .. (0.3443,1.0553) .. controls (0.4097,0.9269) and (0.4360,0.9534) .. (0.5231,0.8623) -- (0.4780,0.5230) -- (0.5666,0.5486) -- (0.6442,0.5011) -- (0.6584,0.6852) -- (0.6881,0.3913) -- (0.7782,0.4358) -- (0.8543,0.4133) -- (0.7988,0.8309) .. controls (1.0539,0.8635) and (1.1298,0.8415) .. (1.4849,1.1302) .. controls (1.4898,1.1985) and (1.4313,1.2543) .. (1.3780,1.2876) -- cycle;
+\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\UseHook{tikzducks/clothing}
+\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\UseHook{tikzducks/hair}
+\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={Stars[distance=1.7mm,radius=0.5mm,angle=32]}, 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);
+ \begin{pgfinterruptboundingbox}
+ \begin{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];
+ \end{scope}
+
+ \begin{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];
+ \end{scope}
+ \end{pgfinterruptboundingbox}
+\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
+%
+% Bobble hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at bobblehat
+ \begin{pgfinterruptboundingbox}
+ \fill[\duck at bobblehat] (0.4639,1.7996) .. controls (0.5789,1.8438) and (1.3853,1.6023) .. (1.4046,1.4672) .. controls (1.4581,1.5025) and (1.5242,1.5917) .. (1.4544,1.6879) .. controls (1.5205,2.1879) and (0.7711,2.3780) .. (0.5562,1.9848) .. controls (0.4314,1.9650) and (0.4277,1.8625) .. (0.4639,1.7996) -- cycle;
+ \fill[\duck at bobblehat] (1.1,2.2) circle [radius=0.1];
+ \end{pgfinterruptboundingbox}
+ \path (0.43,1.3) rectangle (1.5,2.3);
+\fi
+%
+% sombrero %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sombrero
+ \begin{scope}[rotate=-20,xshift=8,yshift=2]
+ \fill[\duck at sombrero] (-.45,2) to[in=200] (0,2.8) to[out=-20] (.45,2) -- cycle;
+ \fill[\duck at sombrero] (-0.65, 1.75) .. controls (-0.85, 1.7) and (-0.85, 1.9) .. (-0.85, 1.9) .. controls (-0.30, 2.2) and (0.30, 2.2) .. ( 0.85, 1.9) .. controls ( 0.85, 1.9) and (0.85, 1.7) .. ( 0.65, 1.75) .. controls ( 0.30, 1.95) and (-0.30, 1.95) .. (-0.65, 1.75) -- cycle;
+ \draw[\duck at sombrerob,line width=\scalingfactor*0.8pt] (-0.85, 1.9) .. controls (-0.30, 2.2) and (0.30, 2.2) .. ( 0.85, 1.9);
+ \draw[decorate, decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*6pt}, \duck at sombreroa, line width=\scalingfactor*1pt] (-0.81, 1.8) .. controls (-0.30, 2.1) and (0.30, 2.1) .. ( 0.82, 1.8);
+ \begin{scope}
+ \clip (-.45,2) to[in=200] (0,2.8) to[out=-20] (.45,2) -- cycle;
+ \draw[decorate,decoration={zigzag, amplitude=\decoscalefactor*1pt, segment length=\scalingfactor*3pt},\duck at sombreroa, line width=\scalingfactor*1pt] (-.4,2.4) to[bend left] (.4,2.4);
+ \fill[decorate,decoration={shape backgrounds,shape=circle, shape size=\scalingfactor*2pt, shape evenly spread=7}, \duck at sombreroc] (-.3,2.6) to[bend left] (.3,2.6);
+ \fill[decorate,decoration={shape backgrounds,shape=circle,shape size=\scalingfactor*2pt,shape evenly spread=9},\duck at sombreroc] (-.4,2.18) to[bend left] (.4,2.18);
+ \end{scope}
+ \end{scope}
+\fi
+%
+% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\UseHook{tikzducks/hat}
+\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];
+ \begin{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;
+ \end{scope}
+\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];
+ \begin{scope}
+ \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03);
+ \fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse[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];
+ \end{scope}
+ \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];
+ \begin{scope}
+ \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03);
+ \fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse[x radius=0.18, y radius=0.4];
+ \end{scope}
+ \begin{scope}
+ \clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87);
+ \fill[\duck at wine, rotate=-10] (0.8,1.1) ellipse[x radius=0.15, y radius=0.36];
+ \end{scope}
+\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];
+ \begin{scope}
+ \clip[rotate=-12] (0.45,0.15) rectangle (0.63,0.25);
+ \fill[\duck at prison,even odd rule,rotate=110](-0.07,-0.6) ellipse[x radius=0.1, y radius=0.07] (-0.07,-0.6) ellipse[x radius=0.06, y radius=0.04];
+ \end{scope}
+\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
+ \begin{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];
+ \end{scope}
+\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
+ \begin{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];
+ \end{scope}
+\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
+ \begin{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];
+ \end{scope}
+ \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];
+ \begin{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);
+ \end{scope}
+\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
+ \begin{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];
+ \end{scope}
+\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
+%
+% strawbroom %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at strawbroom
+ \fill[\duck at strawbroomstick] (0.9160,0.5478) -- (1.2792,1.6574) .. controls (1.3063,1.6961) and (1.3956,1.6649) .. (1.3688,1.6176) -- (0.9508,0.5179) .. controls (0.9360,0.5142) and (0.9202,0.5331) .. (0.9160,0.5478) -- cycle;
+ \fill[\duck at strawbroom] (0.5528,0.2890) .. controls (0.6449,0.3598) and (0.7460,0.5693) .. (0.8911,0.6871) .. controls (0.9481,0.7215) and (1.0395,0.6925) .. (1.0553,0.6224) .. controls (1.1219,0.4385) and (0.9965,0.2147) .. (1.0056,0.1000) .. controls (0.8926,0.0241) and (0.5950,0.2078) .. (0.5528,0.2890) -- cycle;
+ \draw[\duck at strawbroomribbon,line width=\scalingfactor*0.4pt] (0.7916,0.5876) .. controls (0.7916,0.5876) and (0.8210,0.5404) .. (0.8451,0.5304) .. controls (0.8708,0.5197) and (0.9021,0.5419) .. (0.9284,0.5329) .. controls (0.9544,0.5240) and (0.9663,0.4903) .. (0.9919,0.4806) .. controls (1.0148,0.4720) and (1.0653,0.4781) .. (1.0653,0.4781);
+ \draw[\duck at strawbroomribbon,line width=\scalingfactor*0.4pt] (0.7565,0.5493) .. controls (0.7565,0.5493) and (0.7897,0.4961) .. (0.8169,0.4848) .. controls (0.8458,0.4727) and (0.8812,0.4978) .. (0.9109,0.4876) .. controls (0.9401,0.4776) and (0.9535,0.4396) .. (0.9824,0.4287) .. controls (1.0083,0.4189) and (1.0652,0.4259) .. (1.0652,0.4259);
+\fi
+%
+% broom %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at broom
+ \begin{scope}[rotate=-10]
+ \draw[\duck at broomstick,line width=\scalingfactor*1.8pt] (0.9, 1.8) -- ++(0,-1.4);
+ \draw[\duck at broomstick,line width=\scalingfactor*1.8pt] (0.6, 0.42) -- ++(0.6,0);
+ \fill[\duck at broom] (0.6, 0.40) -- ++(-0.05,-0.1) -- ++(0.7,0) -- ++(-0.05, 0.1) -- cycle;
+ \end{scope}
+\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
+%
+% banana %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at banana
+ \begin{scope}[yshift=10,xshift=19,rotate=-25,scale=1.3]
+ \fill[\duck at banana!30!] (0.02,0) .. controls (0.21,0.20) and (0.21,0.40) .. (0.02,0.6) arc [start angle=60,end angle=120, radius =0.04] .. controls (0.07,0.40) and (0.07,0.20) .. (-0.02,0) --cycle ;
+ %peel
+ \begin{scope}
+ \clip (-0.04,-0.01) rectangle (0.20,0.3);
+ \fill[\duck at banana] (0.03,0) .. controls (0.22,0.20) and (0.22,0.40) .. (0.03,0.6) arc [start angle=60,end angle=120, radius =0.06] .. controls (0.06,0.40) and (0.06,0.20) .. (-0.03,0);
+ \end{scope}
+ \fill[\duck at banana!60!] (0.12,0.3) arc [start angle=140, end angle=-100, y radius=0.20, x radius=0.06] arc [start angle=-90, end angle=90, y radius=0.15, x radius=0.02] (0.12,0.3) arc [start angle=60, end angle=270, y radius=0.15, x radius=0.1] arc [start angle=270, end angle=90, y radius=0.13, x radius=0.04];
+ \end{scope}
+\fi
+%
+% stick %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at stick
+ \begin{scope}[rotate=-30,yshift=16,xshift=12]
+ %leaf
+ \begin{scope}[rotate=60, xshift=8.2,yshift=8.1]
+ \fill[\duck at leaf] (-0.01,0) .. controls (-0.1,0) and (-0.02, 0.2) .. (0,0.2) .. controls (0.02, 0.2) and (0.1,0) .. (0.01,0.0);
+ \path[clip] (-0.04,-0.04)-- (-0.01,0) .. controls (-0.1,0) and (-0.02, 0.2) .. (0,0.2) .. controls (0.02, 0.2) and (0.1,0) .. (0.01,0)-- (0.04,-0.04) --cycle;
+ \draw[\duck at leaf!80!, line width=0.1] (0,-0.04) -- (0,0.2) \foreach \i in {0.02,0.04,...,0.2} {(0,\i) -- ++(0.1,\i) (0,\i) -- ++(-0.1,\i)} ;
+ \end{scope}
+ %stick itself
+ \fill[\duck at stick!90!red] (-0.04,0.8) -- (-0.04,0.4) arc[start angle=345,end angle=270,radius=0.03] -- ++(0,-0.01) arc[start angle=90,end angle=15,radius=0.03] -- (-0.04,0) arc [start angle=180, end angle=360 ,x radius=0.04, y radius=0.02] -- (0.04, 0.4) arc [start angle=180, end angle=120, radius=0.08] arc [start angle=-90, end angle=90, x radius=0.02, y radius=0.04] arc [start angle=240, end angle=180, radius=0.08] -- (0.04,0.75) arc [start angle=0, end angle=120 ,x radius=0.04, y radius=0.02] --cycle;
+ \fill[\duck at stick!90!] (0.08, 0.51) ellipse [x radius=0.02, y radius=0.04] (0,0.75) ellipse [x radius=0.04, y radius=0.02] ;
+ \draw[\duck at stick!90!red, line width=0.06] (0.08, 0.51) ellipse [x radius=0.016, y radius=0.032]
+ ellipse [x radius=0.012, y radius=0.024] ellipse [x radius=0.008, y radius=0.016] (0,0.75) ellipse [y radius=0.016, x radius=0.032] ellipse [y radius=0.012, x radius=0.024] ellipse [y radius=0.008, x radius=0.016] ;
+ \fill[\duck at stick!90!red] (0.08, 0.51) ellipse [x radius=0.004, y radius=0.008] (0,0.75) ellipse [x radius=0.008, y radius=0.004];
+ \end{scope}
+\fi
+%
+% megaphone %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at megaphone
+ \fill[\duck at megaphone] (0.2,1.2) ellipse[x radius=0.05,y radius=0.1];
+ \fill[\duck at megaphone] (-0.4,1.2) ellipse[x radius=0.1,y radius=0.3];
+ \fill[\duck at megaphone] (0.2,1.3) -- (-0.4,1.5) -- (-0.4,0.9) -- (0.2,1.1) -- cycle;
+ \fill[\duck at megaphone!70!black] (-0.4,1.2) ellipse[x radius=0.07,y radius=0.25];
+ \draw[line width=\scalingfactor*2pt,\duck at megaphone] (-0.05,1.05) circle [radius=0.13];
+\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\UseHook{tikzducks/foreground}
+\csname duckhookforeground\endcsname
+%
+%\draw (current bounding box.north west) rectangle (current bounding box.south east);% For debugging bounding boxes
+%
+\end{scope}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Random ducks
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pgfmathdeclarerandomlist{head}{\duck at listhead}
+\pgfmathdeclarerandomlist{accessories}{\duck at listacces}
+
+\def\shuffleducks{%
+ \pgfmathrandomitem{\head}{head}%
+ \edef\randomhead{\head}%
+ \pgfmathrandomitem{\accessories}{accessories}%
+ \edef\randomaccessories{\accessories}%
+}
+
+\newcommand*{\randuck}[1][]{%
+ \duck[randomhead, randomaccessories, #1]%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 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
+}
+
+% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\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}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 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
+}
+
\newcommand*{\stripes}[1][]{%
\tikzset{/stripes/.cd,#1}%
- \stripes at draw%
+ \path (0.1,0.1) rectangle (2.1,1.45);
+ \begin{pgfinterruptboundingbox}
+ \begin{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)$);
+ }
+ \end{scope}
+ \end{pgfinterruptboundingbox}
+ \node at (wing) {\stripes at emblem };
}
-
-\input tikzducks-generic
Modified: trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex 2025-01-31 22:05:40 UTC (rev 73658)
+++ trunk/Master/texmf-dist/tex/generic/tikzducks/tikzlibraryducks.code.tex 2025-01-31 22:08:12 UTC (rev 73659)
@@ -16,7 +16,7 @@
% This is all that is needed ...
\tikzset{
duck/.pic={%
- \duck at draw
+ \duck
},
duck/.search also={,/tikz,/pgf},
}
More information about the tex-live-commits
mailing list.