1
0

tmac.e 12 KB

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