home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / GROFFEXE / LIB / GROFF / TMAC / E < prev    next >
Text File  |  1994-01-02  |  21KB  |  1,563 lines

  1. .\"    @(#)tmac.e    2.31 (Berkeley) 5/21/88
  2. .\"    Modified by James Clark for use with groff.
  3. .\"
  4. .\" Copyright (c) 1988 Regents of the University of California.
  5. .\" All rights reserved.
  6. .\"
  7. .\" Redistribution and use in source and binary forms are permitted
  8. .\" provided that this notice is preserved and that due credit is given
  9. .\" to the University of California at Berkeley. The name of the University
  10. .\" may not be used to endorse or promote products derived from this
  11. .\" software without specific prior written permission. This software
  12. .\" is provided ``as is'' without express or implied warranty.
  13. .if !\n(.g .ig
  14. .de @R
  15. .if !r\\$1 .nr \\$1 0
  16. ..
  17. .@R pf
  18. .if \n(pf .nx
  19. .if !\n(.g .ig
  20. .de @S
  21. .if !d\\$1 .ds \\$1
  22. ..
  23. .@R @
  24. .de @C
  25. .nr _S \\n(.s
  26. .nr _V \\n(.v
  27. .nr _F \\n(.f
  28. .do ds _A \\n[.fam]
  29. .nr _I \\n(.i
  30. .ev \\$1
  31. .ps \\n(_S
  32. .vs \\n(_Vu
  33. .ft \\n(_F
  34. .do @fam \\*(_A
  35. 'in \\n(_Iu
  36. .xl \\n($lu
  37. .lt \\n($lu
  38. .rr _S
  39. .rr _V
  40. .rr _F
  41. .rr _I
  42. .ls 1
  43. 'ce 0
  44. ..
  45. .de @D
  46. .ds |p "\\$3
  47. .nr _d 0
  48. .if "\\$2"C" \
  49. .    nr _d 1
  50. .if "\\$2"L" \
  51. .    nr _d 2
  52. .if "\\$2"I" \
  53. .    nr _d 3
  54. .if "\\$2"M" \
  55. .    nr _d 4
  56. .if !\\n(_d \{\
  57. .    nr _d \\$1
  58. .    ds |p "\\$2
  59. .\}
  60. ..
  61. .de @z
  62. .if \n@>1 .tm >> @z, .z=\\n(.z ?a=\\n(?a
  63. .if !"\\n(.z"" \
  64. \{\
  65. .    tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z)
  66. .    di
  67. .    ex
  68. .\}
  69. .if \\n(?a \
  70. .    bp
  71. .ds bp
  72. .ds @b
  73. .br
  74. .if \n@>1 .tm << @z
  75. ..
  76. .ie \n(.g .ds $* \\\\$*
  77. .el .ds $* \\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9
  78. .de he
  79. .ie !\\n(.$ \
  80. \{\
  81. .    rm |4
  82. .    rm |5
  83. .\}
  84. .el \
  85. \{\
  86. .    ds |4 "\*($*
  87. .    ds |5 "\*($*
  88. .\}
  89. ..
  90. .de eh
  91. .ie !\\n(.$ \
  92. .    rm |4
  93. .el \
  94. .    ds |4 "\*($*
  95. ..
  96. .de oh
  97. .ie !\\n(.$ \
  98. .    rm |5
  99. .el \
  100. .    ds |5 "\*($*
  101. ..
  102. .de fo
  103. .ie !\\n(.$ \
  104. \{\
  105. .    rm |6
  106. .    rm |7
  107. .\}
  108. .el \
  109. \{\
  110. .    ds |6 "\*($*
  111. .    ds |7 "\*($*
  112. .\}
  113. ..
  114. .de ef
  115. .ie !\\n(.$ \
  116. .    rm |6
  117. .el \
  118. .    ds |6 "\*($*
  119. ..
  120. .de of
  121. .ie !\\n(.$ \
  122. .    rm |7
  123. .el \
  124. .    ds |7 "\*($*
  125. ..
  126. .de ep
  127. .if \\n(nl>0 \
  128. \{\
  129. .    wh 0
  130. .    rs
  131. .    @b
  132. .\}
  133. ..
  134. .de @h
  135. .if \n@>1 .tm >> @h %=\\n% ?a=\\n(?a ?b=\\n(?b ?w=\\n(?w
  136. .if (\\n(.i+\\n(.o)>=\\n(.l \
  137. .    tm Line \\n(c. -- Offset + indent exceeds line length
  138. .nr ?h \\n(?H
  139. .nr ?H 0
  140. .nr ?c \\n(?C
  141. .nr ?C 0
  142. .rn |4 |0
  143. .rn |5 |1
  144. .rn |6 |2
  145. .rn |7 |3
  146. .nr _w 0
  147. .nr ?W 0
  148. .nr ?I 1
  149. .ev 2
  150. .rs
  151. .if \\n(hm>0 \
  152. .    sp |\\n(hmu
  153. .@t $h
  154. .if \\n(tm<=0 \
  155. .    nr tm \n(.Vu
  156. .sp |\\n(tmu
  157. .ev
  158. .mk _k
  159. .if \\n(?n .nm 1
  160. .nr $c 1
  161. .if \n@>4 .tm -- @h >> .ns nl=\\n(nl %=\\n% _k=\\n(_k tm=\\n(tm
  162. .ie \\n(?s \
  163. \{\
  164. .    nr ?s 0
  165. .    rs
  166. '    @b
  167. .\}
  168. .el \
  169. .    @n
  170. .if \n@>2 .tm << @h
  171. ..
  172. .de @n
  173. .if \n@>3 .tm >> @n nl=\\n(nl %=\\n% ?f=\\n(?f ?o=\\n(?o
  174. .if \\n(bm<=0 \
  175. .    nr bm \\n(.Vu
  176. .if (\\n(_w<=\\n($l)&(\\n(?W=0) \
  177. \{\
  178. .    nr _b (\\n(ppp*\\n($vu)/200u
  179. .    if \\n(_bu>((\\n(bmu-\\n(fmu-((\\n(tpp*\\n($vu)/100u))/2u) \
  180. .        nr _b (\\n(ppp*\\n($vu)/100u-\n(.Vu
  181. .    nr _b +\\n(bmu
  182. .\}
  183. .nr _B \\n(_bu
  184. .ch @f
  185. .wh -\\n(_bu @f
  186. .nr _b +(\\n(ppp*\\n($vu)/100u
  187. .if \n@>2 .tm @n .p=\\n(.p bm=\\n(bm _b=\\n(_b _B=\\n(_B
  188. .nr ?f 0
  189. .if \\n(?o \
  190. \{\
  191. .    (f _
  192. .    nf
  193. .    |o
  194. .    fi
  195. .    )f
  196. .    rm |o
  197. .\}
  198. .nr ?o 0
  199. .if \\n(?T \
  200. \{\
  201. .    nr _i \\n(.i
  202. .    in \\n($iu
  203. .    |h
  204. .    in \\n(_iu
  205. .    rr _i
  206. .    mk #T
  207. .    ns
  208. .\}
  209. .if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
  210. \{\
  211. .    nr ?a 0
  212. .    @k |t
  213. .    if \\n(?w \
  214. .        mk _k
  215. .    nr ?w 0
  216. .\}
  217. .os
  218. .$H
  219. .ns
  220. ..
  221. .de @f
  222. .if \n@>1 .tm >> @f %=\\n% nl=\\n(nl ?a=\\n(?a ?b=\\n(?b ?f=\\n(?f
  223. .if \n@>2 .nr VL \\n(.pu-\\n(nlu
  224. .if \n@>2 .tm @f bm=\\n(bm _B=\\n(_B _b=\\n(_b .p-nl=\\n(VL
  225. .ec
  226. .if \\n(?T \
  227. \{\
  228. .    nr T. 1
  229. .    T# 1
  230. .    br
  231. .\}
  232. .ev 2
  233. .ce 0
  234. .if \\n(?b \
  235. \{\
  236. .    nr ?b 0
  237. .    @k |b
  238. .\}
  239. .if \\n(?f \
  240. .    @o
  241. .ie \\n($c<\\n($m \
  242. .    @c
  243. .el \
  244. .    @e
  245. .ev
  246. .if \n@>2 .tm << @f
  247. ..
  248. .de @o
  249. .nf
  250. .ls 1
  251. .in 0
  252. .if \n@>2 .tm @o last printed text = \\n(nl placing @r trap at -\\n(_B
  253. .wh -\\n(_Bu @r
  254. .|f
  255. .fi
  256. .if \n@>2 .tm @o triggered @r (?o) = \\n(?o
  257. .if \\n(?o \
  258. \{\
  259. .    di
  260. .    if \\n(dn=0 \
  261. \{\
  262. .        rm |o
  263. .        nr ?o 0
  264. .    \}
  265. .    nr dn \\n(_D
  266. .    rr _D
  267. .\}
  268. .rm |f
  269. .ch @r
  270. ..
  271. .de @c
  272. .if \n@>2 .tm    >> @c %=\\n%
  273. .rs
  274. .sp |\\n(_ku
  275. .@O +\\n($lu+\\n($su
  276. .nr $c +1
  277. .@n
  278. ..
  279. .de @e
  280. .if \n@>2 .tm    >> @e
  281. .@O \\n(_ou
  282. .rs
  283. .sp |\\n(.pu-\\n(fmu-((\\n(tpp*\\n($vu)/100u)
  284. .@t $f
  285. .nr ?h 0
  286. .bp
  287. ..
  288. .de @t
  289. .if !\\n(?h \
  290. \{\
  291. .    sz \\n(tp
  292. .    @F \\n(tf
  293. .    lt \\n(_Lu
  294. .    nf
  295. .    \\$1
  296. .    br
  297. .\}
  298. ..
  299. .de $h
  300. .ds |z
  301. .if !\\n(?c \
  302. \{\
  303. .    if e .ds |z "\\*(|0
  304. .    if o .ds |z "\\*(|1
  305. .\}
  306. .if !\(ts\\*(|z\(ts\(ts \
  307. '    tl \\*(|z
  308. .rm |z
  309. ..
  310. .de $f
  311. .ds |z
  312. .if \\n(?c \
  313. \{\
  314. .    if e .ds |z "\\*(|0
  315. .    if o .ds |z "\\*(|1
  316. .\}
  317. .if \(ts\\*(|z\(ts\(ts \
  318. \{\
  319. .    if e .ds |z "\\*(|2
  320. .    if o .ds |z "\\*(|3
  321. .\}
  322. .if !\(ts\\*(|z\(ts\(ts \
  323. '    tl \\*(|z
  324. .rm |z
  325. ..
  326. .de @r
  327. .if \n@>3 .tm        >> @r .z=\\n(.z ?f=\\n(?f ?a=\\n(?a ?b=\\n(?b _b=\\n(_b
  328. .di |o
  329. .nr ?o 1
  330. .nr _D \\n(dn
  331. .ns
  332. ..
  333. .rn bp @b
  334. .de bp
  335. .nr $c \\n($m
  336. .ie \\n(nl>0 \
  337. .    @b \\$1
  338. .el \
  339. \{\
  340. .    if \\n(.$>0 \
  341. .        pn \\$1
  342. .    if \\n(?I \
  343. .        @h
  344. .\}
  345. .br
  346. .wh 0 @h
  347. ..
  348. .rn ll xl
  349. .de ll
  350. .xl \\$1
  351. .lt \\$1
  352. .nr $l \\n(.l
  353. .if (\\n($m<=1):(\\n($l>\\n(_L) \
  354. .    nr _L \\n(.l
  355. ..
  356. .rn po @O
  357. .de po
  358. .@O \\$1
  359. .nr _o \\n(.o
  360. ..
  361. .if !\n(.g .ig
  362. .do rn fam @fam
  363. .do de fam
  364. .do @fam \\$1
  365. .ev 2
  366. .do @fam \\$1
  367. .ev
  368. ..
  369. .de hx
  370. .nr ?H 1
  371. ..
  372. .de ix
  373. 'in \\$1
  374. ..
  375. .de bl
  376. .br
  377. .ne \\$1
  378. .rs
  379. .sp \\$1
  380. ..
  381. .de n1
  382. .nm 1
  383. .xl -\w'0000'u
  384. .nr ?n 1
  385. ..
  386. .de n2
  387. .nm \\$1
  388. .ie \\n(.$ \
  389. .    xl -\w'0000'u
  390. .el \
  391. .    xl \\n($lu
  392. ..
  393. .de pa
  394. .bp \\$1
  395. ..
  396. .de ro
  397. .af % i
  398. ..
  399. .de ar
  400. .af % 1
  401. ..
  402. .de m1
  403. .nr _0 \\n(hmu
  404. .nr hm \\$1v
  405. .nr tm +\\n(hmu-\\n(_0u
  406. .rr _0
  407. ..
  408. .de m2
  409. .nr tm \\n(hmu+\\n(tpp+\\$1v
  410. ..
  411. .de m3
  412. .nr bm \\n(fmu+\\n(tpp+\\$1v
  413. ..
  414. .de m4
  415. .nr _0 \\n(fmu
  416. .nr fm \\$1v
  417. .nr bm +\\n(fmu-\\n(_0u
  418. ..
  419. .de sk
  420. .if \\n(.$>0 \
  421. .    tm Line \\n(c. -- I cannot skip multiple pages
  422. .nr ?s 1
  423. ..
  424. .if !\n(.g .ig
  425. .de re
  426. .ta T 0.5i
  427. ..
  428. .if \n(.g .ig
  429. .de re
  430. .ta 0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i
  431. ..
  432. .de ba
  433. .ie \\n(.$ \
  434. .    nr $i \\$1n
  435. .el \
  436. .    nr $i \\n(siu*\\n($0u
  437. ..
  438. .de hl
  439. .br
  440. \l'\\n(.lu-\\n(.iu'
  441. .sp
  442. ..
  443. .de pp
  444. .lp \\n(piu
  445. ..
  446. .de lp
  447. .@p
  448. .if \\n(.$ \
  449. .    ti +\\$1
  450. .nr $p 0 1
  451. ..
  452. .de ip
  453. .if (\\n(ii>0)&(\\n(ii<1n) \
  454. .    nr ii \\n(iin
  455. .nr _0 \\n(ii
  456. .if \\n(.$>1 \
  457. .    nr _0 \\$2n
  458. .@p \\n(_0u
  459. .if \\w"\\$1" \
  460. \{\
  461. .    ti -\\n(_0u
  462. .    ie \\w"\\$1">=\\n(_0 \
  463. \{\
  464. \&\\$1
  465. .        br
  466. .    \}
  467. .    el \&\\$1\h'|\\n(_0u'\c
  468. .\}
  469. .rr _0
  470. ..
  471. .de np
  472. .if '\\n($p'-1' \
  473. .    nr $p 0
  474. .nr $p +1
  475. .@p \w'\0(000)\0'u
  476. .ti -\w'\0(000)\0'u
  477. \0(\\n($p)\h'|\w'\0(000)\0'u'\c
  478. ..
  479. .de bu
  480. .br
  481. .if '\\n($p'-1' \
  482. .    ns
  483. .nr $p 0-1
  484. .@p \w'\0\(bu\0'u
  485. .ti -\w'\0\(bu\0'u
  486. \0\(bu\0\c
  487. ..
  488. .de @p
  489. .if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation
  490. .in \\n($iu+\\n(pou
  491. .if \\n(.$ \
  492. .    in +\\$1n
  493. .ce 0
  494. .fi
  495. .@F \\n(pf
  496. .sz \\n(pp
  497. .sp \\n(psu
  498. .ne \\n(.Lv+\\n(.Vu
  499. .ns
  500. ..
  501. .de sh
  502. .fi
  503. .if (\\n(si>0)&(\\n(si<1n) \
  504. .    nr si \\n(sin
  505. .ce 0
  506. .@d "\\$1" +1 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
  507. .if !"\\$2"_" \
  508. \{\
  509. .    ds |n \&\\$2
  510. .    $p "\\*(|n" "\\*($n" \\n($0
  511. .    $0 "\\*(|n" "\\*($n" \\n($0
  512. .    rm |n
  513. .\}
  514. .nr $p 0 1
  515. ..
  516. .de @d
  517. .if !""\\$1" \
  518. .    nr $0 \\$1
  519. .if \\n($0&(\\n(.$>1) \
  520. .    nr $\\n($0 \\$2
  521. .ds $n \&
  522. .ie \\n($0>=1 \
  523. \{\
  524. .    if '\\n($1'0' \
  525. .        nr $1 1
  526. .    if (\\n(.$>=3) .if !"\\$3"-" \
  527. .        nr $1 \\$3
  528. .    as $n \\n($1
  529. .\}
  530. .el \
  531. .    nr $1 0
  532. .ie \\n($0>=2 \
  533. \{\
  534. .    if '\\n($2'0' \
  535. .        nr $2 1
  536. .    if (\\n(.$>=4) .if !"\\$4"-" \
  537. .        nr $2 \\$4
  538. .    as $n .\\n($2
  539. .\}
  540. .el \
  541. .    nr $2 0
  542. .ie \\n($0>=3 \
  543. \{\
  544. .    if '\\n($3'0' \
  545. .        nr $3 1
  546. .    if (\\n(.$>=5) .if !"\\$5"-" \
  547. .        nr $3 \\$5
  548. .    as $n .\\n($3
  549. .\}
  550. .el \
  551. .    nr $3 0
  552. .ie \\n($0>=4 \
  553. \{\
  554. .    if '\\n($4'0' \
  555. .        nr $4 1
  556. .    if (\\n(.$>=6) .if !"\\$6"-" \
  557. .        nr $4 \\$6
  558. .    as $n .\\n($4
  559. .\}
  560. .el \
  561. .    nr $4 0
  562. .ie \\n($0>=5 \
  563. \{\
  564. .    if '\\n($5'0' \
  565. .        nr $5 1
  566. .    if (\\n(.$>=7) .if !"\\$7"-" \
  567. .        nr $5 \\$7
  568. .    as $n .\\n($5
  569. .\}
  570. .el \
  571. .    nr $5 0
  572. .ie \\n($0>=6 \
  573. \{\
  574. .    if '\\n($6'0' \
  575. .        nr $6 1
  576. .    if (\\n(.$>=8) .if !"\\$8"-" \
  577. .        nr $6 \\$8
  578. .    as $n .\\n($6
  579. .\}
  580. .el \
  581. .    nr $6 0
  582. ..
  583. .de sx
  584. .ce 0
  585. .ul 0
  586. .nr _0 \\n($0-1
  587. .if \\n(.$ .nr _0 +1
  588. .if \\n(.$ .nr _0 \\$1
  589. .@d \\n(_0
  590. .rr _0
  591. .$p "" "" \\n($0
  592. .nr $p 0 1
  593. ..
  594. .de uh
  595. .$p "\\$1"
  596. .$0 "\\$1"
  597. ..
  598. .de $p
  599. .if (\\n(si>0)&(\\n(.$>2) \
  600. .    nr $i \\$3*\\n(si
  601. .in \\n($iu
  602. .ie !"\\$1\\$2"" \
  603. \{\
  604. .    sp \\n(ssu
  605. .    ne \\n(.Lv+\\n(.Vu+\\n(psu+((\\n(spp*\\n($vu*\\n(.Lu)/100u)
  606. .    ie 0\\$3 \
  607. .        ti -(\\n(siu-\\n(sou)
  608. .    el \
  609. .        ti +\\n(sou
  610. .    @F \\n(sf
  611. .    sz \\n(sp
  612. .    if \\$3>0 \
  613. .        $\\$3
  614. .    if \w"\\$2">0 \\$2.
  615. .    if \w"\\$1">0 \\$1\f1\ \ \&
  616. .\}
  617. .el \
  618. .    sp \\n(psu
  619. .@F \\n(pf
  620. .sz \\n(pp
  621. ..
  622. .de 2c
  623. .br
  624. .if \\n($m>1 \
  625. .    1c
  626. .nr $c 1
  627. .nr $m 2
  628. .if \\n(.$>1 \
  629. .    nr $m \\$2
  630. .if \\n(.$>0 \
  631. .    nr $s \\$1n
  632. .nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
  633. .xl \\n($lu
  634. .mk _k
  635. .ns
  636. ..
  637. .de 1c
  638. .br
  639. .nr $c 1
  640. .nr $m 1
  641. .ll \\n(_Lu
  642. .sp |\\n(.hu
  643. .@O \\n(_ou
  644. ..
  645. .de bc
  646. .sp 24i
  647. ..
  648. .de (z
  649. .if \n@>4 .tm >> (z, .z=\n(.z
  650. .@D 4 \\$1 \\$2
  651. .@(
  652. .nr ?T 0
  653. ..
  654. .de )z
  655. .if \n@>4 .tm >> )z, .z=\n(.z
  656. .sp \\n(zsu
  657. .@)
  658. .if \n@>4 .tm -- )z << @), .z=\n(.z
  659. .rr _0
  660. .if !\\n(?b \
  661. .    nr dn +(\\n(ppp*\\n($vu)/200u+\\n(zsu
  662. .nr dl -\n(.H
  663. .ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \
  664. \{\
  665. .    nr ?a 1
  666. .    if (\\n(dl>\\n($l)&(\\n($m>1) \
  667. .        nr ?w 1
  668. .    ds |x |t
  669. .\}
  670. .el \
  671. \{\
  672. .    nr ?b 1
  673. .    if (\\n(dl>\\n($l)&(\\n($m>1) \
  674. .        nr ?W 1
  675. .    nr _b +\\n(dnu
  676. .    if \\n(.p-\\n(nl-\n(.V<\\n(_b \
  677. .        nr _b \\n(.p-\\n(nl-\n(.V
  678. .    ch @f -\\n(_bu
  679. .    ds |x |b
  680. .\}
  681. .da \\*(|x
  682. .nf
  683. .ls 1
  684. .nr ?k 1
  685. .if \n@>4 .tm -- )z >> \\*(|x
  686. \!.if \\\\n(nl>(\\\\n(tm+2v) .ne \\n(dnu-\\n(zsu
  687. .|k
  688. .ec
  689. .if \n@>4 .tm -- )z << \\*(|x, .z=\\n(.z
  690. .nr ?k 0
  691. .rm |k
  692. .da
  693. .in 0
  694. .ls 1
  695. .xl \\n($lu
  696. .ev
  697. .if \n@>4 .tm << )z, .z=\\n(.z
  698. ..
  699. .de @k
  700. .if \n@>4 .tm >> @k, $1=\\$1, .z=\\n(.z
  701. .ev 1
  702. .nf
  703. .ls 1
  704. .in 0
  705. .sp \\n(zsu
  706. .\\$1
  707. .ec
  708. .br
  709. .rm \\$1
  710. .ev
  711. .nr ?T 0
  712. ..
  713. .de (t
  714. .(z \\$1 \\$2
  715. ..
  716. .de )t
  717. .)z \\$1 \\$2
  718. ..
  719. .de (b
  720. .br
  721. .@D 3 \\$1 \\$2
  722. .sp \\n(bsu
  723. .@(
  724. ..
  725. .de )b
  726. .br
  727. .@)
  728. .if (\\n(bt=0):(\\n(.t<\\n(bt) \
  729. .    ne \\n(dnu
  730. .ls 1
  731. .nf
  732. .|k
  733. .ec
  734. .fi
  735. .in 0
  736. .xl \\n($lu
  737. .ev
  738. .rm |k
  739. .sp \\n(bsu+\\n(.Lv-1v
  740. ..
  741. .de @(
  742. .if !"\\n(.z"" .tm Line \\n(c. -- Illegal nested keep \\n(.z
  743. .@M
  744. .di |k
  745. \!'rs
  746. ..
  747. .de @M
  748. .nr ?k 1
  749. .@C 1
  750. .@F \\n(df
  751. .if \\n($R .@V
  752. .vs \\n(.sp*\\n($Vu/100u
  753. .nf
  754. .if "\\*(|p"F" \
  755. .    fi
  756. .if \\n(_d=4 \
  757. .    in 0
  758. .if \\n(_d=3 \
  759. \{\
  760. .    in +\\n(biu
  761. .    xl -\\n(biu
  762. .\}
  763. .if \\n(_d=1 \
  764. .    ce 10000
  765. ..
  766. .de @)
  767. .br
  768. .if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
  769. .nr ?k 0
  770. .di
  771. .in 0
  772. .ce 0
  773. ..
  774. .de (c
  775. .if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
  776. .di |c
  777. ..
  778. .de )c
  779. .if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
  780. .br
  781. .di
  782. .if \n@>4 .tm >> .)c .l=\\n(.l .i=\\n(.i $i=\\n($i dl=\\n(dl
  783. .ev 1
  784. .ls 1
  785. .in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
  786. .if \n@>4 .tm -- .)c << .in .l=\\n(.l .i=\\n(.i dl=\\n(dl
  787. .nf
  788. .|c
  789. .ec
  790. .in
  791. .ls
  792. .ev
  793. .rm |c
  794. ..
  795. .de (q
  796. .br
  797. .@C 1
  798. .fi
  799. .sp \\n(qsu
  800. .in +\\n(qiu
  801. .xl -\\n(qiu
  802. .sz \\n(qp
  803. ..
  804. .de )q
  805. .br
  806. .ev
  807. .sp \\n(qsu+\\n(.Lv-1v
  808. .nr ?k 0
  809. ..
  810. .de (l
  811. .br
  812. .sp \\n(bsu
  813. .@D 3 \\$1 \\$2
  814. .@M
  815. ..
  816. .de )l
  817. .br
  818. .ev
  819. .sp \\n(bsu+\\n(.Lv-1v
  820. .nr ?k 0
  821. ..
  822. .de EQ
  823. .ec
  824. .if !\\n(?e \
  825. \{\
  826. .    if "\\n(.z"|e" .tm Line \\n(c. -- Nested .EQ request
  827. .    @D 1 "\\$1" "\\$2"
  828. .    @C 2
  829. .    di |e
  830. .\}
  831. .ls 1
  832. .in 0
  833. .nf
  834. ..
  835. .de EN
  836. .br
  837. .ie "\\$1"C" \
  838. \{\
  839. .    nr ?e 1
  840. .    sp \\n(esu
  841. .\}
  842. .el \
  843. \{\
  844. .    nr ?e 0
  845. .    di
  846. .    if \\n(dn \
  847. .        @q
  848. .    rm |e
  849. .    ev
  850. .\}
  851. ..
  852. .de @q
  853. .nr _Q \\n(dnu
  854. .ev
  855. .sp \\n(esu
  856. .if !"\\n(.z"" \!.ne \\n(_Qu
  857. .ne \\n(_Qu+\n(.Vu
  858. .@C 2
  859. .if \\n(_d=1 \
  860. .    in (\\n(.lu+\\n($iu-\\n(dlu)/2u
  861. .if \\n(_d=2 \
  862. .    in \\n($iu
  863. .if \\n(_d=3 \
  864. .    in \\n(biu+\\n($iu
  865. .if \\n(_d=4 \
  866. .    in 0
  867. .mk _q
  868. .if \n@>1 .tm --@e: _Q=\\n(_Q _q=\\n(_q nl=\\n(nl |p=\\*(|p
  869. .if !"\\*(|p"" \
  870. \{\
  871. .    rs
  872. .    sp (\\n(_Qu-\\n(.vu)/2u
  873. .    tl """\\*(|p"
  874. .    rt \\n(_qu
  875. .\}
  876. .|e
  877. .sp |\\n(_qu+\\n(_Qu
  878. .sp \\n(esu+\\n(.Lv-1v
  879. .rr _q
  880. .rr _Q
  881. ..
  882. .de TS
  883. .sp \\n(bsu
  884. .@C 1
  885. .fi
  886. .if "\\$1"H" \
  887. \{\
  888. .    di |h
  889. .    nr ?T 1
  890. .\}
  891. .ls 1
  892. .ch @f -(\\n(_bu+1v)
  893. .if \\n(.p-\\n(_b-1v<=\\n(nl \
  894. .    ch @f \\n(nlu+\n(.Vu
  895. ..
  896. .de TH
  897. .nr T. 0
  898. .T# 0
  899. .di
  900. .nr _T \\n(?T
  901. .nr ?T 0
  902. .ne \\n(dnu+1v
  903. .nr ?T \\n(_T
  904. .nr _i \\n(.i
  905. .in 0
  906. .|h
  907. .in \\n(_iu
  908. .rr _i
  909. .mk #T
  910. ..
  911. .de TE
  912. .nr ?T 0
  913. .ch @f -\\n(_bu
  914. .if \\n(.p-\\n(_b<=\\n(nl \
  915. .    ch @f \\n(nlu+\n(.Vu
  916. .ev
  917. .sp \\n(bsu+\\n(.Lv-1v
  918. .re
  919. ..
  920. .de ][
  921. .if \\$1>5 .tm Bad arg to []
  922. .[\\$1
  923. ..
  924. .de [0
  925. .(f
  926. .ip "\\*([F.\0"
  927. .if !"\\*([A"" \\*([A,
  928. .if !"\\*([T"" \\f2\\*([T\\f1\c
  929. .if !"\\*([T"" .if !"\\*([O"" ,\ 
  930. .ie !"\\*([O"" \\*([O
  931. .el .if !"\\*([T"" \&.
  932. .if !"\\*([D"" \\*([D.
  933. .@p
  934. .)f
  935. ..
  936. .de [1
  937. .(f
  938. .ip "\\*([F.\0"
  939. \\*([A,
  940. .if !"\\*([T"" \\*(lq\\*([T,\\*(rq
  941. .if "\\*([V"" \\f2\\*([J\\f1,
  942. .if !"\\*([V"" \\f2\\*([J\\f1
  943. .if !"\\*([V"" \\f3\\*([V\\f1\c
  944. .if !"\\*([N"" (\\*([N)\c
  945. .if !"\\*([P"" \
  946. \{\
  947. .    ie \\n([P>0 \ pp.\&
  948. .    el \ p.\&
  949. \\*([P
  950. .\}
  951. .if !"\\*([I"" .if "\\*([R"" \\*([I,
  952. (\\*([D).
  953. .if !"\\*([O"" \\*([O
  954. .)f
  955. ..
  956. .de [2
  957. .(f
  958. .ip "\\*([F.\0"
  959. \\*([A, \\f2\\*([T,\\f1
  960. \\*([I\c
  961. .if !"\\*([C"" , \\*([C\c
  962.  (\\*([D).
  963. .if !"\\*([G"" Gov't. ordering no. \\*([G
  964. .if !"\\*([O"" \\*([O
  965. .)f
  966. ..
  967. .de [3
  968. .(f
  969. .ip "\\*([F.\0"
  970. \\*([A, \\*(lq\\*([T,\\*(rq
  971. .if !"\\*([P"" pp. \\*([P
  972. in \\f2\\*([B\\f1, \c
  973. .if !"\\*([E"" ed. \\*([E, \c
  974. .if !"\\*([I"" \\*([I\c
  975. .if !"\\*([C"" , \\*([C\c
  976.  (\\*([D).
  977. .if !"\\*([O"" \\*([O
  978. .)f
  979. ..
  980. .de [4
  981. .(f
  982. .ip "\\*([F.\0"
  983. \\*([A, \\*(lq\\*([T,\\*(rq
  984. \\*([R\c
  985. .if !"\\*([G"" \& (\\*([G)\c
  986. .if !"\\*([I"" , \\*([I\c
  987. .if !"\\*([C"" , \\*([C\c
  988.  (\\*([D).
  989. .if !"\\*([O"" \\*([O
  990. .)f
  991. ..
  992. .de [5
  993. .(f
  994. .ip "\\*([F.\0"
  995. \\*([A, \\f2\\*([T\\f1,
  996. .ie \\n(TN \\*([M.
  997. .el Bell Laboratories internal memorandum (\\*([D).
  998. .)f
  999. ..
  1000. .de ]<
  1001. .$p References
  1002. .lp
  1003. .rm (f )f
  1004. ..
  1005. .de ]>
  1006. .sp
  1007. ..
  1008. .de ]-
  1009. .rm [V [P [A [T [N [C [B [O [R [I [E [D
  1010. ..
  1011. .ie \n(.V<1v \
  1012. \{\
  1013. .    ds [. \s-2\v'-.4m'\f1
  1014. .    ds .] \v'.4m'\s+2\fP
  1015. .\}
  1016. .el \
  1017. \{\
  1018. .    ds [. " [
  1019. .    ds .] ]
  1020. .\}
  1021. .de IS
  1022. .nr g7 \\n(.u
  1023. .ls 1
  1024. ..
  1025. .de IF
  1026. .if \\n(g7 .fi
  1027. .ls
  1028. ..
  1029. .de IE
  1030. .if \\n(g7 .fi
  1031. .ls
  1032. ..
  1033. .de PS
  1034. .sp 0.3
  1035. .nr g7 \\$2
  1036. .in (\\n(.lu-\\n(g7u)/2u
  1037. .ne \\$1u
  1038. .nr g7 \\n(.u
  1039. .ls 1
  1040. ..
  1041. .de PE
  1042. .ls
  1043. .in
  1044. .if \\n(g7 .fi
  1045. .sp .6
  1046. ..
  1047. .de GS
  1048. .nr g7 (\\n(.lu-\\n(g1u)/2u
  1049. .if "\\$1"L" .nr g7 \\n(.iu
  1050. .if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u
  1051. .in \\n(g7u
  1052. .nr g7 \\n(.u
  1053. .ls 1
  1054. .nf
  1055. .ne \\n(g2u
  1056. ..
  1057. .de GE
  1058. .GF
  1059. .sp .6
  1060. ..
  1061. .de GF
  1062. .ls
  1063. .in
  1064. .if \\n(g7 .fi
  1065. ..
  1066. .de sz
  1067. .ps \\$1
  1068. .if \\n($r .@v
  1069. .vs \\n(.sp*\\n($vu/100u
  1070. ..
  1071. .de @v
  1072. .if (1i>=240u)&(1p<=\\n($r)&(\\n($r<=4p) .nr $v \\n($r00/1p
  1073. ..
  1074. .de @V
  1075. .if (1i>=240u)&(1p<=\\n($R)&(\\n($R<=4p) .nr $V \\n($R00/1p
  1076. ..
  1077. .de @E
  1078. .ie \\n(.f<10 \
  1079. .    ds _F \\n(.f
  1080. .el \
  1081. \{\
  1082. .    ie \\n(.f<100&\n(.g \
  1083. .        ds _F (\\n(.f
  1084. .    el \
  1085. .        ds _F P
  1086. .\}
  1087. ..
  1088. .de r
  1089. .@E
  1090. .ft 1
  1091. .if \\n(.$ \&\\$1\f\\*(_F\\$2
  1092. ..
  1093. .de i
  1094. .@E
  1095. .ft 2
  1096. .if \\n(.$ \&\\$1\f\\*(_F\\$2
  1097. ..
  1098. .de b
  1099. .@E
  1100. .ft 3
  1101. .if \\n(.$ \&\\$1\f\\*(_F\\$2
  1102. ..
  1103. .de rb
  1104. .@E
  1105. .ft 3
  1106. .if \\n(.$ \&\\$1\f\\*(_F\\$2
  1107. ..
  1108. .de bi
  1109. .@E
  1110. .ft 4
  1111. .if \\n(.$ \&\\$1\f\\*(_F\\$2
  1112. ..
  1113. .de u
  1114. \&\\$1\l'|0\(ul'\\$2
  1115. ..
  1116. .if !\n(.g .ig
  1117. .de u
  1118. \Z'\\$1'\v'.25m'\D'l \w'\\$1'u 0'\v'-.25m'\\$2
  1119. ..
  1120. .de q
  1121. \&\\*(lq\\$1\\*(rq\\$2
  1122. ..
  1123. .de bx
  1124. \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2
  1125. ..
  1126. .de sm
  1127. \s-1\\$1\\s0\\$2
  1128. ..
  1129. .de @F
  1130. .nr ~ \\$1
  1131. .if \\n~>0 \
  1132. .    ft \\n~
  1133. .rr ~
  1134. ..
  1135. .de (f
  1136. .ec
  1137. .if "\\n(.z"|f" .tm Line \\n(c. -- Illegal footnote nesting
  1138. .ie "\\n(.z"" \
  1139. \{\
  1140. .    nr _D \\n(dn
  1141. .    nr _0 1v+\\n(nlu
  1142. .    ev 2
  1143. .    da |f
  1144. .    in 0
  1145. .    xl \\n($lu-\\n(fuu
  1146. .    @F \\n(ff
  1147. .    sz \\n(fp
  1148. .    vs \\n(.sp*\\n($Vu/100u
  1149. .    if !\\n(?f \
  1150. \{\
  1151. .        nr _b +1v
  1152. .        $s
  1153. .    \}
  1154. .    br
  1155. .    if \\n(.p-\\n(_b-\\n(_0-\\n(.h-1v-\\n(fs<0 \
  1156. \{\
  1157. .        da
  1158. .        bc
  1159. .        if !\\n(?f \
  1160. .            rm |f
  1161. .        da |f
  1162. .        in 0
  1163. .        xl \\n($lu-\\n(fuu
  1164. .        @F \\n(ff
  1165. .        sz \\n(fp
  1166. .        vs \\n(.sp*\\n($Vu/100u
  1167. .        if !\\n(?f \
  1168. .            $s
  1169. .        br
  1170. .    \}
  1171. .    rr _0
  1172. .    sp \\n(fsu
  1173. .    nr ?f 1
  1174. .    fi
  1175. .    if !"\\$1"_" \
  1176. .        ti \\n(fiu
  1177. .    if \n@>2 .tm    << (f $f=\\n($f
  1178. .\}
  1179. .el \
  1180. \{\
  1181. .    ev 2
  1182. .    in 0
  1183. .    xl \\n($lu-\\n(fuu
  1184. .    @F \\n(ff
  1185. .    sz \\n(fp
  1186. .    vs \\n(.sp*\\n($Vu/100u
  1187. .    fi
  1188. \!.(f \\$1
  1189. \!.@N
  1190. .\}
  1191. ..
  1192. .de @N
  1193. .ie "\\n(.z"" .nf
  1194. .el \!.@N
  1195. ..
  1196. .de )f
  1197. .ie "\\n(.z"|f" \
  1198. \{\
  1199. .    if \\n* \
  1200. .        nr $f +1
  1201. .    ds * \\*{\\n($f\\*}\k*
  1202. .    nr * 0
  1203. .    in 0
  1204. .    da
  1205. .    ev
  1206. .    if \\n(_w<\\n(dl \
  1207. .        nr _w \\n(dl
  1208. .    nr _b +\\n(dn
  1209. .    ch @f -\\n(_bu
  1210. .    if \\n(.p-\\n(_b<=\\n(nl \
  1211. .        ch @f \\n(nlu+\n(.Vu
  1212. .    nr dn \\n(_D
  1213. .    rr _D
  1214. .\}
  1215. .el \
  1216. \{\
  1217. .    br
  1218. \!.)f
  1219. .    ev
  1220. .\}
  1221. ..
  1222. .@R ff
  1223. .if \n(ff<=0 \
  1224. .    nr ff 1
  1225. .@R fp
  1226. .if \n(fp<=0 \
  1227. .    nr fp 8
  1228. .de $s
  1229. \l'2i'
  1230. ..
  1231. .de (d
  1232. .am |d )d
  1233. .sp \\n(bsu
  1234. ..
  1235. .de )d
  1236. .if \\n# \
  1237. .    nr $d +1
  1238. .ds # [\\n($d]\k#
  1239. .rr #
  1240. ..
  1241. .de pd
  1242. .|d
  1243. .rm |d
  1244. .nr $d 1 1
  1245. .ds # [1]\k#
  1246. ..
  1247. .nr _x 0 1
  1248. .af _x a
  1249. .de (x
  1250. .if \n@>4 .tm >> (x, .z=\\n(.z
  1251. .ds |X x
  1252. .if \\n(.$>0 \
  1253. .    ds |X \\$1
  1254. .ie "\\n(.z"" \
  1255. .    nr _z 0
  1256. .el \
  1257. .    nr _z 1
  1258. .@\\n(_z
  1259. ..
  1260. .de @0
  1261. .am %\\*(|X )x
  1262. .sp \\n(xsu
  1263. .ti -\\n(piu
  1264. ..
  1265. .de @1
  1266. .if "\\n(_x"z" .nr _x 0
  1267. .de =\\n+(_x )x
  1268. ..
  1269. .de )x
  1270. .if \n@>4 .tm >> )x, .z=\\n(.z
  1271. .ie "\\n(.z"" \
  1272. \{\
  1273. .    ds |x \\n%
  1274. .    if \\n(.$>0 \
  1275. .        ds |x \\$1
  1276. .    if "\\*(|x"_" \
  1277. .        ig ..
  1278. .    am %\\*(|X ..
  1279. .    if \w"\\$2">(\\n(.l-\\n(.i-\\n(.k) \
  1280. .        ti +\\n(xuu
  1281. \\\\a\\\\t\\$2\\*(|x
  1282. ...
  1283. .    rm |x
  1284. .    rm |X
  1285. .\}
  1286. .el \
  1287. \{\
  1288. \!.(x \\*(|X
  1289. \!\\\\*(=\\n(_x\\\\
  1290. \!.)x \\$1 \\$2
  1291. \!.rm =\\n(_x
  1292. .\}
  1293. ..
  1294. .de xp
  1295. .br
  1296. .@C 2
  1297. .ls 1
  1298. .vs \\n(.sp*\\n($Vu/100u
  1299. .fi
  1300. .in +\\n(piu
  1301. .ds |X x
  1302. .if \\n(.$>0 \
  1303. .    ds |X \\$1
  1304. .xl -(\\n(xuu+\w'...'u)
  1305. .di |x
  1306. .%\\*(|X
  1307. .br
  1308. .di
  1309. .rm %\\*(|X
  1310. .xl \\n($lu
  1311. .rm |X
  1312. .ev
  1313. .nf
  1314. .in 0
  1315. .ta \\n(.lu-\\n(xuuR \\n(.luR
  1316. .|x
  1317. .fi
  1318. .in
  1319. .rm |x
  1320. ..
  1321. .de +c
  1322. .ep
  1323. .if \\n(?o:\\n(?a \
  1324. \{\
  1325. .    bp
  1326. .    rs
  1327. .    ep
  1328. .\}
  1329. .nr ?C 1
  1330. .nr $f 1 1
  1331. .ds * \\*{1\\*}\k*
  1332. .if \\n(?R \
  1333. .    pn 1
  1334. .bp
  1335. .in \\n($iu
  1336. .rs
  1337. .ie \\n(.$ \
  1338. .    $c "\\$1"
  1339. .el \
  1340. .    sp 3
  1341. ..
  1342. .de ++
  1343. .nr _0 0
  1344. .if "\\$1"C" \
  1345. .    nr _0 1
  1346. .if "\\$1"RC" \
  1347. .    nr _0 11
  1348. .if "\\$1"A" \
  1349. .    nr _0 2
  1350. .if "\\$1"RA" \
  1351. .    nr _0 12
  1352. .if "\\$1"P" \
  1353. .    nr _0 3
  1354. .if "\\$1"B" \
  1355. .    nr _0 4
  1356. .if "\\$1"AB" \
  1357. .    nr _0 5
  1358. .if \\n(_0=0 \
  1359. .    tm Line \\n(c. -- Bad mode to .++
  1360. .nr ?R 0
  1361. .if \\n(_0>10 \
  1362. .\{
  1363. .    nr ?R 1
  1364. .    nr _0 -10
  1365. .\}
  1366. .nr ch 0 1
  1367. .if (\\n(_0=3):(\\n(_0=5) \
  1368. .    pn 1
  1369. .if !\\n(_0=\\n(_M .if \\n(_M=3 \
  1370. .    pn 1
  1371. .ep
  1372. .if \\n(_0=1 \
  1373. \{\
  1374. .    af ch 1
  1375. .    af % 1
  1376. .\}
  1377. .if \\n(_0=2 \
  1378. \{\
  1379. .    af ch A
  1380. .    af % 1
  1381. .\}
  1382. .if \\n(_0=3 \
  1383. .    af % i
  1384. .if \\n(_0=4 \
  1385. .    af % 1
  1386. .if \\n(_0=5 \
  1387. .    af % 1
  1388. .if \\n(.$>1 \
  1389. .    he \\$2
  1390. .nr _M \\n(_0
  1391. .rr _0
  1392. ..
  1393. .de $c
  1394. .sz 12
  1395. .ft 3
  1396. .ce 1000
  1397. .if \\n(_M<3 \
  1398. .    nr ch +1
  1399. .ie \\n(_M=1 CHAPTER\ \ \\n(ch
  1400. .el .if \\n(_M=2 APPENDIX\ \ \\n(ch
  1401. .if \w"\\$1" .sp 3-\\n(.L
  1402. .if \w"\\$1" \\$1
  1403. .if (\\n(_M<3):(\w"\\$1") \
  1404. .    sp 4-\\n(.L
  1405. .ce 0
  1406. .ft
  1407. .sz
  1408. .ie \\n(_M=1 \
  1409. .    $C Chapter \\n(ch "\\$1"
  1410. .el .if \\n(_M=2 \
  1411. .    $C Appendix \\n(ch "\\$1"
  1412. ..
  1413. .de tp
  1414. .hx
  1415. .bp
  1416. .br
  1417. .rs
  1418. .pn \\n%
  1419. ..
  1420. .if \n(mo=1 .ds mo January
  1421. .if \n(mo=2 .ds mo February
  1422. .if \n(mo=3 .ds mo March
  1423. .if \n(mo=4 .ds mo April
  1424. .if \n(mo=5 .ds mo May
  1425. .if \n(mo=6 .ds mo June
  1426. .if \n(mo=7 .ds mo July
  1427. .if \n(mo=8 .ds mo August
  1428. .if \n(mo=9 .ds mo September
  1429. .if \n(mo=10 .ds mo October
  1430. .if \n(mo=11 .ds mo November
  1431. .if \n(mo=12 .ds mo December
  1432. .if \n(dw=1 .ds dw Sunday
  1433. .if \n(dw=2 .ds dw Monday
  1434. .if \n(dw=3 .ds dw Tuesday
  1435. .if \n(dw=4 .ds dw Wednesday
  1436. .if \n(dw=5 .ds dw Thursday
  1437. .if \n(dw=6 .ds dw Friday
  1438. .if \n(dw=7 .ds dw Saturday
  1439. .ds td \*(mo \n(dy, 19\n(yr
  1440. .rr x
  1441. .nr $v \n(.v00+\n(.sp-1/\n(.sp
  1442. .nr $V \n($v
  1443. .nr hm 4v
  1444. .nr tm 7v
  1445. .nr bm 6v
  1446. .nr fm 3v
  1447. .nr tf 3
  1448. .nr tp 10
  1449. .hy 14
  1450. .nr bi 4m
  1451. .nr pi 5n
  1452. .nr pf 1
  1453. .nr pp 10
  1454. .nr qi 4n
  1455. .nr qp -1
  1456. .nr ii 5n
  1457. .nr $m 1
  1458. .nr $s 4n
  1459. .nr sf 3
  1460. .nr sp 10
  1461. .nr ss 12p
  1462. .nr si 0
  1463. .@R 0x
  1464. .ds { \v'-0.4m'\x'\\n(0x=0*-0.2m'\s-3
  1465. .ds } \s0\v'0.4m'
  1466. .ds [ \*{
  1467. .ds ] \*}
  1468. .ds < \v'0.4m'\x'\\n(0x=0*0.2m'\s-3
  1469. .ds > \s0\v'-0.4m'
  1470. .ds - \(em
  1471. .@S |0
  1472. .@S |1
  1473. .@S |2
  1474. .@S |3
  1475. .@S $H
  1476. .@S $0
  1477. .@S $1
  1478. .@S $2
  1479. .@S $3
  1480. .@S $4
  1481. .@S $5
  1482. .@S $6
  1483. .@S $7
  1484. .@S $8
  1485. .@S $9
  1486. .@S ..
  1487. .@R po
  1488. .@R $0
  1489. .@R $i
  1490. .@R $p
  1491. .@R $r
  1492. .@R $R
  1493. .@R df
  1494. .@R so
  1495. .@R fu
  1496. .@R bt
  1497. .@R *
  1498. .@R ?a
  1499. .@R ?b
  1500. .@R ?C
  1501. .@R ?e
  1502. .@R ?H
  1503. .@R ?I
  1504. .@R ?n
  1505. .@R ?o
  1506. .@R ?R
  1507. .@R ?s
  1508. .@R ?T
  1509. .@R ?W
  1510. .@R ?w
  1511. .nr fi 0.3i
  1512. .nr _o \n(.o
  1513. .nr $b 3
  1514. .nr ps 0.35v
  1515. .if \n(ps<\n(.V .nr ps \n(.V
  1516. .nr bs \n(ps
  1517. .nr qs \n(ps
  1518. .nr zs 1v
  1519. .nr xs 0.2v
  1520. .nr xu 0.5i
  1521. .nr fs 0.2v
  1522. .nr es 0.5v
  1523. .if \n(es<\n(.V .nr es \n(.V
  1524. .wh 0 @h
  1525. .nr $l \n(.lu
  1526. .nr _L \n(.lu
  1527. .nr $c 1
  1528. .nr $f 1 1
  1529. .ds * \*{1\*}\k*
  1530. .nr $d 1 1
  1531. .ds # [1]\k#
  1532. .nr _M 1
  1533. .ds lq \(lq
  1534. .ds rq \(rq
  1535. .em @z
  1536. .ds #h ((1u-(\\\\n(.fu%2u))*0.13m)
  1537. .ds #v 0.6m
  1538. .ds ' \k_\h'-(\\n(.wu*8/10-\*(#h)'\(aa\h'|\\n_u'
  1539. .ds ` \k_\h'-(\\n(.wu*7/10-\*(#h)'\(ga\h'|\\n_u'
  1540. .ds : \k_\h'-(\\n(.wu*8/10-\*(#h+0.1m)'\v'-\*(#v'\z.\h'0.2m'.\h'|\\n_u'\v'\*(#v'
  1541. .ds ^ \k_\h'-(\\n(.wu-\*(#h-0.05m)'^\h'|\\n_u'
  1542. .ds ~ \k_\h'-(\\n(.wu-\*(#h-0.05m)'~\h'|\\n_u'
  1543. .ds , \k_\h'-(\\n(.wu)',\h'|\\n_u'
  1544. .ds v \k_\h'-(\\n(.wu*9/10-\*(#h)'\v'-\*(#v'\s-4v\s0\v'\*(#v'\h'|\\n_u'
  1545. .ds o \k_\h'-(\\n(.wu+\w'\(de'u-\*(#h)/2u'\v'-0.4n'\z\(de\v'0.4n'\h'|\\n_u'
  1546. .ds qe \s-2\v'0.45m'\z\(em\v'-0.625m'\z\(em\v'-0.625m'\(em\v'0.8m'\s0\h'-0.1m'\v'-0.05m'\(br\v'0.05m'\h'0.1m'
  1547. .ds qa \z\e\h'0.35m'\z\(sl\h'-0.33m'\v'-0.3m'\s-4\(em\s0\v'0.3m'\h'0.15m'
  1548. .rm #h #v
  1549. .ll 6.0i
  1550. .lt 6.0i
  1551. .de @U
  1552. .tm The \\$1 macro has been removed from this version of the -me macros.
  1553. ..
  1554. .de lo
  1555. .@U lo
  1556. ..
  1557. .de th
  1558. .@U th
  1559. ..
  1560. .de ac
  1561. .@U ac
  1562. ..
  1563.