e 13 KB

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