texlive[47289] Master/texmf-dist: tikzducks (4apr18)

commits+karl at tug.org commits+karl at tug.org
Wed Apr 4 22:19:15 CEST 2018


Revision: 47289
          http://tug.org/svn/texlive?view=revision&revision=47289
Author:   karl
Date:     2018-04-04 22:19:15 +0200 (Wed, 04 Apr 2018)
Log Message:
-----------
tikzducks (4apr18)

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

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/tikzducks/LICENSE.txt
    trunk/Master/texmf-dist/tex/latex/tikzducks/tikzlibraryducks.code.tex

Added: trunk/Master/texmf-dist/doc/latex/tikzducks/LICENSE.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzducks/LICENSE.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikzducks/LICENSE.txt	2018-04-04 20:19:15 UTC (rev 47289)
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c  2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+    Everyone is allowed to distribute verbatim copies of this
+    license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute.  This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work.  If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+   `Work'
+    Any work being distributed under this License.
+
+   `Derived Work'
+    Any work that under any applicable law is derived from the Work.
+
+   `Modification'
+    Any procedure that produces a Derived Work under any applicable
+    law -- for example, the production of a file containing an
+    original file associated with the Work or a significant portion of
+    such a file, either verbatim or with modifications and/or
+    translated into another language.
+
+   `Modify'
+    To apply any procedure that produces a Derived Work under any
+    applicable law.
+
+   `Distribution'
+    Making copies of the Work available from one person to another, in
+    whole or in part.  Distribution includes (but is not limited to)
+    making any electronic components of the Work accessible by
+    file transfer protocols such as FTP or HTTP or by shared file
+    systems such as Sun's Network File System (NFS).
+
+   `Compiled Work'
+    A version of the Work that has been processed into a form where it
+    is directly usable on a computer system.  This processing may
+    include using installation facilities provided by the Work,
+    transformations of the Work, copying of components of the Work, or
+    other activities.  Note that modification of any installation
+    facilities provided by the Work constitutes modification of the Work.
+
+   `Current Maintainer'
+    A person or persons nominated as such within the Work.  If there is
+    no such explicit nomination then it is the `Copyright Holder' under
+    any applicable law.
+
+   `Base Interpreter'
+    A program or process that is normally needed for running or
+    interpreting a part or the whole of the Work.
+
+    A Base Interpreter may depend on external components but these
+    are not considered part of the Base Interpreter provided that each
+    external component clearly identifies itself whenever it is used
+    interactively.  Unless explicitly specified when applying the
+    license to the Work, the only applicable Base Interpreter is a
+    `LaTeX-Format' or in the case of files belonging to the
+    `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1.  Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope.  In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2.  You may distribute a complete, unmodified copy of the Work as you
+received it.  Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3.  You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4.  If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work.  You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work.  Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5.  If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6.  If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition.  Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+  a. If a component of this Derived Work can be a direct replacement
+     for a component of the Work when that component is used with the
+     Base Interpreter, then, wherever this component of the Work
+     identifies itself to the user when used interactively with that
+     Base Interpreter, the replacement component of this Derived Work
+     clearly and unambiguously identifies itself as a modified version
+     of this component to the user when used interactively with that
+     Base Interpreter.
+
+  b. Every component of the Derived Work contains prominent notices
+     detailing the nature of the changes to that component, or a
+     prominent reference to another file that is distributed as part
+     of the Derived Work and that contains a complete and accurate log
+     of the changes.
+
+  c. No information in the Derived Work implies that any persons,
+     including (but not limited to) the authors of the original version
+     of the Work, provide any support, including (but not limited to)
+     the reporting and handling of errors, to recipients of the
+     Derived Work unless those persons have stated explicitly that
+     they do provide such support for the Derived Work.
+
+  d. You distribute at least one of the following with the Derived Work:
+
+       1. A complete, unmodified copy of the Work;
+          if your distribution of a modified component is made by
+          offering access to copy the modified component from a
+          designated place, then offering equivalent access to copy
+          the Work from the same or some similar place meets this
+          condition, even though third parties are not compelled to
+          copy the Work along with the modified component;
+
+       2. Information that is sufficient to obtain a complete,
+          unmodified copy of the Work.
+
+7.  If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8.  The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9.  Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+       provided that license itself honors the conditions listed in
+       Clause 6 above, in regard to the Work, though it does not have
+       to honor the rest of the conditions in this license.
+
+    b. If a Derived Work is distributed under a different license, that
+       Derived Work must provide sufficient documentation as part of
+       itself to allow each recipient of that Derived Work to honor the
+       restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12.  Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work.  Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose.  The entire risk as to the quality and performance
+of the Work is with you.  Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1.  Make a reasonable attempt to trace the Current Maintainer (and
+     the Copyright Holder, if the two differ) through the means of
+     an Internet or similar search.
+
+ 2.  If this search is successful, then enquire whether the Work
+     is still maintained.
+
+  a. If it is being maintained, then ask the Current Maintainer
+     to update their communication data within one month.
+
+  b. If the search is unsuccessful or no action to resume active
+     maintenance is taken by the Current Maintainer, then announce
+     within the pertinent community your intention to take over
+     maintenance.  (If the Work is a LaTeX work, this could be
+     done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+     maintenance of the Work to you, then this takes effect
+     immediately upon announcement.
+
+  b. If the Current Maintainer is not reachable and the Copyright
+     Holder agrees that maintenance of the Work be passed to you,
+     then this takes effect immediately upon announcement.
+
+ 4.  If you make an `intention announcement' as described in 2b. above
+     and after three months your intention is challenged neither by
+     the Current Maintainer nor by the Copyright Holder nor by other
+     people, then you may arrange for the Work to be changed so as
+     to name you as the (new) Current Maintainer.
+
+ 5.  If the previously unreachable Current Maintainer becomes
+     reachable once more within three months of a change completed
+     under the terms of 3b) or 4), then that Current Maintainer must
+     become or remain the Current Maintainer upon request provided
+     they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer.  You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license.  These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license.  You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license.  It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate.  Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component.  While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community.  It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one.  Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified.  Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+  %% pig.dtx
+  %% Copyright 2005 M. Y. Name
+  %
+  % This work may be distributed and/or modified under the
+  % conditions of the LaTeX Project Public License, either version 1.3
+  % of this license or (at your option) any later version.
+  % The latest version of this license is in
+  %   http://www.latex-project.org/lppl.txt
+  % and version 1.3 or later is part of all distributions of LaTeX
+  % version 2005/12/01 or later.
+  %
+  % This work has the LPPL maintenance status `maintained'.
+  %
+  % The Current Maintainer of this work is M. Y. Name.
+  %
+  % This work consists of the files pig.dtx and pig.ins
+  % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+   The LPPL requires that distributions of the Work contain all the
+   files of the Work.  It is therefore important that you provide a
+   way for the licensee to determine which files constitute the Work.
+   This could, for example, be achieved by explicitly listing all the
+   files of the Work near the copyright notice of each file or by
+   using a line such as:
+
+    % This work consists of all files listed in manifest.txt.
+
+   in that place.  In the absence of an unequivocal list it might be
+   impossible for the licensee to determine what is considered by you
+   to comprise the Work and, in such a case, the licensee would be
+   entitled to make reasonable conjectures as to which files comprise
+   the Work.


Property changes on: trunk/Master/texmf-dist/doc/latex/tikzducks/LICENSE.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/tikzducks/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzducks/README.md	2018-04-04 20:19:03 UTC (rev 47288)
+++ trunk/Master/texmf-dist/doc/latex/tikzducks/README.md	2018-04-04 20:19:15 UTC (rev 47289)
@@ -11,3 +11,16 @@
 ### A few examples:
 
 ![tikz ducks](https://user-images.githubusercontent.com/8226363/33049537-e71e9dd0-ce60-11e7-8b4c-7e1de0177f14.png)
+
+### Video showcase
+
+[![Watch a video showcase of this package](https://i.stack.imgur.com/iwZPt.png)](https://vimeo.com/246256860)
+
+(Kindly contributed by Ulrike and Gert Fischer, Carla Maggi, Paulo Cereda and Prof. van Duck - many thanks to you all!)
+
+The source code for the video showcase is available in [this repository](https://github.com/cereda/duck-extravaganza).
+
+More video showcases:
+
+- [Happy Groundhog day, 2018](https://vimeo.com/252719006)
+- [International pizza day, 2018](https://vimeo.com/254643482)

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

Modified: trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex	2018-04-04 20:19:03 UTC (rev 47288)
+++ trunk/Master/texmf-dist/doc/latex/tikzducks/tikzducks-doc.tex	2018-04-04 20:19:15 UTC (rev 47289)
@@ -10,19 +10,19 @@
 % Released under the LaTeX Project Public License v1.3c or later
 % See http://www.latex-project.org/lppl.txt
 %
-% Version 0.5a
-% Nov 23, 2017 
+% Version 0.6
+% April 04, 2018 
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[parskip=half]{scrartcl}
 
 % packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[LSBC5,T1]{fontenc}	
+\usepackage[T1]{fontenc}	
 \usepackage[utf8]{inputenc}		
 \usepackage[english]{babel}
 \usepackage[bitstream-charter]{mathdesign}
-\usepackage{chessfss}
 \usepackage{tikzducks}
+\usetikzlibrary{ducks}
 \usepackage[most]{tcolorbox}
 \usepackage[paper=a4paper,margin=3cm]{geometry}
 \usepackage{url}
@@ -56,11 +56,11 @@
 	commentstyle={\color{green!50!black}\slshape}, 
 	columns=fullflexible,
 	emphstyle=\color{orange!70!black},
-	emph=[1]{water,body,head,eye,pupil,bill,grumpy,tshirt,jacket,tie,cape,shorthair,longhair,crazyhair,recedinghair,eyebrow,beard,glasses,sunglasses,alien,hat,cap,santa,chef,graduate,tassel,beret,crown,unicorn,icecream,flavoura,flavourb,flavourc,book,bookcolour,signpost,signcolour,signback,magichat,magicstars,magicwand,witch,cricket,rollingpin,lightsaber,torch,cake,pizza,hockey,baguette,wing,football,mask,bunny,inear,necklace,milkshake,wine,peakedcap,prison,tophat,speech,bubblecolour,think},
+	emph=[1]{water,body,head,eye,pupil,bill,grumpy,tshirt,jacket,tie,cape,shorthair,longhair,crazyhair,recedinghair,eyebrow,beard,glasses,sunglasses,alien,hat,cap,santa,chef,graduate,tassel,beret,crown,unicorn,icecream,flavoura,flavourb,flavourc,book,bookcolour,signpost,signcolour,signback,magichat,magicstars,magicwand,witch,cricket,rollingpin,lightsaber,torch,cake,pizza,hockey,baguette,wing,football,mask,bunny,inear,necklace,milkshake,wine,peakedcap,prison,tophat,speech,bubblecolour,think,buttons,sheep,squareglasses,tail,basket,easter,egga,eggb,eggc,mohican,mullet,horsetail,darthvader,crozier,queencrown,kingcrown},
 	texcsstyle=*\color{duckblue}\bfseries,
 	keywordstyle=\color{red!60!black}\bfseries,
-	morekeywords={tikzpicture,scope,patterns,pgfinterruptboundingbox},
-	moretexcs={duck,path,definecolor,duckpathjacket,duckpathbody,duckpathgrumpybill,duckpathbill,duckpathtshirt,duckpathcape,duckpathshorthair,duckpathlonghair,duckpathcrazyhair,duckpathrecedinghair,duckpathcrown,scalebox,foreach,node,draw,PassOptionsToPackage,usetikzlibrary,selectcolormodel,colorlet,insignia,stripes,color,includegraphics,mcap,setboardfontcolors,setboardfontencoding,WhiteQueenOnWhite,WhiteKingOnWhite,superstripes,shuffleducks,randuck,randomhead,randomaccessories},
+	morekeywords={tikzpicture,scope,patterns,calc,pgfinterruptboundingbox},
+	moretexcs={duck,path,definecolor,duckpathjacket,duckpathbody,duckpathgrumpybill,duckpathbill,duckpathtshirt,duckpathcape,duckpathshorthair,duckpathlonghair,duckpathcrazyhair,duckpathrecedinghair,duckpathcrown,scalebox,foreach,node,draw,PassOptionsToPackage,usetikzlibrary,selectcolormodel,colorlet,insignia,stripes,color,includegraphics,mcap,setboardfontcolors,setboardfontencoding,WhiteQueenOnWhite,WhiteKingOnWhite,superstripes,shuffleducks,randuck,randomhead,randomaccessories,duckpathmohican,duckpathmullet,duckpathqueencrown,duckpathkingcrown,duckpathdarthvader,duckpathhorsetail,tikzset},
 	delim ={[s][\ttfamily\color{green!50!black}]{$}{$}},
 	moredelim=[is][\footnotesize\ttfamily\color{orange!70!black}]{|}{|},
 	index=[1][emph]
@@ -85,11 +85,12 @@
 \lstset{style=duckstyle}
 \pgfkeys{/duck/|stripes|/.style={stripes={#1}}}
 
-\pgfmathsetseed{11}
+\pgfmathsetseed{10}
 \setlength{\footheight}{45pt}
 \newlength{\duckoffset}
 
 \cfoot{%
+	\tikzset{external/export=false}%
 	\shuffleducks
 	\begin{tikzpicture}[scale=0.5] 
 	    \duck[signpost=\scalebox{0.6}{\thepage},\randomhead]
@@ -97,19 +98,19 @@
 } 
 \pagestyle{scrheadings}
 \indexsetup{firstpagestyle=scrheadings}
+\makeindex
 
-%\ifnum\pdfshellescape=1
-%	\usetikzlibrary{external}
-%	\tikzexternalize[prefix=tikzducks-doc-figures/]
-%\fi
+\usetikzlibrary{external}
+\ifnum\pdfshellescape=1
+	\tikzexternalize[prefix=./tikzducks-doc-figures/]
+\fi
 
-\makeindex
-
 % meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \title{The \texorpdfstring{\tikzducks}{tikzducks} package}
 \subtitle{using ducks in \TikZ}
 \author{%
 	\texorpdfstring{\texttt{samcarter} (alias 
+		\tikzset{external/export=false}%
 		\begin{tikzpicture}[scale=0.3,baseline=3pt]
 			\duck[body=yellow!50!brown!50!white,
 					longhair=red!50!brown, 
@@ -118,7 +119,7 @@
 		\url{https://github.com/samcarter8/tikzducks}\\
 		\url{https://www.ctan.org/pkg/tikzducks}
 	}{samcarter}}
-\date{Version 0.5a -- \today}
+\date{Version 0.6 -- \today}
 
 \begin{document}
 \maketitle
@@ -137,13 +138,34 @@
 
 Without the friendly and helpful community of \href{https://tex.stackexchange.com/}{TeX.Stackexchange} this package would not exist. I would like to thank a few fellow users in particular:
 
-First of all \href{https://tex.stackexchange.com/users/101651/carlatex}{Carla Maggi} for pointing out the overwhelming need of having a \tikzducks package and valuable contribution to the package code, in particular the \hyperref[sec:footballducks]{football ducks} and \href{https://tex.stackexchange.com/users/3094/paulo-cereda}{Paulo Cereda} for his contagious enthusiasm for ducks (\emph{Quack!}). Many other users contributed to this package (in random order): \href{https://tex.stackexchange.com/users/4427/egreg}{Enrico Gregorio} helped to implement the \lstinline|\tikzset{}| interface which makes it much easier to adjust the properties of the ducks to fit the user needs, \href{https://tex.stackexchange.com/users/51022/symbol-1}{Symbol 1}  solved a few problems with default key values, \href{https://tex.stackexchange.com/users/2388/ulrike-fischer}{Ulrike Fischer} gave valuable \TikZ advices and came to rescue for the keyword highlighting in the documentation, \href{https://tex.stackexchange.com/users/148434/mihikma}{Mihikma} created the duck's beard and last but not least my thanks go to \href{https://tex.stackexchange.com/users/5763/martin-schr%c3%b6der}{Martin Schr\"oder} for his feedback to the code review.
+First of all 
+%
+\href{https://tex.stackexchange.com/users/101651/carlatex}{Carla Maggi} for pointing out the overwhelming need of having a \tikzducks package and valuable contribution to the package code, in particular the \hyperref[sec:footballducks]{football ducks},
+%
+\href{https://tex.stackexchange.com/users/3094/paulo-cereda}{Paulo Cereda} for his contagious enthusiasm for ducks (\emph{Quack!}) and
+%
+\href{https://tex.stackexchange.com/users/2388/ulrike-fischer}{Ulrike Fischer} for her useful \TikZ advices and contributions to the package and coming to rescue for keyword highlighting in the package documentation.
 
+Many other users contributed to this package (in random order):
+%
+\href{https://tex.stackexchange.com/users/4427/egreg}{Enrico Gregorio} helped to implement the \lstinline|\tikzset{}| interface which makes it much easier to adjust the properties of the ducks to fit the user needs,
+% 
+Andrew Stacey contributed the \TikZ Library ``ducks'',
+%
+\href{https://tex.stackexchange.com/users/51022/symbol-1}{Symbol~1}  solved a few problems with default key values,
+%
+\href{https://tex.stackexchange.com/users/148434/mihikma}{Mihikma} created the duck's beard,
+%
+\href{https://github.com/yudai-nkt}{Yudai Nakata} helped with problems of \lstinline|\pdfrandomseed|  
+%
+and last but not least my thanks go to \href{https://tex.stackexchange.com/users/5763/martin-schr%c3%b6der}{Martin Schr\"oder} for his feedback to the code review.
+
+\pagebreak
 The ducks mostly consist of basic geometric shapes drawn in \TikZ. Some of the more complex shapes (e.g.\ the different hair styles) are first drawn in \texttt{inkscape} (\url{https://inkscape.org}) and then exported to \TikZ paths using the \texttt{SVG to TikZ/PGF} extension (\url{https://github.com/kjellmf/svg2tikz}).
 
 \subsection{Dependencies}
 
-The \tikzducks package loads the packages \lstinline|xcolor| and \TikZ, both without any options. If you require one of these packages to be loaded with some option, please consider loading it yourself before the \tikzducks package or use, e.g.
+The \tikzducks package loads \TikZ, which in turn loads the \lstinline|xcolor| package (amongst others). If you require one of these packages to be loaded with some option, please consider loading it yourself before the \tikzducks package or use, e.g.
 
 \begin{lstlisting}[aboveskip=1.2em,morekeywords={xcolor,svgnames}]
 	\PassOptionsToPackage{svgnames}{xcolor}
@@ -173,6 +195,8 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+If the keyword consists of multiples words, it works both with and without spaces. In the following usually the version without spaces is given. 
+
 \clearpage
 If the size of the ducks should be changed or shifted:
 
@@ -191,6 +215,45 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+Please note that a negative \lstinline|yscale| will result in awkward rounded corners and text placements for some of the accessories. If an upside-down duck is necessary, e.g. to illustrate the German nursery rhyme  \href{https://de.wikipedia.org/wiki/Alle_meine_Entchen}{``Alle meine Entchen''}, please rotate the duck instead.
+
+To make the usage easier for the \TikZ-savvy users, Andrew Stacey contributed a \TikZ library. It can be loaded with \lstinline|\usetikzlibrary{ducks}|. In addition to the normal functionality of the \tikzducks package, the ducks are now also available as \lstinline|pic|. A short example:
+
+\begin{tcolorbox}[title={\TikZ library ``ducks''}]
+\begin{lstlisting}[morekeywords={ducks,duck,standalone,tikz,document}]
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{ducks}
+
+\begin{document}
+
+\begin{tikzpicture}
+\draw (0,0) pic[
+    duck/water=green,
+    duck/alien,
+  ] {duck};
+\draw (4,0) pic[
+    scale=1.4,
+  ] {duck};
+\end{tikzpicture}
+
+\end{document}
+\end{lstlisting} 
+
+\tcblower
+\begin{tikzpicture}
+\draw (0,0) pic[
+    duck/water=green,
+    duck/alien,
+  ] {duck};
+\draw (2,1) pic[
+    scale=1.4,
+  ] {duck};
+\end{tikzpicture}
+\end{tcolorbox}
+
+\clearpage
 \subsection{Body parts}
 
 The various parts of the duck can also be coloured independently, i.e.\ \lstinline|body|, \lstinline|head| or \lstinline|bill|:
@@ -233,6 +296,13 @@
 \begin{tikzpicture}
 	\duck[recedinghair]
 \end{tikzpicture}
+
+\begin{tikzpicture}
+	\duck[mohican]
+\end{tikzpicture}
+\begin{tikzpicture}
+	\duck[mullet]
+\end{tikzpicture}
 \end{tcblisting}
 
 And of course the colour of each hair style can be adjusted:
@@ -260,7 +330,7 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Beard duck$^\thefootnote$}}
+\begin{tcblisting}{title={Beard duck$^{\thefootnote}$}}
 \begin{tikzpicture}
 	\duck[beard=white!80!brown]
 \end{tikzpicture}
@@ -270,6 +340,8 @@
 \end{tcblisting}
 \footnotetext[\thefootnote]{The beard is based on an answer by Mihikma, see \url{https://tex.stackexchange.com/a/401777/36296}}
 
+Please note that not all of the accessories, especially hats, shown in the following sections, will suite every hairstyle. In case the desired combination of hair style and hat does not work well, there is always the possibility to look up the original definition of the hat in the \lstinline|tikzducks| source code and recreate it with a more suitable position or size.
+
 \subsection{Clothing}
 
 A respectable duck needs a suitable wardrobe. It can choose from a \lstinline|tshirt|, a \lstinline|jacket| and a \lstinline|tie|. In it's infinite wardrobe these items are available in all colours definable in the current colour model.
@@ -365,6 +437,13 @@
 \duck[body=black!75!white,
 			crown=yellow!70!brown]
 \end{tikzpicture}
+
+\begin{tikzpicture}
+\duck[queencrown=gray]
+\end{tikzpicture}
+\begin{tikzpicture}
+\duck[kingcrown=brown!70!red]
+\end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Unicorn duck}}
@@ -376,9 +455,9 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Bunny duck$^\thefootnote$}}
+\begin{tcblisting}{title={Bunny duck$^{\thefootnote}$}}
 \begin{tikzpicture}
-\duck[body=white!65!brown, bill=white!50!brown, bunny]
+\duck[body=white!80!brown, bill=white!60!brown, bunny]
 \end{tikzpicture}
 \begin{tikzpicture}
 \duck[bunny=red,inear=blue]
@@ -386,6 +465,22 @@
 \end{tcblisting}
 \footnotetext[\thefootnote]{Unless an explicit colour is specified, the bunny ears will take the body colour as default colour, the inner parts will be drawn in a lighter shade.}
 
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Sheep duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+\duck[body=white!80!brown, bill=white!60!brown, sheep]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The in-ear colour of the sheep chosen to be the same as the bill}
+
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Horse duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+\duck[body=brown!80!white, longhair=brown!50!black, horsetail]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{If no colour is specified, the horse tail will have the same colour as the hair}
+
 \begin{tcblisting}{title={Witch duck}}
 \begin{tikzpicture}
 	\duck[witch=black!50!gray,
@@ -410,6 +505,9 @@
 \begin{tikzpicture}
 	\duck[glasses=red!50!black]
 \end{tikzpicture}
+\begin{tikzpicture}
+	\duck[squareglasses=blue!50!black]
+\end{tikzpicture}
 \end{tcblisting}
 
 \begin{tcblisting}{title={Sunglasses duck}}
@@ -438,13 +536,13 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Speaking duck$^\thefootnote$}}
+\begin{tcblisting}{title={Speaking duck$^{\thefootnote}$}}
 \begin{tikzpicture}
 	\duck[speech={Bla},bubblecolour=cyan!20!white]
 \end{tikzpicture}
 \end{tcblisting}
 
-\begin{tcblisting}{title={Thinking duck$^\thefootnote$}}
+\begin{tcblisting}{title={Thinking duck$^{\thefootnote}$}}
 \begin{tikzpicture}
 	\duck[think={Blub},bubblecolour=white!95!yellow]
 \end{tikzpicture}
@@ -451,6 +549,17 @@
 \end{tcblisting}
 \footnotetext[\thefootnote]{Both the speech and thought bubble are inspired by the wonderful \href{https://www.ctan.org/pkg/ducksay}{ducksay package}}
 
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Buttons duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+	\duck[buttons=brown!50!black]
+\end{tikzpicture}	
+\begin{tikzpicture}
+	\duck[jacket=red,buttons]
+\end{tikzpicture}	
+\end{tcblisting}
+\footnotetext[\thefootnote]{In case the duck is wearing a jacket, the buttons are positioned a bit lower}
+
 \begin{tcblisting}{title={Book duck}}
 \begin{tikzpicture}
 	\duck[book=\scalebox{0.5}{\TeX}]
@@ -473,7 +582,7 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Football duck$^\thefootnote$}}
+\begin{tcblisting}{title={Football duck$^{\thefootnote}$}}
 \begin{tikzpicture}
 	\duck[football=white!85!yellow]
 \end{tikzpicture}
@@ -480,11 +589,13 @@
 \end{tcblisting}
 \footnotetext[\thefootnote]{The football duck is simplified version from an answer by Carla Maggi, \url{https://tex.stackexchange.com/a/387126/36296}}
 
-\begin{tcblisting}{title={Lightsaber duck}}
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Lightsaber duck$^{\thefootnote}$}}
 \begin{tikzpicture}
-	\duck[lightsaber=red]
+	\duck[lightsaber=red,darthvader=black!30!gray]
 \end{tikzpicture}
 \end{tcblisting}
+\footnotetext[\thefootnote]{Dedicated to the Counter Wizard (aka Christian Hupfer)}
 
 \begin{tcblisting}{title={Torch duck}}
 \begin{tikzpicture}
@@ -498,6 +609,12 @@
 \end{tikzpicture}
 \end{tcblisting}
 
+\begin{tcblisting}{title={Shepherd duck}}
+\begin{tikzpicture}
+	\duck[crozier=brown!80!black]
+\end{tikzpicture}
+\end{tcblisting}
+
 \begin{tcblisting}{title={Necklace duck}}
 \begin{tikzpicture}
 	\duck[necklace=gray!20!white]
@@ -517,7 +634,7 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Chef duck$^\thefootnote$}}
+\begin{tcblisting}{title={Chef duck$^{\thefootnote}$}}
 \begin{tikzpicture}
 	\duck[chef=white!95!yellow,
 			rollingpin=brown!80!black]
@@ -550,7 +667,7 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={Wine duck$^\thefootnote$}}
+\begin{tcblisting}{title={Wine duck$^{\thefootnote}$}}
 \begin{tikzpicture}
 	\duck[wine=red!70!black]
 \end{tikzpicture}
@@ -557,6 +674,23 @@
 \end{tcblisting}
 \footnotetext[\thefootnote]{According to the resident Italian wine expert of the \href{https://chat.stackexchange.com/transcript/message/40103109}{ TeX.SE chatroom}, the duck is drinking a fine Brunello di Montalcino}
 
+\addtocounter{footnote}{1}
+\begin{tcblisting}{title={Basket duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+	\duck[basket=brown]
+\end{tikzpicture}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Easter duck$^{\thefootnote}$}}
+\begin{tikzpicture}
+	\duck[bunny,easter]
+\end{tikzpicture}
+\begin{tikzpicture}
+	\duck[bunny,easter=brown,egga=cyan,eggb=orange,eggc=teal]
+\end{tikzpicture}
+\end{tcblisting}
+\footnotetext[\thefootnote]{The basket and Easter basket was kindly contributed by Benito van der Zander}
+
 \clearpage
 \section{Random ducks}
 With all these available accessories it might be hard to decide which one to choose, but don't worry the \tikzducks provide a solution for this dilemma, the random duck, or short \lstinline|\randuck|, which automatically creates a duck with a randomly chosen accessories and something on top of the head (hair, a hat, ears, alien antenna ...)
@@ -576,7 +710,6 @@
 \end{tikzpicture}
 \end{tcblisting}
 
-%\clearpage
 \section{Further customisation}
 
 This package will never be able to do everything every potential user might want to do, as this number quickly approaches $\infty$ -- but as the ducks are simply things inside \lstinline|tikzpicture|s, all the heavy weapons of the \TikZ package are available for further customisation.
@@ -608,12 +741,13 @@
 In detail, the following paths are available:
 
 \begin{lstlisting}[aboveskip=1.2em,breakindent=0pt]
-\duckpathbody, \duckpathgrumpybill, \duckpathbill, \duckpathtshirt, \duckpathjacket,\duckpathcape, \duckpathshorthair, \duckpathlonghair, \duckpathcrazyhair, \duckpathrecedinghair, \duckpathcrown
+\duckpathbody, \duckpathgrumpybill, \duckpathbill, \duckpathtshirt, \duckpathjacket,\duckpathcape, \duckpathshorthair, \duckpathlonghair, \duckpathcrazyhair, \duckpathrecedinghair, \duckpathcrown,  \duckpathmohican,  \duckpathmullet,  \duckpathqueencrown,  \duckpathkingcrown,  \duckpathdarthvader,  \duckpathhorsetail
 \end{lstlisting}
+\enlargethispage*{\baselineskip}
 
 In case one of the other shapes is needed, please have a look at the package source code, which can be found in \lstinline|tikzducks.sty|.
 
-To ease the placement of further accessories, some particular spots of the duck are marked with \TikZ coordinates, namely the \lstinline|wing|, \lstinline|head| and \lstinline|bill|. 
+To ease the placement of further accessories, some particular spots of the duck are marked with \TikZ coordinates, namely the \lstinline|wing|, \lstinline|head|, \lstinline|bill| and \lstinline|tail|. 
 
 {
 \footnotesize\ttfamily
@@ -623,9 +757,11 @@
 	\fill[black] (wing) circle (0.04);
 	\fill[black] (head) circle (0.04);
 	\fill[black] (bill) circle (0.04);
-	\node[xshift=15] at (wing) {wing};
-	\node[xshift=15] at (head) {head};
-	\node[xshift=18] at (bill) {bill};	
+	\fill[black] (tail) circle (0.04);
+	\node[xshift=15] at (wing) {Wing};
+	\node[xshift=15] at (head) {Head};
+	\node[xshift=18] at (bill) {Bill};	
+	\node[xshift=15] at (tail) {Tail};	
 \end{tikzpicture}
 \end{tcblisting}
 }
@@ -651,7 +787,7 @@
 \tikzducks are huge sports fans! They do a lot of different sports themselves (see all the piece of sports equipment amongst the accessories), but to cheer their favourite teams, they need suitable fan clothing. In \href{https://tex.stackexchange.com/a/387126/36296}{The Duck Pond} Carla Maggi was so kind to contribute the necessary code to dress the ducks in their team's colours.
 
 \addtocounter{footnote}{1}
-A (non-representative) survey$^\thefootnote$\footnotetext[\thefootnote]{see the selection of jerseys in \url{https://tex.stackexchange.com/a/387126/36296}} showed that most sports jerseys can be emulated by drawing stripes of various colours, sizes and orientations -- and this is exactly what the \lstinline|stripes| macro does, drawing stripes across the shape of the duck's jacket. In order to preserve the whole flexibility of this powerful macro, it was integrated as an independent command into the \tikzducks package, this means it can simply be used on top of a drawn duck:
+A (non-representative) survey$^{\thefootnote}$\footnotetext[\thefootnote]{see the selection of jerseys in \url{https://tex.stackexchange.com/a/387126/36296}} showed that most sports jerseys can be emulated by drawing stripes of various colours, sizes and orientations -- and this is exactly what the \lstinline|stripes| macro does, drawing stripes across the shape of the duck's jacket. In order to preserve the whole flexibility of this powerful macro, it was integrated as an independent command into the \tikzducks package, this means it can simply be used on top of a drawn duck:
 
 \begin{tcblisting}{title={\texttt{stripes} macro}}
 \begin{tikzpicture}
@@ -811,7 +947,8 @@
 \clearpage
 \section{Showcase}
 
-In the following a few examples of possible duck customisations, some of which will require additional packages (which are stated as a comment at the start of the code). For more examples (or to show your own creations) please visit \href{https://tex.stackexchange.com/q/387047/36296}{The Duck Pond}.
+\addtocounter{footnote}{1}
+In the following a few examples of possible duck customisations, some of which will require additional packages (which are stated as a comment at the start of the code). For more examples (or to show your own creations) please visit \href{https://tex.stackexchange.com/q/387047/36296}{The Duck Pond} or have a look at \href{https://vimeo.com/246256860}{The Great Christmas Extravaganza}$^{\thefootnote}$\footnotetext[\thefootnote]{the source code is available at \url{https://github.com/cereda/duck-extravaganza}}.
 
 \begin{tcblisting}{title={\texttt{samcarter} duck}}
 \begin{tikzpicture}
@@ -887,8 +1024,8 @@
 \end{tikzpicture}	
 
 \begin{tikzpicture}
-  \duck[grumpy,lightsaber=red,cape=black!70!white,
-  			body=black!85!white]
+  \duck[grumpy,lightsaber=red,cape=black!85!white,
+  			body=black!70!white,darthvader=black!85!white]
 \end{tikzpicture}
 
 \begin{tikzpicture}
@@ -909,7 +1046,7 @@
 \end{tcblisting}
 
 \addtocounter{footnote}{1}
-\begin{tcblisting}{title={67P/Churyumov-Gerasimenko duck$^\thefootnote$}}
+\begin{tcblisting}{title={67P/Churyumov-Gerasimenko duck$^{\thefootnote}$}}
 \begin{tikzpicture}[path image/.style={path picture={\foreach \j in {0,...,2}{\node at (0,\j) {\foreach \i in {1,...,5}{\includegraphics[height=1cm]{#1}}};}}}]
 \path (0.1,0.1) rectangle (2.1,2.12);
 \begin{pgfinterruptboundingbox}
@@ -974,8 +1111,10 @@
 \end{tikzpicture}
 
 \begin{tikzpicture}
-\duck[tshirt=black!60!gray, jacket=uniblue, body=skins, shorthair=black!60!brown, bill=skins!60!gray]
-\fill[skins,rotate=175, xshift=-46, yshift=-76] (0.45,1.20)--(0.50,0.80)--(0.65,1.20);
+\duck[tshirt=black!60!gray, jacket=uniblue, body=skins, mullet=black!60!brown, bill=skins!60!gray]
+\fill[skins,rotate=175, xshift=-46, yshift=-74] (0.45,1.20)--(0.50,0.80)--(0.65,1.20);
+\fill[black!60!brown, rounded corners=1, rotate=70] (1.85,0.13) rectangle (1.91,-0.05);
+\fill[black!60!brown, rounded corners=1, rotate=90] (1.7,-0.75) rectangle (1.76,-0.97);
 \insignia
 \end{tikzpicture}
 
@@ -1024,9 +1163,7 @@
 \begin{tikzpicture}
 \duck[body=pskin!80!white,longhair=phair,tshirt=magenta!60!white,jacket=magenta!40!white,necklace=white!85!yellow]
 \path (0.7,2) rectangle (1.4,2.55);
-\begin{pgfinterruptboundingbox}	
-	\fill[yellow!80!orange,rotate=-10,xshift=-11,yshift=5] \duckpathcrown;
-\end{pgfinterruptboundingbox}	
+\fill[yellow!80!orange,rotate=-10,xshift=-11,yshift=5] \duckpathcrown;
 \end{tikzpicture}
 \end{tcblisting}
 
@@ -1050,30 +1187,52 @@
 
 \begin{tikzpicture}
 \duck[body=white!80!brown, bill=white!60!brown, bunny, longhair=white!60!brown]
-\fill[white!60!brown] (1.85,1.42) circle (0.2);
+\fill[white!60!brown] (tail) circle (0.2);
 \end{tikzpicture}
 
 \begin{tikzpicture}
 \duck[body=red!20!white,bill=red!30!white,shorthair=red!30!white,bunny=red!30!white,inear=red!30!white]
 \node[red!20!white,rotate=25,scale=3] at (1.7,1.51) {\textsf{s}};
-\end{tikzpicture}       
+\end{tikzpicture}   
+
+\begin{tikzpicture}
+\duck[body=white!80!brown, bill=white!60!brown, sheep]
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\begin{scope}[yshift=-6]
+\clip[rotate=-5] (0.68,2.38) ellipse (0.3 and 0.4);
+\fill[brown,rotate=-5](0.28,2.26)ellipse (0.3 and 0.4);
+\end{scope}
+\duck[body=brown,mohican=brown!50!black,horsetail]
+\begin{scope}[yshift=-5,xshift=1]
+\clip[rotate=-5] (0.68,2.38) ellipse (0.3 and 0.4);
+\fill[brown,rotate=-5](1.06,2.2) ellipse (0.3 and 0.4);
+\end{scope}
+\end{tikzpicture}
 \end{tcblisting}
 
+\begin{tcblisting}{title={Frosty Duck}}
+\begin{tikzpicture}
+\duck[body=white,eye=white,tophat=black,buttons=black]
+\draw[very thick] (0.9,0.3) -- (1.2,1) (1.2,1) -- (1,1.3) (1.2,1) -- (1.3,1.3) (1.2,1) -- (1.5,1.4) (1.32,1.15) -- (1.6,1.3);
+\end{tikzpicture}   
+\end{tcblisting}
+
 \begin{tcblisting}{title={Duck Queen}}
-%\usepackage[LSBC5,T1]{fontenc}
-%\usepackage{chessfss}
 \definecolor{qskin}{RGB}{225,219,206}%
 \definecolor{qbill}{RGB}{170,123,154}%
 \definecolor{qdress}{RGB}{184,209,206}%
 \definecolor{qcrown}{RGB}{90,76,183}%
-\setboardfontencoding{LSBC5}
-\setboardfontcolors{whiteonwhitepiecemask=qcrown,whitepiece=gray!60!white}  
 \begin{tikzpicture}
 \duck[body=qskin,bill=qbill,jacket=qdress,tshirt=teal!30!qdress,shorthair=gray!60!white,necklace=gray!10!white]  
-\node[rotate=-10] at (1.03,2.42) {\scalebox{1.9}{\WhiteKingOnWhite}}; 
-\fill[gray!60!white,rotate=-10] (0.6,2.18) ellipse (0.38 and 0.1);
 \fill[gray!60!white,rotate=-30] (0.27,1.23) rectangle (0.37,0.65);
-\node[rotate=-30] at (0.94,0.98) {\scalebox{0.4}{\WhiteQueenOnWhite}}; 
+\begin{scope}[scale=0.23,rotate=-20,yshift=82,xshift=38]
+	\fill[qcrown] \duckpathqueencrown;
+\end{scope}
+\begin{scope}[yshift=3]
+	\fill[qcrown] \duckpathkingcrown;
+\end{scope}
 \end{tikzpicture}
 \end{tcblisting}
 

Modified: trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty	2018-04-04 20:19:03 UTC (rev 47288)
+++ trunk/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty	2018-04-04 20:19:15 UTC (rev 47289)
@@ -1,3 +1,4 @@
+% !TeX root = ./testing/test.tex
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % The tikzducks package
@@ -10,20 +11,19 @@
 % Released under the LaTeX Project Public License v1.3c or later
 % See http://www.latex-project.org/lppl.txt
 %
-% Version 0.5a
-% Nov 23, 2017 
+% Version 0.6
+% April 04, 2018 
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
 \ProvidesPackage{tikzducks}
+ [2018/04/04 v0.6 Draw rubber ducks in TikZ]
 
-\RequirePackage{xcolor}
 \RequirePackage{tikz}
 \usetikzlibrary{patterns} % for the wizard hat
 \usetikzlibrary{calc} % for the sports jerseys
 
-\RequirePackage{ifpdf}
 \RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
 
 %\pgfdeclarelayer{backgroundlayer} 
 %\pgfdeclarelayer{bodylayer}
@@ -33,8 +33,11 @@
 %
 %\pgfsetlayers{backgroundlayer,bodylayer,clothinglayer,hairlayer,hatlayer,main}
 
-\newcommand*{\duck}[1][]{\tikzset{%
-	/duck/.cd,#1}\duck at draw%
+\newcommand*{\duck}[1][]{%
+	\begin{scope}%
+		\tikzset{/duck/.cd,#1}%
+		\duck at draw%
+	\end{scope}%
 }
 
 \newif\ifduck at name
@@ -49,6 +52,8 @@
 \newif\ifduck at recedinghair
 \newif\ifduck at eyebrow
 \newif\ifduck at beard
+\newif\ifduck at mohican
+\newif\ifduck at mullet
 % clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\ifduck at tshirt
 \newif\ifduck at jacket
@@ -67,12 +72,16 @@
 \newif\ifduck at graduate
 \newif\ifduck at beret
 \newif\ifduck at crown
+\newif\ifduck at queencrown
+\newif\ifduck at kingcrown
 \newif\ifduck at peakedcap
 \newif\ifduck at bunny
 \newif\ifduck at tophat
+\newif\ifduck at darthvader
 % Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\ifduck at glasses
 \newif\ifduck at sunglasses
+\newif\ifduck at squareglasses
 \newif\ifduck at icecream
 \newif\ifduck at book
 \newif\ifduck at magicwand
@@ -93,169 +102,243 @@
 \newif\ifduck at speech
 \newif\ifduck at think
 \newif\ifduck at torch
+\newif\ifduck at easter
+\newif\ifduck at basket
+\newif\ifduck at buttons
+\newif\ifduck at sheep
+\newif\ifduck at horsetail
+\newif\ifduck at crozier
+\newif\ifduck at davidlikespineapplepizza
 
-\tikzset{
-	/duck/.cd,
-	name/.code = \duck at nametrue \def\duck at name{#1},
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	%
-	% Environment
-	%
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	water/.code = \duck at watertrue \def\duck at water{#1},
-	% setting default
-	water/.default = blue,	
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	%
-	% body parts
-	%
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	body/.code		= \def\duck at body{#1},
- 	head/.code		= \def\duck at head{#1},
- 	eye/.code			= \def\duck at eye{#1},
- 	pupil/.code		= \def\duck at pupil{#1},
- 	bill/.code		= \def\duck at bill{#1},
- 	grumpy/.code	= \duck at grumpytrue,
-	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	body	= yellow!70!brown,
-	eye		= white!85!yellow,
-	pupil	= black,
-	bill	= orange!50!brown, 
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	%
-	% clothing
-	%
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	tshirt/.code  = \duck at tshirttrue	\def\duck at tshirt{#1},
-	jacket/.code  = \duck at jackettrue	\def\duck at jacket{#1},
-	tie/.code 	  = \duck at tietrue			\def\duck at tie{#1},
-	cape/.code	  = \duck at capetrue		\def\duck at cape{#1},
-	stripes/.code = \duck at stripestrue	\def\duck at stripes{#1},
-	% setting default %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	tshirt/.default	 = white,
-	jacket/.default	 = blue,
-	tie/.default		 = blue,	
-	cape/.default		 = red,
-	stripes/.default = \stripes ,
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	%
-	% hair styles
-	%
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 	shorthair/.code			= \duck at shorthairtrue			\def\duck at hair{#1},
- 	longhair/.code			= \duck at longhairtrue			\def\duck at hair{#1},
- 	crazyhair/.code			= \duck at crazyhairtrue			\def\duck at hair{#1},
- 	recedinghair/.code	= \duck at recedinghairtrue	\def\duck at hair{#1},
- 	eyebrow/.code				= \duck at eyebrowtrue			  \def\duck at eyebrow{#1},
- 	beard/.code					= \duck at beardtrue					\def\duck at beard{#1},
-	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	shorthair/.default 		= brown,
-	longhair/.default			= brown,
-	crazyhair/.default		= brown,
-	recedinghair/.default	= brown,
-	eyebrow/.default			= brown,
-	beard/.default				= brown,
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	%
-	% Headgear
-	%
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 	alien/.code				= \duck at alientrue 			\def\duck at alien{#1},
- 	hat/.code					= \duck at hattrue 				\def\duck at hat{#1},
- 	cap/.code					= \duck at captrue					\def\duck at cap{#1},
- 	santa/.code				= \duck at santatrue				\def\duck at santa{#1},
- 	chef/.code				= \duck at cheftrue				\def\duck at chef{#1},
- 	graduate/.code		= \duck at graduatetrue		\def\duck at graduate{#1},
- 	tassel/.code			=												\def\duck at tassel{#1},
- 	beret/.code				= \duck at berettrue				\def\duck at beret{#1},
- 	unicorn/.code			= \duck at unicorntrue 		\def\duck at unicorn{#1},
-	magichat/.code		= \duck at magichattrue		\def\duck at magichat{#1},
-	magicstars/.code	= 											\def\duck at magicstars{#1},
-	witch/.code				=	\duck at witchtrue				\def\duck at witch{#1},
-	crown/.code				= \duck at crowntrue				\def\duck at crown{#1},
-	bunny/.code				= \duck at bunnytrue				\def\duck at bunny{#1},
-	inear/.code				=												\def\duck at inear{#1},
-	peakedcap/.code		= \duck at peakedcaptrue		\def\duck at peakedcap{#1},
-	tophat/.code			= \duck at tophattrue			\def\duck at tophat{#1},
-	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	alien/.default		= green,		
-	hat/.default			= brown,
-	cap/.default			= blue,
-	santa/.default		= red!80!black,
-	chef/.default			= gray!20!white,
-	graduate/.default	= black,
-	tassel						= red,
-	beret/.default		= black,			
-	unicorn/.default	= pink,
-	magichat/.default	= violet,
-	magicstars        = yellow!80!brown,
-	witch/.default		= black,		
-	crown/.default		= yellow,
-	bunny/.default		= \duck at body,
-	inear							= \duck at bunny!50!white,
-	peakedcap/.default= blue,
-	tophat/.default		= black,
-	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 	%
- 	% Accessories
- 	%
- 	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 	glasses/.code			= \duck at glassestrue			\def\duck at glasses{#1},
- 	sunglasses/.code	= \duck at sunglassestrue	\def\duck at sunglasses{#1},
-	icecream/.code 		= \duck at icecreamtrue 		\def\duck at cone{#1},
-	flavoura/.code 		= 											\def\duck at flavoura{#1},
-	flavourb/.code 		= 											\def\duck at flavourb{#1},
-	flavourc/.code 		= 											\def\duck at flavourc{#1},
-	book/.code 				= \duck at booktrue 				\def\duck at book{#1},
-	bookcolour/.code 	= 											\def\duck at bookcolour{#1},
-	signpost/.code		= \duck at signposttrue		\def\duck at signpost{#1},
-	signcolour/.code  = 											\def\duck at signcolour{#1},
-	signback/.code		= 											\def\duck at signback{#1},
-	magicwand/.code		= \duck at magicwandtrue,
-	cricket/.code			= \duck at crickettrue			\def\duck at cricket{#1},
-	rollingpin/.code	= \duck at rollingpintrue	\def\duck at rollingpin{#1},
-	lightsaber/.code 	= \duck at lightsabertrue	\def\duck at lightsaber{#1},
-	cake/.code				= \duck at caketrue				\def\duck at cake{#1},
-	pizza/.code				= \duck at pizzatrue,
-	hockey/.code			= \duck at hockeytrue			\def\duck at hockey{#1},
-	baguette/.code		= \duck at baguettetrue		\def\duck at baguette{#1},
-	football/.code		= \duck at footballtrue		\def\duck at football{#1},
-	mask/.code				= \duck at masktrue				\def\duck at mask{#1},
-	necklace/.code		= \duck at necklacetrue		\def\duck at necklace{#1},
-	milkshake/.code		= \duck at milkshaketrue		\def\duck at milkshake{#1},
-	wine/.code				= \duck at winetrue				\def\duck at wine{#1},	
-	prison/.code			= \duck at prisontrue			\def\duck at prison{#1},
-	speech/.code 			= \duck at speechtrue 			\def\duck at speech{#1},
-	think/.code 			= \duck at thinktrue 			\def\duck at think{#1},
-	bubblecolour/.code = 										\def\duck at bubblecolour{#1},
-	torch/.code				= \duck at torchtrue				\def\duck at torch{#1},
-	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	glasses/.default		= black,	
-	sunglasses/.default	= black,	
-	icecream/.default 	= brown!60!gray,
-	flavoura 						= brown!50!black,
-	flavourb 						= white!70!brown,
-	flavourc 						= red!50!white,
-	bookcolour					= brown,
-	signcolour					= brown!50!black,
-	signback						= green!40!black,	
-	cricket/.default		= brown,
-	rollingpin/.default	= brown,
-	lightsaber/.default = green,
-	cake/.default				= violet,
-	hockey/.default			=	brown,
-	baguette/.default		= brown,
-	football/.default		= white,
-	mask/.default				= black,
-	necklace/.default		= white!80!gray,
-	milkshake/.default 	= red!20!white,
-	wine/.default				= red!70!black,
-	prison/.default			= gray,
-	bubblecolour				= gray!30!white,
-	torch/.default			= gray,
+ \tikzset{
+   %
+   % Pass unknown keys on to tikz
+   %
+   /duck/.search also={/tikz,/pgf},
+   /duck/.cd,
+   name/.code= \duck at nametrue \def\duck at name{#1},
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Environment
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  water/.code = \duck at watertrue \def\duck at water{#1},
+  % setting default
+  water/.default = blue,  
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % body parts
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  body/.code    = \def\duck at body{#1},
+  head/.code    = \def\duck at head{#1},
+  eye/.code     = \def\duck at eye{#1},
+  pupil/.code   = \def\duck at pupil{#1},
+  bill/.code    = \def\duck at bill{#1},
+  grumpy/.code  = \duck at grumpytrue,
+  % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  body  = yellow!70!brown,
+  eye   = white!85!yellow,
+  pupil = black,
+  bill  = orange!50!brown, 
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % clothing
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  tshirt/.code       = \duck at tshirttrue      \def\duck at tshirt{#1},
+  jacket/.code       = \duck at jackettrue      \def\duck at jacket{#1},
+  tie/.code          = \duck at tietrue         \def\duck at tie{#1},
+  cape/.code         = \duck at capetrue        \def\duck at cape{#1},
+  stripes/.code      = \duck at stripestrue     \def\duck at stripes{#1},
+  % setting default %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  tshirt/.default    = white,
+  jacket/.default    = blue,
+  tie/.default       = blue,
+  cape/.default      = red,
+  stripes/.default   = \stripes ,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % hair styles
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  shorthair/.code    = \duck at shorthairtrue    \def\duck at hair{#1},
+  short hair/.forward to=/duck/shorthair,
+  longhair/.code     = \duck at longhairtrue     \def\duck at hair{#1},
+  long hair/.forward to=/duck/longhair,
+  crazyhair/.code    = \duck at crazyhairtrue    \def\duck at hair{#1},
+  crazy hair/.forward to=/duck/crazyhair,
+  recedinghair/.code = \duck at recedinghairtrue \def\duck at hair{#1},
+  receding hair/.forward to=/duck/recedinghair,
+  eyebrow/.code      = \duck at eyebrowtrue      \def\duck at eyebrow{#1},
+  beard/.code        = \duck at beardtrue        \def\duck at beard{#1},
+  mohican/.code      =  \duck at mohicantrue     \def\duck at hair{#1},
+  mullet/.code       = \duck at mullettrue       \def\duck at hair{#1},
+  % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  shorthair/.default = brown,
+  longhair/.default  = brown,
+  crazyhair/.default = brown,
+  recedinghair/.default= brown,
+  eyebrow/.default   = brown,
+  beard/.default     = brown,
+  mohican/.default   = brown,
+  mullet/.default    = brown,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Headgear
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  alien/.code        = \duck at alientrue       \def\duck at alien{#1},
+  hat/.code          = \duck at hattrue         \def\duck at hat{#1},
+  cap/.code          = \duck at captrue         \def\duck at cap{#1},
+  santa/.code        = \duck at santatrue       \def\duck at santa{#1},
+  chef/.code         = \duck at cheftrue        \def\duck at chef{#1},
+  graduate/.code     = \duck at graduatetrue    \def\duck at graduate{#1},
+  tassel/.code       =                       \def\duck at tassel{#1},
+  beret/.code        = \duck at berettrue       \def\duck at beret{#1},
+  unicorn/.code      = \duck at unicorntrue     \def\duck at unicorn{#1},
+  magichat/.code     = \duck at magichattrue    \def\duck at magichat{#1},
+  magic hat/.forward to=/duck/magichat,
+  magicstars/.code   =                       \def\duck at magicstars{#1},
+  magic stars/.forward to=/duck/magicstars,
+  witch/.code        = \duck at witchtrue       \def\duck at witch{#1},
+  crown/.code        = \duck at crowntrue       \def\duck at crown{#1},
+  queencrown/.code   = \duck at queencrowntrue  \def\duck at queencrown{#1},
+  queen crown/.forward to=/duck/queencrown,
+  kingcrown/.code    = \duck at kingcrowntrue   \def\duck at kingcrown{#1},
+  king crown/.forward to=/duck/kingcrown,
+  bunny/.code        = \duck at bunnytrue       \def\duck at bunny{#1},
+  inear/.code        =                       \def\duck at inear{#1},
+  in ear/.forward to=/duck/inear,
+  peakedcap/.code    = \duck at peakedcaptrue   \def\duck at peakedcap{#1},
+  peaked cap/.forward to=/duck/peakedcap,
+  tophat/.code       = \duck at tophattrue      \def\duck at tophat{#1},
+  top hat/.forward to=/duck/tophat,
+  darthvader/.code   = \duck at darthvadertrue  \def\duck at darthvader{#1},
+  darth vader/.forward to=/duck/darthvader,
+  % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  alien/.default     = green,    
+  hat/.default       = brown,
+  cap/.default       = blue,
+  santa/.default     = red!80!black,
+  chef/.default      = gray!20!white,
+  graduate/.default  = black,
+  tassel             = red,
+  beret/.default     = black,      
+  unicorn/.default   = pink,
+  magichat/.default  = violet,
+  magicstars         = yellow!80!brown,
+  witch/.default     = black,    
+  crown/.default     = yellow,
+  queencrown/.default= yellow,
+  kingcrown/.default = gray,
+  bunny/.default     = \duck at body,
+  inear              = \duck at bunny!50!white,
+  peakedcap/.default = blue,
+  tophat/.default    = black,
+  darthvader/.default= black,
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %
+  % Accessories
+  %
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  glasses/.code      = \duck at glassestrue     \def\duck at glasses{#1},
+  sunglasses/.code   = \duck at sunglassestrue  \def\duck at sunglasses{#1},
+  squareglasses/.code = \duck at squareglassestrue \def\duck at squareglasses{#1},
+  square glasses/.forward to=/duck/squareglasses,
+  icecream/.code     = \duck at icecreamtrue    \def\duck at cone{#1},
+  ice cream/.forward to=/duck/icecream,
+  flavoura/.code     =                       \def\duck at flavoura{#1},
+  flavour a/.forward to=/duck/flavoura,
+  flavourb/.code     =                       \def\duck at flavourb{#1},
+  flavour b/.forward to=/duck/flavourb,
+  flavourc/.code     =                       \def\duck at flavourc{#1},
+  flavour c/.forward to=/duck/flavourc,
+  book/.code         = \duck at booktrue        \def\duck at book{#1},
+  bookcolour/.code   =                       \def\duck at bookcolour{#1},
+  book colour/.forward to=/duck/bookcolour,
+  signpost/.code     = \duck at signposttrue    \def\duck at signpost{#1},
+  sign post/.forward to=/duck/signpost,
+  signcolour/.code   =                       \def\duck at signcolour{#1},
+  sign colour/.forward to=/duck/signcolour,
+  signback/.code     =                       \def\duck at signback{#1},
+  sign back/.forward to=/duck/signback,
+  magicwand/.code    = \duck at magicwandtrue,
+  magic want/.forward to=/duck/magicwand,
+  cricket/.code      = \duck at crickettrue     \def\duck at cricket{#1},
+  rollingpin/.code   = \duck at rollingpintrue  \def\duck at rollingpin{#1},
+  rolling pin/.forward to=/duck/rollingpin,
+  lightsaber/.code   = \duck at lightsabertrue  \def\duck at lightsaber{#1},
+  light saber/.forward to=/duck/lightsaber,
+  cake/.code         = \duck at caketrue        \def\duck at cake{#1},
+  pizza/.code        = \duck at pizzatrue,
+  hockey/.code       = \duck at hockeytrue      \def\duck at hockey{#1},
+  baguette/.code     = \duck at baguettetrue    \def\duck at baguette{#1},
+  football/.code     = \duck at footballtrue    \def\duck at football{#1},
+  mask/.code         = \duck at masktrue        \def\duck at mask{#1},
+  necklace/.code     = \duck at necklacetrue    \def\duck at necklace{#1},
+  milkshake/.code    = \duck at milkshaketrue   \def\duck at milkshake{#1},
+  wine/.code         = \duck at winetrue        \def\duck at wine{#1},  
+  prison/.code       = \duck at prisontrue      \def\duck at prison{#1},
+  speech/.code       = \duck at speechtrue      \def\duck at speech{#1},
+  think/.code        = \duck at thinktrue       \def\duck at think{#1},
+  bubblecolour/.code =                       \def\duck at bubblecolour{#1},
+  bubble colour/.forward to=/duck/bubblecolour,
+  torch/.code        = \duck at torchtrue       \def\duck at torch{#1},
+  basket/.code       = \duck at baskettrue      \def\duck at basket{#1},
+  easter/.code       = \duck at eastertrue
+                       \duck at baskettrue      \def\duck at basket{#1},
+  egga/.code         =                       \def\duck at egga{#1},
+  egg a/.forward to=/duck/egga,
+  eggb/.code         =                       \def\duck at eggb{#1},
+  egg b/.forward to=/duck/eggb,
+  eggc/.code         =                       \def\duck at eggc{#1},
+  egg c/.forward to=/duck/eggc,
+  buttons/.code      = \duck at buttonstrue     \def\duck at buttons{#1},
+  sheep/.code        = \duck at sheeptrue       \def\duck at sheep{#1},
+  horsetail/.code    = \duck at horsetailtrue   \def\duck at horsetail{#1},
+  crozier/.code      = \duck at croziertrue     \def\duck at crozier{#1},
+  davidlikespineapplepizza/.code = \duck at davidlikespineapplepizzatrue
+  \duck at speechtrue \def\duck at speech{\scalebox{\yscalefactor}{\scalebox{0.9}{\tiny ih, che schifo!}}},
+  david likes pineapple pizza/.forward to=/duck/davidlikespineapplepizza,
+  % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  glasses/.default   = black,  
+  sunglasses/.default= black,  
+  squareglasses/.default = black,
+  icecream/.default  = brown!60!gray,
+  flavoura           = brown!50!black,
+  flavourb           = white!70!brown,
+  flavourc           = red!50!white,
+  bookcolour         = brown,
+  signcolour         = brown!50!black,
+  signback           = green!40!black,  
+  cricket/.default   = brown,
+  rollingpin/.default= brown,
+  lightsaber/.default= green,
+  cake/.default      = violet,
+  hockey/.default    = brown,
+  baguette/.default  = brown,
+  football/.default  = white,
+  mask/.default      = black,
+  necklace/.default  = white!80!gray,
+  milkshake/.default = red!20!white,
+  wine/.default      = red!70!black,
+  prison/.default    = gray,
+  bubblecolour       = gray!30!white,
+  torch/.default     = gray,
+  basket/.default    = brown!70!gray,
+  easter/.default    = brown!70!gray,
+  egga               = blue,
+  eggb               = green,
+  eggc               = red,
+  buttons/.default   = black,
+  sheep/.default     = \duck at body,
+  horsetail/.default = brown,
+  crozier/.default   = brown,
 }
 
 \def\duck at draw{
+%\begin{scope}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % minimal bounding box size
@@ -269,16 +352,28 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at name
-	\coordinate (\duck at name-wing) at (0.8,0.7);
-	\coordinate (\duck at name-head) at (0.9,2);
-	\coordinate (\duck at name-bill) at (0.5,1.3);
+  \coordinate (\duck at name-wing) at (0.8,0.7);
+  \coordinate (\duck at name-head) at (0.9,2);
+  \coordinate (\duck at name-bill) at (0.5,1.3);
+  \coordinate (\duck at name-tail) at (1.82,1.41);
 \fi
 \coordinate (wing) at (0.8,0.7);
 \coordinate (head) at (0.9,2);
 \coordinate (bill) at (0.5,1.3);
+\coordinate (tail) at (1.82,1.41);
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
+% store the current scale factor
+% from https://tex.stackexchange.com/a/86900/36296
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfgettransformentries{\myxscale}{\@tempa}{\@tempa}{\myyscale}{\@tempa}{\@tempa}
+\gdef\yscalefactor{\myyscale}
+\gdef\xscalefactor{\myxscale}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
 % Environment
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -286,12 +381,17 @@
 %
 % water %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at water
-	\fill[\duck at water, even odd rule] (1.00,0.40) ellipse (0.88 and 0.35) (1.00,0.40) ellipse (0.75 and 0.25);
-	\fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.05 and 0.50) (1.00,0.40) ellipse (0.95 and 0.42);
-	\fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.23 and 0.63) (1.00,0.40) ellipse (1.17 and 0.57);
-	\fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.42 and 0.77) (1.00,0.40) ellipse (1.38 and 0.73);		
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse (0.88 and 0.35) (1.00,0.40) ellipse (0.75 and 0.25);
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.05 and 0.50) (1.00,0.40) ellipse (0.95 and 0.42);
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.23 and 0.63) (1.00,0.40) ellipse (1.17 and 0.57);
+  \fill[\duck at water, even odd rule] (1.00,0.40) ellipse (1.42 and 0.77) (1.00,0.40) ellipse (1.38 and 0.73);    
 \fi
 %
+% sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sheep
+  \fill[\duck at sheep] (0.65,1.95) circle (0.15) (0.5,1.75) circle (0.15) (0.46,1.51) circle (0.15) (0.37,1.) circle (0.15) (0.23,0.8) circle (0.15) (0.2,0.6) circle (0.15) (0.25,0.45) circle (0.15) (0.35,0.30) circle (0.15) (0.55,0.25) circle (0.15) (0.75,0.2) circle (0.15) (0.95,0.16) circle (0.15) (1.15,0.2) circle (0.15) (1.35,0.23) circle (0.15) (1.55,0.3) circle (0.15) (1.75,0.38) circle (0.15) (1.95,0.5) circle (0.15) (2.05,0.65) circle (0.15) (2.1,0.85) circle (0.15) (2.05,1.0) circle (0.15) (2.0,1.15) circle (0.15) (1.85,1.35) circle (0.15) (1.6,1.25) circle (0.15) (1.35,1.25) circle (0.15) (1.3,1.5) circle (0.15) (1.3,1.7) circle (0.15) (1.2,1.9) circle (0.15) (0.85,2.05) circle (0.15) (1.05,2.0) circle (0.15);
+\fi
+% 
 %\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
@@ -302,41 +402,41 @@
 %
 % body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{pgfinterruptboundingbox}
-	\fill[\duck at body] \duckpathbody;
+  \fill[\duck at body] \duckpathbody;
 \end{pgfinterruptboundingbox}
 %
 % head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifdefined\duck at head\else\let\duck at head=\duck at body\fi
 \fill[\duck at head] 
-	(0.90,1.50) ellipse (0.50 and 0.625);
+  (0.90,1.50) ellipse (0.50 and 0.625);
 %
 % bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at grumpy
- 	\fill[\duck at bill] \duckpathgrumpybill;
+   \fill[\duck at bill] \duckpathgrumpybill;
 \else
-	\fill[\duck at bill] \duckpathbill;
+  \fill[\duck at bill] \duckpathbill;
 \fi
 %
 % Superhero mask %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % has to be behind the eyes
 \ifduck at mask
-	\begin{scope}
-		\clip (0.90,1.50) ellipse (0.50 and 0.625);
-		\fill[\duck at mask,rotate=-15] (-0.1,1.59) rectangle (1.3,1.88);
-	\end{scope}
+  \begin{scope}
+    \clip (0.90,1.50) ellipse (0.50 and 0.625);
+    \fill[\duck at mask,rotate=-15] (-0.1,1.59) rectangle (1.3,1.88);
+  \end{scope}
 \fi%
 %
 % right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \fill[\duck at eye, rotate=-20] 
-	(0.23,1.7675) ellipse (0.0893 and 0.125);
+  (0.23,1.7675) ellipse (0.0893 and 0.125);
 \fill[\duck at pupil, rotate=-20] 
-	(0.26,1.7575) ellipse (0.0357 and 0.0714);
+  (0.26,1.7575) ellipse (0.0357 and 0.0714);
 %
 % left eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \fill[\duck at eye, rotate=-20] 
-	(-0.06,1.74) ellipse (0.0786 and 0.1143);
+  (-0.06,1.74) ellipse (0.0786 and 0.1143);
 \fill[\duck at pupil, rotate=-20] 
-	(-0.03,1.73) ellipse (0.0286 and 0.0643);
+  (-0.03,1.73) ellipse (0.0286 and 0.0643);
 %
 %\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -348,40 +448,49 @@
 %
 % tshirt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at tshirt
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at tshirt] \duckpathtshirt;
-	\end{pgfinterruptboundingbox}
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at tshirt] \duckpathtshirt;
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % tie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at tie
-	\fill[\duck at tie,rotate=-12] (0.32,0.7) rectangle (0.43,1.15);
+  \fill[\duck at tie,rotate=-12] (0.32,0.7) rectangle (0.43,1.15);
 \fi
 %
 % jacket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at jacket
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at jacket] \duckpathjacket;
-	\end{pgfinterruptboundingbox}
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at jacket] \duckpathjacket;
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % stripes for football jersey %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at stripes
-	\duck at stripes
+  \duck at stripes
 \fi
 %
 % superhero cape %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at cape
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at cape] \duckpathcape;
-	\end{pgfinterruptboundingbox}
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at cape] \duckpathcape;
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % necklace (not really clothing, but needs to be below the hair) %%%%%
 \ifduck at necklace
-	\fill[\duck at necklace] (0.5000,1.112) circle (0.032) (0.5100,1.050) circle (0.032) (0.5200,0.990) circle (0.032) (0.5400,0.931) circle (0.032) (0.5825,0.885) circle (0.032) (0.6450,0.885) circle (0.032) (0.7000,0.910) circle (0.032) (0.7500,0.945) circle (0.032) (0.8000,0.980) circle (0.032) (0.8500,1.020) circle (0.032) (0.9000,1.050) circle (0.032) (0.9500,1.080) circle (0.032) (1.0000,1.110) circle (0.032) (1.0550,1.130) circle (0.032) (1.1100,1.150) circle (0.032) (1.1650,1.165) circle (0.032) (1.2200,1.180) circle (0.032) (1.2750,1.195) circle (0.032) (1.3300,1.210) circle (0.032);
+  \fill[\duck at necklace] (0.5000,1.112) circle (0.032) (0.5100,1.050) circle (0.032) (0.5200,0.990) circle (0.032) (0.5400,0.931) circle (0.032) (0.5825,0.885) circle (0.032) (0.6450,0.885) circle (0.032) (0.7000,0.910) circle (0.032) (0.7500,0.945) circle (0.032) (0.8000,0.980) circle (0.032) (0.8500,1.020) circle (0.032) (0.9000,1.050) circle (0.032) (0.9500,1.080) circle (0.032) (1.0000,1.110) circle (0.032) (1.0550,1.130) circle (0.032) (1.1100,1.150) circle (0.032) (1.1650,1.165) circle (0.032) (1.2200,1.180) circle (0.032) (1.2750,1.195) circle (0.032) (1.3300,1.210) circle (0.032);
 \fi
 %
+% buttons (same argument as for the necklace)
+\ifduck at buttons
+  \ifduck at jacket
+    \fill[\duck at buttons] (0.49,0.6) circle (0.05) (0.46,0.45) circle (0.05) (0.45,0.3) circle (0.05);
+  \else
+    \fill[\duck at buttons] (0.53,0.75) circle (0.05) (0.5,0.6) circle (0.05)  (0.47,0.45) circle (0.05);
+  \fi
+\fi
+%
 %\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
@@ -392,54 +501,70 @@
 %
 % short hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at shorthair
-	\path (0.1,0.1) rectangle (2.1,2.25);
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at hair] \duckpathshorthair;
-	\end{pgfinterruptboundingbox}
+  \path (0.1,0.1) rectangle (2.1,2.25);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at hair] \duckpathshorthair;
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % long hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at longhair
-	\path (0.1,0.1) rectangle (2.1,2.25);
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at hair] \duckpathlonghair;
-	\end{pgfinterruptboundingbox}
+  \path (0.1,0.1) rectangle (2.1,2.25);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at hair] \duckpathlonghair;
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % crazy hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at crazyhair
-	\path (0.1,0.1) rectangle (2.1,2.4);
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at hair] \duckpathcrazyhair;
-	\end{pgfinterruptboundingbox}
+  \path (0.1,0.1) rectangle (2.1,2.4);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at hair] \duckpathcrazyhair;
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % receding hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at recedinghair
-	\path (0.1,0.1) rectangle (2.1,2.18);
-	\begin{pgfinterruptboundingbox}
-		\fill[\duck at hair] \duckpathrecedinghair;
-	\end{pgfinterruptboundingbox}
+  \path (0.1,0.1) rectangle (2.1,2.18);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at hair] \duckpathrecedinghair;
+  \end{pgfinterruptboundingbox}
 \fi
 %
+% mohican hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at mohican
+  \path (0.1,0.1) rectangle (2.1,2.24);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at hair] \duckpathmohican;
+  \end{pgfinterruptboundingbox}
+\fi
+%
+% mullet hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at mullet
+  \path (0.1,0.1) rectangle (2.1,2.17);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at hair] \duckpathmullet;
+  \end{pgfinterruptboundingbox}
+\fi
+%
 % eye brow %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \pgfkeys{/duck/eyebrow/. at def/.get=\duck at test}
 \ifx\duck at eyebrow\duck at test
-    \ifdefined\duck at hair\let\duck at eyebrow=\duck at hair\fi
+  \ifdefined\duck at hair\let\duck at eyebrow=\duck at hair\fi
 \fi%
 \ifduck at eyebrow
-	\fill[\duck at eyebrow, rounded corners=1, rotate=60] (1.92,0.21) rectangle (1.98,-0.01);
-	\fill[\duck at eyebrow, rounded corners=1, rotate=100] (1.67,-0.77) rectangle (1.73,-0.95);
-\fi	
+  \fill[\duck at eyebrow, rounded corners=\yscalefactor*1, rotate=60] (1.92,0.21) rectangle (1.98,-0.01);
+  \fill[\duck at eyebrow, rounded corners=\yscalefactor*1, rotate=100] (1.67,-0.77) rectangle (1.73,-0.95);
+\fi  
 %
 % beard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \pgfkeys{/duck/beard/. at def/.get=\duck at test}
 \ifx\duck at beard\duck at test
-    \ifdefined\duck at hair\let\duck at beard=\duck at hair\fi
+  \ifdefined\duck at hair\let\duck at beard=\duck at hair\fi
 \fi%
 \ifduck at beard
-	\fill[\duck at beard] (1.3,1.3) circle (0.12) (1.2,1.15) circle (0.12) (0.5,1.05) circle (0.1) (0.525,0.90) circle (0.12) (0.525,0.75) circle (0.12) (0.65,0.65) circle (0.14) (0.75,0.75) circle (0.12) (0.85,0.85) circle (0.12) (0.95,0.95) circle (0.12) (1.05,1.05) circle (0.12) (1.15,1.25) circle (0.12) (1,1.20) circle (0.12) (0.85,1.20) circle (0.12) (0.75,1.15) circle (0.12) (0.65,1.10) circle (0.12) (0.58,1.07) circle (0.12) (0.44,1.46) circle (0.06) (0.52,1.45) circle (0.06) (0.6, 1.41) circle (0.06) (0.68,1.36) circle (0.06) (0.76,1.34) circle (0.06) (0.86,1.26) circle (0.12) (0.38,1.44) circle (0.03) (1,1.28) circle (0.12);
-	\fill[\duck at beard] (1.3,1.3) -- (0.5,1.05) -- (0.65,0.65) -- cycle;
+  \fill[\duck at beard] (1.3,1.3) circle (0.12) (1.2,1.15) circle (0.12) (0.5,1.05) circle (0.1) (0.525,0.90) circle (0.12) (0.525,0.75) circle (0.12) (0.65,0.65) circle (0.14) (0.75,0.75) circle (0.12) (0.85,0.85) circle (0.12) (0.95,0.95) circle (0.12) (1.05,1.05) circle (0.12) (1.15,1.25) circle (0.12) (1,1.20) circle (0.12) (0.85,1.20) circle (0.12) (0.75,1.15) circle (0.12) (0.65,1.10) circle (0.12) (0.58,1.07) circle (0.12) (0.44,1.46) circle (0.06) (0.52,1.45) circle (0.06) (0.6, 1.41) circle (0.06) (0.68,1.36) circle (0.06) (0.76,1.34) circle (0.06) (0.86,1.26) circle (0.12) (0.38,1.44) circle (0.03) (1,1.28) circle (0.12);
+  \fill[\duck at beard] (1.3,1.3) -- (0.5,1.05) -- (0.65,0.65) -- cycle;
 \fi%
 %
 %\end{pgfonlayer}
@@ -452,124 +577,141 @@
 % 
 % alien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at alien
-	\fill[\duck at alien,rotate=-25] (0.09,2.1) rectangle (0.16,2.6);
-	\fill[\duck at alien,rotate=5] (0.79,1.86) rectangle (0.86,2.25);
-	\fill[\duck at alien] (1.20,2.30) circle (0.07);
-	\fill[\duck at alien] (0.62,2.35) circle (0.07);
+  \fill[\duck at alien,rotate=-25] (0.09,2.1) rectangle (0.16,2.6);
+  \fill[\duck at alien,rotate=5] (0.79,1.86) rectangle (0.86,2.25);
+  \fill[\duck at alien] (1.20,2.30) circle (0.07);
+  \fill[\duck at alien] (0.62,2.35) circle (0.07);
 \fi
 %
 % hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at hat
-	\fill[\duck at hat,rotate=-15] (0.44,2.1) ellipse (0.6 and 0.1);	
-	\fill[\duck at hat,rotate=-15] (0.07,2.1) rectangle (0.81,2.4);
-	\fill[\duck at hat,rotate=-15] (0.44,2.4) ellipse (0.37 and 0.08);	
+  \fill[\duck at hat,rotate=-15] (0.44,2.1) ellipse (0.6 and 0.1);  
+  \fill[\duck at hat,rotate=-15] (0.07,2.1) rectangle (0.81,2.4);
+  \fill[\duck at hat,rotate=-15] (0.44,2.4) ellipse (0.37 and 0.08);  
 \fi
 %
 % cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at cap
-	\fill[\duck at cap, start angle=0, end angle=150, radius=0.5] (1.4,1.75) arc;
-	\fill[\duck at cap,rotate=-15] (0.3,2.05) ellipse (0.6 and 0.15);
-\fi	
+  \fill[\duck at cap, start angle=0, end angle=150, radius=0.5] (1.4,1.75) arc;
+  \fill[\duck at cap,rotate=-15] (0.3,2.05) ellipse (0.6 and 0.15);
+\fi  
 %
 % Santa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at santa
-	\fill[\duck at santa] 
-		(0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) ..
-		(1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) .. 
-		(1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) .. 
-		(1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) .. 
-		(0.430,1.803) -- cycle;
-	\fill[white!80!brown] 
-		(0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) .. 
-		(1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) .. 
-		(1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) .. 
-		(0.44,1.733) -- cycle;
-	\fill[white!80!brown] (1.6,1.0) circle (0.17);
+  \fill[\duck at santa] 
+    (0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) ..
+    (1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) .. 
+    (1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) .. 
+    (1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) .. 
+    (0.430,1.803) -- cycle;
+  \fill[white!80!brown] 
+    (0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) .. 
+    (1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) .. 
+    (1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) .. 
+    (0.44,1.733) -- cycle;
+  \fill[white!80!brown] (1.6,1.0) circle (0.17);
 \fi
 %
 % Chef hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at chef
-	\fill[\duck at chef,rotate=-15] (0.44,2.1) ellipse (0.37 and 0.08);	
-	\fill[\duck at chef,rotate=-15] (0.07,2.1) rectangle (0.81,2.55);
-	\fill[\duck at chef] (1.01,2.47) circle (0.17);
-	\fill[\duck at chef] (1.24,2.35) circle (0.15);
-	\fill[\duck at chef] (0.77,2.40) circle (0.12);
-	\fill[\duck at chef] (1.39,2.20) circle (0.12);
+  \fill[\duck at chef,rotate=-15] (0.44,2.1) ellipse (0.37 and 0.08);  
+  \fill[\duck at chef,rotate=-15] (0.07,2.1) rectangle (0.81,2.55);
+  \fill[\duck at chef] (1.01,2.47) circle (0.17);
+  \fill[\duck at chef] (1.24,2.35) circle (0.15);
+  \fill[\duck at chef] (0.77,2.40) circle (0.12);
+  \fill[\duck at chef] (1.39,2.20) circle (0.12);
 \fi
 %
 % graduate hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at graduate
-	\fill[\duck at graduate,rotate=-15] (0.44,2.1) ellipse (0.37 and 0.1);	
-	\fill[\duck at graduate,rotate=-15] (0.07,2.1) rectangle (0.81,2.3);
-	\fill[\duck at graduate] (0.3,2.25) -- (1.05,2.35) -- (1.7,1.95) -- (0.92,1.85) -- cycle;
-	\fill[\duck at tassel,rounded corners=1] (1.12,1.89) -- (1.01,2.1) -- (1.09,2.11) -- (1.2,1.9) -- (1.2,1.3) -- (1.12,1.3) -- cycle;
-	\fill[\duck at tassel] (1.16,1.3) ellipse (0.06 and 0.12);
+  \fill[\duck at graduate,rotate=-15] (0.44,2.1) ellipse (0.37 and 0.1);  
+  \fill[\duck at graduate,rotate=-15] (0.07,2.1) rectangle (0.81,2.3);
+  \fill[\duck at graduate] (0.3,2.25) -- (1.05,2.35) -- (1.7,1.95) -- (0.92,1.85) -- cycle;
+  \fill[\duck at tassel,rounded corners=\yscalefactor*1] (1.12,1.89) -- (1.01,2.1) -- (1.09,2.11) -- (1.2,1.9) -- (1.2,1.3) -- (1.12,1.3) -- cycle;
+  \fill[\duck at tassel] (1.16,1.3) ellipse (0.06 and 0.12);
 \fi
 %
 % beret %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at beret
-	\fill[\duck at beret,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17);
-	\fill[\duck at beret,rotate=-25] (0.13,2.25) ellipse (0.55 and 0.17);
-	\fill[\duck at beret,rotate=-25] (0.13,2.4) circle (0.08);
+  \fill[\duck at beret,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17);
+  \fill[\duck at beret,rotate=-25] (0.13,2.25) ellipse (0.55 and 0.17);
+  \fill[\duck at beret,rotate=-25] (0.13,2.4) circle (0.08);
 \fi
 %
 % unicorn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at unicorn
-	\fill[\duck at unicorn,rotate=25] (1.48,1.4375)--(1.60,1.9)--(1.72,1.4375);
-	\fill[\duck at body!100,rotate=25] (1.50,1.43)--(1.60,1.8375)--(1.70,1.43);	
+  \fill[\duck at unicorn,rotate=25] (1.48,1.4375)--(1.60,1.9)--(1.72,1.4375);
+  \fill[\duck at body!100,rotate=25] (1.50,1.43)--(1.60,1.8375)--(1.70,1.43);  
 \fi
 %
 % magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at magichat
-	\path[preaction={fill, \duck at magichat!100},rotate=-5,
-				pattern=fivepointed stars, pattern color=\duck at magicstars!100] 
-		(0.36,1.95)--(0.86,2.95)--(1.20,1.85);
+  \path[preaction={fill, \duck at magichat!100},rotate=-5,
+        pattern=fivepointed stars, pattern color=\duck at magicstars!100] 
+    (0.36,1.95)--(0.86,2.95)--(1.20,1.85);
 \fi
 %
 % witch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at witch
-	\fill[\duck at witch,rotate=-15] (0.44,2.13) ellipse (0.75 and 0.17);	
-	\fill[\duck at witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2);
+  \fill[\duck at witch,rotate=-15] (0.44,2.13) ellipse (0.75 and 0.17);  
+  \fill[\duck at witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2);
 \fi
 %
 % crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at crown
-	\path (0.7,1.95) rectangle (1.4,2.45);
-	\begin{pgfinterruptboundingbox}	
-		\fill[\duck at crown,rotate=-10,xshift=-10,yshift=3] \duckpathcrown;
-	\end{pgfinterruptboundingbox}	
+  \path (0.7,1.95) rectangle (1.4,2.45);
+  \begin{pgfinterruptboundingbox}  
+    \fill[\duck at crown] \duckpathcrown;
+  \end{pgfinterruptboundingbox}  
 \fi
 %
+% Queen crown
+\ifduck at queencrown
+  \fill[\duck at queencrown] \duckpathqueencrown;
+\fi
+% King crown
+\ifduck at kingcrown
+  \fill[\duck at kingcrown] \duckpathkingcrown;
+\fi
+%
 % Bunny ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at bunny
-	\path (0.55,1.9) rectangle (1.2,2.55);
-	\begin{pgfinterruptboundingbox}
-	\begin{scope}
-	  \clip[rotate=-5] (0.68,2.38) ellipse (0.3 and 0.4);
-		\fill[\duck at bunny,rotate=-5] (1.06,2.2) ellipse (0.3 and 0.4) (0.28,2.26) ellipse (0.3 and 0.4);
-	\end{scope}
-	
-	\begin{scope}
-	  \clip[rotate=-5] (0.68,2.38) ellipse (0.25 and 0.35);
-		\fill[\duck at inear,rotate=-5] (1.06,2.2) ellipse (0.25 and 0.35) (0.28,2.26) ellipse (0.25 and 0.35);
-	\end{scope}
-	\end{pgfinterruptboundingbox}
+  \path (0.55,1.9) rectangle (1.2,2.55);
+  \begin{pgfinterruptboundingbox}
+  \begin{scope}
+    \clip[rotate=-5] (0.68,2.38) ellipse (0.3 and 0.4);
+    \fill[\duck at bunny,rotate=-5] (1.06,2.2) ellipse (0.3 and 0.4) (0.28,2.26) ellipse (0.3 and 0.4);
+  \end{scope}
+  
+  \begin{scope}
+    \clip[rotate=-5] (0.68,2.38) ellipse (0.25 and 0.35);
+    \fill[\duck at inear,rotate=-5] (1.06,2.2) ellipse (0.25 and 0.35) (0.28,2.26) ellipse (0.25 and 0.35);
+  \end{scope}
+  \end{pgfinterruptboundingbox}
 \fi
 %
 % peaked cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at peakedcap
-	\fill[\duck at peakedcap,rotate=-15] (0.35,2.05) ellipse (0.5 and 0.15);
-	\fill[\duck at peakedcap,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17);
-	\fill[\duck at peakedcap,rotate=-35] (-0.25,2.2) ellipse (0.55 and 0.17);
+  \fill[\duck at peakedcap,rotate=-15] (0.35,2.05) ellipse (0.5 and 0.15);
+  \fill[\duck at peakedcap,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17);
+  \fill[\duck at peakedcap,rotate=-35] (-0.25,2.2) ellipse (0.55 and 0.17);
 \fi
 %
 % tophat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at tophat
-	\fill[\duck at tophat,rotate=-15] (0.44,2.1) ellipse (0.48 and 0.1);
-	\fill[\duck at tophat,rotate=-15]  (0.12,2.1) -- (0.75,2.1) -- (0.81,2.55) -- (0.07,2.55) -- cycle;
-	\fill[\duck at tophat,rotate=-15] (0.44,2.55) ellipse (0.37 and 0.08);	
+  \fill[\duck at tophat,rotate=-15] (0.44,2.1) ellipse (0.48 and 0.1);
+  \fill[\duck at tophat,rotate=-15] (0.12,2.1) -- (0.75,2.1) -- (0.81,2.55) -- (0.07,2.55) -- cycle;
+  \fill[\duck at tophat,rotate=-15] (0.44,2.55) ellipse (0.37 and 0.08);  
 \fi
 %
+% darth vader %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at darthvader
+  \path (0.1,0.1) rectangle (2.1,2.22);
+  \begin{pgfinterruptboundingbox}
+    \fill[\duck at darthvader] \duckpathdarthvader;
+  \end{pgfinterruptboundingbox}
+\fi
+%
 %\end{pgfonlayer}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
@@ -580,186 +722,260 @@
 % sunglasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at sunglasses
   \fill[\duck at sunglasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
-	\fill[\duck at sunglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
-	\fill[\duck at sunglasses,rotate=-20] (0.23,1.7675) circle (0.14);
-	\fill[\duck at sunglasses,rotate=-20] (-0.06,1.74) circle (0.13);				
+  \fill[\duck at sunglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
+  \fill[\duck at sunglasses,rotate=-20] (0.23,1.7675) circle (0.14);
+  \fill[\duck at sunglasses,rotate=-20] (-0.06,1.74) circle (0.13);        
 \fi
 %
 % glasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at glasses
   \fill[\duck at glasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84);
-	\fill[\duck at glasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
-	\fill[\duck at glasses,rotate=-20,even odd rule] (0.23,1.7675) circle (0.14) (0.23,1.7675) circle (0.11);
-	\fill[\duck at glasses,rotate=-20,even odd rule] (-0.06,1.74) circle (0.13) (-0.06,1.74) circle (0.095);		
+  \fill[\duck at glasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
+  \fill[\duck at glasses,rotate=-20,even odd rule] (0.23,1.7675) circle (0.14) (0.23,1.7675) circle (0.11);
+  \fill[\duck at glasses,rotate=-20,even odd rule] (-0.06,1.74) circle (0.13) (-0.06,1.74) circle (0.095);    
 \fi
 %
+% square glasses
+\ifduck at squareglasses
+  \fill[\duck at squareglasses,rotate=-17] (0.43,1.8) rectangle (0.8,1.84);
+  \fill[\duck at squareglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84);
+  \fill[\duck at squareglasses,rotate=-20,rounded corners=\yscalefactor*2,even odd rule] (-0.16,1.62) -- (-0.18,1.85) -- (0.05,1.87) -- (0.04,1.62) -- cycle [rounded corners=\yscalefactor*1.5] (-0.14,1.64) -- (-0.16,1.83) -- (0.03,1.85) -- (0.02,1.64) -- cycle;
+  \fill[\duck at squareglasses,rotate=-20,rounded corners=\yscalefactor*2,even odd rule] (0.12,1.63) -- (0.10,1.88) -- (0.36,1.90) -- (0.35,1.65) -- cycle  [rounded corners=\yscalefactor*1.5] (0.14,1.65) -- (0.12,1.86) -- (0.34,1.88) -- (0.33,1.67) -- cycle;
+\fi
+%
 % icecream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at icecream
-	\fill[\duck at cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20);
-	\fill[\duck at flavoura] (0.85,1.03) circle (0.12);
-	\fill[\duck at flavourb] (1.05,0.95) circle (0.12);
-	\fill[\duck at flavourc] (0.95,1.1) circle (0.12);		
+  \fill[\duck at cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20);
+  \fill[\duck at flavoura] (0.85,1.03) circle (0.12);
+  \fill[\duck at flavourb] (1.05,0.95) circle (0.12);
+  \fill[\duck at flavourc] (0.95,1.1) circle (0.12);    
 \fi
 %
 % book %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at book
-	\fill[\duck at bookcolour,rotate=-20] 
-		(0.40,1.20) rectangle (0.80,0.60);
-	\node[rotate=-20, color=white] at (0.88,0.70) {\duck at book};%
+  \fill[\duck at bookcolour,rotate=-20] 
+    (0.40,1.20) rectangle (0.80,0.60);
+  \node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (0.88,0.70) {\duck at book};%
 \fi
 %
 % signpost %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at signpost
-	\fill[\duck at signcolour, rounded corners=1, rotate=-20] (0.8,0.75) rectangle (0.9,1.75);
-  \fill[\duck at signcolour, rounded corners=1, rotate=-20] (0.4,1.7) rectangle (1.3,2.4);
-  \fill[\duck at signback, rounded corners=1, rotate=-20] (0.45,1.75) rectangle (1.25,2.35);
- 	\node[rotate=-20, color=white] at (1.5,1.65) {\duck at signpost};
+  \fill[\duck at signcolour, rounded corners=\yscalefactor*1, rotate=-20] (0.8,0.75) rectangle (0.9,1.75);
+  \fill[\duck at signcolour, rounded corners=\yscalefactor*1, rotate=-20] (0.4,1.7) rectangle (1.3,2.4);
+  \fill[\duck at signback, rounded corners=\yscalefactor*1, rotate=-20] (0.45,1.75) rectangle (1.25,2.35);
+   \node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (1.5,1.65) {\duck at signpost};
 \fi
 %
 % speech bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at speech
-	\fill[\duck at bubblecolour] (-0.5,1.8) ellipse (0.7 and 0.3);
-	\fill[\duck at bubblecolour] (-0.2,1.54) -- (0.2,1.35) -- (0.0,1.6) -- cycle;
-	\node at (-0.5,1.8) {\duck at speech};
+  \fill[\duck at bubblecolour] (-0.5,1.8) ellipse (0.7 and 0.3);
+  \fill[\duck at bubblecolour] (-0.2,1.54) -- (0.2,1.35) -- (0.0,1.6) -- cycle;
+  \node at (-0.5,1.8) {\duck at speech};
 \fi
 %
 % think bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at think
-	\fill[\duck at bubblecolour] (2,2.4) ellipse (0.7 and 0.35); 
-	\fill[\duck at bubblecolour] (1.55,2.35) circle (0.25) (2.0,2.15) circle (0.25) (2.4,2.25) circle (0.25) (1.6,2.55) circle (0.25) (2.0,2.6) circle (0.25) (2.35,2.5) circle (0.25) (1.65,1.95) circle (0.1) (1.55,1.80) circle (0.06) (1.47,1.70) circle (0.03);
-	\node at (2,2.4) {\duck at think};
+  \fill[\duck at bubblecolour] (2,2.4) ellipse (0.7 and 0.35); 
+  \fill[\duck at bubblecolour] (1.55,2.35) circle (0.25) (2.0,2.15) circle (0.25) (2.4,2.25) circle (0.25) (1.6,2.55) circle (0.25) (2.0,2.6) circle (0.25) (2.35,2.5) circle (0.25) (1.65,1.95) circle (0.1) (1.55,1.80) circle (0.06) (1.47,1.70) circle (0.03);
+  \node at (2,2.4) {\duck at think};
 \fi
 %
 % magic wand %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at magicwand
-	\fill[black,rotate=-30] (0.27,1.23) rectangle (0.37,0.65);
-	\fill[white,rotate=-30] (0.27,1.13) rectangle (0.37,1.03);
+  \fill[black,rotate=-30] (0.27,1.23) rectangle (0.37,0.65);
+  \fill[white,rotate=-30] (0.27,1.13) rectangle (0.37,1.03);
 \fi
 %
 % cricket bat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at cricket
-	\fill[\duck at cricket, rounded corners=2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2);
-	\fill[\duck at cricket, rounded corners=1, rotate=-30] (0.5,0.8) rectangle (0.6,1.3);
+  \fill[\duck at cricket, rounded corners=\yscalefactor*2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2);
+  \fill[\duck at cricket, rounded corners=\yscalefactor*1, rotate=-30] (0.5,0.8) rectangle (0.6,1.3);
 \fi
 %
 % rollingpin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at rollingpin
-	\fill[\duck at rollingpin, rounded corners=2, rotate=-60] (-0.18,0.85) rectangle (0.08,1.75);
-	\fill[\duck at rollingpin, rounded corners=1, rotate=-60] (-0.1,0.65) rectangle (0.0,1.95);
+  \fill[\duck at rollingpin, rounded corners=\yscalefactor*2, rotate=-60] (-0.18,0.85) rectangle (0.08,1.75);
+  \fill[\duck at rollingpin, rounded corners=\yscalefactor*1, rotate=-60] (-0.1,0.65) rectangle (0.0,1.95);
 \fi
 %
 % lightsaber %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at lightsaber
-	\fill[\duck at lightsaber, rounded corners=1, rotate=-30] (0.5,0.9) rectangle (0.6,2.5);
-	\fill[gray!80!black, rounded corners=1, rotate=-30] (0.47,0.7) rectangle (0.63,1.2);
+  \fill[\duck at lightsaber, rounded corners=\yscalefactor*1, rotate=-30] (0.5,0.9) rectangle (0.6,2.5);
+  \fill[gray!80!black, rounded corners=\yscalefactor*1, rotate=-30] (0.47,0.7) rectangle (0.63,1.2);
 \fi
 %
 % cake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at cake
-	\fill[\duck at cake] (1.00,0.50) ellipse (0.4 and 0.2);
-	\fill[\duck at cake] (0.6,0.5) rectangle (1.4,0.7);
-	\fill[\duck at cake] (1.00,0.70) ellipse (0.4 and 0.2);
-	\fill[\duck at cake!50!white] (0.75,0.75) rectangle (0.8,0.95);
-	\fill[\duck at cake!50!white] (1.2,0.75) rectangle (1.25,0.95);
-	\fill[\duck at cake!50!white] (0.975,0.65) rectangle (1.025,0.85);
-	\fill[white!85!yellow] (1.0,0.93) ellipse (0.03 and 0.06);
-	\fill[white!85!yellow] (1.225,1.03) ellipse (0.03 and 0.06);
-	\fill[white!85!yellow] (0.775,1.03) ellipse (0.03 and 0.06);
+  \fill[\duck at cake] (1.00,0.50) ellipse (0.4 and 0.2);
+  \fill[\duck at cake] (0.6,0.5) rectangle (1.4,0.7);
+  \fill[\duck at cake] (1.00,0.70) ellipse (0.4 and 0.2);
+  \fill[\duck at cake!50!white] (0.75,0.75) rectangle (0.8,0.95);
+  \fill[\duck at cake!50!white] (1.2,0.75) rectangle (1.25,0.95);
+  \fill[\duck at cake!50!white] (0.975,0.65) rectangle (1.025,0.85);
+  \fill[white!85!yellow] (1.0,0.93) ellipse (0.03 and 0.06);
+  \fill[white!85!yellow] (1.225,1.03) ellipse (0.03 and 0.06);
+  \fill[white!85!yellow] (0.775,1.03) ellipse (0.03 and 0.06);
 \fi
 %
 % pizza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at pizza
- 	\fill[brown] (1.00,0.60) ellipse (0.4 and 0.2);
- 	\fill[red!70!black] (1.00,0.60) ellipse (0.34 and 0.16);
- 	\fill[white!85!yellow] (1.15,0.65) ellipse (0.065 and 0.04);	
- 	\fill[white!85!yellow] (0.81,0.57) ellipse (0.065 and 0.04);	
- 	\fill[white!85!yellow] (0.95,0.68) ellipse (0.065 and 0.04);	
- 	\fill[white!85!yellow] (1.02,0.54) ellipse (0.065 and 0.04);
- 	\fill[green!40!brown] (1.09,0.54) ellipse (0.07 and 0.02);
- 	\fill[green!40!brown,rotate=20] (1.0,0.34) ellipse (0.07 and 0.02);
- 	\fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse (0.07 and 0.02);
- 	\fill[green!40!brown] (1.00,0.60) ellipse (0.03 and 0.06);
+  \fill[brown] (1.00,0.60) ellipse (0.4 and 0.2);
+  \fill[red!70!black] (1.00,0.60) ellipse (0.34 and 0.16);
+  \fill[white!85!yellow] (1.15,0.65) ellipse (0.065 and 0.04);  
+  \fill[white!85!yellow] (0.81,0.57) ellipse (0.065 and 0.04);  
+  \fill[white!85!yellow] (0.95,0.68) ellipse (0.065 and 0.04);  
+  \fill[white!85!yellow] (1.02,0.54) ellipse (0.065 and 0.04);
+  \fill[green!40!brown] (1.09,0.54) ellipse (0.07 and 0.02);
+  \fill[green!40!brown,rotate=20] (1.0,0.34) ellipse (0.07 and 0.02);
+  \fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse (0.07 and 0.02);
+  \fill[green!40!brown] (1.00,0.60) ellipse (0.03 and 0.06);
 \fi
+% no pizza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at davidlikespineapplepizza
+  \fill[brown] (1.00,0.60) ellipse (0.4 and 0.2);
+  \fill[red!70!black] (1.00,0.60) ellipse (0.34 and 0.16);
+  \fill[yellow!70!brown] (1.15,0.65) ellipse (0.08 and 0.06);  
+  \fill[red!70!black] (1.15,0.65) ellipse (0.04 and 0.03); 
+  \fill[yellow!70!brown] (0.81,0.57) ellipse (0.08 and 0.06);  
+  \fill[red!70!black] (0.81,0.57) ellipse (0.04 and 0.03); 
+  \fill[yellow!70!brown] (0.95,0.68) ellipse (0.08 and 0.06);  
+  \fill[red!70!black] (0.95,0.68) ellipse (0.04 and 0.03); 
+  \fill[yellow!70!brown] (1.02,0.54) ellipse (0.08 and 0.06);
+  \fill[red!70!black] (1.02,0.54) ellipse (0.04 and 0.03); 
+  \fill[green!40!brown] (1.09,0.54) ellipse (0.07 and 0.02);
+  \fill[green!40!brown,rotate=20] (1.0,0.34) ellipse (0.07 and 0.02);
+  \fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse (0.07 and 0.02);
+  \fill[green!40!brown] (1.00,0.60) ellipse (0.03 and 0.06);	
+\fi
 %
+%
+%
 % Hockey stick %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at hockey
-	\fill[\duck at hockey, rounded corners=1, rotate=-30] (0.5,0.6) rectangle (0.6,2.1);
-	\fill[\duck at hockey, rounded corners=3] (0.2,0.2) rectangle (0.85,0.4);
+  \fill[\duck at hockey, rounded corners=\yscalefactor*1, rotate=-30] (0.5,0.6) rectangle (0.6,2.1);
+  \fill[\duck at hockey, rounded corners=\yscalefactor*3] (0.2,0.2) rectangle (0.85,0.4);
 \fi
 %
 % baguette %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at baguette
-	\fill[\duck at baguette!70!white, rounded corners=4, rotate=-30] (0.4,0.72) rectangle (0.7,2.0);
-	\fill[\duck at baguette!80!black, rotate=5] (1.44,1.1) ellipse (0.1 and 0.03) (1.30,0.9) ellipse (0.1 and 0.03) (1.16,0.7) ellipse (0.1 and 0.03) (1.02,0.5) ellipse (0.1 and 0.03);
+  \fill[\duck at baguette!70!white, rounded corners=\yscalefactor*4, rotate=-30] (0.4,0.72) rectangle (0.7,2.0);
+  \fill[\duck at baguette!80!black, rotate=5] (1.44,1.1) ellipse (0.1 and 0.03) (1.30,0.9) ellipse (0.1 and 0.03) (1.16,0.7) ellipse (0.1 and 0.03) (1.02,0.5) ellipse (0.1 and 0.03);
 \fi
 %
 % football %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at football
-	\fill[\duck at football] (1.2,0.33) circle (0.32);
-	\begin{scope}
-		\clip (1.2,0.33) circle (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}
+  \fill[\duck at football] (1.2,0.33) circle (0.32);
+  \begin{scope}
+    \clip (1.2,0.33) circle (0.32);
+    \fill[black] (1.06,0.30) -- (1.01,0.17) -- (1.14,0.08) -- (1.26,0.14) -- (1.20,0.28) -- cycle (1.37,0.14) -- (1.46,0.27) -- (1.59,0.27) -- (1.41,0.04) -- cycle (1.28,0.38) -- (1.22,0.52) -- (1.33,0.61) -- (1.45,0.51) -- (1.43,0.37) -- cycle (0.87,0.44) -- (1.02,0.40) -- (1.10,0.53) -- (1.07,0.62) -- (0.94,0.57) -- cycle;
+  \end{scope}
 \fi
 %
 % milkshake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at milkshake
-	\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
-	\fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03);
-	\begin{scope}
-		\clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
-		\fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse (0.18 and 0.4);
-		\fill[\duck at milkshake, rotate=-10] (0.8,0.94) ellipse (0.15 and 0.36);
-	\end{scope}
-	\fill[white!85!yellow] (0.83,0.92) circle (0.05) (0.88,0.9) circle (0.05) (0.93,0.92) circle (0.05) (0.99,0.91) circle (0.05) (1.06,0.86) circle (0.05) (1.13,0.87) circle (0.05) (0.85,0.99) circle (0.05) (0.9,0.98) circle (0.07) (1.0,0.98) circle (0.07) (1.1,0.95) circle (0.07);
-	\fill[red!90!black] (1.0,1.1) circle (0.05);
-	\fill[white!85!yellow] (0.94,1.05) circle (0.05) (1.03,1.03) circle (0.05);
-	\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
-	\fill[red!90!black,rotate=20] (1.2,0.58) rectangle (1.22,0.85); 
+  \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
+  \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03);
+  \begin{scope}
+    \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
+    \fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse (0.18 and 0.4);
+    \fill[\duck at milkshake, rotate=-10] (0.8,0.94) ellipse (0.15 and 0.36);
+  \end{scope}
+  \fill[white!85!yellow] (0.83,0.92) circle (0.05) (0.88,0.9) circle (0.05) (0.93,0.92) circle (0.05) (0.99,0.91) circle (0.05) (1.06,0.86) circle (0.05) (1.13,0.87) circle (0.05) (0.85,0.99) circle (0.05) (0.9,0.98) circle (0.07) (1.0,0.98) circle (0.07) (1.1,0.95) circle (0.07);
+  \fill[red!90!black] (1.0,1.1) circle (0.05);
+  \fill[white!85!yellow] (0.94,1.05) circle (0.05) (1.03,1.03) circle (0.05);
+  \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
+  \fill[red!90!black,rotate=20] (1.2,0.58) rectangle (1.22,0.85); 
 \fi
 % 
 % wine %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at wine
-	\fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
-	\fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03);
-	\fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse (0.03 and 0.2);
-	\begin{scope}
-		\clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
-		\fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse (0.18 and 0.4);
-	\end{scope}
-	\begin{scope}
-		\clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87); 
-		\fill[\duck at wine, rotate=-10] (0.8,1.1) ellipse (0.15 and 0.36);
-	\end{scope}
+  \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05);
+  \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03);
+  \fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse (0.03 and 0.2);
+  \begin{scope}
+    \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); 
+    \fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse (0.18 and 0.4);
+  \end{scope}
+  \begin{scope}
+    \clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87); 
+    \fill[\duck at wine, rotate=-10] (0.8,1.1) ellipse (0.15 and 0.36);
+  \end{scope}
 \fi
 %
 % prison duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at prison
-	\fill[\duck at prison] (1.5,0.25) circle (0.3);
-	\fill[\duck at prison, even odd rule] (1.2,0.1) ellipse (0.10 and 0.07) (1.2,0.1) ellipse (0.06 and 0.04) (1.05,-0.05) ellipse (0.10 and 0.07) (1.05,-0.05) ellipse (0.06 and 0.04) (0.87,-0.2) ellipse (0.10 and 0.07) (0.87,-0.2) ellipse (0.06 and 0.04);
-	\fill[\duck at prison, even odd rule] (0.72,-0.2) ellipse (0.10 and 0.07) (0.72,-0.2) ellipse (0.06 and 0.04);	
-	\fill[\duck at prison,even odd rule,rotate=70](0.4,-1.05) ellipse (0.1 and 0.07) (0.4,-1.05) ellipse (0.06 and 0.04) (0.2,-0.95) ellipse (0.1 and 0.07) (0.2,-0.95) ellipse (0.06 and 0.04) (0.22,-0.58) ellipse (0.1 and 0.07) (0.22,-0.58) ellipse (0.06 and 0.04);
-	\fill[\duck at prison,even odd rule,rotate=110](-0.33,-0.55) ellipse (0.1 and 0.07) (-0.33,-0.55) ellipse (0.06 and 0.04);	
-	\begin{scope}
-		\clip[rotate=-12] (0.45,0.15) rectangle (0.63,0.25);	
-		\fill[\duck at prison,even odd rule,rotate=110](-0.07,-0.6) ellipse (0.1 and 0.07) (-0.07,-0.6) ellipse (0.06 and 0.04);	
-	\end{scope}
+  \fill[\duck at prison] (1.5,0.25) circle (0.3);
+  \fill[\duck at prison, even odd rule] (1.2,0.1) ellipse (0.10 and 0.07) (1.2,0.1) ellipse (0.06 and 0.04) (1.05,-0.05) ellipse (0.10 and 0.07) (1.05,-0.05) ellipse (0.06 and 0.04) (0.87,-0.2) ellipse (0.10 and 0.07) (0.87,-0.2) ellipse (0.06 and 0.04);
+  \fill[\duck at prison, even odd rule] (0.72,-0.2) ellipse (0.10 and 0.07) (0.72,-0.2) ellipse (0.06 and 0.04);  
+  \fill[\duck at prison,even odd rule,rotate=70](0.4,-1.05) ellipse (0.1 and 0.07) (0.4,-1.05) ellipse (0.06 and 0.04) (0.2,-0.95) ellipse (0.1 and 0.07) (0.2,-0.95) ellipse (0.06 and 0.04) (0.22,-0.58) ellipse (0.1 and 0.07) (0.22,-0.58) ellipse (0.06 and 0.04);
+  \fill[\duck at prison,even odd rule,rotate=110](-0.33,-0.55) ellipse (0.1 and 0.07) (-0.33,-0.55) ellipse (0.06 and 0.04);  
+  \begin{scope}
+    \clip[rotate=-12] (0.45,0.15) rectangle (0.63,0.25);  
+    \fill[\duck at prison,even odd rule,rotate=110](-0.07,-0.6) ellipse (0.1 and 0.07) (-0.07,-0.6) ellipse (0.06 and 0.04);  
+  \end{scope}
 \fi
 %
 % torch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifduck at torch
-		\fill[red!50!yellow, xscale=0.015, yscale=-0.015,xshift=130,yshift=-5600] \duckpathtorch;
-		\fill[red!25!yellow, xscale=0.01, yscale=-0.01,xshift=1300,yshift=-6600] \duckpathtorch;
-		\fill[white!50!yellow, xscale=0.006, yscale=-0.006,xshift=3700,yshift=-8600] \duckpathtorch;
-		\fill[\duck at torch,rounded corners=1] 
-			(1.1,0.96) -- (0.77,0.25) -- (0.83,0.25) -- (1.3,0.86) -- cycle;
-		\fill[\duck at torch,rotate=-28] 
-			(0.62,1.32) ellipse (0.2 and 0.08);
+  \fill[red!50!yellow] \duckpathtorch;
+  \fill[red!25!yellow, scale=0.67, xshift=17, yshift=15] \duckpathtorch;
+  \fill[white!50!yellow, scale=0.4, xshift=53.5, yshift=45.3] \duckpathtorch;
+  \fill[\duck at torch,rounded corners=\yscalefactor*1] 
+      (1.1,0.96) -- (0.77,0.25) -- (0.83,0.25) -- (1.3,0.86) -- cycle;
+  \fill[\duck at torch,rotate=-28] 
+      (0.62,1.32) ellipse (0.2 and 0.08);
 \fi%
+% 
+% sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at sheep
+  \begin{scope}
+    \clip[rotate=-5] (1.2,1.7) ellipse (0.3 and 0.4);
+    \fill[\duck at bill,rotate=-5] (0.8,1.5) ellipse (0.3 and 0.4);
+  \end{scope}
+\fi
 %
+% basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at basket
+  \fill[\duck at basket, start angle=180, end angle=360, x radius=0.35, y radius=0.35] (0.65,0.61) arc  -- cycle;
+  \fill[\duck at basket, start angle=180, end angle=0, even odd rule] [x radius=0.35, y radius=0.5] (0.65,0.6) arc  -- cycle [x radius=0.3, y radius=0.45] (0.7,0.6) arc  -- cycle;
+  \fill[\duck at basket, even odd rule] (1,0.6) ellipse (0.35 and 0.1) (1,0.6) ellipse (0.3 and 0.07);  
+  \fill[\duck at basket!75!black] (1,0.6) ellipse (0.3 and 0.07);  
+\fi%  
 %
+% easter basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at easter
+  \begin{scope}
+    \clip [start angle=180, end angle=0, x radius=0.3, y radius=0.45] (0.7,0.6) arc  -- cycle [start angle=180, end angle=360, x radius=0.3, y radius=0.07] (0.7,0.6) arc  -- cycle;  
+    \fill[\duck at eggb, rotate=-5]  (0.95,0.72) ellipse (0.09 and 0.13);
+    \fill[\duck at egga, rotate=10]  (0.94,0.42) ellipse (0.09 and 0.13);
+    \fill[\duck at eggc, rotate=-30] (0.7,1.08) ellipse (0.09 and 0.13);
+  \end{scope}  
+\fi%
+%
+% horse tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pgfkeys{/duck/horsetail/. at def/.get=\duck at test}
+\ifx\duck at horsetail\duck at test
+  \ifdefined\duck at hair\let\duck at horsetail=\duck at hair\fi
+\fi%
+\ifduck at horsetail
+  \path (0.1,0.1) rectangle (2.82,2.14);
+  \begin{pgfinterruptboundingbox}  
+    \fill[\duck at horsetail] \duckpathhorsetail;
+  \end{pgfinterruptboundingbox}
+\fi  
+%
+% crozier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifduck at crozier
+	\begin{scope}
+		\clip [rotate=-20] (0.6,2.3) rectangle (1.1,1.999);
+		\fill[even odd rule,\duck at crozier] (1.5,1.6) circle (0.2) (1.5,1.6) circle (0.1);
+	\end{scope}
+	\fill[\duck at crozier,rotate=-20] (0.663,0.5) rectangle (0.763,2.0);	
+\fi
+%
 %\draw (current bounding box.north west) rectangle (current bounding box.south east);% For debugging bounding boxes
 %
+%\end{scope}
 }% from `\def\duck at draw{` at the very beginning 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -767,18 +983,19 @@
 % Random ducks
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pgfmathsetseed{\time}
-\ifpdf % filters pdflatex and lualatex
-	\ifluatex
-		\pgfmathsetseed{\number\randomseed}
-	\else % filters only pdflatex
-		\pgfmathsetseed{\number\pdfrandomseed}
-	\fi
+\ifluatex
+  \let\pdfrandomseed\randomseed
 \fi
 
-\pgfmathdeclarerandomlist{head}{{shorthair}{longhair}{crazyhair}{alien}{hat}{cap}{santa}{chef}{graduate}{beret}{magichat}{witch}{crown}{bunny}{peakedcap}{tophat}}
-\pgfmathdeclarerandomlist{accessories}{{glasses}{sunglasses}{icecream}{book}{signpost}{magicwand}{cricket}{rollingpin}{lightsaber}{cake}{pizza}{hockey}{baguette}{football}{mask}{necklace}{milkshake}{wine}{prison}}
+\ifxetex
+  \pgfmathsetseed{\time}
+\else
+  \pgfmathsetseed{\number\pdfrandomseed}
+\fi
 
+\pgfmathdeclarerandomlist{head}{{shorthair}{longhair}{crazyhair}{mohican}{mullet}{beard}{alien}{hat}{cap}{santa}{chef}{graduate}{beret}{magichat}{witch}{crown}{bunny}{peakedcap}{tophat}{queencrown}{kingcrown}}
+\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}}
+
 \newcommand{\shuffleducks}{%
  \pgfmathrandomitem{\head}{head}%
  \edef\randomhead{\head}%
@@ -787,8 +1004,8 @@
 }
 
 \newcommand{\randuck}{%
-	\shuffleducks%
-	\duck[\randomhead, \randomaccessories]%
+  \shuffleducks%
+  \duck[\randomhead, \randomaccessories]%
 }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -802,7 +1019,7 @@
 % body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \newcommand{\duckpathbody}{%
-	(0.513,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. 
+  (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
@@ -809,103 +1026,200 @@
 }
 
 \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
+  (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
+  (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
 }
 
 % 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
+  (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.500,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.378) .. 
-	(0.513,0.700) -- cycle
+  (0.500,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.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
+  (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;
+  (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
+  (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
+  (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
+  (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.71,2.06) .. controls (0.71,2.06) and (0.73,2.18) .. 
-	(0.60,2.45) -- (0.83,2.26) -- (0.95,2.44) -- (1.07,2.26) -- (1.31,2.44) .. controls (1.15,2.19) and (1.20,2.06) .. 
-	(1.20,2.06) .. controls (1.07,1.98) and (0.84,1.98) .. 
-	(0.71,2.06) -- cycle
+  (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}{%
-	(90.5,127.8) .. controls (90.3,137.0) and (84.7,136.2) ..
-	(77.9,146.3) .. controls (71.1,136.3) and (66.4,136.9) ..
-	(65.9,127.9) .. controls (65.2,118.1) and (79.2,118.5) ..
-	(78.2,103.8) .. controls (82.2,108.8) and (90.8,111.5) ..
-	(90.5,127.8) -- cycle;	
+  (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;
 }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -950,48 +1264,48 @@
 %
 % stripes for sports jerseys
 %
-% code contributed  by Carla Maggi
+% code contributed by Carla Maggi
 % https://tex.stackexchange.com/a/387126/36296
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \newcommand*{\stripes}[1][]{\tikzset{%
-	/stripes/.cd,#1}\stripes at draw%
+  /stripes/.cd,#1}\stripes at draw%
 }
 
 \tikzset{
-	/stripes/.cd,
-	color/.code			= \def\stripes at color{#1},
-	distance/.code	= \def\stripes at distance{#1},
-	width/.code			= \def\stripes at width{#1},
-	height/.code		= \def\stripes at height{#1},
-	initialx/.code	= \def\stripes at initialx{#1},
-	initialy/.code	= \def\stripes at initialy{#1},
-	rotate/.code		= \def\stripes at rotate{#1},
-	emblem/.code		= \def\stripes at emblem{#1},
-	% setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-	color			= black,
-	distance	= 0.3,
-	width			= 0.15,
-	height		= 2.7,
-	initialx	= 0.1,
-	initialy	= -0.3,
-	rotate		= -10,
-	emblem		= \empty
+  /stripes/.cd,
+  color/.code     = \def\stripes at color{#1},
+  distance/.code  = \def\stripes at distance{#1},
+  width/.code     = \def\stripes at width{#1},
+  height/.code    = \def\stripes at height{#1},
+  initialx/.code  = \def\stripes at initialx{#1},
+  initialy/.code  = \def\stripes at initialy{#1},
+  rotate/.code    = \def\stripes at rotate{#1},
+  emblem/.code    = \def\stripes at emblem{#1},
+  % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  color      = black,
+  distance   = 0.3,
+  width      = 0.15,
+  height     = 2.7,
+  initialx   = 0.1,
+  initialy   = -0.3,
+  rotate     = -10,
+  emblem     = \empty
 }
 
 \def\stripes at draw{%
-	\path (0.1,0.1) rectangle (2.1,1.45);
-	\begin{pgfinterruptboundingbox}
-		\begin{scope}
-			\clip \duckpathjacket;
-	    \foreach \shifta in {0,\stripes at distance,...,2.4}{%
-	    	\fill[\stripes at color,rotate around={\stripes at rotate:(1.2,0.9)}] 
-				($(\stripes at initialx,\stripes at initialy)+(\shifta,0)$) rectangle ($(\stripes at initialx,\stripes at initialy)+(\shifta,0)+(\stripes at width,\stripes at height)$);
-			}
-		\end{scope}
- 	\end{pgfinterruptboundingbox}
- 	\node at (wing) {\stripes at emblem };
+  \path (0.1,0.1) rectangle (2.1,1.45);
+  \begin{pgfinterruptboundingbox}
+    \begin{scope}
+      \clip \duckpathjacket;
+      \foreach \shifta in {0,\stripes at distance,...,2.4}{%
+        \fill[\stripes at color,rotate around={\stripes at rotate:(1.2,0.9)}] 
+        ($(\stripes at initialx,\stripes at initialy)+(\shifta,0)$) rectangle ($(\stripes at initialx,\stripes at initialy)+(\shifta,0)+(\stripes at width,\stripes at height)$);
+      }
+    \end{scope}
+   \end{pgfinterruptboundingbox}
+   \node at (wing) {\stripes at emblem };
 }
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %.........................%%%%%%%%%%%%%%%%%%%.........................
@@ -1028,4 +1342,4 @@
 %................%%%%%%%%.................%%%...%%%%%%................
 %....................%%%%%%%%......%%%%%%%%%%%%%%%....................
 %..........................%%%%%%%%%%%%%%%%%..........................
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ No newline at end of file
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Added: trunk/Master/texmf-dist/tex/latex/tikzducks/tikzlibraryducks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikzducks/tikzlibraryducks.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikzducks/tikzlibraryducks.code.tex	2018-04-04 20:19:15 UTC (rev 47289)
@@ -0,0 +1,27 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% TikZ library for the tikzducks package
+% A package to bring rubber ducks into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter8/tikzducks
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+% Version 0.6
+% April 04, 2018 
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{tikzducks}
+
+% This is all that is needed ...
+\tikzset{
+  duck/.pic={%
+    \duck at draw
+  },
+  duck/.search also={,/tikz,/pgf},
+}
+
+


Property changes on: trunk/Master/texmf-dist/tex/latex/tikzducks/tikzlibraryducks.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


More information about the tex-live-commits mailing list