The C stab code only distinguishes 'char' from 'int' range types; char has
[unix-history] / usr / src / old / tmac / tmac.an
CommitLineData
6719a6ea
KM
1.\" Copyright (c) 1980 Regents of the University of California.
2.\" All rights reserved. The Berkeley software License Agreement
3.\" specifies the terms and conditions for redistribution.
4.\"
6b2971d2 5.\" @(#)tmac.an 6.4 (Berkeley) %G%
6719a6ea 6.\"
1d2340f3 7' DT, PD, SM, and B macros invoked internally.
6719a6ea
KM
8' # month name
9.if "\nd"0" .nr m \n(mo-1
10.if "\nm"0" .ds ]m January
11.if "\nm"1" .ds ]m February
12.if "\nm"2" .ds ]m March
13.if "\nm"3" .ds ]m April
14.if "\nm"4" .ds ]m May
15.if "\nm"5" .ds ]m June
16.if "\nm"6" .ds ]m July
17.if "\nm"7" .ds ]m August
18.if "\nm"8" .ds ]m September
19.if "\nm"9" .ds ]m October
20.if "\nm"10" .ds ]m November
21.if "\nm"11" .ds ]m December
22' # set the date
23.if n \{.nr m \nm+1
24. ie \nd .ds ]W Modified \nm/\nd/\ny
25. el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
26.if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
27. el .ds ]W \*(]m \n(dy, 19\n(yr\}
28.if t .tr *\(**
29.ie n \{\
30. ds lq \&"\"
31. ds rq \&"\"
32.\}
33.el \{\
34. ds rq ''
35. ds lq ``
36.\}
540d9573 37.de AT
6719a6ea 38.if t \{\
540d9573
KM
39. ds ]W 7th Edition
40. if "\\$1"3" .ds ]W 7th Edition
41. if "\\$1"4" .ds ]W System III
42. if "\\$1"5" \{\
43. ie "\\$2"" .ds ]W System V
44. el .ds ]W System V Release \\$2
76fe4bac 45. \}
6719a6ea
KM
46.\}
47..
540d9573
KM
48.de UC
49.if t \{\
50. ds ]W 3rd Berkeley Distribution
51. if "\\$1"3" .ds ]W 3rd Berkeley Distribution
52. if "\\$1"4" .ds ]W 4th Berkeley Distribution
53. if "\\$1"5" .ds ]W 4.2 Berkeley Distribution
54. if "\\$1"6" .ds ]W 4.3 Berkeley Distribution
55.\}
56..
6719a6ea
KM
57' # reset the basic page layout
58.de }E
59.}f
60.in \\n()Ru+\\n(INu
61.ll \\n(LLu
62..
63' # default tabs
64.de DT
65'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
66..
67' # set type font and size
68.de }f
69.ps 10
70.ft 1
71..
72' # handle the head of the page
73.de }H
74.ev 1
75.}C
40fcab3d
KM
76.ie "\*(.T"va" 'sp .1i
77.el 'sp .5i
6719a6ea
KM
78.ft 1
79.ps 10
80.tl @\\*(]H@\\*(]D@\\*(]H@
81'sp .5i
82.ev
83.ns
84..
85' # handle the foot of the page
86.de }F
87.ev 1
88.ft 1
89.ps 10
90'sp .5i
91.tl @\\*(]W@\\*(]L@%@
92'bp
93.ev
94..
95' # the cut mark
96.if n .ig
6b2971d2 97.if !\nv=2 .ig
6719a6ea 98.de }C
1d2340f3
KM
99.po 0i
100.lt 7.45i
101.tl '__''__'
6719a6ea 102.po
1d2340f3 103.lt
6719a6ea
KM
104..
105' # the final cut mark
106.de }M
107.}N
108.wh -1p }C
109.ll \\n(LLu
110..
111' # no runout unless there was a .TH
112.de }K
113.}N
114.pl 1
115.ll \\n(LLu
116..
117.em }K
118' # set title and heading
119.de TH
120.PD
121.DT
122.if n .nr IN .5i
123.if t .nr IN .5i
124.nr LL \\n(.l
125.ds ]H \\$1\|(\|\\$2\|)
76fe4bac
KM
126.ie "\\$5"" .ds ]D UNIX Programmer's Manual
127.el .ds ]D \\$5
6719a6ea 128.wh 0 }H
1d2340f3
KM
129.if t .ie !"\*(.T"va" .wh -1i }F
130.if t .el .wh -1.4i }F
6719a6ea
KM
131.if n .wh -1.167i }F
132.em }M
133.if \\n(nl .bp 1
134.ds ]L \\$3
135.}E
136.DT
137.nr )I .5i
138.nr )R 0
139.if n .na
140.mk ka
141.if !'\\n(ka'-1' .bp
76fe4bac
KM
142.if t \{\
143. ie "\\$4"" .ds ]W 7th Edition
144. el .ds ]W \\$4
145.\}
6719a6ea
KM
146..
147' # section heading
148.de SH
1d2340f3
KM
149.ss 12
150.if "\\$2"SYNOPSIS" .ss 18
6719a6ea
KM
151.}X 0
152.nr )E 2
1d2340f3 153.SM
6719a6ea
KM
154\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
155..
156' # sub section heading
157.de SS
158.}X \\n()Ru+\\n(INu
159\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
160.br
161..
162' # subroutine for section heading
163.de }X
164.}E
165.ti \\$1
166.sp \\n()Pu
167.ne 2
168.nr )R 0
169.fi
170.it 1 }N
6719a6ea
KM
171.B
172..
173' # end of SH (cf }X above and }N below)
174.de }2
175.nr )E 0
176.}E
177.nr )I .5i
178.ns
179..
180' # italic
181.de I
182.ft 2
183.it 1 }N
184.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
185..
186' # bold
187.de B
188.ft 3
189.it 1 }N
190.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
191..
192' # small
193.de SM
194.ps 9
195.it 1 }N
196.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
197..
198' # combinations of Roman, italic, bold
199.de RI
200.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
201..
202.de VS
203'if '\\$1'4' .mc \s12\(br\s0
204..
205.de VE
206'mc
207..
208.de RB
209.}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
210..
211.de IR
212.}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
213..
214.de IB
215.}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
216..
217.de BR
218.}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
219..
220.de BI
221.}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
222..
223' # make special case of shift out of italic
224.de }S
225.ds ]F
226.if "\\$1"2" .if !"\\$5"" .ds ]F\^
227.ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
228.el \\$3
229.}f
230..
231' # paragraph
232.de LP
233.PP
234..
235.de PP
236.sp \\n()Pu
237.ne 2
238.}E
239.nr )I .5i
240.ns
241..
1d2340f3
KM
242' # synonym for .PP
243.de P
244.PP
245..
6719a6ea
KM
246' # paragraph distance
247.de PD
248.if t .nr )P .4v
249.if n .nr )P 1v
250.if !"\\$1"" .nr )P \\$1v
251..
1d2340f3 252' # paragraph with hanging indent
6719a6ea
KM
253.de HP
254.sp \\n()Pu
255.ne 2
256.if !"\\$1"" .nr )I \\$1n
257.ll \\n(LLu
258.in \\n()Ru+\\n(INu+\\n()Iu
259.ti \\n()Ru+\\n(INu
260.}f
261..
262' # indented paragraph
263.de IP
264.TP \\$2
265\&\\$1
266..
1d2340f3 267' # tagged paragraph (paragraph with hanging label)
6719a6ea
KM
268.de TP
269.if !"\\$1"" .nr )I \\$1n
270.sp \\n()Pu
1d2340f3 271.ne 1.1v
6719a6ea
KM
272.in \\n()Ru
273.nr )E 1
274.ns
275.it 1 }N
276.di ]B
277..
278' # end of TP (cf }N below)
279.de }1
280.ds ]X \&\\*(]B\\
281.nr )E 0
282.if !"\\$1"" .nr )I \\$1n
283.}f
284.ll \\n(LLu
285.in \\n()Ru+\\n(INu+\\n()Iu
286.ti \\n(INu
287.ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
288.br\}
289.el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
290.}f
291..
292' # handle end of 1-line features
293.de }N
294.if \\n()E .br
295.di
296.if "\\n()E"0" .}f
297.if "\\n()E"1" .}1
298.if "\\n()E"2" .}2
299.nr )E 0
300..
301' # increase relative indent
302.de RS
303.nr ]\\n+()p \\n()I
304.nr )\\n()p \\n()R
305.ie !"\\$1"" .nr )R +\\$1n
306.el .nr )R +\\n()I
307.nr )I .5i
308.}E
309..
1d2340f3
KM
310.de DS
311.RS
312.nf
313.sp
314..
6719a6ea
KM
315' # decrease relative indent
316.de RE
317.if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
318. el .nr )p \\$1 1\}
319.ds ]i \\*(]I\\n()p
320.ds ]r \\*(]R\\n()p
321.nr )I \\*(]i
322.nr )R \\*(]r
323.if \\n()p .nr )p -1
324.}E
325..
1d2340f3
KM
326.de DE
327.fi
328.RE
329.sp .5
330..
6719a6ea
KM
331.nr )p 0 1
332.ds ]I \\\\n(]
333.ds ]R \\\\n()
1d2340f3 334.bd S B 3
6719a6ea
KM
335.if t .ds R \(rg
336.if n .ds R (Reg.)
337.ds S \s10
338.hy 14
1d2340f3 339.if "\*(.T"va" .po -0.4i