|
|
1.1 root 1: .\" /usr/lib/tmac.an 10/12/83 V1.2
2: .\" COHERENT manual nroff macro package
3: .\" Copyright (c) 1981-1990 by Mark Williams Company, Chicago.
4: .\" All rights reserved. May not be copied or disclosed without permission.
5: .\" New macros added by fwb to support Lexicon files, 4/21/1990.
6: .\"
7: .\" environment usage:
8: .\" 0 input-line-count traps for argument collecting
9: .\" 1 input-line-count traps for font macros
10: .\" 2 indentation-free diversion processing
11: .\" global regs:
12: .\" cP current page number
13: .\" pD interparagraph distance
14: .\" *P pointer to "*" stack
15: .\" =P pointer to "=" stack
16: .\" global strings:
17: .\" tH the header title
18: .\" tF the footer title
19: .\" stack usage:
20: .\" * holds the prevailing indent value for that level
21: .\" = holds the increment of indentation taken for that level
22: .\"
23: .
24: .
25: .\"
26: .\"
27: .\" user-called macros
28: .\"
29: . the header macro
30: .de CO
31: COHERENT
32: ..
33: .de TH
34: .wh 0
35: .if \\n(nl .bp 0
36: .nr pN 0 1
37: .Rr
38: .ds tH "'\fB\\$1\fP'\\$4'\fB\\$1\fP'"
39: .ds tF "'COHERENT \\$3 Manual'\\$2'Page \\\\n+(pN'"
40: .in 0
41: .he
42: .wh 0 he
43: ..
44: . slug that describes function. Under Lexicon macros, does lots of stuff
45: .de PC
46: .if \\n(.$ \\$1
47: ..
48: .de TL
49: .tm tmac.an: there is no such macro `.TL'; please use `.TH'
50: .ab
51: ..
52: . section heading
53: .de SH
54: .br
55: .sp \\n(pDu
56: .Rr
57: .Pr
58: .fi
59: .in 0
60: .ne 3
61: .ft B
62: .it 1 S-
63: .if \\n(.$ .Xa \\n(.$ "*** \\$1 ***" "*** \\$2 ***" "*** \\$3 ***" "\\$4" "\\$5" "\\$6"
64: ..
65: . subsection heading
66: .de SS
67: .br
68: .sp \\n(pDu
69: .Rr
70: .Pr
71: .fi
72: .in 5n
73: .ne 3
74: .ft B
75: .it 1 S-
76: .if \\n(.$ .Xa \\n(.$ "*** \\$1 ***" "*** \\$2 ***" "*** \\$3 ***" "\\$4" "\\$5" "\\$6"
77: ..
78: . begin paragraph
79: .de PP
80: .Np
81: .nr *\\n(*P 5n
82: .nr *\\n+(*P 5n
83: .nr =\\n+(=P 0
84: .ns
85: ..
86: .de DS \" Indented display (sleazy version)
87: .LP
88: .sp
89: .nf
90: .ne 5
91: .in +5n
92: ..
93: .de DE \" End display
94: .in -5n
95: .ne 0
96: .LP
97: .sp
98: ..
99: .de MS \" Machine-specific start (will take list of machines)
100: ..
101: .de ME \" Machine-specific end
102: ..
103: . begin left-justified (block) paragraph
104: .de LP
105: .Np
106: .nr *\\n(*P 5n
107: .nr *\\n+(*P 5n
108: .nr =\\n+(=P 0
109: .ns
110: ..
111: . begin hanging paragraph
112: .de HP
113: .Np
114: .nr {c \\n(*\\n(*P
115: .if \\n(.$ \{\
116: .nr {c \\$1n
117: .nr *\\n(*P \\n({c\}
118: .nr *\\n+(*P \\n({c
119: .nr =\\n+(=P \\n({c
120: .in +\\n({cu
121: .ti -\\n({cu
122: .ns
123: ..
124: . begin indented paragraph
125: .de IP
126: .Np
127: .nr {c \\n(*\\n(*P
128: .if \\n(.$>1 \{\
129: .nr {c \\$2n
130: .nr *\\n(*P \\n({c\}
131: .nr *\\n+(*P \\n({c
132: .nr =\\n+(=P \\n({c
133: .in +\\n({cu
134: .ti -\\n({cu
135: .if \\n(.$ .ds {a "\\$1
136: .if !\\n(.$ .ds {a
137: \&\\*({a
138: .if \\n({c-\w'\\*({a'<1m .br
139: .if \\n({c-\w'\\*({a'>=1m \h'|\\n(.i'\c
140: .ns
141: ..
142: . display within an indented paragraph
143: .de ID
144: .sp
145: .nf
146: .ft L
147: ..
148: .de IE
149: .sp
150: .fi
151: .ft R
152: ..
153: . begin tagged paragraph
154: .de TP
155: .Np
156: .nr {c \\n(*\\n(*P
157: .if \\n(.$ \{\
158: .nr {c \\$1n
159: .nr *\\n(*P \\n({c\}
160: .nr *\\n+(*P \\n({c
161: .nr =\\n+(=P \\n({c
162: .in +\\n({cu
163: .ti -\\n({cu
164: .ev 2
165: .di {b
166: .it 1 T-
167: ..
168: . begin relative indent
169: .de RS
170: .nr {c \\n(*\\n(*P
171: .if \\n(.$ \{\
172: .nr {c \\$1n
173: .nr *\\n(*P \\n({c\}
174: .nr *\\n+(*P \\n({c
175: .nr *\\n+(*P \\n({c
176: .nr {c -\\n(=\\n(=P
177: .nr =\\n+(=P \\n({c
178: .nr =\\n+(=P 0
179: .in +\\n({cu
180: ..
181: . end relative indent
182: .de RE
183: .nr *P -2 1
184: .in -\\n(=\\n(=Pu
185: .in -\\n(=\\n-(=Pu
186: .nr =P -1 1
187: ..
188: . begin help
189: .de HS
190: .ig HE
191: ..
192: . end help
193: .de HE
194: ..
195: . bold font
196: .de B
197: .if \\n(.$>0 \\fB\\$1\\fP
198: .if \\n(.$=0 .ft B
199: ..
200: . bold/italic fonts
201: .de BI
202: .Af B I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
203: ..
204: . bold/roman fonts
205: .de BR
206: .Af B R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
207: ..
208: .de R
209: .if \\n(.$>0 \\fR\\$1\\fP
210: .if \\n(.$=0 .ft R
211: ..
212: . italic font
213: .de I
214: .if \\n(.$>0 \\fI\\$1\\fP
215: .if \\n(.$=0 .ft I
216: ..
217: . italic/bold fonts
218: .de IB
219: .Af I B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
220: ..
221: . italic/roman fonts
222: .de IR
223: .Af I R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
224: ..
225: . roman/bold fonts
226: .de RB
227: .Af R B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
228: ..
229: . roman/italic fonts
230: .de RI
231: .Af R I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
232: ..
233: . set default tabs
234: .de DT
235: .if \\n(.$ .ta \\$1 \\$2 \\$3 \\$4 \\$5 \\$6
236: .if !\\n(.$ .ta 5 10 15 20 25 30
237: ..
238: . set interparagraph distance
239: .de PD
240: .if \\n(.$ .nr pD \\$1v
241: .if !\\n(.$ .nr pD 1v
242: ..
243: . small letters
244: .de SM
245: .Xa \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
246: ..
247: .\"
248: .\" internal macros
249: .\"
250: .de II \" Index invisible
251: .if \nG=0 .tm %\\$1=\\n#
252: ..
253: .de S- \" cleanup .SH
254: .br
255: .ft P
256: .in 5n
257: .ns
258: ..
259: .de Np \" new paragraph
260: .in -\\n(=\\n(=Pu
261: .nr *P -1 1
262: .nr =P -1 1
263: .sp \\n(pDu
264: .ne 2
265: .ft R
266: .fi
267: ..
268: .de T- \" cleanup .TP
269: .br
270: .di
271: .ev
272: .{b
273: .if \\n(*\\n(*P-\\n(dl<1m .br
274: .if \\n(*\\n(*P-\\n(dl>=1m \h'|\\n(.i'\c
275: ..
276: .de Pf \" set previous font
277: .br
278: .di
279: .ev
280: .{e
281: ..
282: .de Af \" alternating fonts
283: .if \\$3>1 \f\\$1\\$4\fP\f\\$2\\$5\fP
284: .if \\$3>3 \f\\$1\\$6\fP\f\\$2\\$7\fP
285: .if \\$3>5 \f\\$1\\$8\fP\f\\$2\\$9\fP
286: ..
287: .de Xa \" expand arguments
288: .if \\$1>0 \&\\$2
289: .if \\$1>1 \&\\$3
290: .if \\$1>2 \&\\$4
291: .if \\$1>3 \&\\$5
292: .if \\$1>4 \&\\$6
293: .if \\$1>5 \&\\$7
294: ..
295: .de Rr \" reset regs
296: .nr pD 1v
297: .nr *P 1 1
298: .af *P a
299: .nr =P 1 1
300: .af =P a
301: .nr *a 5n
302: .nr =a 0
303: ..
304: .de Pr \" push top reg on each stack
305: .nr {d \\n(*\\n(*P
306: .nr *\\n+(*P \\n({d
307: .nr {d \\n(=\\n(=P
308: .nr =\\n+(=P \\n({d
309: ..
310: .de he \" the header
311: 'sp 2
312: .tl \\*(tH
313: 'sp 3
314: ..
315: .de fo \" the footer
316: 'sp 2
317: .tl \\*(tF
318: 'bp
319: ..
320: .\"
321: .\" general initialization
322: .\"
323: .wh -5 fo
324: .ds - -
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.