.\" Coherent 386 release 4.2
.\" Copyright (c) 1982, 1993 by Mark Williams Company.
.\" All rights reserved. May not be copied without permission.
.\" For copying permission and licensing info, write licensing@mwc.com
.\"
.\" tmac.box
.\" This macro package has been constructed to draw boxes.  It works
.\" with all standard Mark Williams COHERENT macro packages.
.\" NB:  Only works on PostScript printers.
.\" By fwb (fred@lepanto.mwc.com)
.\"
.\" set a thin line
.de LT
.co
.1 setlinewidth
.co
..
.\" set a wide line
.de LW
.co
1 setlinewidth
.co
..
.\" Enclose \\$1 within a little box
.de BX
.LT
\\$1\\h'-(\\w'\\$1'+1p)u'\\v'2p'\\L'-\\n(.v'\\l'(\\w'\\$1'+2p)'\\L'\\n(.v'\\l'-(\\w'\\$1'+2p)'\\v'-2p'\\h'-\\w'\\$1'u'
..
.\" Begin a boxed diversion
.de B1
.DM
.ll \\n(PWu
..
.\" Print diverted text and enclose it within a box
.de B2
.br
.di
.if \\n(dn>=\\n(.t .bp
.LW
.LB (\\n(.o/10)+(\\n(.i/10) (\\n(.p-\\n(.h)/10 (\\n(.l/10)-(\\n(.i/10) -\\n(dn/10
.sp \\n(pDu
.nf
.Kd
.rm Kd
.tc
.ev
.ft R
..
.\" Shade a heading
.de SX
.co \\n(.o/10 (\\n(.p/10)-((\\n(.h+\\n(sb)/10-(\\n(.s/2))
moveto
.co
.co \\n(.l/10 0
rlineto
.co
.co (\\n(.v/10)+6
setlinewidth
.95 setgray
stroke
0 setgray
.co
.br
..
.\" Shade a line of text
.de SL
.\" .h + sb gives lowest point on vertical space; +1 is for rounding errors
.co \\n(.o/10 (\\n(.p/10)-((\\n(.h+\\n(sb)/10-((\\n(.s/2)-1))
moveto
.co
.co \\n(.l/10 0
rlineto
.co
.co \\n(.v/10
setlinewidth
.95 setgray
stroke
0 setgray
.co
.\".SB 
.br
..
.\" Begin a shaded diversion
.de S1
.B1
..
.\" Print diverted text and shade it
.de S2
.br
.di
.if \\n(dn>=\\n(.t .bp
.SB \\n(.o/10 (\\n(.p-\\n(.h)/10 \\n(.l/10 -\\n(dn/10
.sp \\n(pDu
.nf
.Kd
.rm Kd
.ev
.nr J \\nJ-\\n(IN
.in \\nJu
.ft R
..
.\" Draw a line box.  Here follows some truly ugly code ...
.\" args:  $1=X position; $2=Y position; $3=box's width; $4=box's height
.de LB
.co \\$1 \\$2 
moveto
.co
.co \\$3 0 
rlineto
.co
.co 0 \\$4 
rlineto
.co
.co -\\$3 0 
rlineto
closepath
stroke
.co
..
.\" Draw a shaded box.
.\" arguments must be in PostScript notation, that is, working from
.\" bottom of the page up, and from left to right.  All spacing must be
.\" points, not decipoints.
.\" args:  $1 = X position of box's lower-left corner;
.\"	   $2 = Y position of box's lower-left corner;	
.\"	   $3=box's width;
.\"	   $4=box's height
.\" Example: .SB \\n(.o/10 (\\n(.p-\\n(.h)/10 \\n(.l/10 -\\n(dn/10
.\"
.de SB
.co \\$1 \\$2 
moveto
.co
.co \\$3 0 
rlineto
.co
.co 0 \\$4 
rlineto
.co
.co -\\$3 0 
rlineto
closepath
.99 setgray
fill
0 setgray
.co
..
.\" Print a big letter, flush left, centered in a shaded box.
.\" The shaded box puts 12 points of shading around the letter.
.\" User supplies the letter and the name of the font in which to print the
.\" letter - e.g. ".BL T Century_I".
.\" by fwb, 4/23/93
.de BL
.br
.lf bL /usr/lib/roff/troff_ps/fwt/\\$2.fwt 120
.sp (108p-\\n(.vu)
.SB \\n(.o/10 (\\n(.p-(\\n(.h+12p))/10 (\\w'\\f(bL\\$1\\fP'u+24p)/10 108
\\h'12p'\\f(bL\\$1\\fP
.nr bI (\\w'\\f(bL\\$1\\fP'u)+30p
.in +\\n(bIu
.wh \\n(.hu+12p uB
.sp -(108p-\\n(.vu)
..
.\" Undo indentation for big character
.de uB
'in -\\n(bIu
'ch uB
..
