1
2
3
4
5
6
7
8
9
10
11
12
13\usemodule [ newcolumnsets ]
14
15
16
17
18\setvariables
19 [ tugboat ]
20 [ type = article ,
21
22 year = 1 9 0 0 ,
23 volume = 0 ,
24 number = 0 ,
25 page = 1 0 0 1 ,
26
27 title = ConTeXt style for TUGboat ,
28 subtitle = ,
29 keywords = ,
30 author = T . Boat ,
31 address = { Harbour Master KB \\ Harbour St . 1 \\ 8 0 6 1 GH Hasselt NL } ,
32 email = { tugboat @ tug . org } ]
33
34
35
36
37\definebodyfontenvironment [ 8 pt ] [ interlinespace = 9 . 5 pt , big = 9 pt , small = 7 pt ]
38\definebodyfontenvironment [ 9 pt ] [ interlinespace = 1 1 pt , big = 1 0 pt , small = 8 pt ]
39\definebodyfontenvironment [ 1 0 pt ] [ interlinespace = 1 2 pt , big = 1 2 pt , small = 9 pt ]
40\definebodyfontenvironment [ 1 2 pt ] [ interlinespace = 1 4 pt , big = 1 4 . 4 pt , small = 1 0 pt ]
41\definebodyfontenvironment [ 1 4 . 4 pt ] [ interlinespace = 1 8 pt , big = 1 4 . 4 pt , small = 1 2 pt ]
42
43
44
45\setupbodyfontenvironment
46 [ default ]
47 [ em = italic ]
48
49
50
51
52\setupbodyfont
53 [ 1 0 pt ]
54
55
56
57\sethyphenatedurlafter
58\sethyphenatedurlafter .
59\sethyphenatedurlafter
60
61
62
63
64
65
66\setuppapersize
67 [ letter ]
68 [ letter ]
69
70\setuplayout
71 [ topspace = 3 . 8 pc ,
72 header = 1 pc ,
73 headerdistance = 1 . 5 pc ,
74 height = middle ,
75 footerdistance = 2 pc ,
76 footer = 1 pc ,
77 bottomspace = 3 pc ,
78
79 backspace = 6 pc ,
80 width = middle ,
81 cutspace = 6 pc ,
82
83 margin = 4 pc ,
84 margindistance = 1 pc ]
85
86\setupcolumnset
87 [ distance = 1 . 5 pc ]
88
89\setuppagenumbering
90 [ location = ,
91 alternative = doublesided ]
92
93
94
95
96\installpagebreakhandler { last } { }
97
98
99
100
101\setupindenting
102 [ 2 0 pt , yes ]
103
104
105
106\setupenumerations [ indentnext = no ]
107\setupdescriptions [ indentnext = no ]
108
109
110
111\setupitemgroup
112 [ itemize ]
113 [ indentnext = no ,
114 align = right ]
115
116
117
118\setupitemgroup
119 [ itemize ]
120 [ each ]
121 [ margin = 1 pc ,
122 width = 1 em ,
123 distance = 0 pt ]
124
125\setupitemgroup
126 [ itemize ]
127 [ 1 ]
128 [ packed ]
129
130
131
132
133
134
135\setuphead
136 [ section , subsection , subsubsection ,
137 subject , subsubject , subsubsubject ]
138 [ style = bold ,
139 align = right ,
140 before = { \blank [ 8 pt ] } ,
141 after = { \blank [ 4 pt ] } ]
142
143
144
145
146\definevspacingamount [ tugsmallamount ] [ 3 pt plus 1 pt minus 1 pt ] [ . 5 \lineheight ]
147\definevspacingamount [ tugmediumamount ] [ 9 pt plus 3 pt minus 3 pt ] [ . 5 \lineheight ]
148\definevspacingamount [ tuglargeamount ] [ 1 0 pt plus 4 pt minus 4 pt ] [ \lineheight ]
149
150\defineblank [ tugblank ] [ tugsmallamount ]
151\defineblank [ tugsmall ] [ tugsmallamount ]
152\defineblank [ tugmedium ] [ tugmediumamount ]
153\defineblank [ tuglarge ] [ tuglargeamount ]
154\defineblank [ tughalf ] [ halfline ]
155
156\setupblank
157 [ tugblank ]
158
159\setupitemize
160 [ 1 ]
161 [ before = { \blank [ tugblank ] } ,
162 after = { \blank [ tugblank ] } ,
163 inbetween = { \blank [ tugblank ] } ]
164
165\setuplines
166 [ before = { \blank [ tugblank ] } ,
167 after = { \blank [ tugblank ] } ,
168 inbetween = { \blank [ tugblank ] } ]
169
170
171
172\setuptyping
173 [ option = none ,
174 before = { \blank [ tugblank ] \switchtobodyfont [ small ] } ,
175 after = { \blank [ tugblank ] } ]
176
177
178
179\unexpanded \def \MyFootNoteRule
180 { \hrule width 5 pc height . 4 pt depth 0 pt \relax \kern \strutdepth }
181
182\setupfootnotes
183 [ bodyfont = 8 pt ,
184 location = columns ,
185 rule = on ,
186 rulecommand = \MyFootNoteRule ]
187
188\setupnotations
189 [ location = joinedup ,
190 width = fit ,
191 headstyle = normal ,
192 distance = . 5 em ]
193
194
195
196\definedescription
197 [ description ]
198 [ location = hanging ,
199 width = broad ,
200 before = { \blank [ tugblank ] } ,
201 after = { \blank [ tugblank ] } ]
202
203\defineenumeration
204 [ enumeration ]
205 [ location = hanging ,
206 width = broad ,
207 before = { \blank [ tugblank ] } ,
208 after = { \blank [ tugblank ] } ]
209
210
211
212\definereferenceformat
213 [ cite ]
214 [ left = { [ } ,
215 right = { ] } ]
216
217\defineitemgroup
218 [ bibliography ]
219 [ levels = 1 ]
220
221\setupitemgroup
222 [ bibliography ]
223 [ symbol = n ,
224 left = { [ } ,
225 right = { ] } ,
226 width = 1 . 5 em ,
227 stopper = ,
228 itemalign = flushright ,
229 inbetween = { \blank [ small ] } ]
230
231
232
233\setupcolors
234 [ conversion = always ]
235
236
237
238\mainlanguage
239 [ en ]
240
241
242
243\defineblank [ tugbefore ] [ big ]
244\defineblank [ tuginbetween ] [ big ]
245\defineblank [ tugafter ] [ tugbefore ]
246
247
248
249\unexpanded \def \StartAbstract
250 { \dostartbuffer [ abstract ] [ StartAbstract ] [ StopAbstract ] }
251
252\startsetups tugboat : abstract : setup
253
254 \setuptolerance
255 [ horizontal , tolerant ]
256
257 \setupnarrower
258 [ before = { \blank [ tughalf ] } ,
259 after = { \blank [ tuglarge ] } ,
260 middle = 4 . 8 7 5 pc ]
261
262\stopsetups
263
264
265
266\startsetups tugboat : banner : text : article
267
268
269
270
271
272
273\stopsetups
274
275\def \postissno { Proceedings of the \tubyear \ Annual Meeting }
276
277\startsetups tugboat : banner : text : proceedings
278
279 \setups [ tugboat : banner : text : article ]
280 \thinspace \emdash \thinspace
281 \postissno
282
283\stopsetups
284
285\startsetups tugboat : banner : setup : article
286
287 \setupheadertexts
288 [ \setups { tugboat : banner : text : article } ]
289 [ pagenumber ]
290
291
292
293
294
295
296
297\stopsetups
298
299\startsetups tugboat : banner : setup : proceedings
300
301 \setupheadertexts
302 [ ] [ \getvariable { tugboat } { title } ]
303 [ \getvariable { tugboat } { author } ] [ ]
304
305 \setupfootertexts
306 [ \setups { tugboat : banner : text : proceedings } ]
307 [ pagenumber ]
308
309\stopsetups
310
311
312
313\setups [ tugboat : banner : setup : article ]
314
315
316
317\unexpanded \def \StartArticle { \directsetup { tugboat : \getvariable { tugboat } { type } : start } }
318\unexpanded \def \StopArticle { \directsetup { tugboat : article : stop } }
319
320\startsetups tugboat : introduction : article
321
322 \start
323 \enforced \protected \def \\ { \unskip \space \& \space \ignorespaces }
324 \hbox { \indent \getvariable { tugboat } { author } }
325 \par
326 \stop
327
328\stopsetups
329
330\startsetups tugboat : introduction : proceedings
331
332 \blank [ 2 0 pt ]
333
334 \start
335 \switchtobodyfont [ 1 2 pt ]
336 \enforced \protected \def \\ { \unskip \space \& \space \ignorespaces }
337 \getvariable { tugboat } { author }
338 \par
339 \stop
340
341 \start
342 \switchtobodyfont [ 9 pt ]
343 \enforced \protected \def \\ { \unskip , \space \ignorespaces }
344 \getvariable { tugboat } { address }
345 \par
346 \start
347 \tt
348 \getvariable { tugboat } { email }
349 \stop
350 \par
351 \stop
352
353\stopsetups
354
355\startsetups tugboat : columns : presets
356
357
358
359\stopsetups
360
361\startsetups tugboat : article : start
362
363 \starttext
364
365 \setups { tugboat : columns : presets }
366
367 \setups { tugboat : banner : setup : \getvariable { tugboat } { type } }
368
369 \startcolumnset
370
371 \setupheadertexts
372 [ \setups { tugboat : banner : text : article } ]
373 [ pagenumber ]
374
375 \setuppagenumber
376 [ number = \getvariable { tugboat } { page } ]
377
378 \snaptogrid \vbox \bgroup
379 \forgetall
380 \hrule height . 6 pt
381 \blank [ halfline ]
382 \start
383 \enforced \let \\ \par
384 \start
385 \bf
386 \getvariable { tugboat } { title }
387 \stop
388 \par
389 \blank [ halfline ]
390 \hskip 2 0 pt \getvariable { tugboat } { author }
391 \stop
392
393 \blank [ line ]
394
395 \doiftext { \getbuffer [ abstract ] } {
396 \enforced \let \\ \endgraf
397 \setups [ tugboat : abstract : setup ]
398 \startsubject [ title = { Abstract } ]
399 \getbuffer [ abstract ]
400 \stopsubject
401 }
402 \egroup
403
404\stopsetups
405
406\startsetups tugboat : proceedings : start
407
408 \starttext
409
410 \setups { tugboat : banner : setup : \getvariable { tugboat } { type } }
411
412 \setupheader
413 [ state = empty ]
414
415 \setuppagenumber
416 [ number = \getvariable { tugboat } { page } ]
417
418 \snaptogrid \vbox \bgroup
419
420 \forgetall
421
422 \start
423 \switchtobodyfont [ 1 4 . 4 pt ]
424 \enforced \let \\ \par
425 \getvariable { tugboat } { title }
426 \par
427 \stop
428
429 \setups { tugboat : introduction : \getvariable { tugboat } { type } }
430
431 \blank [ tugmedium ]
432
433 \enforced \let \\ \par
434
435 \setups [ tugboat : abstract : setup ]
436
437 \midaligned { \bf Abstract }
438
439 \startnarrower [ middle ]
440 \getbuffer [ abstract ]
441 \stopnarrower
442
443 \egroup
444
445 \startcolumnset
446
447\stopsetups
448
449\def \signaturewidth { 1 3 pc }
450
451\startsetups tugboat : affiliation : article
452
453 \blank [ line ]
454
455 \snaptogrid \vbox \bgroup
456
457 \forgetall
458
459 \leftskip = \dimexpr \textwidth \signaturewidth \relax
460
461 \enforced \let \\ \par
462
463 \dontleavehmode \llap {
464 $ \diamond $ \enspace
465 }
466 \getvariable { tugboat } { author }
467 \par
468
469 \getvariable { tugboat } { address }
470 \par
471
472 { \tt \getvariable { tugboat } { email } }
473
474 \egroup
475
476\stopsetups
477
478\startsetups tugboat : affiliation : proceedings
479
480
481
482\stopsetups
483
484\startsetups tugboat : article : stop
485
486 \setups { tugboat : affiliation : \getvariable { tugboat } { type } }
487
488 \blank [ line ]
489
490 \startpacked
491 \placenote [ endnotes ]
492 \stoppacked
493
494 \stopcolumnset
495
496 \page
497
498 \stoptext
499
500\stopsetups
501
502
503
504\setuptolerance
505 [ strict ]
506
507
508
509
510
511
512
513
514\usemodule [ abr 0 3 ]
515
516
517
518
519
520
521\hyphenation { Post Script data base data bases }
522
523\setuplanguage
524 [ lefthyphenmin = 2 ,
525 rightthyphenmin = 3 ]
526
527
528
529\newcount \issueseqno
530
531\def \tubyear { 1 2 3 4 }
532\def \tubvol { 5 }
533\def \tubnum { 6 }
534
535\def \issyear # 1 . { \def \tubyear { # 1 } }
536\def \vol # 1 , # 2 . { \def \tubvol { # 1 }
537 \def \tubnum { # 2 } }
538
539
540
541\continueifinputfile { s tugboat columns . mkiv }
542
543\StartArticle
544
545 \StartAbstract
546 \input bryson
547 \StopAbstract
548
549 \dorecurse { 3 0 } { \input ward \par } \page
550
551 \startitemize
552 \startitem \input ward \stopitem
553 \startitem \input ward \stopitem
554 \stopitemize
555
556\StopArticle
557 |