summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikzpeople/tikzpeople.shape.bob.sty
blob: 6adc0cd1bec70b38a892ee83556a034609587eb8 (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
%% 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{undershirt}
\tikzpeople@addcolorkey{pearls}

\newcommand{\tikzpeople@bob@paint}{
	\tikzpeople@person@paintshirt
	\tikzpeople@bob@paintundershirt
	\tikzpeople@person@paintrighthorn
	\tikzpeople@person@painthead
	\tikzpeople@bob@painthair
	\tikzpeople@person@paintgoatee
	\tikzpeople@person@paintlefthorn
	\tikzpeople@person@painthalo
}

\newcommand{\tikzpeople@bob@definecolors}{
	\definecolor{skin}{rgb}{0.84,0.58,0.24}
	\definecolor{hair}{rgb}{0.45,0.24,0}
	\definecolor{shirt}{RGB}{98,98,98}
	\definecolor{pearls}{RGB}{252,137,172}
	\definecolor{undershirt}{rgb}{0.9,0.9,0.9}
}

\newcommand{\tikzpeople@bob@definestyles}{
	\tikzstyle{undershirt}=[color=\tikzpeople@undershirt!80,top color=\tikzpeople@undershirt!40, bottom color=\tikzpeople@undershirt!80,shading angle=45]
	\tikzstyle{shirt}=[color=\tikzpeople@shirt!80,top color=\tikzpeople@shirt!40, bottom color=\tikzpeople@shirt!80,shading angle=45]
	\tikzstyle{skin}=[color=\tikzpeople@skin!80,top color=\tikzpeople@skin!40, bottom color=\tikzpeople@skin!80,shading angle=45]
	\tikzstyle{hair}=[color=\tikzpeople@hair!80,top color=\tikzpeople@hair!40, bottom color=\tikzpeople@hair!80,shading angle=90]
	\tikzstyle{goatee}=[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]
	\tikzstyle{pearls}=[top color=\tikzpeople@pearls!40,bottom color=\tikzpeople@pearls!80,shading angle=-45]
}

\newcommand{\tikzpeople@bob@painthair}{
	\if@tikzpeople@female
		\draw[hair,shading angle=\if@tikzpeople@mirrored45\else-45\fi]
			(0:3.1pt) arc (0:120:3.1pt) -- (60:.8pt) to [out=30,in=130]
			(0:3.1pt) -- cycle;
		\draw[hair,line join=bevel,shading angle=\if@tikzpeople@mirrored-90\else90\fi]
			(120:3.1pt) arc (120:210:3.1pt) to[out=300,in=155,looseness=1] (235:3pt)  
			to [out=120,in=160,looseness=1.5] (60:.80pt) -- (120:3.1pt) -- cycle;
	\else
		\draw[hair, shading angle=\if@tikzpeople@mirrored45\else-45\fi]
			(25:3.1pt) arc (25:120:3.1pt) -- (60:.8pt) to [out=30,in=170]
			(25:3.1pt) -- cycle;
		\draw[hair,line join=bevel,shading angle=\if@tikzpeople@mirrored-90\else90\fi]
			(120:3.1pt) arc (120:190:3.1pt) to[out=283,in=210,looseness=.5] 
			(220:3pt) arc (300:405:.1pt) to[out=135,in=150,looseness=2] 
			(-1.7pt,-.6pt) to [out=90,in=180,looseness=1.5] (60:.80pt) -- 
			(120:3.1pt) -- cycle;
	\fi
}

\newcommand{\tikzpeople@bob@paintundershirt}{
	\begin{scope}
		\clip 
			(-1.9pt,-1pt) to[out=290,in=130,looseness=.75] 
			(2pt,-7.8pt)  to[out=80,in=280,looseness=.75] (1.9pt,-1pt);
		\draw[undershirt]
			(-1.9pt,-1pt) to[out=290,in=130,looseness=.75] 
			(2pt,-7.8pt)  to[out=80,in=280,looseness=.75] (1.9pt,-1pt);
		\draw[skin]
			(245:2.9pt) to[out=300,in=270,looseness=1.5] (311:3pt) -- cycle;
		\draw[color=\tikzpeople@shirt!80]
			(-1.9pt,-1pt) to[out=290,in=130,looseness=.75] 
			(2pt,-7.8pt)  to[out=80,in=280,looseness=.75] (1.9pt,-1pt);
		\if@tikzpeople@female
			\path[postaction={decorate},decoration={
				markings,
				mark=between positions 0.04 and 1 step 0.06 with {\pgftransformscale{\scalingfactor}\fill[pearls] (0pt,0pt) circle (.1pt);}}]
				(245:2.9pt) to[out=300,in=270,looseness=1.8] (311:3pt);
		\fi
	\end{scope}
}

\newcommand{\tikzpeople@bob@colors}{
	shirt/200/{-1/-.6},	hair/160/{-.65/1}, skin/20/{.25/.4}, undershirt/340/{.15/-.4}%
}