|
|
1.1 root 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: .\"
5: .\" @(#)tmac.an.new 6.5 (Berkeley) 7/5/88
6: .\"
7: ' DT, PD, SM, and B macros invoked internally.
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: .\}
37: .de AT
38: .if t \{\
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
45: . \}
46: .\}
47: ..
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: . if "\\$1"7" .ds ]W 4.4 Berkeley Distribution
56: .\}
57: ..
58: ' # reset the basic page layout
59: .de }E
60: .}f
61: .in \\n()Ru+\\n(INu
62: .ll \\n(LLu
63: ..
64: ' # default tabs
65: .de DT
66: 'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
67: ..
68: ' # set type font and size
69: .de }f
70: .ps 10
71: .ft 1
72: ..
73: ' # handle the head of the page
74: .de }H
75: .ev 1
76: .}C
77: .ie "\*(.T"va" 'sp .1i
78: .el 'sp .5i
79: .ft 1
80: .ps 10
81: .tl @\\*(]H@\\*(]D@\\*(]H@
82: 'sp .5i
83: .ev
84: .ns
85: ..
86: ' # handle the foot of the page
87: .de }F
88: .ev 1
89: .ft 1
90: .ps 10
91: 'sp .5i
92: .tl @\\*(]W@\\*(]L@%@
93: 'bp
94: .ev
95: ..
96: ' # the cut mark
97: .if n .ig
98: .if !\nv=2 .ig
99: .de }C
100: .po 0i
101: .lt 7.45i
102: .tl '__''__'
103: .po
104: .lt
105: ..
106: ' # the final cut mark
107: .de }M
108: .}N
109: .wh -1p }C
110: .ll \\n(LLu
111: ..
112: ' # no runout unless there was a .TH
113: .de }K
114: .}N
115: .pl 1
116: .ll \\n(LLu
117: ..
118: .em }K
119: ' # set title and heading
120: .de TH
121: .PD
122: .DT
123: .if n .nr IN .5i
124: .if t .nr IN .5i
125: .nr LL \\n(.l
126: .ds ]H \\$1\|(\|\\$2\|)
127: .ie "\\$5"" .ds ]D UNIX Programmer's Manual
128: .el .ds ]D \\$5
129: .wh 0 }H
130: .if t .ie !"\*(.T"va" .wh -1i }F
131: .if t .el .wh -1.4i }F
132: .if n .wh -1.167i }F
133: .em }M
134: .if \\n(nl .bp 1
135: .ds ]L \\$3
136: .}E
137: .DT
138: .nr )I .5i
139: .nr )R 0
140: .if n .na
141: .mk ka
142: .if !'\\n(ka'-1' .bp
143: .if t \{\
144: . ie "\\$4"" .ds ]W 7th Edition
145: . el .ds ]W \\$4
146: .\}
147: ..
148: ' # section heading
149: .de SH
150: .ss 12
151: .if "\\$2"SYNOPSIS" .ss 18
152: .}X 0
153: .nr )E 2
154: .SM
155: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
156: ..
157: ' # sub section heading
158: .de SS
159: .}X \\n()Ru+\\n(INu
160: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
161: .br
162: ..
163: ' # subroutine for section heading
164: .de }X
165: .}E
166: .ti \\$1
167: .sp \\n()Pu
168: .ne 2
169: .nr )R 0
170: .fi
171: .it 1 }N
172: .B
173: ..
174: ' # end of SH (cf }X above and }N below)
175: .de }2
176: .nr )E 0
177: .}E
178: .nr )I .5i
179: .ns
180: ..
181: ' # italic
182: .de I
183: .ft 2
184: .it 1 }N
185: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
186: ..
187: ' # bold
188: .de B
189: .ft 3
190: .it 1 }N
191: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
192: ..
193: ' # small
194: .de SM
195: .ps 9
196: .it 1 }N
197: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
198: ..
199: ' # combinations of Roman, italic, bold
200: .de RI
201: .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
202: ..
203: .de VS
204: 'if '\\$1'4' .mc \s12\(br\s0
205: ..
206: .de VE
207: 'mc
208: ..
209: .de RB
210: .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
211: ..
212: .de IR
213: .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
214: ..
215: .de IB
216: .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
217: ..
218: .de BR
219: .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
220: ..
221: .de BI
222: .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
223: ..
224: ' # make special case of shift out of italic
225: .de }S
226: .ds ]F
227: .if "\\$1"2" .if !"\\$5"" .ds ]F\^
228: .ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
229: .el \\$3
230: .}f
231: ..
232: ' # paragraph
233: .de LP
234: .PP
235: ..
236: .de PP
237: .sp \\n()Pu
238: .ne 2
239: .}E
240: .nr )I .5i
241: .ns
242: ..
243: ' # synonym for .PP
244: .de P
245: .PP
246: ..
247: ' # paragraph distance
248: .de PD
249: .if t .nr )P .4v
250: .if n .nr )P 1v
251: .if !"\\$1"" .nr )P \\$1v
252: ..
253: ' # paragraph with hanging indent
254: .de HP
255: .sp \\n()Pu
256: .ne 2
257: .if !"\\$1"" .nr )I \\$1n
258: .ll \\n(LLu
259: .in \\n()Ru+\\n(INu+\\n()Iu
260: .ti \\n()Ru+\\n(INu
261: .}f
262: ..
263: ' # indented paragraph
264: .de IP
265: .TP \\$2
266: \&\\$1
267: ..
268: ' # tagged paragraph (paragraph with hanging label)
269: .de TP
270: .if !"\\$1"" .nr )I \\$1n
271: .sp \\n()Pu
272: .ne 1.1v
273: .in \\n()Ru
274: .nr )E 1
275: .ns
276: .it 1 }N
277: .di ]B
278: ..
279: ' # end of TP (cf }N below)
280: .de }1
281: .ds ]X \&\\*(]B\\
282: .nr )E 0
283: .if !"\\$1"" .nr )I \\$1n
284: .}f
285: .ll \\n(LLu
286: .in \\n()Ru+\\n(INu+\\n()Iu
287: .ti \\n(INu
288: .ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
289: .br\}
290: .el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
291: .}f
292: ..
293: ' # handle end of 1-line features
294: .de }N
295: .if \\n()E .br
296: .di
297: .if "\\n()E"0" .}f
298: .if "\\n()E"1" .}1
299: .if "\\n()E"2" .}2
300: .nr )E 0
301: ..
302: ' # increase relative indent
303: .de RS
304: .nr ]\\n+()p \\n()I
305: .nr )\\n()p \\n()R
306: .ie !"\\$1"" .nr )R +\\$1n
307: .el .nr )R +\\n()I
308: .nr )I .5i
309: .}E
310: ..
311: .de DS
312: .RS
313: .nf
314: .sp
315: ..
316: ' # decrease relative indent
317: .de RE
318: .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
319: . el .nr )p \\$1 1\}
320: .ds ]i \\*(]I\\n()p
321: .ds ]r \\*(]R\\n()p
322: .nr )I \\*(]i
323: .nr )R \\*(]r
324: .if \\n()p .nr )p -1
325: .}E
326: ..
327: .de DE
328: .fi
329: .RE
330: .sp .5
331: ..
332: .nr )p 0 1
333: .ds ]I \\\\n(]
334: .ds ]R \\\\n()
335: .bd S B 3
336: .if t .ds R \(rg
337: .if n .ds R (Reg.)
338: .ds S \s10
339: .hy 14
340: .if "\*(.T"va" .po -0.4i
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.