diff options
Diffstat (limited to 'graphics/pgf/contrib/tikzlings')
27 files changed, 791 insertions, 110 deletions
diff --git a/graphics/pgf/contrib/tikzlings/README.md b/graphics/pgf/contrib/tikzlings/README.md index f336658a77..f0b4928420 100644 --- a/graphics/pgf/contrib/tikzlings/README.md +++ b/graphics/pgf/contrib/tikzlings/README.md @@ -1,7 +1,7 @@ # TikZlings A collection of animals and other beings from the tikz world -Current version: 2021/03/17 version v0.5 +Current version: 2021/04/16 version v0.6 This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-addons.sty b/graphics/pgf/contrib/tikzlings/tikzlings-addons.sty index 3251df7a1b..4cc5eecbf3 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-addons.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-addons.sty @@ -12,11 +12,49 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-addons}[2021/03/17 version v0.5 Draw additional items for the tikzlings] +\ProvidesPackage{tikzlings-addons}[2021/04/16 version v0.6 Draw additional items for the tikzlings] \RequirePackage{tikz} \usetikzlibrary{patterns} % for the wizard hat +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% List of all TikZlings +% +% converting a list of the format +% bee/bees, marmot/marmots, ... +% into a list of the format +% /bee, /marmot, ... +% for the also search option +% usage: \tikzling@iteratesearch\tikzling@list +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{tikzlings-list} +\RequirePackage{expl3} + +\ExplSyntaxOn +\cs_new:Npn \tikzlings_iteratesearch:N #1 { + \clist_map_function:NN #1 \__tikzlings_slashed_items:n +} +\cs_new:Npn \__tikzlings_slashed_items:n #1 { + / + \exp_not:N { + \__tikzlings_before_slashsearch:w #1 / \s_stop + } + , +} +\cs_new:Npn \__tikzlings_before_slashsearch:w #1 / #2 \s_stop { + \tl_trim_spaces:n {#1} +} +\cs_new_eq:NN \tikzling@iteratesearch \tikzlings_iteratesearch:N +\ExplSyntaxOff + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Addons +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \newcommand*{\thing}[1][]{% \begin{scope}% \tikzset{/thing/.cd,#1}% @@ -79,10 +117,7 @@ % General % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - /thing/.search also={% - /tikz,/pgf, - /bear,/coati,/koala,/marmot,/mouse,/owl,/penguin,/snowman,/moles,/sloth,/pig,/cat,/hippo,/rhino,/panda,/bee,/anteater,/squirrel,/sheep, - }, + /thing/.search also/.expanded={/tikz,/pgf,\tikzling@iteratesearch\tikzling@list}, %/thing/.unknown/.code=\relax, % bad idea, prevents tikz/pgf keys /thing/.cd, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-anteaters.sty b/graphics/pgf/contrib/tikzlings/tikzlings-anteaters.sty index 773eb97864..b14a2d76d1 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-anteaters.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-anteaters.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-anteaters}[2021/03/17 version v0.5 Drawing anteaters in TikZ] +\ProvidesPackage{tikzlings-anteaters}[2021/04/16 version v0.6 Drawing anteaters in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -113,7 +113,7 @@ \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09]; % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifanteater@back\else +\unless\ifanteater@back \anteater@part@draw[\anteater@body!70!brown!50!darkgray] (1.0893, 1.5779) .. controls (0.3433, 1.6612) and (0.4863, 0.6062) .. (-0.0243, 0.348) .. controls (1.0671, 0.068) and (0.8133, 1.1808) .. (1.0893, 1.5779) -- cycle; \fi % diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-bears.sty b/graphics/pgf/contrib/tikzlings/tikzlings-bears.sty index 63d6a283e5..b0b7b8de69 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-bears.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-bears.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-bears}[2021/03/17 version v0.5 Draw teddy bears in TikZ] +\ProvidesPackage{tikzlings-bears}[2021/04/16 version v0.6 Draw teddy bears in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -119,7 +119,7 @@ % % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \bear@part@draw[\bear@body!70!black] (0,0.75) ellipse[x radius=0.55, y radius=0.65]; -\ifbear@back\else +\unless\ifbear@back \bear@part@draw[\bear@body!50!white] (0,0.7) ellipse[x radius=0.35, y radius=0.4]; \fi % @@ -128,7 +128,7 @@ \csname tikzlinghookbelly\endcsname % % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifbear@back\else +\unless\ifbear@back \bear@part@draw[\bear@body!70!black] (0.425, 0.3) circle[radius=0.28]; \bear@part@draw[\bear@body!70!black] (-0.425, 0.3) circle[radius=0.28]; \bear@part@draw[\bear@body!50!white] (0.425, 0.3) circle[radius=0.17]; @@ -138,7 +138,7 @@ % Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \bear@part@draw[\bear@body!70!black] (0.375, 1.95) circle[radius=0.15]; \bear@part@draw[\bear@body!70!black] (-0.375, 1.95) circle[radius=0.15]; -\ifbear@back\else +\unless\ifbear@back \bear@part@draw[\bear@body!50!white] (0.375, 1.95) circle[radius=0.1]; \bear@part@draw[\bear@body!50!white] (-0.375, 1.95) circle[radius=0.1]; \fi @@ -147,7 +147,7 @@ \bear@part@draw[\bear@body!70!black] (0, 1.55) circle[radius=0.5]; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifbear@back\else +\unless\ifbear@back % % Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \bear@part@draw[\bear@body!50!white] (0, 1.4) ellipse[x radius=0.28, y radius=0.2]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-bees.sty b/graphics/pgf/contrib/tikzlings/tikzlings-bees.sty index ab04664ca1..818f713d44 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-bees.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-bees.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-bees}[2021/03/17 version v0.5 Drawing bees in TikZ] +\ProvidesPackage{tikzlings-bees}[2021/04/16 version v0.6 Drawing bees in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -141,12 +141,8 @@ % % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{scope} + \bee@part@draw[\bee@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; \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; - \ifbee@contour - \draw[\bee@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@part@draw[\bee@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@part@draw[\bee@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 diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-cats.sty b/graphics/pgf/contrib/tikzlings/tikzlings-cats.sty index 92b3b90122..fd3559c347 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-cats.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-cats.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-cats}[2021/03/17 version v0.5 Drawing cats in TikZ] +\ProvidesPackage{tikzlings-cats}[2021/04/16 version v0.6 Drawing cats in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -82,12 +82,17 @@ eyes/.forward to = /cat/eye, pupil/.code = \def\cat@pupil{#1}, pupil = black, - pupilwidth/.code = \def\cat@pupil@width{#1}\edef\cat@pupil@offset{\strip@pt\dimexpr#1pt/4}, + pupilwidth/.code = \def\cat@pupil@width{#1} + \edef\cat@pupil@offset{\strip@pt\dimexpr#1pt/4}, pupil width/.forward to = /cat/pupilwidth, - narrow pupils/.style = {pupil width = 0.005}, - medium pupils/.style = {pupil width = 0.015}, - wide pupils/.style = {pupil width = 0.025}, - very wide pupils/.style = {pupil width = 0.050}, + narrow pupils/.code = \def\cat@pupil@width{0.005} + \edef\cat@pupil@offset{\strip@pt\dimexpr 0.005pt/4}, + medium pupils/.code = \def\cat@pupil@width{0.015} + \edef\cat@pupil@offset{\strip@pt\dimexpr 0.015pt/4}, + wide pupils/.code = \def\cat@pupil@width{0.025} + \edef\cat@pupil@offset{\strip@pt\dimexpr 0.025pt/4}, + very wide pupils/.code = \def\cat@pupil@width{0.050} + \edef\cat@pupil@offset{\strip@pt\dimexpr 0.050pt/4}, pupil width = 0.015, paws/.code = \def\cat@paws{#1}, paws = \cat@body, @@ -182,7 +187,7 @@ \cat@part@draw[\cat@body] (0,1.64) circle[radius=0.44]; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifcat@back\else +\unless\ifcat@back % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \cat@part@draw[\cat@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; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-chickens.sty b/graphics/pgf/contrib/tikzlings/tikzlings-chickens.sty new file mode 100644 index 0000000000..af16df2564 --- /dev/null +++ b/graphics/pgf/contrib/tikzlings/tikzlings-chickens.sty @@ -0,0 +1,337 @@ +% !TeX root = ./examples/chicken.tex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This package is part of the TikZlings package +% A package to bring cute little animals and other beings into tikz +% Maintained by samcarter +% +% Project repository and bug tracker: +% https://github.com/samcarter/tikzlings +% +% Released under the LaTeX Project Public License v1.3c or later +% See http://www.latex-project.org/lppl.txt +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ProvidesPackage{tikzlings-chickens}[2021/04/16 version v0.6 Draw chickens in TikZ] + +\RequirePackage{tikz} +\RequirePackage{tikzlings-addons} +\usetikzlibrary{decorations.pathmorphing} + +\newcommand*{\chicken}[1][]{% + \begin{scope}% + \tikzset{/chicken/.cd,#1}% + \ifchicken@baby + \chicken@drawbaby + \else + \chicken@draw% + \fi + \end{scope}% + \thing[#1]% + % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname chickenhookforeground\endcsname + \csname tikzlinghookforeground\endcsname + % +} + +\newif\ifchicken@threeD +\newif\ifchicken@back +\newif\ifchicken@contour +\newif\ifchicken@baby + +\tikzset{ + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Pass unknown keys on to tikz + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + /chicken/.search also={/tikz,/pgf,/thing}, + /chicken/.cd, + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % body + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + body/.code = \def\chicken@body{#1}, + body = brown!50!orange!70!yellow!80!white, + eye/.code = \def\chicken@eye{#1}, + eye = white!90!gray, + pupil/.code = \def\chicken@pupil{#1}, + pupil = brown!30!black, + bill/.code = \def\chicken@bill{#1}, + bill = yellow, + feet/.code = \def\chicken@feet{#1}, + feet = orange!90!yellow, + comb/.code = \def\chicken@comb{#1}, + comb = red, + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % options + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + 3D/.code = \chicken@threeDtrue, + back/.code = \chicken@backtrue, + contour/.code = \chicken@contourtrue + \def\chicken@contour{#1}, + contour/.default = black, + outline/.forward to = /chicken/contour, + baby/.code = \chicken@babytrue + \def\chicken@baby{#1} + \def\chicken@bill{\chicken@feet}, + baby/.default = yellow!80!orange, +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Grown up chicken +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\chicken@draw{% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% minimal bounding box size +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\path (-0.96, 0.08) rectangle (0.96, 2.35); +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% store the current scale factor +% from https://github.com/samcarter/tikzlings/issues/3#issuecomment-461373494 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pgfgettransformentries{\tmpscaleA}{\tmpscaleB}{\tmpscaleC}{\tmpscaleD}{\tmp}{\tmp}% +\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}% +\pgfmathsetmacro{\xscalefactor}{\tmpscaleA} +\pgfmathsetmacro{\yscalefactor}{\tmpscaleD} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% switch between 2D, 3D and contours, from +% https://chat.stackexchange.com/transcript/message/45991801#45991801 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifchicken@threeD + \def\chicken@part@draw[##1]{\shade[ball color=##1]} +\else + \ifchicken@contour + \def\chicken@part@draw[##1]{\draw[##1,\chicken@contour,fill=white,line width=\scalingfactor*0.4pt]} + \else + \def\chicken@part@draw[##1]{\fill[##1]} + \fi +\fi +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Body parts (center: x=0.925) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname chickenhookbackground\endcsname +\csname tikzlinghookbackground\endcsname +% +% Wings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chicken@part@draw[\chicken@body] (0.57,0.95) ellipse[x radius=0.3, y radius=0.08, rotate=-65]; +\chicken@part@draw[\chicken@body] (0.64,1.07) ellipse[x radius=0.3, y radius=0.08, rotate=-43]; +\chicken@part@draw[\chicken@body] (0.66,1.18) ellipse[x radius=0.3, y radius=0.08, rotate=-18]; +\chicken@part@draw[\chicken@body] (-0.57,0.95) ellipse[x radius=0.3, y radius=0.08, rotate=65]; +\chicken@part@draw[\chicken@body] (-0.64,1.07) ellipse[x radius=0.3, y radius=0.08, rotate=43]; +\chicken@part@draw[\chicken@body] (-0.66,1.18) ellipse[x radius=0.3, y radius=0.08, rotate=18]; +% +% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifchicken@back + \chicken@part@draw[\chicken@feet] (0.19,0.3) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.19,0.3) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.175,0.2) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.225,0.21) ellipse[x radius=0.03, y radius=0.1, rotate=20]; + \chicken@part@draw[\chicken@feet] (0.275,0.23) ellipse[x radius=0.03, y radius=0.1, rotate=40]; + \chicken@part@draw[\chicken@feet] (-0.175,0.2) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.225,0.21) ellipse[x radius=0.03, y radius=0.1, rotate=-20]; + \chicken@part@draw[\chicken@feet] (-0.275,0.23) ellipse[x radius=0.03, y radius=0.1, rotate=-40]; +\fi +% +% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chicken@part@draw[\chicken@body!50!white] ( 0.00, 0.33) .. controls (-0.60, 0.33) and (-0.55, 0.65) .. (-0.55, 0.90) .. controls (-0.55, 1.10) and (-0.48, 1.20) .. (-0.39, 1.40) .. controls (-0.32, 1.58) and (-0.32, 2.09) .. ( 0.00, 2.09) .. controls ( 0.32, 2.09) and ( 0.32, 1.58) .. ( 0.39, 1.40) .. controls ( 0.48, 1.20) and ( 0.55, 1.10) .. ( 0.55, 0.90) .. controls ( 0.55, 0.65) and ( 0.60, 0.33) .. ( 0, 0.33) -- cycle; +\chicken@part@draw[\chicken@body,decoration={snake,amplitude=\scalingfactor*1.5pt,segment length=\scalingfactor*6.1pt}] ( -0.39, 1.40) .. controls (-0.32, 1.58) and (-0.32, 2.09) .. ( 0.00, 2.09) .. controls ( 0.32, 2.09) and ( 0.32, 1.58) .. ( 0.39, 1.40) decorate {arc [start angle=-60,end angle=-120,radius=0.77]} -- cycle; +% +% Comb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chicken@part@draw[\chicken@comb] (0.04,2.132) ellipse[x radius=0.22, y radius=0.06, rotate=70]; +\chicken@part@draw[\chicken@comb] (-0.03,2.095) ellipse[x radius=0.17, y radius=0.06, rotate=92]; +\chicken@part@draw[\chicken@comb] (-0.082,2.060) ellipse[x radius=0.15, y radius=0.06, rotate=120]; +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname chickenhookbelly\endcsname +\csname tikzlinghookbelly\endcsname +% +% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifchicken@back + \chicken@part@draw[\chicken@eye] (0.135,1.8) ellipse[x radius=0.06, y radius=0.07]; + \chicken@part@draw[\chicken@eye] (-0.135,1.8) ellipse[x radius=0.06, y radius=0.07]; + \chicken@part@draw[\chicken@pupil] (0.124,1.78) ellipse[x radius=0.017, y radius=0.027]; + \chicken@part@draw[\chicken@pupil] (-0.124,1.78) ellipse[x radius=0.017, y radius=0.027]; +\fi +% +% Bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifchicken@back + \chicken@part@draw[\chicken@comb] (-0.04, 1.57) ellipse[x radius=0.04, y radius=0.08, rotate=-20]; + \chicken@part@draw[\chicken@comb] (0.04, 1.57) ellipse[x radius=0.04, y radius=0.08, rotate=20]; + \chicken@part@draw[\chicken@bill] (-0.09, 1.7) -- (0, 1.58) -- (0.09, 1.7) arc [start angle=50, end angle=130, radius=0.14] -- cycle; +\fi +% +% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifchicken@back + \chicken@part@draw[\chicken@feet] (0.19,0.3) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.19,0.3) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.175,0.2) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.225,0.21) ellipse[x radius=0.03, y radius=0.1, rotate=20]; + \chicken@part@draw[\chicken@feet] (0.275,0.23) ellipse[x radius=0.03, y radius=0.1, rotate=40]; + \chicken@part@draw[\chicken@feet] (-0.175,0.2) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.225,0.21) ellipse[x radius=0.03, y radius=0.1, rotate=-20]; + \chicken@part@draw[\chicken@feet] (-0.275,0.23) ellipse[x radius=0.03, y radius=0.1, rotate=-40]; +\fi +% +% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifchicken@back + \chicken@part@draw[\chicken@body] (0.12, 0.795) ellipse[x radius=0.20, y radius=0.06, rotate=58]; + \chicken@part@draw[\chicken@body] (0.04, 0.87) ellipse[x radius=0.25, y radius=0.06, rotate=80]; + \chicken@part@draw[\chicken@body] (-0.03, 0.83) ellipse[x radius=0.20, y radius=0.06, rotate=102]; + \chicken@part@draw[\chicken@body] (-0.082, 0.76) ellipse[x radius=0.17, y radius=0.06, rotate=130]; +\fi +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname chickenhookbody\endcsname +\csname tikzlinghookbody\endcsname +% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Baby chicken +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\chicken@drawbaby{% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% minimal bounding box size +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\path (-0.53, 0.1) rectangle (0.53, 1.22); +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% store the current scale factor +% from https://github.com/samcarter/tikzlings/issues/3#issuecomment-461373494 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pgfgettransformentries{\tmpscaleA}{\tmpscaleB}{\tmpscaleC}{\tmpscaleD}{\tmp}{\tmp}% +\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}% +\pgfmathsetmacro{\xscalefactor}{\tmpscaleA} +\pgfmathsetmacro{\yscalefactor}{\tmpscaleD} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% switch between 2D, 3D and contours, from +% https://chat.stackexchange.com/transcript/message/45991801#45991801 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifchicken@threeD + \def\chicken@part@draw[##1]{\shade[ball color=##1]} +\else + \ifchicken@contour + \def\chicken@part@draw[##1]{\draw[##1,\chicken@contour,fill=white,line width=\scalingfactor*0.4pt]} + \else + \def\chicken@part@draw[##1]{\fill[##1]} + \fi +\fi +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Body parts (center: x=0.925) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname chickenhookbackground\endcsname +\csname tikzlinghookbackground\endcsname +% +% Wings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{scope}[scale=0.55] + \chicken@part@draw[\chicken@baby] (0.57,0.95) ellipse[x radius=0.3, y radius=0.08, rotate=-65]; + \chicken@part@draw[\chicken@baby] (0.64,1.07) ellipse[x radius=0.3, y radius=0.08, rotate=-43]; + \chicken@part@draw[\chicken@baby] (0.66,1.18) ellipse[x radius=0.3, y radius=0.08, rotate=-18]; + \chicken@part@draw[\chicken@baby] (-0.57,0.95) ellipse[x radius=0.3, y radius=0.08, rotate=65]; + \chicken@part@draw[\chicken@baby] (-0.64,1.07) ellipse[x radius=0.3, y radius=0.08, rotate=43]; + \chicken@part@draw[\chicken@baby] (-0.66,1.18) ellipse[x radius=0.3, y radius=0.08, rotate=18]; +\end{scope} +% +% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifchicken@back + \begin{scope}[scale=0.67] + \chicken@part@draw[\chicken@feet] (0.19,0.38) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.19,0.38) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.175,0.27) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.225,0.28) ellipse[x radius=0.03, y radius=0.1, rotate=20]; + \chicken@part@draw[\chicken@feet] (0.275,0.3) ellipse[x radius=0.03, y radius=0.1, rotate=40]; + \chicken@part@draw[\chicken@feet] (-0.175,0.27) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.225,0.28) ellipse[x radius=0.03, y radius=0.1, rotate=-20]; + \chicken@part@draw[\chicken@feet] (-0.275,0.3) ellipse[x radius=0.03, y radius=0.1, rotate=-40]; + \end{scope} +\fi +% +% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chicken@part@draw[\chicken@baby] (0,0.55) circle [radius=0.3]; +% +% Comb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{scope}[scale=0.52] + \chicken@part@draw[\chicken@baby] (0.04,2.142) ellipse[x radius=0.2, y radius=0.05, rotate=70]; + \chicken@part@draw[\chicken@baby] (-0.03,2.105) ellipse[x radius=0.15, y radius=0.05, rotate=92]; + \chicken@part@draw[\chicken@baby] (-0.082,2.070) ellipse[x radius=0.13, y radius=0.05, rotate=120]; +\end{scope} +% +% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chicken@part@draw[\chicken@baby] (0,0.87) circle [radius=0.25]; +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname chickenhookbelly\endcsname +\csname tikzlinghookbelly\endcsname +% +% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifchicken@back + \chicken@part@draw[\chicken@eye] (0.075,0.925) ellipse[x radius=0.055, y radius=0.065]; + \chicken@part@draw[\chicken@eye] (-0.075,0.925) ellipse[x radius=0.055, y radius=0.065]; + \chicken@part@draw[\chicken@pupil] (0.07,0.91) ellipse[x radius=0.017, y radius=0.024]; + \chicken@part@draw[\chicken@pupil] (-0.07,0.91) ellipse[x radius=0.017, y radius=0.024]; +\fi +% +% Bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifchicken@back + \chicken@part@draw[\chicken@bill] (-0.05, 0.81) -- (0, 0.74) -- (0.05, 0.81) arc [start angle=60, end angle=120, radius=0.1] -- cycle; +\fi +% +% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifchicken@back + \begin{scope}[scale=0.67] + \chicken@part@draw[\chicken@feet] (0.19,0.38) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.19,0.38) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.175,0.27) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (0.225,0.28) ellipse[x radius=0.03, y radius=0.1, rotate=20]; + \chicken@part@draw[\chicken@feet] (0.275,0.3) ellipse[x radius=0.03, y radius=0.1, rotate=40]; + \chicken@part@draw[\chicken@feet] (-0.175,0.27) ellipse[x radius=0.03, y radius=0.1]; + \chicken@part@draw[\chicken@feet] (-0.225,0.28) ellipse[x radius=0.03, y radius=0.1, rotate=-20]; + \chicken@part@draw[\chicken@feet] (-0.275,0.3) ellipse[x radius=0.03, y radius=0.1, rotate=-40]; + \end{scope} +\fi +%% +%% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\ifchicken@back +% \chicken@part@draw[\chicken@body] (0.12, 0.795) ellipse[x radius=0.20, y radius=0.06, rotate=58]; +% \chicken@part@draw[\chicken@body] (0.04, 0.87) ellipse[x radius=0.25, y radius=0.06, rotate=80]; +% \chicken@part@draw[\chicken@body] (-0.03, 0.83) ellipse[x radius=0.20, y radius=0.06, rotate=102]; +% \chicken@part@draw[\chicken@body] (-0.082, 0.76) ellipse[x radius=0.17, y radius=0.06, rotate=130]; +%\fi +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname chickenhookbody\endcsname +\csname tikzlinghookbody\endcsname +% +} + diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-coatis.sty b/graphics/pgf/contrib/tikzlings/tikzlings-coatis.sty index 22b88d4c7d..fdeaa64177 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-coatis.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-coatis.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-coatis}[2021/03/17 version v0.5 Drawing coatis in TikZ] +\ProvidesPackage{tikzlings-coatis}[2021/04/16 version v0.6 Drawing coatis in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -117,7 +117,7 @@ \coati@part@draw[\coati@body!80!white] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09]; % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifcoati@back\else +\unless\ifcoati@back \coati@part@draw[\coati@body!50!darkgray] (0.2845, 0.5595) .. controls (0.6382, 0.8326) and (0.7302, 1.5138) .. (1.0504, 1.6639) .. controls (1.3206, 1.7840) and (1.7609, 1.3537) .. (1.5608, 1.3437) .. controls (0.9203, 2.0442) and (0.8642, 0.6247) .. (0.5001, 0.3831) .. controls (0.3214, 0.2645) and (-0.1764, 0.1117) .. (-0.1408, 0.3245) .. controls (-0.1082, 0.5191) and (0.0508, 0.3791) .. (0.2845, 0.5595) -- cycle; \begin{scope} \clip (0.2845, 0.5595) .. controls (0.6382, 0.8326) and (0.7302, 1.5138) .. (1.0504, 1.6639) .. controls (1.3206, 1.7840) and (1.7609, 1.3537) .. (1.5608, 1.3437) .. controls (0.9203, 2.0442) and (0.8642, 0.6247) .. (0.5001, 0.3831) .. controls (0.3214, 0.2645) and (-0.1764, 0.1117) .. (-0.1408, 0.3245) .. controls (-0.1082, 0.5191) and (0.0508, 0.3791) .. (0.2845, 0.5595) -- cycle; @@ -152,7 +152,7 @@ % % Left Ear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \coati@part@draw[\coati@body!45!white!95!orange] (-0.212, 2.135) ellipse[x radius=0.09, y radius=0.12, rotate=-16]; - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!80!white] (-0.212, 2.135) ellipse[x radius=0.065, y radius=0.09, rotate=-16]; \fi % @@ -164,23 +164,23 @@ \fi % % Cheek %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!80!white] (0.30, 1.4552) .. controls (0.30, 1.4552) and (0.1016, 1.7565) .. (-0.0005, 1.7581) -- (-0.6360, 1.3679) .. controls (-0.3083, 1.3437) and (0.0283, 1.332) .. (0.30, 1.4552) -- cycle (-0.4166, 1.9824) .. controls (-0.4166, 1.9824) and (-0.2413, 1.9758) .. (-0.2226, 1.9112) -- (-0.6875, 1.4906) .. controls (-0.6875, 1.4906) and (-0.5712, 1.7549) .. (-0.4166, 1.9824) -- cycle; \fi % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!50!black] (-0.605, 1.453) circle[radius=0.09]; \fi % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@eye] (0.007, 1.624) ellipse[x radius=0.04, y radius=0.06]; \coati@part@draw[\coati@eye] (-0.38, 1.865) ellipse[x radius=0.035, y radius=0.055]; \fi % % Right Ear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \coati@part@draw[\coati@body!45!white!95!orange] (0.417, 1.875) ellipse[x radius=0.1, y radius=0.14, rotate=-16]; - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!80!white] (0.417, 1.875) ellipse[x radius=0.07, y radius=0.10, rotate=-16]; \fi % @@ -195,17 +195,17 @@ \fi % % Cheeks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!80!white] (-0.4935, 1.7443) .. controls (-0.4935, 1.7443) and (-0.1917, 1.7798) .. (-0.1371, 1.7333) .. controls (-0.07, 1.2) and (-0.07, 1.2) .. (-0.07, 1.2) .. controls (-0.259, 1.3169) and (-0.46, 1.5665) .. (-0.4935, 1.7443) -- cycle (0.4935, 1.7443) .. controls (0.4935, 1.7443) and (0.1917, 1.7798) .. (0.1371, 1.7333) .. controls (0.07, 1.2) and (0.07, 1.2) .. (0.07, 1.2) .. controls (0.259, 1.3169) and (0.46, 1.5665) .. (0.4935, 1.7443) -- cycle; \fi % % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!50!black] (0, 1.248) circle[radius=0.09]; \fi % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@eye] (0.23, 1.62) circle[radius=0.05]; \coati@part@draw[\coati@eye] (-0.23, 1.62) circle[radius=0.05]; \fi @@ -213,7 +213,7 @@ % Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \coati@part@draw[\coati@body!45!white!95!orange] (0.44, 2.02) circle[radius=0.12]; \coati@part@draw[\coati@body!45!white!95!orange] (-0.44, 2.02) circle[radius=0.12]; - \ifcoati@back\else + \unless\ifcoati@back \coati@part@draw[\coati@body!80!white] (0.44, 2.02) circle[radius=0.09]; \coati@part@draw[\coati@body!80!white] (-0.44, 2.02) circle[radius=0.09]; \fi diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-doc.pdf b/graphics/pgf/contrib/tikzlings/tikzlings-doc.pdf Binary files differindex 817ced64b3..a51cde1b4d 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-doc.pdf +++ b/graphics/pgf/contrib/tikzlings/tikzlings-doc.pdf diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-doc.tex b/graphics/pgf/contrib/tikzlings/tikzlings-doc.tex index ffd9af0102..36537f2ba6 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-doc.tex +++ b/graphics/pgf/contrib/tikzlings/tikzlings-doc.tex @@ -94,16 +94,16 @@ emphstyle=\color{red!60!black}, 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, + tikzlings-marmots, tikzlings-bears, tikzlings-coatis, tikzlings-koalas, tikzlings-marmots, tikzlings-owls, tikzlings-penguins, tikzlings-snowmen, tikzlings-mice, tikzlings-moles, tikzlings-sloths, tikzlings-pigs, tikzlings-cats, tikzlings-hippos, tikzlings-rhinos, tikzlings-pandas, tikzlings-bees, tikzlings-anteaters, tikzlings-squirrels, tikzlings-sheep, tikzlings-chickens, tikzlings-elephants, 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, contour, + 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, comb, baby, }, texcsstyle=*\color{SteelBlue!50!black}\bfseries, keywordstyle=\color{red!60!black}\bfseries, morekeywords={tikzpicture}, moretexcs={ - usepackage, usetikzlibrary, marmot, coati, bear, koala, owl, penguin, thing, tikzling, snowman, mouse, moles, sloth, pig, cat, hippo, rhino, panda, bee, anteater, squirrel, bearwear, sheep, tikzlinghookbackground, tikzlinghookbelly, tikzlinghookbody, tikzlinghookforeground, mousehookbelly + usepackage, usetikzlibrary, marmot, coati, bear, koala, owl, penguin, thing, tikzling, snowman, mouse, moles, sloth, pig, cat, hippo, rhino, panda, bee, anteater, squirrel, bearwear, sheep, chicken, elephant, tikzlinghookbackground, tikzlinghookbelly, tikzlinghookbody, tikzlinghookforeground, mousehookbelly }, delim ={[s][\ttfamily\color{green!50!black}]{$}{$}}, moredelim=[is][\footnotesize\ttfamily\color{orange!70!black}]{|}{|}, @@ -151,7 +151,7 @@ \url{https://github.com/samcarter/tikzlings}\\ \url{https://www.ctan.org/pkg/tikzlings} }{samcarter}} -\date{Version v0.5 \textendash{} 2021/03/17} +\date{Version v0.6 \textendash{} 2021/04/16} \begin{document} \maketitle @@ -557,7 +557,7 @@ To view the cat from behind: \cat[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the cat 3-dimensional: +The key \lstinline|3D| will make the cat 3-dimensional: \begin{tcblisting}{} \cat[3D] \end{tcblisting} @@ -569,6 +569,78 @@ And finally the \lstinline|contour| key will only draw the outlines: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % +% Chicken +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\clearpage +\section[Chicken]{Paulette, the chicken} + +\emph{Paulette is named after the French word for chicken ``poulet''} + +\subsection{Package name} + +\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth] +\vspace*{0.5cm} +\lstinline|\usepackage{tikzlings-chickens}| +\vspace*{0.5cm} +\end{tcolorbox} + +\subsection{Basic Usage} + +\begin{tcblisting}{} +\chicken +\end{tcblisting} + +\subsection{Options} + +The basic chicken can be modified by changing its colour: +\begin{tcblisting}{} +\chicken[body=blue] +\end{tcblisting} + +In addition to the colour of the body, the colour of various body parts can be adjusted: +\begin{tcblisting}{} +\chicken[comb=green] +\end{tcblisting} + +\begin{tcblisting}{} +\chicken[eye=red] +\end{tcblisting} + +\begin{tcblisting}{} +\chicken[pupil=red] +\end{tcblisting} + +\begin{tcblisting}{} +\chicken[bill=red] +\end{tcblisting} + +\begin{tcblisting}{} +\chicken[feet=red] +\end{tcblisting} + +There is also the special option \lstinline|baby| which will draw a baby chicken called \emph{Pio}: +\begin{tcblisting}{} +\chicken[baby=yellow] +\end{tcblisting} + +To view the chicken from behind: +\begin{tcblisting}{} +\chicken[back] +\end{tcblisting} + +The key \lstinline|3D| will make the chicken 3-dimensional: +\begin{tcblisting}{} +\chicken[3D] +\end{tcblisting} + +And finally the \lstinline|contour| key will only draw the outlines: +\begin{tcblisting}{} +\chicken[contour=black] +\end{tcblisting} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Coati % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -618,7 +690,7 @@ To view the coati from behind: \coati[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the coati 3-dimensional: +The key \lstinline|3D| will make the coati 3-dimensional: \begin{tcblisting}{} \coati[3D] \end{tcblisting} @@ -630,6 +702,58 @@ And finally the \lstinline|contour| key will only draw the outlines: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % +% Chicken +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\clearpage +\section[Elephant]{Johannes, the elephant} + +\emph{The namesake of Johannes loves elephants} + +\subsection{Package name} + +\begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth] +\vspace*{0.5cm} +\lstinline|\usepackage{tikzlings-elephants}| +\vspace*{0.5cm} +\end{tcolorbox} + +\subsection{Basic Usage} + +\begin{tcblisting}{} +\elephant +\end{tcblisting} + +\subsection{Options} + +The basic elephant can be modified by changing its colour: +\begin{tcblisting}{} +\elephant[body=blue] +\end{tcblisting} + +In addition to the colour of the body, the colour of the eyes can be adjusted: +\begin{tcblisting}{} +\elephant[eye=red] +\end{tcblisting} + +To view the elephant from behind: +\begin{tcblisting}{} +\elephant[back] +\end{tcblisting} + +The key \lstinline|3D| will make the elephant 3-dimensional: +\begin{tcblisting}{} +\elephant[3D] +\end{tcblisting} + +And finally the \lstinline|contour| key will only draw the outlines: +\begin{tcblisting}{} +\elephant[contour=black] +\end{tcblisting} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Hippo % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -738,7 +862,7 @@ To view the koala from behind: \koala[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the koala 3-dimensional: +The key \lstinline|3D| will make the koala 3-dimensional: \begin{tcblisting}{} \koala[3D] \end{tcblisting} @@ -820,7 +944,7 @@ To view the marmot from behind: \marmot[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the marmot 3-dimensional: +The key \lstinline|3D| will make the marmot 3-dimensional: \begin{tcblisting}{} \marmot[3D] \end{tcblisting} @@ -1006,7 +1130,7 @@ To view the owl from behind: \owl[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the owl 3-dimensional: +The key \lstinline|3D| will make the owl 3-dimensional: \begin{tcblisting}{} \owl[3D] \end{tcblisting} @@ -1123,7 +1247,7 @@ To view the penguin from behind: \penguin[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the penguin 3-dimensional: +The key \lstinline|3D| will make the penguin 3-dimensional: \begin{tcblisting}{} \penguin[3D] \end{tcblisting} @@ -1350,7 +1474,7 @@ To view the sloth from behind: \sloth[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the sloth 3-dimensional: +The key \lstinline|3D| will make the sloth 3-dimensional: \begin{tcblisting}{} \sloth[3D] \end{tcblisting} @@ -1404,7 +1528,7 @@ To view the squirrel from behind: \squirrel[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the squirrel 3-dimensional: +The key \lstinline|3D| will make the squirrel 3-dimensional: \begin{tcblisting}{} \squirrel[3D] \end{tcblisting} @@ -1428,7 +1552,7 @@ And finally the \lstinline|contour| key will only draw the outlines: \begin{tcolorbox}[lower separated=false, lefthand width=.8\linewidth] \vspace*{0.5cm} -\lstinline|\usepackage{tikzlings-snowmans}| +\lstinline|\usepackage{tikzlings-snowmen}| \vspace*{0.5cm} \end{tcolorbox} @@ -1469,7 +1593,7 @@ To view the snowman from behind: \snowman[back] \end{tcblisting} -Finally the key \lstinline|3D| will make the snowman 3-dimensional: +The key \lstinline|3D| will make the snowman 3-dimensional: \begin{tcblisting}{} \snowman[3D] \end{tcblisting} @@ -1485,9 +1609,9 @@ And finally the \lstinline|contour| key will only draw the outlines: % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \clearpage -\section[Ti\emph{k}Zling]{... , the Ti\emph{k}Zling} +\section[Ti\emph{k}Zling]{Rani, the Ti\emph{k}Zling} -\emph{The inventor of the word \tikzlings has yet to come up with a name for the Ti\emph{k}Zling} +\emph{The full name of this Ti\emph{k}Zling is ``Random'', but everybody just calls them ``Rani''} \subsection{Package name} @@ -1741,7 +1865,7 @@ A list of all available accessories is given below. For completeness the default \end{tcblisting} \begin{tcblisting}{} -\squirrel[ +\elephant[ football=white ] \end{tcblisting} diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-elephants.sty b/graphics/pgf/contrib/tikzlings/tikzlings-elephants.sty new file mode 100644 index 0000000000..750dc756ea --- /dev/null +++ b/graphics/pgf/contrib/tikzlings/tikzlings-elephants.sty @@ -0,0 +1,182 @@ +% !TeX root = ./examples/elephant.tex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This package is part of the TikZlings package +% A package to bring cute little animals and other beings into tikz +% Maintained by samcarter +% +% Project repository and bug tracker: +% https://github.com/samcarter/tikzlings +% +% Released under the LaTeX Project Public License v1.3c or later +% See http://www.latex-project.org/lppl.txt +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ProvidesPackage{tikzlings-elephants}[2021/04/16 version v0.6 Draw teddy elephants in TikZ] + +\RequirePackage{tikz} +\RequirePackage{tikzlings-addons} + +\newcommand*{\elephant}[1][]{% + \begin{scope}% + \tikzset{/elephant/.cd,#1}% + \elephant@draw% + \end{scope}% + \thing[#1]% + % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname elephanthookforeground\endcsname + \csname tikzlinghookforeground\endcsname +} + +\newif\ifelephant@threeD +\newif\ifelephant@back +\newif\ifelephant@contour + +\tikzset{ + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Pass unknown keys on to tikz + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + /elephant/.search also={/tikz,/pgf,/thing}, + /elephant/.cd, + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % body + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + body/.code = \def\elephant@body{#1}, + body = gray, + eye/.code = \def\elephant@eye{#1}, + eye = \elephant@body!30!black, + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % options + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + 3D/.code = \elephant@threeDtrue, + back/.code = \elephant@backtrue, + contour/.code = \elephant@contourtrue + \def\elephant@contour{#1}, + contour/.default = black, + outline/.forward to = /elephant/contour, +} + +\def\elephant@draw{% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% minimal bounding box size +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\path (-0.86, 0.0) rectangle (0.86, 2.17); +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% store the current scale factor +% from https://github.com/samcarter/tikzlings/issues/3#issuecomment-461373494 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pgfgettransformentries{\tmpscaleA}{\tmpscaleB}{\tmpscaleC}{\tmpscaleD}{\tmp}{\tmp}% +\pgfmathsetmacro{\scalingfactor}{sqrt(abs(\tmpscaleA*\tmpscaleD-\tmpscaleB*\tmpscaleC))*sqrt(abs((\pgf@xx/1cm)*(\pgf@yy/1cm)-(\pgf@xy/1cm)*(\pgf@yx/1cm)))}% +\pgfmathsetmacro{\xscalefactor}{\tmpscaleA} +\pgfmathsetmacro{\yscalefactor}{\tmpscaleD} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% switch between 2D, 3D and contours, from +% https://chat.stackexchange.com/transcript/message/45991801#45991801 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifelephant@threeD + \def\elephant@part@draw[##1]{\shade[ball color=##1]} +\else + \ifelephant@contour + \def\elephant@part@draw[##1]{\draw[##1,\elephant@contour,fill=white,line width=\scalingfactor*0.4pt]} + \else + \def\elephant@part@draw[##1]{\fill[##1]} + \fi +\fi +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Body parts (center: x=0.925) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname elephanthookbackground\endcsname +\csname tikzlinghookbackground\endcsname +% +% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\elephant@part@draw[\elephant@body] (0.47,0.86) ellipse[x radius=0.35, y radius=0.25, rotate=-50]; +\elephant@part@draw[\elephant@body] (-0.47,0.86) ellipse[x radius=0.35, y radius=0.25, rotate=50]; +% +% Feet if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifelephant@back + \elephant@part@draw[\elephant@body] (0.425, 0.3) circle[radius=0.28]; + \elephant@part@draw[\elephant@body] (-0.425, 0.3) circle[radius=0.28]; + \elephant@part@draw[\elephant@body] (0.57,0.74) circle [radius=0.20]; + \elephant@part@draw[\elephant@body] (-0.57,0.74) circle [radius=0.20]; +\fi +% +% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\elephant@part@draw[\elephant@body] (0,0.75) ellipse[x radius=0.55, y radius=0.65]; +\unless\ifelephant@back + \elephant@part@draw[\elephant@body!30!white] (0,0.7) ellipse[x radius=0.35, y radius=0.4]; +\fi +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname elephanthookbelly\endcsname +\csname tikzlinghookbelly\endcsname +% +% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifelephant@back + \elephant@part@draw[\elephant@body] (0.425, 0.3) circle[radius=0.28]; + \elephant@part@draw[\elephant@body] (-0.425, 0.3) circle[radius=0.28]; + \elephant@part@draw[\elephant@body!30!white] (0.425, 0.3) circle[radius=0.17]; + \elephant@part@draw[\elephant@body!30!white] (-0.425, 0.3) circle[radius=0.17]; + \elephant@part@draw[\elephant@body] (0.57,0.75) circle [radius=0.20]; + \elephant@part@draw[\elephant@body!30!white] (0.57,0.74) circle [radius=0.12]; + \elephant@part@draw[\elephant@body] (-0.57,0.74) circle [radius=0.20]; + \elephant@part@draw[\elephant@body!30!white] (-0.57,0.74) circle [radius=0.12]; +\fi +% +% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\elephant@part@draw[\elephant@body] (0.5, 1.7) ellipse [x radius=0.35,y radius=0.45]; +\elephant@part@draw[\elephant@body] (-0.5, 1.7) ellipse [x radius=0.35,y radius=0.45]; +\unless\ifelephant@back + \elephant@part@draw[\elephant@body!30!white] (0.5, 1.7) ellipse [x radius=0.25,y radius=0.35]; + \elephant@part@draw[\elephant@body!30!white] (-0.5, 1.7) ellipse [x radius=0.25,y radius=0.35]; +\fi +% +% Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\elephant@part@draw[\elephant@body] (0, 1.55) circle[radius=0.5]; +% +% Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\unless\ifelephant@back +% +% Trunk% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifelephant@threeD + \elephant@part@draw[\elephant@body,draw=\elephant@body!70!black,line width=\scalingfactor*0.6pt] (0.1428, 1.4375) .. controls (0.1607, 1.0411) and (0.3327, 1.1276) .. (0.6705, 1.355) -- (0.72, 1.22) .. controls (0.3327, 0.9) and (-0.1607, 0.8) .. (-0.1428, 1.4375) arc [start angle=160, end angle=20, radius=0.155] -- cycle; + \fill[\elephant@body!40!black] (0.7, 1.29) circle [radius=0.08]; +\else + \elephant@part@draw[\elephant@body,draw=\elephant@body!70!black,line width=\scalingfactor*0.6pt] (0.1428, 1.4375) .. controls (0.1607, 1.0411) and (0.3327, 1.1276) .. (0.6705, 1.355) -- (0.72, 1.22) .. controls (0.3327, 0.9) and (-0.1607, 0.8) .. (-0.1428, 1.4375); + \elephant@part@draw[\elephant@body!70!black] (0.7, 1.29) circle [radius=0.08]; +\fi +% +% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\elephant@part@draw[\elephant@eye] (-0.155, 1.7) circle[radius=0.05]; +\elephant@part@draw[\elephant@eye] (0.155, 1.7) circle[radius=0.05]; +% +\fi +% Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifelephant@back + \draw[\elephant@body!30!white,line width=\scalingfactor*0.6pt] (0, 0.5904) .. controls (-0.1619, 0.4147) and (0.203, 0.4157) .. (0.2422, 0.2712); + \elephant@part@draw[\elephant@body!30!white] (0.2008, 0.1949) .. controls (0.2452, 0.2121) and (0.2799, 0.242) .. (0.2691, 0.2755) .. controls (0.2611, 0.3005) and (0.2127, 0.3115) .. (0.1927, 0.2945) .. controls (0.1674, 0.2729) and (0.2082, 0.2383) .. (0.2008, 0.1949) -- cycle; +\fi +% +% adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\csname elephanthookbody\endcsname +\csname tikzlinghookbody\endcsname +% +} diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-hippos.sty b/graphics/pgf/contrib/tikzlings/tikzlings-hippos.sty index 504dc2eea2..ec3735b920 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-hippos.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-hippos.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-hippos}[2021/03/17 version v0.5 Drawing hippos in TikZ] +\ProvidesPackage{tikzlings-hippos}[2021/04/16 version v0.6 Drawing hippos in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -137,7 +137,7 @@ \csname tikzlinghookbelly\endcsname % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifhippo@back\else +\unless\ifhippo@back \hippo@part@draw[\hippo@body] (0.35,1.0) ellipse[x radius=0.24, y radius=0.13, rotate=90]; \hippo@part@draw[\hippo@body] (-0.35,1.0) ellipse[x radius=0.24, y radius=0.13, rotate=-90]; \fi @@ -146,7 +146,7 @@ \hippo@part@draw[\hippo@body!55!white] (0, 1.76) circle[radius=0.36]; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifhippo@back\else +\unless\ifhippo@back % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifhippo@contour diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-koalas.sty b/graphics/pgf/contrib/tikzlings/tikzlings-koalas.sty index 9e77fb14ae..873a910b8e 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-koalas.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-koalas.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-koalas}[2021/03/17 version v0.5 Drawing koalas in TikZ] +\ProvidesPackage{tikzlings-koalas}[2021/04/16 version v0.6 Drawing koalas in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -123,7 +123,7 @@ % Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \koala@part@draw[\koala@body] (0.405, 2.1) ellipse[x radius=0.3, y radius=0.23]; \koala@part@draw[\koala@body] (-0.405, 2.1) ellipse[x radius=0.3, y radius=0.23]; -\ifkoala@back\else +\unless\ifkoala@back \koala@part@draw[\koala@body!40!white] (-0.405, 2.1) ellipse[x radius=0.15, y radius=0.12]; \koala@part@draw[\koala@body!40!white] (0.405, 2.1) ellipse[x radius=0.15, y radius=0.12]; \fi @@ -138,7 +138,7 @@ \koala@part@draw[\koala@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; % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifkoala@back\else +\unless\ifkoala@back \koala@part@draw[\koala@body!40!white] ( 0.425, 0.71) .. controls ( 0.425, 0.41) and ( 0.255, 0.27) .. ( 0 , 0.27) .. controls (-0.255, 0.27) and (-0.425, 0.41) .. (-0.425, 0.71) .. controls (-0.425, 1.01) and (-0.255, 1.20) .. ( 0 , 1.20) .. controls ( 0.225, 1.20) and ( 0.425, 1.01) .. ( 0.425, 0.71) -- cycle; \fi % @@ -150,7 +150,7 @@ \koala@part@draw[\koala@body] (0,1.67) ellipse[x radius=0.55, y radius=0.45]; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifkoala@back\else +\unless\ifkoala@back % % Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \koala@part@draw[\koala@body!40!black] (-0.1501, 1.5609) .. controls (-0.1784, 1.4833) and (-0.0827, 1.4108) .. ( 0.0000, 1.4108) .. controls ( 0.0827, 1.4108) and ( 0.1784, 1.4833) .. ( 0.1501, 1.5609) .. controls ( 0.1290, 1.6191) and ( 0.1187, 1.6573) .. ( 0.0750, 1.7010) .. controls ( 0.0336, 1.7424) and (-0.0336, 1.7424) .. (-0.0750, 1.7010) .. controls (-0.1187, 1.6573) and (-0.1290, 1.6191) .. (-0.1501, 1.5609) -- cycle; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-list.sty b/graphics/pgf/contrib/tikzlings/tikzlings-list.sty index b9f3fdec22..c2b02ebc29 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-list.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-list.sty @@ -1,4 +1,4 @@ -\ProvidesPackage{tikzlings-list}[2021/03/17 version v0.5 Helper package for the tikzlings] +\ProvidesPackage{tikzlings-list}[2021/04/16 version v0.6 Helper package for the tikzlings] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -10,7 +10,9 @@ bear/bears, bee/bees, cat/cats, + chicken/chickens, coati/coatis, + elephant/elephants, hippo/hippos, koala/koalas, marmot/marmots, @@ -23,6 +25,6 @@ rhino/rhinos, sheep/sheep, sloth/sloths, - snowman/snowmans, + snowman/snowmen, squirrel/squirrels% } diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-marmots.sty b/graphics/pgf/contrib/tikzlings/tikzlings-marmots.sty index dc46283d8e..44d0dd0987 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-marmots.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-marmots.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-marmots}[2021/03/17 version v0.5 Drawing marmots in TikZ] +\ProvidesPackage{tikzlings-marmots}[2021/04/16 version v0.6 Drawing marmots in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -186,7 +186,7 @@ \marmot@part@draw[\marmot@body!50!black] (-0.255,2.03) ellipse[x radius=0.09, y radius=0.13]; % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmarmot@back\else +\unless\ifmarmot@back \marmot@part@draw[\marmot@body!50!black] (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 % @@ -199,7 +199,7 @@ \fi % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmarmot@back\else +\unless\ifmarmot@back \marmot@part@draw[\marmot@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 % @@ -208,7 +208,7 @@ \csname tikzlinghookbelly\endcsname % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmarmot@back\else +\unless\ifmarmot@back % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \marmot@part@draw[\marmot@body!50!black] (0.385,0.93) ellipse[x radius=0.24, y radius=0.13, rotate=70]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-mice.sty b/graphics/pgf/contrib/tikzlings/tikzlings-mice.sty index 96cca7f2f7..0b36ea82e3 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-mice.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-mice.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-mice}[2021/03/17 version v0.5 Drawing mice in TikZ] +\ProvidesPackage{tikzlings-mice}[2021/04/16 version v0.6 Drawing mice in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -135,13 +135,13 @@ % Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mouse@part@draw[\mouse@body!65!white] (0.36, 2.17) circle[radius=0.28]; \mouse@part@draw[\mouse@body!65!white] (-0.36, 2.17) circle[radius=0.28]; -\ifmouse@back\else +\unless\ifmouse@back \mouse@part@draw[\mouse@body] (0.36, 2.17) circle[radius=0.15]; \mouse@part@draw[\mouse@body] (-0.36, 2.17) circle[radius=0.15]; \fi % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmouse@back\else +\unless\ifmouse@back \mouse@part@draw[\mouse@body!65!white] (1.0825, 1.6326) .. controls (1.3527, 1.7527) and (1.6609, 1.3164) .. (1.5928, 1.3124) .. controls (0.9164, 2.186) and (0.8338, 0.6325) .. (0.3708, 0.4451) .. controls (0.2529, 0.3974) and (-0.0064, 0.3874) .. (-0.0064, 0.3874) .. controls (-0.0776, 0.3765) and (-0.0862, 0.5026) .. (-0.0092, 0.5034) .. controls (-0.0092, 0.5034) and (0.0363, 0.4591) .. (0.3516, 0.54360) .. controls (0.6710, 0.6988) and (0.7613, 1.4825) .. (1.0825, 1.6326) -- cycle; \fi % @@ -169,7 +169,7 @@ \fi % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmouse@back\else +\unless\ifmouse@back % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mouse@part@draw[\mouse@body!65!white,rotate around={-\mouse@rotatearms:(0.47,1.15)}] (0.47,0.93) ellipse[x radius=0.13, y radius=0.24]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-moles.sty b/graphics/pgf/contrib/tikzlings/tikzlings-moles.sty index 4802444242..cf04bc19f2 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-moles.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-moles.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-moles}[2021/03/17 version v0.5 Drawing moles in TikZ] +\ProvidesPackage{tikzlings-moles}[2021/04/16 version v0.6 Drawing moles in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -120,7 +120,7 @@ \moles@part@draw[\moles@feet] (0.255,0.2) ellipse[x radius=0.23, y radius=0.09]; % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmoles@back\else +\unless\ifmoles@back \moles@part@draw[\moles@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 % @@ -136,7 +136,7 @@ \fi % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmoles@back\else +\unless\ifmoles@back \moles@part@draw[\moles@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 % @@ -145,7 +145,7 @@ \csname tikzlinghookbelly\endcsname % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifmoles@back\else +\unless\ifmoles@back % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \moles@part@draw[\moles@body] (0.37,0.86) ellipse[x radius=0.27, y radius=0.13, rotate=70]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-owls.sty b/graphics/pgf/contrib/tikzlings/tikzlings-owls.sty index 8955aff419..977593bbbb 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-owls.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-owls.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-owls}[2021/03/17 version v0.5 Draw owls in TikZ] +\ProvidesPackage{tikzlings-owls}[2021/04/16 version v0.6 Draw owls in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -135,7 +135,7 @@ \owl@part@draw[\owl@body] (-0.6361, 1.777) .. controls (-0.6361, 1.777) and (-0.7586, 1.9603) .. (-0.6759, 2.2145) .. controls (-0.3248, 1.912) and (0.3248, 1.912) .. (0.6759, 2.2145) .. controls (0.7586, 1.9603) and (0.6361, 1.777) .. (0.6361, 1.777); % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifowl@back\else +\unless\ifowl@back \owl@part@draw[\owl@body!50!white] (0.425,0.5) .. controls (0.425,0.31) and (0.245,0.27) .. (0,0.27) .. controls (-0.245,0.27) and (-0.425,0.31) .. (-0.425,0.5) .. controls (-0.425,0.81) and (-0.225,0.98) .. (0,0.98) .. controls (0.225,0.98) and (0.425,0.81) .. (0.425,0.5) -- cycle; \fi % @@ -147,7 +147,7 @@ \owl@part@draw[\owl@body] (0,1.55) ellipse[x radius=0.7, y radius=0.55]; % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifowl@back\else +\unless\ifowl@back \ifowl@contour \owl@part@draw[\owl@eye] (-0.28, 1.6) circle[radius=0.22]; \owl@part@draw[\owl@eye] (0.28, 1.6) circle[radius=0.22]; @@ -162,12 +162,12 @@ \fi % % Bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifowl@back\else +\unless\ifowl@back \owl@part@draw[\owl@bill] (0, 1.4) -- (-0.1, 1.3) -- (0, 1.15) -- (0.1, 1.3) -- cycle; \fi % % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifowl@back\else +\unless\ifowl@back \owl@part@draw[\owl@feet] (0.175,0.2) ellipse[x radius=0.03, y radius=0.1]; \owl@part@draw[\owl@feet] (0.225,0.21) ellipse[x radius=0.03, y radius=0.1, rotate=20]; \owl@part@draw[\owl@feet] (0.275,0.23) ellipse[x radius=0.03, y radius=0.1, rotate=40]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-pandas.sty b/graphics/pgf/contrib/tikzlings/tikzlings-pandas.sty index dd3862376e..9a962adac5 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-pandas.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-pandas.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-pandas}[2021/03/17 version v0.5 Drawing pandas in TikZ] +\ProvidesPackage{tikzlings-pandas}[2021/04/16 version v0.6 Drawing pandas in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -124,7 +124,7 @@ \csname tikzlinghookbelly\endcsname % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpanda@back\else +\unless\ifpanda@back \begin{scope}[yshift=-0.08cm] \panda@part@draw[black] (0.28,0.93) ellipse[x radius=0.24, y radius=0.13, rotate=70]; \panda@part@draw[black] (-0.28,0.93) ellipse[x radius=0.24, y radius=0.13, rotate=-70]; @@ -132,7 +132,7 @@ \fi % % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpanda@back\else +\unless\ifpanda@back \panda@part@draw[black] (0.32, 0.27) circle[radius=0.2]; \panda@part@draw[black] (-0.32, 0.27) circle[radius=0.2]; \fi @@ -145,7 +145,7 @@ \panda@part@draw[\panda@body!55!white] (0.4897, 1.5886) .. controls (0.4614, 1.8238) and (0.25, 2.1172) .. (0, 2.1134) .. controls (-0.25, 2.1172) and (-0.4614, 1.8238) .. (-0.4897, 1.5886) .. controls (-0.5261, 1.3269) and (-0.2748, 1.2377) .. (0, 1.2377) .. controls (0.2748, 1.2377) and (0.5261, 1.3269) .. (0.4897, 1.5886) -- cycle; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpanda@back\else +\unless\ifpanda@back % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \panda@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; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-penguins.sty b/graphics/pgf/contrib/tikzlings/tikzlings-penguins.sty index 51c9d2bf36..fe99f485fa 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-penguins.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-penguins.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-penguins}[2021/03/17 version v0.5 Draw penguins in TikZ] +\ProvidesPackage{tikzlings-penguins}[2021/04/16 version v0.6 Draw penguins in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -132,7 +132,7 @@ \penguin@part@draw[\penguin@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; % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpenguin@back\else +\unless\ifpenguin@back \penguin@part@draw[\penguin@belly] (0, 0.6) ellipse[x radius=0.48, y radius=0.35]; \fi % @@ -141,7 +141,7 @@ \csname tikzlinghookbelly\endcsname % % Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpenguin@back\else +\unless\ifpenguin@back \penguin@part@draw[\penguin@feet] (-0.265, 0.3941) .. controls (-0.283, 0.4505) and (-0.373, 0.6014) .. (-0.470, 0.6533) .. controls (-0.571, 0.7075) and (-0.576, 0.6369) .. (-0.554, 0.596) .. controls (-0.526, 0.5416) and (-0.573, 0.5302) .. (-0.602, 0.5384) .. controls (-0.695, 0.5653) and (-0.767, 0.5169) .. (-0.684, 0.434) .. controls (-0.664, 0.4137) and (-0.587, 0.3557) .. (-0.699, 0.3492) .. controls (-0.772, 0.345) and (-0.779, 0.268) .. (-0.689, 0.2445) .. controls (-0.597, 0.2206) and (-0.476, 0.2043) .. (-0.34, 0.2096) .. controls (-0.252, 0.2131) and (-0.237, 0.3059) .. (-0.265, 0.3941) -- cycle; \penguin@part@draw[\penguin@feet] @@ -149,7 +149,7 @@ \fi % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpenguin@back\else +\unless\ifpenguin@back \ifpenguin@contour \penguin@part@draw[\penguin@eye] (-0.175,1.64) ellipse[x radius=0.1, y radius=0.15, rotate=-10]; \penguin@part@draw[\penguin@pupil] (-0.145,1.625) ellipse[x radius=0.0357, y radius=0.0714, rotate=-3]; @@ -164,7 +164,7 @@ \fi % % Bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpenguin@back\else +\unless\ifpenguin@back \penguin@part@draw[\penguin@bill] (0.323, 1.4591) .. controls (0.1467, 1.3257) and (0.1066, 1.4365) .. (0, 1.4358) .. controls (-0.1066, 1.4365) and (-0.1467, 1.3257) .. (-0.323, 1.4591) .. controls (-0.1267, 1.075) and (0.1267, 1.075) .. (0.323, 1.4591) -- cycle; \fi % adding hook for users to customise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-pigs.sty b/graphics/pgf/contrib/tikzlings/tikzlings-pigs.sty index 0e4da099bb..6909df1fe3 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-pigs.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-pigs.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-pigs}[2021/03/17 version v0.5 Drawing pigs in TikZ] +\ProvidesPackage{tikzlings-pigs}[2021/04/16 version v0.6 Drawing pigs in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -110,7 +110,7 @@ \csname tikzlinghookbackground\endcsname % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpig@back\else +\unless\ifpig@back \ifpig@contour \draw[\pig@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 @@ -131,7 +131,7 @@ \csname tikzlinghookbelly\endcsname % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpig@back\else +\unless\ifpig@back \pig@part@draw[\pig@body] (-0.2402, 0.9823) .. controls (-0.2994, 1.0582) and (-0.3721, 1.0651) .. (-0.4024, 0.9978) .. controls (-0.4327, 0.9305) and (-0.4092, 0.8145) .. (-0.35, 0.7386) .. controls (-0.3311, 0.7145) and (-0.3101, 0.6964) .. (-0.289, 0.6862) .. controls (-0.2755, 0.7023) and (-0.2498, 0.7563) .. (-0.2498, 0.7563) .. controls (-0.2498, 0.7563) and (-0.1790, 0.731) .. (-0.1611, 0.746) .. controls (-0.1611, 0.746) and (-0.1809, 0.9064) .. (-0.2402, 0.9823) -- cycle; \pig@part@draw[\pig@body] (0.2402, 0.9823) .. controls (0.2994, 1.0582) and (0.3721, 1.0651) .. (0.4024, 0.9978) .. controls (0.4327, 0.9305) and (0.4092, 0.8145) .. (0.35, 0.7386) .. controls (0.3311, 0.7145) and (0.3101, 0.6964) .. (0.289, 0.6862) .. controls (0.2755, 0.7023) and (0.2498, 0.7563) .. (0.2498, 0.7563) .. controls (0.2498, 0.7563) and (0.1790, 0.731) .. (0.1611, 0.746) .. controls (0.1611, 0.746) and (0.1809, 0.9064) .. (0.2402, 0.9823) -- cycle; \fi @@ -140,7 +140,7 @@ \pig@part@draw[\pig@body!55!white] (0,1.64) ellipse[x radius=.5, y radius=.5]; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifpig@back\else +\unless\ifpig@back % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pig@part@draw[\pig@eye] (-0.09, 1.82) circle[radius=0.02]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-rhinos.sty b/graphics/pgf/contrib/tikzlings/tikzlings-rhinos.sty index 5a9e3b9e1a..c804c424bc 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-rhinos.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-rhinos.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-rhinos}[2021/03/17 version v0.5 Drawing rhinos in TikZ] +\ProvidesPackage{tikzlings-rhinos}[2021/04/16 version v0.6 Drawing rhinos in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -138,7 +138,7 @@ \csname tikzlinghookbelly\endcsname % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifrhino@back\else +\unless\ifrhino@back \rhino@part@draw[\rhino@body] (0.3,1.0) ellipse[x radius=0.24, y radius=0.13, rotate=90]; \rhino@part@draw[\rhino@body] (-0.3,1.0) ellipse[x radius=0.24, y radius=0.13, rotate=-90]; \fi @@ -147,7 +147,7 @@ \rhino@part@draw[\rhino@body!55!white] (0, 1.76) circle[radius=0.36]; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifrhino@back\else +\unless\ifrhino@back % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifrhino@contour diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-sheep.sty b/graphics/pgf/contrib/tikzlings/tikzlings-sheep.sty index c8360574af..9ef0135463 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-sheep.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-sheep.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-sheep}[2021/03/17 version v0.5 Drawing sheep in TikZ] +\ProvidesPackage{tikzlings-sheep}[2021/04/16 version v0.6 Drawing sheep in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -136,7 +136,7 @@ \csname tikzlinghookbelly\endcsname % % Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsheep@back\else +\unless\ifsheep@back \sheep@part@draw[\sheep@body!45!white!95!orange] (-0.2402, 0.9823) .. controls (-0.2994, 1.0582) and (-0.3721, 1.0651) .. (-0.4024, 0.9978) .. controls (-0.4327, 0.9305) and (-0.4092, 0.8145) .. (-0.35, 0.7386) .. controls (-0.3311, 0.7145) and (-0.3101, 0.6964) .. (-0.289, 0.6862) .. controls (-0.2755, 0.7023) and (-0.2498, 0.7563) .. (-0.2498, 0.7563) .. controls (-0.2498, 0.7563) and (-0.1790, 0.731) .. (-0.1611, 0.746) .. controls (-0.1611, 0.746) and (-0.1809, 0.9064) .. (-0.2402, 0.9823) -- cycle; \sheep@part@draw[\sheep@body!45!white!95!orange] (0.2402, 0.9823) .. controls (0.2994, 1.0582) and (0.3721, 1.0651) .. (0.4024, 0.9978) .. controls (0.4327, 0.9305) and (0.4092, 0.8145) .. (0.35, 0.7386) .. controls (0.3311, 0.7145) and (0.3101, 0.6964) .. (0.289, 0.6862) .. controls (0.2755, 0.7023) and (0.2498, 0.7563) .. (0.2498, 0.7563) .. controls (0.2498, 0.7563) and (0.1790, 0.731) .. (0.1611, 0.746) .. controls (0.1611, 0.746) and (0.1809, 0.9064) .. (0.2402, 0.9823) -- cycle; \fi @@ -146,11 +146,11 @@ % % Tail if back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifsheep@back - \sheep@part@draw[\sheep@body!45!white!95!orange,rounded corners=0.1pt] (0,0.7) -- (0.08, 0.3236) arc (0:-180:2pt) -- cycle; + \sheep@part@draw[\sheep@body!45!white!95!orange,rounded corners=\scalingfactor*0.1pt] (0,0.7) -- (0.08, 0.3236) arc (0:-180:\scalingfactor*2pt) -- cycle; \fi % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsheep@back\else +\unless\ifsheep@back % % Head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifsheep@back @@ -166,7 +166,7 @@ \sheep@part@draw[\sheep@body!55!white] (-0.22, 2.0392) .. controls (-0.26, 2.1584) and (-0.47, 2.22) .. (-0.47, 2.20) .. controls (-0.47, 2.2) and (-0.49, 1.9) .. (-0.3721, 1.9) .. controls (-0.2891, 1.88) and (-0.22, 1.88) .. (-0.22, 2.0392) -- cycle; % % Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsheep@back\else +\unless\ifsheep@back \sheep@part@draw[\sheep@eye] (0.2, 1.66) circle[radius=0.06]; \sheep@part@draw[\sheep@eye] (-0.2, 1.66) circle[radius=0.06]; \fi diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-sloths.sty b/graphics/pgf/contrib/tikzlings/tikzlings-sloths.sty index 8822df75f7..8543155b7b 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-sloths.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-sloths.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-sloths}[2021/03/17 version v0.5 Drawing sloths in TikZ] +\ProvidesPackage{tikzlings-sloths}[2021/04/16 version v0.6 Drawing sloths in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -135,7 +135,7 @@ (-0.53,0.85) .. controls (-0.53,1.41) and (-0.32,1.87) .. (0,1.87) .. controls (0.33,1.87) and (0.53,1.41) .. (0.53,0.85) -- cycle; % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsloth@back\else +\unless\ifsloth@back \sloth@part@draw[\sloth@body!70!white] (0.36, 0.74) .. controls (0.36, 0.49) and (0.22, 0.41) .. (0, 0.41) .. controls (-0.22, 0.41) and (-0.36, 0.49) .. (-0.36, 0.74) .. controls (-0.36, 1) and (-0.22, 1.16) .. (0, 1.16) .. controls (0.22, 1.16) and (0.36, 1) .. (0.36, 0.74) -- cycle; \fi % @@ -154,7 +154,7 @@ ( 0.50,1.67) -- cycle; % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsloth@back\else +\unless\ifsloth@back % \sloth@part@draw[\sloth@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; % diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-snowmans.sty b/graphics/pgf/contrib/tikzlings/tikzlings-snowmen.sty index 52c00cda6f..a7b194cf27 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-snowmans.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-snowmen.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-snowmans}[2021/03/17 version v0.5 Draw snowmans in TikZ] +\ProvidesPackage{tikzlings-snowmen}[2021/04/16 version v0.6 Draw snowmen in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -172,7 +172,7 @@ \csname tikzlinghookbelly\endcsname % % Show details only from the front %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifsnowman@back\else + \unless\ifsnowman@back % % Mouth% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fill[\snowman@mouth] (0,1.5) circle[radius=0.016]; diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-squirrels.sty b/graphics/pgf/contrib/tikzlings/tikzlings-squirrels.sty index 73d528f7eb..79a604bd74 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings-squirrels.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings-squirrels.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings-squirrels}[2021/03/17 version v0.5 Drawing squirrels in TikZ] +\ProvidesPackage{tikzlings-squirrels}[2021/04/16 version v0.6 Drawing squirrels in TikZ] \RequirePackage{tikz} \RequirePackage{tikzlings-addons} @@ -115,7 +115,7 @@ \squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (-0.255,0.2) ellipse[x radius=0.23, y radius=0.09]; % % Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsquirrel@back\else +\unless\ifsquirrel@back \squirrel@part@draw[\squirrel@body!70!brown!50!darkgray] (0.9795, 1.089) .. controls (0.9795, 1.089) and (1.0684, 1.2135) .. (1.0837, 1.2877) .. controls (1.1483, 1.6164) and (0.7470, 1.8317) .. (0.5217, 1.7097) .. controls (0.3005, 1.5585) and (0.3397, 1.2578) .. (0.3951, 1.0501) .. controls (0.4419, 0.9023) and (0.5439, 0.6908) .. (0.4287, 0.5889) .. controls (0.3845, 0.5503) and (0.2295, 0.4255) .. (0.0123, 0.3869) .. controls (0.3032, 0.1931) and (1.0822, 0.6445) .. (0.8789, 1.0501) .. controls (0.8607, 1.114) and (0.8154, 1.1881) .. (0.8716, 1.2309) .. controls (0.9325, 1.2193) and (0.9536, 1.1463) .. (0.9795, 1.089) -- cycle; \fi @@ -125,7 +125,7 @@ (0.5,0.5) .. controls (0.5,0.09) and (-0.5,0.09) .. (-0.5,0.5) .. controls (-0.5,0.85) and (-0.25,1.6) .. (0,1.7) .. controls (0.25,1.6) and (0.5,0.85) .. (0.5,0.5) -- cycle; % % Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifsquirrel@back\else +\unless\ifsquirrel@back \squirrel@part@draw[\squirrel@body!85!white] (0.35,0.5) .. controls (0.35,0.22) and (-0.35,0.22) .. (-0.35,0.5) .. controls (-0.35,0.7) and (-0.17,1.2) .. (0,1.2) .. controls (0.17,1.2) and (0.35,0.7) .. (0.35,0.5) -- cycle; \fi % diff --git a/graphics/pgf/contrib/tikzlings/tikzlings.sty b/graphics/pgf/contrib/tikzlings/tikzlings.sty index 3e9778591d..77e2bbc984 100644 --- a/graphics/pgf/contrib/tikzlings/tikzlings.sty +++ b/graphics/pgf/contrib/tikzlings/tikzlings.sty @@ -12,7 +12,7 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{tikzlings}[2021/03/17 version v0.5 Collection of packages to draw animals and other beings in TikZ] +\ProvidesPackage{tikzlings}[2021/04/16 version v0.6 Collection of packages to draw animals and other beings in TikZ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % |