home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-User.iso / usr / lib / tmac / tmac.s < prev    next >
Text File  |  1986-01-11  |  14KB  |  942 lines

  1. .ds // /usr/lib/ms/
  2. .    \" IZ - initialize (before text begins)
  3. .de IZ
  4. .nr FM 1i
  5. .nr YY -\\n(FMu
  6. .nr XX 0 1
  7. .nr IP 0
  8. .nr PI 5n
  9. .nr QI 5n
  10. .nr FI 2n
  11. .nr I0 \\n(PIu
  12. .if n .nr PD 1v
  13. .if t .nr PD .3v
  14. .if n .nr DD 1v
  15. .if t .nr DD .5v
  16. .nr PS 10
  17. .nr VS 12
  18. .ps \\n(PS
  19. .vs \\n(VSp
  20. .nr ML 3v
  21. .nr IR 0
  22. .nr TB 0
  23. .nr SJ \\n(.j
  24. .nr PO \\n(.o
  25. .nr LL 6i
  26. .ll \\n(LLu
  27. .lt 6i
  28. .ev 1
  29. .nr FL 5.5i
  30. .ll \\n(FLu
  31. .ps 8
  32. .vs 10p
  33. .ev
  34. .ds CH - \\\\n(PN -
  35. .if n .ds CF \\*(DY
  36. .wh 0 NP
  37. .wh -\\n(FMu FO
  38. .ch FO 16i
  39. .wh -\\n(FMu FX
  40. .ch FO -\\n(FMu
  41. .wh -\\n(FMu/2u BT
  42. ..
  43. .    \" RT - reset (at new paragraph)
  44. .de RT
  45. .if !\\n(1T .BG
  46. .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
  47. .if \\n(TM .ls 2
  48. .ce 0
  49. .ul 0
  50. .if \\n(QP \{\
  51. .    ll +\\n(QIu
  52. .    in -\\n(QIu
  53. .    nr QP -1
  54. .\}
  55. .if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu
  56. .if !\\n(IF \{\
  57. .    ps \\n(PS
  58. .    if \\n(VS>=40 .vs \\n(VSu
  59. .    if \\n(VS<=39 .vs \\n(VSp
  60. .\}
  61. .if !\\n(IP .nr I0 \\n(PIu
  62. .if \\n(IP \{\
  63. .    in -\\n(I\\n(IRu
  64. .    nr IP -1
  65. .\}
  66. .ft 1
  67. .TA
  68. .fi
  69. ..
  70. .    \" TA - set default tabs
  71. .de TA
  72. .if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n
  73. .if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n
  74. ..
  75. .    \" BG - begin (at first paragraph)
  76. .de BG
  77. .br
  78. .nr YE 1
  79. .di
  80. .ce 0
  81. .nr KI 0
  82. .hy 14
  83. .nr 1T 1
  84. .S\\n(ST
  85. .rm S0 S1 S2 SY TX AX WT RP
  86. .\"redefs
  87. .de TL
  88. .ft 3
  89. .ce 99
  90. .sp
  91. .LG
  92. \\..
  93. .de AU
  94. .ft 2
  95. .if n .ul 0
  96. .ce 99
  97. .sp
  98. .NL
  99. \\..
  100. .de AI
  101. .ft 1
  102. .if n .ul 0
  103. .ce 99
  104. .if n .sp
  105. .if t .sp .5
  106. .NL
  107. \\..
  108. .RA
  109. .rn FJ FS
  110. .rn FK FE
  111. .nf
  112. .ev 1
  113. .ps \\n(PS-2
  114. .vs \\n(.s+2p
  115. .ev
  116. .if !\\n(KG .nr FP 0
  117. .nr KG 0
  118. .if \\n(FP \{\
  119. .    FS
  120. .    FG
  121. .    FE
  122. .\}
  123. .br
  124. .if \\n(TV .if n .sp 2
  125. .if \\n(TV .if t .sp 1
  126. .fi
  127. .ll \\n(LLu
  128. ..
  129. .    \" RA - redefine abstract
  130. .de RA
  131. .de AB
  132. .br
  133. .if !\\n(1T .BG
  134. .ce
  135. .sp
  136. .if !\\n(.$ ABSTRACT
  137. .if \\n(.$ .if !\\$1no \\$1
  138. .if !\\n(.$ .sp
  139. .if \\n(.$ .if !\\$1no .sp
  140. .sp
  141. .nr AJ 1
  142. .in +\\n(.lu/12u
  143. .ll -\\n(.lu/12u
  144. .RT
  145. .if \\n(TM .ls 1
  146. \\..
  147. .de AE
  148. .nr AJ 0
  149. .br
  150. .in 0
  151. .ll \\n(LLu
  152. .if \\n(VS>=40 .vs \\n(VSu
  153. .if \\n(VS<=39 .vs \\n(VSp
  154. .if \\n(TM .ls 2
  155. \\..
  156. ..
  157. .    \" RP - released paper format
  158. .de RP
  159. .nr ST 2
  160. .if \\$1no .nr ST 1
  161. .pn 0
  162. .br
  163. ..
  164. .    \" TL - source file for cover sheet
  165. .de TL
  166. .rn TL @T
  167. .so \*(//s.cov
  168. .TL
  169. .rm @T
  170. ..
  171. .    \" PP - regular paragraph
  172. .de PP
  173. .RT
  174. .if \\n(1T .sp \\n(PDu
  175. .ne 1.1
  176. .ti +\\n(PIu
  177. ..
  178. .    \" LP - left paragraph
  179. .de LP
  180. .RT
  181. .if \\n(1T .sp \\n(PDu
  182. .ne 1.1
  183. .ti \\n(.iu
  184. ..
  185. .    \" IP - indented paragraph
  186. .de IP
  187. .RT
  188. .if \\n(1T .sp \\n(PDu
  189. .ne 1.1
  190. .if !\\n(IP .nr IP +1
  191. .if \\n(.$-1 .nr I\\n(IR \\$2n
  192. .in +\\n(I\\n(IRu
  193. .ta \\n(I\\n(IRu
  194. .if \\n(.$ \{\
  195. .ds HT \&\\$1
  196. .ti -\\n(I\\n(IRu
  197. \\*(HT\t\c
  198. .if \w'\\*(HT'u>(\\n(I\\n(IRu+1n) .br
  199. .\}
  200. ..
  201. .    \" XP - exdented paragraph
  202. .de XP
  203. .RT
  204. .if \\n(1T .sp \\n(PDu
  205. .ne 1.1
  206. .if !\\n(IP .nr IP +1
  207. .in +\\n(I\\n(IRu
  208. .ti -\\n(I\\n(IRu
  209. ..
  210. .    \" QP - quote paragraph
  211. .de QP
  212. .ti \\n(.iu
  213. .RT
  214. .if \\n(1T .sp \\n(PDu
  215. .ne 1.1
  216. .nr QP 1
  217. .in +\\n(QIu
  218. .ll -\\n(QIu
  219. .ti \\n(.iu
  220. .if \\n(TM .ls 1
  221. ..
  222. .    \" SH - section header
  223. .de SH
  224. .ti \\n(.iu
  225. .RT
  226. .if \\n(1T .sp
  227. .RT
  228. .ne 3.1
  229. .B
  230. ..
  231. .    \" NH - numbered header
  232. .de NH
  233. .SH
  234. .nr NS \\$1
  235. .if !\\n(.$ .nr NS 1
  236. .if !\\n(NS .nr NS 1
  237. .nr H\\n(NS +1
  238. .if !\\n(NS-4 .nr H5 0
  239. .if !\\n(NS-3 .nr H4 0
  240. .if !\\n(NS-2 .nr H3 0
  241. .if !\\n(NS-1 .nr H2 0
  242. .if !\\$1 .if \\n(.$ .nr H1 1
  243. .if \\$1S \{\
  244. .    nr NS \\n(.$-1
  245. .    nr H1 \\$2
  246. .    nr H2 \\$3
  247. .    nr H3 \\$4
  248. .    nr H4 \\$5
  249. .    nr H5 \\$6
  250. .\}
  251. .ds SN \\n(H1.
  252. .if \\n(NS-1 .as SN \\n(H2.
  253. .if \\n(NS-2 .as SN \\n(H3.
  254. .if \\n(NS-3 .as SN \\n(H4.
  255. .if \\n(NS-4 .as SN \\n(H5.
  256. \\*(SN
  257. ..
  258. .    \" DS - display with keep (L=left I=indent C=center B=block)
  259. .de DS
  260. .KS
  261. .nf
  262. .\\$1D \\$2 \\$1
  263. .ft 1
  264. .ps \\n(PS
  265. .if \\n(VS>=40 .vs \\n(VSu
  266. .if \\n(VS<=39 .vs \\n(VSp
  267. ..
  268. .de D
  269. .ID \\$1
  270. ..
  271. .    \" ID - indented display with no keep
  272. .de ID
  273. .XD
  274. .if t .in +.5i
  275. .if n .in +8
  276. .if \\n(.$ .if !\\$1I .if !\\$1 \{\
  277. .    in \\n(OIu
  278. .    in +\\$1n
  279. .\}
  280. ..
  281. .    \" LD - left display with no keep
  282. .de LD
  283. .XD
  284. ..
  285. .    \" CD - centered display with no keep
  286. .de CD
  287. .XD
  288. .ce 999
  289. ..
  290. .    \" XD - real display macro
  291. .de XD
  292. .nf
  293. .nr OI \\n(.i
  294. .sp \\n(DDu
  295. .if \\n(TM .ls 1
  296. ..
  297. .    \" DE - end display of any kind
  298. .de DE
  299. .ce 0
  300. .if \\n(BD .DF
  301. .nr BD 0
  302. .in \\n(OIu
  303. .KE
  304. .if \\n(TM .ls 2
  305. .sp \\n(DDu
  306. .fi
  307. ..
  308. .    \" BD - block display: center entire block
  309. .de BD
  310. .XD
  311. .nr BD 1
  312. .nf
  313. .in \\n(OIu
  314. .di DD
  315. ..
  316. .    \" DF - finish block display
  317. .de DF
  318. .di
  319. .if \\n(dl>\\n(BD .nr BD \\n(dl
  320. .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
  321. .nr EI \\n(.l-\\n(.i
  322. .ta \\n(EIuR
  323. .DD
  324. .in \\n(OIu
  325. ..
  326. .    \" KS - begin regular keep
  327. .de KS
  328. .nr KN \\n(.u
  329. .if !\\n(IK .if !\\n(IF .KQ
  330. .nr IK +1
  331. ..
  332. .    \" KQ - real keep processor
  333. .de KQ
  334. .br
  335. .nr KI \\n(.i
  336. .ev 2
  337. .TA
  338. .br
  339. .in \\n(KIu
  340. .ps \\n(PS
  341. .if \\n(VS>=40 .vs \\n(VSu
  342. .if \\n(VS<=39 .vs \\n(VSp
  343. .ll \\n(LLu
  344. .lt \\n(LTu
  345. .if \\n(NX>1 .ll \\n(CWu
  346. .if \\n(NX>1 .lt \\n(CWu
  347. .di KK
  348. .nr TB 0
  349. ..
  350. .    \" KF - begin floating keep
  351. .de KF
  352. .nr KN \\n(.u
  353. .if !\\n(IK .FQ
  354. .nr IK +1
  355. ..
  356. .    \" FQ - real floating keep processor
  357. .de FQ
  358. .nr KI \\n(.i
  359. .ev 2
  360. .TA
  361. .br
  362. .in \\n(KIu
  363. .ps \\n(PS
  364. .if \\n(VS>=40 .vs \\n(VSu
  365. .if \\n(VS<=39 .vs \\n(VSp
  366. .ll \\n(LLu
  367. .lt \\n(LTu
  368. .if \\n(NX>1 .ll \\n(CWu
  369. .if \\n(NX>1 .lt \\n(CWu
  370. .di KK
  371. .nr TB 1
  372. ..
  373. .    \" KE - end keep
  374. .de KE
  375. .if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ
  376. .if \\n(IK .nr IK -1
  377. ..
  378. .    \" RQ - real keep release
  379. .de RQ
  380. .br
  381. .di
  382. .nr NF 0
  383. .if \\n(dn-\\n(.t .nr NF 1
  384. .if \\n(TC .nr NF 1
  385. .if \\n(NF .if !\\n(TB .sp 200
  386. .if !\\n(NF .if \\n(TB .nr TB 0
  387. .nf
  388. .rs
  389. .nr TC 5
  390. .in 0
  391. .ls 1
  392. .if !\\n(TB \{\
  393. .    ev
  394. .    br
  395. .    ev 2
  396. .    KK
  397. .\}
  398. .ls
  399. .ce 0
  400. .if !\\n(TB .rm KK
  401. .if \\n(TB .da KJ
  402. .if \\n(TB \!.KD \\n(dn
  403. .if \\n(TB .KK
  404. .if \\n(TB .di
  405. .nr TC \\n(TB
  406. .if \\n(KN .fi
  407. .in
  408. .ev
  409. ..
  410. .    \" KD - keep redivert
  411. .de KD
  412. .nr KM 0
  413. .if \\n(.zKJ .nr KM 1
  414. .if \\n(KM \!.KD \\$1
  415. .if !\\n(KM .if \\n(.t<\\$1 .di KJ
  416. ..
  417. .    \" EM - end macro (process leftover keep)
  418. .de EM
  419. .br
  420. .if !\\n(TB .if t .wh -1p CM
  421. .if \\n(TB \{\
  422. \&\c
  423. '    bp
  424. .    NP
  425. .    ch CM 160
  426. .\}
  427. ..
  428. .de XK
  429. .nr TD 1
  430. .nf
  431. .ls 1
  432. .in 0
  433. .rn KJ KL
  434. .KL
  435. .rm KL
  436. .if \\n(.zKJ .di
  437. .nr TB 0
  438. .if \\n(.zKJ .nr TB 1
  439. .br
  440. .in
  441. .ls
  442. .fi
  443. .nr TD 0
  444. ..
  445. .    \" NP - new page
  446. .de NP
  447. .if !\\n(LT .nr LT \\n(LLu
  448. .if \\n(FM+\\n(HM>=\\n(.p \{\
  449. .    tm HM + FM longer than page
  450. .    ab
  451. .\}
  452. .if t .CM
  453. .if !\\n(HM .nr HM 1i
  454. .po \\n(POu
  455. .nr PF \\n(.f
  456. .nr PX \\n(.s
  457. .ft 1
  458. .ps \\n(PS
  459. 'sp \\n(HMu/2u
  460. .PT
  461. 'sp |\\n(HMu
  462. .HD    \"undefined
  463. .ps \\n(PX
  464. .ft \\n(PF
  465. .nr XX 0 1
  466. .nr YY 0-\\n(FMu
  467. .ch FO 16i
  468. .ch FX 17i
  469. .ch FO -\\n(FMu
  470. .ch FX \\n(.pu-\\n(FMu
  471. .if \\n(MF .FV
  472. .nr MF 0
  473. .mk
  474. .os
  475. .ev 1
  476. .if !\\n(TD .if \\n(TC<5 .XK
  477. .nr TC 0
  478. .ev
  479. .nr TQ \\n(.i
  480. .nr TK \\n(.u
  481. .if \\n(IT \{\
  482. .    in 0
  483. .    nf
  484. .    TT
  485. .    in \\n(TQu
  486. .    if \\n(TK .fi
  487. .\}
  488. .ns
  489. .mk #T
  490. .if t .if \\n(.o+\\n(LL>7.54i .tm PO + LL wider than 7.54i
  491. ..
  492. .    \" PT - page titles
  493. .de PT
  494. .lt \\n(LTu
  495. .pc %
  496. .nr PN \\n%
  497. .nr PT \\n%
  498. .if \\n(P1 .nr PT 2
  499. .if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl \\*(LH\\*(CH\\*(RH
  500. .if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1
  501. .if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2
  502. .lt \\n(.lu
  503. ..
  504. .    \" OH - odd page header
  505. .de OH
  506. .nr OH 1
  507. .if !\\n(.$ .nr OH 0
  508. .ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  509. ..
  510. .    \" EH - even page header
  511. .de EH
  512. .nr EH 1
  513. .if !\\n(.$ .nr EH 0
  514. .ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  515. ..
  516. .    \" P1 - PT on 1st page
  517. .de P1
  518. .nr P1 1
  519. ..
  520. .    \" FO - footer
  521. .de FO
  522. .rn FO FZ
  523. .if \\n(IT .nr T. 1
  524. .if \\n(IT .if !\\n(FC .T# 1
  525. .if \\n(IT .br
  526. .nr FC +1
  527. .if \\n(NX<2 .nr WF 0
  528. .nr dn 0
  529. .if \\n(FC<=1 .if \\n(XX .XF
  530. .rn FZ FO
  531. .nr MF 0
  532. .if \\n(dn .nr MF 1
  533. .if !\\n(WF .nr YY 0-\\n(FMu
  534. .if !\\n(WF .ch FO \\n(YYu
  535. .if !\\n(dn .nr WF 0
  536. .if \\n(FC<=1 .if !\\n(XX \{\
  537. .    if \\n(NX>1 .RC
  538. .    if \\n(NX<2 'bp
  539. .\}
  540. .nr FC -1
  541. .if \\n(ML .ne \\n(MLu
  542. ..
  543. .    \" BT - bottom title
  544. .de BT
  545. .nr PF \\n(.f
  546. .nr PX \\n(.s
  547. .ft 1
  548. .ps \\n(PS
  549. .lt \\n(LTu
  550. .po \\n(POu
  551. .if \\n(TM .if \\n(CT \{\
  552. .    tl ''\\n(PN''
  553. .    nr CT 0
  554. .\}
  555. .if \\n% .if !\\n(EF .if !\\n(OF .tl \\*(LF\\*(CF\\*(RF
  556. .if \\n% .if \\n(OF .if o .tl \\*(O3
  557. .if \\n% .if \\n(EF .if e .tl \\*(E4
  558. .ft \\n(PF
  559. .ps \\n(PX
  560. ..
  561. .    \" OF - odd page footer
  562. .de OF
  563. .nr OF 1
  564. .if !\\n(.$ .nr OF 0
  565. .ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  566. ..
  567. .    \" EF - even page footer
  568. .de EF
  569. .nr EF 1
  570. .if !\\n(.$ .nr EF 0
  571. .ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  572. ..
  573. .    \" 2C - double column
  574. .de 2C
  575. .MC
  576. ..
  577. .    \" 1C - single column
  578. .de 1C
  579. .MC \\n(LLu
  580. .hy 14
  581. ..
  582. .    \" MC - multiple columns, arg is col width
  583. .de MC
  584. .nr L1 \\n(LL*7/15
  585. .if \\n(.$ .nr L1 \\$1n
  586. .nr NQ \\n(LL/\\n(L1
  587. .if \\n(NQ<1 .nr NQ 1
  588. .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
  589. .if !\\n(1T \{\
  590. .    BG
  591. .    if n .sp 4
  592. .    if t .sp 2
  593. .\}
  594. .if !\\n(NX .nr NX 1
  595. .if !\\n(NX=\\n(NQ \{\
  596. .    RT
  597. .    if \\n(NX>1 .bp
  598. .    mk
  599. .    nr NC 1
  600. .    po \\n(POu
  601. .\}
  602. .if \\n(NQ>1 .hy 12
  603. .nr NX \\n(NQ
  604. .nr CW \\n(L1
  605. .ll \\n(CWu
  606. .nr FL \\n(CWu*11u/12u
  607. .if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
  608. .nr RO \\n(CW+\\n(GW
  609. .ns
  610. ..
  611. .de RC
  612. .if \\n(NC>=\\n(NX .C2
  613. .if \\n(NC<\\n(NX .C1
  614. .nr NC \\n(ND
  615. ..
  616. .de C1
  617. .rt
  618. .po +\\n(ROu
  619. .nr ND \\n(NC+1
  620. .nr XX 0 1
  621. .if \\n(MF .FV
  622. .ch FX \\n(.pu-\\n(FMu
  623. .ev 1
  624. .if \\n(TB .XK
  625. .nr TC 0
  626. .ev
  627. .nr TQ \\n(.i
  628. .if \\n(IT .in 0
  629. .if \\n(IT .TT
  630. .if \\n(IT .in \\n(TQu
  631. .mk #T
  632. .ns
  633. ..
  634. .de C2
  635. .po \\n(POu
  636. 'bp
  637. .nr ND 1
  638. ..
  639. .    \" RS - right shift
  640. .de RS
  641. .nr IS \\n(IP
  642. .RT
  643. .nr IP \\n(IS
  644. .if \\n(IP .in +\\n(I\\n(IRu
  645. .nr IR +1
  646. .nr I\\n(IR \\n(PIu
  647. .in +\\n(I\\n(IRu
  648. ..
  649. .    \" RE - retreat left
  650. .de RE
  651. .nr IS \\n(IP
  652. .RT
  653. .nr IP \\n(IS
  654. .if \\n(IR .nr IR -1
  655. .if \\n(IP<=0 .in -\\n(I\\n(IRu
  656. ..
  657. .    \" CM - cut mark
  658. .de CM
  659. .po 0
  660. .lt 7.6i
  661. .ft 1
  662. .ps 10
  663. .vs 4p
  664. .tl '--''--'
  665. .po
  666. .vs
  667. .lt
  668. .ps
  669. .ft
  670. ..
  671. .    \" I - italic font
  672. .de I
  673. .nr PQ \\n(.f
  674. .if t .ft 2
  675. .ie \\$1 .if n .ul 999
  676. .el .if n .ul 1
  677. .if t .if !\\$1 \&\\$1\|\f\\n(PQ\\$2
  678. .if n .if \\n(.$=1 \&\\$1
  679. .if n .if \\n(.$>1 \&\\$1\c
  680. .if n .if \\n(.$>1 \&\\$2
  681. ..
  682. .    \" B - bold font
  683. .de B
  684. .nr PQ \\n(.f
  685. .if t .ft 3
  686. .ie \\$1 .if n .ul 999
  687. .el .if n .ul 1
  688. .if t .if !\\$1 \&\\$1\f\\n(PQ\\$2
  689. .if n .if \\n(.$=1 \&\\$1
  690. .if n .if \\n(.$>1 \&\\$1\c
  691. .if n .if \\n(.$>1 \&\\$2
  692. ..
  693. .    \" R - Roman font
  694. .de R
  695. .if n .ul 0
  696. .ft 1
  697. ..
  698. .    \" UL - underline in troff
  699. .de UL
  700. .if t \\$1\l'|0\(ul'\\$2
  701. .if n .I "\\$1" "\\$2"
  702. ..
  703. .    \" SM - smaller
  704. .de SM
  705. .ps -2
  706. ..
  707. .    \" LG - larger
  708. .de LG
  709. .ps +2
  710. ..
  711. .    \" NL - normal
  712. .de NL
  713. .ps \\n(PS
  714. ..
  715. .    \" DA - force date
  716. .de DA
  717. .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
  718. .ds CF \\*(DY
  719. ..
  720. .    \" ND - no date or new date
  721. .de ND
  722. .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
  723. .rm CF
  724. ..
  725. .    \" \** - numbered footnote
  726. .ds * \\*([.\\n+*\\*(.]
  727. .    \" FJ - replaces FS after cover
  728. .de FJ
  729. 'ce 0
  730. .di
  731. .ev 1
  732. .ll \\n(FLu
  733. .da FF
  734. .br
  735. .if \\n(IF .tm Nested footnote
  736. .nr IF 1
  737. .if !\\n+(XX-1 .FA
  738. .if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n*
  739. .if !\\n(MF .if \\n(.$ .FP \\$1 no
  740. ..
  741. .    \" FK - replaces FE after cover
  742. .de FK
  743. .br
  744. .in 0
  745. .nr IF 0
  746. .di
  747. .ev
  748. .if !\\n(XX-1 .nr dn +\\n(.v
  749. .nr YY -\\n(dn
  750. .if !\\n(NX .nr WF 1
  751. .if \\n(dl>\\n(CW .nr WF 1
  752. .if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
  753. .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\
  754. .    if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
  755. .    if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
  756. .    if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
  757. .\}
  758. ..
  759. .    \" FS - begin footnote on cover
  760. .de FS
  761. .ev 1
  762. .br
  763. .ll \\n(FLu
  764. .da FG
  765. .if !\\n(.$ .if \\n* .FP \\n*
  766. .if \\n(.$ .FP \\$1 no
  767. ..
  768. .    \" FE - end footnote on cover
  769. .de FE
  770. .br
  771. .di
  772. .nr FP \\n(dn
  773. .if !\\n(1T .nr KG 1
  774. .ev
  775. ..
  776. .    \" FA - print line before footnotes
  777. .de FA
  778. .in 0
  779. .if n _________________________
  780. .if t \l'1i'
  781. .br
  782. ..
  783. .    \" FP - footnote paragraph
  784. .de FP
  785. .sp \\n(PDu/2u
  786. .if \\n(FF<2 .ti \\n(FIu
  787. .if \\n(FF=3 \{\
  788. .    in \\n(FIu*2u
  789. .    ta \\n(FIu*2u
  790. .    ti 0
  791. .\}
  792. .if !\\n(FF \{\
  793. .    ie "\\$2"no" \\$1\0\c
  794. .    el \\*([.\\$1\\*(.]\0\c
  795. .\}
  796. .if \\n(FF .if \\n(FF<3 \{\
  797. .    ie "\\$2"no" \\$1\0\c
  798. .    el \\$1.\0\c
  799. .\}
  800. .if \\n(FF=3 \{\
  801. .    ie "\\$2"no" \\$1\t\c
  802. .    el \\$1.\t\c
  803. .\}
  804. ..
  805. .    \" FV - get leftover footnote from previous page
  806. .de FV
  807. .FS
  808. .nf
  809. .ls 1
  810. .FY
  811. .ls
  812. .fi
  813. .FE
  814. ..
  815. .    \" FX - divert leftover footnote for next page
  816. .de FX
  817. .if \\n(XX .di FY
  818. .if \\n(XX .ns
  819. ..
  820. .    \" XF - actually print footnote
  821. .de XF
  822. .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
  823. .ev 1
  824. .nf
  825. .ls 1
  826. .FF
  827. .rm FF
  828. .nr XX 0 1
  829. .br
  830. .ls
  831. .di
  832. .fi
  833. .ev
  834. ..
  835. .    \" TS - source file for tbl
  836. .de TS
  837. .rn TS @T
  838. .so \*(//s.tbl
  839. .TS \\$1 \\$2
  840. .rm @T
  841. ..
  842. .    \" EQ - source file for eqn
  843. .de EQ
  844. .rn EQ @T
  845. .so \*(//s.eqn
  846. .EQ \\$1 \\$2
  847. .rm @T
  848. ..
  849. .    \" ]- - source file for refer
  850. .de ]-
  851. .rn ]- @T
  852. .so \*(//s.ref
  853. .]-
  854. .rm @T
  855. ..
  856. .    \" [< - for refer -s or -e
  857. .de ]<
  858. .rn ]< @T
  859. .so \*(//s.ref
  860. .]<
  861. .rm @T
  862. ..
  863. .if \n(.V>19 .ds [. \f1[
  864. .if \n(.V>19 .ds .] ]\fP
  865. .if \n(.V<20 .ds [. \f1\s-2\v'-.4m'
  866. .if \n(.V<20 .ds .] \v'.4m'\s+2\fP
  867. .ds <. .
  868. .ds <, ,
  869. .if n .ds Q \&"
  870. .if n .ds U \&"
  871. .if n .ds - \%--
  872. .if t .ds Q ``
  873. .if t .ds U ''
  874. .if t .ds - \(em
  875. .ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5'
  876. .ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5'
  877. .ds ^ \h'\w'o'u/10'\z^\h'-\w'e'u/10'
  878. .ds , \h'\w'c'u/5'\z,\h'-\w'e'u/5'
  879. .ds : \h'\w'u'u/5'\z"\h'-\w'e'u/5'
  880. .ds ~ \h'\w'n'u/10'\z~\h'-\w'e'u/10'
  881. .ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5'
  882. .    \" AM - better accent marks
  883. .de AM
  884. .so \*(//s.acc
  885. ..
  886. .    \" TM - thesis mode
  887. .de TM
  888. .so \*(//s.ths
  889. ..
  890. .    \" BX - word in a box
  891. .de BX
  892. .if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
  893. .if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
  894. ..
  895. .    \" B1 - source file for boxed text
  896. .de B1
  897. .rn B1 @T
  898. .so \*(//s.tbl
  899. .B1 \\$1
  900. .rm @T
  901. ..
  902. .    \" XS - table of contents
  903. .de XS
  904. .rn XS @T
  905. .so \*(//s.toc
  906. .XS \\$1 \\$2
  907. .rm @T
  908. ..
  909. .    \" IX - index words to stderr
  910. .de IX
  911. .tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n(PN
  912. ..
  913. .    \" UX - UNIX macro
  914. .de UX
  915. .ie \\n(UX \s-1UNIX\s0\\$1
  916. .el \{\
  917. \s-1UNIX\s0\\$1\(dg
  918. .FS
  919. \(dg \s-1UNIX\s0 is a trademark of AT&T Bell Laboratories.
  920. .FE
  921. .nr UX 1
  922. .\}
  923. ..
  924. .co
  925. .if \n(mo-0 .ds MO January
  926. .if \n(mo-1 .ds MO February
  927. .if \n(mo-2 .ds MO March
  928. .if \n(mo-3 .ds MO April
  929. .if \n(mo-4 .ds MO May
  930. .if \n(mo-5 .ds MO June
  931. .if \n(mo-6 .ds MO July
  932. .if \n(mo-7 .ds MO August
  933. .if \n(mo-8 .ds MO September
  934. .if \n(mo-9 .ds MO October
  935. .if \n(mo-10 .ds MO November
  936. .if \n(mo-11 .ds MO December
  937. .ds DY \*(MO \n(dy, 19\n(yr
  938. .nr * 0 1
  939. .IZ
  940. .em EM
  941. .rm IZ RA //
  942.