tmac.soft 16 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031
  1. .\" From mel Sat Sep 16 14:46:23 1978
  2. .\" the GE macro places figures.
  3. .\" G8 is zero until the figure is placed
  4. .\" G5 is non-zero if there was an argument
  5. .\" on GS which specifies
  6. .\" 1 - top
  7. .\" 2 - bottom
  8. .\" 3 - next page
  9. .\" 4 - at this point
  10. .\" the macros HN - top next pge
  11. .\" HT - top this page
  12. .\" HB - bottom this page
  13. .\" HH : here on this page
  14. .\" The current algorithm is: if it does not fit,
  15. .\" top next page; otherwise if no arg to GS
  16. .\" put it at top or bottom of this page, whichever
  17. .\" is closer (there is a threshold of half the figure
  18. .\" size or something)
  19. .\" if arg to GS is given it governs.
  20. .\"
  21. .de Vx \" volume, number, Month, year, page 1, page n, top title(s) in one blast (bwk)
  22. .\" also needs DY for date received as 31 July 1978
  23. .ds VN \\$1
  24. .ds NU \\$2
  25. .ds mo \\$3
  26. .if "\\$3"January" .ds MO JANUARY
  27. .if "\\$3"February" .ds MO FEBRUARY
  28. .if "\\$3"March" .ds MO MARCH
  29. .if "\\$3"April" .ds MO APRIL
  30. .if "\\$3"May" .ds MO MAY
  31. .if "\\$3"June" .ds MO JUNE
  32. .if "\\$3"July" .ds MO JULY
  33. .if "\\$3"August" .ds MO AUGUST
  34. .if "\\$3"September" .ds MO SEPTEMBER
  35. .if "\\$3"October" .ds MO OCTOBER
  36. .if "\\$3"November" .ds MO NOVEMBER
  37. .if "\\$3"December" .ds MO DECEMBER
  38. .nr yr \\$4
  39. .nr P \\$5-1
  40. .nr P< \\$5
  41. .pn \\$5
  42. .nr P> \\$6
  43. .ds Tl \\$7
  44. .ds Tr \\$8
  45. ..
  46. .de PS \" start picture (bwk)
  47. . \" $1 is height, $2 is width in units
  48. .if t .SP .3
  49. .in (\\n(.lu-\\$2u)/2u
  50. .ne \\$1u
  51. ..
  52. .de PE \" end of picture
  53. .in
  54. .if t .SP .6
  55. ..
  56. .di XX
  57. .nr Q1 0
  58. .rn ne NE
  59. .de ne
  60. .nr NB \\$1v
  61. .if \\n(.t<\\n(NB \{\
  62. .dt \\n(.du+4u \\*(DT
  63. .sp\}
  64. ..
  65. .ds Co \s12\v'.2m'\(co\v'-.2m'\s0 20\\n(yr by John Wiley & Sons, Ltd.
  66. .de CO
  67. .ps 8
  68. .vs 9p
  69. .nf
  70. SOFTWARE\(emPRACTICE AND EXPERIENCE, VOL. \\*(VN(\\*(NU), \\n(P<-\\n(P> (\\*(MO 20\\n(yr)
  71. .fi
  72. .ft 1
  73. .lt \\n(LLu
  74. .ps \\n(PS
  75. .vs \\n(VSp
  76. ..
  77. .nr BS 1
  78. .de IZ
  79. .if \\n(PS=0 .nr PS 10
  80. .if \\n(VS=0 .nr VS 12
  81. .if \\n(PL=0 .nr PL 10.25i
  82. .if \\n(LP=0 .nr LP 8i
  83. .if \\n(LL=0 .nr LL 5.6i
  84. .if \\n(LS=0 .nr LS 0.9v
  85. .if \\n(JS=0 .nr JS 0.5v
  86. .nr ZI 0.3i
  87. .nr ZJ 0.3i
  88. .ps \\n(PS
  89. .vs \\n(VSp
  90. .pl \\n(PLu
  91. .ll \\n(LLu
  92. .nr L4 \\n(LPu-\\n(LSu
  93. .dt \\n(L4u EP
  94. .ds DT EP
  95. .em EM
  96. ..
  97. .de TL
  98. .IZ
  99. .rm IZ
  100. .CO
  101. .SP .5i
  102. .ps 16
  103. .ft 1
  104. .vs 30p
  105. .br
  106. .if \\n(.d=0 .nr TP 1
  107. .if \\n(.t<4v .nr TO 1
  108. .di TX
  109. .nr FR 0
  110. .nr IT 1
  111. .na
  112. .ll \\n(LLu-.5i
  113. ..
  114. .de ET
  115. .br
  116. .di
  117. .dt \\n(L4u \\*(DT
  118. .ad
  119. .ll \\n(LLu
  120. .ce 100
  121. .nf
  122. .TX
  123. .rm TX
  124. .fi
  125. .nr IT 0
  126. ..
  127. .de AU
  128. .if \\n(IT>0 .ET
  129. .ft 1
  130. .br
  131. .sp .6
  132. .ps 8
  133. .vs \\n(VSp
  134. .ce 100
  135. ..
  136. .de AI
  137. .sp 3p
  138. .ps 8
  139. .ft 2
  140. .ce 100
  141. ..
  142. .de RD
  143. .ps -1
  144. .ce
  145. .if \\n(.n>\\n(.l .tm Too many authors on a line
  146. ..
  147. .de AB
  148. .ce 0
  149. .nr AB 1
  150. .ft 3
  151. .ce
  152. .SP .2i
  153. SUMMARY
  154. .ps \\n(PS
  155. .vs \\n(VSp
  156. .SP .5v
  157. ..
  158. .de AE
  159. .ft 1
  160. .nr AB 0
  161. .nr FR 0
  162. .nr HI 1
  163. .SP .8v
  164. ..
  165. .de OK
  166. .br
  167. .ft 1
  168. .ps 6
  169. KEY WORDS \c
  170. .ps 7
  171. ..
  172. .de PP
  173. .RT
  174. .if \\n(.i>0 .SP \\n(JSu
  175. .in 0
  176. .if \\n(FR=0 .ps \\n(PS
  177. .ti +2n
  178. .if \\n(AB=0 .ft 1
  179. .nr FR 1
  180. ..
  181. .de LP
  182. .RT
  183. .if \\n(.i>0 .SP \\n(JSu
  184. .in 0
  185. .if \\n(FR=0 .ps \\n(PS
  186. .nr FR 1
  187. .if \\n(AB=0 .ft 1
  188. ..
  189. .de IP
  190. .ce 0
  191. .if \\n(FR=0 .ps \\n(PS
  192. .nr FR 1
  193. .if \\n(.i=0 .SP .5v
  194. .in \\n(ZJu
  195. .ti -\\n(ZIu
  196. \\$1\h'|\\n(ZIu'\c
  197. ..
  198. .de JP
  199. .ce 0
  200. .\".if \\n(.d>0 .if \\n(.d<1.5v .if \\n(HI=0 .tm Top widow page \\n% (JP)
  201. .if \\n(FR=0 .ps \\n(PS
  202. .nr FR 1
  203. .if \\n(.i=0 .SP \\n(JSu
  204. .in \\n(ZJu
  205. .ti -.4i
  206. .if \\n(.f=1 \h'0.3i-\w"(\f2\\$1\|\fP)"u'(\f2\\$1\|\fP)\h'|.4i'\c
  207. .if \\n(.f=2 \h'0.3i-\w"(\f2\\$1\^\fP)"u'(\f2\\$1\^\fP)\h'|.4i'\c
  208. ..
  209. .de SH
  210. .nr HQ \\n(HI
  211. .RT
  212. .in 0
  213. .nr HI \\n(HQ
  214. .ne 2v+\\n(.Vu
  215. .ft 3
  216. .if \\n(HI=0 .if \\n(.d>0 .SP 1.25v
  217. .if \\n(HI>0 .if \\n(.d>0 .if \\n(FR>0 .sp 1
  218. .nr FR 1
  219. .nr HI 1
  220. ..
  221. .de EP
  222. .di
  223. .nr L1 \\n(dn
  224. .ev 1
  225. .ce 0
  226. .ll \\n(LLu
  227. .br
  228. .rs
  229. .sp .75i-1v
  230. .if \\n(TP=0 .PT
  231. .if \\n(TP>0 .sp
  232. .nr TO 0
  233. .sp 1
  234. .nr P1 \\n(LP-\\n(L1
  235. .nf
  236. .nr P1 -\\n(G1
  237. .nr P1 -\\n(G2
  238. .if \\n(P1<0 .nr Q1 0
  239. .if \\n(EX=1 .nr Q1 0 \" don't pad on last page of article
  240. .nr P3 \\n(P1
  241. .if \\n(G1>0 .GT
  242. .if \\n(G1>0 .if \\n(EX=0 .sp \\n(P1u
  243. .if \\n(G1>0 .if \\n(EX=0 .nr P1 0
  244. .rm GT
  245. .if \\n(G1>0 .nr Q1 0 \" if top figure, pad below
  246. .if \\n(G2>0 .nr Q1 0 \" if bottom figure pad above
  247. .if \\nB .tm Page \\n%: pad \\n(P3 space \\n(Q1 places, top \\n(G1, bot \\n(G2
  248. .XX
  249. .nf
  250. .if \\n(G2>0 .if \\n(P1>0 .sp \\n(P1u
  251. .if \\n(G2>0 .nr P1 0
  252. .if \\n(G2>0 .GB
  253. .nr G1 0
  254. .nr G2 0
  255. .if \\n(EX>0 .if \\n(P1>0 .sp \\n(P1u
  256. .if \\nB .tm Bottom of page \\n% at \\n(nl
  257. .rm GB
  258. .PF
  259. .bp
  260. .nr TQ \\n(TP
  261. .nr TP 0
  262. .nr G1 \\n(G3
  263. .rn GN GT
  264. .nr G3 0
  265. .ev
  266. .nr FP 0
  267. .nr Q1 0
  268. .nr L4 \\n(LPu-\\n(LSu
  269. .if \\n(G1>(\\n(L4-1i) .FB \" full page figure
  270. .nr L4 -\\n(G1
  271. .nr LX \\n%
  272. .af LX 1
  273. .ie \\n(LX<=26 .af LX a
  274. .el \{.nr LX -26
  275. .af LX A\}
  276. .nr L4 -\\n(C\\n(LXu
  277. .di XX
  278. .dt \\n(L4u EP
  279. .ds DT EP
  280. ..
  281. .de FB
  282. .if \\nB .tm Full page figure on page \\n%
  283. .ev 1
  284. .rs
  285. .sp .75i-1v
  286. .PT
  287. .rs
  288. .GT
  289. .rm GT
  290. .nr G1 0
  291. .PF
  292. .bp
  293. .ev
  294. ..
  295. .de CP \" cut text on page arg1 by arg2
  296. .nr C2 \\$2v
  297. .nr C1 \\$1
  298. .af C1 1
  299. .if \\n(C1>52 .tm Page>52, gok what happens.
  300. .ie \\n(C1<=26 .af C1 a
  301. .el \{.nr C1 -26
  302. .af C1 A\}
  303. .if \\n(C2>0 .nr C\\n(C1 \\n(C2
  304. ..
  305. .de SP
  306. .if \\n(.t<\\$1 .\\*(DT
  307. .if \\n(.d>0 .ST \\$1
  308. ..
  309. .de ST
  310. .sp \\$1
  311. .nr Q1 +1
  312. \!.FI
  313. ..
  314. .de FI
  315. .nr P4 0
  316. .if \\n(Q1>0 .nr P4 3*((\\n(P1/3)/\\n(Q1)
  317. .sp \\n(P4u
  318. .if \\n(P4>1v .tm Padding of \\n(P4u exceeds one space page \\n%
  319. .nr P1 -\\n(P4
  320. .nr Q1 -1
  321. ..
  322. .de CL \" change length: add/sub lines this page
  323. .nr CN \\$1v
  324. .nr L4 \\n(L4+\\n(CN
  325. .dt \\n(L4u EP
  326. ..
  327. .de GS
  328. . \"argument positions: 1 top here, 2 bottom here, 3 next page, 4 right here
  329. .if \\n(.$>0 .if \\$1=4 .br
  330. .ev 1
  331. .di GD
  332. .ll \\n(LLu
  333. .if \n(KK=0 .ps \\n(PS-2
  334. .if \n(KK=0 .vs \\n(VSp-4p
  335. .nr G5 0
  336. .if \\n(.$>0 .nr G5 \\$1
  337. .fi
  338. ..
  339. .de GE
  340. .br
  341. .di
  342. .nf
  343. .nr G0 \\n(dn
  344. .nr G0 +1v
  345. .nr G8 0 \" not placed
  346. .if \\n(KG=0 .if \\n(G8=0 .if \\n(G0>\\n(.t .HN
  347. .if \\n(G8=0 .if \\n(G5=0 .if \\n(G0>2*\\n(.d .if \\n(G1=0 .HT
  348. .if \\n(G8=0 .if \\n(G5=0 .if 3*\\n(G0>2*\\n(.t .if \\n(G2=0 .HB
  349. .if \\n(G8=0 .if \\n(G5=0 .HH
  350. .if \\n(G8=0 .if \\n(G5=1 .HT
  351. .if \\n(G8=0 .if \\n(G5=2 .HB
  352. .if \\n(G8=0 .if \\n(G5=3 .HN
  353. .if \\n(G8=0 .if \\n(G5=4 .HH
  354. .rm GD
  355. .ps \\n(PS
  356. .vs \\n(VSp
  357. .ev
  358. ..
  359. .de FS
  360. .GS 2
  361. .br
  362. .if \\n(FP=0 \{\
  363. .vs 2p
  364. .br
  365. \l'.75i'
  366. .vs
  367. .sp 2p
  368. .nr FP 1
  369. .br\}
  370. ..
  371. .de FE
  372. .GE
  373. ..
  374. .de KS
  375. .if \\n(KK=0 .GS 4
  376. .nr KK 1
  377. .nr KG 1
  378. ..
  379. .de KE
  380. .if \\n(KK>0 .GE
  381. .nr KK 0
  382. .nr KG 0 \" KG on if not a floating display
  383. ..
  384. .de HN
  385. .if \\n(G3>0 .tm Two figures pushed to next page.
  386. .da GN
  387. .GD
  388. .sp 1
  389. .di
  390. .nr G3 \\n(dn
  391. .nr G8 1
  392. ..
  393. .de HT
  394. .nr L4 -\\n(G0
  395. .dt \\n(L4u \\*(DT
  396. .da GT
  397. .GD
  398. .sp
  399. .di
  400. .nr G1 +\\n(dn
  401. .nr G8 1
  402. ..
  403. .de HB
  404. .da GB
  405. .if \\n(FP=0 .sp
  406. .GD
  407. .di
  408. .nr G2 +\\n(dn
  409. .nr G8 1
  410. .nr L4 -\\n(dn
  411. .dt \\n(L4u \\*(DT
  412. ..
  413. .de HH
  414. .SP .5v
  415. .if \\n(G0>\\n(.t .if \\n(KK>0 .sp 10i
  416. .GD
  417. .SP .5v
  418. .nr G8 1
  419. ..
  420. .de RR
  421. .ce 0
  422. .if \\n(FR=0 .ps \\n(PS
  423. .nr FR 1
  424. .ft 1
  425. .in .3i
  426. .if \\n(.$ .ti -.3i
  427. .if \\n(.$ \\$1\ \ \c
  428. ..
  429. .de RF
  430. .SP 2v
  431. .ps \\n(PS-2
  432. .vs \\n(VS-3
  433. .ne 3v
  434. .ce
  435. .ps -1
  436. REFERENCES
  437. .sp 3p
  438. ..
  439. .de PT
  440. .if \\n(PF>0 .af % 1
  441. .if \\n(Pf>0 .if o .tl ""\s7\\*(Tr\s0"\s10\\n%"
  442. .if \\n(Pf>0 .if e .tl "\s10\\n%"\s7\\*(Tl\s0""
  443. ..
  444. .de PF
  445. .sp 1v
  446. .lt \\n(.lu
  447. .nr Ss \\n(.s
  448. .nr Sf \\n(.f
  449. .ps 9
  450. .af NU 01
  451. .af VN 01
  452. .af P< 0001
  453. .nr VN \\*(VN
  454. .nr NU \\*(NU
  455. .\" price = 1.00 if <= 10 pages, otherwise .10/page.
  456. .nr p1 (1+\\n(P>-\\n(P<)*10
  457. .if \\n(p1<100 .nr p1 100
  458. .nr p2 \\n(p1%100
  459. .nr p1 \\n(p1/100
  460. .ds pr \\n(p1.\\n(p2
  461. .if \\n(Pf=0 .tl "\s90038-0644/\\n(yr/\\n(NU\\n(VN-\\n(P<$0\\*(pr""\f2Received \\*(DY\f1\s0"
  462. .if \\n(Pf=0 \s9\\*(Co\s0
  463. .af % 1
  464. .nr Pf \\n(Pf+1
  465. .ft \\n(Sf
  466. .ps \\n(Ss
  467. ..
  468. .de EQ \"equation, breakout and display
  469. .nr EF \\n(.u
  470. .ds EE \\h'.5i' \" default for indent is .5 inch
  471. .nr LE 1 \" 1 is center, 0 is I or L
  472. .ds EL \\$1
  473. .if "\\$1"L" .ds EL \\$2
  474. .if "\\$1"L" .nr LE 0
  475. .if "\\$1"C" .ds EL \\$2
  476. .if "\\$1"I" .nr LE 0
  477. .if "\\$1"I" .ds EE \\h'.5i'
  478. .if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
  479. .if "\\$1"I" .ds EL \\$2
  480. .ev 1
  481. .di EZ
  482. ..
  483. .\" -----------------------------
  484. .de EN \" end of a displayed equation
  485. .if !"\\n(.z"EZ" .tm EN not preceded by EQ, disaster follows.
  486. .br
  487. .ce 0
  488. .di
  489. .rm EZ
  490. .ev
  491. .nr ZN 1
  492. .if "\\*(10"" .nr ZN 0
  493. .if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
  494. .lt \\n(.lu
  495. .br
  496. .if \\n(ZN>0 .if !\\n(.d=\\n(PE .SP 0.5
  497. .pc
  498. .if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
  499. .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
  500. .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
  501. .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\\\t\\*(EL
  502. .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w'\\*(10' .nr BD \\w'\\*(10'
  503. .lt \\n(LLu
  504. .pc %
  505. .br
  506. .if \\n(ZN>0 .if \\n(EF>0 .fi
  507. .rm EL
  508. .if \\n(ZN>0 .SP 0.5
  509. .nr PE \\n(.d
  510. .rm 10
  511. ..
  512. .de B
  513. .if \\n(.$>0 \\$3\f3\\$1\fP\\$2
  514. .if \\n(.$=0 .ft 3
  515. ..
  516. .de I
  517. .if \\n(.$>0 \\$3\f2\\$1\fP\^\\$2
  518. .if \\n(.$=0 .ft 2
  519. ..
  520. .de R
  521. .ft 1
  522. ..
  523. .de EM
  524. .br
  525. .nr EX 1
  526. .wh -1p .CM
  527. .sp 100
  528. ..
  529. .de TS
  530. .nf
  531. .sp .5v
  532. ..
  533. .de TE
  534. .fi
  535. .sp .5v
  536. ..
  537. .de CM
  538. .po 0
  539. .tl '\(ru'''
  540. .po
  541. ..
  542. .wh 0 CM
  543. .de RT
  544. .br
  545. .\".if \\n(.d>0 .if \\n(.d<1.5v .if \\n(HI=0 .tm Top widow page \\n%
  546. .IZ
  547. .rm IZ
  548. .if "\\n(.z"PA" .tm Warning: are you missing a .P2?
  549. .if \\n(IT>0 .ET
  550. .ps \\n(PS
  551. .vs \\n(VSp
  552. .if \\n(HI .sp .5v
  553. .if \\n(HI .if \\n(.d<=1.5v .if \\n(G1=0 .sp .5v
  554. .nr HI 0
  555. .ce 0
  556. ..
  557. . \"ACCENTS say \*'e or \*`e to get e acute or e grave
  558. .ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10'
  559. .ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10'
  560. . \"UMLAUT \*:u, etc.
  561. .ds : \v'-0.6m'\h'(1u-(\\n(.fu%2u))*0.13m+0.06m'\z.\h'0.2m'\z.\h'-((1u-(\\n(.fu%2u))*0.13m+0.26m)'\v'0.6m'
  562. . \"TILDE and CIRCUMFLEX
  563. .ds ^ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z^\h'|\\n:u'
  564. .ds ~ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z~\h'|\\n:u'
  565. . \"dotted arrow
  566. .ds > \v'-.1m'\s-4---\z-\v'.1m'\h'-.3m'\z>\s+4
  567. . \"czech symbol as in kucera & francis
  568. .ds C \h'.1m'\v'-0.6m'\s6\zv\s0\v'0.6m'\h'-.1m'
  569. ..
  570. . \"NH - numbered heading
  571. .de NH
  572. .nr HQ \\n(HI
  573. .RT
  574. .nr HI \\n(HQ
  575. .ne 2v+\\n(.Vu
  576. .ft 1
  577. .if \\n(Nh=0 .SP 1.2v
  578. .nr Nh \\n(Nh+1
  579. .if \\n(HI=0 .if \\n(.d>0 .SP 1.5v
  580. .if \\n(HI>0 .if \\n(.d>0 .if \\n(FR>0 .sp 1
  581. .nr FR 1
  582. .nr HI 1
  583. .ce 100
  584. \\n(Nh. \c
  585. ..
  586. . \"Ch - centered, unnumbered heading
  587. .de Ch
  588. .RT
  589. .ne 2v+\\n(.Vu
  590. .sp 1
  591. .ft 1
  592. .ce 100
  593. ..
  594. . \"Lh - left-justified, unnumbered heading
  595. .de Lh
  596. .RT
  597. .ne 2v+\\n(.Vu
  598. .sp 1
  599. .ft 3
  600. ..
  601. .de IH
  602. .nr H4 +1
  603. .ft 2
  604. \\n(H1.\\n(H2.\\n(H3.\\n(H4 \\$1
  605. .ft 1
  606. ..
  607. .de UX
  608. .ie \\n(GA>0 \\$2\s-2UNIX\s0\\$1
  609. .el \{\
  610. .if n \\$2UNIX\(dg\\$1
  611. .if t \\$2\s-2UNIX\s0\(dg\\$1
  612. .FS
  613. \(dg \s-2UNIX\s0 is a registered trademark of X/Open.
  614. .FE
  615. .nr GA 1\}
  616. ..
  617. .de Ux \" cap-small cap, not used
  618. .\" .ie \\n(GA>0 \\$2U\s-2NIX\s0\\$1
  619. .ie \\n(GA>0 \\$2\s-2UNIX\s0\\$1
  620. .el \{\
  621. .if n \\$2UNIX*\\$1
  622. .\".if t \\$2U\s-2NIX\s0*\\$1
  623. .if t \\$2\s-2UNIX\s0*\\$1
  624. .FS
  625. * \s-2UNIX\s0 is a registered trademark of X/Open.
  626. .FE
  627. .nr GA 1\}
  628. ..
  629. .de US
  630. the
  631. .UX
  632. operating system
  633. ..
  634. .so /usr/lib/tmac/tmac.sdisp
  635. .de KF
  636. .if \\n(KK=0 .GS
  637. .nr KK 1
  638. ..
  639. .tr |\(or
  640. .de UL
  641. .if n .ul
  642. \&\\$3\f3\\$1\fP\&\\$2
  643. ..
  644. .de UC
  645. \&\\$3\s-2\\$1\\s+2\&\\$2
  646. ..
  647. .de Uc \" cap-small cap, not used
  648. .\" \&\\$4\\$1\s-2\\$2\s+2\&\\$3
  649. \&\\$4\s-2\\$1\\$2\s+2\&\\$3
  650. ..
  651. .de IT
  652. .if n .ul
  653. \&\\$3\f2\\$1\fP\|\&\\$2
  654. ..
  655. .de UP
  656. \&\\$3\\f3\s-2\\$1\s+2\f1\&\\$2
  657. ..
  658. .de P1
  659. .nr PC \\n(.i
  660. .nf
  661. .di PA
  662. .lg 0
  663. .if n .ls 1
  664. .if n .ta 5 10 15 20 25 30 35 40 45 50 55 60
  665. .if t .ta .4i .8i 1.2i 1.6i 2i 2.4i 2.8i 3.2i 3.6i 4i 4.4i 4.8i 5.2i 5.6i
  666. .if t .tr -\-|\(bv'\(fm*\(**
  667. .if t .tr ~\(ap
  668. .tr _\(ru
  669. .if t .ss 20
  670. .ft 3
  671. .lg 0
  672. .ps 9
  673. .vs 12p
  674. .in 0
  675. ..
  676. .de P2
  677. .if t .ss 12
  678. .ft R
  679. .if n .ls 2
  680. .tr --''^^!!**
  681. .lg
  682. .in \\n(PCu
  683. .di
  684. .if \\n(dl>(\\n(.l-\\n(.i) .tm Page \\n% program fragment too wide
  685. .nr PB \\n(.l-\\n(dl-\\n(.i-2n
  686. .if \\n(PB<0 .nr PB 0
  687. .nr PB \\n(PB/2
  688. . \" indent; don't center
  689. .nr PB .5i
  690. .in +\\n(PBu
  691. .nf
  692. .SP .5v
  693. .PA
  694. .SP .5v
  695. .in -\\n(PBu
  696. .fi
  697. .ps \\n(PS
  698. .vs \\n(VSp
  699. ..
  700. .de X
  701. .ul
  702. \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  703. ..
  704. .de Y
  705. .ti \\n(.yu*2u
  706. .ul
  707. \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  708. ..
  709. .de QH
  710. .NH 2
  711. .ti 0
  712. .ft 2
  713. ..
  714. .de PN
  715. .nr NQ \\n(.f
  716. \&\\$3\\f3\\$1\f\\n(NQ\\$2
  717. ..
  718. .de ][
  719. .\".if \\n(.d>0 .if \\n(.d<1.5v .tm Top widow page \\n%
  720. .if \\$1>5 .tm Bad arg to ][
  721. .Fx \\*([D
  722. .[\\$1
  723. ..
  724. .if n .ds [. [
  725. .if t .ds [. \s-2\v'-.4m'\f1
  726. .if n .ds .] ]
  727. .if t .ds .] \v'.4m'\s+2\fP
  728. .if n .ds [o ""
  729. .if n .ds [c ""
  730. .if t .ds [o `
  731. .if t .ds [c '
  732. .de [5 \" tm style
  733. .QP "\\*([F.\0"
  734. \\*([A,
  735. unpublished work
  736. (\\*([D).
  737. .in 0
  738. .RT
  739. ..
  740. .de [0 \" other
  741. .QP "\\*([F.\0"
  742. .if !"\\*([A"" \\*([A,
  743. .if !"\\*([T"" \\f2\\*([T\\f1\c
  744. .if !"\\*([T"" .if !"\\*([O"" ,\
  745. .ie !"\\*([O"" \\*([O
  746. .el .if !"\\*([T"" \&.
  747. .if !"\\*([D"" \\*([D.
  748. .in 0
  749. .RT
  750. ..
  751. .de [1 \" journal article
  752. .if "\\*([Q"This issue" .rm [V [N [D
  753. .if !"\\*([R"" .rm [C
  754. .QP "\\*([F.\0"
  755. .if !"\\*([A"" \\*([A,
  756. .if !"\\*([T"" \\*([o\\*([T,\\*([c
  757. .ft 2
  758. .if "\\*([V"" .if !"\\*([C"" \\*([J,
  759. .if "\\*([V"" .if "\\*([C"" .if !"\\*([Q"This issue" \\*([J
  760. .if "\\*([V"" .if "\\*([C"" .if "\\*([Q"This issue" \\*([J,
  761. .if !"\\*([V"" \\*([J,
  762. .ft 1
  763. .if !"\\*([V"" \{.if n Vol.\&
  764. \\f3\\*([V\\f1,\}
  765. .if !"\\*([N"" \\*([N,
  766. .if !"\\*([C"" \\*([C
  767. .if !"\\*([P"" \\*([P
  768. .if !"\\*([D"" (\\*([D).
  769. .in 0
  770. .RT
  771. ..
  772. .de [2 \" book
  773. .QP "\\*([F.\0"
  774. .if !"\\*([A"" \\*([A,
  775. \\f2\\*([T,\\f1
  776. \\*([I,
  777. .if !"\\*([D"" \\*([D\c
  778. .if !"\\*([Q"NP" \&.
  779. .if !"\\*([G"" Gov't. ordering no. \\*([G
  780. .if !"\\*([O"" \\*([O
  781. .in 0
  782. .RT
  783. ..
  784. .de [4 \" report
  785. .if "\\*([I"Bell Laboratories" .rm [C
  786. .QP "\\*([F.\0"
  787. \\*([A, \\*([o\\*([T,\\*([c
  788. \\*([R\c
  789. .if !"\\*([G"" \& (\\*([G)\c
  790. .if !"\\*([I"" , \\*([I\c
  791. .if !"\\*([C"" , \\*([C\c
  792. .if !"\\*([D"" \\0(\\*([D)\c
  793. .if !"\\*([Q"NP" \&.
  794. .if !"\\*([O"" \\*([O
  795. .in 0
  796. .RT
  797. ..
  798. .de [3 \" article in book
  799. .QP "\\*([F.\0"
  800. \\*([A, \\*([o\\*([T,\\*([c
  801. in \\f2\\*([B\\f1\c
  802. .if !"\\*([E"" , ed. \\*([E\c
  803. .if "\\*([E"" ,\c
  804. .if !"\\*([I"" \ \\*([I,\c
  805. .if !"\\*([P"" \ \\*([P
  806. .if !"\\*([D"" \ (\\*([D).
  807. .in 0
  808. .RT
  809. ..
  810. .de ]<
  811. .SP 2v
  812. .ti 0
  813. .nf
  814. .ps -1
  815. .ce
  816. REFERENCES
  817. .ps
  818. .nr PS 8
  819. .nr VS 8
  820. .nr PI \w'\s8\0\0.\0'
  821. .sp .5v
  822. .fi
  823. .LP
  824. .rn RP IP
  825. ..
  826. .de Fx \" fix date to discard all but year
  827. .ds [D \\$\\n(.$
  828. ..
  829. .de ]>
  830. .sp
  831. ..
  832. .de ]-
  833. .rm [V [P [A [T [N [C [B [O [R [I [E [Q [D [Q
  834. ..
  835. .de QP
  836. .LP
  837. .in \\n(PIu
  838. .ta \\n(PIuR
  839. .ti 0
  840. \t\\$1\\c
  841. ..
  842. .de LB
  843. .RT
  844. .nr ZB .4i
  845. .if !"\\$2"" .nr ZB \\$2n
  846. .in \\n(ZJu
  847. .ti -\\n(ZBu
  848. .ta \\n(ZBu
  849. \\$1\t\\c
  850. ..
  851. .de RS
  852. .nr ZJ +.3i
  853. ..
  854. .de RE
  855. .nr ZJ -.3i
  856. ..
  857. .de RP
  858. .ce 0
  859. .if \\n(FR=0 .ps \\n(PS
  860. .nr FR 1
  861. .in .4i
  862. .ta .2i
  863. .if \\n(.$>0 .ti 0-.1i-\h'\w'\\$1'u'
  864. .if \\n(.$>0 \\$1\h'|.4i'\c
  865. ..
  866. .ds s \s-2
  867. .de MH
  868. Bell Labs, 600 Mountain Avenue, Murray Hill, New Jersey 07974, U. S. A.
  869. ..
  870. .de HO
  871. Bell Labs, Holmdel, New Jersey 07733, U. S. A.
  872. ..
  873. .de WH
  874. Bell Labs, Whippany, New Jersey 07981, U. S. A.
  875. ..
  876. .ds n \s+2
  877. .\" REFER macros .... citations
  878. .de []
  879. .][ \\$1
  880. ..
  881. .de ][
  882. .if \\$1>5 .tm Bad arg to []
  883. .[\\$1
  884. ..
  885. .if n .ds [. [
  886. .if t .ds [. \s-2\v'-.4m'\f1
  887. .if n .ds .] ]
  888. .if t .ds .] \v'.4m'\s+2\fP
  889. .if n .ds [o ""
  890. .if n .ds [c ""
  891. .if t .ds [o `
  892. .if t .ds [c '
  893. .\" the next lines deal with the problem of .[1] or [1].
  894. .\" refer will write "linexxx\*(<.[1]\*(>.
  895. .\" and either "<." or ">." should produce the .;
  896. .\" similarly for ,
  897. .if n .ds >. .
  898. .if t .ds <. .
  899. .if n .ds >, ,
  900. .if t .ds <, ,
  901. .de [5 \" tm style
  902. .FS
  903. .IP "\\*([F.\0"
  904. .nr %T 2
  905. \\*([A, \\f2\\*([T\\f1,
  906. .ie \\n(TN \\*([M.
  907. .el Bell Laboratories internal memorandum (\\*([D).
  908. .RT
  909. .FE
  910. ..
  911. .de [0 \" other
  912. .FS
  913. .nr [: 0
  914. .if !"\\*([F"" .IP "\\*([F.\0"
  915. .if !"\\*([A"" \{.nr [: 1
  916. \\*([A\c\}
  917. .if !"\\*([T"" \{.if \\n([:>0 ,
  918. .nr [: 1
  919. \\f2\\*([T\\f1\c\}
  920. .if !"\\*([O""\{.if \\n([:>0 ,
  921. .nr [: 1
  922. .if \\n([O>0 .nr [: 0
  923. \\*([O\c
  924. .if \\n([O>0 \& \c\}
  925. .if !"\\*([D"" \{.if \\n([:>0 ,
  926. .nr [: 1
  927. \\*([D\c\}
  928. .if \\n([:>0 \&.
  929. .if !"\\*([%"" Cited p. \\*([%.
  930. .RT
  931. .FE
  932. ..
  933. .de [1 \" journal article
  934. .nr %T 1 \" title font
  935. .FS
  936. .if !"\\*([R"" .rm [C
  937. .if !"\\*([F"" .IP "\\*([F.\0"
  938. .if !"\\*([A"" \\*([A,
  939. .if !"\\*([T"" \\*([o\\*([T\\*([c,
  940. \\f2\\*([J\\f1\c
  941. .if !"\\*([C"" , \\*([C\c
  942. .if !"\\*([V"" .if n ,\& Vol.\&\c
  943. .if !"\\*([V"" ,\& \\f3\\*([V\\f1\c
  944. .if !"\\*([P"" \{\
  945. .ie \\n([P>0 , \&\c
  946. .el , \ \&\c
  947. \\*([P\c\}
  948. .if !"\\*([I"" .if "\\*([R"" , \\*([I\c
  949. .if !"\\*([O"" .if \\n([O=0 , \\*([O\c
  950. .if !"\\*([D"" \& (\\*([D)\c
  951. \&.
  952. .if !"\\*([O"" .if \\n([O>0 \\*([O
  953. .if !"\\*([%"" Cited p. \\*([%.
  954. .RT
  955. .FE
  956. ..
  957. .de [2 \" book
  958. .FS
  959. .nr %T 2
  960. .if !"\\*([F"" .IP "\\*([F.\0"
  961. .if !"\\*([A"" \\*([A,
  962. .if !"\\*([T"" \\f2\\*([T,\\f1
  963. \\*([I\c
  964. .if !"\\*([C"" , \\*([C\c
  965. .if !"\\*([D"" \& (\\*([D)\c
  966. \&.
  967. .if !"\\*([G"" Gov't. ordering no. \\*([G.
  968. .if !"\\*([O"" \\*([O
  969. .if !"\\*([%"" Cited p. \\*([%.
  970. .RT
  971. .FE
  972. ..
  973. .de [4 \" report
  974. .FS
  975. .if !"\\*([F"" .IP "\\*([F.\0"
  976. .nr %T 1
  977. \\*([A, \\*([o\\*([T\\*([c,
  978. \\*([R\c
  979. .if !"\\*([G"" \& (\\*([G)\c
  980. .if !"\\*([I"" , \\*([I\c
  981. .if !"\\*([C"" , \\*([C\c
  982. .if !"\\*([D"" \& (\\*([D)\c
  983. \&.
  984. .if !"\\*([O"" \\*([O
  985. .if !"\\*([%"" Cited p. \\*([%.
  986. .RT
  987. .FE
  988. ..
  989. .de [3 \" article in book
  990. .FS
  991. .nr %T 1
  992. .if !"\\*([F"" .IP "\\*([F.\0"
  993. .if !"\\*([A"" \\*([A,
  994. .if !"\\*([T"" \\*([o\\*([T,\\*([c
  995. .if !"\\*([P"" \\*([P
  996. in \\f2\\*([B\\f1\c
  997. .if !"\\*([E"" , ed. \\*([E\c
  998. .if !"\\*([I"" , \\*([I\c
  999. .if !"\\*([C"" , \\*([C\c
  1000. .if !"\\*([D"" \& (\\*([D)\c
  1001. \&.
  1002. .if !"\\*([O"" \\*([O
  1003. .if !"\\*([%"" Cited p. \\*([%.
  1004. .RT
  1005. .FE
  1006. ..
  1007. .de ]<
  1008. .[<
  1009. ..
  1010. .de [<
  1011. .LP
  1012. .rm FS FE
  1013. ..
  1014. .de [>
  1015. .]>
  1016. ..
  1017. .de ]>
  1018. .sp
  1019. ..
  1020. .de ]-
  1021. .[-
  1022. ..
  1023. .de [-
  1024. .rm [V [P [A [T
  1025. .rm [N [C [B [O
  1026. .rm [R [I [E [D
  1027. .rm [G [%
  1028. ..
  1029. .de ]]
  1030. .\"this is never executed and just uses up an end-of-file bug.
  1031. ..