.nr _0 \n(.c
.\"**********************************************************************
.\"*									*
.\"*	******  - M E   N R O F F / T R O F F   M A C R O S  ******	*
.\"*									*
.\"*	Produced for your edification and enjoyment by:			*
.\"*		Eric Allman						*
.\"*		Electronics Research Laboratory				*
.\"*		U.C. Berkeley.						*
.\"*									*
.\"*	VERSION 2.9	First Release: 11 Sept 1978			*
.\"*	See file \*(||/revisions for revision history			*
.\"*									*
.\"*	Documentation is available.					*
.\"*									*
.\"**********************************************************************
.\"
.\"	@(#)tmac.e	2.9	12/10/80
.\" This version has had comments stripped; an unstripped version is available.
.if !\n(.V .tm You are using the wrong version of NROFF/TROFF!!
.if !\n(.V .tm This macro package works only on the version seven
.if !\n(.V .tm release of NROFF and TROFF.
.if !\n(.V .ex
.if \n(pf \
.	nx \*(||/null.me
.de @C
.nr _S \\n(.s
.nr _V \\n(.v
.nr _F \\n(.f
.nr _I \\n(.i
.ev \\$1
.ps \\n(_Su
.vs \\n(_Vu
.ft \\n(_F
'in \\n(_Iu
.xl \\n($lu
.lt \\n($lu
.rr _S
.rr _V
.rr _F
.rr _I
.ls 1
'ce 0
..
.de @D
.ds |p "\\$3
.nr _d \\$1
.ie "\\$2"C" \
.	nr _d 1
.el .ie "\\$2"L" \
.	nr _d 2
.el .ie "\\$2"I" \
.	nr _d 3
.el .ie "\\$2"M" \
.	nr _d 4
.el \
.	ds |p "\\$2
..
.de @z
.if !"\\n(.z"" \
\{\
.	tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z)
.	di
.	ex
.\}
.if \\n(?a \
.	bp
.rm bp
.rm @b
.if t \
.	wh -1p @m
.br
..
.de @I
.rm th
.rm ac
.rm lo
.rm sc
.rm @I
..
.de he
.ie !\\n(.$ \
\{\
.	rm |4
.	rm |5
.\}
.el \
\{\
.	ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.\}
..
.de eh
.ie !\\n(.$ \
.	rm |4
.el \
.	ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de oh
.ie !\\n(.$ \
.	rm |5
.el \
.	ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de fo
.ie !\\n(.$ \
\{\
.	rm |6
.	rm |7
.\}
.el \
\{\
.	ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.\}
..
.de ef
.ie !\\n(.$ \
.	rm |6
.el \
.	ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de of
.ie !\\n(.$ \
.	rm |7
.el \
.	ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de ep
.if \\n(nl>0 \
\{\
.	wh 0
.	rs
.	@b
.\}
..
.de @h
.if (\\n(.i+\\n(.o)>=\\n(.l \
.	tm Line \\n(c. -- Offset + indent exceeds line length
.if t .if (\\n(.l+\\n(.o)>7.75i \
.	tm Line \\n(c. -- Offset + line length exceeds paper width
.nr ?h \\n(?H
.rr ?H
.nr ?c \\n(?C
.rr ?C
.rn |4 |0
.rn |5 |1
.rn |6 |2
.rn |7 |3
.nr _w 0
.nr ?W 0
.nr ?I 1
.ev 2
.rs
.if t .@m
.if \\n(hm>0 \
.	sp |\\n(hmu
.if \\n($T=2 \\!.
.@t $h
.if \\n(tm<=0 \
.	nr tm \n(.Vu
.sp |\\n(tmu
.ev
.mk _k
.if \\n(?n .nm 1
.nr $c 1
.ie \\n(?s \
\{\
.	rr ?s
.	rs
'	@b
.\}
.el \
.	@n
..
.de @m
.@O 0
.lt 7.5i
.tl '\(rn''\(rn'
.@O
.lt
..
.de @n
.if \\n(bm<=0 \
.	nr bm \\n(.Vu
.if (\\n(_w<=\\n($l)&(\\n(?W=0) \
\{\
.	nr _b (\\n(ppu*\\n($ru)/2u
.	if \\n(_bu>((\\n(bmu-\\n(fmu-(\\n(tpu*\\n($ru))/2u) \
.		nr _b (\\n(ppu*\\n($ru)-\n(.Vu
.	nr _b +\\n(bmu
.\}
.nr _B \\n(_bu
.ch @f
.wh -\\n(_bu @f
.nr ?f 0
.if \\n(?o \
\{\
.	(f _
.	nf
.	|o
.	fi
.	)f
.	rm |o
.\}
.nr ?o 0
.if \\n(?T \
\{\
.	nr _i \\n(.i
.	in \\n($iu
.	|h
.	in \\n(_iu
.	rr _i
.	mk #T
.	ns
.\}
.if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
\{\
.	nr ?a 0
.	@k |t
.	if \\n(?w \
.		mk _k
.	nr ?w 0
.\}
.os
.$H
.ns
..
.de @f
.ec
.if \\n(?T \
\{\
.	nr T. 1
.	T# 1
.	br
.\}
.ev 2
.ce 0
.if \\n(?b \
\{\
.	nr ?b 0
.	@k |b
.\}
.if \\n(?f \
.	@o
.ie \\n($c<\\n($m \
.	@c
.el \
.	@e
.ev
..
.de @o
.nf
.ls 1
.in 0
.wh -\\n(_Bu @r
.|f
.fi
.if \\n(?o \
.	di
.	if \\n(dn=0 \
\{\
.		rm |o
.		nr ?o 0
.	\}
.	nr dn \\n(_D
.	rr _D
.\}
.rm |f
.ch @r
..
.de @c
.rs
.sp |\\n(_ku
.@O +\\n($lu+\\n($su
.nr $c +1
.@n
..
.de @e
.@O \\n(_ou
.rs
.sp |\\n(.pu-\\n(fmu-(\\n(tpu*\\n($ru)
.@t $f
.nr ?h 0
.bp
..
.de @t
.if !\\n(?h \
\{\
.	sz \\n(tp
.	@F \\n(tf
.	lt \\n(_Lu
.	nf
.	\\$1
.	br
.\}
..
.de $h
.rm |z
.if !\\n(?c \
\{\
.	if e .ds |z "\\*(|0
.	if o .ds |z "\\*(|1
.\}
.if !\(ts\\*(|z\(ts\(ts \
'	tl \\*(|z
.rm |z
..
.de $f
.rm |z
.if \\n(?c \
\{\
.	if e .ds |z "\\*(|0
.	if o .ds |z "\\*(|1
.\}
.if \(ts\\*(|z\(ts\(ts \
\{\
.	if e .ds |z "\\*(|2
.	if o .ds |z "\\*(|3
.\}
.if !\(ts\\*(|z\(ts\(ts \
'	tl \\*(|z
.rm |z
..
.de @r
.di |o
.nr ?o 1
.nr _D \\n(dn
.ns
..
.rn bp @b
.de bp
.nr $c \\n($m
.ie \\n(nl>0 \
.	@b \\$1
.el \
\{\
.	if \\n(.$>0 \
.		pn \\$1
.	if \\n(?I \
.		@h
.\}
.br
.wh 0 @h
..
.rn ll xl
.de ll
.xl \\$1
.lt \\$1
.nr $l \\n(.l
.if (\\n($m<=1):(\\n($l>\\n(_L) \
.	nr _L \\n(.l
..
.rn po @O
.de po
.@O \\$1
.nr _o \\n(.o
..
.de hx
.nr ?H 1
..
.de ix
'in \\$1
..
.de bl
.br
.ne \\$1
.rs
.sp \\$1
..
.de n1
.nm 1
.xl -\w'0000'u
.nr ?n 1
..
.de n2
.nm \\$1
.ie \\n(.$ \
.	xl -\w'0000'u
.el \
.	xl \\n($lu
..
.de pa
.bp \\$1
..
.de ro
.af % i
..
.de ar
.af % 1
..
.de m1
.nr _0 \\n(hmu
.nr hm \\$1v
.nr tm +\\n(hmu-\\n(_0u
.rr _0
..
.de m2
.nr tm \\n(hmu+\\n(tpp+\\$1v
..
.de m3
.nr bm \\n(fmu+\\n(tpp+\\$1v
..
.de m4
.nr _0 \\n(fmu
.nr fm \\$1v
.nr bm +\\n(fmu-\\n(_0u
..
.de sk
.if \\n(.$>0 \
.	tm Line \\n(c. -- I cannot skip multiple pages
.nr ?s 1
..
.de re
.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
..
.if t .ig
.de re
.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
..
.de ba
.ie \\n(.$ \
.	nr $i \\$1n
.el \
.	nr $i \\n(siu*\\n($0u
..
.de hl
.br
\l'\\n(.lu-\\n(.iu'
.sp
..
.de pp
.lp \\n(piu
..
.de lp
.@p
.if \\n(.$ \
.	ti +\\$1
.nr $p 0 1
..
.de ip
.if (\\n(ii>0)&(\\n(ii<1n) \
.	nr ii \\n(iin
.nr _0 \\n(ii
.if \\n(.$>1 \
.	nr _0 \\$2n
.@p \\n(_0u
.if \\w"\\$1" \
\{\
.	ti -\\n(_0u
.	ie \\w"\\$1">=\\n(_0 \
\{\
\&\\$1
.		br
.	\}
.	el \&\\$1\h'|\\n(_0u'\c
.\}
.rr _0
..
.de np
.nr $p +1
.ip (\\n($p)
..
.de @p
.@I
.if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation
.in \\n($iu+\\n(pou
.if \\n(.$ \
.	in +\\$1n
.ce 0
.fi
.@F \\n(pf
.sz \\n(ppu
.sp \\n(psu
.ne \\n(.Lv+\\n(.Vu
.ns
..
.de sh
.rn sh @T
.so \\*(||/sh.me
.sh "\\$1" "\\$2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
.rm @T
..
.de $p
.if (\\n(si>0)&(\\n(.$>2) \
.	nr $i \\$3*\\n(si
.in \\n($iu
.ie !"\\$1\\$2"" \
\{\
.	sp \\n(ssu
.	ne \\n(.Lv+\\n(.Vu+\\n(psu+(\\n(spu*\\n($ru*\\n(.Lu)
.	ie \\n(.$>2 \
.		ti -(\\n(siu-\\n(sou)
.	el \
.		ti +\\n(sou
.	@F \\n(sf
.	sz \\n(spu
.	if \\$3>0 \
.		$\\$3
.	if \w"\\$2">0 \\$2.
.	if \w"\\$1">0 \\$1\f1\ \  \"
.\}
.el \
.	sp \\n(psu
.@F \\n(pf
.sz \\n(ppu
..
.de uh
.rn uh @T
.so \\*(||/sh.me
.uh "\\$1"
.rm @T
..
.de 2c
.br
.if \\n($m>1 \
.	1c
.nr $c 1
.nr $m 2
.if \\n(.$>1 \
.	nr $m \\$2
.if \\n(.$>0 \
.	nr $s \\$1n
.nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
.xl \\n($lu
.mk _k
.ns
..
.de 1c
.br
.nr $c 1
.nr $m 1
.ll \\n(_Lu
.sp |\\n(.hu
.@O \\n(_ou
..
.de bc
.sp 24i
..
.de (z
.rn (z @V
.so \\*(||/float.me
.(z \\$1 \\$2
.rm @V
..
.de )z
.tm Line \\n(c. -- unmatched .)z
..
.de (t
.(z \\$1 \\$2
..
.de )t
.)z \\$1 \\$2
..
.de (b
.br
.@D 3 \\$1 \\$2
.sp \\n(bsu
.@(
..
.de )b
.br
.@)
.if (\\n(bt=0):(\\n(.t<\\n(bt) \
.	ne \\n(dnu
.ls 1
.nf
.|k
.ec
.fi
.in 0
.xl \\n($lu
.ev
.rm |k
.sp \\n(bsu+\\n(.Lv-1v
..
.de @(
.if !"\\n(.z"" .tm Line \\n(c. -- Illegal nested keep \\n(.z
.@M
.di |k
\!'rs
..
.de @M
.nr ?k 1
.@C 1
.@F \\n(df
.vs \\n(.su*\\n($Ru
.nf
.if "\\*(|p"F" \
.	fi
.if \\n(_d=4 \
.	in 0
.if \\n(_d=3 \
\{\
.	in +\\n(biu
.	xl -\\n(biu
.\}
.if \\n(_d=1 \
.	ce 10000
..
.de @)
.br
.if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
.nr ?k 0
.di
.in 0
.ce 0
..
.de (c
.if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
.di |c
..
.de )c
.if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
.br
.di
.ev 1
.ls 1
.in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
.nf
.|c
.ec
.in
.ls
.ev
.rm |c
..
.de (q
.br
.@C 1
.fi
.sp \\n(qsu
.in +\\n(qiu
.xl -\\n(qiu
.sz \\n(qp
..
.de )q
.br
.ev
.sp \\n(qsu+\\n(.Lv-1v
.nr ?k 0
..
.de (l
.br
.sp \\n(bsu
.@D 3 \\$1 \\$2
.@M
..
.de )l
.br
.ev
.sp \\n(bsu+\\n(.Lv-1v
.nr ?k 0
..
.de EQ
.rn EQ @T
.so \\*(||/eqn.me
.EQ \\$1 \\$2
.rm @T
..
.de TS
.rn TS @W
.so \\*(||/tbl.me
.TS \\$1 \\$2
.rm @W
..
.de sz
.ps \\$1
.vs \\n(.su*\\n($ru
.bd S B \\n(.su/3u
..
.de r
.nr _F \\n(.f
.ul 0
.ft 1
.if \\n(.$ \&\\$1\f\\n(_F\\$2
.rr _F
..
.de i
.nr _F \\n(.f
.ul 0
.ft 2
.if \\n(.$ \&\\$1\f\\n(_F\\$2
.rr _F
..
.de b
.nr _F \\n(.f
.ul 0
.ie t \
.	ft 3
.el \
.	ul 10000
.if \\n(.$ \&\\$1\f\\n(_F\\$2
.if \\n(.$ \
.	ul 0
.rr _F
..
.de rb
.nr _F \\n(.f
.ul 0
.ft 3
.if \\n(.$ \&\\$1\f\\n(_F\\$2
.rr _F
..
.de u
\&\\$1\l'|0\(ul'\\$2
..
.de q
\&\\*(lq\\$1\\*(rq\\$2
..
.de bi
.ft 2
.ie t \&\k~\\$1\h'|\\n~u+(\\n(.su/3u)'\\$1\fP\\$2
.el \&\\$1\fP\\$2
..
.de bx
.ie \\n($T \&\f2\\$1\fP\\$2
.el \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2
..
.de @F
.nr ~ \\$1
.if \\n~>0 \
\{\
.	ul 0
.	ie \\n~>4 \
\{\
.		if n .ul 10000
.		if t .ft 3
.	\}
.	el \
.		ft \\n~
.\}
.rr ~
..
.de (f
.rn (f @U
.so \\*(||/footnote.me
.(f \\$1 \\$2
.rm @U
..
.de )f
.tm Line \\n(c. -- unmatched .)f
..
.de $s
\l'2i'
.if n \
.	sp 0.3
..
.de (d
.rn (d @U
.so \\*(||/deltext.me
.(d \\$1 \\$2
.rm @U
..
.de )d
.tm Line \\n(c. -- unmatched .)d
..
.de (x
.rn (x @U
.so \\*(||/index.me
.(x \\$1 \\$2
.rm @U
..
.de )x
.tm Line \\n(c. -- unmatched .)x
..
.de th
.so \\*(||/thesis.me
.rm th
..
.de +c
.ep
.if \\n(?o:\\n(?a \
\{\
.	bp
.	rs
.	ep
.\}
.nr ?C 1
.nr $f 1 1
.ds * \\*[1\\*]\k*
.if \\n(?R \
.	pn 1
.bp
.in \\n($iu
.rs
.ie \\n(.$ \
.	$c "\\$1"
.el \
.	sp 3
..
.de ++
.nr _0 0
.if "\\$1"C" \
.	nr _0 1
.if "\\$1"RC" \
.	nr _0 11
.if "\\$1"A" \
.	nr _0 2
.if "\\$1"RA" \
.	nr _0 12
.if "\\$1"P" \
.	nr _0 3
.if "\\$1"B" \
.	nr _0 4
.if "\\$1"AB" \
.	nr _0 5
.if \\n(_0=0 \
.	tm Line \\n(c. -- Bad mode to .++
.nr ?R 0
.if \\n(_0>10 \
.\{
.	nr ?R 1
.	nr _0 -10
.\}
.nr ch 0 1
.if (\\n(_0=3):(\\n(_0=5) \
.	pn 1
.ep
.if \\n(_0=1 \
\{\
.	af ch 1
.	af % 1
.\}
.if \\n(_0=2 \
\{\
.	af ch A
.	af % 1
.\}
.if \\n(_0=3 \
.	af % i
.if \\n(_0=4 \
.	af % 1
.if \\n(_0=5 \
.	af % 1
.if \\n(.$>1 \
.	he \\$2
.if !\\n(_0=\\n(_M .if \\n(_M=3 \
.	pn 1
.nr _M \\n(_0
.rr _0
..
.de $c
.sz 12
.ft B
.ce 1000
.if \\n(_M<3 \
.	nr ch +1
.ie \\n(_M=1 CHAPTER\ \ \\n(ch
.el .if \\n(_M=2 APPENDIX\ \ \\n(ch
.if \w"\\$1" .sp 3-\\n(.L
.if \w"\\$1" \\$1
.if (\\n(_M<3):(\w"\\$1") \
.	sp 4-\\n(.L
.ce 0
.ft
.sz
.ie \\n(_M=1 \
.	$C Chapter \\n(ch "\\$1"
.el .if \\n(_M=2 \
.	$C Appendix \\n(ch "\\$1"
..
.de tp
.hx
.bp
.br
.rs
.pn \\n%
..
.de ac
.rn ac @T
.so \\*(||/acm.me
.ac "\\$1" "\\$2"
.rm @T
..
.de lo
.so \\*(||/local.me
.rm lo
..
.if \n(mo=1 .ds mo January
.if \n(mo=2 .ds mo February
.if \n(mo=3 .ds mo March
.if \n(mo=4 .ds mo April
.if \n(mo=5 .ds mo May
.if \n(mo=6 .ds mo June
.if \n(mo=7 .ds mo July
.if \n(mo=8 .ds mo August
.if \n(mo=9 .ds mo September
.if \n(mo=10 .ds mo October
.if \n(mo=11 .ds mo November
.if \n(mo=12 .ds mo December
.if \n(dw=1 .ds dw Sunday
.if \n(dw=2 .ds dw Monday
.if \n(dw=3 .ds dw Tuesday
.if \n(dw=4 .ds dw Wednesday
.if \n(dw=5 .ds dw Thursday
.if \n(dw=6 .ds dw Friday
.if \n(dw=7 .ds dw Saturday
.ds td \*(mo \n(dy, 20\n(yr
.if (1m<0.1i)&(\nx!=0) \
.	vs 9p
.rr x
.nr $r \n(.v/\n(.s
.nr $R \n($r
.nr hm 4v
.nr tm 7v
.nr bm 6v
.nr fm 3v
.nr tf 3
.nr tp 10
.hy 14
.nr bi 4n
.nr pi 5n
.nr pf 1
.nr pp 10
.nr qi 4n
.nr qp -1
.nr ii 5n
.nr $m 1
.nr $s 4n
.ds || #9/tmac/me
.bd S B 3
.ds [ \u\x'-0.25v'
.ds ] \d
.ds < \d\x'0.25v'
.ds > \u
.ds - --
.if t \
\{\
.	ds [ \v'-0.4m'\x'-0.2m'\s-3
.	ds ] \s0\v'0.4m'
.	ds < \v'0.4m'\x'0.2m'\s-3
.	ds > \s0\v'-0.4m'
.	ds - \-
.	nr fi 0.3i
.\}
.if n \
\{\
.	nr fi 3n
.\}
.nr _o \n(.o
.if n .po 1i
.if \n(.V=1v \
.	nr $T 2
.if \n(.T=0 \
.	nr $T 1
.if t \
\{\
.	nr $T 0
.	po -0.5i
.\}
.if \nv \
.	po 1i
.if \n($T \
\{\
.	if \n($T=1 \
.		po 0
.	ds [ [
.	ds ] ]
.	ds < <
.	ds > >
.\}
.nr ps 0.5v
.if \n($T \
.	nr ps 1v
.if t .nr ps 0.35v
.nr bs \n(ps
.nr qs \n(ps
.nr zs 1v
.nr xs 0.2v
.nr fs 0.2v
.if \n($T \
.	nr fs 0
.if n .nr es 1v
.if t .nr es 0.5v
.wh 0 @h
.nr $l \n(.lu
.nr _L \n(.lu
.nr $c 1
.nr $f 1 1
.ds * \*[1\*]\k*\"
.nr $d 1 1
.ds # [1]\k#\"
.nr _M 1
.ds lq \&"\"
.ds rq \&"\"
.if t \
.	ds lq ``
.if t \
.	ds rq ''
.em @z
.de sc
.so \\*(||/chars.me
.rm sc
..
.ll 6.0i
.lt 6.0i
