texlive[58485] branches/branch2020.0/Master/texmf-dist: tikzlings

commits+karl at tug.org commits+karl at tug.org
Wed Mar 17 22:51:16 CET 2021


Revision: 58485
          http://tug.org/svn/texlive?view=revision&revision=58485
Author:   karl
Date:     2021-03-17 22:51:16 +0100 (Wed, 17 Mar 2021)
Log Message:
-----------
tikzlings (17mar21) (branch)

Modified Paths:
--------------
    branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/README.md
    branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/tikzlings-doc.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/tikzlings-doc.tex
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmans.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty

Added Paths:
-----------
    branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/README.md
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/README.md	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/README.md	2021-03-17 21:51:16 UTC (rev 58485)
@@ -1,7 +1,7 @@
 # TikZlings
 A collection of animals and other beings from the tikz world
 
-Current version: 2020/12/04 version v0.4
+Current version: 2021/03/17 version v0.5
 
 This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
 

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/tikzlings-doc.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/tikzlings-doc.tex
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/tikzlings-doc.tex	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/doc/latex/tikzlings/tikzlings-doc.tex	2021-03-17 21:51:16 UTC (rev 58485)
@@ -95,9 +95,9 @@
   emph=[1]{
     tikzlings,
     tikzlings-marmots, tikzlings-bears, tikzlings-coatis, tikzlings-koalas, tikzlings-marmots, tikzlings-owls, tikzlings-penguins, tikzlings-snowmans, tikzlings-mice, tikzlings-moles, tikzlings-sloths, tikzlings-pigs, tikzlings-cats, tikzlings-hippos, tikzlings-rhinos, tikzlings-pandas, tikzlings-bees, tikzlings-anteaters, tikzlings-squirrels, tikzlings-sheep,
-    body, 3D, rotatehead, sideward, blush, sleeping, whiskers, teeth, shadow, askphil, leftstep, rightstep, eye, nose, pupil, bill, feet, belly, ask, phil, mouth, buttons, rotatearms, eyes, paws, back, pupilwidth, globalwarming, wings, antennas, stripes,
+    body, 3D, rotatehead, sideward, blush, sleeping, whiskers, teeth, shadow, askphil, leftstep, rightstep, eye, nose, pupil, bill, feet, belly, ask, phil, mouth, buttons, rotatearms, paws, back, pupilwidth, globalwarming, wings, antennas, stripes,
     scale, yshift, xshift, rotate, hands, muzzle, schroedinger, toes,
-    hat, tophat, beret, strawhat, ribbon, harlequin, niuqelrah, witch, magichat, magicstars, crown, queencrown, kingcrown, santa, chef, graduate, tassel, alien, book, bookcolour, signpost, signcolour, signback, speech, think, bubblecolour, pizza, cheese, baguette, cake, icecream, flavoura, flavourb, flavourc, milkshake, wine, cricket, hockey, football, crystalball, magicwand, rollingpin, lightsaber, torch, basket, easter, egga, eggb, eggc, crozier, shovel, pickaxe, umbrella, umbrellaclosed, handbag, cocktail, monocle,
+    hat, tophat, beret, strawhat, ribbon, harlequin, niuqelrah, witch, magichat, magicstars, crown, queencrown, kingcrown, santa, chef, graduate, tassel, alien, book, bookcolour, signpost, signcolour, signback, speech, think, bubblecolour, pizza, cheese, baguette, cake, icecream, flavoura, flavourb, flavourc, milkshake, wine, cricket, hockey, football, crystalball, magicwand, rollingpin, lightsaber, torch, basket, easter, egga, eggb, eggc, crozier, shovel, pickaxe, umbrella, umbrellaclosed, handbag, cocktail, monocle, contour,
   },
   texcsstyle=*\color{SteelBlue!50!black}\bfseries,
   keywordstyle=\color{red!60!black}\bfseries,
@@ -151,7 +151,7 @@
     \url{https://github.com/samcarter/tikzlings}\\
     \url{https://www.ctan.org/pkg/tikzlings}
   }{samcarter}}
-\date{Version v0.4 \textendash{} 2020/12/04}
+\date{Version v0.5 \textendash{} 2021/03/17}
 
 \begin{document}
 \maketitle
@@ -309,6 +309,11 @@
 \anteater[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\anteater[eye=red]
+\end{tcblisting}
+
 To view the anteater from behind:
 \begin{tcblisting}{}
 \anteater[back]
@@ -319,6 +324,11 @@
 \anteater[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\anteater[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Bear 
@@ -350,6 +360,11 @@
 \bear[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\bear[eye=red]
+\end{tcblisting}
+
 To view the teddy bear from behind:
 \begin{tcblisting}{}
 \bear[back]
@@ -360,6 +375,11 @@
 \bear[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\bear[contour=black]
+\end{tcblisting}
+
 \subsection{Extension}
 
 The B\"ar and Ulrike Fischer wrote the fantastic \lstinline|bearwear| package, that provides many different clothing options for the \lstinline|TikZbears|. All the other \tikzlings admire them for the nice clothing!
@@ -438,8 +458,11 @@
 \bee[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\bee[contour=black]
+\end{tcblisting}
 
-
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Cat
@@ -446,7 +469,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \clearpage
-\section[Cat]{MisTi$k$zelees, the cat}
+\section[Cat]{MisTi$k$Zelees, the cat}
 
 \emph{Named after the worlds best singing cat}
 
@@ -473,7 +496,7 @@
 
 In addition to the colour of the body, the colour of various body parts can be adjusted:
 \begin{tcblisting}{}
-\cat[eyes=green]
+\cat[eye=green]
 \end{tcblisting}
 \begin{tcblisting}{}
 \cat[pupil=red]
@@ -539,6 +562,11 @@
 \cat[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\cat[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Coati 
@@ -570,6 +598,11 @@
 \coati[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\coati[eye=red]
+\end{tcblisting}
+
 The head of the coati can be rotated, but please don't overdo this, otherwise his neck might break!
 \begin{tcblisting}{}
 \coati[rotatehead=-15]
@@ -590,6 +623,11 @@
 \coati[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\coati[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Hippo
@@ -621,6 +659,14 @@
 \hippo[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\hippo[eye=red]
+\end{tcblisting}
+\begin{tcblisting}{}
+\hippo[pupil=red]
+\end{tcblisting}
+
 The hippo can also do its nails:
 \begin{tcblisting}{}
 \hippo[toes=red]
@@ -636,6 +682,11 @@
 \hippo[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\hippo[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Koala 
@@ -667,6 +718,11 @@
 \koala[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\koala[eye=red]
+\end{tcblisting}
+
 It can also blush
 \begin{tcblisting}{}
 \koala[blush]
@@ -687,6 +743,11 @@
 \koala[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\koala[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Marmot 
@@ -718,6 +779,11 @@
 \marmot[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\marmot[eye=red]
+\end{tcblisting}
+
 The marmot can also blush
 \begin{tcblisting}{}
 \marmot[blush]
@@ -759,9 +825,14 @@
 \marmot[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\marmot[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-% Mouse 
+% Moles 
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \clearpage
@@ -793,6 +864,10 @@
 
 In addition to the colour of the body, the colour of various body parts can be adjusted:
 \begin{tcblisting}{}
+\moles[eye=red]
+\end{tcblisting}
+
+\begin{tcblisting}{}
 \moles[muzzle=red]
 \end{tcblisting}
 
@@ -814,6 +889,11 @@
 \moles[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\moles[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Mouse 
@@ -845,6 +925,11 @@
 \mouse[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\mouse[eye=red]
+\end{tcblisting}
+
 The rotation angle of its arms can be adjusted:
 \begin{tcblisting}{}
 \mouse[rotatearms=40]
@@ -866,6 +951,11 @@
 \mouse[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\mouse[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Owl 
@@ -921,6 +1011,11 @@
 \owl[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\owl[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Panda
@@ -927,9 +1022,9 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \clearpage
-\section[Panda]{..., the panda}
+\section[Panda]{Meng Meng, the panda}
 
-\emph{....}
+\emph{Meng Meng is named after one of the pandas at the zoological garden Berlin}
 
 \subsection{Package name}
 
@@ -952,6 +1047,14 @@
 \panda[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\panda[eye=red]
+\end{tcblisting}
+\begin{tcblisting}{}
+\panda[pupil=red]
+\end{tcblisting}
+
 To view the panda from behind:
 \begin{tcblisting}{}
 \panda[back]
@@ -962,6 +1065,11 @@
 \panda[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\panda[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Penguin 
@@ -972,7 +1080,6 @@
 
 \emph{Dedicated to the Linux mascot}
 
-
 \subsection{Package name}
 
 \begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth]
@@ -1021,6 +1128,11 @@
 \penguin[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\penguin[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Pig 
@@ -1052,6 +1164,11 @@
 \pig[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\pig[eye=red]
+\end{tcblisting}
+
 To view the pig from behind:
 \begin{tcblisting}{}
 \pig[back]
@@ -1062,6 +1179,11 @@
 \pig[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\pig[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Rhino
@@ -1093,6 +1215,14 @@
 \rhino[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\rhino[eye=red]
+\end{tcblisting}
+\begin{tcblisting}{}
+\rhino[pupil=red]
+\end{tcblisting}
+
 The hippo can also do its nails:
 \begin{tcblisting}{}
 \rhino[toes=red]
@@ -1108,6 +1238,11 @@
 \rhino[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\rhino[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Sheep
@@ -1139,6 +1274,11 @@
 \sheep[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\sheep[eye=red]
+\end{tcblisting}
+
 The sheep can also blush
 \begin{tcblisting}{}
 \sheep[blush]
@@ -1159,6 +1299,11 @@
 \sheep[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\sheep[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Sloth 
@@ -1190,6 +1335,11 @@
 \sloth[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\sloth[eye=red]
+\end{tcblisting}
+
 If tired, the sloth can take a nap:
 \begin{tcblisting}{}
 \sloth[sleeping]
@@ -1201,11 +1351,15 @@
 \end{tcblisting}
 
 Finally the key \lstinline|3D| will make the sloth 3-dimensional:
-
 \begin{tcblisting}{}
 \sloth[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\sloth[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Squirrel 
@@ -1237,6 +1391,14 @@
 \squirrel[body=blue]
 \end{tcblisting}
 
+In addition to the colour of the body, the colour of the eyes can be adjusted:
+\begin{tcblisting}{}
+\squirrel[eye=red]
+\end{tcblisting}
+\begin{tcblisting}{}
+\squirrel[pupil=red]
+\end{tcblisting}
+
 To view the squirrel from behind:
 \begin{tcblisting}{}
 \squirrel[back]
@@ -1247,6 +1409,11 @@
 \squirrel[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\squirrel[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Snowman 
@@ -1303,11 +1470,15 @@
 \end{tcblisting}
 
 Finally the key \lstinline|3D| will make the snowman 3-dimensional:
-
 \begin{tcblisting}{}
 \snowman[3D]
 \end{tcblisting}
 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\snowman[contour=black]
+\end{tcblisting}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Random Tikzling 
@@ -1349,8 +1520,13 @@
 \tikzling[3D]
 \end{tcblisting}
 
-If an option of a specific tikzlings is used (for example \lstinline|sleeping| which only the koala can do) this only works if you are lucky and the koala is drawn, in all other cases it will result in an error. 
+And finally the \lstinline|contour| key will only draw the outlines:
+\begin{tcblisting}{}
+\tikzling[contour=black]
+\end{tcblisting}
 
+If an option of a specific tikzlings is used (for example \lstinline|sleeping| which only the koala and sloth can do) this only works if you are lucky and one of them is drawn, in all other cases it will result in an error. 
+
 In addition all usual \TikZ and \lstinline|pgf| keys can be used in the optional argument as well as the accessories presented in the following section.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-addons.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-addons}[2020/12/04 version v0.4 Draw additional items for the tikzlings]
+\ProvidesPackage{tikzlings-addons}[2021/03/17 version v0.5 Draw additional items for the tikzlings]
 
 \RequirePackage{tikz}
 \usetikzlibrary{patterns} % for the wizard hat
@@ -81,7 +81,7 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   /thing/.search also={%
     /tikz,/pgf,
-    /bear,/coati,/koala,/marmot,/mouse,/owl,/penguin,/snowman,/mole,/sloth,/pig,/cat,/hippo,/rhino,/panda,/bee,/anteater,/squirrel,/sheep,
+    /bear,/coati,/koala,/marmot,/mouse,/owl,/penguin,/snowman,/moles,/sloth,/pig,/cat,/hippo,/rhino,/panda,/bee,/anteater,/squirrel,/sheep,
   },
   %/thing/.unknown/.code=\relax, % bad idea, prevents tikz/pgf keys
   /thing/.cd,

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-anteaters.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-anteaters}[2020/12/04 version v0.4 Drawing anteaters in TikZ]
+\ProvidesPackage{tikzlings-anteaters}[2021/03/17 version v0.5 Drawing anteaters in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -30,6 +30,7 @@
 
 \newif\ifanteater at threeD
 \newif\ifanteater at back
+\newif\ifanteater at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -46,6 +47,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\anteater at body{#1},
   body               = red!55!green!75!blue!66!white,
+  eye/.code          = \def\anteater at eye{#1},
+  eye                = \anteater at body!70!brown!50!darkgray,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -53,6 +56,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \anteater at threeDtrue,  
   back/.code         = \anteater at backtrue,  
+  contour/.code      = \anteater at contourtrue
+                       \def\anteater at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /anteater/contour,   
 }
 
 \def\anteater at draw{%
@@ -77,7 +84,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -84,7 +91,11 @@
 \ifanteater at threeD
   \def\anteater at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\anteater at part@draw[##1]{\fill[##1]}
+  \ifanteater at contour
+    \def\anteater at part@draw[##1]{\draw[##1,\anteater at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\anteater at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -151,8 +162,8 @@
   \anteater at part@draw[\anteater at body!70!brown!50!darkgray] (0, 1.08) ellipse[x radius=0.08, y radius=0.05];
   %
   % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  \anteater at part@draw[\anteater at body!70!brown!50!darkgray] (0.23, 1.7) circle[radius=0.05];
-  \anteater at part@draw[\anteater at body!70!brown!50!darkgray] (-0.23, 1.7) circle[radius=0.05];  
+  \anteater at part@draw[\anteater at eye] (0.23, 1.7) circle[radius=0.05];
+  \anteater at part@draw[\anteater at eye] (-0.23, 1.7) circle[radius=0.05];  
 \fi
 %
 % Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bears.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-bears}[2020/12/04 version v0.4 Draw teddy bears in TikZ]
+\ProvidesPackage{tikzlings-bears}[2021/03/17 version v0.5 Draw teddy bears in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -30,6 +30,7 @@
 
 \newif\ifbear at threeD
 \newif\ifbear at back
+\newif\ifbear at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -46,6 +47,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\bear at body{#1},
   body               = brown,
+  eye/.code          = \def\bear at eye{#1},
+  eye                = \bear at body!30!black,  
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -53,6 +56,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \bear at threeDtrue, 
   back/.code         = \bear at backtrue,  
+  contour/.code      = \bear at contourtrue
+                       \def\bear at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /bear/contour,   
 }
 
 \def\bear at draw{%
@@ -76,7 +83,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -83,7 +90,11 @@
 \ifbear at threeD
   \def\bear at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\bear at part@draw[##1]{\fill[##1]}
+  \ifbear at contour
+    \def\bear at part@draw[##1]{\draw[##1,\bear at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\bear at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -143,11 +154,15 @@
 \bear at part@draw[\bear at body!70!white!80!red] (0, 1.5) ellipse[x radius=0.15, y radius=0.08]; 
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bear at part@draw[\bear at body!30!black] (-0.155, 1.7) circle[radius=0.05]; 
-\bear at part@draw[\bear at body!30!black] (0.155, 1.7) circle[radius=0.05]; 
+\bear at part@draw[\bear at eye] (-0.155, 1.7) circle[radius=0.05]; 
+\bear at part@draw[\bear at eye] (0.155, 1.7) circle[radius=0.05]; 
 %
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\draw[\bear at body!30!black,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16];
+\ifbear at contour
+  \draw[\bear at contour,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16];
+\else
+  \draw[\bear at body!30!black,line width=\scalingfactor*0.4pt] (0.145, 1.38) arc [start angle=-20, end angle=-160, radius=0.16];
+\fi
 %
 \fi
 %

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-bees.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-bees}[2020/12/04 version v0.4 Drawing bees in TikZ]
+\ProvidesPackage{tikzlings-bees}[2021/03/17 version v0.5 Drawing bees in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
 
 \newif\ifbee at threeD
 \newif\ifbee at back
+\newif\ifbee at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -55,8 +56,8 @@
   stripes            = black,     
   antennas/.code     = \def\bee at antennas{#1},
   antennas           = black,     
-  eye/.code         = \def\bee at eye{#1},
-  eye               = black,   
+  eye/.code          = \def\bee at eye{#1},
+  eye                = black,   
   mouth/.code        = \def\bee at mouth{#1},
   mouth              = black,      
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -66,6 +67,12 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \bee at threeDtrue,  
   back/.code         = \bee at backtrue,       
+  contour/.code      = \bee at contourtrue
+                       \def\bee at contour{#1}
+                       \def\bee at antennas{#1}
+                       \def\bee at mouth{#1},
+  contour/.default   = black,  
+  outline/.forward to = /bee/contour,   
 }
 
 \def\bee at draw{%
@@ -89,7 +96,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -96,7 +103,11 @@
 \ifbee at threeD
   \def\bee at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\bee at part@draw[##1]{\fill[##1]}
+  \ifbee at contour
+    \def\bee at part@draw[##1]{\draw[##1,\bee at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\bee at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -117,14 +128,25 @@
   \bee at part@draw[\bee at antennas] (0.22,2.30) circle[radius=0.07];
 \else
   % Wings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  \fill[\bee at wings] (0.45,1.25) circle[radius=0.35] (0.5,0.8) circle[radius=0.35];
-  \fill[\bee at wings] (-0.45,1.25) circle[radius=0.35](-0.5,0.8) circle[radius=0.35];
+  \ifbee at contour
+    \bee at part@draw[\bee at wings] (0.5,0.8) circle[radius=0.35];
+    \bee at part@draw[\bee at wings] (0.45,1.25) circle[radius=0.35];
+    \bee at part@draw[\bee at wings] (-0.5,0.8) circle[radius=0.35];
+    \bee at part@draw[\bee at wings] (-0.45,1.25) circle[radius=0.35];
+  \else
+    \fill[\bee at wings] (0.45,1.25) circle[radius=0.35] (0.5,0.8) circle[radius=0.35];
+    \fill[\bee at wings] (-0.45,1.25) circle[radius=0.35](-0.5,0.8) circle[radius=0.35];
+  \fi
 \fi
 %
 % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{scope}
   \clip (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
-  \bee at part@draw[\bee at body] (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
+  \ifbee at contour
+    \draw[\bee at contour,fill=white,line width=\scalingfactor*0.8pt] (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
+  \else
+    \bee at part@draw[\bee at body] (0,2.1) to[out=180,in=140,looseness=1.2] (-0.3,1.5) to[out=-110,in=180,looseness=1.2] (0,0.15) to[out=00,in=-65,looseness=1.2] (0.3,1.5) to[out=40,in=0,looseness=1.2] cycle;
+  \fi
   % stripes
   \bee at part@draw[\bee at stripes] (-0.475,1.3) arc(180:360:0.5 and 0.1) -- ++ (0,-0.15) arc(360:180:0.5 and 0.1) -- cycle
   (-0.475,1.0) arc(180:360:0.5 and 0.1) -- ++ (0,-0.15) arc(360:180:0.5 and 0.1) -- cycle
@@ -140,8 +162,15 @@
 \ifbee at back
   %
   % Wings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  \fill[\bee at wings] (0.45,1.25) circle[radius=0.35] (0.5,0.8) circle[radius=0.35];
-  \fill[\bee at wings] (-0.45,1.25) circle[radius=0.35](-0.5,0.8) circle[radius=0.35];
+  \ifbee at contour
+    \bee at part@draw[\bee at wings] (0.5,0.8) circle[radius=0.35];
+    \bee at part@draw[\bee at wings] (0.45,1.25) circle[radius=0.35];
+    \bee at part@draw[\bee at wings] (-0.5,0.8) circle[radius=0.35];
+    \bee at part@draw[\bee at wings] (-0.45,1.25) circle[radius=0.35];
+  \else
+    \fill[\bee at wings] (0.45,1.25) circle[radius=0.35] (0.5,0.8) circle[radius=0.35];
+    \fill[\bee at wings] (-0.45,1.25) circle[radius=0.35](-0.5,0.8) circle[radius=0.35];
+  \fi
 \else
   %
   % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-cats.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-cats}[2020/12/04 version v0.4 Drawing cats in TikZ]
+\ProvidesPackage{tikzlings-cats}[2021/03/17 version v0.5 Drawing cats in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -58,6 +58,7 @@
 \newif\ifcat at threeD
 \newif\ifcat at schroedinger
 \newif\ifcat at back
+\newif\ifcat at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -76,8 +77,9 @@
   body                    = gray!30!black,
   whiskers/.code          = \def\cat at whiskers{#1},
   whiskers                = gray!50!white,
-  eyes/.code              = \def\cat at eyes{#1},
-  eyes                    = yellow!80!orange,
+  eye/.code               = \def\cat at eye{#1},
+  eye                     = yellow!80!orange,
+  eyes/.forward to        = /cat/eye,
   pupil/.code             = \def\cat at pupil{#1},
   pupil                   = black,
   pupilwidth/.code        = \def\cat at pupil@width{#1}\edef\cat at pupil@offset{\strip at pt\dimexpr#1pt/4},
@@ -99,6 +101,11 @@
   3D/.code           = \cat at threeDtrue,
   schroedinger/.code = \cat at schroedingertrue,
   back/.code         = \cat at backtrue,  
+  contour/.code      = \cat at contourtrue
+                       \def\cat at contour{#1}
+                       \def\cat at whiskers{#1},
+  contour/.default   = black,  
+  outline/.forward to = /cat/contour,   
 }
 
 \def\cat at draw{%
@@ -123,7 +130,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -130,7 +137,11 @@
 \ifcat at threeD
   \def\cat at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\cat at part@draw[##1]{\fill[##1]}
+  \ifcat at contour
+    \def\cat at part@draw[##1]{\draw[##1,\cat at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\cat at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -174,8 +185,8 @@
 \ifcat at back\else
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\cat at part@draw[\cat at eyes] (-0.1014, 1.7491) .. controls (-0.1014, 1.7491) and (-0.1451, 1.7171) .. (-0.1841, 1.7284) .. controls (-0.2231, 1.7397) and (-0.2427, 1.79) .. (-0.2427, 1.79) .. controls (-0.2427, 1.79) and (-0.1992, 1.8221) .. (-0.1602, 1.8108) .. controls (-0.1212, 1.7995) and (-0.1014, 1.7491) .. (-0.1014, 1.7491) -- cycle;
-\cat at part@draw[\cat at eyes] (0.1014, 1.7491) .. controls (0.1014, 1.7491) and (0.1451, 1.7171) .. (0.1841, 1.7284) .. controls (0.2231, 1.7397) and (0.2427, 1.79) .. (0.2427, 1.79) .. controls (0.2427, 1.79) and (0.1992, 1.8221) .. (0.1602, 1.8108) .. controls (0.1212, 1.7995) and (0.1014, 1.7491) .. (0.1014, 1.7491) -- cycle;
+\cat at part@draw[\cat at eye] (-0.1014, 1.7491) .. controls (-0.1014, 1.7491) and (-0.1451, 1.7171) .. (-0.1841, 1.7284) .. controls (-0.2231, 1.7397) and (-0.2427, 1.79) .. (-0.2427, 1.79) .. controls (-0.2427, 1.79) and (-0.1992, 1.8221) .. (-0.1602, 1.8108) .. controls (-0.1212, 1.7995) and (-0.1014, 1.7491) .. (-0.1014, 1.7491) -- cycle;
+\cat at part@draw[\cat at eye] (0.1014, 1.7491) .. controls (0.1014, 1.7491) and (0.1451, 1.7171) .. (0.1841, 1.7284) .. controls (0.2231, 1.7397) and (0.2427, 1.79) .. (0.2427, 1.79) .. controls (0.2427, 1.79) and (0.1992, 1.8221) .. (0.1602, 1.8108) .. controls (0.1212, 1.7995) and (0.1014, 1.7491) .. (0.1014, 1.7491) -- cycle;
 %
 % Pupils %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \cat at part@draw[\cat at pupil]
@@ -236,6 +247,22 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
+% switch between 2D, 3D and contours, from
+% https://chat.stackexchange.com/transcript/message/45991801#45991801
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifcat at threeD
+  \def\cat at part@draw[##1]{\shade[ball color=##1]}
+\else
+  \ifcat at contour
+    \def\cat at part@draw[##1]{\draw[##1,\cat at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\cat at part@draw[##1]{\fill[##1]}
+  \fi
+\fi
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 
 % Drawing the tomebstone
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -245,8 +272,7 @@
 \csname tikzlinghookbackground\endcsname
 %
 % Stone %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[gray] (-0.55,0.4) rectangle (0.55,1.5);
-\fill[gray] (0,1.5) circle[radius=0.55];
+\cat at part@draw[gray] (-0.55,0.4) -- (-0.55,1.5) arc [start angle=180, end angle=0, radius=0.55] -- (0.55,0.4) -- cycle;
 \node[scale=\scalingfactor] at (0,1.3) {R.I.P.};
 %
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -254,14 +280,18 @@
 \csname tikzlinghookbelly\endcsname
 %
 % soil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[brown!65!black] (1,0.15) arc [start angle=50, end angle=130, radius=1.56] -- cycle;
+\cat at part@draw[brown!65!black] (1,0.15) arc [start angle=50, end angle=130, radius=1.56] -- cycle;
 %
 % flower
-\draw[green!50!brown,line width=\scalingfactor*0.4pt] (-0.01,0.3) arc [start angle=-15, end angle=30, radius=0.7];
-\fill[green!50!brown] (-0.1377, 0.7384) .. controls (-0.1775, 0.5828) and (-0.1479, 0.4649) .. (0.0072, 0.4246) .. controls (0.0570, 0.5636) and (-0.1529, 0.6447) .. (-0.1377, 0.7384) -- cycle;
-\fill[green!50!brown] (0.1527, 0.7334) .. controls (0.1925, 0.5778) and (0.1629, 0.4599) .. (0.0178, 0.4196) .. controls (-0.0420, 0.5586) and (0.1679, 0.6397) .. (0.1527, 0.7334) -- cycle;
+\ifcat at contour
+  \draw[\cat at contour,line width=\scalingfactor*0.4pt] (-0.01,0.3) arc [start angle=-15, end angle=30, radius=0.7];
+\else
+  \draw[green!50!brown,line width=\scalingfactor*0.4pt] (-0.01,0.3) arc [start angle=-15, end angle=30, radius=0.7];
+\fi
+\cat at part@draw[green!50!brown] (-0.1377, 0.7384) .. controls (-0.1775, 0.5828) and (-0.1479, 0.4649) .. (0.0072, 0.4246) .. controls (0.0570, 0.5636) and (-0.1529, 0.6447) .. (-0.1377, 0.7384) -- cycle;
+\cat at part@draw[green!50!brown] (0.1527, 0.7334) .. controls (0.1925, 0.5778) and (0.1629, 0.4599) .. (0.0178, 0.4196) .. controls (-0.0420, 0.5586) and (0.1679, 0.6397) .. (0.1527, 0.7334) -- cycle;
 \foreach \i in {0,51.42857,...,359}{
-  \fill[yellow!50!white,rotate around={\i:(-0.0865, 0.8219)}] (-0.087, 0.822) .. controls (-0.087, 0.822) and (-0.1635, 0.6638) .. (-0.0818, 0.6653) .. controls (-0.0066, 0.6646) and (-0.087, 0.822) .. (-0.087, 0.822) -- cycle;
+  \cat at part@draw[yellow!50!white,rotate around={\i:(-0.0865, 0.8219)}] (-0.087, 0.822) .. controls (-0.087, 0.822) and (-0.1635, 0.6638) .. (-0.0818, 0.6653) .. controls (-0.0066, 0.6646) and (-0.087, 0.822) .. (-0.087, 0.822) -- cycle;
 }
 %
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-coatis.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-coatis}[2020/12/04 version v0.4 Drawing coatis in TikZ]
+\ProvidesPackage{tikzlings-coatis}[2021/03/17 version v0.5 Drawing coatis in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
 \newif\ifcoati at threeD
 \newif\ifcoati at sideward
 \newif\ifcoati at back
+\newif\ifcoati at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -47,6 +48,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\coati at body{#1},
   body               = brown!50!darkgray!97!yellow,
+  eye/.code          = \def\coati at eye{#1},
+  eye                = \coati at body!50!black,   
   rotatehead/.code   = \def\coati at rotatehead{#1},
   rotate head/.forward to = /coati/rotatehead,
   rotatehead         = 0,
@@ -58,6 +61,10 @@
   3D/.code           = \coati at threeDtrue,  
   sideward/.code     = \coati at sidewardtrue,
   back/.code         = \coati at backtrue,  
+  contour/.code      = \coati at contourtrue
+                       \def\coati at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /coati/contour,   
 }
 
 \def\coati at draw{%
@@ -81,7 +88,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -88,7 +95,11 @@
 \ifcoati at threeD
   \def\coati at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\coati at part@draw[##1]{\fill[##1]}
+  \ifcoati at contour
+    \def\coati at part@draw[##1]{\draw[##1,\coati at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\coati at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -163,8 +174,8 @@
   %
   % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \ifcoati at back\else
-    \coati at part@draw[\coati at body!50!black] (0.007, 1.624) ellipse[x radius=0.04, y radius=0.06];
-    \coati at part@draw[\coati at body!50!black] (-0.38, 1.865) ellipse[x radius=0.035, y radius=0.055];
+    \coati at part@draw[\coati at eye] (0.007, 1.624) ellipse[x radius=0.04, y radius=0.06];
+    \coati at part@draw[\coati at eye] (-0.38, 1.865) ellipse[x radius=0.035, y radius=0.055];
   \fi
   %
   % Right Ear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -195,8 +206,8 @@
   %
   % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \ifcoati at back\else
-    \coati at part@draw[\coati at body!50!black] (0.23, 1.62) circle[radius=0.05];
-    \coati at part@draw[\coati at body!50!black] (-0.23, 1.62) circle[radius=0.05];
+    \coati at part@draw[\coati at eye] (0.23, 1.62) circle[radius=0.05];
+    \coati at part@draw[\coati at eye] (-0.23, 1.62) circle[radius=0.05];
   \fi
   %
   % Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-hippos.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-hippos}[2020/12/04 version v0.4 Drawing hippos in TikZ]
+\ProvidesPackage{tikzlings-hippos}[2021/03/17 version v0.5 Drawing hippos in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -30,6 +30,7 @@
 
 \newif\ifhippo at threeD
 \newif\ifhippo at back
+\newif\ifhippo at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -46,6 +47,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\hippo at body{#1},
   body               = gray,
+  eye/.code          = \def\hippo at eye{#1},
+  eye                = white,   
+  pupil/.code        = \def\hippo at pupil{#1},
+  pupil              = black,  
   toes/.code         = \def\hippo at toes{#1},
   toes               = \hippo at body!55!white,
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -55,6 +60,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \hippo at threeDtrue, 
   back/.code         = \hippo at backtrue,
+  contour/.code      = \hippo at contourtrue
+                       \def\hippo at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /hippo/contour,   
 }
 
 \def\hippo at draw{%
@@ -78,7 +87,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -85,7 +94,11 @@
 \ifhippo at threeD
   \def\hippo at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\hippo at part@draw[##1]{\fill[##1]}
+  \ifhippo at contour
+    \def\hippo at part@draw[##1]{\draw[##1,\hippo at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\hippo at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -136,10 +149,17 @@
 \ifhippo at back\else
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[white] (-0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
-\fill[white] (0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
-\fill[black] (-0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
-\fill[black] (0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+\ifhippo at contour
+  \hippo at part@draw[\hippo at eye] (-0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \hippo at part@draw[\hippo at eye] (0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \hippo at part@draw[\hippo at pupil] (-0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+  \hippo at part@draw[\hippo at pupil] (0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+\else
+  \fill[\hippo at eye] (-0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \fill[\hippo at eye] (0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \fill[\hippo at pupil] (-0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+  \fill[\hippo at pupil] (0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+\fi
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \hippo at part@draw[\hippo at body!80!white] (0, 1.55) ellipse[x radius=0.42, y radius=0.2];
@@ -150,7 +170,11 @@
 \ifhippo at threeD
   \draw[black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
 \else
-  \draw[\hippo at body!70!black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
+  \ifhippo at contour
+    \draw[\hippo at contour,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
+  \else
+    \draw[\hippo at body!70!black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2];
+  \fi
 \fi
 %
 % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-koalas.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-koalas}[2020/12/04 version v0.4 Drawing koalas in TikZ]
+\ProvidesPackage{tikzlings-koalas}[2021/03/17 version v0.5 Drawing koalas in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -37,6 +37,7 @@
 \newif\ifkoala at sleeping
 \newif\ifkoala at threeD
 \newif\ifkoala at back
+\newif\ifkoala at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -53,6 +54,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\koala at body{#1},
   body               = gray!75!white,
+  eye/.code          = \def\koala at eye{#1},
+  eye                = black,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -62,6 +65,10 @@
   sleeping/.code     = \koala at sleepingtrue, 
   3D/.code           = \koala at threeDtrue,  
   back/.code         = \koala at backtrue,  
+  contour/.code      = \koala at contourtrue
+                       \def\koala at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /koala/contour,   
 }
 
 \def\koala at draw{%
@@ -85,7 +92,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -92,7 +99,11 @@
 \ifkoala at threeD
   \def\koala at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\koala at part@draw[##1]{\fill[##1]}
+  \ifkoala at contour
+    \def\koala at part@draw[##1]{\draw[##1,\koala at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\koala at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -159,8 +170,8 @@
   \fill[\koala at body!50!black, even odd rule] (0.3331, 1.741) ..  controls (0.3331, 1.685) and (0.1737, 1.685) .. (0.1737, 1.741) .. controls (0.1737, 1.848) and (0.3331, 1.848) .. (0.3331, 1.741) -- cycle (0.328, 1.741) .. controls   (0.323, 1.705) and   (0.184, 1.705) .. (0.179, 1.741) .. controls   (0.184, 1.843) and   (0.323, 1.843) .. (0.328, 1.741) -- cycle;
   \fill[\koala at body!50!black, even odd rule] (-0.3331, 1.741) ..  controls (-0.3331, 1.685) and (-0.1737, 1.685) .. (-0.1737, 1.741) .. controls (-0.1737, 1.848) and (-0.3331, 1.848) .. (-0.3331, 1.741) -- cycle   (-0.328, 1.741) .. controls     (-0.323, 1.705) and     (-0.184, 1.705) ..     (-0.179, 1.741) .. controls (-0.184, 1.843) and (-0.323, 1.843) .. (-0.328, 1.741) -- cycle;
 \else
-  \koala at part@draw[black] (-0.255, 1.74) circle[radius=0.08]; 
-  \koala at part@draw[black] (0.255, 1.74) circle[radius=0.08]; 
+  \koala at part@draw[\koala at eye] (-0.255, 1.74) circle[radius=0.08]; 
+  \koala at part@draw[\koala at eye] (0.255, 1.74) circle[radius=0.08]; 
   \fill[white] (-0.27, 1.76) circle[radius=0.015]; 
   \fill[white] (0.24, 1.76) circle[radius=0.015]; 
 \fi
@@ -168,8 +179,12 @@
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifkoala at threeD
   \draw[black,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
-\else   
-  \draw[\koala at body!40!black,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
+\else  
+  \ifkoala at contour
+    \draw[\koala at contour,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
+  \else 
+    \draw[\koala at body!40!black,line width=\scalingfactor*0.4pt] (0.115, 1.39) arc [start angle=-40, end angle=-140, radius=0.16];
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -180,8 +195,13 @@
 %
 % Blushed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifkoala at blush
-  \fill[red,path fading=koala at blush] (-0.3, 1.52) circle[radius=0.1]; 
-  \fill[red,path fading=koala at blush] (0.3, 1.52) circle[radius=0.1];
+  \ifkoala at contour
+    \fill[\koala at contour,path fading=koala at blush] (-0.3, 1.52) circle[radius=0.1]; 
+    \fill[\koala at contour,path fading=koala at blush] (0.3, 1.52) circle[radius=0.1];
+  \else
+    \fill[red,path fading=koala at blush] (-0.3, 1.52) circle[radius=0.1]; 
+    \fill[red,path fading=koala at blush] (0.3, 1.52) circle[radius=0.1];  
+  \fi
 \fi
 %
 \fi

Added: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty	                        (rev 0)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -0,0 +1,28 @@
+\ProvidesPackage{tikzlings-list}[2021/03/17 version v0.5 Helper package for the tikzlings]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% List of all TikZlings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\tikzling at list{
+  anteater/anteaters,
+  bear/bears,
+  bee/bees,
+  cat/cats,
+  coati/coatis,
+  hippo/hippos,
+  koala/koalas,
+  marmot/marmots,
+  mouse/mice,
+  moles/moles,
+  owl/owls,
+  panda/pandas,
+  penguin/penguins,
+  pig/pigs,
+  rhino/rhinos,
+  sheep/sheep,
+  sloth/sloths,
+  snowman/snowmans,
+  squirrel/squirrels%
+}


Property changes on: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-list.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-marmots.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-marmots}[2020/12/04 version v0.4 Drawing marmots in TikZ]
+\ProvidesPackage{tikzlings-marmots}[2021/03/17 version v0.5 Drawing marmots in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -59,6 +59,7 @@
 \newif\ifmarmot at leftstep
 \newif\ifmarmot at rightstep
 \newif\ifmarmot at back
+\newif\ifmarmot at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -75,6 +76,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\marmot at body{#1},
   body               = brown,
+  eye/.code          = \def\marmot at eye{#1},
+  eye                = \marmot at body!50!black,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -96,6 +99,10 @@
   rightstep/.code    = \marmot at rightsteptrue,
   right step/.forward to = /marmot/rightstep,  
   back/.code         = \marmot at backtrue,  
+  contour/.code      = \marmot at contourtrue
+                       \def\marmot at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /marmot/contour,   
 }
 
 \def\marmot at draw{%
@@ -119,7 +126,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -126,7 +133,11 @@
 \ifmarmot at threeD
   \def\marmot at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\marmot at part@draw[##1]{\fill[##1]}
+  \ifmarmot at contour
+    \def\marmot at part@draw[##1]{\draw[##1,\marmot at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\marmot at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -210,11 +221,15 @@
 \marmot at part@draw[\marmot at body!50!black] (0,1.6) circle[radius=0.08];
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot at part@draw[\marmot at body!50!black] (-0.155,1.77) circle[radius=0.05]; 
-\marmot at part@draw[\marmot at body!50!black] (0.155,1.77) circle[radius=0.05]; 
+\marmot at part@draw[\marmot at eye] (-0.155,1.77) circle[radius=0.05]; 
+\marmot at part@draw[\marmot at eye] (0.155,1.77) circle[radius=0.05]; 
 %
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[\marmot at body!50!black] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] -- (-0.14,1.51) -- (-0.14,1.51) arc [start angle=-160, end angle=-20, radius=0.144] -- cycle ;
+\ifmarmot at contour
+  \fill[\marmot at contour] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] -- (-0.14,1.51) -- (-0.14,1.51) arc [start angle=-160, end angle=-20, radius=0.144] -- cycle ;
+\else
+  \fill[\marmot at body!50!black] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] -- (-0.14,1.51) -- (-0.14,1.51) arc [start angle=-160, end angle=-20, radius=0.144] -- cycle ;
+\fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
@@ -224,8 +239,13 @@
 %
 % Blushed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifmarmot at blush
-  \fill[red,path fading=marmot at blush] (-0.295,1.6) circle[radius=0.1]; 
-  \fill[red,path fading=marmot at blush] (0.295,1.6) circle[radius=0.1]; 
+  \ifmarmot at contour
+    \fill[\marmot at contour,path fading=marmot at blush] (-0.295,1.6) circle[radius=0.1]; 
+    \fill[\marmot at contour,path fading=marmot at blush] (0.295,1.6) circle[radius=0.1];   
+  \else
+    \fill[red,path fading=marmot at blush] (-0.295,1.6) circle[radius=0.1]; 
+    \fill[red,path fading=marmot at blush] (0.295,1.6) circle[radius=0.1]; 
+  \fi
 \fi
 %
 % Wiskers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-mice.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-mice}[2020/12/04 version v0.4 Drawing mice in TikZ]
+\ProvidesPackage{tikzlings-mice}[2021/03/17 version v0.5 Drawing mice in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -34,6 +34,7 @@
 \newif\ifmouse at leftstep
 \newif\ifmouse at rightstep
 \newif\ifmouse at back
+\newif\ifmouse at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -50,6 +51,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\mouse at body{#1},
   body               = gray!90!white,
+  eye/.code          = \def\mouse at eye{#1},
+  eye                = \mouse at body!50!black,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -65,6 +68,10 @@
   rightstep/.code    = \mouse at rightsteptrue,
   right step/.forward to = /mouse/rightstep,    
   back/.code         = \mouse at backtrue,  
+  contour/.code      = \mouse at contourtrue
+                       \def\mouse at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /mouse/contour,   
 }
 
 \def\mouse at draw{%
@@ -88,7 +95,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -95,7 +102,11 @@
 \ifmouse at threeD
   \def\mouse at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\mouse at part@draw[##1]{\fill[##1]}
+  \ifmouse at contour
+    \def\mouse at part@draw[##1]{\draw[##1,\mouse at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\mouse at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -165,19 +176,28 @@
 \mouse at part@draw[\mouse at body!65!white,rotate around={\mouse at rotatearms:(-0.47,1.15)}] (-0.47,0.93) ellipse[x radius=0.13, y radius=0.24];
 %
 % Wiskers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[\mouse at body!50!black] (0.0788, 1.2046) .. controls (0.1658, 1.2199) and (0.2086, 1.1539) .. (0.2956, 1.1386) -- (0.2956, 1.1486) .. controls (0.2097, 1.1637) and (0.1648, 1.2197) .. (0.0788, 1.2046) -- cycle;
-\fill[\mouse at body!50!black] (-0.0788, 1.2046) .. controls (-0.1658, 1.2199) and (-0.2087, 1.1539) .. (-0.2956, 1.1386) -- (-0.2956, 1.1486) .. controls (-0.2097, 1.1637) and (-0.1648, 1.2197) .. (-0.0788, 1.2046) -- cycle;
-\fill[\mouse at body!50!black] (0.0752, 1.2181) .. controls (0.1583, 1.2483) and (0.2171, 1.2209) .. (0.3002, 1.1907) -- (0.3002, 1.2007) .. controls (0.2174, 1.2308) and (0.158, 1.2482) .. (0.0752, 1.2181) -- cycle;
-\fill[\mouse at body!50!black] (-0.0752, 1.2181) .. controls (-0.1583, 1.2483) and (-0.2171, 1.2209) .. (-0.3002, 1.1907) -- (-0.3002, 1.2007) .. controls (-0.2174, 1.2308) and (-0.158, 1.2482) .. (-0.0752, 1.2181) -- cycle;
-\fill[\mouse at body!50!black] (0.0671, 1.2343) .. controls (0.1414, 1.2825) and (0.2182, 1.3064) .. (0.2925, 1.2582) -- (0.2925, 1.2682) .. controls (0.2179, 1.3166) and (0.1417, 1.2827) .. (0.0671, 1.2343) -- cycle;
-\fill[\mouse at body!50!black] (-0.0671, 1.2343) .. controls (-0.1414, 1.2825) and (-0.2182, 1.3064) .. (-0.2925, 1.2582) -- (-0.2925, 1.2682) .. controls (-0.2179, 1.3166) and (-0.1417, 1.2827) .. (-0.0671, 1.2343) -- cycle;
+\ifmouse at contour
+  \fill[\mouse at contour] (0.0788, 1.2046) .. controls (0.1658, 1.2199) and (0.2086, 1.1539) .. (0.2956, 1.1386) -- (0.2956, 1.1486) .. controls (0.2097, 1.1637) and (0.1648, 1.2197) .. (0.0788, 1.2046) -- cycle;
+  \fill[\mouse at contour] (-0.0788, 1.2046) .. controls (-0.1658, 1.2199) and (-0.2087, 1.1539) .. (-0.2956, 1.1386) -- (-0.2956, 1.1486) .. controls (-0.2097, 1.1637) and (-0.1648, 1.2197) .. (-0.0788, 1.2046) -- cycle;
+  \fill[\mouse at contour] (0.0752, 1.2181) .. controls (0.1583, 1.2483) and (0.2171, 1.2209) .. (0.3002, 1.1907) -- (0.3002, 1.2007) .. controls (0.2174, 1.2308) and (0.158, 1.2482) .. (0.0752, 1.2181) -- cycle;
+  \fill[\mouse at contour] (-0.0752, 1.2181) .. controls (-0.1583, 1.2483) and (-0.2171, 1.2209) .. (-0.3002, 1.1907) -- (-0.3002, 1.2007) .. controls (-0.2174, 1.2308) and (-0.158, 1.2482) .. (-0.0752, 1.2181) -- cycle;
+  \fill[\mouse at contour] (0.0671, 1.2343) .. controls (0.1414, 1.2825) and (0.2182, 1.3064) .. (0.2925, 1.2582) -- (0.2925, 1.2682) .. controls (0.2179, 1.3166) and (0.1417, 1.2827) .. (0.0671, 1.2343) -- cycle;
+  \fill[\mouse at contour] (-0.0671, 1.2343) .. controls (-0.1414, 1.2825) and (-0.2182, 1.3064) .. (-0.2925, 1.2582) -- (-0.2925, 1.2682) .. controls (-0.2179, 1.3166) and (-0.1417, 1.2827) .. (-0.0671, 1.2343) -- cycle;
+\else
+  \fill[\mouse at body!50!black] (0.0788, 1.2046) .. controls (0.1658, 1.2199) and (0.2086, 1.1539) .. (0.2956, 1.1386) -- (0.2956, 1.1486) .. controls (0.2097, 1.1637) and (0.1648, 1.2197) .. (0.0788, 1.2046) -- cycle;
+  \fill[\mouse at body!50!black] (-0.0788, 1.2046) .. controls (-0.1658, 1.2199) and (-0.2087, 1.1539) .. (-0.2956, 1.1386) -- (-0.2956, 1.1486) .. controls (-0.2097, 1.1637) and (-0.1648, 1.2197) .. (-0.0788, 1.2046) -- cycle;
+  \fill[\mouse at body!50!black] (0.0752, 1.2181) .. controls (0.1583, 1.2483) and (0.2171, 1.2209) .. (0.3002, 1.1907) -- (0.3002, 1.2007) .. controls (0.2174, 1.2308) and (0.158, 1.2482) .. (0.0752, 1.2181) -- cycle;
+  \fill[\mouse at body!50!black] (-0.0752, 1.2181) .. controls (-0.1583, 1.2483) and (-0.2171, 1.2209) .. (-0.3002, 1.1907) -- (-0.3002, 1.2007) .. controls (-0.2174, 1.2308) and (-0.158, 1.2482) .. (-0.0752, 1.2181) -- cycle;
+  \fill[\mouse at body!50!black] (0.0671, 1.2343) .. controls (0.1414, 1.2825) and (0.2182, 1.3064) .. (0.2925, 1.2582) -- (0.2925, 1.2682) .. controls (0.2179, 1.3166) and (0.1417, 1.2827) .. (0.0671, 1.2343) -- cycle;
+  \fill[\mouse at body!50!black] (-0.0671, 1.2343) .. controls (-0.1414, 1.2825) and (-0.2182, 1.3064) .. (-0.2925, 1.2582) -- (-0.2925, 1.2682) .. controls (-0.2179, 1.3166) and (-0.1417, 1.2827) .. (-0.0671, 1.2343) -- cycle;
+\fi
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \mouse at part@draw[\mouse at body!50!black] (0, 1.248) circle[radius=0.09];
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mouse at part@draw[\mouse at body!50!black] (0.23, 1.68) circle[radius=0.05];
-\mouse at part@draw[\mouse at body!50!black] (-0.23, 1.68) circle[radius=0.05];
+\mouse at part@draw[\mouse at eye] (0.23, 1.68) circle[radius=0.05];
+\mouse at part@draw[\mouse at eye] (-0.23, 1.68) circle[radius=0.05];
 %
 \fi
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-moles.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-moles}[2020/12/04 version v0.4 Drawing moles in TikZ]
+\ProvidesPackage{tikzlings-moles}[2021/03/17 version v0.5 Drawing moles in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -19,8 +19,8 @@
 
 \newcommand*{\moles}[1][]{%
   \begin{scope}%
-    \tikzset{/mole/.cd,#1}%
-    \mole at draw%
+    \tikzset{/moles/.cd,#1}%
+    \moles at draw%
   \end{scope}%
   \thing[#1]%
   % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29,8 +29,9 @@
   %   
 }
 
-\newif\ifmole at threeD
-\newif\ifmole at back
+\newif\ifmoles at threeD
+\newif\ifmoles at back
+\newif\ifmoles at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38,20 +39,22 @@
   % Pass unknown keys on to tikz
   %
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  /mole/.search also={/tikz,/pgf,/thing},
-  /mole/.cd,
+  /moles/.search also={/tikz,/pgf,/thing},
+  /moles/.cd,
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % body
   %
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  body/.code         = \def\mole at body{#1},
+  body/.code         = \def\moles at body{#1},
   body               = gray,
-  feet/.code         = \def\mole at feet{#1},
+  eye/.code          = \def\moles at eye{#1},
+  eye                = \moles at body!60!black,   
+  feet/.code         = \def\moles at feet{#1},
   feet               = red!20!white!50!brown,
-  hands/.code        = \def\mole at hands{#1},
+  hands/.code        = \def\moles at hands{#1},
   hands              = red!20!white!50!brown,  
-  muzzle/.code       = \def\mole at muzzle{#1},
+  muzzle/.code       = \def\moles at muzzle{#1},
   muzzle             = red!20!white!50!brown, 
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
@@ -58,11 +61,16 @@
   % options
   %
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  3D/.code           = \mole at threeDtrue,  
-  back/.code         = \mole at backtrue,       
+  3D/.code           = \moles at threeDtrue,  
+  back/.code         = \moles at backtrue,  
+  contour/.code      = \moles at contourtrue
+                       \def\moles at contour{#1}
+                       \def\moles at eye{#1},
+  contour/.default   = black,  
+  outline/.forward to = /moles/contour,        
 }
 
-\def\mole at draw{%
+\def\moles at draw{%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % minimal bounding box size 
@@ -83,14 +91,18 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmole at threeD
-  \def\mole at part@draw[##1]{\shade[ball color=##1]}
+\ifmoles at threeD
+  \def\moles at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\mole at part@draw[##1]{\fill[##1]}
+  \ifmoles at contour
+    \def\moles at part@draw[##1]{\draw[##1,\moles at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\moles at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -104,28 +116,28 @@
 \csname tikzlinghookbackground\endcsname
 %
 % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mole at part@draw[\mole at feet] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];  
-\mole at part@draw[\mole at feet] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09]; 
+\moles at part@draw[\moles at feet] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09];  
+\moles at part@draw[\moles at feet] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09]; 
 %
 % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmole at back\else
-  \mole at part@draw[\mole at body] (0.8856, 0.6504) .. controls (0.8656, 0.3803) and (0.0267, 0.2202) .. (0.0167, 0.4203) .. controls (-0.0033, 0.5404) and (0.1104, 0.4397) .. (0.3951, 0.4803) .. controls (0.6557, 0.5175) and (0.8856, 0.7005) .. (0.8856, 0.6504);
+\ifmoles at back\else
+  \moles at part@draw[\moles at body] (0.8856, 0.6504) .. controls (0.8656, 0.3803) and (0.0267, 0.2202) .. (0.0167, 0.4203) .. controls (-0.0033, 0.5404) and (0.1104, 0.4397) .. (0.3951, 0.4803) .. controls (0.6557, 0.5175) and (0.8856, 0.7005) .. (0.8856, 0.6504);
 \fi
 %
 % Hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mole at part@draw[\mole at body] (-0.09, 2.06) .. controls (-0.09, 2.06) and (-0.13, 2.25) .. (-0.07, 2.27) .. controls (-0.09, 2.13) and (0.04, 2.08) .. (0.04, 2.08) .. controls (0.04, 2.08) and (0.02, 2.20) .. (0.06, 2.21) .. controls (0.06, 2.11) and (0.13, 2.08) .. (0.13, 2.08) -- cycle;
+\moles at part@draw[\moles at body] (-0.09, 2.06) .. controls (-0.09, 2.06) and (-0.13, 2.25) .. (-0.07, 2.27) .. controls (-0.09, 2.13) and (0.04, 2.08) .. (0.04, 2.08) .. controls (0.04, 2.08) and (0.02, 2.20) .. (0.06, 2.21) .. controls (0.06, 2.11) and (0.13, 2.08) .. (0.13, 2.08) -- cycle;
 %
 % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mole at part@draw[\mole at body] (0.595, 0.92) .. controls (0.595, 0.26) and (0.355, 0.18) .. (0, 0.18) .. controls (-0.355, 0.18) and (-0.595, 0.26) .. (-0.595, 0.92) .. controls (-0.605, 1.58) and (-0.335, 2.11) .. (0, 2.11) .. controls (0.335, 2.11) and (0.605, 1.58) .. (0.595, 0.92) -- cycle;
+\moles at part@draw[\moles at body] (0.595, 0.92) .. controls (0.595, 0.26) and (0.355, 0.18) .. (0, 0.18) .. controls (-0.355, 0.18) and (-0.595, 0.26) .. (-0.595, 0.92) .. controls (-0.605, 1.58) and (-0.335, 2.11) .. (0, 2.11) .. controls (0.335, 2.11) and (0.605, 1.58) .. (0.595, 0.92) -- cycle;
 %
 % Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmole at back
-  \mole at part@draw[\mole at body] (0.8856, 0.6504) .. controls (0.8656, 0.3803) and (0.0267, 0.2202) .. (0.0167, 0.4203) .. controls (-0.0033, 0.5404) and (0.1104, 0.4397) .. (0.3951, 0.4803) .. controls (0.6557, 0.5175) and (0.8856, 0.7005) .. (0.8856, 0.6504) -- cycle;
+\ifmoles at back
+  \moles at part@draw[\moles at body] (0.8856, 0.6504) .. controls (0.8656, 0.3803) and (0.0267, 0.2202) .. (0.0167, 0.4203) .. controls (-0.0033, 0.5404) and (0.1104, 0.4397) .. (0.3951, 0.4803) .. controls (0.6557, 0.5175) and (0.8856, 0.7005) .. (0.8856, 0.6504) -- cycle;
 \fi
 %
 % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmole at back\else
-  \mole at part@draw[\mole at body!50!white] (0.425, 0.71) .. controls (0.425, 0.41) and (0.245, 0.37) .. (0, 0.37) .. controls (-0.245, 0.37) and (-0.425, 0.41) .. (-0.425, 0.71) .. controls (-0.425, 1.01) and (-0.225, 1.26) .. (0, 1.26) .. controls (0.225, 1.26) and (0.425, 1.01) .. (0.425, 0.71) -- cycle;
+\ifmoles at back\else
+  \moles at part@draw[\moles at body!50!white] (0.425, 0.71) .. controls (0.425, 0.41) and (0.245, 0.37) .. (0, 0.37) .. controls (-0.245, 0.37) and (-0.425, 0.41) .. (-0.425, 0.71) .. controls (-0.425, 1.01) and (-0.225, 1.26) .. (0, 1.26) .. controls (0.225, 1.26) and (0.425, 1.01) .. (0.425, 0.71) -- cycle;
 \fi
 %
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -133,35 +145,44 @@
 \csname tikzlinghookbelly\endcsname
 %
 % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmole at back\else
+\ifmoles at back\else
 %
 % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mole at part@draw[\mole at body] (0.37,0.86) ellipse[x radius=0.27, y radius=0.13, rotate=70];
-\mole at part@draw[\mole at body] (-0.37,0.86) ellipse[x radius=0.27, y radius=0.13, rotate=-70];
+\moles at part@draw[\moles at body] (0.37,0.86) ellipse[x radius=0.27, y radius=0.13, rotate=70];
+\moles at part@draw[\moles at body] (-0.37,0.86) ellipse[x radius=0.27, y radius=0.13, rotate=-70];
 %
 % Hands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[white] (-0.37,0.6) -- (-0.32,0.53) -- (-0.3,0.6) -- (-0.23,0.55) -- (-0.23,0.64) -- (-0.16,0.59) -- (-0.18,0.67) -- cycle;
-\fill[white] (0.37,0.6) -- (0.32,0.53) -- (0.3,0.6) -- (0.23,0.55) -- (0.23,0.64) -- (0.16,0.59) -- (0.18,0.67) -- cycle;
-\mole at part@draw[\mole at hands] (0.285,0.65) ellipse[x radius=0.08, y radius=0.13, rotate=70];
-\mole at part@draw[\mole at hands] (-0.285,0.65) ellipse[x radius=0.08, y radius=0.13, rotate=-70];
+\ifmoles at contour
+  \moles at part@draw[] (-0.37,0.6) -- (-0.32,0.53) -- (-0.3,0.6) -- (-0.23,0.55) -- (-0.23,0.64) -- (-0.16,0.59) -- (-0.18,0.67) -- cycle;
+  \moles at part@draw[] (0.37,0.6) -- (0.32,0.53) -- (0.3,0.6) -- (0.23,0.55) -- (0.23,0.64) -- (0.16,0.59) -- (0.18,0.67) -- cycle;
+\else
+  \fill[white] (-0.37,0.6) -- (-0.32,0.53) -- (-0.3,0.6) -- (-0.23,0.55) -- (-0.23,0.64) -- (-0.16,0.59) -- (-0.18,0.67) -- cycle;
+  \fill[white] (0.37,0.6) -- (0.32,0.53) -- (0.3,0.6) -- (0.23,0.55) -- (0.23,0.64) -- (0.16,0.59) -- (0.18,0.67) -- cycle;
+\fi
+\moles at part@draw[\moles at hands] (0.285,0.65) ellipse[x radius=0.08, y radius=0.13, rotate=70];
+\moles at part@draw[\moles at hands] (-0.285,0.65) ellipse[x radius=0.08, y radius=0.13, rotate=-70];
 %
 % Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mole at part@draw[\mole at muzzle] ( 0.22, 1.46) .. controls ( 0.22, 1.50) and ( 0.22, 1.53) .. ( 0.17, 1.56) .. controls ( 0.11, 1.58) and ( 0.05, 1.66) .. ( 0.00, 1.66) .. controls (-0.05, 1.66) and (-0.11, 1.58) .. (-0.17, 1.56) .. controls (-0.22, 1.53) and (-0.22, 1.50) .. (-0.22, 1.46) .. controls (-0.22, 1.39) and (-0.14, 1.33) .. ( 0.00, 1.33) .. controls ( 0.14, 1.33) and ( 0.22, 1.39) .. ( 0.22, 1.46) -- cycle;
+\moles at part@draw[\moles at muzzle] ( 0.22, 1.46) .. controls ( 0.22, 1.50) and ( 0.22, 1.53) .. ( 0.17, 1.56) .. controls ( 0.11, 1.58) and ( 0.05, 1.66) .. ( 0.00, 1.66) .. controls (-0.05, 1.66) and (-0.11, 1.58) .. (-0.17, 1.56) .. controls (-0.22, 1.53) and (-0.22, 1.50) .. (-0.22, 1.46) .. controls (-0.22, 1.39) and (-0.14, 1.33) .. ( 0.00, 1.33) .. controls ( 0.14, 1.33) and ( 0.22, 1.39) .. ( 0.22, 1.46) -- cycle;
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\mole at part@draw[\mole at body!60!black] (0,1.67) circle[radius=0.055];
+\moles at part@draw[\moles at body!60!black] (0,1.67) circle[radius=0.055];
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmole at threeD
-  \fill[\mole at body!60!black] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15]; 
-  \fill[\mole at body!30!black] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15]; 
+\ifmoles at threeD
+  \fill[\moles at eye] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15]; 
+  \fill[\moles at eye!50!black] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15]; 
 \else   
-  \fill[\mole at body!60!black] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15]; 
-  \fill[\mole at body!60!black] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15]; 
+  \fill[\moles at eye] (-0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=-15]; 
+  \fill[\moles at eye] (0.165,1.79) ellipse[x radius=0.055, y radius=0.015, rotate=15]; 
 \fi
 %
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\draw[\mole at body!60!black, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] ;
+\ifmoles at contour
+  \draw[\moles at contour, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] ;
+\else
+  \draw[\moles at body!60!black, line width=\scalingfactor*0.4pt] (0.145,1.51) arc [start angle=-20, end angle=-160, radius=0.16] ;
+\fi
 %
 \fi
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-owls.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-owls}[2020/12/04 version v0.4 Draw owls in TikZ]
+\ProvidesPackage{tikzlings-owls}[2021/03/17 version v0.5 Draw owls in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
 
 \newif\ifowl at threeD
 \newif\ifowl at back
+\newif\ifowl at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -62,6 +63,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \owl at threeDtrue,
   back/.code         = \owl at backtrue,  
+  contour/.code      = \owl at contourtrue
+                       \def\owl at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /owl/contour,   
 }
 
 \def\owl at draw{%
@@ -85,7 +90,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -92,7 +97,11 @@
 \ifowl at threeD
   \def\owl at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\owl at part@draw[##1]{\fill[##1]}
+  \ifowl at contour
+    \def\owl at part@draw[##1]{\draw[##1,\owl at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\owl at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -139,9 +148,14 @@
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifowl at back\else
-  \fill[\owl at eye] (-0.28, 1.6) circle[radius=0.22];
+  \ifowl at contour
+    \owl at part@draw[\owl at eye] (-0.28, 1.6) circle[radius=0.22];
+    \owl at part@draw[\owl at eye] (0.28, 1.6) circle[radius=0.22];
+  \else
+    \fill[\owl at eye] (-0.28, 1.6) circle[radius=0.22];
+    \fill[\owl at eye] (0.28, 1.6) circle[radius=0.22];
+  \fi
   \owl at part@draw[\owl at pupil]   (-0.28, 1.6) circle[radius=0.15];
-  \fill[\owl at eye] (0.28, 1.6) circle[radius=0.22];
   \owl at part@draw[\owl at pupil]   (0.28, 1.6) circle[radius=0.15];
   \owl at part@draw[white] (0.25, 1.64) circle[radius=0.03];
   \owl at part@draw[white] (-0.31, 1.64) circle[radius=0.03];

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pandas.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-pandas}[2020/12/04 version v0.4 Drawing pandas in TikZ]
+\ProvidesPackage{tikzlings-pandas}[2021/03/17 version v0.5 Drawing pandas in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
 
 \newif\ifpanda at threeD
 \newif\ifpanda at back
+\newif\ifpanda at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -47,6 +48,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\panda at body{#1},
   body               = white!90!black,
+  eye/.code          = \def\panda at eye{#1},
+  eye                = white, 
+  pupil/.code        = \def\panda at pupil{#1},
+  pupil              = black,    
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -54,6 +59,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \panda at threeDtrue, 
   back/.code         = \panda at backtrue,  
+  contour/.code      = \panda at contourtrue
+                       \def\panda at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /panda/contour,   
 }
 
 \def\panda at draw{%
@@ -77,7 +86,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -84,7 +93,11 @@
 \ifpanda at threeD
   \def\panda at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\panda at part@draw[##1]{\fill[##1]}
+  \ifpanda at contour
+    \def\panda at part@draw[##1]{\draw[##1,\panda at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\panda at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -137,13 +150,17 @@
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \panda at part@draw[black] (0.3732, 1.6905) .. controls (0.3498, 1.767) and (0.2032, 1.8059) .. (0.0944, 1.7715) .. controls (-0.0145, 1.7371) and (0.173, 1.5479) .. (0.2508, 1.5443) .. controls (0.3286, 1.5407) and (0.3965, 1.614) .. (0.3732, 1.6905) -- cycle;
 \panda at part@draw[black] (-0.3732, 1.6905) .. controls (-0.3498, 1.767) and (-0.2032, 1.8059) .. (-0.0944, 1.7715) .. controls (0.0145, 1.7371) and (-0.173, 1.5479) .. (-0.2508, 1.5443) .. controls (-0.3286, 1.5407) and (-0.3965, 1.614) .. (-0.3732, 1.6905) -- cycle;
-\panda at part@draw[white] (-0.18, 1.7) circle[radius=0.05];
-\panda at part@draw[white] (0.18, 1.7) circle[radius=0.05];
-\panda at part@draw[black] (0.17, 1.695) circle[radius=0.02];
-\panda at part@draw[black] (-0.17, 1.695) circle[radius=0.02];
+\panda at part@draw[\panda at eye] (-0.18, 1.7) circle[radius=0.05];
+\panda at part@draw[\panda at eye] (0.18, 1.7) circle[radius=0.05];
+\panda at part@draw[\panda at pupil] (0.17, 1.695) circle[radius=0.02];
+\panda at part@draw[\panda at pupil] (-0.17, 1.695) circle[radius=0.02];
 %
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\draw[black,line width=\scalingfactor*0.2pt] (-0.16, 1.477) .. controls (-0.16, 1.477) and (-0.062, 1.37) .. (0, 1.506)  .. controls (0.062, 1.37) and (0.16, 1.477) .. (0.16, 1.477);
+\ifpanda at contour
+  \draw[\panda at contour,line width=\scalingfactor*0.2pt] (-0.16, 1.477) .. controls (-0.16, 1.477) and (-0.062, 1.37) .. (0, 1.506)  .. controls (0.062, 1.37) and (0.16, 1.477) .. (0.16, 1.477);
+\else
+  \draw[black,line width=\scalingfactor*0.2pt] (-0.16, 1.477) .. controls (-0.16, 1.477) and (-0.062, 1.37) .. (0, 1.506)  .. controls (0.062, 1.37) and (0.16, 1.477) .. (0.16, 1.477);
+\fi
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \panda at part@draw[black] (0,1.55) ellipse[x radius=0.07, y radius=0.04];

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-penguins.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-penguins}[2020/12/04 version v0.4 Draw penguins in TikZ]
+\ProvidesPackage{tikzlings-penguins}[2021/03/17 version v0.5 Draw penguins in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
 
 \newif\ifpenguin at threeD
 \newif\ifpenguin at back
+\newif\ifpenguin at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -63,7 +64,11 @@
   %
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \penguin at threeDtrue, 
-  back/.code         = \penguin at backtrue,  
+  back/.code         = \penguin at backtrue, 
+  contour/.code      = \penguin at contourtrue
+                       \def\penguin at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /penguin/contour,    
 }
 
 \def\penguin at draw{%
@@ -87,7 +92,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -94,7 +99,11 @@
 \ifpenguin at threeD
   \def\penguin at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\penguin at part@draw[##1]{\fill[##1]}
+  \ifpenguin at contour
+    \def\penguin at part@draw[##1]{\draw[##1,\penguin at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\penguin at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -141,10 +150,17 @@
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifpenguin at back\else
-  \fill[\penguin at eye] (-0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=-10];
-  \fill[\penguin at pupil] (-0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=-3];
-  \fill[\penguin at eye] (0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=10];
-  \fill[\penguin at pupil] (0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=3];
+  \ifpenguin at contour
+    \penguin at part@draw[\penguin at eye] (-0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=-10];
+    \penguin at part@draw[\penguin at pupil] (-0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=-3];
+    \penguin at part@draw[\penguin at eye] (0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=10];
+    \penguin at part@draw[\penguin at pupil] (0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=3];
+  \else
+    \fill[\penguin at eye] (-0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=-10];
+    \fill[\penguin at pupil] (-0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=-3];
+    \fill[\penguin at eye] (0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=10];
+    \fill[\penguin at pupil] (0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=3];
+  \fi
 \fi
 %
 % Bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-pigs.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-pigs}[2020/12/04 version v0.4 Drawing pigs in TikZ]
+\ProvidesPackage{tikzlings-pigs}[2021/03/17 version v0.5 Drawing pigs in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -32,6 +32,7 @@
 
 \newif\ifpig at threeD
 \newif\ifpig at back
+\newif\ifpig at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -48,6 +49,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\pig at body{#1},
   body               = pigdark,
+  eye/.code          = \def\pig at eye{#1},
+  eye                = gray,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -55,6 +58,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \pig at threeDtrue, 
   back/.code         = \pig at backtrue,  
+  contour/.code      = \pig at contourtrue
+                       \def\pig at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /pig/contour,   
 }
 
 \def\pig at draw{%
@@ -78,7 +85,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -85,7 +92,11 @@
 \ifpig at threeD
   \def\pig at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\pig at part@draw[##1]{\fill[##1]}
+  \ifpig at contour
+    \def\pig at part@draw[##1]{\draw[##1,\pig at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\pig at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -100,7 +111,11 @@
 %
 % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifpig at back\else
-  \draw[\pig at body,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);
+  \ifpig at contour
+    \draw[\pig at contour,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);  
+  \else
+    \draw[\pig at body,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);
+  \fi
 \fi
 %
 % Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,8 +143,8 @@
 \ifpig at back\else
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pig at part@draw[gray] (-0.09, 1.82) circle[radius=0.02];
-\pig at part@draw[gray] ( 0.09, 1.82) circle[radius=0.02];
+\pig at part@draw[\pig at eye] (-0.09, 1.82) circle[radius=0.02];
+\pig at part@draw[\pig at eye] ( 0.09, 1.82) circle[radius=0.02];
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \pig at part@draw[\pig at body]  (0, 1.62) ellipse[x radius=0.18, y radius=0.14];
@@ -140,7 +155,11 @@
 \ifpig at threeD
   \draw[gray!70!black,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16] ;
 \else
-  \draw[gray,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16] ;
+  \ifpig at contour
+    \draw[\pig at contour,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16] ;
+  \else
+    \draw[gray,line width=\scalingfactor*0.4pt] (0.105, 1.46) arc [start angle=-50, end angle=-130, radius=0.16] ;
+  \fi
 \fi
 %
 % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -157,7 +176,11 @@
 %  
 % Tail  if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifpig at back
-  \draw[\pig at body,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);
+  \ifpig at contour
+    \draw[\pig at contour,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);  
+  \else
+    \draw[\pig at body,line width=\scalingfactor*0.8pt] (0.8431, 0.583) .. controls (0.8609, 0.4063) and (0.7006, 0.361) .. (0.6384, 0.4293) .. controls (0.5762, 0.4976) and (0.5613, 0.6052) .. (0.6551, 0.629) .. controls (0.7537, 0.6541) and (0.7759, 0.5628) .. (0.7455, 0.4948) .. controls (0.6412, 0.2697) and (0.3543, 0.356) .. (0.2638, 0.4238) .. controls (0.1967, 0.4779) and (0.1788, 0.6076) .. (0.3192, 0.633) .. controls (0.6000, 0.6836) and (0.5130, 0.3048) .. (0.2098, 0.3322) .. controls (0.0809, 0.3438) and (0.0809, 0.5236) .. (0.0809, 0.5236);
+  \fi
 \fi
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \csname pighookbody\endcsname

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-rhinos.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-rhinos}[2020/12/04 version v0.4 Drawing rhinos in TikZ]
+\ProvidesPackage{tikzlings-rhinos}[2021/03/17 version v0.5 Drawing rhinos in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -31,6 +31,7 @@
 
 \newif\ifrhino at threeD
 \newif\ifrhino at back
+\newif\ifrhino at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -49,6 +50,10 @@
   body               = gray,
   toes/.code         = \def\rhino at toes{#1},
   toes               = \rhino at body!55!white,
+  eye/.code          = \def\rhino at eye{#1},
+  eye                = white,  
+  pupil/.code        = \def\rhino at pupil{#1},
+  pupil              = black,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -55,7 +60,11 @@
   %
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \rhino at threeDtrue, 
-  back/.code         = \rhino at backtrue,  
+  back/.code         = \rhino at backtrue, 
+  contour/.code      = \rhino at contourtrue
+                       \def\rhino at contour{#1},
+  contour/.default   = black,   
+  outline/.forward to = /rhino/contour,   
 }
 
 \def\rhino at draw{%
@@ -79,7 +88,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -86,7 +95,11 @@
 \ifrhino at threeD
   \def\rhino at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\rhino at part@draw[##1]{\fill[##1]}
+  \ifrhino at contour
+    \def\rhino at part@draw[##1]{\draw[##1,\rhino at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\rhino at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -137,10 +150,17 @@
 \ifrhino at back\else
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[white] (-0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
-\fill[white] (0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
-\fill[black] (-0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
-\fill[black] (0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+\ifrhino at contour
+  \rhino at part@draw[\rhino at eye] (-0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \rhino at part@draw[\rhino at eye] (0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \rhino at part@draw[\rhino at pupil] (-0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+  \rhino at part@draw[\rhino at pupil] (0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+\else
+  \fill[\rhino at eye] (-0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \fill[\rhino at eye] (0.11, 1.83) ellipse[x radius=0.08, y radius=0.12];
+  \fill[\rhino at pupil] (-0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+  \fill[\rhino at pupil] (0.105, 1.78) ellipse[x radius=0.04, y radius=0.07];
+\fi
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \rhino at part@draw[\rhino at body!80!white] (0, 1.55) ellipse[x radius=0.36, y radius=0.2];
@@ -152,7 +172,11 @@
 \ifrhino at threeD
   \draw[black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
 \else
-  \draw[\rhino at body!70!black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
+  \ifrhino at contour
+    \draw[\rhino at contour,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
+  \else
+    \draw[\rhino at body!70!black,line width=\scalingfactor*0.4pt] (0.125, 1.5) arc [start angle=-50, end angle=-130, radius=0.2] ;
+  \fi
 \fi
 %
 % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sheep.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-sheep}[2020/12/04 version v0.4 Drawing sheep in TikZ]
+\ProvidesPackage{tikzlings-sheep}[2021/03/17 version v0.5 Drawing sheep in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -36,6 +36,7 @@
 \newif\ifsheep at monocle
 \newif\ifsheep at blush
 \newif\ifsheep at back
+\newif\ifsheep at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -52,6 +53,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\sheep at body{#1},
   body               = brown!50!darkgray!97!yellow,
+  eye/.code          = \def\sheep at eye{#1},
+  eye                = \sheep at body!50!black, 
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -61,6 +64,10 @@
   monocle/.code      = \sheep at monocletrue,
   3D/.code           = \sheep at threeDtrue, 
   back/.code         = \sheep at backtrue,  
+  contour/.code      = \sheep at contourtrue
+                       \def\sheep at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /sheep/contour,  
 }
 
 \def\sheep at draw{%
@@ -84,7 +91,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -91,7 +98,11 @@
 \ifsheep at threeD
   \def\sheep at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\sheep at part@draw[##1]{\fill[##1]}
+  \ifsheep at contour
+    \def\sheep at part@draw[##1]{\draw[##1,\sheep at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\sheep at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -131,11 +142,11 @@
 \fi
 %
 % Hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\sheep at part@draw[\sheep at body!50!darkgray,decorate,decoration={bumps}] (-0.275,1.98) -- (-0.2,2.2)  -- (-0.008,2.2) -- (0.2,2.2) -- (0.275,1.98) -- cycle;
+\sheep at part@draw[\sheep at body!50!darkgray,decorate,decoration={bumps,amplitude=\scalingfactor*2.5pt,segment length=\scalingfactor*10pt}] (-0.275,1.98) -- (-0.2,2.2)  -- (-0.008,2.2) -- (0.2,2.2) -- (0.275,1.98) -- cycle;
 %
 % Tail  if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifsheep at back
-  \filldraw[\sheep at body!45!white!95!orange,rounded corners=0.1pt] (0,0.7) -- (0.08, 0.3236) arc (0:-180:2pt) -- cycle;
+  \sheep at part@draw[\sheep at body!45!white!95!orange,rounded corners=0.1pt] (0,0.7) -- (0.08, 0.3236) arc (0:-180:2pt) -- cycle;
 \fi
 %
 % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -156,12 +167,16 @@
 % 
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifsheep at back\else
-  \sheep at part@draw[\sheep at body!50!black] (0.2, 1.66) circle[radius=0.06];
-  \sheep at part@draw[\sheep at body!50!black] (-0.2, 1.66) circle[radius=0.06];
+  \sheep at part@draw[\sheep at eye] (0.2, 1.66) circle[radius=0.06];
+  \sheep at part@draw[\sheep at eye] (-0.2, 1.66) circle[radius=0.06];
 \fi
 %
 % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\draw[\sheep at body!50!black,line width=\scalingfactor*0.8pt,line cap=round] (0.16,1.43) arc [start angle=-30, end angle=-90, radius=0.16] -- (0,1.164) -- (0,1.3485) arc [start angle=-90, end angle=-150, radius=0.16]; 
+\ifsheep at contour
+  \draw[\sheep at contour,line width=\scalingfactor*0.8pt,line cap=round]  (0.16,1.43) arc [start angle=-30, end angle=-150, radius=0.185] (0.0,1.335) -- (0,1.175);
+\else
+  \draw[\sheep at body!50!black,line width=\scalingfactor*0.8pt,line cap=round]  (0.16,1.43) arc [start angle=-30, end angle=-150, radius=0.185] (0.0,1.335) -- (0,1.175);
+\fi 
 %
 % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \sheep at part@draw[\sheep at body!45!white!95!orange] (0.3216,0.13) arc (-15:195:0.10) -- (0.16,0.13) to [bend left] (0.25,0.13) -- cycle;
@@ -172,8 +187,13 @@
 %
 % Blush %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifsheep at blush
-  \fill[red,path fading=sheep at blush] (-0.25, 1.5) circle[radius=0.1]; 
-  \fill[red,path fading=sheep at blush] (0.25, 1.5) circle[radius=0.1];
+  \ifsheep at contour
+    \fill[\sheep at contour,path fading=sheep at blush] (-0.25, 1.5) circle[radius=0.1]; 
+    \fill[\sheep at contour,path fading=sheep at blush] (0.25, 1.5) circle[radius=0.1];
+  \else
+    \fill[red,path fading=sheep at blush] (-0.25, 1.5) circle[radius=0.1]; 
+    \fill[red,path fading=sheep at blush] (0.25, 1.5) circle[radius=0.1];
+  \fi
 \fi
 %
 % monocle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-sloths.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-sloths}[2020/12/04 version v0.4 Drawing sloths in TikZ]
+\ProvidesPackage{tikzlings-sloths}[2021/03/17 version v0.5 Drawing sloths in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -34,6 +34,7 @@
 \newif\ifsloth at sleeping
 \newif\ifsloth at threeD
 \newif\ifsloth at back
+\newif\ifsloth at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -50,6 +51,8 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\sloth at body{#1},
   body               = slothcol,
+  eye/.code          = \def\sloth at eye{#1},
+  eye                = black,   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -58,6 +61,10 @@
   sleeping/.code     = \sloth at sleepingtrue, 
   3D/.code           = \sloth at threeDtrue,       
   back/.code         = \sloth at backtrue,  
+  contour/.code      = \sloth at contourtrue
+                       \def\sloth at contour{#1},
+  contour/.default   = black,  
+  outline/.forward to = /sloth/contour,  
 }
 
 \def\sloth at draw{%
@@ -81,7 +88,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -88,7 +95,11 @@
 \ifsloth at threeD
   \def\sloth at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\sloth at part@draw[##1]{\fill[##1]}
+  \ifsloth at contour
+    \def\sloth at part@draw[##1]{\draw[##1,\sloth at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\sloth at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -148,28 +159,50 @@
 \sloth at part@draw[\sloth at body!50!white] ( 0.40,1.67) .. controls ( 0.40,1.90) and ( 0.12,2.09) .. ( 0.00,1.93) .. controls (-0.12,2.09) and (-0.40,1.90) .. (-0.40,1.67) .. controls (-0.40,1.45) and (-0.25,1.38) .. ( 0.00,1.38) .. controls ( 0.25,1.38) and ( 0.40,1.45) .. ( 0.40,1.67) -- cycle;
 %
 % behind the eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[\sloth at body!60!black] (0.3785,1.5336) .. controls (0.3012,1.5864) and (0.1829,1.6693) .. (0.1377,1.7234) .. controls (0.1184,1.7464) and (0.1624,1.8242) .. (0.1906,1.8137) .. controls (0.2673,1.7851) and (0.3597,1.7125) .. (0.3994,1.6531) .. controls (0.4129,1.6328) and (0.3785,1.5336) .. (0.3785,1.5336) -- cycle;
-\fill[\sloth at body!60!black] (-0.3785,1.5336) .. controls (-0.3012,1.5864) and (-0.1829,1.6693) .. (-0.1377,1.7234) .. controls (-0.1184,1.7464) and (-0.1624,1.8242) .. (-0.1906,1.8137) .. controls (-0.2673,1.7851) and (-0.3597,1.7125) .. (-0.3994,1.6531) .. controls (-0.4129,1.6328) and (-0.3785,1.5336) .. (-0.3785,1.5336) -- cycle;
+\ifsloth at contour
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.3785,1.5336) .. controls (0.3012,1.5864) and (0.1829,1.6693) .. (0.1377,1.7234) .. controls (0.1184,1.7464) and (0.1624,1.8242) .. (0.1906,1.8137) .. controls (0.2673,1.7851) and (0.3597,1.7125) .. (0.3994,1.6531) .. controls (0.4129,1.6328) and (0.3785,1.5336) .. (0.3785,1.5336) -- cycle;
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.3785,1.5336) .. controls (-0.3012,1.5864) and (-0.1829,1.6693) .. (-0.1377,1.7234) .. controls (-0.1184,1.7464) and (-0.1624,1.8242) .. (-0.1906,1.8137) .. controls (-0.2673,1.7851) and (-0.3597,1.7125) .. (-0.3994,1.6531) .. controls (-0.4129,1.6328) and (-0.3785,1.5336) .. (-0.3785,1.5336) -- cycle;
+\else
+  \fill[\sloth at body!60!black] (0.3785,1.5336) .. controls (0.3012,1.5864) and (0.1829,1.6693) .. (0.1377,1.7234) .. controls (0.1184,1.7464) and (0.1624,1.8242) .. (0.1906,1.8137) .. controls (0.2673,1.7851) and (0.3597,1.7125) .. (0.3994,1.6531) .. controls (0.4129,1.6328) and (0.3785,1.5336) .. (0.3785,1.5336) -- cycle;
+  \fill[\sloth at body!60!black] (-0.3785,1.5336) .. controls (-0.3012,1.5864) and (-0.1829,1.6693) .. (-0.1377,1.7234) .. controls (-0.1184,1.7464) and (-0.1624,1.8242) .. (-0.1906,1.8137) .. controls (-0.2673,1.7851) and (-0.3597,1.7125) .. (-0.3994,1.6531) .. controls (-0.4129,1.6328) and (-0.3785,1.5336) .. (-0.3785,1.5336) -- cycle;
+\fi
 %
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \ifsloth at sleeping
-  \fill[\sloth at body!50!white] (0.237, 1.743) .. controls (0.237, 1.712) and (0.157, 1.712) .. (0.157, 1.743) .. controls (0.157, 1.802) and (0.237, 1.802) .. (0.237, 1.743) -- cycle;
-  \fill[\sloth at body!50!white] (-0.237, 1.743) .. controls (-0.237, 1.712) and (-0.157, 1.712) .. (-0.157, 1.743) .. controls (-0.157, 1.802) and (-0.237, 1.802) .. (-0.237, 1.743) -- cycle;
-  %
-  \fill[\sloth at body!50!white] (0.195, 1.705) rectangle ++(0.005, 0.02);  
-  \fill[\sloth at body!50!white,rotate around={22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02); 
-  \fill[\sloth at body!50!white,rotate around={44:(0.195, 1.76)}] (0.195, 1.701) rectangle ++(0.005, 0.02);   
-  \fill[\sloth at body!50!white,rotate around={-22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02); 
-  \fill[\sloth at body!50!white,rotate around={-44:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);     
-  %
-  \fill[\sloth at body!50!white] (-0.195, 1.705) rectangle ++(0.005, 0.02);  
-  \fill[\sloth at body!50!white,rotate around={22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02); 
-  \fill[\sloth at body!50!white,rotate around={44:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);   
-  \fill[\sloth at body!50!white,rotate around={-22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02); 
-  \fill[\sloth at body!50!white,rotate around={-44:(-0.195, 1.76)}] (-0.195, 1.701) rectangle ++(0.005, 0.02);   
+  \ifsloth at contour
+    \fill[\sloth at contour] (0.195, 1.705) rectangle ++(0.005, 0.02);  
+    \fill[\sloth at contour,rotate around={22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at contour,rotate around={44:(0.195, 1.76)}] (0.195, 1.701) rectangle ++(0.005, 0.02);   
+    \fill[\sloth at contour,rotate around={-22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at contour,rotate around={-44:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);     
+    %
+    \fill[\sloth at contour] (-0.195, 1.705) rectangle ++(0.005, 0.02);  
+    \fill[\sloth at contour,rotate around={22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at contour,rotate around={44:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);   
+    \fill[\sloth at contour,rotate around={-22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at contour,rotate around={-44:(-0.195, 1.76)}] (-0.195, 1.701) rectangle ++(0.005, 0.02);  
+    %
+    \draw[\sloth at contour, fill=white,line width=\scalingfactor*0.4pt] (0.237, 1.743) .. controls (0.237, 1.712) and (0.157, 1.712) .. (0.157, 1.743) .. controls (0.157, 1.802) and (0.237, 1.802) .. (0.237, 1.743) -- cycle;
+    \draw[\sloth at contour, fill=white,line width=\scalingfactor*0.4pt] (-0.237, 1.743) .. controls (-0.237, 1.712) and (-0.157, 1.712) .. (-0.157, 1.743) .. controls (-0.157, 1.802) and (-0.237, 1.802) .. (-0.237, 1.743) -- cycle;  
+  \else
+    \fill[\sloth at body!50!white] (0.237, 1.743) .. controls (0.237, 1.712) and (0.157, 1.712) .. (0.157, 1.743) .. controls (0.157, 1.802) and (0.237, 1.802) .. (0.237, 1.743) -- cycle;
+    \fill[\sloth at body!50!white] (-0.237, 1.743) .. controls (-0.237, 1.712) and (-0.157, 1.712) .. (-0.157, 1.743) .. controls (-0.157, 1.802) and (-0.237, 1.802) .. (-0.237, 1.743) -- cycle;
+    %
+    \fill[\sloth at body!50!white] (0.195, 1.705) rectangle ++(0.005, 0.02);  
+    \fill[\sloth at body!50!white,rotate around={22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at body!50!white,rotate around={44:(0.195, 1.76)}] (0.195, 1.701) rectangle ++(0.005, 0.02);   
+    \fill[\sloth at body!50!white,rotate around={-22:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at body!50!white,rotate around={-44:(0.195, 1.76)}] (0.195, 1.705) rectangle ++(0.005, 0.02);     
+    %
+    \fill[\sloth at body!50!white] (-0.195, 1.705) rectangle ++(0.005, 0.02);  
+    \fill[\sloth at body!50!white,rotate around={22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at body!50!white,rotate around={44:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02);   
+    \fill[\sloth at body!50!white,rotate around={-22:(-0.195, 1.76)}] (-0.195, 1.705) rectangle ++(0.005, 0.02); 
+    \fill[\sloth at body!50!white,rotate around={-44:(-0.195, 1.76)}] (-0.195, 1.701) rectangle ++(0.005, 0.02);   
+  \fi
 \else
-  \sloth at part@draw[black] (0.193,1.75) circle[radius=0.04];
-  \sloth at part@draw[black] (-0.193,1.75) circle[radius=0.04];
+  \sloth at part@draw[\sloth at eye] (0.193,1.75) circle[radius=0.04];
+  \sloth at part@draw[\sloth at eye] (-0.193,1.75) circle[radius=0.04];
   \fill[white] (-0.2  ,1.765) circle[radius=0.006];
   \fill[white] ( 0.186,1.765) circle[radius=0.006];
 \fi
@@ -178,31 +211,55 @@
 \sloth at part@draw[\sloth at body!40!black] (0,1.665) ellipse[x radius=0.078, y radius=0.048];
 %
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\draw[\sloth at body!40!black,line width=\scalingfactor*0.4pt]  (0.115, 1.55) arc [start angle=-40, end angle=-140, radius=0.16];
+\ifsloth at contour
+  \draw[\sloth at contour,line width=\scalingfactor*0.4pt]  (0.115, 1.55) arc [start angle=-40, end angle=-140, radius=0.16];
+\else
+  \draw[\sloth at body!40!black,line width=\scalingfactor*0.4pt]  (0.115, 1.55) arc [start angle=-40, end angle=-140, radius=0.16];
+\fi
 %
 % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \sloth at part@draw[\sloth at body] (-0.50, 1.24) .. controls (-0.54, 1.24) and (-0.55, 1.20) .. (-0.56, 1.17) .. controls (-0.61, 1.06) and (-0.63, 0.95) .. (-0.64, 0.83) .. controls (-0.64, 0.80) and (-0.64, 0.77) .. (-0.63, 0.74) .. controls (-0.57, 0.66) and (-0.47, 0.60) .. (-0.38, 0.56) .. controls (-0.31, 0.54) and (-0.23, 0.52) .. (-0.16, 0.54) .. controls (-0.12, 0.54) and (-0.10, 0.59) .. (-0.13, 0.61) .. controls (-0.17, 0.68) and (-0.24, 0.73) .. (-0.30, 0.77) .. controls (-0.34, 0.79) and (-0.38, 0.81) .. (-0.42, 0.83) .. controls (-0.41, 0.92) and (-0.41, 1.01) .. (-0.42, 1.09) .. controls (-0.43, 1.14) and (-0.44, 1.19) .. (-0.48, 1.23) .. controls (-0.48, 1.24) and (-0.49, 1.24) .. (-0.50, 1.24) -- cycle;
 \sloth at part@draw[\sloth at body] (0.50, 1.24) .. controls (0.54, 1.24) and (0.55, 1.20) .. (0.56, 1.17) .. controls (0.61, 1.06) and (0.63, 0.95) .. (0.64, 0.83) .. controls (0.64, 0.80) and (0.64, 0.77) .. (0.63, 0.74) .. controls (0.57, 0.66) and (0.47, 0.60) .. (0.38, 0.56) .. controls (0.31, 0.54) and (0.23, 0.52) .. (0.16, 0.54) .. controls (0.12, 0.54) and (0.10, 0.59) .. (0.13, 0.61) .. controls (0.17, 0.68) and (0.24, 0.73) .. (0.30, 0.77) .. controls (0.34, 0.79) and (0.38, 0.81) .. (0.42, 0.83) .. controls (0.41, 0.92) and (0.41, 1.01) .. (0.42, 1.09) .. controls (0.43, 1.14) and (0.44, 1.19) .. (0.48, 1.23) .. controls (0.48, 1.24) and (0.49, 1.24) .. (0.50, 1.24) -- cycle;
 %
-\fill[\sloth at body!50!black] (0.15, 0.61) ellipse[x radius=0.017, y radius=0.07, rotate=110];
-\fill[\sloth at body!50!black] (0.17, 0.57) ellipse[x radius=0.015, y radius=0.07, rotate=117];
-\fill[\sloth at body!50!black] (0.19, 0.53) ellipse[x radius=0.012, y radius=0.062, rotate=125];
+\ifsloth at contour
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.15, 0.61) ellipse[x radius=0.017, y radius=0.07, rotate=110];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.17, 0.57) ellipse[x radius=0.015, y radius=0.07, rotate=117];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.19, 0.53) ellipse[x radius=0.012, y radius=0.062, rotate=125];
+  %
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.15, 0.61) ellipse[x radius=0.017, y radius=0.07, rotate=-110];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.17, 0.57) ellipse[x radius=0.015, y radius=0.07, rotate=-117];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.19, 0.53) ellipse[x radius=0.012, y radius=0.062, rotate=-125];
+\else
+  \fill[\sloth at body!50!black] (0.15, 0.61) ellipse[x radius=0.017, y radius=0.07, rotate=110];
+  \fill[\sloth at body!50!black] (0.17, 0.57) ellipse[x radius=0.015, y radius=0.07, rotate=117];
+  \fill[\sloth at body!50!black] (0.19, 0.53) ellipse[x radius=0.012, y radius=0.062, rotate=125];
+  %
+  \fill[\sloth at body!50!black] (-0.15, 0.61) ellipse[x radius=0.017, y radius=0.07, rotate=-110];
+  \fill[\sloth at body!50!black] (-0.17, 0.57) ellipse[x radius=0.015, y radius=0.07, rotate=-117];
+  \fill[\sloth at body!50!black] (-0.19, 0.53) ellipse[x radius=0.012, y radius=0.062, rotate=-125];
+\fi
 %
-\fill[\sloth at body!50!black] (-0.15, 0.61) ellipse[x radius=0.017, y radius=0.07, rotate=-110];
-\fill[\sloth at body!50!black] (-0.17, 0.57) ellipse[x radius=0.015, y radius=0.07, rotate=-117];
-\fill[\sloth at body!50!black] (-0.19, 0.53) ellipse[x radius=0.012, y radius=0.062, rotate=-125];
-%
 % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \sloth at part@draw[\sloth at body] (0.33,0.31) ellipse[x radius=0.25, y radius=0.13, rotate=25];
 \sloth at part@draw[\sloth at body] (-0.33,0.31) ellipse[x radius=0.25, y radius=0.13, rotate=-25];
-\fill[\sloth at body!50!black] (-0.125,0.265) ellipse[x radius=0.07, y radius=0.019, rotate=-10];
-\fill[\sloth at body!50!black] (-0.14,0.21) ellipse[x radius=0.07, y radius=0.017, rotate=-16];
-\fill[\sloth at body!50!black] (-0.16,0.165) ellipse[x radius=0.07, y radius=0.015, rotate=-22];
-\fill[\sloth at body!50!black] (0.125,0.265) ellipse[x radius=0.07, y radius=0.019, rotate=10];
-\fill[\sloth at body!50!black] (0.14,0.21) ellipse[x radius=0.07, y radius=0.017, rotate=16];
-\fill[\sloth at body!50!black] (0.16,0.165) ellipse[x radius=0.07, y radius=0.015, rotate=22];
 %
+\ifsloth at contour
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.125,0.265) ellipse[x radius=0.07, y radius=0.019, rotate=-10];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.14,0.21) ellipse[x radius=0.07, y radius=0.017, rotate=-16];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.16,0.165) ellipse[x radius=0.07, y radius=0.015, rotate=-22];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.125,0.265) ellipse[x radius=0.07, y radius=0.019, rotate=10];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.14,0.21) ellipse[x radius=0.07, y radius=0.017, rotate=16];
+  \draw[\sloth at contour,fill=white,line width=\scalingfactor*0.4pt] (0.16,0.165) ellipse[x radius=0.07, y radius=0.015, rotate=22];
+\else
+  \fill[\sloth at body!50!black] (-0.125,0.265) ellipse[x radius=0.07, y radius=0.019, rotate=-10];
+  \fill[\sloth at body!50!black] (-0.14,0.21) ellipse[x radius=0.07, y radius=0.017, rotate=-16];
+  \fill[\sloth at body!50!black] (-0.16,0.165) ellipse[x radius=0.07, y radius=0.015, rotate=-22];
+  \fill[\sloth at body!50!black] (0.125,0.265) ellipse[x radius=0.07, y radius=0.019, rotate=10];
+  \fill[\sloth at body!50!black] (0.14,0.21) ellipse[x radius=0.07, y radius=0.017, rotate=16];
+  \fill[\sloth at body!50!black] (0.16,0.165) ellipse[x radius=0.07, y radius=0.015, rotate=22];
 \fi
+%
+\fi
 % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \csname slothhookbody\endcsname
 \csname tikzlinghookbody\endcsname

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmans.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmans.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-snowmans.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-snowmans}[2020/12/04 version v0.4 Draw snowmans in TikZ]
+\ProvidesPackage{tikzlings-snowmans}[2021/03/17 version v0.5 Draw snowmans in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -32,6 +32,7 @@
 \newif\ifsnowman at threeD
 \newif\ifsnowman at back
 \newif\ifsnowman at globalwarming
+\newif\ifsnowman at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -67,6 +68,11 @@
                        \def\snowman at globalwarming{#1},
   globalwarming/.default = blue!10!white,                       
   global warming/.forward to = /snowman/globalwarming,
+  contour/.code      = \snowman at contourtrue
+                       \def\snowman at contour{#1}
+                       \def\snowman at mouth{#1},
+  contour/.default   = black,  
+  outline/.forward to = /snowman/contour,  
 }
 
 \def\snowman at draw{%
@@ -90,7 +96,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -97,7 +103,11 @@
 \ifsnowman at threeD
   \def\snowman at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\snowman at part@draw[##1]{\fill[##1]}
+  \ifsnowman at contour
+    \def\snowman at part@draw[##1]{\draw[##1,\snowman at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\snowman at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -114,7 +124,11 @@
 \ifsnowman at globalwarming
   %
   % Puddle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  \fill[\snowman at globalwarming] (0,1.15) ellipse[x radius=1.6,y radius=1.15];
+  \ifsnowman at contour
+    \draw[\snowman at contour,fill=white,line width=\scalingfactor*0.4pt] (0,1.15) ellipse[x radius=1.6,y radius=1.15];
+  \else
+    \fill[\snowman at globalwarming] (0,1.15) ellipse[x radius=1.6,y radius=1.15];
+  \fi
   %
   % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \csname snowmanhookbelly\endcsname
@@ -134,8 +148,7 @@
   \snowman at part@draw[\snowman at eye] (-0.1,1.55) circle[radius=0.06]; 
   %
   % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  \snowman at part@draw[\snowman at nose] (-0.6,1.54) -- (-0.6,1.4) -- (-0.8,1.42) -- cycle;
-  \snowman at part@draw[\snowman at nose] (-0.6,1.47) circle[radius=0.07];
+  \snowman at part@draw[\snowman at nose] (-0.6,1.4) -- (-0.8,1.42) -- (-0.6,1.54) (-0.6,1.4) arc[radius=0.07, start angle=-90, end angle=90];  
   %
   % Buttons %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \snowman at part@draw[\snowman at buttons] (0.1,0.8) circle[radius=0.06];
@@ -175,7 +188,7 @@
   \snowman at part@draw[\snowman at eye] (0.155,1.8) circle[radius=0.04]; 
   %
   % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  \snowman at part@draw[\snowman at nose] (0,1.67) circle[radius=0.05] (0,1.72) -- (0,1.62) -- (0.15,1.64) -- cycle;
+  \snowman at part@draw[\snowman at nose] (0,1.72) arc [radius=0.05, start angle=90, end angle=270] (0,1.62) -- (0.15,1.64) -- (0,1.72);
   %
   % Buttons %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \snowman at part@draw[\snowman at buttons] (0,1.15) circle[radius=0.04]; 

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings-squirrels.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,7 +12,7 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings-squirrels}[2020/12/04 version v0.4 Drawing squirrels in TikZ]
+\ProvidesPackage{tikzlings-squirrels}[2021/03/17 version v0.5 Drawing squirrels in TikZ]
 
 \RequirePackage{tikz}
 \RequirePackage{tikzlings-addons}
@@ -30,6 +30,7 @@
 
 \newif\ifsquirrel at threeD
 \newif\ifsquirrel at back
+\newif\ifsquirrel at contour
 
 \tikzset{
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -46,6 +47,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   body/.code         = \def\squirrel at body{#1},
   body               = brown!40!gray!90!red,
+  eye/.code          = \def\squirrel at eye{#1},
+  eye                = white, 
+  pupil/.code        = \def\squirrel at pupil{#1},
+  pupil              = black,    
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %
   % options
@@ -53,6 +58,10 @@
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   3D/.code           = \squirrel at threeDtrue,  
   back/.code         = \squirrel at backtrue,  
+  contour/.code      = \squirrel at contourtrue
+                       \def\squirrel at contour{#1},
+  contour/.default   = black,
+  outline/.forward to = /squirrel/contour,
 }
 
 \def\squirrel at draw{%
@@ -77,7 +86,7 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 
-% switch between 2D and 3D, from
+% switch between 2D, 3D and contours, from
 % https://chat.stackexchange.com/transcript/message/45991801#45991801
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -84,10 +93,14 @@
 \ifsquirrel at threeD
   \def\squirrel at part@draw[##1]{\shade[ball color=##1]}
 \else
-  \def\squirrel at part@draw[##1]{\fill[##1]}
+  \ifsquirrel at contour
+    \def\squirrel at part@draw[##1]{\draw[##1,\squirrel at contour,fill=white,line width=\scalingfactor*0.4pt]}
+  \else
+    \def\squirrel at part@draw[##1]{\fill[##1]}
+  \fi
 \fi
 %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Body parts (center: x=0)
 % 
@@ -126,7 +139,16 @@
 (-0.1920,1.9906) .. controls (-0.1657,2.0780) and (-0.1839,2.1332) .. (-0.1839,2.1332) .. controls (-0.1839,2.1332) and (-0.1123,2.1773) .. (-0.0941,2.0720) .. controls (-0.0716,2.0156) and (-0.0753,1.9519) .. (-0.1023,1.9293) .. controls (-0.1293,1.9068) and (-0.1696,1.9342) .. (-0.1920,1.9906) -- cycle;
 %
 % Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\squirrel at part@draw[\squirrel at body] (0,1.75) circle[radius=0.3]  (0.2,1.6) circle[radius=0.15]  (-0.2,1.6) circle[radius=0.15];
+\ifsquirrel at contour
+  \squirrel at part@draw[\squirrel at body] (0,1.75) circle[radius=0.3]; 
+  \squirrel at part@draw[\squirrel at body] (0.2,1.6) circle[radius=0.15];  
+  \squirrel at part@draw[\squirrel at body] (-0.2,1.6) circle[radius=0.15];
+  \ifsquirrel at back
+    \squirrel at part@draw[\squirrel at body] (0,1.75) circle[radius=0.3]; 
+  \fi
+\else
+  \squirrel at part@draw[\squirrel at body] (0,1.75) circle[radius=0.3]  (0.2,1.6) circle[radius=0.15]  (-0.2,1.6) circle[radius=0.15];
+\fi
 %
 \ifsquirrel at back
   % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -138,15 +160,21 @@
 \squirrel at part@draw[\squirrel at body!70!brown!60!black] (0,1.66) ellipse[x radius=0.06, y radius=0.03];
 % 
 % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\squirrel at part@draw[white] (0.07,1.78) ellipse[x radius=0.05, y radius=0.07];
-\squirrel at part@draw[white] (-0.07,1.78) ellipse[x radius=0.05, y radius=0.07];
-\squirrel at part@draw[black] (0.07,1.76) ellipse[x radius=0.017, y radius=0.027];
-\squirrel at part@draw[black] (-0.07,1.76) ellipse[x radius=0.017, y radius=0.027];
+\squirrel at part@draw[\squirrel at eye] (0.07,1.78) ellipse[x radius=0.05, y radius=0.07];
+\squirrel at part@draw[\squirrel at eye] (-0.07,1.78) ellipse[x radius=0.05, y radius=0.07];
+\squirrel at part@draw[\squirrel at pupil] (0.07,1.76) ellipse[x radius=0.017, y radius=0.027];
+\squirrel at part@draw[\squirrel at pupil] (-0.07,1.76) ellipse[x radius=0.017, y radius=0.027];
 %
 % Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fill[white] (-0.025,1.567) rectangle ++(0.02,0.03);
-\fill[white] (0.025,1.567) rectangle ++(-0.02,0.03);
-\draw[\squirrel at body!70!brown!60!black,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61);
+\ifsquirrel at contour
+  \draw[\squirrel at contour,fill=white,line width=\scalingfactor*0.4pt] (-0.025,1.567) rectangle ++(0.02,0.03);
+  \draw[\squirrel at contour,fill=white,line width=\scalingfactor*0.4pt] (0.025,1.567) rectangle ++(-0.02,0.03);
+  \draw[\squirrel at contour,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61);
+\else
+  \fill[white] (-0.025,1.567) rectangle ++(0.02,0.03);
+  \fill[white] (0.025,1.567) rectangle ++(-0.02,0.03);
+  \draw[\squirrel at body!70!brown!60!black,line width=\scalingfactor*0.4pt] (-0.15,1.61) .. controls (-0.15,1.61) and (-0.15,1.52) .. (0.0,1.61) .. controls (0.15,1.52) and (0.15,1.61) .. (0.15,1.61);  
+\fi
 % 
 % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \squirrel at part@draw[\squirrel at body!70!brown!50!darkgray] (0.2,0.85) ellipse[x radius=0.22, y radius=0.11, rotate=70];

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty	2021-03-17 21:51:03 UTC (rev 58484)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/tikzlings/tikzlings.sty	2021-03-17 21:51:16 UTC (rev 58485)
@@ -12,33 +12,36 @@
 % See http://www.latex-project.org/lppl.txt
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{tikzlings}[2020/12/04 version v0.4 Collection of packages to draw animals and other beings in TikZ]
+\ProvidesPackage{tikzlings}[2021/03/17 version v0.5 Collection of packages to draw animals and other beings in TikZ]
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
+% List of all TikZlings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{tikzlings-list}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
 % load sub-packages
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \RequirePackage{tikz}
-\RequirePackage{tikzlings-bears}
-\RequirePackage{tikzlings-penguins}
-\RequirePackage{tikzlings-marmots}
-\RequirePackage{tikzlings-owls}
-\RequirePackage{tikzlings-koalas}
-\RequirePackage{tikzlings-coatis}
-\RequirePackage{tikzlings-snowmans}
-\RequirePackage{tikzlings-mice}
-\RequirePackage{tikzlings-moles}
-\RequirePackage{tikzlings-sloths}
-\RequirePackage{tikzlings-pigs}
-\RequirePackage{tikzlings-cats}
-\RequirePackage{tikzlings-hippos}
-\RequirePackage{tikzlings-rhinos}
-\RequirePackage{tikzlings-pandas}
-\RequirePackage{tikzlings-bees}
-\RequirePackage{tikzlings-anteaters}
-\RequirePackage{tikzlings-squirrels}
-\RequirePackage{tikzlings-sheep}
+
+% from https://chat.stackexchange.com/transcript/message/56515698#56515698
+\ExplSyntaxOn
+\cs_new_protected:Npn \tikzlings_load_packages:N #1 {
+  \clist_map_inline:Nn #1 {
+    \exp_args:Nx \RequirePackage { 
+      tikzlings- \__tikzlings_after_slash:w ##1 / / \s_stop 
+    }
+  }
+}
+\cs_new:Npn \__tikzlings_after_slash:w #1 / #2 / #3 \s_stop { \tl_trim_spaces:n {#2} }
+\cs_new_eq:NN \tikzling at loadpackages \tikzlings_load_packages:N
+\ExplSyntaxOff
+\tikzling at loadpackages\tikzling at list
+
 \RequirePackage{tikzlings-addons}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -61,9 +64,30 @@
   \fi
   \pgfmathsetseed{\number\pdfrandomseed} 
 \fi
+
+% from https://chat.stackexchange.com/transcript/message/56516469#56516469
+% To be able to x-expand \iterateTikzlings, it has to be expandable, so no 'protected'.  Also \clist_map_inline:Nn is not expandable, so we have to use \clist_map_function:NN instead.
+\cs_new:Npn \tikzlings_iterate:N #1 { 
+  \clist_map_function:NN #1 \__tikzlings_braced_items:n 
+}
+% \__tikzlings_braced_items:n will receive each clist item, then:
+\cs_new:Npn \__tikzlings_braced_items:n #1 {
+  { % leave an open brace
+  % we don't want the x-expansion to expand the tikzling command, so we prevent expansion with \exp_not:c.  The 'c' variant is used so it builds a csname from its argument, before preventing the expansion: and the argument is what's before the '/'
+  \exp_not:c { 
+    \__tikzlings_before_slash:w #1 / \s_stop 
+  }
+  } % leave a close brace
+}
+\cs_new:Npn \__tikzlings_before_slash:w #1 / #2 \s_stop {
+  \tl_trim_spaces:n {#1} % make sure there are no spaces around the string
+}
+\cs_new_eq:NN \tikzling at iteraterandom \tikzlings_iterate:N
+\cs_new_eq:NN \ExpArgsNnx \exp_args:Nnx
+
 \ExplSyntaxOff
 
-\pgfmathdeclarerandomlist{tikzlings}{{\bear}{\penguin}{\marmot}{\owl}{\koala}{\coati}{\snowman}{\mouse}{\moles}{\sloth}{\pig}{\cat}{\hippo}{\rhino}{\bee}{\anteater}{\sheep}}
+\ExpArgsNnx\pgfmathdeclarerandomlist{tikzlings}{\tikzling at iteraterandom\tikzling at list}
 
 \newcommand{\tikzling}[1][]{%
   \pgfmathrandomitem{\tikzling at random}{tikzlings}%



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