xref: /plan9/sys/lib/tmac/tmac.v (revision f06477d33a3d9ba049461e6982a4be55c5bf733f)
1'\"		Copyright (c) 1984 AT&T
2'\"		  All Rights Reserved
3'\"#ident	"@(#)macros:vmca.src	1.17"
4.if n .ds Tm \uTM\d
5.if t .ds Tm \v'-0.5m'\s-8TM\s+8\v'0.5m'
6.
7.de VS\"	foil-# foil-id date: start 7" wide × 7" high foil
8.)j
9.nr )K 0i
10.nr )L 0i
11.nr )U 8i
12.nr )X 18
13.nr )H 0
14.nr )W 0
15.nr )O 0i
16.nr )M 0
17.if !\\n(.$ .)V
18.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
19.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
20.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
21..
22.de Vh\"	.VS but 5" wide × 7" high
23.)j
24.nr )K 0.9i
25.nr )L 1i
26.nr )U 8i
27.nr )X 14
28.nr )H 1
29.nr )W 0
30.nr )O 0.2i
31.nr )M 0
32.if !\\n(.$ .)V
33.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
34.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
35.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
36..
37.de Sh\"	.VS but 5" wide × 7" high
38.)j
39.nr )K 1.1i
40.nr )L 1i
41.nr )U 8i
42.nr )X 14
43.nr )H 1
44.nr )W 0
45.nr )O 0.2i
46.nr )M 1
47.if !\\n(.$ .)V
48.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
49.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
50.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
51..
52.de Vw\"	.VS but 7" wide × 5" high
53.)j
54.nr )K 0i
55.nr )L 0i
56.nr )U 6i
57.nr )X 14
58.nr )H 0
59.nr )W 1
60.nr )O 0.2i
61.nr )M 0
62.if !\\n(.$ .)V
63.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
64.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
65.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
66..
67.de Sw\"	.VS but 7" wide × 5" high
68.)j
69.nr )K 0i
70.nr )L 0i
71.nr )U 6i
72.nr )X 14
73.nr )H 0
74.nr )W 1
75.nr )O 0.2i
76.nr )M 1
77.if !\\n(.$ .)V
78.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
79.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
80.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
81..
82.de VH\"	.VS but 7" wide × 9" high
83.)j
84.nr )K 0i
85.nr )L 0i
86.nr )U 10i
87.nr )X 18
88.nr )H 1
89.nr )W 0
90.nr )O 0.5i
91.nr )M 0
92.if !\\n(.$ .)V
93.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
94.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
95.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
96..
97.de SH\"	.VS but 7" wide × 9" high
98.)j
99.nr )K 0.5i
100.nr )L 0i
101.nr )U 10i
102.nr )X 18
103.nr )H 1
104.nr )W 0
105.nr )O 0.5i
106.nr )M 1
107.if !\\n(.$ .)V
108.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
109.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
110.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
111..
112.de VW\"	.VS but 7" wide × 5.4" high
113.)j
114.nr )K 0i
115.nr )L 0i
116.nr )U 6.44i
117.nr )X 14
118.nr )H 0
119.nr )W 1
120.nr )O 0.4i
121.nr )M 0
122.if !\\n(.$ .)V
123.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
124.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
125.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
126..
127.de SW\"	.VS but 7" wide × 5.4" high
128.)j
129.nr )K 0i
130.nr )L 0i
131.nr )U 6.44i
132.nr )X 14
133.nr )H 0
134.nr )W 1
135.nr )O 0.4i
136.nr )M 1
137.if !\\n(.$ .)V
138.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
139.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
140.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
141..
142.
143.de )V
144.fc
145.wh 0i
146.if \\nX .wh -0.5i
147.nr )o 0u
148.if \\n()i .nr )o 10p
149.nr )U +\\n()ou
150.pl \\n()Uu+1.5i
151.if \\nX .if \\n(.pu-\\n()Gu .pl \\n()Gu
152.na
153.fi
154.nh
155.lg 0
156.ta 0.5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i
157.ce 0
158.in 0i
159.ll 7.54i
160.po 0i
161.lt 7.68i
162.if \\n()i .)t "'\(da cut \(da''\(da cut \(da'" 1
163.nr )i 0
164.)t "'\l'0.38i'''\l'0.38i''" 1
165.sp 0.5v
166.po 0.23i
167.lt 7.06i
168.if \\n(.$-1 .ds )N "\\$2
169.if \\n(.$-2 .ds )Y "\\$3
170.tl \\*()Y
171.tl \\*()N
172.if \\n(.$ .tl \\*()F \\$1
173.if !\\n(.$ .tl \\*()F %
174.po
175.sp |0.68i+\\n()ou
176.po 0.26i+\\n()Lu+\\n()Ou
177.lt 7.03i-\\n()Lu-\\n()Lu-\\n()Ou-\\n()Ou
178.if \\n()H .)t "'|''|'"
179.po
180.sp |1i+\\n()Ou+\\n()ou
181.if !\\n(.A .)e
182.po 0.1i
183.lt 7.4i
184.if \\n()W .)t "'_''_'"
185.po
186.sp |1i+\\n()ou
187.if !\\n(.A .)e
188.po 0.23i+\\n()Lu
189.lt 7.06i-\\n()Lu-\\n()Lu
190.tl ++
191.sp -3p
192.if \\n()M .if \\n()W .sp \\n()Ou
193.po
194.nr )J \\n()Uu
195.if \\n()M .if \\n()W .nr )J \\n()Uu-\\n()Ou
196.nr )E \\n()Ju
197.wh \\n()Eu )Z
198.S \\n()X 6i-\\n()Ku-\\n()Ku
199.I "" A no-space
200.sp .5v
201.nr )n \\n(nlu
202..
203.de )Z
204.wh \\n()Eu
205.nr )w 0
206.ev 1
207.)g
208'sp |\\n()Uu
209.if !\\n(.A .)e
210.po 0.23i+\\n()Lu
211.lt 7.06i-\\n()Lu-\\n()Lu
212.tl ++
213.po
214'sp |\\n()Uu-\\n()Ou
215.if !\\n(.A .)e
216.po 0.1i
217.lt 7.4i
218.if \\n()W .)t "'_''_'"
219.po
220'sp |\\n()Uu+0.32i
221.po 0.26i+\\n()Lu+\\n()Ou
222.lt 7.03i-\\n()Lu-\\n()Lu-\\n()Ou-\\n()Ou
223.if \\n()H .)t "'|''|'"
224.po
225.if !\\n()H 'sp 1v
226'sp 1v
227.ev
228.if \\nX .pl \\n()Gu
229.if \\nX .wh -0.5i )m
230.wh 0i )P
231..
232.de )m
233.bp
234..
235.de )z
236.pl \\n(.pu+2i
237.br
238.if \\n()i \{.ps 10
239.lt 6i
240.tl *** No input or no ``foil start'' macro in input. \}
241.if !\\n()i \{.nr )x \\n(.vu+\\n()Eu-\\n(nlu/\\n(.vu
242.nr )v \\n()w
243.sp |\\n(.pu-2.8i
244.if \\nX .wh -0.5i
245.if \\nX .pl \\n(.pu+2i
246\&
247.br
248.)g
249.po 0i
250.ll 6i
251.ce 0
252.in 0i
253.if \\n(.A .sp -1.1v
254.if \\n(.A .sp 0.1v
255.if \\n(.A .if \\n()v ==> Approximately \\n()x blank line(s) \
256left to bottom of previous foil.
257.if \\n(.A .if !\\n()v ==> *** Previous foil full; \
258check for overflow.
259.sp |\\n(.pu-2i
260.lt 7.68i
261.)t "'\l'0.38i'''\l'0.38i''" 1
262.)t "'\(ua cut \(ua''\(ua cut \(ua'" 1 \}
263..
264.de )t
265.if !\\n(.A .if \\n(.$-1 .)e
266.if !\\n(.A .tl \\$1
267..
268.de )e
269.po 0i
270.lt 1i
271.tl '\ '''
272'sp -1v
273.po
274.lt
275..
276.de )P
277.pl 2i
278.if \\nX .pl \\n()Gu
279..
280.de )j
281.br
282.if \\n()i .if \\n(nl \{.ps 10
283.lt 6i
284.tl *** Text before ``foil start'' macro in input. \}
285.if !\\n()i \{.nr )x \\n(.vu+\\n()Eu-\\n(nlu/\\n(.vu
286.nr )v \\n()w
287.sp |\\n(.pu-0.8i
288\&
289.br\}
290.)g
291.if !\\n()i \{.po 0i
292.ll 6i
293.ce 0
294.in 0i
295.if \\n(.A .sp -1.1v
296.if \\n(.A .sp 0.1v
297.if \\n(.A .if \\n()v ==> Approximately \\n()x blank line(s) \
298left to bottom of previous foil.
299.if \\n(.A .if !\\n()v ==> *** Previous foil full; \
300check for overflow.
301.br
302.ll
303.po\}
304.if \\n(nl .bp
305.nr )w 1
306..
307.de )g
308.ft \\*()f
309.cs \\*()f
310.ps 8
311.vs 10p
312.ss 16
313..
314.
315.de T\"		string: title
316.br
317.if \\n(nlu-\\n()nu .sp .5v
318.nr ]a \\n(.s
319.ps
320.nr ]b \\n(.s
321.ps
322.nr )u \\n(.iu
323.in 0i
324.ps +4
325.ce
326\&\\$1
327.in \\n()uu
328.ps \\n(]b
329.ps \\n(]a
330.sp .5v
331.nr )n \\n(nlu
332..
333.de S\"		ps line-length: set point size & line length
334.if !\w\\$1 .ps
335.if \w\\$1 .if !\\$1+1 .ps \\$1
336.if \w\\$1 .if \\$1 .nr )y \\n(.s
337.if \w\\$1 .if \\$1 .nr )y \\$1
338.if \w\\$1 .if \\$1-99 .nr )y \\n()X
339.if \w\\$1 .if \\$1 .ps \\n()y
340.vs \\n(.sp*5u/4u
341.ss 16
342.nr )a .8i+\\n()Ku
343.nr ]c \\n(.s
344.ps
345.nr ]d \\n(.s
346.ps
347.nr )A \\n(.s*\\n()Q/\\n(]X
348.ps \\n()A
349.nr )b \w\\*()B\ u
350.ps
351.nr )A \\n(.s*\\n()R/\\n(]X
352.ps \\n()A
353.nr )c \\n()bu+\w\\*()C\ u
354.ps
355.nr )A \\n(.s*\\n()S/\\n(]X
356.ps \\n()A
357.nr )d \\n()cu+\w\\*()D\ u
358.ps \\n(]d
359.ps \\n(]c
360.if \\n(.$-1 .nr )u \\$2
361.if \\n(.$-1 .if !\\n()uu-7u .nr )p \\$2i
362.if \\n(.$-1 .if \\n()uu-7u .nr )p \\$2
363.nr )q \\n()pu-0i
364.nr )r \\n()qu-0i
365.nr )s \\n()ru-0i
366.nr )T \\n(.sp*5u/4u
367.nr )E \\n()Ju-\\n()Tu
368.ch )Z \\n()Eu
369..
370.de I\"		in a a-arg: set text indent
371.if !\w\\$1u .nr )k 0i
372.if \w\\$1u .if !\\$1 .nr )u 0i-\\$1
373.if \w\\$1u .if \\$1 .nr )u \\$1
374.if \w\\$1u .if !\\n()uu-7u .nr )k \\$1i
375.if \w\\$1u .if \\n()uu-7u .nr )k \\$1
376.if \\n(.$-1 .A \\$3
377..
378.de A\"		nospace: 1st indentation level
379.br
380.if !\\n(.$ .if \\n(nlu-\\n()nu .sp \\*(]Au
381.nr )n \\n(nlu
382.po \\n()au
383.in 0u+\\n()ku
384.ll \\n()pu
385.lt \\n()pu
386..
387.de B\"		mark ±ps: 2nd indentation level
388.br
389.if \\n(nlu-\\n()nu .sp \\*(]Bu
390.nr )n \\n(nlu
391.in \\n()bu+\\n()ku
392.ll \\n()qu
393.lt \\n()qu
394.nr )l 0
395.nr ]x \\n()bu
396.if !\\n(.$ .)I \\*()B \\n()Q
397.if \\n(.$ .if !\\n(.$-1 .)I "\\$1" 0
398.if \\n(.$-1 .if \\$2-99 .)I "\\$1\ \|" \\n()Q
399.if \\n(.$-1 .if !\\$2-99 .nr )l 1
400.if \\n(.$-1 .if !\\$2-99 .)I "\\$1" "\\$2"
401..
402.de C\"		mark ±ps: 3rd indentation level
403.br
404.if \\n(nlu-\\n()nu .sp \\*(]Cu
405.nr )n \\n(nlu
406.in \\n()cu+\\n()ku
407.ll \\n()ru
408.lt \\n()ru
409.nr )l 0
410.nr ]x \\n()cu-\\n()bu
411.if !\\n(.$ .)I \\*()C \\n()R
412.if \\n(.$ .if !\\n(.$-1 .)I "\\$1" 0
413.if \\n(.$-1 .if \\$2-99 .)I "\\$1\ \|" \\n()R
414.if \\n(.$-1 .if !\\$2-99 .nr )l 1
415.if \\n(.$-1 .if !\\$2-99 .)I "\\$1" "\\$2"
416..
417.de D\"		mark ±ps: 4th indentation level
418.br
419.if \\n(nlu-\\n()nu .sp \\*(]Du
420.nr )n \\n(nlu
421.in \\n()du+\\n()ku
422.ll \\n()su
423.lt \\n()su
424.nr )l 0
425.nr ]x \\n()du-\\n()cu
426.if !\\n(.$ .)I \\*()D \\n()S
427.if \\n(.$ .if !\\n(.$-1 .)I "\\$1" 0
428.if \\n(.$-1 .if \\$2-99 .)I "\\$1\ \|" \\n()S
429.if \\n(.$-1 .if !\\$2-99 .nr )l 1
430.if \\n(.$-1 .if !\\$2-99 .)I "\\$1" "\\$2"
431..
432.de )I
433.nr ]a \\n(.s
434.ps
435.nr ]b \\n(.s
436.ps
437.if !\\n()l .if !\\$2 .nr )A \\n(.s
438.if !\\n()l .if \\$2 .nr )A \\n(.s*\\$2/\\n(]X
439.if \\n()l .nr )A \\n(.s+\\$2
440.ps \\n()A
441.ti -\w\\$1\ u
442\&\\$1\ \&\c
443.ps \\n(]b
444.ps \\n(]a
445..
446.de U\"		string suffix: underline string
447.if !\w\\$1u-.46m \&\\$1\v'.55m'\l'|0\(hy'\v'-.55m'\\$2
448.if \w\\$1u-.46m \&\\$1\v'.09m'\l'|0\(ul'\v'-.09m'\\$2
449..
450.de DV\"	a b c d: set vertical spacing for indent levels
451.if \w\\$1 .ds ]A \\$1
452.if \w\\$2 .ds ]B \\$2
453.if \w\\$3 .ds ]C \\$3
454.if \w\\$4 .ds ]D \\$4
455..
456.de DF\"	num font ...: define font positions
457.if \\n(.$-1 .ds )f "\\$2
458.if \\n(.$-1 .fp \\$1 \\$2
459.if \\n(.$-1 .ft \\$2
460.if \\n(.$-3 .fp \\$3 \\$4
461.if \\n(.$-5 .fp \\$5 \\$6
462.if \\n(.$-7 .fp \\$7 \\$8
463..
464.
465.de SP
466.sp \\$1
467..
468.de BR
469.br
470..
471.de TA
472'ta \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
473..
474.de CE
475.ce \\$1
476..
477.de TI
478.ti \\$1
479..
480.de FI
481.fi
482..
483.de NF
484.nf
485..
486.de AD
487'ad \\$1
488..
489.de NA
490'na
491..
492.de HY
493'hy \\$1
494..
495.de NH
496'nh
497..
498.de SO
499'so \\$1
500..
501.de NX
502'nx \\$1
503..
504.
505.ds )F FOIL
506.if \n(.A .ds )F FOIL
507.ds )N Bell\ Labs
508.ds )Y \n(mo/\n(dy/\n(yr
509.ds )B \(bu\ \|
510.ds )C \(em\ \|
511.ds )D \(bu\ \|
512.ds ]A .5v
513.ds ]B .5v
514.ds ]C .5v
515.ds ]D 0v
516.nr )G 11i-7.5p
517.nr )Q 5
518.nr )R 5
519.nr )S 3
520.nr ]X 6
521.nr )i 1
522.nr )w 0
523.em )z
524.DF 1 H
525