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
|
%%%%%%%%%%%%%%%%%% ifclk.gen %%%%%%%%%%%%%%%%%%%%%%%
% (c) Ingo Kloeckl
% This program can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% History
% 20.12.1999 v1.0 IK
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generates clock symbols with 5 min increment
% by I.Kloeckl, ingo.kloeckl@2k-software.de
% clock for hh:mm -> \symbol{hh*12+mm/5}
picture clk, % Zifferblatt
clkb, % Zifferblatt mit Zeiger 13:00
clks; % Stopuhr
path button; button = (5.5pt,10pt)--(5.5pt,11pt)--(6pt,11pt)..
(6.5pt,11.5pt)..(6pt,12pt)--(4pt,12pt)..(3.5pt,11.5pt)..
(4pt,11pt)--(4.5pt,11pt)--(4.5pt,10pt)--cycle;
% Zifferblatt
beginchar(149,10pt#,10pt#,0);
pickup pencircle scaled .75linewidth;
draw fullcircle scaled 10pt shifted (5pt,5pt);
path s; s=(8pt,5pt)--(9pt,5pt);
for i=0 upto 11:
draw s rotatedaround ((5pt,5pt),(i*30));
endfor;
clk := currentpicture;
endchar;
n := 0;
for h=3 downto -8:
for m=15 step -5 until -40:
beginchar((char n),10pt#,10pt#,0);
currentpicture := clk;
pickup pencircle scaled .75linewidth;
draw (5pt,5pt)--(9pt,5pt) rotatedaround ((5pt,5pt),(m*6));
draw (5pt,5pt)--(7pt,5pt) rotatedaround ((5pt,5pt),(h*30-(15-m)/2));
endchar;
n := n+1;
endfor;
endfor;
% Taschenuhr
beginchar(150,10pt#,14pt#,0);
currentpicture := clk;
pickup pencircle scaled .75linewidth;
draw (5pt,5pt)--(9pt,5pt) rotatedaround ((5pt,5pt),0);
draw (5pt,5pt)--(7pt,5pt) rotatedaround ((5pt,5pt),22.5);
clkb := currentpicture;
draw fullcircle scaled 4pt shifted (5pt,12pt);
fill button;
endchar;
% Taschenuhr2
beginchar(148,11pt#,16pt#,0);
currentpicture := clkb shifted(0,1pt);
pickup pencircle scaled .75linewidth;
draw fullcircle scaled 12pt shifted (5pt,6pt);
draw fullcircle scaled 4pt shifted (5pt,14pt);
fill button shifted(0,2pt);
endchar;
% stop watch start
beginchar(151,12pt#,12pt#,0);
currentpicture := clk;
pickup pencircle scaled .75linewidth;
draw fullcircle scaled 2pt shifted (5pt,11pt);
fill button rotatedaround((5pt,5pt),40);
fill button rotatedaround((5pt,5pt),-40);
clks := currentpicture;
draw (5pt,5pt)--(9pt,5pt) rotatedaround ((5pt,5pt),90);
endchar;
% stop watch stop
beginchar(152,10pt#,12pt#,0);
currentpicture := clks;
pickup pencircle scaled .75linewidth;
draw (5pt,5pt)--(9pt,5pt) rotatedaround ((5pt,5pt),-60);
endchar;
% interval
beginchar(153,10pt#,10pt#,0);
currentpicture := clk;
fill quartercircle scaled 10pt shifted(5pt,5pt)--(5pt,5pt)--cycle;
fill quartercircle rotated -30 scaled 10pt shifted(5pt,5pt)
--(5pt,5pt)--cycle;
endchar;
% Wecker
beginchar(154,14pt#,12pt#,0);
fill unitsquare xscaled 14pt yscaled 12pt;
unfill fullcircle scaled 10pt shifted(7pt,6pt);
currentpicture := currentpicture + clkb shifted(2pt,1pt);
endchar;
% another clock
beginchar(155,10pt#,10pt#,0);
pickup pencircle scaled .75linewidth;
draw fullcircle scaled 10pt shifted (5pt,5pt);
fill fullcircle scaled 1pt shifted (5pt,5pt);
draw (5pt,5pt)--(9pt,5pt) rotatedaround ((5pt,5pt),90);
draw (5pt,5pt)--(7pt,5pt) rotatedaround ((5pt,5pt),60);
endchar;
end.
%%%%%%%%%%%%%%%%%% end of ifclk.gen %%%%%%%%%%%%%%%%%%%%%%%
|