home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / text / nroffami.lha / tmac.lha / tmac.e < prev    next >
Encoding:
Text File  |  1992-05-26  |  12.1 KB  |  1,015 lines

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