diff options
Diffstat (limited to 'usergrps/uktug/baskervi/6_1')
90 files changed, 14177 insertions, 0 deletions
diff --git a/usergrps/uktug/baskervi/6_1/0-0-1.tex b/usergrps/uktug/baskervi/6_1/0-0-1.tex new file mode 100644 index 0000000000..140ea02261 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-1.tex @@ -0,0 +1,2 @@ +\psline[linewidth=1pt,linecolor=gray] + {<->}(0.5,0)(0,1)(1,1.5)(1.5,1)(.5,.5) diff --git a/usergrps/uktug/baskervi/6_1/0-0-10.tex b/usergrps/uktug/baskervi/6_1/0-0-10.tex new file mode 100644 index 0000000000..df4ea5f4de --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-10.tex @@ -0,0 +1,6 @@ + \psellipse[linecolor=green, + fillstyle=vlines,hatchangle=0, + hatchcolor=red](1,1)(1,0.5) + \pswedge[fillstyle=solid, + fillcolor=lightgray] + (2.5,1){1}{0}{120} diff --git a/usergrps/uktug/baskervi/6_1/0-0-11.tex b/usergrps/uktug/baskervi/6_1/0-0-11.tex new file mode 100644 index 0000000000..fae9c3be3d --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-11.tex @@ -0,0 +1,8 @@ + \psdots[linecolor=blue,dotstyle=triangle, + dotscale=2](0,0.5)(1,2)(2.8,1.5) + \pscurve[linecolor=cyan,showpoints=true] + {->}% + (0,1.2)(1.3,1.8)(3,0.4)(0.5,0.2) + \psarc(2,1.5){1}{180}{320} + \parabola[linecolor=red]{<->}% + (0.3,0.3)(1.5,1.5) diff --git a/usergrps/uktug/baskervi/6_1/0-0-12.tex b/usergrps/uktug/baskervi/6_1/0-0-12.tex new file mode 100644 index 0000000000..ade84b803a --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-12.tex @@ -0,0 +1,3 @@ + \psbezier[linewidth=0.8mm,linecolor=red, + showpoints=true]{|->}% + (1,0)(4,1)(2,2)(0,0) diff --git a/usergrps/uktug/baskervi/6_1/0-0-13.tex b/usergrps/uktug/baskervi/6_1/0-0-13.tex new file mode 100644 index 0000000000..26687e2d64 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-13.tex @@ -0,0 +1 @@ +\psframebox{The Buck Stops Here} diff --git a/usergrps/uktug/baskervi/6_1/0-0-14.tex b/usergrps/uktug/baskervi/6_1/0-0-14.tex new file mode 100644 index 0000000000..e41af74b01 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-14.tex @@ -0,0 +1,4 @@ + \psframebox[fillstyle=solid, + fillcolor=black] + {\bfseries\color{white}\LARGE + Beware of The Dog} diff --git a/usergrps/uktug/baskervi/6_1/0-0-15.tex b/usergrps/uktug/baskervi/6_1/0-0-15.tex new file mode 100644 index 0000000000..1cc42615fc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-15.tex @@ -0,0 +1,7 @@ + \psframebox{The dragon} + \psframebox + {\psframebox[linecolor=green]{ate} + \psframebox[linecolor=blue] + {\psframebox[linecolor=red]{the women} + and + \psframebox[linecolor=red]{children}}} diff --git a/usergrps/uktug/baskervi/6_1/0-0-16.tex b/usergrps/uktug/baskervi/6_1/0-0-16.tex new file mode 100644 index 0000000000..8b6643a991 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-16.tex @@ -0,0 +1,5 @@ + \psshadowbox[fillstyle=solid, + fillcolor=yellow] + {\color{red}\begin{tabular}{c} + Chapter 1\\We go to sea + \end{tabular}} diff --git a/usergrps/uktug/baskervi/6_1/0-0-17.tex b/usergrps/uktug/baskervi/6_1/0-0-17.tex new file mode 100644 index 0000000000..62685a6e8a --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-17.tex @@ -0,0 +1,2 @@ + \pscirclebox[doubleline=true] + {\bfseries STOP!} diff --git a/usergrps/uktug/baskervi/6_1/0-0-18.tex b/usergrps/uktug/baskervi/6_1/0-0-18.tex new file mode 100644 index 0000000000..078b341490 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-18.tex @@ -0,0 +1,2 @@ + \psdblframebox[linecolor=green] + {\color{red}All Hail Caesar!} diff --git a/usergrps/uktug/baskervi/6_1/0-0-19.tex b/usergrps/uktug/baskervi/6_1/0-0-19.tex new file mode 100644 index 0000000000..1933499051 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-19.tex @@ -0,0 +1 @@ + \psdiabox{\sffamily No Parking} diff --git a/usergrps/uktug/baskervi/6_1/0-0-2.tex b/usergrps/uktug/baskervi/6_1/0-0-2.tex new file mode 100644 index 0000000000..341b7f3625 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-2.tex @@ -0,0 +1,2 @@ +\rput(.1,.1){\psline(0,0)(1.3,1.3)} +\rput{-20}(1.2,.4){\psline(0,0)(1,0)} diff --git a/usergrps/uktug/baskervi/6_1/0-0-20.tex b/usergrps/uktug/baskervi/6_1/0-0-20.tex new file mode 100644 index 0000000000..b32ccc88bc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-20.tex @@ -0,0 +1,3 @@ + \pstribox[shadow=true,fillstyle=gradient, + gradbegin=green,gradend=red] + {\color{white}\Large$\Omega$ } diff --git a/usergrps/uktug/baskervi/6_1/0-0-21.tex b/usergrps/uktug/baskervi/6_1/0-0-21.tex new file mode 100644 index 0000000000..69e32de3a1 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-21.tex @@ -0,0 +1,2 @@ + \psovalbox[linecolor=red] + {\color{blue}Today's Menu} diff --git a/usergrps/uktug/baskervi/6_1/0-0-22.tex b/usergrps/uktug/baskervi/6_1/0-0-22.tex new file mode 100644 index 0000000000..23bcf1a050 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-22.tex @@ -0,0 +1,7 @@ + \psset{linecolor=lightgray} + \pstextpath + {\pscurve(-4,-2)(-2,0)(0,-3)(2,-1)(3,-3)} + {\color{blue} If you + want to type $2=\int_0^\pi \sin\theta\, + \mathrm{d}\theta$ and let it follow + along a curving line \ldots} diff --git a/usergrps/uktug/baskervi/6_1/0-0-23.tex b/usergrps/uktug/baskervi/6_1/0-0-23.tex new file mode 100644 index 0000000000..eb4aad31a9 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-23.tex @@ -0,0 +1,4 @@ + \pscharpath[fillstyle=solid, + fillcolor=lightblue, + linewidth=.4pt] + {\fontsize{72}{72}\selectfont \LaTeX} diff --git a/usergrps/uktug/baskervi/6_1/0-0-24.tex b/usergrps/uktug/baskervi/6_1/0-0-24.tex new file mode 100644 index 0000000000..5e7e789f6f --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-24.tex @@ -0,0 +1,11 @@ +\begin{pspicture}(-4,-3)(4,1) +\psset{fillstyle=solid,shadow=true,shadowangle=0} +\DeclareFixedFont{\babyfont}{T1}{ptm}{m}{n}{2cm} +\DeclareFixedFont{\wordfont}{T1}{ptm}{m}{n}{1.5cm} +\def\Cc#1#2{\pscharpath[fillcolor=#1]{#2}} +\bfseries +\rput(0,0){\babyfont +\Cc{red}B\Cc{green}A\Cc{yellow}B% +\Cc{red}{Y'}\Cc{blue}S} +\rput(0,-2){{\wordfont\Cc{blue}{WORLD}}} +\end{pspicture} diff --git a/usergrps/uktug/baskervi/6_1/0-0-25.eps b/usergrps/uktug/baskervi/6_1/0-0-25.eps new file mode 100644 index 0000000000..cc3385ee90 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-25.eps @@ -0,0 +1,1039 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software +%%Title: 0-0-25.dvi +%%BoundingBox: 145 635 380 667 +%%DocumentFonts: Helvetica-Bold Times-Roman +%%EndComments +%DVIPSCommandLine: dvips -D600 0-0-25 -E -o 0-0-25.eps +%DVIPSParameters: dpi=600, compressed, comments removed +%DVIPSSource: TeX output 1996.02.07:1846 +%%BeginProcSet: texc.pro +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id +ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ +rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get +/gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp +X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X +adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup +255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} +B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv +S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] +}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +%%EndProcSet +%%BeginProcSet: pstricks.pro +% PostScript prologue for pstricks.tex. +% Created 1994/6/23. Source file was pstricks.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@Dict 200 dict def tx@Dict begin +/ADict 25 dict def +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Atan { /atan load stopped { pop pop 0 } if } def +/Div { dup 0 eq { pop } { div } ifelse } def +/NET { neg exch neg exch T } def +/Pyth { dup mul exch dup mul add sqrt } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } +def +/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def +} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } +/pathforall load stopped { pop pop pop pop } if z } def +/STP { .996264 dup scale } def +/STV { SDict begin normalscale end STP } def +/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def +PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y +mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul +/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] +0 } ifelse setdash stroke } def +/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt +{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add +def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if +] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 +setlinecap stroke } def +/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch +2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 +itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a +Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict +/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 +a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } +def +/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg +exch 3 index sub exch Atan rotate newpath } def +/EndArrow { @mtrx setmatrix CP grestore end } def +/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 +scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill +grestore } def +/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 +CLW moveto } def +/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 +div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 +CLW moveto } def +/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW +2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 +curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } +def +/SD { 0 360 arc fill } def +/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS +CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def +/Shadow { {[ { /moveto load } { /lineto load } { /curveto load } { +/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto +load } if ] cvx newpath 3 1 roll T exec } stopped pop} def +/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch +cvi def } def +/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if +f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub +def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def +/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } +ifelse { pop } repeat a } def +/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq +and { pop pop /n n 1 sub def } if } def +/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } +repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 +ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 +moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto +Lineto pop pop closepath } ifelse } def +/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul +neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add +def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 +div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { +pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 +div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 +d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 +def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp +mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos +abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def +/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul +m mul neg def } def +/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } +ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } +def +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def +n { NC } repeat EOC } ifelse } def +/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload +/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop +pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def +/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { +CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } +repeat closepath pop pop } ifelse } def +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } +def +/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix +rotate matrix concatmatrix exch findfont exch makefont setfont } def +/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto +x1 y1 lineto closepath } def +/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 +y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div +exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse +/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto +x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } +ifelse } def +/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add +/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { +pop pop Rect } { OvalFrame } ifelse } def +/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop +} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] +aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 +2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } +ifelse } def +/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { +6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def +/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 +sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } +def +/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 +sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA +x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 +y0 x0 2 mul x1 sub y1 ] def } def +/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } +if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if +/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div +round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div +round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub +0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def +/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } +if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } +{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add +exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n +div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 +dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { +dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { +pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup +stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} +{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i +w add def } repeat grestore gsave n 0 gt { 1 setlinecap [ 0 dx n div ] +dy n div 2 div setdash } { 2 setlinecap } ifelse /i y1 def /f x1 dx mul +n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n +div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop +1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs +dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt +{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g +exch t L stroke /i i h add def } repeat grestore } def +/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 +1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add +exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c +mul neg d } def +/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } +def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle +dup a add ] cvx def } def +/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] +cvx def } def +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s +abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b +div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { +h1 abs h sub dup s mul abs } ifelse } def +/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s +mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q +{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add +exch } def +/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible +/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def +} if } ifelse } def +/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def +/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit +neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def +/IfVisible true def } def +end +%%EndProcSet +%%BeginProcSet: pst-dots.pro +10 dict dup begin + /FontType 3 def + /FontMatrix [ .001 0 0 .001 0 0 ] def + /FontBBox [ 0 0 0 0 ] def + /Encoding 256 array def + 0 1 255 { Encoding exch /.notdef put } for + Encoding + dup (b) 0 get /Bullet put + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + (P) 0 get /BoldPentagon put + /Metrics 13 dict def + Metrics begin + /Bullet 1000 def + /Circle 1000 def + /BoldCircle 1000 def + /SolidTriangle 1344 def + /Triangle 1344 def + /BoldTriangle 1344 def + /SolidSquare 886 def + /Square 886 def + /BoldSquare 886 def + /SolidPentagon 1093.2 def + /Pentagon 1093.2 def + /BoldPentagon 1093.2 def + /.notdef 0 def + end + /BBoxes 13 dict def + BBoxes begin + /Circle { -550 -550 550 550 } def + /BoldCircle /Circle load def + /Bullet /Circle load def + /Triangle { -571.5 -330 571.5 660 } def + /BoldTriangle /Triangle load def + /SolidTriangle /Triangle load def + /Square { -450 -450 450 450 } def + /BoldSquare /Square load def + /SolidSquare /Square load def + /Pentagon { -546.6 -465 546.6 574.7 } def + /BoldPentagon /Pentagon load def + /SolidPentagon /Pentagon load def + /.notdef { 0 0 0 0 } def + end + /CharProcs 20 dict def + CharProcs begin + /Adjust { + 2 copy dtransform floor .5 add exch floor .5 add exch idtransform + 3 -1 roll div 3 1 roll exch div exch scale + } def + /CirclePath { 0 0 500 0 360 arc closepath } def + /Bullet { 500 500 Adjust CirclePath fill } def + /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def + /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def + /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def + /TrianglePath { + 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath + } def + /SolidTriangle { TrianglePath fill } def + /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def + /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def + /SquarePath { + -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto + closepath + } def + /SolidSquare { SquarePath fill } def + /Square { SquarePath .89 .89 scale SquarePath eofill } def + /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def + /PentagonPath { + -337.8 -465 moveto + 337.8 -465 lineto + 546.6 177.6 lineto + 0 574.7 lineto + -546.6 177.6 lineto + closepath + } def + /SolidPentagon { PentagonPath fill } def + /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def + /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def + /.notdef { } def + end + /BuildGlyph { + exch + begin + Metrics 1 index get exec 0 + BBoxes 3 index get exec + setcachedevice + CharProcs begin load exec end + end + } def + /BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec + } bind def +end +/PSTricksDotFont exch definefont pop +%%EndProcSet +%%BeginProcSet: gradient.pro +% PostScript header file gradient.ps +% For the PSTricks gradient fillstyle. +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. +% +% Based on some EPS files by leeweyr!bill@nuchat.sccsi.com (W. R. Lee). +% +% Syntax: +% R0 G0 B0 R1 G1 B1 MidPoint NumLines Angle GradientFill + +/tx@GradientDict 40 dict def +tx@GradientDict begin +/GradientFill { + rotate + /MidPoint ED + /NumLines ED + /LastBlue ED + /LastGreen ED + /LastRed ED + /FirstBlue ED + /FirstGreen ED + /FirstRed ED + clip + pathbbox %leave llx,lly,urx,ury on stack + /y ED /x ED + 2 copy translate + y sub neg /y ED + x sub neg /x ED + /b { + x 0 rlineto + 0 YSizePerLine rlineto + x neg 0 rlineto + closepath + } def + /MidLine NumLines 1 MidPoint sub mul abs cvi def + MidLine NumLines gt { /Midline NumLines def } if + /RedIncrement LastRed FirstRed sub MidLine div def + /GreenIncrement LastGreen FirstGreen sub MidLine div def + /BlueIncrement LastBlue FirstBlue sub MidLine div def + /YSizePerLine y NumLines div def + /CurrentY 0 def + /Red FirstRed def + /Green FirstGreen def + /Blue FirstBlue def + % This avoids gaps due to rounding errors: + gsave Red Green Blue setrgbcolor fill grestore + MidLine { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + /RedIncrement LastRed FirstRed sub NumLines MidLine sub div def + /GreenIncrement LastGreen FirstGreen sub NumLines MidLine sub div def + /BlueIncrement LastBlue FirstBlue sub NumLines MidLine sub div def + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + NumLines MidLine sub 1 add { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat +} def +end +% END gradient.ps +%%EndProcSet +%%BeginProcSet: pst-coil.pro +% PostScript prologue for pst-coil.tex. +% Created 1993/3/12. Source file was pst-coil.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@CoilDict 40 dict def tx@CoilDict begin +/CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos +lineto } def +/Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED +/h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0 +sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos +Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div +w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h +mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for +EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP +TotalLength 0 ArrowB lineto } def +/AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED +/EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale +BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add +BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc +EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def +/ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED +/x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED +Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul +sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add +def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat +TotalLength ArmA sub 0 TotalLength 0 } def +end +%%EndProcSet +%%BeginProcSet: textpath.pro +% PostScript header file textpath.pro +% For putting text along curve with textpath.tex and PSTricks +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. + +/tx@TextPathDict 40 dict def +tx@TextPathDict begin + +/PathPosition +{ /targetdist exch def + /pathdist 0 def + /continue true def + /X { newx } def /Y { newy } def /Angle 0 def + gsave + flattenpath + { movetoproc } { linetoproc } { curvetoproc } { closepathproc } + pathforall + grestore +} def + +/movetoproc { continue { @movetoproc } { pop pop } ifelse } def + +/@movetoproc +{ /newy exch def /newx exch def + /firstx newx def /firsty newy def +} def + +/linetoproc { continue { @linetoproc } { pop pop } ifelse } def + +/@linetoproc +{ + /oldx newx def /oldy newy def + /newy exch def /newx exch def + /dx newx oldx sub def + /dy newy oldy sub def + /dist dx dup mul dy dup mul add sqrt def + /pathdist pathdist dist add def + pathdist targetdist ge + { pathdist targetdist sub dist div dup + dy mul neg newy add /Y exch def + dx mul neg newx add /X exch def + /Angle dy dx atan def + /continue false def + } if +} def + +/curvetoproc { (ERROR: No curveto's after flattenpath!) print } def + +/closepathproc { firstx firsty linetoproc } def + +/TextPathShow +{ /String exch def + /CharCount 0 def + String length + { String CharCount 1 getinterval ShowChar + /CharCount CharCount 1 add def + } repeat +} def + +/InitTextPath +{ gsave + currentpoint + /Y exch def /X exch def + 10000000 PathPosition + pathdist X Hoffset sub sub mul + Voffset Hoffset sub add + neg X add /Hoffset exch def + /Voffset Y def + grestore +} def + +/Transform +{ PathPosition + dup + Angle cos mul Y add exch + Angle sin mul neg X add exch + translate + Angle rotate +} def + +/ShowChar +{ /Char exch def + gsave + Char end stringwidth + tx@TextPathDict begin + 2 div /Sy exch def 2 div /Sx exch def + currentpoint + Voffset sub Sy add exch + Hoffset sub Sx add + Transform + Sx neg Sy neg moveto + Char end tx@TextPathSavedShow + tx@TextPathDict begin + grestore + Sx 2 mul Sy 2 mul rmoveto +} def + +end +% End textpath.pro +%%EndProcSet +%%BeginProcSet: pst-node.pro +% PostScript prologue for pst-node.tex. +% Created 1993/3/12. Source file was pst-node.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@NodeDict 200 dict def tx@NodeDict begin +/NewNode { gsave /next ED dict dup 3 -1 roll ED begin tx@Dict begin STV +CP T exec end /NodeMtrx CM def next end grestore } def +/InitPnode { /Y ED /X ED /NodePos { Nodesep Cos mul Nodesep Sin mul } def +} def +/InitCnode { /r ED /Y ED /X ED /NodePos { Nodesep r add dup Cos mul exch +Sin mul } def } def +/GetRnodePos { Cos 0 gt { /dx r Nodesep add def } { /dx l Nodesep sub def +} ifelse Sin 0 gt { /dy u Nodesep add def } { /dy d Nodesep sub def } +ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx +dup Sin mul Cos Div } ifelse } def +/InitRnode { /r ED r mul neg /l ED /r r l add def /X l neg def { neg /d +ED /u ED /Y 0 def } { neg /Y ED Y sub /u ED u mul neg /d ED /u u d add +def /Y Y d sub def } ifelse /NodePos { GetRnodePos } def } def +/InitRNode { /Y ED /X ED /r ED /X r 2 div X add def /r r X sub def /l X +neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def +/GetOnodePos { /ww w Nodesep add def /hh h Nodesep add def Sin ww mul Cos +hh mul Atan dup cos ww mul exch sin hh mul } def +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +/GetAngle { nodeA GetCenter nodeB GetCenter 3 -1 roll sub 3 1 roll sub +neg Atan } def +/GetEdge { begin /Nodesep ED dup 1 0 NodeMtrx dtransform CM idtransform +exch atan sub dup sin /Sin ED cos /Cos ED NodePos Y add exch X add exch +NodeMtrx transform CM itransform end 4 2 roll 1 index 0 eq { pop pop } { +2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def +/GetPos { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED OffsetB +AngleB NodesepB nodeB GetEdge /y2 ED /x2 ED } def +/InitNC { /nodeB ED /nodeA ED /NodesepB ED /NodesepA ED /OffsetB ED +/OffsetA ED tx@NodeDict nodeA known tx@NodeDict nodeB known and dup { +/nodeA nodeA load def /nodeB nodeB load def } if } def +/LineMP { 4 copy 1 t sub mul exch t mul add 3 1 roll 1 t sub mul exch t +mul add exch 6 2 roll sub 3 1 roll sub Atan } def +/NCCoor { GetAngle /AngleA ED /AngleB AngleA 180 add def GetPos /LPutVar +[ x2 x1 y2 y1 ] cvx def /LPutPos { LPutVar LineMP } def x1 y1 x2 y2 } +def +/NCLine { NCCoor tx@Dict begin ArrowB 4 2 roll ArrowA lineto end } def +/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED +/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 +mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx +sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul +add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add +y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul +mul 2 bx t mul mul add cx add atan } def +/GetArms { /x1a armA AngleA cos mul x1 add def /y1a armA AngleA sin mul +y1 add def /x2a armB AngleB cos mul x2 add def /y2a armB AngleB sin mul +y2 add def } def +/NCCurve { GetPos x1 x2 sub y1 y2 sub Pyth 2 div dup 3 -1 roll mul /armA +ED mul /armB ED GetArms x1a y1a x1 y1 tx@Dict begin ArrowA end x2a y2a +x2 y2 tx@Dict begin ArrowB end curveto /LPutVar [ x1 y1 x1a y1a x2a y2a +x2 y2 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def } def +/AnglesMP { LPutVar t 3 gt { /t t 3 sub def } { t 2 gt { /t t 2 sub def +10 -2 roll } { t 1 gt { /t t 1 sub def 10 -4 roll } { 10 4 roll } ifelse +} ifelse } ifelse 6 { pop } repeat 3 -1 roll exch LineMP } def +/NCAngles { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform exch pop mtrx itransform /y0 ED /x0 +ED mark armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1a y1a armA 0 ne { x1 y1 } +if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x0 y0 x1a y1a +x1 y1 ] cvx def /LPutPos { AnglesMP } def } def +/NCAngle { GetPos /x2a armB AngleB cos mul x2 add def /y2a armB AngleB +sin mul y2 add def /mtrx AngleA matrix rotate def x2a y2a mtrx transform +pop x1 y1 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark +armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1 y1 tx@Dict begin false Line end +/LPutVar [ x2 y2 x2 y2 x2a y2a x0 y0 x1 y1 ] cvx def /LPutPos { AnglesMP +} def } def +/NCBar { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform pop sub dup 0 mtrx itransform 3 -1 +roll 0 gt { /y2a exch y2a add def /x2a exch x2a add def } { /y1a exch +neg y1a add def /x2a exch neg x2a add def } ifelse mark x2 y2 x2a y2a +x1a y1a x1 y1 tx@Dict begin false Line end /LPutVar [ x2 y2 x2 y2 x2a +y2a x1a y1a x1 y1 ] cvx def /LPutPos { LPutVar AnglesMP } def } def +/NCDiag { GetPos GetArms mark x2 y2 x2a y2a x1a y1a x1 y1 tx@Dict begin +false Line end /LPutVar [ x2 y2 x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def +/LPutPos { AnglesMP } def } def +/NCDiagg { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED /x1a armA +AngleA cos mul x1 add def /y1a armA AngleA sin mul y1 add def nodeB +GetCenter y1a sub exch x1a sub Atan 180 add /AngleB ED OffsetB AngleB +NodesepB nodeB GetEdge /y2 ED /x2 ED mark x2 y2 x1a y1a x1 y1 tx@Dict +begin false Line end /LPutVar [ x2 y2 x2 y2 x2 y2 x1a y1a x1 y1] cvx def +/LPutPos { AnglesMP } def } def +/LoopMP { /t t abs def [ LPutVar ] length 2 div 1 sub dup t lt { /t ED } +{ pop } ifelse mark LPutVar t cvi { /t t 1 sub def pop pop } repeat +counttomark 1 add 4 roll cleartomark 3 -1 roll exch LineMP } def +/NCLoop { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform loopsize add /y1b ED /x1b ED /x2b x2a y2a mtrx transform pop +def x2b y1b mtrx itransform /y2b ED /x2b ED x1b y1b mtrx itransform /y1b +ED /x1b ED mark armB 0 ne { x2 y2 } if x2a y2a x2b y2b x1b y1b x1a y1a +armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a +y2a x2b y2b x1b y1b x1a y1a x1 y1 ] cvx def /LPutPos { LoopMP } def } +def +/NCCircle { nodeA GetCenter 0 0 NodesepA nodeA GetEdge pop 3 1 roll /Y ED +/X ED X sub 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r +AngleA 90 add PtoC Y add exch X add exch 2 copy /LPutVar [ 4 2 roll r a +] def /LPutPos { LPutVar aload pop t 360 mul add dup 5 1 roll 90 sub +PtoC 3 -1 roll add 3 1 roll add exch 3 -1 roll } def r AngleA 90 sub a +add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c +57.2957 r Div def /y ED /x ED } def +/LPutCoor { tx@NodeDict /LPutPos known { gsave LPutPos tx@Dict begin +/langle ED CM 3 1 roll STV CP 3 -1 roll sub neg 3 1 roll sub exch moveto +setmatrix CP end grestore } { 0 0 tx@Dict /langle 0 def end } ifelse } +def +end +%%EndProcSet +%%BeginFont: Helvetica-Bold +% @psencodingfile{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", +% version = "0.6", +% date = "14 April 1995", +% filename = "8r.enc", +% email = "kb@cs.umb.edu", +% address = "135 Center Hill Rd. // Plymouth, MA 02360", +% codetable = "ISO/ASCII", +% checksum = "xx", +% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." +% } +% +% Idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard Encoding + ISO Latin 1 + extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% +% (4) Remaining positions left undefined are for use in (hopefully) +% upward-compatible revisions, if someday more characters are generally +% available. +% +% (5) hyphen appears twice for compatibility with both ASCII and Windows. +% +/TeXBase1Encoding [ +% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef + /breve /minus /.notdef +% These are the only two remaining unencoded characters, so may as +% well include them. + /Zcaron /zcaron +% 0x10 + /caron /dotlessi +% (unusual TeX characters available in, e.g., Lucida Bright) + /dotlessj /ff /ffi /ffl + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % very contentious; it's so painful not having quoteleft and quoteright + % at 96 and 145 that we move the things normally found there down to here. + /grave /quotesingle +% 0x20 (ASCII begins) + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three /four /five /six /seven + /eight /nine /colon /semicolon /less /equal /greater /question +% 0x40 + /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O +% 0x50 + /P /Q /R /S /T /U /V /W + /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o +% 0x70 + /p /q /r /s /t /u /v /w + /x /y /z /braceleft /bar /braceright /asciitilde + /.notdef % rubout; ASCII ends +% 0x80 + /.notdef /.notdef /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /.notdef /.notdef /.notdef +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /.notdef /.notdef /Ydieresis +% 0xA0 + /.notdef % nobreakspace + /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot + /hyphen % Y&Y (also at 45); Windows' softhyphen + /registered + /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def +%%EndFont +%%BeginProcSet: texps.pro +TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 +index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont /setfont load]cvx def}def +/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def +/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def +end +%%EndProcSet +%%BeginProcSet: special.pro +TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N +/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen +false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B +/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit +div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ +/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ +10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B +/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale +true def end /@MacSetUp{userdict /md known{userdict /md get type +/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup +length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} +N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath +clippath mark{transform{itransform moveto}}{transform{itransform lineto} +}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ +itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ +closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 +0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N +/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 +scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get +ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip +not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 +TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR +pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 +-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg +TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg +sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr +0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add +2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp +{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 +div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} +N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict +maxlength dict begin /magscale true def normalscale currentpoint TR +/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts +/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx +psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy +scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR +/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict +begin /SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial +{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath +}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ +end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} +N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ +/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX +SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X +/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad +yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +%%EndProcSet +%%BeginProcSet: color.pro +TeXDict begin /setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse /TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def /TeXcolorgrey{setgray}def /TeXcolorgray{ +setgray}def /TeXcolorhsb{sethsbcolor}def /currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse /DC{exch dup userdict exch +known{pop pop}{X}ifelse}B /GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC /Goldenrod{0 0.10 0.84 0 setcmykcolor} +DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC /Apricot{0 0.32 0.52 0 +setcmykcolor}DC /Peach{0 0.50 0.70 0 setcmykcolor}DC /Melon{0 0.46 0.50 +0 setcmykcolor}DC /YellowOrange{0 0.42 1 0 setcmykcolor}DC /Orange{0 +0.61 0.87 0 setcmykcolor}DC /BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC /RedOrange{0 0.77 0.87 0 +setcmykcolor}DC /Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC /Maroon{0 +0.87 0.68 0.32 setcmykcolor}DC /BrickRed{0 0.89 0.94 0.28 setcmykcolor} +DC /Red{0 1 1 0 setcmykcolor}DC /OrangeRed{0 1 0.50 0 setcmykcolor}DC +/RubineRed{0 1 0.13 0 setcmykcolor}DC /WildStrawberry{0 0.96 0.39 0 +setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC /CarnationPink{0 +0.63 0 0 setcmykcolor}DC /Magenta{0 1 0 0 setcmykcolor}DC /VioletRed{0 +0.81 0 0 setcmykcolor}DC /Rhodamine{0 0.82 0 0 setcmykcolor}DC /Mulberry +{0.34 0.90 0 0.02 setcmykcolor}DC /RedViolet{0.07 0.90 0 0.34 +setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC /Lavender{0 +0.48 0 0 setcmykcolor}DC /Thistle{0.12 0.59 0 0 setcmykcolor}DC /Orchid{ +0.32 0.64 0 0 setcmykcolor}DC /DarkOrchid{0.40 0.80 0.20 0 setcmykcolor} +DC /Purple{0.45 0.86 0 0 setcmykcolor}DC /Plum{0.50 1 0 0 setcmykcolor} +DC /Violet{0.79 0.88 0 0 setcmykcolor}DC /RoyalPurple{0.75 0.90 0 0 +setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC /Periwinkle +{0.57 0.55 0 0 setcmykcolor}DC /CadetBlue{0.62 0.57 0.23 0 setcmykcolor} +DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC /MidnightBlue{0.98 0.13 +0 0.43 setcmykcolor}DC /NavyBlue{0.94 0.54 0 0 setcmykcolor}DC +/RoyalBlue{1 0.50 0 0 setcmykcolor}DC /Blue{1 1 0 0 setcmykcolor}DC +/Cerulean{0.94 0.11 0 0 setcmykcolor}DC /Cyan{1 0 0 0 setcmykcolor}DC +/ProcessBlue{0.96 0 0 0 setcmykcolor}DC /SkyBlue{0.62 0 0.12 0 +setcmykcolor}DC /Turquoise{0.85 0 0.20 0 setcmykcolor}DC /TealBlue{0.86 +0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC +/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC /Emerald{1 0 0.50 0 +setcmykcolor}DC /JungleGreen{0.99 0 0.52 0 setcmykcolor}DC /SeaGreen{ +0.69 0 0.50 0 setcmykcolor}DC /Green{1 0 1 0 setcmykcolor}DC +/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 +0.25 setcmykcolor}DC /LimeGreen{0.50 0 1 0 setcmykcolor}DC /YellowGreen{ +0.44 0 0.74 0 setcmykcolor}DC /SpringGreen{0.26 0 0.76 0 setcmykcolor} +DC /OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC /RawSienna{0 0.72 1 0.45 +setcmykcolor}DC /Sepia{0 0.83 1 0.70 setcmykcolor}DC /Brown{0 0.81 1 +0.60 setcmykcolor}DC /Tan{0.14 0.42 0.56 0 setcmykcolor}DC /Gray{0 0 0 +0.50 setcmykcolor}DC /Black{0 0 0 1 setcmykcolor}DC /White{0 0 0 0 +setcmykcolor}DC end +%%EndProcSet +TeXDict begin 40258437 52099154 1000 600 600 (0-0-25.dvi) +@start /Fa 138[24 13 18 16 3[24 4[13 4[24 2[21 97[{ + TeXBase1Encoding ReEncodeFont }8 47.421139 /Times-Roman +rf /Fb 171[188 4[239 2[188 3[222 2[205 1[222 1[222 65[{ + TeXBase1Encoding ReEncodeFont }7 308.238861 /Helvetica-Bold +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + +%%EndSetup +1 0 bop Black Black 639 676 a + /tx@CharPathSavedShow /show load def /show { dup gsave newpath 0 0 +moveto true charpath pathbbox grestore 3 -1 roll eq 3 1 roll eq and +{ tx@CharPathSavedShow } { true charpath } ifelse } def + 639 676 a -4 x Fb(CHOCOLA)-28 +b(TE)639 676 y + /show /tx@CharPathSavedShow load def + 639 676 a 639 676 a + tx@Dict begin gsave STV 0.0 SLW 0 0 1 0 setcmykcolor gsave 0 0 1 +0 setcmykcolor fill grestore grestore end + 639 676 a 639 676 +a + clip currentpoint newpath moveto + 639 676 a 639 676 a + tx@Dict begin 90. RotBegin end + 639 676 a 0 TeXcolorgray 528 708 +a Fa(nuts)8 b(and)h(raisins)18 b(nuts)403 741 y(and)8 +b(raisins)19 b(nuts)8 b(and)g(raisins)403 774 y(nuts)j(and)f(raisins)22 +b(nuts)11 b(and)403 806 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +839 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +872 y(raisins)40 b(nuts)19 b(and)g(raisins)403 904 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 937 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 970 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 1002 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +1035 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +1068 y(raisins)40 b(nuts)19 b(and)g(raisins)403 1101 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 1133 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 1166 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 1199 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 1231 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 1264 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +1297 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +1329 y(raisins)40 b(nuts)19 b(and)g(raisins)403 1362 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 1395 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 1427 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 1460 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 1493 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 1526 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +1558 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +1591 y(raisins)40 b(nuts)19 b(and)g(raisins)403 1624 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 1656 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 1689 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 1722 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 1754 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 1787 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +1820 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +1852 y(raisins)40 b(nuts)19 b(and)g(raisins)403 1885 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 1918 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 1951 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 1983 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 2016 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 2049 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +2081 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +2114 y(raisins)40 b(nuts)19 b(and)g(raisins)403 2147 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 2179 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 2212 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 2245 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 2277 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 2310 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +2343 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +2376 y(raisins)40 b(nuts)19 b(and)g(raisins)403 2408 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 2441 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 2474 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 2506 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 2539 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 2572 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +2604 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +2637 y(raisins)40 b(nuts)19 b(and)g(raisins)403 2670 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 2702 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 2735 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 2768 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 2801 y(nuts)11 b(and)f(raisins)22 +b(nuts)11 b(and)403 2833 y(raisins)40 b(nuts)19 b(and)g(raisins)403 +2866 y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 +2899 y(raisins)40 b(nuts)19 b(and)g(raisins)403 2931 +y(nuts)11 b(and)f(raisins)22 b(nuts)11 b(and)403 2964 +y(raisins)40 b(nuts)19 b(and)g(raisins)403 2997 y(nuts)11 +b(and)f(raisins)22 b(nuts)11 b(and)403 3029 y(raisins)40 +b(nuts)19 b(and)g(raisins)403 3062 y(nuts)12 b(and)f(raisins)p +Black 639 676 a + tx@Dict begin RotEnd end + 639 676 a 639 676 a + currentpoint initclip moveto + 639 676 a Black Black +eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/usergrps/uktug/baskervi/6_1/0-0-25.tex b/usergrps/uktug/baskervi/6_1/0-0-25.tex new file mode 100644 index 0000000000..37b030aa3e --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-25.tex @@ -0,0 +1,26 @@ +\documentclass{article} +\usepackage{spqr,pstcol} +\pagestyle{empty} + +\begin{document} +\newcounter{myN} + +\DeclareFixedFont{\bigsf}{T1}{phv}{b}{n}{1.3cm} +\DeclareFixedFont{\tinyrm}{T1}{ptm}{m}{n}{2mm} +\setcounter{myN}{110} +\begin{pspicture}(0,0)(8.2,1) +\pscharclip[linecolor=yellow,fillstyle=solid, + fillcolor=red] + {\rput[bl](0,0){\bigsf CHOCOLATE}} +\rput[t]{90}(0,0) + {\vbox + {\hsize=2cm \offinterlineskip + \tinyrm\color{black} + \loop + \addtocounter{myN}{-1} + \ifnum\value{myN}>0 + nuts and raisins + \repeat}} +\endpscharclip +\end{pspicture} +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/0-0-26.tex b/usergrps/uktug/baskervi/6_1/0-0-26.tex new file mode 100644 index 0000000000..7d2a8decb4 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-26.tex @@ -0,0 +1,3 @@ + \psshadow[Tshadowangle=45, + Tshadowsize=2.5]{% + \LARGE\bfseries Words with a shadow} diff --git a/usergrps/uktug/baskervi/6_1/0-0-27.tex b/usergrps/uktug/baskervi/6_1/0-0-27.tex new file mode 100644 index 0000000000..2ce0618825 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-27.tex @@ -0,0 +1,2 @@ +\rput(0,1){\pstilt{45}{I Feel Ill!}} +\rput(0,0){\pstilt{-75}{\psgrid(2,2)}} diff --git a/usergrps/uktug/baskervi/6_1/0-0-28.eps b/usergrps/uktug/baskervi/6_1/0-0-28.eps new file mode 100644 index 0000000000..3c80c34b03 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-28.eps @@ -0,0 +1,2012 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software +%%Title: 0-0-28.dvi +%%BoundingBox: 148 454 604 668 +%%EndComments +%DVIPSCommandLine: dvips -D600 0-0-28 -E -o 0-0-28.eps +%DVIPSParameters: dpi=600, compressed, comments removed +%DVIPSSource: TeX output 1996.02.09:1811 +%%BeginProcSet: texc.pro +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id +ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ +rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get +/gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp +X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X +adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup +255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} +B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv +S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] +}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +%%EndProcSet +%%BeginProcSet: pstricks.pro +% PostScript prologue for pstricks.tex. +% Created 1994/6/23. Source file was pstricks.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@Dict 200 dict def tx@Dict begin +/ADict 25 dict def +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Atan { /atan load stopped { pop pop 0 } if } def +/Div { dup 0 eq { pop } { div } ifelse } def +/NET { neg exch neg exch T } def +/Pyth { dup mul exch dup mul add sqrt } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } +def +/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def +} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } +/pathforall load stopped { pop pop pop pop } if z } def +/STP { .996264 dup scale } def +/STV { SDict begin normalscale end STP } def +/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def +PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y +mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul +/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] +0 } ifelse setdash stroke } def +/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt +{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add +def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if +] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 +setlinecap stroke } def +/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch +2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 +itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a +Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict +/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 +a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } +def +/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg +exch 3 index sub exch Atan rotate newpath } def +/EndArrow { @mtrx setmatrix CP grestore end } def +/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 +scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill +grestore } def +/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 +CLW moveto } def +/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 +div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 +CLW moveto } def +/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW +2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 +curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } +def +/SD { 0 360 arc fill } def +/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS +CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def +/Shadow { {[ { /moveto load } { /lineto load } { /curveto load } { +/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto +load } if ] cvx newpath 3 1 roll T exec } stopped pop} def +/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch +cvi def } def +/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if +f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub +def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def +/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } +ifelse { pop } repeat a } def +/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq +and { pop pop /n n 1 sub def } if } def +/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } +repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 +ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 +moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto +Lineto pop pop closepath } ifelse } def +/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul +neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add +def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 +div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { +pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 +div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 +d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 +def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp +mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos +abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def +/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul +m mul neg def } def +/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } +ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } +def +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def +n { NC } repeat EOC } ifelse } def +/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload +/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop +pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def +/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { +CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } +repeat closepath pop pop } ifelse } def +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } +def +/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix +rotate matrix concatmatrix exch findfont exch makefont setfont } def +/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto +x1 y1 lineto closepath } def +/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 +y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div +exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse +/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto +x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } +ifelse } def +/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add +/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { +pop pop Rect } { OvalFrame } ifelse } def +/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop +} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] +aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 +2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } +ifelse } def +/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { +6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def +/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 +sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } +def +/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 +sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA +x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 +y0 x0 2 mul x1 sub y1 ] def } def +/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } +if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if +/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div +round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div +round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub +0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def +/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } +if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } +{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add +exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n +div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 +dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { +dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { +pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup +stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} +{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i +w add def } repeat grestore gsave n 0 gt { 1 setlinecap [ 0 dx n div ] +dy n div 2 div setdash } { 2 setlinecap } ifelse /i y1 def /f x1 dx mul +n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n +div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop +1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs +dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt +{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g +exch t L stroke /i i h add def } repeat grestore } def +/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 +1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add +exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c +mul neg d } def +/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } +def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle +dup a add ] cvx def } def +/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] +cvx def } def +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s +abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b +div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { +h1 abs h sub dup s mul abs } ifelse } def +/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s +mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q +{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add +exch } def +/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible +/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def +} if } ifelse } def +/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def +/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit +neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def +/IfVisible true def } def +end +%%EndProcSet +%%BeginProcSet: pst-dots.pro +10 dict dup begin + /FontType 3 def + /FontMatrix [ .001 0 0 .001 0 0 ] def + /FontBBox [ 0 0 0 0 ] def + /Encoding 256 array def + 0 1 255 { Encoding exch /.notdef put } for + Encoding + dup (b) 0 get /Bullet put + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + (P) 0 get /BoldPentagon put + /Metrics 13 dict def + Metrics begin + /Bullet 1000 def + /Circle 1000 def + /BoldCircle 1000 def + /SolidTriangle 1344 def + /Triangle 1344 def + /BoldTriangle 1344 def + /SolidSquare 886 def + /Square 886 def + /BoldSquare 886 def + /SolidPentagon 1093.2 def + /Pentagon 1093.2 def + /BoldPentagon 1093.2 def + /.notdef 0 def + end + /BBoxes 13 dict def + BBoxes begin + /Circle { -550 -550 550 550 } def + /BoldCircle /Circle load def + /Bullet /Circle load def + /Triangle { -571.5 -330 571.5 660 } def + /BoldTriangle /Triangle load def + /SolidTriangle /Triangle load def + /Square { -450 -450 450 450 } def + /BoldSquare /Square load def + /SolidSquare /Square load def + /Pentagon { -546.6 -465 546.6 574.7 } def + /BoldPentagon /Pentagon load def + /SolidPentagon /Pentagon load def + /.notdef { 0 0 0 0 } def + end + /CharProcs 20 dict def + CharProcs begin + /Adjust { + 2 copy dtransform floor .5 add exch floor .5 add exch idtransform + 3 -1 roll div 3 1 roll exch div exch scale + } def + /CirclePath { 0 0 500 0 360 arc closepath } def + /Bullet { 500 500 Adjust CirclePath fill } def + /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def + /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def + /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def + /TrianglePath { + 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath + } def + /SolidTriangle { TrianglePath fill } def + /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def + /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def + /SquarePath { + -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto + closepath + } def + /SolidSquare { SquarePath fill } def + /Square { SquarePath .89 .89 scale SquarePath eofill } def + /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def + /PentagonPath { + -337.8 -465 moveto + 337.8 -465 lineto + 546.6 177.6 lineto + 0 574.7 lineto + -546.6 177.6 lineto + closepath + } def + /SolidPentagon { PentagonPath fill } def + /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def + /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def + /.notdef { } def + end + /BuildGlyph { + exch + begin + Metrics 1 index get exec 0 + BBoxes 3 index get exec + setcachedevice + CharProcs begin load exec end + end + } def + /BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec + } bind def +end +/PSTricksDotFont exch definefont pop +%%EndProcSet +%%BeginProcSet: gradient.pro +% PostScript header file gradient.ps +% For the PSTricks gradient fillstyle. +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. +% +% Based on some EPS files by leeweyr!bill@nuchat.sccsi.com (W. R. Lee). +% +% Syntax: +% R0 G0 B0 R1 G1 B1 MidPoint NumLines Angle GradientFill + +/tx@GradientDict 40 dict def +tx@GradientDict begin +/GradientFill { + rotate + /MidPoint ED + /NumLines ED + /LastBlue ED + /LastGreen ED + /LastRed ED + /FirstBlue ED + /FirstGreen ED + /FirstRed ED + clip + pathbbox %leave llx,lly,urx,ury on stack + /y ED /x ED + 2 copy translate + y sub neg /y ED + x sub neg /x ED + /b { + x 0 rlineto + 0 YSizePerLine rlineto + x neg 0 rlineto + closepath + } def + /MidLine NumLines 1 MidPoint sub mul abs cvi def + MidLine NumLines gt { /Midline NumLines def } if + /RedIncrement LastRed FirstRed sub MidLine div def + /GreenIncrement LastGreen FirstGreen sub MidLine div def + /BlueIncrement LastBlue FirstBlue sub MidLine div def + /YSizePerLine y NumLines div def + /CurrentY 0 def + /Red FirstRed def + /Green FirstGreen def + /Blue FirstBlue def + % This avoids gaps due to rounding errors: + gsave Red Green Blue setrgbcolor fill grestore + MidLine { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + /RedIncrement LastRed FirstRed sub NumLines MidLine sub div def + /GreenIncrement LastGreen FirstGreen sub NumLines MidLine sub div def + /BlueIncrement LastBlue FirstBlue sub NumLines MidLine sub div def + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + NumLines MidLine sub 1 add { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat +} def +end +% END gradient.ps +%%EndProcSet +%%BeginProcSet: pst-coil.pro +% PostScript prologue for pst-coil.tex. +% Created 1993/3/12. Source file was pst-coil.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@CoilDict 40 dict def tx@CoilDict begin +/CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos +lineto } def +/Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED +/h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0 +sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos +Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div +w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h +mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for +EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP +TotalLength 0 ArrowB lineto } def +/AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED +/EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale +BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add +BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc +EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def +/ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED +/x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED +Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul +sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add +def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat +TotalLength ArmA sub 0 TotalLength 0 } def +end +%%EndProcSet +%%BeginProcSet: textpath.pro +% PostScript header file textpath.pro +% For putting text along curve with textpath.tex and PSTricks +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. + +/tx@TextPathDict 40 dict def +tx@TextPathDict begin + +/PathPosition +{ /targetdist exch def + /pathdist 0 def + /continue true def + /X { newx } def /Y { newy } def /Angle 0 def + gsave + flattenpath + { movetoproc } { linetoproc } { curvetoproc } { closepathproc } + pathforall + grestore +} def + +/movetoproc { continue { @movetoproc } { pop pop } ifelse } def + +/@movetoproc +{ /newy exch def /newx exch def + /firstx newx def /firsty newy def +} def + +/linetoproc { continue { @linetoproc } { pop pop } ifelse } def + +/@linetoproc +{ + /oldx newx def /oldy newy def + /newy exch def /newx exch def + /dx newx oldx sub def + /dy newy oldy sub def + /dist dx dup mul dy dup mul add sqrt def + /pathdist pathdist dist add def + pathdist targetdist ge + { pathdist targetdist sub dist div dup + dy mul neg newy add /Y exch def + dx mul neg newx add /X exch def + /Angle dy dx atan def + /continue false def + } if +} def + +/curvetoproc { (ERROR: No curveto's after flattenpath!) print } def + +/closepathproc { firstx firsty linetoproc } def + +/TextPathShow +{ /String exch def + /CharCount 0 def + String length + { String CharCount 1 getinterval ShowChar + /CharCount CharCount 1 add def + } repeat +} def + +/InitTextPath +{ gsave + currentpoint + /Y exch def /X exch def + 10000000 PathPosition + pathdist X Hoffset sub sub mul + Voffset Hoffset sub add + neg X add /Hoffset exch def + /Voffset Y def + grestore +} def + +/Transform +{ PathPosition + dup + Angle cos mul Y add exch + Angle sin mul neg X add exch + translate + Angle rotate +} def + +/ShowChar +{ /Char exch def + gsave + Char end stringwidth + tx@TextPathDict begin + 2 div /Sy exch def 2 div /Sx exch def + currentpoint + Voffset sub Sy add exch + Hoffset sub Sx add + Transform + Sx neg Sy neg moveto + Char end tx@TextPathSavedShow + tx@TextPathDict begin + grestore + Sx 2 mul Sy 2 mul rmoveto +} def + +end +% End textpath.pro +%%EndProcSet +%%BeginProcSet: pst-node.pro +% PostScript prologue for pst-node.tex. +% Created 1993/3/12. Source file was pst-node.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@NodeDict 200 dict def tx@NodeDict begin +/NewNode { gsave /next ED dict dup 3 -1 roll ED begin tx@Dict begin STV +CP T exec end /NodeMtrx CM def next end grestore } def +/InitPnode { /Y ED /X ED /NodePos { Nodesep Cos mul Nodesep Sin mul } def +} def +/InitCnode { /r ED /Y ED /X ED /NodePos { Nodesep r add dup Cos mul exch +Sin mul } def } def +/GetRnodePos { Cos 0 gt { /dx r Nodesep add def } { /dx l Nodesep sub def +} ifelse Sin 0 gt { /dy u Nodesep add def } { /dy d Nodesep sub def } +ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx +dup Sin mul Cos Div } ifelse } def +/InitRnode { /r ED r mul neg /l ED /r r l add def /X l neg def { neg /d +ED /u ED /Y 0 def } { neg /Y ED Y sub /u ED u mul neg /d ED /u u d add +def /Y Y d sub def } ifelse /NodePos { GetRnodePos } def } def +/InitRNode { /Y ED /X ED /r ED /X r 2 div X add def /r r X sub def /l X +neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def +/GetOnodePos { /ww w Nodesep add def /hh h Nodesep add def Sin ww mul Cos +hh mul Atan dup cos ww mul exch sin hh mul } def +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +/GetAngle { nodeA GetCenter nodeB GetCenter 3 -1 roll sub 3 1 roll sub +neg Atan } def +/GetEdge { begin /Nodesep ED dup 1 0 NodeMtrx dtransform CM idtransform +exch atan sub dup sin /Sin ED cos /Cos ED NodePos Y add exch X add exch +NodeMtrx transform CM itransform end 4 2 roll 1 index 0 eq { pop pop } { +2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def +/GetPos { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED OffsetB +AngleB NodesepB nodeB GetEdge /y2 ED /x2 ED } def +/InitNC { /nodeB ED /nodeA ED /NodesepB ED /NodesepA ED /OffsetB ED +/OffsetA ED tx@NodeDict nodeA known tx@NodeDict nodeB known and dup { +/nodeA nodeA load def /nodeB nodeB load def } if } def +/LineMP { 4 copy 1 t sub mul exch t mul add 3 1 roll 1 t sub mul exch t +mul add exch 6 2 roll sub 3 1 roll sub Atan } def +/NCCoor { GetAngle /AngleA ED /AngleB AngleA 180 add def GetPos /LPutVar +[ x2 x1 y2 y1 ] cvx def /LPutPos { LPutVar LineMP } def x1 y1 x2 y2 } +def +/NCLine { NCCoor tx@Dict begin ArrowB 4 2 roll ArrowA lineto end } def +/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED +/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 +mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx +sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul +add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add +y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul +mul 2 bx t mul mul add cx add atan } def +/GetArms { /x1a armA AngleA cos mul x1 add def /y1a armA AngleA sin mul +y1 add def /x2a armB AngleB cos mul x2 add def /y2a armB AngleB sin mul +y2 add def } def +/NCCurve { GetPos x1 x2 sub y1 y2 sub Pyth 2 div dup 3 -1 roll mul /armA +ED mul /armB ED GetArms x1a y1a x1 y1 tx@Dict begin ArrowA end x2a y2a +x2 y2 tx@Dict begin ArrowB end curveto /LPutVar [ x1 y1 x1a y1a x2a y2a +x2 y2 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def } def +/AnglesMP { LPutVar t 3 gt { /t t 3 sub def } { t 2 gt { /t t 2 sub def +10 -2 roll } { t 1 gt { /t t 1 sub def 10 -4 roll } { 10 4 roll } ifelse +} ifelse } ifelse 6 { pop } repeat 3 -1 roll exch LineMP } def +/NCAngles { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform exch pop mtrx itransform /y0 ED /x0 +ED mark armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1a y1a armA 0 ne { x1 y1 } +if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x0 y0 x1a y1a +x1 y1 ] cvx def /LPutPos { AnglesMP } def } def +/NCAngle { GetPos /x2a armB AngleB cos mul x2 add def /y2a armB AngleB +sin mul y2 add def /mtrx AngleA matrix rotate def x2a y2a mtrx transform +pop x1 y1 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark +armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1 y1 tx@Dict begin false Line end +/LPutVar [ x2 y2 x2 y2 x2a y2a x0 y0 x1 y1 ] cvx def /LPutPos { AnglesMP +} def } def +/NCBar { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform pop sub dup 0 mtrx itransform 3 -1 +roll 0 gt { /y2a exch y2a add def /x2a exch x2a add def } { /y1a exch +neg y1a add def /x2a exch neg x2a add def } ifelse mark x2 y2 x2a y2a +x1a y1a x1 y1 tx@Dict begin false Line end /LPutVar [ x2 y2 x2 y2 x2a +y2a x1a y1a x1 y1 ] cvx def /LPutPos { LPutVar AnglesMP } def } def +/NCDiag { GetPos GetArms mark x2 y2 x2a y2a x1a y1a x1 y1 tx@Dict begin +false Line end /LPutVar [ x2 y2 x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def +/LPutPos { AnglesMP } def } def +/NCDiagg { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED /x1a armA +AngleA cos mul x1 add def /y1a armA AngleA sin mul y1 add def nodeB +GetCenter y1a sub exch x1a sub Atan 180 add /AngleB ED OffsetB AngleB +NodesepB nodeB GetEdge /y2 ED /x2 ED mark x2 y2 x1a y1a x1 y1 tx@Dict +begin false Line end /LPutVar [ x2 y2 x2 y2 x2 y2 x1a y1a x1 y1] cvx def +/LPutPos { AnglesMP } def } def +/LoopMP { /t t abs def [ LPutVar ] length 2 div 1 sub dup t lt { /t ED } +{ pop } ifelse mark LPutVar t cvi { /t t 1 sub def pop pop } repeat +counttomark 1 add 4 roll cleartomark 3 -1 roll exch LineMP } def +/NCLoop { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform loopsize add /y1b ED /x1b ED /x2b x2a y2a mtrx transform pop +def x2b y1b mtrx itransform /y2b ED /x2b ED x1b y1b mtrx itransform /y1b +ED /x1b ED mark armB 0 ne { x2 y2 } if x2a y2a x2b y2b x1b y1b x1a y1a +armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a +y2a x2b y2b x1b y1b x1a y1a x1 y1 ] cvx def /LPutPos { LoopMP } def } +def +/NCCircle { nodeA GetCenter 0 0 NodesepA nodeA GetEdge pop 3 1 roll /Y ED +/X ED X sub 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r +AngleA 90 add PtoC Y add exch X add exch 2 copy /LPutVar [ 4 2 roll r a +] def /LPutPos { LPutVar aload pop t 360 mul add dup 5 1 roll 90 sub +PtoC 3 -1 roll add 3 1 roll add exch 3 -1 roll } def r AngleA 90 sub a +add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c +57.2957 r Div def /y ED /x ED } def +/LPutCoor { tx@NodeDict /LPutPos known { gsave LPutPos tx@Dict begin +/langle ED CM 3 1 roll STV CP 3 -1 roll sub neg 3 1 roll sub exch moveto +setmatrix CP end grestore } { 0 0 tx@Dict /langle 0 def end } ifelse } +def +end +%%EndProcSet +%%BeginProcSet: special.pro +TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N +/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen +false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B +/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit +div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ +/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ +10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B +/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale +true def end /@MacSetUp{userdict /md known{userdict /md get type +/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup +length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} +N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath +clippath mark{transform{itransform moveto}}{transform{itransform lineto} +}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ +itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ +closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 +0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N +/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 +scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get +ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip +not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 +TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR +pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 +-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg +TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg +sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr +0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add +2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp +{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 +div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} +N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict +maxlength dict begin /magscale true def normalscale currentpoint TR +/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts +/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx +psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy +scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR +/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict +begin /SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial +{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath +}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ +end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} +N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ +/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX +SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X +/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad +yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +%%EndProcSet +%%BeginProcSet: color.pro +TeXDict begin /setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse /TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def /TeXcolorgrey{setgray}def /TeXcolorgray{ +setgray}def /TeXcolorhsb{sethsbcolor}def /currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse /DC{exch dup userdict exch +known{pop pop}{X}ifelse}B /GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC /Goldenrod{0 0.10 0.84 0 setcmykcolor} +DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC /Apricot{0 0.32 0.52 0 +setcmykcolor}DC /Peach{0 0.50 0.70 0 setcmykcolor}DC /Melon{0 0.46 0.50 +0 setcmykcolor}DC /YellowOrange{0 0.42 1 0 setcmykcolor}DC /Orange{0 +0.61 0.87 0 setcmykcolor}DC /BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC /RedOrange{0 0.77 0.87 0 +setcmykcolor}DC /Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC /Maroon{0 +0.87 0.68 0.32 setcmykcolor}DC /BrickRed{0 0.89 0.94 0.28 setcmykcolor} +DC /Red{0 1 1 0 setcmykcolor}DC /OrangeRed{0 1 0.50 0 setcmykcolor}DC +/RubineRed{0 1 0.13 0 setcmykcolor}DC /WildStrawberry{0 0.96 0.39 0 +setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC /CarnationPink{0 +0.63 0 0 setcmykcolor}DC /Magenta{0 1 0 0 setcmykcolor}DC /VioletRed{0 +0.81 0 0 setcmykcolor}DC /Rhodamine{0 0.82 0 0 setcmykcolor}DC /Mulberry +{0.34 0.90 0 0.02 setcmykcolor}DC /RedViolet{0.07 0.90 0 0.34 +setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC /Lavender{0 +0.48 0 0 setcmykcolor}DC /Thistle{0.12 0.59 0 0 setcmykcolor}DC /Orchid{ +0.32 0.64 0 0 setcmykcolor}DC /DarkOrchid{0.40 0.80 0.20 0 setcmykcolor} +DC /Purple{0.45 0.86 0 0 setcmykcolor}DC /Plum{0.50 1 0 0 setcmykcolor} +DC /Violet{0.79 0.88 0 0 setcmykcolor}DC /RoyalPurple{0.75 0.90 0 0 +setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC /Periwinkle +{0.57 0.55 0 0 setcmykcolor}DC /CadetBlue{0.62 0.57 0.23 0 setcmykcolor} +DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC /MidnightBlue{0.98 0.13 +0 0.43 setcmykcolor}DC /NavyBlue{0.94 0.54 0 0 setcmykcolor}DC +/RoyalBlue{1 0.50 0 0 setcmykcolor}DC /Blue{1 1 0 0 setcmykcolor}DC +/Cerulean{0.94 0.11 0 0 setcmykcolor}DC /Cyan{1 0 0 0 setcmykcolor}DC +/ProcessBlue{0.96 0 0 0 setcmykcolor}DC /SkyBlue{0.62 0 0.12 0 +setcmykcolor}DC /Turquoise{0.85 0 0.20 0 setcmykcolor}DC /TealBlue{0.86 +0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC +/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC /Emerald{1 0 0.50 0 +setcmykcolor}DC /JungleGreen{0.99 0 0.52 0 setcmykcolor}DC /SeaGreen{ +0.69 0 0.50 0 setcmykcolor}DC /Green{1 0 1 0 setcmykcolor}DC +/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 +0.25 setcmykcolor}DC /LimeGreen{0.50 0 1 0 setcmykcolor}DC /YellowGreen{ +0.44 0 0.74 0 setcmykcolor}DC /SpringGreen{0.26 0 0.76 0 setcmykcolor} +DC /OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC /RawSienna{0 0.72 1 0.45 +setcmykcolor}DC /Sepia{0 0.83 1 0.70 setcmykcolor}DC /Brown{0 0.81 1 +0.60 setcmykcolor}DC /Tan{0.14 0.42 0.56 0 setcmykcolor}DC /Gray{0 0 0 +0.50 setcmykcolor}DC /Black{0 0 0 1 setcmykcolor}DC /White{0 0 0 0 +setcmykcolor}DC end +%%EndProcSet +TeXDict begin 40258437 52099154 1000 600 600 (0-0-28.dvi) +@start end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + +%%EndSetup +1 0 bop Black Black 639 443 3790 4 v 639 2206 4 1764 +v 1131 1088 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1088 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +1131 1088 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1088 a 1131 1088 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. -9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1088 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1131 1088 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 +1088 a 1131 1088 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. -9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1088 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1131 +1088 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1088 a 1850 1006 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. 9.95863 -9.95863 9.95863 +0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def +/b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 +lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 dup +mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 a div +} ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b f mul +c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg c a +mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1006 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1850 1006 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1006 a 1850 1006 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1006 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial 1850 1006 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1006 a 1850 1006 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. 9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1006 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1850 +1006 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 1006 a 2984 882 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 882 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +2984 882 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 882 a 2984 882 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. 9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 882 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 2984 882 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 +882 a 2984 882 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. 9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 882 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 2984 +882 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 882 a 4117 964 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. -9.95863 +9.95863 9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 +0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 +0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 +dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b +ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 964 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 4117 964 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 +964 a 4117 964 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 964 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +4117 964 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 964 a 4117 964 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. -9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 964 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial +4117 964 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 964 a 1131 1738 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1738 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial 1131 1738 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1738 a 1131 +1738 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. -9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1738 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1131 1738 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1738 a 1131 +1738 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. -9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1738 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +1131 1738 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1738 a 1850 1862 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. 9.95863 -9.95863 -9.95863 +0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def +/b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 +lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 dup +mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 a div +} ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b f mul +c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg c a +mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1862 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1850 1862 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1862 a 1850 1862 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1862 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial 1850 1862 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1862 a 1850 1862 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. 9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1862 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +1850 1862 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 1862 a 2984 1945 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 1945 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +2984 1945 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 1945 a 2984 1945 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. 9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 1945 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 2984 1945 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 +1945 a 2984 1945 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. 9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 1945 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +2984 1945 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 1945 a 4117 1821 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. -9.95863 +9.95863 -9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 +0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 +0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 +dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b +ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 1821 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 4117 1821 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 +1821 a 4117 1821 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 1821 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +4117 1821 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 1821 a 4117 1821 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. -9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 1821 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial 4117 1821 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 1821 a 4426 +2206 4 1764 v 639 2209 3790 4 v Black Black eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/usergrps/uktug/baskervi/6_1/0-0-28.tex b/usergrps/uktug/baskervi/6_1/0-0-28.tex new file mode 100644 index 0000000000..10eeb638f9 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-28.tex @@ -0,0 +1,84 @@ +\documentclass{article} +\usepackage{pstcol} +\pagestyle{empty} + +\begin{document} +\makeatletter +\def\DieFrame{\@ifnextchar[{\DDieFrame}{\DDieFrame[darkgray]}} +\def\DDieFrame[#1]{\psframe[linecolor=black,fillcolor=#1,fillstyle=solid](4,4)} +\makeatother +\def\SpotColor{white} +\def\DieOne{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](2,2){.3} +} +\def\DieTwo{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](1,2){.3} +\pscircle*[linecolor=\SpotColor](3,2){.3} +} +\def\DieThree{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](2,2){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +} +\def\DieFour{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +} +\def\DieFive{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +\pscircle*[linecolor=\SpotColor](2,2){.3} +} +\def\DieSix{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](1,2){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +\pscircle*[linecolor=\SpotColor](3,2){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +} +\def\DieSide#1#2#3{\ThreeDput[normal=#1](#2){#3}} +\def\TheDie#1#2(#3)(#4){% +\begin{pspicture}(#3)(#4) +\ifcase #1 \relax +\or %1 + \psset{viewpoint=-1 -1 #2} + \DieSide{-1 0 0}{0,4,0}{\DieThree} + \DieSide{0 -1 0}{0,0,0}{\DieFive} +\or %2 + \psset{viewpoint=1 -1 #2} + \DieSide{0 -1 0}{0,0,0}{\DieFive} + \DieSide{1 0 0}{4,0,0}{\DieFour} +\or %3 + \psset{viewpoint=1 1 #2} + \DieSide{1 0 0}{4,0,0}{\DieFour} + \DieSide{0 1 0}{4,4,0}{\DieTwo} +\or %4 + \psset{viewpoint=-1 1 #2} + \DieSide{0 1 0}{4,4,0}{\DieTwo} + \DieSide{-1 0 0}{0,4,0}{\DieThree} +\fi +\ifnum#2<0 + \DieSide{0 0 -1}{0,4,0}{\DieSix} +\else + \DieSide{0 0 1}{0,0,4}{\DieOne} +\fi +\end{pspicture}} +\psset{unit=.35cm} +\framebox{% +\begin{tabular}{cccc} +\TheDie{1}{1}(-5,-2.5)(5,7.5)& +\TheDie{2}{1}(-2.5,-3.5)(7.5,6.5)& +\TheDie{3}{1}(-5,-5)(5,5)& +\TheDie{4}{1}(-7.5,-4)(2.5,6)\\ +\TheDie{1}{-1}(-5,-5)(5,5)& +\TheDie{2}{-1}(-2.5,-3.5)(7.5,6.5)& +\TheDie{3}{-1}(-5,-2.5)(5,7.5)& +\TheDie{4}{-1}(-7.5,-4)(2.5,6) +\end{tabular} +} +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/0-0-29.eps b/usergrps/uktug/baskervi/6_1/0-0-29.eps new file mode 100644 index 0000000000..7b8d8a4125 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-29.eps @@ -0,0 +1,2012 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software +%%Title: 0-0-29.dvi +%%BoundingBox: 148 454 604 668 +%%EndComments +%DVIPSCommandLine: dvips -D600 0-0-29 -E -o 0-0-29.eps +%DVIPSParameters: dpi=600, compressed, comments removed +%DVIPSSource: TeX output 1996.02.07:1500 +%%BeginProcSet: texc.pro +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id +ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ +rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get +/gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp +X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X +adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup +255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} +B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv +S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] +}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +%%EndProcSet +%%BeginProcSet: pstricks.pro +% PostScript prologue for pstricks.tex. +% Created 1994/6/23. Source file was pstricks.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@Dict 200 dict def tx@Dict begin +/ADict 25 dict def +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Atan { /atan load stopped { pop pop 0 } if } def +/Div { dup 0 eq { pop } { div } ifelse } def +/NET { neg exch neg exch T } def +/Pyth { dup mul exch dup mul add sqrt } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } +def +/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def +} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } +/pathforall load stopped { pop pop pop pop } if z } def +/STP { .996264 dup scale } def +/STV { SDict begin normalscale end STP } def +/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def +PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y +mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul +/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] +0 } ifelse setdash stroke } def +/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt +{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add +def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if +] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 +setlinecap stroke } def +/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch +2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 +itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a +Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict +/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 +a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } +def +/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg +exch 3 index sub exch Atan rotate newpath } def +/EndArrow { @mtrx setmatrix CP grestore end } def +/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 +scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill +grestore } def +/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 +CLW moveto } def +/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 +div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 +CLW moveto } def +/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW +2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 +curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } +def +/SD { 0 360 arc fill } def +/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS +CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def +/Shadow { {[ { /moveto load } { /lineto load } { /curveto load } { +/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto +load } if ] cvx newpath 3 1 roll T exec } stopped pop} def +/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch +cvi def } def +/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if +f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub +def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def +/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } +ifelse { pop } repeat a } def +/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq +and { pop pop /n n 1 sub def } if } def +/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } +repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 +ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 +moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto +Lineto pop pop closepath } ifelse } def +/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul +neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add +def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 +div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { +pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 +div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 +d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 +def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp +mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos +abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def +/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul +m mul neg def } def +/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } +ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } +def +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def +n { NC } repeat EOC } ifelse } def +/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload +/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop +pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def +/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { +CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } +repeat closepath pop pop } ifelse } def +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } +def +/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix +rotate matrix concatmatrix exch findfont exch makefont setfont } def +/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto +x1 y1 lineto closepath } def +/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 +y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div +exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse +/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto +x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } +ifelse } def +/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add +/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { +pop pop Rect } { OvalFrame } ifelse } def +/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop +} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] +aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 +2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } +ifelse } def +/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { +6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def +/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 +sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } +def +/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 +sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA +x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 +y0 x0 2 mul x1 sub y1 ] def } def +/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } +if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if +/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div +round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div +round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub +0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def +/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } +if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } +{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add +exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n +div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 +dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { +dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { +pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup +stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} +{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i +w add def } repeat grestore gsave n 0 gt { 1 setlinecap [ 0 dx n div ] +dy n div 2 div setdash } { 2 setlinecap } ifelse /i y1 def /f x1 dx mul +n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n +div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop +1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs +dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt +{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g +exch t L stroke /i i h add def } repeat grestore } def +/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 +1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add +exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c +mul neg d } def +/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } +def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle +dup a add ] cvx def } def +/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] +cvx def } def +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s +abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b +div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { +h1 abs h sub dup s mul abs } ifelse } def +/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s +mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q +{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add +exch } def +/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible +/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def +} if } ifelse } def +/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def +/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit +neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def +/IfVisible true def } def +end +%%EndProcSet +%%BeginProcSet: pst-dots.pro +10 dict dup begin + /FontType 3 def + /FontMatrix [ .001 0 0 .001 0 0 ] def + /FontBBox [ 0 0 0 0 ] def + /Encoding 256 array def + 0 1 255 { Encoding exch /.notdef put } for + Encoding + dup (b) 0 get /Bullet put + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + (P) 0 get /BoldPentagon put + /Metrics 13 dict def + Metrics begin + /Bullet 1000 def + /Circle 1000 def + /BoldCircle 1000 def + /SolidTriangle 1344 def + /Triangle 1344 def + /BoldTriangle 1344 def + /SolidSquare 886 def + /Square 886 def + /BoldSquare 886 def + /SolidPentagon 1093.2 def + /Pentagon 1093.2 def + /BoldPentagon 1093.2 def + /.notdef 0 def + end + /BBoxes 13 dict def + BBoxes begin + /Circle { -550 -550 550 550 } def + /BoldCircle /Circle load def + /Bullet /Circle load def + /Triangle { -571.5 -330 571.5 660 } def + /BoldTriangle /Triangle load def + /SolidTriangle /Triangle load def + /Square { -450 -450 450 450 } def + /BoldSquare /Square load def + /SolidSquare /Square load def + /Pentagon { -546.6 -465 546.6 574.7 } def + /BoldPentagon /Pentagon load def + /SolidPentagon /Pentagon load def + /.notdef { 0 0 0 0 } def + end + /CharProcs 20 dict def + CharProcs begin + /Adjust { + 2 copy dtransform floor .5 add exch floor .5 add exch idtransform + 3 -1 roll div 3 1 roll exch div exch scale + } def + /CirclePath { 0 0 500 0 360 arc closepath } def + /Bullet { 500 500 Adjust CirclePath fill } def + /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def + /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def + /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def + /TrianglePath { + 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath + } def + /SolidTriangle { TrianglePath fill } def + /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def + /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def + /SquarePath { + -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto + closepath + } def + /SolidSquare { SquarePath fill } def + /Square { SquarePath .89 .89 scale SquarePath eofill } def + /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def + /PentagonPath { + -337.8 -465 moveto + 337.8 -465 lineto + 546.6 177.6 lineto + 0 574.7 lineto + -546.6 177.6 lineto + closepath + } def + /SolidPentagon { PentagonPath fill } def + /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def + /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def + /.notdef { } def + end + /BuildGlyph { + exch + begin + Metrics 1 index get exec 0 + BBoxes 3 index get exec + setcachedevice + CharProcs begin load exec end + end + } def + /BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec + } bind def +end +/PSTricksDotFont exch definefont pop +%%EndProcSet +%%BeginProcSet: gradient.pro +% PostScript header file gradient.ps +% For the PSTricks gradient fillstyle. +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. +% +% Based on some EPS files by leeweyr!bill@nuchat.sccsi.com (W. R. Lee). +% +% Syntax: +% R0 G0 B0 R1 G1 B1 MidPoint NumLines Angle GradientFill + +/tx@GradientDict 40 dict def +tx@GradientDict begin +/GradientFill { + rotate + /MidPoint ED + /NumLines ED + /LastBlue ED + /LastGreen ED + /LastRed ED + /FirstBlue ED + /FirstGreen ED + /FirstRed ED + clip + pathbbox %leave llx,lly,urx,ury on stack + /y ED /x ED + 2 copy translate + y sub neg /y ED + x sub neg /x ED + /b { + x 0 rlineto + 0 YSizePerLine rlineto + x neg 0 rlineto + closepath + } def + /MidLine NumLines 1 MidPoint sub mul abs cvi def + MidLine NumLines gt { /Midline NumLines def } if + /RedIncrement LastRed FirstRed sub MidLine div def + /GreenIncrement LastGreen FirstGreen sub MidLine div def + /BlueIncrement LastBlue FirstBlue sub MidLine div def + /YSizePerLine y NumLines div def + /CurrentY 0 def + /Red FirstRed def + /Green FirstGreen def + /Blue FirstBlue def + % This avoids gaps due to rounding errors: + gsave Red Green Blue setrgbcolor fill grestore + MidLine { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + /RedIncrement LastRed FirstRed sub NumLines MidLine sub div def + /GreenIncrement LastGreen FirstGreen sub NumLines MidLine sub div def + /BlueIncrement LastBlue FirstBlue sub NumLines MidLine sub div def + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + NumLines MidLine sub 1 add { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat +} def +end +% END gradient.ps +%%EndProcSet +%%BeginProcSet: pst-coil.pro +% PostScript prologue for pst-coil.tex. +% Created 1993/3/12. Source file was pst-coil.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@CoilDict 40 dict def tx@CoilDict begin +/CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos +lineto } def +/Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED +/h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0 +sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos +Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div +w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h +mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for +EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP +TotalLength 0 ArrowB lineto } def +/AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED +/EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale +BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add +BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc +EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def +/ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED +/x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED +Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul +sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add +def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat +TotalLength ArmA sub 0 TotalLength 0 } def +end +%%EndProcSet +%%BeginProcSet: textpath.pro +% PostScript header file textpath.pro +% For putting text along curve with textpath.tex and PSTricks +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. + +/tx@TextPathDict 40 dict def +tx@TextPathDict begin + +/PathPosition +{ /targetdist exch def + /pathdist 0 def + /continue true def + /X { newx } def /Y { newy } def /Angle 0 def + gsave + flattenpath + { movetoproc } { linetoproc } { curvetoproc } { closepathproc } + pathforall + grestore +} def + +/movetoproc { continue { @movetoproc } { pop pop } ifelse } def + +/@movetoproc +{ /newy exch def /newx exch def + /firstx newx def /firsty newy def +} def + +/linetoproc { continue { @linetoproc } { pop pop } ifelse } def + +/@linetoproc +{ + /oldx newx def /oldy newy def + /newy exch def /newx exch def + /dx newx oldx sub def + /dy newy oldy sub def + /dist dx dup mul dy dup mul add sqrt def + /pathdist pathdist dist add def + pathdist targetdist ge + { pathdist targetdist sub dist div dup + dy mul neg newy add /Y exch def + dx mul neg newx add /X exch def + /Angle dy dx atan def + /continue false def + } if +} def + +/curvetoproc { (ERROR: No curveto's after flattenpath!) print } def + +/closepathproc { firstx firsty linetoproc } def + +/TextPathShow +{ /String exch def + /CharCount 0 def + String length + { String CharCount 1 getinterval ShowChar + /CharCount CharCount 1 add def + } repeat +} def + +/InitTextPath +{ gsave + currentpoint + /Y exch def /X exch def + 10000000 PathPosition + pathdist X Hoffset sub sub mul + Voffset Hoffset sub add + neg X add /Hoffset exch def + /Voffset Y def + grestore +} def + +/Transform +{ PathPosition + dup + Angle cos mul Y add exch + Angle sin mul neg X add exch + translate + Angle rotate +} def + +/ShowChar +{ /Char exch def + gsave + Char end stringwidth + tx@TextPathDict begin + 2 div /Sy exch def 2 div /Sx exch def + currentpoint + Voffset sub Sy add exch + Hoffset sub Sx add + Transform + Sx neg Sy neg moveto + Char end tx@TextPathSavedShow + tx@TextPathDict begin + grestore + Sx 2 mul Sy 2 mul rmoveto +} def + +end +% End textpath.pro +%%EndProcSet +%%BeginProcSet: pst-node.pro +% PostScript prologue for pst-node.tex. +% Created 1993/3/12. Source file was pst-node.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@NodeDict 200 dict def tx@NodeDict begin +/NewNode { gsave /next ED dict dup 3 -1 roll ED begin tx@Dict begin STV +CP T exec end /NodeMtrx CM def next end grestore } def +/InitPnode { /Y ED /X ED /NodePos { Nodesep Cos mul Nodesep Sin mul } def +} def +/InitCnode { /r ED /Y ED /X ED /NodePos { Nodesep r add dup Cos mul exch +Sin mul } def } def +/GetRnodePos { Cos 0 gt { /dx r Nodesep add def } { /dx l Nodesep sub def +} ifelse Sin 0 gt { /dy u Nodesep add def } { /dy d Nodesep sub def } +ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx +dup Sin mul Cos Div } ifelse } def +/InitRnode { /r ED r mul neg /l ED /r r l add def /X l neg def { neg /d +ED /u ED /Y 0 def } { neg /Y ED Y sub /u ED u mul neg /d ED /u u d add +def /Y Y d sub def } ifelse /NodePos { GetRnodePos } def } def +/InitRNode { /Y ED /X ED /r ED /X r 2 div X add def /r r X sub def /l X +neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def +/GetOnodePos { /ww w Nodesep add def /hh h Nodesep add def Sin ww mul Cos +hh mul Atan dup cos ww mul exch sin hh mul } def +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +/GetAngle { nodeA GetCenter nodeB GetCenter 3 -1 roll sub 3 1 roll sub +neg Atan } def +/GetEdge { begin /Nodesep ED dup 1 0 NodeMtrx dtransform CM idtransform +exch atan sub dup sin /Sin ED cos /Cos ED NodePos Y add exch X add exch +NodeMtrx transform CM itransform end 4 2 roll 1 index 0 eq { pop pop } { +2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def +/GetPos { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED OffsetB +AngleB NodesepB nodeB GetEdge /y2 ED /x2 ED } def +/InitNC { /nodeB ED /nodeA ED /NodesepB ED /NodesepA ED /OffsetB ED +/OffsetA ED tx@NodeDict nodeA known tx@NodeDict nodeB known and dup { +/nodeA nodeA load def /nodeB nodeB load def } if } def +/LineMP { 4 copy 1 t sub mul exch t mul add 3 1 roll 1 t sub mul exch t +mul add exch 6 2 roll sub 3 1 roll sub Atan } def +/NCCoor { GetAngle /AngleA ED /AngleB AngleA 180 add def GetPos /LPutVar +[ x2 x1 y2 y1 ] cvx def /LPutPos { LPutVar LineMP } def x1 y1 x2 y2 } +def +/NCLine { NCCoor tx@Dict begin ArrowB 4 2 roll ArrowA lineto end } def +/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED +/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 +mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx +sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul +add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add +y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul +mul 2 bx t mul mul add cx add atan } def +/GetArms { /x1a armA AngleA cos mul x1 add def /y1a armA AngleA sin mul +y1 add def /x2a armB AngleB cos mul x2 add def /y2a armB AngleB sin mul +y2 add def } def +/NCCurve { GetPos x1 x2 sub y1 y2 sub Pyth 2 div dup 3 -1 roll mul /armA +ED mul /armB ED GetArms x1a y1a x1 y1 tx@Dict begin ArrowA end x2a y2a +x2 y2 tx@Dict begin ArrowB end curveto /LPutVar [ x1 y1 x1a y1a x2a y2a +x2 y2 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def } def +/AnglesMP { LPutVar t 3 gt { /t t 3 sub def } { t 2 gt { /t t 2 sub def +10 -2 roll } { t 1 gt { /t t 1 sub def 10 -4 roll } { 10 4 roll } ifelse +} ifelse } ifelse 6 { pop } repeat 3 -1 roll exch LineMP } def +/NCAngles { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform exch pop mtrx itransform /y0 ED /x0 +ED mark armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1a y1a armA 0 ne { x1 y1 } +if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x0 y0 x1a y1a +x1 y1 ] cvx def /LPutPos { AnglesMP } def } def +/NCAngle { GetPos /x2a armB AngleB cos mul x2 add def /y2a armB AngleB +sin mul y2 add def /mtrx AngleA matrix rotate def x2a y2a mtrx transform +pop x1 y1 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark +armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1 y1 tx@Dict begin false Line end +/LPutVar [ x2 y2 x2 y2 x2a y2a x0 y0 x1 y1 ] cvx def /LPutPos { AnglesMP +} def } def +/NCBar { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform pop sub dup 0 mtrx itransform 3 -1 +roll 0 gt { /y2a exch y2a add def /x2a exch x2a add def } { /y1a exch +neg y1a add def /x2a exch neg x2a add def } ifelse mark x2 y2 x2a y2a +x1a y1a x1 y1 tx@Dict begin false Line end /LPutVar [ x2 y2 x2 y2 x2a +y2a x1a y1a x1 y1 ] cvx def /LPutPos { LPutVar AnglesMP } def } def +/NCDiag { GetPos GetArms mark x2 y2 x2a y2a x1a y1a x1 y1 tx@Dict begin +false Line end /LPutVar [ x2 y2 x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def +/LPutPos { AnglesMP } def } def +/NCDiagg { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED /x1a armA +AngleA cos mul x1 add def /y1a armA AngleA sin mul y1 add def nodeB +GetCenter y1a sub exch x1a sub Atan 180 add /AngleB ED OffsetB AngleB +NodesepB nodeB GetEdge /y2 ED /x2 ED mark x2 y2 x1a y1a x1 y1 tx@Dict +begin false Line end /LPutVar [ x2 y2 x2 y2 x2 y2 x1a y1a x1 y1] cvx def +/LPutPos { AnglesMP } def } def +/LoopMP { /t t abs def [ LPutVar ] length 2 div 1 sub dup t lt { /t ED } +{ pop } ifelse mark LPutVar t cvi { /t t 1 sub def pop pop } repeat +counttomark 1 add 4 roll cleartomark 3 -1 roll exch LineMP } def +/NCLoop { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform loopsize add /y1b ED /x1b ED /x2b x2a y2a mtrx transform pop +def x2b y1b mtrx itransform /y2b ED /x2b ED x1b y1b mtrx itransform /y1b +ED /x1b ED mark armB 0 ne { x2 y2 } if x2a y2a x2b y2b x1b y1b x1a y1a +armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a +y2a x2b y2b x1b y1b x1a y1a x1 y1 ] cvx def /LPutPos { LoopMP } def } +def +/NCCircle { nodeA GetCenter 0 0 NodesepA nodeA GetEdge pop 3 1 roll /Y ED +/X ED X sub 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r +AngleA 90 add PtoC Y add exch X add exch 2 copy /LPutVar [ 4 2 roll r a +] def /LPutPos { LPutVar aload pop t 360 mul add dup 5 1 roll 90 sub +PtoC 3 -1 roll add 3 1 roll add exch 3 -1 roll } def r AngleA 90 sub a +add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c +57.2957 r Div def /y ED /x ED } def +/LPutCoor { tx@NodeDict /LPutPos known { gsave LPutPos tx@Dict begin +/langle ED CM 3 1 roll STV CP 3 -1 roll sub neg 3 1 roll sub exch moveto +setmatrix CP end grestore } { 0 0 tx@Dict /langle 0 def end } ifelse } +def +end +%%EndProcSet +%%BeginProcSet: special.pro +TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N +/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen +false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B +/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit +div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ +/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ +10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B +/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale +true def end /@MacSetUp{userdict /md known{userdict /md get type +/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup +length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} +N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath +clippath mark{transform{itransform moveto}}{transform{itransform lineto} +}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ +itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ +closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 +0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N +/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 +scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get +ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip +not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 +TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR +pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 +-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg +TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg +sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr +0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add +2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp +{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 +div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} +N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict +maxlength dict begin /magscale true def normalscale currentpoint TR +/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts +/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx +psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy +scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR +/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict +begin /SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial +{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath +}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ +end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} +N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ +/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX +SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X +/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad +yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +%%EndProcSet +%%BeginProcSet: color.pro +TeXDict begin /setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse /TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def /TeXcolorgrey{setgray}def /TeXcolorgray{ +setgray}def /TeXcolorhsb{sethsbcolor}def /currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse /DC{exch dup userdict exch +known{pop pop}{X}ifelse}B /GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC /Goldenrod{0 0.10 0.84 0 setcmykcolor} +DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC /Apricot{0 0.32 0.52 0 +setcmykcolor}DC /Peach{0 0.50 0.70 0 setcmykcolor}DC /Melon{0 0.46 0.50 +0 setcmykcolor}DC /YellowOrange{0 0.42 1 0 setcmykcolor}DC /Orange{0 +0.61 0.87 0 setcmykcolor}DC /BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC /RedOrange{0 0.77 0.87 0 +setcmykcolor}DC /Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC /Maroon{0 +0.87 0.68 0.32 setcmykcolor}DC /BrickRed{0 0.89 0.94 0.28 setcmykcolor} +DC /Red{0 1 1 0 setcmykcolor}DC /OrangeRed{0 1 0.50 0 setcmykcolor}DC +/RubineRed{0 1 0.13 0 setcmykcolor}DC /WildStrawberry{0 0.96 0.39 0 +setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC /CarnationPink{0 +0.63 0 0 setcmykcolor}DC /Magenta{0 1 0 0 setcmykcolor}DC /VioletRed{0 +0.81 0 0 setcmykcolor}DC /Rhodamine{0 0.82 0 0 setcmykcolor}DC /Mulberry +{0.34 0.90 0 0.02 setcmykcolor}DC /RedViolet{0.07 0.90 0 0.34 +setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC /Lavender{0 +0.48 0 0 setcmykcolor}DC /Thistle{0.12 0.59 0 0 setcmykcolor}DC /Orchid{ +0.32 0.64 0 0 setcmykcolor}DC /DarkOrchid{0.40 0.80 0.20 0 setcmykcolor} +DC /Purple{0.45 0.86 0 0 setcmykcolor}DC /Plum{0.50 1 0 0 setcmykcolor} +DC /Violet{0.79 0.88 0 0 setcmykcolor}DC /RoyalPurple{0.75 0.90 0 0 +setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC /Periwinkle +{0.57 0.55 0 0 setcmykcolor}DC /CadetBlue{0.62 0.57 0.23 0 setcmykcolor} +DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC /MidnightBlue{0.98 0.13 +0 0.43 setcmykcolor}DC /NavyBlue{0.94 0.54 0 0 setcmykcolor}DC +/RoyalBlue{1 0.50 0 0 setcmykcolor}DC /Blue{1 1 0 0 setcmykcolor}DC +/Cerulean{0.94 0.11 0 0 setcmykcolor}DC /Cyan{1 0 0 0 setcmykcolor}DC +/ProcessBlue{0.96 0 0 0 setcmykcolor}DC /SkyBlue{0.62 0 0.12 0 +setcmykcolor}DC /Turquoise{0.85 0 0.20 0 setcmykcolor}DC /TealBlue{0.86 +0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC +/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC /Emerald{1 0 0.50 0 +setcmykcolor}DC /JungleGreen{0.99 0 0.52 0 setcmykcolor}DC /SeaGreen{ +0.69 0 0.50 0 setcmykcolor}DC /Green{1 0 1 0 setcmykcolor}DC +/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 +0.25 setcmykcolor}DC /LimeGreen{0.50 0 1 0 setcmykcolor}DC /YellowGreen{ +0.44 0 0.74 0 setcmykcolor}DC /SpringGreen{0.26 0 0.76 0 setcmykcolor} +DC /OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC /RawSienna{0 0.72 1 0.45 +setcmykcolor}DC /Sepia{0 0.83 1 0.70 setcmykcolor}DC /Brown{0 0.81 1 +0.60 setcmykcolor}DC /Tan{0.14 0.42 0.56 0 setcmykcolor}DC /Gray{0 0 0 +0.50 setcmykcolor}DC /Black{0 0 0 1 setcmykcolor}DC /White{0 0 0 0 +setcmykcolor}DC end +%%EndProcSet +TeXDict begin 40258437 52099154 1000 600 600 (0-0-29.dvi) +@start end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + +%%EndSetup +1 0 bop Black Black 639 443 3790 4 v 639 2206 4 1764 +v 1131 1088 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1088 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +1131 1088 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1088 a 1131 1088 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. -9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1088 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1131 1088 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 +1088 a 1131 1088 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. -9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1088 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1131 +1088 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1088 a 1850 1006 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. 9.95863 -9.95863 9.95863 +0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def +/b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 +lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 dup +mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 a div +} ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b f mul +c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg c a +mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1006 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1850 1006 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1006 a 1850 1006 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1006 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial 1850 1006 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1006 a 1850 1006 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. 9.95863 -9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1006 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1850 +1006 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 1006 a 2984 882 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 882 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +2984 882 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 882 a 2984 882 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. 9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 882 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 2984 882 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 +882 a 2984 882 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. 9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 882 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 2984 +882 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 882 a 4117 964 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. -9.95863 +9.95863 9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 +0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 +0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 +dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b +ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 964 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 4117 964 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 +964 a 4117 964 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 964 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +4117 964 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 964 a 4117 964 a + tx@Dict begin { 0.0 0.0 39.83453 0.0 0.0 9.95863 0. -9.95863 9.95863 +9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a +0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a +p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 +dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 +a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b +f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg +c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 964 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial +4117 964 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 964 a 1131 1738 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1738 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial 1131 1738 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1738 a 1131 +1738 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. -9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1738 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1131 1738 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1738 a 1131 +1738 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. -9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1131 1738 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +1131 1738 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1131 1738 a 1850 1862 a + tx@Dict begin { 0.0 0.0 0.0 0.0 -9.95863 0.0 0. 9.95863 -9.95863 -9.95863 +0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def +/b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 +lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 dup +mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 a div +} ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b f mul +c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg c a +mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1862 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial 1850 1862 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1862 a 1850 1862 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1862 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial 1850 1862 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 +1862 a 1850 1862 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. 9.95863 -9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1850 1862 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +1850 1862 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1850 1862 a 2984 1945 a + tx@Dict begin { 39.83453 0.0 0.0 9.95863 0.0 0.0 0. 9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 1945 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +2984 1945 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 1945 a 2984 1945 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. 9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 1945 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 2984 1945 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 +1945 a 2984 1945 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. 9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 2984 1945 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +2984 1945 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 2984 1945 a 4117 1821 a + tx@Dict begin { 39.83453 39.83453 0.0 0.0 9.95863 0.0 0. -9.95863 +9.95863 -9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 +0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 +0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 +dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b +ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 1821 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial 4117 1821 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 +1821 a 4117 1821 a + tx@Dict begin { 0.0 39.83453 0.0 -9.95863 0.0 0.0 0. -9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 1821 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .75 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 19.91727 19.91727 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial +4117 1821 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 1821 a 4117 1821 a + tx@Dict begin { 0.0 39.83453 0.0 0.0 0.0 -9.95863 0. -9.95863 9.95863 +-9.95863 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 4117 1821 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 0.0 0.0 39.83453 +39.83453 .5 Frame gsave .25 setgray fill grestore gsave 0.8 SLW 0 + setgray 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 19.91727 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 9.95863 29.8759 2.98761 +SD end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 9.95863 2.98761 +SD end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 19.91727 2.98761 +SD end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 1 setgray 29.8759 29.8759 2.98761 +SD end + +@endspecial 4117 1821 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 4117 1821 a 4426 +2206 4 1764 v 639 2209 3790 4 v Black Black eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/usergrps/uktug/baskervi/6_1/0-0-29.tex b/usergrps/uktug/baskervi/6_1/0-0-29.tex new file mode 100644 index 0000000000..3e0c1b6092 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-29.tex @@ -0,0 +1,5 @@ + \psset{unit=.5cm} + \psset{viewpoint=-1 -1 1} + \ThreeDput[normal=0 0 1]{\psgrid(-3,-3)(6,6)} + \ThreeDput[normal=-1 0 0](0,4,0){ + \psframe*[linecolor=yellow](4,4)} diff --git a/usergrps/uktug/baskervi/6_1/0-0-3.tex b/usergrps/uktug/baskervi/6_1/0-0-3.tex new file mode 100644 index 0000000000..1c5fe994cc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-3.tex @@ -0,0 +1 @@ + \psline(2,1) diff --git a/usergrps/uktug/baskervi/6_1/0-0-30.eps b/usergrps/uktug/baskervi/6_1/0-0-30.eps new file mode 100644 index 0000000000..7360435af2 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-30.eps @@ -0,0 +1,2156 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software +%%Title: 0-0-30.dvi +%%BoundingBox: 146 522 322 658 +%%DocumentFonts: Helvetica-Bold +%%EndComments +%DVIPSCommandLine: dvips -D600 0-0-30 -E -o 0-0-30.eps +%DVIPSParameters: dpi=600, compressed, comments removed +%DVIPSSource: TeX output 1996.02.13:1838 +%%BeginProcSet: texc.pro +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id +ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ +rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get +/gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp +X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X +adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup +255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} +B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv +S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] +}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +%%EndProcSet +%%BeginProcSet: pstricks.pro +% PostScript prologue for pstricks.tex. +% Created 1994/6/23. Source file was pstricks.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@Dict 200 dict def tx@Dict begin +/ADict 25 dict def +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Atan { /atan load stopped { pop pop 0 } if } def +/Div { dup 0 eq { pop } { div } ifelse } def +/NET { neg exch neg exch T } def +/Pyth { dup mul exch dup mul add sqrt } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } +def +/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def +} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } +/pathforall load stopped { pop pop pop pop } if z } def +/STP { .996264 dup scale } def +/STV { SDict begin normalscale end STP } def +/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def +PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y +mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul +/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] +0 } ifelse setdash stroke } def +/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt +{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add +def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if +] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 +setlinecap stroke } def +/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch +2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 +itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a +Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict +/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 +a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } +def +/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg +exch 3 index sub exch Atan rotate newpath } def +/EndArrow { @mtrx setmatrix CP grestore end } def +/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 +scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill +grestore } def +/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 +CLW moveto } def +/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 +div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 +CLW moveto } def +/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW +2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 +curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } +def +/SD { 0 360 arc fill } def +/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS +CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def +/Shadow { {[ { /moveto load } { /lineto load } { /curveto load } { +/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto +load } if ] cvx newpath 3 1 roll T exec } stopped pop} def +/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch +cvi def } def +/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if +f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub +def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def +/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } +ifelse { pop } repeat a } def +/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq +and { pop pop /n n 1 sub def } if } def +/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } +repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 +ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 +moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto +Lineto pop pop closepath } ifelse } def +/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul +neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add +def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 +div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { +pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 +div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 +d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 +def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp +mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos +abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def +/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul +m mul neg def } def +/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } +ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } +def +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def +n { NC } repeat EOC } ifelse } def +/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload +/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop +pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def +/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { +CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } +repeat closepath pop pop } ifelse } def +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } +def +/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix +rotate matrix concatmatrix exch findfont exch makefont setfont } def +/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto +x1 y1 lineto closepath } def +/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 +y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div +exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse +/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto +x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } +ifelse } def +/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add +/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { +pop pop Rect } { OvalFrame } ifelse } def +/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop +} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] +aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 +2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } +ifelse } def +/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { +6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def +/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 +sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } +def +/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 +sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA +x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 +y0 x0 2 mul x1 sub y1 ] def } def +/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } +if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if +/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div +round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div +round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub +0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def +/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } +if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } +{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add +exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n +div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 +dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { +dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { +pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup +stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} +{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i +w add def } repeat grestore gsave n 0 gt { 1 setlinecap [ 0 dx n div ] +dy n div 2 div setdash } { 2 setlinecap } ifelse /i y1 def /f x1 dx mul +n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n +div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop +1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs +dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt +{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g +exch t L stroke /i i h add def } repeat grestore } def +/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 +1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add +exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c +mul neg d } def +/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } +def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle +dup a add ] cvx def } def +/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] +cvx def } def +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s +abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b +div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { +h1 abs h sub dup s mul abs } ifelse } def +/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s +mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q +{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add +exch } def +/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible +/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def +} if } ifelse } def +/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def +/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit +neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def +/IfVisible true def } def +end +%%EndProcSet +%%BeginProcSet: pst-dots.pro +10 dict dup begin + /FontType 3 def + /FontMatrix [ .001 0 0 .001 0 0 ] def + /FontBBox [ 0 0 0 0 ] def + /Encoding 256 array def + 0 1 255 { Encoding exch /.notdef put } for + Encoding + dup (b) 0 get /Bullet put + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + (P) 0 get /BoldPentagon put + /Metrics 13 dict def + Metrics begin + /Bullet 1000 def + /Circle 1000 def + /BoldCircle 1000 def + /SolidTriangle 1344 def + /Triangle 1344 def + /BoldTriangle 1344 def + /SolidSquare 886 def + /Square 886 def + /BoldSquare 886 def + /SolidPentagon 1093.2 def + /Pentagon 1093.2 def + /BoldPentagon 1093.2 def + /.notdef 0 def + end + /BBoxes 13 dict def + BBoxes begin + /Circle { -550 -550 550 550 } def + /BoldCircle /Circle load def + /Bullet /Circle load def + /Triangle { -571.5 -330 571.5 660 } def + /BoldTriangle /Triangle load def + /SolidTriangle /Triangle load def + /Square { -450 -450 450 450 } def + /BoldSquare /Square load def + /SolidSquare /Square load def + /Pentagon { -546.6 -465 546.6 574.7 } def + /BoldPentagon /Pentagon load def + /SolidPentagon /Pentagon load def + /.notdef { 0 0 0 0 } def + end + /CharProcs 20 dict def + CharProcs begin + /Adjust { + 2 copy dtransform floor .5 add exch floor .5 add exch idtransform + 3 -1 roll div 3 1 roll exch div exch scale + } def + /CirclePath { 0 0 500 0 360 arc closepath } def + /Bullet { 500 500 Adjust CirclePath fill } def + /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def + /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def + /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def + /TrianglePath { + 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath + } def + /SolidTriangle { TrianglePath fill } def + /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def + /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def + /SquarePath { + -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto + closepath + } def + /SolidSquare { SquarePath fill } def + /Square { SquarePath .89 .89 scale SquarePath eofill } def + /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def + /PentagonPath { + -337.8 -465 moveto + 337.8 -465 lineto + 546.6 177.6 lineto + 0 574.7 lineto + -546.6 177.6 lineto + closepath + } def + /SolidPentagon { PentagonPath fill } def + /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def + /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def + /.notdef { } def + end + /BuildGlyph { + exch + begin + Metrics 1 index get exec 0 + BBoxes 3 index get exec + setcachedevice + CharProcs begin load exec end + end + } def + /BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec + } bind def +end +/PSTricksDotFont exch definefont pop +%%EndProcSet +%%BeginProcSet: gradient.pro +% PostScript header file gradient.ps +% For the PSTricks gradient fillstyle. +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. +% +% Based on some EPS files by leeweyr!bill@nuchat.sccsi.com (W. R. Lee). +% +% Syntax: +% R0 G0 B0 R1 G1 B1 MidPoint NumLines Angle GradientFill + +/tx@GradientDict 40 dict def +tx@GradientDict begin +/GradientFill { + rotate + /MidPoint ED + /NumLines ED + /LastBlue ED + /LastGreen ED + /LastRed ED + /FirstBlue ED + /FirstGreen ED + /FirstRed ED + clip + pathbbox %leave llx,lly,urx,ury on stack + /y ED /x ED + 2 copy translate + y sub neg /y ED + x sub neg /x ED + /b { + x 0 rlineto + 0 YSizePerLine rlineto + x neg 0 rlineto + closepath + } def + /MidLine NumLines 1 MidPoint sub mul abs cvi def + MidLine NumLines gt { /Midline NumLines def } if + /RedIncrement LastRed FirstRed sub MidLine div def + /GreenIncrement LastGreen FirstGreen sub MidLine div def + /BlueIncrement LastBlue FirstBlue sub MidLine div def + /YSizePerLine y NumLines div def + /CurrentY 0 def + /Red FirstRed def + /Green FirstGreen def + /Blue FirstBlue def + % This avoids gaps due to rounding errors: + gsave Red Green Blue setrgbcolor fill grestore + MidLine { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement add dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + /RedIncrement LastRed FirstRed sub NumLines MidLine sub div def + /GreenIncrement LastGreen FirstGreen sub NumLines MidLine sub div def + /BlueIncrement LastBlue FirstBlue sub NumLines MidLine sub div def + Blue BlueIncrement sub /Blue exch def + Green GreenIncrement sub /Green exch def + Red RedIncrement sub /Red exch def + NumLines MidLine sub 1 add { + 0 CurrentY moveto b + Red Green Blue setrgbcolor fill + CurrentY YSizePerLine add /CurrentY exch def + Blue BlueIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Blue exch def + Green GreenIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Green exch def + Red RedIncrement sub dup 1 gt { pop 1 } if + dup 0 lt { pop 0 } if /Red exch def + } repeat +} def +end +% END gradient.ps +%%EndProcSet +%%BeginProcSet: pst-coil.pro +% PostScript prologue for pst-coil.tex. +% Created 1993/3/12. Source file was pst-coil.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@CoilDict 40 dict def tx@CoilDict begin +/CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos +lineto } def +/Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED +/h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0 +sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos +Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div +w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h +mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for +EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP +TotalLength 0 ArrowB lineto } def +/AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED +/EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale +BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add +BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc +EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def +/ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED +/x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED +Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul +sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add +def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat +TotalLength ArmA sub 0 TotalLength 0 } def +end +%%EndProcSet +%%BeginProcSet: textpath.pro +% PostScript header file textpath.pro +% For putting text along curve with textpath.tex and PSTricks +% Version: 0.93a +% Date: 93/03/12 +% For copying restrictions, see pstricks.doc or pstricks.tex. + +/tx@TextPathDict 40 dict def +tx@TextPathDict begin + +/PathPosition +{ /targetdist exch def + /pathdist 0 def + /continue true def + /X { newx } def /Y { newy } def /Angle 0 def + gsave + flattenpath + { movetoproc } { linetoproc } { curvetoproc } { closepathproc } + pathforall + grestore +} def + +/movetoproc { continue { @movetoproc } { pop pop } ifelse } def + +/@movetoproc +{ /newy exch def /newx exch def + /firstx newx def /firsty newy def +} def + +/linetoproc { continue { @linetoproc } { pop pop } ifelse } def + +/@linetoproc +{ + /oldx newx def /oldy newy def + /newy exch def /newx exch def + /dx newx oldx sub def + /dy newy oldy sub def + /dist dx dup mul dy dup mul add sqrt def + /pathdist pathdist dist add def + pathdist targetdist ge + { pathdist targetdist sub dist div dup + dy mul neg newy add /Y exch def + dx mul neg newx add /X exch def + /Angle dy dx atan def + /continue false def + } if +} def + +/curvetoproc { (ERROR: No curveto's after flattenpath!) print } def + +/closepathproc { firstx firsty linetoproc } def + +/TextPathShow +{ /String exch def + /CharCount 0 def + String length + { String CharCount 1 getinterval ShowChar + /CharCount CharCount 1 add def + } repeat +} def + +/InitTextPath +{ gsave + currentpoint + /Y exch def /X exch def + 10000000 PathPosition + pathdist X Hoffset sub sub mul + Voffset Hoffset sub add + neg X add /Hoffset exch def + /Voffset Y def + grestore +} def + +/Transform +{ PathPosition + dup + Angle cos mul Y add exch + Angle sin mul neg X add exch + translate + Angle rotate +} def + +/ShowChar +{ /Char exch def + gsave + Char end stringwidth + tx@TextPathDict begin + 2 div /Sy exch def 2 div /Sx exch def + currentpoint + Voffset sub Sy add exch + Hoffset sub Sx add + Transform + Sx neg Sy neg moveto + Char end tx@TextPathSavedShow + tx@TextPathDict begin + grestore + Sx 2 mul Sy 2 mul rmoveto +} def + +end +% End textpath.pro +%%EndProcSet +%%BeginProcSet: pst-node.pro +% PostScript prologue for pst-node.tex. +% Created 1993/3/12. Source file was pst-node.doc +% Version 0.93a, 93/03/12. +% For use with Rokicki's dvips. +/tx@NodeDict 200 dict def tx@NodeDict begin +/NewNode { gsave /next ED dict dup 3 -1 roll ED begin tx@Dict begin STV +CP T exec end /NodeMtrx CM def next end grestore } def +/InitPnode { /Y ED /X ED /NodePos { Nodesep Cos mul Nodesep Sin mul } def +} def +/InitCnode { /r ED /Y ED /X ED /NodePos { Nodesep r add dup Cos mul exch +Sin mul } def } def +/GetRnodePos { Cos 0 gt { /dx r Nodesep add def } { /dx l Nodesep sub def +} ifelse Sin 0 gt { /dy u Nodesep add def } { /dy d Nodesep sub def } +ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx +dup Sin mul Cos Div } ifelse } def +/InitRnode { /r ED r mul neg /l ED /r r l add def /X l neg def { neg /d +ED /u ED /Y 0 def } { neg /Y ED Y sub /u ED u mul neg /d ED /u u d add +def /Y Y d sub def } ifelse /NodePos { GetRnodePos } def } def +/InitRNode { /Y ED /X ED /r ED /X r 2 div X add def /r r X sub def /l X +neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def +/GetOnodePos { /ww w Nodesep add def /hh h Nodesep add def Sin ww mul Cos +hh mul Atan dup cos ww mul exch sin hh mul } def +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +/GetAngle { nodeA GetCenter nodeB GetCenter 3 -1 roll sub 3 1 roll sub +neg Atan } def +/GetEdge { begin /Nodesep ED dup 1 0 NodeMtrx dtransform CM idtransform +exch atan sub dup sin /Sin ED cos /Cos ED NodePos Y add exch X add exch +NodeMtrx transform CM itransform end 4 2 roll 1 index 0 eq { pop pop } { +2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def +/GetPos { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED OffsetB +AngleB NodesepB nodeB GetEdge /y2 ED /x2 ED } def +/InitNC { /nodeB ED /nodeA ED /NodesepB ED /NodesepA ED /OffsetB ED +/OffsetA ED tx@NodeDict nodeA known tx@NodeDict nodeB known and dup { +/nodeA nodeA load def /nodeB nodeB load def } if } def +/LineMP { 4 copy 1 t sub mul exch t mul add 3 1 roll 1 t sub mul exch t +mul add exch 6 2 roll sub 3 1 roll sub Atan } def +/NCCoor { GetAngle /AngleA ED /AngleB AngleA 180 add def GetPos /LPutVar +[ x2 x1 y2 y1 ] cvx def /LPutPos { LPutVar LineMP } def x1 y1 x2 y2 } +def +/NCLine { NCCoor tx@Dict begin ArrowB 4 2 roll ArrowA lineto end } def +/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED +/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 +mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx +sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul +add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add +y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul +mul 2 bx t mul mul add cx add atan } def +/GetArms { /x1a armA AngleA cos mul x1 add def /y1a armA AngleA sin mul +y1 add def /x2a armB AngleB cos mul x2 add def /y2a armB AngleB sin mul +y2 add def } def +/NCCurve { GetPos x1 x2 sub y1 y2 sub Pyth 2 div dup 3 -1 roll mul /armA +ED mul /armB ED GetArms x1a y1a x1 y1 tx@Dict begin ArrowA end x2a y2a +x2 y2 tx@Dict begin ArrowB end curveto /LPutVar [ x1 y1 x1a y1a x2a y2a +x2 y2 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def } def +/AnglesMP { LPutVar t 3 gt { /t t 3 sub def } { t 2 gt { /t t 2 sub def +10 -2 roll } { t 1 gt { /t t 1 sub def 10 -4 roll } { 10 4 roll } ifelse +} ifelse } ifelse 6 { pop } repeat 3 -1 roll exch LineMP } def +/NCAngles { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform exch pop mtrx itransform /y0 ED /x0 +ED mark armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1a y1a armA 0 ne { x1 y1 } +if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x0 y0 x1a y1a +x1 y1 ] cvx def /LPutPos { AnglesMP } def } def +/NCAngle { GetPos /x2a armB AngleB cos mul x2 add def /y2a armB AngleB +sin mul y2 add def /mtrx AngleA matrix rotate def x2a y2a mtrx transform +pop x1 y1 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark +armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1 y1 tx@Dict begin false Line end +/LPutVar [ x2 y2 x2 y2 x2a y2a x0 y0 x1 y1 ] cvx def /LPutPos { AnglesMP +} def } def +/NCBar { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform pop x2a y2a mtrx transform pop sub dup 0 mtrx itransform 3 -1 +roll 0 gt { /y2a exch y2a add def /x2a exch x2a add def } { /y1a exch +neg y1a add def /x2a exch neg x2a add def } ifelse mark x2 y2 x2a y2a +x1a y1a x1 y1 tx@Dict begin false Line end /LPutVar [ x2 y2 x2 y2 x2a +y2a x1a y1a x1 y1 ] cvx def /LPutPos { LPutVar AnglesMP } def } def +/NCDiag { GetPos GetArms mark x2 y2 x2a y2a x1a y1a x1 y1 tx@Dict begin +false Line end /LPutVar [ x2 y2 x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def +/LPutPos { AnglesMP } def } def +/NCDiagg { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED /x1a armA +AngleA cos mul x1 add def /y1a armA AngleA sin mul y1 add def nodeB +GetCenter y1a sub exch x1a sub Atan 180 add /AngleB ED OffsetB AngleB +NodesepB nodeB GetEdge /y2 ED /x2 ED mark x2 y2 x1a y1a x1 y1 tx@Dict +begin false Line end /LPutVar [ x2 y2 x2 y2 x2 y2 x1a y1a x1 y1] cvx def +/LPutPos { AnglesMP } def } def +/LoopMP { /t t abs def [ LPutVar ] length 2 div 1 sub dup t lt { /t ED } +{ pop } ifelse mark LPutVar t cvi { /t t 1 sub def pop pop } repeat +counttomark 1 add 4 roll cleartomark 3 -1 roll exch LineMP } def +/NCLoop { GetPos GetArms /mtrx AngleA matrix rotate def x1a y1a mtrx +transform loopsize add /y1b ED /x1b ED /x2b x2a y2a mtrx transform pop +def x2b y1b mtrx itransform /y2b ED /x2b ED x1b y1b mtrx itransform /y1b +ED /x1b ED mark armB 0 ne { x2 y2 } if x2a y2a x2b y2b x1b y1b x1a y1a +armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a +y2a x2b y2b x1b y1b x1a y1a x1 y1 ] cvx def /LPutPos { LoopMP } def } +def +/NCCircle { nodeA GetCenter 0 0 NodesepA nodeA GetEdge pop 3 1 roll /Y ED +/X ED X sub 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r +AngleA 90 add PtoC Y add exch X add exch 2 copy /LPutVar [ 4 2 roll r a +] def /LPutPos { LPutVar aload pop t 360 mul add dup 5 1 roll 90 sub +PtoC 3 -1 roll add 3 1 roll add exch 3 -1 roll } def r AngleA 90 sub a +add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c +57.2957 r Div def /y ED /x ED } def +/LPutCoor { tx@NodeDict /LPutPos known { gsave LPutPos tx@Dict begin +/langle ED CM 3 1 roll STV CP 3 -1 roll sub neg 3 1 roll sub exch moveto +setmatrix CP end grestore } { 0 0 tx@Dict /langle 0 def end } ifelse } +def +end +%%EndProcSet +%%BeginFont: Helvetica-Bold +% @psencodingfile{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", +% version = "0.6", +% date = "14 April 1995", +% filename = "8r.enc", +% email = "kb@cs.umb.edu", +% address = "135 Center Hill Rd. // Plymouth, MA 02360", +% codetable = "ISO/ASCII", +% checksum = "xx", +% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." +% } +% +% Idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard Encoding + ISO Latin 1 + extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% +% (4) Remaining positions left undefined are for use in (hopefully) +% upward-compatible revisions, if someday more characters are generally +% available. +% +% (5) hyphen appears twice for compatibility with both ASCII and Windows. +% +/TeXBase1Encoding [ +% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef + /breve /minus /.notdef +% These are the only two remaining unencoded characters, so may as +% well include them. + /Zcaron /zcaron +% 0x10 + /caron /dotlessi +% (unusual TeX characters available in, e.g., Lucida Bright) + /dotlessj /ff /ffi /ffl + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % very contentious; it's so painful not having quoteleft and quoteright + % at 96 and 145 that we move the things normally found there down to here. + /grave /quotesingle +% 0x20 (ASCII begins) + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three /four /five /six /seven + /eight /nine /colon /semicolon /less /equal /greater /question +% 0x40 + /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O +% 0x50 + /P /Q /R /S /T /U /V /W + /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o +% 0x70 + /p /q /r /s /t /u /v /w + /x /y /z /braceleft /bar /braceright /asciitilde + /.notdef % rubout; ASCII ends +% 0x80 + /.notdef /.notdef /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /.notdef /.notdef /.notdef +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /.notdef /.notdef /Ydieresis +% 0xA0 + /.notdef % nobreakspace + /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot + /hyphen % Y&Y (also at 45); Windows' softhyphen + /registered + /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def +%%EndFont +%%BeginProcSet: texps.pro +TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 +index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont /setfont load]cvx def}def +/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def +/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def +end +%%EndProcSet +%%BeginProcSet: special.pro +TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N +/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen +false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B +/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit +div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ +/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ +10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B +/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale +true def end /@MacSetUp{userdict /md known{userdict /md get type +/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup +length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} +N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath +clippath mark{transform{itransform moveto}}{transform{itransform lineto} +}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ +itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ +closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 +0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N +/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 +scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get +ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip +not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 +TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR +pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 +-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg +TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg +sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr +0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add +2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp +{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 +div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} +N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict +maxlength dict begin /magscale true def normalscale currentpoint TR +/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts +/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx +psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy +scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR +/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict +begin /SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial +{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath +}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ +end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} +N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ +/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX +SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X +/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad +yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +%%EndProcSet +%%BeginProcSet: color.pro +TeXDict begin /setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse /TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def /TeXcolorgrey{setgray}def /TeXcolorgray{ +setgray}def /TeXcolorhsb{sethsbcolor}def /currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse /DC{exch dup userdict exch +known{pop pop}{X}ifelse}B /GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC /Goldenrod{0 0.10 0.84 0 setcmykcolor} +DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC /Apricot{0 0.32 0.52 0 +setcmykcolor}DC /Peach{0 0.50 0.70 0 setcmykcolor}DC /Melon{0 0.46 0.50 +0 setcmykcolor}DC /YellowOrange{0 0.42 1 0 setcmykcolor}DC /Orange{0 +0.61 0.87 0 setcmykcolor}DC /BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC /RedOrange{0 0.77 0.87 0 +setcmykcolor}DC /Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC /Maroon{0 +0.87 0.68 0.32 setcmykcolor}DC /BrickRed{0 0.89 0.94 0.28 setcmykcolor} +DC /Red{0 1 1 0 setcmykcolor}DC /OrangeRed{0 1 0.50 0 setcmykcolor}DC +/RubineRed{0 1 0.13 0 setcmykcolor}DC /WildStrawberry{0 0.96 0.39 0 +setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC /CarnationPink{0 +0.63 0 0 setcmykcolor}DC /Magenta{0 1 0 0 setcmykcolor}DC /VioletRed{0 +0.81 0 0 setcmykcolor}DC /Rhodamine{0 0.82 0 0 setcmykcolor}DC /Mulberry +{0.34 0.90 0 0.02 setcmykcolor}DC /RedViolet{0.07 0.90 0 0.34 +setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC /Lavender{0 +0.48 0 0 setcmykcolor}DC /Thistle{0.12 0.59 0 0 setcmykcolor}DC /Orchid{ +0.32 0.64 0 0 setcmykcolor}DC /DarkOrchid{0.40 0.80 0.20 0 setcmykcolor} +DC /Purple{0.45 0.86 0 0 setcmykcolor}DC /Plum{0.50 1 0 0 setcmykcolor} +DC /Violet{0.79 0.88 0 0 setcmykcolor}DC /RoyalPurple{0.75 0.90 0 0 +setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC /Periwinkle +{0.57 0.55 0 0 setcmykcolor}DC /CadetBlue{0.62 0.57 0.23 0 setcmykcolor} +DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC /MidnightBlue{0.98 0.13 +0 0.43 setcmykcolor}DC /NavyBlue{0.94 0.54 0 0 setcmykcolor}DC +/RoyalBlue{1 0.50 0 0 setcmykcolor}DC /Blue{1 1 0 0 setcmykcolor}DC +/Cerulean{0.94 0.11 0 0 setcmykcolor}DC /Cyan{1 0 0 0 setcmykcolor}DC +/ProcessBlue{0.96 0 0 0 setcmykcolor}DC /SkyBlue{0.62 0 0.12 0 +setcmykcolor}DC /Turquoise{0.85 0 0.20 0 setcmykcolor}DC /TealBlue{0.86 +0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC +/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC /Emerald{1 0 0.50 0 +setcmykcolor}DC /JungleGreen{0.99 0 0.52 0 setcmykcolor}DC /SeaGreen{ +0.69 0 0.50 0 setcmykcolor}DC /Green{1 0 1 0 setcmykcolor}DC +/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 +0.25 setcmykcolor}DC /LimeGreen{0.50 0 1 0 setcmykcolor}DC /YellowGreen{ +0.44 0 0.74 0 setcmykcolor}DC /SpringGreen{0.26 0 0.76 0 setcmykcolor} +DC /OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC /RawSienna{0 0.72 1 0.45 +setcmykcolor}DC /Sepia{0 0.83 1 0.70 setcmykcolor}DC /Brown{0 0.81 1 +0.60 setcmykcolor}DC /Tan{0.14 0.42 0.56 0 setcmykcolor}DC /Gray{0 0 0 +0.50 setcmykcolor}DC /Black{0 0 0 1 setcmykcolor}DC /White{0 0 0 0 +setcmykcolor}DC end +%%EndProcSet +TeXDict begin 40258437 52099154 1000 600 600 (0-0-30.dvi) +@start /Fa 134[105 2[105 1[63 105 74 1[115 115 1[168 +3[53 115 2[105 3[105 8[126 3[115 7[115 3[136 2[126 1[136 +67[{ TeXBase1Encoding ReEncodeFont }18 189.685699 /Helvetica-Bold +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + +%%EndSetup +1 0 bop Black Black 1348 1739 a + tx@Dict begin { 0.0 0.0 0.0 0.0 0.0 14.22636 0. -14.22636 -14.22636 +21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0 0 setrgbcolor fill +grestore end + +@endspecial 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin { 0.99594 0.99594 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.07 0.07 setrgbcolor +fill grestore end + +@endspecial +1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 1.99167 1.99167 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.14 0.14 setrgbcolor +fill grestore end + +@endspecial 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin { 2.98763 2.98763 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.21 0.21 setrgbcolor +fill grestore end + +@endspecial +1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 3.98335 3.98335 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.28 0.28 setrgbcolor +fill grestore end + +@endspecial 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin { 4.97931 4.97931 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.35 0.35 setrgbcolor +fill grestore end + +@endspecial +1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 5.97504 5.97504 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.42 0.42 setrgbcolor +fill grestore end + +@endspecial 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin { 6.971 6.971 0.0 0.0 0.0 14.22636 0. -14.22636 -14.22636 +21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.49 0.49 setrgbcolor +fill grestore end + +@endspecial +1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 7.96672 7.96672 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.56 0.56 setrgbcolor +fill grestore end + +@endspecial 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin { 8.96268 8.96268 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.63 0.63 setrgbcolor +fill grestore end + +@endspecial +1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 9.9584 9.9584 0.0 0.0 0.0 14.22636 0. -14.22636 -14.22636 +21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.70 0.70 setrgbcolor +fill grestore end + +@endspecial 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin { 10.95436 10.95436 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 71.13182 71.13182 85.35818 +.5 CLW mul sub 0 360 arc closepath gsave 1 0.77 0.77 setrgbcolor +fill grestore end + +@endspecial +1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 0.0 0.0 0.0 0.0 0.0 14.22636 0. -14.22636 -14.22636 +21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 +a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0 0 TeXcolorrgb +71 x Fa(Happ)m(y)54 b(Christmas)p Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0 0 +TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p +Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a +1348 1739 a + tx@Dict begin { 0.99594 0.99594 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 +1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.07 0.07 TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p +Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.07 0.07 TeXcolorrgb 71 x Fa(T)1431 +1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 +a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 1.99167 1.99167 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 +a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.14 0.14 +TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p Black 2899 +1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + +370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 +a 1 0.14 0.14 TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 +1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 +a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 2.98763 2.98763 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 +a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.21 0.21 TeXcolorrgb +71 x Fa(Happ)m(y)h(Christmas)p Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.21 0.21 +TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p +Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a +1348 1739 a + tx@Dict begin { 3.98335 3.98335 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 +1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.28 0.28 TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p +Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.28 0.28 TeXcolorrgb 71 x Fa(T)1431 +1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 +a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 4.97931 4.97931 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 +a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.35 0.35 +TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p Black 2899 +1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + +370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 +a 1 0.35 0.35 TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 +1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 +a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 5.97504 5.97504 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 +a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.42 0.42 TeXcolorrgb +71 x Fa(Happ)m(y)h(Christmas)p Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.42 0.42 +TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p +Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a +1348 1739 a + tx@Dict begin { 6.971 6.971 0.0 0.0 0.0 14.22636 0. -14.22636 -14.22636 +21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 +1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.49 0.49 TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p +Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.49 0.49 TeXcolorrgb 71 x Fa(T)1431 +1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 +a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 7.96672 7.96672 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 +a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.56 0.56 +TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p Black 2899 +1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + +370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 +a 1 0.56 0.56 TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 +1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 +a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 8.96268 8.96268 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 +1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 +a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.63 0.63 TeXcolorrgb +71 x Fa(Happ)m(y)h(Christmas)p Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.63 0.63 +TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p +Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a +1348 1739 a + tx@Dict begin { 9.9584 9.9584 0.0 0.0 0.0 14.22636 0. -14.22636 -14.22636 +21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { +/a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { +/a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul +p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 +p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ +b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 +1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.70 0.70 TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p +Black 2899 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a +370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + 370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 +a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.70 0.70 TeXcolorrgb 71 x Fa(T)1431 +1860 y(E)1534 1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 +a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a 1348 1739 a + tx@Dict begin { 10.95436 10.95436 0.0 0.0 0.0 14.22636 0. -14.22636 +-14.22636 21.33954 0. dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED +p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { +p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { +p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg +/b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D +[ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul +neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def Matrix3D +aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED dup sin /e ED cos +/f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 +} ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse +def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch +div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan +dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul +c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg +c b mul f mul add d f mul ] def [ Matrix3D aload pop z3 mul exch z2 +mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul +add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll +x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll +8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 +mul exch z2 mul add exch z1 mul add ] concat } tx@Dict /TMatrix known +not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM +] cvx def /cp [ currentpoint ] cvx def CM CP T STV CM matrix invertmatrix +matrix concatmatrix exch exec concat cp moveto end + 1348 +1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div sub +def /angleB 0. 0.0 c mul 2 div add def x y r angleA angleB arcn mtrxc +setmatrix 0 setgray end + 1348 1739 a -203 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + -203 1739 +a -203 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + -203 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 a 1 0.77 0.77 +TeXcolorrgb 71 x Fa(Happ)m(y)h(Christmas)p Black 2899 +1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2899 1739 a 1348 1739 a + tx@Dict begin /mtrxc CM def STV CP translate newpath 0.8 SLW 0 setgray + /ArrowA { moveto } def /ArrowB { } def 78.245 78.245 /y ED /x ED /r +56.90546 def /c 57.2957 r Div def /angleA 180. 0.0 c mul 2 div add +def /angleB 0. 0.0 c mul 2 div sub def x y r angleA angleB arc mtrxc +setmatrix 0 setgray end + 1348 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Hoffset exch def end + +370 1739 a 370 1739 a + tx@TextPathDict begin currentpoint pop /Voffset exch def end + 370 1739 a 1348 1739 a + /tx@TextPathSavedShow /show load def tx@Dict begin PathLength end +dup 0 gt { tx@TextPathDict begin .5 InitTextPath end /show { tx@TextPathDict +begin TextPathShow end } def } { pop } ifelse + 1348 1739 +a 1 0.77 0.77 TeXcolorrgb 71 x Fa(T)1431 1860 y(E)1534 +1810 y(X)f(Lo)l(ver)m(s)p Black 2326 1739 a + currentpoint newpath moveto /show /tx@TextPathSavedShow load def + 2326 1739 +a 1348 1739 a + tx@Dict begin CP /TMatrix [ TMatrix setmatrix ] cvx def moveto end + 1348 1739 a Black Black eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/usergrps/uktug/baskervi/6_1/0-0-30.tex b/usergrps/uktug/baskervi/6_1/0-0-30.tex new file mode 100644 index 0000000000..5e73c421f6 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-30.tex @@ -0,0 +1,26 @@ +\documentclass{article} +\usepackage{spqr,pstcol} +\pagestyle{empty} + +\begin{document} +\begin{pspicture}(-3,0)(3,5.5) +\psset{unit=.5cm} +\font\bigfont=phvb8t at .8cm +\psset{viewpoint=-1 -1 1.5,normal=0 0 1} +\rput(0,0){\multido{\n=0+0.07}{12} + {\definecolor{AColor}{rgb}{1, \n, \n} + \ThreeDput(\n,\n,0){\pscircle[% + linestyle=none,fillstyle=solid, + fillcolor=AColor](5,5){6}}}} +\psset{linestyle=none} +\rput(0,0){\multido{\n=0+0.07}{12} + {\definecolor{AColor}{rgb}{1, \n, \n} + \ThreeDput(\n,\n,0){\bigfont + \pstextpath[c]{% + \psarcn(5.5,5.5){4}{180}{0}}{% + \color{AColor}Happy Christmas} + \pstextpath[c]{% + \psarc(5.5,5.5){4}{180}{0}}{% + \color{AColor}\TeX\ Lovers}}}} +\end{pspicture} +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/0-0-4.tex b/usergrps/uktug/baskervi/6_1/0-0-4.tex new file mode 100644 index 0000000000..fc9bf660fd --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-4.tex @@ -0,0 +1 @@ + \psline[linestyle=dashed](2,1) diff --git a/usergrps/uktug/baskervi/6_1/0-0-5.tex b/usergrps/uktug/baskervi/6_1/0-0-5.tex new file mode 100644 index 0000000000..8079a0f038 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-5.tex @@ -0,0 +1,2 @@ + \psline[linewidth=0.6mm,doubleline=true, + doublesep=0.5mm]{->}(2,1) diff --git a/usergrps/uktug/baskervi/6_1/0-0-6.tex b/usergrps/uktug/baskervi/6_1/0-0-6.tex new file mode 100644 index 0000000000..4873436bd2 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-6.tex @@ -0,0 +1,4 @@ + \psline[linearc=0.25,showpoints=true]{->}% + (1,0)(4,0.3)(2,2)(0,0.5) + \psline[linestyle=dotted,linecolor=blue, + arrowlength=3]{<->}(0,1)(3,0)(4,2) diff --git a/usergrps/uktug/baskervi/6_1/0-0-7.tex b/usergrps/uktug/baskervi/6_1/0-0-7.tex new file mode 100644 index 0000000000..bff9725e2e --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-7.tex @@ -0,0 +1,6 @@ + \psframe[fillstyle=solid,fillcolor=pink] + (1,0)(4,1) + \psframe[fillstyle=solid,fillcolor=white, + framearc=0.5](3,0.2)(3.8,0.8) + \pspolygon[linewidth=0.7mm,dimen=inner] + (0,1)(2,2)(3,1)(2,0) diff --git a/usergrps/uktug/baskervi/6_1/0-0-8.tex b/usergrps/uktug/baskervi/6_1/0-0-8.tex new file mode 100644 index 0000000000..fb6601db4b --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-8.tex @@ -0,0 +1,3 @@ + \psdiamond(1.5,1.5)(1.5,0.5) + \pstriangle[fillstyle=solid, + fillcolor=yellow](2,0)(3,1) diff --git a/usergrps/uktug/baskervi/6_1/0-0-9.tex b/usergrps/uktug/baskervi/6_1/0-0-9.tex new file mode 100644 index 0000000000..f7145f2b17 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-0-9.tex @@ -0,0 +1,6 @@ + \pscircle[linewidth=1mm,linecolor=green] + (1,1){1} + \pscircle[linestyle=none,fillstyle=solid, + fillcolor=lightblue](1,1){0.5} + \pscircle[fillstyle=crosshatch](2.5,1.5) + {0.5} diff --git a/usergrps/uktug/baskervi/6_1/0-2-1.tex b/usergrps/uktug/baskervi/6_1/0-2-1.tex new file mode 100644 index 0000000000..140ea02261 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-2-1.tex @@ -0,0 +1,2 @@ +\psline[linewidth=1pt,linecolor=gray] + {<->}(0.5,0)(0,1)(1,1.5)(1.5,1)(.5,.5) diff --git a/usergrps/uktug/baskervi/6_1/0-3-2.tex b/usergrps/uktug/baskervi/6_1/0-3-2.tex new file mode 100644 index 0000000000..341b7f3625 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-3-2.tex @@ -0,0 +1,2 @@ +\rput(.1,.1){\psline(0,0)(1.3,1.3)} +\rput{-20}(1.2,.4){\psline(0,0)(1,0)} diff --git a/usergrps/uktug/baskervi/6_1/0-4-10.tex b/usergrps/uktug/baskervi/6_1/0-4-10.tex new file mode 100644 index 0000000000..df4ea5f4de --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-10.tex @@ -0,0 +1,6 @@ + \psellipse[linecolor=green, + fillstyle=vlines,hatchangle=0, + hatchcolor=red](1,1)(1,0.5) + \pswedge[fillstyle=solid, + fillcolor=lightgray] + (2.5,1){1}{0}{120} diff --git a/usergrps/uktug/baskervi/6_1/0-4-11.tex b/usergrps/uktug/baskervi/6_1/0-4-11.tex new file mode 100644 index 0000000000..fae9c3be3d --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-11.tex @@ -0,0 +1,8 @@ + \psdots[linecolor=blue,dotstyle=triangle, + dotscale=2](0,0.5)(1,2)(2.8,1.5) + \pscurve[linecolor=cyan,showpoints=true] + {->}% + (0,1.2)(1.3,1.8)(3,0.4)(0.5,0.2) + \psarc(2,1.5){1}{180}{320} + \parabola[linecolor=red]{<->}% + (0.3,0.3)(1.5,1.5) diff --git a/usergrps/uktug/baskervi/6_1/0-4-12.tex b/usergrps/uktug/baskervi/6_1/0-4-12.tex new file mode 100644 index 0000000000..ade84b803a --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-12.tex @@ -0,0 +1,3 @@ + \psbezier[linewidth=0.8mm,linecolor=red, + showpoints=true]{|->}% + (1,0)(4,1)(2,2)(0,0) diff --git a/usergrps/uktug/baskervi/6_1/0-4-3.tex b/usergrps/uktug/baskervi/6_1/0-4-3.tex new file mode 100644 index 0000000000..1c5fe994cc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-3.tex @@ -0,0 +1 @@ + \psline(2,1) diff --git a/usergrps/uktug/baskervi/6_1/0-4-4.tex b/usergrps/uktug/baskervi/6_1/0-4-4.tex new file mode 100644 index 0000000000..fc9bf660fd --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-4.tex @@ -0,0 +1 @@ + \psline[linestyle=dashed](2,1) diff --git a/usergrps/uktug/baskervi/6_1/0-4-5.tex b/usergrps/uktug/baskervi/6_1/0-4-5.tex new file mode 100644 index 0000000000..8079a0f038 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-5.tex @@ -0,0 +1,2 @@ + \psline[linewidth=0.6mm,doubleline=true, + doublesep=0.5mm]{->}(2,1) diff --git a/usergrps/uktug/baskervi/6_1/0-4-6.tex b/usergrps/uktug/baskervi/6_1/0-4-6.tex new file mode 100644 index 0000000000..4873436bd2 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-6.tex @@ -0,0 +1,4 @@ + \psline[linearc=0.25,showpoints=true]{->}% + (1,0)(4,0.3)(2,2)(0,0.5) + \psline[linestyle=dotted,linecolor=blue, + arrowlength=3]{<->}(0,1)(3,0)(4,2) diff --git a/usergrps/uktug/baskervi/6_1/0-4-7.tex b/usergrps/uktug/baskervi/6_1/0-4-7.tex new file mode 100644 index 0000000000..bff9725e2e --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-7.tex @@ -0,0 +1,6 @@ + \psframe[fillstyle=solid,fillcolor=pink] + (1,0)(4,1) + \psframe[fillstyle=solid,fillcolor=white, + framearc=0.5](3,0.2)(3.8,0.8) + \pspolygon[linewidth=0.7mm,dimen=inner] + (0,1)(2,2)(3,1)(2,0) diff --git a/usergrps/uktug/baskervi/6_1/0-4-8.tex b/usergrps/uktug/baskervi/6_1/0-4-8.tex new file mode 100644 index 0000000000..fb6601db4b --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-8.tex @@ -0,0 +1,3 @@ + \psdiamond(1.5,1.5)(1.5,0.5) + \pstriangle[fillstyle=solid, + fillcolor=yellow](2,0)(3,1) diff --git a/usergrps/uktug/baskervi/6_1/0-4-9.tex b/usergrps/uktug/baskervi/6_1/0-4-9.tex new file mode 100644 index 0000000000..f7145f2b17 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-4-9.tex @@ -0,0 +1,6 @@ + \pscircle[linewidth=1mm,linecolor=green] + (1,1){1} + \pscircle[linestyle=none,fillstyle=solid, + fillcolor=lightblue](1,1){0.5} + \pscircle[fillstyle=crosshatch](2.5,1.5) + {0.5} diff --git a/usergrps/uktug/baskervi/6_1/0-5-13.tex b/usergrps/uktug/baskervi/6_1/0-5-13.tex new file mode 100644 index 0000000000..26687e2d64 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-13.tex @@ -0,0 +1 @@ +\psframebox{The Buck Stops Here} diff --git a/usergrps/uktug/baskervi/6_1/0-5-14.tex b/usergrps/uktug/baskervi/6_1/0-5-14.tex new file mode 100644 index 0000000000..e41af74b01 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-14.tex @@ -0,0 +1,4 @@ + \psframebox[fillstyle=solid, + fillcolor=black] + {\bfseries\color{white}\LARGE + Beware of The Dog} diff --git a/usergrps/uktug/baskervi/6_1/0-5-15.tex b/usergrps/uktug/baskervi/6_1/0-5-15.tex new file mode 100644 index 0000000000..1cc42615fc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-15.tex @@ -0,0 +1,7 @@ + \psframebox{The dragon} + \psframebox + {\psframebox[linecolor=green]{ate} + \psframebox[linecolor=blue] + {\psframebox[linecolor=red]{the women} + and + \psframebox[linecolor=red]{children}}} diff --git a/usergrps/uktug/baskervi/6_1/0-5-16.tex b/usergrps/uktug/baskervi/6_1/0-5-16.tex new file mode 100644 index 0000000000..8b6643a991 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-16.tex @@ -0,0 +1,5 @@ + \psshadowbox[fillstyle=solid, + fillcolor=yellow] + {\color{red}\begin{tabular}{c} + Chapter 1\\We go to sea + \end{tabular}} diff --git a/usergrps/uktug/baskervi/6_1/0-5-17.tex b/usergrps/uktug/baskervi/6_1/0-5-17.tex new file mode 100644 index 0000000000..62685a6e8a --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-17.tex @@ -0,0 +1,2 @@ + \pscirclebox[doubleline=true] + {\bfseries STOP!} diff --git a/usergrps/uktug/baskervi/6_1/0-5-18.tex b/usergrps/uktug/baskervi/6_1/0-5-18.tex new file mode 100644 index 0000000000..078b341490 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-18.tex @@ -0,0 +1,2 @@ + \psdblframebox[linecolor=green] + {\color{red}All Hail Caesar!} diff --git a/usergrps/uktug/baskervi/6_1/0-5-19.tex b/usergrps/uktug/baskervi/6_1/0-5-19.tex new file mode 100644 index 0000000000..1933499051 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-19.tex @@ -0,0 +1 @@ + \psdiabox{\sffamily No Parking} diff --git a/usergrps/uktug/baskervi/6_1/0-5-20.tex b/usergrps/uktug/baskervi/6_1/0-5-20.tex new file mode 100644 index 0000000000..b32ccc88bc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-20.tex @@ -0,0 +1,3 @@ + \pstribox[shadow=true,fillstyle=gradient, + gradbegin=green,gradend=red] + {\color{white}\Large$\Omega$ } diff --git a/usergrps/uktug/baskervi/6_1/0-5-21.tex b/usergrps/uktug/baskervi/6_1/0-5-21.tex new file mode 100644 index 0000000000..69e32de3a1 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-21.tex @@ -0,0 +1,2 @@ + \psovalbox[linecolor=red] + {\color{blue}Today's Menu} diff --git a/usergrps/uktug/baskervi/6_1/0-5-22.tex b/usergrps/uktug/baskervi/6_1/0-5-22.tex new file mode 100644 index 0000000000..23bcf1a050 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-22.tex @@ -0,0 +1,7 @@ + \psset{linecolor=lightgray} + \pstextpath + {\pscurve(-4,-2)(-2,0)(0,-3)(2,-1)(3,-3)} + {\color{blue} If you + want to type $2=\int_0^\pi \sin\theta\, + \mathrm{d}\theta$ and let it follow + along a curving line \ldots} diff --git a/usergrps/uktug/baskervi/6_1/0-5-23.tex b/usergrps/uktug/baskervi/6_1/0-5-23.tex new file mode 100644 index 0000000000..eb4aad31a9 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-23.tex @@ -0,0 +1,4 @@ + \pscharpath[fillstyle=solid, + fillcolor=lightblue, + linewidth=.4pt] + {\fontsize{72}{72}\selectfont \LaTeX} diff --git a/usergrps/uktug/baskervi/6_1/0-5-24.tex b/usergrps/uktug/baskervi/6_1/0-5-24.tex new file mode 100644 index 0000000000..5e7e789f6f --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-24.tex @@ -0,0 +1,11 @@ +\begin{pspicture}(-4,-3)(4,1) +\psset{fillstyle=solid,shadow=true,shadowangle=0} +\DeclareFixedFont{\babyfont}{T1}{ptm}{m}{n}{2cm} +\DeclareFixedFont{\wordfont}{T1}{ptm}{m}{n}{1.5cm} +\def\Cc#1#2{\pscharpath[fillcolor=#1]{#2}} +\bfseries +\rput(0,0){\babyfont +\Cc{red}B\Cc{green}A\Cc{yellow}B% +\Cc{red}{Y'}\Cc{blue}S} +\rput(0,-2){{\wordfont\Cc{blue}{WORLD}}} +\end{pspicture} diff --git a/usergrps/uktug/baskervi/6_1/0-5-25.tex b/usergrps/uktug/baskervi/6_1/0-5-25.tex new file mode 100644 index 0000000000..37b030aa3e --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-5-25.tex @@ -0,0 +1,26 @@ +\documentclass{article} +\usepackage{spqr,pstcol} +\pagestyle{empty} + +\begin{document} +\newcounter{myN} + +\DeclareFixedFont{\bigsf}{T1}{phv}{b}{n}{1.3cm} +\DeclareFixedFont{\tinyrm}{T1}{ptm}{m}{n}{2mm} +\setcounter{myN}{110} +\begin{pspicture}(0,0)(8.2,1) +\pscharclip[linecolor=yellow,fillstyle=solid, + fillcolor=red] + {\rput[bl](0,0){\bigsf CHOCOLATE}} +\rput[t]{90}(0,0) + {\vbox + {\hsize=2cm \offinterlineskip + \tinyrm\color{black} + \loop + \addtocounter{myN}{-1} + \ifnum\value{myN}>0 + nuts and raisins + \repeat}} +\endpscharclip +\end{pspicture} +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/0-6-26.tex b/usergrps/uktug/baskervi/6_1/0-6-26.tex new file mode 100644 index 0000000000..7d2a8decb4 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-6-26.tex @@ -0,0 +1,3 @@ + \psshadow[Tshadowangle=45, + Tshadowsize=2.5]{% + \LARGE\bfseries Words with a shadow} diff --git a/usergrps/uktug/baskervi/6_1/0-6-27.tex b/usergrps/uktug/baskervi/6_1/0-6-27.tex new file mode 100644 index 0000000000..2ce0618825 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-6-27.tex @@ -0,0 +1,2 @@ +\rput(0,1){\pstilt{45}{I Feel Ill!}} +\rput(0,0){\pstilt{-75}{\psgrid(2,2)}} diff --git a/usergrps/uktug/baskervi/6_1/0-6-28.tex b/usergrps/uktug/baskervi/6_1/0-6-28.tex new file mode 100644 index 0000000000..10eeb638f9 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-6-28.tex @@ -0,0 +1,84 @@ +\documentclass{article} +\usepackage{pstcol} +\pagestyle{empty} + +\begin{document} +\makeatletter +\def\DieFrame{\@ifnextchar[{\DDieFrame}{\DDieFrame[darkgray]}} +\def\DDieFrame[#1]{\psframe[linecolor=black,fillcolor=#1,fillstyle=solid](4,4)} +\makeatother +\def\SpotColor{white} +\def\DieOne{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](2,2){.3} +} +\def\DieTwo{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](1,2){.3} +\pscircle*[linecolor=\SpotColor](3,2){.3} +} +\def\DieThree{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](2,2){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +} +\def\DieFour{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +} +\def\DieFive{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +\pscircle*[linecolor=\SpotColor](2,2){.3} +} +\def\DieSix{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](1,2){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +\pscircle*[linecolor=\SpotColor](3,2){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +} +\def\DieSide#1#2#3{\ThreeDput[normal=#1](#2){#3}} +\def\TheDie#1#2(#3)(#4){% +\begin{pspicture}(#3)(#4) +\ifcase #1 \relax +\or %1 + \psset{viewpoint=-1 -1 #2} + \DieSide{-1 0 0}{0,4,0}{\DieThree} + \DieSide{0 -1 0}{0,0,0}{\DieFive} +\or %2 + \psset{viewpoint=1 -1 #2} + \DieSide{0 -1 0}{0,0,0}{\DieFive} + \DieSide{1 0 0}{4,0,0}{\DieFour} +\or %3 + \psset{viewpoint=1 1 #2} + \DieSide{1 0 0}{4,0,0}{\DieFour} + \DieSide{0 1 0}{4,4,0}{\DieTwo} +\or %4 + \psset{viewpoint=-1 1 #2} + \DieSide{0 1 0}{4,4,0}{\DieTwo} + \DieSide{-1 0 0}{0,4,0}{\DieThree} +\fi +\ifnum#2<0 + \DieSide{0 0 -1}{0,4,0}{\DieSix} +\else + \DieSide{0 0 1}{0,0,4}{\DieOne} +\fi +\end{pspicture}} +\psset{unit=.35cm} +\framebox{% +\begin{tabular}{cccc} +\TheDie{1}{1}(-5,-2.5)(5,7.5)& +\TheDie{2}{1}(-2.5,-3.5)(7.5,6.5)& +\TheDie{3}{1}(-5,-5)(5,5)& +\TheDie{4}{1}(-7.5,-4)(2.5,6)\\ +\TheDie{1}{-1}(-5,-5)(5,5)& +\TheDie{2}{-1}(-2.5,-3.5)(7.5,6.5)& +\TheDie{3}{-1}(-5,-2.5)(5,7.5)& +\TheDie{4}{-1}(-7.5,-4)(2.5,6) +\end{tabular} +} +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/0-6-29.tex b/usergrps/uktug/baskervi/6_1/0-6-29.tex new file mode 100644 index 0000000000..3e0c1b6092 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-6-29.tex @@ -0,0 +1,5 @@ + \psset{unit=.5cm} + \psset{viewpoint=-1 -1 1} + \ThreeDput[normal=0 0 1]{\psgrid(-3,-3)(6,6)} + \ThreeDput[normal=-1 0 0](0,4,0){ + \psframe*[linecolor=yellow](4,4)} diff --git a/usergrps/uktug/baskervi/6_1/0-6-30.tex b/usergrps/uktug/baskervi/6_1/0-6-30.tex new file mode 100644 index 0000000000..5e73c421f6 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/0-6-30.tex @@ -0,0 +1,26 @@ +\documentclass{article} +\usepackage{spqr,pstcol} +\pagestyle{empty} + +\begin{document} +\begin{pspicture}(-3,0)(3,5.5) +\psset{unit=.5cm} +\font\bigfont=phvb8t at .8cm +\psset{viewpoint=-1 -1 1.5,normal=0 0 1} +\rput(0,0){\multido{\n=0+0.07}{12} + {\definecolor{AColor}{rgb}{1, \n, \n} + \ThreeDput(\n,\n,0){\pscircle[% + linestyle=none,fillstyle=solid, + fillcolor=AColor](5,5){6}}}} +\psset{linestyle=none} +\rput(0,0){\multido{\n=0+0.07}{12} + {\definecolor{AColor}{rgb}{1, \n, \n} + \ThreeDput(\n,\n,0){\bigfont + \pstextpath[c]{% + \psarcn(5.5,5.5){4}{180}{0}}{% + \color{AColor}Happy Christmas} + \pstextpath[c]{% + \psarc(5.5,5.5){4}{180}{0}}{% + \color{AColor}\TeX\ Lovers}}}} +\end{pspicture} +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/OMXyhex.fd b/usergrps/uktug/baskervi/6_1/OMXyhex.fd new file mode 100644 index 0000000000..f2d707194c --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/OMXyhex.fd @@ -0,0 +1,20 @@ +%% +%% This is file `OMXyhex.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% yhmath.dtx (with options: `fdfile') + +% \ProvidesFile{OMXyhex.fd} +%\ProvidesFile{OMXyhex.fd} +% [1996/01/04 v1.0 YH's humble contribution to TeX maths] +\DeclareFontFamily{OMX}{yhex}{}{} +\DeclareFontShape{OMX}{yhex}{m}{n}{ + <-> sfixed * yhcmex10 + }{} +%%%%%%% NEW STUFF (YH 1996-01-04) +%%%%%%% NEW STUFF (YH 1996-01-04) +\endinput +%% +%% End of file `OMXyhex.fd'. diff --git a/usergrps/uktug/baskervi/6_1/T1mbvx.fd b/usergrps/uktug/baskervi/6_1/T1mbvx.fd new file mode 100644 index 0000000000..3260c2e960 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/T1mbvx.fd @@ -0,0 +1,69 @@ +%Filename: T1mbvx.fd +%Created by: tex basker +%Created using fontinst v1.504 + +%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY + +\ProvidesFile{T1mbvx.fd} + [1996/01/28 Fontinst v1.504 font definitions for T1/mbvx.] + +\DeclareFontFamily{T1}{mbvx}{} + +\DeclareFontShape{T1}{mbvx}{b}{n}{ + <-> mbvb9e +}{} + +\DeclareFontShape{T1}{mbvx}{b}{sc}{ + <-> mbvbc9e +}{} + +\DeclareFontShape{T1}{mbvx}{b}{sl}{ + <-> mbvbo9e +}{} + +\DeclareFontShape{T1}{mbvx}{b}{it}{ + <-> mbvbi9e +}{} + +\DeclareFontShape{T1}{mbvx}{sb}{n}{ + <-> mbvs9e +}{} + +\DeclareFontShape{T1}{mbvx}{sb}{sc}{ + <-> mbvsc9e +}{} + +\DeclareFontShape{T1}{mbvx}{sb}{sl}{ + <-> mbvso9e +}{} + +\DeclareFontShape{T1}{mbvx}{sb}{it}{ + <-> mbvsi9e +}{} + +\DeclareFontShape{T1}{mbvx}{m}{n}{ + <-> mbvr9e +}{} + +\DeclareFontShape{T1}{mbvx}{m}{sc}{ + <-> mbvrc9e +}{} + +\DeclareFontShape{T1}{mbvx}{m}{sl}{ + <-> mbvro9e +}{} + +\DeclareFontShape{T1}{mbvx}{m}{it}{ + <-> mbvri9e +}{} + +\DeclareFontShape{T1}{mbvx}{bx}{n}{<->ssub * mbvx/b/n}{} +\DeclareFontShape{T1}{mbvx}{bx}{sc}{<->ssub * mbvx/b/sc}{} +\DeclareFontShape{T1}{mbvx}{bx}{sl}{<->ssub * mbvx/b/sl}{} +\DeclareFontShape{T1}{mbvx}{bx}{it}{<->ssub * mbvx/b/it}{} +\DeclareFontShape{T1}{mbvx}{l}{n}{<->ssub * mbvx/m/n}{} +\DeclareFontShape{T1}{mbvx}{l}{sc}{<->ssub * mbvx/m/sc}{} +\DeclareFontShape{T1}{mbvx}{l}{sl}{<->ssub * mbvx/m/sl}{} +\DeclareFontShape{T1}{mbvx}{l}{it}{<->ssub * mbvx/m/it}{} + +\endinput diff --git a/usergrps/uktug/baskervi/6_1/bask6_1.tex b/usergrps/uktug/baskervi/6_1/bask6_1.tex new file mode 100644 index 0000000000..931c43fd1a --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bask6_1.tex @@ -0,0 +1,76 @@ +\showboxdepth20 +\showboxbreadth20 +% This must be here as otherwise the fonts will be loaded +% during the reading of the class (as it calls on fontenc package) and +% then it will be too late to change this default. +\defaulthyphenchar=127 + +\documentclass{baskrep} +\BASKvol{6} +\BASKno{1} +\BASKed*{David Carlisle}% * for Guest editor +\BASKyear{1996} +\BASKmonth{February} + +% Use a design size font. The standard \DeclareFontShape for this font +% does not allow arbitrary sizes. Could redeclare the font shape, but +% here just drop down and use a primitive TeX font load. The design +% size of 79.5pt is chosen to make the title just span the textwidth. +% \BASKtitle{% +% {\font\xxx=dcbx7950 \xxx B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} + +% But in the end decided to go with Baskerville for the title.... +% Need to explicitly re-assert this as default is now dc fonts. +\BASKtitle{% + \fontfamily{mbvx}\bfseries + \scaletowidth{\textwidth}{% + B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} + +% Modify paragraph to refer to the dcfonts, and adjust the line breaks +% by hand to avoid hyphenation. +\BASKheadparone{% +Articles may be submitted via electronic mail to +\,\texttt{baskerville@tex.ac.uk},\, or on MSDOS-compatible discs,\, +to\break Sebastian Rahtz, Elsevier Science Ltd, The Boulevard, Langford +Lane, Kidlington, Oxford OX5 1GB, to whom any correspondence +concerning \BV\ should also be addressed. +This \BV\ is set in Computer Modern +using the dc fonts release 1.2 implementation, +and printed on a Xerox Docutech. Production and distribution is +undertaken in Cambridge by Robin Fairbairns. Back +issues from the previous 12 months may be ordered from \ukt\ for +\pounds2 each; earlier issues are archived on \textsc{ctan} in +\texttt{usergrps/uktug}.} + +\usepackage{bv61} + +\begin{document} + +\begin{frontmatter} +\input{bv61ed} +\input{bv61let} +\end{frontmatter} +%\Dings % dont put \Dings at top of page +\input{bv61faq} +\Dings +\input{bv61yh} +%\Dings % dont put \Dings at top of page +\input{bv61cb} +\Dings +\input{bv61rus} +%\Dings % dont put \Dings at top of page +\clearpage +\input{bv61tor} +\Dings +{\catcode`\<=\active \input{bv61pst}} +\Dings +\input{bv61rev} +\Dings +\input{bv61gle} +\Dings +\input{bv61tre} +\Dings +\input{bv61tai} + + +\end{document} diff --git a/usergrps/uktug/baskervi/6_1/book.tex b/usergrps/uktug/baskervi/6_1/book.tex new file mode 100644 index 0000000000..16808ae1fa --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/book.tex @@ -0,0 +1,206 @@ +\documentclass[a4paper]{article} + +\addtolength\textwidth{1.6in} +\addtolength\oddsidemargin{-.8in} +\setlength{\parindent}{0in} +\addtolength\textheight{2in} +\addtolength\topmargin{-1in} +\pagestyle{empty} + +\usepackage[set]{longtable} +\ifx\MF\undefined + \ifx\manfnt\undefined + \font\manfnt=logo10 + \fi + \ifx\manfntsl\undefined + \font\manfntsl=logosl10 + \fi + \def\MF{{\ifdim\fontdimen1\font>0pt \let\manfnt = \manfntsl \fi + {\manfnt META}\-{\manfnt FONT}}\spacefactor1000 }% +\fi + +\begin{document} + +\begin{center}\bfseries\Large Book List\end{center} +\begin{quote} +Any book from the list can be ordered by members of UKTUG by sending +payment (cheques payable to `UKTUG') to + +Peter Abbott,1 Eymore Close, Selly Oak, Birmingham. B29 4LB + + +Please notify Peter Abbott +by email, paper mail, fax or telephone when books are +delivered. + +Email \texttt{Peter.Abbott@tex.ac.uk} + +Phone/FAX 0121 476 2159. + +\end{quote} + +\centerline{\textbf{Addison-Wesley Books}} + +\begin{footnotesize} +\begin{longtable}{@{}p{0.33\linewidth}p{0.33\linewidth}lcr@{}} +Name&Author&ISBN&&{Member Price}\\[3pt] +The \TeX\ book&Donald E Knuth&0 201 13448 9&paper&18.50\\%&20.50\\ +The \TeX\ book&Donald E Knuth&0 201 13447 0&hard&26.50\\%&29.50\\ +\TeX\ the program&Donald E Knuth&0 201 13437 3&hard&30.50\\% &34.00\\ +The \MF book&Donald E Knuth&0 201 13444 6&paper&16.50\\%18.50\\ +The \MF book&Donald E Knuth&0 201 13445 4&hard&26.50\\%&29.50\\ +\MF\ the program&Donald E Knuth&0 201 13438 1&hard&30.50\\%&34.00\\ +Computer Modern Type\-faces&Donald E Knuth&0 201 13446 2&hard&30.50\\%34.00\\ +3:16 Bible texts illuminated\kern0pt&Donald E Knuth&0 895 79252 4&paper&17.50\\% &19.50\\ +The CWEB system of structured documentation& +Donald E Knuth \& Silvio Levy&0 201 57569 8&paper&15.50\\%&17.00\\ +\LaTeX: a document preparation system, second edition& +Leslie Lamport&0 201 52983 1&paper&21.50\\%&24.00\\ +The \LaTeX\ Companion&Michael Goossens, Frank Mittelbach \& Alexander Samarin& +0 201 54199 8&paper&21.50\\%&24.00\\ +Introduction to \TeX&Norbert Schwarz&0 201 51141 X&paper&17.50\\%&19.50\\ +A guide to \LaTeX&Helmut Kopka \& Patrick Daly&0 201 56889 6&paper&20.00\\%&22.00\\ +\TeX\ by topic&Victor Eijkhout&0 201 56882 9&paper&20.00\\%&22.00\\ +\TeX\ for the impatient&Paul~W~Abrahams, Kath\-ryn Hargreaves \& Karl Berry& +0 201 51375 7&paper&18.50\\[3pt]%&20.50\\[3pt] + +Postscript language program manual&Adobe&0 201 18127 4&paper&21.50\\%&24.00\\ +Postscript language, tutorial \& cook\-book&Adobe&0 201 10179 3&paper&13.50\\%&15.00\\ +Portable Document Format Reference Manual&Adobe&0 201 62628 4&paper&16.50\\%&18.50\\ +The Postscript Font hand\-book&Jonathon~Grosvenor, Kay Morrison \& Alexander Pim& +0 201 56893 4&paper&20.00\\%&22.00\\ +Postscript by example&Henry McGilton \& Mary Campione&0 201 63228 4&paper&20.50\\%&23.00\\ +Thinking in Postscript&Glenn Reid&0 201 52372 8&paper&16.50\\[3pt]%&18.50\\[3pt] + +Collier's rules for desktop design and typography&David Collier&0 201 54416 4&paper&13.50\\%&15.00\\ +Interactive Typography&David~Collier \& Ian Martin&0 201 63167 9&cd-rom&tba\\ +\end{longtable} +\end{footnotesize} + + +\centerline{\textbf{O'Reilly Books}} +\begin{footnotesize} +\begin{longtable}{@{}lp{3.5in}rr@{}} +ISBN & Name & Price &{Member Price}\\[3pt] +\endhead +1-56592-078-3 & 4.4BSD Programmer's Reference Manual & 22.00 & 17.60 \\ +1-56592-079-1 & 4.4BSD Programmer's Supplementary Documents & 22.00 & 17.60 \\ +1-56592-080-5 & 4.4BSD System Manager's Manual & 22.00 & 17.60 \\ +1-56592-075-9 & 4.4BSD User's Reference Manual & 22.00 & 17.60 \\ +1-56592-076-7 & 4.4BSD User's Supplementary Documents & 22.00 & 17.60 \\ +1-56592-092-9 & 4.4BSD-Lite CD-ROM Companion & 29.50 & 24.12 \\ +1-56592-992-6 & Barlow/Notable Speeches of the Information Age (tape) & +7.50 & 7.31 \\ +0-937175-77-3 & Bloomer/Power Programming with RPC & 22.00 & 17.60 \\ +1-56592-009-0 & Branagan* Sierra/The Frame Handbook & 29.50 & 23.60 \\ +0-937175-84-6 & Cameron/Learning GNU Emacs & 20.50 & 16.40 \\ +1-56592-048-1 & Corrigan/ORACLE Performance Tuning & 25.95 & 20.76 \\ +1-56592-056-2 & Costales/Sendmail & 24.50 & 19.60 \\ +0-937175-23-4 & Curry/Using C on the UNIX System & 18.50 & 14.80 \\ +1-56592-037-6 & Cutler/SCO UNIX in a Nutshell & 7.50 & 6.00 \\ +1-56592-017-1 & Cutler/The X Window System in a Nutshell & 7.50 & 6.00 \\ +0-937175-30-7 & Darwin/Checking C Programs with lint & 9.50 & 7.60 \\ +0-937175-59-5 & Dougherty/sed / awk & 20.50 & 16.40 \\ +1-56592-032-5 & Dowd/High Performance Computing & 19.25 & 15.40 \\ +1-56592-055-4 & DuBois/Software Portability with imake & 18.50 & 14.80 \\ +1-56592-061-9 & Estrada/Connecting to the Internet & 11.95 & 9.56 \\ +1-56592-038-4 & Ferguson/Motif Reference Manual Vol 6B & 25.75 & 20.60 \\ +1-56592-068-6 & Ferguson/X Resource: Issue 11 (Back Issues Available) & +11.00 & 8.80 \\ +1-56592-004-9 & Flanagan/Motif Tools: Streamlined GUI Design and +Programming with the Xmt Library & 40.50 & 32.40 \\ +1-56592-007-4 & Flanagan/X Toolkit Intrinsics Reference Manual Vol 5 & +25.75 & 20.60 \\ +1-56592-046-5 & Frey/!\%@::A Directory of Electronic Mail Addressing / +Networks 4e & 7.50 & 6.00 \\ +0-937175-80-3 & Frisch/Essential System Administration & 22.00 & 17.60 \\ +1-56592-074-0 & Gallmeister/POSIX.4: Programming for the Real World & 21.95 +& 17.56 \\ +1-56592-098-8 & Garfinkel/PGP: Pretty Good Privacy & 18.50 & 14.80 \\ +0-937175-72-2 & Garfinkel/Practical UNIX Security & 22.00 & 17.60 \\ +1-56592-028-7 & Gaskins/PEXlib Programing Manual & 33.00 & 26.40 \\ +0-937175-92-7 & Gaskins/PHIGS Programming Manual (hardcover) & 38.95 & 31.16 \\ +0-937175-85-4 & Gaskins/PHIGS Programming Manual (softcover) & 31.50 & 25.20 \\ +1-56592-001-5 & Gilly/UNIX in a Nutshell- System V /Solaris 2.0 2e & 7.50 & +6.00 \\ +0-937175-31-5 & Gircys/Understanding and Using COFF & 16.25 & 13.00 \\ +1-56592-101-1 & Harrison/Using Netnews & 18.50 & 14.80 \\ +1-56592-016-3 & Heller/Motif Programming Manual Vol 6A & 25.75 & 20.60 \\ +0-937175-87-0 & Heller/XView Programming Manual Vol 7A & 25.75 & 20.60 \\ +0-937175-82-X & Hunt/TCP/IP Network Administration & 22.00 & 17.60 \\ +1-56592-059-7 & Jameson/Multi-Platform Code Management & 29.50 & 23.60 \\ +1-56592-049-X & Kerrigan/Migrating to Fortran 90 & 18.50 & 14.80 \\ +1-56592-087-2 & Kirch/Linux Network Administrator's Guide & 18.50 & 14.80 \\ +1-56592-095-3 & Koman* Ferguson/The Mosaic Handbook for the X Window System +& 22.00 & 17.99 \\ +1-56592-094-5 & Koman/The Mosaic Handbook for Microsoft Windows & 22.00 & +17.99 \\ +1-56592-096-1 & Koman/The Mosaic Handbook for the Macintosh & 22.00 & 17.99 \\ +0-937175-91-9 & Kosko/PHIGS Reference Manual & 29.50 & 23.60 \\ +1-56592-063-5 & Krol/ The Whole Internet Users Guide /Catalog 2e & 18.50 & +14.80 \\ +0-937175-67-6 & Lamb/Learning the vi Editor 5e & 16.25 & 13.00 \\ +1-56592-000-7 & Levine/lex /yacc 2e & 22.00 & 17.60 \\ +0-937175-73-0 & Lewine/POSIX Programmer's Guide & 25.75 & 20.60 \\ +1-56592-090-2 & Libes/Exploring Expect: A Tcl-based Toolkit for Automating +Interactive Programs & 21.95 & 17.56 \\ +1-56592-062-7 & Liu* Peek* Jone* Buus* Nye/Managing Internet Information +Services & 21.95 & 17.56 \\ +1-56592-010-4 & Liu/DNS / BIND & 22.00 & 17.60 \\ +0-937175-60-9 & Loukides/System Performance Tuning & 18.50 & 14.80 \\ +0-937175-51-X & Loukides/UNIX for FORTRAN Programmers & 18.50 & 14.80 \\ +1-56592-043-0 & Lunde/Understanding Japanese Information Processing & 22.95 +& 18.36 \\ +1-56592-999-3 & Malamud/European Networking (tape) & 7.50 & 7.31 \\ +1-56592-993-4 & Malamud/Global Network Operations (tape) & 12.50 & 10.22 \\ +1-56592-994-2 & Malamud/Mobile IP Networking (tape) & 7.50 & 6.13 \\ +1-56592-998-5 & Malamud/Networked Information and Online Libraries (tape) & +7.50 & 7.31 \\ +1-56592-997-7 & Malamud/Security and Networks (tape) & 7.50 & 7.31 \\ +1-56592-996-9 & Malamud/The Future of the Internet Protocol (tape) & 18.50 +& 15.12 \\ +1-56592-019-8 & Mui* Quercia/X User Tools & 36.95 & 30.21 \\ +0-937175-83-8 & Mui/X Window System Administrator's Guide Vol 8 & 22.00 & +17.60 \\ +1-56592-058-9 & Murray* vanRyper/Encyclopedia of Graphics File Formats & +44.00 & 35.97 \\ +1-56592-089-9 & Nye/Programmer's Supplement to X11* R6 & 21.95 & 17.56 \\ +1-56592-008-2 & Nye/X Protocol Reference Manual Vol 0 & 25.75 & 20.60 \\ +1-56592-003-1 & Nye/X Toolkit Intrinsics Programming Manual Vol 4 & 25.75 & +20.60 \\ +1-56592-013-9 & Nye/X Toolkit Intrinsics Programming Manual Vol 4M & 25.75 +& 20.60 \\ +1-56592-002-3 & Nye/Xlib Programming Manual Vol 1 & 25.75 & 20.60 \\ +1-56592-006-6 & Nye/Xlib Reference Manual Vol2 & 25.75 & 20.60 \\ +0-937175-90-0 & Oram/Managing Projects with make 2e & 13.25 & 10.60 \\ +1-56592-035-X & Oualline/Practical C Programming 2e & 18.50 & 14.80 \\ +1-56592-027-9 & Peek/MH /xmh: E-Mail for Users/Programmers 2e & 22 & 17.60 \\ +0-553-35402-7 & Peek/UNIX Power Tools with CD-ROM & 44.00 & 39.05 \\ +1-56592-036-8 & Powers/Love Your Job! & 9.50 & 7.60 \\ +1-56592-014-7 & Quercia/X Window System User's Guide Vol 3 & 25.75 & 20.60 \\ +1-56592-015-5 & Quercia/X Window system User's Guide Vol 3M & 25.75 & 20.60 \\ +1-56592-064-3 & Radin/Building a Successful Software Business & 18.50 & 14.80 \\ +1-56592-047-3 & Rosenberry/Distributing Applications Across DCE and Windows +NT & 18.50 & 14.80 \\ +1-56592-005-8 & Rosenberry/Understanding DCE & 18.50 & 14.80 \\ +1-56592-054-6 & Rosenblatt/Learning the Korn Shell & 20.50 & 16.40 \\ +0-937175-71-4 & Russell/Computer Security Basics & 22.00 & 17.60 \\ +1-56592-041-4 & Sanderson/Smileys & 4.50 & 3.60 \\ +1-56592-042-2 & Schwartz/Learning Perl & 18.50 & 14.80 \\ +1-56592-045-7 & Shirley/guide to Writing DCE Applications 2e & 25.00 & 20.00 \\ +0-937175-75-7 & Stern/Managing NFS and NIS & 20.50 & 16.40 \\ +0-937175-02-1 & Strang/Programming with curses & 9.50 & 7.60 \\ +0-937175-22-6 & Strang/termcap /terminfo & 16.25 & 13.00 \\ +1-56592-029-5 & Talbott/PEXlib Reference Manual & 29.50 & 23.60 \\ + & The X Window System Series & & 0.00 \\ +1-56592-060-0 & Todino/Learing the UNIX Operating System 3e & 6.75 & 5.40 \\ +0-937175-93-5 & Todino/Manging UUCP and Usenet 10e & 20.50 & 16.40 \\ +0-937175-10-2 & Todino/Using UUCP and Usenet & 16.25 & 13.00 \\ +0-937175-88-9 & Van Raalte/XView Reference Manual Vol 7B & 18.50 & 14.80 \\ +0-937175-64-1 & Wall/Programming Perl & 22.00 & 17.60 \\ +1-56592-051-1 & Walsh/Making TeX Work & 21.95 & 17.56 \\ +1-56592-084-8 & X Window System* Release 6* Companion CD & 21.95 & 17.94 \\ +\end{longtable} +\end{footnotesize} + +\end{document}
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/6_1/bv61.sty b/usergrps/uktug/baskervi/6_1/bv61.sty new file mode 100644 index 0000000000..bc328b3724 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61.sty @@ -0,0 +1,246 @@ + +% Need these for YHMATH article. + +% amsfonts redefines these, but I need +% the old versions for comparison so... +\let\oldwidehat\widehat +\let\oldwidetilde\widetilde + +\usepackage{amsmath,amsfonts} + +\let\amswidehat\widehat +\let\amswidetilde\widetilde +\let\widehat\oldwidehat +\let\widetilde\oldwidetilde + + + +%%%yhmath.sty except put into a new math version so can run both for +%%%comparison + +\DeclareMathVersion{yh} +\SetSymbolFont{largesymbols}{yh}{OMX}{yhex}{m}{n} + +\DeclareMathAccent{\widetriangle}{\mathord}{largesymbols}{"E6} +\DeclareMathAccent{\wideparen}{\mathord}{largesymbols}{"F3} +\newenvironment{amatrix}{\left\langle\matrix}{\endmatrix\right\rangle} +\def\adots{\mathinner{\mkern2mu\raise\p@\hbox{.} +\mkern2mu\raise4\p@\hbox{.}\mkern1mu +\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} +\edef\@tempa#1#2{\def#1{\mathaccent\string"\noexpand\accentclass@#2 }} +\@tempa\ring{017} +\newcommand{\widering}[1]{\overset{\smash{\lower1.333ex\hbox{$% +\displaystyle\ring{}$}}}{\wideparen{#1}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% For the pstricks series + +\RequirePackage{pstcol} +\RequirePackage{pst-grad} +\RequirePackage{pst-text} +\RequirePackage{pst-char} +\RequirePackage{pst-3d} +\RequirePackage{fancyvrb} +\RequirePackage{shortvrb} +\RequirePackage{array,longtable} +\definecolor{wheat}{rgb}{.96, .87, .7} +\definecolor{lightblue}{rgb}{.68, .85, .9} +\definecolor{brown}{rgb}{.65, .16, .16} +\definecolor{pink}{rgb}{1, .75, .8} +\definecolor{palegreen}{rgb}{.6, .98, .6} +\definecolor{white}{rgb}{1, 1, 1 } +\catcode`\<=13 +\def\Main#1{{\MainFont\string#1}} +\def\MainFont{\ttfamily\upshape} % For macro definitions. +\def\ArgFont{\sffamily\mdseries\upshape} % For meta arguments. +\def\OptArgFont{\sffamily\mdseries\itshape} % For optional arguments. +%\let\OptArgFont\ArgFont +\def<#1>{{\normalfont\itshape#1\/}} +% parameter descriptions are always in a table +\def\Par#1{\@ifnextchar({\@Par#1}{\@@Par#1()}} +\def\@Par#1=#2(#3){% + {\normalfont #1}={\ArgFont#2}& #3} +% Short-cuts for coordinates: +\def\x#1{{\normalfont\itshape $x$#1\/}} +\def\y#1{{\normalfont\itshape $y$#1\/}} +\def\z#1{{\normalfont\itshape $z$#1\/}} +\def\x#1{$x_{#1}$} +\def\y#1{$y_{#1}$} +\def\z#1{$z_{#1}$} +\def\c#1{(\x{#1},\kern 1pt\y{#1})} +\def\cAny{(\x{},\kern 1pt\y{})} +% In each case: +% 1. definition is delimited only by end-of-line. +% 2. {}, () and [] are literal, with contents set in \ArgFont +% 3. = and , are literal. +% 4. `foo' is for optional arguments. +% 5. <foo> is meta, as usual. +\begingroup + \catcode`\<=1 \catcode`\>=2 + \catcode`\{=13 \catcode`\}=12 + \catcode`\[=13 + \gdef\@MD<% + \catcode`\{=13 \catcode`\}=12 \catcode`\[=13 + \def{##1}<\{<\ArgFont ##1\/>\}>% + \def[##1]<\string[<\ArgFont ##1\/>]>> +\endgroup +\begingroup + \catcode`\(=13 + \catcode`\,=13 + \catcode`\==13 + \gdef\MacroDefCodes{% + \@MD + \catcode`\(13 + \catcode`\^^M12 + \catcode`\`13 + \catcode`\,13 + \catcode`\!1 + \catcode`\@2 + \def~{}% + \def={{\fontshape{n}\selectfont\string=}}% + \def,{{\fontshape{n}\selectfont\string,}}% + \def(##1){\string({\ArgFont ##1})}} +\endgroup + +\begingroup + \catcode`\`=13 \gdef`#1'{{\OptArgFont #1}} +\endgroup + +\begingroup + \catcode`\^^M=12\relax% + \gdef\GetMacroDef#1{\begingroup\MacroDefCodes\@GetMacroDef{#1}}% + \gdef\@GetMacroDef#1#2^^M{#1{#2}\endgroup}% +\endgroup + +% For listing macro definitions in a "description" environment: +\def\PSTCom{\GetMacroDef\@PSCom} +\def\@PSCom#1{\@@PSCom#1\@nil} +\def\@@PSCom#1\@nil{\MainFont\Main#1} +\def\PSTComOpt{\GetMacroDef\@PSTComOpt} +\def\@PSTComOpt#1{\@@PSComOpt#1\@nil} +\def\@@PSComOpt#1#2\@nil{\@PSCom{#1{\OptArgFont*[{\ArgFont settings}]}#2}} +\MakeShortVerb{\"} +\DeleteShortVerb{\|} +\def\PST{\textsf{PSTricks}} +\def\PS{\textsc{PostScript}} +\def\Special{{\normalfont\ttfamily\char'134special}} +\def\Lcs#1{{\normalfont\ttfamily\char'134#1}} +\def\Program#1{\emph{#1}} +\def\Lpack#1{\emph{#1}} +%----------- Zandtisms -------------------- +\def\Usage#1{{\UsageFont\string#1}} +\def\MainFont{\fontfamily{\ttdefault}\fontseries{bc}\fontshape{n}\selectfont +\large}% For macro definitions. +\def\UsageFont{\fontfamily{\ttdefault}\fontseries{bc}\fontshape{n}\selectfont} + % For in-line macro names. +\def\InlineFont{\ttfamily} % For other in-line snipets of code. +\let\main\textbf +\let\usage\emph +% ---------- for array.sty -------------- +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +% ----------- harvard-style citations ------------------ +\def\@cite#1#2{{#1\if@tempswa , #2\fi}} +\def\ETAL{{\em et al\/}}% + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{; }\@ifundefined + {b@\@citeb}{$\underline{\mbox{\@citeb}}$\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}}% +% label for a bibliography citation not produced + \def\@biblabel#1{\hfill} + +% with page or fig no +\def\Cite#1#2{\cite[#2]{#1}}% +% year only, with page or fig no +\def\Yearcite#1#2{\yearcite[#2]{#1}}% +\let\@internalcite\cite +\def\cite{\def\citename##1{##1}\@internalcite}% +% \yearcite gives only the date +\def\yearcite{\def\citename##1{}\@internalcite}% +% +\def\endPSExample{% + \EndExample +\VerbatimInput[gobble=0,fontsize=\small, +% frame=topline, +framerule=1.5pt]{\EXdir\theeps@counter}% +\begin{center} + \ifgrid\vskip 8pt \fi + \expandafter\pspicture\PictureSize + \ifgrid\usergrid\else\relax\fi + \input{\EXdir\theeps@counter} + \endpspicture + \ifgrid\vskip 8pt \fi + \EndRuleExample +\end{center} + }% +\renewenvironment{example**}% +{\def\Write@Ex##1{}\BeginExample}% +{% +\EndExample +\VerbatimInput[gobble=0,fontsize=\small, + %frame=topline, +framerule=1.5pt]{\EXdir\theeps@counter}% +\begin{center} +\input{\EXdir\theeps@counter} + \EndRuleExample +\end{center} +} + + +\catcode`\<=12 + + + +%%%%%%%%%%%%% +% for Robin +\def\Question{\@ifnextchar[{\@Question}{\subsection}} +\def\@Question[#1]#2{\subsection{#2}\Qlabel{#1}} + +\newcommand{\CTANdirectory}[2]{\@ifundefined{ctan-#1}{% + \expandafter\gdef\csname ctan-#1\endcsname{#2}% +}{% + \PackageWarning{faq}{Repeated definition of label: #1}% +}} +\let\CTANfile\CTANdirectory + +\newcounter{CTAN@unrefs} +% +% the command itself +\DeclareRobustCommand{\CTANref}[1]{\@ifundefined{ctan-#1}{% + \PackageWarning{CTAN}{Undefined reference: #1}% + \stepcounter{CTAN@unrefs}% +}{% + \edef\@tempa{\noexpand\CTAN{\csname ctan-#1\endcsname}}\@tempa +}} +% +% hook for diagnosing undefined references at the end +\AtEndDocument{\ifthenelse{\theCTAN@unrefs > 0}{% + \PackageWarning{CTAN}{There were \arabic{CTAN@unrefs} undefined + references to CTAN}% + }% + {}% + } + +%%%%%% + +% For my tour + +\newenvironment{filedesc}{% + \description + \renewcommand\makelabel[1]{\hspace\labelsep + \normalfont\ttfamily ##1}} + {\enddescription} + +\let\package\textsf % as in \package{longtable} package +\let\class\textsf +\let\env\textsf + +%% Shut up +\setlength\vfuzz{2pt} + diff --git a/usergrps/uktug/baskervi/6_1/bv61cb.tex b/usergrps/uktug/baskervi/6_1/bv61cb.tex new file mode 100644 index 0000000000..123449d635 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61cb.tex @@ -0,0 +1,353 @@ +\title {The \textsf{Custom-Bib} Package} + +\author{Patrick W. Daly\\ +Max-Planck-Institut f\"ur Aeronomie\\ +D-37189 Katlenburg-Lindau, Germany\\ +\texttt{daly@linmpi.mpae.gwdg.de}} + +\begin{Article} + +\section{Introduction} +This article\footnote{% +Based on the \texttt{README} file distributed with version 3.7 of the +package, dated February 1, 1996} +describes the \package{custom-bib} package for generating customized +\BibTeX\ bibliography styles from a generic file by means of Frank +Mittelbach's \package{docstrip} program. +Many authors are frustrated at the wide range of bibliographic styles +demanded by journals and publishers, and at the limited number +available with standard +\LaTeX\ and \BibTeX. This is not \BibTeX's fault, but rather +shows the lack of any bibliographic standards in the English +language. Often the differences are trivial~--- comma or colon, date +in brackets or parentheses; but the normal user does not want to tackle +the task of making up his own \texttt{.bst} file (no normal human +would!). + +For this reason, I set out to produce a generic \texttt{.bst} file +that could have +features and options selected by means of the +\package{docstrip} program, which is now part of the standard \LaTeX{} +installation. +I found over 50 different \texttt{*.bst} files and compared their +outputs just for article: they were all different. They served as part +of my input as to which features were needed. I knew of a few extra +that were not covered by these~50. + +I also discovered \texttt{btxbst.doc}, Oren Patashnik's source for the four +standard \texttt{.bst} files, as well as a file \texttt{physics.bst}, for +extracting \texttt{.bst} files for a number of physics journals. Both of these +do precisely what I had set out to accomplish; however, they require the +C~preprocessor, or something similar. It is really a simple matter to convert +the preprocessor commands into \package{docstrip} equivalents. + +Nevertheless, neither of these really met all of my needs, so I continued to +develop \texttt{genbst.mbs} + (\underline{GEN}eric-\underline{B}ib\underline{ST}.% + \underline{M}aster\underline{B}ib\underline{S}tyle). +It soon became obvious that the sheer number of options necessary made any kind +of customizing a difficult chore. Hence, the next step: the program +\textsf{makebst} takes menu information out of the selected \texttt{.mbs} file +and presents the user with descriptive choices as menus. From the answers, it +writes a \textsf{docstrip} batch job (extension \texttt{.dbj}) which when +\TeX'ed, creates the desired \texttt{.bst} file out of the \texttt{.mbs} one. +The \texttt{.dbj} file may even be hand edited if one wants to alter only one +or two options. + +Since I first released this system in November 1993, I have received +many suggestions and requests for additions. I have tried to +incorporate as many as possible. The original 50 options have grown to over +100. The rate at which suggestions are sent to me has decreased considerably, +so one can hope that the system is becoming stable. + +The second version of \texttt{genbst.mbs} allowed other languages to +be included. However, since the method had considerable overhead per +language, I was unsatified with it. A parallel version called +\texttt{babel.mbs} (which was really \texttt{genbst.mbs} version~2) +has been available for some time, supporting English, French, German, +and Esperanto, as well as a generic language called Babel. + +I have now modified \textsf{makebst} to allow more than one +\texttt{.mbs} file to be used as input for any given \texttt{.bst} +output. This means that the language support can be +contained in separate files, one per language, and does not need to +burden the main file. The new issue of this main file, version~3, is +now called \texttt{merlin.mbs}, to emphasize its magical powers. + +\section{Installation and Use} +To install the package you need to have \texttt{docstrip.tex} and +\texttt{doc.sty}; if you do not have the former, you cannot use +the package anyway. Both are now part of the standard \LaTeX\ (2e) +distribution from 1994 June~1. + +The steps for installing are: +% +\begin{enumerate}\setcounter{enumi}{-1} +\item (Optional, for connoisseurs.) \LaTeX\ \texttt{makebst.dtx} to get +the documentation. This also extracts \texttt{makebst.ins} from + \texttt{makebst.dtx}, if it does not already exist. + +\item Run \TeX\ (or \LaTeX) on \texttt{makebst.ins} (to generate + \texttt{makebst.tex}) + +\item Run \TeX\ (or \LaTeX) on \texttt{makebst.tex} to start customizing + your own \texttt{.bst} file. You may select the master file as + either + \texttt{merlin} (default), or one of the older genbst and babel, + if you have them. + +\item + Answer the questions that then arise; for \texttt{merlin}, you will + also be asked which language support file you want (default is merlin + itself, meaning English or the pseudo-language Babel). You will also be + asked if you want to add a file defining short-hand designations for + various journals; such files are included (\texttt{physjour.mbs}, + \texttt{photjour.mbs}, \texttt{geojour.mbs}) for journals in physics, + optics, and geophysics, but you could create your own. + +\item The menus that appear may not be informative + enough for you. More information can be obtained by reading the + documentation (on the options) contained in the \texttt{.mbs} files + themselves. This documentation can be printed out by running \LaTeX\ on + the \texttt{.mbs} files. + +\item The \textsf{makebst} program only produces + a \textsf{docstrip} batch job to generate the \texttt{.bst} file. The + last question it asks is whether that job should be run right away. You + can always run it again yourself by running \TeX\ or \LaTeX\ on this + \texttt{.dbj} file. (The \texttt{.dbj} file can also be manually edited + if you want to play around with the various options it includes.) + +\end{enumerate} + +\section{Note on Author--Year Citations} + +Author--year style citations are not supported by standard \LaTeX\ and +\BibTeX. However, there exist a large number of bibliography styles for this, +all of which need some interface package to run properly. I have +identified 5 different interfaces, plus a 6th one that I use myself +(see the \package{natbib} package in a parallel directory). I have made up +\texttt{merlin.mbs} to be able to produce \texttt{.bst} files for +all~6. If one selects author--year style, then one is asked which +interface package is to be used. (Incidentally my \package{natbib} package +is capable of interpreting all~6!) + +\section{The Pseudo Language Babel} + +If one selects the language to be Babel, all explicit words in the resulting +\texttt{.bst} file are replaced by commands. For example, `editor' is replaced +by \verb|\bbleditor|. The translations of these commands are to be found in a +file named \texttt{babelbst.tex}, which can be extracted from +\texttt{merlin.mbs} with the \package{docstrip} option \textsf{bblbst}, albeit +only for English. My original idea was that one could edit this file as one +pleases for other languages, or that it could be incorporated into the +\textsf{babel} multilingual system. However, this needs further development. + + +\section{Selected Features of \texttt{merlin.mbs}} + +\begin{itemize} + +\item +List all options in the \texttt{dbj} file. + +The \textsf{makebst} program writes to the \texttt{.dbj} file all the +\package{docstrip} options that were offered in the interactive session, with +all but the selected ones commented out. This makes editing afterwards much +easier. Often one wants to experiment with some of these options, but only +wants to run the \package{makebst} program once. + +This feature (suggested by Frank Mittelbach) is available when the +\texttt{makebst.tex} file is extracted from \texttt{makebst.dtx} with +the `\textsf{optlist'} option; +without it, only the selected options are listed in the \texttt{.dbj} +file. Edit the \texttt{makebst.ins} file accordingly; by default, this +feature is included. + +\item Allow multiple input \texttt{.mbs} files. +The \texttt{.dbj} file is now so constructed that \verb|\generateFile| +can read in more than one input \texttt{.mbs} file for a single +output \texttt{.bst} file. The main \texttt{.mbs} file must +have its menu coding arranged to take advantage of this. Older +\texttt{.mbs} files +(like \texttt{genbst.mbs} and \texttt{babel.mbs}) will still work just +as well with this version of \package{makebst}. Similarly, +\texttt{merlin.mbs} can be used with older versions of +\package{makebst}, but without any additional input files. + + +\item Name formatting: can also have reversed full names, as Smith, +John George. (Previously reversed names could only be initials.) +Thus the follwing forms are allowed: +\begin{quote} + John George Smith\\ + Smith, John George \\ + J. G. Smith\\ + Smith, J. G.\\ + Smith, J. G. and F. M. Jones \\ + Smith, J G\\ + Smith, JG \\ + Smith J G +\end{quote} + +Editors' names (in collections) for surname-first styles, may now be +formatted exactly as the authors'. (Previously they would never be +reversed.) +It is also possible to have +\begin{quote}\raggedright +In: B. G. James (editor) Booktitle \\ + In: B. G. James, editor, Booktitle\\ + In: Booktitle, edited by B. G. James\\ + In: Booktitle (edited by B. G. James) +\end{quote} + +\item +ISBN numbers can optionally be included, if they're present in the database. + +\item +Volume, number has more possibilities: + +\begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l} + 34(2) & 34 (2) & 34, 2 & 34, no. 2 & + 34, \verb|#|2 & 34 +\end{tabular*} + +The following page number can be separated by colon, colon space, + semi-colon and space, comma and space. It is even possible to add + to \texttt{number} to the page specification: + 34, (2)234--(2)254. + + +\item +Date: year coming just after authors may have colon and space following. + Date may appear as `1994 Jul', with or without a dot. + Date may be part of journal specification, something that is + common in medical journals. + Date may be bold. + + +\item + Journal names: the periods in abbreviations may be removed, so + Phys.\ Rev.\ becomes Phys~Rev (no change to database necessary). + Name of journal can be in normal font, not only italic. + +\item + Author names in may be italic, small caps, or bold. + The word `and' can be in the regular text font, + not in the author font. + The font style may be + different in the citations and list of references. + +\item + If the number of authors exceeds a certain limit, then only + so many are listed, followed by \emph{et~al.} Both these maximum and + minumum numbers can be set. Default is that all authors are listed. + +\item + The page numbers in edited works can have `pages' or `pp' suppressed. + +\item + It is possible to have the names sorted by ignoring the `von' part, so + that della Robbia comes after Rabin. + +\item + Publisher's address may come before name, as New York: New Press + (required by some psychology journals). + +\item + The extra labels added to years (as 1995a) are grouped in braces + to avoid some problems with \package{natbib} when this extra label is more + than one letter. The font of this extra label can also be selected. + +\item + For author-year systems, both full and abbreviated author lists are + possible in the citations. + +\item + Journals can have date between volume and pages, as: + J.\ Geophys.\ Res.\ {\bf 34} (1994) 333--338 + +\item + Technical Reports can have titles treated like books +(default is like article). + +\item Can sort by year and then authors. + +\item Can include more than one file with prestored journal names. + +\item + The \package{named} format for \verb|\bibitem| now included. + +\item + Blocks can be separated by colons as well as commas or periods. + + +\item + Pages in books may be in parentheses. + + + +\item + Authors in the list may separated by semi-colons instead of + by commas. +\end{itemize} + +\section{Package files} + +The package contains the following files: +\begin{filedesc} +\item[merlin.mbs] + A master \BibTeX\ style file for producing customized + styles (numerical or author-year) with docstrip. It is + self-documenting: simply latex it to produce its + description. + +\item[english.mbs] A sample language support file for English, to act +as a model for hacking others. + +\item[esperant.mbs] A language support file for Esperanto. +\item[finnish.mbs] A language support file for Finnish. +\item[french.mbs] A language support file for French. +\item[german.mbs] A language support file for German. +\item[italian.mbs] A language support file for Italian. +\item[norsk.mbs] A language support file for Norwegian. +\item[spanish.mbs] A language support file for Spanish. +\end{filedesc} + +\noindent +(Further contributions and corrections are welcome.) + +\begin{filedesc} +\item[physjour.mbs] + A support file to add the names of common Physics journals + in shorthand form, for example `pr' for Physical Review, or + Phys. Rev., depending on whether abbreviations chosen. + +\item[photjour.mbs] + A contributed file containing names of optics journals. + +\item[geojour.mbs] + A contributed file containing names of geophysics journals. +\end{filedesc} + +\noindent +(Contributions for other fields are welcome.) + +The \texttt{.mbs} files can only be used effectively with the +\textsf{makebst} `program', which is included in documented source form. + +\begin{filedesc} +\item[makebst.dtx] the documented source file; \LaTeX{}ing this file +produces the manual and optionally a documentation of the +coding. Requires \class{ltxdoc} class from the \LaTeXe\ distribution. + +Current version is 3.0; the documentation requires +\LaTeXe\ (1994/06/01). The program itself only requires \TeX. + +\item[makebst.ins] \package{docstrip} batch job to extract from +\texttt{makebst.dtx} the program file \texttt{makebst.tex}. (This file +is actually included within \texttt{makebst.dtx}; it is extracted +when the \texttt{.dtx} file is processed under \LaTeXe.) +\end{filedesc} +\end{Article} + diff --git a/usergrps/uktug/baskervi/6_1/bv61ed.tex b/usergrps/uktug/baskervi/6_1/bv61ed.tex new file mode 100644 index 0000000000..9fb51c48e9 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61ed.tex @@ -0,0 +1,51 @@ + +\title{Editorial} +\author[\mbox{}]{David Carlisle \\ Mathematics Department\\Manchester +University} +\begin{article} + +Welcome to the first \BV~of 1996. As announced in \BV~5.4 Sebastian Rahtz +has given up the editorship to devote more +time to the TUG board. I am sure that all \ukt\ members have +appreciated Sebastian's efforts in masterminding a regular production +of the journal. As Sebastian notes in a letter in this issue it was +not a single handed effort, but nevertheless he must take much of the +credit. + + +One of the major \TeX\ events of last year was the re-release of the +`Cork' encoded Computer Modern fonts. This release 1.2 of the dc fonts +fixed many bugs and improved the fonts in many small but important +ways. English language users can (and most of them do!) get by +with the old computer modern encoding of Knuth, but the future +in an increasingly international community must be with the Cork 8-bit +encoding, and so as a mark of the new release this issue has departed +from its epononymous text font and uses the 10pt Roman font dcr1000 as +its main face. (Eagle eyed readers will no doubt already have noticed +that the `alternative' hyphenation character is being used.) + +The position of editor is still \emph{vacant}! If you are interested +in the possibility of becoming editor (or guest-editing a single +issue) please contact the committee at the above address. + +Currently the editorship will rotate amongst the committee +members. Robin Fairbairns again masterminded the FAQ issue, I have +this one, Malcolm Clark will take \BV~6.2 and Carol Hewlett~6.3\ldots + +No matter who is the editor, \BV\ can not function without a supply of +contributed articles. Sebastian has agreed to remain a `collection +point' for contributions, so they should continue to be sent to +him at the address above. + +Submission dates are as follows: + +\begin{submissiondates} +6.2& April 3& April 17 & April 26\\ +6.3& June 3& June 7 & June 21\\ +6.4& August 5& August 16 & August 30 +\end{submissiondates} + +We made a mistake in the FAQ issue. Jonathan Fine hopes to complete +his macro package for typesetting SGML documents during 1996, and not +by May as we stated in Question 50. +\end{article} diff --git a/usergrps/uktug/baskervi/6_1/bv61faq.tex b/usergrps/uktug/baskervi/6_1/bv61faq.tex new file mode 100644 index 0000000000..a8881dd8ef --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61faq.tex @@ -0,0 +1,42 @@ +\title{Supplement to The `Frequently Asked Questions'} +\author{Robin Fairbairns} + +\begin{Article} +\let\Qref\relax +\newcommand\Qref[3][]{see question 89 in \BV{} 5.6} + +\input{dirctan} % This may be seen + +\noindent +I promised, in \BV{} 5.6, that I would attempt to provide regular +updates of the list of questions and answers published in that +edition. However, as one might have guessed, there have been no +responses to my suggestion that you, our membership, submit questions +to be answered \dots{} + +Fortunately, I had made provision for this eventuality. I rather +surprised myself to find that that we hadn't answered the following +question. I answered it (yet again) on \Newsgroup|comp.text.tex| +today, and speculated in my answer that it was possibly the +\emph{most} frequently asked question of all (apart from those that +can be answered with the terse `read the \verb|***| manual' that +so often appears on Usenet). + +\Question{\upshape\bfseries 66a\quad Alternative head- and footlines + in \LaTeX{}} + +The standard \LaTeX{} document classes define a small set of `page +styles' which (in effect) specify head- and footlines for your +document. The set defined is very restricted, but \LaTeX{} is capable +of much more; people occasionally set about employing \LaTeX{} +facilities to do the job, but that's quite unnecessary~--- Piet van +Oostrum has already done the work. + +The package is found in directory \CTANref{fancyheadings} and provides +simple mechanisms for defining pretty much every head- or footline +variation you could want; the directory also contains some (rather +good) documentation and one or two smaller packages. Fancyheadings +also deals with the tedious behaviour of the standard styles with +initial pages (\Qref{}{Q-ps@empty}), by enabling you to define +different page styles for initial and for body pages. +\end{Article}
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/6_1/bv61gle.tex b/usergrps/uktug/baskervi/6_1/bv61gle.tex new file mode 100644 index 0000000000..be5ea4f30b --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61gle.tex @@ -0,0 +1,196 @@ +%\newcommand{\TUB}{\textsc{Tug}boat} +%\newcommand{\BV}{\textsl{Baskerville}} + +\title{Malcolm's Gleanings} +\author{Malcolm Clark\\\texttt{m.clark@warwick.ac.uk}} + +\begin{Article} +\newcommand{\dvi}{\texttt{dvi}} +\newcommand{\Gut}{\textsl{Cahiers \textsc{Gut}enberg}} + +%\iffalse +\section{Out of \MF\ comes forth riches} +Dougie Henderson, who some may recall as the author of the first +practical implementation of \MF\ for the PC (marketed by Personal \TeX), +who worked with Blue Sky Research for several years (the creators of +\textsl{Textures}, still the finest implementation of \TeX\ on a +personal machine, and a version of \MF\ for the Mac), and who was a +member of the TUG board for many years, left the \TeX\ world a few years +ago to brew beer. Microbreweries are a hot item in the US: Dougie's +brewery \textsl{Hair of the Dog} won a rather coveted award for its +\textsl{Adambier} -- described as `A very full bodied, ``take no +prisoners'' beer'. The \textsl{Malt Advocate Awards Program} selects +outstanding products and individuals in the beer and whisky industries. +\textsl{Hair of the Dog} won `Domestic Beer of the Year': to give you +some idea of their level and appropriateness, their `Import Whisky of +the Year' was a 16-year old \textsl{Lagavulin} (by coincidence a +distillery Dougie and I visited in 1993), the `Import beer of the year' +the wonderful Belgian \textsl{Duvel}, and for the `Industry Leader' they +chose Michael Jackson, who has probably done more than any other +individual to spread the word of fine malt whisky and `craft' beers. I +think this gives hope to us all: there \emph{is} life after \TeX! + +%\fi + +%\iffalse +\section{Indefatigable} +Readers of the \textsl{Times Higher Education Supplement} will have seen +that Allan Reese continues his guerilla war of attrition on the +detractors of \TeX. +In the January edition of the \textsl{Multimedia} supplement +he comments on an article in the December supplement, correcting some +misunderstandings and misapprehensions. Another accolade to that man. +%\fi + +\iffalse +\section{Spoiled for choice} +Of course, there is much to be done. I picked up a copy of a self-styled +Internet book in Dillon's CyberStation the other day, to be told that +\LaTeX\ was a Unix utility. With what confidence can I approach the rest +of this book? +\fi + +\section{Guesting} +It was pointed out that there were no gleanings in \BV\ 5(5) because I +was busy trying to knock an edition of \TUB\ into shape. As part of +Michel Goossens' scheme to revitalise TUG, it was thought imperative to +try to get \TUB\ appearing regularly, if not on time. One ploy was to +invite (or instruct) `guest editors', thus relieving the usual crew from +some of the work, and perhaps achieving the throughput needed. + +I still believe in the Internet (an act of faith, on a par with +religion -- like \TeX\ itself). But my faith was a little shaken by the +experience. Since I do not have all the various macros, classes and +paraphernalia on my local machine (far less my machine at home), I +decided to do most of the editing locally, FTP it to the \TUB\ machine +at SCRI in Florida, use the installation there, ship the \dvi\ back by +FTP and view or print locally. +This strategy at least ensured that I was using the same files that +would be run by the editorial team for the finished copy. It also +ensured that I minimised network traffic. Text files are not too large, +and \dvi\ is also fairly compact. I had found that trying to edit over +the Internet, though possible, was painful. Even a rather dumb, +efficient, editor like \texttt{vi} could get badly out of +synchronisation. It was far easier to edit locally. Maybe it really took +the same amount of lapsed time, when you include the transfers, but the +wear and tear on my nerves was minimised. However, despite all this, I +still found that the only practical times to do the work was either +Saturday morning up to about~1 or~2 in the afternoon, or Sunday mornings +up to a similar time. The melt-down or brown out of the Internet seems +to hit about lunch time GMT, even at weekends. Sigh. + +However, the edition was eventually completed to my satisfaction. +There were a few page breaks that could have been improved, but given +the complexity of the problem, with lots of floating figures (always the +bane of \LaTeX), I was quite happy. I would have liked to impose my own +stamp on it by adopting ragged right throughout, but it is a rather +awkward interposition, especially for a periodical which has been +`designed' for justified margins. You just cannot be sure that ragged +right will be appropriate in all circumstances. To do that you need to +redesign from scratch, the way the previous guest edited +\TUB\footnote{Volume 7(1), guest edited by David Kellerman and Barry +Smith, designed by Martha Gannett} was. Now I appreciate just how +excellent that edition was, although I was dubious of the design when I +first saw it, before my appreciation and understanding of the issues +matured. + +It is interesting to ask what a guest editor does. I don't know +that I had a very clear brief. I decided first to assemble the papers, +using some which had been submitted to the annual conference, a couple +which had appeared elsewhere (in \BV\ and \Gut) and another I +invited. Between them I think this gave a reasonable balance, though I +was very conscious that there were some areas that needed to be filled +out more. My early plan had been to ensure that these articles hung +together, referred to one another appropriately, +were consistent in tone, used much the same acronyms and logos. In other +words, that they blended together in terms of their appearance, if not +the message of the individuals' writing. Then I discovered I should +worry about line and page breaks -- how it would appear in \TUB. This is +easily the most time-consuming part. Introducing deliberate breaks has a +tendency to alter everything that comes after; and you must also run all +the articles together since in standard \TUB\ form the next article +starts when the previous one ends. They don't start at the top of a new +page. In the end I was shipping the entire \dvi\ file across the `fat +pipe'. The front matter, end matter and page headings were the +responsibility of the rest of the editorial team. After all, I didn't +know how much front matter there was and couldn't predict page +numbers. That appears to have been the source of a problem. Somehow, +when the \TUB\ came to be printed it had the headers at the same +position on each page. Normally they would be left- and right-page +oriented. I doubt that many people would have noticed this, or, if +they had, they would have assumed that it was a design +quirk. Unfortunately Barbara Beeton saw fit to announce it loudly to the +world as a flaw. The edition took several months from my `finishing' it +to going to print. It seems to have been thoroughly re-edited by what +was once termed the \textsc{Gnaw}.\footnote{Only a small prize for the +first correct expansion of this scurrilous and sexist acronym.} The +irony is that it was just this process which Michel sought to +eliminate. One suspects that there are mightier forces of conservatism +and inertia arrayed against him than he knows. Sigh. + +It has been interesting to read the several accounts of the expected +rescheduling of \TUB. Compare the following: +\begin{itemize} +\item +16(1): ``You will receive 16(2) and 16(3) before the end of the calendar +year; +the December issue, 16(4) will be out in early 1996.'' +\item +16(2): ``\dots\ the last issue of 1995\dots\ you will hopefully receive +it in the first half of January.'' +\item +16(3): ``\dots four \TUB's on our member's desks before Christmas 1995'' +(i.e.\ 15(4) to 16(3)). In passing, some attention to the use of +the apostrophe is needed here, unless we really do have only one member. +I personally would worry more about grammar than running heads. +\end{itemize} +I received 16(2) in December or so, and 16(3) arrived in the first +week of January (so a very close miss): 16(4)? +Over to you Michel. + +\iffalse +\section{TUG on course?} +My feelings on TUG are rather ambivalent. I served on the Board for many +years, and for one I filled the post of President. I have seen it from +the inside, and, with other members of TUG, tried hard to ensure that it +would proceed along a path which could ensure its survival. The slimming +down of the permanent staff and the greater role of volunteers were some +of the issues we tackled. Times have changed. TUG is only one \TeX\ user +group among many. \TUB\ went badly off course (I wanted it to become a +regular commercial journal with wider interests, and in fact could have +achieved that but for some conservative elements close to \TUB\ +itself). The change in world politics meant that there were increased +demands for TUG to expend resource in promoting \TeX\ in areas where +there was unlikely to be any return in increased membership. The whining +from some European groups made many long-serving US members believe that +TUG should indeed be a US user group, just to be rid of this continuous +self-seeking. The distribution of the annual conference (which, to some +extend had helped support TUG financially) to forays into Europe eroded +the financial base slightly. The increased expectation that you should +get everything for free cannot help the vendors who have subsidised and +supported \TeX\ activity: just count up the advertisements in \TUB. The +fingers of one hand should be enough. +Fortunately the ludicrous demands to print \TUB\ in Eastern Europe and +almost give it away were never enacted. That would have been a rapid +route to ruin. + +The current low number of members worries me. The organisation seems to +be below a viable level. The conferences attract relatively few people +and I conclude they are largely irrelevant to the majority of members +and \TeX\ users -- or at least, that their needs are being met +elsewhere. Do people join just for the delight of \TUB? I think I have a +fairly broad interest in the subject, but most of \TUB\ leaves me cold +(with the exception of 16(2), of course!). I applaud Michel's vision for +the future, and I know he has the support of the redoubtable and +energetic Sebastian Rahtz. I'm less convinced that their efforts are +understood by the other office bearers or the permanent staff. As I +recall from my own period of office, even the best intentions can be +frustratingly difficult to achieve. Time, I think, to follow Dougie's +example and tend my fruggles. +\fi + +\end{Article} + + + + diff --git a/usergrps/uktug/baskervi/6_1/bv61let.tex b/usergrps/uktug/baskervi/6_1/bv61let.tex new file mode 100644 index 0000000000..f55b01e7cc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61let.tex @@ -0,0 +1,14 @@ +\title{Letter to the Editor} +\author{Sebastian Rahtz} +\begin{article} + +In my report on Baskerville to the 1995 AGM (reported in \BV~5.5), and +in my personal lookback on the history of the Annals, I did not really +reflect the work of Jonathan Fine for the journal. Not only did he +work hard on the production and distribution of most of the issues, +but he also contributed a great many column inches in his regular +columns. How could I have passed over the contributions of one of +\ukt's most colourful members? \emph{Mea maxima culpa}. I look +forward to reading more of Jonathan's work in the future! + +\end{article}
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/6_1/bv61pst.tex b/usergrps/uktug/baskervi/6_1/bv61pst.tex new file mode 100644 index 0000000000..5df61fd482 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61pst.tex @@ -0,0 +1,1010 @@ +\newpsobject{usergrid}{psgrid}{subgriddiv=1,griddots=10,gridlabels=7pt} + +\iffalse +\author{Sebastian Rahtz} +\title{An introduction to PSTricks, part I} +\begin{Article} +aaaaa +\end{Article} +\endinput +\fi + +\def\CurrentPackages{spqr,pstcol} +\newcounter{myN} +\setlongtables +\author{Sebastian Rahtz} +\title{An introduction to PSTricks, part I} +\begin{Article} +\section{Preface} +In all the questions about \TeX\ and drawing that appear in \emph{fora} like +\texttt{comp.text.tex}, surprisingly little attention is paid to what seems +to me one of the most delightful macro packages available. This is \PST, +which allows the \TeX\ user almost full access to the power of \PS, +using the \verb|\special| mechanism. In this, and the following two +issues of, \BV, I will attempt to offer a survey of what \PST\ can do, +and perhaps persuade more \BV\ readers to experiment. + +This material is drawn from a forthcoming book by myself and Michel +Goossens; we are grateful to Timothy van Zandt (the author of \PST) +and Denis Girou (its best-known exponent) for the many helpful +insights and examples which they have vouchsafed during the several +years we have been working on the material. + +This first tutorial looks at the principles of \PST, and the basic +building blocks; the next will consider nodes, trees, matrices and the +like, and the final part will look at customising \PST\ and some +programming examples. + +\section{Introduction} +\PST\ consists of a core of picture drawing primitives +implemented by \Special{}s which pass \PS\ through to a driver. It +also contains a set of higher-level macros for particular +applications. With it you can: +\begin{enumerate} +\item draw lines, polygons, circles and curves; +\item place and manipulate \TeX\ text; +\item plot data with complicated labelled axes; +\item draw nodes and connectors (including trees); +\item colour lines and fill objects; +\item define new graphical commands. +\end{enumerate} +This is an extremely powerful package, and its facilities can take +some time to understand. It is documented in +\cite{Zandt:1993a}, and its implementation is described in +\cite{Zandt-Girou:1994}. \cite{Girou:1994} provides an excellent +demonstration of the abilities of the package, and I am grateful to +Denis Girou for permission to reproduce some of his examples below. + +The package relies on the ability of a dvi driver to pass through +literal \PS\ code, and know that it will interact with the \TeX\ text +in a controlled way. The \Program{dvips} driver provides the reference +implementation, but it works with other drivers (like Textures) as +well. The \PST\ installation guide explains what a driver has to be +able to do. + +\PST\ is not a tool for drawing just one type of diagram well, like +so many of the other packages you can find on \textsc{ctan}. +It is a programming environment for as close a +combination of \TeX\ and \PS\ as is possible with existing +software; its strength is its modularity, extensibility, and ability +to access all the power of \PS. + +The main package, and the subsidiary ones, need access to various +\PS\ header files; the user does not need to explicitly load them, +but the driver must be capable of doing so. The method for loading header +files, and other \Special{} communication, is defined by a configuration file. + +The majority of \PST\ is loaded in a single package, but some +more complicated facilities need an extra file to be loaded: + +\begin{center} +\begin{tabular}{ll} +\emph{File} & \emph{Function}\\ +\hline +\texttt{pst-coil} & Coil and zigzag objects\\ +\texttt{textpath} & Typesetting text on a path\\ +\texttt{charpath} & Stroking and filling character paths\\ +\texttt{pst-plot} & Data plotting\\ +\texttt{pst-3d} & Three-dimensional drawing\\ +\texttt{pst2eps} & Export of objects direct to EPS files\\ +\texttt{pst-node} & Placing and joining nodes\\ +\texttt{pstree} & Tree macros\\ +\texttt{gradient} & Gradient colour fills\\ +\hline +\end{tabular} +\end{center} + +In the descriptions that follow, we do \emph{not} normally indicate +which file needs loading for a particular function, since this may +change with new releases of the package. + +Most of the commands provided will draw some kind of object at +specified coordinates, which are relative to the current point in +\TeX. The objects do not usually take up any space, in \TeX\ terms; +they can either be mixed in with normal commands, or used in a picture +environment to construct a whole drawing. The \LaTeX\ environment +corresponding to the command: +\begin{quote} + \PSTCom \pspicture`*[baseline](\x0,\y0)'\c1 +\end{quote} +is normally used for pictures; space is reserved in \TeX\ for a rectangle +with corners at \c0 and \c1 (as in other cases, \c0 defaults to (0,0)). +The * form clips graphic objects which appear outside the frame. +By default, the baseline is set at the bottom of the box, but the optional +argument "[baseline]" sets the baseline fraction "baseline" from the bottom. + +I will not attempt to describe absolutely every \PST\ +macro, or give examples of all the possible combinations and tricks, +as this would require a large book, so we strongly commend the reader to +study the published examples by Denis Girou for ideas on \PST\ +programming, as well as the manual itself. + + +\subsection{Basic \protect\PST\ concepts} +Luckily, almost all the commands have the same (complex) structure; +they need some or all of the following arguments, each of which has +its consistent delimiters: + +\noindent\begin{tabular}{@{}l@{}rl@{}} +\emph{Type} & \emph{Delimiters} & \emph{Example} \\ +\hline +Obligatory parameter &curly brackets & \verb"{arg}" \\ +Optional settings & square brackets & \verb"[par1=val1,".\,.\\ +Coordinates & parentheses & \verb"(x,y)" \\ +\end{tabular} + +Many macros can +have a lot of arguments, so it is useful to know that you can leave a +space or new line between arguments, except those enclosed in curly +braces. + +The layout of a command is +\begin{small} +\begin{verbatim} +\command*[settings]{arrows/parameters} + (coordinates) +\end{verbatim} +\end{small} +\begin{itemize} +\item The * form of the command generally means that the object being drawn +is to be solid, rather than an outline; +\item The \emph{settings} are optional, and consists of a set of +\emph{key=value} pairs +which over-ride, for the current object, \PST's drawing defaults; this is +discussed below; +\item Many commands which draw lines have an argument which specifies +whether, and how, arrow heads are to be drawn at either end; or they +need an argument like a rotation angle; +\item Most objects require one or more coordinates; these consist of two +numbers separated by a comma; multiple coordinate pairs each have +their own set of brackets. +\end{itemize} +A simple complete example is +\begin{GridPSExample}(0,0)(2,2) +\psline[linewidth=1pt,linecolor=gray] + {<->}(0.5,0)(0,1)(1,1.5)(1.5,1)(.5,.5) +\end{GridPSExample} +where a grid has been superimposed to show the coordinate system. + +\subsubsection{Coordinates} +By default the coordinate system is in units of 1cm in the $x$ and $y$ +directions, but that can be simply overridden as we shall see in a +moment. Coordinate pairs can not only be given in the default units, +but also in any \TeX\ dimensions. This applies to all `quantity' +settings, so +\verb|linewidth=.5| means .5 of whatever the current unit is, but +\verb|linewidth=2pt| is an absolute size. + +The command \Usage{SpecialCoor} lets you use polar coordinates, in the +form "(<r>;<a>)", where <r> is the radius (a dimension) and <a> is the +angle. You can still use Cartesian coordinates. + +The <unit> parameter actually sets the $x$ and $y$ parameters which +can also be set individually, so that you can scale the $x$ and $y$ +dimensions in Cartesian coordinates unevenly. + + +Angles, in polar coordinates and other arguments, should be a number +giving the angle in degrees, by default. You can also change the units +used for angles with the command +%%%%% put this at the end of a line and add a space after it!!!! +\PSTCom \degrees`[num]' +\ where <num> is the number of units in a circle. Thus +\begin{verbatim} + \degrees[100] +\end{verbatim} +could be used when +making a pie chart where the data values are supplied as percentages. +The command \Lcs{radians} is short for +"\degrees[6.28319]" + +\subsubsection{Colouring objects} +\PST\ comes with its own collection of colour macros, which provide +a basic set of colours, and allow one to define new colour names in +terms of RGB, CMYK or HSB models; however, we recommend that \LaTeX\ +users should stick with the \Lpack{color} package. The standard +package and \PST\ can be used together by loading the package +\Lpack{pstcol}, which comes with the colour and graphics bundle. +The \Lpack{gradient} package adds facilities for gradations of colour +in filled objects. + +The following colours are predefined:\\ +"black", "darkgray", "gray", "lightgray", "white", +"red", "green", "blue", "cyan", "magenta", and "yellow". + +\subsubsection{Setting graphics parameters} +\PST\ uses a notation similar to that introduced +for the \Lpack{graphicx} package, \ie `key=value' pairs. This is used +for setting a large number of graphical parameters which apply to almost +all objects. These can be set in two ways: +\begin{enumerate} +\item On a per-object basis, with the optional parameter +in square brackets; in this +case the effect is local to the object with no further grouping needed; +\item Globally, using the \Lcs{psset} command. +The syntax is: +\begin{quote} + \PSTCom \psset{par1=value1`,par2=value2,\ldots'} +\end{quote} +\end{enumerate} +Extra spaces are only allowed following the comma that +separates <par>"="<value> pairs (which is therefore +a good place to start a new line if you are giving a long list). +A selection of the commoner +graphics parameters that can be set for objects +are listed in Table~\ref{PSTparms}; the first group +can be applied to more or less anything, but the others only apply to +a particular group. + +\begin{small} +\begin{longtable}{llP{.5\textwidth}} +\caption{\protect\PST\ Graphical parameters} +\label{PSTparms}\\[1mm] +\emph{Parameter} & \emph{Default} & \emph{Explanation}\\ +\hline +\endfirsthead +\caption*{\protect\PST\ Graphical parameters \emph{cont.}}\\[1mm] +\emph{Parameter} & \emph{Default} & \emph{Explanation}\\ +\hline +\endhead +\mbox{}\\ +\endfoot +\multicolumn{3}{l}{\bfseries\itshape General}\\ + \Par{unit=dim} (1cm) \\ + \Par{xunit=dim} (1cm) \\ + \Par{yunit=dim} (1cm) \\ + \Par{linewidth=dim} (.8pt) \\ + \Par{linecolor=colour} (black) \\ + \Par{fillcolor=colour} (white) \\ + \Par{fillstyle=style} (none)&{Other possibilities are solid, vlines, +vlines*, hlines, hlines*, crosshatch and crosshatch*. The * versions also +fill the background. The \Lpack{gradient} package adds the extra +\emph{gradient} style for a graded fill, and the following keys.}\\ +\Par{gradbegin=colour} ()&{The starting and ending colour of a graded +fill} \\ +\Par{gradend=colour} ()&{The colour at the midpoint.} \\ +\Par{gradlines=int} (500)&{The number of lines in the graded fill. +More lines means finer gradiation, but slower printing.}\\ +\Par{gradmidpoint=num} (.9)&{The position of the midpoint, as a +fraction of the +distance from top to bottom (the <num> will be between 0 and 1)}.\\ +\Par{gradangle=angle} (0)&{The gradation is rotated by <angle>.} \\ + \Par{hatchwidth=dim} (.8pt)&{Width of fill lines} \\ + \Par{hatchsep=dim} (4pt)&{The gap between fill lines} \\ + \Par{hatchcolor=colour} (black) \\ + \Par{hatchangle=angle} (45) \\ +\Par{arrows=style} (none) &The possibilities are listed in +Table~\ref{PSTarrows}; +any symbol, or none, can be put at either end of a line \\[6pt] +\multicolumn{3}{l}{\bfseries\itshape Lines, curves and boxes}\\ +\Par{linestyle=style} (solid)&{Other possibilities are \emph{dashed}, + \emph{dotted} and \emph{none}} \\ + \Par{dash=dim1 dim2} (5pt 3pt)&{The black/white dash pattern for +dashed lines.} \\ + \Par{dotsep=dim} (3pt) \\ + \Par{doubleline=true/false} (false)&{Draw lines as double line, +separated by \emph{bordersep} and with colour \emph{bordercolor} between the +lines.} \\ + \Par{doublesep=dim} (1.25 of linewidth) \\ + \Par{shadow=true/false} (false)&{A shadow is drawn at +angle \emph{shadowangle}, of depth \emph{shadowsize} and colour +\emph{shadowcolor}.} \\ + \Par{shadowsize=dim} (3pt) \\ + \Par{shadowangle=angle} (-45) \\ + \Par{shadowcolor=colour} (darkgray) \\ + \Par{linearc=dim} (0pt)&{The radius of arcs drawn at + the corners of a box or set of line segments.} \\ + \Par{framearc=dim} (0pt)&{If \emph{cornersize} is `relative', then +the radius of rounded corners of + framing boxes is set to \emph{num} times the width of height of +the frame, whichever is less. \emph{num} cannot be greater than 1. If +\emph{cornersize} is `absolute', \emph{num} sets the radius of arcs of rounded +corners.} \\ + \Par{cornersize=relative/absolute} (relative) \\[6pt] +\multicolumn{3}{l}{\bfseries\itshape Text frames}\\ +\Par{framesep=dim} (3pt)&{The gap between a frame and the enclosed +text} \\ +\Par{boxsep=true/false} (true)&{Whether the \TeX\ box that is produced +includes the size of the frame itself or not} \\[6pt] +\multicolumn{3}{l}{\bfseries\itshape Dots}\\ + \Par{dotstyle=style} (*)&The possible styles are listed in + Table \ref{dotstyles} \\ + \Par{dotsize=dim <num>} (2pt 2)&The diameter of a circle or disc + is \emph{dim} plus \emph{num} times the current linewidth \\ +\hline +\end{longtable} +\end{small} + +\section{The graphic objects} +We list in Table \ref{PSTbasic} the most common basic objects which \PST\ can +draw; they all, with the exception of the text-framing commands, take +up no \TeX\ space, and so should be used inside a \texttt{pspicture} +environment when creating a free-standing picture. In almost every +case, an initial first coordinate can be omitted, and defaults to +$0,0$. Lines and open curves can optionally be terminated with +various symbols, and it is this that the \texttt{arrows}\ldots styles +set. + +\PST\ has two powerful commands for positioning (and rotating, if +necessary) something, including normal \LaTeX\ material; they are +analagous to \LaTeX's basic "\put" command. The more common command +is +\begin{quote} + \PSTCom \rput*`[refpoint]{angle}'(\x0,\y0){stuff} +\end{quote} +The * form puts a "\psframebox" around <stuff>, +which effectively blocks out anything underneath. +<stuff> is rotated by <angle> if the argument is present; the <angle> +it can be preceded by a "*", which has the effect of undoing all +rotations in outer calls to \Usage{rput}. This is needed when placing +text labels, to make it easy to place them consistently in the +right orientation. Since many rotations are in steps of 90\degrees, +you can use the following letter abbreviations + +\vskip 3pt +\noindent +\begin{tabular}{c>{\itshape}lr@{\hspace{.25cm}}c>{\itshape}lr} + \em Letter & &\em degrees & + \em Letter & &\em degrees\\ + "U" & Up & 0 &"N" & North & *0\\ + "L" & Left & 90&"W" & West & *90\\ + "D" & Down & 180&"S" & South & *180\\ + "R" & Right & 270&"E" & East & *270\\ +\end{tabular} +\vskip 3pt + +<refpoint> describes the reference point of <stuff>, +and this reference point is what is placed at \c{}. +By default, it is the center of the box. +This can be changed setting <refpoint> to one or two of the +following +\begin{quote} +\begin{tabular}{rlcrl} +\multicolumn{2}{l}{\em Horizontal} & & \multicolumn{2}{l}{\em Vertical}\\ +"l" & Left & & "t" & Top\\ +"r" & Right & &"b" & Bottom\\ + & & &"B" & Baseline +\end{tabular} +\end{quote} +The following diagram shows the reference point represented +by the various combinations (the dotted line is the baseline): +\begin{quote} +\begin{pspicture}(-2.4,-.9)(2.4,1.9) + \UsageFont + \psframe(-2,-.5)(2,1.5) + \psline[linestyle=dotted](-2,0)(2,0) + \uput[u](0,1.5){t} + \uput[d](0,-.5){b} + \rput*(0,0){B} + \uput[l](-2,.5){l} + \uput[l](-2,0){Bl} + \uput[dl](-2,-.5){bl} + \uput[ul](-2,1.5){tl} + \uput[r](2,.5){r} + \uput[r](2,0){Br} + \uput[dr](2,-.5){br} + \uput[ur](2,1.5){tr} +\end{pspicture} +\end{quote} +\begin{quote} + \PSTCom \rput*`[refpoint]{rotation}'\cAny{stuff} +\end{quote} +It is important to realize that "\rput" resets the (0,0) point +to the chosen coordinate, as shown in the following example: +\begin{GridPSExample}(0,0)(2.2,2) +\rput(.1,.1){\psline(0,0)(1.3,1.3)} +\rput{-20}(1.2,.4){\psline(0,0)(1,0)} +\end{GridPSExample} +Note that rotation was applied last of all. +Because it is very often a requirement to \emph{put} a label +next to some object, a variant of "\rput" is provided: + + \PSTCom \uput*`{labsep}'[refangle]`{rotation}'\cAny{stuff} + +which places <stuff> in the direction <angle>, +at a distance of <labsep> from \c{}. <labsep> defaults to 5pt. +As before, since angles are often in steps of 45\degrees, letter abbreviations +are provided for common cases: + +\vskip3pt\noindent + \begin{tabular}{@{}c>{\itshape}lr@{\hspace{.25cm}}c>{\itshape}lr@{}} + {\em Letter} & &\em degrees& + {\em Letter} & & \em degrees\\ + "r" & right & 0 & "ur" & up-right & 45\\ + "u" & up & 90 & "ul" & up-left & 135\\ + "l" & left & 180 & "dl" & down-left & 225\\ + "d" & down & 270&"dr" & down-right & 315\\ + \end{tabular} +\vskip3pt + +\begin{small} +\begin{longtable}{>\small lP{.41\textwidth}} +\caption{\protect\PST\ basic drawing commands\label{PSTbasic}}\\ +\hline +\endfirsthead +\caption*{\protect\PST\ basic drawing commands \emph{cont.}}\\ +\hline +\endhead +\PSTComOpt \parabola`{arrows}'\c0\c1 +&Draw a parabola that starts at \c0, +passes through \c0, and whose maximum or minimum is \c1 \\ +\PSTComOpt \psarc`{arrows}\c~'{radius}{angleA}{angleB} +&Draw a circle segment between \emph{angle1} and \emph{angle2} +(counter-clockwise); \\ +\PSTComOpt \psarcn`{arrows}\c~'{radius}{angleA}{angleB} +&As \Usage{psarc}, but the arc is drawn \emph{clockwise} \\ +\PSTComOpt \psbezier`{arrows}(\x0,\y0)'(\x1,\y1)(\x2,\y2)(\x3,\y3) +&Draw a Bezier curve with four control points \\ +\PSTComOpt \psccurve`{arrows}'\c1`\ldots\c n' +&Draw a closed curve between the points \\ +\PSTCom \pscharclip`*[settings]'{text} ... \Main \endpscharclip +&Set the clipping path to the character shapes\\ +\PSTCom \pscharpath`*[settings]'{text} +&The \emph{text} obeys the \PST\ \textbf{linestyle} and +\textbf{fillstyle} commands; +this is only effective if the font used is a \PS\ Type1 font\\ +\PSTComOpt \pscircle`(\x0,\y0)'{radius} +& Draw a circle with the center at \c0 \\ +\PSTComOpt \pscirclebox{text} +&Draw a circle around the text \\ +\PSTCom \pscoil`*[settings]{arrows}\c0'\c1 +&Draw a 3D coil from \c0 to \c1 \\ +\PSTCom \psCoil`*[settings]'{angle1}{angle2} +&Draw a coil horizontally from \emph{angle1} to \emph{angle2}\\ +\PSTComOpt \pscurve`{arrows}'(\x1,\y1)`\ldots(\x n,\y n)' +&Draw an open curve through the points \\ +\PSTComOpt \psdblframebox{text} +&Draw a double box around the text \\ +\PSTComOpt \psdiabox{text} +&Draw a diamond around the text\\ +\PSTCom \psdiamond`(\x0,\y0)'(\x1,\y1) +&Draw diamond centred at \c0 with the half width \x1 and height \y1 \\ +\PSTCom \psdots`*[settings]'(\x1,\y1)`(\x2,\y2)\ldots(\x n,\y n)' +&Draw dot at each coordinate \\ +\PSTComOpt \psecurve`{arrows}'(\x1,\y1)`\ldots(\x n, \y n)' +&Draw an open curve, but omitting the last and first points \\ +\PSTComOpt \psellipse`(\x0,\y0)'(\x1,\y1) +&Draw an ellipse with centre at \c0, and horizontal and vertical radii of +\x1 and \y1 \\ +\PSTComOpt \psframe`(\x0,\y0)'(\x1,\y1) +& Draw a rectangular frame with corners at \c0 and \c1\\ +\PSTComOpt \psframebox{text} +&Draw a box around the text \\ +\PSTCom \psgrid`(\x0,\y0)(\x1,\y1)(\x2,\y2)' +&Superimpose a grid with corners at \c1 and \c2, labelled on the axes +starting from \c0 \\[6pt] +\PSTComOpt \psline`{arrows}(\x0,\y0)'(\x1,\y1)`\ldots(\x n,\y n)' +& Draw a line through a series of coordinates\\ +\PSTComOpt \psovalbox{text} +&Draw an oval around the text\\ +\PSTComOpt \pspolygon`(\x0,\y0)'(\x1,\y1)(\x2,\y2)`\ldots(\x n,\y n)' +& Draw a line through the coordinates, and then close the path to make +an object that can be filled\\ +\PSTComOpt \psshadowbox{text} +&Draw a box around the text, with a shadow\\ +\PSTCom \pstextpath`[pos]\cAny'{graphics object}{text} +&The \emph{text} is drawn along the line defined by the +\emph{graphics object}. \emph{pos} determines how the text relates to the +path; by default (l), it starts at the beginning of the path; +\texttt{c} will center the text along the path and \texttt{r} will +make it finish at the end of the path. \c{} provides an offset for the +text in relation to the path. By default it is offset above the line +by .7ex. \emph{This macro, and} +\verb|\pscharclip|, \emph{are not guaranteed to work with +every dvi to \PS\ driver!}\\ +\PSTCom \pstriangle`(\x0,\y0)'(\x1,\y1) +&Draw isoceles triangle with base +centred at \c0, width \x1, and height \y1 \\ +\PSTComOpt \pstribox{text} +&Draw a triangle around the text \\ +\PSTComOpt \pswedge`(\x0,\y0)'{radius}{angle1}{angle2} +&Draw a wedge segment between \emph{angle1} and \emph{angle2} +(counter-clockwise) \\ +\PSTCom \pszigzag`*[settings]{arrows}\c0'\c1 +&Draw a zigzag from \c0 to \c1 \\ +\hline +\end{longtable} + +\end{small} + + +\begin{table*} +\begin{minipage}[b]{.5\textwidth}\centering +\def\myline#1{\psline{#1}(0,1ex)(1.3,1ex)}% + \catcode`\<=12 + \begin{tabular}[b]{cll}% + {\em Value} & \hbox to 1.3cm{\em Example\hss} & \\ \hline + "-" & \myline{-} & None\\ + "<->" & \myline{<->} & Arrowheads.\\ + ">-<" & \myline{>-<} & Reverse arrowheads.\\ + "<<->>" & \myline{<<->>} & Double arrowheads.\\ + ">>-<<" & \myline{>>-<<} & Double reverse arrowheads.\\ + "|-|" & \myline{|-|} & T-bars, flush to endpoints.\\ + "|*-|*" & \myline{|*-|*} & T-bars, centered on endpoints.\\ + "[-]" & \myline{[-]} & Square brackets.\\ + "(-)" & \myline{(-)} & Rounded brackets.\\ + "o-o" & \myline{o-o} & Circles, centered on endpoints.\\ + "*-*" & \myline{*-*} & Disks, centered on endpoints.\\ + "oo-oo" & \myline{oo-oo} & Circles, flush to endpoints.\\ + "**-**" & \myline{**-**} & Disks, flush to endpoints.\\ + "c-c" & \myline{c-c} & Extended, rounded ends.\\ + "cc-cc" & \myline{cc-cc} & Flush round ends.\\ + "C-C" & \myline{C-C} & Extended, square ends.\\ + "|<->|" & \myline{|<->|} & T-bars and arrowheads.\\ + "|<*->|*" & \myline{|<*->|*} & T-bars and arrowheads, flush.\\ + \end{tabular} + \caption{\protect\PST\ line terminators} + \label{PSTarrows} +\end{minipage}% +\begin{minipage}[b]{.5\textwidth}\centering + \def\mydots#1{% + \psdots[dotstyle=#1](.1,1ex)(.55,1ex)(1,1ex)(1.45,1ex)(1.9,1ex)}% +\begin{tabular}[b]{ll} +\emph{Style}&\emph{Example\qquad\qquad}\\ +\hline + "*" & \mydots{*} \\ + "o" & \mydots{o} \\ + "+" & \mydots{+} \\ + "x" & \mydots{x} \\ + "|" & \mydots{|} \\ + "asterisk" & \mydots{asterisk} \\ + "oplus" & \mydots{oplus} \\ + "otimes" & \mydots{otimes} \\ + "triangle" & \mydots{triangle}\\ + "triangle*" & \mydots{triangle*}\\ + "square" & \mydots{square}\\ + "square*" & \mydots{square*}\\ + "diamond" & \mydots{diamond}\\ + "diamond*" & \mydots{diamond*}\\ + "pentagon" & \mydots{pentagon} \\ + "pentagon*" & \mydots{pentagon*}\\ +\mbox{}\\ +\mbox{} + \end{tabular}% + \caption{\protect\PST\ dot styles} + \label{dotstyles} +\end{minipage} +\end{table*} + +\section{Examples of basic graphic objects} +The following examples demonstrate some of the \PST\ building blocks, +and the use of the graphics parameters. We must remember that all +these simple objects take up no space; the surrounding +\texttt{pspicture} defines the space \TeX\ is to leave, but within +that, we are drawing entirely by coordinates. +\begin{GridPSExample}(0,0)(2,1) + \psline(2,1) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(2,1) + \psline[linestyle=dashed](2,1) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(2,1) + \psline[linewidth=0.6mm,doubleline=true, + doublesep=0.5mm]{->}(2,1) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(4,2) + \psline[linearc=0.25,showpoints=true]{->}% + (1,0)(4,0.3)(2,2)(0,0.5) + \psline[linestyle=dotted,linecolor=blue, + arrowlength=3]{<->}(0,1)(3,0)(4,2) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(4,2) + \psframe[fillstyle=solid,fillcolor=pink] + (1,0)(4,1) + \psframe[fillstyle=solid,fillcolor=white, + framearc=0.5](3,0.2)(3.8,0.8) + \pspolygon[linewidth=0.7mm,dimen=inner] + (0,1)(2,2)(3,1)(2,0) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(4,2) + \psdiamond(1.5,1.5)(1.5,0.5) + \pstriangle[fillstyle=solid, + fillcolor=yellow](2,0)(3,1) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(3,2) + \pscircle[linewidth=1mm,linecolor=green] + (1,1){1} + \pscircle[linestyle=none,fillstyle=solid, + fillcolor=lightblue](1,1){0.5} + \pscircle[fillstyle=crosshatch](2.5,1.5) + {0.5} +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(4,2) + \psellipse[linecolor=green, + fillstyle=vlines,hatchangle=0, + hatchcolor=red](1,1)(1,0.5) + \pswedge[fillstyle=solid, + fillcolor=lightgray] + (2.5,1){1}{0}{120} +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(3,2) + \psdots[linecolor=blue,dotstyle=triangle, + dotscale=2](0,0.5)(1,2)(2.8,1.5) + \pscurve[linecolor=cyan,showpoints=true] + {->}% + (0,1.2)(1.3,1.8)(3,0.4)(0.5,0.2) + \psarc(2,1.5){1}{180}{320} + \parabola[linecolor=red]{<->}% + (0.3,0.3)(1.5,1.5) +\end{GridPSExample} + +\begin{GridPSExample}(0,0)(4,2) + \psbezier[linewidth=0.8mm,linecolor=red, + showpoints=true]{|->}% + (1,0)(4,1)(2,2)(0,0) +\end{GridPSExample} + +\section{Mixing text and graphics} +When we come to consider text, the situation is rather +different; now the size of objects is determined by the size of the +enclosed text. Here \TeX\ \emph{is} aware of the space used, so +successive objects are placed as if they were letters, and coordinates +are not used. +\begin{example**} +\psframebox{The Buck Stops Here} +\end{example**} + +\begin{example**} + \psframebox[fillstyle=solid, + fillcolor=black] + {\bfseries\color{white}\LARGE + Beware of The Dog} +\end{example**} + +\begin{example**} + \psframebox{The dragon} + \psframebox + {\psframebox[linecolor=green]{ate} + \psframebox[linecolor=blue] + {\psframebox[linecolor=red]{the women} + and + \psframebox[linecolor=red]{children}}} +\end{example**} + + +\begin{example**} + \psshadowbox[fillstyle=solid, + fillcolor=yellow] + {\color{red}\begin{tabular}{c} + Chapter 1\\We go to sea + \end{tabular}} +\end{example**} + +\begin{example**} + \pscirclebox[doubleline=true] + {\bfseries STOP!} +\end{example**} + + +\begin{example**} + \psdblframebox[linecolor=green] + {\color{red}All Hail Caesar!} +\end{example**} + +\begin{example**} + \psdiabox{\sffamily No Parking} +\end{example**} + +\begin{example**} + \pstribox[shadow=true,fillstyle=gradient, + gradbegin=green,gradend=red] + {\color{white}\Large$\Omega$ } +\end{example**} + + +\begin{example**} + \psovalbox[linecolor=red] + {\color{blue}Today's Menu} +\end{example**} + +\PS\ aficionados will be aware that text in \PS\ is treated just like +any other graphical object (this was one of the great revolutions +introduced by the language), and can be manipulated. The following +examples demonstrate the \Lcs{pstextpath} macro, which has two +parameters: a graphic object, and some text. The text is made to fit +the graphical object; only simple text is allowed, but that includes +maths. + +\begin{PSExample}(-4,-3)(3,0) + \psset{linecolor=lightgray} + \pstextpath + {\pscurve(-4,-2)(-2,0)(0,-3)(2,-1)(3,-3)} + {\color{blue} If you + want to type $2=\int_0^\pi \sin\theta\, + \mathrm{d}\theta$ and let it follow + along a curving line \ldots} +\end{PSExample} + + +It is also possible to set text as if it were a graphic, with the +fill, colour and line properties. This is done with the +\Lcs{pstextpath} macro; it has limitations (for instance, it cannot be mixed +with \Lcs{pstextpath}), but it is still a useful tool for special occasions: +\begingroup\fontfamily{ptm} +\begin{GridPSExample}(0,-.2)(2.5,1.8) + \pscharpath[fillstyle=solid, + fillcolor=lightblue, + linewidth=.4pt] + {\fontsize{72}{72}\selectfont \LaTeX} +\end{GridPSExample} +\endgroup +Admirers of the distinctive style of Dorling Kindersley publications +may like to try the following effect: + +\begin{example**} +\begin{pspicture}(-4,-3)(4,1) +\psset{fillstyle=solid,shadow=true,shadowangle=0} +\DeclareFixedFont{\babyfont}{T1}{ptm}{m}{n}{2cm} +\DeclareFixedFont{\wordfont}{T1}{ptm}{m}{n}{1.5cm} +\def\Cc#1#2{\pscharpath[fillcolor=#1]{#2}} +\bfseries +\rput(0,0){\babyfont +\Cc{red}B\Cc{green}A\Cc{yellow}B% +\Cc{red}{Y'}\Cc{blue}S} +\rput(0,-2){{\wordfont\Cc{blue}{WORLD}}} +\end{pspicture} +\end{example**} + + +The third of these tools which treat text like a graphic is +\Lcs{pscharclip}; this takes a parameter of some text, and its effect +is terminated by \Lcs{endpscharclip}. Any objects drawn inside this +group are clipped to the shape of the letters. + +%%% Bounding box corrected by hand to +%%%%%BoundingBox: 145 635 380 667 +%%% dvips -E came up with which leaves far too much space +%%%%%BoundingBox: 119 351 380 667 +\begin{Example**} +\newcounter{myN} + +\DeclareFixedFont{\bigsf}{T1}{phv}{b}{n}{1.3cm} +\DeclareFixedFont{\tinyrm}{T1}{ptm}{m}{n}{2mm} +\setcounter{myN}{110} +\begin{pspicture}(0,0)(8.2,1) +\pscharclip[linecolor=yellow,fillstyle=solid, + fillcolor=red] + {\rput[bl](0,0){\bigsf CHOCOLATE}} +\rput[t]{90}(0,0) + {\vbox + {\hsize=2cm \offinterlineskip + \tinyrm\color{black} + \loop + \addtocounter{myN}{-1} + \ifnum\value{myN}>0 + nuts and raisins + \repeat}} +\endpscharclip +\end{pspicture} +\end{Example**} + +\section{Working with a third dimension} +Later versions of \PST\ offer some experimental facilities for viewing +objects in three dimensions. Two-dimensional objects can be projected +in a 3D coordinate system, and arbitrary viewpoints established. At +the present time, \PST\ does not support true 3D solid objects, +perspective projection, hidden-line removal, or lighting of objects, +so the usefulness of this part of the package is limited. However, +with some patience, pleasing effects can be obtained (well +demonstrated, as usual, by \cite{Girou:1994}). Table~\ref{PST3d} +lists the new commands, and Table~\ref{PSTparms3d} describes the +extra graphics parameters which apply to them. + +\begin{table*} +\begin{tabular}{lP{.5\textwidth}} +\hline +\PSTComOpt \psshadow{text} +&Draw a shadow on the text\\ +\PSTComOpt \pstilt{degrees}{text} +&Place \texttt{text} tilted\\ +\PSTCom \ThreeDPut`(\x0,\y0,\z0)'{object} +&Place \emph{object} at coordinate \x0,\y0,\z0, displayed according to +the current viewpoint\\ +\hline +\end{tabular} +\caption{\protect\PST\ 3D commands}\label{PST3d} +\end{table*} + +\begin{table*} +\begin{tabular}{llP{.5\textwidth}} +\emph{Parameter} & \emph{Default} & \emph{Explanation}\\ +\hline +\Par{Tshadowsize=size} (1)&Length of shadow\\ +\Par{Tshadowcolor=colour} (lightgray)&Colour of shadow\\ +\Par{Tshadowangle=angle} (60)&Angle of shadow\\ +\Par{viewpoint=x y z} (1 -1 1) &position of the observer looking + at the object origin \\ +\Par{normal=x y z} (0 0 1) & +A vector orthogonal to the plane of the 2D object, +which specifies its position in 3D space\\ +\Par{embedangle=angle} (0) & +The rotation around the axis through the reference point of the object +in the direction of the positioning vector\\ +\hline +\end{tabular} +\caption{\protect\PST\ 3D graphical parameters}\label{PSTparms3d} +\end{table*} + +There are two high-level `3D' commands, and one general tool. The +high-level commands are \Lcs{psshadow}, which attaches a shadow to +some text, and \Lcs{pstilt}, which angles an object into the third +dimension. +\begin{example**} + \psshadow[Tshadowangle=45, + Tshadowsize=2.5]{% + \LARGE\bfseries Words with a shadow} +\end{example**} + +\begin{PSExample}(0,-3)(3,1.5) +\rput(0,1){\pstilt{45}{I Feel Ill!}} +\rput(0,0){\pstilt{-75}{\psgrid(2,2)}} +\end{PSExample} + +\begin{figure*}[!t]\centering +\def\CurrentPackages{pstcol} +\begin{Escape} +\makeatletter +\def\DieFrame{\@ifnextchar[{\DDieFrame}{\DDieFrame[darkgray]}} +\def\DDieFrame[#1]{\psframe[linecolor=black,fillcolor=#1,fillstyle=solid](4,4)} +\makeatother +\def\SpotColor{white} +\def\DieOne{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](2,2){.3} +} +\def\DieTwo{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](1,2){.3} +\pscircle*[linecolor=\SpotColor](3,2){.3} +} +\def\DieThree{\DieFrame[lightgray] +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](2,2){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +} +\def\DieFour{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +} +\def\DieFive{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +\pscircle*[linecolor=\SpotColor](2,2){.3} +} +\def\DieSix{\DieFrame +\pscircle*[linecolor=\SpotColor](1,1){.3} +\pscircle*[linecolor=\SpotColor](1,2){.3} +\pscircle*[linecolor=\SpotColor](1,3){.3} +\pscircle*[linecolor=\SpotColor](3,1){.3} +\pscircle*[linecolor=\SpotColor](3,2){.3} +\pscircle*[linecolor=\SpotColor](3,3){.3} +} +\def\DieSide#1#2#3{\ThreeDput[normal=#1](#2){#3}} +\def\TheDie#1#2(#3)(#4){% +\begin{pspicture}(#3)(#4) +\ifcase #1 \relax +\or %1 + \psset{viewpoint=-1 -1 #2} + \DieSide{-1 0 0}{0,4,0}{\DieThree} + \DieSide{0 -1 0}{0,0,0}{\DieFive} +\or %2 + \psset{viewpoint=1 -1 #2} + \DieSide{0 -1 0}{0,0,0}{\DieFive} + \DieSide{1 0 0}{4,0,0}{\DieFour} +\or %3 + \psset{viewpoint=1 1 #2} + \DieSide{1 0 0}{4,0,0}{\DieFour} + \DieSide{0 1 0}{4,4,0}{\DieTwo} +\or %4 + \psset{viewpoint=-1 1 #2} + \DieSide{0 1 0}{4,4,0}{\DieTwo} + \DieSide{-1 0 0}{0,4,0}{\DieThree} +\fi +\ifnum#2<0 + \DieSide{0 0 -1}{0,4,0}{\DieSix} +\else + \DieSide{0 0 1}{0,0,4}{\DieOne} +\fi +\end{pspicture}} +\psset{unit=.35cm} +\framebox{% +\begin{tabular}{cccc} +\TheDie{1}{1}(-5,-2.5)(5,7.5)& +\TheDie{2}{1}(-2.5,-3.5)(7.5,6.5)& +\TheDie{3}{1}(-5,-5)(5,5)& +\TheDie{4}{1}(-7.5,-4)(2.5,6)\\ +\TheDie{1}{-1}(-5,-5)(5,5)& +\TheDie{2}{-1}(-2.5,-3.5)(7.5,6.5)& +\TheDie{3}{-1}(-5,-2.5)(5,7.5)& +\TheDie{4}{-1}(-7.5,-4)(2.5,6) +\end{tabular} +} +\end{Escape} +\caption{Different views of a dice cube}\label{PSTdice} +\end{figure*} + +The general macro is \Lcs{ThreeDPut}, which places any \PST\ object at +a point in 3D space. This will almost always set the \texttt{normal} +graphics parameter, which sets the vector which will be orthogonal to +the plane of the object. To take a simple example, suppose we want to +draw a house, with a reference origin at the left-hand end of the +front wall; the left side wall would be drawn as follows: +\begin{PSExample}(-3.5,-1.2)(4,2.5) + \psset{unit=.5cm} + \psset{viewpoint=-1 -1 1} + \ThreeDput[normal=0 0 1]{\psgrid(-3,-3)(6,6)} + \ThreeDput[normal=-1 0 0](0,4,0){ + \psframe*[linecolor=yellow](4,4)} +\end{PSExample} +The viewpoint is from `up, back and to the left'. When we draw a whole +cube, +it is important to realize that \PST\ does not check which side hides +which; the last side drawn will wipe out others drawn earlier, regardless +of the fact that it is `behind' them in 3D space. When drawing the +different views, we have to give the sides in different orders. +Fig.~\ref{PSTdice} shows this problem, since when we show the +`underneath' well, we have to be sure to draw all the six faces in the +right order for the viewpoint. The attempt to provide `lighting' on +the die is done simply by colouring three faces in a lighter +colour. To attempt formal ray-tracing from a light source would be +considerably beyond the scope of this package! + +Following another example by Denis Girou, we can use the +\Lcs{ThreeDPut} macro to generate the appearance of raised text: +% this one uses too much memory redefining colours +%%% Bounding box corrected by hand to +%%%%%%BoundingBox: 146 522 322 658 +\begin{Example*} +\begin{pspicture}(-3,0)(3,5.5) +\psset{unit=.5cm} +\font\bigfont=phvb8t at .8cm +\psset{viewpoint=-1 -1 1.5,normal=0 0 1} +\rput(0,0){\multido{\n=0+0.07}{12} + {\definecolor{AColor}{rgb}{1, \n, \n} + \ThreeDput(\n,\n,0){\pscircle[% + linestyle=none,fillstyle=solid, + fillcolor=AColor](5,5){6}}}} +\psset{linestyle=none} +\rput(0,0){\multido{\n=0+0.07}{12} + {\definecolor{AColor}{rgb}{1, \n, \n} + \ThreeDput(\n,\n,0){\bigfont + \pstextpath[c]{% + \psarcn(5.5,5.5){4}{180}{0}}{% + \color{AColor}Happy Christmas} + \pstextpath[c]{% + \psarc(5.5,5.5){4}{180}{0}}{% + \color{AColor}\TeX\ Lovers}}}} +\end{pspicture} +\end{Example*} + + +\DeleteShortVerb{\"} + +\begin{thebibliography}{99} +\bibitem[\protect\citename{Girou }1994]{Girou:1994} +{Girou, D.} 1994. +\newblock {Pr\'esentation de PSTricks}. {\em Cahiers GUTenberg}, {\bfseries + 16}, 21--70. + +\bibitem[\protect\citename{{van Zandt} }1993]{Zandt:1993a} +{{van Zandt}, T.} 1993. +\newblock PSTricks User's Guide. +\newblock Unpublished documentation with the software, version 0.93a. + +\bibitem[\protect\citename{{van Zandt} \& Girou }1994]{Zandt-Girou:1994} +{{van Zandt}, T. \& Girou, D} 1994. +\newblock Inside PSTricks. {\em TUGboat}, {\bfseries 15 (3)} September, + 239--246. +\end{thebibliography} +\end{Article} + diff --git a/usergrps/uktug/baskervi/6_1/bv61rev.tex b/usergrps/uktug/baskervi/6_1/bv61rev.tex new file mode 100644 index 0000000000..e812957ab3 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61rev.tex @@ -0,0 +1,129 @@ +\begin{multicols}{2}[\Section{Walnut Creek \TeX\ CDROM}] + +\let\Section\section + +\title{Part 1: A user's view} + +\author{J. M. Bowsher} + +\begin{article} +I first heard of the \emph{Walnut Creek} \TeX\ CDROM (actually a pair of +disks) when my faithful hardware and software suppliers {\it Systems +Solutions} sent me a list of their latest CDROMs. I asked Peter Abbott +about it when I renewed my subscription to \ukt, and he surprised me by +sending me a copy to review and asking me to write down my opinions as +one who works alone and is not connected to a network. + +The packaging is the usual for a pair of CDs, but the first thing I +noticed was the depressing little message on the first disk ``type GO to +start''; this warned me that the suppliers had IBM PC users only in +mind. Fortunately, the disks are in ISO~9660 format, so my Atari ST was +able to read them with no problems --- I expect that other platforms +would have no difficulty either. However, I found when I accessed the +first `readme' file that \emph{Walnut Creek} have used a format for +informative text files which required me to use my word processor to +read them; the ROM based ASCII text reader I normally use placed all the +text, apart from the first couple of lines, off the right hand edge of +the screen. \emph{Walnut Creek} provide in the root partition of the +first disk what they claim is a powerful and versatile viewer, but they +have failed to help workers on platforms other than the IBM PC --- there +are no viewing programs for other systems. + +The root partition `readme' file told me that the CDROM contains, +\emph{inter alia}, a snapshot of the \textsc{ctan} + archive taken between February +and March 1995; it would therefore seem to be of considerable utility to +the \TeX\ community; I look forward to reading the second part of this +review by a \TeX\ expert. The first thing \emph{I} did after reading +that first `readme' file was rush to the `systems' folder and see what +was in it. The following systems are included: Acorn Archimedes, Amiga, +Atari, Common \TeX, Knuth (Knuth's original sources), Mac, MSDOS, NT, +OS2, Unix, VM-cms, VMS, web2c. I next discovered --- and this, I feel, +is a very serious drawback --- that at least four different compression +algorithms are used on this pair of disks. After only a few minutes +searching around, I found \texttt{ARC}, \texttt{LZH}, \texttt{ZIP} and +\texttt{ZOO} extensions, but no decompression facilities were provided +in any of the systems sub-folders I looked through. I feel that the +suppliers should have placed in each of the `systems' sub-folders, a set +for \emph{that} system of executable decompression programs for every +compression method used. Those on systems using $8 + 3$ character file +names should be aware that some of the files on this CDROM do not use +this naming convention. + +Obviously, I opened the Atari sub-folder first, but had to search +through my floppy storage box to unearth a \texttt{ZOO} decompresser (I +have never before had occasion to use \texttt{ZOO}) before I could +discover that it contained version 7.00 of the Christoph Strunk \TeX\ +shell I use, and also a late version of the alternative Lindner shell. +I installed version 7.00 on my machine as it is very pleasant to use +English commands, but was sad to see that much of the supporting +documentation is still in German. There are also several folders of +useful utilities including, for example, many +\texttt{dvi}~$\rightarrow$~printer drivers. Who knows, one of the +600~dpi laser printer drivers may even work! + +A quick survey of other systems revealed that they seem to be provided +for in a similar manner. I couldn't check that things worked, of +course, but there were folders full of what looked like comparable +material to that I had gone through in my native folder. I leave the +discussion of the other, more basic, \TeX\ material to my fellow +reviewer. I noticed lots of useful stuff; for example, hundreds of +fonts (including a way of using printer resident Hewlett Packard laser +fonts) in addition to the expected \texttt{cm}, \texttt{dc} etc. + +Thus my opinion is that this CDROM would be a versatile addition to +almost anyone's collection provided they have the patience (if not using +an IBM PC) to sort out decompression and file location problems. My +file finding accessory deserved a much needed rest after working on this +CDROM for a few hours! +\end{article} + +\title{Part 2: An archivist's view} + +\author{Sebastian Rahtz} +\begin{article} + +There have been four \textsc{ctan} CDROM collections that we know of. +There were sections on CD even before the formal `opening' of the +archive setup by George Greenwade in 1993 at Aston, thanks to Prime +Time Freeware's offering, but the first full set was that issued by +PTF in mid 1994. They planned a yearly update, but we are still +waiting for a second edition; meanwhile, Walnut Creek issued their two +disk set in mid 1995, and recently the German \TeX\ Users Group, +Dante, has produced another one, which has not yet been seen in the UK +(it is for `members only', in that delightfully open way Dante has). + +When the Prime Time Freeware CD came out, it was criticized for being +all compressed using ZIP (which was better than the myriad methods +used on the 1992 disk), which meant that all of \LaTeX, for instance, +was in one giant archive. The Walnut Creek CD is better, because +everything is uncompressed, as you would find it on the archives (from +a year ago --- and much has changed since then), but +the downside is that because there are two disks, what you want is +always on the other one. Apart from that, it is a great convenience +having a \textsc{ctan} snapshot at home, or in an unconnected office, +and I congratulate Walnut Creek for producing it. + +Is a \textsc{ctan} dump a good idea, however? The most successful \TeX\ +CD is the 4All\TeX\ offering from NTG, which allows DOS users to run +straight from a mounted disk if they like, and this can never be the +case with a \textsc{ctan} dump. Do users want an archive, or a usable +file system? With the increasing use of compound \texttt{docstrip} +sources for \LaTeX\ packages, we need to \emph{install} material before +we use it. The standard directory structure recently described by the +TUG TDS working group is a vital stage in making the dream of a +complete, usable, \TeX\ file system on a single CD come true, and I +expect to see an offering this year. + +We need both \textsc{ctan} dumps for the unconnected, and TDS standard +file systems for `plug-n-play'ers. \textsc{ctan} will continue to +provide the raw material, but I hope that CD producers will spend more +on adding value, and understanding the content. The Walnut Creek CD is +useful, but not very useful for the complete beginner; it has not been +done in consultation with the \textsc{ctan} maintainers, which is a +pity. + +\end{article} + + +\end{multicols} diff --git a/usergrps/uktug/baskervi/6_1/bv61rus.tex b/usergrps/uktug/baskervi/6_1/bv61rus.tex new file mode 100644 index 0000000000..4bd937d25f --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61rus.tex @@ -0,0 +1,217 @@ + +\title{Russian Paragraph Shapes} +\author{Based on \texttt{comp.text.tex} article of Peter Schmitt\\ + with extra commentary by David Carlisle.} + +\begin{Article} + +\section{The problem} + +\catcode`\<=12 +\let\Par\par +\parfillskip0pt +\parindent1cm +\def\russianpar{\ifhmode \unskip + \hskip-2\parindent minus-2\parindent \hskip\hsize minus\hsize + \hbox{\hskip\parindent}\hskip0pt + \hbox{\strut}\hskip-\parindent\hskip\hsize plus\parindent + \vadjust{\nobreak\vskip-\baselineskip}\Par + \fi} +\let\par\russianpar + +Recently on the \texttt{comp.text.tex} newsgroup The following +question was asked (as an aside in a thread that was originally about +``My Life with \TeX''. + + +\begin{itshape} +\textbf{Related problem:} the last line of a paragraph must be \textbf{either} +longer than \verb|\parindent| and shorter than +$(\verb|\hsize|-\verb|\parindent|)$, \textbf{or} +it must reach the right margin (exactly \verb|\hsize| long). + +How can I implement this with the existing continuous +\verb|\parfillskip| glue? This is my publisher's demand, based on +traditional Russian typography rules. +\end{itshape} + + +In fact it is clear that this requirement cannot be satisfied +by any setting of the pargraph parameters alone, however the question +produced two deceptively simple solutions from two `regulars' on that +newsgroup, Peter Schmitt and Donald Arseneau. In a couple of followup +articles these methods were refined. This article is based +on Peter's summary as posted to the newsgroup and typeset with the +requested paragraph style. + +The ideas here may be +of use to anyone wishing to implement non-standard paragraph shapes, +not just the particular requirements of this question. + +\section{The first solution} + +You can do this by ending each paragraph by \mbox{glue $+$ hbox $+$ glue} + where the (empty) hbox spans \verb|\parindent|, + \mbox{glue $+$ hbox} together range from + \verb|\parindent| to \verb|\hsize|~$-$~\verb|\parindent|, + and \hbox{hbox $+$ glue} range from +\verb|\hsize|~$-$~\verb|\parindent| + to \verb|\hsize|, + such that a break may occur either before \mbox{glue $+$ hbox} + (such that glue disappears) or just after hbox. +In both cases the paragraph will end in an empty line. +Therefore you have to back up one line. + +\begin{verbatim} +\parfillskip0pt + +\def\russianpar{% + \hskip2\parindent plus\hsize + \hskip-2\parindent + \hbox{\hskip\parindent}% + \hskip0pt + \hbox{}% + \hskip-\parindent + \hskip\hsize plus\parindent + \vadjust{\vskip-\baselineskip}% + \endgraf} +\end{verbatim} + +\section{The second solution} +Donald Arseneau's solution is similar, but rather than always forcing +a blank row at the end of the paragraph, a rule of a special (small) +depth is inserted together with glue items. If the line breaks leaving +this rule on its own on the last line, then this can be detected by +inspecting \verb|\prevdepth|, and a suitable negative skip can be +added to compensate for the `blank' line. + +\begin{verbatim} +\def\par{% + \ifhmode + \unskip + \strut + \hskip-\parindent + \vadjust{}% + \nobreak + \hskip2\parindent + \vrule depth 54321sp + height \ht \strutbox width 0sp + \endgraf + \ifdim\prevdepth=54321sp + \nobreak + \vskip-2\baselineskip + \hbox{\strut}% + \fi + \fi} + +\parfillskip=\hsize minus\hsize +\advance\parfillskip + -2\parindent minus-2\parindent + +\end{verbatim} + +\section{Comments} + +Donald Arseneau commented on one problem with the first solution: +Unfortunately, \verb|plus \hsize| does not set a firm limit on the stretch +the same way that \verb|minus\hsize| sets a limit on the shrink. Inserting +the settings \verb|\tolerance=100| \verb|\pretolerance=100| may fix +this, but I doubt that such low tolerances would be practical when +building a paragraph under such ``Russian'' constraints to the line +breaking. + +To which the reply was: +One might, however, wish to take advantage of this effect +by setting a higher (than \verb|\parindent|) limit for the last line +where the length is chosen such that a tolerable line would +still meet the \verb|\parindent| requirement. +On average, this should prefer longer last lines and this is +is certainly aesthetically better. + +Some more remarks: +calculating the \verb|\parskip| has the advantage (over setting +\verb|\parskip| to a calculated value) that one may change +\verb|\hsize| and \verb|\parindent| without needing to adapt other values. +If one does not mind this, using fixed values (calculated once) +is certainly more efficient. +In this case one should also think of using prepared boxes +(\verb|\setbox| and \verb|\copybox|) instead of producing these boxes +each time when a paragraph is set. + +The trick of passing information via the depth of a special strut is +well known, but relies on the fact that no other macro package is +using the same value. Donald Knuth remarks in the \TeX{}Book\ ``\emph{A +distance of~$1000\,$sp is invisible to the naked eye, so a variety of +messages can be passed in this way.}'' +However if there is a chance that several +macro packages really are using this trick, it would be wise to define +an allocation mechanism (cf.\ \verb|\newcount|) that allocates a +unique `special depth' each time it is called. Similar comments could +apply to allocating penalty values over 10000 which are also often +used to flag special actions to be taken. + +As all these methods require a redefinition of \verb|\par| (which is +inserted by \TeX\ automatically for each blank line in the input file) +they may need some further work to work in conjunction with other +macros that redefine \verb|\par|, probably the most common such case +are the \LaTeX\ list environments. + +\section{Final versions} +After considering the points raised in the discussion Peter Schmitt +posted the following two variants, which take more care over inserting +the glue, and an original use of \verb|\discretionary|. This article +is set with \verb|\par| defined by the first of these methods, and with +paragraph indent of 1\,cm. + +\noindent1) +\begin{verbatim} +\parfillskip0pt + +\def\russianpar{% + \ifhmode + \unskip + \hskip-2\parindent minus-2\parindent + \hskip\hsize minus\hsize + \hbox{\hskip\parindent}% + \hskip0pt + \hbox{\strut}% + \hskip-\parindent + \hskip\hsize plus\parindent + \vadjust{\nobreak\vskip-\baselineskip}% + \endgraf + \fi} + +\end{verbatim} + +\noindent2) +\begin{verbatim} +\parfillskip0pt + +\def\Russianpar{% + \ifhmode + \unskip + \strut\vadjust{}% + \nobreak + \discretionary + {}% + {\hbox{\hskip2\parindent + \vrule depth 123sp + width 0sp + height \ht \strutbox}} + {\hbox{\hskip\parindent}}% + \hskip-2\parindent minus2\parindent + \hskip\hsize minus\hsize + \kern0pt + \endgraf + \ifdim\prevdepth=123sp + \nobreak + \vskip-2\baselineskip + \hbox{\strut}% + \fi + \fi} + +\end{verbatim} + +\mbox{} + +\end{Article} diff --git a/usergrps/uktug/baskervi/6_1/bv61tai.tex b/usergrps/uktug/baskervi/6_1/bv61tai.tex new file mode 100644 index 0000000000..fa525c8693 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61tai.tex @@ -0,0 +1,27 @@ + +\title{\ukt\ Meeting: \TeX\ and the Internet} +\author{} + +\begin{Article} +\noindent Finally may I draw members' attention to the forthcoming +meeting in Warwick on 20th March. + +Speakers will include Yannis +Haralambous, Michel Goossens, Sebastian Rahtz, Malcolm Clark and + Robin Fairbairns. + +The meeting will cover many aspects of \TeX's interaction with other +aspects of electronic communication on the internet: + +LaTeX2HTML, +Adobe Acrobat, Mathematics in HTML3, Font Encodings, +The \textsc{ctan} archives\ldots + +Further details and a booking form will be found on the flier +accompanying this issue. + +\end{Article} + + + + diff --git a/usergrps/uktug/baskervi/6_1/bv61tor.tex b/usergrps/uktug/baskervi/6_1/bv61tor.tex new file mode 100644 index 0000000000..48b7e6552b --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61tor.tex @@ -0,0 +1,585 @@ + +\title{A \LaTeX\ Tour: Part 1} +\author[David Carlisle]{David Carlisle} +% Mathematics Department\\ +% Manchester University} + +\begin{Article} + +\section{Introduction} +In this article I hope to give a `guided tour' around the files +that make up the basic \LaTeX\ distribution. Subsequent articles in +this mini-series will cover other packages by the \LaTeX\ development +team, and also some of the main contributed packages. + +The primary source for \LaTeX\ is the `\textsc{ctan}\footnote +{\texttt{ftp.tex.ac.uk} in the UK}' network of archives, so +if I refer to path names of files this relates to the \textsc{ctan} file +structure. Note however that if you obtained \LaTeX\ as part of a +`pre-packaged' \TeX\ distribution, then these files may have been +moved (typically documentation files may be separated from \TeX\ +source files). Hopefully this will not cause any confusion. + +\section{The Components of \LaTeX} + +The \LaTeX\ distribution at the \textsc{ctan} archives is organised into +the following directories. + +\begin{filedesc} +\item[base] Contains the core \LaTeX\ files. You need at least these +files for a minimal \LaTeX\ installation. + +\item[unpacked] Includes \emph{all} the files in \texttt{base} +together with the result of `unpacking' the source files. (More about +this later.) Thus when obtaining \LaTeX\ you should get either +\texttt{base} or \texttt{unpacked}, but not both. Getting the former +saves on time transferring the files, but getting the latter saves +time that would be taken unpacking the source files, so which is +preferable depends on the relative speed (and cost) of your machine +and your connection to the archives. + +\item[packages] Consists of seven independent \LaTeX\ `extensions' +that are written and supported by the \LaTeX\ developers (or the +American Mathematical Society). + +\texttt{amsfonts}, \texttt{amslatex}, \texttt{babel}, \texttt{graphics}, +\texttt{mfnfss}, \texttt{psnfss} and \texttt{tools} + +These packages will be described in more detail later in the series. + +\item[fonts] The metafont sources and \TeX\ +font metric files of a few fonts that \LaTeX\ requires that are not +part of the original plain \TeX\ distribution. + +\item[doc] This directory is not part of the main \LaTeX\ +distribution, it is generated by the \textsc{ctan} archives. +As a convenience +for those people that have not yet installed \LaTeX, some of the main +introductory documentation files which are available as \LaTeX\ files +in the base distribution are made available in this directory as dvi +and \PS\ files. + +\item[contrib] This directory contains an ever growing number of +contributed \LaTeX\ packages, and other extensions, that have been +contributed by \LaTeX\ users. They are not part of the `official' +\LaTeX\ distribution, but many of them form a vital part of any +`working' \LaTeX\ installation. The packages are divided into two +subdirectories `\texttt{supported}' and `\texttt{other}', however at +the current time one should ignore this distinction when looking for +packages to fetch from the archives. Contrary to +expectations some of the best supported packages are distributed (at +their author's request) from \path|contrib/other|. +\end{filedesc} + +Unfortunately (for mainly historical reasons) people in search of +contributed \LaTeX\ packages also need to look in more distant +\textsc{ctan} directories. +Firstly, the \path|macros/latex209/contrib| area on +\textsc{ctan} contains packages that were written for the previous +version of \LaTeX\ that has been obsolete for 19 months now. +Any packages that are still distributed from this \LaTeX2.09 tree are +likely to be less than well supported, but you can still find some +useful files there. +Secondly, there are some packages that work with multiple formats, not +just \LaTeX, and these are to be found under \path|macros/generic| +or in their own top-level directory, such as \path|macros/musictex|. + +\section{Documentation in the Base Distribution} +The documentation that comes with \LaTeX\ is of two forms: plain +(ASCII) text files with extension \texttt{.txt}, or \LaTeX\ documents +distributed as \LaTeX\ source with extension \texttt{.tex}. +Generally speaking the text files are mainly of interest to people +installing \LaTeX, who may need information before they have a working +system. Information of more general interest to \LaTeX\ users is +normally distributed as a \LaTeX\ document. + +\subsection{The ASCII text files} +\subsubsection{Installation instructions} +\begin{filedesc} +\item[00readme] Provides a general introduction to the system, +and should be the first file to look at when installing \LaTeX\ for +the first time. +\item[install] Provides `generic' installation instructions, but for +many \TeX\ versions more specific +specific instructions that have been contributed by the authors or +users of those systems, thus \File|emtex| gives instructions for the +popular em\TeX\ implementation, \File|web2ctex| gives specific +instructions on installing under \textsc{unix}, etc. + +\item[tex2] If you have a \TeX\ that pre-dates version 3.0 (which was +released in 1989) by far the best thing to do is to update your \TeX, +but if that is really not possible this file details how \LaTeX\ may +be built under \TeX2. + +\item[autoload] Describes the installation of an `autoloading' version +of \LaTeX. +This produces a much smaller format by saving less common commands in +external files rather than in memory. These files are automatically +`autoloaded' as required. +This version of \LaTeX\ is particularly recommended if you are using +a small installation (for instance a `small' em\TeX\ on a sub-386 PC). + +\end{filedesc} + +\subsubsection{Other text files} + +\begin{filedesc} +\item[legal] Contains the copyright notices and distribution +conditions for \LaTeX. + +\item[bugs] Contains instructions on how to compile a bug report + (see below). + +\item[patches] Describes the \LaTeX\ patch mechanism that is used for + distributing small updates between the `full' releases. This file +also contains a list of all the files that have changed since the last +full release. +\item[changes] +A Change Log of all the changes made to the \LaTeX\ files. +This is mainly intended for internal use by the \LaTeX\ developers, +but some people like to read it. +\end{filedesc} + + +\subsection{The \LaTeX\ `guides'} + +These documents are distributed as \LaTeX\ source (i.e, \texttt{.tex} +files) although as noted in the above introduction, the \textsc{ctan} +archives distribute most of them in ready-formatted versions in the +directory \path|latex/doc| so you can read these before installing +\LaTeX\ if you wish. +Unlike the ASCII text files described above, most of these documents +are primarily intended for \emph{users} of the system rather than +system managers and software installers. + +\begin{filedesc} +\item[usrguide] \emph{\LaTeXe\ for Authors}. +This document describes all the main new features of +the 2e release of \LaTeX. It was written originally with the user of +the old \LaTeX\,2.09 in mind, but newcomers to \LaTeX\ who have never +used the old version should still gain something by reading this +document. It does not however cover the majority of \LaTeX\ commands +that were not changed, and so it is not a substitute for a full +\LaTeX\ manual. +\item[clsguide] \emph{\LaTeXe~for class and package writers}. + A companion to to \texttt{usrguide}, gives details of +the \LaTeX\ commands for structuring class files and extension +packages. +\item[fntguide] \emph{\LaTeXe{} font selection}. +For font addicts only, but if you want to know the detailed +specification of the `New Font Selection Scheme' commands, here is the +place to look. +\item[cfgguide] \emph{Configuration options for \LaTeXe}. +Discusses what you can (and can not) do to configure a \LaTeX\ +installation to the requirements of your local site. +\item[ltx3info] \emph{The \LaTeX3 Project}. A brief summary of the +aims of the \LaTeX3 project, the group of volunteers that has taken on +the maintenance and development of \LaTeX. +\item[modguide] \emph{Modifying \LaTeX}. This document discusses some +of the rationale behind the \LaTeX\ distribution conditions as +expressed in \texttt{legal.txt} and \texttt{cfgguide.tex}. Unless you +are making a distribution of a modified version of \LaTeX, or are +particularly interested in software copyright issues, you probably do +not want to read this. +\end{filedesc} + +\subsection{\LaTeX~News} +As well as these larger documents there are a series of one-page +`newsletters'. A new one is produced with each full release of \LaTeX. +These detail any changes that have occurred in \LaTeX\ +or the main extension packages over the six months since the previous +release. (\LaTeX\ releases occur at regular intervals, in June and +December of each year.) Currently the four files +\texttt{ltnews01}--\texttt{ltnews04} are distributed corresponding to +the four releases of \LaTeX\ since June 1994. + +\subsection{Example Documents} +There are two (very) small example documents, as described in the +\LaTeX\ book by Leslie Lamport. +\begin{filedesc} +\item[small2e] A very small (1 page) \LaTeX\ document. +\item[sample2e] A slightly larger document. +\end{filedesc} + + +\subsection{Documented sources} +The source for the \LaTeX\ format, and for all the packages and +classes in the core distribution is distributed as `\texttt{dtx}' +files. These are \LaTeX\ documents which may be processed in the usual +way to produce typeset documentation. +For example a command such as \texttt{latex ltpictur.dtx} +would produce documented source of the picture mode commands. +The files with names of the form +`\texttt{lt}\ldots\texttt{.dtx}' make up the source of +the \LaTeX\ format. If you want to produce a combined document +incorporating all these files, you may process +\File|source2e.tex|. This document will +produce a typeset version of the \LaTeX\ sources, together with +change log and index. It is well over 500 pages long, and so may take a +long time to produce. It may produce an index that is too large to be +handled by the `makeindex' program on smaller machines. + + +\subsection{Errata} +The principal documentation for \LaTeX\ is the two books \emph{\LaTeX: +A Document Preparation System}, and \emph{The \LaTeX\ Companion}. +Errata for these (and the German edition of \emph{The Companion}) are +available as \texttt{manual.err}, \texttt{compan.err} and +\texttt{begleit.err}. + +\section{The \LaTeX\ Bug Report Database} +As described in the file \texttt{bugs.txt} mentioned above, the +\LaTeX3 project maintain a database of bug reports for \LaTeX. + +If, after checking with colleagues, reading the manual, etc.,\ you +decide that some behaviour of \LaTeX\ is incorrect then you may +send a message to the \LaTeX\ bug database. Before doing this +you should check that your \LaTeX\ is not more than one year old (the +bug my have been fixed in a recent release). If you have access +to the World Wide Web, you may access the database and see if the +problem is already reported by using the search page accessible from: +\URL|http://www.tex.ac.uk/CTAN/latex/bugs.html|. + +If you decide to send a report, two files are available to help compose +a message in the correct format: +\begin{filedesc} +\item[latexbug.tex] \LaTeX\ this file and you will be prompted for +information such as your name, and the name of a test file that shows +the problem. A mail message will be written to the file +\File|latexbug.msg| which should be sent to +\Email|latex-bugs@uni-mainz.de|. +(You should \emph{always} use \File|latexbug.tex| to generate +messages to be sent to this bug address. It is an interface to +a database (The GNU GNATS problem tracking system) and can not handle +messages that are not in the special format written by +\File|latexbug.tex|. +\item[latexbug.el] For users of the GNU Emacs text editor, a more +convenient interface is provided by this file. It runs +\File|latexbug.tex| automatically, and provides online help for +filling in the various fields, and finally automatically mails the +message to the correct address. +\end{filedesc} + +\section{Docstrip files} +As mentioned above, \LaTeX\ is distributed as documented +sources. The files that are actually used by \TeX\ are extracted from +these files by running \File|docstrip.tex|. The \LaTeX\ distribution +contains many files with extension \texttt{.ins} that control how +\texttt{docstrip} extracts each file. Most of these are never used +individually, as they would just `unpack' one small part of the +distribution. The file \File|unpack.ins| is a `master' installation +script that calls the smaller install files in turn and so unpacks the +whole distribution. Normally running \TeX\ on this file is the first +step in installing \LaTeX. This step may be omitted however if the +\File|unpacked| directory is obtained from \textsc{ctan} rather than +\File|base|. \File|unpacked| is \emph{exactly} the result of obtaining +base and running \TeX\ on \File|unpack.ins|. If you have a slow +machine you may prefer this route as it saves unpacking time, but +conversely it requires downloading more files, so if you are +transferring the files via a slow connection such as a modem +then you may prefer to get the smaller `base' distribution. + +There are three install files that are \emph{not} included into +\File|unpack.ins| so you may have need to run these if you need the +following features. +\begin{filedesc} +\item[autoload] Processing \File|autoload.ins| will generate +the source file for the `autoload' version of +\LaTeX, \File|latexa.ltx|, +as described in \File|autoload.txt|. This should be processed +with ini\TeX\ to create a format file to be used in place of the +standard \File|latex.fmt|. As well as the modified format, various +packages are created containing the code that has been taken out of the +format. Normally these do not need to be invoked explicitly as they +are loaded on demand when they are needed. Currently the following +package files are produced. +\begin{filedesc} +\item[autopict] Source for \env{picture} mode. +\item[autotabg] Source for \env{tabbing} environment. +\item[autoerr] The texts of most \LaTeX\ error commands. +\item[autofss1] Less used font selection commands. +\item[autoout1] Code related to \verb|\enlargethispage|. +\end{filedesc} +The autoload format is still quite experimental, and so the range of +such `autoloading' packages may change with future releases. +\item[cmextra] Processing \File|cmextra.ins| installs the +`\texttt{fd}' files +for the `concrete' variants of the Computer Modern fonts, and also the +AMS Cyrillic fonts. +\item[olddc] If using the Computer Modern fonts in the 8-bit `T1' +encoding, \LaTeX\ defaults to using the `dc fonts'. During 1995 these +fonts were updated and the names of the fonts \emph{changed}. Thus the +10\,pt roman font corresponding to \File|cmr10| is now \File|dcr1000| +rather than \File|dcr10|. The install file \File|unpack.ins| includes +\File|newdc.ins| so by default \LaTeX\ will use the new 1995 names (dc +fonts release 1.2 or later) when using T1 font encoding. If you still +have the old dc fonts, then you must process \File|olddc.ins| to +produce suitable \texttt{fd} files referring to the old names. +\end{filedesc} + +\section{The Standard \LaTeX\ Classes} + +The general appearance of a \LaTeX\ document, and the specification +of the commands available is specified in a \emph{document +class}. This may be further modified by loading \emph{packages}, as +described in \texttt{usrguide}. In this section I give a brief +overview of the available classes in the base distribution. They all +have extension \texttt{.cls} (after being unpacked from the +\texttt{.dtx} source file during the installation process). + +\begin{filedesc} +\item[article] `\class{Article} Class'. In some sense the canonical +reference class against which all others are judged. +This class (which is generated from the same \File|classes.dtx| source +as \class{report} and \class{book} described below) is a mixed blessing. +On one hand it provides quite a rich collection of commands for marking +up documents that means that it serves well as as the basic `generic' +class to be used when no more suitable specific class is available. On +the other hand the visual appearance of documents produced with this +class is very distinctive. Many people who say they +``don't like \LaTeX'' +and so use some other format such as plain, in fact are misled into +believing that \LaTeX\ \emph{is} this class. In fact by loading +\class{article} and then making small adjustments one can produce +very different visual designs. The class file for \BV~ is an example of +such a non-standard class based on \class{article}. + +However for many purposes, portability is more important than +original typographical design, and in these cases the \class{article} +class has the big advantage of being installed at all \LaTeX\ sites. + +\item[report] `\class{Report} Class'. Very similar to \class{article} + (and produced from the same source). +The main differences being that this class has a +higher level of sectioning command (\verb|\chapter|) than is available +in \class{article}, and the front matter is typeset differently. + +\item[book] The \class{book} class is again very similar to +\class{report} +with the addition of a few extra features for controlling the front +matter and back matter. +It is unlikely that you would want to use this class `as +is' as for a book, you would almost certainly want to spend some +effort (and perhaps money!) on an original design. However it can be +used as a basis or example of the implementation of a \LaTeX\ class +for book production. + +\item[letter] This provides commands for producing one or more +letters. Many sites use this as a basis for producing site-specific +letter class files, for instance with a modified heading that inserts +a departmental logo and address.\footnote{One should be able to +find details of such local variants in the famous `local guide'.} + + +\item[proc] Proceedings class. This is a variant of \class{article} +class (and inputs the \File|article.cls| file when used). +It defaults to two column mode and makes one or two other small +adjustments. It may be used as a model for how make a class that +builds on another. + +\item[slides] The \class{slides} class. +This class essentially provides the functionality that was formally +built into \SLiTeX. It provides a +mechanism for producing pages suitable for projecting on an overhead +projector. It is described in the \LaTeX\ book, and some people like +it, however if you are making a lot of such presentations you may +prefer to look at the contributed classes \class{seminar} +(T.~v.~Zandt) or \class{foiltex} (J. Hafner). these provide alternatives +to the standard class that many people find more useful. + +\end{filedesc} + +As well as these `Standard Classes' the base distribution contains a +few other special purpose classes. + +\begin{filedesc} +\item[minimal] This is the minimal \LaTeX\ class. +It just sets up a text area, and a font in a single size. +None of the normal sectioning or font size commands are available. +This class is not intended to be used in documents, but it is often +useful when testing macros as it loads very quickly. +\item[ltxguide] A special purpose class for the `\LaTeX\ guides' +mentioned earlier. +\item[ltnews] The class file used for the `\LaTeX~News' news sheets. +\item[ltxdoc] This class is used in all the \texttt{dtx} documentation +files. It is based on the \class{article} class and the \package{doc} +package, but with additional commands for documenting the \LaTeX\ +sources. It was not conceived as a class for general use, but some +people find it convenient to use it when documenting their own package +files. +\end{filedesc} + + +\section{Standard Packages} + +\subsection{Encoding Packages} +One of the main features of the 2e release of \LaTeX\ is that it +attempts to remove all `hard wired' assumptions about the encodings +being used, both for input and also in the fonts used for typesetting. + +It maintains a strict distinction between the \emph{Input Encoding} +and the \emph{Output Encoding}. The input encoding relates to the text +that you type, this may be a standard encoding such as ASCII (The +traditional 7-bit encoding) or ISO-latin-1, or +a platform specific encoding such as `Windows ANSI' as used on +MicroSoft Windows 3.x machines. +The output encoding for text fonts is usually either OT1 (The encoding +devised by Knuth and implemented in the original Computer Modern \TeX\ +fonts.) or T1 the new \TeX\ encoding also known as `Cork' after the +meeting where it was agreed. + +\LaTeX\ maintains this separation by \emph{always} translating input +to an \emph{Internal Encoding}. This is essentially traditional \TeX\ +7-bit input. This internal encoding is then translated to the encoding +used in the font without reference to the original input mechanism +used. Thus if you specify an input encoding that includes the +character \textbf{\'{e}} you may type that directly at the keyboard, +and see it as a single character, however internally \LaTeX\ will +treat this as \verb|\'{e}|. If you are using 7-bit OT1 encoded fonts +this command will use the \verb|\accent| primitive to add an accute to +the \textbf{e}, however if you are using T1 fonts, the existing +\textbf{\'{e}} will be accessed directly. Note however that the +position of \textbf{\'{e}} in the output encoding (T1) is typically +\emph{different} from the position of the character in the input +encoding used. +\begin{filedesc} +\item[inputenc] +Specifies that an 8-bit input encoding is being used. +A package option should always be used which sets up +the default encoding. The currently available options +include \package{latin1}, \package{latin2}, +\package{ansinew}, \package{cp437}, \package{cp437de}, +\package{applemac}. (The two IBM codepage 437 variants differ just in +one slot, the former uses $\beta$, the latter uses \ss.) + +So typical usage (to specify ISO Latin-1 input conventions) would be:\\ +\verb|\usepackage[latin1]{inputenc}| + +\item[fontenc] +Specifies the default output encoding for text fonts. Currently +the available options are \package{OT1} and \package{T1}. +So to specify that fonts in the the T1 (Cork) encoding be used in the +document one would declare:\\ +\verb|\usepackage[T1]{fontenc}| + +\end{filedesc} + +\subsection{Remaining Packages in the Base Distribution} +\begin{filedesc} +\item[alltt] Defines the \env{alltt} environment, similar to +\env{verbatim} except that \verb|\|, \verb|{| and \verb|}| retain +their usual \TeX\ meanings. +\item[doc] The package defining the commands used for documenting all +the \LaTeX\ code in the distribution. +\item[shortvrb] This package (really a small part of the \package{doc} +package) defines the \verb|\MakeShortVerb| command that allows +shorthands like \verb"|\foo|" instead of \verb"\verb|\foo|" This is +very convenient if you are documenting \TeX\ or some other situation +where you need to make a lot of use of short sections of verbatim text. +\item[exscale] For mainly historical reasons \LaTeX\ always uses the +math extension font (used for brackets and sum and integral signs +etc.) at the same size, whatever the current font size. This package +modifies this behaviour so that magnified fonts are used at larger +sizes. At the same time it makes the plain \TeX\ commands \verb|\big|, +\verb|\bigg| etc., work as expected in conjunction with \LaTeX\ size +commands. +\item[flafter] \LaTeX\ floats such as the \env{figure} and +\env{table} environment can float \emph{up} to the top of the +current page. This means that it is possible that the figure appears +before its first reference. Some publisher's styles do not allow +this. \package{flafter} redefines the float placement algorithm so that +a float never appears before its position in the source file, so by +using this package, and placing the \env{figure} environment after +the first reference to the figure, one can ensure that figure will +appear after the reference. +\item[graphpap] The \verb|\graphpaper| command produces a grid for use +in the \env{picture} environment. +\item[ifthen] Provides an `if \ldots then \ldots else\ldots' programming +construct for use in \LaTeX\ packages. Many of the examples in `The +\LaTeX\ Companion' assume this package has been loaded. +\item[makeindx] Implements support for generating an index. +\item[pict2e] This package produces an error message to say that +it has not been written. Even if it were written one would be advised +to instead use the \package{PSTricks} package, as described in +Sebastian Rahtz' article elsewhere in this issue. +\item[showidx] This causes the argument of each \verb|\index| +command to be printed on the page where it occurs. See also +\File|idx.tex| described below. +\item[syntonly] Used to process a document without + typesetting it. On some systems this speeds things up considerably, +and so may (possibly) be useful while debugging documents. +\item[tracefnt] This allows you to control how much information about + \LaTeX's font loading is displayed. +\item[latexsym] Loads the special \LaTeX\ symbol font and then +defines commands such as \verb|\Box| that use this font. These +commands were defined by default in \LaTeX2.09. +\item[newlfont] Defines `old' font commands to act in the `new' +way. For example it makes \verb|\rm| essentially equivalent to +\verb|\rmfamily|. This package is not now recommended but is +distributed so old documents written using the \LaTeX2.09 version of +this package still work. +\item[oldlfont] A companion to \package{newlfont}. This package is +only to be used for old documents that used the \LaTeX2.09 package of +the same name. +\end{filedesc} + +\section{Font Definition Files} +Unpacking the \LaTeX\ distribution creates dozens of `font definition +files' with extension `\texttt{.fd}' from their documented sources (with +extension \texttt{.fdd}). These map the internal \LaTeX\ model of fonts +on to the external file names as used on your system. Normally you +never need to load these explicitly into a \LaTeX\ document and they +will not be considered in detail here except to say that if you +obtain some new fonts from the \TeX\ archives, make sure to also get +the related \texttt{fd} files, and install them where \LaTeX\ can +find them. + +\section{Makeindex Styles} +The distribution includes three styles (with extension \texttt{.ist}) +for the \emph{makeindex} index generator. They modify the makeindex +defaults so as to work with the special requirements of the +\package{doc} package. + +\begin{filedesc} +\item[gind] Produces indices of command definition and use. +\item[gglo] Produces `change log' entries (using the \LaTeX\ +\verb|\glossary| command rather than \verb|\index|). +\item[source2e] This style is only produced if the \LaTeX\ document +\File|source2e.tex| is processed. It is almost identical to +\File|gind.ist| but defines `I' to be in the series +`\mbox{I--J--K}' rather than `\mbox{I--II--III}'. This is needed for +the numbering conventions used in that document. +\end{filedesc} +\section{Miscellaneous Utilities and Files} +\begin{filedesc} +\item[idx.tex] Print out index entries in your document. +\item[lablst.tex] Generate list of labels used in a +document. You may prefer instead to have the labels show up in the +margins of your drafts, in which case use the \package{showkeys} +package from the `tools' collection to be described later in this +`tour'. +\item[ltxcheck.tex] This `document' should always be processed after +\LaTeX\ has been installed. It produces no output but checks various +components of the system are configured correctly for your machine +type. +\item[nfssfont.tex] Test file for testing a font. A more +extensive font test is available if you use the \package{fontsmpl} +package from the `tools' collection. +\item[testpage.tex] Test file for checking the accuracy of a +printer. This is particularly useful to see if you need to specify any +offsets to your printer driver to ensure that the printed text is +correctly positioned on the paper. +\item[Makefile.unx] A very simplistic template `Makefile' for +installing the \LaTeX\ base distribution under \textsc{unix}. +Many \textsc{unix} \TeX\ +distributions come with far more suitable installation procedures. For +example the excellent `te\TeX' distribution allows you to install \TeX, +\LaTeX, metafont, dvips, xdvi, and a host of other utilities and fonts +just by typing \texttt{sh install.sh}. +\item[latex209.def] This file is loaded whenever a document begining +with \verb|\documentstyle| is seen. It forces \LaTeX\ into `2.09 +compatibility mode' which is exceedingly slow, but a fairly accurate +emulation of the old version of \LaTeX. This enables old documents to +be processed under the current system. +\end{filedesc} +\end{Article} diff --git a/usergrps/uktug/baskervi/6_1/bv61tre.tex b/usergrps/uktug/baskervi/6_1/bv61tre.tex new file mode 100644 index 0000000000..4a292e4cea --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61tre.tex @@ -0,0 +1,74 @@ +\title{Treasurer's Report} +\author[Peter Abbott]{Peter Abbott\\ +Treasurer and Membership Secretary, \ukt\\ +\texttt{Peter.Abbott@tex.ac.uk}} + +\begin{Article} +\section{Membership Matters} + +This \BV\ is the first issue for 1996 and is being sent to +all 1996 and 1995 members (who have not yet renewed). Unless you +renew your membership this is the last issue that you will receive. If +you decide that you do not wish to renew and have not notified me, +please do so. I would be interested in the reason for not +renewing. The only way that \ukt\ can +improve its services is by feedback from members. + +Everyone who has renewed, at the time of writing (8th February), +should have received an acknowledgement of the renewal. I always +acknowledge renewals and would like to hear from anyone who has not +received an acknowledgement. + +For the record the membership statistics at 8th February are + +\begin{center} +\begin{tabular}{lrr} + & 1995 & 1996\\ +\hline +\ukt & 66 & 33\\ +Honorary & 1 & 2\\ +\ukt\ (Student) & 2 & 2\\ +Full TUG and \ukt & 99 & 70\\ +Basic TUG and \ukt & 6 & 4\\ +Full TUG and \ukt\ (Student) & 4 & 4\\ +Basic TUG and \ukt\ (Student)& 1 & 0\\ +Institutional & 5 & 2\\ +Full TUG & 2 & 0\\ +Basic TUG & 0 & 0\\ +TUG (Student) & 0 & 0\\ +\ukt\ (paid via TUG) & 3 & 0\\ +\hline +Total & 188 & 116 +\end{tabular} +\end{center} + +No doubt by the time that you read this they will have changed. + +The two Honorary Members are Don Knuth and Malcolm Clark. I have not +yet been notified of any renewals from USA but there is at least one +person who has set the process in motion. + +\section{Software distributions} +Turning to other matters for which I have a responsibility, I am +pleased to report that the original 50 copies of the 3rd edition of +the 4All\TeX\ CDROM have been sold and further supplies have been +ordered. + +The December~95 release of \LaTeXe\ has not yet been distributed but +will be sent to all who paid the \pounds 30/\pounds 5 fee in +1995. Andrew Trevorrow has indicated that Oz\TeX~2.0 will be available +later this year for distribution to paid up members. I have no further +information, at present, on updates for Em\TeX. + +The book discounts have been increased to 20\% (except for those which +include VAT-able elements). A revised price list should be included with +this issue. In any case, if you are interested in any book from the +lists, please contact me and I can confirm the price etc. All prices +quoted include delivery to your address as on the membership form. I +would be grateful if you could notify me when books are delivered as +it eases the administrative problems with invoices. + +My address, phone and fax appear in the masthead. + +\end{Article} + diff --git a/usergrps/uktug/baskervi/6_1/bv61yh.tex b/usergrps/uktug/baskervi/6_1/bv61yh.tex new file mode 100644 index 0000000000..68a6d97727 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/bv61yh.tex @@ -0,0 +1,251 @@ + + +\title%[\textsf{yhmath}] + {Large brackets and accents: the \textsf{yhmath} package} +\author[Yannis Haralambous]{Yannis Haralambous\\ + 187, rue Nationale, + 59800 Lille, France\\ + \texttt{haralambous@univ-lille1.fr}} +\begin{Article} + + +\section{Abstract} +This package\footnote{This article describes the currently available + version. An extended package with more symbols is planned.} + provides a set of big delimiters, intermediate to those +of the original \TeX{}, and also much bigger. It also provides very +wide accents (including two new ones: parenthesis and triangle). These +symbols are included in a font which has Don's \File|cmex10| as +lower ASCII part. + + +\section{Installation} + +This package consists of (a) a font, written in Metafont, (b) a \LaTeX{} +style file, (c) an \texttt{fd} file for the OMX encoding using the new +font. +To build the font put all the Metafont files somewhere where your +Metafont can find them (for example in +\path|texmf/fonts/src/public/yhmath|) + +Then launch Metafont at least once on \File|yhcmex10| so that at least +one \texttt{tfm} file exists when you'll start typesetting +(\File|dvips| and similar programs will create the \texttt{pk}s, don't +worry). + +Then take the \File|OMXyhex.fd| file and put it together with your other +\texttt{fd} (Font Definition) files; and \File|yhmath.sty| together +with your other \LaTeX{} styles. Have fun! + +\section{Availability} + +Don Knuth's code is included in Metafont files, so this code is under +the usual \TeX ware copyright conditions. My code is +postcard-ware. (If you like it and find it is worth a +postcard + a stamp + the mental effort of writing a word +[optional!] and the physical effort +of going to the nearest mailbox, then do it!) + +Everything is on \textsc{ctan}, +and if there are upgrades you will be informed in the usual way. + +\section{Very big delimiters} +I never liked those parentheses of matrices which become almost +immediately straight. In traditional math typography, parentheses stay +curved, even if they are very big. So I decided to play around with +\TeX's \texttt{charlist} font property, and make some more of those +big delimiters. +I also did intermediate sizes (for all ``big'' delimiters). +Here are some examples : + +%\begin{figure*} +\begingroup +\begin{gather}\label{p1} +\begin{pmatrix} a & b & c\\ d & e & f\\ g & h & i +\end{pmatrix} +\begin{pmatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l +\end{pmatrix} +\begin{pmatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l\\ +m & n & o +\end{pmatrix} +\end{gather} + +\mathversion{yh}\setbox0\hbox{$$} + +\begin{gather}\label{p2} +\begin{pmatrix} a & b & c\\ d & e & f\\ g & h & i +\end{pmatrix} +\begin{pmatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l +\end{pmatrix} +\begin{pmatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l\\ +m & n & o +\end{pmatrix} +\end{gather} +\eqref{p1} is produced using the standard \TeX\ fonts, \eqref{p2} shows +the result of using this package. + +\endgroup +%\end{figure*} + +\section{A new \AmS-\LaTeX{}-like matrix-like environment} + +Since I also did ``very big'' versions of the ``left angle'' and ``right +angle'' symbols, why not make ``matrices'' with them as delimiters? +I have never seen such a mathematical object, but perhaps was it just +because this construction wasn't available yet? +(This is a chicken and egg story). + + +I called this new \AmS-\LaTeX-like environment \texttt{amatrix} +(``a'' for ``angle''). +I hope AMS people will just love it and include it into +\AmS-\LaTeX!\footnote{Talking of \AmS-\LaTeX{} +there are a few more macros I would like to see included, +see next section.} + +Here are the same matrices as above, with angles instead of parentheses: + +\begingroup +\begin{gather}\label{a1} +\begin{amatrix} a & b & c\\ d & e & f\\ g & h & i +\end{amatrix} +\begin{amatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l +\end{amatrix} +\begin{amatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l\\ +m & n & o\end{amatrix} +\end{gather} + +\mathversion{yh}\setbox0\hbox{$$} + +\begin{gather}\label{a2} +\begin{amatrix} a & b & c\\ d & e & f\\ g & h & i +\end{amatrix} +\begin{amatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l +\end{amatrix} +\begin{amatrix} a & b & c\\ d & e & f\\ g & h & i\\ j & k & l\\ +m & n & o +\end{amatrix} +\end{gather} +\eqref{a1} is produced using the standard \TeX\ fonts, \eqref{a2} shows +the result of using this package. + +\endgroup + +\section{New roots} + +Roots got bigger as well, so that now the ``vertical root'' comes +much later. Example : +\begin{equation}\label{r1} +\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{% +\sqrt{\sqrt{\sqrt{\sqrt{\sqrt x}}}}}}}}}}}} +\end{equation} +{\mathversion{yh} +\begin{equation}\label{r2} +\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{% +\sqrt{\sqrt{\sqrt{\sqrt{\sqrt x}}}}}}}}}}}} +\end{equation}} +\eqref{r1} is produced using the standard \TeX\ fonts, \eqref{r2} shows +the result of using this package. + + +\section{A few things missing from \AmS-\LaTeX{} v1.2} + +In \AmS-\LaTeX{} there is a \verb|\ddots| command for diagonal dots. +How about antidiagonal ones? There are matrices called anti-symmetric, +and for them we need the notation ``dots going up''. +I define a \verb|\adots| macro, with a code symmetric to \verb|\ddots|, +here is the result: \smash{$\adots$}. + +Another thing missing in all \TeX{} \& Co\@. packages: the ring accent, +used in topology for the interior of a space. +I define a macro \verb|\ring| to be used in math mode. +Here is the result: if $X=[0,1]$ then $\ring{X}=]0,1[$. + +\section{Very wide accents} + +I added some more hats and tildes (accessed by the standard +\verb|\widehat| and \verb|\widetilde| commands). +so that you can get really wide accents now; see the examples below: +\begin{gather} +\label{h1} +\widehat{A},\widehat{ABC},\widehat{ABCDE},\widehat{ABCDEFG}\\ +\label{h2} +\amswidehat{A},\amswidehat{ABC},\amswidehat{ABCDE}, +\amswidehat{ABCDEFG}\\ +\label{h3} +\mbox{\mathversion{yh}$\displaystyle +\widehat{A},\widehat{ABC},\widehat{ABCDE},\widehat{ABCDEFG}$} +\end{gather} +\begin{gather} +\label{h4} +\widetilde{A},\widetilde{ABC},\widetilde{ABCDE},\widetilde{ABCDEFG}\\ +\label{h5} +\amswidetilde{A},\amswidetilde{ABC},\amswidetilde{ABCDE}, +\amswidetilde{ABCDEFG}\\ +\label{h6} +\mbox{\mathversion{yh}$\displaystyle +\widetilde{A},\widetilde{ABC},\widetilde{ABCDE},\widetilde{ABCDEFG}$} +\end{gather} +\eqref{h1} and \eqref{h4} show the standard \TeX\ font. +\eqref{h2} and \eqref{h5} +show the larger accents possible using the AMS fonts, +as defined in the \AMS-\LaTeX\ package \textsf{amsfonts}. +\eqref{h3} and \eqref{h6} show the larger accents produced by the new +\texttt{yhcmex10} font. + + +\mathversion{yh} +I also designed two new +accents: the triangle accent \verb|\widetriangle| +and the parenthesis accent \verb|\wideparen|: +$$ +\widetriangle{A}, +\widetriangle{ABC}, +\widetriangle{ABCDE}, +\widetriangle{ABCDEFG} +$$ +$$ +\wideparen{A}, +\wideparen{ABC}, +\wideparen{ABCDE}, +\wideparen{ABCDEFG} +$$ + + + +The former is used (in France only??) to show that the notation $ABC$, +where $A,B,C$ are three points, means a triangle and not an angle. +See what I mean? $\widetriangle{ABC}$ is a triangle, $\widehat{ABC}$ +is an angle. + +The latter is used when we want a non-expansible accent to be applied +to more than one letters at once. Of course \AmS-\LaTeX{} has given a +solution to this (place the symbols between parentheses and the accent +as an exponent of the right parenthesis), by I happen not to like that +solution. For example if I want to write ``the interior of $[0,1]$'' +$$\textrm{I prefer to see}\quad\widering{[0,1]} +\quad +\textrm{than} +\quad +([0,1])\ring{} +\quad +\textrm{don't you?} +$$ +Of course this notation is not my invention, I saw it in many French +math books (ever heard of Nick Bourbaki?). + + +I call this macro \verb|\widering|, because it plays the r\^ole of a +wide symbol (and since the ring can't be widened, a parenthesis +is used). +Here are some more examples (the first one coded as \verb|\ring{A}|): +$$ +\ring{A}, +\widering{ABC}, +\widering{ABCDE}, +\widering{ABCDEFG} +$$ + + +\end{Article} + diff --git a/usergrps/uktug/baskervi/6_1/comment.sty b/usergrps/uktug/baskervi/6_1/comment.sty new file mode 100644 index 0000000000..388036153d --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/comment.sty @@ -0,0 +1,98 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Comment.sty version 3.0, 3 September 1992 +% selectively in/exclude pieces of text: the user can define new +% comment versions, and each is controlled separately. +% Special comments can be defined where the user specifies the +% action that is to be taken with each comment line. +% +% This style can be used with plain TeX or LaTeX, and probably +% most other packages too. +% +% Author +% Victor Eijkhout +% Department of Computer Science +% University Tennessee at Knoxville +% 104 Ayres Hall +% Knoxville, TN 37996 +% USA +% +% eijkhout@cs.utk.edu +% +% Usage: all text included in between +% \comment ... \endcomment +% or \begin{comment} ... \end{comment} +% is discarded. The closing command should appear on a line +% of its own. No starting spaces, nothing after it. +% This environment should work with arbitrary amounts +% of comment. +% +% Other 'comment' environments are defined by +% and are selected/deselected with +% \includecomment{versiona} +% \excludecoment{versionb} +% +% These environments are used as +% \versiona ... \endversiona +% or \begin{versiona} ... \end{versiona} +% with the closing command again on a line of its own. +% +% Special comments are defined as +% \specialcomment{name}{before commands}{after commands} +% where the second and third arguments are executed before +% and after each comment. By defining a control sequence +% \Thiscomment##1{...} in the before commands the user can +% specify what is to be done which each comment line. +% +% Basic approach: +% to comment something out, scoop up every line in verbatim mode +% as macro argument, then throw it away. +% For inclusions, both the opening and closing comands +% are defined as noop + +\def\makeinnocent#1{\catcode`#1=12 } +\def\csarg#1#2{\expandafter#1\csname#2\endcsname} + +\def\TreatAsComment#1{\begingroup + \def\CurrentComment{#1}% + \let\do\makeinnocent \dospecials + \makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \xComment} +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\xComment#1^^M{\def\test{#1} + \csarg\ifx{PlainEnd\CurrentComment Test}\test + \def\next{\endgroup\AfterComment}% + \else \csarg\ifx{LolliEnd\CurrentComment Test}\test + \def\next{\endgroup\AfterComment}% + \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test + \edef\next{\endgroup\noexpand\AfterComment + \noexpand\end{\CurrentComment}} + \else \ThisComment{#1}\let\next\xComment + \fi \fi \fi \next} +} + +\def\includecomment + #1{\message{Including comment '#1'}% + \expandafter\def\csname#1\endcsname{}% + \expandafter\def\csname end#1\endcsname{}} +\def\excludecomment + #1{\message{Excluding comment '#1'}% + \csarg\def{#1}{\let\AfterComment\relax + \def\ThisComment####1{}\TreatAsComment{#1}}% + {\escapechar=-1\relax + \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% + \csarg\xdef{LolliEnd#1Test}{\string\\#1Stop}% + \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% + }} +\long\def\specialcomment + #1#2#3{\message{Special comment '#1'}% + \csarg\def{#1}{\def\ThisComment{}\def\AfterComment{#3}#2% + \TreatAsComment{#1}}% + {\escapechar=-1\relax + \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% + \csarg\xdef{LolliEnd#1Test}{\string\\#1Stop}% + \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% + }} +\excludecomment{comment} + +\endinput + diff --git a/usergrps/uktug/baskervi/6_1/config.docu b/usergrps/uktug/baskervi/6_1/config.docu new file mode 100644 index 0000000000..4205e7e91f --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/config.docu @@ -0,0 +1,9 @@ + +% Default resolution. +D 600 + +% Metafont mode. (This is completely different from the -M command-line +% option, which controls whether MakeTeXPK is invoked.) +M docutech + +p +mbv.map diff --git a/usergrps/uktug/baskervi/6_1/dirctan.tex b/usergrps/uktug/baskervi/6_1/dirctan.tex new file mode 100644 index 0000000000..39fa12847e --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/dirctan.tex @@ -0,0 +1,1232 @@ +% +% declarations of significant directories on CTAN +\CTANdirectory{2etools}{macros/latex/packages/tools} +\CTANdirectory{386ix}{systems/unix/386ix} +\CTANdirectory{4alltex}{systems/msdos/4alltex} +\CTANdirectory{Acrobat}{fonts/postscript/adobe/Acrobat} +\CTANdirectory{Alpha}{systems/vms/Alpha} +\CTANdirectory{C++2LaTeX-1_1}{support/C++2LaTeX-1_1} +\CTANdirectory{CJK}{language/chinese/CJK} +\CTANdirectory{Gopher+}{tools/gopher/gopher_protocol/Gopher+} +\CTANdirectory{GopherMoo}{tools/gopher/GopherMoo} +\CTANdirectory{GopherTools}{tools/gopher/Unix/GopherTools/GopherTools} +\CTANdirectory{MlTeX}{language/french/MlTeX} +\CTANdirectory{PSlatex}{systems/vms/drivers/dvips/PSlatex} +\CTANdirectory{RTF}{info/RTF} +\CTANdirectory{RTF-1_06a1}{support/RTF-1_06a1} +\CTANdirectory{a4}{macros/latex/contrib/supported/a4} +\CTANdirectory{a5booklet}{dviware/a5booklet} +\CTANdirectory{aa}{macros/plain/contrib/springer/aa} +\CTANdirectory{aaai}{macros/latex209/contrib/aaai} +\CTANdirectory{aar}{macros/plain/contrib/springer/aar} +\CTANdirectory{aasmacros}{macros/latex209/contrib/aasmacros} +\CTANdirectory{abc2mtex}{support/abc2mtex} +\CTANdirectory{abstr_collect}{macros/latex209/contrib/abstr_collect} +\CTANdirectory{abstyles}{biblio/bibtex/contrib/abstyles} +\CTANdirectory{accents}{support/accents} +\CTANdirectory{acm}{macros/latex209/contrib/acm} +\CTANdirectory{acorn}{systems/acorn} +\CTANdirectory{acronym}{macros/latex/contrib/supported/acronym} +\CTANdirectory{acs}{macros/latex209/contrib/acs} +\CTANdirectory{actinf}{macros/plain/contrib/springer/pjour1/actinf} +\CTANdirectory{ada}{web/ada} +\CTANdirectory{addindex}{support/addindex} +\CTANdirectory{address}{macros/latex209/contrib/address} +\CTANdirectory{adjkerns}{fonts/utilities/adjkerns} +\CTANdirectory{adobe}{fonts/postscript/adobe} +\CTANdirectory{adobegar}{fonts/metrics/adobe/adobegar} +\CTANdirectory{aexam}{macros/amstex/contrib/aexam} +\CTANdirectory{afm-extra}{systems/vms/drivers/dvips/afm-extra} +\CTANdirectory{afmtopl}{fonts/utilities/afmtopl} +\CTANdirectory{agu}{macros/latex209/contrib/agu} +\CTANdirectory{aguplus}{macros/latex209/contrib/aguplus} +\CTANdirectory{aix3.2}{systems/unix/aix3.2} +\CTANdirectory{aladdin}{support/ghostscript/aladdin} +\CTANdirectory{albertus}{fonts/metrics/monotype/albertus} +\CTANdirectory{album}{macros/latex209/contrib/album} +\CTANdirectory{alpha}{systems/mac/support/alpha} +\CTANdirectory{altamer}{support/ispell/languages/altamer} +\CTANdirectory{amalog}{macros/plain/contrib/springer/pjour1/amalog} +\CTANdirectory{amasismt}{fonts/metrics/monotype/amasismt} +\CTANdirectory{american}{support/ispell/languages/american} +\CTANdirectory{amsfonts}{fonts/ams/amsfonts} +\CTANdirectory{amsfonts-symbols}{fonts/ams/amsfonts/sources/symbols} +\CTANdirectory{amslatex}{fonts/ams/amslatex} +\CTANdirectory{amslatex-primer}{info/amslatex-primer} +\CTANdirectory{amspell}{support/amspell} +\CTANdirectory{amstex}{fonts/ams/amstex} +\CTANdirectory{anand}{fonts/utilities/fontinst/contrib/anand} +\CTANdirectory{anngeo}{macros/plain/contrib/springer/pjour2/anngeo} +\CTANdirectory{answers}{macros/latex/contrib/supported/answers} +\CTANdirectory{aphysa}{macros/plain/contrib/springer/pjour2/aphysa} +\CTANdirectory{aphysb}{macros/plain/contrib/springer/pjour2/aphysb} +\CTANdirectory{apl}{fonts/apl} +\CTANdirectory{aplweb}{web/apl/aplweb} +\CTANdirectory{apollo}{fonts/metrics/monotype/apollo} +\CTANdirectory{appl}{web/reduce/rweb/appl} +\CTANdirectory{apps}{tools/gopher/Windows/apps} +\CTANdirectory{arabtex}{language/arabtex} +\CTANdirectory{arbeit}{macros/latex209/contrib/arbeit} +\CTANdirectory{arc521}{tools/arc521} +\CTANdirectory{arialmt}{fonts/metrics/monotype/arialmt} +\CTANdirectory{arj}{tools/arj} +\CTANdirectory{armenian}{fonts/armenian} +\CTANdirectory{aro-bend}{info/aro-bend} +\CTANdirectory{asaetr}{macros/latex209/contrib/asaetr} +\CTANdirectory{asc2tex}{systems/msdos/asc2tex} +\CTANdirectory{ascii}{fonts/ascii} +\CTANdirectory{ashleysc}{fonts/metrics/monotype/ashleysc} +\CTANdirectory{ask-examples}{tools/gopher/Unix/ask-examples} +\CTANdirectory{astro}{fonts/astro} +\CTANdirectory{astron}{macros/latex209/contrib/astron} +\CTANdirectory{atari}{systems/atari} +\CTANdirectory{atob}{tools/atob} +\CTANdirectory{atops}{support/atops} +\CTANdirectory{auctex}{support/auctex} +\CTANdirectory{author-info}{fonts/ams/author-info} +\CTANdirectory{autotab}{macros/latex209/contrib/autotab} +\CTANdirectory{avantgar}{fonts/metrics/adobe/avantgar} +\CTANdirectory{aweb}{web/ada/aweb} +\CTANdirectory{awk}{web/spiderweb/src/awk} +\CTANdirectory{axodraw}{graphics/axodraw} +\CTANdirectory{babel}{macros/latex/packages/babel} +\CTANdirectory{badge}{macros/plain/contrib/badge} +\CTANdirectory{bakoma}{fonts/cm/ps-type1/bakoma} +\CTANdirectory{barcodes}{fonts/barcodes} +\CTANdirectory{bard}{fonts/bard} +\CTANdirectory{barkom}{macros/latex209/contrib/barkom} +\CTANdirectory{barr}{macros/generic/diagrams/barr} +\CTANdirectory{bashkirian}{fonts/bashkirian} +\CTANdirectory{basix}{support/basix} +\CTANdirectory{baskervi}{fonts/metrics/monotype/baskervi} +\CTANdirectory{baum}{macros/latex209/contrib/baum} +\CTANdirectory{bbding}{fonts/bbding} +\CTANdirectory{bbfig}{support/bbfig} +\CTANdirectory{bbm}{fonts/cm/bbm} +\CTANdirectory{bbold}{fonts/bbold} +\CTANdirectory{bdfches}{fonts/chess/bdfches} +\CTANdirectory{bdfchess}{fonts/chess/bdfchess} +\CTANdirectory{beebe}{dviware/beebe} +\CTANdirectory{bell}{fonts/metrics/monotype/bell} +\CTANdirectory{bembo}{fonts/metrics/adobe/bembo} +\CTANdirectory{bernardm}{fonts/metrics/monotype/bernardm} +\CTANdirectory{beton}{macros/latex/contrib/supported/beton} +\CTANdirectory{bib2dvi}{biblio/bibtex/utils/bib2dvi} +\CTANdirectory{bibcard}{biblio/bibtex/utils/bibcard} +\CTANdirectory{bibclean}{biblio/bibtex/utils/bibclean} +\CTANdirectory{bibdb}{support/bibdb} +\CTANdirectory{bibextract}{biblio/bibtex/utils/bibextract} +\CTANdirectory{bibindex}{biblio/bibtex/utils/bibindex} +\CTANdirectory{biblio}{info/biblio} +\CTANdirectory{biblist}{macros/latex209/contrib/biblist} +\CTANdirectory{bibsort}{biblio/bibtex/utils/bibsort} +\CTANdirectory{bibtex}{support/lsedit/bibtex} +\CTANdirectory{bibtex-doc}{biblio/bibtex/distribs/doc} +\CTANdirectory{bibtool}{biblio/bibtex/utils/bibtool} +\CTANdirectory{bibtools}{biblio/bibtex/utils/bibtools} +\CTANdirectory{bibview}{biblio/bibtex/utils/bibview} +\CTANdirectory{biemes}{macros/latex209/contrib/biemes} +\CTANdirectory{biffomt}{fonts/metrics/monotype/biffomt} +\CTANdirectory{bigsign}{macros/latex209/contrib/bigsign} +\CTANdirectory{binhex}{tools/binhex} +\CTANdirectory{binnyold}{fonts/metrics/monotype/binnyold} +\CTANdirectory{biocyb}{macros/plain/contrib/springer/pjour2/biocyb} +\CTANdirectory{birkhaeuser}{macros/latex209/contrib/birkhaeuser} +\CTANdirectory{birkhahn-metafont-packed-disks}{systems/atari/birkhahn-metafont-packed-disks} +\CTANdirectory{bit2spr}{graphics/bit2spr} +\CTANdirectory{bitpxl}{dviware/bitpxl} +\CTANdirectory{bitstream}{fonts/metrics/bitstream} +\CTANdirectory{black}{fonts/cm/utilityfonts/black} +\CTANdirectory{blackletter}{fonts/blackletter} +\CTANdirectory{blado}{fonts/metrics/monotype/blado} +\CTANdirectory{blocks}{macros/text1/blocks} +\CTANdirectory{blu}{macros/blu} +\CTANdirectory{bluesky}{systems/mac/metafont/bluesky} +\CTANdirectory{bm2font}{graphics/bm2font} +\CTANdirectory{bmf2gf}{language/chinese/bmf2gf} +\CTANdirectory{bnf}{macros/latex209/contrib/bnf} +\CTANdirectory{bodonimt}{fonts/metrics/monotype/bodonimt} +\CTANdirectory{bold}{fonts/cm/mf-extra/bold} +\CTANdirectory{bonus}{systems/msdos/emtex-contrib/bonus} +\CTANdirectory{boo}{tools/boo} +\CTANdirectory{bookform}{macros/latex209/contrib/bookform} +\CTANdirectory{bookman}{fonts/metrics/adobe/bookman} +\CTANdirectory{boombox-mirror}{tools/gopher/Unix/GopherTools/boombox-mirror} +\CTANdirectory{borceux}{macros/generic/diagrams/borceux} +\CTANdirectory{boxed}{macros/latex209/contrib/boxed} +\CTANdirectory{boxedart}{macros/generic/boxedart} +\CTANdirectory{braggado}{fonts/metrics/monotype/braggado} +\CTANdirectory{bridge}{macros/plain/contrib/bridge} +\CTANdirectory{brief}{macros/latex209/contrib/letters/brief} +\CTANdirectory{brief_t}{support/brief_t} +\CTANdirectory{british}{support/ispell/languages/british} +\CTANdirectory{bruggink}{macros/latex209/contrib/bruggink} +\CTANdirectory{bsplit}{tools/bsplit} +\CTANdirectory{bst}{biblio/bibtex/contrib/germbib/bst} +\CTANdirectory{btable}{macros/plain/contrib/btable} +\CTANdirectory{btex8fmt}{macros/generic/cptex/btex8fmt} +\CTANdirectory{build}{fonts/metrics/build} +\CTANdirectory{bulgeo}{macros/plain/contrib/springer/pjour2/bulgeo} +\CTANdirectory{byte2tex}{support/foreign/byte2tex} +\CTANdirectory{c}{web/spiderweb/src/c} +\CTANdirectory{c++}{web/spiderweb/src/c++} +\CTANdirectory{c2cweb}{web/c_cpp/c2cweb} +\CTANdirectory{c2latex}{support/c2latex} +\CTANdirectory{c_cpp}{web/c_cpp} +\CTANdirectory{cache}{tools/gopher/Unix/gopher-gateways/techinfo/techinpher/admin/cache} +\CTANdirectory{caesar-fonts-generic.dir}{macros/generic/caesarcm/caesar-fonts-generic.dir} +\CTANdirectory{caesarcm}{macros/generic/caesarcm} +\CTANdirectory{caesarcmfonts.dir}{macros/generic/caesarcm/caesarcmfonts.dir} +\CTANdirectory{caesarcmv2.dir}{macros/generic/caesarcm/caesarcmv2.dir} +\CTANdirectory{calendar}{macros/plain/contrib/calendar} +\CTANdirectory{calistom}{fonts/metrics/monotype/calistom} +\CTANdirectory{calligra}{fonts/calligra} +\CTANdirectory{calrsfs}{macros/latex/contrib/other/calrsfs} +\CTANdirectory{calvertm}{fonts/metrics/monotype/calvertm} +\CTANdirectory{cascover}{macros/plain/contrib/cascover} +\CTANdirectory{cassette}{macros/latex209/contrib/cassette} +\CTANdirectory{casslbl}{macros/plain/contrib/casslbl} +\CTANdirectory{cdvi}{dviware/cdvi} +\CTANdirectory{cellular}{macros/plain/contrib/cellular} +\CTANdirectory{centaurm}{fonts/metrics/monotype/centaurm} +\CTANdirectory{centuryo}{fonts/metrics/monotype/centuryo} +\CTANdirectory{centurys}{fonts/metrics/monotype/centurys} +\CTANdirectory{changebar}{macros/latex209/contrib/changebar} +\CTANdirectory{charconv}{support/charconv} +\CTANdirectory{charter}{fonts/charter} +\CTANdirectory{chbar}{macros/plain/contrib/chbar} +\CTANdirectory{chbars}{macros/latex209/contrib/chbars} +\CTANdirectory{check}{support/check} +\CTANdirectory{checksum}{tools/checksum} +\CTANdirectory{chemstruct}{macros/latex209/contrib/chemstruct} +\CTANdirectory{chemtex}{macros/latex209/contrib/chemtex} +\CTANdirectory{cheq}{fonts/cheq} +\CTANdirectory{cherokee}{fonts/cherokee} +\CTANdirectory{chess}{macros/latex209/contrib/chess} +%[fonts/chess] +\CTANdirectory{chesstools}{support/chesstools} +\CTANdirectory{chi2tex}{support/chi2tex} +\CTANdirectory{chinese}{language/chinese} +\CTANdirectory{circ}{macros/generic/diagrams/circ} +\CTANdirectory{circuit_macros}{graphics/circuit_macros} +\CTANdirectory{cirth}{fonts/cirth} +\CTANdirectory{citesidx}{macros/latex209/contrib/citesidx} +\CTANdirectory{clarendo}{fonts/metrics/monotype/clarendo} +\CTANdirectory{clarion}{fonts/metrics/monotype/clarion} +\CTANdirectory{clark}{fonts/utilities/afmtopl/clark} +\CTANdirectory{clearfac}{fonts/metrics/monotype/clearfac} +\CTANdirectory{cm}{fonts/cm} +\CTANdirectory{cmactex}{systems/mac/cmactex} +\CTANdirectory{cmastro}{fonts/cmastro} +\CTANdirectory{cmcyr}{fonts/cmcyr} +\CTANdirectory{cmcyralt}{macros/latex/contrib/other/cmcyralt} +%[fonts/cmcyralt] +\CTANdirectory{cmfrak}{fonts/gothic/cmfrak} +\CTANdirectory{cmoefont}{fonts/cmoefont} +\CTANdirectory{cmoutlines}{fonts/cm/cmoutlines} +\CTANdirectory{cmpica}{fonts/cmpica} +\CTANdirectory{cms_help_files}{macros/text1/cms_help_files} +\CTANdirectory{cmtest}{fonts/cm/cmtest} +\CTANdirectory{cmttss}{fonts/cm/cmttss} +\CTANdirectory{cnoweb}{web/c_cpp/cnoweb} +\CTANdirectory{code}{macros/latex209/contrib/code} +\CTANdirectory{colortex}{macros/latex209/contrib/colortex} +\CTANdirectory{colortex.old}{macros/latex209/contrib/colortex.old} +\CTANdirectory{comm}{tools/macutils/comm} +\CTANdirectory{committee}{fonts/cm/utilityfonts/committee} +\CTANdirectory{comp-fonts-FAQ}{help/comp-fonts-FAQ} +\CTANdirectory{compact}{tools/compact} +\CTANdirectory{compacta}{fonts/metrics/monotype/compacta} +\CTANdirectory{comphy}{macros/plain/contrib/springer/pjour1/comphy} +\CTANdirectory{components-of-TeX}{info/components-of-TeX} +\CTANdirectory{compress}{tools/compress} +\CTANdirectory{compugraphics_8600}{macros/text1/compugraphics_8600} +\CTANdirectory{concrete}{fonts/concrete} +\CTANdirectory{conrado}{web/noweb/contrib/conrado} +\CTANdirectory{convert}{support/convert} +\CTANdirectory{coronetm}{fonts/metrics/monotype/coronetm} +\CTANdirectory{corrects}{macros/latex209/contrib/corrects} +\CTANdirectory{cortex-email.dir}{language/typingtex/cortex-email.dir} +\CTANdirectory{courier}{fonts/metrics/adobe/courier} +%[fonts/courier] +\CTANdirectory{covington}{macros/latex209/contrib/covington} +\CTANdirectory{cpjour2}{macros/plain/contrib/springer/cpjour2} +\CTANdirectory{cpmomu}{macros/plain/contrib/springer/cpmomu} +\CTANdirectory{cptex}{macros/generic/cptex} +\CTANdirectory{crc}{macros/latex209/contrib/crc} +\CTANdirectory{cropmark}{macros/latex209/contrib/cropmark} +\CTANdirectory{crossword}{macros/latex209/contrib/crossword} +\CTANdirectory{crosswords}{macros/latex209/contrib/crosswords} +\CTANdirectory{crudetype}{dviware/crudetype} +\CTANdirectory{crw}{macros/plain/contrib/crw} +\CTANdirectory{cs}{fonts/mathtime/cs} +\CTANdirectory{cs-tex}{systems/atari/cs-tex} +\CTANdirectory{ctan}{help/ctan} +\CTANdirectory{cun}{fonts/cun} +\CTANdirectory{curves}{macros/latex/contrib/other/curves} +\CTANdirectory{custom-bib}{macros/latex/contrib/supported/custom-bib} +\CTANdirectory{cwb32p10}{web/c_cpp/cwb32p10} +\CTANdirectory{cweb}{web/c_cpp/cweb} +\CTANdirectory{cweb-p}{web/c_cpp/cweb-p} +\CTANdirectory{cypriote}{fonts/cypriote} +\CTANdirectory{cyrillic}{language/cyrillic} +\CTANdirectory{cyrit}{fonts/cyrit} +\CTANdirectory{cyrlatex}{support/foreign/cyrlatex} +\CTANdirectory{cyrmemo}{macros/latex209/contrib/cyrmemo} +\CTANdirectory{cyrtug}{language/cyrtug} +\CTANdirectory{dansk}{support/ispell/languages/dansk} +\CTANdirectory{dante}{usergrps/dante} +\CTANdirectory{databases}{biblio/bibtex/databases} +\CTANdirectory{davelove}{web/noweb/contrib/davelove} +\CTANdirectory{db2tex}{support/db2tex} +\CTANdirectory{dbs}{graphics/tiff/contrib/dbs} +\CTANdirectory{dbtex}{support/dbtex} +\CTANdirectory{dc}{fonts/dc} +\CTANdirectory{dc-latex}{language/hyphen-accent/dc-latex} +\CTANdirectory{dc-nfss}{language/hyphen-accent/dc-nfss} +\CTANdirectory{dc-plain}{language/hyphen-accent/dc-plain} +\CTANdirectory{decalign}{macros/latex209/contrib/decalign} +\CTANdirectory{deproc}{macros/latex209/contrib/deproc} +\CTANdirectory{detex}{support/detex} +\CTANdirectory{deutsch}{support/ispell/languages/deutsch} +\CTANdirectory{devanagari}{language/devanagari} +\CTANdirectory{diagram}{macros/generic/diagrams/borceux/diagram} +\CTANdirectory{diagramf}{macros/latex209/contrib/diagramf} +\CTANdirectory{diagrams}{macros/generic/diagrams} +\CTANdirectory{dijkstra}{web/spiderweb/src/dijkstra} +\CTANdirectory{dinbrief}{macros/latex209/contrib/letters/dinbrief} +\CTANdirectory{dingbat}{fonts/dingbat} +\CTANdirectory{directtex}{systems/mac/directtex} +\CTANdirectory{dirkslides}{macros/latex209/contrib/dirkslides} +\CTANdirectory{djgpp}{fonts/utilities/ps2pk/ps2pk14x/msdos/djgpp} +\CTANdirectory{dm-latex}{language/hyphen-accent/dm-latex} +\CTANdirectory{dm-plain}{language/hyphen-accent/dm-plain} +\CTANdirectory{doc2sty}{language/swedish/slatex/doc2sty} +\CTANdirectory{docu}{support/makeprog/docu} +\CTANdirectory{document}{biblio/bibtex/contrib/germbib/document} +\CTANdirectory{dorchest}{fonts/metrics/monotype/dorchest} +\CTANdirectory{dos-dc}{systems/msdos/dos-dc} +\CTANdirectory{dpmigcc}{systems/msdos/dpmigcc} +\CTANdirectory{dratex}{macros/generic/dratex} +\CTANdirectory{drawing}{graphics/drawing} +\CTANdirectory{dropcaps}{macros/latex209/contrib/dropcaps} +\CTANdirectory{duerer}{fonts/duerer} +\CTANdirectory{dutch}{macros/latex209/contrib/dutch} +\CTANdirectory{dvgt}{dviware/dvgt} +\CTANdirectory{dvi-augsburg}{dviware/dvi-augsburg} +\CTANdirectory{dvi2pcl}{dviware/dvi2pcl} +\CTANdirectory{dvi2ps}{dviware/dvi2ps} +\CTANdirectory{dvi2qms}{dviware/dvi2qms} +\CTANdirectory{dvi2tty}{dviware/dvi2tty} +\CTANdirectory{dvi2xx}{dviware/dvi2xx} +\CTANdirectory{dviapollo}{dviware/dviapollo} +\CTANdirectory{dvibit}{dviware/dvibit} +\CTANdirectory{dvibook}{dviware/dvibook} +\CTANdirectory{dvichk}{dviware/dvichk} +\CTANdirectory{dvicopy}{dviware/dvicopy} +\CTANdirectory{dvidis}{dviware/dvidis} +\CTANdirectory{dvidjc}{dviware/dvidjc} +\CTANdirectory{dvidoc}{dviware/dvidoc} +\CTANdirectory{dvidvi}{dviware/dvidvi} +\CTANdirectory{dview}{dviware/dview} +\CTANdirectory{dviimp}{dviware/dviimp} +\CTANdirectory{dvilj4}{systems/msdos/dviware/dvilj4} +\CTANdirectory{dviljk}{dviware/dviljk} +\CTANdirectory{dvimerge}{dviware/dvimerge} +\CTANdirectory{dvimfj}{systems/msdos/emtex-contrib/dvimfj} +\CTANdirectory{dvimswin}{dviware/dvimswin} +\CTANdirectory{dvineclq}{systems/msdos/dviware/dvineclq} +\CTANdirectory{dvipage}{dviware/dvipage} +\CTANdirectory{dvipaste}{macros/lamstex/dvipaste} +\CTANdirectory{dvipj}{dviware/dvipj} +\CTANdirectory{dvips-pc}{systems/msdos/dviware/dvips} +\CTANdirectory{dvips}{dviware/dvips} +\CTANdirectory{dvipsk}{dviware/dvipsk} +\CTANdirectory{dvis}{info/stammtisch/wuppertal/stybesch/dvis} +\CTANdirectory{dvisun}{dviware/dvisun} +\CTANdirectory{dvitodvi}{dviware/dvitodvi} +\CTANdirectory{dvitool}{support/vortex/dvitool} +\CTANdirectory{dvitops}{dviware/dvitops} +\CTANdirectory{dvitovdu}{dviware/dvitovdu} +\CTANdirectory{dvitty}{dviware/dvitty} +\CTANdirectory{dvivga}{dviware/dvivga} +\CTANdirectory{dviware}{systems/knuth/dviware} +\CTANdirectory{dviwin}{dviware/dviwin} +\CTANdirectory{e4t}{systems/msdos/e4t} +\CTANdirectory{e_symbol}{macros/latex209/contrib/e_symbol} +\CTANdirectory{easytex}{systems/msdos/easytex} +\CTANdirectory{ebj}{macros/plain/contrib/springer/pjour2/ebj} +\CTANdirectory{eclbip}{macros/latex209/contrib/eclbip} +\CTANdirectory{economic}{biblio/bibtex/contrib/economic} +\CTANdirectory{ecothe}{macros/plain/contrib/springer/pjour1/ecothe} +\CTANdirectory{edi}{support/foreign/edi} +\CTANdirectory{editbar}{macros/latex209/contrib/editbar} +\CTANdirectory{edmac}{macros/plain/contrib/edmac} +\CTANdirectory{eepic}{macros/latex209/contrib/eepic} +\CTANdirectory{ega2mf}{fonts/utilities/ega2mf} +\CTANdirectory{egyptian}{fonts/metrics/monotype/egyptian} +\CTANdirectory{ehrhardt}{fonts/metrics/monotype/ehrhardt} +\CTANdirectory{eiad}{fonts/eiad} +\CTANdirectory{ellingto}{fonts/metrics/monotype/ellingto} +\CTANdirectory{elsevier}{macros/latex209/contrib/elsevier} +\CTANdirectory{elvish}{fonts/elvish} +\CTANdirectory{elwell}{fonts/utilities/afmtopl/elwell} +\CTANdirectory{eminst}{language/polish/eminst} +\CTANdirectory{emt2tex}{systems/msdos/emtex-contrib/emt2tex} +\CTANdirectory{emtex}{systems/msdos/emtex} +\CTANdirectory{emtex-betatest}{systems/msdos/emtex/betatest} +\CTANdirectory{emtex-contrib}{systems/msdos/emtex-contrib} +\CTANdirectory{emtex-fonts}{systems/msdos/emtex-fonts} +\CTANdirectory{endfloat}{macros/latex/contrib/supported/endfloat} +\CTANdirectory{english}{language/english} +\CTANdirectory{engwar}{fonts/engwar} +\CTANdirectory{envelope}{macros/latex209/contrib/envelope} +\CTANdirectory{environment}{support/lsedit/environment} +\CTANdirectory{epic}{macros/latex209/contrib/epic} +\CTANdirectory{eplain}{macros/eplain} +\CTANdirectory{epmtex}{systems/os2/epmtex} +\CTANdirectory{eppstein}{macros/latex209/contrib/trees/eppstein} +\CTANdirectory{epsfig}{macros/latex209/contrib/epsfig} +\CTANdirectory{epson}{dviware/epson} +\CTANdirectory{eqmark}{macros/latex209/contrib/eqmark} +\CTANdirectory{ergotex}{systems/msdos/ergotex} +\CTANdirectory{errata}{systems/knuth/errata} +\CTANdirectory{eslides}{macros/latex209/contrib/eslides} +\CTANdirectory{et}{support/et} +\CTANdirectory{ethiopia}{language/ethiopia} +\CTANdirectory{ethtex}{language/ethiopia/ethtex} +\CTANdirectory{euler}{fonts/ams/amsfonts/sources/euler} +%[macros/latex/contrib/supported/euler] +\CTANdirectory{euro-oztex}{systems/mac/euro-oztex} +\CTANdirectory{excalibur}{systems/mac/support/excalibur} +\CTANdirectory{excerpt}{web/spiderweb/tools/excerpt} +\CTANdirectory{exercise}{macros/latex209/contrib/exercise} +\CTANdirectory{expdlist}{macros/latex/contrib/supported/expdlist} +\CTANdirectory{extracm}{fonts/ams/amsfonts/sources/extracm} +\CTANdirectory{fac}{macros/latex209/contrib/fac} +\CTANdirectory{falstaff}{fonts/metrics/monotype/falstaff} +\CTANdirectory{fancyheadings}{macros/latex/contrib/other/fancyheadings} +\CTANdirectory{faq}{web/fweb/faq} +\CTANdirectory{fax2ps}{graphics/tiff/contrib/fax2ps} +\CTANdirectory{fc}{fonts/fc} +\CTANdirectory{fchart}{macros/latex209/contrib/fchart} +\CTANdirectory{feynman}{macros/latex209/contrib/feynman} +\CTANdirectory{feynmf}{macros/latex/contrib/supported/feynmf} +\CTANdirectory{fig2eepic}{macros/latex209/contrib/eepic/fig2eepic} +\CTANdirectory{fig2eng}{graphics/fig2eng} +\CTANdirectory{fig2mf}{graphics/fig2mf} +\CTANdirectory{fig2mfpic}{graphics/fig2mfpic} +\CTANdirectory{figaro}{fonts/metrics/monotype/figaro} +\CTANdirectory{filehdr}{tools/filehdr} +\CTANdirectory{fillform}{macros/latex209/contrib/fillform} +\CTANdirectory{finder}{macros/latex209/contrib/letters/finder} +\CTANdirectory{float}{macros/latex/contrib/supported/float} +\CTANdirectory{floatfig}{macros/latex209/contrib/floatfig} +\CTANdirectory{flow}{support/flow} +\CTANdirectory{foiltex}{macros/foiltex} +\CTANdirectory{fontinst}{fonts/utilities/fontinst} +\CTANdirectory{fontname}{info/fontname} +\CTANdirectory{fontsel}{fonts/ams/amslatex/fontsel} +\CTANdirectory{footnpag}{macros/latex209/contrib/footnpag} +\CTANdirectory{for_tex}{biblio/bibtex/contrib/germbib/for_tex} +\CTANdirectory{foreign}{support/foreign} +\CTANdirectory{format-dumper-ck}{systems/mac/support/format-dumper-ck} +\CTANdirectory{format-dumper-cm}{systems/mac/support/format-dumper-cm} +\CTANdirectory{forte}{fonts/metrics/monotype/forte} +\CTANdirectory{francais}{support/ispell/languages/francais} +\CTANdirectory{french}{language/french} +\CTANdirectory{french_bst}{language/french/contrib/french_bst} +\CTANdirectory{ftpd}{tools/ftpd} +\CTANdirectory{ftpmail}{tools/ftpmail} +\CTANdirectory{funnelweb}{web/funnelweb} +\CTANdirectory{futhark}{fonts/futhark} +\CTANdirectory{futhorc}{fonts/futhorc} +\CTANdirectory{fweb}{web/fweb} +\CTANdirectory{garamond}{fonts/metrics/itc/garamond} +\CTANdirectory{genfam}{support/genfam} +\CTANdirectory{genindex}{macros/latex209/contrib/genindex} +\CTANdirectory{geom}{macros/latex209/contrib/geom} +\CTANdirectory{georgian}{fonts/georgian} +\CTANdirectory{geralpha}{biblio/bibtex/contrib/geralpha} +\CTANdirectory{german}{language/german} +\CTANdirectory{german-letter}{macros/latex209/contrib/letters/german-letter} +\CTANdirectory{germbib}{biblio/bibtex/contrib/germbib} +\CTANdirectory{ghostscript}{support/ghostscript} +\CTANdirectory{gillalto}{fonts/metrics/monotype/gillalto} +\CTANdirectory{gillsans}{fonts/metrics/adobe/gillsans} +\CTANdirectory{glasgow}{web/glasgow} +\CTANdirectory{gletter}{macros/latex209/contrib/letters/gletter} +\CTANdirectory{glo+idxtex}{indexing/glo+idxtex} +\CTANdirectory{gloucest}{fonts/metrics/monotype/gloucest} +\CTANdirectory{gn}{tools/gopher/Unix/gn} +\CTANdirectory{gnuplot}{graphics/gnuplot} +\CTANdirectory{go}{fonts/go} +\CTANdirectory{go4ham}{tools/gopher/PC_server/hamburg/go4ham} +\CTANdirectory{go4zgate}{tools/gopher/Unix/gopher-gateways/go4zgate} +\CTANdirectory{gonnrp}{tools/gopher/Unix/gopher-gateways/gonnrp} +\CTANdirectory{gopher}{tools/gopher} +\CTANdirectory{gothic}{fonts/gothic} +\CTANdirectory{goudymod}{fonts/metrics/monotype/goudymod} +\CTANdirectory{graphbase}{support/graphbase} +\CTANdirectory{graphics}{macros/latex/packages/graphics} +\CTANdirectory{grasp-utils}{web/glasgow/lit2x-0.16/grasp-utils} +\CTANdirectory{gray}{fonts/cm/utilityfonts/gray} +\CTANdirectory{greek}{fonts/greek} +\CTANdirectory{greektex}{fonts/greek/greektex} +\CTANdirectory{gregory}{web/noweb/contrib/gregory} +\CTANdirectory{grotesqu}{fonts/metrics/monotype/grotesqu} +\CTANdirectory{gsftopk}{fonts/utilities/gsftopk} +\CTANdirectory{gtex}{systems/msdos/gtex} +\CTANdirectory{guidelines}{fonts/ams/author-info/guidelines} +\CTANdirectory{gut}{usergrps/gut} +\CTANdirectory{half}{fonts/cm/utilityfonts/half} +\CTANdirectory{halftone}{fonts/halftone} +\CTANdirectory{hands}{fonts/hands} +\CTANdirectory{harvard}{macros/latex/contrib/supported/harvard} +\CTANdirectory{harvmac}{macros/plain/contrib/harvmac} +\CTANdirectory{hclassic}{language/hebrew/hclassic} +\CTANdirectory{headline}{fonts/metrics/monotype/headline} +\CTANdirectory{heb}{language/hebrew/heb} +\CTANdirectory{hebrew}{language/hebrew} +\CTANdirectory{help}{help} +\CTANdirectory{helvetic}{fonts/metrics/adobe/helvetic} +\CTANdirectory{hershey}{fonts/hershey} +\CTANdirectory{hexbin}{tools/macutils/hexbin} +\CTANdirectory{hge}{fonts/hge} +\CTANdirectory{hieroglyph}{fonts/hieroglyph} +\CTANdirectory{histyle}{macros/plain/contrib/histyle} +\CTANdirectory{horleyol}{fonts/metrics/monotype/horleyol} +\CTANdirectory{hp-deskjet}{systems/os2/drivers/hp-deskjet} +\CTANdirectory{hp2pl}{support/hp2pl} +\CTANdirectory{hp2tex}{support/hp2tex} +\CTANdirectory{hp2xx}{support/hp2xx} +\CTANdirectory{hp2xx311}{support/hp2xx/hp2xx311} +\CTANdirectory{hpgl2ps}{graphics/hpgl2ps} +\CTANdirectory{hptex}{macros/hptex} +\CTANdirectory{hptomf}{support/hptomf} +\CTANdirectory{html}{support/html} +\CTANdirectory{html2latex}{support/html2latex} +\CTANdirectory{htmlhelp}{info/htmlhelp} +\CTANdirectory{hyacc-cm}{macros/generic/hyacc-cm} +\CTANdirectory{hyperbibtex}{biblio/bibtex/utils/hyperbibtex} +\CTANdirectory{hyphen-accent}{language/hyphen-accent} +\CTANdirectory{hyphenation}{language/hyphenation} +\CTANdirectory{ibmres-tex}{macros/latex209/contrib/ibmres-tex} +\CTANdirectory{ibygrk}{fonts/greek/ibygrk} +\CTANdirectory{icelandic}{language/icelandic} +\CTANdirectory{iching}{fonts/iching} +\CTANdirectory{icon}{web/noweb/icon} +\CTANdirectory{icons}{support/icons} +\CTANdirectory{ieee}{macros/latex209/contrib/ieee} +\CTANdirectory{ifac}{macros/latex209/contrib/ifac} +\CTANdirectory{ife}{macros/plain/contrib/springer/pjour2/ife} +\CTANdirectory{ijc}{macros/latex209/contrib/ijc} +\CTANdirectory{ijcai89}{macros/latex209/contrib/ijcai89} +\CTANdirectory{imaketex}{support/imaketex} +\CTANdirectory{impact}{web/systems/mac/impact} +\CTANdirectory{imprint}{fonts/metrics/monotype/imprint} +\CTANdirectory{independent}{web/independent} +\CTANdirectory{indexing}{indexing} +\CTANdirectory{indian}{language/indian} +\CTANdirectory{inflexbo}{fonts/metrics/monotype/inflexbo} +\CTANdirectory{info}{info} +\CTANdirectory{info-zip}{tools/info-zip} +\CTANdirectory{infpic}{macros/generic/infpic} +\CTANdirectory{initex}{language/french/initex} +\CTANdirectory{inrsdoc}{macros/inrstex/inrsdoc} +\CTANdirectory{inrsinputs}{macros/inrstex/inrsinputs} +\CTANdirectory{inrstex}{macros/inrstex} +\CTANdirectory{insertplot}{macros/latex209/contrib/insertplot} +\CTANdirectory{invmat}{macros/plain/contrib/springer/pjour1/invmat} +\CTANdirectory{ionic}{fonts/metrics/monotype/ionic} +\CTANdirectory{ipa}{macros/latex/contrib/other/ipa} +\CTANdirectory{iso}{macros/latex209/contrib/iso} +\CTANdirectory{iso-tex}{support/iso-tex} +\CTANdirectory{iso2}{macros/latex209/contrib/iso2} +\CTANdirectory{ispell}{support/ispell} +\CTANdirectory{istyles}{language/polish/istyles} +\CTANdirectory{italian}{language/italian} +\CTANdirectory{italiano}{fonts/metrics/monotype/italiano} +\CTANdirectory{itc}{fonts/metrics/itc} +\CTANdirectory{ivd2dvi}{dviware/ivd2dvi} +\CTANdirectory{janson}{fonts/metrics/monotype/janson} +\CTANdirectory{jeep}{macros/latex209/contrib/jeep} +\CTANdirectory{jemtex2}{systems/msdos/jemtex2} +\CTANdirectory{jhtex}{language/korean/jhtex} +\CTANdirectory{jmb}{macros/plain/contrib/springer/pjour1/jmb} +\CTANdirectory{jns}{macros/plain/contrib/springer/jns} +%[macros/latex209/contrib/springer/jnsl] +\CTANdirectory{joannamt}{fonts/metrics/monotype/joannamt} +\CTANdirectory{jonkrom}{web/noweb/contrib/jonkrom} +\CTANdirectory{jspell}{support/jspell} +\CTANdirectory{kaelin}{web/noweb/contrib/kaelin} +\CTANdirectory{kalender}{usergrps/dante/kalender} +\CTANdirectory{kamal}{support/kamal} +\CTANdirectory{kane}{dviware/kane} +\CTANdirectory{karta}{fonts/karta} +\CTANdirectory{kd}{fonts/greek/kd} +\CTANdirectory{kelem}{web/spiderweb/src/kelem} +\CTANdirectory{kelly}{fonts/greek/kelly} +\CTANdirectory{keyrus}{language/keyrus} +\CTANdirectory{klang}{fonts/metrics/monotype/klang} +\CTANdirectory{klassenarbeiten}{macros/latex209/contrib/klassenarbeiten} +\CTANdirectory{klinz}{fonts/klinz} +\CTANdirectory{kluwer}{macros/latex209/contrib/kluwer} +\CTANdirectory{knit}{web/knit} +\CTANdirectory{knot}{fonts/knot} +\CTANdirectory{knuth}{systems/knuth} +\CTANdirectory{koma-script}{macros/latex/contrib/supported/koma-script} +\CTANdirectory{konstruk}{macros/latex209/contrib/konstruk} +\CTANdirectory{korean}{fonts/korean} +%[language/korean] +\CTANdirectory{kostas}{web/noweb/contrib/kostas} +\CTANdirectory{kyocera}{dviware/kyocera} +\CTANdirectory{l2a}{support/l2a} +\CTANdirectory{l2sl}{language/swedish/slatex/l2sl} +\CTANdirectory{l2x}{support/l2x} +\CTANdirectory{la}{fonts/la} +\CTANdirectory{laa}{macros/latex209/contrib/springer/laa} +\CTANdirectory{laan}{macros/generic/laan} +\CTANdirectory{laansort}{macros/generic/laansort} +\CTANdirectory{labelfig}{macros/latex209/contrib/labelfig} +\CTANdirectory{labels}{macros/latex/contrib/supported/labels} +\CTANdirectory{labtex}{macros/generic/labtex} +\CTANdirectory{lacheck}{support/lacheck} +\CTANdirectory{laletter}{macros/latex209/contrib/laletter} +\CTANdirectory{lamemo}{macros/latex209/contrib/lamemo} +\CTANdirectory{lametex}{support/lametex} +\CTANdirectory{lamstex}{macros/lamstex} +\CTANdirectory{language}{language} +\CTANdirectory{larch}{web/spiderweb/src/larch} +\CTANdirectory{laserjet}{dviware/laserjet} +\CTANdirectory{lastpage}{macros/latex/contrib/other/lastpage} +\CTANdirectory{latex}{fonts/latex} +\CTANdirectory{latex-essential}{info/latex-essential} +\CTANdirectory{latex-help-texinfo}{info/latex-help-texinfo} +\CTANdirectory{latex209}{macros/latex209} +\CTANdirectory{latex2html}{support/latex2html} +\CTANdirectory{latex2rtf}{support/latex2rtf} +\CTANdirectory{latexhlp}{systems/atari/latexhlp} +\CTANdirectory{latexinfo}{macros/latex209/contrib/latexinfo} +\CTANdirectory{latexmk}{support/latexmk} +\CTANdirectory{latextut}{graphics/gnuplot/docs/latextut} +\CTANdirectory{latin2}{macros/latex209/contrib/latin2} +\CTANdirectory{layout}{macros/latex/contrib/supported/layout} +\CTANdirectory{lecmono}{macros/plain/contrib/springer/lecmono} +\CTANdirectory{lecproc}{macros/plain/contrib/springer/lecproc} +\CTANdirectory{leew}{web/noweb/contrib/leew} +\CTANdirectory{letters}{macros/latex209/contrib/letters} +\CTANdirectory{levy}{fonts/greek/levy} +\CTANdirectory{lexitex}{macros/latex209/contrib/lexitex} +\CTANdirectory{lextex}{macros/plain/contrib/lextex} +\CTANdirectory{lfonts_ams}{macros/latex209/contrib/lfonts_ams} +\CTANdirectory{lgraph}{macros/latex209/contrib/lgraph} +\CTANdirectory{lgrind}{support/lgrind} +\CTANdirectory{lharc}{tools/lharc} +\CTANdirectory{lindner-tex}{systems/atari/lindner-tex} +\CTANdirectory{lindner-tex-packed-disks}{systems/atari/lindner-tex-packed-disks} +\CTANdirectory{linotex}{systems/mac/linotex} +\CTANdirectory{linux}{systems/unix/linux} +\CTANdirectory{lit2x-0.16}{web/glasgow/lit2x-0.16} +\CTANdirectory{literateprog}{web/literateprog} +\CTANdirectory{litver41}{support/litver41} +\CTANdirectory{ljmetrics}{fonts/ljmetrics} +\CTANdirectory{ljour}{macros/latex209/contrib/springer/ljour} +\CTANdirectory{llncs}{macros/latex209/contrib/springer/llncs} +\CTANdirectory{lmamult}{macros/latex209/contrib/springer/lmamult} +\CTANdirectory{ln01}{dviware/ln01} +\CTANdirectory{ln03}{dviware/ln03} +\CTANdirectory{localguide-sparc}{info/localguide-sparc} +\CTANdirectory{loggates}{macros/latex209/contrib/loggates} +\CTANdirectory{logic}{fonts/logic} +\CTANdirectory{logo}{fonts/cm/utilityfonts/logo} +\CTANdirectory{lollipop}{macros/lollipop} +\CTANdirectory{lookbibtex}{biblio/bibtex/utils/lookbibtex} +\CTANdirectory{lsedit}{support/lsedit} +\CTANdirectory{ltx3pub}{info/ltx3pub} +\CTANdirectory{lucblack}{fonts/metrics/bigholm/lucblack} +\CTANdirectory{lucbmath}{fonts/metrics/bigholm/lucbmath} +\CTANdirectory{lucbrigh}{fonts/metrics/bigholm/lucbrigh} +\CTANdirectory{luccalli}{fonts/metrics/bigholm/luccalli} +\CTANdirectory{lucfax}{fonts/metrics/bigholm/lucfax} +\CTANdirectory{luchandw}{fonts/metrics/bigholm/luchandw} +\CTANdirectory{lucida}{fonts/lucida} +\CTANdirectory{lucsans}{fonts/metrics/bigholm/lucsans} +\CTANdirectory{lucsanst}{fonts/metrics/bigholm/lucsanst} +\CTANdirectory{lw35nfss}{macros/latex/packages/psnfss/lw35nfss} +\CTANdirectory{mac}{web/systems/mac} +\CTANdirectory{machdr}{tools/macunpack/machdr} +\CTANdirectory{mactotex}{graphics/mactotex} +\CTANdirectory{macunpack}{tools/macunpack} +\CTANdirectory{macutils}{tools/macutils} +\CTANdirectory{mailing}{macros/latex/contrib/supported/mailing} +\CTANdirectory{make_latex}{support/make_latex} +\CTANdirectory{makeafm.dir}{fonts/utilities/t1tools/makeafm.dir} +\CTANdirectory{makeindex}{indexing/makeindex} +\CTANdirectory{makeinfo}{macros/texinfo/makeinfo} +\CTANdirectory{makeprog}{support/makeprog} +\CTANdirectory{maketexwork}{info/maketexwork} +\CTANdirectory{makros}{info/stammtisch/wuppertal/stybesch/makros} +\CTANdirectory{malayalam}{language/malayalam} +\CTANdirectory{malvern}{fonts/malvern} +\CTANdirectory{mamath}{macros/plain/contrib/springer/mamath} +\CTANdirectory{mangeo}{macros/plain/contrib/springer/pjour2/mangeo} +\CTANdirectory{manpage}{macros/latex209/contrib/manpage} +\CTANdirectory{manual}{macros/latex209/contrib/manual} +\CTANdirectory{manualfonts}{fonts/cm/utilityfonts/manualfonts} +\CTANdirectory{mapleweb}{web/maple/mapleweb} +\CTANdirectory{matann}{macros/plain/contrib/springer/pjour1/matann} +\CTANdirectory{mathematica}{macros/mathematica} +\CTANdirectory{mathmult}{macros/plain/contrib/springer/mathmult} +\CTANdirectory{mathpad}{support/mathpad} +\CTANdirectory{mathsci2bibtex}{biblio/bibtex/utils/mathsci2bibtex} +\CTANdirectory{mathsing}{macros/latex209/contrib/springer/mathsing} +%[macros/plain/contrib/springer/mathsing] +\CTANdirectory{mathtime}{macros/plain/contrib/mathtime} +%[fonts/mathtime] +\CTANdirectory{mathz}{macros/plain/contrib/springer/pjour1/mathz} +\CTANdirectory{mcite}{macros/latex/contrib/supported/mcite} +\CTANdirectory{mctex}{support/mctex} +\CTANdirectory{mcvert}{tools/mcvert} +\CTANdirectory{megatape}{macros/latex209/contrib/megatape} +\CTANdirectory{memo}{macros/latex209/contrib/memo} +\CTANdirectory{memo2}{macros/latex209/contrib/memo2} +\CTANdirectory{mercuriu}{fonts/metrics/monotype/mercuriu} +\CTANdirectory{messtex}{support/messtex} +\CTANdirectory{metafont}{systems/mac/metafont} +\CTANdirectory{metrics}{fonts/metrics} +\CTANdirectory{mewltx}{support/mewltx} +\CTANdirectory{mex}{language/polish/mex} +\CTANdirectory{mf-extra}{fonts/cm/mf-extra} +\CTANdirectory{mf2ps}{fonts/utilities/mf2ps} +\CTANdirectory{mf_optimized_kerning}{fonts/cm/mf_optimized_kerning} +\CTANdirectory{mfbook}{fonts/cm/utilityfonts/mfbook} +\CTANdirectory{mff-29}{fonts/utilities/mff-29} +\CTANdirectory{mffiles}{language/telugu/mffiles} +\CTANdirectory{mfinput}{language/arabtex/mfinput} +\CTANdirectory{mfinputs}{macros/generic/diagrams/xypic/mfinputs} +\CTANdirectory{mflogo}{macros/latex/contrib/supported/mflogo} +\CTANdirectory{mfnfss}{macros/latex/packages/mfnfss} +\CTANdirectory{mfpic}{graphics/mfpic} +\CTANdirectory{mfware}{systems/knuth/mfware} +\CTANdirectory{midi2tex}{support/midi2tex} +\CTANdirectory{midnight}{macros/generic/midnight} +\CTANdirectory{milstd}{macros/latex209/contrib/milstd} +\CTANdirectory{minitoc}{macros/latex/contrib/other/minitoc} +\CTANdirectory{minutes}{macros/latex209/contrib/minutes} +\CTANdirectory{mipsel}{web/spiderweb/src/master/mipsel} +\CTANdirectory{mirror}{tools/mirror} +\CTANdirectory{mit-press}{macros/latex209/contrib/mit-press} +\CTANdirectory{mitthesis}{macros/latex209/contrib/mitthesis} +\CTANdirectory{mixed}{tools/macutils/mixed} +\CTANdirectory{mma2ltx}{graphics/mma2ltx} +\CTANdirectory{mnras}{macros/latex209/contrib/mnras} +%[macros/plain/contrib/mnras] +\CTANdirectory{mnu}{support/mnu} +\CTANdirectory{models}{macros/text1/models} +\CTANdirectory{modern}{fonts/metrics/monotype/modern} +\CTANdirectory{modes}{fonts/modes} +\CTANdirectory{monoline}{fonts/metrics/monotype/monoline} +\CTANdirectory{monotype}{fonts/metrics/monotype} +\CTANdirectory{moschovakis}{fonts/greek/moschovakis} +\CTANdirectory{msdos}{systems/msdos} +\CTANdirectory{msub}{web/glasgow/lit2x-0.16/grasp-utils/msub} +\CTANdirectory{msx2msa}{fonts/vf-files/msx2msa} +\CTANdirectory{msym}{fonts/msym} +\CTANdirectory{mtex}{macros/plain/contrib/mtex} +\CTANdirectory{mtns}{macros/latex209/contrib/mtns} +\CTANdirectory{multido}{macros/latex209/contrib/multido} +\CTANdirectory{multip}{macros/plain/contrib/springer/multip} +\CTANdirectory{multpghb}{macros/plain/contrib/springer/multpghb} +\CTANdirectory{musictex}{macros/musictex} +\CTANdirectory{mxedruli}{fonts/georgian/mxedruli} +\CTANdirectory{myletter}{macros/latex/contrib/supported/myletter} +\CTANdirectory{nassflow}{macros/latex209/contrib/nassflow} +\CTANdirectory{natbib}{macros/latex/contrib/supported/natbib} +\CTANdirectory{nawk}{web/spiderweb/src/nawk} +\CTANdirectory{ncs}{fonts/metrics/adobe/newcentu/tfm/ncs} +\CTANdirectory{nederlands}{support/ispell/languages/nederlands} +\CTANdirectory{neograph}{fonts/metrics/monotype/neograph} +\CTANdirectory{newagu}{macros/latex209/contrib/newagu} +\CTANdirectory{newapa}{macros/latex209/contrib/newapa} +\CTANdirectory{newbaske}{fonts/metrics/adobe/newbaske} +\CTANdirectory{newberol}{fonts/metrics/monotype/newberol} +\CTANdirectory{newcentu}{fonts/metrics/adobe/newcentu} +\CTANdirectory{newclare}{fonts/metrics/monotype/newclare} +\CTANdirectory{newsgoth}{fonts/metrics/monotype/newsgoth} +\CTANdirectory{newsletr}{macros/plain/contrib/newsletr} +\CTANdirectory{newsplan}{fonts/metrics/monotype/newsplan} +\CTANdirectory{next}{systems/unix/next} +\CTANdirectory{nextispell}{support/ispell/addons/nextispell} +\CTANdirectory{nfss-addons}{macros/latex209/contrib/nfss-addons} +\CTANdirectory{nfss-plain}{macros/plain/contrib/nfss-plain} +\CTANdirectory{nimrodmt}{fonts/metrics/monotype/nimrodmt} +\CTANdirectory{nl-brief}{macros/latex209/contrib/nl-brief} +\CTANdirectory{norsk}{support/ispell/languages/norsk} +\CTANdirectory{noweb}{web/noweb} +\CTANdirectory{nt}{systems/nt} +\CTANdirectory{ntex}{systems/unix/linux/ntex} +\CTANdirectory{ntex01}{systems/unix/linux/ntex/ntex01} +\CTANdirectory{ntex02}{systems/unix/linux/ntex/ntex02} +\CTANdirectory{ntex03}{systems/unix/linux/ntex/ntex03} +\CTANdirectory{ntex04}{systems/unix/linux/ntex/ntex04} +\CTANdirectory{ntex05}{systems/unix/linux/ntex/ntex05} +\CTANdirectory{ntex06}{systems/unix/linux/ntex/ntex06} +\CTANdirectory{ntex07}{systems/unix/linux/ntex/ntex07} +\CTANdirectory{ntex08}{systems/unix/linux/ntex/ntex08} +\CTANdirectory{ntex09}{systems/unix/linux/ntex/ntex09} +\CTANdirectory{ntex10}{systems/unix/linux/ntex/ntex10} +\CTANdirectory{ntex11}{systems/unix/linux/ntex/ntex11} +\CTANdirectory{ntex12}{systems/unix/linux/ntex/ntex12} +\CTANdirectory{ntex13}{systems/unix/linux/ntex/ntex13} +\CTANdirectory{ntg}{usergrps/ntg} +\CTANdirectory{ntgclass}{macros/latex/contrib/supported/ntgclass} +\CTANdirectory{nts-l}{digests/nts-l} +\CTANdirectory{nummat}{macros/plain/contrib/springer/pjour1/nummat} +\CTANdirectory{nuweb}{web/nuweb} +\CTANdirectory{nuweb0.87b}{web/nuweb/nuweb0.87b} +\CTANdirectory{nuweb_ami}{web/nuweb/nuweb_ami} +\CTANdirectory{objectz}{macros/latex/contrib/supported/objectz} +\CTANdirectory{ocr-a}{fonts/ocr-a} +\CTANdirectory{ocr-b}{fonts/ocr-b} +\CTANdirectory{octavian}{fonts/metrics/monotype/octavian} +\CTANdirectory{ogfuda}{info/ogfuda} +\CTANdirectory{ogham}{fonts/ogham} +\CTANdirectory{ogonek}{macros/latex/contrib/other/ogonek} +\CTANdirectory{okuda}{fonts/okuda} +\CTANdirectory{oldengli}{fonts/metrics/monotype/oldengli} +\CTANdirectory{oldstyle}{fonts/metrics/monotype/oldstyle} +\CTANdirectory{oliver}{support/wp2latex/oliver} +\CTANdirectory{onyx}{fonts/metrics/monotype/onyx} +\CTANdirectory{optima}{fonts/metrics/adobe/optima} +\CTANdirectory{orspek}{macros/plain/contrib/springer/pjour2/orspek} +\CTANdirectory{os2}{systems/os2} +\CTANdirectory{osmanian}{fonts/osmanian} +\CTANdirectory{other}{macros/latex/contrib/other} +\CTANdirectory{outline}{macros/latex209/contrib/outline} +\CTANdirectory{oval}{macros/latex209/contrib/oval} +\CTANdirectory{oz}{macros/latex209/contrib/oz} +\CTANdirectory{oztex}{systems/mac/oztex} +\CTANdirectory{oztex-german}{systems/mac/oztex-german} +\CTANdirectory{packages}{macros/latex/packages} +\CTANdirectory{packet_drivers}{tools/gopher/PC_client/packet_drivers} +\CTANdirectory{page}{support/lametex/page} +\CTANdirectory{pageframe}{macros/latex209/contrib/pageframe} +\CTANdirectory{palacesc}{fonts/metrics/monotype/palacesc} +\CTANdirectory{palatino}{fonts/metrics/adobe/palatino} +\CTANdirectory{palladam}{language/tamil/palladam} +\CTANdirectory{pandora}{fonts/pandora} +\CTANdirectory{paper}{macros/latex209/contrib/paper} +\CTANdirectory{paradissa}{fonts/cm/ps-type1/paradissa} +\CTANdirectory{parc}{tools/parc} +\CTANdirectory{amiga}{systems/amiga} +\CTANdirectory{patches}{web/spiderweb/patches} +\CTANdirectory{pbm2tex}{support/pbm2tex} +\CTANdirectory{pbmtopk}{graphics/pbmtopk} +\CTANdirectory{pcm}{macros/plain/contrib/springer/pjour2/pcm} +\CTANdirectory{pcwritex}{support/pcwritex} +\CTANdirectory{penelope}{web/spiderweb/src/penelope} +\CTANdirectory{pepitamt}{fonts/metrics/monotype/pepitamt} +\CTANdirectory{perpetua}{fonts/metrics/monotype/perpetua} +\CTANdirectory{pfm2afm}{fonts/utilities/pfm2afm} +\CTANdirectory{phonetic}{fonts/phonetic} +\CTANdirectory{photinam}{fonts/metrics/monotype/photinam} +\CTANdirectory{phy-bstyles}{biblio/bibtex/contrib/phy-bstyles} +\CTANdirectory{physe}{macros/physe} +\CTANdirectory{phyzzx}{macros/phyzzx} +\CTANdirectory{picinpar}{macros/latex209/contrib/picinpar} +\CTANdirectory{picins}{macros/latex209/contrib/picins} +\CTANdirectory{pictex}{graphics/pictex} +\CTANdirectory{pictex-converter}{support/pictex-converter} +\CTANdirectory{piechart}{graphics/piechart} +\CTANdirectory{pjour1}{macros/plain/contrib/springer/pjour1} +\CTANdirectory{pjour2}{macros/plain/contrib/springer/pjour2} +\CTANdirectory{pkbbox}{fonts/utilities/pkbbox} +\CTANdirectory{pkfonts}{macros/generic/diagrams/xypic/pkfonts} +\CTANdirectory{pkzip}{tools/pkzip} +\CTANdirectory{plain}{macros/plain} +\CTANdirectory{plfonts}{language/polish/plfonts} +\CTANdirectory{plncs11}{macros/plain/contrib/springer/plncs11} +\CTANdirectory{plttopic}{support/plttopic} +\CTANdirectory{pmtex}{systems/os2/pmtex} +\CTANdirectory{poliphil}{fonts/metrics/monotype/poliphil} +\CTANdirectory{polish}{language/polish} +\CTANdirectory{poorman}{fonts/poorman} +\CTANdirectory{portuguese}{language/portuguese} +\CTANdirectory{postcard}{macros/latex209/contrib/postcard} +\CTANdirectory{poster}{macros/generic/poster} +\CTANdirectory{postscript}{fonts/postscript} +\CTANdirectory{pp}{support/pp} +\CTANdirectory{pphlp}{macros/latex209/contrib/pphlp} +\CTANdirectory{prelim}{macros/latex209/contrib/prelim} +\CTANdirectory{print-fine}{support/print-fine} +\CTANdirectory{printbib}{biblio/bibtex/utils/printbib} +\CTANdirectory{printsamples}{fonts/utilities/mf2ps/doc/printsamples} +\CTANdirectory{probth}{macros/plain/contrib/springer/pjour1/probth} +\CTANdirectory{program}{macros/latex209/contrib/program} +\CTANdirectory{programs}{language/cyrillic/programs} +\CTANdirectory{proof}{macros/latex209/contrib/proof} +\CTANdirectory{proofs}{macros/generic/proofs} +\CTANdirectory{ps-latex}{macros/latex209/contrib/ps-latex} +\CTANdirectory{ps-type1}{fonts/cm/ps-type1} +\CTANdirectory{ps-type3}{fonts/cm/ps-type3} +\CTANdirectory{ps2mf}{fonts/utilities/ps2mf} +\CTANdirectory{ps2pk}{fonts/utilities/ps2pk} +\CTANdirectory{ps2psfrag}{macros/latex209/contrib/psfrag/ps2psfrag} +\CTANdirectory{ps4mf}{systems/msdos/ps4mf} +\CTANdirectory{psbook}{systems/msdos/dviware/psbook} +\CTANdirectory{psbox}{macros/generic/psbox} +\CTANdirectory{psfig}{graphics/psfig} +\CTANdirectory{psfonts}{systems/msdos/emtex-fonts/psfonts} +\CTANdirectory{psfrag}{macros/latex209/contrib/psfrag} +\CTANdirectory{pshop}{fonts/postscript/adobe/Applications/pshop} +\CTANdirectory{psizzl}{macros/psizzl} +\CTANdirectory{pslatex}{macros/latex209/contrib/pslatex} +\CTANdirectory{psnfss}{macros/latex/packages/psnfss} +\CTANdirectory{psnfss-addons}{macros/latex/contrib/other/psnfss-addons} +\CTANdirectory{psprint}{dviware/psprint} +\CTANdirectory{pstab}{support/pstab} +\CTANdirectory{pstrees}{macros/latex209/contrib/trees/pstrees} +\CTANdirectory{pstricks}{graphics/pstricks} +\CTANdirectory{psutils}{support/psutils} +\CTANdirectory{public-mf}{systems/msdos/public-mf} +\CTANdirectory{public-tex}{systems/msdos/public-tex} +\CTANdirectory{publications}{macros/latex209/contrib/publications} +\CTANdirectory{punk}{fonts/punk} +\CTANdirectory{pxlgen}{systems/msdos/pxlgen} +\CTANdirectory{qdtexvpl}{fonts/utilities/qdtexvpl} +\CTANdirectory{qfig}{support/qfig} +\CTANdirectory{qms}{dviware/qms} +\CTANdirectory{quicspool}{dviware/quicspool} +\CTANdirectory{r2bib}{biblio/bibtex/utils/r2bib} +\CTANdirectory{raggedright}{macros/latex209/contrib/raggedright} +\CTANdirectory{rail}{macros/latex209/contrib/rail} +\CTANdirectory{ransom}{fonts/ransom} +\CTANdirectory{ras}{graphics/tiff/contrib/ras} +\CTANdirectory{rcs}{macros/latex209/contrib/rcs} +\CTANdirectory{realcalc}{macros/generic/realcalc} +\CTANdirectory{recycle}{fonts/recycle} +\CTANdirectory{redis}{language/hebrew/redis} +\CTANdirectory{redit}{support/redit} +\CTANdirectory{reduce}{web/reduce} +%[web/spiderweb/src/reduce] +\CTANdirectory{ref2bib}{biblio/bibtex/utils/ref2bib} +\CTANdirectory{refer-tools}{biblio/bibtex/utils/refer-tools} +\CTANdirectory{refman}{macros/latex/contrib/supported/refman} +\CTANdirectory{relabel}{support/relabel} +\CTANdirectory{report}{language/arabtex/report} +\CTANdirectory{resume}{macros/latex209/contrib/resume} +\CTANdirectory{review}{support/lsedit/review} +\CTANdirectory{revtex}{macros/latex209/contrib/revtex} +\CTANdirectory{rmit}{fonts/thai/rmit} +\CTANdirectory{rnototex}{support/rnototex} +\CTANdirectory{rotating}{macros/latex/contrib/supported/rotating} +\CTANdirectory{rsfs}{fonts/rsfs} +\CTANdirectory{rtf2tex}{support/rtf2tex} +\CTANdirectory{rtf2html}{support/rtf2html} +\CTANdirectory{rtf2latex}{support/rtf2latex} +\CTANdirectory{rtflatex}{support/rtflatex} +\CTANdirectory{rtfutils}{support/tex2rtf/rtfutils} +\CTANdirectory{rumgraph}{support/rumgraph} +\CTANdirectory{rune}{fonts/rune} +\CTANdirectory{runicmt}{fonts/metrics/monotype/runicmt} +\CTANdirectory{rus}{macros/latex209/contrib/rus} +\CTANdirectory{rweb}{web/reduce/rweb} +\CTANdirectory{s2latex}{support/s2latex} +\CTANdirectory{sabon}{fonts/metrics/monotype/sabon} +\CTANdirectory{sanskrit}{fonts/sanskrit} +\CTANdirectory{sauter}{fonts/cm/sauter} +\CTANdirectory{sbtex}{systems/msdos/sbtex} +\CTANdirectory{schemetex}{support/schemetex} +\CTANdirectory{schemeweb}{web/schemeweb} +\CTANdirectory{schulzrinne}{macros/latex209/contrib/schulzrinne} +\CTANdirectory{scotchro}{fonts/metrics/monotype/scotchro} +\CTANdirectory{screenview}{dviware/screenview} +\CTANdirectory{script}{macros/latex/contrib/other/script} +\CTANdirectory{scriptmt}{fonts/metrics/monotype/scriptmt} +\CTANdirectory{scripts}{web/glasgow/lit2x-0.16/grasp-utils/scripts} +\CTANdirectory{scripttex}{macros/scripttex} +\CTANdirectory{scyrillic}{language/scyrillic} +\CTANdirectory{seetex}{dviware/seetex} +\CTANdirectory{seminar}{macros/latex/contrib/other/seminar} +\CTANdirectory{seminar.old}{macros/latex209/contrib/seminar.old} +\CTANdirectory{serie}{macros/latex209/contrib/letters/serie} +\CTANdirectory{setup}{graphics/mfpic/setup} +\CTANdirectory{sfware}{fonts/softfonts/sfware} +\CTANdirectory{sgi}{web/fweb/fweb-1.40/boot/unix/sgi} +\CTANdirectory{sgml2tex}{support/sgml2tex} +\CTANdirectory{shalom}{language/hebrew/shalom} +\CTANdirectory{shell}{web/noweb/shell} +\CTANdirectory{showlabels}{macros/latex/contrib/supported/showlabels} +\CTANdirectory{siam}{macros/latex209/contrib/siam} +\CTANdirectory{singlep}{macros/plain/contrib/springer/singlep} +\CTANdirectory{sisisi}{systems/unix/sisisi} +%[systems/vms/sisisi] +\CTANdirectory{slant}{fonts/cm/utilityfonts/slant} +\CTANdirectory{slatex}{language/swedish/slatex} +\CTANdirectory{sml}{web/spiderweb/src/sml} +\CTANdirectory{softfonts}{fonts/softfonts} +\CTANdirectory{songbook}{macros/latex209/contrib/songbook} +\CTANdirectory{southarabian}{fonts/southarabian} +\CTANdirectory{spanish-tutorial}{info/spanish-tutorial} +\CTANdirectory{spectrum}{fonts/metrics/monotype/spectrum} +\CTANdirectory{spelchek}{support/spelchek} +\CTANdirectory{spell}{support/spell} +\CTANdirectory{spiderweb}{web/spiderweb} +\CTANdirectory{springer}{macros/latex209/contrib/springer} +%[macros/plain/contrib/springer] +\CTANdirectory{srune}{fonts/srune} +\CTANdirectory{ssl}{web/spiderweb/src/ssl} +\CTANdirectory{ssqquote}{macros/latex/contrib/supported/ssqquote} +\CTANdirectory{stammtisch}{info/stammtisch} +\CTANdirectory{stbrief}{macros/latex209/contrib/letters/stbrief} +\CTANdirectory{sterne}{macros/plain/contrib/springer/sterne} +\CTANdirectory{stickers}{macros/latex209/contrib/stickers} +\CTANdirectory{stmary}{macros/latex209/contrib/stmary} +\CTANdirectory{stmaryrd}{fonts/stmaryrd} +\CTANdirectory{stuffit}{tools/stuffit} +\CTANdirectory{stybesch}{info/stammtisch/wuppertal/stybesch} +\CTANdirectory{subeqn}{macros/latex209/contrib/subeqn} +\CTANdirectory{subeqnarray}{macros/latex/contrib/supported/subeqnarray} +\CTANdirectory{sueterlin}{fonts/gothic/sueterlin} +\CTANdirectory{supertab}{macros/latex209/contrib/supertab} +\CTANdirectory{support}{support} +\CTANdirectory{sv}{macros/latex209/contrib/sv} +\CTANdirectory{svenska}{support/ispell/languages/svenska} +\CTANdirectory{svlatex}{macros/latex209/contrib/svlatex} +\CTANdirectory{sw}{macros/plain/contrib/springer/pjour2/sw} +%[macros/plain/contrib/springer/sw] +\CTANdirectory{swedish}{language/swedish} +\CTANdirectory{sweet-tex}{systems/mac/sweet-tex} +\CTANdirectory{swetex}{language/swedish/swetex} +\CTANdirectory{swingmt}{fonts/metrics/monotype/swingmt} +\CTANdirectory{syriac}{fonts/syriac} +\CTANdirectory{systcontrolletters}{macros/latex209/contrib/systcontrolletters} +\CTANdirectory{t1tidy}{fonts/utilities/t1tools/t1tidy} +\CTANdirectory{t1tools}{fonts/utilities/t1tools} +\CTANdirectory{t1utils}{fonts/utilities/t1utils} +\CTANdirectory{tamil}{language/tamil} +\CTANdirectory{tamueethesis}{macros/latex209/contrib/tamueethesis} +\CTANdirectory{tape}{macros/latex209/contrib/tape} +\CTANdirectory{tar}{tools/tar} +\CTANdirectory{tbe}{macros/plain/contrib/tbe} +\CTANdirectory{tca}{macros/plain/contrib/springer/pjour1/tca} +\CTANdirectory{tcdmanual}{info/tcdmanual} +\CTANdirectory{tde-macros}{language/swedish/slatex/tde-macros} +\CTANdirectory{tech-erg}{macros/plain/contrib/springer/tech-erg} +\CTANdirectory{tech-ghb}{macros/plain/contrib/springer/tech-ghb} +\CTANdirectory{tech-std}{macros/plain/contrib/springer/tech-std} +\CTANdirectory{tek2eepic}{support/tek2eepic} +\CTANdirectory{telugu}{language/telugu} +\CTANdirectory{tengtex}{macros/latex209/contrib/tengtex} +\CTANdirectory{tengwar}{fonts/tengwar} +\CTANdirectory{term}{graphics/gnuplot/term} +\CTANdirectory{tesla}{macros/latex209/contrib/tesla} +\CTANdirectory{tetex}{systems/unix/linux/teTeX} +\CTANdirectory{tex--xet}{systems/knuth/tex--xet} +\CTANdirectory{tex-bnf}{macros/latex209/contrib/tex-bnf} +\CTANdirectory{tex-d-l}{digests/tex-d-l} +\CTANdirectory{tex-implementors}{digests/tex-implementors} +\CTANdirectory{tex-install}{systems/msdos/emtex-contrib/tex-install} +\CTANdirectory{tex-mag}{digests/tex-mag} +\CTANdirectory{tex-primer_vms-specific}{info/tex-primer_vms-specific} +\CTANdirectory{tex-surface}{support/tex-surface} +\CTANdirectory{tex2mail}{support/tex2mail} +\CTANdirectory{tex2rtf}{support/tex2rtf} +\CTANdirectory{tex88}{digests/tex88} +\CTANdirectory{tex8fmts}{macros/generic/cptex/tex8fmts} +\CTANdirectory{texas}{systems/msdos/texas} +\CTANdirectory{texbuch}{info/texbuch} +\CTANdirectory{texcalc}{support/texcalc} +\CTANdirectory{texchord}{macros/generic/texchord} +\CTANdirectory{texdraw}{graphics/texdraw} +%[systems/atari/texutils/texdraw] +\CTANdirectory{texdvi}{support/vortex/dvitool/texdvi} +\CTANdirectory{texed}{support/texed} +\CTANdirectory{texfilt}{support/texfilt} +\CTANdirectory{texgraph}{macros/inrstex/texgraph} +\CTANdirectory{texhax}{digests/texhax} +\CTANdirectory{texi2html}{support/texi2html} +\CTANdirectory{texi2roff}{support/texi2roff} +\CTANdirectory{texindex}{support/texindex} +\CTANdirectory{texinfo}{macros/texinfo} +\CTANdirectory{texit}{support/texit} +\CTANdirectory{texix}{macros/text1/texix} +\CTANdirectory{texline}{digests/texline} +\CTANdirectory{texmenu}{systems/msdos/texmenu} +\CTANdirectory{texmin}{systems/unix/linux/texmin} +\CTANdirectory{texpert}{systems/msdos/texpert} +%[systems/os2/texpert] +\CTANdirectory{texproc}{support/texproc} +\CTANdirectory{texshell}{systems/msdos/texshell} +%[systems/vm-cms/texshell] +\CTANdirectory{texsis}{macros/texsis} +\CTANdirectory{text1}{macros/text1} +\CTANdirectory{text2dvi}{systems/msdos/text2dvi} +\CTANdirectory{textfit}{macros/latex/contrib/supported/textfit} +\CTANdirectory{textmerg}{macros/latex/contrib/supported/textmerg} +\CTANdirectory{texsgi}{dviware/texsgi} +\CTANdirectory{textool}{dviware/textool} +\CTANdirectory{textures}{systems/mac/textures} +\CTANdirectory{textures_figs}{systems/mac/textures_figs} +\CTANdirectory{textyl}{macros/latex209/contrib/textyl} +\CTANdirectory{texutils}{systems/atari/texutils} +\CTANdirectory{texware}{systems/knuth/texware} +\CTANdirectory{tgrind}{support/tgrind} +\CTANdirectory{thai}{fonts/thai} +\CTANdirectory{theapa}{macros/latex209/contrib/theapa} +\CTANdirectory{tib}{biblio/tib} +\CTANdirectory{tie}{web/tie} +\CTANdirectory{tiff}{graphics/tiff} +\CTANdirectory{times}{fonts/metrics/adobe/times} +\CTANdirectory{timing}{macros/latex209/contrib/timing} +\CTANdirectory{tip}{macros/tip} +\CTANdirectory{tksbrief}{macros/latex209/contrib/letters/tksbrief} +\CTANdirectory{tr2latex}{support/tr2latex} +\CTANdirectory{tr2tex}{support/tr2tex} +\CTANdirectory{transfig}{graphics/transfig} +\CTANdirectory{translit}{support/translit} +\CTANdirectory{transname}{tools/macunpack/transname} +\CTANdirectory{tree}{graphics/tree} +\CTANdirectory{tree-dvips}{macros/latex209/contrib/trees/tree-dvips} +\CTANdirectory{treetex}{macros/latex209/contrib/trees/treetex} +\CTANdirectory{tree-tex}{macros/latex209/contrib/trees/tree-tex} +\CTANdirectory{troff}{indexing/makeindex/troff} +\CTANdirectory{troff-to-latex}{support/troff-to-latex} +\CTANdirectory{tsipa}{fonts/tsipa} +\CTANdirectory{tspell}{support/tspell} +\CTANdirectory{tst}{language/french/tst} +\CTANdirectory{ttn}{digests/ttn} +\CTANdirectory{tug}{usergrps/tug} +\CTANdirectory{tugboat}{digests/tugboat} +\CTANdirectory{turing}{web/spiderweb/src/turing} +\CTANdirectory{turing+}{web/spiderweb/src/turing+} +\CTANdirectory{turkish}{language/turkish} +\CTANdirectory{twcal}{fonts/twcal} +\CTANdirectory{twentiet}{fonts/metrics/monotype/twentiet} +\CTANdirectory{tx1}{systems/msdos/tx1} +\CTANdirectory{txtdist}{support/txt} +\CTANdirectory{typewrit}{fonts/metrics/monotype/typewrit} +\CTANdirectory{typingtex}{language/typingtex} +\CTANdirectory{ucthesis}{macros/latex209/contrib/ucthesis} +\CTANdirectory{ugaritic}{fonts/ugaritic} +\CTANdirectory{uktex}{digests/uktex} +\CTANdirectory{uktug}{usergrps/uktug} +\CTANdirectory{umddvi}{dviware/umddvi} +\CTANdirectory{umlaut}{support/umlaut} +\CTANdirectory{umlaute}{support/umlaute} +\CTANdirectory{umrand}{macros/generic/umrand} +\CTANdirectory{unadobe}{fonts/utilities/unadobe} +\CTANdirectory{unarj}{tools/unarj} +\CTANdirectory{uncompressing}{fonts/utilities/mf2ps/mf2ps/uncompressing} +\CTANdirectory{undump}{support/undump} +\CTANdirectory{uni_stgt}{macros/latex209/contrib/letters/uni_stgt} +\CTANdirectory{univers}{fonts/metrics/adobe/univers} +\CTANdirectory{unix}{systems/unix} +\CTANdirectory{unixkit}{systems/unix/unixkit} +\CTANdirectory{unixman}{macros/latex209/contrib/unixman} +\CTANdirectory{unpack}{tools/macunpack/unpack} +\CTANdirectory{unpacked}{macros/latex/unpacked} +\CTANdirectory{unstuff}{tools/unstuff} +\CTANdirectory{untex}{support/untex} +\CTANdirectory{updates}{digests/updates} +\CTANdirectory{urw}{fonts/urw} +\CTANdirectory{user-guides}{macros/generic/diagrams/borceux/user-guides} +\CTANdirectory{usergrps}{usergrps} +\CTANdirectory{usl}{fonts/thai/usl} +\CTANdirectory{utopia}{fonts/metrics/adobe/utopia} +%[fonts/utopia] +\CTANdirectory{utthesis}{macros/latex/contrib/supported/utthesis} +\CTANdirectory{uue}{tools/uue} +\CTANdirectory{uuencode}{tools/uuencode} +\CTANdirectory{uw-thesis}{macros/latex209/contrib/uw-thesis} +\CTANdirectory{va}{fonts/va} +\CTANdirectory{vandijck}{fonts/metrics/monotype/vandijck} +\CTANdirectory{vanroose}{macros/latex209/contrib/trees/vanroose} +\CTANdirectory{vdm}{macros/latex209/contrib/vdm} +\CTANdirectory{vecfonts}{macros/latex209/contrib/textyl/vecfonts} +\CTANdirectory{vector}{macros/latex/contrib/supported/vector} +\CTANdirectory{verbatim}{web/glasgow/lit2x-0.16/grasp-utils/verbatim} +\CTANdirectory{verbtext}{macros/latex209/contrib/verbtext} +\CTANdirectory{vertex}{macros/plain/contrib/vertex} +\CTANdirectory{vga2mf}{systems/msdos/vga2mf} +\CTANdirectory{vietnamese}{language/vietnamese} +\CTANdirectory{vispeech}{language/vispeech} +\CTANdirectory{vm-cms}{systems/vm-cms} +\CTANdirectory{vms}{systems/vms} +\CTANdirectory{vmspell}{support/vmspell} +\CTANdirectory{vmsspell}{support/vmsspell} +\CTANdirectory{vmstar}{tools/tar/vmstar} +\CTANdirectory{vortex}{support/vortex} +\CTANdirectory{vpltools}{fonts/utilities/vpltools} +\CTANdirectory{vplutils}{fonts/utilities/vplutils} +\CTANdirectory{vrb}{macros/generic/vrb} +\CTANdirectory{vslitex}{fonts/vf-files/vslitex} +\CTANdirectory{vtex_demo}{systems/msdos/vtex_demo} +\CTANdirectory{vtree}{tools/vtree} +\CTANdirectory{vtree-fix}{tools/vtree-fix} +\CTANdirectory{vutex}{dviware/vutex} +\CTANdirectory{vvcode}{tools/vvcode} +\CTANdirectory{w2latex}{support/w2latex} +\CTANdirectory{walbaum}{fonts/metrics/monotype/walbaum} +\CTANdirectory{wasy}{fonts/wasy} +\CTANdirectory{wasy2}{fonts/wasy2} +\CTANdirectory{wasysym}{macros/latex/contrib/supported/wasysym} +\CTANdirectory{wd2latex}{dviware/wd2latex} +\CTANdirectory{web}{systems/knuth/web} +\CTANdirectory{web2c}{systems/web2c} +\CTANdirectory{webtoc}{support/makeprog/webtoc} +\CTANdirectory{whatstex}{info/whatstex} +\CTANdirectory{wics}{macros/latex209/contrib/springer/wics} +\CTANdirectory{williams}{macros/latex/contrib/other/williams} +\CTANdirectory{windex}{support/windex} +\CTANdirectory{window}{macros/latex209/contrib/window} +\CTANdirectory{winw2ltx}{support/winw2ltx} +\CTANdirectory{word2tex}{support/word2tex} +\CTANdirectory{word_tex}{support/word_tex} +\CTANdirectory{wp2latex}{support/wp2latex} +\CTANdirectory{wp2latex-5_1}{support/wp2latex-5_1} +\CTANdirectory{wright}{macros/latex209/contrib/wright} +\CTANdirectory{wsuipa}{fonts/wsuipa} +\CTANdirectory{wuppertal}{info/stammtisch/wuppertal} +\CTANdirectory{xarticle}{macros/latex209/contrib/xarticle} +\CTANdirectory{xbin}{tools/xbin} +\CTANdirectory{xcentaur}{fonts/metrics/monotype/xcentaur} +\CTANdirectory{xdoc}{web/noweb/xdoc} +\CTANdirectory{xdvi}{dviware/xdvi} +\CTANdirectory{xdvik}{dviware/xdvik} +\CTANdirectory{xenix}{systems/xenix} +\CTANdirectory{xet}{support/xet} +\CTANdirectory{xetal}{support/xetal} +\CTANdirectory{xettex}{language/xettex} +\CTANdirectory{xfig}{graphics/xfig} +\CTANdirectory{xlatex}{support/xlatex} +\CTANdirectory{xlharc}{tools/xlharc} +\CTANdirectory{xtexshell}{support/xtexshell} +\CTANdirectory{xtiff}{graphics/tiff/contrib/dbs/xtiff} +\CTANdirectory{xv}{graphics/tiff/contrib/xv} +\CTANdirectory{xvgopher}{tools/gopher/Unix/xvgopher} +\CTANdirectory{xwpick}{support/xwpick} +\CTANdirectory{xxcode}{tools/xxcode} +\CTANdirectory{xymtex}{macros/latex209/contrib/xymtex} +\CTANdirectory{xypic}{macros/generic/diagrams/xypic} +\CTANdirectory{yannis}{fonts/greek/yannis} +\CTANdirectory{yfrak}{fonts/gothic/yfrak} +\CTANdirectory{ygoth}{fonts/gothic/ygoth} +\CTANdirectory{yinit}{fonts/gothic/yinit} +\CTANdirectory{yswab}{fonts/gothic/yswab} +\CTANdirectory{ytex}{macros/ytex} +\CTANdirectory{z-antiqu}{fonts/metrics/monotype/z-antiqu} +\CTANdirectory{zaccone}{macros/latex209/contrib/zaccone} +\CTANdirectory{zapfchan}{fonts/metrics/adobe/zapfchan} +\CTANdirectory{zapfding}{fonts/metrics/adobe/zapfding} +\CTANdirectory{zeitgeis}{fonts/metrics/monotype/zeitgeis} +\CTANdirectory{zemtex}{systems/msdos/emtex-contrib/zemtex} +\CTANdirectory{zero}{macros/latex209/contrib/zero} +\CTANdirectory{zip}{tools/zip} +\CTANdirectory{zoo}{tools/zoo} +\CTANdirectory{zphysa}{macros/plain/contrib/springer/pjour2/zphysa} +\CTANdirectory{zphysb}{macros/plain/contrib/springer/pjour2/zphysb} +\CTANdirectory{zphysc}{macros/plain/contrib/springer/pjour2/zphysc} +\CTANdirectory{zphysd}{macros/plain/contrib/springer/pjour2/zphysd} +\endinput diff --git a/usergrps/uktug/baskervi/6_1/fancyvrb.rc b/usergrps/uktug/baskervi/6_1/fancyvrb.rc new file mode 100644 index 0000000000..5380744d16 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/fancyvrb.rc @@ -0,0 +1,252 @@ +% Define verbatim and example environments: +% verbatim - indented like quote environment +% Verbatim - indented like quote environment, \small font. +% nVerbatim - Like "Verbatim", but numbered. +% example - code and output, side by side +% example* - one above other +% example** - one above other, with frames +% Example - Rendered as PS, like original, side by side +% Example* - Rendered as PS, one above other +% Example** - Rendered as PS, one above other, with frames +% Escape - Rendered as PS, with *no* verbatim text +% GridPSExample - PSTricks (gridded) picture, like original, side by side +% PSExample - PSTricks picture, like original, side by side +% The example environments have the following steps in common: +% 1. Save example verbatim to numbered example file +% 2. Input file verbatim or EPS file +% 3. Input again +% All of them save their text as files in the \EXdir directory +% (this needs a trailing / as part of the definition) +% +\RequirePackage{ifthen} +\RequirePackage{graphicx} +\RequirePackage{calc} +% +% variable features +% +\def\EXdir{} +\def\EXprefix{} +\def\EXclass{article} +% +\@ifundefined{fullwidth}{\let\fullwidth\textwidth}{} +\@ifundefined{thechapter}{\newcounter{chapter}}{} +% +\newcounter{eps@counter} +\renewcommand\theeps@counter{% + \arabic{chapter}-\arabic{section}-\arabic{eps@counter}} +\newcounter{side@count} +%\newwrite\exepsfile +%\immediate\openout\exepsfile \EXdir\jobname.expslist\relax + +\def\EPSinput#1{% +\IfFileExists{\EXdir\EXprefix#1.eps}% + {\includegraphics{\EXdir\EXprefix#1.eps}}% + {\underline{\EXdir\EXprefix#1}}% +} + +\def\SideBySideEx#1{% +\global\advance\c@side@count by 1 + \trivlist\item[]% + \leavevmode + \label{\thechapter.\theside@count}% + \ifthenelse{\isodd{\pageref{\thechapter.\theside@count}}}{% + \makebox[\fullwidth][l]{\@@Display{#1}\hspace{5mm} + \BVerbatimInput{\EXdir\EXprefix\theeps@counter}}% + }{% + \makebox[\fullwidth][r]{\@@Display{#1}\hspace{5mm} + \BVerbatimInput{\EXdir\EXprefix\theeps@counter}}% + }% + \endtrivlist +} +\newsavebox{\@display} +\def\@@Display#1{% +% \savebox{\@display}{#1}% + \raisebox{\depth}[\z@]{#1} +% \begin{minipage}[b]{.5\fullwidth}#1\end{minipage}% +} + +\newcommand{\BeginExample}{% + \multiply\topsep by 2 + \global\advance\c@eps@counter\@ne + \edef\@tempa{ + \write\@auxout{\string + \newlabel{ex-\theeps@counter}{{\theeps@counter}{\noexpand\the\c@page}}}} + \@tempa + \nobreak + \VerbatimEnvironment + \catcode`\<=12 + \begin{VerbatimOut}{\EXdir\EXprefix\theeps@counter.tex}% +} +\newcommand{\EndExample}{% + \end{VerbatimOut}% +} + +\def\EndRuleExample{\vskip 7pt \hrule height 1.5pt\relax} + +\newif\ifgrid +\gridfalse + +\def\PSExample(#1,#2)(#3,#4){% + \def\PictureSize{(#1,#2)(#3,#4)}% + \def\Write@Ex##1{}\BeginExample + } +\def\endPSExample{% + \EndExample + \SideBySideEx{% + \ifgrid\vskip 8pt \else\relax\fi + \expandafter\pspicture\PictureSize + \ifgrid\usergrid\else\relax\fi + \input{\EXdir\theeps@counter}% + \endpspicture + \ifgrid\vskip 8pt \fi + }% +} + +\newenvironment{GridPSExample}{\gridtrue\PSExample}{\endPSExample} + +\def\PSTInlineExample(#1,#2){% + \def\PictureSize{(-.2,-.5)(#1,#2)}% + \def\Write@Ex##1{}\BeginExample + } +\def\endPSTInlineExample{% + \EndExample + \expandafter\pspicture\PictureSize + \usergrid + \input{\EXdir\theeps@counter}% + \endpspicture + \hspace{16pt}% + \BVerbatimInput[gobble=0,fontsize=\small]{\EXdir\theeps@counter}% +} +% side by side +\newenvironment{example}{\def\Write@Ex##1{}\BeginExample} % + {\EndExample\SideBySideEx{\input{\EXdir\theeps@counter}}} + +% one above the other +\newenvironment{example*}% + {\def\Write@Ex##1{}\BeginExample}% + {% + \EndExample + \VerbatimInput[gobble=0,fontsize=\small]{\EXdir\theeps@counter}% + \begin{center} + \leavevmode\input{\EXdir\theeps@counter}\par + \end{center} +} + +% with a frame, one above the other +\newenvironment{example**}% +{\def\Write@Ex##1{}\BeginExample}% +{% +\EndExample +\VerbatimInput[gobble=0,fontsize=\small, + frame=topline,framerule=1.5pt]{\EXdir\theeps@counter}% +\begin{center} +\input{\EXdir\theeps@counter} + \EndRuleExample +\end{center} +} + +% now the ones which write stuff for an EPS file +% for side by side examples, the text width of the separate file +% needs to be half the normal width. +\def\EX@extra{} +\def\HalfWidth{% + \def\EX@extra{% + \string\makeatletter + \string\@tempdima\string\textwidth + \string\textwidth.5\string\@tempdima + \string\addtolength{\string\textwidth}{-6mm} + \string\makeatother} +} +\def\Setup@Escape{% + \edef\FancyVerbStopString{\string\end{document}}% + \edef\FancyVerbStartString{\string\begin{document}}% +} +% side by side +\newenvironment{Example}{% + \HalfWidth + \BeginExample} % + {\EndExample +\Setup@Escape +\SideBySideEx{\EPSinput{\theeps@counter}}} + +% first verbatimcode, then actual example +\newenvironment{Example*}{\BeginExample}% + {\EndExample + \Setup@Escape + \begin{center}\leavevmode + \VerbatimInput[gobble=0,fontsize=\small]{\EXdir\EXprefix\theeps@counter}% + \EPSinput{\theeps@counter}% + \end{center}% +} + +% one above the other, framed +\newenvironment{Example**}% +{\BeginExample}% +{% +\EndExample +\Setup@Escape + \VerbatimInput[gobble=0,fontsize=\small, + frame=topline,framerule=1.5pt]{\EXdir\EXprefix\theeps@counter}% +\EPSinput{\theeps@counter} +\EndRuleExample +} + +% no verbatim text at all, just to run the thing separately +\newenvironment{Escape}% +{\BeginExample}% +{% +\EndExample +\Setup@Escape +\EPSinput{\theeps@counter}% +} + +\def\CurrentPackages{} + +\def\FVE@VerbatimOut{\Write@Ex{\string\end{document}}% +\immediate\closeout\FV@OutFile\endgroup\@esphack} + +\def\Write@Ex#1{% + \begingroup + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write\FV@OutFile{#1}} + \reserved@a + \endgroup +} + +\def\FVB@VerbatimOut#1{% + \@bsphack + \begingroup + \FV@UseKeyValues + \FV@DefineWhiteSpace + \def\FV@Space{\space}% + \FV@DefineTabOut + \def\FV@ProcessLine{\immediate\write\FV@OutFile}% + \immediate\openout\FV@OutFile #1\relax + \Write@Ex{\string\documentclass{\EXclass}}% + \Write@Ex{\string\usepackage{\CurrentPackages}}% + \Write@Ex{\string\pagestyle{empty}}% + \Write@Ex{\EX@extra}% + \Write@Ex{\string\begin{document}}% + \let\FV@FontScanPrep\relax + \FV@Scan} +% +% compatibility with Michel, with moreverb, and verbatim package +% +\def\SixPt{\fontsize{6}{7\p@}\selectfont} +% +% input files verbatim, numbered and unnumbered +% +\def\verbfile#1{\VerbatimInput[fontsize=\small]{#1}} +\let\verbatiminput\verbfile +\def\listinginput#1#2{\VerbatimInput[fontsize=\small,firstnumber=#1,numbers=left]{#2}} +% +% verbatim in various sizes +\DefineVerbatimEnvironment{sssverbatim}{LVerbatim}{fontsize=\SixPt} +\DefineVerbatimEnvironment{ssverbatim}{LVerbatim}{fontsize=\scriptsize} +\DefineVerbatimEnvironment{fverbatim}{LVerbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{LVerbatim}{fontsize=\small} +\DefineVerbatimEnvironment{Verbatim}{LVerbatim}{fontsize=\small} +\DefineVerbatimEnvironment{verbatim}{LVerbatim}{fontsize=\normalsize} +% numbered +\DefineVerbatimEnvironment{nVerbatim}{LVerbatim}{fontsize=\small,numbers=left} +\endinput diff --git a/usergrps/uktug/baskervi/6_1/faq.sty b/usergrps/uktug/baskervi/6_1/faq.sty new file mode 100644 index 0000000000..ce67e7700f --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/faq.sty @@ -0,0 +1,250 @@ +% This is a LaTeX2e package for the UKTUG FAQ document. +% +\ProvidesPackage{faq}[1994/10/15 UK TUG package for TeX FAQ] +% +% uses production LaTeX 2e commands +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +% +% version 0.1 RF 1994/09/26 +% 0.2 RF 1994/10/09-15 +% 0.3 RF 1994/10/16 (after suggestions from Alan Jeffrey) +% 0.4 RF 1994/10/22 +% +\def\fileversion{0.6} +\def\filedate{1994/10/29} +% +\typeout{UK TUG FAQ macros v\fileversion, \filedate} +% +% what fonts are we going to typeset in? +\InputIfFileExists{faqfont.cfg}% + {\typeout{FAQ -- loading font configuration file faqfont.cfg}}% + {\RequirePackage{times}% +% % stretchability recommendations from psnfss2e.tex +% \tolerance800 +% \emergencystretch2em +% \doublehyphendemerits5000 +% \hfuzz0pt +% \leftskip0pt minus 1pt +% \rightskip0pt minus 1pt +% % use cmtt for typewriter rather than Cou-beastly-rier + \renewcommand{\ttdefault}{cmtt}} +% +% general support +%\RequirePackage{calc} +% +% code for handling logo font +\RequirePackage{mflogo} +% +% get texnames package (as amended) +\RequirePackage{texnames} +% +% ifthenelse for the undefined references +\RequirePackage{ifthen} +% +% we define html only stuff using Eijkhout's package +\RequirePackage{comment} +\excludecomment{htmlversion} +% +% it proves that, for Alan's stuff, the following needs to have been +% done _before_ we define the macros +\RequirePackage{shortvrb} +\MakeShortVerb{\|} +% +% the Baskerville and other logos +\providecommand\BV{\emph{Baskerville}} +\providecommand\DANTE{DANTE} +\providecommand\MSDOS{MS-DOS} +\providecommand\CDROM{CD-ROM} +\providecommand\TeXXeT{\TeX-{}-X\lower.5ex\hbox{E}\kern-.1667emT\spacefactor1000 } +\providecommand\MLTeX{ML-\TeX} +% +% The NTS and eTeX (and for consistency Eplain) logos +\DeclareRobustCommand\NTS{{\the\textfont2 N}\lower.5ex\hbox + {\the\textfont2 T}{\the\textfont2 S}} +\DeclareRobustCommand\eTeX{{$\varepsilon$}-\TeX} +\DeclareRobustCommand\Eplain{Eplain} +% +% Other odds and ends (appear differently in TeX and http or plain +% text +\DeclareRobustCommand\WYSIWYG{\textsc{wysiwyg}} +% +% Command for doing `square one' :-} +\newcommand\sqfbox[1]{\framebox{\makebox[\totalheight]{#1\/}}} +% +% 2e's LaTeX logo sets the A in scripstyle jammed up to the top of the T; it +% also has the advantage that it's set in the same font as the +% surrounding text. However, the esteemed bbeeton says the logo looks +% "squidge awful" in italic text (I agree; and the same is true of its +% behaviour in slanted text) +% +% So here's a version that allows for the slant of the leading L +\DeclareRobustCommand{\LaTeX}{L% + {\setbox0\hbox{T}% + \setbox\@tempboxa\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \@tempdima\ht0 + \advance\@tempdima-\ht\@tempboxa + \@tempdima\strip@pt\fontdimen1\font\@tempdima + \advance\@tempdima-.36em + \kern\@tempdima + \vbox to\ht0{\box\@tempboxa + \vss}% + }% + \kern-.15em + \TeX} +% +% A command which sets some text in typewriter, with the hyphenchar +% temporarily set to its first argument \FAQverb\HYPHEN{TEXT}. +% NB: This requires no catcode hackery, so should work inside moving +% arguments. It will, however, produce spurious spaces after CSs, and +% won't allow brace-unmatched input. It also won't survive going into a +% moving argument if \HYPHEN won't. +% +\let\FAQverbFamily\ttfamily +\DeclareRobustCommand{\FAQverb}[2]{{% + \ifvmode\leavevmode\fi + \lefthyphenmin=256\setlanguage\language + \FAQverbFamily\hyphenchar\the\font`#1\relax + \def\@tempa{#2}% + \expandafter\@faq@strip\meaning\@tempa\@faq@strip + \hyphenchar\the\font\m@ne +}\setlanguage\language} +\def\@faq@strip#1->#2\@faq@strip{#2} +% +% Document markup: +% +\makeatother % because @ is a delimiter here, it had better have the + % same catcode as it will when the macro's invoked +\def\Email|#1@#2|{\FAQverb\-{#1@}\penalty10\FAQverb\.{#2}} % email +\makeatletter +\def\FTP|#1|{\FAQverb\.{#1}} % FTP site +\def\File|#1|{\FAQverb\/{#1}} % file name +\def\CTAN{\FAQverb\/} % CTAN path +\def\Newsgroup|#1|{\FAQverb\.{#1}} % newsgroup +\def\URL|#1://#2/#3|{\FAQverb\.{#1://#2/}\penalty10\FAQverb\/{#3}} +\def\path|#1|{\FAQverb\/{#1}} % generic path +% +% same game, slightly different style +\def\ProgName|#1|{% % program name + {% + \def\FAQverbFamily{\rmfamily\mdseries\itshape}% + \FAQverb\_{#1}\/% + }% + } +% +% ISBN references +\def\ISBN#1{\mbox{ISBN}~#1} +% +% have we read the CTAN references? +\newif\ifnotreadCTAN \notreadCTANtrue +% +% Alan's code for CTAN references: +% +% define a location for a package on CTAN +% #1 is the package name +% #2 is the CTAN path to the thing +% a package in a directory +\newcommand{\CTANdirectory}[2]{\@ifundefined{ctan-#1}{% + \expandafter\gdef\csname ctan-#1\endcsname{#2}% +}{% + \PackageWarning{faq}{Repeated definition of label: #1}% +}} +% +% a package in a single file (the same appearance, but the WWW version is +% different). +\let\CTANfile\CTANdirectory +% +% Make reference to a CTAN package +% +% counter for the undefined references +\newcounter{CTAN@unrefs} +% +% the command itself +\DeclareRobustCommand{\CTANref}[1]{\@ifundefined{ctan-#1}{% + \PackageWarning{CTAN}{Undefined reference: #1}% + \stepcounter{CTAN@unrefs}% +}{% + \edef\@tempa{\noexpand\CTAN{\csname ctan-#1\endcsname}}\@tempa +}} +% +% hook for diagnosing undefined references at the end +\AtEndDocument{\ifthenelse{\theCTAN@unrefs > 0}{% + \PackageWarning{CTAN}{There were \arabic{CTAN@unrefs} undefined + references to CTAN}% + }% + {}% + } +% +% a slight variation of description for lists of book titles +\newcommand{\booklabel}[1]{\hspace\labelsep\normalfont\itshape #1} +\newenvironment{booklist}{\begin{list}{}% + {\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\booklabel}}% + {\end{list}} +% +% proglist is the same as booklist if we're using italics for program +% names, but will need hacking otherwise +\newenvironment{proglist}{\begin{booklist}}{\end{booklist}} +% +% the little bit(s) of code that's(re) going to be ignored when the +% html is generated are enclosed by the following two commands +\let\htmlignore\relax +\let\endhtmlignore\relax +% +% A Donald Arseneau marvel: +% \@removefromreset{FOO}{BAR} : removes counter FOO from the list of +% counters \cl@BAR to be reset when +% counter BAR is stepped. +% The opposite of \@addtoreset +\def\@removefromreset#1#2{\let\@tempb\@elt + \def\@tempa#1{@}\expandafter\let\csname @*#1*\endcsname\@tempa + \def\@elt##1{\expandafter\ifx\csname @*##1*\endcsname\@tempa\else + \noexpand\@elt{##1}\fi}% + \expandafter\edef\csname cl@#2\endcsname{\csname cl@#2\endcsname}% + \let\@elt\@tempb + \expandafter\let\csname @*#1*\endcsname\@undefined} +% +% the question structure +% \Question[label name]{question asked} +% if [label name] present, the named label is assigned with \Qlabel +\def\Question{\@ifnextchar[{\@Question}{\subsection}} +\def\@Question[#1]#2{\subsection{#2}\Qlabel{#1}} +% +% now let's hack around a bit in order to make things slightly +% prettier +% +% first: numbering of subsections -- doesn't include section nos, not +% reset for each section +\renewcommand{\thesubsection}{\arabic{subsection}} +\@removefromreset{subsection}{section} +% +% second: sections `numbered' alphabetically +\renewcommand{\thesection}{\Alph{section}} +% +% \Qlabel and \Qref: define and refer to labels +\let\Qlabel\label +\newcommand\Qref[3][see question]{#1~\ref{#3}} +% +% from doc package, then hacked about by yours truly +\DeclareRobustCommand\csx[1]{\def\@tempa{#1}{\FAQverbFamily\char`\\% + \expandafter\@faq@strip\meaning\@tempa\@faq@strip}} +\def\cs|#1|{\csx{#1}} +% +% for comments during maintenance +\def\Q#1{\footnote{{\ttfamily QUERY: #1}}} +%\def\Q#1{\marginpar{{\ttfamily QUERY: #1}}} +% +% Checking structure (null for now) +\newcommand\checked[2]{} +% +% for Alan's benefit +\newbox\@footnoteenvbox +\newenvironment{footnoteenv} + {\begin{lrbox}\@footnoteenvbox\reset@font\footnotesize\ignorespaces} + {\end{lrbox}% + \footnote{\unhbox\@footnoteenvbox}} +% +% end of package +\endinput diff --git a/usergrps/uktug/baskervi/6_1/form2.ps b/usergrps/uktug/baskervi/6_1/form2.ps new file mode 100644 index 0000000000..ba7c056411 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/form2.ps @@ -0,0 +1,841 @@ +%!PS-Adobe-2.0 +%%Creator: dvipsk 5.526b Copyright 1986, 1993 Radical Eye Software +%%Title: form2.dvi +%%Pages: 2 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%EndComments +%DVIPSCommandLine: dvips -Pdocutech form2 +%DVIPSParameters: dpi=600, compressed, comments removed +%DVIPSSource: TeX output 1996.02.16:1637 +%%BeginProcSet: texc.pro +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id +ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ +rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get +/gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp +X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X +adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup +255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} +B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv +S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] +}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +%%EndProcSet +TeXDict begin 39158280 55380996 1000 600 600 (form2.dvi) +@start /Fa 4 117 df<EC01E0A24A7EA34A7EA34A7EA24A7E141DA2EC39FF1438A24A6C +7EA202F07FECE03FA2D901C07F151F010380EC800FA2010780EC0007A2010E6D7EA2011F +B57EA390393C0001FF01387FA2496E7EA201F08149143F12016D811207486CEC7FF8D8FF +FE0103B512C0A332307DAF38>97 D<DA0FF81330DA7FFF13700103B5EAC0F090390FFC03 +F190391FE000FBD97F80133F49C7121F4848140F4848140748481403485A1601485A1600 +485AA2007F1670A25B12FF1700AA007F16707FA2123FA26C6C15F017E06C6C140117C06C +6C14036C6C15806C6C14076C6CEC0F006D6C133ED91FE05B90390FFC03F00103B55AD900 +7F1380DA0FFCC7FC2C317BAF36>99 D<B591387FFFC0A28000016D903807FC00705A6E6D +5AD9DFF06D5A8013CFEBC7FCEBC3FE8013C101C07F6E7E81143F6E7E81140F6E7E6E7E81 +806E1380ED7FC016E0153FED1FF0ED0FF816FC1507ED03FE16FF8181167FA2163F161F16 +0F487E486C1407486C1403B56C1301A21600322F7DAE38>110 D<007FB712F8A3903980 +3FF0073A7C001FE00000781678A20070163800F0163CA348161CA5C71500B3A8EC7FF801 +3FB512F0A32E2E7CAD36>116 D E /Fb 1 66 df<EC03C0A24A7EA34A7EA34A7EA3EC39 +FCA2EC79FE1470A2ECF0FF4A7EA249486C7EA349486C7EA2010780EC000FA24980010E13 +07A2011FB57EA249809038380001A201788001701300A249147FA21201EE3F801203D80F +F8EC7FC0D8FFFE0107B5FCA3302F7EAE35>65 D E /Fc 29 119 +df<EA0FC0EA1FF0EA3FF8EA7FFC12FF13FEA213FFA47E7E7EEA0FEFEA000F131F131EA3 +133E133C137C137813F8EA01F0A2EA03E0EA07C0EA0F80EA1F00121E120C1021798E1D> +44 D<903807FF80013F13F890B512FE00036E7E4881260FF80F7F261FE0037F003F6D7F +486C6C7F6D6D7E12FF6D6D7EA26F1380A46C5A6C5A6C5AEA0780C8FC4B1300A25E157F5E +5E15FF4A5B5E4A5B4A90C7FC5D4A5A4A5AEC3FE04A5A4AC8FC4948EB0F80495A495A4AEB +1F00EB0FC0495A49C7FC017E5C5B48B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>50 +D<903801FFE0010F13FE013F6D7E90B612E04801017F2603FC007FD807F06D7E6D6D7E48 +7E6D80487EA314801400A36C485C6C5A6C48495AC8FC4B5A5E4A5B4A5B020F90C7FC9038 +07FFFE15F815FEEDFFC0D900037F9138007FF86F7E826F7E1780A26F13C0A2D807C015E0 +EA1FF0487E487EA2487EA317C0A25D6C4815805B494913006C485C6C6C495A6CB448485A +6C90B55A6C5DC61580011F01FCC7FC010313E02B3D7CBB34>I<16FC4B7EA24B7EA34B7F +A24B7FA34B7FA24B7FA34B7FA292B57E15FD15FC020180EDF87F02038015F0820207814B +7E020F8115C082021F814B7E023F811500824A81027E7F02FE815C8201018291B7FC4982 +A3498302E0C7121F010F835C83011F834A80013F8391C8FC834983017E81B500FE49B612 +FCA5463F7CBE4F>65 D<B812F8EFFF8018F018FC8426003FFEC7EA3FFF7113807113C071 +13E08319F0A27113F8A719F05FA24D13E019C04D13804D1300EF7FFE4C485A91B712F018 +8018F818FE4AC7380FFF807113C07113E07113F07113F819FC187F19FEA219FFA38460A4 +19FEA218FF19FC4D13F85F4D13F0053F13E0BA12C0190018FC18F095C7FC403E7DBD4A> +I<922607FFC0130E92B500FC133E020702FF137E023FEDC0FE91B712E101039138803FFB +499039F80007FF011F01E01301490180EB007F4948C8123F4948151F4849150F48491507 +5C481703485B1801485B18004890CAFCA2197E5AA25B190012FFAC127FA26D173EA27EA3 +6C6D167E197C6C7F19FC6C6D16F86C17016E16F06C6D15036C6DED07E06D6CED0FC06D6C +6CEC3F806D01E0ECFF00010701F8EB03FE6D9039FF801FFC010091B55A023F15E0020715 +80020002FCC7FC030713C03F407ABE4C>I<BAFCA41980D8003F90C7123F17071701EF00 +7F183FA2181FF00FC0A31807EE07C0A3F003E0A3160F95C7FC161F163F16FF92B5FCA515 +00163F161F040F147CA2160719F8A593C71201A219F01803A21807A2180FF01FE0183F18 +FF1703171FBAFCA219C0A33E3D7DBC45>69 D<B7D8C07FB612E0A5D8003F90C8001FEB80 +00B3A492B8FCA592C8121FB3A7B7D8C07FB612E0A54B3E7DBD52>72 +D<B712F0A5D8003F90C9FCB3AD183EA4187E187CA418FCA21701A2EF03F8A21707170F17 +1F177F17FF1607B9FC18F0A4373E7DBD3F>76 D<B66C040FB512F06F5EA26F5EA2D8003F +F2C0006F167BA26E6C16F3A26E6CED01E3A26E6CED03C3A36E6CED0783A26E6DEC0F03A2 +6E6D141EA26E6D143CA36E6D1478A26F6C14F0A26F6CEB01E0A26F6CEB03C0A36F6CEB07 +80A26F9038800F00A26FEBC01EA26F6D5AA36F6D5AA2706C5AA293383FFDE0A270B45AA3 +705BA27090C7FCA2705AA2B626C001FC010FB612F0A3705A17705C3E7DBD63>I<B66C02 +7FB512E08181A281D8003F6D9139001F8000818181A26E7F6E7F6E7F6E7F82806E7F6E7F +6E7F6F7F83816F7F6F7F6F7F6F7F83816F7F7013807013C018E0827013F07013F87013FC +7013FE18FF8271139F7113DF7113FF83A28383838384A28484848484A284B600C080197F +193F191FA24B3E7DBD52>I<003FB912FCA5903BFE007FFE007FD87FF0EE0FFE01C01603 +49160190C71500007E187EA3007C183EA400FC183F48181FA5C81600B3AF011FB712F8A5 +403D7CBC49>84 D<B6D8FE07B600F090B512FEA5C649C7000301F0C8EA7E00017F1B7C6E +827117FC6D636F6F14016D6F5F856F027F15036D636F91B5FC6D505A866F49160F6D634D +806F02EF151F6D98C7FC6F01076E5B6D04C7153E866FD90F83157E027F197C6F011F8006 +0115FC6E61DC803FECFC016EDA3E005D057E14FEDCC07C017F13036E61DCE0FC14FF6E4A +6D495A1B8704F1168F6E4A6D5C04F316CFDCFBE06D13DF6E96C8FC04FF16FF6E4A6D5BA2 +4D7F6F5FA294C77E6F5FA26F486E5BA24C157F030F5FA26F486F5AA36F486F5A4C150F67 +3F7EBD6C>87 D<007FB6D8807FB512F0A5D8001F01E0C76CC7FC6D5E6F495A6D6D5C6D6D +495A17076D6D495A6D6D5C6E4A5AEE803F6E01C05B6E4AC8FCEEE0FE6E13F16EEBF9FCEE +FBF86E13FF6E5C6E5C5F816F5B836F7F6F7FA26F7F835D834B7F5D4B80043F7FDBFE1F7F +14014A486C7F4B6C7F4A487E020F814B6C7F4A487E4A4880027F6E7F92C76C7F14FE0101 +6F7F49486E7F4A80494882010F6F7F494880B600E090B7FCA5483E7DBD4F>I<90381FFF +C048B512FC4814FF4815C0260FFC017F486C6C6C7E6F7E6F7EA26F7EA26C5A6C5AEA01E0 +C8FCEC07FF49B5FC131F90B6FC0003148F48EBF00F4813C0481300EA3FFC127F5B12FF5B +A4151F6C6C133F157F6C6C90B51280271FFF07FB13FE6CEBFFF36C14C1C6148090391FFC +003F2F287DA733>97 D<13FFB5FCA512077EB0EDFFE0020713FE023F6D7E4A14E0DAFF81 +7F9139FC003FF802F06D7E02C06D7E4A80821880A27013C0A318E0AA18C0A25E1880A218 +006E495A6E131F6E5C02FCEB7FF8903AFEFF03FFF0496CB512C0D9F81F91C7FCD9F00713 +FCD9E00113C0333F7DBE3A>I<ECFFFC0107EBFFC0013F14E04914F03A01FFF01FF84890 +38C03FFC481300485A121F5B123FED1FF8007FEC0FF049EB03C092C7FC12FFAA127F7FA2 +123F163E6C7E167E6C6C147C6C6D13FC6C9038E003F86C9038F80FF06C6CB512E06D1480 +01071400010013F027287DA72E>I<EE07F8ED07FFA5ED003F161FB0EC7FF0903807FFFE +011FEBFF9F017F14FF3901FFF81F48EBC0034890C7FC48157F49143F485A123FA2485AA3 +12FFAA127FA36C7EA2121F6D147F000F15FF6C6C13036C6D487F6CD9F03FEBFFE06C90B5 +12BF013F143F010F13FC010013E0333F7DBE3A>I<ECFFF0010F13FE013F6D7E4914E03A +01FFE07FF0489038801FF848496C7E48481307001F81491303003F81A248487F1780A212 +FF90B7FCA401F8C9FCA5127FA27F123FEE0F806C7E000F151F6D15006C6D137F6C01E013 +FEC69038FC07FC6DB55A011F14E0010714809026007FF8C7FC29287DA730>I<13FFB5FC +A512077EB0ED3FF84AB5FC0207804A80DA1FE07F4AC66C7E147C4A133F4A805CA25CA25C +B3A4B5D8FE0FB512E0A5333F7CBE3A>104 D<EA01F0EA07FC487E487EA2481380A56C13 +00A26C5A6C5AEA01F0C8FCA913FFB5FCA512077EB3AAB512F8A515407CBF1D>I<01FFD9 +1FFCECFFE0B548B5010F13F80207DAC03F13FE4A6E487FDA1FE09026F0FF077F91293F00 +3FF9F8017F0007017CECFBE06C496DB4487E4A4B804A92C7FCA24A5CA24A5CB3A4B5D8FE +07B5D8F03FEBFF80A551287CA758>109 D<01FFEB3FF8B548B5FC0207804A80DA1FE07F +4AC66C7E0007137C6C49133F4A805CA25CA25CB3A4B5D8FE0FB512E0A533287CA73A>I< +EC7FF00107B5FC011F14C0017F14F03A01FFE03FFC489038800FFE3A07FE0003FF000F16 +80497F001F16C048486D13E0A2007F16F0A400FF16F8A9007F16F0A3003F16E06D5B001F +16C0A26C6C4913806C6C4913006C6D485A6C9038E03FFC6C6CB512F06D5C010791C7FC90 +38007FF02D287DA734>I<3901FE03FC00FF90380FFF804A13C04A13E091387E3FF09138 +F87FF83807FFF06C13E0A214C0A29138803FF0ED1FE0ED078092C7FC91C8FCB3A2B6FCA5 +25287DA72B>114 D<90383FFC1E48B512FE12075A381FF007383F800148C7127E127E00 +FE143EA27E7F01E090C7FC13FF14F86CEBFF8015E06C14F86C806C806C8012016C6C1480 +1307D9003F13C014010078EB007F00F8143F151F7EA26C15806C143F6D14006D5B9038F8 +03FE90B55A5DD8FC7F13E026F00FFEC7FC22287DA729>I<EB07C0A5130FA4131FA3133F +137FA213FF5A1207001FEBFFFEB6FCA40001EBC000B3151FA8153F6CEBE03E157E90387F +F8FC90383FFFF86D13F0010713E001001380203A7EB929>I<D9FF80EB0FF8B5EB0FFFA5 +0007EC007F6C153FB3A4167FA216FFA26C5CDAC0077F6C903AE01FDFFFE06DB5129F6D14 +1F010F13FC010113E033287CA73A>I<B500FC90383FFFC0A5000101C0903803E0006E13 +07A26C5E6E130F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D +5C15816D5C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA232 +287EA737>I E /Fd 1 16 df<EB07F8EB3FFF90B512C0488048804880488048804880A2 +481580A3B712C0A86C1580A36C1500A26C5C6C5C6C5C6C5C6C5C6C5C013F90C7FCEB07F8 +22227BA72D>15 D E /Fe 11 120 df<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0 +EA0F000C0C6E8B30>46 D<EC1FE0ECFFFC01037F010F7F4914804914C090B612E0489038 +F03FF0EC800F3903FE00073A07FC01FBF89038F807FF260FF01F13FC48485A495AEA3F80 +91B5FC0101EB0FFE007FEBFE07903803FC03007EEBF801ECF00012FEEAFC074A137EA86E +13FED8FE0314FC127EECF801007FEBFC03903901FE07F8003FEBFF0F0180EBFFF06E13E0 +EA1FC06D6C13C06C6C6C13803A07F807FE009038FC01F86C6CC712FC3A01FF8003FEECF0 +1F6C90B5FC013F14FC6D14F86D14E0010314C00100EBFE00EC1FF027387CB730>64 +D<EB7FFC0003B57E4814E04814F848808181D9F0077F6C48C6FC157FD803806D7EC8121F +A215FF49B5FC131F90B6FC1203120F5A48EBC01F387FF80013C0485A48C7FCA3153F7E6D +137F397FC001FFEBF80F6CB712C017E07E6C14EF6C14870001EBFE0327007FE00013C02B +277CA630>97 D<903801FFF0010F13FE013F7F49148048B612C05A5A48EB807F3A1FFC00 +3F8013F04848EB0E004990C7FC485AA290C9FC5A5AA77E7E6DEB07C06DEB0FE06C7E6D13 +1F6C6C14C001FE133F390FFFC07F6C90B512806C15006C5C6C6C5B6D5B010F13E0010190 +C7FC23277AA630>99 D<EB01E0497E497E497EA46D5A6D5A6D5A90C9FCA8381FFFF8487F +5AA37E7EEA0001B3A7003FB612C04815E0B7FCA37E6C15C023397AB830>105 +D<EA7FF8487EA5127F1200AA0203B512804A14C017E0A317C06E14809139003FC0004B5A +4BC7FC4A5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FE +EC00FF497F496D7E6F7E826F7E15076F7E3B7FFFF81FFFE0B56C4813F017F8A317F06C49 +6C13E02D387FB730>107 D<387FFFF8B57EA57EEA0001B3B3A6007FB612F0B712F8A56C +15F025387BB730>I<267FC0FC137E3BFFE7FF03FF8001EF01877F90B500CF7F92B57EA2 +7E0007010FEB87F89039FC07FE039039F803FC01A201F013F8A201E013F0B33C7FFE0FFF +07FF80B548018F13C0A56C486C01071380322781A630>I<3A3FFF800FF8489038C07FFE +B500C1B5FC02C3148002CF14C06C13DF6C90B6FCD8001FEBF87F9238C03F8015809139FE +000E004A90C7FC5CA25C5CA35CAE003FB512FC4880B7FCA36C5C6C5C2A277EA630>114 +D<D83FFCEB3FFC486C497E00FF14FFA3007F147F003F143F00001400B3A3150115036D13 +07EC803F91B612F86D15FC17FE7F6D5B6D01F813FC01019038807FF82F2780A630>117 +D<3B3FFFC01FFFE0486D4813F0B515F8A36C16F06C496C13E0D807E0C7EA3F006D5C0003 +157EA57F00015DEC0FC0EC1FE0EC3FF0A32600FC7F5B15F9147DA214FC017C5CA215FD13 +7EA214F8013FEB7FE0A3ECF03FA2D91FE05B90390FC00F802D277FA630>119 +D E /Ff 1 37 df<82ED0FFCED7FFF4B6C7E913901F807E0913907F001F0EDE0004A4813 +78021F804B131C023F141E170E92C7FC4A143F17FF5EA5705A177C94C7FCA9017FB512C0 +A4D9007FC9FCB018E0EA01FE0007B5FC001F5B481601486D15C0D8FC0101C0130300F802 +F01307484801FCEB0F80913AF7FF801F00D90FE1EBFFFE27F81FC07F5B277FFF001F5BD8 +3FFC010313E0D80FE0D9007FC7FC334278C03F>36 D E /Fg 71 +123 df<9239FF8007F0020F9038E03FFC027F9038F8FFFE903B01FF00FDFC3FD903F890 +397FF07F80D90FF09038FFE0FF4948485BEB3FC002805CD97F00ED7F00183E496D90C8FC +4980ADB97EA4C648C76CC8FCB3AC486C4A7E007FD9FC3FEBFF80A439407FBF35>11 +D<15FF020F13E0027F13F84948C67ED903F8133EEB0FF0494813FF49485A1480EB7F00A2 +5B496D5A163893C7FCAA167FB8FCA43900FE00018182B3AA486CECFF80007FD9FC3F13FE +A42F407FBF33>I<001FEB07C0393F800FE0397FC01FF039FFE03FF8A201F013FCA3007F +131F003F130F391F7007DC0000EB001CA401F0133C491338A200011478491370000314F0 +A239078001E0010013C0481303001EEB078048EB0F000038130E0030130C1E1D7DBE2D> +34 D<121FEA3F80EA7FC0EAFFE0A213F0A3127F123FEA1F701200A413F013E0A2120113 +C01203A2EA078013005A121E5A123812300C1D79BE19>39 D<1438147814F0EB01E0EB03 +C0EB0780130FEB1F00133EA25B5BA2485AA2485AA212075B120FA25B121FA290C7FC5AA3 +123E127EA6127C12FCB2127C127EA6123E123FA37E7FA2120F7FA212077F1203A26C7EA2 +6C7EA2137C7FA27FEB0F801307EB03C0EB01E0EB00F014781438155A78C323>I<12E07E +12787E7E7E7F6C7E6C7EA26C7E6C7EA2137CA27FA2133F7F1480A2130F14C0A2130714E0 +A3130314F0A6130114F8B214F01303A614E01307A314C0130FA21480131FA214005B133E +A25BA25BA2485A485AA2485A485A90C7FC121E5A5A5A5A155A7BC323>I<121FEA3F80EA +7FC0EAFFE0A213F0A3127F123FEA1F701200A413F013E0A2120113C01203A2EA07801300 +5A121E5A123812300C1D798A19>44 D<B512FEA617067F961E>I<121FEA3F80EA7FC0EA +FFE0A5EA7FC0EA3F80EA1F000B0B798A19>I<ED0180ED03C0A215071680A2150F1600A2 +5D151EA2153E153CA2157C157815F85DA214015DA214035DA214075DA2140F92C7FCA25C +141EA2143E143CA2147C1478A214F85CA213015C13035CA213075CA2130F91C8FCA25B13 +1EA2133E133CA2137C1378A213F85BA212015BA212035BA212075B120F90C9FCA25A121E +A2123E123CA2127C1278A212F85AA21260225B7BC32D>I<EB01FE90380FFFC0013F13F0 +90387F03F89038FC00FC4848137E48487F4848EB1F80A24848EB0FC0001F15E0A3003F15 +F0491307A2007F15F8A600FF15FCB3A2007F15F8A5003F15F06D130FA2001F15E0A36C6C +EB1FC0A26C6CEB3F80000315006C6C137E6C6C5B90387F03F86DB45A010F13C0D901FEC7 +FC263F7DBC2D>I<14E013011303130F137FEA07FFB5FCA2139FEAF81F1200B3B3AA497E +B612FCA41E3D78BC2D>I<EB07FC90383FFF8090B512E0000314F83907F01FFC390FC007 +FE48C66C7E001E6D1380003E7F4815C0ED7FE01278B4143F6D14F07FA3151FA26C5A6CC7 +123F120CC8FC16E0157FA216C0EDFF80A24A13005D4A5A14075D4A5AEC1FC04A5A92C7FC +147E5C495A495A495A495A4948137091C7FC133E5B4914E0EA01E0485A485A48C7120190 +B6FC5A5A5AB712C0A4243D7CBC2D>I<EB07FC90383FFF8090B512E03901F80FF83903E0 +03FC39078001FED80F007F001E6D1380EA1F80D83FE014C07F157FA46C5A15FFD8078014 +80C8FCA216005C5D4A5A5D4A5A4A5AEC3FC0D91FFFC7FC14FCECFF809038000FE0EC07F8 +EC01FC816E7E1680ED7FC016E0A2153F16F0A2120EEA3F80487E487EA316E0157FA24914 +C06CC7FC007CECFF806C5B6C15009038C003FE390FF80FFC0003B512F0C65C013F1380D9 +07F8C7FC243F7CBC2D>I<151E153EA2157E15FEA21401A214031407A2140E141E141C14 +3C1478147014F0EB01E014C01303EB078014005B131E131C133C5B137013F05B485A1203 +5B48C7FC5A120E121E5A123812785AB8FCA4C73801FE00AB4A7E0103B6FCA4283E7EBD2D +>I<000C1403D80F80131F01F813FF90B55A5D5D5D5D15804AC7FCEB7FF090C9FCACEB01 +FE90380FFF80013F13E090387E07F89038F001FC496C7E49137F5B90C7EA3F8016C0C8FC +16E0151FA316F0A4123EEA7F8012FF7FA34914E0153F48C7FC007015C01278ED7F806CEC +FF00123E6C495A390FC003FC3907F00FF86CB512E0C65CD93FFEC7FCEB0FF0243F7CBC2D +>I<1238123C123F90B612FCA44815F8A216F016E00078C712030070EC07C0ED0F801600 +5D48143E153C157C5DC85A14014A5A4A5A5D140F92C7FC5C143EA2147E147C14FC5C1301 +A3495AA21307A3130FA25CA2131FA6133FAA6D5A0107C8FC26407BBD2D>55 +D<EB03FCEB1FFF4913C09038FE07F03901F803F848486C7E000713004848137E4848137F +81003F1580A2484814C0A2151F12FF16E0A516F0A6007F143FA36C7E157F121FA26C6C13 +FF6C6C5A0003EB03DF3901FC079F3900FFBF1FD93FFE13E0EB0FF890C7FCA2ED3FC0A416 +80157FD80F801400487E486C13FEA24A5A4A5A01C05BEB8007391E001FE0391FC07FC06C +B5C7FC00035B6C13F838003FC0243F7CBC2D>57 D<121FEA3F80EA7FC0EAFFE0A5EA7FC0 +EA3F80EA1F00C7FCB1121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2779A619> +I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCB1121EEA3F80EA7FC012FFA2 +13E0A3127F123F121F1200A4120113C0A21203A21380120713005A121EA25A123812300B +3979A619>I<EB3FF890B5FC000314C0390FE01FF0391F0007F8003EEB03FC007814FE14 +01007E14FFB4FC1380A56C485A000814FEC7FCEC07FCEC0FF8EC1FF015E0EC3F80EC7F00 +147E5C5C13015C495AA25CA2495AA391C7FCA990C8FCA8EB0F80497E497E497EA56D5A6D +5A6D5A20407BBF2B>63 D<ED0F80A34B7EA34B7EA34B7EA34B7EA3913801E7FCA3913803 +C3FEA391380781FFA3020F801500A24A80021E137FA2023E80023C133FA2027C80027813 +1FA202F8804A130FA20101814A1307A249B67EA349819138800001A2010F8291C8FCA249 +82011E157FA2013E82013C153FA2017C8201FC151F487E2607FF80EC7FFCB500F8011FB5 +12F8A43D417DC044>65 D<B712FCEEFF8017F017FCC69039C0000FFE6D48EB03FF701380 +7013C0EF7FE0173F18F0171F18F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300 +EE07FEEE1FF891B612E094C7FC17F0913980000FFCEE01FF701380EF7FC0EF3FE0EF1FF0 +18F8170F18FC170718FEA8EF0FFCA3EF1FF8EF3FF0177FEFFFE04C13C0496C010F1380B8 +EAFE005F17E094C7FC373E7DBD40>I<DB3FF0130E913803FFFE020F9038FF801E023FEC +E03E913AFFF007F07E010390388000FC4948C7EA7EFED91FF8141F4948140FD97FC01407 +495A4890C812031701485A48481500A24848167EA24848163EA2123F5B181E127FA34916 +0012FFAC127F7F180EA2123FA27F001F171E181C6C7EA26C6C163C18386C6C16786C6C16 +F0806CEE01E06D6CEC03C0D93FF014076D6CEC0F80D907FEEC3F006D6C6C137C01009038 +F003F8023FB55A020F14C0020349C7FC9138003FF037427BBF42>I<B712FEEEFFC017F0 +17FCC69039E0000FFF6D4801017F706C7E717EEF0FF0717E717E717EA2717E1980187F19 +C0183F19E0A3F01FF0A519F8AB19F0A5F03FE0A219C0187FA21980F0FF00A24D5A4D5A17 +074D5A4D5AEF7FE0933801FF80496C010F90C7FCB812FC5F17C04CC8FC3D3E7EBD45>I< +B912F0A4C601E0C7FC6D48140F717E1701A217001878A31838A4040E7FA595C7FC161EA2 +163E167EED01FE91B5FCA4ECC001ED007E163E161EA2040EEB0380A3F00700A393C7FCA2 +60180EA2181EA3183E187E187CEF01FC1703170F496C14FFB9FC60A3393E7EBD3E>I<B9 +12C0A4C69038E000016D48EB003FEF0FE017071703A21701A21700A51870161CA41800A2 +163CA2167C16FC150391B5FCA4ECC0031500167C163CA2161CA693C8FCAD497EB612F8A4 +343E7EBD3B>I<DB3FE0131C913803FFFC021F01FF133C027FECC07C903B01FFF00FF0FC +4990380001F8D90FFCEB007D4948143FD93FE0141F4948140F494814074890C8FC170348 +5A48481501A248481500121F49167CA2123F5B007F173CA44993C7FC12FFAB043FB512F0 +127F7FA29339000FFE00715A123F7F121FA27F120F6C7EA26C7E6C7E806C160F6D7ED93F +F0141F6D7ED90FFE147F902603FF8013FC6D9039F007F87C6D6CB5EAF01C021FECC00C02 +0349C8FC9138003FF03C427BBF47>I<B6D8E00FB512FEA4C601E0C7380FFE006D486E5A +B3A591B7FCA402C0C71207B3A7496C4A7EB6D8E00FB512FEA43F3E7EBD44>I<011FB512 +FEA4D9000313806E1300B3B3A5120EEA3F80EA7FC0EAFFE0A44A5A13C0007F5CEB000700 +3C495A003E5C6C6C485A390FE07FC00003B5C7FCC613FCEB1FE027407DBD2F>74 +D<B600E090387FFFFCA4C601E0C7000F13806D48913807F8006018C04D5A4DC7FC173E5F +5F4C5A4C5A4C5A4C5A4CC8FC163E5E5E4B5A4B5A4B5A150F4B7E153F4B7E4B7E14C19138 +C3EFFC9138C7C7FEECCF879138DF03FFDAFE017F14FC4A6C7F4A6D7E5C4A6D7E707EA270 +7E707EA2707E707FA2707F717EA2717E717EA2717E8484496C4A13C0B6D8E001B6FCA440 +3E7DBD47>I<B612FCA4C601E0C9FC6D5AB3AEEF01C0A51703A21880A31707A3170FA217 +1F173F177F17FF04031300496C133FB9FCA4323E7EBD39>I<B500E093387FFFF0A36E93 +B5FCC6F1F000D977F8923801DFE0A3D973FCED039FA3D971FEED071FA2D970FF150EA36E +6C141CA26E6C1438A36E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700 +A26E6C130EA36F6C5AA36F6C5AA26F6C5AA36F6C5AA2923807F9C0A36FB45AA36F90C7FC +A201F86D5A487ED807FF4D7EB500F8017C013FB512F0A316384C3E7DBD53>I<B500E091 +383FFFFEA28080D8007F030113C06E9138007F006E153ED977FF151C137301717F811370 +6E7E81143F6E7E816E7E14076E7E82806E7F82157F6F7E826F7E150F6F7E82816F138017 +C081EE7FE017F0EE3FF8161FEE0FFC17FE1607EE03FF189C827013DC18FC177F173F171F +A2170F1707A2170301F81501487ED807FF1500B500F8157C183CA2181C3F3E7EBD44>I< +ED7FE0913807FFFE021F6D7E91397FC03FE0903A01FE0007F8D907F8EB01FE49486D7E49 +486E7E49486E7E49486E7E49C86C7E48486F7E49150300038348486F7EA248486F7EA200 +1F188049167F003F18C0A3007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0 +6D16FF001F1880A26D5D000F1800A26C6C4B5A00035F6D15076C6C4B5A6C5F6D6C4A5A6D +6C4A5A6D6C4A5A6D6C4AC7FCD907FCEB03FED901FEEB07F8903A007FC03FE0021FB51280 +020749C8FC9138007FE03C427BBF47>I<B712FCEEFF8017F017FCC69039E0001FFE6D48 +EB03FF04001380EF7FC0EF3FE0EF1FF0A218F8170FA218FCA718F8A2171F18F018E0173F +EF7FC0EFFF8004031300EE1FFC91B65A17E094C7FC02C0C9FCB3A5497EB612E0A4363E7E +BD3E>I<B712E016FEEEFFC017F0C69039E0003FF86D48EB07FEEE01FF707F717E717EA2 +84171F84A760173F6060177F4D5A4C48C7FCEE07FCEE3FF091B612C04CC8FC82DAC00013 +C0EE1FF0707E707E707EA2707EA2707FA684A61902190718E0177F190F496C143FB600E0 +ECF00E94381FF81E94380FFC3C943803FFF8CB13F0F01FC040407EBD43>82 +D<D903FC131C90381FFF80017FEBF03C48B5EAF87C3903FC03FE3A07F0007FFC4848131F +4848130F48481303A248C712011500127E00FE157CA2163CA36C151CA27FA26C6C14007F +7FEA3FFEEBFFE06C13FEECFFE06C14FC6C806CECFF80C615C06D14E0011F14F0010114F8 +EB001F020113FCEC003FED0FFE15071503ED01FFA200E080A2167FA37EA36C157E16FE7E +16FC6C14016C15F801C013036DEB07F001F8EB0FE03AF9FF803FC0D8F87FB51280D8F01F +EBFE00D8E00713F89038007FC028427BBF33>I<003FB91280A4D9F000EBE00101809039 +7FC0003F48C7ED1FC0007C1707A200781703A300701701A548EF00E0A5C81600B3B04B7E +010FB612FEA43B3D7DBC42>I<B600E090387FFFFEA4C601E0C7000313C06D4802001300 +187E183CB3B3A3013F167C6E1578A218F8011F5E6E1401010F5E6D6C14034D5A6D6C4A5A +6D6C141F6D6C4AC7FCDA7FC013FE91391FF807F86EB55A020314C0020091C8FCED0FF83F +407EBD44>I<B66C90381FFFFEA4000101E0C7000313E06C4902001300017F167E187C80 +013F1678A26E15F8011F5EA26E1401010F5EA26D6C4A5AA26E140701035EA26E140F6D93 +C7FCA26F5B6D151EA26E6C5BA281023F5CA26F13F8021F5CA2EDF801020F5CA2EDFC0302 +075C15FE0203495AA2EDFF0F6E91C8FCA2169F6E139EA216FE6F5AA26F5AA36F5AA36F5A +A36F5AA23F407EBD44>I<B6017FB5D8C007B5FCA4000301E0010001F0C7EA7FF06C0180 +DA7FC0EC1FC06CF20F807215006E143F017F190E8480013F6184177F6D6C60A2EFE7FC6D +6C60A2933801C3FE6E18F001076104037F6E02811401010361040714806E14006D4E5A19 +C0040E137F6D01804CC7FCA24CEB3FE0DA7FC0160EA24CEB1FF003E0161E023F171C0478 +14F8DBF070010F133C021F173804F014FC6F481307020F5F19FEDBF9C01303DA07FD5EA2 +DBFF80EB01FF6E5FA293C8FCA26E5FA24B157F020094C8FCA24B81037C153EA20378151E +0338151C58407EBD5D>I<007FB5D8E00FB512E0A4C66CD90001EBF800D91FF89038007F +C06D6C6E5A053EC7FC6D7E6E5C6D5D6D7F4C5A6D01C05B91387FE0034C5ADA3FF05B9138 +1FF80F4CC8FC91380FFC1E163E6E6C5A913803FF7816F86E5B805E157F6F7EA26F7EA24B +7E82157FEDFBFF03F17F1401DA03E07F83913807C07F4A486C7EA24A486C7E021E6D7E14 +3E4A6D7E02786D7E14F849486D7F4A8101038049486E7EA249486E7E496C6E7E017F8226 +03FFF0EC7FFEB500FE0107B512FEA43F3E7EBD44>I<B600C0010FB51280A4C601F8C700 +01EBF0006D489138007F80013F94C7FC6D6C157E187C6D6C157818F86D6C4A5A6D6C5D17 +036D6D5C17076D6D495A6F91C8FC027F5C6E6C131E173E6E6C5B6F1378020F14F86E6C5B +16016E6C485AA26EEB87C0EEC7806E13CF6FB4C9FCA26F5A5E151F6F5AB3A34B7E021FB5 +12FCA4413E7FBD44>I<01C0133000011470000314F039078001E0390F0003C0000E1480 +001E130748EB0F00A20038130E0078131E0070131CA200F0133C481338A439EF803BE039 +FFC03FF001E013F801F013FCA3007F131FA2393FE00FF8391FC007F0390F8003E01E1D75 +BE2D>92 D<13C012011203EA0780EA0F00120E121E5AA2123812781270A212F05AA4EAEF +80EAFFC013E013F0A3127FA2EA3FE0EA1FC0EA0F800C1D7ABE19>96 +D<EB1FF8EBFFFE00036D7E3907E01FE0390FC007F0486C6C7E6D6C7E811400A2157F6C5A +EA0380C8FCA491B5FC130F133F9038FFE07F00031300EA0FFCEA1FF0485A5B127F5B00FF +ED038090C7FCA315FFA26D5A127F6D48EB8700393FE00F9F3A1FF81F1FFE3907FFFC0F00 +019038F007F83A003FC003E0292A7DA82D>I<EA01FC12FFA4120712031201B0EC03FC91 +381FFF80027F13E09138FC07F89039FFE003FC4AC67E4A137F91C7138049EC3FC05BEE1F +E0A217F0160FA217F8AA17F0A2161FA217E0A26DEC3FC017806D147F6EEBFF009039FBC0 +01FE9039F1E003FC9039E0F80FF091387FFFE0D9C01F1380C7D803FCC7FC2D407EBE33> +I<49B4FC010F13F0013F13FC90387F007ED801FE7F4848EB7F80484813FF485A5B121FA2 +4848EB7F00151C007F91C7FC5BA212FFAB6C7EA3003FEC01C07F001F14036D1480000F14 +076C6CEB0F006C6C131E6C6C133E3900FF80F890383FFFF0010F13C0D901FEC7FC222A7D +A828>I<ED01FC15FFA4150715031501B0EB01FE90380FFFC1013F13F190387F80FD3901 +FE003F4848130F48481307484813035B001F1401485AA2127FA25B12FFAB127FA27F123F +A26C6C1303A26C6C130700074A7E6C6C497ED801FE017D13F83900FF01F990383FFFE101 +0F1381903A01FE01FC002D407DBE33>I<EB01FE90380FFFC0013F13F09038FF07F83901 +FC01FC48486C7E4848137F000F158049133F001F15C0485A151F127F4914E0A312FF90B6 +FCA30180C8FCA6127FA27F123F16E06C7E15016C6C14C0000714036DEB07806C6CEB0F00 +C6B4131E90387FC07C90381FFFF8010713E0010090C7FC232A7EA828>I<EC0FE0EC7FF8 +903801FFFC903803F87E90380FE0FFEB1FC11481133FEB7F01EC00FE157C01FE1300AEB6 +FCA4C648C7FCB3AC487E007F13FFA420407EBF1C>I<167C903903FC01FF90261FFF8713 +80017FEBEF9F9039FE07FE1F3901FC03FC3803F8013B07F000FE0600000F6EC7FC497FA2 +001F81A7000F92C7FCA26D5B00075C6C6C485A6C6C485A486C485A90B55AD8079F1380D9 +03FCC8FC48CAFCA37FA27F6C7E90B512F015FE6C6E7E6C15E016F812073A1FC0001FFC48 +48EB03FE90C8FC127E00FE157F4881A56C5D007E157E007F15FE6C6C495A6C6C495AD80F +F0EB0FF0D803FEEB7FC0C6B6C7FC013F13FC010313C0293D7EA82D>I<EA01FC12FFA412 +0712031201B0EC01FE91380FFFC0023F7F91387C07F09138F003F89039FDE001FCEBFFC0 +02807F91C7FCA25BA35BB3A4486C497EB5D8F87F13FCA42E3F7DBE33>I<EA01F0487E48 +7E487EA56C5A6C5A6C5AC8FCABEA01FC127FA4120712031201B3AA487EB512F0A4143E7D +BD1A>I<EA01FC12FFA4120712031201B192B51280A492387FF800ED3FC093C7FC153E15 +785D4A5AEC07C04A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F +496C7E1401816E7E81826F7E151F826F7E82486C497EB539F07FFFE0A42B3F7EBE30> +107 D<EA01FC12FFA4120712031201B3B3AF487EB512F8A4153F7DBE1A>I<2701F801FE +14FF00FF90270FFFC00713E0023FD9E01F7F913B7C07F03E03F8913BF003F87801FC3D07 +F9E001FCF000FE2603FBC0EBFDE02601FF80D9FFC07F91C7497FA24992C7FCA3495CB3A4 +486C496CECFF80B5D8F87FD9FC3F13FEA447287DA74C>I<3901F801FE00FF90380FFFC0 +023F7F91387C07F09138F003F83A07F9E001FC3803FBC02601FF807F91C7FCA25BA35BB3 +A4486C497EB5D8F87F13FCA42E287DA733>I<14FF010713E0011F13F890387F81FE9038 +FE007FD801F8EB1F804848EB0FC04848EB07E0000F15F04848EB03F8A2003F15FC491301 +007F15FEA400FF15FFA9007F15FEA36C6CEB03FCA3001F15F86C6CEB07F0A26C6CEB0FE0 +6C6CEB1FC0D801FEEB7F803A007F81FE006DB45A010F13F0010090C7FC282A7EA82D>I< +3901FC03FC00FF90381FFF80027F13E09138FC0FF89039FFE003FC0003496C7E6C496C7E +91C7138049EC7FC049143F17E0A2EE1FF0A3EE0FF8AAEE1FF0A4EE3FE0A26DEC7FC01780 +6D14FF6E4813006E485A9039FDE007FC9039FCF81FF091387FFFE0021F1380DA03FCC7FC +91C9FCAC487EB512F8A42D3A7EA733>I<02FE131C903907FFC03C013F13E090387FC0F8 +3A01FF003C7C4848131E4848EB0FFC484813075B001F1403485A1501485AA4485AAA6C7E +A36C7E1503121F6D13076C6C130F12076C6C131F6C6C137D3900FF81F190383FFFE1010F +1381903801FC0190C7FCAC4B7E92B512F8A42D3A7DA730>I<3901F80FC000FFEB3FF0EC +FFFCEBF9F19038FBE3FE000713C33803FF836C1303A2EC01FC9038FE00701500A25BB3A4 +487EB512FEA41F287EA724>I<90383FC0E03801FFF9000713FF381FC03F383F000F003E +13074813030078130112F8A214007EA27E6C6C1300EA7FF0EBFF806C13F86C13FE6C7F6C +1480000114C06C6C13E0010313F0EB003FEC0FF800E013031401A26C1300A37E15F06C13 +017E6CEB03E090388007C09038E01F8000F9B5120000F013FC38E01FE01D2A7DA824>I< +131CA6133CA4137CA213FCA2120112031207001FB512C0B6FCA3D801FCC7FCB315E0A9EB +FE01000014C0A290387F0380EB3F8790381FFF006D5AEB01F81B397EB723>I<D801FC14 +FE00FF147FA4000714030003140100011400B3A41501A3150315076C6C804B1380017F01 +1E13FC90383F807C6DB45A010713E00100903800FE002E297DA733>I<B539E00FFFE0A4 +2707FE000313006C48EB00FC00015D6D5C00005DA26D13016D5CA26D6C485AA2ECC00701 +1F91C7FCA290380FE00EA2ECF01E0107131CA26D6C5AA2ECFC7801011370A2ECFEF00100 +5BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA630>I<B53BC3FFFE03FFF8A42907FC001F +E00013C06C484AEB3F006D010F141E00016F131C15076D163C00004A6C1338A2017F5E4B +7E151DD93F805DED3DFC1538D91FC04A5AED78FE9238707E03D90FE0017F5BEDE03F02F0 +140701070387C7FC9138F1C01F02F9148F010315CE9138FB800F02FF14DE6D15FCED0007 +6D5DA24A1303027E5CA2027C1301023C5C023813003D287EA642>I<B539F01FFFE0A400 +019039800FFE00D8007FEB07F016C0D93FC05B011F49C7FC90380FE00EECF01E6D6C5A01 +035B6D6C5A6E5AEB00FF6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF0103 +7F49486C7ED90F007F011E6D7E013E130F017E6D7E01FE8000074A7EB539803FFFF8A42D +277FA630>I<B539E00FFFE0A42707FE000313006C48EB00FC00015D6D5C00005DA2017F +495AA2EC8003013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D +6C5AA2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A2147800 +181370007E13F0B45B13015C130348485AD87E0FC9FCEA7C3EEA3FFC6C5AEA07E02B3A7E +A630>I<001FB61280A3D9E0001300EB800149485A001E5C001C495A003C130F5D4A5A00 +38495A147F5D4AC7FC5BC6485A5C495A130F5C90391FE00380133FEB7FC01480EBFF005A +491307485A485A000F1500495B485A003F5C4848137F49485AB7FCA321277EA628>I +E /Fh 12 117 df<EA0F80EA3FE0EA7FF0A2EAFFF8A313FCA2127FA2123FEA0F9CEA001C +A5133C1338A31378137013F013E01201A2EA03C013801207EA0F00121E123E123C12180E +24768C21>44 D<EC1FF891B5FC010314C090390FF81FF090391FC003F849486C7E49C77E +01FE147F4848EC3F8049141F000316C04848EC0FE0A2000F16F0491407A2001F16F8A200 +3F16FCA3491403007F16FEA700FF16FFB3A5007F16FEA66D1407003F16FCA4001F16F8A3 +6C6CEC0FF0A2000716E06D141F000316C06D143F000116806C6CEC7F00017F14FE6D6C48 +5A90391FE007F890390FF81FF00103B512C0010091C7FCEC1FF830517BCE3B>48 +D<EC03801407140F143F14FF1303131F0007B5FCB6FC13FD13E1EAF8011200B3B3B3A749 +7F010F13F0B8FCA4284F76CE3B>I<EC7FE0903803FFFE010F6D7E013F14E0D9FF0013F8 +D801F8EB3FFC4848EB0FFED807C06D7E48486D138090C76C13C0486E13E0123E003CED7F +F0127C0078ED3FF8A2EA7F80D8FFE0EC1FFCA27FA66C5A6C5A0006C8FCC9EA3FF8A317F0 +167F17E016FF17C05D17804B1300A24B5A5E4B5A4B5A4B5A5E4B5A4BC7FC4A5A4A5A5D4A +5A4A5AEC1F804AC8FC147E5C4A143C495A495A495A4948147849C8FC133E133C5B4915F8 +485A4848EC01F048B7FC5A5AA25A5AB812E0A42E4F7ACE3B>I<ED3FE0913803FFFC020F +13FF91393FE03F8091397F0007C0D901FCEB03E04948EB01F0495A4948130F4948EB1FF8 +4948133F137F49C7FC5B1201485AEE1FF00007ED0FE04991C7FC120FA2485AA3123FA348 +5AA2EC0FFF023F13C091B512F03AFFE1F003FC9039E3C001FE9039E78000FF91C7EA7F80 +01EFEC3FC001FEEC1FE05B17F049EC0FF8A217FC5BEE07FEA44915FFA4127FA6123F7FA2 +17FE121FA3000FED0FFC7F000716F8A26C6CEC1FF017E06C6C143F6C6CEC7FC017806D6C +EBFF0090393FE003FE90390FF80FFC6DB512F0010114C06D6C90C7FCEC0FF830517BCE3B +>54 D<EC1FF891B5FC010314C090390FF80FE090391FC003F890397F8001FC49C77E4848 +147F48481580163F484815C0000FED1FE0485AEE0FF0123FA2484815F8A317FC00FF1507 +A317FEA617FFA4007F5DA46C7E5E121FA26C6C5C12076D5C000315F76C6C14E76C6C1301 +90397F8003C7903A3FC00F87FE010FB51207010313FC010013F091C7FCA2EE0FFCA317F8 +A3EE1FF0A3D807F0EC3FE0487E486C15C0EE7F80A2EEFF005E150149495A6C48495A0180 +495A6C6C495A6DEB7FC02703FC01FFC7FC6CB55A6C6C13F8011F13E0010390C8FC30517B +CE3B>57 D<B500FE067FB5FC6E95B6FCA3C66C6D4CEBFE006D626D62011E6DEE03DFA36E +6CEE079FA26E6CEE0F1FA36E6C161EA36E6C163CA26F16781407A26E6C16F0A36E6DEC01 +E0A36E6DEC03C0A26F6CEC0780A36F6CEC0F00A36F6C141EA36F6C5CA26F6C5CA36F6C5C +A36F6D485AA36F6D485AA2706C485AA3706C48C7FCA393381FF81EA260EE0FFCA2706C5A +A3706C5AA3705BA2705BA2133F496C6E5A496C4E7E000701F84E7EB600C06DC7B7FCA317 +1E60527BD16B>77 D<903801FFC0011F13F8017F13FE3A01FE00FF80D807F0EB3FE001C0 +6D7ED80FF06D7E486C6D7E6D6D7EA26F7EA36C486D7FA2EA03E0C9FCA64AB5FC143F49B6 +FC010F138090383FF800EBFFE04813804848C7FCEA0FFC5B485A123F5B485A18F012FF5B +A35DA25D7F007F5C6D147F003F91390F3FC1E06C6C131ED80FFC90397C1FE3C02707FF01 +F0EBFF8000019038FFE00F6C6C90398007FE00903A07FC0001F834367BB43B>97 +D<EC0FFE91387FFFE049B512F8903907F801FE903A1FE0003F804948130F4948EB3FC049 +C7EA7FE0484814FF485A1207485AA24848EC7FC0A24848EC1F0093C7FCA2127FA25BA212 +FFAB127F7FA3123F6D15F0121F16016C6C15E0A26C6C14036C6CEC07C017806C6C140F6C +6DEB1F00D93FC0133ED91FF013FC903907FC03F06DB55AD9007F1380DA0FF8C7FC2C367C +B434>99 D<EB7FC0B5FCA41203C6FC137FB3A6ED03FF031F13E0037F13F89238FC07FE91 +39C3E001FFECC78002CFC77F02DE6E7E14DC14FC4A6E7E5CA25CA35CB3AD2601FFF0ECFF +F8B6D8E07FEBFFF0A43C537DD241>104 D<9039FF801F80B5EB7FF0913881FFF8913883 +E1FC91388783FE0003EB8F07C6139EEB7F9C14BC14B89138F803FC9138F000F01600A25C +A45CB3AA8048487EB612F8A427347DB32E>114 D<EB01E0A71303A41307A3130FA2131F +A2133F137F13FF5A5A001F90B512E0B7FCA326003FE0C7FCB3A71678AC16F86D6C13F0A2 +130F9138F801E001071303D903FC13C0903901FF0F806DEBFF00EC3FFCEC07F0254B7EC9 +2E>116 D E /Fi 18 117 df<BD7E1CFEF4FFE01DFCF5FF801EE01EF88AC7003F91C900 +0714FF0900810A3F800A0F807680768076807680A2777FA2771480A220C089A320E0A289 +A565A220C0A3652080A2531400A29AB55A6764525C525C525C525C0A7F91C7FC51B55A09 +0714F8097F14E094BA12800BFCC8FC1DE0651DFEF5FFC01EF894C9000114FEE1003F6D7E +0A0F800A0314F076807614FE777F7714807714C08920E07714F0A27714F8A220FC8920FE +A47714FFA96520FEA45314FCA26520F86520F05314E0655314C09AB612805215001C0752 +14FC0A7F5C0907B65AC05A1F8054C7FC1EF81EE09BC8FC1DF00AFCC9FC78767AF58A>66 +D<C0FCA48BA4C7003F02C0C8120FF3007F1C0F1C030A00801D3F8989898989A2898B1E7F +A21E3FA31E1FA28BA21E0FF207F8A5787EA4080F92C8FCA31A1FA21A3FA21A7FF101FF19 +07193F94B7FCA89438C0003F19071901F1007F1A3FA21A1FA21A0FA2F71FE01A07A2F73F +C0A61F7F97CA1380A41FFFA3541300A366A266671E0FA21E1FA21E3F1E7F545A65651D0F +651D7F0A03B5FC0A1F5C0907B6FCC0FCA567A373757AF47F>69 D<BF12FCA48AA4C7003F +02C0C8123F1B01F3003F1C07767F1C008989898989A2891F8089A289A31E7FA21FC0A21E +3FA3F20FF0A3F61FE0A49BC7FCA21A1FA31A3FA21A7FA21AFF1903190F197F94B7FCA894 +38C0007F190F190319001A7FA21A3FA21A1FA31A0FA997CBFCB3A9BB7EA86B757AF47A> +I<BA12FCA8C7001F02E0C7FCB3B3B3B3B3ACBA12FCA83E767BF548>73 +D<001FC012F8A7481FFC03F0C792C7120F92C8170002F81B1F02E01B0702801B0191C984 +491D7F491D3F491D1FA2491D0FA2491D07007F1FFEA2491D03A4491D01A700FF1FFF90CA +85A6CB1A00B3B3B3AD0203BC12C0A8787479F387>84 D<001FB900F80103B812FEA8C700 +0F4ACA6C01FCC8FC6E6E05031380725E6E99C9FC6E6F4C5A724C5A806F6E4C5A6F6E4C5A +724C5A816F6E4B5B724B5B6F606F6F93CAFC734A5A6F4E5A6F6F143F735D706E4A5A704D +5A708073495B704C5B706E4990CBFC1A80704C5A706F485AF2E03F705F716E485A716E48 +5A1AFD715E7191B55A99CCFC83715D63715D83725C878472808784728088847281728188 +A24E8188604E814E81A24E82DE3FF981067F8219F04E486C804D01C081864D496C804D01 +00814D804E6D804D48834D487F057F6E814E6D814D48834C49804C70804E834C90C87E4C +486F808A4C48814C486F81047F70814D854C48814B4970804B874D824B90CA6C804B4886 +884B4871804B4871814B4887884B4871814A49874A864C7280027F01FC87B96C0207B912 +FEA887767BF592>88 D<92381FFFFC0203B612F0023F15FE91B812C0010317F04983011F +17FE499026F0003F7F0380010780496D01018090B56E806F6E7F48717F6F6E7F86848684 +87A26C5C72806D5B6D5B6D90C8FCEB07FCEB01F090CAFCA74CB7FC93B8FC151F92B9FC14 +0F023F15F349B6EAF0030107ECFE00011F14F04914804949C7FC48B512F84814E0485C48 +5C92C8FC485B5A5C485BA3B55AA460A36E5D7E606E5D6C7F6C05FE806E6C4948806C6E01 +0715FE6C02F0D91FF8ECFFFE6C9128FE01FFF07F14FF6C91B612C06C6C4C7E6D4C7E010F +03FC1307010103F01301D9003F0280D9003F13FE020101FCCBFC58507BCE5E>97 +D<973807FFF00607B6FCA8F00003190086B3ADEE3FFF030FB512F0037F14FE4AB712C002 +0F16F04A16F8027F16FE49B539FE007FFF4902F0010790B5FC49028013014949C87E4949 +151F49498149498190B54881484A8185485C5A92CAFC5AA2485BA25AA35C5AA4B5FCAF7E +A56C7FA37EA27E807EA26C6E5D616C6E5D6C606D6D5D6F5D6D6D5D6D6D4AB67E6D01FF02 +0715FE010302C0D91FFE91B5FC6D9139FC01FFFC6D91B65A023F16E0020F5E0203160002 +0015F8031F14C0030001FCC791C7FC60797AF76C>100 D<93387FFF80030FB512FC037F +ECFF804AB712E0020716F8021F16FE027F8249B5D8F8078049DAC00014E04991C7003F7F +4901FC6E7F4949140749498249496E7F90B5488048717F4B178048844891C9FC1BC04884 +4A18E05AA27313F05AA25C5AA21BF885A2B5FCA291BAFCA51BF002FCCCFCA67EA3807EA4 +6C7FA26CF103F06FEE07F87E1A0F6C6E17F06C6E161F1BE06C6E163F6D6DEE7FC06D01FE +16FF6D6D4B13806D02C0020713006D02F0EC1FFE6D02FCEC7FFC6D913AFFE007FFF86D92 +B65A023F5F020F178002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507BCE +58>I<F37F80922603FFFC913807FFE0037FD9FFE0011F13F00203B600FC017F13F8021F +DBFF80B512FC027F04E314FE91B812F7010394B5EABFFF49DAC03FECF83F499026FC0003 +ECE07F49496D14804901E06D6C6D7E49496E13E090B505F013FE484A6E9038F81FFCF30F +F8489638FC07F098C7FC4891C86C7FA34885AB6C61A36C6E4A5BA26C61A26C6E4A5B6D60 +6D6D4A5B6D01F849B55A6D6D4991C8FC6D9026FFC03F5B4991B65A19F0495FD93F9F1680 +020303FCC9FC49C66C14E0030301FCCAFC4990CDFCA35AA280A280A28014F814FE91B812 +C06C18FF1AF01AFC6DF0FF80871BF06D856D85876D856D1A806D1AC0131F017F1AE048BC +12F05A4849C9FC4801F0040714F84801C0EE007F4849171F864890CB6C13FC86485A86A5 +6D60A26C1BF86E5F6C1BF06E5F6C6D4D13E06C01F8057F13C06C6D94B512806C01FF0403 +14006C02E0031F5B6C02FC92B55A6DD9FFE0011F5C011F91B812E00107198001014EC7FC +D9003F17F002071780DA007F03F8C8FC030002FCC9FC58727BCE61>103 +D<ECFFFEB6FCA8C67E131F7FB3AD953807FFE0067F13FE0503B612C0050F814D15F8057F +8194B77E4CD9E01F7F4CD9000780DC07F86D804C487FDC1FC0824C5A4CC8FC04FE835E6F +5A864C835EA25EA35EA493C9FCB3B3A6B8D8F007B81280A8617879F76C>I<EB01FE9038 +07FF80011F13E0497F497F90B57EA24880A24880A86C5CA26C5CA26D5B6D5B6D5B010713 +80D901FEC8FC90CAFCB1ECFFFE007FB5FCA8C67E131F7FB3B3B3A5B812C0A82A7979F836 +>I<ECFFFEB6FCA8C67E131F7FB3AE4EB7FCA8DE000F01FCC7FC070313C0070F5B4F90C8 +FC4F5AF17FF84F5A4E5B06075B4E5B4E48C9FC4E5A4E5A4D485A4D5B4D13804D90CAFC4D +5AEF7FFC4D5A4C5B4C7F4C7F5E043F7F4C7F93B67E92B7FC858585A204F98004F18004E0 +804C7E4C6C7FDBFE00814B6D8083718086718083718086727F8472808772808472808772 +8084737F877380854F14E0B8D8C007B712F8A85D787BF766>107 +D<902601FFFC912607FFE0EE3FFFB6037F01FE0303B512F00503B600C0021F14FE050F6F +027F804D03F891B712C0057F6F01038294B76C49824CD9E01F6D490100804CD900079126 +801FF8013F7FC66CDA07F86D9126C03FC06D7F011F4A486D4B487F6DDA1FC0DCE0FEC780 +4C48EEE1FC4CC8DAE3F88004FEDDF7F0834C60DBFDF8EFFFC07483DBFFF04E834C95C8FC +A24C5FA34C5FA493C95CB3B3A6B8D8F007B8D8803FB712FCA8964E79CDA1>109 +D<902601FFFC913807FFE0B6037F13FE0503B612C0050F814D15F8057F8194B77E4CD9E0 +1F7F4CD9000780C66CDA07F86D80011F4A487F6DDA1FC0824C5A4CC8FC04FE835EEDFDF8 +86DBFFF0835EA25EA35EA493C9FCB3B3A6B8D8F007B81280A8614E79CD6C>I<93381FFF +E00303B6FC031F15E092B712FC020316FF020F17C0023F17F091B5D8FC0014FC4902C001 +0F7F4991C700037F010F01FC020014C049496F7F49496F7F4B8149496F7F90B584484A6F +7F92C97E4886481B804A82481BC0A2481BE0A348497014F0A3481BF8A5B51AFCAE6C1BF8 +A46C1BF06E5EA36C1BE0A26C6D4C14C0A26C1B806F5D6C1B006C6E4B5BA26C6E4B5B6D6D +4B5B6D6D4B5B6D6D92B55A6D01FF02035C6D02C0010F5C6D02FC90B6C7FC010091B712FC +6E5F021F17E00207178002014CC8FCDA003F15F0030392C9FCDB001F13E056507BCE61> +I<902601FFFCEB07FEB691383FFFC094B512F04C14FC0407804C804C158093263FFC7F13 +C005E014E0C66CDA7F80B5FC011F4A4814F06D4A5AEDFDFC16F815FF16F0A216E07114E0 +5E7213C07213804C6D1300F007FCF001F095C8FC93CAFCA55DB3B3A3B812FCA8444E7BCD +4F>114 D<15FFA75CA55CA35CA35CA25CA25C5C91B5FCA25B5B5B131F5B90B6FC000F92 +B6FCBAFCA7D8000F91C9FCB3B3A3F01FE0AE183F6D6E14C0A2187F6D6E148018FF6D6E48 +130070485A6DECFC0F6E90B55A6E5D6E5D6E5D02035D020092C7FC033F13FC030113E03B +6E7CEC4B>116 D E /Fj 41 122 df<EA03F0EA0FFC487E487E48138014C0B5FC14E0A3 +14F0A27EA27E7EEA0FFDEA03F1EA00011303A214E0A21307A214C0130F1480131F14005B +137E13FE5B485A485A120F485A5B6CC7FC1206142977D225>39 D<EA03F0EA0FFC487E48 +7E481380A2B512C0A314E0A37EA27E7E7EEA03F3EA0003A2130714C0A3130F1480131FA2 +EB3F00A2137EA25B485A1203485A485A485A5B6CC7FC12061329779125>44 +D<EA03F0EA0FFC487E487E481380A2B512C0A66C1380A26C13006C5A6C5AEA03F0121277 +9125>46 D<177E17FF5E5EA25E5E5E5EA25E93B5FC5D5DA25D5D5DED3FBFA2ED7F3F15FE +EC01FC15F81403EC07F0EC0FE0EC1FC01580143FEC7F0014FE495AA2495A495A495A495A +A2495A49C7FC13FE5B1201485A485A485A5B121F485A48C8FC12FEBA12C0A6C96C90C7FC +AE020FB712C0A63A4E7CCD43>52 D<EA1F807F7FEBFFC091B81280A548180060A2606060 +6060A2485F0180C890C7FC90C8485A4C5A007E5E16074C5A4C5A4C5A484B5A94C8FC5E4B +5AC8485A4B5AA24B5A151F5E153F4B5AA215FF5E5CA24A90C9FCA25CA25C5D141FA3143F +A3147F5DA314FFA65BAB6D5BA26E5A6E5AEC0F80395279D043>55 +D<EF3F804D7EA24D7EA34C7FA24C7FA34C7FA24C7FA34C7FA24C80A34C80A24C6C7FA24C +7E03018116FC03036D7FA24C7E03078116F0030F6D7FA24C7E031F8116C083033F824C7E +037F8293C7FC844B824B800201835D840203834B800207835D84020F8392B8FC4A83A34A +84A2DA7F80C880A292C97E4A845C0101717FA24A820103855C0107717FA24A82010F855C +496C707FB600FC021FB712E0A65B537BD266>65 D<BA12C019FEF1FFC01AF01AFC1AFFD8 +000701F8C7000380060080073F7F737F737F85878587A28587A86361A24F5B6361634F5B +077F5B96B55A060349C7FC061F13F892B812E097C8FC861AF81AFE03F8C86D7E071F13E0 +737F070313FC737F87851C807413C0A27413E0A31CF0A386A362A31CE0A2621CC097B5FC +1C80614F14004F5B61073F5B4EB512F0BC5A1B8098C7FC1AF81AC007F8C8FC54527CD160 +>I<932603FFFCEC03C0047FD9FFC013070307B600F8130F033F03FE131F92B8EA803F02 +03EFC07F020FDAF001EBF0FF023F49C7EA3FF94A01F0020FB5FC49B500C014034991C9FC +4901FC824949824901E08249498249498290B5CA7E5A4A835A4A83485B481A7FA2484918 +3FA3485B1B1FA25AA298C7FC5CA2B5FCAE7EA280A2F30FC07EA36C7FA21B1F6C6D1980A2 +6C6D183F7E6E19006C626E18FE6C806D4E5A6D6D4C5A6D6D16076D01F84C5A6D6D4C5A6D +01FFEE7FC06D02C04B5A6D6C01F0020390C7FC6E01FEEC1FFE020F903AFFF001FFF80203 +91B65A020017C0033F93C8FC030715FCDB007F14E0040301FCC9FC525479D261>I<BA7E +19FCF1FF801AF01AFC1AFFD8000701F8C7000F14C0060080071F13F807077F737F07007F +747F747F86747F747F8886888688A2747FA3751380A31DC0A51DE0A287AB63A21DC0A51D +80A298B5FC1D00A3505BA26462505B6462505B505B505B97B5C7FC4F5B07075B071F5B96 +B55A060F14C0BCC8FC621AF01AC007FCC9FC19805B527CD167>I<BC1280A51BC0D80007 +01FCC71203F0003F190F190385851A7F1A3F1A1F1BE01A0FA31A07A318FCA21BF01A03A4 +050191C7FCA317031707170F177F92B6FCA69238FC007F170F170717031701A21B7E1700 +A21BFCA595C71201A21BF8A21A03A31A071BF01A0FA21A1F1A3F1A7F1AFF070313E06119 +3F0603B5FCBCFCA31BC0A34F517CD058>I<932603FFFCEC03C0047FD9FFC013070307B6 +00F8130F033F03FE131F92B8EA803F0203EFC07F020FDAF001EBF0FF023F49C7EA3FF94A +01F0020FB5FC49B500C014034991C9FC4901FC824949824901E08249498249498290B5CA +7E5A4A835A4A83485B481A7FA24849183FA3485B1B1FA25AA298C8FC5CA2B5FCAE6C94B8 +12E0A280A37E95C76CEBC000A26C7FA36C7FA26C7F7E807E806C807F6D7F6D7F6D01F893 +B5FC6D7F6D01FF5D6D02C05C6D6C01F05C6E01FE141F020F903AFFF001FFF3020391B612 +E10200EFC07F033FEE001F030703FC1307DB007F02E01301040349CAFC5B5479D26A>71 +D<B812E0A6D8000701FCC7FCB3B3B3B0B812E0A62B527DD132>73 +D<B800E049B612F8A6D8000701FCC90003EB80007490C7FCF203FC505A505AF23FE0505A +505A4F90C8FCF103FC4F5A4F5AF13FE04F5A4F5A4E90C9FCF003FC4E5A4E5AF03FE04E5A +4E5A4D90CAFCEF03FC4D5A4D5AEF3FF84D7E17FF4C7F4C7F4C805E043F804C8093B6FC03 +FD6D7F9226FFFE3F7FDCF81F7F4C7E04E0804C6C7F4C6C804C7E4B824B6D808486727F72 +7F8486727F7280848772808587737F737F8587737F8588738073808688B800E090B712FE +A65F527CD169>75 D<B812FCA6D8000701FCCAFCB3B3A71AFCA5F101F8A51903A31907A3 +F10FF0A2191F193F197F19FF6060180F183F0503B5FCBB12E0A646527CD151>I<BAFC19 +F819FF1AC01AF01AFCD8000701F8C7001F7F0603EBFF80060014C0073F13E07313F0851B +F8851BFCA27313FEA31BFFA91BFEA34F13FCA21BF8611BF04F13E04F13C096B512800603 +1400061F5B92B812F8621A804FC7FC19E003FCCBFCB3ACB812E0A650527CD15C>80 +D<003FBC1280A69126E0007FEBC0004848C7040F13C001F818034984498449197F49193F +A290C8171FA3007E1A0FA500FE1BE0481A07A6C994C7FCB3B3AA49B912F0A653517BD05E +>84 D<B800E00107B612FCA6D8000701FCCA387FC000755AB3B3B16D197F99C7FC81A26D +19FEA26D6D1601636E17036E6D4B5A636E6D151F6E6D4B5A6E01F8EDFFC06E6D02035B02 +00D9FF80010F90C8FC6F9039F001FFFE6F90B612F8030F5E030316C0DB007F92C9FC040F +14F8DC007F13805E537CD167>I<B8033FB512FEA6D8001F01F8CA381FF8006DF10FE06F +171FA26D6D601B3F6D6D601B7F6D97C7FC705EA26D6E5E1A016E6D5E1A036E60701507A2 +6E6D5E1A0F6E6D5E1A1F6E6070153FA26E6D5E1A7F6E6E92C8FC62A26E6E495AA26F6D5C +19036F5E711307A26F6D495AA26F6D5C191F6F5E71133FA26F6D5C197F6F028090C9FC61 +6F5D18C1A270EBE1FC18E370EBF3F818F7705C18FFA2705CA2705CA2705CA37091CAFCA2 +705BA2715AA3715AA2715AA2715A5F537DD166>I<B700FE90B700FE49B612F0A6D8003F +01F0C8003F01F0C9383FE0006D71F01F80876F1C3F6D7196C7FC6F8373606D1E7E6F7116 +FE6D7160876F1B016D7160704A801F036D66704A6E14076E6588704A170F6E65704A8008 +9F161F6E6570023F6E143F6E050F94C8FC8870027F5F6EDC7E07167E7002FE801FFE6E4C +6C5E7001016F13014F7E6E08805BDD800317036E4C6C5EDDC00716C01E076F4B6D5DDDE0 +0FEEE00F4F7F6F07F05BDDF01F171F6F4B6D5D05F817F8063F173F6F92C76C92C9FC7148 +16FC067E6E5C6FF1FE7EDDFEFE17FE6F4A6E5C05FF17FFA26F4A6E5CA24E806F62A27049 +6F5BA370496F5BA24E817061A27090C96C90CAFCA37048705AA24D1603040360A2704870 +5A84537DD18B>I<003FB7D8C007B7FCA6D800030280C7000101C0C7FC706E90C8FC6D6E +5C6D4D5A6E6D5D704A5A6E160F6E6D4A5A705D6E163F6E6D4A5A71495A6E94C9FC6E6E5A +6E6E485A05F05B6F4A5A6FEBF80F71485A6F5D6FEBFE3F71485A6F4A5A6F92CAFCA26F5C +6F5C705BA282707F8482707F858285854C805E4C80855EDC7FCF7FDCFF8F7F17074B6D80 +DB03FE814C7E03076D804B486D7F4B48814C7F033F6E7F4B48814B487F93C76C7F4A844A +48804B6E800207844A486E804A48814B6F7F023F844A48814B6F7F4AC980498301076D6F +80B700C00107B712F8A65D527CD166>I<91383FFF800107B512F8011F14FF017F15C090 +B77E48D9E00713F848D980017F486D6C6C7E707E487F707F8284A2707F6C5BA26C5BC648 +C7FC90C8FCA40303B5FC0203B6FC143F0103B7FC130F017FEBFC0790B512C00003EBFE00 +4813F84813E0485B485B91C7FC485AA212FF5BA35EA27F007F5D5E6D5C6C6D01FD13FC6C +9026C003F9EBFFE06C9026F81FF014F06C90B5487E00014B7E6CED001F011F01FC010713 +E0010101C090C8FC3C387CB641>97 D<913801FFF8021FEBFF8091B612E0010315F8010F +81499038C01FFE903A7FFE0007FF49484913804813F048494913C0A2485B5A5C5A91C76C +13805A70130048ED01FC4991C8FCA312FFAD127F7FA27EA26EEC07E07E6E140F6C17C06C +6D141F18806C6D143F6C6DEC7F006C01FE14FE903A7FFF8003FC6D9038F01FF8010F90B5 +5A01035D01001580023F49C7FC020113E033387CB63C>99 D<943801FFC00407B5FCA6EE +001F1707B3A3913803FFC0023F13FC49B6FC010715C74915F7013FD9E03FB5FC49EB0007 +D9FFFC13014801F06D7E48498048498083485B5A91C8FC5AA3485AA312FFAD127FA37F7E +A27E806C5EA26C6D5C6C6D5C6C6D91B5FC6C6D010314F0D97FFE010FECFFC090393FFFC0 +7F6D90B512CF0107158F0101ECFE0F6D6C13F80207018049C7FC42547CD24B>I<913803 +FFC0023F13FC49B6FC010715C04981013F01817F903A7FFC007FF8D9FFF0EB1FFC48496D +7E486F7E485B4A6D13805A486F13C091C7FC4817E0A282485A18F0A312FFA290B8FCA418 +E049CAFCA5127FA37F7EA26CEE01E06EEC03F07E6E14076C17E06C6D140F6CEE1FC06C01 +F8EC3F806D6CECFF006DB4EB03FE6D9038E01FFC6D90B55A01035D010015C0021F49C7FC +020113F034387CB63D>I<ED0FFE4AB51280020714E0021F14F0027F14F89139FFFC3FFC +0103EBE07F4901C013FEED00FF5B495AA2495AA24948EB7FFCEE3FF8EE1FF0EE0FE093C7 +FCADB712E0A626007FFCC8FCB3B3A5007FB6FCA62F547CD329>I<DA3FFF14FF49B5D8E0 +071380010FDAFC3F13C0013FDAFF7F13E04992B512F09026FFF807143F48D9E001EBF87F +48903A80007FF03F4816F84890C7D83FFC13E0F01FC0489338FE078049021F90C7FCA200 +3F82A8001F5EA26D143F6C5EA26C6D495A6C5E6C9039E001FFE06CD9F8075B4890B65A48 +93C8FC01EF14FCD807E114E0D9C03F90C9FC000F90CBFCA37FA27F7F13FE90B7FC17F817 +FF6C17C0846C83846C836C83488312074818804848C71203D83FF8EC003F4848030F13C0 +1703485A83A56D5D007F18806D5D6C6C4B13006C6C4B5A6C6C6CEC7FFC6C01E049485A6C +01FE011F5B6C90B75A6C6C1680010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543> +I<EB3FF8B5FCA61203C6FCB3A3EE1FFE93B512C0030314F0030F804B80DB3FE07F92397F +003FFF15FCDAF9F06D7FECFBE0ECFFC0717F5D92C7FCA25CA45CB3ABB6D8FC0FB612C0A6 +42537BD24B>I<133FEBFFC0487F487F487FA2487FA66C5BA26C5B6C5B6C5B013FC7FC90 +C8FCACEB1FF8B5FCA612017EB3B3A4B612F0A61C547BD326>I<EB3FF8B5FCA61203C6FC +B3A40407B512F8A69339007FF00018C04D5A4C90C7FC4C5AEE0FF84C5A4C5A4C5A4C5ADB +03FEC8FC4B5A4B5A4B5A157F4B7E02F97F14FB91B57E828315DF039F7F030F7FDAFC077F +4A7E836F7F6F7F707EA2707F707F707F8284707F707F8284717EB6D8F807B6FCA640537C +D247>107 D<EB1FF8B5FCA612017EB3B3B3AFB612F8A61D537BD226>I<D93FF8D91FFEED +FFF0B591B500E0010713FF030302F8011F14C0030F6E017F804B6E90B67E92283FE07FFF +0101037F92267F001F902683F8007F000302FCED87E0C6D9F9F86DD9CFC06D7EDAFBE003 +DFC7FC02FF16FF4B6D496E7E4B5D92C75CA34A5EA34A5EB3ABB6D8FC07B6D8E03FB6FCA6 +68367BB571>I<D93FF8EB1FFEB591B512C0030314F0030F804B80DB3FE07F92397F003F +FF000314FCC6D9F9F06D7FECFBE0ECFFC0717F5D92C7FCA25CA45CB3ABB6D8FC0FB612C0 +A642367BB54B>I<913801FFE0021F13FE91B612C0010315F0010F15FC499038807FFE90 +3B7FFC000FFF8049486D7F4801E001017F48496D7FA248496E7E488391C8123F4883A248 +834981A2007F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA26C6D4A5AA26C6D +4A5A6C5F6C6D495B6C01F801075B6D6C495B90273FFF807F90C7FC010F90B512FC6D5D01 +0015C0023F91C8FC020113E03A387CB643>I<D93FF8EB7FF8B50107B57E033F14E092B6 +12F802F915FE91B500807F9226F8003F7F000102E0010F7F6C4A6D7F92C76C7F4A6E7F4A +828385187F85A2721380A47213C0AD4E1380A31A0060A26118FF616E4A5B6E5C4D5B03C0 +495B6F495B03F8017F5BDBFF01B5C7FC02FD90B512FC02FC15F0033F14C0030F91C8FC03 +0013F093CAFCB0B612FCA6424D7CB54B>I<90393FF007FCB590381FFF80037F13E092B5 +12F002F114F89238FC7FFCECF3F000039039F7E0FFFEC65CECFF80A25DA24AEB7FFCA2EE +3FF84AEB0FE093C7FCA45CB3A9B612FEA62F367CB537>114 D<903903FFF00F013FEBFE +3F90B7FC5A120748EB003FD81FF81307D83FE07F491300127F4980A200FF81A27FA27F01 +F891C7FC13FF14F06CEBFFC015FCEDFF806C15E06C816C816C15FE6C816C16806C7E011F +15C0010715E0EB003F1401DA000F13F01503007C140000FC157F163F7E161FA27E17E07F +6D143F6D15C06D147F6DECFF8001FE010313009039FFC01FFE91B55A6D5CD8FE1F14E0D8 +F807148048C601F8C7FC2C387CB635>I<147EA614FEA41301A31303A21307A2130F131F +133F137F13FF1203000F90B6FCB8FCA5C66C48C8FCB3A8EE0FC0AB013FEC1F8080163F6D +018013005E6DEBE0FE6DEBFFFC6D5C01005C023F13C0020790C7FC2A4D7ECB34>I<D91F +FC913801FFC0B5020FB5FCA60003ED003FC6160FB3AD5FA35FA25F017F92B5FCA26D6CD9 +03F713F06ED907E7EBFFC06D9038C03FC76D90B512876D1507010114FE6D6C13F8020701 +C091C7FC42377BB54B>I<B600F8010FB5FCA6C649C8EA7F8019006D6C157E18FE6D5E6F +13016D5E6F1303A26D6D5C17076D6D5C170F6D5E6F131F6D5E6F133F6D93C7FC6F5BA26E +6C137E17FE6E5C16816E5C16C36E5C16E7A26EEBF7E016FF6E5CA26E5CA26E91C8FCA36F +5AA26F5AA26F5AA26F5AA26F5A40357DB447>I<B600F0B6D8C007B512C0A6000101FCC7 +01F0C7381FE0006C716E5AA26E027F151F017F705D6E023F153F6D7092C7FC177F6F5F6D +92B5147E6F17FE6D715B5E03E016016D4A02C05B03F016036D03F301E05B160703F801E1 +14076D020F02F05B03FC160F05C013F86D021F5E03FED9807F131F027F04FC5BDBFF3F15 +3F9438003FFE6E4993C8FC04FE011F5B6EEEFF7E1AFE4C7F6E5F4C7F6E5FA24C7F6E5F4C +7F6E5FA24C7F6E5F4C147F037F5EA26FC86CC9FC5A357DB461>I<B600F8010FB5FCA6C6 +49C8EA7F8019006D6C157E18FE6D5E6F13016D5E6F1303A26D6D5C17076D6D5C170F6D5E +6F131F6D5E6F133F6D93C7FC6F5BA26E6C137E17FE6E5C16816E5C16C36E5C16E7A26EEB +F7E016FF6E5CA26E5CA26E91C8FCA36F5AA26F5AA26F5AA26F5AA35EA25E151F5E153FD8 +1FE091C9FC486C5B486C137E15FE487E4A5A5D14034A5A49485A007F131F9038F07FC039 +3FA1FF8090B5CAFC6C13FC6C5B000313E0C690CBFC404D7DB447>121 +D E end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%PaperSize: a4 + +%%EndSetup +%%Page: 1 1 +1 0 bop 1090 44 a Fj(The)44 b(UK)i(T)1690 71 y(E)1760 +44 y(X)f(Users)g(Group)965 238 y Fi(T)1068 276 y(E)1170 +238 y(X)65 b(and)f(the)h(In)-5 b(ternet)107 446 y Fj(Benefactor's)46 +b(Lounge,)f(Univ)l(ersit)l(y)g(of)g(W)-11 b(arwic)l(k,)45 +b(Co)l(v)l(en)l(try)-11 b(,)46 b(UK.)1592 559 y(CV4)f(7AL)1424 +750 y Fh(Marc)m(h)38 b(20th,)f(1996)1270 979 y Fi(Bo)5 +b(oking)64 b(F)-16 b(orm)0 1266 y Fj(Bo)t(oking)44 b(Arrangemen)l(ts)0 +1390 y Fg(F)-8 b(or)37 b(mem)m(b)s(ers)e(of)h(the)h(UK)f(T)1057 +1410 y(E)1107 1390 y(X)g(Users)g(Group,)h(there)f(is)f(a)i(c)m(harge)g +(of)f Ff($)p Fg(35,)j(whic)m(h)c(includes)e(a)k(bu\013et)0 +1503 y(lunc)m(h)29 b(and)h(refreshmen)m(ts.)40 b(F)-8 +b(or)31 b(non-mem)m(b)s(ers,)f(the)g(c)m(harge)i(is)d +Ff($)p Fg(45.)0 1790 y Fj(Bo)t(oking)44 b(Details)0 1959 +y Fg(Please)31 b(register)f(me)g(for)g(the)h(meeting:)0 +2117 y(Name:)p 295 2117 3450 4 v 0 2276 a(Organisation:)p +577 2276 3169 4 v 0 2434 a(Address:)p 383 2434 3363 4 +v 0 2592 3745 4 v 0 2750 V 0 2908 a(T)-8 b(elephone:)p +467 2908 1399 4 v 1620 w(Email:)p 2346 2908 V 1205 3144 +a(P)m(a)m(ymen)m(t)32 b(enclosed)e(\()p Ff($)p Fg(35,)i(or)e +Ff($)p Fg(45\))2202 3302 y(Signed:)p 2709 3353 1036 4 +v 2274 3460 a(Date:)p 2709 3511 V 0 3679 a Fj(P)l(a)l(ymen)l(t)45 +b(Address)0 3804 y Fg(Please)36 b(return)e(to)i(the)f(address)g(b)s +(elo)m(w.)55 b(Email)34 b(and)g(fax)i(registrations)f(are)g +(acceptable,)j(but)d(m)m(ust)g(b)s(e)0 3917 y(follo)m(w)m(ed)30 +b(b)m(y)g(hard-cop)m(y)h(con\014rmation)e(\(with)h(c)m(heque\))h(or)f +(include)f(a)h(request)h(for)f(an)g(in)m(v)m(oice.)1222 +4101 y(UK)g(T)1442 4121 y(E)1492 4101 y(X)g(Users)g(Group)1222 +4214 y(c/o)h(P)m(eter)h(Abb)s(ott)1222 4327 y(1)e(Eymore)h(Close)1222 +4440 y(Selly)d(Oak)1222 4553 y(Birmingham)1222 4666 y(B29)j(4LB)0 +4846 y(An)m(y)f(enquires)f(ab)s(out)h(the)h(arrangemen)m(ts)g(should)d +(b)s(e)i(addressed)g(to:)1222 5026 y(Malcolm)g(Clark)1222 +5139 y(Computing)e(Services)1222 5252 y(Univ)m(ersit)m(y)h(of)i(W)-8 +b(arwic)m(k)1222 5364 y(Co)m(v)m(en)m(try)1222 5477 y(CV4)30 +b(7AL)1222 5590 y(Email:)39 b Fe(m.clark@warwick.ac.uk)p +eop +%%Page: 2 2 +2 1 bop 1242 44 a Fj(T)1314 71 y(E)1385 44 y(X)44 b(and)h(the)g(In)l +(ternet)0 257 y Fg(The)40 b(meeting)g(will)e(co)m(v)m(er)k(man)m(y)e +(asp)s(ects)g(of)h(T)1725 276 y(E)1775 257 y(X's)f(in)m(teraction)g +(with)f(other)i(metho)s(ds)e(of)i(electronic)0 370 y(comm)m(unication) +30 b(on)g(the)h(in)m(ternet.)136 582 y Fd(\017)46 b Fg(Registration)30 +b(from)g(9.30)17 b(am.)136 770 y Fd(\017)46 b Fg(First)30 +b(talk)g(sc)m(heduled)f(10.30)18 b(am.)136 957 y Fd(\017)46 +b Fg(Meeting)31 b(closes)g(5)15 b(pm.)136 1170 y Fd(\017)46 +b Fc(LaT)-9 b(eX2HTML)30 b Fg(\(Mic)m(hel)g(Go)s(ossens\))227 +1320 y(LaT)-8 b(eX2HTML)32 b(is)d(a)i(suite)f(of)g(p)s(erl)f +(programmes)h(for)g(con)m(v)m(erting)h(L)2640 1303 y +Fb(A)2679 1320 y Fg(T)2730 1340 y(E)2781 1320 y(X)f(do)s(cumen)m(ts)g +(to)h(HTML,)227 1433 y(the)i(`nativ)m(e')g(markup)e(of)i(the)g(W)-8 +b(orld)32 b(Wide)g(W)-8 b(eb.)48 b(Originally)29 b(written)i(b)m(y)i +(Nik)m(os)f(Drak)m(os)i(it)e(has)227 1546 y(recen)m(tly)e(b)s(een)e +(re-released)i(b)m(y)f(Herb)g(Sw)m(an.)39 b(This)28 b(talk)h(will)e +(giv)m(e)i(a)h(general)f(in)m(tro)s(duction)e(to)j(the)227 +1659 y(use)g(and)g(customisation)g(of)g(this)g(to)s(ol.)136 +1847 y Fd(\017)46 b Fc(HTML3)35 b(maths)29 b Fg(\(Malcolm)i(Clark\))227 +1997 y(The)c(expired)e(draft)h(of)h(the)g(HTML3)g(`prop)s(osal')f(con)m +(tained)h(markup)f(for)g(mathematics,)i(This)d(w)m(as)227 +2110 y(claimed)39 b(to)h(b)s(e)f(based)h(on)f(L)1245 +2093 y Fb(A)1284 2110 y Fg(T)1335 2129 y(E)1386 2110 +y(X.)68 b(The)39 b(talk)h(will)d(outline)h(the)i(range)g(of)g +(structures)f(a)m(v)-5 b(ailable)227 2223 y(within)32 +b(this)i(prop)s(osal,)h(indicating)d(that)j(they)g(are)g(far)g(remo)m +(v)m(ed)h(from)e(L)2841 2206 y Fb(A)2880 2223 y Fg(T)2931 +2242 y(E)2981 2223 y(X.)54 b(This)33 b(suggests)i(a)227 +2336 y(limited)h(understanding)f(of)j(T)1309 2355 y(E)1359 +2336 y(X)f(and)h(L)1673 2319 y Fb(A)1712 2336 y Fg(T)1763 +2355 y(E)1813 2336 y(X)g(b)m(y)f(k)m(ey)i(w)m(ork)m(ers)f(in)e(the)i +(HTML3)g(area.)64 b(Besides)227 2448 y(highligh)m(ting)36 +b(the)i(inadequacies,)i(w)m(e'll)e(b)s(e)f(asking)h(the)h(questions)e +(\\ho)m(w)i(do)f(w)m(e)h(put)f(it)g(righ)m(t?")227 2561 +y(and,)29 b(if)f(time)g(p)s(ermits)f(\\what)i(do)f(w)m(e)i(w)m(an)m(t)f +(out)g(of)g(HTML)f(maths)h(enco)s(ding?")39 b(An)m(y)29 +b(other)g(spare)227 2674 y(time)h(will)e(b)s(e)i(sp)s(en)m(t)g(solving) +f(k)m(ey)i(w)m(orld)e(issues.)136 2862 y Fd(\017)46 b +Fc(T)-9 b(o)35 b(Be)h(Announced)31 b Fg(\(Y)-8 b(annis)30 +b(Haralam)m(b)s(ous\))227 3012 y(Y)-8 b(annis)25 b(is)g(w)m(ell)g(kno)m +(wn)g(as)h(a)g(pro)s(ducer)f(of)h(b)s(eautiful)d(fon)m(ts,)k(and)e(as)h +(co-author,)i(with)d(John)g(Plaice,)227 3125 y(of)31 +b(the)f(Omega)h(system,)g(an)f(extended)h(v)m(ersion)f(of)g(T)2098 +3145 y(E)2148 3125 y(X)h(based)f(on)g(the)h(Unico)s(de)e(enco)s(ding.) +136 3313 y Fd(\017)46 b Fc(The)35 b(CT)-9 b(AN)34 b(Arc)m(hiv)m(es)e +Fg(\(Robin)d(F)-8 b(airbairns\))227 3463 y(The)30 b(Comprehensiv)m(e)e +(T)1096 3483 y(E)1146 3463 y(X)i(Arc)m(hiv)m(e)g(Net)m(w)m(ork)h(\()p +Fa(ct)-6 b(an)p Fg(\))29 b(is)g(a)h(set)h(of)f(arc)m(hiv)m(es)g(that)g +(aim)f(to)i(k)m(eep)f(a)227 3576 y(consisten)m(t)25 b(set)h(of)f(T)930 +3596 y(E)980 3576 y(X-related)g(go)s(o)s(dies.)38 b(Managemen)m(t)27 +b(of)e(the)g(arc)m(hiv)m(es)g(\(and)g(\014elding)e(questions)227 +3689 y(ab)s(out)28 b(them\))h(is)f(.)15 b(.)g(.)44 b(in)m(teresting;)29 +b(the)g(talk)f(will)e(co)m(v)m(er)k(what)e(they)h(do,)g(what)f(they)h +(could)e(do,)i(and)227 3802 y(wh)m(y)h(they)h(don't.)136 +3989 y Fd(\017)46 b Fc(Acrobat,)36 b(T)718 4010 y(E)772 +3989 y(X)f(and)g(the)g(W)-9 b(eb)30 b Fg(\(Sebastian)g(Rah)m(tz\))227 +4140 y(Most)h(W)-8 b(eb)30 b(observ)m(ers)f(see)i(the)e(need)h(for)f(a) +h(w)m(a)m(y)g(of)g(deliv)m(ering)d(prop)s(erly)h(t)m(yp)s(eset)i(pages) +g(for)f(some)227 4253 y(applications,)36 b(and)g(Adob)s(e)f(Acrobat)i +(is)f(the)g(b)s(est)f(format)i(w)m(e)g(ha)m(v)m(e.)59 +b(Ho)m(w)36 b(do)g(w)m(e)h(comp)s(ose)f(the)227 4365 +y(pages?)54 b(T)592 4385 y(E)642 4365 y(X)34 b(is)g(a)g(natural)g(answ) +m(er,)i(with)d(its)h(excellen)m(t)g(maths)h(\(often)g(the)g(reason)f +(for)h(w)m(an)m(ting)227 4478 y(PDF)j(pages\),)h(fon)m(t)e(and)f +(language)h(supp)s(ort.)58 b(But)37 b(Acrobat)h(is)e(more)g(than)h +(page)g(images,)i(with)227 4591 y(supp)s(ort)30 b(for)h(h)m(yp)s +(ertext)h(links,)e(searc)m(hing)h(and)g(so)h(on;)g(ho)m(w)f(do)h(w)m(e) +g(harness)e(these)i(features)g(from)227 4704 y(T)278 +4724 y(E)328 4704 y(X?)55 b(W)-8 b(e)37 b(will)32 b(review)j(the)g(mec) +m(hanisms)f(for)h(passing)f(on)h(all)f(the)i(ric)m(h)e(information)f +(set)j(L)3536 4687 y Fb(A)3575 4704 y Fg(T)3626 4724 +y(E)3677 4704 y(X)227 4817 y(is)31 b(capable)h(of)g(describing,)f +(problems)f(w)m(e)i(migh)m(t)g(encoun)m(ter,)h(and)e(the)h(direction)f +(Acrobat)i(migh)m(t)227 4930 y(tak)m(e.)p eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/usergrps/uktug/baskervi/6_1/form2.tex b/usergrps/uktug/baskervi/6_1/form2.tex new file mode 100644 index 0000000000..2d073ca301 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/form2.tex @@ -0,0 +1,173 @@ + +\documentclass[11pt,a4paper]{article} + +\pagestyle{empty} + +\advance \textwidth 3.2cm +\textheight 28cm +\topmargin -1.5cm +\oddsidemargin 0cm + +\parindent 0pt + +\newcommand{\uktug}{the UK \TeX\ Users Group} +\newcommand{\Uktug}{The UK \TeX\ Users Group} +\newcommand{\ukug}{UK \TeX\ Users Group} + +\newcommand{\ruled}[1]{\makebox[\textwidth]{#1\leaders\hrule\hfill}} +\newcommand{\partruled}[2] + {\makebox[\textwidth]{#1\leaders\hrule\hfill + \qquad #2\leaders\hrule\hfill}} + +\newcommand{\daytitle}{\TeX\ and the Internet} +\newcommand{\where}{Benefactor's Lounge, University of Warwick, +Coventry, UK. CV4 7AL} +\newcommand{\when}{March 20th, 1996} + +\setcounter{secnumdepth}{0} + +\begin{document} +\begin{center} +\textbf{\Large The UK \TeX\ Users Group} + +\vspace{1ex} +\textbf{\huge\daytitle} + +\vspace{2ex} +\textbf{\Large\where} + +\vspace{2ex} +{\Large \when} + +\vspace{2ex} +\textbf{\huge Booking Form} +\end{center} +%\vspace{1cm} +\section{Booking Arrangements} +\vspace{-2ex} + For members of \uktug{}, there is a charge of \pounds35, +which includes a buffet lunch and refreshments. +For non-members, the charge +is \pounds45. + +\section{Booking Details} +\vspace{-2ex} +Please register me for the +meeting: +{\renewcommand{\baselinestretch}{1.4}\Huge\normalsize + +\ruled{Name: } +\ruled{Organisation: } +\ruled{Address: } +\ruled{} +\ruled{} +\partruled{Telephone: }{Email: } + + +\begin{flushright} +\begin{tabular*}{0.75\textwidth}{@{\extracolsep{\fill}}llp{0.25\textwidth}} + &Payment enclosed (\pounds 35, or \pounds 45) &\\ + &\multicolumn{1}{r}{Signed:}&\\ \cline{3-3} + &\multicolumn{1}{r}{Date:} &\\ \cline{3-3} +\end{tabular*} +\end{flushright} +} +\vspace{-4ex} + +\section{Payment Address} +\vspace{-2ex} +Please return to the address below. Email and fax registrations are +acceptable, but must be followed by hard-copy confirmation (with cheque) +or include a request for an invoice. +\begin{center} +\begin{tabular}{l} +\ukug\\ +c/o Peter Abbott\\ +1 Eymore Close\\ +\rlap{Selly Oak}\phantom{Email: \texttt{m.clark@warwick.ac.uk}}\\ + Birmingham\\ + B29 4LB +\end{tabular} +\end{center} + +Any enquires about the arrangements should be addressed to: +\begin{center} +\begin{tabular}{l} +Malcolm Clark\\ +Computing Services\\ +University of Warwick\\ +Coventry\\ +CV4 7AL\\ +Email: \texttt{m.clark@warwick.ac.uk} +\end{tabular} +\end{center} +\newpage + +\begin{center} +\textbf{\Large\daytitle} +\end{center} + + +The meeting will cover many aspects of \TeX's interaction with other +methods of electronic communication on the internet. + +\begin{itemize} +\item Registration from 9.30\,am. +\item First talk scheduled 10.30\,am. +\item Meeting closes 5\,pm. +\end{itemize} + + + +\begin{itemize} +\item \textbf{LaTeX2HTML} (Michel Goossens) + +LaTeX2HTML is a suite of perl programmes for converting \LaTeX\ +documents to HTML, the `native' markup of the World Wide Web. +Originally written by Nikos Drakos it has recently been re-released by Herb +Swan. This talk will give a general introduction to the use and +customisation of this tool. + +\item \textbf{HTML3 maths} (Malcolm Clark) + +The expired draft of the HTML3 `proposal' +contained markup for mathematics, This was claimed to be based +on \LaTeX. The talk will outline the range of structures +available within this proposal, indicating that they are far +removed from \LaTeX. This suggests a limited understanding +of \TeX\ and \LaTeX\ by key workers in the HTML3 area. Besides +highlighting the inadequacies, we'll be asking the questions ``how do +we put it right?'' and, if time permits ``what do we want out +of HTML maths encoding?'' Any other spare time will be spent solving +key world issues. + +\item\textbf{To Be Announced} (Yannis Haralambous) + +Yannis is well known as a producer of beautiful fonts, and as +co-author, with John Plaice, of the Omega system, an extended version +of \TeX\ based on the Unicode encoding. + +\item \textbf{The CTAN Archives} (Robin Fairbairns) + +The Comprehensive \TeX{} Archive Network (\textsc{ctan}) is a set +of archives that aim to keep a consistent set of \TeX-related goodies. +Management of the archives (and fielding questions about them) is +\dots\ interesting; the talk will cover what they do, what they could +do, and why they don't. + +\item \textbf{Acrobat, \TeX\ and the Web} (Sebastian Rahtz) + +Most Web observers see the need for a way of delivering properly +typeset pages for some applications, and Adobe Acrobat is the best +format we have. How do we compose the pages? \TeX\ is a natural +answer, with its excellent maths (often the reason for wanting PDF +pages), font and language support. But Acrobat is more than page +images, with support for hypertext links, searching and so on; how do +we harness these features from \TeX? We will review the mechanisms for +passing on all the rich information set \LaTeX\ is capable of +describing, problems we might encounter, and the direction Acrobat +might take. +\end{itemize} +\end{document} + + diff --git a/usergrps/uktug/baskervi/6_1/texc.pro b/usergrps/uktug/baskervi/6_1/texc.pro new file mode 100644 index 0000000000..e19cb18503 --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/texc.pro @@ -0,0 +1,59 @@ +%! +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id +ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ +rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get +/gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp +X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X +adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup +255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} +B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv +S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] +}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end diff --git a/usergrps/uktug/baskervi/6_1/yhcmex10.tfm b/usergrps/uktug/baskervi/6_1/yhcmex10.tfm Binary files differnew file mode 100644 index 0000000000..ed102061dc --- /dev/null +++ b/usergrps/uktug/baskervi/6_1/yhcmex10.tfm |