summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikzpeople/tikzpeople.shape.jester.sty
blob: 32c081746531244c2271fff98b119f9765754c12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
%% Copyright 2016 Nils Fleischhacker
%%
%% This work may be distributed and/or modified under the 
%% conditions of the LaTeX Project Public License, either 
%% version 1.3 of this license or (at your option) any later 
%% version. The latest version of this license is in
%%
%%   http://www.latex-project.org/lppl.txt
%%
%% and version 1.3 or later is part of all distributions of 
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%% 
%% The Current Maintainer of this work is Nils Fleischhacker.
%%
%% This work consists of the files tikzpeople.tex, tikzpeople.sty,
%% tikzpeople.shape.alice.sty, tikzpeople.shape.bob.sty, 
%% tikzpeople.shape.bride.sty, tikzpeople.shape.builder.sty,
%% tikzpeople.shape.businessman.sty, tikzpeople.shape.charlie.sty,
%% tikzpeople.shape.chef.sty, tikzpeople.shape.conductor.sty,
%% tikzpeople.shape.cowboy.sty, tikzpeople.shape.criminal.sty,
%% tikzpeople.shape.dave.sty, tikzpeople.shape.graduate.sty, 
%% tikzpeople.shape.groom.sty, tikzpeople.shape.guard.sty, 
%% tikzpeople.shape.jester.sty, tikzpeople.shape.judge.sty,
%% tikzpeople.shape.mexican.sty, tikzpeople.shape.nun.sty, 
%% tikzpeople.shape.nurse.sty, tikzpeople.shape.physician.sty,
%% tikzpeople.shape.pilot.sty, tikzpeople.shape.police.sty,
%% tikzpeople.shape.priest.sty, tikzpeople.shape.sailor.sty,
%% tikzpeople.shape.santa.sty and tikzpeople.shape.surgeon.sty
\tikzpeople@addcolorkey{details}
\tikzpeople@addcolorkey{pattern}
\tikzpeople@addcolorkey{hat}

\newcommand{\tikzpeople@jester@paint}{
	{
		\tikzpeople@person@paintrighthorn
	}
	\tikzpeople@person@paintshirt
	\tikzpeople@jester@paintshirtdetails
	\tikzpeople@person@painthead
	\tikzpeople@person@paintgoatee
	\tikzpeople@person@painthair
	\tikzpeople@jester@painthat
	{
		\tikzpeople@person@paintlefthorn
	}
	\tikzpeople@person@painthalo
}

\newcommand{\tikzpeople@jester@paintshirtdetails}{
	\begin{scope}
		\clip 
		(-4pt,-8pt) .. controls (-2pt,-10pt) and (3pt,-9pt) .. 
		( 5pt,-7pt) .. controls ( 5pt,  0pt) and (-5pt,0pt) ..
		(-4pt,-8pt);
		\coordinate (inc) at (2pt,.4pt);
		\path  (-10.5pt,-4pt)coordinate (T1)
			++(inc) coordinate (T2) ++(inc) coordinate (T3)	++(inc) coordinate (T4)
			++(inc) coordinate (T5)	++(inc) coordinate (T6)	++(inc) coordinate (T7)
			++(inc) coordinate (T8)	++(inc) coordinate (T9)	++(inc) coordinate (T10)
			++(inc) coordinate (T11);
		\path  (-7pt,-12pt) coordinate (B1)
			++(inc) coordinate (B2) ++(inc) coordinate (B3)	++(inc) coordinate (B4)
			++(inc) coordinate (B5) ++(inc) coordinate (B6)	++(inc) coordinate (B7)
			++(inc) coordinate (B8) ++(inc) coordinate (B9);
		\fill[pattern] (T2)
			to[in=100,out=300] (B2) to[in=260,out=50] (T6) to[in=100,out=300] (B6)
			to[in=260,out=50] (T10)	-- (T11) to[in=50,out=260] (B7)
			to[in=300,out=100] (T7) to[in=50,out=260] (B3) to[in=300,out=100] (T3) -- 
			(T4) to[in=100,out=300] (B4) to[in=260,out=50] (T8) 
			to[in=100,out=300] (B8) -- (B9)	to[in=300,out=100] (T9)
			to[in=50,out=260] (B5) to[in=300,out=100] (T5) to[in=50,out=260](B1)
			to[in=300,out=100](T1) --cycle;
	\end{scope}
}

\newcommand{\tikzpeople@jester@painthat}{
	\begin{scope}
		\pgftransformrotate{10}
		\draw[hat] 
			(180:3.2pt) to[out=60,in=60] ++(91:3pt) to[out=240,in=90] ++(271:.9pt) 
			to[out=270,in=85] ++(268:.9pt) coordinate (bell1) to[out=130,in=170] 
			++(73:4pt) to[out=350,in=180] (.5pt,3.3pt) to[out=0,in=200] ++(45:2.5pt) 
			to[out=20,in=80] ++(290:4pt) coordinate (bell2) to[out=100,in=75] 
			++(120:2.1pt) to[out=255,in=100] (0:3.1pt) to[out=170,in=10] (180:3.1pt);
		\path[pattern]
			(0:3.2pt) ++(0,-.2pt) to[out=170,in=10] ++(180:6.4pt) to[out=110,in=250] 
			++(0,1.2pt) to[out=10,in=170] ++(0:6.4pt) to[out=290,in=70] ++(0,-1.22pt)
			--cycle;
		\begin{scope}
			\clip (bell1) circle (.4pt) (bell2) circle (.4pt);
			\path[details] (bell1) ++(-.15pt,.15pt) circle (.7pt);
			\path[details] (bell2) ++(-.15pt,.15pt) circle (.7pt);
		\end{scope}
	\end{scope}
}

\newcommand{\tikzpeople@jester@definecolors}{
	\definecolor{shirt}{RGB}{100,187,41}
	\definecolor{pattern}{RGB}{208,48,0}
	\definecolor{hat}{RGB}{100,187,41}
	\definecolor{skin}{rgb}{0.84,0.58,0.24}
	\definecolor{hair}{rgb}{0.45,0.24,0}
	\definecolor{details}{RGB}{225,87,0}
}
\newcommand{\tikzpeople@jester@definestyles}{
	\tikzstyle{shirt}=[color=\tikzpeople@shirt!80,top color=\tikzpeople@shirt!50, bottom color=\tikzpeople@shirt!80,shading angle=45];
	\tikzstyle{pattern}=[color=\tikzpeople@pattern!80,top color=\tikzpeople@pattern!50, bottom color=\tikzpeople@pattern!80,shading angle=45];
	\tikzstyle{hat}=[color=\tikzpeople@hat!80,top color=\tikzpeople@hat!40, bottom color=\tikzpeople@hat!80,shading angle=45];
	\tikzstyle{skin}=[color=\tikzpeople@skin!80,top color=\tikzpeople@skin!40, bottom color=\tikzpeople@skin!80,shading angle=45];
	\tikzstyle{details}=[color=\tikzpeople@details,inner color=\tikzpeople@details!30, outer color=\tikzpeople@details!90];
	\tikzstyle{goatee}=[color=\tikzpeople@hair!80,top color=\tikzpeople@hair!40, bottom color=\tikzpeople@hair!80,shading angle=-45];
	\tikzstyle{hair}=[color=\tikzpeople@hair!80,top color=\tikzpeople@hair!40, bottom color=\tikzpeople@hair!80,shading angle=-45];
	\tikzstyle{horns}=[color=red!80,top color=red!40, bottom color=red!80,shading angle=45];
	\tikzstyle{halo}=[color=yellow!80,top color=yellow!40, bottom color=yellow!80,shading angle=45];
}

\newcommand{\tikzpeople@jester@colors}{
	shirt/200/{-1/-1}, hat/40/{.7/1.9}, skin/20/{.6/.9}, 
	details/150/{.85/1.45,-1.05/1.1}, pattern/0/{-.4/1.1,.9/-.2}, 
	hair/180/{-.6/.75}%
}