1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16\setuppapersize
17 [ S 6 ][ S 6 ]
18
19\setupbodyfont
20 [ loc , ppl ]
21
22\setupcolors
23 [ state = start ]
24
25\definecolor [ shade 1 ] [ s = . 7 ]
26\definecolor [ shade 2 ] [ s = . 1 ]
27
28\definecolor [ shade 3 ] [ s = . 8 ]
29\definecolor [ shade 4 ] [ b = . 8 ]
30
31\definecolor [ shade 5 ] [ g = . 6 ]
32
33\setuplayout
34 [ topspace = 1 cm ,
35 height = fit ,
36 backspace = 1 cm ,
37 width = middle ,
38 header = 0 pt ,
39 footer = 0 pt ,
40 bottomdistance = 1 cm ]
41
42\setupbackgrounds
43 [ state = repeat ]
44
45\setupbackgrounds [ page ] [ background = page ]
46
47\defineoverlay [ page ] [ \useMPgraphic { page } ]
48\defineoverlay [ text ] [ \useMPgraphic { text } ]
49
50\startuseMPgraphic { page }
51 StartPage ;
52 path p ; numeric s ; pair cp ; cp : = center Page ;
53 s : = define_circular_shade ( cp , cp , 0 , TextWidth ,
54 \MPcolor { shade-1 } , \MPcolor { shade-2 } ) ;
55 fill Page withshade s ;
56 p : = fullcircle xyscaled ( TextWidth +1 cm , TextHeight +1 cm ) shifted cp ;
57 s : = define_circular_shade ( cp , cp , 0 , TextWidth , \MPcolor { shade-3 } ,
58 \MPcolor { shade-4 } ) ;
59 fill p withshade s ;
60 StopPage
61\stopuseMPgraphic
62
63\startuseMPgraphic { text }
64 StartPage ;
65 path p ; numeric s , t ; pair cp ; cp : = center Page ;
66 s : = define_circular_shade ( cp , cp , 0 , TextWidth ,
67 \MPcolor { shade-1 } , \MPcolor { shade-2 } ) ;
68 fill Page withshade s ;
69 p : = llcorner Field [ Text ] [ Bottom ] --
70 lrcorner Field [ Text ] [ Bottom ] --
71 urcorner Field [ Text ] [ Text ] --
72 ulcorner Field [ Text ] [ Text ] -- cycle ;
73 p : = p enlarged .5 cm randomized .5 cm ;
74 t : = define_circular_shade ( cp , cp , 0 , TextWidth , \MPcolor { shade-3 } ,
75 \MPcolor { shade-4 } ) ;
76 fill p withshade t ;
77
78 def bottom_menu_button ( expr nn , rr , pp , xx , yy , ww , hh , dd ) =
79 if ( pp > 0 ) and ( rr > 0 ) :
80 if nn = 1 :
81 p : = ( 0 , 0 ) -- ( ww , hh 2 ) -- ( 0 , hh ) cycle ;
82 elseif nn = 2 :
83 p : = ( 0 , hh 2 ) -- ( ww , hh ) -- ( ww , 0 ) cycle ;
84 else :
85 p : = origin cycle ;
86 fi ;
87 fill p randomized 2.5 mm shifted ( xx , yy ) withshade s ;
88 fi ;
89 enddef ;
90
91 \MPmenubuttons { bottom }
92
93 if length \MPstring { topic } > 0 :
94 graphictext
95 \MPstring { topic }
96 scaled 3
97 shifted ulcorner Field [ Text ] [ Text ]
98 shifted ( 0 , -1.5 cm )
99 withshade s ;
100 fi ;
101
102 StopPage ;
103\stopuseMPgraphic
104
105\setupinteractionmenu
106 [ bottom ]
107 [ state = start ,
108 frame = off ,
109 left = \hfill ,
110 middle = \hskip . 5 cm ,
111 width = 2 \bottomheight ,
112 position = yes ]
113
114\startinteractionmenu [ bottom ]
115 \but [ previouspage ] \\
116 \but [ nextpage ] \\
117\stopinteractionmenu
118
119\setupinteraction
120 [ state = start ,
121 click = no ,
122 color = shade 5 ,
123 contrastcolor = shade 5 ,
124 menu = on ]
125
126\setupwhitespace
127 [ big ]
128
129\def \Topic # 1
130 { \page
131 \setMPtext { topic }{ # 1 }
132 \vbox to 2 cm {}}
133
134\setMPtext { topic }{}
135
136\def \StartTitlePage
137 { \startstandardmakeup [ bottomstate = none ]
138 \setupalign [ middle ]
139 \vfill }
140
141\def \StopTitlePage
142 { \stopstandardmakeup
143 \setuplayout [ bottom = 1 . 5 cm ]
144 \setupbackgrounds [ page ][ background = text ] }
145
146\def \TitleString # 1 # 2
147 { \indent
148 \startMPcode
149 graphictext
150 " #2 "
151 scaled # 1
152 withdrawcolor .4 white
153 withfillcolor .7 white
154 withpen pencircle scaled 2 pt ;
155 \stopMPcode
156 \vfill }
157
158\doifnotmode { demo }{ \endinput }
159
160\starttext
161
162\StartTitlePage
163 \TitleString { 8 }{ Welcome }
164 \TitleString { 4 }{ to my favourite }
165 \TitleString { 8 }{ Quotes }
166\StopTitlePage
167
168\Topic { Douglas R . Hofstadter } \input douglas \page
169\Topic { Donald E . Knuth } \input knuth \page
170\Topic { Edward R . Tufte } \input tufte \page
171\Topic { Hermann Zapf } \input zapf \page
172
173\stoptext
174 |