home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-User.iso / usr / lib / tmac / tmac.e < prev    next >
Text File  |  1997-03-27  |  13KB  |  1,086 lines

  1. .nr _0 \n(.c
  2. .\"**********************************************************************
  3. .\"*                                    *
  4. .\"*    ******  - M E   N R O F F / T R O F F   M A C R O S  ******    *
  5. .\"*                                    *
  6. .\"*    Produced for your edification and enjoyment by:            *
  7. .\"*        Eric Allman                        *
  8. .\"*        Electronics Research Laboratory                *
  9. .\"*        U.C. Berkeley.                        *
  10. .\"*    current address:                        *
  11. .\"*        Britton-Lee, Inc.                    *
  12. .\"*        1919 Addison Street Suite 105                *
  13. .\"*        Berkeley, California  94704                *
  14. .\"*                                    *
  15. .\"*    VERSION 2.28    First Release: 11 Sept 1978            *
  16. .\"*    See file \*(||/revisions for revision history            *
  17. .\"*                                    *
  18. .\"*    Documentation is available.                    *
  19. .\"*                                    *
  20. .\"**********************************************************************
  21. .\"
  22. .\"    @(#)tmac.e    2.28    5/12/86
  23. .\" This version has had comments stripped; an unstripped version is available.
  24. .if !\n(.V .tm You are using the wrong version of NROFF/TROFF!!
  25. .if !\n(.V .tm This macro package works only on the version seven
  26. .if !\n(.V .tm release of NROFF and TROFF.
  27. .if !\n(.V .ex
  28. .if \n(pf \
  29. .    nx \*(||/null.me
  30. .de @C
  31. .nr _S \\n(.s
  32. .nr _V \\n(.v
  33. .nr _F \\n(.f
  34. .nr _I \\n(.i
  35. .ev \\$1
  36. .ps \\n(_S
  37. .vs \\n(_Vu
  38. .ft \\n(_F
  39. 'in \\n(_Iu
  40. .xl \\n($lu
  41. .lt \\n($lu
  42. .rr _S
  43. .rr _V
  44. .rr _F
  45. .rr _I
  46. .ls 1
  47. 'ce 0
  48. ..
  49. .de @D
  50. .ds |p "\\$3
  51. .nr _d \\$1
  52. .ie "\\$2"C" \
  53. .    nr _d 1
  54. .el .ie "\\$2"L" \
  55. .    nr _d 2
  56. .el .ie "\\$2"I" \
  57. .    nr _d 3
  58. .el .ie "\\$2"M" \
  59. .    nr _d 4
  60. .el \
  61. .    ds |p "\\$2
  62. ..
  63. .de @z
  64. .if !"\\n(.z"" \
  65. \{\
  66. .    tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z)
  67. .    di
  68. .    ex
  69. .\}
  70. .if \\n(?a \
  71. .    bp
  72. .rm bp
  73. .rm @b\"
  74. .if t \
  75. .    wh -1p @m
  76. .br
  77. ..
  78. .de @I
  79. .rm th
  80. .rm ac
  81. .rm lo
  82. .rm sc
  83. .rm @I
  84. ..
  85. .de he
  86. .ie !\\n(.$ \
  87. \{\
  88. .    rm |4
  89. .    rm |5
  90. .\}
  91. .el \
  92. \{\
  93. .    ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  94. .    ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  95. .\}
  96. ..
  97. .de eh
  98. .ie !\\n(.$ \
  99. .    rm |4
  100. .el \
  101. .    ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  102. ..
  103. .de oh
  104. .ie !\\n(.$ \
  105. .    rm |5
  106. .el \
  107. .    ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  108. ..
  109. .de fo
  110. .ie !\\n(.$ \
  111. \{\
  112. .    rm |6
  113. .    rm |7
  114. .\}
  115. .el \
  116. \{\
  117. .    ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  118. .    ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  119. .\}
  120. ..
  121. .de ef
  122. .ie !\\n(.$ \
  123. .    rm |6
  124. .el \
  125. .    ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  126. ..
  127. .de of
  128. .ie !\\n(.$ \
  129. .    rm |7
  130. .el \
  131. .    ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  132. ..
  133. .de ep
  134. .if \\n(nl>0 \
  135. \{\
  136. .    wh 0
  137. .    rs
  138. .    @b
  139. .\}
  140. ..
  141. .de @h
  142. .if (\\n(.i+\\n(.o)>=\\n(.l \
  143. .    tm Line \\n(c. -- Offset + indent exceeds line length
  144. .if t .if (\\n(.l+\\n(.o)>7.75i \
  145. .    tm Line \\n(c. -- Offset + line length exceeds paper width
  146. .nr ?h \\n(?H
  147. .rr ?H
  148. .nr ?c \\n(?C
  149. .rr ?C
  150. .rn |4 |0
  151. .rn |5 |1
  152. .rn |6 |2
  153. .rn |7 |3
  154. .nr _w 0
  155. .nr ?W 0
  156. .nr ?I 1
  157. .ev 2
  158. .rs
  159. .if t .@m
  160. .if \\n(hm>0 \
  161. .    sp |\\n(hmu
  162. .@t $h
  163. .if \\n(tm<=0 \
  164. .    nr tm \n(.Vu
  165. .sp |\\n(tmu
  166. .ev
  167. .mk _k
  168. .if \\n(?n .nm 1
  169. .nr $c 1
  170. .ie \\n(?s \
  171. \{\
  172. .    rr ?s
  173. .    rs
  174. '    @b
  175. .\}
  176. .el \
  177. .    @n
  178. ..
  179. .if \nv=2 \
  180. \{\
  181. .    de @m
  182. .    @O 0
  183. .    lt 7.5i
  184. .    tl '\(rn''\(rn'
  185. .    @O
  186. .    lt
  187. ..
  188. .\}
  189. .de @n
  190. .if \\n(bm<=0 \
  191. .    nr bm \\n(.Vu
  192. .if (\\n(_w<=\\n($l)&(\\n(?W=0) \
  193. \{\
  194. .    nr _b (\\n(ppu*\\n($ru)/2u
  195. .    if \\n(_bu>((\\n(bmu-\\n(fmu-(\\n(tpu*\\n($ru))/2u) \
  196. .        nr _b (\\n(ppu*\\n($ru)-\n(.Vu
  197. .    nr _b +\\n(bmu
  198. .\}
  199. .nr _B \\n(_bu
  200. .ch @f
  201. .wh -\\n(_bu @f
  202. .nr _b +(\\n(ppu*\\n($ru)
  203. .nr ?f 0
  204. .if \\n(?o \
  205. \{\
  206. .    (f _
  207. .    nf
  208. .    |o
  209. .    fi
  210. .    )f
  211. .    rm |o
  212. .\}
  213. .nr ?o 0
  214. .if \\n(?T \
  215. \{\
  216. .    nr _i \\n(.i
  217. .    in \\n($iu
  218. .    |h
  219. .    in \\n(_iu
  220. .    rr _i
  221. .    mk #T
  222. .    ns
  223. .\}
  224. .if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
  225. \{\
  226. .    nr ?a 0
  227. .    @k |t
  228. .    if \\n(?w \
  229. .        mk _k
  230. .    nr ?w 0
  231. .\}
  232. .os
  233. .$H
  234. .ns
  235. ..
  236. .de @f
  237. .ec
  238. .if \\n(?T \
  239. \{\
  240. .    nr T. 1
  241. .    T# 1
  242. .    br
  243. .\}
  244. .ev 2
  245. .ce 0
  246. .if \\n(?b \
  247. \{\
  248. .    nr ?b 0
  249. .    @k |b\"
  250. .\}
  251. .if \\n(?f \
  252. .    @o
  253. .ie \\n($c<\\n($m \
  254. .    @c
  255. .el \
  256. .    @e
  257. .ev
  258. ..
  259. .de @o
  260. .nf
  261. .ls 1
  262. .in 0
  263. .wh -\\n(_Bu @r
  264. .|f
  265. .fi
  266. .if \\n(?o \
  267. \{\
  268. .    di
  269. .    if \\n(dn=0 \
  270. \{\
  271. .        rm |o
  272. .        nr ?o 0
  273. .    \}
  274. .    nr dn \\n(_D
  275. .    rr _D
  276. .\}
  277. .rm |f
  278. .ch @r
  279. ..
  280. .de @c
  281. .rs
  282. .sp |\\n(_ku
  283. .@O +\\n($lu+\\n($su
  284. .nr $c +1
  285. .@n
  286. ..
  287. .de @e
  288. .@O \\n(_ou
  289. .rs
  290. .sp |\\n(.pu-\\n(fmu-(\\n(tpu*\\n($ru)
  291. .@t $f
  292. .nr ?h 0
  293. .bp
  294. ..
  295. .de @t
  296. .if !\\n(?h \
  297. \{\
  298. .    sz \\n(tp
  299. .    @F \\n(tf
  300. .    lt \\n(_Lu
  301. .    nf
  302. .    \\$1
  303. .    br
  304. .\}
  305. ..
  306. .de $h
  307. .rm |z
  308. .if !\\n(?c \
  309. \{\
  310. .    if e .ds |z "\\*(|0
  311. .    if o .ds |z "\\*(|1
  312. .\}
  313. .if !\(ts\\*(|z\(ts\(ts \
  314. '    tl \\*(|z
  315. .rm |z
  316. ..
  317. .de $f
  318. .rm |z
  319. .if \\n(?c \
  320. \{\
  321. .    if e .ds |z "\\*(|0
  322. .    if o .ds |z "\\*(|1
  323. .\}
  324. .if \(ts\\*(|z\(ts\(ts \
  325. \{\
  326. .    if e .ds |z "\\*(|2
  327. .    if o .ds |z "\\*(|3
  328. .\}
  329. .if !\(ts\\*(|z\(ts\(ts \
  330. '    tl \\*(|z
  331. .rm |z
  332. ..
  333. .de @r
  334. .di |o
  335. .nr ?o 1
  336. .nr _D \\n(dn
  337. .ns
  338. ..
  339. .rn bp @b
  340. .de bp
  341. .nr $c \\n($m
  342. .ie \\n(nl>0 \
  343. .    @b \\$1
  344. .el \
  345. \{\
  346. .    if \\n(.$>0 \
  347. .        pn \\$1
  348. .    if \\n(?I \
  349. .        @h
  350. .\}
  351. .br
  352. .wh 0 @h
  353. ..
  354. .rn ll xl
  355. .de ll
  356. .xl \\$1
  357. .lt \\$1
  358. .nr $l \\n(.l
  359. .if (\\n($m<=1):(\\n($l>\\n(_L) \
  360. .    nr _L \\n(.l
  361. ..
  362. .rn po @O
  363. .de po
  364. .@O \\$1
  365. .nr _o \\n(.o
  366. ..
  367. .de hx
  368. .nr ?H 1
  369. ..
  370. .de ix
  371. 'in \\$1
  372. ..
  373. .de bl
  374. .br
  375. .ne \\$1
  376. .rs
  377. .sp \\$1
  378. ..
  379. .de n1
  380. .nm 1
  381. .xl -\w'0000'u
  382. .nr ?n 1
  383. ..
  384. .de n2
  385. .nm \\$1
  386. .ie \\n(.$ \
  387. .    xl -\w'0000'u
  388. .el \
  389. .    xl \\n($lu
  390. ..
  391. .de pa
  392. .bp \\$1
  393. ..
  394. .de ro
  395. .af % i
  396. ..
  397. .de ar
  398. .af % 1
  399. ..
  400. .de m1
  401. .nr _0 \\n(hmu
  402. .nr hm \\$1v
  403. .nr tm +\\n(hmu-\\n(_0u
  404. .rr _0
  405. ..
  406. .de m2
  407. .nr tm \\n(hmu+\\n(tpp+\\$1v
  408. ..
  409. .de m3
  410. .nr bm \\n(fmu+\\n(tpp+\\$1v
  411. ..
  412. .de m4
  413. .nr _0 \\n(fmu
  414. .nr fm \\$1v
  415. .nr bm +\\n(fmu-\\n(_0u
  416. ..
  417. .de sk
  418. .if \\n(.$>0 \
  419. .    tm Line \\n(c. -- I cannot skip multiple pages
  420. .nr ?s 1
  421. ..
  422. .de re
  423. .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
  424. ..
  425. .if t .ig
  426. .de re
  427. .ta 0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i
  428. ..
  429. .de ba
  430. .ie \\n(.$ \
  431. .    nr $i \\$1n
  432. .el \
  433. .    nr $i \\n(siu*\\n($0u
  434. ..
  435. .de hl
  436. .br
  437. \l'\\n(.lu-\\n(.iu'
  438. .sp
  439. ..
  440. .de pp
  441. .lp \\n(piu
  442. ..
  443. .de lp
  444. .@p
  445. .if \\n(.$ \
  446. .    ti +\\$1
  447. .nr $p 0 1
  448. ..
  449. .de ip
  450. .if (\\n(ii>0)&(\\n(ii<1n) \
  451. .    nr ii \\n(iin
  452. .nr _0 \\n(ii
  453. .if \\n(.$>1 \
  454. .    nr _0 \\$2n
  455. .@p \\n(_0u
  456. .if \\w"\\$1" \
  457. \{\
  458. .    ti -\\n(_0u
  459. .    ie \\w"\\$1">=\\n(_0 \
  460. \{\
  461. \&\\$1
  462. .        br
  463. .    \}
  464. .    el \&\\$1\h'|\\n(_0u'\c
  465. .\}
  466. .rr _0
  467. ..
  468. .de np
  469. .if \\n($p<0 \
  470. .    nr $p 0
  471. .nr $p +1
  472. .@p \w'\0(000)\0'u
  473. .ti -\w'\0(000)\0'u
  474. \0(\\n($p)\h'|\w'\0(000)\0'u'\c
  475. ..
  476. .de bu
  477. .br
  478. .if \\n($p<0 \
  479. .    ns
  480. .nr $p 0-1
  481. .@p \w'\0\(bu\0'u
  482. .ti -\w'\0\(bu\0'u
  483. \0\(bu\0\c
  484. ..
  485. .de @p
  486. .@I
  487. .if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation
  488. .in \\n($iu+\\n(pou
  489. .if \\n(.$ \
  490. .    in +\\$1n
  491. .ce 0
  492. .fi
  493. .@F \\n(pf
  494. .sz \\n(pp
  495. .sp \\n(psu
  496. .ne \\n(.Lv+\\n(.Vu
  497. .ns
  498. ..
  499. .de sh
  500. .rn sh @T
  501. .so \\*(||/sh.me
  502. .sh "\\$1" "\\$2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
  503. .rm @T
  504. ..
  505. .de $p
  506. .if (\\n(si>0)&(\\n(.$>2) \
  507. .    nr $i \\$3*\\n(si
  508. .in \\n($iu
  509. .ie !"\\$1\\$2"" \
  510. \{\
  511. .    sp \\n(ssu
  512. .    ne \\n(.Lv+\\n(.Vu+\\n(psu+(\\n(spu*\\n($ru*\\n(.Lu)
  513. .    ie \\n(.$>2 \
  514. .        ti -(\\n(siu-\\n(sou)
  515. .    el \
  516. .        ti +\\n(sou
  517. .    @F \\n(sf
  518. .    sz \\n(sp
  519. .    if \\$3>0 \
  520. .        $\\$3
  521. .    if \w"\\$2">0 \\$2.
  522. .    if \w"\\$1">0 \\$1\f1\ \ \&
  523. .\}
  524. .el \
  525. .    sp \\n(psu
  526. .@F \\n(pf
  527. .sz \\n(pp
  528. ..
  529. .de uh
  530. .rn uh @T
  531. .so \\*(||/sh.me
  532. .uh "\\$1"
  533. .rm @T
  534. ..
  535. .de 2c
  536. .br
  537. .if \\n($m>1 \
  538. .    1c
  539. .nr $c 1
  540. .nr $m 2
  541. .if \\n(.$>1 \
  542. .    nr $m \\$2
  543. .if \\n(.$>0 \
  544. .    nr $s \\$1n
  545. .nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
  546. .xl \\n($lu
  547. .mk _k
  548. .ns
  549. ..
  550. .de 1c
  551. .br
  552. .nr $c 1
  553. .nr $m 1
  554. .ll \\n(_Lu
  555. .sp |\\n(.hu
  556. .@O \\n(_ou
  557. ..
  558. .de bc
  559. .sp 24i
  560. ..
  561. .de (z
  562. .rn (z @V
  563. .so \\*(||/float.me
  564. .(z \\$1 \\$2
  565. .rm @V
  566. ..
  567. .de )z
  568. .tm Line \\n(c. -- unmatched .)z
  569. ..
  570. .de (t
  571. .(z \\$1 \\$2
  572. ..
  573. .de )t
  574. .)z \\$1 \\$2
  575. ..
  576. .de (b
  577. .br
  578. .@D 3 \\$1 \\$2
  579. .sp \\n(bsu
  580. .@(
  581. ..
  582. .de )b
  583. .br
  584. .@)
  585. .if (\\n(bt=0):(\\n(.t<\\n(bt) \
  586. .    ne \\n(dnu
  587. .ls 1
  588. .nf
  589. .|k
  590. .ec
  591. .fi
  592. .in 0
  593. .xl \\n($lu
  594. .ev
  595. .rm |k
  596. .sp \\n(bsu+\\n(.Lv-1v
  597. ..
  598. .de @(
  599. .if !"\\n(.z"" .tm Line \\n(c. -- Illegal nested keep \\n(.z
  600. .@M
  601. .di |k
  602. \!'rs
  603. ..
  604. .de @M
  605. .nr ?k 1
  606. .@C 1
  607. .@F \\n(df
  608. .vs \\n(.su*\\n($Ru
  609. .nf
  610. .if "\\*(|p"F" \
  611. .    fi
  612. .if \\n(_d=4 \
  613. .    in 0
  614. .if \\n(_d=3 \
  615. \{\
  616. .    in +\\n(biu
  617. .    xl -\\n(biu
  618. .\}
  619. .if \\n(_d=1 \
  620. .    ce 10000
  621. ..
  622. .de @)
  623. .br
  624. .if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
  625. .nr ?k 0
  626. .di
  627. .in 0
  628. .ce 0
  629. ..
  630. .de (c
  631. .if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
  632. .di |c
  633. ..
  634. .de )c
  635. .if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
  636. .br
  637. .di
  638. .ev 1
  639. .ls 1
  640. .in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
  641. .nf
  642. .|c
  643. .ec
  644. .in
  645. .ls
  646. .ev
  647. .rm |c
  648. ..
  649. .de (q
  650. .br
  651. .@C 1
  652. .fi
  653. .sp \\n(qsu
  654. .in +\\n(qiu
  655. .xl -\\n(qiu
  656. .sz \\n(qp
  657. ..
  658. .de )q
  659. .br
  660. .ev
  661. .sp \\n(qsu+\\n(.Lv-1v
  662. .nr ?k 0
  663. ..
  664. .de (l
  665. .br
  666. .sp \\n(bsu
  667. .@D 3 \\$1 \\$2
  668. .@M
  669. ..
  670. .de )l
  671. .br
  672. .ev
  673. .sp \\n(bsu+\\n(.Lv-1v
  674. .nr ?k 0
  675. ..
  676. .de EQ
  677. .rn EQ @T
  678. .so \\*(||/eqn.me
  679. .EQ \\$1 \\$2
  680. .rm @T
  681. ..
  682. .de TS
  683. .rn TS @W
  684. .so \\*(||/tbl.me
  685. .TS \\$1 \\$2
  686. .rm @W
  687. ..
  688. .de ]-
  689. .rn ]- @]
  690. .so \\*(||/refer.me
  691. .]-
  692. .rm @]
  693. ..
  694. .de ]<
  695. .rn ]< @]
  696. .so \\*(||/refer.me
  697. .]<
  698. .rm @]
  699. ..
  700. .if n .ds [. " [
  701. .if t .ds [. \s-2\v'-.4m'\f1
  702. .if n .ds .] ]
  703. .if t .ds .] \v'.4m'\s+2\fP
  704. .if n .ds <. "
  705. .if t .ds <. .
  706. .if n .ds >. .
  707. .if t .ds >. "
  708. .de IS
  709. .nr g7 \\n(.u
  710. .ls 1
  711. ..
  712. .de IF
  713. .if \\n(g7 .fi
  714. .ls
  715. ..
  716. .de IE
  717. .if \\n(g7 .fi
  718. .ls
  719. ..
  720. .de PS
  721. .if t \
  722. .    sp 0.3
  723. .in (\\n(.lu-\\$2u)/2u
  724. .ne \\$1u
  725. .nr g7 \\n(.u
  726. .ls 1
  727. ..
  728. .de PE
  729. .ls
  730. .in
  731. .if \\n(g7 .fi
  732. .if t .sp .6
  733. ..
  734. .de GS
  735. .nr g7 (\\n(.lu-\\n(g1u)/2u
  736. .if "\\$1"L" .nr g7 \\n(.iu
  737. .if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u
  738. .in \\n(g7u
  739. .nr g7 \\n(.u
  740. .ls 1
  741. .nf
  742. .ne \\n(g2u
  743. ..
  744. .de GE
  745. .GF
  746. .if t .sp .6
  747. ..
  748. .de GF
  749. .ls
  750. .in
  751. .if \\n(g7 .fi
  752. ..
  753. .de sz
  754. .ps \\$1
  755. .vs \\n(.su*\\n($ru
  756. .bd S B \\n(.su/3u
  757. ..
  758. .de r
  759. .nr _F \\n(.f
  760. .ul 0
  761. .ft 1
  762. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  763. .rr _F
  764. ..
  765. .de i
  766. .nr _F \\n(.f
  767. .ul 0
  768. .ft 2
  769. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  770. .rr _F
  771. ..
  772. .de b
  773. .nr _F \\n(.f
  774. .ul 0
  775. .ft \\n($b
  776. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  777. .rr _F
  778. ..
  779. .de rb
  780. .nr _F \\n(.f
  781. .ul 0
  782. .ft 3
  783. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  784. .rr _F
  785. ..
  786. .de u
  787. \&\\$1\l'|0\(ul'\\$2
  788. ..
  789. .de q
  790. \&\\*(lq\\$1\\*(rq\\$2
  791. ..
  792. .de bi
  793. .ft 2
  794. .ie t \&\k~\\$1\h'|\\n~u+(\\w' 'u/4u)'\\$1\fP\\$2
  795. .el \&\\$1\fP\\$2
  796. ..
  797. .de bx
  798. .ie \\n($T \&\f2\\$1\fP\\$2
  799. .el \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2
  800. ..
  801. .de sm
  802. \s-1\\$1\\s0\\$2
  803. ..
  804. .de @F
  805. .nr ~ \\$1
  806. .if \\n~>0 \
  807. \{\
  808. .    ul 0
  809. .    if \\n~>4 \
  810. .        nr ~ \\n($b
  811. .    ft \\n~
  812. .\}
  813. .rr ~
  814. ..
  815. .de (f
  816. .rn (f @U
  817. .so \\*(||/footnote.me
  818. .(f \\$1 \\$2
  819. .rm @U
  820. ..
  821. .de )f
  822. .tm Line \\n(c. -- unmatched .)f
  823. ..
  824. .de $s
  825. \l'2i'
  826. .if n \
  827. .    sp 0.3
  828. ..
  829. .de (d
  830. .rn (d @U
  831. .so \\*(||/deltext.me
  832. .(d \\$1 \\$2
  833. .rm @U
  834. ..
  835. .de )d
  836. .tm Line \\n(c. -- unmatched .)d
  837. ..
  838. .de (x
  839. .rn (x @U
  840. .so \\*(||/index.me
  841. .(x \\$1 \\$2
  842. .rm @U
  843. ..
  844. .de )x
  845. .tm Line \\n(c. -- unmatched .)x
  846. ..
  847. .de th
  848. .so \\*(||/thesis.me
  849. .rm th
  850. ..
  851. .de +c
  852. .ep
  853. .if \\n(?o:\\n(?a \
  854. \{\
  855. .    bp
  856. .    rs
  857. .    ep
  858. .\}
  859. .nr ?C 1
  860. .nr $f 1 1
  861. .ds * \\*[1\\*]\k*
  862. .if \\n(?R \
  863. .    pn 1
  864. .bp
  865. .in \\n($iu
  866. .rs
  867. .ie \\n(.$ \
  868. .    $c "\\$1"
  869. .el \
  870. .    sp 3
  871. ..
  872. .de ++
  873. .nr _0 0
  874. .if "\\$1"C" \
  875. .    nr _0 1
  876. .if "\\$1"RC" \
  877. .    nr _0 11
  878. .if "\\$1"A" \
  879. .    nr _0 2
  880. .if "\\$1"RA" \
  881. .    nr _0 12
  882. .if "\\$1"P" \
  883. .    nr _0 3
  884. .if "\\$1"B" \
  885. .    nr _0 4
  886. .if "\\$1"AB" \
  887. .    nr _0 5
  888. .if \\n(_0=0 \
  889. .    tm Line \\n(c. -- Bad mode to .++
  890. .nr ?R 0
  891. .if \\n(_0>10 \
  892. .\{
  893. .    nr ?R 1
  894. .    nr _0 -10
  895. .\}
  896. .nr ch 0 1
  897. .if (\\n(_0=3):(\\n(_0=5) \
  898. .    pn 1
  899. .ep
  900. .if \\n(_0=1 \
  901. \{\
  902. .    af ch 1
  903. .    af % 1
  904. .\}
  905. .if \\n(_0=2 \
  906. \{\
  907. .    af ch A
  908. .    af % 1
  909. .\}
  910. .if \\n(_0=3 \
  911. .    af % i
  912. .if \\n(_0=4 \
  913. .    af % 1
  914. .if \\n(_0=5 \
  915. .    af % 1
  916. .if \\n(.$>1 \
  917. .    he \\$2
  918. .if !\\n(_0=\\n(_M .if \\n(_M=3 \
  919. .    pn 1
  920. .nr _M \\n(_0
  921. .rr _0
  922. ..
  923. .de $c
  924. .sz 12
  925. .ft B
  926. .ce 1000
  927. .if \\n(_M<3 \
  928. .    nr ch +1
  929. .ie \\n(_M=1 CHAPTER\ \ \\n(ch
  930. .el .if \\n(_M=2 APPENDIX\ \ \\n(ch
  931. .if \w"\\$1" .sp 3-\\n(.L
  932. .if \w"\\$1" \\$1
  933. .if (\\n(_M<3):(\w"\\$1") \
  934. .    sp 4-\\n(.L
  935. .ce 0
  936. .ft
  937. .sz
  938. .ie \\n(_M=1 \
  939. .    $C Chapter \\n(ch "\\$1"
  940. .el .if \\n(_M=2 \
  941. .    $C Appendix \\n(ch "\\$1"
  942. ..
  943. .de tp
  944. .hx
  945. .bp
  946. .br
  947. .rs
  948. .pn \\n%
  949. ..
  950. .de ac
  951. .rn ac @T
  952. .so \\*(||/acm.me
  953. .ac "\\$1" "\\$2"
  954. .rm @T
  955. ..
  956. .de lo
  957. .so \\*(||/local.me
  958. .rm lo
  959. ..
  960. .de lh
  961. .so \\*(||/letterhead.me
  962. ..
  963. .if \n(mo=1 .ds mo January
  964. .if \n(mo=2 .ds mo February
  965. .if \n(mo=3 .ds mo March
  966. .if \n(mo=4 .ds mo April
  967. .if \n(mo=5 .ds mo May
  968. .if \n(mo=6 .ds mo June
  969. .if \n(mo=7 .ds mo July
  970. .if \n(mo=8 .ds mo August
  971. .if \n(mo=9 .ds mo September
  972. .if \n(mo=10 .ds mo October
  973. .if \n(mo=11 .ds mo November
  974. .if \n(mo=12 .ds mo December
  975. .if \n(dw=1 .ds dw Sunday
  976. .if \n(dw=2 .ds dw Monday
  977. .if \n(dw=3 .ds dw Tuesday
  978. .if \n(dw=4 .ds dw Wednesday
  979. .if \n(dw=5 .ds dw Thursday
  980. .if \n(dw=6 .ds dw Friday
  981. .if \n(dw=7 .ds dw Saturday
  982. .ds td \*(mo \n(dy, 19\n(yr
  983. .if (1m<0.1i)&(\nx!=0) \
  984. .    vs 9p
  985. .rr x
  986. .nr $r \n(.v/\n(.s
  987. .nr $R \n($r
  988. .nr hm 4v
  989. .nr tm 7v
  990. .nr bm 6v
  991. .nr fm 3v
  992. .nr tf 3
  993. .nr tp 10
  994. .hy 14
  995. .nr bi 4m
  996. .nr pi 5n
  997. .nr pf 1
  998. .nr pp 10
  999. .nr qi 4n
  1000. .nr qp -1
  1001. .nr ii 5n
  1002. .nr $m 1
  1003. .nr $s 4n
  1004. .ds || /usr/lib/me
  1005. .bd S B 3
  1006. .ds [ \u\x'-0.25v'
  1007. .ds ] \d
  1008. .ds < \d\x'0.25v'
  1009. .ds > \u
  1010. .ds - --
  1011. .if t \
  1012. \{\
  1013. .    ds [ \v'-0.4m'\x'-0.2m'\s-3
  1014. .    ds ] \s0\v'0.4m'
  1015. .    ds < \v'0.4m'\x'0.2m'\s-3
  1016. .    ds > \s0\v'-0.4m'
  1017. .    ds - \(em
  1018. .    nr fi 0.3i
  1019. .\}
  1020. .if n \
  1021. \{\
  1022. .    nr fi 3n
  1023. .\}
  1024. .nr _o \n(.o
  1025. .if n .po 1i
  1026. .if \n(.V=1v \
  1027. .    nr $T 2
  1028. .if n .if \n(.T=0 \
  1029. .    nr $T 1
  1030. .if \nv=2 \
  1031. \{\
  1032. .    nr $T 0
  1033. .    po -0.5i
  1034. .\}
  1035. .if \n($T \
  1036. \{\
  1037. .    if \n($T=1 \
  1038. .        po 0
  1039. .    ds [ [
  1040. .    ds ] ]
  1041. .    ds < <
  1042. .    ds > >
  1043. .\}
  1044. .nr $b \nb
  1045. .rr b
  1046. .if \n($b=0 \
  1047. \{\
  1048. .    if n .nr $b 2
  1049. .    if t .nr $b 3
  1050. .\}
  1051. .nr ps 0.5v
  1052. .if \n($T \
  1053. .    nr ps 1v
  1054. .if t .nr ps 0.35v
  1055. .nr bs \n(ps
  1056. .nr qs \n(ps
  1057. .nr zs 1v
  1058. .nr xs 0.2v
  1059. .nr fs 0.2v
  1060. .if \n($T \
  1061. .    nr fs 0
  1062. .if n .nr es 1v
  1063. .if t .nr es 0.5v
  1064. .wh 0 @h
  1065. .nr $l \n(.lu
  1066. .nr _L \n(.lu
  1067. .nr $c 1
  1068. .nr $f 1 1
  1069. .ds * \*[1\*]\k*\"
  1070. .nr $d 1 1
  1071. .ds # [1]\k#\"
  1072. .nr _M 1
  1073. .ds lq \&"\"
  1074. .ds rq \&"\"
  1075. .if t \
  1076. .    ds lq ``
  1077. .if t \
  1078. .    ds rq ''
  1079. .em @z
  1080. .de sc
  1081. .so \\*(||/chars.me
  1082. .rm sc
  1083. ..
  1084. .ll 6.0i
  1085. .lt 6.0i
  1086.