From d02867cc9ea208a26444af0c12e3ca87083ee177 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 15 Aug 2017 20:44:52 +0000 Subject: tikzducks (15aug17) git-svn-id: svn://tug.org/texlive/trunk@45048 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/tikzducks/tikzducks.sty | 297 ++++++++++++++------- 1 file changed, 196 insertions(+), 101 deletions(-) (limited to 'Master/texmf-dist/tex/latex/tikzducks') diff --git a/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty b/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty index 5ddf01db5da..d549ac66320 100644 --- a/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty +++ b/Master/texmf-dist/tex/latex/tikzducks/tikzducks.sty @@ -10,8 +10,8 @@ % Released under the LaTeX Project Public License v1.3c or later % See http://www.latex-project.org/lppl.txt % -% Version 0.2 -% Aug 2, 2017 +% Version 0.3 +% Aug 15, 2017 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20,28 +20,39 @@ \RequirePackage{xcolor} \RequirePackage{tikz} \usetikzlibrary{patterns} % for the wizard hat +%\usetikzlibrary{intersections} % for named paths -\newcommand*{\duck}[1][]{\tikzset{/duck/.cd,#1}\duck@draw} +\newcommand*{\duck}[1][]{\tikzset{% + /duck/.cd,#1}\duck@draw% +} +% Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\ifduck@water +% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@grumpy +% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@shorthair \newif\ifduck@longhair \newif\ifduck@crazyhair \newif\ifduck@recedinghair \newif\ifduck@eyebrow +% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@tshirt \newif\ifduck@jacket \newif\ifduck@tie +% Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@glasses \newif\ifduck@sunglasses \newif\ifduck@alien \newif\ifduck@hat +\newif\ifduck@cap +\newif\ifduck@santa \newif\ifduck@unicorn -\newif\ifduck@water \newif\ifduck@icecream \newif\ifduck@book \newif\ifduck@magichat \newif\ifduck@magicwand +\newif\ifduck@cricket \tikzset{ /duck/.cd, @@ -106,6 +117,8 @@ sunglasses/.code = \duck@sunglassestrue \def\duck@sunglasses{#1}, alien/.code = \duck@alientrue \def\duck@alien{#1}, hat/.code = \duck@hattrue \def\duck@hat{#1}, + cap/.code = \duck@captrue \def\duck@cap{#1}, + santa/.code = \duck@santatrue \def\duck@santa{#1}, unicorn/.code = \duck@unicorntrue \def\duck@unicorn{#1}, icecream/.code = \duck@icecreamtrue \def\duck@cone{#1}, flavoura/.code = \def\duck@flavoura{#1}, @@ -116,11 +129,14 @@ magichat/.code = \duck@magichattrue \def\duck@magichat{#1}, magicstars/.code = \def\duck@magicstars{#1}, magicwand/.code = \duck@magicwandtrue, + cricket/.code = \duck@crickettrue \def\duck@cricket{#1}, % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% glasses/.default = black, sunglasses/.default = black, alien/.default = green, hat/.default = brown, + cap/.default = blue, + santa/.default = red!80!black, unicorn/.default = pink, icecream/.default = brown!70!black, flavoura = brown!50!black, @@ -129,24 +145,34 @@ bookcolour = brown, magichat/.default = violet, magicstars = yellow!80!brown, + cricket/.default = brown, } \def\duck@draw{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % +% defining some coordinates +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\coordinate (wing) at (0.8,0.7); +\coordinate (head) at (0.9,2); +\coordinate (bill) at (0.5,1.3); +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Environment % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % water %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@water - \path[draw=\duck@water, line width=5] + \draw[\duck@water, line width=5] (1.00,0.40) ellipse (0.80 and 0.28); - \path[draw=\duck@water, line width=3] + \draw[\duck@water, line width=3] (1.00,0.40) ellipse (1.00 and 0.45); - \path[draw=\duck@water, line width=2] + \draw[\duck@water, line width=2] (1.00,0.40) ellipse (1.20 and 0.60); - \path[draw=\duck@water, line width=1] + \draw[\duck@water, line width=1] (1.00,0.40) ellipse (1.40 and 0.75); \fi % @@ -157,40 +183,30 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\path[fill=\duck@body] - (0.513,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. - (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. - (1.818,1.419) .. controls (0.938, 0.946) and ( 1.240,1.379) .. - (0.513,1.145) -- cycle; +\fill[\duck@body] \duckpathbody; % % head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifdefined\duck@head\else\let\duck@head=\duck@body\fi -\path[fill=\duck@head] +\fill[\duck@head] (0.90,1.50) ellipse (0.50 and 0.625); % % bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@grumpy - \path[fill=\duck@bill] - (0.406,1.472) .. controls (0.643,1.530) and (0.643,1.530) .. - (0.800,1.300) .. controls (0.083,0.850) and (0.269,1.369) .. - (0.406,1.472) -- cycle; + \fill[\duck@bill] \duckpathgrumpybill; \else - \path[fill=\duck@bill] - (0.406,1.472) .. controls (0.643,1.530) and (0.541,1.303) .. - (0.910,1.370) .. controls (0.083,0.850) and (0.269,1.369) .. - (0.406,1.472) -- cycle; + \fill[\duck@bill] \duckpathbill; \fi % % right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\path[fill=\duck@eye, rotate=-20] +\fill[\duck@eye, rotate=-20] (0.23,1.7675) ellipse (0.0893 and 0.125); -\path[fill=\duck@pupil, rotate=-20] +\fill[\duck@pupil, rotate=-20] (0.26,1.7575) ellipse (0.0357 and 0.0714); % % left eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\path[fill=\duck@eye, rotate=-20] +\fill[\duck@eye, rotate=-20] (-0.06,1.74) ellipse (0.0786 and 0.1143); -\path[fill=\duck@pupil, rotate=-20] +\fill[\duck@pupil, rotate=-20] (-0.03,1.73) ellipse (0.0286 and 0.0643); % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -201,11 +217,7 @@ % % tshirt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@tshirt - \path[fill=\duck@tshirt] - (0.490,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. - (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. - (1.818,1.419) .. controls (0.938, 0.976) and ( 1.240,1.279) .. - (0.590,1.000) -- cycle; + \fill[\duck@tshirt] \duckpathtshirt; \fi % % tie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -215,11 +227,7 @@ % % jacket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@jacket - \path[fill=\duck@jacket] - (0.500,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. - (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. - (1.818,1.419) .. controls (0.938, 0.946) and ( 1.240,1.378) .. - (0.513,0.700) -- cycle; + \fill[\duck@jacket] \duckpathjacket; \fi % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -230,65 +238,26 @@ % % short hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@shorthair - \path[fill=\duck@hair] - (1.3947,1.4175) .. controls (1.4546,1.4518) and (1.4699,1.6566) .. - (1.4343,1.7992) .. controls (1.2528,2.5033) and (0.2339,2.2710) .. - (0.4151,1.5907) .. controls (0.4345,1.8709) and (0.7421,2.0999) .. - (0.9494,1.9054) .. controls (1.2241,1.6476) and (1.3316,1.3814) .. - (1.3947,1.4175) -- cycle; + \fill[\duck@hair] \duckpathshorthair; \fi % % long hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@longhair - \path[fill=\duck@hair] - (1.4508,0.7565) .. controls (1.5146,0.7888) and (1.5854,0.8216) .. - (1.6247,0.8831) .. controls (1.5859,0.8847) and (1.4726,0.9457) .. - (1.5587,0.9706) .. controls (1.6317,0.9685) and (1.7016,1.0046) .. - (1.7314,1.0734) .. controls (1.7931,1.1660) and (1.6616,1.1176) .. - (1.6277,1.1566) .. controls (1.6853,1.1741) and (1.7840,1.1829) .. - (1.8123,1.2244) .. controls (1.7022,1.2488) and (1.5688,1.2663) .. - (1.5063,1.3739) .. controls (1.4619,1.5143) and (1.4696,1.6649) .. - (1.4340,1.8076) .. controls (1.2524,2.5117) and (0.2335,2.2794) .. - (0.4148,1.5991) .. controls (0.4341,1.8793) and (0.6629,2.1130) .. - (0.9011,1.9578) .. controls (1.2427,1.7382) and (1.3350,1.4214) .. - (1.0905,1.0610) .. controls (1.0897,1.0109) and (1.1103,0.9166) .. - (1.1805,0.8670) .. controls (1.2507,0.8174) and (1.3503,0.7853) .. - (1.4508,0.7565) -- cycle; + \fill[\duck@hair] \duckpathlonghair; \fi % % crazy hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@crazyhair - \path[fill=\duck@hair] - (0.1977,1.9023) .. controls (0.2633,2.0599) and (0.4819,2.0547) .. - (0.4713,2.0879) .. controls (0.4647,2.2106) and (0.2516,2.2392) .. - (0.2516,2.2392) .. controls (0.4352,2.2933) and (0.7427,1.9304) .. - (0.5743,2.3885) .. controls (0.6017,2.3633) and (0.8307,2.1739) .. - (0.8082,2.4245) .. controls (0.8271,2.2885) and (0.9195,2.0400) .. - (0.9933,2.2673) .. controls (1.0814,2.6593) and (0.9688,2.0034) .. - (1.3350,2.3615) .. controls (1.3657,2.3292) and (1.1627,2.1043) .. - (1.3424,2.1387) .. controls (1.3102,1.8312) and (1.5049,2.2623) .. - (1.5049,2.2623) .. controls (1.5049,2.2623) and (1.4675,2.0493) .. - (1.4287,1.9560) .. controls (1.4287,1.9560) and (1.6830,1.9470) .. - (1.7178,1.8823) .. controls (1.1926,1.8054) and (2.0160,1.7277) .. - (1.4923,1.7275) .. controls (1.5366,1.6685) and (1.3013,1.6009) .. - (1.6500,1.5946) .. controls (0.8836,1.5797) and (1.2764,1.9221) .. - (0.8957,2.0442) .. controls (0.5516,2.0958) and (0.5228,1.8527) .. - (0.4695,1.7963) .. controls (0.4825,1.9607) and (0.3601,1.9095) .. - (0.1977,1.9023) -- cycle;% + \fill[\duck@hair] \duckpathcrazyhair; \fi % % receding hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@recedinghair - \path[fill=\duck@hair] - (1.3385,1.4841) .. controls (1.4243,1.4529) and (1.4877,1.7127) .. - (1.3964,1.8658) .. controls (1.1071,2.3511) and (0.5189,2.1609) .. - (0.4381,1.6816) .. controls (0.4575,1.9618) and (0.9007,2.2059) .. - (1.1308,2.0390) .. controls (1.4703,1.7469) and (1.0343,1.5949) .. - (1.3385,1.4841) -- cycle;% + \fill[\duck@hair] \duckpathrecedinghair; \fi % % eye brow %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\duck@test{brown} +\pgfkeys{/duck/eyebrow/.@def/.get=\duck@test} \ifx\duck@eyebrow\duck@test \ifdefined\duck@hair\let\duck@eyebrow=\duck@hair\fi \fi% @@ -307,25 +276,25 @@ % % sunglasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@sunglasses - \path[draw=\duck@sunglasses,line width=1] + \draw[\duck@sunglasses,line width=1] (0.93,1.62) -- (1.30,1.50); \draw[line width=1,color=\duck@sunglasses] (0.73,1.67) arc (65:92:0.20); - \path[fill=\duck@sunglasses, line width=1,rotate=-20] + \fill[\duck@sunglasses, line width=1,rotate=-20] (0.23,1.7675) circle (0.125); - \path[fill=\duck@sunglasses,line width=1,rotate=-20] + \fill[\duck@sunglasses,line width=1,rotate=-20] (-0.06,1.74) circle (0.1143); \fi % % glasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@glasses - \path[draw=\duck@glasses,line width=1] + \draw[\duck@glasses,line width=1] (0.93,1.62) -- (1.30,1.50); \draw[line width=1,color=\duck@glasses] (0.73,1.67) arc (65:92:0.20); - \path[draw=\duck@glasses, line width=1,rotate=-20] + \draw[\duck@glasses, line width=1,rotate=-20] (0.23,1.7675) circle (0.125); - \path[draw=\duck@glasses,line width=1,rotate=-20] + \draw[\duck@glasses,line width=1,rotate=-20] (-0.06,1.74) circle (0.1143); \fi % @@ -333,47 +302,69 @@ \ifduck@alien \draw[line width=2,color=\duck@alien] (1.00,1.83) -- (1.20,2.30); \draw[line width=2,color=\duck@alien] (0.65,1.92) -- (0.60,2.35); - \path[fill=\duck@alien] (1.20,2.30) circle (0.07); - \path[fill=\duck@alien] (0.60,2.35) circle (0.07); + \fill[\duck@alien] (1.20,2.30) circle (0.07); + \fill[\duck@alien] (0.60,2.35) circle (0.07); \fi % % hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@hat - \path[fill=\duck@hat] (0.90,1.95) ellipse (0.46 and 0.0893);% - \path[fill=\duck@hat] (0.90,2.20) ellipse (0.25 and 0.0714);% - \path[fill=\duck@hat] (1.15,2.20) rectangle (0.65,1.95);% + \fill[\duck@hat] (0.90,1.95) ellipse (0.46 and 0.0893); + \fill[\duck@hat] (0.90,2.20) ellipse (0.25 and 0.0714); + \fill[\duck@hat] (1.15,2.20) rectangle (0.65,1.95); +\fi +% +% cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifduck@cap + \fill[\duck@cap, start angle=0, end angle=150, radius=0.5] (1.4,1.75) arc; + \fill[\duck@cap,rotate=-15] (0.3,2.05) ellipse (0.6 and 0.15); +\fi +% +% Santa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifduck@santa + \fill[\duck@santa] + (0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) .. + (1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) .. + (1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) .. + (1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) .. + (0.430,1.803) -- cycle; + \fill[white!80!brown] + (0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) .. + (1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) .. + (1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) .. + (0.44,1.733) -- cycle; + \fill[white!80!brown] (1.6,1.0) circle (0.17); \fi % % unicorn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@unicorn - \path[draw=\duck@unicorn,fill=\duck@body,line width=1,rotate=25] - (1.50,1.4375)--(1.60,1.8375)--(1.70,1.4375);% + \draw[\duck@unicorn,fill=\duck@body!100,line width=1,rotate=25] + (1.50,1.4375)--(1.60,1.8375)--(1.70,1.4375); \fi % % icecream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@icecream - \path[draw=\duck@cone,fill=\duck@cone!50!white, + \draw[\duck@cone,fill=\duck@cone!50!white, line width=0.5,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20); - \path[draw=\duck@cone,fill=\duck@cone!50!white, + \draw[\duck@cone,fill=\duck@cone!50!white, rotate=-20,line width=0.5] (0.55,1.20) ellipse (0.20 and 0.09); - \path[fill=\duck@flavoura] (0.82,1.03) circle (0.12); - \path[fill=\duck@flavourb] (1.02,0.95) circle (0.12); - \path[fill=\duck@flavourc] (0.95,1.06) circle (0.12); + \fill[\duck@flavoura] (0.82,1.03) circle (0.12); + \fill[\duck@flavourb] (1.02,0.95) circle (0.12); + \fill[\duck@flavourc] (0.95,1.06) circle (0.12); \fi % % book %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@book - \path[fill=\duck@bookcolour,rotate=-20] + \fill[\duck@bookcolour,rotate=-20] (0.40,1.20) rectangle (0.80,0.60); \node[rotate=-20, color=white] at (0.88,0.70) {\duck@book};% \fi % % magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@magichat - \path[preaction={fill, \duck@magichat},rotate=-5, - pattern=fivepointed stars, pattern color=\duck@magicstars] + \path[preaction={fill, \duck@magichat!100},rotate=-5, + pattern=fivepointed stars, pattern color=\duck@magicstars!100] (0.36,1.95)--(0.86,2.95)--(1.20,1.85); \fi % @@ -383,8 +374,112 @@ \draw[line width=2.5,color=white] (0.85,0.8167) -- (0.80,0.7333); \fi % +% cricket bat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifduck@cricket + \fill[\duck@cricket, rounded corners=2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2); + \fill[\duck@cricket, rounded corners=1, rotate=-30] (0.5,0.8) rectangle (0.6,1.3); +\fi +% }% from `\def\duck@draw{` at the very beginning +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Defining some of the more complicate paths for easy reuse +% +% naming scheme is \duckpath +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\duckpathbody}{% + (0.513,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. + (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. + (1.818,1.419) .. controls (0.938, 0.946) and ( 1.240,1.379) .. + (0.513,1.145) -- cycle +} + +\newcommand{\duckpathgrumpybill}{% + (0.406,1.472) .. controls (0.643,1.530) and (0.643,1.530) .. + (0.800,1.300) .. controls (0.083,0.850) and (0.269,1.369) .. + (0.406,1.472) -- cycle +} + +\newcommand{\duckpathbill}{% + (0.406,1.472) .. controls (0.643,1.530) and (0.541,1.303) .. + (0.910,1.370) .. controls (0.083,0.850) and (0.269,1.369) .. + (0.406,1.472) -- cycle +} + +% clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\duckpathtshirt}{% + (0.490,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. + (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. + (1.818,1.419) .. controls (0.938, 0.976) and ( 1.240,1.279) .. + (0.590,1.000) -- cycle +} + +\newcommand{\duckpathjacket}{% + (0.500,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. + (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. + (1.818,1.419) .. controls (0.938, 0.946) and ( 1.240,1.378) .. + (0.513,0.700) -- cycle +} + +% hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\duckpathshorthair}{% + (1.3947,1.4175) .. controls (1.4546,1.4518) and (1.4699,1.6566) .. + (1.4343,1.7992) .. controls (1.2528,2.5033) and (0.2339,2.2710) .. + (0.4151,1.5907) .. controls (0.4345,1.8709) and (0.7421,2.0999) .. + (0.9494,1.9054) .. controls (1.2241,1.6476) and (1.3316,1.3814) .. + (1.3947,1.4175) -- cycle +} + +\newcommand{\duckpathlonghair}{% + (1.4508,0.7565) .. controls (1.5146,0.7888) and (1.5854,0.8216) .. + (1.6247,0.8831) .. controls (1.5859,0.8847) and (1.4726,0.9457) .. + (1.5587,0.9706) .. controls (1.6317,0.9685) and (1.7016,1.0046) .. + (1.7314,1.0734) .. controls (1.7931,1.1660) and (1.6616,1.1176) .. + (1.6277,1.1566) .. controls (1.6853,1.1741) and (1.7840,1.1829) .. + (1.8123,1.2244) .. controls (1.7022,1.2488) and (1.5688,1.2663) .. + (1.5063,1.3739) .. controls (1.4619,1.5143) and (1.4696,1.6649) .. + (1.4340,1.8076) .. controls (1.2524,2.5117) and (0.2335,2.2794) .. + (0.4148,1.5991) .. controls (0.4341,1.8793) and (0.6629,2.1130) .. + (0.9011,1.9578) .. controls (1.2427,1.7382) and (1.3350,1.4214) .. + (1.0905,1.0610) .. controls (1.0897,1.0109) and (1.1103,0.9166) .. + (1.1805,0.8670) .. controls (1.2507,0.8174) and (1.3503,0.7853) .. + (1.4508,0.7565) -- cycle +} + +\newcommand{\duckpathcrazyhair}{% + (0.1977,1.9023) .. controls (0.2633,2.0599) and (0.4819,2.0547) .. + (0.4713,2.0879) .. controls (0.4647,2.2106) and (0.2516,2.2392) .. + (0.2516,2.2392) .. controls (0.4352,2.2933) and (0.7427,1.9304) .. + (0.5743,2.3885) .. controls (0.6017,2.3633) and (0.8307,2.1739) .. + (0.8082,2.4245) .. controls (0.8271,2.2885) and (0.9195,2.2400) .. + (0.9933,2.2673) .. controls (1.0814,2.6593) and (0.9688,2.0034) .. + (1.3350,2.3615) .. controls (1.3657,2.3292) and (1.1627,2.1043) .. + (1.3424,2.1387) .. controls (1.3102,1.8312) and (1.5049,2.2623) .. + (1.5049,2.2623) .. controls (1.5049,2.2623) and (1.4675,2.0493) .. + (1.4287,1.9560) .. controls (1.4287,1.9560) and (1.6830,1.9470) .. + (1.7178,1.8823) .. controls (1.1926,1.8054) and (2.0160,1.7277) .. + (1.4923,1.7275) .. controls (1.5366,1.6685) and (1.3013,1.6009) .. + (1.6500,1.5946) .. controls (0.8836,1.5797) and (1.2764,1.9221) .. + (0.8957,2.0442) .. controls (0.5516,2.0958) and (0.5228,1.8527) .. + (0.4695,1.7963) .. controls (0.4825,1.9607) and (0.3601,1.9095) .. + (0.1977,1.9023) -- cycle +} + +\newcommand{\duckpathrecedinghair}{% + (1.3385,1.4841) .. controls (1.4243,1.4529) and (1.4877,1.7127) .. + (1.3964,1.8658) .. controls (1.1071,2.3511) and (0.5189,2.1609) .. + (0.4381,1.6816) .. controls (0.4575,1.9618) and (0.9007,2.2059) .. + (1.1308,2.0390) .. controls (1.4703,1.7469) and (1.0343,1.5949) .. + (1.3385,1.4841) -- cycle; +} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 32237378723223 % 23737232212232237822 -- cgit v1.2.3