|
|
1.1 root 1: ' # month name
2: .if "\nd"0" .nr m \n(mo-1
3: .if "\nm"0" .ds ]m January
4: .if "\nm"1" .ds ]m February
5: .if "\nm"2" .ds ]m March
6: .if "\nm"3" .ds ]m April
7: .if "\nm"4" .ds ]m May
8: .if "\nm"5" .ds ]m June
9: .if "\nm"6" .ds ]m July
10: .if "\nm"7" .ds ]m August
11: .if "\nm"8" .ds ]m September
12: .if "\nm"9" .ds ]m October
13: .if "\nm"10" .ds ]m November
14: .if "\nm"11" .ds ]m December
15: ' # set the date
16: .if n \{.nr m \nm+1
17: . ie \nd .ds ]W Modified \nm/\nd/\ny
18: . el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
19: .if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
20: . el .ds ]W \*(]m \n(dy, 19\n(yr\}
21: .if t .tr *\(**
22: .ie n \{\
23: . ds lq \&"\"
24: . ds rq \&"\"
25: .\}
26: .el \{\
27: . ds rq ''
28: . ds lq ``
29: .\}
30: .de UC
31: .if t \{\
32: . ie "\\$1"" .ds ]W 3rd Berkeley Distribution
33: . el .ds ]W \\$1th Berkeley Distribution
34: .\}
35: ..
36: ' # reset the basic page layout
37: .de }E
38: .}f
39: .in \\n()Ru+\\n(INu
40: .ll \\n(LLu
41: ..
42: ' # default tabs
43: .de DT
44: 'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
45: ..
46: ' # set type font and size
47: .de }f
48: .ps 10
49: .ft 1
50: ..
51: ' # handle the head of the page
52: .de }H
53: .ev 1
54: .}C
55: 'sp .5i
56: .ft 1
57: .ps 10
58: .tl @\\*(]H@\\*(]D@\\*(]H@
59: 'sp .5i
60: .ev
61: .ns
62: ..
63: ' # handle the foot of the page
64: .de }F
65: .ev 1
66: .ft 1
67: .ps 10
68: 'sp .5i
69: ' # .tl @\\*(]W@\\*(]L@%@
70: .tl @@- % -@@
71: 'bp
72: .ev
73: ..
74: ' # the cut mark
75: .if n .ig
76: .de }C
77: .po .1i
78: .tl '-'
79: .po
80: ..
81: ' # the final cut mark
82: .de }M
83: .}N
84: .wh -1p }C
85: .ll \\n(LLu
86: ..
87: ' # no runout unless there was a .TH
88: .de }K
89: .}N
90: .pl 1
91: .ll \\n(LLu
92: ..
93: .em }K
94: ' # set title and heading
95: .de TH
96: .PD
97: .DT
98: .if n .nr IN .5i
99: .if t .nr IN .5i
100: .nr LL \\n(.l
101: .ds ]H \\$1\|(\|\\$2\|)
102: .ds ]D Power 6 Unix Programmer's Manual
103: .wh 0 }H
104: .if t .wh -1i }F
105: .if n .wh -1.167i }F
106: .em }M
107: .if \\n(nl .bp 1
108: .ds ]L \\$3
109: .}E
110: .DT
111: .nr )I .5i
112: .nr )R 0
113: .if n .na
114: .mk ka
115: .if !'\\n(ka'-1' .bp
116: .if t .ds ]W 7th Edition
117: ..
118: ' # section heading
119: .de SH
120: .}X 0
121: .nr )E 2
122: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
123: ..
124: ' # sub section heading
125: .de SS
126: .}X \\n()Ru+\\n(INu
127: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
128: .br
129: ..
130: ' # subroutine for section heading
131: .de }X
132: .}E
133: .ti \\$1
134: .sp \\n()Pu
135: .ne 2
136: .nr )R 0
137: .fi
138: .it 1 }N
139: .SM
140: .B
141: ..
142: ' # end of SH (cf }X above and }N below)
143: .de }2
144: .nr )E 0
145: .}E
146: .nr )I .5i
147: .ns
148: ..
149: ' # italic
150: .de I
151: .ft 2
152: .it 1 }N
153: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
154: ..
155: ' # bold
156: .de B
157: .ft 3
158: .it 1 }N
159: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
160: ..
161: ' # small
162: .de SM
163: .ps 9
164: .it 1 }N
165: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
166: ..
167: ' # combinations of Roman, italic, bold
168: .de RI
169: .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
170: ..
171: .de VS
172: 'if '\\$1'4' .mc \s12\(br\s0
173: ..
174: .de VE
175: 'mc
176: ..
177: .de RB
178: .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
179: ..
180: .de IR
181: .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
182: ..
183: .de IB
184: .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
185: ..
186: .de BR
187: .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
188: ..
189: .de BI
190: .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
191: ..
192: ' # make special case of shift out of italic
193: .de }S
194: .ds ]F
195: .if "\\$1"2" .if !"\\$5"" .ds ]F\^
196: .ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
197: .el \\$3
198: .}f
199: ..
200: ' # paragraph
201: .de LP
202: .PP
203: ..
204: .de PP
205: .sp \\n()Pu
206: .ne 2
207: .}E
208: .nr )I .5i
209: .ns
210: ..
211: ' # paragraph distance
212: .de PD
213: .if t .nr )P .4v
214: .if n .nr )P 1v
215: .if !"\\$1"" .nr )P \\$1v
216: ..
217: ' # hanging indent
218: .de HP
219: .sp \\n()Pu
220: .ne 2
221: .if !"\\$1"" .nr )I \\$1n
222: .ll \\n(LLu
223: .in \\n()Ru+\\n(INu+\\n()Iu
224: .ti \\n()Ru+\\n(INu
225: .}f
226: ..
227: ' # indented paragraph
228: .de IP
229: .TP \\$2
230: \&\\$1
231: ..
232: ' # hanging label
233: .de TP
234: .if !"\\$1"" .nr )I \\$1n
235: .sp \\n()Pu
236: .in \\n()Ru
237: .nr )E 1
238: .ns
239: .it 1 }N
240: .di ]B
241: ..
242: ' # end of TP (cf }N below)
243: .de }1
244: .ds ]X \&\\*(]B\\
245: .nr )E 0
246: .if !"\\$1"" .nr )I \\$1n
247: .}f
248: .ll \\n(LLu
249: .in \\n()Ru+\\n(INu+\\n()Iu
250: .ti \\n(INu
251: .ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
252: .br\}
253: .el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
254: .}f
255: ..
256: ' # handle end of 1-line features
257: .de }N
258: .if \\n()E .br
259: .di
260: .if "\\n()E"0" .}f
261: .if "\\n()E"1" .}1
262: .if "\\n()E"2" .}2
263: .nr )E 0
264: ..
265: ' # increase relative indent
266: .de RS
267: .nr ]\\n+()p \\n()I
268: .nr )\\n()p \\n()R
269: .ie !"\\$1"" .nr )R +\\$1n
270: .el .nr )R +\\n()I
271: .nr )I .5i
272: .}E
273: ..
274: ' # decrease relative indent
275: .de RE
276: .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
277: . el .nr )p \\$1 1\}
278: .ds ]i \\*(]I\\n()p
279: .ds ]r \\*(]R\\n()p
280: .nr )I \\*(]i
281: .nr )R \\*(]r
282: .if \\n()p .nr )p -1
283: .}E
284: ..
285: .nr )p 0 1
286: .ds ]I \\\\n(]
287: .ds ]R \\\\n()
288: .bd S 3 3
289: .if t .ds R \(rg
290: .if n .ds R (Reg.)
291: .ds S \s10
292: .hy 14
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.