summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzducks/tikzducks.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikzducks/tikzducks.sty')
-rw-r--r--graphics/pgf/contrib/tikzducks/tikzducks.sty1792
1 files changed, 13 insertions, 1779 deletions
diff --git a/graphics/pgf/contrib/tikzducks/tikzducks.sty b/graphics/pgf/contrib/tikzducks/tikzducks.sty
index aa15e471fa..b377387c2d 100644
--- a/graphics/pgf/contrib/tikzducks/tikzducks.sty
+++ b/graphics/pgf/contrib/tikzducks/tikzducks.sty
@@ -12,8 +12,9 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzducks}[2020/04/22 version v1.4 Draw rubber ducks in TikZ]
+\ProvidesPackage{tikzducks}[2020/06/30 version v1.5 Draw rubber ducks in TikZ]
+\RequirePackage{expl3}
\RequirePackage{tikz}
\usetikzlibrary{patterns} % for the wizard hat
\usetikzlibrary{calc} % for the sports jerseys
@@ -27,1790 +28,23 @@
\end{scope}%
}
-\newif\ifduck@name
-\newif\ifduck@invisible
-% Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck@water
-% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck@grumpy
-\newif\ifduck@laughing
-\newif\ifduck@parrot
-% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck@shorthair
-\newif\ifduck@longhair
-\newif\ifduck@crazyhair
-\newif\ifduck@recedinghair
-\newif\ifduck@eyebrow
-\newif\ifduck@beard
-\newif\ifduck@mohican
-\newif\ifduck@mullet
-\newif\ifduck@parting
-% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck@clothing
-\newif\ifduck@tshirt
-\newif\ifduck@jacket
-\newif\ifduck@tie
-\newif\ifduck@cape
-\newif\ifduck@stripes
-\newif\ifduck@bowtie
-\newif\ifduck@lapel
-\newif\ifduck@aodai
-% Headgear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck@alien
-\newif\ifduck@hat
-\newif\ifduck@cap
-\newif\ifduck@santa
-\newif\ifduck@unicorn
-\newif\ifduck@magichat
-\newif\ifduck@chef
-\newif\ifduck@witch
-\newif\ifduck@graduate
-\newif\ifduck@beret
-\newif\ifduck@crown
-\newif\ifduck@queencrown
-\newif\ifduck@kingcrown
-\newif\ifduck@peakedcap
-\newif\ifduck@bunny
-\newif\ifduck@tophat
-\newif\ifduck@darthvader
-\newif\ifduck@harlequin
-\newif\ifduck@strawhat
-\newif\ifduck@helmet
-\newif\ifduck@viking
-\newif\ifduck@devil
-\newif\ifduck@conicalhat
-\newif\ifduck@sailor
-% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifduck@glasses
-\newif\ifduck@sunglasses
-\newif\ifduck@squareglasses
-\newif\ifduck@icecream
-\newif\ifduck@book
-\newif\ifduck@magicwand
-\newif\ifduck@cricket
-\newif\ifduck@rollingpin
-\newif\ifduck@signpost
-\newif\ifduck@lightsaber
-\newif\ifduck@cake
-\newif\ifduck@pizza
-\newif\ifduck@hockey
-\newif\ifduck@baguette
-\newif\ifduck@football
-\newif\ifduck@mask
-\newif\ifduck@necklace
-\newif\ifduck@milkshake
-\newif\ifduck@wine
-\newif\ifduck@prison
-\newif\ifduck@speech
-\newif\ifduck@think
-\newif\ifduck@torch
-\newif\ifduck@easter
-\newif\ifduck@basket
-\newif\ifduck@buttons
-\newif\ifduck@sheep
-\newif\ifduck@horsetail
-\newif\ifduck@crozier
-\newif\ifduck@davidlikespineapplepizza
-\newif\ifduck@wing
-\newif\ifduck@stethoscope
-\newif\ifduck@neckerchief
-\newif\ifduck@snowduck
-\newif\ifduck@vampire
-\newif\ifduck@crystalball
-\newif\ifduck@cheese
-\newif\ifduck@shovel
-\newif\ifduck@pickaxe
-\newif\ifduck@umbrella
-\newif\ifduck@umbrellaclosed
-\newif\ifduck@handbag
-\newif\ifduck@cocktail
-\newif\ifduck@overleaf
-
-\tikzset{
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Pass unknown keys on to tikz
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- /duck/.search also={/tikz,/pgf},
- /duck/.cd,
- name/.code= \duck@nametrue \def\duck@name{#1},
- invisible/.code = \duck@invisibletrue,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Environment
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- water/.code = \duck@watertrue
- \def\duck@water{#1},
- water/.default = blue,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % body parts
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- body/.code = \def\duck@body{#1},
- body = yellow!70!brown,
- head/.code = \def\duck@head{#1},
- eye/.code = \def\duck@eye{#1},
- eye = white!85!yellow,
- pupil/.code = \def\duck@pupil{#1},
- pupil = black,
- bill/.code = \def\duck@bill{#1},
- bill = orange!50!brown,
- grumpy/.code = \duck@grumpytrue,
- laughing/.code = \duck@laughingtrue,
- parrot/.code = \duck@parrottrue,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % clothing
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- tshirt/.code = \duck@tshirttrue
- \duck@clothingtrue
- \def\duck@tshirt{#1},
- tshirt/.default = white,
- jacket/.code = \duck@jackettrue
- \duck@clothingtrue
- \def\duck@jacket{#1},
- jacket/.default = blue,
- tie/.code = \duck@tietrue
- \def\duck@tie{#1},
- tie/.default = blue,
- cape/.code = \duck@capetrue
- \duck@clothingtrue
- \def\duck@cape{#1},
- cape/.default = red,
- stripes/.code = \duck@stripestrue
- \duck@clothingtrue
- \def\duck@stripes{#1},
- stripes/.default = \stripes ,
- bowtie/.code = \duck@bowtietrue
- \def\duck@bowtie{#1},
- bow tie/.forward to = /duck/bowtie,
- bowtie/.default = black,
- lapel/.code = \duck@lapeltrue
- \def\duck@lapel{#1},
- lapel/.default = black,
- aodai/.code = \duck@aodaitrue
- \duck@clothingtrue
- \def\duck@aodai{#1},
- ao dai/.forward to = /duck/aodai,
- aodai/.default = blue!50!black,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % hair styles
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- shorthair/.code = \duck@shorthairtrue
- \def\duck@hair{#1},
- short hair/.forward to = /duck/shorthair,
- shorthair/.default = brown,
- longhair/.code = \duck@longhairtrue
- \def\duck@hair{#1},
- long hair/.forward to = /duck/longhair,
- longhair/.default = brown,
- crazyhair/.code = \duck@crazyhairtrue
- \def\duck@hair{#1},
- crazy hair/.forward to = /duck/crazyhair,
- crazyhair/.default = brown,
- recedinghair/.code = \duck@recedinghairtrue
- \def\duck@hair{#1},
- receding hair/.forward to = /duck/recedinghair,
- recedinghair/.default = brown,
- eyebrow/.code = \duck@eyebrowtrue
- \def\duck@eyebrow{#1},
- eyebrow/.default = brown,
- beard/.code = \duck@beardtrue
- \def\duck@beard{#1},
- beard/.default = brown,
- mohican/.code = \duck@mohicantrue
- \def\duck@hair{#1},
- mohican/.default = brown,
- mullet/.code = \duck@mullettrue
- \def\duck@hair{#1},
- mullet/.default = brown,
- parting/.code = \duck@partingtrue
- \def\duck@hair{#1},
- parting/.default = brown,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Headgear
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- alien/.code = \duck@alientrue
- \def\duck@alien{#1},
- alien/.default = green,
- hat/.code = \duck@hattrue
- \def\duck@hat{#1},
- hat/.default = brown,
- cap/.code = \duck@captrue
- \def\duck@cap{#1},
- cap/.default = blue,
- santa/.code = \duck@santatrue
- \def\duck@santa{#1},
- santa/.default = red!80!black,
- chef/.code = \duck@cheftrue
- \def\duck@chef{#1},
- chef/.default = gray!20!white,
- graduate/.code = \duck@graduatetrue
- \def\duck@graduate{#1},
- graduate/.default = black,
- tassel/.code = \def\duck@tassel{#1},
- tassel = red,
- beret/.code = \duck@berettrue
- \def\duck@beret{#1},
- beret/.default = black,
- unicorn/.code = \duck@unicorntrue
- \def\duck@unicorn{#1},
- unicorn/.default = pink,
- magichat/.code = \duck@magichattrue
- \def\duck@magichat{#1},
- magic hat/.forward to = /duck/magichat,
- magichat/.default = violet,
- magicstars/.code = \def\duck@magicstars{#1},
- magic stars/.forward to = /duck/magicstars,
- magicstars = yellow!80!brown,
- witch/.code = \duck@witchtrue
- \def\duck@witch{#1},
- witch/.default = black,
- crown/.code = \duck@crowntrue
- \def\duck@crown{#1},
- crown/.default = yellow,
- queencrown/.code = \duck@queencrowntrue
- \def\duck@queencrown{#1},
- queen crown/.forward to = /duck/queencrown,
- queencrown/.default = yellow,
- kingcrown/.code = \duck@kingcrowntrue
- \def\duck@kingcrown{#1},
- king crown/.forward to = /duck/kingcrown,
- kingcrown/.default = gray,
- bunny/.code = \duck@bunnytrue
- \def\duck@bunny{#1},
- bunny/.default = \duck@body,
- inear/.code = \def\duck@inear{#1},
- in ear/.forward to = /duck/inear,
- inear = \duck@bunny!50!white,
- peakedcap/.code = \duck@peakedcaptrue
- \def\duck@peakedcap{#1},
- peaked cap/.forward to = /duck/peakedcap,
- peakedcap/.default = blue,
- tophat/.code = \duck@tophattrue
- \def\duck@tophat{#1},
- top hat/.forward to = /duck/tophat,
- tophat/.default = black,
- darthvader/.code = \duck@darthvadertrue
- \def\duck@darthvader{#1},
- darth vader/.forward to = /duck/darthvader,
- darthvader/.default = black,
- harlequin/.code = \duck@harlequintrue
- \def\duck@harlequin{#1},
- harlequin/.default = blue,
- niuqelrah/.code = \def\duck@niuqelrah{#1},
- niuqelrah = red,
- strawhat/.code = \duck@strawhattrue
- \def\duck@strawhat{#1},
- straw hat/.forward to = /duck/strawhat,
- strawhat/.default = gray!30!white,
- ribbon/.code = \def\duck@ribbon{#1},
- ribbon = black,
- helmet/.code = \duck@helmettrue
- \def\duck@helmet{#1},
- helmet/.default = gray,
- devil/.code = \duck@deviltrue
- \def\duck@devil{#1},
- devil/.default = red,
- viking/.code = \duck@vikingtrue
- \def\duck@viking{#1}
- \duck@deviltrue
- \def\duck@devil{brown!20!white},
- viking/.default = gray,
- conicalhat/.code = \duck@conicalhattrue
- \def\duck@conicalhat{#1},
- conical hat/.forward to = /duck/conicalhat,
- conicalhat/.default = brown!90!orange!90!white,
- sailor/.code = \duck@sailortrue
- \def\duck@sailor{#1},
- sailor/.default = white!80!gray,
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Accessories
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- glasses/.code = \duck@glassestrue
- \def\duck@glasses{#1},
- glasses/.default = black,
- sunglasses/.code = \duck@sunglassestrue
- \def\duck@sunglasses{#1},
- sunglasses/.default = black,
- squareglasses/.code = \duck@squareglassestrue
- \def\duck@squareglasses{#1},
- square glasses/.forward to = /duck/squareglasses,
- squareglasses/.default = black,
- icecream/.code = \duck@icecreamtrue
- \def\duck@cone{#1},
- ice cream/.forward to = /duck/icecream,
- icecream/.default = brown!60!gray,
- flavoura/.code = \def\duck@flavoura{#1},
- flavour a/.forward to = /duck/flavoura,
- flavoura = brown!50!black,
- flavourb/.code = \def\duck@flavourb{#1},
- flavour b/.forward to = /duck/flavourb,
- flavourb = white!70!brown,
- flavourc/.code = \def\duck@flavourc{#1},
- flavour c/.forward to = /duck/flavourc,
- flavourc = red!50!white,
- book/.code = \duck@booktrue
- \def\duck@book{#1},
- bookcolour/.code = \def\duck@bookcolour{#1},
- book colour/.forward to = /duck/bookcolour,
- book color/.forward to = /duck/bookcolour,
- bookcolor/.forward to = /duck/bookcolour,
- bookcolour = brown,
- signpost/.code = \duck@signposttrue
- \def\duck@signpost{#1},
- sign post/.forward to = /duck/signpost,
- signcolour/.code = \def\duck@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@signback{#1},
- sign back/.forward to = /duck/signback,
- signback = green!40!black,
- magicwand/.code = \duck@magicwandtrue,
- magic want/.forward to = /duck/magicwand,
- cricket/.code = \duck@crickettrue
- \def\duck@cricket{#1},
- cricket/.default = brown,
- rollingpin/.code = \duck@rollingpintrue
- \def\duck@rollingpin{#1},
- rolling pin/.forward to = /duck/rollingpin,
- rollingpin/.default = brown,
- lightsaber/.code = \duck@lightsabertrue
- \def\duck@lightsaber{#1},
- light saber/.forward to = /duck/lightsaber,
- lightsaber/.default = green,
- cake/.code = \duck@caketrue
- \def\duck@cake{#1},
- cake/.default = violet,
- pizza/.code = \duck@pizzatrue,
- hockey/.code = \duck@hockeytrue
- \def\duck@hockey{#1},
- hockey/.default = brown,
- baguette/.code = \duck@baguettetrue
- \def\duck@baguette{#1},
- baguette/.default = brown,
- football/.code = \duck@footballtrue
- \def\duck@football{#1},
- football/.default = white,
- mask/.code = \duck@masktrue
- \def\duck@mask{#1},
- mask/.default = black,
- necklace/.code = \duck@necklacetrue
- \def\duck@necklace{#1},
- necklace/.default = white!80!gray,
- milkshake/.code = \duck@milkshaketrue
- \def\duck@milkshake{#1},
- milkshake/.default = red!20!white,
- wine/.code = \duck@winetrue
- \def\duck@wine{#1},
- wine/.default = red!70!black,
- prison/.code = \duck@prisontrue
- \def\duck@prison{#1},
- prison/.default = gray,
- speech/.code = \duck@speechtrue
- \def\duck@speech{#1},
- think/.code = \duck@thinktrue
- \def\duck@think{#1},
- bubblecolour/.code = \def\duck@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@torchtrue
- \def\duck@torch{#1},
- torch/.default = gray,
- basket/.code = \duck@baskettrue
- \def\duck@basket{#1},
- basket/.default = brown!70!gray,
- easter/.code = \duck@eastertrue
- \duck@baskettrue
- \def\duck@basket{#1},
- easter/.default = brown!70!gray,
- egga/.code = \def\duck@egga{#1},
- egg a/.forward to = /duck/egga,
- egga = blue,
- eggb/.code = \def\duck@eggb{#1},
- egg b/.forward to = /duck/eggb,
- eggb = green,
- eggc/.code = \def\duck@eggc{#1},
- egg c/.forward to = /duck/eggc,
- eggc = red,
- buttons/.code = \duck@buttonstrue
- \def\duck@buttons{#1},
- buttons/.default = black,
- sheep/.code = \duck@sheeptrue
- \def\duck@sheep{#1},
- sheep/.default = \duck@body,
- horsetail/.code = \duck@horsetailtrue
- \def\duck@horsetail{#1},
- horsetail/.default = brown,
- crozier/.code = \duck@croziertrue
- \def\duck@crozier{#1},
- crozier/.default = brown,
- davidlikespineapplepizza/.code = \duck@davidlikespineapplepizzatrue
- \duck@speechtrue
- \def\duck@speech{\scalebox{\scalingfactor}{\scalebox{0.9}{\tiny ih, che schifo!}}},
- david likes pineapple pizza/.forward to = /duck/davidlikespineapplepizza,
- wing/.code = \duck@wingtrue
- \def\duck@wing{#1},
- wing/.default = yellow!50!brown,
- stethoscope/.code = \duck@stethoscopetrue
- \def\duck@stethoscope{#1},
- stethoscope/.default = gray,
- neckerchief/.code = \duck@neckerchieftrue
- \def\duck@neckerchief{#1},
- neckerchief/.default = brown,
- woggle/.code = \def\duck@woggle{#1},
- woggle = brown!50!black,
- snowduck/.code = \duck@snowducktrue
- \def\duck@snowduck{#1}
- \def\duck@eye{#1}
- \def\duck@body{#1}
- \duck@tophattrue
- \def\duck@tophat{black}
- \duck@buttonstrue
- \def\duck@buttons{black},
- snow duck/.forward to = /duck/snowduck,
- snowduck/.default = gray!15!white,
- vampire/.code = \duck@vampiretrue
- \def\duck@vampire{#1},
- vampire/.default = white!85!yellow,
- crystalball/.code = \duck@crystalballtrue
- \def\duck@crystalball{#1},
- crystal ball/.forward to = /duck/crystalball,
- crystalball/.default = cyan,
- cheese/.code = \duck@cheesetrue
- \def\duck@cheese{#1},
- cheese/.default = orange,
- shovel/.code = \duck@shoveltrue
- \def\duck@shovel{#1},
- shovel/.default = gray,
- pickaxe/.code = \duck@pickaxetrue
- \def\duck@pickaxe{#1},
- pickaxe/.default = gray,
- umbrella/.code = \duck@umbrellatrue
- \def\duck@umbrella{#1},
- umbrella/.default = cyan,
- umbrellaclosed/.code = \duck@umbrellaclosedtrue
- \def\duck@umbrellaclosed{#1},
- umbrellaclosed/.default = cyan,
- umbrella closed/.forward to = /duck/umbrellaclosed,
- handbag/.code = \duck@handbagtrue
- \def\duck@handbag{#1},
- handbag/.default = red!70!black,
- cocktail/.code = \duck@cocktailtrue,
- overleaf/.code = \duck@overleaftrue
- \def\duck@body{duck@overleafcol}
- \duck@graduatetrue
- \def\duck@graduate{black}
- \duck@squareglassestrue
- \def\duck@squareglasses{black}
-}
-
-\def\duck@draw{
-%\begin{scope}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% minimal bounding box size
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@invisible
+\ExplSyntaxOn
+\ifdefined\sys_rand_seed:
+\pgfmathsetseed {\sys_rand_seed:}
\else
- \path (0.1,0.1) rectangle (2.1,2.12);
-\fi
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% defining some coordinates
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@name
- \coordinate (\duck@name-wing) at (0.8,0.7);
- \coordinate (\duck@name-head) at (0.9,2);
- \coordinate (\duck@name-bill) at (0.5,1.3);
- \coordinate (\duck@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@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}%
-\pgfmathsetmacro{\xscalefactor}{\tmpscaleA}
-\pgfmathsetmacro{\yscalefactor}{\tmpscaleD}
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Environment
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\csname duckhookbackground\endcsname
-%
-% water %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@water
- \fill[\duck@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@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@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@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@sheep
- \fill[\duck@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@devil
- \fill[\duck@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@conicalhat
- \fill[\duck@conicalhat!50!black,rotate=-21] (0.265,1.915) ellipse[x radius=0.79, y radius=0.1];
- \fill[\duck@conicalhat!30!black] (0.5501,0.9739) -- (0.2002,1.9676) -- (0.2946,2.0008) -- (0.6445,1.0072) -- cycle;
-\fi
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% body parts
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@invisible
+\ifdefined\pdfrandomseed % pdflatex
\else
-%
-% body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{pgfinterruptboundingbox}
- \fill[\duck@body] \duckpathbody;
-\end{pgfinterruptboundingbox}
-%
-% head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifdefined\duck@head\else\let\duck@head=\duck@body\fi
-\fill[\duck@head]
- (0.90,1.50) ellipse[x radius=0.50, y radius=0.625];
-%
-% bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@grumpy
- \fill[\duck@bill] \duckpathgrumpybill;
+\ifdefined\randomseed
+\let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
\else
- \ifduck@laughing
- \begin{pgfinterruptboundingbox}
- \fill[\duck@bill!80!black] (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@bill]
- (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;
- \end{pgfinterruptboundingbox}
- \else
- \ifduck@parrot
- \fill[\duck@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@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@bill] \duckpathbill;
- \fi
- \fi
-\fi
-%
-% Superhero mask %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% has to be behind the eyes
-\ifduck@mask
- \begin{scope}
- \clip (0.90,1.50) ellipse[x radius=0.50, y radius=0.625];
- \fill[\duck@mask,rotate=-15] (-0.1,1.59) rectangle (1.3,1.88);
- \end{scope}
-\fi%
-%
-% right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[\duck@eye, rotate=-20]
- (0.23,1.7675) ellipse[x radius=0.0893, y radius=0.125];
-\fill[\duck@pupil, rotate=-20]
- (0.26,1.7575) ellipse[x radius=0.0357, y radius=0.0714];
-%
-% left eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[\duck@eye, rotate=-20]
- (-0.06,1.74) ellipse[x radius=0.0786, y radius=0.1143];
-\fill[\duck@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@conicalhat
- \ifduck@clothing
- \fill[\duck@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@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@tshirt
- \begin{pgfinterruptboundingbox}
- \fill[\duck@tshirt] \duckpathtshirt;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% tie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@tie
- \fill[\duck@tie,rotate=-12] (0.32,0.7) rectangle (0.43,1.15);
-\fi
-%
-% jacket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@jacket
- \begin{pgfinterruptboundingbox}
- \fill[\duck@jacket] \duckpathjacket;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% Áo dài %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@aodai
- \begin{pgfinterruptboundingbox}
- \fill[\duck@aodai] (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;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% lapel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@lapel
- \fill[\duck@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@stripes
- \duck@stripes
-\fi
-%
-% superhero cape %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@cape
- \begin{pgfinterruptboundingbox}
- \fill[\duck@cape] \duckpathcape;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% bowtie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@bowtie
- \fill[\duck@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@necklace
- \fill[\duck@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@neckerchief
- \fill[\duck@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@woggle, rounded corners=\scalingfactor*1, rotate=-10] (0.33,1.05) rectangle (0.55,0.98);
-\fi
-%
-% buttons (same argument as for the necklace)
-\ifduck@buttons
- \ifduck@jacket
- \fill[\duck@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@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@shorthair
- \path (0.1,0.1) rectangle (2.1,2.25);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] \duckpathshorthair;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% long hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@longhair
- \path (0.1,0.1) rectangle (2.1,2.25);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] \duckpathlonghair;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% crazy hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@crazyhair
- \path (0.1,0.1) rectangle (2.1,2.4);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] \duckpathcrazyhair;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% receding hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@recedinghair
- \path (0.1,0.1) rectangle (2.1,2.18);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] \duckpathrecedinghair;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% mohican hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@mohican
- \path (0.1,0.1) rectangle (2.1,2.24);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] \duckpathmohican;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% mullet hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@mullet
- \path (0.1,0.1) rectangle (2.1,2.17);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] \duckpathmullet;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% middle parting %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@parting
- \path (0.1,0.1) rectangle (2.1,2.22);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@hair] (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;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% eye brow %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pgfkeys{/duck/eyebrow/.@def/.get=\duck@test}
-\ifx\duck@eyebrow\duck@test
- \ifdefined\duck@hair\let\duck@eyebrow=\duck@hair\fi
-\fi%
-\ifduck@eyebrow
- \fill[\duck@eyebrow, rounded corners=\scalingfactor*1, rotate=60] (1.92,0.21) rectangle (1.98,-0.01);
- \fill[\duck@eyebrow, rounded corners=\scalingfactor*1, rotate=100] (1.67,-0.77) rectangle (1.73,-0.95);
-\fi
-%
-% beard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pgfkeys{/duck/beard/.@def/.get=\duck@test}
-\ifx\duck@beard\duck@test
- \ifdefined\duck@hair\let\duck@beard=\duck@hair\fi
-\fi%
-\ifduck@beard
- \fill[\duck@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@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@alien
- \fill[\duck@alien,rotate=-25] (0.09,2.1) rectangle (0.16,2.6);
- \fill[\duck@alien,rotate=5] (0.79,1.86) rectangle (0.86,2.25);
- \fill[\duck@alien] (1.20,2.30) circle[radius=0.07];
- \fill[\duck@alien] (0.62,2.35) circle[radius=0.07];
-\fi
-%
-% hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@hat
- \ifdefined\duck@hair % with hair
- \fill[\duck@hat,rotate=-15] (0.44,2.1) ellipse[x radius=0.7, y radius=0.1];
- \fill[\duck@hat,rotate=-15] (0.0,2.1) rectangle (0.88,2.4);
- \fill[\duck@hat,rotate=-15] (0.44,2.4) ellipse[x radius=0.44, y radius=0.08];
- \else % without hair
- \fill[\duck@hat,rotate=-15] (0.44,2.1) ellipse[x radius=0.6, y radius=0.1];
- \fill[\duck@hat,rotate=-15] (0.07,2.1) rectangle (0.81,2.4);
- \fill[\duck@hat,rotate=-15] (0.44,2.4) ellipse[x radius=0.37, y radius=0.08];
- \fi
-\fi
-%
-% cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@cap
- \fill[\duck@cap, start angle=0, end angle=150, radius=0.5] (1.4,1.75) arc;
- \fill[\duck@cap,rotate=-15] (0.3,2.05) ellipse[x radius=0.6, y radius=0.15];
-\fi
-%
-% Santa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@santa
- \fill[\duck@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@chef
- \fill[\duck@chef,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.08];
- \fill[\duck@chef,rotate=-15] (0.07,2.1) rectangle (0.81,2.55);
- \fill[\duck@chef] (1.01,2.47) circle[radius=0.17];
- \fill[\duck@chef] (1.24,2.35) circle[radius=0.15];
- \fill[\duck@chef] (0.77,2.40) circle[radius=0.12];
- \fill[\duck@chef] (1.39,2.20) circle[radius=0.12];
-\fi
-%
-% graduate hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@graduate
- \fill[\duck@graduate,rotate=-15] (0.44,2.1) ellipse[x radius=0.37, y radius=0.1];
- \fill[\duck@graduate,rotate=-15] (0.07,2.1) rectangle (0.81,2.3);
- \fill[\duck@graduate] (0.3,2.25) -- (1.05,2.35) -- (1.7,1.95) -- (0.92,1.85) -- cycle;
- \fill[\duck@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@tassel] (1.16,1.3) ellipse[x radius=0.06, y radius=0.12];
-\fi
-%
-% beret %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@beret
- \fill[\duck@beret,rotate=-25] (0.13,2.15) ellipse[x radius=0.5, y radius=0.17];
- \fill[\duck@beret,rotate=-25] (0.13,2.25) ellipse[x radius=0.55, y radius=0.17];
- \fill[\duck@beret,rotate=-25] (0.13,2.4) circle[radius=0.08];
-\fi
-%
-% unicorn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@unicorn
- \fill[\duck@unicorn,rotate=25] (1.48,1.4375)--(1.60,1.9)--(1.72,1.4375);
- \fill[\duck@body!100,rotate=25] (1.50,1.43)--(1.60,1.8375)--(1.70,1.43);
-\fi
-%
-% magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@magichat
- \path[preaction={fill, \duck@magichat!100},rotate=-5,
- pattern=fivepointed stars, pattern color=\duck@magicstars!100]
- (0.36,1.95)--(0.86,2.95)--(1.20,1.85);
-\fi
-%
-% witch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@witch
- \fill[\duck@witch,rotate=-15] (0.44,2.13) ellipse[x radius=0.75, y radius=0.17];
- \fill[\duck@witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2);
-\fi
-%
-% crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@crown
- \path (0.7,1.95) rectangle (1.4,2.45);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@crown] \duckpathcrown;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% Queen crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@queencrown
- \fill[\duck@queencrown] \duckpathqueencrown;
-\fi
-%
-% King crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@kingcrown
- \fill[\duck@kingcrown] \duckpathkingcrown;
-\fi
-%
-% Bunny ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@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@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@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@peakedcap
- \fill[\duck@peakedcap,rotate=-15] (0.35,2.05) ellipse[x radius=0.5, y radius=0.15];
- \fill[\duck@peakedcap,rotate=-25] (0.13,2.15) ellipse[x radius=0.5, y radius=0.17];
- \fill[\duck@peakedcap,rotate=-35] (-0.25,2.2) ellipse[x radius=0.55, y radius=0.17];
-\fi
-%
-% tophat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@tophat
- \fill[\duck@tophat,rotate=-15] (0.44,2.1) ellipse[x radius=0.48, y radius=0.1];
- \fill[\duck@tophat,rotate=-15] (0.12,2.1) -- (0.75,2.1) -- (0.81,2.55) -- (0.07,2.55) -- cycle;
- \fill[\duck@tophat,rotate=-15] (0.44,2.55) ellipse[x radius=0.37, y radius=0.08];
-\fi
-%
-% darth vader %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@darthvader
- \path (0.1,0.1) rectangle (2.1,2.22);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@darthvader] \duckpathdarthvader;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% Harlequin duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@harlequin
- \path (0.19,1.85) rectangle (1.85,2.67);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@harlequin] (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@niuqelrah] (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;
- \end{pgfinterruptboundingbox}
- \fill[\duck@harlequin] (1.7,2.07) circle[radius=0.1];
- \fill[\duck@niuqelrah] (0.3,2.23) circle[radius=0.1];
-\fi
-%
-% Straw hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@strawhat
- \fill[\duck@strawhat,rotate=-15] (0.44,2.0) ellipse[x radius=0.75, y radius=0.1];
- \fill[\duck@strawhat,rotate=-15] (0.1,2.05) rectangle (0.78,2.5);
- \fill[\duck@strawhat,rotate=-15] (0.44,2.5) ellipse[x radius=0.34, y radius=0.08];
- \fill[\duck@strawhat,rotate=-15] (-0.3,2.02) -- (1.18,2.02) -- (0.78,2.2) -- (0.1,2.2) -- cycle;
- \fill[\duck@ribbon,rotate=-15] (0.44,2.2) ellipse[x radius=0.34, y radius=0.08];
- \fill[\duck@ribbon,rotate=-15] (0.1,2.2) rectangle (0.78,2.3);
- \fill[\duck@strawhat,rotate=-15] (0.44,2.3) ellipse[x radius=0.34, y radius=0.08];
-\fi
-%
-% helmet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@helmet
- \fill[\duck@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@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@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@viking
- \fill[\duck@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@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@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@devil
- \fill[\duck@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@conicalhat
- \path (0.19,1.4) rectangle (1.68,2.32);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@conicalhat] (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;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% Sailor hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@sailor
- \fill[\duck@sailor] (1.0390,2.2743) .. controls (0.9475,2.2748) and (0.8569,2.2355) .. (0.7943,2.1690) .. controls (0.7147,2.1872) and (0.6335,2.2098) .. (0.5512,2.2029) .. controls (0.5524,2.1164) and (0.5536,2.0299) .. (0.5547,1.9434) .. controls (0.6637,1.9348) and (0.7679,1.8974) .. (0.8716,1.8653) .. controls (1.0321,1.8101) and (1.1932,1.7522) .. (1.3420,1.6697) .. controls (1.3671,1.6622) and (1.3911,1.6147) .. (1.4083,1.6518) .. controls (1.4623,1.7160) and (1.5163,1.7802) .. (1.5702,1.8444) .. controls (1.5154,1.8979) and (1.4433,1.9287) .. (1.3757,1.9624) .. controls (1.3666,2.1156) and (1.2403,2.2511) .. (1.0881,2.2707) .. controls (1.0718,2.2731) and (1.0554,2.2743) .. (1.0390,2.2743) -- cycle;
-\fi
-%
-% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\csname duckhookhat\endcsname
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Accessories
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% sunglasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@sunglasses
- \fill[\duck@sunglasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
- \fill[\duck@sunglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
- \fill[\duck@sunglasses,rotate=-20] (0.23,1.7675) circle[radius=0.14];
- \fill[\duck@sunglasses,rotate=-20] (-0.06,1.74) circle[radius=0.13];
-\fi
-%
-% glasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@glasses
- \fill[\duck@glasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
- \fill[\duck@glasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
- \fill[\duck@glasses,rotate=-20,even odd rule] (0.23,1.7675) circle[radius=0.14] (0.23,1.7675) circle[radius=0.11];
- \fill[\duck@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@squareglasses
- \fill[\duck@squareglasses,rotate=-17] (0.43,1.8) rectangle (0.8,1.84);
- \fill[\duck@squareglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
- \fill[\duck@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@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@icecream
- \fill[\duck@cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20);
- \fill[\duck@flavoura] (0.85,1.03) circle[radius=0.12];
- \fill[\duck@flavourb] (1.05,0.95) circle[radius=0.12];
- \fill[\duck@flavourc] (0.95,1.1) circle[radius=0.12];
-\fi
-%
-% book %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@book
- \fill[\duck@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@book};%
-\fi
-%
-% signpost %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@signpost
- \fill[\duck@signcolour, rounded corners=\scalingfactor*1, rotate=-20] (0.8,0.75) rectangle (0.9,1.75);
- \fill[\duck@signcolour, rounded corners=\scalingfactor*1, rotate=-20] (0.4,1.7) rectangle (1.3,2.4);
- \fill[\duck@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@signpost};
-\fi
-%
-% speech bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@speech
- \fill[\duck@bubblecolour] (-0.5,1.8) ellipse[x radius=0.7, y radius=0.3];
- \fill[\duck@bubblecolour] (-0.2,1.54) -- (0.2,1.35) -- (0.0,1.6) -- cycle;
- \node at (-0.5,1.8) {\duck@speech};
-\fi
-%
-% think bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@think
- \fill[\duck@bubblecolour] (2,2.4) ellipse[x radius=0.7, y radius=0.35];
- \fill[\duck@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@think};
-\fi
-%
-% magic wand %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@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@cricket
- \fill[\duck@cricket, rounded corners=\scalingfactor*2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2);
- \fill[\duck@cricket, rounded corners=\scalingfactor*1, rotate=-30] (0.5,0.8) rectangle (0.6,1.3);
-\fi
-%
-% rollingpin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@rollingpin
- \fill[\duck@rollingpin, rounded corners=\scalingfactor*2, rotate=-60] (-0.18,0.85) rectangle (0.08,1.75);
- \fill[\duck@rollingpin, rounded corners=\scalingfactor*1, rotate=-60] (-0.1,0.65) rectangle (0.0,1.95);
-\fi
-%
-% lightsaber %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@lightsaber
- \fill[\duck@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@cake
- \fill[\duck@cake] (1.00,0.50) ellipse[x radius=0.4, y radius=0.2];
- \fill[\duck@cake] (0.6,0.5) rectangle (1.4,0.7);
- \fill[\duck@cake] (1.00,0.70) ellipse[x radius=0.4, y radius=0.2];
- \fill[\duck@cake!50!white] (0.75,0.75) rectangle (0.8,0.95);
- \fill[\duck@cake!50!white] (1.2,0.75) rectangle (1.25,0.95);
- \fill[\duck@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@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@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@hockey
- \fill[\duck@hockey, rounded corners=\scalingfactor*1, rotate=-30] (0.5,0.6) rectangle (0.6,2.1);
- \fill[\duck@hockey, rounded corners=\scalingfactor*3] (0.2,0.2) rectangle (0.85,0.4);
-\fi
-%
-% baguette %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@baguette
- \fill[\duck@baguette!70!white, rounded corners=\scalingfactor*4, rotate=-30] (0.4,0.72) rectangle (0.7,2.0);
- \fill[\duck@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@football
- \fill[\duck@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@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@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@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@wine, rotate=-10] (0.8,1.1) ellipse[x radius=0.15, y radius=0.36];
- \end{scope}
-\fi
-%
-% prison duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@prison
- \fill[\duck@prison] (1.5,0.25) circle[radius=0.3];
- \fill[\duck@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@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@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@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@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@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@torch,rounded corners=\scalingfactor*1]
- (1.1,0.96) -- (0.77,0.25) -- (0.83,0.25) -- (1.3,0.86) -- cycle;
- \fill[\duck@torch,rotate=-28]
- (0.62,1.32) ellipse[x radius=0.2, y radius=0.08];
-\fi%
-%
-% sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@sheep
- \begin{scope}
- \clip[rotate=-5] (1.2,1.7) ellipse[x radius=0.3, y radius=0.4];
- \fill[\duck@bill,rotate=-5] (0.8,1.5) ellipse[x radius=0.3, y radius=0.4];
- \end{scope}
+\let\pdfrandomseed\time % pre TL19 xelatex
\fi
-%
-% basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@basket
- \fill[\duck@basket, start angle=180, end angle=360, x radius=0.35, y radius=0.35] (0.65,0.61) arc -- cycle;
- \fill[\duck@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@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@basket!75!black] (1,0.6) ellipse[x radius=0.3, y radius=0.07];
-\fi%
-%
-% easter basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@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@eggb, rotate=-5] (0.95,0.72) ellipse[x radius=0.09, y radius=0.13];
- \fill[\duck@egga, rotate=10] (0.94,0.42) ellipse[x radius=0.09, y radius=0.13];
- \fill[\duck@eggc, rotate=-30] (0.7,1.08) ellipse[x radius=0.09, y radius=0.13];
- \end{scope}
-\fi%
-%
-% horse tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pgfkeys{/duck/horsetail/.@def/.get=\duck@test}
-\ifx\duck@horsetail\duck@test
- \ifdefined\duck@hair\let\duck@horsetail=\duck@hair\fi
-\fi%
-\ifduck@horsetail
- \path (0.1,0.1) rectangle (2.82,2.14);
- \begin{pgfinterruptboundingbox}
- \fill[\duck@horsetail] \duckpathhorsetail;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% crozier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@crozier
- \begin{scope}
- \clip [rotate=-20] (0.6,2.3) rectangle (1.1,1.999);
- \fill[even odd rule,\duck@crozier] (1.5,1.6) circle[radius=0.2] (1.5,1.6) circle[radius=0.1];
- \end{scope}
- \fill[\duck@crozier,rotate=-20] (0.663,0.5) rectangle (0.763,2.0);
-\fi
-%
-% stethoscope %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@stethoscope
- \fill[\duck@stethoscope,rounded corners=\scalingfactor*0.5,rotate=-18] (0.08,0.7) rectangle (0.13,1.24);
- \fill[\duck@stethoscope] (0.35,0.7) circle[radius=0.1];
- \begin{scope}
- \fill[\duck@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@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@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@vampire
- \ifduck@laughing
- \fill[\duck@vampire] (0.55,1.28) -- (0.575,1.22) -- (0.6,1.29) -- cycle;
- \else
- \fill[\duck@vampire] (0.6,1.20) -- (0.625,1.16) -- (0.65,1.223) -- cycle;
- \fi
-\fi
-%
-% crystal ball %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@crystalball
- \shade[ball color=\duck@crystalball,opacity=0.7] (0.93,0.5) circle[radius=0.33];
-\fi
-%
-% Cheese %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@cheese
- \begin{scope}[xshift=26,yshift=-2]
- \fill[\duck@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@cheese!35!white] (-0.3200,0.8057) -- (-0.3200,0.5410) -- (0.2143,0.4236) -- (0.2143,0.7381) -- cycle;
- \fill[\duck@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@shovel
- \fill[brown!80!black,rotate around={-23:(0.91, 0.88)}] (0.87, 0.28) rectangle ++(0.1,1.4);
- \fill[\duck@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@pickaxe
- \fill[brown!80!black,rotate around={-23:(0.91, 0.88)}] (0.87, 0.28) rectangle ++(0.1,1.4);
- \fill[\duck@pickaxe] (-0.0085, 0.6858) .. controls (0.6422, 0.3523) and (0.7609, 0.3068) .. (1.4114, 0.1108) .. controls (0.6589, 0.1246) and (0.5556, 0.1887) .. (-0.0085, 0.6858) -- cycle;
-\fi
-%
-% umbrella %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@umbrella
- \path (0.2,0.4) rectangle (2.22,2.7);
- \begin{pgfinterruptboundingbox}
- \fill[gray] (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@umbrella] (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;
- \end{pgfinterruptboundingbox}
-\fi
-%
-% closed umbrella %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@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@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@handbag
- \fill[\duck@handbag] (0.7811,0.1751) -- (1.4913,0.3097) -- (1.3315,0.7086) -- (0.7832,0.6152) -- cycle;
- \fill[\duck@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@cocktail
- \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse[x radius=0.17, y radius=0.05];
- \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse[x radius=0.12, y radius=0.03];
- \fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse[x radius=0.03, y radius=0.2];
- \fill[cyan!10!white] (0.92,0.6) -- (0.75,0.9) -- (1.18,0.83) -- cycle;
- \fill[gray!60!white] (0.928,0.64) -- (0.85,0.77) -- (1.08,0.77) -- cycle;
- \fill[green!40!brown!60!white] (0.94,0.71) circle[radius=0.04];
- \fill[red!80!black] (0.94,0.72) circle[radius=0.01];
-\fi
-%
-% overleaf duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@overleaf
- \fill[white] \duckpathoverleaf;
-\fi
-%
-% wing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifduck@wing
- \fill[\duck@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
-%
-%\end{scope}
-}% from `\def\duck@draw{` at the very beginning
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Random ducks
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifdefined\pdfrandomseed % pdflatex
-\else
- \ifdefined\randomseed
- \let\pdfrandomseed\randomseed % post TL19 xelatex and lualatex
- \else
- \let\pdfrandomseed\time % pre TL19 xelatex
- \fi
\fi
\pgfmathsetseed{\number\pdfrandomseed}
-
-\pgfmathdeclarerandomlist{head}{{shorthair}{longhair}{crazyhair}{mohican}{mullet}{beard}{alien}{hat}{cap}{santa}{chef}{graduate}{beret}{magichat}{witch}{crown}{bunny}{peakedcap}{tophat}{queencrown}{kingcrown}{harlequin}{strawhat}{parting}}
-\pgfmathdeclarerandomlist{accessories}{{glasses}{sunglasses}{icecream}{book}{signpost}{magicwand}{cricket}{rollingpin}{lightsaber}{cake}{pizza}{hockey}{baguette}{football}{mask}{necklace}{milkshake}{wine}{prison}{cape}{torch}{crozier}{easter}{stethoscope}{neckerchief}{cheese}{shovel}{pickaxe}{crystalball}}
-
-\newcommand{\shuffleducks}{%
- \pgfmathrandomitem{\head}{head}%
- \edef\randomhead{\head}%
- \pgfmathrandomitem{\accessories}{accessories}%
- \edef\randomaccessories{\accessories}%
-}
-
-\newcommand{\randuck}{%
- \shuffleducks%
- \duck[\randomhead, \randomaccessories]%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Defining some of the more complicate paths for easy reuse
-%
-% naming scheme is \duckpath<name>
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\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
-}
-
-\newcommand{\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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
-}
-
-\newcommand{\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) .. controls (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
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\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@oooo%::12<<<<123223223223223223 328
-% o++o+oo+o+oooooO@=*:<32232232232232232 323782282
-% +o+oo+o+oooooo%-:12232232232232232232 23237322322373
-% ++@+++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
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+\fi
+\ExplSyntaxOff
\newcommand*{\stripes}[1][]{\tikzset{%
- /stripes/.cd,#1}\stripes@draw%
+ /stripes/.cd,#1}\stripes@draw%
}
-\tikzset{
- /stripes/.cd,
- color/.code = \def\stripes@color{#1},
- distance/.code = \def\stripes@distance{#1},
- width/.code = \def\stripes@width{#1},
- height/.code = \def\stripes@height{#1},
- initialx/.code = \def\stripes@initialx{#1},
- initialy/.code = \def\stripes@initialy{#1},
- rotate/.code = \def\stripes@rotate{#1},
- emblem/.code = \def\stripes@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@draw{%
- \path (0.1,0.1) rectangle (2.1,1.45);
- \begin{pgfinterruptboundingbox}
- \begin{scope}
- \clip \duckpathjacket;
- \foreach \shifta in {0,\stripes@distance,...,2.4}{%
- \fill[\stripes@color,rotate around={\stripes@rotate:(1.2,0.9)}]
- ($(\stripes@initialx,\stripes@initialy)+(\shifta,0)$) rectangle ($(\stripes@initialx,\stripes@initialy)+(\shifta,0)+(\stripes@width,\stripes@height)$);
- }
- \end{scope}
- \end{pgfinterruptboundingbox}
- \node at (wing) {\stripes@emblem };
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%.........................%%%%%%%%%%%%%%%%%%%.........................
-%....................%%%%%%%%%............%%%%%%%%....................
-%................%%%%%%....%%...................%%%%%%................
-%.............%%%%%.......%%%.......................%%%%%.............
-%...........%%%%........%%%%%%%%%...................%%%%%%%...........
-%.........%%%........%%%%%%%%%%%%%%%%..............%%%%%%%%%%.........
-%.......%%%.......%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.......
-%......%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%..............%%%%%%%%%%%......
-%.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%................%%%%%%%%%%%.....
-%...%%%%........%%%%%%%%%%%%%%%%%%%%%...................%%%%%%%%%%%...
-%...%%%..........%%%%%%%%%%%%%%%%%%%.....................%%%%%%%%%%...
-%..%%%............%%%%%%%%%%%%%%%%%.......................%%%%%%%%%%..
-%.%%%%............%%%%%%%%%%%%%%%%%........................%%%%%%%%%%.
-%.%%%..............%%%%%%%.......%%%......................%%%.....%%%.
-%%%%..............%%...............%%%...................%%%.......%%%
-%%%..............%%.................%%%..................%%.........%%
-%%%%............%%%...................%%%...............%%..........%%
-%%%%...........%%%.....................%%%.............%%...........%%
-%%%%%..........%%........................%%%%%%%%%%%%%%%%...........%%
-%%%%%........%%%........................%%%%%%%%%%%%%%%%%%.........%%%
-%.%%%%%%%%%%%%%%%......................%%%%%%%%%%%%%%%%%%%.........%%.
-%.%%%%%%%%%%%%%%%%.....................%%%%%%%%%%%%%%%%%%%........%%%.
-%..%%%%%%%%%%%%%%%%...................%%%%%%%%%%%%%%%%%%%%%.......%%..
-%...%%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%%%%%%%......%%...
-%...%%%%%%%%%%%%%%%%%%............%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....
-%.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....%%%.....
-%......%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%......%%%......
-%.......%%%%%%%%%%%%%%....................%%%%%%%%%%........%%%.......
-%.........%%%%%%%%%%%........................%%%%.........%%%.........
-%...........%%%%%%%%%........................%%........%%%%...........
-%.............%%%%%%%%%.....................%%......%%%%%.............
-%................%%%%%%%%.................%%%...%%%%%%................
-%....................%%%%%%%%......%%%%%%%%%%%%%%%....................
-%..........................%%%%%%%%%%%%%%%%%..........................
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\input tikzducks-generic