÷ƒ’À;è TeX output 1999.02.25:1531‹ÿÿÿÿòý! /XYdict where not{250 dict /XYdict exch def /xy{mark exch XYdict begin countdictstack /xylevel exch def xyopen xycolor mark xypatt xypattern stopped xyclose end cleartomark}def /xyg{gsave xy}def /xyf{currentfont exch xy grestore setfont}def /xycc{{xychgcol}xy}def /xyc{XYdict begin xycolstore end}def /xyx{/xyYpos exch def /xyXpos exch def}def /xyp{currentpoint xyx}def /xyd{setupDirection XYdirection 2 mul}def /xyct{currentpoint xyt 2 copy 6 2 roll}def /xyt{xyXpos xyYpos 2 copy translate}def /xyr{neg rotate xynt}def /xyrs{neg rotate 3 -1 roll sub neg 3 1 roll sub exch moveto xynt}def /xynt{neg exch neg exch translate}def /xys{scale xynt}def /xyss{scale 3 -1 roll sub neg 3 1 roll sub exch moveto xynt}def /xyi{0 0 transform grestore gsave itransform}def }ifï&! /XYdict where pop begin XYdict beginïÒ! /xyopen{currentdict /XYddict known{XYddict null eq{} {XYddict begin xyopen}ifelse}if}def /xyclose{countdictstack -1 xylevel 1 add{pop end}for}def /xychgcol{/xycolor exch def}def /xysetcol{xypush xychgcol}def ò ! /xypush{16 dict /XYddict exch def XYddict begin}def /undef where {pop /xypop{countdictstack xylevel eq{}{end}ifelse currentdict /XYddict undef}def} {/xypop{countdictstack xylevel eq{}{end}ifelse /XYddict null def}def}ifelse /pu /xypush load def /pp /xypop load defò ! /xypspt{72 72.27 div dup scale}bind def /pscorrect{.85 mul}bind def /gstartxy{gsave xypspt xywidth xycap xyjoin xymiter newpath 0 0 moveto}def /xypath{gstartxy rmoveto counttomark 2 idiv -1 1{pop lineto}for}def /xystroke{stroke grestore}bind def /xyfill{closepath fill grestore}bind def /xystfil{closepath gsave fill grestore 0 setgray 0 setlinewidth xystroke}bind def /xyeofill{closepath eofill grestore}bind def ò€! /xypolyline{xypath xystroke}def /xypolyfill{xypath xyfill}def /xydotsep{/@ currentlinewidth 2 mul def}def /xypolydot{xypath xydotsep [xydt @] 0 setdash xystroke}def /xypolydash{xypath xydotsep [@ @] 0 setdash xystroke}def /xypolyeofill{xypath xyeofill}def /pe /xypolyeofill load def /pl /xypolyline load def /pf /xypolyfill load def /pt /xypolydot load def /pd /xypolydash load def ò! /arc4pop{arcto 4{pop}repeat}bind def /xyoval{gstartxy oval closepath xystroke}def /xycircle{gstartxy circle xystroke}def /circle{dup 0 moveto 0 0 3 -1 roll 0 360 arc}def /oval{newpath 2 copy exch 5 index add 2 div exch 3 copy 10 3 roll moveto 1 index dup 5 1 roll 3 index 7 index arc4pop dup dup 4 1 roll 4 index exch 6 index arc4pop 1 index dup 8 1 roll 4 index 4 index arc4pop arc4pop closepath}def /xyellipse{gstartxy counttomark 1 gt{squarify pop pop 1}if circle xystroke}def /ov /xyoval load def /ox /xyellipse load def òP! /dotit{dup currentlinewidth 6 mul div round div /@ exch def [xydt @] 0 setdash}def /elldash{dup 4 -1 roll 10 exch div dashit}def /ovdash{dup 10 dashit}def /dashit{div round 2 mul div /@ exch def [@ @] 0 setdash}def /dotcirc{gstartxy cirlen dotit circle xystroke}def /dashcirc{gstartxy cirlen dashit circle xystroke}def /dotoval{gstartxy 5 copy ovlen dotit oval xystroke}def /dashoval{gstartxy 5 copy ovlen ovdash oval xystroke}def /cirlen{dup 6.283185 mul}bind def /ovlen{3 -1 roll sub 3 1 roll sub add exch 1.716815 mul sub}def /dotellipse{gstartxy counttomark 1 gt{squarify pop pop 1}if cirlen dotit circle closepath xystroke}def /dashellipse{gstartxy counttomark 1 gt{squarify add 2 div 1} {1 exch 1 exch}ifelse cirlen elldash circle xystroke}def /ot /dotellipse load def /od /dashellipse load def /vt /dotoval load def /vd /dashoval load def òR! /filloval{gstartxy oval xyfill}def /stfiloval{gstartxy oval xystfil}def /fillcircle{gstartxy circle xyfill}def /stfilcircle{gstartxy circle xystfil}def /fillellipse{gstartxy squarify pop pop 1 circle xyfill}def /stfilellipse{gstartxy squarify pop pop 1 circle xystfil}def /squarify{4 copy sub 2 div 3 1 roll sub 2 div translate add 2 div 3 1 roll add 2 div 2 copy scale 2 copy add 2 div currentlinewidth exch div setlinewidth newpath}def /fe /fillellipse load def /sfe /stfilellipse load def /fo /filloval load def /sfo /stfiloval load def /fc /fillcircle load def /sfc /stfilcircle load def ï«! /xywidth{.4 pscorrect setlinewidth}bind def /xydash{[] 0 setdash}bind def /xycap{1 setlinecap}bind def /xyjoin{1 setlinejoin}bind def /xymiter{10 setmiterlimit}bind def ò5! /cc{dup exec xychgcol}def /lw{dup setlinewidth /@l exch def /xywidth{@l setlinewidth}bind def}def /lc{dup setlinecap /@c exch def /xycap{@c setlinecap}bind def}def /lj{dup setlinejoin /@j exch def /xyjoin{@j setlinejoin}bind def}def /ml{dup setmitrelimit /@m exch def /xymiter{@m setmitrelimit}bind def}def ïÚ! /setupDirection{dup -2048 lt{3072 add neg 1024 exch} {dup 0 lt{1024 add neg -1024}{dup 2048 lt{1024 sub -1024 exch} {3072 sub 1024}ifelse}ifelse}ifelse atan dup 180 gt{360 sub}if dup /XYdirection exch def rotate}def ò’! userdict begin /gray{setgray}bind def /gray@{setgray}bind def /rgb{setrgbcolor}bind def /rgb@{setrgbcolor}bind def /hsb{sethsbcolor}bind def /hsb@{sethsbcolor}bind def /setcmykcolor where{pop}{/setcmykcolor{dup 3 1 roll dup 5 1 roll exch sub 1 add 5 1 roll exch sub 1 add 4 1 roll exch sub 1 add 3 1 roll setrgbcolor}bind def}ifelse /cmyk{setcmykcolor}bind def /cmyk@{setcmykcolor}bind def /sethalftone where{/sethalftone load /tone exch def}if /xycolarray 3 array def /xycolstore{currentrgbcolor 2 -1 0 {exch xycolarray 3 1 roll put}for}def xycolstore /xycolor{0 1 2{xycolarray exch get}for setrgbcolor}def /xypatt{}def /xypattern{cleartomark}bind def endï ! end endï&! /XYdict where pop begin XYdict beginò”! /:patt {XYddict begin 14 dict begin /BGnd exch def /FGnd exch def /PaintData exch def /PatternType 1 def /PaintType 1 def /BBox[0 0 1 1]def /TilingType 1 def /XStep 1 def /YStep 1 def /PatternMtx[24 0 0 24 0 0]def /PaintProc BGnd null ne {{begin BGnd aload pop setrgbcolor 0 0 1 1 rF FGnd aload pop setrgbcolor 24 24 true PatternMtx PaintData imagemask end}} {{begin FGnd aload pop setrgbcolor 24 24 true PatternMtx PaintData imagemask end}} ifelse def currentdict PatternMtx end gsave patangle xyland{180 add}if rotate macfreq patfreq div dup neg exch scale matrix currentmatrix grestore gsave setmatrix /DeviceRGB setcolorspace makepattern grestore end}defïj! /rF{gsave newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto fill grestore}bind def òž! /setpatscreen{/pattstring exch store patfreq patangle xyport not{90 add}if {1 add 4 mul cvi pattstring exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen}bind def /setcolpattern{setpatscreen 64 div 1 exch sub currentrgbcolor 1 1 3{pop 1 exch sub 3 index mul 1 exch sub 3 1 roll}for setrgbcolor pop}def /setgraypattern{setpatscreen 64 div setgray}def /macfreq 9.375 def /patangle 0 def /patfreq 12.5 defï×! /checkland{/normland where{pop normland not}{false}ifelse /xyland exch def /por where{pop por}{/isls where{pop isls not /xyland true def} {/land where{pop land not}{true} ifelse}ifelse}ifelse /xyport exch def}def ò*! /setpatfreq{/patfreq exch def}def /setpatangle{/patangle exch def}def /setbackcolor{/backcolor exch def}def /setforecolor{/forecolor exch def}def [1 1 1] setbackcolor xycolarray setforecolor /bg /setbackcolor load def /fg /setforecolor load def /pa /setpatangle load def /pq /setpatfreq load def ò‰! /xypattern{checkland counttomark dup 0 eq{pop} {dup 1 eq{pop setpatscreen} {dup 2 eq{pop setcolpattern} {dup 3 eq{pop /setcolorspace where { /.setcolorspace where{pop pop pop setcolpattern} {/.buildpattern where {pop forecolor backcolor :patt setpattern }{pop pop setcolpattern}ifelse}ifelse} {pop setcolpattern}ifelse} {5 eq{/setcolorspace where{ /.setcolorspace where{pop pop pop pop pop setcolpattern} {/.buildpattern where {pop :patt setpattern }{pop pop pop pop setcolpattern}ifelse}ifelse} {pop pop pop setcolpattern}ifelse }{}ifelse}ifelse}ifelse}ifelse}ifelse cleartomark }def /xysetpattern{/xypatt exch def}def /sp /xysetpattern load def ï ! end endï&! /XYdict where pop begin XYdict beginïØ! /xysize 10 def /T true def /F false def /dimendiv{65536 div}bind def /xysegl 327680 dimendiv def /xyopp{1 -1 scale}bind def /xynormwidth{26213 dimendiv pscorrect}bind def /xywidth{xynormwidth setlinewidth}bind def ïÚ! /xyfont{4096 add 64 div round 64 mul 4096 sub}def /xydt 0.01 def /xysdfont{4096 add 32 div round 32 mul 4096 sub}def /xydots{xywidth 1 setlinecap [xydt 2] 0 setdash}bind def /f /xyfont load def /fs /xysdfont load defï¯! /xyCheckDir{dup 8 div 3 mul 3 -1 roll sub neg exch div 360 mul dup dup XYdirection sub 180 div round 180 mul XYdirection add dup 3 -1 roll sub abs 10 gt not{exch}if pop}def ïG! /xyrulth{26213 dimendiv pscorrect setlinewidth 0 setlinecap}bind def ï‘! /gsavexy{gsave xypspt XYdirection rotate xywidth newpath 0 0 moveto}def /gchksavexy{gsave xypspt setupDirection xywidth newpath 0 0 moveto}def ïm! /xyswap{XYdirection 180 add /XYdirection exch def}def /xyline{gstartxy setupDirection rlineto xystroke}def ïø! /dash{exch gchksavexy xysegl XYdirection dup -90 lt{pop neg}{90 gt{neg}if}ifelse exch{neg}if 0 rlineto xystroke}def /stopper{gstartxy setupDirection 0 xysegl 2 div rmoveto 0 xysegl neg rlineto xystroke }def /d /dash load def /st /stopper load defò! /solid{gstartxy xydash neg exch neg exch rlineto xystroke}def /dashed{gstartxy 2 copy dup mul exch dup mul add sqrt dup xysegl add xysegl 2 mul div round 2 mul 1 sub div [ exch dup ] 0 setdash neg exch neg exch rlineto xystroke}def /l /solid load def /dd /dashed load defò! /dot{gstartxy 2 setlinecap [xydt 2] 0 setdash 1 0 rlineto xystroke}def /dotted{gstartxy 2 copy dup mul exch dup mul add sqrt dup 2 div round 1 add div 2 setlinecap [xydt 3 -1 roll] 0 setdash neg exch neg exch rlineto 0 0 rlineto xystroke}def /p /dot load def /dt /dotted load defïî! /cubic{gstartxy docubic} def /docubic{chkvalid {chkcubedge 8 -2 roll moveto curveto xystroke pop} {cleartomark grestore}ifelse}def /chkcubedge{2 copy 1.0 eq{0.0 eq{pop pop}{cubicedge}ifelse} {pop cubicedge}ifelse}def /bz /cubic load defïŸ! /dotcubic{gstartxy 1 setlinecap [xydt 2] 0 setdash docubic}def /dashcubic{gstartxy [5 5] 0 setdash docubic}def /bt /dotcubic load def /bd /dashcubic load defï ! /squine{gstartxy dosquine}def /dosquine{chkvalid {chksquedge 2 copy moveto xysq2cub curveto xystroke pop} {cleartomark grestore}ifelse}def /q /squine load defïD! /chkvalid{2 copy lt{dup 1 gt{false}{true}ifelse}{false}ifelse}def ïø! /chksquedge{2 copy 1.0 eq{0.0 eq{pop pop}{squineedge}ifelse} {pop squineedge}ifelse}def /xysq2cub{xysq2cubit 6 1 roll xysq2cubit 6 1 roll 3 index 3 index xysq2cubit 6 1 roll xysq2cubit 6 1 roll pop pop}def /xysq2cubit{2 index 2 mul add 3 div}def ï¥! /dotsquine{gstartxy 1 setlinecap [xydt 2] 0 setdash dosquine}def /dashsquine{gstartxy [5 5] 0 setdash dosquine}def /qt /dotsquine load def /qd /dashsquine load defï÷! /xy4mul{8 copy 5 -1 roll mul 5 1 roll 6 -1 roll mul 6 1 roll 3 -1 roll mul exch 4 -1 roll mul 3 1 roll add 3 1 roll add exch 10 2 roll 7 -1 roll mul 7 1 roll 4 -1 roll mul 5 1 roll 4 -1 roll mul 4 1 roll mul add 3 1 roll add exch 3 -1 roll }def ï”! /xy44mul{4 copy 16 4 roll exch 3 1 roll 4 copy 12 4 roll xy4mul 12 4 roll xy4mul 12 -4 roll 4 copy 16 4 roll 8 4 roll xy4mul 12 4 roll xy4mul}def òM! /cubicedge{10 2 roll exch 8 1 roll 3 -1 roll dup dup 9 2 roll 5 -1 roll dup dup 9 1 roll 8 3 roll 4 1 roll dup dup 5 3 roll dup dup 5 1 roll 3 -1 roll 18 -2 roll 2 copy 1 sub neg 4 1 roll 1 sub neg exch 4 1 roll xy444mul pop pop pop 13 1 roll pop pop pop 9 1 roll 10 1 roll pop 8 1 roll 7 1 roll 8 1 roll pop 5 1 roll 3 1 roll}def ò! /xy444mul{4 copy 24 4 roll 12 -4 roll 16 4 roll 4 copy 16 4 roll xy44mul 20 8 roll xy44mul 12 -4 roll 4 -1 roll 7 1 roll exch 4 1 roll exch 6 -1 roll exch 4 2 roll 16 8 roll 8 4 roll 4 -1 roll 7 1 roll exch 4 1 roll exch 6 -1 roll exch 4 2 roll 8 4 roll 16 4 roll 8 4 roll 20 -4 roll exch 3 1 roll 4 copy 20 4 roll 4 copy 16 4 roll 4 copy 12 4 roll xy4mul 28 4 roll xy4mul 20 4 roll xy4mul 12 4 roll xy4mul}def ï¿! /squineedge{8 2 roll exch 5 1 roll 3 -1 roll dup 6 2 roll 1 index exch 10 -2 roll 2 copy 1 sub neg 4 1 roll 1 sub neg exch 4 1 roll xy44mul 4 1 roll pop 5 1 roll 6 1 roll 3 -1 roll pop}def ïc! /xyshort{2 copy abs exch abs add xysegl .5 mul lt {pop pop grestore}{rlineto xystroke}ifelse}def ïs! /tipwidth{xywidth xynormwidth dup currentlinewidth exch div sqrt dup dup scale mul setlinewidth 1 setlinecap}def ï! /halftip{tipwidth xysize 10 div 0 0 moveto -.25 0 3 -1 roll -2.5 mul 0 xysize 2 div neg dup .62 mul 2 div neg curveto}bind def ïÑ! /atip{gchksavexy halftip xystroke}def /btip{gchksavexy xyopp halftip xystroke}def /tip{gchksavexy gsave halftip stroke grestore xyopp halftip xystroke}def /t /tip load def /a /atip load def /b /btip load defò@! /cmatip{gchksavexy halfcmtip xystroke}def /cmbtip{gchksavexy xyopp halfcmtip xystroke}def /cmtip{gchksavexy gsave halfcmtip stroke grestore xyopp halfcmtip xystroke}def /halfcmtip{tipwidth 0 0 moveto -.1333 0 .25 neg dup .125 3 -1 roll .25 curveto}bind def /ct /cmtip load def /ca /cmatip load def /cb /cmbtip load defò2! /xyfscale{/xyfsize exch def}def /xyfsize{10}def /eu{-0.0551 0.0643 -0.0976 0.1386 -0.125 0.2188}def /cm{-0.105 0.0437 -0.1804 0.1380 -0.2 0.25}def /XY{-0.1753 0.0181 -0.3452 0.0708 -0.5 0.155}def /tipstart{3 -1 roll gchksavexy exch xyfscale tipwidth dup XYdict exch known{dup /xy eq{pop /XY}if}{pop /XY}ifelse XYdict exch get}def /tipend{halfxytip xystroke}def /halfxytip{1 1 6{pop xyfsize mul 6 1 roll}for 0 0 moveto curveto}def /A{tipstart D}def /B{tipstart C}def /C{xyopp D}def /D{exec tipend}def /AB{tipstart dup gsave exec halfxytip stroke grestore C}def ò;! /Tip{exch gchksavexy /xyfsize{10}def tipwidth gsave dup XYdict exch known{dup /xy eq{pop /XT}if}{pop /XT}ifelse XYdict exch get dup halfTip stroke grestore xyopp halfTip xystroke}def /XT{360 32 div neg}def /Xt{-1 .31 mul 1 atan}def /ET{360 64 div 5 mul neg}def /Et{-1 .31 mul 1 atan}def /halfTip{exec rotate XY halfxytip}def /halfTtip{halfTip}def /Ttip{exch gchksavexy /xyfsize{10}def tipwidth gsave dup XYdict exch known{dup /xy eq{pop /Xt}if}{pop /Xt}ifelse XYdict exch get dup halfTtip stroke grestore xyopp halfTtip xystroke}def /tt /Tip load def /tT /Ttip load defïÕ! /halfturn{xysegl 2 div dup dup neg exch rmoveto 0 exch dup exch -180 -90 arc}bind def /aturn{gchksavexy halfturn xystroke}def /bturn{gchksavexy xyopp halfturn xystroke}def /ta /aturn load def /tb /bturn load defïÉ! /xysqll 231705 dimendiv def /squigl{gchksavexy xysqll dup neg 0 rmoveto 2 div dup dup neg dup 3 -1 roll 2 sqrt mul dup 5 1 roll 135 45 arcn dup 3 -1 roll -135 -45 arc xystroke}def /g /squigl load defïk! /fullhook{0 xysegl 2 div dup -90 90 arcn}bind def /halfhook{xysegl 2 div dup 0 exch 180 90 arcn}bind def ïÝ! /ahook{gchksavexy fullhook xystroke}def /bhook{gchksavexy xyopp fullhook xystroke}def /hook{gchksavexy gsave halfhook stroke grestore xyopp halfhook xystroke}def /h /hook load def /ha /ahook load def /hb /bhook load defïe! /xyqcirc{dup dup neg exch translate newpath dup neg 0 exch moveto 0 0 3 -1 roll -90 0 arc}bind def ïx! /circ{gstartxy 3 copy pop 2 copy cos mul 3 1 roll sin mul rmoveto 0 0 5 2 roll arc xystroke}bind def /o /circ load defïÐ! /circhar{gsave dup 3 gt{7 sub neg}if dup 3 eq{pop dup 2 sqrt -2 div mul}{dup 1 eq{pop dup 2 sqrt 2 div mul} {0 eq{dup}{0}ifelse}ifelse}ifelse 0 translate 3 1 roll circ grestore}bind def /c /circhar load defï ! end end Á à ý*tj ¶??‘㌠ý]«wïheader=color.pro íÛ¼‘8];ó DÓítG®G®cmr17ËX‘û>¹Ÿù»YŽŽ‘I1X-pic–7tComplete“Sources“with“T‘ý[™Ÿ¸-EŽ‘;gXnical“CommenŒqtaryŽŸ.ÙŸ‘qÁó!X«Q cmr12ÌKristo er–ê¨H.“Rose‘ ¿øó#!",š cmsy10ÎhÌKristo er.Rose@ens-ly¬ron.frÎiŸû¥2ó|{Ycmr8Â1ŽŽŽŽŽŽŽŸ’ŽŽ–ÌRoss‘ê¨Mo•SŽore‘ ¿øÎhÌross@mp“ce.mq.edu.auÎiŸû¥2Â2ŽŽŽŽŽŽŽŸlÏ’ 9cÌX‘üyšŸYŽŽ’¬¢-pic–ê¨v¬rersion“3.7“ÎhÌ1999/02/16ÎiŽ Mtë‘ ƒŸü^ÿóÙ“ Rcmr7±1ŽŽŽ‘óKñ`y cmr10²Ecole–UUNormale“Supš¸ã‘ûGerieure“de“Ly˜on“(LIP),“46“All˜‘ûGee“d'Italie,“F{69364“Ly˜on,“F‘ÿ*ªrance.ŽŸ ½u‘ ƒŸü^ÿ±2ŽŽŽ‘²MPCE–UU(Mathematics“dept.),“Macquarie“Univ•¸ãersit“y›ÿ*ª,–UUNorth“Ryde,“Sydney˜,“Australia“NSW“2109.ŽŽŽŒ‹* Á à ý*tj‘ãŒóKñ`y ó3 cmr10¹2ŽŽ ¶?? ýh«w‘þìPrinš²!ted–¦fF‘ÿeebruary“25,“1999,“from“ó$ßê logo10ÁMETÇAFŽ9ONT“¹sources“of“the‘êàX‘ü·ŸâÃYŽŽ‘j@-pic“pac˜k‘ÿdDage“with“T‘þ,³Ÿ[wEŽ‘B Xnical“com-ޤ ™š‘ãŒmenš²!tary‘ÿe.‘ÑiIt– assumes“that“y˜ou“are“familiar“with“the“use“of‘hµX‘ü·ŸâÃYŽŽ‘ è-pic“as“describMÞed“in“the“User's“Guide“[14Ž‘ ó4]Ž¡‘ãŒas–¦fwš²!ell“as“with“the“fundamen˜tals“of“T‘þ,³Ÿ[wEŽ‘B X“[6Ž›yš]“and“ÁMETÇAFŽ9ONT“¹[7Ž˜].Ž©ì‘ãŒó)ò"V ó3 cmbx10ÔOv¦terview.‘ ó5¹Chapter–™>1“explains“the“T‘þ,³Ÿ[wEŽ‘B X“sources“of“the‘€èX‘ü·ŸâÃYŽŽ‘ H-picture“Ðkernel‘ºè¹dra²!wing“language.‘„%Chapter“2Ž¡‘ãŒexplains–$vthe“sources“of“the“standard“Ðextensions‘ ޹proš²!viding“extended“graphic“capabilities,‘>sand“c˜hapter“3Ž¡‘ãŒthe–×rsources“of“standard“Ðfe–ÿp¹atur“es‘½Š¹proš²!viding–×rspMÞecialised“notation“for“particular“diagram“t˜ypMÞes.‘˜áChapter“5Ž¡‘ãŒexpMÞoses–¦fthe“ÁMETÇAFŽ9ONT“¹sources“of“the“standard“fonš²!ts“pro˜vided“in“the“distribution.Ž¡‘ôŒThe–¬FappšMÞendices“con²!tain“additional“information:‘`ÎApp˜endix“A‘¬conš²!tains“answ˜ers“to“all“the“exercises“ofŽ¡‘ãŒthe–†ïmain“text.‘~ AppMÞendix“B‘†§summarises“the“bac•²!kw“ards›†ïcompatibilit“y˜with‘n™X‘ü·ŸâÃYŽŽ‘ íù-pic˜v“ersion˜2.‘~ AppMÞendix˜CŽ¡‘ãŒcon²!tains–&¿the“GNU‘&žGeneral“Public“License“detailing“the“conditions“of“use“of‘iX‘ü·ŸâÃYŽŽ‘É-pic,‘FÕand“appMÞendix“DŽ¡‘ãŒv‘ÿdDarious–¦fsuppMÞort“ les“conš²!tained“in“the“distribution.‘ÝÝFinally“a“bibliograph˜y“and“the“index.Ž¡‘ôŒThe–¦frepMÞort“includes“most“of“the“information“in“the“reference“man²!ual“[Ô?Ž‘òH¹].ަ‘ãŒÔLicense.‘ ó5¹Most–µPof“the‘œúX‘ü·ŸâÃYŽŽ‘Z-pic“pacš²!k‘ÿdDage“is“cop˜yrigh˜t“b˜y“the“individual“authors.‘ šW‘ÿee“ha˜v˜e“c˜hosen“to“useŽ¡‘ãŒthe–µ\GNU‘™Copš²!yleft"“to“mak˜e“the“pac˜k‘ÿdDage“a˜v‘ÿdDailable“without“restriction“to“as“man˜y“users“as“pMÞossibleŽ¡‘ãŒand–÷ ensure“that“it“is“attributed“to“its“authors“without“risk“of“pšMÞersecution.‘£pThe“disclaimer“can“b˜e“foundŽ¡‘ãŒon–¦fthe“inside“co•²!v“er–¦fpage;“the“full“text“of“the“license“is“reprošMÞduced“as“app˜endix“C.ŽŽŸLW’ÓßöiŽŽŒ‹GÜ Á à ý*tj‘㌹iiŽŽ ¶??ŽŒ‹P« Á à ý*tj ¶?? ý¸Ä‘ãŒÓCon–ÿ8õten“tsŽŸ@½ý‘ãŒÔ1Ž‘óøèKernel:‘˜¼xy‘þó\.doY‹c’{Ï,1ŽŽ¤ ·‘óøè¹1.1Ž‘ (JThe‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic‘¦fimplemen²!tation‘ƒœ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘Ø)1ŽŽ¡‘ (J1.1.1Ž‘02‹Loading‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic‘yý‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘Ø)1ŽŽ¡‘ (J1.1.2Ž‘02‹Logo,–¦fv²!ersion,“and“messages‘"‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^13ŽŽ¡‘ (J1.1.3Ž‘02‹F‘ÿeon²!ts‘ÿz‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^14ŽŽ¡‘ (J1.1.4Ž‘02‹AlloMÞcations‘>‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^15ŽŽ¡‘ (J1.1.5Ž‘02‹Utilit²!y‘¦fmacros‘v‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^17ŽŽ¡‘óøè1.2Ž‘ (JPicture‘¦fbasics‘~‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^19ŽŽ¡‘ (J1.2.1Ž‘02‹P²!ositions‘ïב¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^20ŽŽ¡‘ (J1.2.2Ž‘02‹Ob‘›»jects‘·p‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^20ŽŽ¡‘ (J1.2.3Ž‘02‹Connections‘'`‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^20ŽŽ¡‘ (J1.2.4Ž‘02‹Decorations‘¹‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^21ŽŽ¡‘ (J1.2.5Ž‘02‹The‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic‘¦fstate‘ÈÊ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^21ŽŽ¡‘óøè1.3Ž‘ (JP²!ositionsd瑼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^22ŽŽ¡‘óøè1.4Ž‘ (JOb‘›»jects‘°½‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^45ŽŽ¡‘óøè1.5Ž‘ (JDecorations‘‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^64ŽŽ¡‘óøè1.6Ž‘ (JKernel–¦fob‘›»ject“library‘´w‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^70ŽŽ¡‘ (J1.6.1Ž‘02‹Directionals‘}ý‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^70ŽŽ¡‘ (J1.6.2Ž‘02‹Circle‘¦fsegmen²!ts‘ù‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^85ŽŽ¡‘ (J1.6.3Ž‘02‹T‘ÿeext‘¦‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^89ŽŽ¡‘óøè1.7Ž‘ ôX‘ü·ŸâÃYŽŽ‘T-pic‘¦foptions‘¬Ð‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^90ŽŽ¡‘ (J1.7.1Ž‘02‹Loading‘¾‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^90ŽŽ¡‘ (J1.7.2Ž‘02‹Option–¦f le“format‘ö€‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^91ŽŽ¡‘ (J1.7.3Ž‘02‹Driv²!er‘¦foptions‘ム¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^92ŽŽ¡‘óøè1.8Ž‘ (JAlgorithms‘DŸ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^97ŽŽ¡‘ (J1.8.1Ž‘02‹Directions‘~‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘^97ŽŽ¡‘ (J1.8.2Ž‘02‹Edges‘Þh‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ103ŽŽ¡‘ (J1.8.3Ž‘02‹Connections‘'`‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ111ŽŽŸ½ý‘ãŒÔ2Ž‘óøèExtensions’…^119ŽŽ¡‘óøè¹2.1Ž‘ (JCurv²!e–¦fand“Spline“extension‘ ᑼÉ.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ119ŽŽ¡‘ (J2.1.1Ž‘02‹Curv²!ed‘¦fconnections‘l=‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ120ŽŽ¡‘ (J2.1.2Ž‘02‹Circles–¦fand“Ellipses=©‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ188ŽŽ¡‘ (J2.1.3Ž‘02‹Quadratic‘¦fSplines‘lC‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ193ŽŽ¡‘óøè2.2Ž‘ (JF‘ÿerame–¦fand“Brac•²!k“et‘¦fextension‘·3‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ196ŽŽ¡‘ (J2.2.1Ž‘02‹F‘ÿerames‘E†‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ198ŽŽ¡‘ (J2.2.2Ž‘02‹Brac•²!k“ets‘”t‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ206ŽŽ¡‘ (J2.2.3Ž‘02‹Filled‘¦fregions‘µm‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ209ŽŽ¡‘ (J2.2.4Ž‘02‹F‘ÿeraming–¦fas“ob‘›»ject“moMÞdi er‘É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ211ŽŽŽŸLW’ÐÕKiiiŽŽŒ‹Põ Á à ý*tj‘㌹iv’œ¬ó&p®0J ó3 cmsl10ÑCONTENTSŽŽ ¶?? ýh«w‘ (J¹2.2.5Ž‘02‹Using–¦fcurv²!es“for“frames‘¸!‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ212ŽŽ¤ ½0‘óøè2.3Ž‘ (JMore–¦fTips“extension‘Ô‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ214ŽŽ¡‘ (J2.3.1Ž‘02‹End–¦f&“log‘«È‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ217ŽŽ¡‘óøè2.4Ž‘ (JLine–¦fst²!yles“extension‘û‚‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ217ŽŽ¡‘óøè2.5Ž‘ (JRotate–¦fand“Scale“extension‘%3‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ227ŽŽ¡‘óøè2.6Ž‘ (JColour‘¦fextension‘qT‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ234ŽŽ¡‘óøè2.7Ž‘ (JP²!attern–¦fand“Tile“extensionƒ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ240ŽŽ¡‘óøè2.8Ž‘ (JImpMÞort–¦fgraphics“extension‘†‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ247ŽŽ¡‘óøè2.9Ž‘ (JMo²!vie–¦fStorybMÞoard“extension‘¬Œ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ250ŽŽ¡‘óøè2.10Ž‘ (JP•²!ostScript‘¦fbac“k“end‘“‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ253ŽŽ¡‘ (J2.10.1Ž‘02‹ChoMÞosing–¦fthe“D•²!VI-driv“er‘¢Ì‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ254ŽŽ¡‘ (J2.10.2Ž‘02‹Wh²!y–¦fuse“ó*Œ-ø ó3 cmcsc10ÕPostScriptŸü¾Â1ŽŽ‘ ¢–‘¼É¹.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ259ŽŽ¡‘ (J2.10.3Ž‘02‹HoMÞoking‘¦fin²!to‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic‘t‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ261ŽŽ¡‘ (J2.10.4Ž‘02‹Kernel‘¦fimpro•²!v“emen“ts{둼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ262ŽŽ¡‘óøè2.11Ž‘ (JTPIC‘¦fbac•²!k“end‘š‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ269ŽŽ¡‘óøè2.12Ž‘ (Jem-T‘ÿeeX‘¦fbac•²!k“end‘$q‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ276ŽŽ¡‘óøè2.13Ž‘ (JNecula's‘¦fextensions‘h‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ279ŽŽ¡‘ (J2.13.1Ž‘02‹Expansion‘NV‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ280ŽŽ¡‘ (J2.13.2Ž‘02‹P²!olygon‘¦fshapMÞes‘ᑼÉ.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ281ŽŽŸÈ‘ãŒÔ3Ž‘óøèF‘þó\eatures’‘Ì291ŽŽ¡‘óøè¹3.1Ž‘ (JAll‘¦ffeatures‘#‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ291ŽŽ¡‘óøè3.2Ž‘ (JDumm²!y‘¦foption‘aÉ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ292ŽŽ¡‘óøè3.3Ž‘ (JArroš²!w–¦fand“P˜ath“feature‘˜'‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ294ŽŽ¡‘ (J3.3.1Ž‘02‹P²!aths‘È‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ295ŽŽ¡‘ (J3.3.2Ž‘02‹Arro²!ws‘d¬‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ307ŽŽ¡‘óøè3.4Ž‘ (JTw²!o-cell‘¦ffeatureU6‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ316ŽŽ¡‘ (J3.4.1Ž‘02‹T²!ypMÞesetting–¦f2-cells“in“Diagrams‘t鑼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ317ŽŽ¡‘ (J3.4.2Ž‘02‹Standard‘¦fOptions‘lB‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ323ŽŽ¡‘ (J3.4.3Ž‘02‹Nudging‘ œ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ325ŽŽ¡‘ (J3.4.4Ž‘02‹Extra‘¦fOptions‘÷…‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ326ŽŽ¡‘ (J3.4.5Ž‘02‹After‘¦fP²!arsing...‘ᑼÉ.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ330ŽŽ¡‘ (J3.4.6Ž‘02‹2-cells–¦fin“general‘ŽX‘ü·ŸâÃYŽŽ‘ p-pictures‘øe‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ331ŽŽ¡‘óøè3.5Ž‘ (JMatrix‘¦ffeature‘葼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ341ŽŽ¡‘ (J3.5.1Ž‘/5X‘ü·ŸâÃYŽŽ‘:™•-matrices‘R(‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ342ŽŽ¡‘ (J3.5.2Ž‘02‹New–¦fcoMÞordinate“formats‘p‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ352ŽŽ¡‘ (J3.5.3Ž‘02‹Spacing–¦fand“rotation‘ʽ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ354ŽŽ¡‘ (J3.5.4Ž‘02‹En²!tries'‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ357ŽŽ¡‘óøè3.6Ž‘ (JGraph‘¦ffeature‘¿O‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ360ŽŽ¡‘óøè3.7Ž‘ (JP²!olygon‘¦ffeature‘OV‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ369ŽŽ¡‘óøè3.8Ž‘ (JLattice–¦fand“w²!eb“feature‘Ct‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ389ŽŽ¡‘óøè3.9Ž‘ (JCircle,–¦fEllipse,“Arc“feature‘Fi‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ394ŽŽ¡‘ (J3.9.1Ž‘02‹F‘ÿeull‘¦fCircles‘:Ì‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ396ŽŽ¡‘ (J3.9.2Ž‘02‹Ellipses‘j‰‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ399ŽŽ¡‘ (J3.9.3Ž‘02‹Dra²!wing‘¦farcs‘2û‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ400ŽŽ¡‘ (J3.9.4Ž‘02‹Circular–¦fand“Elliptical“Arcs‘¥œ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ405ŽŽ¡‘óøè3.10Ž‘ (JKnots–¦fand“Links“feature‘µ\‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ418ŽŽ¡‘óøè3.11Ž‘ (JSmart–¦fP²!ath“option‘¾5‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ445ŽŽ‘㌟ þ‰ffÁyÌŸ LÍ‘ {ºŸü-=ó¹Aa¨cmr6Ã1ŽŽŽ‘¦aó.Œ-ø cmcsc10ÙPostScript–Tó+o´‹Ç cmr9Öis“a“registered“T‘ÿ:«rademark“of“AdobAÇe,“Inc.“[1Ž‘Ÿþ].ŽŽŽŒ‹¤ Á à ý*tj‘ãŒÑCONTENTS’Ÿ·*¹vŽŽ ¶?? ýh«w‘ãŒÔ4Ž‘óøèDriv¦ters’—Ò@461ŽŽ¤ ³ ‘óøè¹4.1Ž‘ (JSuppšMÞort–¦ffor“Sp˜eci c“Driv²!ers‘­…‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ461ŽŽ¡‘óøè4.2Ž‘ (Jdvidrv‘¦fdriv²!er‘Zü‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ461ŽŽ¡‘óøè4.3Ž‘ (JD•²!VIPS‘¦fdriv“er‘¥ý‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ462ŽŽ¡‘óøè4.4Ž‘ (JD•²!VITOPS‘¦fdriv“er‘A¨‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ467ŽŽ¡‘óøè4.5Ž‘ (JOzT‘ÿeeX‘¦fdriv²!er‘óÚ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ472ŽŽ¡‘óøè4.6Ž‘ (JOzT‘ÿeeX–¦fv1.7“driv²!er‘Ó‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ477ŽŽ¡‘óøè4.7Ž‘ (JT‘ÿeextures‘¦fdriv²!er‘x1‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ481ŽŽ¡‘óøè4.8Ž‘ (JT‘ÿeextures–¦fv1.6“driv²!er‘™*‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ485ŽŽ¡‘óøè4.9Ž‘ (JXD•²!VI‘¦fdriv“ertk‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ489ŽŽ¡‘óøè4.10Ž‘ (JCMacT‘ÿeeX‘¦fdriv²!er‘Ü‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ494ŽŽ¡‘óøè4.11Ž‘ (JExtra–¦ffeatures“with“ÕPostScript“¹suppMÞort‘œ¢‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ495ŽŽ¡‘ (J4.11.1Ž‘02‹xyps-ps.doMÞc‘Ô™‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ495ŽŽ¡‘ (J4.11.2Ž‘02‹Installation‘¤‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ497ŽŽ¡‘ (J4.11.3Ž‘02‹Extensions‘ïÍ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ504ŽŽ¡‘ (J4.11.4Ž‘02‹xyps-c.doMÞc‘Ù‰‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ506ŽŽ¡‘ (J4.11.5Ž‘02‹Colour‘Êý‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ507ŽŽ¡‘ (J4.11.6Ž‘02‹xyps-f.doMÞc‘^Þ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ509ŽŽ¡‘ (J4.11.7Ž‘02‹F‘ÿerames‘E†‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ510ŽŽ¡‘ (J4.11.8Ž‘02‹xyps-l.doMÞc‘¬¼‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ513ŽŽ¡‘ (J4.11.9Ž‘02‹Line-st²!ylesU+‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ514ŽŽ¡‘ (J4.11.10Ž‘02‹xyps-r.doMÞc‘m{‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ516ŽŽ¡‘ (J4.11.11Ž‘02‹Rotations–¦fand“scaling‘‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ517ŽŽ¡‘ (J4.11.12Ž‘02‹xyps-t.doMÞc‘uD‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ519ŽŽ¡‘ (J4.11.13Ž‘02‹P²!atterns–¦fand“tiles‘ƒ¢‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ520ŽŽ©¸/‘ãŒÔ5Ž‘óøèStandard‘2F‘þó\on¦tts’l2O523ŽŽ¡‘óøè¹5.1Ž‘ (JSemidirectional‘¦ffon²!t‘-‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ523ŽŽ¡‘ (J5.1.1Ž‘02‹xyd2.mf‘óÍ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ523ŽŽ¡‘ (J5.1.2Ž‘02‹xydash10‘¡‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ525ŽŽ¡‘óøè5.2Ž‘ (JDirectional‘¦ffon²!t‘OV‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ527ŽŽ¡‘ (J5.2.1Ž‘02‹xyd.mf‘é*‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ527ŽŽ¡‘ (J5.2.2Ž‘02‹xy²!atip10‘„ß‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ528ŽŽ¡‘ (J5.2.3Ž‘02‹xybtip10‘›D‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ530ŽŽ¡‘ (J5.2.4Ž‘02‹xybsql10‘Ù‘‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ532ŽŽ¡‘óøè5.3Ž‘ (JSpMÞecial‘¦ffon²!ts‘ƒÚ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ534ŽŽ¡‘ (J5.3.1Ž‘02‹xycirc10‘k‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ534ŽŽ¡‘óøè5.4Ž‘ (JOptional‘¦ffon²!tsMq‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ538ŽŽ¡‘ (J5.4.1Ž‘02‹xycmat10‘Ý_‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ538ŽŽ¡‘ (J5.4.2Ž‘02‹xycm²!bt10‘‚‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ539ŽŽ¡‘ (J5.4.3Ž‘02‹xy²!euat10‘5鑼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ541ŽŽ¡‘ (J5.4.4Ž‘02‹xy²!eubt10‘š-‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ542ŽŽ¦‘ãŒÔAŽ‘óøèAnsw¦ters–2to“all“exercises’='!545ŽŽ¦‘ãŒBŽ‘óøèBac•¦tkw“ards‘2Compatibilit“y’5±553ŽŽ¡‘óøè¹B.1Ž‘ (JV‘ÿeersion–¦f2“Compatibilit²!y‘¿‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ553ŽŽ¡‘ (JB.1.1Ž‘02‹UnsuppMÞorted‘¦fincompatibilities‘\x‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ554ŽŽ¡‘ (JB.1.2Ž‘02‹Obsolete–¦fk²!ernel“features‘`Œ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ555ŽŽ¡‘ (JB.1.3Ž‘02‹Obsolete–¦fextensions“&“features‘Îd‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ560ŽŽŽŽŒ‹Ú# Á à ý*tj‘㌹vi’œ¬ÑCONTENTSŽŽ ¶?? ýh«w‘ (J¹B.1.4Ž‘02‹Obsolete‘¦floading‘ij‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ563ŽŽ¤ ™š‘ (JB.1.5Ž‘02‹Compiling‘¦fv2-diagrams‘N‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ565ŽŽ¡‘óøèB.2Ž‘ (JObsolete‘¦ffon²!ts‘Ù›‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ567ŽŽ¡‘ (JB.2.1Ž‘02‹xyline10‘ 4‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ567ŽŽ¡‘ (JB.2.2Ž‘02‹xyqc10‘é,‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ570ŽŽ¡‘ (JB.2.3Ž‘02‹xymisc10‘<¼‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ572ŽŽ¤ŒÏ‘ãŒÔCŽ‘óøèGNU–2General“Public“License’¼®577ŽŽ¡‘ãŒDŽ‘óøèDistribution–2suppY‹ort“ les’4°æ583ŽŽ¤ ™š‘óøè¹D.1Ž‘ (JHypMÞe‘FÅ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ583ŽŽ¡‘ (JD.1.1Ž‘02‹CA–ÿeT“ALOG‘>°‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ583ŽŽ¡‘ (JD.1.2Ž‘02‹README‘„Ù‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ583ŽŽ¡‘óøèD.2Ž‘ (JInstallation‘¦finstructions‘íÊ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ585ŽŽ¡‘ (JD.2.1Ž‘02‹TRAILER‘›@‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ585ŽŽ¡‘ (JD.2.2Ž‘02‹INST‘ÿeALL‘óÉ‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ587ŽŽ¡‘óøèD.3Ž‘ (JGeneration‘Ž˜‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ594ŽŽ¡‘ (JD.3.1Ž‘02‹MAKE‘\à‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ594ŽŽ¡‘ (JD.3.2Ž‘02‹Mak²!e le‘¼X‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ598ŽŽ¡‘óøèBibliograph²!y‘k¡‘¼É.ŽŽ–„=‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ“‘¼É.ŽŽ‘äõ628ŽŽŸŒÏ‘ãŒÔIndex’±Ÿ­631ŽŽŽŽŒ‹#[ Á à ý*tj ¶?? ý³æ?‘ãŒó0ÂÖN ½q cmbx12ÛChapter‘Ç 1ŽŸ2:È‘ãŒÓKernel:‘ p¤xy‘ýªá.do‘Ç cŽŸ5Ôb‘㌹After–¡Rgiving“an“o•²!v“erview–¡Rof“the‘ˆüX‘ü·ŸâÃYŽŽ‘\-pic“en•²!vironmen“t–¡Rin“Çx¹1.1,‘¢Vthis“cš²!hapter“doMÞcumen˜t“the“basic“conceptsޤ ™š‘ãŒof‘ÓˆX‘ü·ŸâÃYŽŽ‘ Rè-picture–ëÞconstruction“in“Çx¹1.2,‘-including“the“mainš²!tained“`graphic“state'.‘Ÿ°The“follo˜wing“sections“giv˜eŽ¡‘ãŒthe–r7precise“syn²!tax“rules“of“the“main‘YáX‘ü·ŸâÃYŽŽ‘ÙA-pic“constructions:‘u€the“pMÞosition“language“in“Çx¹1.3,‘¥+the“ob‘›»jectŽ¡‘ãŒconstructions–Hin“Çx¹1.4,‘^@and“the“picture“`decorations'“in“Çx¹1.5.‘ý„Çx¹1.6“presenš²!ts“the“k˜ernel“repMÞertoire“ofŽ¡‘ãŒob‘›»jects–ý{for“use“in“pictures;‘)Çx¹1.7“doMÞcumenš²!ts“the“in˜terface“to‘å%X‘ü·ŸâÃYŽŽ‘d…-pic“options“lik˜e“the“standard“`feature'Ž¡‘ãŒand–¦f`extension'“options.Ž© Ôb‘ôŒSection–÷¨Çx¹1.8“doMÞcumen²!ts“the“more“complicated“algorithms“used“to“compute“directions,– øedges,“andŽ¡‘ãŒconnections.ŽŸ#Ð*‘ãŒó2ÂÖN ff cmbx12Ý1.1Ž‘r|The‘ǨX‘û#ÕŸYYŽŽ‘ôè-pic‘ffimplemenŒÌtationŽŸãÀ‘㌹This–a section“brie y“discusses“the“v‘ÿdDarious“aspMÞects“of“the“presenš²!t‘IJX‘ü·ŸâÃYŽŽ‘ Ȫ-pic“k˜ernel“implemen˜tation“of“whic˜hŽ¡‘ãŒthe–¦fuser“should“bMÞe“a•²!w“are.ŽŸ¢n‘ãŒó3ÂÖN  cmbx12Þ1.1.1Ž‘ ÌLoading‘&aX‘ûó1Ÿ"YŽŽ‘v¿-picŽŸ4‘âsùX‘ü·ŸâÃYŽŽ‘íó#-pic–HÅis“careful“to“set“up“its“oš²!wn“en˜vironmen˜t“in“order“to“function“with“a“large“v‘ÿdDariet˜y“of“formats.Ž¡‘ãŒF‘ÿeor–¦fmost“formats“a“single“line“with“the“commandޤIò’»†ÎÏ\input‘¿ªxyŽŽ¡‘㌹in–¤lthe“preamš²!ble“of“a“doMÞcumen˜t“ le“should“load“the“k˜ernel“(see“`in˜tegration“with“standard“formats'ޤ ™š‘ãŒbšMÞelo²!w–¦ffor“v‘ÿdDariations“p˜ossible“with“certain“formats,“in“particular“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“[10Ž‘ ó4]).ަ‘ôŒThe–€rest“of“this“section“describMÞes“things“yš²!ou“m˜ust“consider“if“y˜ou“need“to“use‘i*X‘ü·ŸâÃYŽŽ‘ èŠ-pic“together“withŽ¡‘ãŒother–уmacro“pac•²!k‘ÿdDages,›ÜJst“yle–уoptions,˜or“formats.‘_5The“less“yš²!our“en˜vironmen˜t“deviates“from“plain“T‘þ,³Ÿ[wEŽ‘B XŽ¡‘ãŒthe–¦feasier“it“should“bMÞe.ŽŸ<‘ãŒÔFile‘ïheader:‘ ó5¹Here–Ê is“what“actually“happMÞens“in“the“header“of“Ïxy.docŽ‘'H¹.‘HÈIt“conš²!tains“the“cop˜yrigh˜tŽ¡‘ãŒmessage,›è–protection–tôagainst“loading“the“ le“more“than“once,˜and“then“b•MÞo“otstrap›tôco“de˜to˜handleŽ¡‘ãŒcategory–¦fcoMÞdes“and“the“ÏDOCMODE“¹format|wš²!e“explain“eac˜h“separately“bMÞelo˜w:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xy.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªBasic“Xy-pictures:“Xy-pic“bootstrap“and“kernel“macros.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1999› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽŽŸLW’Ò¨~¹1ŽŽŒ‹? Á à ý*tj‘㌹2’0Ø¿ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ7Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1999› TKristoffer“H.“Rose˜ŽŽ¤ ™š‘ãŒÃ8Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ23Ž‘õŒÏ\ifx\xyloaded\undefined\else\message{not‘¿ªreloaded}\endinput\fiŽŽ¡‘ãŒÃ24Ž‘õŒÏ\let\xyloaded=\relaxŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ%–¿ªNOTE:“Apart“from“the“actual“macros“(as“also“found“in“xy.tex),“this“fileŽŽ¡‘ãŒÃ27Ž‘õŒÏ%–¿ªcontains“both“the“Xy-pic“kernel“reference“manual“and“TeXnical“documentation.ŽŽ¡‘ãŒÃ28Ž‘õŒÏ%–¿ªSee“xyrefer.man“and“xysource.man“for“how“to“typeset“this“information.ŽŽ¦‘ãŒÃ30Ž‘õŒÏ\message{Bootstrap\string'ing\string:}ŽŽ¦‘ãŒÃ32Ž‘õŒÏ{\catcode96‘¿ª12\catcode`\#6\catcode`\.12\catcode`\:12\catcode`\'12\catcode`\@11ŽŽ¡‘ãŒÃ33Ž‘õŒÏ\ifx\xywarnifdefined\undefined\else‘¿ª\immediate\write16{}%ŽŽ¡‘ãŒÃ34Ž‘ûKÃÏ\immediate\write16{Xy-pic–¿ªWarning:“\string\xywarnifdefined\space“redefined.}%ŽŽ¡‘ãŒÃ35Ž‘ûKÃÏ\immediate\write16{}\fiŽŽ¡‘ãŒÃ36Ž‘õŒÏ\gdef\xywarnifdefined#1{\ifx#1\undefined\else‘¿ª\immediate\write16{}%ŽŽ¡‘ãŒÃ37Ž‘ûKÃÏ\immediate\write16{Xy-pic–¿ªWarning:“`\string#1'“redefined.}%ŽŽ¡‘ãŒÃ38Ž‘ûKÃÏ\immediate\write16{}\fi}ŽŽ¡‘ãŒÃ39Ž‘õŒÏ\xywarnifdefined\xydef@‘¿ª\gdef\xydef@#1{\xywarnifdefined#1\gdef#1}ŽŽ¡‘ãŒÃ40Ž‘õŒÏ\xywarnifdefined\xylet@‘¿ª\gdef\xylet@#1{\xywarnifdefined#1\global\let#1}ŽŽ¡‘ãŒÃ41Ž‘õŒÏ\xywarnifdefined\xynew@ŽŽ¡‘ãŒÃ42Ž‘ûKÃÏ\gdef\xynew@#1#2{\xywarnifdefined#2\csname‘¿ªnew#1\endcsname#2}}ŽŽ¦‘ãŒÃ44Ž‘õŒÏ\message{catcodes\string,}ŽŽ¦‘ãŒÃ46Ž‘õŒÏ\xywarnifdefined\xyuncatcodesŽŽ¡‘ãŒÃ47Ž‘õŒÏ\xywarnifdefined\xyreuncatcodes‘¿ª\def\xyreuncatcodes{\edef\xyuncatcodes{%ŽŽ¡‘ãŒÃ48Ž‘ûKÃÏ\catcode92–¿ª0“\catcode123“1“\catcode125“2“\catcode37“14ŽŽ¡‘ãŒÃ49Ž‘ûKÃÏ\catcode–¿ª9“\the\catcode“9“\catcode10“\the\catcode10“\catcode12“\the\catcode12ŽŽ¡‘ãŒÃ50Ž‘ûKÃÏ\catcode35–¿ª\the\catcode35“\catcode36“\the\catcode36“\catcode38“\the\catcode38ŽŽ¡‘ãŒÃ51Ž‘ûKÃÏ\catcode43–¿ª\the\catcode43“\catcode45“\the\catcode45“\catcode46“\the\catcode46ŽŽ¡‘ãŒÃ52Ž‘ûKÃÏ\catcode47‘¿ª\the\catcode47ŽŽ¡‘ãŒÃ53Ž‘ûKÃÏ\catcode60–¿ª\the\catcode60“\catcode61“\the\catcode61“\catcode62“\the\catcode62ŽŽ¡‘ãŒÃ54Ž‘ûKÃÏ\catcode64–¿ª\the\catcode64“\catcode96“\the\catcode96ŽŽ¡‘ãŒÃ55Ž‘ûKÃÏ\newlinechar–¿ª\the\newlinechar“\endlinechar“\the\endlinechar“}}ŽŽ¡‘ãŒÃ56Ž‘õŒÏ\xyreuncatcodesŽŽ¦‘ãŒÃ58Ž‘õŒÏ\xywarnifdefined\xycatcodes‘¿ª\def\xycatcodes{%ŽŽ¡‘ãŒÃ59Ž‘ûKÃÏ\catcode–¿ª9“10ŽŽŽŽŒ‹K# Á à ý*tj‘ãŒÑ1.1.‘„CTHE‘ŽX‘ü·ŸâÃYŽŽ‘ p-PIC‘¦fIMPLEMENT–ÿeA“TION’B¹3ŽŽ ¶?? ýh«w‘ãŒÃ60Ž‘ûKÃÏ\catcode–¿ª35‘ T6“\catcode“36“3“\catcode“38“4ŽŽ¤ ™š‘ãŒÃ61Ž‘ûKÃÏ\catcode–¿ª43“12“\catcode“45“12“\catcode“46“12“\catcode“47“12ŽŽ¡‘ãŒÃ62Ž‘ûKÃÏ\catcode–¿ª60“12“\catcode“61“12“\catcode“62“12ŽŽ¡‘ãŒÃ63Ž‘ûKÃÏ\catcode–¿ª64“11“\catcode“96“12“}ŽŽ¤Pˆ‘ãŒÃ65Ž‘õŒÏ\xycatcodesŽŽ¡‘ãŒÃ67Ž‘õŒÏ\message{docmode,}ŽŽ¡‘ãŒÃ69Ž‘õŒÏ{\catcode`\|0‘¿ª\xywarnifdefined|DOCMODEŽŽ¤ ™š‘ãŒÃ70Ž‘õŒÏ\gdef|DOCMODE#1{\ifx(#1\relax–¿ª\xycatcodes“\expandafter\ignorespacesŽŽ¡‘ãŒÃ71Ž‘ûKÃÏ\else–¿ª\skipspecials@“\expandafter\docm@\fi}%ŽŽ©Pˆ‘ãŒÃ73Ž‘õŒÏ\xywarnifdefined\skipspecials@ŽŽ¡‘ãŒÃ74Ž‘õŒÏ\gdef\skipspecials@{%ŽŽ¡‘ãŒÃ75Ž‘ûKÃÏ\catcode`\\12–¿ª\catcode`\{12“\catcode`\}12“\catcode`\#12“\catcode`\%12ŽŽ¡‘ãŒÃ76Ž‘ûKÃÏ\catcode`\^^L12–¿ª\endlinechar`\^^J“}%ŽŽ¦‘ãŒÃ78Ž‘õŒÏ\catcode`\/=12‘¿ª\lccode`\/`\\%ŽŽ¡‘ãŒÃ79Ž‘õŒÏ\lccode`\D`\D–¿ª\lccode`\O`\O“\lccode`\C`\C“\lccode`\M`\M“\lccode`\E`\EŽŽ¡‘ãŒÃ80Ž‘õŒÏ\lowercase{%ŽŽ¡‘ãŒÃ81Ž‘õŒÏ\xywarnifdefined\docm@‘¿ª\gdef\docm@{\docm@i}%ŽŽ¡‘ãŒÃ82Ž‘õŒÏ\xywarnifdefined\docm@i‘¿ª\gdef\docm@i#1^^J{\docm@ii#1/DOCMODE\docm@iii}%ŽŽ¡‘ãŒÃ83Ž‘õŒÏ\xywarnifdefined\docm@iiŽŽ¡‘ãŒÃ84Ž‘ûKÃÏ\gdef\docm@ii#1/DOCMODE{\def\next@{#1}\futurelet\next\docm@iii}%ŽŽ¡‘ãŒÃ85Ž‘õŒÏ\xywarnifdefined\docm@iii‘¿ª\gdef\docm@iii#1\docm@iii{%ŽŽ¡‘ãŒÃ86Ž‘ûKÃÏ\ifx\next\docm@iii–¿ª\let\next\next@“\docecho@“\let\next@\docm@ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ\else\ifx\next@\empty‘¿ª\let\next@\docfinish@ŽŽ¡‘ãŒÃ88Ž‘ûKÃÏ\else‘¿ª\edef\next@{\noexpand\docm@iv\next@/DOCMODE#1\noexpand\docm@iv}%ŽŽ¡‘ãŒÃ89Ž‘ûKÃÏ\fi\fi‘¿ª\next@}%ŽŽ¡‘ãŒÃ90Ž‘õŒÏ\xywarnifdefined\docm@ivŽŽ¡‘ãŒÃ91Ž‘ûKÃÏ\gdef\docm@iv#1/DOCMODE\docm@iv{\def\next{#1}\docecho@‘¿ª\docm@}}%ŽŽ¦‘ãŒÃ93Ž‘õŒÏ\xywarnifdefined\docecho@‘¿ª\global\let\docecho@\relaxŽŽ¡‘ãŒÃ94Ž‘õŒÏ\xywarnifdefined\docfinish@‘¿ª\gdef\docfinish@{\xyuncatcodes|DOCMODE\next}}ŽŽŸ,8‘ãŒÔPriv‘ÿLèacy:‘ Úß¹X‘ü·ŸâÃYŽŽ‘Z?-pic–ßnwill“wš²!arn“abMÞout“con˜trol“sequences“it“rede nes|th˜us“y˜ou“can“bMÞe“sure“that“thereŽ¡‘ãŒare–Éno“con icts“bMÞet•²!w“een‘«3X‘ü·ŸâÃYŽŽ‘*“-pic-de ned›Écon“trol˜sequences,‘ Ñthose˜of˜y“our˜format,‘ Ñand˜other˜macros,Ž¡‘ãŒpro•²!vided›¦fy“ou˜load‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic˜last˜and˜get˜no˜w“arning˜messages˜lik“eޤ i‘yÓÈÏXy-pic–¿ªWarning:“`Ž’ÝaCó  b> ó3 cmmi10Ä:–Ó1:“:Ž’ëú×Ï'‘¿ªredefined.ŽŽ¡‘㌹In–`kgeneral“the‘HX‘ü·ŸâÃYŽŽ‘ Çu-pic“kš²!ernel“will“c˜hec˜k“all“con˜trol“sequences“it“rede nes“Ðexc‘ÿp¹ept‘jU¹that“(1)“generic“tempMÞo-ޤ ™š‘ãŒraries–zlikš²!e“Ï\next“¹are“not“c˜hec˜k˜ed,‘‚æ(2)“prede ned“fon˜t“iden˜ti ers“(see“Çx¹1.1.3)“are“assumed“in˜ten˜tionallyŽ¡‘ãŒpreloaded,‘ÇÁand–â(3)“some“of“the“more“exotic“conš²!trol“sequence“names“used“in˜ternally“(lik˜e“Ï@{-}Ž‘ŒŠ¹)“areŽ¡‘ãŒonly›¦fc•²!hec“k“ed˜to˜bMÞe˜di eren“t˜from˜Ï\relax¹.Ž¡‘ôŒThis–yÈis“handled“bš²!y“Ï\xywarnifdefined¹|after“w˜e“ha˜v˜e“ensured“that“it“is“unique“itselfŸü¾Â1ŽŽ‘À¹.‘ÎþÏ\xydef‘¿ª@¹,Ž¡‘ãŒÏ\xylet‘¿ª@¹,‘6¨and‘¸Ï\xynew@{Ž‘1Çh¹t²!ypMÞeÇiÏ}Ž‘Úb¹are–¸abbreviations“used“to“this“end“throughout‘bX‘ü·ŸâÃYŽŽ‘ Â-pic“instead“of“Ï\let¹,Ž¡‘ãŒÏ\def¹,–¦fand“the“Ï\newŽ‘¥Çh¹t²!ypMÞeÇi“¹commands.Ž‘ãŒŸ ôw‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã1ŽŽŽ‘¦aÖThis–maš¾9y“seem“paranoid“but“in“fact“man˜y“incon˜vieniences“in“the“T‘þuAŸïÿEŽ‘˜ŸX“w˜orld“stem“from“the“fact“that“someb•AÇo“dyޤ copied›xôsomeb•AÇo“dy˜elses˜de nition˜of,–‘Üsa¾9y‘ÿ:«,“ó5ߤN cmtt9à\xywarnifdefinedÖ,“moAÇdi ed˜it,“and˜then˜used˜it˜in˜something˜that˜someho¾9wŽ¡got–”+distributed!‘˜õThe“` at“name“space'“problem“remains“T‘þuAŸïÿEŽ›˜ŸX“largest“problem“as“a“programming“language“in“this“T‘þuAŸïÿEŽ˜XŽ¡hac•¾9k“ers‘Topinion.ŽŽŽŒ‹Xõ Á à ý*tj‘㌹4’0Ø¿ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ôŒ¹Next–Þ#some“auxilliaries:‘MWÏ\xydefcsname@Ž‘Vç¹is“similar“to“Ï\xydef@Ž‘1ùì¹except“that“it“builds“the“con²!trolޤ ™š‘ãŒsequence–`Šwith“Ï\csname“¹.–Ó3.“.‘3½Ï\endcsname–`йwhicš²!h“means“that“it“is“Ï\relaxŽ‘)?¹when“unde ned|there“is“th˜usŽ¡‘ãŒno›¦fw•²!a“y˜to˜prev“en“t˜rede nition˜of˜con“trol˜sequences˜bMÞound˜to˜Ï\relax˜Ç Ž‘5ÂŽ‘ó3ó×2cmmi8Å_ŽŽŽ‘ s;¹.Ž©Pˆ‘ãŒÃ201Ž‘õŒÏ\xydef@\xydefcsname@#1{\DN@{#1}\DNii@##1{%ŽŽ¡‘ãŒÃ202Ž‘ mÏ\ifx–¿ª##1\relax\else“\xywarning@{\string`\string##1\string'“redefined}\fiŽŽ¡‘ãŒÃ203Ž‘ mÏ\def##1}%ŽŽ¡‘ãŒÃ204Ž‘ûKÃÏ\expandafter\nextii@\csname\codeof\next@\endcsname}ŽŽŸO¨‘ôŒ\xyletcsnamecsname@Ž‘ef¹is–M¯to“Ï\let“¹one“wš²!eird“con˜trol“sequence“bMÞe“the“same“as“another“using“sev˜eralŽ¡‘ãŒÏ\expandafterŽ‘(ˆ¹s:ަ‘ãŒÃ211Ž‘õŒÏ\xydef@\xyletcsnamecsname@#1#2{\def\1{#1}\def\2{#2}\DN@##1##2{%ŽŽ¡‘ãŒÃ212Ž‘ mÏ\ifx–¿ª##1\relax\else“\xywarning@{`\string##1\string'“redefined}\fiŽŽ¡‘ãŒÃ213Ž‘ mÏ\let##1=##2}%ŽŽ¡‘ãŒÃ214Ž‘ûKÃÏ\expandafter\expandafter\expandafter\next@ŽŽ¡‘ãŒÃ215Ž‘ mÏ\expandafter\csname\expandafter\codeof\expandafter\1\expandafter\endcsnameŽŽ¡‘ãŒÃ216Ž‘ËÏ\csname\codeof\2\endcsname}ŽŽŸO¨‘ôŒ¹Finally–™Ï\codeof¹:‘Ã5a“useful“hacš²!k“used“to“allo˜w“an˜y“c˜haracters“in“con˜trol“sequences:‘Ã5Ï\codeofÇh¹csÇiŽ¡‘㌹expands–×Yto“the“cš²!haracters“of“the“con˜trol“sequence“Çh¹csÇi“¹as“a“string“of“`other'“c˜haracters,–#•Ði¹.Ðe¹.,“all‘×YofŽ¡‘ãŒcategory–¦f12“and“with“a“Ï Ÿ¤zÂ12Ž‘ ¦n¹after“evš²!ery“con˜trol“sequence.‘ÝÝThe“Çh¹csÇi“¹m˜ust“bMÞe“a“macro“or“it“blo˜ws“up.ަ‘ãŒÃ226Ž‘õŒÏ\xywarnifdefined\codeofŽŽ¡‘ãŒÃ227Ž‘õŒÏ\xywarnifdefined\codeof@ŽŽ¡‘ãŒÃ228Ž‘õŒÏ{\catcode`\:=12–¿ª%“to“ensure“that“all“of“:->“and“<-:“are“other“:-)ŽŽ¡‘ãŒÃ229Ž‘ûKÃÏ\gdef\codeof#1{\expandafter\codeof@\meaning#1<-:}ŽŽ¡‘ãŒÃ230Ž‘ûKÃÏ\gdef\codeof@#1:->#2<-:{#2}}ŽŽŸ'Tû‘ãŒÔCategory‘ÁcoY‹des:‘ ó5¹The–C½situation“is“complicated“bš²!y“the“ exibilit˜y“of“T‘þ,³Ÿ[wEŽ‘B X's“input“format.‘¼úThe“culpritŽ¡‘ãŒis–cithe“`category“coMÞde'“concept“of“T‘þ,³Ÿ[wEŽ‘B X“(Ðcf¹.“[6Ž‘yš,‘pÏp.37]):‘¼_when“loaded‘KX‘ü·ŸâÃYŽŽ‘ Ês-pic“requires“the“c²!haracters“Ï \{}%ŽŽ¡‘㌹(the–Ë“ rst“is“a“space)“to“ha•²!v“e–Ë“their“standard“meaning“and“all“other“prinš²!table“c˜haracters“to“ha˜v˜e“the“ÐsameŽ¡‘ãŒc–ÿp¹ate“gory–as“when‘ñwX‘ü¤ZŸâÃYŽŽ‘ /j-pic“wil‘Fl“b›ÿp¹e“use˜d‘!ª¹|in–¸{particular“this“means“that“(1)“y²!ou“should“surround“the“loadingŽ¡‘ãŒof‘ìúX‘ü·ŸâÃYŽŽ‘lZ-pic–Pwith“Ï\makeatother“¹.–Ó3.“.‘؃Ï\makeatletter–P¹when“loading“it“from“within“a“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“pac²!k‘ÿdDage,‘ andŽ¡‘ãŒthat–#.(2)‘ ØX‘ü·ŸâÃYŽŽ‘ Š8-pic“should“bšMÞe“loaded“after“ les“that“c²!hange“category“co˜des“likš²!e“the“Ïgerman.sty“¹that“mak˜esŽ¡‘ãŒÏ"Ž‘í£T¹activ•²!e.‘ñ_Some›W‘st“yles˜require˜that˜y“ou˜reset˜the˜catcoMÞdes˜for˜ev“ery˜diagram,–ƒÜÐe¹.Ðg¹.,“with˜Ïfrench.styŽ¡‘㌹yš²!ou–¦fshould“use“the“command“Ï\englishŽ‘5J¹bMÞefore“ev˜ery“Ï\xymatrixŽ‘7c`¹.ޤ˜º‘ôŒW‘ÿee–¦fde ne“Ï\xyuncatcodes“¹to“restore“the“currenš²!t“catcoMÞdes,“and“Ï\xycatcodes“¹to“install“our“o˜wn.Ž¡‘ôŒHere–¦fis“an“exact“list“of“the“category“coMÞdes“whic²!h‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“requires“(all“standard“in“plain“T‘þ,³Ÿ[wEŽ‘B X):ŽŸ oŸù‘ü‰#c²!haracter(s)Ž‘Zç•Ï\ŽŽ‘}J¯{ŽŽ’Ÿ­É}ŽŽ’Âã¹CRŽ’î¬TT‘ÿeAB‘¦fSPŽ’/ÏÆÏAŽ’5p¹{ÏZŽ‘ faŽ‘%º¹{ÏzŽŽ’r x0Ž’wË"¹{Ï9ŽŽ’¢A›%ŽŽŽŸ ™š‘ü‰#¹category‘¦fcoMÞdeŽ‘[ 0Ž‘}m·1Ž’ŸÐÑ2Ž’ÇP5Ž’ûr»10Ž’="M11Ž’uU12Ž’Ÿ§Ö14ŽŽŽŽŸÓÆ‘ãŒF‘ÿeurthermore–¦fnone“of“the“remaining“prinš²!table“ASCIMÞI“c˜haractersޤ–ú’–(ýÏ!"#$&'()*,/:;?@[]^_`Ž’ "E|Ž’áï~ŽŽ¡‘㌹ma²!y–®ÛbšMÞe“of“category“0,–°ø1,“2,“9,“14,“or‘®Û15,“b˜ecause–®Ûall“should“b˜e“tokš²!ens“allo˜w˜ed“in“the“replacemen˜t“textޤ ™š‘ãŒof–¦fa“Ï\defŽ‘¥¹|this“also“means“that“they“maš²!y“not“bMÞe“activ˜e“c˜haracters“de ned“to“bMÞe“\Ï\outerŽ‘"}ü¹"!ŽŸ˜º‘ôŒAll–other“catcošMÞdes“needed“are“established“using“Ï\xycatcodes“¹de ned“ab˜o•²!v“e|this–is“the“reason“theŽ¡‘ãŒmacros–Em²!ust“bšMÞe“loaded“at“a“time“where“the“category“co˜des“are“stable“(otherwise“it“will“mak²!e“themŽ¡‘ãŒstable!).ŽŽŽŒ‹h Á à ý*tj‘ãŒÑ1.1.‘„CTHE‘ŽX‘ü·ŸâÃYŽŽ‘ p-PIC‘¦fIMPLEMENT–ÿeA“TION’B¹5ŽŽ ¶?? ýh«w‘ôŒInš²!ternally‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic–¦fenforces“the“follo˜wing“category“coMÞdes:ŽŸ*"Ÿëçx‘ó. c²!haracterŽ‘M*¨Ï#ŽŽ‘sËW$ŽŽ’—Œ1&ŽŽ’µa'ŽŽ’Önf+ŽŽ’ý-ŽŽ’"£".ŽŽ’Bw…<ŽŽ’]˜à=ŽŽ’xº;>ŽŽ’“Û–@ŽŽ’®üñ`ŽŽŽ¤ ™š‘ó. ¹ASCI•MÞI‘¦fco“deŽ‘Jã35Ž‘q1’36Ž’”òl38Ž’²óœ39Ž’ÓÔ¡43Ž’úuP45Ž’ ]46Ž’?ÝÀ60Ž’Zÿ61Ž’v v62Ž’‘AÑ64Ž’¬c,96ŽŽ¡‘ó. category‘¦fcoMÞdeŽ‘Kz}6Ž‘r,3Ž’•Ü4Ž’²óœ12Ž’ÓÔ¡12Ž’úuP12Ž’ ]12Ž’?ÝÀ12Ž’Zÿ12Ž’v v12Ž’‘AÑ11Ž’¬c,12ŽŽ¡‘ó. abbreviationŽ‘D‹)ÏHASHŽŽ‘k+ØDOLLŽŽ’‘̇ANDŽŽ’²­ŒRQŽŽ’ÍÎçPLUSŽŽ’ôo–DASHŽŽ’EDOTŽŽ’?—°LTŽŽ’Z¹ EQŽŽ’uÚfGTŽŽ’ûÁATŽŽ’¬LQŽŽŽŽŽŸ*½Ï‘㌹with–SspMÞecial“conš²!trol“sequences“named“Ï\addŽ‘QÆÇh¹abbreviationÇiÏ@Ž‘ ȹthat“tak˜e“an“argumen˜t“and“expand“to“itޤ ™š‘ãŒfollo•²!w“ed›³|b“y˜the˜original˜c“haracter˜tok“en,–¶ÁÐi¹.Ðe¹.,“man•²!y˜tests˜throughout˜the˜program˜loMÞok˜lik“e˜Ï\addDOT@ŽŽ¡‘ãŒ\ifxŽ‘þ1'\nextŽ‘•ß¹.–Ó3.“.Ž©Pˆ‘ãŒÃ293Ž‘õŒÏ\xywarnifdefined\addAT@ŽŽ¡‘ãŒÃ294Ž‘õŒÏ\xywarnifdefined\addHASH@ŽŽ¡‘ãŒÃ295Ž‘õŒÏ\xywarnifdefined\addDOLL@ŽŽ¡‘ãŒÃ296Ž‘õŒÏ\xywarnifdefined\addAND@ŽŽ¡‘ãŒÃ297Ž‘õŒÏ\xywarnifdefined\addRQ@ŽŽ¡‘ãŒÃ298Ž‘õŒÏ\xywarnifdefined\addPLUS@ŽŽ¡‘ãŒÃ299Ž‘õŒÏ\xywarnifdefined\addDASH@ŽŽ¡‘ãŒÃ300Ž‘õŒÏ\xywarnifdefined\addDOT@ŽŽ¡‘ãŒÃ301Ž‘õŒÏ\xywarnifdefined\addLT@ŽŽ¡‘ãŒÃ302Ž‘õŒÏ\xywarnifdefined\addEQ@ŽŽ¡‘ãŒÃ303Ž‘õŒÏ\xywarnifdefined\addGT@ŽŽ¡‘ãŒÃ304Ž‘õŒÏ\xywarnifdefined\addLQ@ŽŽ¦‘ãŒÃ306Ž‘õŒÏ\xydef@\xymakeADD@#1#2–¿ª#3“{\ifnum\catcode#3=6“\def#1##1{##1#2#2}%ŽŽ¡‘ãŒÃ307Ž‘ûKÃÏ\else‘¿ª\def#1##1{##1#2}\fi}ŽŽ¦‘ãŒÃ309Ž‘õŒÏ\xydef@\xyrecat@{\xymakeADD@\addAT@}ŽŽ¡‘ãŒÃ310Ž‘õŒÏ\xydef@\xyrecat{\xyrecat@}ŽŽ¡‘ãŒÃ311Ž‘õŒÏ\xydef@\xyresetcatcodes{\def\xyrecat{\xyrecat@}\xyreuncatcodesŽŽ¡‘ãŒÃ312Ž‘ûKÃÏ\input–¿ªxyrecat“\relax“\xyuncatcodes}ŽŽ¦‘ãŒÃ314Ž‘õŒÏ\xyuncatcodes–¿ª\xyresetcatcodes“\xycatcodesŽŽ¦‘ãŒÃ316Ž‘õŒÏ\xydef@\testAND@{{\aftergroup\ifxŽŽ¡‘ãŒÃ317Ž‘ mÏ\addAND@\ifx\next\addFalse@\else\addTrue@\fi}}ŽŽ¡‘ãŒÃ318Ž‘õŒÏ\xydef@\addFalse@{\aftergroup\iffalse}ŽŽ¡‘ãŒÃ319Ž‘õŒÏ\xydef@\addTrue@{\aftergroup\iftrue}ŽŽŸjx‘㌹Ho•²!w“ev“er,‘cit– {is“pMÞossible“to“`repair'“the“problem“in“case“anš²!y“of“the“c˜haracters“Ï#$&'+-.<=>`Ž‘IQD¹c˜hangeŽ¡‘ãŒcategory‘¦fcoMÞde:Ž‘ãŒŸ ÕF‰ffã²dŸ Ÿ ’ÃÛâÏ\xyresetcatcodesŽŽŽŸ”Ó‰ffã²dŸ„5¹will–¦fload“the“ le“Ïxyrecat.tex“¹(v²!ersion“3.3)“to“do“it.ŽŸ"UÃ1Ž‘Ï%%–¿ª$Id:“xyrecat.doc,v“3.3“1996/12/19“03:31:56“krisrose“Exp“$ŽŽ¡Ã2Ž‘Ï%%ŽŽ¡Ã3Ž‘Ï%%–¿ªXy-pic“``Reset“Category“Codes''“utility.ŽŽ¡Ã4Ž‘Ï%%–¿ªCopyright“(c)“1994-1996›"}üKristoffer“H.“Rose˜ŽŽ¡Ã5Ž‘Ï%%ŽŽ¡Ã6Ž‘Ï%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡Ã7Ž‘Ï%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡Ã8Ž‘Ï%%–¿ªCopyright“(c)“1991-1996›"}üKristoffer“H.“Rose˜ŽŽŽŽŒ‹y Á à ý*tj‘㌹6’0Ø¿ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽŸå‘ãŒÔHeader:‘ ó5¹The–÷command“is“de ned“in“Ïxy.docŽ‘&u¹:‘4the“purpšMÞose“of“this“ le“is“to“b˜e“reloadable“suc²!h“thatŽ¡‘ãŒthe–¦fcš²!haracters“can“bMÞe“reread“b˜y“T‘þ,³Ÿ[wEŽ‘B X“with“fresh“catcoMÞdes.ŽŸuì‘ôŒThe–•cošMÞde“rede nes“the“sp˜ecial“Ï\addŽ‘=¹.–Ó3.“.“Ï@Ž‘ šr¹conš²!trol–•sequences“used“for“parsing“of“just“those“c˜haracters,Ž¡‘ãŒassuming‘¦fÏ\nextŽ‘$ ¹is–¦fde ned“correctly“bMÞefore“loading“it:Ž©Pˆ‘ãŒÃ51Ž‘õŒÏ%\xyreuncatcodesŽŽ¡‘ãŒÃ52Ž‘õŒÏ\xyuncatcodesŽŽ¦‘ãŒÃ54Ž‘õŒÏ\xyrecat–¿ª@“64“\catcode“64“11ŽŽ¦‘ãŒÃ56Ž‘õŒÏ\xymakeADD@\addHASH@‘þ¨#‘¿ª35ŽŽ¡‘ãŒÃ57Ž‘õŒÏ\xymakeADD@\addDOLL@‘þ¨$‘¿ª36ŽŽ¡‘ãŒÃ58Ž‘õŒÏ\xymakeADD@\addAND@‘¾R&‘¿ª38ŽŽ¡‘ãŒÃ59Ž‘õŒÏ\xymakeADD@\addRQ@‘"}ü'‘¿ª39ŽŽ¡‘ãŒÃ60Ž‘õŒÏ\xymakeADD@\addPLUS@‘þ¨+‘¿ª43ŽŽ¡‘ãŒÃ61Ž‘õŒÏ\xymakeADD@\addDASH@‘þ¨-‘¿ª45ŽŽ¡‘ãŒÃ62Ž‘õŒÏ\xymakeADD@\addDOT@‘¾R.‘¿ª46ŽŽ¡‘ãŒÃ63Ž‘õŒÏ\xymakeADD@\addLT@‘"}ü<‘¿ª60ŽŽ¡‘ãŒÃ64Ž‘õŒÏ\xymakeADD@\addEQ@‘"}ü=‘¿ª61ŽŽ¡‘ãŒÃ65Ž‘õŒÏ\xymakeADD@\addGT@‘"}ü>‘¿ª62ŽŽ¡‘ãŒÃ66Ž‘õŒÏ\xymakeADD@\addLQ@‘"}ü`‘¿ª96ŽŽ¦‘ãŒÃ68Ž‘õŒÏ\endinputŽŽ¦‘ãŒÃ70Ž‘õŒÏ%–¿ª$Log:“xyrecat.doc,v“$ŽŽ¡‘ãŒÃ71Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ72Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ73Ž‘õŒÏ%ŽŽ¡‘ãŒÃ74Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:31:32˜krisŽŽ¡‘ãŒÃ75Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ76Ž‘õŒÏ%ŽŽ¡‘ãŒÃ77Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ78Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ79Ž‘õŒÏ%ŽŽ¡‘ãŒÃ80Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ81Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ82Ž‘õŒÏ%ŽŽŽŽŒ‹…I Á à ý*tj‘ãŒÑ1.1.‘„CTHE‘ŽX‘ü·ŸâÃYŽŽ‘ p-PIC‘¦fIMPLEMENT–ÿeA“TION’B¹7ŽŽ ¶?? ýh«w‘ãŒÃ83Ž‘õŒÏ%–¿ªNEW“file“to“go“in“version“3!ŽŽŸ*b‘ôŒ¹The–׿last“blošMÞc²!k“of“the‘¿X‘ü·ŸâÃYŽŽ‘>ð-pic“header“b˜o˜otstraps“the“\ÏDOCMODE‘ט¹format"“used“in“Ï.docŽ‘ ®t¹v‘ÿdDarian²!ts“ofޤ ™š‘âsÃX‘ü·ŸâÃYŽŽ‘íó#-pic–€*macro“ les“in“order“to“kš²!eep“doMÞcumen˜tation“and“macros“together“in“a“literal“programming“st˜yleŽ¡‘ãŒ(this–¶(is“redundanš²!t“in“the“Ïxy.texŽ‘)êL¹macro“ le“where“all“instances“of“ÏDOCMODEŽ‘/©ö¹ha˜v˜e“bMÞeen“eliminated“(seeŽ¡‘ãŒcš²!hapter–Çx¹D.3.2“for“ho˜w“this“is“accomplished)“but“it“is“included“an˜yw˜a˜y“since“users“ma˜y“load“optionsŽ¡‘ãŒstill–fRin“ÏDOCMODEŽ›/ J¹format).‘ÈThe“details“of“ÏDOCMODEŽ˜¹are“describšMÞed“in“Ïxydoc.styŽ‘7#L¹,‘s#a“sp˜ecial“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“pac²!k‘ÿdDageŽ¡‘ãŒused–¦fto“t²!ypšMÞeset‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“do˜cumenš²!tation;“please“read“it“if“y˜ou“in˜tend“to“write‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“options.ŽŸÚ#‘ãŒÔIn¦ttegration–LÍwith“standard“formats‘ ó5¹This–Þžis“handled“bš²!y“the“Ïxyidioms.texŽ‘J¹4¹ le“and“the“in˜tegrationŽ¡‘ãŒas–¦fa“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“[10Ž‘ ó4]“pacš²!k‘ÿdDage“b˜y“Ïxy.styŽ‘&$b¹.Ž¡‘ôŒW‘ÿee–¦finput“Ïxyidioms.texŽ‘LHĹfrom“the“k²!ernel:ŽŸPˆ‘ãŒÃ350Ž‘õŒÏ\input‘¿ªxyidiomsŽŽ©!‘‘ãŒÔxyidioms.doY‹c:‘ ó5¹This–a®included“ le“pro²!vides“some“common“idioms“whose“de nition“depMÞends“on“theŽ¡‘ãŒused–·1format“sucš²!h“that‘žÛX‘ü·ŸâÃYŽŽ‘;-pic“can“use“prede ned“dimension“registers“etc.“and“y˜et“still“bšMÞe“indep˜enden²!tŽ¡‘ãŒof–uthe“format“under“whicš²!h“it“is“used.‘§The“curren˜t“v˜ersion“(3.4)“handles“plain“T‘þ,³Ÿ[wEŽ‘B X“(v˜ersion“2“and“3“[6Ž‘yš]),Ž¡‘ãŒÇA‘þ,³Ÿ[wMŽ‘ ô©S¹-T‘þ,³Ÿ[wEŽ›B X–U€(v²!ersion“2.0“and“2.1“[17Ž‘ ó4]),‘FLŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ˜X“(v²!ersion“2.09“[9Ž‘yš]“and“2Ä"“¹[10Ž‘ ó4]),‘FÇA‘þ,³Ÿ[wMŽ‘ ô©S¹-LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ˜X“(v²!ersion“1.0,Ž¡‘ãŒ1.1–¦f[2Ž›yš],“and“1.2),“and“eplain“(v²!ersion“2.6“[3Ž˜])Ÿü¾Â2ŽŽ‘À¹.ަ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyidioms.doc,v“3.4“1997/05/18“01:14:25“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªFormat-dependent“idioms“for“Xy-pic.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyidiomsloaded\empty–¿ª\message{not“reloaded}\endinput“\fiŽŽ¡‘ãŒÃ25Ž‘õŒÏ\let\xyidiomsloaded=\emptyŽŽŸáP‘ãŒÔHeader:‘ ó5¹This–¦fis“a“separate“ le“so“that“w²!e“can“abMÞort“the“de nitions“easily“using“Ï\endinputŽ‘7c`¹.Ž‘ãŒŸ ¯/‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã2ŽŽŽ‘¦aÖThe–T`v2'“feature“inš¾9troAÇduces“some“name“con icts,“in“order“to“main˜tain“compatibilit˜y“with“earlier“v˜ersions“of‘(„X‘ý9™ŸŒÊYŽŽ‘ Þ1-pic.ŽŽŽŒ‹U Á à ý*tj‘㌹8’0Ø¿ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÔScratc¦th‘(%registers:‘ ó5¹All–¾¾the“formats“currenš²!tly“treated“allo˜w“the“use“of“the“follo˜wing“plain“T‘þ,³Ÿ[wEŽ‘B X“scratc˜hŽ© ™š‘ãŒregister›¦fcon•²!v“en“tions˜(Ðcf¹.˜[6Ž‘yš,˜p.346])ޤîÄ‘óøéÇŽŽŽ‘þìÏ\count@Ž‘*Ð)¹is–¦faš²!v‘ÿdDailable“as“a“loMÞcal“scratc˜h“coun˜ter“register.Ž¡‘óøéÇŽŽŽ‘þìÏ\dimen@Ž‘')ù,‘[¥Ï\dimen@iŽ‘2Xõ¹,‘[¥Ï\dimen@iiŽ‘8Ÿ¹,‘[¥Ï\dimen3Ž‘0а¹to‘7eÏ\dimen9Ž‘,u ¹,‘[¥and‘7eÏ\dimen255Ž‘<+Ĺare–7eaš²!v‘ÿdDailable“as“scratc˜hަ‘þìdimension‘¦fregisters.Ž¡‘óøéÇŽŽŽ‘þìÏ\skip@Ž‘!j¹,‘¦fÏ\skip1Ž‘)Êȹto‘¦fÏ\skip9Ž‘&$b¹,–¦fand“Ï\skip255Ž‘5J¹are“aš²!v‘ÿdDailable“as“scratc˜h“skip“registers.Ž¡‘óøéÇŽŽŽ‘þìÏ\toks@Ž‘%¹and‘¦fÏ\toks1Ž–)Êȹto‘¦fÏ\toks9Ž“¹are–¦faš²!v‘ÿdDailable“as“scratc˜h“tok˜en“lists.Ž¡‘óøéÇŽŽŽ‘þìÏ\boxz@Ž‘%¹and‘¦fÏ\box1Ž–$ ¹to‘¦fÏ\box9Ž“¹are–¦faš²!v‘ÿdDailable“as“scratc˜h“bMÞo˜x“registers.ŽŸîÑãŒwith–žùthe“constrainš²!t“that“Ï\global“¹should“nev˜er“(alw˜a˜ys)“bMÞe“used“when“assigning“to“n˜um˜bMÞer“0,– v2,“4,“6,ަ‘ãŒ8,–¦fand“255“(1,“3,“5,“7,“and“9).ޤeÉ‘âI·ÔX‘ü8åŸòVYŽŽ‘ï©-spY‹eci c–ðáscratc¦th“registers:‘ ó5¹W‘ÿee–Kç rst“giv²!e“new“names“to“dimension“registers“4,–uG6,“and‘Kç8,“sinceަ‘ãŒnone–¬Mof“the“formats“do“that:‘é«Ï\A@Ž‘(©¹,‘­ÇÏ\B@Ž‘ìŹ,‘­Çand“Ï\R@Ž‘—˜¹are“spšMÞeci c“to‘“÷X‘ü·ŸâÃYŽŽ‘W-pic“and“will“b˜e“referred“to“as“ÄA¹,‘­ÇÄB‘Œ¤¹,ަ‘ãŒand–¦fÄR‘¼¹in“commen²!ts.ŽŸPˆ‘ãŒÃ85Ž‘õŒÏ\xywarnifdefined\A@‘¿ª\dimendef\A@=4ŽŽ¦‘ãŒÃ86Ž‘õŒÏ\xywarnifdefined\B@‘¿ª\dimendef\B@=6ŽŽ¦‘ãŒÃ87Ž‘õŒÏ\xywarnifdefined\R@‘¿ª\dimendef\R@=8ŽŽŸeÒ‘ôŒ¹Some–¦fshared“scratc²!h“registers“are“de ned“last.Ž¡‘ãŒÔIdioms:‘ ó5¹First›—ŽŽ¡Ã5Ž‘Ï%%ŽŽ¡Ã6Ž‘Ï%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡Ã7Ž‘Ï%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡Ã8Ž‘Ï%%–¿ªCopyright“(c)“1991-1996›"}üKristoffer“H.“Rose˜ŽŽ¡Ã9Ž‘Ï%%ŽŽ¡Ã10Ž‘Ï%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡Ã11Ž‘Ï%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡Ã12Ž‘Ï%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡Ã13Ž‘Ï%%–¿ªoption)“any“later“version.ŽŽ¡Ã14Ž‘Ï%%ŽŽ¡Ã15Ž‘Ï%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡Ã16Ž‘Ï%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡Ã17Ž‘Ï%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡Ã18Ž‘Ï%%–¿ªfor“more“details.ŽŽ¡Ã19Ž‘Ï%%ŽŽ¡Ã20Ž‘Ï%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡Ã21Ž‘Ï%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡Ã22Ž‘Ï%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¦Ã24Ž‘Ï%–¿ªLoad“Xy-pic“with“catcode“of“@“set“as“it“will“be“in“user“text:ŽŽ¡Ã25Ž‘Ï\count255=\the\catcode`\@–¿ª{\catcode`\@=11“\xdef\xystycatcode{\the\count255}}ŽŽ¡Ã26Ž‘Ï\makeatletterŽŽ¦Ã28Ž‘Ï%–¿ªREPAIR“bug“of“the“2e“version“of“AMS-LaTeX“where“\makeatother“is“broken...ŽŽŽŽŒ‹ Å) Á à ý*tj‘㌹12’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ29Ž‘õŒÏ\ifx\@ifpackageloaded\undefined‘¿ª\makeatotherŽŽ© ™š‘ãŒÃ30Ž‘õŒÏ\else‘¿ª\@ifpackageloaded{amstex}{\catcode`\@=\active}{\makeatother}\fiŽŽ¤Pˆ‘ãŒÃ32Ž‘õŒÏ\input‘¿ªxyŽŽ¡‘ãŒÃ34Ž‘õŒÏ%–¿ªThat“is“all“unless“this“is“called“as“a“LaTeX2e“`native“mode'“package.‘ TIsŽŽ¦‘ãŒÃ35Ž‘õŒÏ%–¿ªthere“an“official“way“to“check“this?‘ TAnyway,“this“seems“to“work:ŽŽ¦‘ãŒÃ36Ž‘õŒÏ\makeatletterŽŽ¦‘ãŒÃ37Ž‘õŒÏ\ifx\if@compatibility\undefined–¿ª\catcode`\@=\xystycatcode“\endinput“\fiŽŽ¡‘ãŒÃ39Ž‘õŒÏ%–¿ªEnsure“that“we“are“*really*“running“LaTeX2e...!ŽŽ¦‘ãŒÃ40Ž‘õŒÏ\NeedsTeXFormat{LaTeX2e}ŽŽ¡‘ãŒÃ42Ž‘õŒÏ%–¿ªThis“file“provides“the“current“version“of“Xy-pic!ŽŽ¦‘ãŒÃ43Ž‘õŒÏ\edef\next{%ŽŽ¦‘ãŒÃ44Ž‘ûKÃÏ\noexpand\ProvidesPackage{xy}[\xydate\space–¿ªXy-pic“version“\xyversion]}\nextŽŽ¡‘ãŒÃ46Ž‘õŒÏ%–¿ªRecognise“some“standard“LaTeX2e“class“options“(cf.“`LaTeX“Companion'“p.317):ŽŽ¦‘ãŒÃ47Ž‘õŒÏ\DeclareOption{cmactex}{\xyoption{cmactex}}ŽŽ¦‘ãŒÃ48Ž‘õŒÏ\DeclareOption{dvips}{\xyoption{dvips}\xyoption{ps}}ŽŽ¦‘ãŒÃ49Ž‘õŒÏ\DeclareOption{dvitops}{\xyoption{dvitops}\xyoption{ps}}ŽŽ¦‘ãŒÃ50Ž‘õŒÏ\DeclareOption{emtex}{\xyoption{emtex}}ŽŽ¦‘ãŒÃ51Ž‘õŒÏ\DeclareOption{ln}{\xywarning@{`ln'–¿ªDVI“driver“not“yet“fully“supported}}ŽŽ¦‘ãŒÃ52Ž‘õŒÏ\DeclareOption{oztex}{\xyoption{oztex}}ŽŽ¦‘ãŒÃ53Ž‘õŒÏ\DeclareOption{textures}{\xyoption{textures}}ŽŽ¦‘ãŒÃ54Ž‘õŒÏ\DeclareOption{xdvi}{\xyoption{xdvi}}ŽŽ¡‘ãŒÃ56Ž‘õŒÏ%–¿ªThis“is“special:ŽŽ¦‘ãŒÃ57Ž‘õŒÏ\DeclareOption{colour}{\xyoption{color}}–¿ª%“:-)ŽŽ¡‘ãŒÃ59Ž‘õŒÏ%–¿ªThis“(obsolete)“cmtip“style“option“should“be“activated“after“loading:ŽŽ¦‘ãŒÃ60Ž‘õŒÏ\DeclareOption{cmtip}{\xyoption{cmtip}\UseComputerModernTips}ŽŽ¡‘ãŒÃ62Ž‘õŒÏ%–¿ªPass“the“desired“tip“size“if“definedŽŽ¦‘ãŒÃ63Ž‘õŒÏ\DeclareOption{10pt}{\xywithoption{tips}{\def\tipsize@@{10}}}ŽŽ¦‘ãŒÃ64Ž‘õŒÏ\DeclareOption{11pt}{\xywithoption{tips}{\def\tipsize@@{11}}}ŽŽ¦‘ãŒÃ65Ž‘õŒÏ\DeclareOption{12pt}{\xywithoption{tips}{\def\tipsize@@{12}}}ŽŽ¡‘ãŒÃ67Ž‘õŒÏ%–¿ªOther“options“are“just“loaded.ŽŽ¦‘ãŒÃ68Ž‘õŒÏ\DeclareOption*{\edef\next{\noexpand\xyoption{\CurrentOption}}\next}ŽŽ¡‘ãŒÃ70Ž‘õŒÏ%–¿ªReinstall“catcode“of“@...ŽŽ¦‘ãŒÃ71Ž‘õŒÏ\catcode`\@=\xystycatcodeŽŽ¡‘ãŒÃ73Ž‘õŒÏ%–¿ª...“process“the“options,“and“that“is“all.ŽŽ¦‘ãŒÃ74Ž‘õŒÏ\ProcessOptionsŽŽ¡‘ãŒÃ76Ž‘õŒÏ\endinputŽŽ¡‘ãŒÃ78Ž‘õŒÏ%–¿ª$Log:“xy.sty,v“$ŽŽ¦‘ãŒÃ79Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¦‘ãŒÃ80Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¦‘ãŒÃ81Ž‘õŒÏ%ŽŽ¦‘ãŒÃ82Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:31:32“krisŽŽ¦‘ãŒÃ83Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¦‘ãŒÃ84Ž‘õŒÏ%ŽŽ¦‘ãŒÃ85Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¦‘ãŒÃ86Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽŽŽŒ‹ Ó€ Á à ý*tj‘ãŒÑ1.1.‘„CTHE‘ŽX‘ü·ŸâÃYŽŽ‘ p-PIC‘¦fIMPLEMENT–ÿeA“TION’ ¨¹13ŽŽ ¶?? ýh«w‘ãŒÃ87Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ88Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ89Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ90Ž‘õŒÏ%ŽŽ¡‘ãŒÃ91Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ92Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ93Ž‘õŒÏ%ŽŽ¡‘ãŒÃ94Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:59:19“krisŽŽ¡‘ãŒÃ95Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ96Ž‘õŒÏ%ŽŽ¡‘ãŒÃ97Ž‘õŒÏ%–¿ªRevision“2.8– T1994/04/08“04:30:00“krisŽŽ¡‘ãŒÃ98Ž‘õŒÏ%–¿ªSecond“(bug“fix)“3alpha“release.ŽŽ¡‘ãŒÃ99Ž‘õŒÏ%ŽŽ¡‘ãŒÃ100Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/08“02:06:01“krisŽŽ¡‘ãŒÃ101Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ102Ž‘õŒÏ%ŽŽ¡‘ãŒÃ103Ž‘õŒÏ%–¿ªNew“for“version“2.7.ŽŽŸ,é´‘ãŒÞ1.1.2Ž‘ ÌLogo,–€v ersion,“and“messagesŽŸæ]‘㌹Loading‘›X‘ü·ŸâÃYŽŽ‘ w-pic–³mprinš²!ts“a“banner“con˜taining“the“v˜ersion“and“author“of“the“k˜ernel;‘ksmall“progress“messagesŽ¡‘ãŒare–fprinš²!ted“when“eac˜h“ma‘›»jor“division“of“the“k˜ernel“has“bMÞeen“loaded.‘®ÝAn˜y“options“loaded“will“announceŽ¡‘ãŒthemself–¦fin“a“similar“fashion.ŽŸ;h‘ôŒOf–Ä»these,‘ OÏ\stripRCS‘Äq¹is“a“vš²!ery“useful“hac˜k“for“extracting“the“ rst“compMÞonen˜t“of“an“R˜CS‘ÄqÏ$Ž‘ „¹.–Ó3.“.“Ï$ŽŽ¡‘㌹k•²!eyw“ord‘¦fv‘ÿdDalue.Ž©Pˆ‘ãŒÃ412Ž‘õŒÏ\xydef@\stripRCS$#1${\stripRCS@#1:–¿ª@@“@@@}ŽŽ¡‘ãŒÃ413Ž‘õŒÏ\xydef@\stripRCS@#1:–¿ª#2@“#3@@@{%ŽŽ¡‘ãŒÃ414Ž‘ûKÃÏ\ifx–¿ª@#2\string?\else\ifx“:#2\else\stripRCS@@#2\fi\fi}ŽŽ¡‘ãŒÃ415Ž‘õŒÏ\xydef@\stripRCS@@#1–¿ª#2:“@{#1}ŽŽ¦‘ãŒÃ417Ž‘õŒÏ\edef\next{\stripRCS$Revision:–¿ª3.7“$}ŽŽ¡‘ãŒÃ418Ž‘õŒÏ\xylet@\xyversion=\nextŽŽ¦‘ãŒÃ420Ž‘õŒÏ\edef\next{\stripRCS$Date:–¿ª1999/02/16“15:12:50“$}ŽŽ¡‘ãŒÃ421Ž‘õŒÏ\xylet@\xydate=\nextŽŽ¦‘ãŒÃ423Ž‘õŒÏ\xydef@\Xygreet@{%ŽŽ¡‘ãŒÃ424Ž‘ûKÃÏ\W@{}%ŽŽ¡‘ãŒÃ425Ž‘ûKÃÏ\W@{–¿ªXy-pic“version“\xyversion\space<\xydate>}%ŽŽ¡‘ãŒÃ426Ž‘ûKÃÏ\W@{–¿ªCopyright“(c)“1991-1998“by“Kristoffer“H.“Rose“}%ŽŽ¡‘ãŒÃ427Ž‘ûKÃÏ\W@{–¿ªXy-pic“is“free“software:“see“the“User\string's“Guide“for“details.}%ŽŽ¡‘ãŒÃ428Ž‘ûKÃÏ\W@{}}ŽŽ¡‘ãŒÃ429Ž‘õŒÏ\Xygreet@ŽŽ¡‘ãŒÃ430Ž‘õŒÏ\expandafter\everyjob\expandafter{\the\everyjob\Xygreet@}ŽŽ¦‘ãŒÃ432Ž‘õŒÏ\message{Loading‘¿ªkernel:}ŽŽŸòV‘ôŒ¹If–î¼yš²!ou“refer“to‘ÖfX‘ü·ŸâÃYŽŽ‘ UÆ-pic“in“y˜our“written“text“(please“do“Ç Ž‘[‹ÂŽ‘;‰Å^ŽŽŽ‘ªM¹)“then“y˜ou“can“use“the“command“Ï\Xy-picŽ‘íd¹toŽ¡‘ãŒtš²!ypMÞeset–p´the“\‘þçªX‘ü·ŸâÃYŽŽ‘ g -pic"“logo.‘Ë÷The“v˜ersion“of“the“k˜ernel“is“t˜ypMÞeset“b˜y“Ï\xyversion“¹and“the“release“date“b˜yŽ¡‘ãŒÏ\xydate–O¹(as“found“in“the“banner).‘°ÕBy“the“w•²!a“y‘ÿe,‘:Sthe‘ùX‘ü·ŸâÃYŽŽ‘ †Y-pic–OÐname‘Ò¡Ÿü¾Â3ŽŽ‘±ô¹originates“from“the“fact“that“the“ rstŽ‘ãŒŸ ªj‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã3ŽŽŽ‘¦aÖNo–Tdescription“of“a“T‘þuAŸïÿEŽ‘˜ŸX“program“is“complete“without“an“explanation“of“its“name.ŽŽŽŒ‹Þô Á à ý*tj‘㌹14’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘㌹v•²!ersion›ªdw“as˜little˜more˜than˜supp•MÞort˜for˜(Äx;‘Ó1yd“¹)˜co“ordinates˜in˜a˜con gurable˜co“ordinate˜system˜whereޤ ™š‘ãŒthe–ïGmain“idea“w²!as“that“Ðal‘Fl‘ñ¹opšMÞerations“could“b˜e“sp˜eci ed“in“a“manner“indep˜endenš²!t“of“the“orien˜tationŽ¡‘ãŒof–BÊthe“cošMÞordinates.‘³This“prop˜ert²!y“has“b˜een“mainš²!tained“except“that“no˜w“the“pac˜k‘ÿdDage“allo˜ws“explicitŽ¡‘ãŒabsolute–¦forienš²!tation“as“w˜ell.Ž©Pˆ‘ãŒÃ451Ž‘õŒÏ\xydef@\Xy{\leavevmodeŽŽ¡‘ãŒÃ452Ž‘ûKÃÏ\hbox{\kern-.1em‘¿ªX\kern-.3em\lower.4ex\hbox{Y\kern-.15em}}}ŽŽŸu‘ôŒ¹Messages–¬‹that“start“with“\ÏXy-picŽ‘&*‡Warning¹"“are“indications“that“something“needs“yš²!our“atten˜tion;Ž¡‘ãŒan–¦f\ÏXy-picŽ‘&$bError¹"“will“stop“T‘þ,³Ÿ[wEŽ‘B X“bšMÞecause‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“do˜es“not“knoš²!w“ho˜w“to“proMÞceed.ŽŸ ¾¯‘ôŒW‘ÿee–ܪuse“the“input“line“n•²!um“bMÞer–ܪif“aš²!v‘ÿdDailable“and“rudimen˜tary“help“in“the“form“of“a“reference“to“theŽ¡‘ãŒmanš²!ual–Äyif“no“spMÞeci c“help“string“is“giv˜en.‘8Ï\newlinechar“¹is“set“loMÞcally“to“Ï^^JŽ‘Çð¹while“writing“suc˜h“thatŽ¡‘ãŒmessages–¦fof“sev²!eral“lines“can“bMÞe“written.ަ‘ãŒÃ469Ž‘õŒÏ\message{messages;}ŽŽ¦‘ãŒÃ471Ž‘õŒÏ\xywarnifdefined\thelineno@ŽŽ¡‘ãŒÃ472Ž‘õŒÏ\ifx\inputlineno\undefined‘¿ª\edef\thelineno@{\string?}ŽŽ¡‘ãŒÃ473Ž‘õŒÏ\else‘¿ª\def\thelineno@{\the\inputlineno}\fiŽŽ¡‘ãŒÃ474Ž‘õŒÏ\xydef@\xytracelineno@{‘¿ª\string[\jobname:\thelineno@\string]}ŽŽ¦‘ãŒÃ476Ž‘õŒÏ\xydef@\xywarning@#1{{\newlinechar=10‘¿ª%ŽŽ¡‘ãŒÃ477Ž‘ mÏ\W@{}\W@{Xy-pic–¿ªWarning:“#1\xytracelineno@.}\W@{}}}ŽŽ¦‘ãŒÃ479Ž‘õŒÏ\xydef@\xyerror@#1#2{\if\inxy@\xy@{ERROR‘¿ª#1}{}\fiŽŽ¡‘ãŒÃ480Ž‘ûKÃÏ{\def\2{#2}\newlinechar=10‘¿ª%ŽŽ¡‘ãŒÃ481Ž‘ mÏ\ifx\2\empty–¿ª\errhelp{See“the“Xy-pic“manual“for“further“information.}%ŽŽ¡‘ãŒÃ482Ž‘ mÏ\else‘¿ª\errhelp{#2}\fiŽŽ¡‘ãŒÃ483Ž‘ mÏ\errmessage{Xy-pic–¿ªerror:“#1}}}ŽŽŸu‘ôŒ¹Finally–¦fone“that“I“hopMÞe“will“nev²!er“get“expanded“Ç Ž‘5ÂŽ‘ó3Å_ŽŽŽŽ¦‘ãŒÃ489Ž‘õŒÏ\xydef@\xybug@#1{{\newlinechar=10‘¿ª%ŽŽ¡‘ãŒÃ490Ž‘ûKÃÏ\errhelp{This–¿ªis“a“bug“in“Xy-pic“and“should“not“happen!^^J%ŽŽ¡‘ãŒÃ491Ž‘õŒÏIf–¿ªit“did“then“please“send“a“bug“report“with“the“offending“Xy-pic“code^^J%ŽŽ¡‘ãŒÃ492Ž‘õŒÏto–¿ªthe“author“of“Xy-pic,“krisrose@ens-lyon.fr.}%ŽŽ¡‘ãŒÃ493Ž‘ûKÃÏ\errmessage{Xy-pic–¿ªBUG:“#1“--“notify“krisrose@ens-lyon.fr.}}}ŽŽŸ"Ý^‘ãŒÞ1.1.3Ž‘ ÌF‘þàon tsŽŸô ‘㌹The‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic–¦fkš²!ernel“implemen˜tation“mak˜es“its“dra˜wings“using“ v˜e“spMÞecially“designed“fon˜ts:ŽŸA€N‘Uq¤ŸÍvi‰ffÿçO¤ …ÌÍŸ}„ ™™ff‘‹8ŸûëƒF‘ÿeon²!tŽ‘HÕè„ ™™ffŽ‘n¨çCharactersŽ’Ç¶ÌŸ}„ ™™ffŽ’ÌéÿDefaultŽ’ÿ´Ÿ}„ ™™ffŽŽ©zã‰ffÿçO¡ÌÍŸ}„ ™™ff‘ÌÍŸûëƒÏ\xydashfontŽ‘HÕè„ ™™ffŽ‘y`¹dashesŽ’Ç¶ÍŸ}„ ™™ffŽ’ÌéÿÏxydash10Ž’ÿ´Ÿ}„ ™™ffŽŽ¤ ™™ÌÍŸ}„ ™™ff‘ÌÍŸûëƒ\xyatipfontŽ‘HÕè„ ™™ffŽ‘TUйarro²!w–¦ftips,“uppMÞer“halfŽ’Ç¶ÍŸ}„ ™™ffŽ’ÌéÿÏxyatip10Ž’ÿ´Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘ÌÍŸûëƒ\xybtipfontŽ‘HÕè„ ™™ffŽ‘U³ò¹arroš²!w–¦ftips,“lo˜w˜er“halfŽ’Ç¶ÍŸ}„ ™™ffŽ’ÌéÿÏxybtip10Ž’ÿ´Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘ÌÍŸûëƒ\xybsqlfontŽ‘HÕè„ ™™ffŽ‘SA¹quarter–¦fcircles“forŽ’Ç¶ÍŸ}„ ™™ffŽ’ÌéÿÏxybsql10Ž’ÿ´Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘HÕè„ ™™ffŽ‘d"¸¹hoMÞoks–¦fand“squigglesŽ’Ç¶ÌŸ}„ ™™ffŽ’ÿ´Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘ÌÍŸûëƒÏ\xycircfontŽ‘HÕè„ ™™ffŽ‘Z¸¾¹1Ä=¹8–¦fcircle“segmen²!tsŽ’Ç¶ÌŸ}„ ™™ffŽ’ÌéÿÏxycirc10Ž’ÿ´Ÿ}„ ™™ffŽŽ¦‰ffÿçOŽŽŸB ‘㌹The–7G rst“four“conš²!tain“v‘ÿdDariations“of“c˜haracters“in“a“large“n˜um˜bMÞer“of“directions,‘[the“last“con˜tains“1/8Ž¡‘ãŒcircle‘¦fsegmen²!ts.ŽŸÀ ‘ãŒÔNote:‘ ó5¹The–Ådefault“fonš²!ts“are“not“part“of“the‘¬ÁX‘ü·ŸâÃYŽŽ‘,!-pic“k˜ernel“Ðsp–ÿp¹e“ci c“ation‘× ¹:‘>they–Åjust“set“a“standard“forŽ¡‘ãŒwhat–ÁØdraš²!wing“capabilities“should“at“least“bMÞe“required“b˜y“an‘©‚X‘ü·ŸâÃYŽŽ‘(â-pic“implemen˜tation.‘04Implemen˜tationsŽŽŽŒ‹êÖ Á à ý*tj‘ãŒÑ1.1.‘„CTHE‘ŽX‘ü·ŸâÃYŽŽ‘ p-PIC‘¦fIMPLEMENT–ÿeA“TION’ ¨¹15ŽŽ ¶?? ýh«w‘ãŒexploiting–yAcapabilitites“of“particular“output“devices“are“in“use.‘VoHence“the“fonš²!ts“are“only“loaded“b˜yޤ ™š‘âsÃX‘ü·ŸâÃYŽŽ‘íó#-pic–ÒÛif“the“conš²!trol“sequence“names“are“unde ned|this“is“used“to“preload“them“at“di eren˜t“sizes“orŽ¡‘ãŒprev•²!en“t–¦fthem“from“bMÞeing“loaded“at“all.Ž© ¹U‘ôŒT‘ÿeo–2ÙbšMÞe“more“precise,‘= X‘ü·ŸâÃYŽŽ‘½-pic“requires“Ï\xydashfont“¹to“b˜e“a“Ðsemidir–ÿp¹e“ctional‘Tƒ¹fon²!t–2Ùas“ÁMETÇAFŽ9ONT“¹willŽ¡‘ãŒgenerate–×ewith“the“drivš²!er“ le“Ïxyd2.mf¹|this“is“v˜ery“impMÞortan˜t“bMÞecause“the“Ðitalic‘ƒc–ÿp¹orr“e“ctions‘½}¹of‘×etheŽ¡‘ãŒcš²!haracters–6Min“this“particular“fon˜t“are“used“to“appro˜ximate“trigonometric“computations,‘ZFso“if“y˜ou“re-Ž¡‘ãŒplace–ÖùÏ\xydashfont“¹bMÞe“sure“to“replace“it“with“another“semidirectional“fonš²!t!‘o—Similarly‘ÿe,‘ãthe“three“fon˜tsŽ¡‘ãŒÏ\xyatipfont¹,–sÏ\xybtipfont¹,“and–f-Ï\xybsqlfont“¹should“bMÞe“Ðdir–ÿp¹e“ctional‘‡×¹as–f-ÁMETÇAFŽ9ONT“¹will“generate“withŽ¡‘ãŒthe–¦fdriv²!er“ le“Ïxyd.mf¹.ަ‘ôŒFinally‘ÿe,‘­:Ï\xycircfont–nï¹should“conš²!tain“1Ä=¹8“circle“segmen˜ts“of“v‘ÿdDarious“radii“as“describMÞed“in“Ïxycirc10.mfŽ‘A«=¹.ަ‘ôŒThe–.ýfolloš²!wing“coMÞde“loads“the“fon˜ts“Ðunless–}it“was“alr–ÿp¹e“ady‘}lo“ade“d‘P§¹and–.ýde nes“some“assoMÞciated“dimen-Ž¡‘ãŒsions–ƒfor“Ï\xydashfont“¹and“Ï\xybsqlfont¹:‘²for“eacš²!h“of“these“Äf‘>?¹w˜e“de ne“ÄfŸÈ®Å`Ž‘ i¹as“the“length“of“a“unit“inŽ¡‘ãŒthe–æmcurrenš²!t“direction“(used“when“juxtapMÞosing“for“connections),‘öoÄfŸÈ®ÅhŽ‘ L^¹as“the“heigh˜t“of“the“unit“(used“forŽ¡‘ãŒsevš²!eral–Ïparallel“connections),‘9íand“ÄfŸ¤zÅwŽ‘ ïl¹as“the“`line“width'“of“the“unit“(to“kno˜w“ho˜w“to“in˜terface“to“rules).ޤPˆ‘ãŒÃ557Ž‘õŒÏ\message{fonts;}ŽŽ¡‘ãŒÃ559Ž‘õŒÏ\xydef@\xyfont@#1{\ifx#1\undefined‘¿ª\DN@{\global\font#1}\expandafter\next@ŽŽ© ™š‘ãŒÃ560Ž‘ûKÃÏ\else–¿ª\xywarning@{Using“previously“loaded“\string#1\space“font}\fi}ŽŽ¡‘ãŒÃ562Ž‘õŒÏ\xyfont@\xydashfont=xydash10ŽŽ¦‘ãŒÃ563Ž‘õŒÏ\xydef@\xydashl@{\fontdimen6\xydashfont}ŽŽ¦‘ãŒÃ564Ž‘õŒÏ\xydef@\xydashh@{\fontdimen5\xydashfont}ŽŽ¦‘ãŒÃ565Ž‘õŒÏ\xydef@\xydashw@{\fontdimen8\xydashfont}ŽŽ¡‘ãŒÃ567Ž‘õŒÏ\xyfont@\xyatipfont=xyatip10ŽŽ¦‘ãŒÃ568Ž‘õŒÏ\xyfont@\xybtipfont=xybtip10ŽŽ¡‘ãŒÃ570Ž‘õŒÏ\xyfont@\xybsqlfont=xybsql10ŽŽ¦‘ãŒÃ571Ž‘õŒÏ\xydef@\xybsqll@{\fontdimen6\xybsqlfont}ŽŽ¦‘ãŒÃ572Ž‘õŒÏ\xydef@\xybsqlh@{\fontdimen5\xybsqlfont}ŽŽ¦‘ãŒÃ573Ž‘õŒÏ\xydef@\xybsqlw@{\fontdimen8\xybsqlfont}ŽŽ¡‘ãŒÃ575Ž‘õŒÏ\xyfont@\xycircfont=xycirc10ŽŽŸ"¾Æ‘ãŒÞ1.1.4Ž‘ ÌAllo`cationsŽŸ饑㌹One–îî nal“thing“that“yš²!ou“m˜ust“bMÞe“a˜w˜are“of“is“that‘Ö˜X‘ü·ŸâÃYŽŽ‘Uø-pic“alloMÞcates“a“signi can˜t“n˜um˜bMÞer“of“dimensionަ‘ãŒregisters–”_and“some“coun•²!ters,›ÏÝtok“en–”_registers,˜and“bMÞo²!x“registers,˜in“order“to“represen²!t“the“state“andަ‘ãŒdo–ý0computations.‘â:The“currenš²!t“k˜ernel“alloMÞcates“4“coun˜ters,›Râ28“dimensions,˜2“bMÞoš²!x“registers,4“tok˜enަ‘ãŒregisters,›•Ý1–eøread“c²!hannel,˜and“1“write“c²!hannel“(when“running“under“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X;‘ÅÁsome“other“formats“useަ‘ãŒsligh²!tly–¯}more“bšMÞecause“standard“generic“temp˜oraries“are“used).‘ù#Options“ma²!y“allo˜cate“further“registersަ‘ãŒ(curren²!tly–Üloading“Ðeverything‘•ݹloads“6“dimen-,›Ÿ‘3“toks-,˜1“bMÞo²!x-,˜and“9“coun²!t-registers“in“addition“to“theަ‘ãŒk²!ernel‘¦fones).Ž¡‘ãŒÃ598Ž‘õŒÏ\message{allocations:}ŽŽŸpC‘ôŒ¹See–¦fÇx¹1.1.1“for“scratc²!h“register“alloMÞcations.ŽŸ¡r‘ãŒÔPicture‘ïÓstate:‘ ó5¹These–l`realise“the“picture“state“as“describMÞed“in“Çx¹1.2.5:‘ÀÚÄc¹,–wûÄp¹,“the›l`Ðb‘ÿp¹ase‘Ò¡¹,“and˜the˜pictureަ‘ãŒsize:Ž¡‘ãŒÃ609Ž‘õŒÏ\message{state,}ŽŽ¡‘ãŒÃ611Ž‘õŒÏ\xynew@{dimen}\X@cŽŽ¦‘ãŒÃ612Ž‘õŒÏ\xynew@{dimen}\Y@cŽŽŽŽŒ‹úê Á à ý*tj‘㌹16’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ613Ž‘õŒÏ\xynew@{dimen}\U@cŽŽ¤ ™š‘ãŒÃ614Ž‘õŒÏ\xynew@{dimen}\D@cŽŽ¡‘ãŒÃ615Ž‘õŒÏ\xynew@{dimen}\L@cŽŽ¡‘ãŒÃ616Ž‘õŒÏ\xynew@{dimen}\R@cŽŽ¡‘ãŒÃ617Ž‘õŒÏ\xynew@{toks}\Edge@cŽŽ©Pˆ‘ãŒÃ619Ž‘õŒÏ\xynew@{dimen}\X@pŽŽ¡‘ãŒÃ620Ž‘õŒÏ\xynew@{dimen}\Y@pŽŽ¡‘ãŒÃ621Ž‘õŒÏ\xynew@{dimen}\U@pŽŽ¡‘ãŒÃ622Ž‘õŒÏ\xynew@{dimen}\D@pŽŽ¡‘ãŒÃ623Ž‘õŒÏ\xynew@{dimen}\L@pŽŽ¡‘ãŒÃ624Ž‘õŒÏ\xynew@{dimen}\R@pŽŽ¡‘ãŒÃ625Ž‘õŒÏ\xynew@{toks}\Edge@pŽŽ¦‘ãŒÃ627Ž‘õŒÏ\xynew@{dimen}\X@origin‘¿ª\X@origin=\z@ŽŽ¡‘ãŒÃ628Ž‘õŒÏ\xynew@{dimen}\Y@origin‘¿ª\X@origin=\z@ŽŽ¡‘ãŒÃ629Ž‘õŒÏ\xynew@{dimen}\X@xbaseŽ‘„ \X@xbase=1mmŽŽ¡‘ãŒÃ630Ž‘õŒÏ\xynew@{dimen}\Y@xbaseŽ‘„ \Y@xbase=\z@ŽŽ¡‘ãŒÃ631Ž‘õŒÏ\xynew@{dimen}\X@ybaseŽ‘„ \X@ybase=\z@ŽŽ¡‘ãŒÃ632Ž‘õŒÏ\xynew@{dimen}\Y@ybaseŽ‘„ \Y@ybase=1mmŽŽ¦‘ãŒÃ634Ž‘õŒÏ\xynew@{dimen}\X@minŽŽ¡‘ãŒÃ635Ž‘õŒÏ\xynew@{dimen}\Y@minŽŽ¡‘ãŒÃ636Ž‘õŒÏ\xynew@{dimen}\X@maxŽŽ¡‘ãŒÃ637Ž‘õŒÏ\xynew@{dimen}\Y@maxŽŽŸ%Ïð‘ãŒÔDrop–2and“connect:‘ ó5Ï\lastobjectbox@Ž‘dÔ‘¹stores–¦fthe“most“recen²!tly“droppMÞed“ob‘›»ject.ަ‘ãŒÃ646Ž‘õŒÏ\xynew@{box}\lastobjectbox@ŽŽŸ ”‘ôŒ\zerodotbox@Ž‘≠¹is–D§of“zero“size“with“a“`dot'“in“the“form“of“a“rule“the“width“and“heigh²!t“as“the“lineŽ¡‘ãŒwidth–¦fof“the“line“fonš²!t;“Ï\zz‘¿ª@“¹is“`almost-zero-c˜hec˜k'.ަ‘ãŒÃ654Ž‘õŒÏ\xynew@{box}\zerodotbox@ŽŽ¡‘ãŒÃ655Ž‘õŒÏ\setbox\zerodotbox@=\hbox{\dimen@=.5\xydashw@ŽŽ¡‘ãŒÃ656Ž‘ûKÃÏ\kern-\dimen@–¿ª\vrule“width\xydashw@“height\dimen@“depth\dimen@}ŽŽ¡‘ãŒÃ657Ž‘õŒÏ\wd\zerodotbox@=\z@–¿ª\ht\zerodotbox@=\z@“\dp\zerodotbox@=\z@ŽŽ¦‘ãŒÃ659Ž‘õŒÏ\xynew@{dimen}\almostz@‘¿ª\almostz@=50spŽŽ¡‘ãŒÃ660Ž‘õŒÏ\xydef@\zz@#1{\ifdim#1<\z@-\fi#1<\almostz@\relax}ŽŽ¦‘ãŒÃ662Ž‘õŒÏ\xynew@{if}\iftmp@ŽŽŸ%Ïð‘ãŒÔDirection‘2state:‘ ó5¹The–¦fdirection“state“is“rather“complicated“and“describMÞed“in“detail“in“Çx¹1.8.1.ަ‘ãŒÃ671Ž‘õŒÏ\message{direction,}ŽŽ¦‘ãŒÃ673Ž‘õŒÏ\xynew@{dimen}\d@XŽŽ¡‘ãŒÃ674Ž‘õŒÏ\xynew@{dimen}\d@YŽŽ¡‘ãŒÃ675Ž‘õŒÏ\xydef@\sd@X{}ŽŽ¡‘ãŒÃ676Ž‘õŒÏ\xydef@\sd@Y{}ŽŽ¦‘ãŒÃ678Ž‘õŒÏ\xynew@{count}\K@‘¿ª\K@=1024ŽŽ¡‘ãŒÃ679Ž‘õŒÏ\xynew@{count}\KK@‘¿ª\KK@=32ŽŽ¦‘ãŒÃ681Ž‘õŒÏ\xynew@{count}\DirectionŽŽŽŽŒ‹ L Á à ý*tj‘ãŒÑ1.1.‘„CTHE‘ŽX‘ü·ŸâÃYŽŽ‘ p-PIC‘¦fIMPLEMENT–ÿeA“TION’ ¨¹17ŽŽ ¶?? ýh«w‘ãŒÃ682Ž‘õŒÏ\xynew@{dimen}\K@dXdYŽŽ¤ ™š‘ãŒÃ683Ž‘õŒÏ\xynew@{dimen}\K@dYdXŽŽ©Pˆ‘ãŒÃ685Ž‘õŒÏ\xydef@\cosDirection{}ŽŽ¡‘ãŒÃ686Ž‘õŒÏ\xydef@\sinDirection{}ŽŽ¦‘ãŒÃ688Ž‘õŒÏ\xywarnifdefined\DirectionCharŽŽ¡‘ãŒÃ689Ž‘õŒÏ\xywarnifdefined\SemiDirectionCharŽŽŸ!µÛ‘ãŒÔMiscellaneous:‘ ó5¹Finally–¦fsome“generic“alloMÞcations“used“in“the“follo²!wing:ަ‘ãŒÃ697Ž‘õŒÏ\xynew@{read}\xyread@Ž’Û~©%–¿ªfor“`safe“input'ŽŽ¡‘ãŒÃ698Ž‘õŒÏ\xynew@{write}\xywrite@Ž’Û~©%–¿ªfor“`saving'“to“.xyc“fileŽŽ¦‘ãŒÃ700Ž‘õŒÏ\xynew@{count}\csp@Ž’Û~©%–¿ªfor“`control“stack“pointer'ŽŽ¡‘ãŒÃ701Ž‘õŒÏ\xynew@{dimen}\quotPTK@Ž’Û~©%–¿ªfor“`fractions'ŽŽŸSÒ‘ôŒ¹The–¦frequired“tempMÞoraries“are“de ned“b²!y“Ïxyidioms.texŽ‘H¢^¹.ŽŸeS‘ãŒÞ1.1.5Ž‘ ÌUtilit y‘€macrosŽŸ²c‘㌹Finally–¦fwš²!e“de ne“some“utilit˜y“macros.ަ‘ãŒÃ715Ž‘õŒÏ\message{utility‘¿ªmacros;}ŽŽ¤!µÛ‘ãŒÔSimple‘2queue:‘ ó5¹Just–¦fappMÞending“to“the“Ï\toks‘¿ª@“¹list.ަ‘ãŒÃ724Ž‘õŒÏ\xydef@\addtotoks@#1{\toks@=\expandafter{\the\toks@#1}}ŽŽ¡‘ãŒÔSafe‘“input:‘ ó5¹Checš²!k–€(that“ le“is“a˜v‘ÿdDailable“bMÞefore“input.‘ÑT‘ÿeries“the“alternate“extension“Ï.docŽ‘þø¹in“case“theޤ ™š‘ãŒÏ.texŽ‘þ©ü¹ le–;is“not“there.‘H]The“second“is“the“lo•²!w“est›;lev“el˜function˜used˜when˜the˜desired˜ les˜cannot˜bMÞeŽ¡‘ãŒpreloaded–¦fand“do“not“exist“in“Ï.docŽ‘Kt¹form.ަ‘ãŒÃ735Ž‘õŒÏ\xydef@\xyinputorelse@#1#2{%ŽŽ¡‘ãŒÃ736Ž‘ûKÃÏ\expandafter\let\expandafter\next@\csname#1loaded\endcsnameŽŽ¡‘ãŒÃ737Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\elseŽŽ¡‘ãŒÃ738Ž‘ mÏ\DN@{\xyinputorelse@@{#1}{\xyinputorelse@@{#1.doc}{#2}}}%ŽŽ¡‘ãŒÃ739Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ741Ž‘õŒÏ\xydef@\xyinputorelse@@#1#2{\openin\xyread@=#1‘¿ª%ŽŽ¡‘ãŒÃ742Ž‘ûKÃÏ\ifeof\xyread@–¿ª\DN@{#2}\else“\DN@{\closein\xyread@\input#1“}\fi“\next@}ŽŽŸ!µÛ‘ãŒÔCon•¦ttin“uation‘…ßstac“k:‘ ó5¹This–îÚis“used“to“`enš²!ter'“a“new“con˜text“and“`lea˜v˜e'“to“the“previous“con˜text.‘·8ItŽ¡‘ãŒwš²!orks–¸ as“a“stac˜k“de ning“a“con˜trol“sequence“for“eac˜h“lev˜el,‘¼tth˜us“using“a“coun˜ter“as“the“stac˜k“pMÞoin˜ter.Ž¡‘ãŒDe nes–¦fthe“follo²!wingŽ‘ãŒŸ ‘V‰ffã²dŸ ˆf‘MBçÏ\csp@ŽŽ’¤–K¹`Con•²!tin“uation›¦fStac“k˜P“oin“ter'ŽŽŽŽ¡‘MBçÏ\enter@{Ž‘{@7Çh¹coMÞdeÇiÏ}ŽŽ’¤–K¹Enš²!ter–©înew“bloMÞc˜k“with“Çh¹coMÞdeÇi“¹expanded“as“con˜tin˜u-Ž¡’¤–KationŽŽŽŽŸ¶‘MBçÏ\nter@{Ž‘u€Çh¹coMÞdeÇiÏ}ŽŽ’¤–K¹Enš²!ter–¦fnew“bloMÞc˜k“withÇh¹coMÞdeÇi“¹as“con˜tin˜uationŽŽŽŽ¡‘MBçÏ\dontleave@ŽŽ’¤–K¹Execute›¦fcon•²!tin“uation˜without˜lea“ving˜bloMÞc“kŽŽŽŽ¡‘MBçÏ\unenter@ŽŽ’¤–K¹Lea•²!v“e›¦fbloMÞc“k˜without˜executing˜its˜con“tin“uationŽŽŽŽ¡‘MBçÏ\leave@ŽŽ’¤–K¹Lea•²!v“e›¦fbloMÞc“k˜(execute˜its˜con“tin“uation)ŽŽŽŽŸ~-‰ffã²dŸ ßŽŽŒ‹r Á à ý*tj‘㌹18’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ôŒ¹So‘¦fÏ\enter@{}\leave@Ž‘cGl¹is–¦fa“noMÞop“and“Ï\leave@Ž‘/Šr¹is“the“same“as“Ï\dontleave@\unenter@Ž‘vŸ®¹.ޤPˆ‘ãŒÃ765Ž‘õŒÏ\global\csp@=\z@ŽŽ¡‘ãŒÃ767Ž‘õŒÏ\xydef@\enter@#1{\global\advance\csp@\@neŽŽ© ™š‘ãŒÃ768Ž‘ûKÃÏ\expandafter\xdef\csname‘¿ªcs@\number\csp@\endcsname{#1}\ignorespaces}ŽŽ¡‘ãŒÃ770Ž‘õŒÏ\xydef@\nter@#1{\global\advance\csp@\@neŽŽ¦‘ãŒÃ771Ž‘ûKÃÏ\expandafter\gdef\csname‘¿ªcs@\number\csp@\endcsname{#1}\ignorespaces}ŽŽ¡‘ãŒÃ773Ž‘õŒÏ\xydef@\dontleave@{\csname‘¿ªcs@\number\csp@\endcsname}ŽŽ¡‘ãŒÃ775Ž‘õŒÏ\xydef@\unenter@{\global\advance\csp@\m@ne}ŽŽ¡‘ãŒÃ777Ž‘õŒÏ\xydef@\leave@{\expandafter\unenter@\csname‘¿ªcs@\number\csp@\endcsname}ŽŽŸ â’‘ãŒÔF‘þó\ractions:‘ ó5¹Belo•²!w›Μw“e˜often˜use˜a˜factor˜on˜the˜form˜of˜a˜quotien“t˜ÄA=B‘Œ¤¹.‘V~Here˜is˜a˜hac“k˜to˜get˜it;‘â·itަ‘ãŒis–¦fnot“v²!ery“precise“but“suces“for“our“needs.Ž‘ãŒŸ¾£‰ffã²dŸ ¸ù‘46&Ï\quotient@Ž‘qY0Çh¹csÇi‘¦fÏ{Ž– fÄAÏ}Ž“{Ž‘%ºÄB‘Œ¤Ï}ŽŽ’½£ ¹De nes–§³Çh¹csÇi“¹to“expand“(immediately)“to“the“factorަ’½£ correspšMÞonding–Œhto“ÄA=B‘Œ¤¹;‘ÿiÄA¹,‘ÅèÄB‘ ¹m²!ust“b˜e“dimensionsަ’½£ where‘¦fÇjŽ‘±ÄAÇjŽŽ‘üÊÄ<‘ §Ï\maxdimenŽ‘6Ç¡Ä=ÏKKŽ‘%º¹and‘¦fÇjŽ‘±ÄB‘Œ¤ÇjŽŽ‘¡GÄ>‘ §ÏKKŽŽŽŽŽŸ(u‘46&\quotient@@Ž‘wÚÇh¹csÇi‘¦fÏ{Ž– fÄAÏ}Ž“{Ž‘%ºÄB‘Œ¤Ï}ŽŽ’½£ ¹Same,–¦fbut“uses“8ÏKKŽ›%º¹for“ÏKKŽ˜¹.ŽŽŽŽŸ®À‰ffã²dŸm’–¦fÐNotes‘æ¹:›ÝÝ(1)“If“Ï\cŽ‘Ì ¹is“a“coun²!t“register,“then“Ï{1\c}Ž‘$ ¹is“a“legal“dimension.˜(2)“Really“computesޤÐÆ’ ½¢(Ž’¤ÿÅ(ÄA–nìÇ“jŽ‘y—ÏKKŽ‘øëÇjŽŽ‘–¹)Ä=¹(ÄB‘Œ¤=‘Ó1ÇjŽ‘ÝÜÏKKŽ‘]0ÇjŽŽ‘gÛ¹))ŽŽ’ ‚Ç‘nì¹(Ž‘±Ï1ptŽ‘ð Ä=‘Ó1ÇjŽ‘ÝÜÏKŽ‘ †ÇjŽŽ‘ ¨1¹)ŽŽŽ¡and–Mäthen“de nes“Çh¹csÇi“¹to“expand“to“the“resulting“ÏptŽ‘¹v‘ÿdDalue.‘À]This“means“that“results“are“only“reasonableަfor‘¦fÇjŽ‘±ÄAÇjŽŽ‘üÊ‘ §Ï\maxdimenŽ‘6Ç¡Ä=ÏKKŽ‘%º¹and‘¦fÇjŽ‘±ÄB‘Œ¤ÇjŽŽ‘¡G‘ §ÏKKŽ‘‰û¹.ޤPˆÃ807Ž‘Ï\quotPTK@=\p@‘¿ª\divide\quotPTK@\K@ŽŽ¦Ã808Ž‘Ï\xylet@\quotsign@@=\emptyŽŽ¦Ã809Ž‘Ï\xywarnifdefined\removePT@ŽŽ¦Ã810Ž‘Ï{\catcode`p=12–¿ª\catcode`t=12“\gdef\removePT@#1pt{#1}}ŽŽ¡Ã812Ž‘Ï\xydef@\quotient@#1#2#3{\A@=#2\relax‘¿ª\B@=#3\relaxŽŽ¦Ã813Ž‘¿ªÏ\ifdim\A@<\z@\def\quotsign@@{-}\else\def\quotsign@@{+}\fiŽŽ¦Ã814Ž‘¿ªÏ\ifdim\quotsign@@\A@<15pt‘¿ª\multiply\A@\K@ŽŽ¦Ã815Ž‘¿ªÏ\else\ifdim\quotsign@@\A@<511pt‘¿ª\multiply\A@\KK@ŽŽ¦Ã816Ž‘#>þÏ\advance\B@\ifdim\B@<\z@-\fi–¿ª16sp“\divide\B@\KK@ŽŽ¦Ã817Ž‘TÏ\elseŽŽ¦Ã818Ž‘#>þÏ\advance\B@\ifdim\B@<\z@-\fi–¿ª512sp“\divide\B@\K@ŽŽ¦Ã819Ž‘¿ªÏ\fi\fiŽŽ¦Ã820Ž‘¿ªÏ\ifdim\ifdim\B@<\z@-\fi\B@<\quotPTK@–¿ª\xywarning@{division“overflow}%ŽŽ¦Ã821Ž‘¿ªÏ\else–¿ª\advance\A@.5\B@“\divide\A@\B@“\fiŽŽ¦Ã822Ž‘¿ªÏ\multiply\A@\quotPTK@‘¿ª\edef#1{\expandafter\removePT@\the\A@}}ŽŽ¡Ã824Ž‘Ï\xydef@\quotient@@#1#2#3{\A@=#2\relax–¿ª\B@=#3\relax“\multiply\A@\KK@ŽŽ¦Ã825Ž‘¿ªÏ\advance\B@\ifdim\B@<\z@-\fi–¿ª128sp“\divide\B@\KK@“\divide\B@“8“%ŽŽ¦Ã826Ž‘¿ªÏ\ifdim\B@=\z@\else–¿ª\advance\A@.5\B@“\divide\A@\B@“\fiŽŽ¦Ã827Ž‘¿ªÏ\B@=.125\quotPTK@–¿ª\multiply\A@\B@“\edef#1{\expandafter\removePT@\the\A@}}ŽŽŸ â’ÔLoY‹ops:‘ Úß¹X‘ü·ŸâÃYŽŽ‘Z?-pic–¦fuses“its“oš²!wn“Ï\loop@Ž‘)Êȹto“a˜v˜oid“in˜terference“with“plain“Ï\loop¹.Ž¡Ã836Ž‘Ï\xydef@\loop@#1\repeat@{\def\body@{#1}\iterate@}\xylet@\repeat@=\fiŽŽ¦Ã837Ž‘Ï\xydef@\iterate@{\body@\expandafter\iterate@\else\fi}ŽŽŽŽŒ‹³ Á à ý*tj‘ãŒÑ1.2.‘„CPICTURE‘¦fBASICS’`™Õ¹19ŽŽ ¶?? ýh«w‘ãŒÔExecution:‘ ó5¹All–¦fexecution“of‘ŽX‘ü·ŸâÃYŽŽ‘ p-commands“should“bMÞe“`indirect',“Ði¹.Ðe¹.,“executeޤn?‘yjtÏ\xy@{Ž’–(ÆÇh¹sourceÇiŽ’¼“YÏ}{Ž’È­Çh¹in²!ternal‘¦fcommandsÇiŽ’+ xÏ}ŽŽ¡‘㌹where–é:the“Çh¹in²!ternal“commandsÇi“¹directly“do“the“desired“opMÞeration(s).‘¦YThis“is“used“for“tracing“andޤ ™š‘ãŒcan–‰bMÞe“used“to“separate“parsing“and“execution“bš²!y“c˜hanging“Ï\xy@Ž‘1¹;‘ÅšÏ\oxy@Ž‘'”u¹is“k˜ept“stable“suc˜h“thatŽ¡‘ãŒÏ\let\xy@=\oxy@Ž‘7Ô¹will–ˆoreestablish“a“sane“state;‘’lit“should“only“bMÞe“cš²!hanged“with“Ï\change@oxy@Ž‘L Ö¹to“mak˜eŽ¡‘ãŒthis–¦feasy“to“v²!erify‘ÿe.Ž©Pˆ‘ãŒÃ854Ž‘õŒÏ\xydef@\xyinitial@#1#2{\DN@{#1}%ŽŽ¡‘ãŒÃ855Ž‘ûKÃÏ\xyerror@{command–¿ªused“out“of“context:“\codeof\next@}{}}ŽŽ¦‘ãŒÃ857Ž‘õŒÏ\xylet@\xy@=\xyinitial@ŽŽ¡‘ãŒÃ858Ž‘õŒÏ\xylet@\oxy@=\xy@ŽŽ¦‘ãŒÃ860Ž‘õŒÏ\xydef@\change@oxy@#1{\let\oxy@=#1\relaxŽŽ¡‘ãŒÃ861Ž‘õŒÏ%‘¿ª\W@{*OXY@:=\meaning\oxy@}%ŽŽ¡‘ãŒÃ862Ž‘õŒÏ}ŽŽ¤—j‘ôŒ¹This–›uis“also“used“to“c•²!hec“k–›uwhether“an‘ƒX‘ü·ŸâÃYŽŽ‘ -picture“is“already“activ²!e;‘ôquse“as“Ï\if\inxy@Ž‘6Xo¹.–Ó3.“.“Ï\elseŽ‘‘…¹.“.“.“Ï\fiŽ‘1¹:ަ‘ãŒÃ869Ž‘õŒÏ\xydef@\inxy@{T\ifx\xy@\xyinitial@–¿ªF\else“T\fi}ŽŽ¡‘ôŒ¹The–¬ nal“execution“command“is“a“tricš²!k“used“to“put“bits“of“the“user's“input“inside“the“Ï\next@Ž‘'×¹scratc˜hޤ ™š‘ãŒmacro›FÐwith–RÂthe“user's“c–ÿp¹atc“o“des‘RÂintact‘ ê¹:‘¿Ï\xy@@ix@{Ž‘9|—¹.–Ó3.“.“Ï}Ž‘ ª#¹is˜the˜same˜as˜Ï\xy@@{\global\toks9={Ž‘|Ð8¹.“.“.“Ï}}ŽŽ¡‘㌹except–¦ffor“the“category“coMÞdes“used“for“the“.–Ó3.“.“.ަ‘ãŒÃ879Ž‘õŒÏ\xydef@\xyxy@@ix@{\begingroupŽŽ¡‘ãŒÃ880Ž‘ûKÃÏ\xyuncatcodes\afterassignment\endgroup\global\toks9=}ŽŽ¤—j‘ôŒ¹This–¦fto“sa•²!v“e–¦fsome“tokš²!ens“{“ma˜ybMÞe“not“w˜orth“it:ަ‘ãŒÃ886Ž‘õŒÏ\xydef@\xy@@{\xy@{}}ŽŽ¡‘ôŒ¹Finally–¦fthis“to“establish“a“sane“state“{“only“use“within“a“group!ަ‘ãŒÃ892Ž‘õŒÏ\xydef@\plainxy@{\let\xy@=\xyxy@–¿ª\change@oxy@\xy@“\let\xy@@ix@=\xyxy@@ix@}ŽŽ¡‘ôŒÔT‘þó\o‘”EDo:‘E¹Clean–Ùüup“all“uses“of“these“sucš²!h“that“Çh¹sourceÇi“¹is“alw˜a˜ys“that“and“only“that.‘xžDe ne“aޤ ™š‘ãŒmethošMÞd–€qfor“`inner'“Ðaka‘W|¹`implied'“Çh¹sourceÇi“¹that“do˜esn't“really“coun²!t“in“that“it“is“a“consequence“of“someŽ¡‘ãŒother‘¦fsource.–Ó3.“.ŽŸ)Ì>‘ãŒÝ1.2Ž‘r|Picture‘ffbasicsŽŸ죑㌹The–G basic“concepts“in•²!v“olv“ed–G when“constructing‘.´X‘ü·ŸâÃYŽŽ‘®-pictures“are“pMÞositions“and“ob‘›»jects,‘o2and“ho²!w“theyŽ¡‘ãŒcomš²!bine–¦fto“form“the“state“used“b˜y“the“graphic“engine.ޤà|‘ôŒThe–¦fgeneral“structure“of“an‘ŽX‘ü·ŸâÃYŽŽ‘ p-picture“is“as“follo²!ws:Ž‘ãŒŸ\‰ffã²dŸ Ëþ’µIÏ\xy–¦fÇh¹pMÞosÇi“h¹decorÇi“Ï\endxyŽŽŸÁʼnffã²dŸ ¹builds–+¹a“bMÞoš²!x“with“an‘cX‘ü·ŸâÃYŽŽ‘ ’Ã-picture“(LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“users“ma˜y“substitute“Ï\begin{xy}Ž‘?Ô¹.–Ó3.“.‘þìÏ\end{xy}Ž‘6'õ¹if–+¹they“prefer).Ž¡‘Çh¹pšMÞosÇi–tZ¹and“Çh¹decorÇi“¹are“comp˜onen²!ts“of“the“sp˜ecial“`graphic“language'“whic²!h‘\X‘ü·ŸâÃYŽŽ‘ Ûd-pictures“are“sp˜eci edޤ ™šin.‘ÃiW‘ÿee–W explain“the“language“compMÞonenš²!ts“in“general“terms“in“this“Çx“¹and“in“more“depth“in“the“follo˜wingŽ¡Çxx¹.ŽŸà|‘The–¦fcoMÞde“for“the“Ï\xyŽ‘åd¹.–Ó3.“.“Ï\endxyŽ‘'÷•¹command–¦fis“presen²!ted“last“in“this“section.ŽŽŽŒ‹,• Á à ý*tj‘㌹20’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÞ1.2.1Ž‘ ÌP ositionsŽ©D‘㌹All–KÐp‘ÿp¹ositions‘c¹ma²!y“bMÞe“written“Ï<Ž‘ÛõÄX‘ÛøÏ,Ž‘›¢ÄY‘nïÏ>Ž‘ Jä¹where“ÄX‘øC¹is“the“T‘þ,³Ÿ[wEŽ‘B X“dimension“distance“Ðright‘&5¹and“ÄY‘‹:¹the“distanceޤ ™š‘ãŒÐup‘rK¹from–ÁYthe“Ðzer–ÿp¹o‘ï9p“osition‘˜dÏ0–ÁY¹of“the‘©X‘ü·ŸâÃYŽŽ‘(c-picture“(Ï0Ž‘ ¹has“coMÞordinates“Ï<0mm,0mm>Ž‘8~S¹,‘of“course).‘.µThe“zeroŽ¡‘ãŒpšMÞosition–}Jof“the‘dôX‘ü·ŸâÃYŽŽ‘ äT-picture“determines“the“b˜o²!x“pro˜duced“b²!y“the“Ï\xy¹.–Ó3.“.“Ï\endxy–}J¹command“together“withŽ¡‘ãŒthe–+®four“parameters“ÄXŸ¤zÂminŽ›ª¸¹,–ŒÿÄXŸ¤zÂmaxŽ‘QÖ¹,“ÄYŸ¤zÂminŽ˜¹,“and–+®ÄYŸ¤zÂmaxŽ‘}„¹set“suc²!h“that“all“the“ob‘›»jects“in“the“picture“areŽ¡‘ãŒ`conš²!tained'–¦fin“the“follo˜wing“rectangle:ŽŸ‘Øg¹0"“principle,–@·Ðe¹.Ðg¹.,“the–!Úindicated“T‘þ,³Ÿ[wEŽ‘B X“reference“pMÞoin˜tŽ¡‘ãŒhas–ñÊcošMÞordinates“Ï<Ž‘ ±tÄXŸ¤zÂminŽ‘ª¸Ï,0pt>Ž‘/ZÔ¹within“the‘ÙtX‘ü·ŸâÃYŽŽ‘XÔ-picture.‘À The“zero“p˜osition“do˜es“not“ha•²!v“e–ñÊto“b˜e“con²!tainedŽ¡‘ãŒin–«the“picture,‘¬Abut“ÄXŸ¤zÂminŽ–½.Ç›vÄXŸ¤zÂmaxŽ‘ÃâÇ^‘r ÄYŸ¤zÂminŽ“Ç˜ÄYŸ¤zÂmaxŽ‘üë¹alw•²!a“ys–«holds.‘ëëThe“pšMÞossible“p˜ositions“are“describ˜ed“inŽ¡‘ãŒdetail–¦fin“Çx¹1.3.ŽŸ çØ‘ôŒWhen–L¾an‘4hX‘ü·ŸâÃYŽŽ‘³È-picture“is“enš²!tered“in“Ðmath‘owmo‘ÿp¹de‘_¹then“the“reference“pMÞoin˜t“bMÞecomes“the“\v˜cen˜ter"Ž¡‘ãŒinstead,–¦fÐi¹.Ðe¹.,“wš²!e“use“the“pMÞoin˜t“Ï<Ž‘ fÄXŸ¤zÂminŽ‘ª¸Ï,-\the\fontdimen22>Ž‘м¹as“reference“pMÞoin˜t.ŽŸ£‘ãŒÞ1.2.2Ž‘ ÌOb‘Àjectsަ‘㌹The–¦²simplest“form“of“putting“things“in²!to“the“picture“is“to“`drop'“an“Ðobje‘ÿp¹ct‘°œ¹at“a“pMÞosition.‘ÞÂAn“ob‘›»ject“isŽ¡‘ãŒlikš²!e–?ha“T‘þ,³Ÿ[wEŽ‘B X“bMÞo˜x“except“that“it“has“a“general“ÐEdge‘ ¹around“its“reference“pMÞoin˜t|in“particular“this“has“theŽ¡‘ãŒÐextents‘öM¹(Ði¹.Ðe¹.,‘*¨it–5is“alw•²!a“ys›5con“tained˜within)˜the˜dimensions˜ÄL¹,–*¨ÄR¨¹,“ÄU‘1Ÿ¹,“and˜ÄD‘^¹a•²!w“a“y˜from˜the˜referenceŽ¡‘ãŒpMÞoinš²!t–`Äin“eac˜h“of“the“four“directions“left,–n±righ˜t,“up,“and–`Ädo˜wn.‘ƧOb‘›»jects“are“encošMÞded“in“T‘þ,³Ÿ[wEŽ‘B X“b˜o²!xes“usingŽ¡‘ãŒthe›Jmcon•²!v“en“tion˜that˜the˜T‘þ,³Ÿ[wEŽ‘B X˜reference˜pMÞoin“t˜of˜an˜ob‘›»ject˜is˜at˜its˜left˜edge,‘soth“us˜shifted˜Ï<Ž‘ ÇŽ‘Ž]ÄLÏ,0pt>ŽŽ¡‘㌹from–Êthe“cenš²!ter|so“a“T‘þ,³Ÿ[wEŽ‘B X“bMÞo˜x“ma˜y“bšMÞe“said“to“b˜e“a“rectangular“ob‘›»ject“with“ÄL–¢¹=“Ï0ptŽ‘Π¹.‘š Here–Êis“anŽ¡‘ãŒexample:ŽŸeE‘vYƒïps: SDict begin xyc endŸýh0’“pßï2" {0.0 42.65114 -14.23187 -28.48038 22.75652 ov}xyŽŽŽ’‘¤Ÿÿ4ýÈŽŽŽŽŽŽ‘võåŸýh0ï" {-28.48038 0.0 dt}xyŽŽŽ’‚Ovž#ìÅLŽŽŽŽ’¾Ÿýh0ï" {42.65114 0.0 dt}xyŽŽŽ’¥Šnž#ìRŽŽŽŽŸýh0’“pߟ;\ï" {0.0 -14.23187 dt}xyŽŽŽ’Ö ŸAšDŽŽŽŽŸýh0’“pߟé>Uï" {0.0 22.75652 dt}xyŽŽŽ’#¾ŸôÃUŽŽŽŽŸœv¹T‘þ,³Ÿ[wEŽ‘B X–¦freference“pMÞoin²!tŽŽŽŽ‘tÕãŸÿ;¿ÈŽŽŽŽŽ‘võåŸýh0ï" {24.0 9.60004 dt}xyŽŽŽŽŽŽŽŸ!$o‘㌹The– >ob‘›»ject“shoš²!wn“has“a“rectangle“edge“but“others“are“a˜v‘ÿdDailable“ev˜en“though“the“k˜ernel“only“suppMÞortsŽ¡‘ãŒrectangle–2¸and“circle“edges.‘·NIt“is“also“pMÞossible“to“use“en²!tire‘bX‘ü·ŸâÃYŽŽ‘ ™Â-pictures“as“ob‘›»jects“with“a“rectangle“edge,Ž¡‘ãŒÏ0Ž‘íùas–wPthe“reference“pMÞoin²!t,›«ŠÄL–fÖ¹=“ÇÄXŸ¤zÂminŽŽ‘$¨4¹,˜ÄR‘|~¹=“ÄXŸ¤zÂmaxŽŽ‘Ë ¹,˜ÄD‘´´¹=“ÇÄYŸ¤zÂminŽŽ‘!ñ>¹,˜and›wPÄU‘˜u¹=“ÄYŸ¤zÂmaxŽŽ‘¹.‘PœThe˜commands˜forŽ¡‘ãŒob‘›»jects–¦fare“describMÞed“in“Çx¹1.4.ŽŸ£‘ãŒÞ1.2.3Ž‘ ÌConnectionsަ‘㌹Besides–RMhaš²!ving“the“abilit˜y“to“bšMÞe“dropp˜ed“at“a“p˜osition“in“a“picture,‘call“ob‘›»jects“ma²!y“b˜e“used“to“Ðc–ÿp¹onne“ctŽ¡‘㌹the›Jtt•²!w“o˜curren“t˜ob‘›»jects˜of˜the˜state,–\ØÐi¹.Ðe¹.,“Äp˜¹and˜Äc¹.‘¿7F‘ÿeor˜most˜ob‘›»jects˜this˜is˜done˜b•²!y˜` lling'˜the˜straigh“tŽ¡‘ãŒline›¦fbMÞet•²!w“een˜the˜cen“ters˜with˜as˜man“y˜copies˜as˜will˜ t˜bMÞet“w“een˜the˜ob‘›»jects:ŽŸ@Qg‘x‰±ïps: SDict begin xyc end‘•Ÿþ…ó;Îcmmi6ÆpŽŽŽŽ‘Ÿýh0ï" {6.0 0 360 o}xyŽŽŽŽŽ’¯ ÈŸÔ cŽŽŽŽŸÒºc’°·4ï" {0.0 9.0 -4.0 -9.0 4.0 ov}xyŽŽŽ’§·4ŸÔúcï" {155.89508 38.97359 dd}xyŽŽŽŸÍß4’™c¬ž™„3232ŽŽŽ’šº)‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŸ?’™JŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’§·5Ÿóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’™c¬ž™„3232ŽŽ’šº)‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŽŽ’ 84ŸØ3½ÈŽŽŽŽŽŽ’™}EŸÖfðï" {-8.53021 0.0 dt}xyŽŽŽ’›70ŸØs½ÆLŽŽŽŽ’§·4ŸÖfðï" {5.69609 0.0 dt}xyŽŽŽ’¢ŸØs½RŽŽŽŽŸÖf𒢟²3ï" {0.0 -5.69609 dt}xyŽŽŽ’žíqŸÛLÖDŽŽŽŽŸÖf𒢟÷xDï" {0.0 8.53021 dt}xyŽŽŽ’Ÿ.€ŸÔ/ßUŽŽŽŽŽŽŽŽŽŸÑΞ’‰¥üž™„3232ŽŽŽ’Šüy‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŸ?’‰ŒcŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’—ù…Ÿóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’‰¥üž™„3232ŽŽ’Šüy‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŽŽ’z„ŸÜ#'ÈŽŽŽŽŽŽ’‰¿•ŸÚVZï" {-8.53021 0.0 dt}xyŽŽŽ’‹y€ŸÜc'ÆLŽŽŽŽ’—ù„ŸÚVZï" {5.69609 0.0 dt}xyŽŽŽ’’YfŸÜc'RŽŽŽŽŸÚVZ’’GQŸ²3ï" {0.0 -5.69609 dt}xyŽŽŽ’/ÁŸß<@DŽŽŽŽŸÚVZ’’GQŸ÷xDï" {0.0 8.53021 dt}xyŽŽŽ’pПØIUŽŽŽŽŽŽŽŽŽŸÕ¾‘yèLž™„3232ŽŽŽ‘{>É‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŸ?‘yγŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ˆ;ÕŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘yèLž™„3232ŽŽ‘{>É‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŽŽ’€¼ÔŸà‘ÈŽŽŽŽŽŽ‘zåŸÞEÄï" {-8.53021 0.0 dt}xyŽŽŽ‘{»ÐŸàR‘ÆLŽŽŽŽ’ˆ;ÔŸÞEÄï" {5.69609 0.0 dt}xyŽŽŽ’‚›¶ŸàR‘RŽŽŽŽŸÞEÄ’‚‰¡Ÿ²3ï" {0.0 -5.69609 dt}xyŽŽŽ‘rŸã+ªDŽŽŽŽŸÞEÄ’‚‰¡Ÿ÷xDï" {0.0 8.53021 dt}xyŽŽŽ‘³ ŸÜ³UŽŽŽŽŽŽŽŽŽŸÙ­r‘j*œž™„3232ŽŽŽ‘k‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŸ?‘jŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘x~%Ÿóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘j*œž™„3232ŽŽ‘k‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŽŽ‘pÿ$ŸäûÈŽŽŽŽŽŽ‘jD5Ÿâ5.ï" {-8.53021 0.0 dt}xyŽŽŽ‘kþ ŸäAûÆLŽŽŽŽ‘x~$Ÿâ5.ï" {5.69609 0.0 dt}xyŽŽŽ‘rÞŸäAûRŽŽŽŽŸâ5.‘rËñŸ²3ï" {0.0 -5.69609 dt}xyŽŽŽ‘o´aŸçDŽŽŽŽŸâ5.‘rËñŸ÷xDï" {0.0 8.53021 dt}xyŽŽŽ‘oõpŸßþUŽŽŽŽŽŽŽŽŽŸÝœÜ‘Zlìž™„3232ŽŽŽ‘[Ãi‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŸ?‘ZSSŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘hÀuŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘Zlìž™„3232ŽŽ‘[Ãi‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŽŽ‘aAtŸçñeÈŽŽŽŽŽŽ‘Z†…Ÿæ$˜ï" {-8.53021 0.0 dt}xyŽŽŽ‘\@pŸè1eÆLŽŽŽŽ‘hÀtŸæ$˜ï" {5.69609 0.0 dt}xyŽŽŽ‘c VŸè1eRŽŽŽŽŸæ$˜‘cAŸ²3ï" {0.0 -5.69609 dt}xyŽŽŽ‘_ö±Ÿë ~DŽŽŽŽŸæ$˜‘cAŸ÷xDï" {0.0 8.53021 dt}xyŽŽŽ‘`7ÀŸãí‡UŽŽŽŽŽŽŽŽŽŸáŒF‘J¯<ž™„3232ŽŽŽ‘L¹‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŸ?‘J•£Ÿóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘YÅŸóõ×™ž™„3232ŽŽ¤³™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘J¯<ž™„3232ŽŽ‘L¹‘ÿúž™„3232ŽŽ–Vv‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Vgž™„3232ŽŽŽŽŽ‘QƒÄŸëàÏÈŽŽŽŽŽŽ‘JÈÕŸêï" {-8.53021 0.0 dt}xyŽŽŽ‘L‚ÀŸì ÏÆLŽŽŽŽ‘YÄŸêï" {5.69609 0.0 dt}xyŽŽŽ‘Sb¦Ÿì ÏRŽŽŽŽŸê‘SP‘Ÿ²3ï" {0.0 -5.69609 dt}xyŽŽŽ‘P9ŸîùèDŽŽŽŽŸê‘SP‘Ÿ÷xDï" {0.0 8.53021 dt}xyŽŽŽ‘PzŸçÜñUŽŽŽŽŽŽŽŽŽŸå{°‘:ñŒž™„3232ŽŽŽ‘Ž“¹with–M˜the“ob‘›»ject“ÄLŸ¤zÅpŽ–Ç]¹,‘_[ÄRŸ¤zÅpŽ“¹,Ž¡‘ãŒÄDŸ¤zÅpŽ–Ç]¹,›¦fÄUŸ¤zÅpŽ“¹,˜ÐEdgeŸ¤zÅpŽ“¹,˜and˜the˜Ðcurr‘ÿp¹ent‘ ê¹,˜Äc¹,˜is˜the˜pMÞosition˜Ï<Ž‘ fÄXŸ¤zÅcŽ‘.yÏ,Ž– ”‰ÄYŸ¤zÅcŽ‘.yÏ>Ž“¹with˜the˜ob‘›»ject˜ÄLŸ¤zÅcŽ–.y¹,˜ÄRŸ¤zÅcŽ“¹,˜ÄDŸ¤zÅcŽ“¹,˜ÄUŸ¤zÅcŽ“¹,˜ÐEdgeŸ¤zÅcŽ“¹.Ž© æñ‘ôŒF‘ÿeurthermore,‘nX‘ü·ŸâÃYŽŽ‘ ’Î-pic– has“a“con gurable“Ðc–ÿp¹artesian›]ãc“o“or“dinate˜system›ä'¹describMÞed– b²!y“an“Ðorigin˜¹pMÞositionŽ¡‘ãŒÏ<Ž‘éKÃÄXŸ¤zó6#Ñfcmti8áoriginŽ‘6©Ï,Ž‘öSÄYŸ¤záoriginŽ‘6©Ï>Ž‘"hv¹and›r#t•²!w“o˜Ðb–ÿp¹ase‘‘ßve“ctors‘X;Ï<Ž‘ åÄXŸÈ®áxb¥aseŽ‘kfÏ,Ž‘+ÄYŸÈ®áxb¥aseŽ‘kfÏ>Ž‘3¹and˜Ï<Ž‘ 1ÍÄXŸÈ®áyb¥aseŽ‘¡qÏ,Ž‘aÄYŸÈ®áyb¥aseŽ‘¡qÏ>Ž‘Ó>¹accessed˜b²!y˜the˜usualŽ¡‘ãŒnotation–¦fusing“paren²!theses:ŽŸ_{Ÿù.·‘cJ6Ï(Ž‘i àÄxÏ,Ž‘¿ªÄyd“Ï)ŽŽ’†×¹=Ž’”·Ï<ŽŽ’Ÿ>ûÄXŸ¤záoriginŽ‘¥•¹+–nìÄx“Ç“ÄXŸÈ®áxb¥aseŽ‘ÚR¹+“Äy‘ÓÇ“ÄXŸÈ®áyb¥aseŽŽ’AÀ¶Ï,ŽŽŽŸ ™™’Ÿ>ûÄYŸ¤záoriginŽ‘¥•¹+–nìÄx“Ç“ÄYŸÈ®áxb¥aseŽ‘ÚR¹+“Äy‘ÓÇ“ÄYŸÈ®áyb¥aseŽŽ’AÀ¶Ï>ŽŽŽŽŽŸ_|‘㌹This–¦fis“explained“in“full“when“wš²!e“sho˜w“ho˜w“to“set“the“base“in“note“1.3d“of“Çx¹1.3.ަ‘ôŒFinally–J*tš²!ypMÞesetting“a“connection“will“setup“a“\placemen˜t“state"“for“referring“to“pMÞositions“on“theŽ¡‘ãŒconnection–that“is“accessed“through“a“spšMÞecial“Ï?Ž‘ Üʹp˜osition“construction;‘B¥this“is“also“discussed“in“detailŽ¡‘ãŒin‘¦fÇx¹1.3.ަ‘ôŒThe‘׈X‘ü·ŸâÃYŽŽ‘Vè-pic–ïÞÐstate‘¹consists“of“all“these“parameters“together.‘ºFThey“are“initialised“to“zero“except“forŽ¡‘ãŒÄXŸÈ®áxb¥aseŽ‘v ¹=– §ÄYŸÈ®áyb¥aseŽ‘¬¹=“Ï1mmŽ‘I¥¹.ަ‘ôŒThe–¦fedges“are“are“aš²!v‘ÿdDailable“to“the“programmer“as“tok˜en“lists;“see“Çx¹1.8.2“for“details.ŽŸ¦‘ôŒÔProY‹cedure:‘ UÏ\xy›óõ¹.–Ó3.“.‘Ç(Ï\endxy˜¹builds˜an˜ob‘›»ject˜from˜an‘ÛŸX‘ü·ŸâÃYŽŽ‘Zÿ-pic˜Çh¹pMÞosÇi˜h¹decorÇi˜¹sequence˜as˜follo²!ws:Ž¡‘ãŒ(Ãl.1114Ž›ã|¹)‘ÇëÏ\xyŽ‘ÎÔ¹starts–Çëthe“Ï\hboxŽ‘&N(¹to“con²!tain“the‘¯•X‘ü·ŸâÃYŽŽ‘.õ-picture,‘K(Ãl.1115Ž˜¹)“starts“an“inner“bšMÞo²!x“to“b˜e“resized“ap-Ž¡‘ãŒpropriately–later,›/„sets“Ï\xy@Ž‘&عto“just“execute“immediately‘ÿe,˜and“makš²!es“a“fresh“scopMÞe“for“global“in˜ternalŽ¡‘ãŒnames,‘(0and–;(Ãl.1117Ž‘ã|¹)“initialises“the‘õåX‘ü·ŸâÃYŽŽ‘uE-pic“state“(setting“the“size“to“a“ridiculously“large“negativ²!e“v‘ÿdDalue),Ž¡‘ãŒand–¦f nally“passes“con²!trol“to“the“Çh¹pMÞosÇi“¹parser.ަ‘ôŒSome–¤òcare“is“takš²!en“to“`lift'“the“diagram“a“bit“to“`v˜cen˜ter'“it“when“in“math“moMÞde,‘Øoand“Ï\mathsurroundŽ¡‘㌹is–¦fset“to“zero“to“makš²!e“c˜hanges“in˜to“math“moMÞde“safe.ޤPˆ‘ãŒÃ1107Ž‘õŒÏ\message{pictures:‘¿ª\string\xy,}ŽŽ¡‘ãŒÃ1109Ž‘õŒÏ\xydef@\xy{\ifmmode\expandafter\xymath@\else\expandafter\xynomath@\fi}ŽŽ¤ ™š‘ãŒÃ1110Ž‘õŒÏ\xydef@\xymath@{\hbox\bgroup–¿ª\dimen@=\the\fontdimen22\textfont\tw@“\xyinside@}ŽŽ¡‘ãŒÃ1111Ž‘õŒÏ\xydef@\xynomath@{\hbox\bgroup–¿ª\dimen@=\z@“\xyinside@}ŽŽ©Pˆ‘ãŒÃ1113Ž‘õŒÏ\xydef@\xyinside@{%ŽŽ¡‘ãŒÃ1114Ž‘ûKÃÏ\saveXyStyle@‘¿ª\aftergroup\xycheck@endŽŽ¡‘ãŒÃ1115Ž‘ûKÃÏ\setboxz@h\bgroupŽŽ¡‘ãŒÃ1116Ž‘ mÏ\plainxy@ŽŽ¡‘ãŒÃ1117Ž‘ mÏ\X@c=\z@–¿ª\Y@c=\z@“\czeroEdge@ŽŽ¡‘ãŒÃ1118Ž‘ mÏ\X@p=\z@–¿ª\Y@p=\z@“\U@p=\z@“\D@p=\z@“\L@p=\z@“\R@p=\z@“\Edge@p={\zeroEdge}%ŽŽ¡‘ãŒÃ1119Ž‘ mÏ\X@min=\hsize–¿ª\X@max=-\hsize“\Y@min=\hsize“\Y@max=-\hsizeŽŽ¡‘ãŒÃ1120Ž‘ mÏ\mathsurround=\z@ŽŽ¡‘ãŒÃ1121Ž‘ mÏ\expandafter\POS\everyxy@@}ŽŽ¦‘ãŒÃ1123Ž‘õŒÏ\xydef@\czeroEdge@{\U@c=\z@–¿ª\D@c=\U@c“\L@c=\U@c“\R@c=\U@c“\Edge@c={\zeroEdge}}ŽŽŽŽŒ‹o Á à ý*tj‘㌹22’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ1125Ž‘õŒÏ\xydef@\xyxy@#1#2{#2}ŽŽ¤Pˆ‘ãŒÃ1127Ž‘õŒÏ\xywarnifdefined\everyxyŽŽ© ™š‘ãŒÃ1128Ž‘õŒÏ\expandafter\def\addEQ@\everyxy#1{\def\everyxy@@{#1}\ignorespaces}ŽŽ¡‘ãŒÃ1130Ž‘õŒÏ\xylet@\everyxy@@=\emptyŽŽ¡‘ôŒ¹When–62 nished“Ï\endxyŽ›*ê`¹doMÞes“a“Ï\relaxŽ˜¹to“disable“anš²!y“parser“still“activ˜e“and“(Ãl.1144Ž‘ã|¹)“resets“the“sizeަ‘ãŒof–”|the“generated“bMÞoš²!x“to“zero“if“no“(unhidden)“ob‘›»jects“w˜ere“inserted,‘˜and“(Ãl.1148Ž‘ã|¹)“de nes“a“command“toަ‘ãŒend–PkbšMÞoth“the“temp˜orary“and“the“`prop˜er'“b˜o²!x“and“set“its“size“correctly|this“uses“Ï\edef“¹to“expandަ‘ãŒthe–mµrequired“dimensions“used“within“the“tempšMÞorary“b˜o²!x“b˜efore“leaš²!ving“the“t˜w˜o“groups“(namely“theަ‘ãŒtemp•MÞorary›¦fb“o²!x˜and˜the˜`prop“er'˜b“o²!x).Ž¡‘ãŒÃ1142Ž‘õŒÏ\xydef@\endxy{\if\inxy@\else\xyerror@{Unexpected‘¿ª\string\endxy}{}\fiŽŽ¦‘ãŒÃ1143Ž‘ûKÃÏ\relaxŽŽ¦‘ãŒÃ1144Ž‘ mÏ\dimen@=\Y@max‘¿ª\advance\dimen@-\Y@minŽŽ¦‘ãŒÃ1145Ž‘ mÏ\ifdim\dimen@<\z@–¿ª\dimen@=\z@“\Y@min=\z@“\Y@max=\z@“\fiŽŽ¦‘ãŒÃ1146Ž‘ mÏ\dimen@=\X@max‘¿ª\advance\dimen@-\X@minŽŽ¦‘ãŒÃ1147Ž‘ mÏ\ifdim\dimen@<\z@–¿ª\dimen@=\z@“\X@min=\z@“\X@max=\z@“\fiŽŽ¦‘ãŒÃ1148Ž‘ mÏ\edef\tmp@{\egroupŽŽ¦‘ãŒÃ1149Ž‘ ŠÁÏ\setboxz@h{\kern-\the\X@min\boxz@}%ŽŽ¦‘ãŒÃ1150Ž‘ ŠÁÏ\ht\z@=\the\Y@max–¿ª\dp\z@=-\the\Y@min“\wdz@=\the\dimen@ŽŽ¦‘ãŒÃ1151Ž‘ ŠÁÏ\noexpand\maybeunraise@‘¿ª\raise\dimen@\boxz@ŽŽ¦‘ãŒÃ1152Ž‘ ŠÁÏ\noexpand\recoverXyStyle@–¿ª\egroup“\noexpand\xy@endŽŽ¦‘ãŒÃ1153Ž‘ ŠÁÏ\U@c=\the\Y@max–¿ª\D@c=-\the\Y@min“\L@c=-\the\X@min“\R@c=\the\X@max}\tmp@}ŽŽ¡‘ãŒÃ1155Ž‘õŒÏ\xydef@\maybeunraise@{\if\inxy@\else‘¿ª\dimen@ii=\dp\z@ŽŽ¦‘ãŒÃ1156Ž‘ mÏ\ifdim\dimen@ii<\z@–¿ª\advance\dimen@\dimen@ii“\fi\fi}ŽŽ¡‘ôŒ¹If–àÉan“Ï\xyŽ‘¹is“not“propšMÞerly“closed“b²!y“an“Ï\endxyŽ‘*?޹then“the“error“message“is“pro˜duced.‘This“happ˜ensަ‘ãŒif–3(a)“tošMÞo“man²!y“Ï\xyŽ‘r¹s“or“(b)“to˜o“manš²!y“Ï\endxyŽ‘&± ¹s“or“(c)“if“there“is“the“correct“n˜um˜bMÞer“of“eac˜h“but“theަ‘ãŒgrouping–¦fbMÞecomes“un²!balanced“due“to“a“misplaced“Ï}Ž‘ v¹or“Ï\egroupŽ‘+ä ¹.Ž¡‘ãŒÃ1165Ž‘õŒÏ\xydef@\xycheck@end{\xyFN@\xycheck@end@}ŽŽ¦‘ãŒÃ1166Ž‘õŒÏ\xydef@\xycheck@end@{\ifx\next\xy@end\DN@\xy@end{}\else\DN@{\xy@end}\fi\next@}ŽŽ¦‘ãŒÃ1167Ž‘õŒÏ\xydef@\xy@end{%ŽŽ¦‘ãŒÃ1168Ž‘ûKÃÏ\xyerror@{An–¿ª\string\xy\space“environment“is“not“closed“correctly.}%ŽŽ¦‘ãŒÃ1169Ž‘ mÏ{I–¿ªexpected“\string\endxy.‘ TYou“probably“have“an“umatched“{}“grouping.}}ŽŽ¡‘ôŒ¹It–!ris“pšMÞossible“to“insert“an“`initial'“piece“of“Çh¹p˜osÇi“h¹decorÇi“¹at“the“start“of“ev²!ery‘ X‘ü·ŸâÃYŽŽ‘ˆ|-picture“with“theަ‘ãŒdeclarationŽ‘ãŒŸP¼‰ffã²dŸ ÖÕ’À½´Ï\everyxy={Ž’ýà¾Çh¹textÇi‘¦fÏ}ŽŽŽŸÌœ‰ffã²dŸ ¼¹This–›«will“act“as“if“the“Çh¹textÇi“¹wš²!as“t˜ypMÞed“literally“righ˜t“after“eac˜h“Ï\xy“¹command,‘Øüparsing“the“actualަcon•²!ten“ts–‘;as“if“it“folloš²!ws“this“{“th˜us“it“is“recommended“that“Çh¹textÇi“¹has“the“form“Çh¹pMÞosÇiÏ,Ž‘ På¹suc˜h“that“usersަcan›¦fcon•²!tin“ue˜with˜Çh¹pMÞosÇi˜h¹decorÇi¹.ŽŸ!ÛîÝ1.3Ž‘$æcPŒÌositionsŽŸ(yÃ1195Ž‘Ï\message{positions,}ŽŽ¡¹A‘.tÇh¹pšMÞosÇi¹ition–.Øis“a“w•²!a“y–.Øof“sp˜ecifying“lo˜cations“as“w²!ell“as“dropping“ob‘›»jects“at“them“and“decoratingަthem|in–š?fact“an²!y“aspšMÞect“of“the‘éX‘ü·ŸâÃYŽŽ‘I-pic“state“can“b˜e“cš²!hanged“b˜y“a“Çh¹pMÞosÇi“¹but“most“will“just“c˜hange“theަcošMÞordinates–¦fand/or“shap˜e“of“Äc¹.ަ‘All–¦fpšMÞossible“p˜ositions“are“sho²!wn“in“ gure“1.1“with“explanatory“notes“b˜elo²!w.ŽŽŽŒ‹ Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹23ŽŽ ¶??ž†’ ý^žS‘㌟ ff‰ffã²dŸ {„‘ FbSyn²!taxŽ’ä’ÏActionŽŽŽŽŸ‡w‰ffã²dŸ k ‘ FbÇh¹pMÞosÇiŽ‘@ïŽŽŽŽ‘G £!ŽŽ‘_Ú:h¹coMÞordÇiŽ’ä’ÏÄc– §Ç “h¹coMÞordÇiŽŽŽŽŽ¤†‘H<^jŽŽ‘_Ú:h¹pšMÞosÇi–¦fÏ+“Çh¹co˜ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘,\¹+‘nìÇh¹coMÞordÇiŽ‘%qdŸü¾²1.3aŽŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:h¹pšMÞosÇi–¦fÏ-“Çh¹co˜ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘,\‘nìh¹coMÞordÇiŽ‘%qdŸü¾²1.3aŽŽŽŽŽ©ÿ†‘H<^ÇjŽŽ‘_Ú:h¹p•MÞosÇi‘¦fÏ!‘ÝÝÇh¹co“ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘cÖ¹then–¦fskš²!ewŸü¾²1.3bŽ‘{¿Äc“¹b˜y“Çh¹coMÞordÇiŽŽŽŽ¡‘H<^jŽŽ‘_Ú:h¹p•MÞosÇi‘¦fÏ.‘ÝÝÇh¹co“ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘cÖ¹but–¦falso“co•²!v“eringŸü¾²1.3cŽ‘_LÇh¹coMÞordÇiŽŽŽŽŽ¡‘H<^jŽŽ‘_Ú:h¹pšMÞosÇi–¦fÏ,“Çh¹co˜ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘cÖ¹then‘¦fÄc“Ç “h¹coMÞordÇiŽŽŽŽŽ¡‘H<^jŽŽ‘_Ú:h¹pšMÞosÇi–¦fÏ;“Çh¹co˜ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,–¦fsw²!ap“Äp“¹and“Äc¹,“Äc– §Ç “h¹coMÞordÇiŽŽŽŽŽ¦‘H<^jŽŽ‘_Ú:h¹p•MÞosÇi‘¦fÏ:‘ÝÝÇh¹co“ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,–¦fset“baseŸü¾²1.3dŽ‘ÕY¹,“Äc– §Ç “h¹coMÞordÇiŽŽŽŽŽ¡‘H<^jŽŽ‘_Ú:h¹p•MÞosÇi‘¦fÏ::‘ÝÝÇh¹co“ordÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,‘¦fÐyb‘ÿp¹aseŽŽ‘ kZÇ “Äc–nìÇ“ÐoriginŽŽ‘ew¹,‘¦fÄc– §Ç “h¹coMÞordÇiŽŽŽŽŽ¦‘H<^jŽŽ‘_Ú:h¹pMÞosÇi–¦fÏ*“Çh¹ob‘›»jectÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,‘¦fdropŸü¾²1.3fŽ‘û¿Çh¹ob‘›»jectÇiŽŽŽŽ¡‘H<^jŽŽ‘_Ú:h¹pMÞosÇi–¦fÏ**“Çh¹ob‘›»jectÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,–¦fconnectŸü¾²1.3gŽ‘톹using“Çh¹ob‘›»jectÇiŽŽŽŽ¦‘H<^jŽŽ‘_Ú:h¹pMÞosÇi‘¦fÏ?‘ÝÝÇh¹placeÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,‘¦fÄc“Ç “h¹placeÇiŸü¾²1.3hŽŽŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:h¹pMÞosÇi–¦fÏ@“Çh¹stac²!kingÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,–¦fdo“Çh¹stac²!kingÇiŸü¾²1.3oŽŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:h¹pMÞosÇi–¦fÏ=“Çh¹sa²!vingÇiŽ’ä’ÏÄc– §Ç “h¹pMÞosÇiŽ‘½p¹,–¦fdo“Çh¹sa²!vingÇiŸü¾²1.3pŽŽŽŽŽŸ™š‘ FbÇh¹coMÞordÇiŽ‘@ïŽŽŽŽ‘G £!ŽŽ‘_Ú:h¹v²!ectorÇiŽ’ä’Ïh¹pMÞosÇi–¦f¹is“Çh¹v²!ectorÇi“¹with“zero“sizeŽŽŽŽ¤ ™š‘H<^ÇjŽŽ‘_Ú:h¹empt²!yÇi‘LÌjŽ‘¤CÏcŽ’ä’Ϲreuse–¦flast“Äc“¹(do“nothing)ŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:ÏpŽ’ä’ÏÄpŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:Ïx‘LÌÇjŽ‘¤CÏyŽ’ä’Ϲaxis–¦fin²!tersectionŸü¾²1.3kŽ‘4£¹with“Ÿúã‰fe ?vŸêÄpcŽŽŽŽŽŽ¤†‘H<^ÇjŽŽ‘_Ú:ÏsÇh¹digitÇi‘LÌjŽ‘¤CÏs{Ž‘#—Çh¹n•²!um“bMÞerÇiÏ}ŽŽ’ä’Ϲstacš²!kŸü¾²1.3oŽ‘Ñ ¹pMÞosition–‰êÇh¹digitÇi“¹or“Çh¹n˜um˜bšMÞerÇi“¹b˜elo²!w“the“topŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:Ï"Ž‘e™äÇh¹idÇiÏ"ŽŽ’ä’Ϲrestore–¦fwhat“wš²!as“sa˜v˜edŸü¾²1.3pŽ‘{¿¹as“Çh¹idÇi“¹earlierŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:Ï{Ž‘i@JÇh¹pMÞosÇi–¦fh¹decorÇi“Ï}ŽŽ’ä’Ϲthe–¦fÄc“¹resulting“from“in²!terpreting“the“groupŸü¾²1.3lŽŽŽŽŽŸ™š‘ FbÇh¹v²!ectorÇiŽ‘@ïŽŽŽŽ‘G £!ŽŽ‘_Ú:Ï0Ž’ä’ϹzeroŽŽŽŽ¤ ™š‘H<^ÇjŽŽ‘_Ú:Ï<Ž‘i@JÇh¹dimenÇi‘¦fÏ,Ž‘ vÇh¹dimenÇi‘¦fÏ>ŽŽ’ä’ϹabsoluteŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:Ï<Ž‘i@JÇh¹dimenÇi‘¦fÏ>ŽŽ’ä’Ϲabsolute–¦fwith“equal“dimensionsŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:Ï(Ž‘i@JÇh¹factorÇi‘¦fÏ,Ž‘ vÇh¹factorÇi‘¦fÏ)ŽŽ’ä’Ϲin–¦fcurren²!t“baseŸü¾²1.3dŽŽŽŽŽ©†‘H<^ÇjŽŽ‘_Ú:Ïa‘¦f(Ž‘ vÇh¹n•²!um“bMÞerÇi‘¦fÏ)ŽŽ’ä’Ϲangle–¦fin“curren²!t“baseŸü¾²1.3eŽŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:h¹cornerÇiŽ’ä’Ϲfrom–¦freference“pMÞoin²!t“to“Çh¹cornerÇi“¹of“ÄcŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:h¹cornerÇi‘¦fÏ(Ž‘ vÇh¹factorÇi‘¦fÏ)ŽŽ’ä’ϹThe–¦fÇh¹cornerÇi“¹m²!ultiplied“with“Çh¹factorÇiŽŽŽŽ¦‘H<^jŽŽ‘_Ú:Ï/Ž‘i@JÇh¹directionÇi–¦fh¹dimenÇi“Ï/ŽŽ’ä’Ϲv²!ector–¦fÇh¹dimenÇi“¹in“Çh¹directionÇiŸü¾²1.3mŽŽŽŽŽŸ†‘ FbÇh¹cornerÇiŽ‘@ïŽŽŽŽ‘G £!ŽŽ‘_Ú:ÏL‘¦fÇjŽ– WwÏR‘¦fÇjŽ“ÏD‘¦fÇjŽ“ÏUŽ’ä’Ϲo setŸü¾²1.3nŽ‘{¿¹to–¦fleft,“righš²!t,“do˜wn,“up“sideŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:ÏCL‘¦fÇjŽ– WwÏCR‘¦fÇjŽ“ÏCD‘¦fÇjŽ“ÏCU‘¦fÇjŽ“ÏCŽ’ä’Ϲo setŸü¾²1.3nŽ‘{¿¹to–¦fcenš²!ter“of“side,“true“cen˜terŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:ÏLD‘¦fÇjŽ– WwÏRD‘¦fÇjŽ“ÏLU‘¦fÇjŽ“ÏRUŽ’ä’Ϲo setŸü¾²1.3nŽ‘{¿¹to–¦factual“left/do²!wn,“.–Ó3.“.‘y™cornerŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:ÏE‘¦fÇjŽ‘ WwÏPŽ’ä’Ϲo setŸü¾²1.3nŽ‘{¿¹to–¦fnearest/propšMÞortional“edge“p˜oin²!t“to“ÄpŽŽŽŽŸÿ†‘ FbÇh¹placeÇiŽ‘@ïŽŽŽŽ‘G £!ŽŽ‘_Ú:Ï<–¦fÇh¹placeÇi‘LÌjŽ‘¤CÏ>“Çh¹placeÇiŽ’ä’Ϲsha•²!v“eŸü¾²1.3hŽ‘{¿Ï(0)¹/Ï(1)–¦f¹to“edge“of“Äp¹/Äc¹,“Äf‘8cÇ ‘ §Ï0Ž‘ÊQÄ=Ï1ŽŽŽŽŽ¦‘H<^ÇjŽŽ‘_Ú:Ï(Ž‘i@JÇh¹factorÇi‘¦fÏ)Ž‘ vÇh¹placeÇiŽ’ä’ÏÄf‘8cÇ ‘ §h¹factorÇiŽŽŽŽŽŸÿ†‘H<^jŽŽ‘_Ú:h¹slideÇiŽ’ä’Ϲpic²!k–¦fplaceŸü¾²1.3hŽ‘{¿¹and“apply“Çh¹slideÇiŽŽŽŽŸ»w‘H<^jŽŽ‘_Ú:Ï!‘ÝÝ{Ž‘ ‡Çh¹pMÞosÇiÏ}Ž‘ fÇh¹slideÇiŽ’ä’Ϲinš²!terceptŸü¾²1.3jŽ‘äI¹with–Žðline“setup“b˜y“Çh¹pMÞosÇi“¹and“applyŽ¡’ä’ÏÇh¹slideÇiŽŽŽŽŸý`‘ Fbh¹slideÇiŽ‘@ïŽŽŽŽ‘G £!ŽŽ‘_Ú:Ï/Ž‘i@JÇh¹dimenÇi‘¦fÏ/ŽŽ’ä’ϹslideŸü¾²1.3iŽ‘´¢Çh¹dimenÇi–¦f¹further“along“connectionŽŽŽŽ¡‘H<^ÇjŽŽ‘_Ú:h¹empt²!yÇiŽ’ä’Ϲno‘¦fslideŽŽŽŽŸzã‰ffã²dŸC1’º¤aFigure‘¦f1.1:‘ÝÝÇh¹pMÞosÇi¹itions.ŽŽŽŽŽŒ‹W Á à ý*tj‘㌹24’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÔExercise‘;11.1:‘ ó5¹Whicš²!h–­êof“the“pMÞositions“Ï0Ž‘ m”¹,‘¯ËÏ<0pt,0pt>Ž‘7lŹ,‘¯ËÏ<0pt>Ž– n¹,‘¯ËÏ(0,0)Ž“¹,‘¯Ëand‘­êÏ/0pt/Ž‘$&¹is–­êdi eren˜t“from“theޤ ™š‘ãŒothers?ŽŸò‘ãŒÔP¦tarsing:‘ ó5¹First–nïthe“Ï\POS›n ¹and“Ï\afterPOS˜Çh¹decorÇi¹ations,‘­:and“similar“Ï\afterCOORD˜¹and“Ï\afterVECTORorEMPTYŽ¡‘㌹ones.‘¼&They–AAhandle“parsing“of“Çh¹p•MÞosÇi¹,›U|Çh¹co“ordÇi¹,˜and–AAÇh¹vš²!ectorÇi¹;‘bøparsing“of“Çh¹cornerÇi“¹and“Çh¹placeÇi“¹is“presen˜tedŽ¡‘ãŒalong–¦fwith“note“1.3n“and“1.3h“explaining“them.ޤPˆ‘ãŒÃ1368Ž‘õŒÏ\xydef@\POS{\afterPOS{}}ŽŽ¡‘ãŒÃ1370Ž‘õŒÏ\xydef@\afterPOS#1{%ŽŽ¤ ™š‘ãŒÃ1371Ž‘ûKÃÏ\DN@##1{\def\afterPOS@{\def\afterPOS@{##1}#1}}%ŽŽ¡‘ãŒÃ1372Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterPOS@}%ŽŽ¡‘ãŒÃ1373Ž‘ûKÃÏ\afterCOORD{\xyFN@\POS@}}ŽŽ¤Pˆ‘ãŒÃ1375Ž‘õŒÏ\xylet@\afterPOS@=\emptyŽŽ¡‘ãŒÃ1377Ž‘õŒÏ\xydef@\afterCOORD#1{%ŽŽ¤ ™š‘ãŒÃ1378Ž‘ûKÃÏ\DN@##1{\def\afterCOORD@{\def\afterCOORD@{##1}#1}}%ŽŽ¡‘ãŒÃ1379Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterCOORD@}%ŽŽ¡‘ãŒÃ1380Ž‘ûKÃÏ\afterVECTORorEMPTY{\xy@@\czeroEdge@‘¿ª\afterCOORD@}{\xyFN@\COORD@}}ŽŽ¤Pˆ‘ãŒÃ1382Ž‘õŒÏ\xylet@\afterCOORD@=\emptyŽŽ¡‘ãŒÃ1384Ž‘õŒÏ\xydef@\afterVECTORorEMPTY#1#2{%ŽŽ¤ ™š‘ãŒÃ1385Ž‘ûKÃÏ\DN@##1{\def\afterVECTOR@{\def\afterVECTOR@{##1}%ŽŽ¡‘ãŒÃ1386Ž‘ mÏ\ifVECTORempty@\DN@{#2}\else\DN@{#1}\fi‘¿ª\next@}}%ŽŽ¡‘ãŒÃ1387Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterVECTOR@}%ŽŽ¡‘ãŒÃ1388Ž‘ûKÃÏ\xyFN@\VECTOR@}ŽŽŸPˆ‘ãŒÃ1390Ž‘õŒÏ\xynew@{if}\ifVECTORempty@ŽŽ¡‘ãŒÃ1391Ž‘õŒÏ\xylet@\afterVECTOR@=\emptyŽŽŸ~]‘ôŒ¹The–W„Ï\afterVECTORorEMPTY‘Wp¹command“is“spMÞecial“in“that“it“takš²!es“t˜w˜o“argumen˜ts:‘¶lthe“`con˜tin˜uation'Ž¡‘ãŒif–šoa“Çh¹vš²!ectorÇi“¹w˜as“found“and“the“con˜tin˜uation“if“Çh¹empt˜yÇi“¹w˜as“found“(this“is“not“applicable“to“the“otherŽ¡‘ãŒt•²!w“o–¦fsince“Çh¹emptš²!yÇi“¹is“a“legal“Çh¹coMÞordÇi“¹and“th˜us“also“a“legal“Çh¹pMÞosÇi¹).Ž© Ço‘ôŒNext–0çwš²!e“proMÞceed“with“the“actual“parsing“primitiv˜es:‘òßÏ\COORD@Ž‘.0…¹,‘S‡Ï\POS@Ž‘!Ù¹,‘S‡and“Ï\VECTOR@Ž‘2.7¹.‘}_These“areŽ¡‘ãŒbšMÞound–\¹to“Ï\xyCOORD@Ž‘8³¹,‘ŠMÏ\xyPOS@Ž‘,Çó¹,‘ŠMand“Ï\xyVECTOR@Ž‘B6¹in“order“to“b˜e“extendable,–ŠMÐe¹.Ðg¹.,“the‘\¹ÏmatrixŽ‘+7n¹optionŽ¡‘ãŒextends–]Çh¹cošMÞordÇi“¹to“supp˜ort“the“Ï[Ž‘ +Ðr–ÿp¹ow‘-»Ï,Ž‘ JæÐc“olumn‘× Ï]Ž‘ ô6¹format–]b²!y“rede ning“Ï\COORD@Ž‘.ø¨¹to“ rst“test“for“this“newŽ¡‘ãŒformat–¦fand“then“call“Ï\xyCOORD@Ž‘7c`¹.ަ‘ôŒThe–˜parsing“commands“abMÞo•²!v“e–˜are“set“up“suc²!h“that“they“all“ rst“call“the“Ï\VECTOR@Ž‘8 €¹command.Ž¡‘ãŒÇh¹cošMÞordÇi–Ö´¹and“Çh¹p˜osÇi“¹parsing“then“pro˜ceeds“with“calling“the“Ï\COORD@Ž‘1ë¹if“there“wš²!as“no“Çh¹v˜ectorÇi¹.‘nÆÇh¹pMÞosÇiŽ¡‘㌹parsing–¦fthen“calls“Ï\POS@Ž‘$ ¹to“con•²!tin“ue–¦fthe“Çh¹pšMÞosÇi“¹(in“b˜oth“cases).ަ‘ôŒFirst‘¦fÇh¹v²!ectorÇi¹s:Ž©Pˆ‘ãŒÃ1415Ž‘õŒÏ\xydef@\xyVECTOR@{%ŽŽ¡‘ãŒÃ1416Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\VECTOR@}%gobble“spacesŽŽ¡‘ãŒÃ1417Ž‘ûKÃÏ\else–¿ª\ifcat“A\noexpand\next“\let\next@=\VECTOR@letterŽŽ¡‘ãŒÃ1418Ž‘ûKÃÏ\else–¿ª\let\next@=\VECTOR@other“\fi\fi“\next@}ŽŽ¦‘ãŒÃ1420Ž‘õŒÏ\xylet@\VECTOR@=\xyVECTOR@ŽŽŸ~]‘ôŒ¹All–ŽHletters“used“for“Çh¹v²!ectorÇi¹s“are“uppMÞercase“Çh¹cornerÇi¹s“except“for“ÏaŽ‘ Ü:¹used“for“angles“(where“the“mainŽ¡‘ãŒcoMÞde–²ais“in“note“1.3e);‘¸^this“is“also“where“wš²!e“in˜troMÞduce“the“auxiliary“Ï\notrelaxorelse@Ž‘c_b¹that“tak˜es“t˜w˜oŽ¡‘ãŒconš²!trol–¦fsequences“and“expands“the“ rst“unless“it“is“relax“in“whic˜h“case“it“expands“the“second:ަ‘ãŒÃ1430Ž‘õŒÏ\def\notrelaxorelse@#1#2{\ifx#1\relax‘¿ª\expandafter#2\else\expandafter#1\fi}ŽŽ¦‘ãŒÃ1432Ž‘õŒÏ\xydef@\VECTOR@letter{%ŽŽŽŽŒ‹¢Š Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹25ŽŽ ¶?? ýh«w‘ãŒÃ1433Ž‘ûKÃÏ\ifx–¿ªa\next“\expandafter\VECTOR@a“\else“\expandafter\CORNER@“\fi}ŽŽ©Pˆ‘ãŒÃ1435Ž‘õŒÏ\xydef@\VECTOR@a‘¿ªa(#1){\xy@{a(#1)}{\vfromcartesianangle@{#1}}%ŽŽ¤ ™š‘ãŒÃ1436Ž‘ûKÃÏ\VECTORempty@false‘¿ª\afterVECTOR@}ŽŽŸÚ5‘ôŒ¹The–ˆuÇh¹cornerÇi“¹tric²!k“is“to“do“nothing“when“there“is“nothing“and“initialise“bMÞoth“ÄX‘dm¹and“ÄY‘÷d¹in“all“otherŽ¡‘ãŒcases.ަ‘ãŒÃ1443Ž‘õŒÏ\xydef@\CORNER@{%ŽŽ¡‘ãŒÃ1444Ž‘ûKÃÏ\xy@{}{\A@=-.5\L@c–¿ª\advance\A@.5\R@c“\B@=-.5\D@c“\advance\B@.5\U@cŽŽ¡‘ãŒÃ1445Ž‘ mÏ\let\nextii@=\zeroit@}%ŽŽ¡‘ãŒÃ1446Ž‘ûKÃÏ\VECTORempty@true\CORNER@i}ŽŽ¦‘ãŒÃ1448Ž‘õŒÏ\xydef@\zeroit@#1{#1=\z@}ŽŽ¦‘ãŒÃ1450Ž‘õŒÏ\xydef@\CORNER@i{%ŽŽ¡‘ãŒÃ1451Ž‘ûKÃÏ\ifx‘¿ªD\nextŽ‘] \DN@–¿ªD{\xy@{D}{\Y@c=-\D@c“\nextii@\X@c“\B@=\Y@c}\CORNER@ii}%ŽŽ¡‘ãŒÃ1452Ž‘ûKÃÏ\else\ifx–¿ªU\next“\DN@“U{\xy@{U}{\Y@c=“\U@c“\nextii@\X@c“\B@=\Y@c}\CORNER@ii}%ŽŽ¡‘ãŒÃ1453Ž‘ûKÃÏ\else\ifx–¿ªL\next“\DN@“L{\xy@{L}{\X@c=-\L@c“\nextii@\Y@c“\A@=\X@c}\CORNER@ii}%ŽŽ¡‘ãŒÃ1454Ž‘ûKÃÏ\else\ifx–¿ªR\next“\DN@“R{\xy@{R}{\X@c=“\R@c“\nextii@\Y@c“\A@=\X@c}\CORNER@ii}%ŽŽ¡‘ãŒÃ1455Ž‘ûKÃÏ\else\ifx–¿ªC\next“\DN@“C{\xy@{C}{\X@c=“\A@“\Y@c=“\B@}\CORNER@ii}%ŽŽ¡‘ãŒÃ1456Ž‘ûKÃÏ\else\ifx–¿ªE\next“\DN@“E{\xy@{E}{%ŽŽ¡‘ãŒÃ1457Ž‘ ŠÁÏ\A@=\X@c–¿ª\B@=\Y@c“\the\Edge@c\z@“\advance\X@c-\A@“\advance\Y@c-\B@}%ŽŽ¡‘ãŒÃ1458Ž‘ËÏ\CORNER@ii}%ŽŽ¡‘ãŒÃ1459Ž‘ûKÃÏ\else\ifx–¿ªP\next“\DN@“P{\xy@{P}{%ŽŽ¡‘ãŒÃ1460Ž‘ ŠÁÏ\A@=\X@c–¿ª\B@=\Y@c“\the\Edge@c\thr@@“\advance\X@c-\A@“\advance\Y@c-\B@}%ŽŽ¡‘ãŒÃ1461Ž‘ËÏ\CORNER@ii}%ŽŽ¡‘ãŒÃ1462Ž‘ûKÃÏ\else\ifx–¿ª(\next“%)ŽŽ¡‘ãŒÃ1463Ž‘ËÏ\DN@(##1){\xy@{(##1)}{\X@c=##1\X@c‘¿ª\Y@c=##1\Y@c}\afterVECTOR@}%ŽŽ¡‘ãŒÃ1464Ž‘ûKÃÏ\else‘¿ª\let\next@=\afterVECTOR@ŽŽ¡‘ãŒÃ1465Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1467Ž‘õŒÏ\xydef@\CORNER@ii{\xy@@{\let\nextii@=\eat@}%ŽŽ¡‘ãŒÃ1468Ž‘ûKÃÏ\VECTORempty@false‘¿ª\xyFN@\CORNER@i}ŽŽŸÚ5‘ôŒ\CORNER@iŽ‘-;t¹recognises–òathe“Ï(Ž– ² Çh¹factorÇiÏ)Ž“¹also;‘˜^this–òadoMÞes“no“harm“as“it“wš²!as“nev˜er“called“if“the“ rstŽ¡‘ãŒc•²!haracter›¦fw“as˜a˜Ï(Ž‘ f¹.ŽŸ#G‘ôŒThe–¦fremaining“Çh¹v²!ectorÇi“¹forms“just“set“ÄX‘‚^¹and“ÄY‘nï¹.ަ‘ãŒÃ1477Ž‘õŒÏ\xydef@\VECTOR@other{%ŽŽ¡‘ãŒÃ1478Ž‘ûKÃÏ\addLT@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ1479Ž‘ mÏ\addGT@{\addLT@\DN@##1}{\xy@{<##1>}{\vfromabsolute@{##1}}%ŽŽ¡‘ãŒÃ1480Ž‘ËÏ\VECTORempty@false\afterVECTOR@}%ŽŽ¡‘ãŒÃ1481Ž‘ûKÃÏ\else\ifx–¿ª(\next“%)ŽŽ¡‘ãŒÃ1482Ž‘ mÏ\DN@({\xyFN@\VECTOR@other@open}%)ŽŽ¡‘ãŒÃ1483Ž‘ûKÃÏ\else\ifx–¿ª/\next“%/ŽŽ¡‘ãŒÃ1484Ž‘ mÏ\DN@/##1/{\xy@@ix@{{##1}}%ŽŽ¡‘ãŒÃ1485Ž‘ËÏ\xy@{/##1/}{\expandafter\vfromslide@\the\toks9‘¿ª}%ŽŽ¡‘ãŒÃ1486Ž‘ËÏ\VECTORempty@false\afterVECTOR@}%ŽŽ¡‘ãŒÃ1487Ž‘ûKÃÏ\else\ifx‘¿ª0\nextŽŽ¡‘ãŒÃ1488Ž‘ mÏ\DN@–¿ª0{\xy@{0}{\X@c=\z@“\Y@c=\z@}\VECTORempty@false\afterVECTOR@}%ŽŽ¡‘ãŒÃ1489Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1490Ž‘ mÏ\DN@{\VECTORempty@true\afterVECTOR@}%ŽŽ¡‘ãŒÃ1491Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽŽŽŒ‹±h Á à ý*tj‘㌹26’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ôŒÔHac¦tk:‘ÝݹescapšMÞe–¦fout“in“case“of“the“sp˜ecial“Ï(*Ž‘Ì ¹in²!tro˜ducer.–Ó3.“.“pic•²!k“ed–¦fup“b²!y“the“Çh¹co˜ordÇi“¹parser,“then.Ž©Pˆ‘ãŒÃ1498Ž‘õŒÏ\xydef@\VECTOR@other@open{%ŽŽ¤ ™š‘ãŒÃ1499Ž‘ûKÃÏ\ifx–¿ª*\next“\DN@{\VECTORempty@true“\xyFN@\afterVECTOR@(}%)ŽŽ¡‘ãŒÃ1500Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1501Ž‘ mÏ\DN@##1){\xy@{(##1)}{\vfromcartesian@{##1}}\VECTORempty@false\afterVECTOR@}%ŽŽ¡‘ãŒÃ1502Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŸ³‘ôŒ¹Next–¦fÇh¹coMÞordÇi¹inates“that“are“not“Çh¹v²!ectorÇi¹s:ަ‘ãŒÃ1508Ž‘õŒÏ\xydef@\xyCOORD@{%ŽŽ¡‘ãŒÃ1509Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\COORD@}%gobble“spacesŽŽ¡‘ãŒÃ1510Ž‘ûKÃÏ\else–¿ª\ifcat“A\noexpand\next“\let\next@=\xyCOORD@letterŽŽ¡‘ãŒÃ1511Ž‘ûKÃÏ\else–¿ª\let\next@=\xyCOORD@other“\fi\fi“\next@}ŽŽ¦‘ãŒÃ1513Ž‘õŒÏ\xylet@\COORD@=\xyCOORD@ŽŽ¦‘ãŒÃ1515Ž‘õŒÏ\xydef@\xyCOORD@letter{%ŽŽ¡‘ãŒÃ1516Ž‘ûKÃÏ\ifx‘¿ªc\nextŽŽ¡‘ãŒÃ1517Ž‘ mÏ\DN@‘¿ªc{\xy@{c}{}\afterCOORD@}%ŽŽ¡‘ãŒÃ1518Ž‘ûKÃÏ\else\ifx‘¿ªp\nextŽŽ¡‘ãŒÃ1519Ž‘ mÏ\DN@–¿ªp{\xy@{p}\cfromp@“\afterCOORD@}%ŽŽ¡‘ãŒÃ1520Ž‘ûKÃÏ\else\ifx‘¿ªx\nextŽŽ¡‘ãŒÃ1521Ž‘ mÏ\DN@–¿ªx{\xy@{x}{\R@c=\X@xbase“\U@c=\Y@xbase“\intersect@}\afterCOORD@}%ŽŽ¡‘ãŒÃ1522Ž‘ûKÃÏ\else\ifx‘¿ªy\nextŽŽ¡‘ãŒÃ1523Ž‘ mÏ\DN@–¿ªy{\xy@{y}{\R@c=\X@ybase“\U@c=\Y@ybase“\intersect@}\afterCOORD@}%ŽŽ¡‘ãŒÃ1524Ž‘ûKÃÏ\else\ifx‘¿ªs\nextŽŽ¡‘ãŒÃ1525Ž‘ mÏ\DN@‘¿ªs##1{\xy@{s{##1}}{\cfroms@{##1}}\afterCOORD@}%ŽŽ¡‘ãŒÃ1526Ž‘ûKÃÏ\else–¿ª\let\next@=\afterCOORD@“\fi\fi\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ1528Ž‘õŒÏ\xydef@\xyCOORD@other{%ŽŽ¡‘ãŒÃ1529Ž‘ûKÃÏ\ifx–¿ª"\next“%"ŽŽ¡‘ãŒÃ1530Ž‘ mÏ\DN@"##1"{\xy@{"##1"}{\cfromid@{##1}}\afterCOORD@}%ŽŽ¡‘ãŒÃ1531Ž‘ûKÃÏ\else\ifx‘¿ª\bgroup\nextŽŽ¡‘ãŒÃ1532Ž‘ mÏ\DN@##1{\xy@{{##1}}{\enter@{\pfromthep@\basefromthebase@}}%ŽŽ¡‘ãŒÃ1533Ž‘ËÏ\silencexy@–¿ª\POS##1\relax“\unsilencexy@“\xy@@\leave@“\afterCOORD@}%ŽŽ¡‘ãŒÃ1534Ž‘ûKÃÏ\else\ifx–¿ª(\next“%)ŽŽ¡‘ãŒÃ1535Ž‘ mÏ\DN@({\xyFN@\xyCOORD@other@open}%)ŽŽ¡‘ãŒÃ1536Ž‘ûKÃÏ\else–¿ª\let\next@=\afterCOORD@“\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ1538Ž‘õŒÏ\xynew@{if}\ifsilentxy@ŽŽ¦‘ãŒÃ1540Ž‘õŒÏ\xydef@\silencexy@{%ŽŽ¡‘ãŒÃ1541Ž‘ûKÃÏ\ifsilentxy@‘¿ª\nter@{}%ŽŽ¡‘ãŒÃ1542Ž‘ûKÃÏ\else–¿ª\nter@{\silentxy@false“\let\xy@=\unsilent@@xy@}ŽŽ¡‘ãŒÃ1543Ž‘ mÏ\silentxy@true–¿ª\let\unsilent@@xy@=\xy@“\def\xy@##1##2{\unsilent@@xy@{}{##2}}%ŽŽ¡‘ãŒÃ1544Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ1546Ž‘õŒÏ\xydef@\unsilencexy@{\leave@}ŽŽ¦‘ãŒÃ1548Ž‘õŒÏ\xydef@\xyCOORD@other@open{%ŽŽ¡‘ãŒÃ1549Ž‘ûKÃÏ\ifx‘¿ª*\nextŽŽ¡‘ãŒÃ1550Ž‘ mÏ\DN@*##1*){\xy@{(*}{\enter@{\pfromthep@\basefromthebase@}}%ŽŽ¡‘ãŒÃ1551Ž‘ËÏ\POS##1\relax–¿ª\xy@{*)}\leave@“\afterCOORD@}%ŽŽ¡‘ãŒÃ1552Ž‘ûKÃÏ\else‘¿ª\DN@{\xyFN@\afterCOORD@(}%)ŽŽ¡‘ãŒÃ1553Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŽŽŒ‹½_ Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹27ŽŽ ¶?? ýh«w‘ôŒFinally–¦fÇh¹pšMÞosÇi“¹parsing“after“Çh¹co˜ordÇi“¹(p˜ossibly“Çh¹vš²!ectorÇi¹)“is“in˜terpreted:Ž©Pˆ‘ãŒÃ1560Ž‘õŒÏ\xydef@\xyPOS@{%ŽŽ¤ ™š‘ãŒÃ1561Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\POS@}%gobble“spacesŽŽ¡‘ãŒÃ1562Ž‘ûKÃÏ\else\addPLUS@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ1563Ž‘ mÏ\addPLUS@\DN@{\xy@+{\enter@\cplusthec@}%ŽŽ¡‘ãŒÃ1564Ž‘ ŠÁÏ\afterCOORD{\xy@@\leave@‘¿ª\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1565Ž‘ûKÃÏ\else\addDASH@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ1566Ž‘ mÏ\addDASH@\DN@{\xy@-{\enter@\cplusthec@}%ŽŽ¡‘ãŒÃ1567Ž‘ ŠÁÏ\afterCOORD{\xy@@{\X@c=-\X@c‘¿ª\Y@c=-\Y@c\leave@}\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1568Ž‘ûKÃÏ\else\ifx‘¿ª!\nextŽŽ¡‘ãŒÃ1569Ž‘ mÏ\DN@–¿ª!{\xy@!{\enter@\cskewthec@}\afterCOORD{\xy@@\leave@“\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1570Ž‘ûKÃÏ\else\addDOT@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ1571Ž‘ mÏ\addDOT@\DN@{\xy@.{\enter@\cmergethec@}%ŽŽ¡‘ãŒÃ1572Ž‘ËÏ\afterCOORD{\xy@@\leave@‘¿ª\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1573Ž‘ûKÃÏ\else\ifx‘¿ª,\nextŽŽ¡‘ãŒÃ1574Ž‘ mÏ\DN@‘¿ª,{\xy@,{\comma@@}\afterCOORD{\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1575Ž‘ûKÃÏ\else\ifx‘¿ª;\nextŽŽ¡‘ãŒÃ1576Ž‘ mÏ\DN@‘¿ª;{\xy@;{\swap@}\afterCOORD{\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1577Ž‘ûKÃÏ\else\ifx‘¿ª:\nextŽŽ¡‘ãŒÃ1578Ž‘ mÏ\DN@‘¿ª:{\xyFN@\POS@colon}%ŽŽ¡‘ãŒÃ1579Ž‘ûKÃÏ\else\addEQ@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ1580Ž‘ mÏ\addEQ@\DN@{\xyFN@\saveid@}%ŽŽ¡‘ãŒÃ1581Ž‘ûKÃÏ\else\ifx‘¿ª*\nextŽŽ¡‘ãŒÃ1582Ž‘ mÏ\DN@‘¿ª*{\xyFN@\POS@star}%ŽŽ¡‘ãŒÃ1583Ž‘ûKÃÏ\else–¿ª\ifx“?\nextŽŽ¡‘ãŒÃ1584Ž‘ mÏ\DN@?{\xy@?{}\afterPLACE{\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1585Ž‘ûKÃÏ\else–¿ª\addAT@\ifx“\nextŽŽ¡‘ãŒÃ1586Ž‘ mÏ\addAT@\DN@{\xyFN@\STACK@}%ŽŽ¡‘ãŒÃ1587Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1588Ž‘ mÏ\let\next@=\afterPOS@ŽŽ¡‘ãŒÃ1589Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1591Ž‘õŒÏ\xylet@\comma@@=\relaxŽŽ¦‘ãŒÃ1593Ž‘õŒÏ\xylet@\POS@=\xyPOS@ŽŽŸ -‘ôŒ\comma@@Ž‘&»¹is–Ra“hošMÞok“used“to“c²!hange“the“op˜eration“of“Ï,Ž‘ Æü¹,–ŒÐe¹.Ðg¹.,“when–Rreading“a“stac²!k“setup“where“itŽ¡‘ãŒmeans‘¦f`push'.ŽŸR?‘ôŒThe–Ó% nal“functions“servš²!e“only“to“distinguish“bMÞet˜w˜een“the“single“c˜haracter“Ï:Ž– ’Ϲ/Ï*Ž“¹and–Ó%dual“c˜haracterŽ¡‘ãŒÏ::Ž‘ï m¹/Ï**Ž‘%º¹opMÞerators:ަ‘ãŒÃ1603Ž‘õŒÏ\xydef@\POS@colon{\DNii@{\afterCOORD{\xyFN@\POS@}}%ŽŽ¡‘ãŒÃ1604Ž‘ûKÃÏ\ifx–¿ª:\next“\xy@{::}{\setbase@@\X@c\Y@c}\DN@:{\nextii@}%ŽŽ¡‘ãŒÃ1605Ž‘ûKÃÏ\else–¿ª\xy@:{\setbase@\X@p\Y@p\X@c\Y@c}\let\next@=\nextii@“\fiŽŽ¡‘ãŒÃ1606Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ1608Ž‘õŒÏ\xydef@\POS@star{%ŽŽ¡‘ãŒÃ1609Ž‘ûKÃÏ\ifx‘¿ª*\nextŽŽ¡‘ãŒÃ1610Ž‘ mÏ\DN@*##1##{\nextii@{##1}}%ŽŽ¡‘ãŒÃ1611Ž‘ mÏ\DNii@##1##2{\xy@@ix@{{##1}{##2}}%ŽŽ¡‘ãŒÃ1612Ž‘ËÏ\xy@{**##1{##2}}{\expandafter\connect@\the\toks9‘¿ª}\xyFN@\POS@}%ŽŽ¡‘ãŒÃ1613Ž‘ûKÃÏ\elseŽŽŽŽŒ‹ȯ Á à ý*tj‘㌹28’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ1614Ž‘ mÏ\DN@##1##{\nextii@{##1}}%ŽŽ¤ ™š‘ãŒÃ1615Ž‘ mÏ\DNii@##1##2{\xy@@ix@{{##1}{##2}}%ŽŽ¡‘ãŒÃ1616Ž‘ËÏ\xy@{*##1{##2}}{\expandafter\drop@\the\toks9‘¿ª}\xyFN@\POS@}%ŽŽ¡‘ãŒÃ1617Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ1618Ž‘ûKÃÏ\next@}ŽŽŸ*¾1‘ãŒÔSimple‘ßQactions:‘ ó5¹Next–<¢follo²!w“the“simplest“actions;‘‡Àthe“complicated“ones“are“explained“along“withŽ¡‘ãŒtheir–¦fnotes“bMÞelo²!w.Ž©Pˆ‘ãŒÃ1629Ž‘õŒÏ\xydef@\cfromp@{\X@c=\X@p–¿ª\Y@c=\Y@p“\U@c=\U@p“\D@c=\D@p“\L@c=\L@p“\R@c=\R@pŽŽ¡‘ãŒÃ1630Ž‘ûKÃÏ\Edge@c=\expandafter{\the\Edge@p}}ŽŽ¦‘ãŒÃ1632Ž‘õŒÏ\xydef@\pfromc@{\X@p=\X@c–¿ª\Y@p=\Y@c“\U@p=\U@c“\D@p=\D@c“\L@p=\L@c“\R@p=\R@cŽŽ¡‘ãŒÃ1633Ž‘ûKÃÏ\Edge@p=\expandafter{\the\Edge@c}}ŽŽ¦‘ãŒÃ1635Ž‘õŒÏ\xydef@\swapdimen@#1#2{\dimen@=#1\relax–¿ª#1=#2\relax“#2=\dimen@}ŽŽ¦‘ãŒÃ1637Ž‘õŒÏ\xynew@{toks}\swaptoks@@ŽŽ¦‘ãŒÃ1639Ž‘õŒÏ\xydef@\swap@{\swapdimen@\X@c\X@p‘¿ª\swapdimen@\Y@c\Y@pŽŽ¡‘ãŒÃ1640Ž‘ûKÃÏ\swapdimen@\U@c\U@p\swapdimen@\D@c\D@p‘¿ª\swapdimen@\L@c\L@p\swapdimen@\R@c\R@pŽŽ¡‘ãŒÃ1641Ž‘ûKÃÏ\swaptoks@@=\Edge@c–¿ª\Edge@c=\Edge@p“\Edge@p=\swaptoks@@}ŽŽŸèv‘ôŒ¹Next–¦fthe“parsing“of“coMÞordinate“pairs“in“Ï<>Ž‘%º¹:ަ‘ãŒÃ1647Ž‘õŒÏ\xydef@\vfromabsolute@#1{\vfromabsolute@@#1,@}ŽŽ¦‘ãŒÃ1649Ž‘õŒÏ\xydef@\vfromabsolute@@#1,#2@{\X@c=#1\relaxŽŽ¡‘ãŒÃ1650Ž‘ûKÃÏ\DN@{#2}\ifx\next@\empty‘¿ª\Y@c=\X@cŽŽ¡‘ãŒÃ1651Ž‘ûKÃÏ\else–¿ª\DN@##1,{\Y@c=##1}\next@#2\relax“\fiŽŽ¡‘ãŒÃ1652Ž‘õŒÏ%–¿ª\advance\X@c“1sp“\advance\Y@c“1sp“%HACKŽŽ¡‘ãŒÃ1653Ž‘õŒÏ}ŽŽŸèv‘ôŒ¹The–Ì•next“group“of“commands“are“used“to“store“on“the“conš²!trol“stac˜k“with“the“Ï\enter@Ž‘/Öйcommand,Ž¡‘ãŒso–¦fthey“Ðexp‘ÿp¹and‘ȹto“something“useful:ަ‘ãŒÃ1660Ž‘õŒÏ\xydef@\cfromthec@{\X@c=\the\X@c‘¿ª\Y@c=\the\Y@cŽŽ¡‘ãŒÃ1661Ž‘ûKÃÏ\U@c=\the\U@c–¿ª\D@c=\the\D@c“\L@c=\the\L@c“\R@c=\the\R@cŽŽ¡‘ãŒÃ1662Ž‘ûKÃÏ\Edge@c={\expandafter\noexpand\the\Edge@c}}ŽŽ¦‘ãŒÃ1664Ž‘õŒÏ\xydef@\cfromthep@{\X@c=\the\X@p‘¿ª\Y@c=\the\Y@pŽŽ¡‘ãŒÃ1665Ž‘ûKÃÏ\U@c=\the\U@p–¿ª\D@c=\the\D@p“\L@c=\the\L@p“\R@c=\the\R@pŽŽ¡‘ãŒÃ1666Ž‘ûKÃÏ\Edge@c={\expandafter\noexpand\the\Edge@p}}ŽŽ¦‘ãŒÃ1668Ž‘õŒÏ\xydef@\pfromthep@{\X@p=\the\X@p‘¿ª\Y@p=\the\Y@pŽŽ¡‘ãŒÃ1669Ž‘ûKÃÏ\U@p=\the\U@p–¿ª\D@p=\the\D@p“\L@p=\the\L@p“\R@p=\the\R@pŽŽ¡‘ãŒÃ1670Ž‘ûKÃÏ\Edge@p={\expandafter\noexpand\the\Edge@p}}ŽŽ¦‘ãŒÃ1672Ž‘õŒÏ\xydef@\pfromthec@{\X@p=\the\X@c‘¿ª\Y@p=\the\Y@cŽŽ¡‘ãŒÃ1673Ž‘ûKÃÏ\U@p=\the\U@c–¿ª\D@p=\the\D@c“\L@p=\the\L@c“\R@p=\the\R@cŽŽ¡‘ãŒÃ1674Ž‘ûKÃÏ\Edge@p={\expandafter\noexpand\the\Edge@c}}ŽŽŸ*¾1‘ãŒÔNotesŽŸÄŽ‘㌹1.3a.ŽŽ=When–,Ãdoing“arithmetic“with“Ï+Ž›0¹and“Ï-Ž˜¹then“the“resulting“curren²!t“ob‘›»ject“inherits“the“size“of“theŽ¡‘õŒÇh¹coMÞordÇi¹,–¦fÐi¹.Ðe¹.,“the“righš²!t“argumen˜t|this“will“bšMÞe“zero“if“the“Çh¹co˜ordÇi“¹is“a“Çh¹v²!ectorÇi¹.ŽŽŽŒ‹Ó® Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹29ŽŽ ¶?? ýh«w‘õŒÔExercise‘ 1.2:‘ ó5¹Hoš²!w–…Ëdo“y˜ou“set“Äc“¹to“an“ob‘›»ject“the“same“size“as“the“sa˜v˜ed“ob‘›»ject“Ï"ob"Ž‘ >¹but“mo˜v˜edޤ ™š‘õŒÏ<Ž‘ûKÃÄX‘ÛøÏ,Ž‘›¢ÄY‘nïÏ>Ž‘.™¹?ŽŸPˆ‘ãŒÃ1694Ž‘õŒÏ\xydef@\cplusthec@{\advance\X@c\the\X@c‘¿ª\advance\Y@c\the\Y@c}ŽŽŸ&<‘㌹1.3b.ŽŽ‘©ùÐSkewing‘òß¹using‘úÞÏ!Ž‘ µf¹just–úÞmeans“that“the“reference“pMÞoinš²!t“of“Äc“¹is“mo˜v˜ed“with“as“little“c˜hange“to“theŽ¡‘õŒshapšMÞe–Õnof“the“ob‘›»ject“as“p˜ossible,–á0Ði¹.Ðe¹.,“the–Õnedge“of“Äc“¹will“remain“in“the“same“lo˜cation“except“that“itŽ¡‘õŒwill–¦fgroš²!w“larger“to“a˜v˜oid“mo˜ving“the“reference“pMÞoin˜t“outside“Äc¹.Ž©"ÒÚ‘õŒÔExercise‘}1.3:‘ ó5¹What–ç¡došMÞes“the“Çh¹p˜osÇi“¹.–Ó3.“.“Ï!R-LŽ‘¹|¹do?‘ä§ÔBug:‘`R¹The–ç¡result“of“Ï!Ž‘ Žì¹is“alw•²!a“ys–ç¡a“rectangleŽ¡‘õŒcurren²!tly‘ÿe.ަ‘õŒÔProY‹cedure:‘ ó5Ï!Ž‘YE¹mo•²!v“es–¦fthe“cenš²!ter“of“Äc“¹b˜y“a“tempMÞorarily“read“ÄcŸü¾È0Ž‘tŸ¹and“then“readjusts“the“exten˜ts:ŽŸ:JïŸÝû…‘=TñÄDŸ¤zÅcŽŽ‘T”;¹:=Ž‘j#,ÄY‘nïŸü¾È0Ž›¬¹+–nìÄYŸ¤zÅcŽ‘eÇ“¹minŽ‘®î(ÄY‘nïŸü¾È0Ž˜Ç“ÄDMÞŸü¾È0Ž‘Ä;‘Ó1Y‘nïŸü¾È0Ž˜¹+“ÄYŸ¤zÅcŽ‘.y¹)Ž’ÞÖ=Ž’2cmaxŽ’FÄ0(ÄYŸ¤zÅcŽ‘e¹+‘nìÄDMÞŸü¾È0Ž‘Ä;‘Ó1¹0)ŽŽ¤ ™™‘>ëÌÄUŸ¤zÅcŽŽ‘T”;¹:=Ž‘j#,maxŽ‘~„@(ÄY‘nïŸü¾È0Ž–¬¹+›nìÄU‘1ŸŸü¾È0Ž‘ÿØÄ;‘Ó1Y‘nïŸü¾È0Ž“¹+˜ÄYŸ¤zÅcŽ‘.y¹)˜Ç˜¹(ÄY‘nïŸü¾È0Ž“¹+˜ÄYŸ¤zÅcŽ‘.y¹)Ž’ÞÖ=Ž’2cmaxŽ’FÄ0(ÄU‘1ŸŸü¾È0Ž‘nÄÇ‘nìÄYŸ¤zÅcŽ‘.yÄ;‘Ó1¹0)ŽŽ¡‘@ XÄYŸ¤zÅcŽŽ‘T”;¹:=Ž‘j#,ÄY‘nïŸü¾È0Ž‘¬¹+‘nìÄYŸ¤zÅcŽŽŽ¡‘>òÄLŸ¤zÅcŽŽ‘T”;¹:=Ž‘j#,ÄX‘ÛøŸü¾È0Ž›¹+–nìÄXŸ¤zÅcŽ‘eÇ“¹minŽ‘®î(ÄX‘ÛøŸü¾È0Ž˜Ç“ÄLŸü¾È0Ž‘Î9Ä;‘Ó1X‘ÛøŸü¾È0Ž˜¹+“ÄXŸ¤zÅcŽ‘.y¹)Ž’ÞÖ=Ž’2cmaxŽ’FÄ0(ÄXŸ¤zÅcŽ‘e¹+‘nìÄLŸü¾È0Ž‘Î9Ä;‘Ó1¹0)ŽŽ¡‘>RÄRŸ¤zÅcŽŽ‘T”;¹:=Ž‘j#,maxŽ‘~„@(ÄX‘ÛøŸü¾È0Ž–¹+›nìÄR¨Ÿü¾È0Ž‘ãáÄ;‘Ó1X‘ÛøŸü¾È0Ž“¹+˜ÄXŸ¤zÅcŽ‘.y¹)˜Ç˜¹(ÄX‘ÛøŸü¾È0Ž“¹+˜ÄXŸ¤zÅcŽ‘.y¹)Ž’ÞÖ=Ž’2cmaxŽ’FÄ0(ÄR¨Ÿü¾È0Ž‘RÍÇ‘nìÄXŸ¤zÅcŽ‘.yÄ;‘Ó1¹0)ŽŽ¡‘=SbÄXŸ¤zÅcŽŽ‘T”;¹:=Ž‘j#,ÄX‘ÛøŸü¾È0Ž‘¹+‘nìÄXŸ¤zÅcŽŽŽŽŽŸ?Þ‘ãŒÃ1737Ž‘õŒÏ\xydef@\cskewthec@{%ŽŽ¡‘ãŒÃ1738Ž‘ûKÃÏ\noexpand\cskew@{\the\Y@c}{\the\X@c}{\the\D@c}{\the\U@c}{\the\L@c}{\the\R@c}}ŽŽŸPˆ‘ãŒÃ1740Ž‘õŒÏ\xydef@\cskew@#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ1741Ž‘ûKÃÏ\D@c=#3\advance\D@c–¿ª\Y@c“\ifdim\D@c<\z@“\D@c=\z@“\fiŽŽ¡‘ãŒÃ1742Ž‘ûKÃÏ\U@c=#4\advance\U@c-\Y@c–¿ª\ifdim\U@c<\z@“\U@c=\z@“\fiŽŽ¡‘ãŒÃ1743Ž‘ûKÃÏ\advance\Y@c#1%ŽŽ¡‘ãŒÃ1744Ž‘ûKÃÏ\L@c=#5\advance\L@c–¿ª\X@c“\ifdim\L@c<\z@“\L@c=\z@“\fiŽŽ¡‘ãŒÃ1745Ž‘ûKÃÏ\R@c=#6\advance\R@c-\X@c–¿ª\ifdim\R@c<\z@“\R@c=\z@“\fiŽŽ¡‘ãŒÃ1746Ž‘ûKÃÏ\advance\X@c#2%ŽŽ¡‘ãŒÃ1747Ž‘ûKÃÏ\Edge@c={\rectangleEdge}}ŽŽŸ&<‘㌹1.3c.ŽŽ‘ÿrA‘iÇh¹pMÞosÇi–†Ðc‘ÿp¹overs‘þž¹another“if“it“is“a“rectangle“with“size“sucien²!tly“large“that“the“other“is“\under-Ž¡‘õŒneath".‘ÖaThe‘ñÏ.Ž‘ ߌ¹opšMÞeration–ñ\extends"“a“Çh¹p˜osÇi“¹to“co•²!v“er–ñan“additional“one|the“reference“p˜oin²!t“of“Äc“¹isŽ¡‘õŒnot›¦fmo•²!v“ed˜but˜the˜shapMÞe˜is˜c“hanged˜to˜a˜rectangle˜suc“h˜that˜the˜en“tire˜Äp˜¹ob‘›»ject˜is˜co“v“ered.ŽŸ„t‘õŒÔBug:‘*³¹non-rectangular–ÌÑob‘›»jects“are“ rst“\translated"“inš²!to“a“rectangle“b˜y“using“a“diagonal“throughŽ¡‘õŒthe–¦fob‘›»ject“as“the“diagonal“of“the“rectangle.ަ‘õŒÔProY‹cedure:‘ ó5Ï.Ž‘YE¹takš²!es–¦fa“tempMÞorary“ob‘›»ject“ÄcŸü¾È0Ž‘tŸ¹and“adjusts“the“exten˜ts“of“Äc“¹suc˜h“that“it“is“co˜v˜ered.ŽŸ,±VŸë•‘OÑÙÄLŸ¤zÅcŽŽ‘et¹:=Ž‘{ÿÄX‘ÛøŸü¾È0Ž–Ç‘nì¹minŽ‘®î(ÄX‘ÛøŸü¾È0Ž“Ç–nìÄLŸ¤zÅcŽ‘.yÄ;‘Ó1X‘JäÇ“ÄL¹)Ž’9 =Ž’½PmaxŽ’.d(ÄLŸ¤zÅcŽ‘.yÄ;‘Ó1A–nì¹+“ÄL¹)ŽŽ¤ ™™‘Nõ%ÄRŸ¤zÅcŽŽ‘et¹:=Ž‘{ÿmaxŽ’d(ÄX‘ÛøŸü¾È0Ž‘¹+–nìÄRŸ¤zÅcŽ‘.yÄ;‘Ó1X‘Jä¹+“ÄR¨¹)“Ç“ÄX‘ÛøŸü¾È0ŽŽ’9 ¹=Ž’½PmaxŽ’.d(ÄRŸ¤zÅcŽ‘.yÄ;‘Ó1ÇÄA–nì¹+“ÄR¨¹)ŽŽ¡‘N4ÄÄDŸ¤zÅcŽŽ‘et¹:=Ž‘{ÿÄY‘nïŸü¾È0Ž–¬Ç‘nì¹minŽ‘®î(ÄY‘nïŸü¾È0Ž“Ç–nìÄDŸ¤zÅcŽ‘.yÄ;‘Ó1Y‘ÝÛÇ“ÄDMÞ¹)Ž’9 =Ž’½PmaxŽ’.d(ÄDŸ¤zÅcŽ‘.yÄ;‘Ó1B‘û¹+‘nìÄDMÞ¹)ŽŽ¡‘OËŸÄUŸ¤zÅcŽŽ‘et¹:=Ž‘{ÿmaxŽ’d(ÄY‘nïŸü¾È0Ž‘¬¹+–nìÄUŸ¤zÅcŽ‘.yÄ;‘Ó1Y‘ÝÛ¹+“ÄU‘1Ÿ¹)“Ç“ÄY‘nïŸü¾È0ŽŽ’9 ¹=Ž’½PmaxŽ’.d(ÄUŸ¤zÅcŽ‘.yÄ;‘Ó1ÇÄB‘û¹+‘nìÄU‘1Ÿ¹)ŽŽŽŽŸ-·‘õŒwith‘Â_Ï<Ž‘‚ ÄAÏ,Ž‘¿ªÄB‘Œ¤Ï>Ž‘ Võ¹=‘ §Ï<Ž‘ÊQÄX‘ÛøŸü¾È0Ž‘QÇ–¦àÄX‘ÛøÏ,Ž‘›¢ÄY‘nïŸü¾È0Ž‘äÇ“ÄY‘nïÏ>Ž‘.™¹.‘‘ÛFirst–Â_methoMÞd“2“of“the“ob‘›»ject“is“used“to“con•²!v“ert–Â_it“in²!to“a“rectangle.ŽŸPˆ‘ãŒÃ1782Ž‘õŒÏ\xydef@\cmergethec@{%ŽŽ¡‘ãŒÃ1783Ž‘ûKÃÏ\noexpand\cmerge@{\the\Y@c}{\the\X@c}{\the\D@c}{\the\U@c}{\the\L@c}{\the\R@c}}ŽŽŽŽŒ‹ß Á à ý*tj‘㌹30’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ1785Ž‘õŒÏ\xydef@\cmerge@#1#2#3#4#5#6{\the\Edge@c4%ŽŽ¤ ™š‘ãŒÃ1786Ž‘ûKÃÏ\A@=#2\advance\A@-\X@c‘¿ª\B@=#1\advance\B@-\Y@cŽŽ¡‘ãŒÃ1787Ž‘ûKÃÏ\dimen@=#5\advance\L@c–¿ª\A@“\ifdim\L@c<\dimen@“\L@c=\dimen@“\fiŽŽ¡‘ãŒÃ1788Ž‘ûKÃÏ\dimen@=#6\advance\R@c-\A@–¿ª\ifdim\R@c<\dimen@“\R@c=\dimen@“\fiŽŽ¡‘ãŒÃ1789Ž‘ûKÃÏ\dimen@=#3\advance\D@c–¿ª\B@“\ifdim\D@c<\dimen@“\D@c=\dimen@“\fiŽŽ¡‘ãŒÃ1790Ž‘ûKÃÏ\dimen@=#4\advance\U@c-\B@–¿ª\ifdim\U@c<\dimen@“\U@c=\dimen@“\fiŽŽ¡‘ãŒÃ1791Ž‘ûKÃÏ\advance\X@c\A@‘¿ª\advance\Y@c\B@}ŽŽŸ"à‘㌹1.3d.ŽŽ‘©ùThe–´JopšMÞerations“Ï:Ž‘(>¹and“Ï::Ž‘çè¹set“the“Ðb‘ÿp¹ase‘†ë¹used“for“Çh¹co˜ordÇi¹inates“ha²!ving“the“form“Ï(Ž‘ sôÄxÏ,Ž‘¿ªÄyd“Ï)Ž‘$=¹.‘‰The“Ï:ŽŽ¡‘õŒ¹opMÞeration–¬will“set“Ï<Ž‘ ÒVÄXŸ¤záoriginŽ‘6©Ï,Ž–!ÿÄYŸ¤záoriginŽ‘6©Ï>Ž“¹to›¬Äp¹,‘-¾Ï<Ž‘ íhÄXŸÈ®áxb¥aseŽ‘kfÏ,Ž–=¼ÄYŸÈ®áxb¥aseŽ‘kfÏ>Ž“¹to˜Äc–·Ç“ÐoriginŽŽ‘­¥¹,‘-¾and˜Ï<Ž‘ ÒVÄXŸÈ®áyb¥aseŽ‘¡qÏ,Ž–sÇÄYŸÈ®áyb¥aseŽ‘¡qÏ>Ž“¹toŽ¡‘õŒÏ<Ž‘ûKÃÇŽ‘Ð ÄYŸÈ®áxb¥aseŽ‘kfÏ,Ž–›ÂÄXŸÈ®áxb¥aseŽ‘kfÏ>Ž“¹(this–p²ensures“that“it“is“a“usual“square“cošMÞordinate“system).‘<ÀThe“Ï::Ž‘`¸¹op˜erationŽ¡‘õŒmaš²!y–mthen“bMÞe“used“afterw˜ards“to“mak˜e“nonsqare“bases“b˜y“just“setting“Ðyb‘ÿp¹ase‘?º¹to“Äc–üRÇ“ÐoriginŽŽ‘òݹ.‘ÊÃHere‘mareŽ¡‘õŒt•²!w“o–¦fexamples:‘ÝÝ rstly“Ï0;<1cm,0cm>:Ž‘LHĹsets“the“coMÞordinate“systemŽŸ73Ò’«’‹ïps: SDict begin xyc end‘¦zŸÿ4ýÈŽŽŽŽŽŽ‘<ç.Ÿýh0ï" {28.45274 0.0 l}xyŽŽŽ‘<ç.Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽŸýh0‘ sGŸãŒï" {0.0 28.45274 l}xyŽŽŽ‘ sGŸàôIï" {-3072 10 /xy AB}xyŽŽŽŽ‘Ÿõèó7ý': cmti10âoriginŽŽŽŽ‘?ç.Ÿáxb‘ÿ}'aseŽŽŽŽ‘³ÖŸß‚yb‘ÿ}'aseŽŽŽŽ‘8¥ Ÿã±ÇŽŽŽŽŽ‘Bç.ŸãþôÏ(1,1)ŽŽŽŽŽ‘ sGŸàôIï" {-28.45274 0.0 dt}xyŽŽŽŸýh0‘<ç.ï" {0.0 -28.45274 dt}xyŽŽŽŽŽŽŽŸùd‘õŒ¹while‘¦fÏ<1cm,.5cm>;<2cm,1.5cm>:<1cm,1cm>::Ž’/Çl¹de nesŽŸS ý’9Uïps: SDict begin xyc end‘äÿŸÿ4ýÈŽŽŽŽŽŽ‘ ±ËŸÒºUï" {-28.45276 28.45276 dd}xyŽŽŽ‘ ±ÜŸÒºfï" {-2048 10 /xy AB}xyŽŽŽŽŸË35‘™tâyb‘ÿ}'aseŽŽŽ¤ ‘²bGeforeŽŽŽ¡‘ éó8ßê\B@“\advance\R@-\B@“\repeat@ŽŽ¡‘ãŒÃ1959Ž‘ûKÃÏ\ifdim\R@<.5\B@\else–¿ª\R@=-\R@“\advance\R@\B@ŽŽ¡‘ãŒÃ1960Ž‘ mÏ\X@ybase=-\X@ybase–¿ª\Y@ybase=-\Y@ybase“\fiŽŽ¡‘ãŒÃ1961Ž‘ûKÃÏ\B@=180\p@ŽŽ¡‘ãŒÃ1962Ž‘ûKÃÏ\ifdim\R@<.5\B@\else–¿ª\R@=-\R@“\advance\R@\B@ŽŽ¡‘ãŒÃ1963Ž‘ mÏ\X@xbase=-\X@xbase–¿ª\Y@xbase=-\Y@xbase“\fiŽŽ¡‘ãŒÃ1964Ž‘ûKÃÏ\B@=90\p@ŽŽ¡‘ãŒÃ1965Ž‘ûKÃÏ\ifdim\R@<.5\B@‘¿ª\let\nextiii@=\literal@ŽŽ¡‘ãŒÃ1966Ž‘ûKÃÏ\else–¿ª\R@=-\R@“\advance\R@\B@“\def\nextiii@##1,##2@{##2,##1@}\fiŽŽ¡‘ãŒÃ1967Ž‘ûKÃÏ\dimen@=\z@‘¿ª\DN@{1,0@}%ŽŽ¡‘ãŒÃ1968Ž‘ûKÃÏ\dimen@ii=45\p@‘¿ª\DNii@{.70710678,.70710678@}%ŽŽ¡‘ãŒÃ1969Ž‘ûKÃÏ\chooseangleinterval@ŽŽ¡‘ãŒÃ1970Ž‘ûKÃÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1971Ž‘ mÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1972Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1973Ž‘ ŠÁÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1974Ž‘JkÏ{}%ŽŽ¡‘ãŒÃ1975Ž‘JkÏ{4.090909}{.99677570,.08023846@}%ŽŽ¡‘ãŒÃ1976Ž‘JkÏ{}}%ŽŽ¡‘ãŒÃ1977Ž‘ ŠÁÏ{6}{.99452190,.10452846@}%ŽŽ¡‘ãŒÃ1978Ž‘ ŠÁÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1979Ž‘JkÏ{}%ŽŽ¡‘ãŒÃ1980Ž‘JkÏ{8.181818}{.98982144,.14231484@}%ŽŽ¡‘ãŒÃ1981Ž‘JkÏ{}}}%ŽŽŽŽŒ‹ þ Á à ý*tj‘㌹32’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ÿt5_ þ~¸A‘㌹V‘ÿeectors–A(for“angles“in“[0Ÿü¾ÈŽ‘Ê«¹:‘ §45Ÿü¾ÈŽ‘À¹]:‘«>conš²!tains“all“angles“required“to“t˜ypMÞeset“fractions“up“toŸû°K‘ 7ÅnŽ‘t[ŸÆ‰fe€ŸPAÂ12ŽŽŽŽ‘ÌÇ–¤p¹2Äšd“¹,Ÿû°K‘¨œÂ1Ž‘ˆšŸÆ‰fe€ŸPA16ŽŽŽŽ‘àEÇ“¹2ƹ,ޤ ™š‘ãŒandŸû°K‘ÑãÂ1Ž‘±áŸÆ‰fe€ŸPA24ŽŽŽŽ‘„˜Ç‘|¹2Ä‘ãA¹exactly‘ÿe,‘† and›~®t•²!w“o˜extra˜lo“w˜ones˜to˜ensure˜that˜all˜gaps˜are˜less˜than˜5Ÿü¾ÈŽ‘>²¹and˜the˜precisionŽ¡‘ãŒof–¦fall“sine/cosines“bMÞetter“thanŸû°K‘ 9ŸÂ1Ž‘Ù™ŸÆ‰feŸPA1000ŽŽŽŽ‘ ܹ.Ž ­Ìˆ‘z™ ÿa`†‰ff¥ÕeŸfdÌͤ™œ„ ff‘""Ÿüfdó  b> cmmi10µ ‘%Øú¡„ ffŽ‘Oö²(cosŽ‘7µ z;Ž‘nŽK²sinŽ‘|€µ z²)‘3Ÿ™œ„ ffŽ’¸œËfractions–UUof“2µŽ’*ß™œ„ ffŽ’)ãß² ippGed–UUfractions“of“2µŽ’¥¢2Ÿ™œ„ ffŽŽŸ‰ff¥ÕeŸ ˜Ìͤ2Ë„Lcff‘""ŸúÍ5²0‘'>œ¡„LcffŽ‘_ŽI(1µ;Ž‘nŽK²0)‘*“ñŸ2Ë„LcffŽŸü ’ÖMB±0Ž’ÕÒ¼Ÿ£&‰feñ~Ÿ¿˜ó 0e—rcmmi7´nŽŽŽŽ’*ÄŸ2Ë„LcffŽŸü ’‘)±1Ž’‘)Ÿ£&‰feüsŸ¿˜2ŽŽŽŽ’Àϵ;Ÿü ‘ÝÛ±1Ž‘ÝÛŸ£&‰feüsŸ¿˜4ŽŽŽŽ– µ;Ÿü ‘ÝÛ±2Ž‘ÝÛŸ£&‰feüsŸ¿˜4ŽŽŽŽ“µ;Ÿü ‘ÝÛ±2Ž‘ÝÛŸ£&‰feüsŸ¿˜8ŽŽŽŽ“µ;Ÿü ‘ÝÛ±3Ž‘ÝÛŸ£&‰feüsŸ¿˜4ŽŽŽŽ“µ;Ÿü ‘ÝÛ±3Ž‘ÝÛŸ£&‰feüsŸ¿˜6ŽŽŽŽ“µ;Ÿü ‘ܱ3Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ› ôµ;Ÿü ‘ÝÛ±4Ž‘ÝÛŸ£&‰feüsŸ¿˜8ŽŽŽŽ“µ;Ÿü ‘ܱ5Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ˜µ;Ÿü ‘ÝÛ±6Ž‘ÝÛŸ£&‰feüsŸ¿˜8ŽŽŽŽ“µ;Ÿü ‘ܱ6Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ˜µ;Ÿü ‘ܱ9Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ‘ÖÁŸ2Ë„LcffŽŽŸ ™/Ìͤ™œ„ ff‘""Ÿüfd²4µ:²090909‘wy¡„ ffŽ‘9Ç%(µ:²99677570µ;Ž‘nŽK:²08023846)‘ÌÍŸ™œ„ ffŽ’Ôgìó !",š cmsy10¸‘1ûºŸ™œ„ ffŽ’V6‘G¤öŸ™œ„ ffŽŽŸ Ìͤ™œ„ ff‘""Ÿüfd²6‘'>œ¡„ ffŽ‘9Ç%(µ:²99452190µ;Ž‘nŽK:²10452846)‘ÌÍŸ™œ„ ffŽ’Ôg츑1ûºŸ™œ„ ffŽ’V6‘G¤öŸ™œ„ ffŽŽŸ ³4Ìͤ2Ë„Lcff‘""ŸúÍ5²8µ:²181818‘wy¡„LcffŽ‘9Ç%(µ:²98982144µ;Ž‘nŽK:²14231484)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±3Ž’ÔOŸ£&‰feøæŸ¿˜11ŽŽŽŽ’*ÄŸ2Ë„LcffŽŸü ’Xu8Ž’V;Ÿ£&‰feøæŸ¿˜11ŽŽŽŽ’¥¢3Ÿ2Ë„LcffŽŽ¤LcÌͤ2Ë„Lcff‘ÌÍŸúÍ5²10‘%“ð¡„LcffŽ‘9Ç%(µ:²98480775µ;Ž‘nŽK:²17364818)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMA±7Ž’ÖMAŸ£&‰feüsŸ¿˜9ŽŽŽŽ’*ß2Ë„LcffŽŸü ’Xt2Ž’XtŸ£&‰feüsŸ¿˜9ŽŽŽŽ’¥¢2Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²12µ:²857143“¡„LcffŽ‘9Ç%(µ:²97492791µ;Ž‘nŽK:²22252093)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMA±2Ž’ÖMAŸ£&‰feüsŸ¿˜7ŽŽŽŽ’*ß2Ë„LcffŽŸü ’Xt5Ž’XtŸ£&‰feüsŸ¿˜7ŽŽŽŽ’¥¢2Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²15‘%“ð¡„LcffŽ‘9Ç%(µ:²96592583µ;Ž‘nŽK:²25881905)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±1Ž’ÔOŸ£&‰feøæŸ¿˜24ŽŽŽŽ’*ÄŸ2Ë„LcffŽ’¥¢3Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²16µ:²363636“¡„LcffŽ‘9Ç%(µ:²95949297µ;Ž‘nŽK:²28173256)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±6Ž’ÔOŸ£&‰feøæŸ¿˜11ŽŽŽŽ’*ÄŸ2Ë„LcffŽŸü ’Xu5Ž’V;Ÿ£&‰feøæŸ¿˜11ŽŽŽŽ’¥¢3Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²18‘%“ð¡„LcffŽ‘9Ç%(µ:²95105652µ;Ž‘nŽK:²30901699)‘ÌÍŸ2Ë„LcffŽŸü ’Ézj±3Ž’Ç|0Ÿ£&‰feøæŸ¿˜10ŽŽŽŽ’ШIµ;Ÿü ‘ÝÛ±4Ž‘ÝÛŸ£&‰feüsŸ¿˜5ŽŽŽŽ‘ µ;Ÿü ‘ܱ8Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ‘/濟2Ë„LcffŽŸü ’IJc1Ž’IJcŸ£&‰feüsŸ¿˜5ŽŽŽŽ’Nz µ;Ÿü ‘ܱ2Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ‘ ôµ;Ÿü ‘ܱ7Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ‘EûŸ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²20‘%“ð¡„LcffŽ‘9Ç%(µ:²93969262µ;Ž‘nŽK:²34202014)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMA±5Ž’ÖMAŸ£&‰feüsŸ¿˜9ŽŽŽŽ’*ß2Ë„LcffŽŸü ’Xt4Ž’XtŸ£&‰feüsŸ¿˜9ŽŽŽŽ’¥¢2Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²22µ:²5‘ÌÒ¡„LcffŽ‘9Ç%(µ:²92387953µ;Ž‘nŽK:²38268343)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±1Ž’ÔOŸ£&‰feøæŸ¿˜16ŽŽŽŽ’*ÄŸ2Ë„LcffŽ’¥¢3Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²24µ:²545455“¡„LcffŽ‘9Ç%(µ:²90963200µ;Ž‘nŽK:²41541501)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±9Ž’ÔOŸ£&‰feøæŸ¿˜11ŽŽŽŽ’*ÄŸ2Ë„LcffŽŸü ’Xu2Ž’V;Ÿ£&‰feøæŸ¿˜11ŽŽŽŽ’¥¢3Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²25µ:²714286“¡„LcffŽ‘9Ç%(µ:²90096887µ;Ž‘nŽK:²43388374)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMA±4Ž’ÖMAŸ£&‰feüsŸ¿˜7ŽŽŽŽ’*ß2Ë„LcffŽŸü ’Xt3Ž’XtŸ£&‰feüsŸ¿˜7ŽŽŽŽ’¥¢2Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²30‘%“ð¡„LcffŽ‘9Ç%(µ:²86602540µ;Ž‘nŽK:²5)‘'ÌÔŸ2Ë„LcffŽŸü ’¨l2±1Ž’¨l2Ÿ£&‰feüsŸ¿˜3ŽŽŽŽ’­›Øµ;Ÿü ‘ܱ1Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ› ôµ;Ÿü ‘ÝÛ±2Ž‘ÝÛŸ£&‰feüsŸ¿˜6ŽŽŽŽ– µ;Ÿü ‘ÝÛ±3Ž‘ÝÛŸ£&‰feüsŸ¿˜9ŽŽŽŽ“µ;Ÿü ‘ܱ4Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ˜µ;Ÿü ‘ÝÛ±5Ž‘ÝÛŸ£&‰feüsŸ¿˜6ŽŽŽŽ“µ;Ÿü ‘ܱ7Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ˜µ;Ÿü ‘ÝÛ±10Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ‘ÖÁŸ2Ë„LcffŽŸü ’*:e1Ž’*:eŸ£&‰feüsŸ¿˜6ŽŽŽŽ’/j µ;Ÿü ‘ÝÛ±2Ž‘ÝÛŸ£&‰feüsŸ¿˜3ŽŽŽŽ– µ;Ÿü ‘ܱ2Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ› ôµ;Ÿü ‘ÝÛ±4Ž‘ÝÛŸ£&‰feüsŸ¿˜6ŽŽŽŽ“µ;Ÿü ‘ܱ5Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ˜µ;Ÿü ‘ÝÛ±6Ž‘ÝÛŸ£&‰feüsŸ¿˜9ŽŽŽŽ“µ;Ÿü ‘ܱ8Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ˜µ;Ÿü ‘ÝÛ±11Ž‘ÝÛŸ£&‰feøæŸ¿˜12ŽŽŽŽ‘&ýŸ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²32µ:²727273“¡„LcffŽ‘9Ç%(µ:²84125353µ;Ž‘nŽK:²54064082)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±1Ž’ÔOŸ£&‰feøæŸ¿˜11ŽŽŽŽ’*ÄŸ2Ë„LcffŽŸü ’V;10Ž’V;Ÿ£&‰feøæŸ¿˜11ŽŽŽŽ’¥¢3Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²36‘%“ð¡„LcffŽ‘9Ç%(µ:²80901699µ;Ž‘nŽK:²58778525)‘ÌÍŸ2Ë„LcffŽŸü ’Ézj±1Ž’Ç|0Ÿ£&‰feøæŸ¿˜10ŽŽŽŽ’ШIµ;Ÿü ‘ÝÛ±3Ž‘ÝÛŸ£&‰feüsŸ¿˜5ŽŽŽŽ‘ µ;Ÿü ‘ܱ6Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ‘/濟2Ë„LcffŽŸü ’IJc2Ž’IJcŸ£&‰feüsŸ¿˜5ŽŽŽŽ’Nz µ;Ÿü ‘ܱ4Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ‘ ôµ;Ÿü ‘ܱ9Ž‘ÝÛŸ£&‰feøæŸ¿˜10ŽŽŽŽ‘EûŸ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²38µ:²571429“¡„LcffŽ‘9Ç%(µ:²78183148µ;Ž‘nŽK:²62348980)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMA±6Ž’ÖMAŸ£&‰feüsŸ¿˜7ŽŽŽŽ’*ß2Ë„LcffŽŸü ’Xt1Ž’XtŸ£&‰feüsŸ¿˜7ŽŽŽŽ’¥¢2Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²40‘%“ð¡„LcffŽ‘9Ç%(µ:²76604444µ;Ž‘nŽK:²64278761)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMA±1Ž’ÖMAŸ£&‰feüsŸ¿˜9ŽŽŽŽ’*ß2Ë„LcffŽŸü ’Xt8Ž’XtŸ£&‰feüsŸ¿˜9ŽŽŽŽ’¥¢2Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff–ÌÍŸúÍ5²40µ:²909091“¡„LcffŽ‘9Ç%(µ:²75574957µ;Ž‘nŽK:²65486073)‘ÌÍŸ2Ë„LcffŽŸü ’ÖMB±4Ž’ÔOŸ£&‰feøæŸ¿˜11ŽŽŽŽ’*ÄŸ2Ë„LcffŽŸü ’Xu7Ž’V;Ÿ£&‰feøæŸ¿˜11ŽŽŽŽ’¥¢3Ÿ2Ë„LcffŽŽ¡Ìͤ2Ë„Lcff‘ÌÍŸúÍ5²45‘%“ð¡„LcffŽ‘9Ç%(µ:²70710678µ;Ž‘nŽK:²70710678)‘ÌÍŸ2Ë„LcffŽŸü ’ÆT±1Ž’ÆTŸ£&‰feüsŸ¿˜8ŽŽŽŽ’Ë=úµ;Ÿü ‘ÝÛ±3Ž‘ÝÛŸ£&‰feüsŸ¿˜8ŽŽŽŽ– µ;Ÿü ‘ÝÛ±5Ž‘ÝÛŸ£&‰feüsŸ¿˜8ŽŽŽŽ“µ;Ÿü ‘ÝÛ±7Ž‘ÝÛŸ£&‰feüsŸ¿˜8ŽŽŽŽ‘*|pŸ2Ë„LcffŽ’V6¸‘G¤öŸ2Ë„LcffŽŽŸ™1‰ff¥ÕeŽŽ ¶&ò‘}²¹Figure–¦f1.2:‘ÝÝComputing“angle“v²!ectorsŽŽŽŽŽŒ‹!f Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹33ŽŽ ¶?? ýh«w‘ãŒÃ1982Ž‘ËÏ{10}{.98480775,.17364818@}%ŽŽ¤ ™š‘ãŒÃ1983Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1984Ž‘ ŠÁÏ{}%ŽŽ¡‘ãŒÃ1985Ž‘ ŠÁÏ{12.857143}{.97492791,.22252093@}%ŽŽ¡‘ãŒÃ1986Ž‘ ŠÁÏ{}}}%ŽŽ¡‘ãŒÃ1987Ž‘ mÏ{15}{.96592583,.25881905@}%ŽŽ¡‘ãŒÃ1988Ž‘ mÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1989Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1990Ž‘ ŠÁÏ{}%ŽŽ¡‘ãŒÃ1991Ž‘ ŠÁÏ{16.363636}{.95949297,.28173256@}%ŽŽ¡‘ãŒÃ1992Ž‘ ŠÁÏ{}}%ŽŽ¡‘ãŒÃ1993Ž‘ËÏ{18}{.95105652,.30901699@}%ŽŽ¡‘ãŒÃ1994Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ1995Ž‘ ŠÁÏ{}%ŽŽ¡‘ãŒÃ1996Ž‘ ŠÁÏ{20}{.93969262,.34202014@}%ŽŽ¡‘ãŒÃ1997Ž‘ ŠÁÏ{}}}}%ŽŽ¡‘ãŒÃ1998Ž‘ûKÃÏ{22.5}{.92387953,.38268343@}%ŽŽ¡‘ãŒÃ1999Ž‘ûKÃÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2000Ž‘ mÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2001Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2002Ž‘ ŠÁÏ{}%ŽŽ¡‘ãŒÃ2003Ž‘ ŠÁÏ{24.545455}{.90963200,.41541501@}%ŽŽ¡‘ãŒÃ2004Ž‘ ŠÁÏ{}}%ŽŽ¡‘ãŒÃ2005Ž‘ËÏ{25.714286}{.90096887,.43388374@}%ŽŽ¡‘ãŒÃ2006Ž‘ËÏ{}}%ŽŽ¡‘ãŒÃ2007Ž‘ mÏ{30}{.86602540,.5@}%ŽŽ¡‘ãŒÃ2008Ž‘ mÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2009Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2010Ž‘ ŠÁÏ{}%ŽŽ¡‘ãŒÃ2011Ž‘ ŠÁÏ{32.727273}{.84125353,.54064082@}%ŽŽ¡‘ãŒÃ2012Ž‘ ŠÁÏ{}}%ŽŽ¡‘ãŒÃ2013Ž‘ËÏ{36}{.80901699,.58778525@}%ŽŽ¡‘ãŒÃ2014Ž‘ËÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2015Ž‘ ŠÁÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2016Ž‘JkÏ{}%ŽŽ¡‘ãŒÃ2017Ž‘JkÏ{38.571429}{.78183148,.62348980@}%ŽŽ¡‘ãŒÃ2018Ž‘JkÏ{}}%ŽŽ¡‘ãŒÃ2019Ž‘ ŠÁÏ{40.909091}{.75574957,.65486073@}%ŽŽ¡‘ãŒÃ2020Ž‘ ŠÁÏ{\chooseangleinterval@ŽŽ¡‘ãŒÃ2021Ž‘JkÏ{}%ŽŽ¡‘ãŒÃ2022Ž‘JkÏ{40}{.76604444,.64278761@}%ŽŽ¡‘ãŒÃ2023Ž‘JkÏ{}}}}}%ŽŽ¡‘ãŒÃ2024Ž‘ûKÃÏ\A@=\R@‘¿ª\advance\A@-\dimen@ŽŽ¡‘ãŒÃ2025Ž‘ûKÃÏ\ifdim\ifdim\A@<\z@-\fi\A@<.01\p@‘¿ª\edef\next@{\expandafter\nextiii@\next@}%ŽŽ¡‘ãŒÃ2026Ž‘ûKÃÏ\else–¿ª\B@=\dimen@ii“\advance\B@-\R@ŽŽ¡‘ãŒÃ2027Ž‘ mÏ\ifdim\A@<\B@‘¿ª\dimen@=\toradians@\A@ŽŽ¡‘ãŒÃ2028Ž‘ËÏ\edef\next@{\next@–¿ª\expandafter\removePT@\the\dimen@“@}%ŽŽ¡‘ãŒÃ2029Ž‘ mÏ\else‘¿ª\dimen@=-\toradians@\B@ŽŽ¡‘ãŒÃ2030Ž‘ËÏ\edef\next@{\nextii@–¿ª\expandafter\removePT@\the\dimen@“@}%ŽŽŽŽŒ‹"+ Á à ý*tj‘㌹34’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ2031Ž‘ mÏ\fiŽŽ¤ ™š‘ãŒÃ2032Ž‘ mÏ\expandafter\interpolatepoint@\next@ŽŽ¡‘ãŒÃ2033Ž‘ mÏ\edef\next@{\expandafter\nextiii@\next@}%ŽŽ¡‘ãŒÃ2034Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2035Ž‘ûKÃÏ\expandafter\vfromcartesian@@\next@ŽŽ¡‘ãŒÃ2036Ž‘ûKÃÏ\leave@}ŽŽ©Pˆ‘ãŒÃ2038Ž‘õŒÏ\xydef@\chooseangleinterval@#1#2#3#4{%ŽŽ¡‘ãŒÃ2039Ž‘ûKÃÏ\B@=#2\p@‘¿ª\def\next{#3}%ŽŽ¡‘ãŒÃ2040Ž‘ûKÃÏ\ifdim\R@<\B@–¿ª\dimen@ii=\B@“\let\nextii@=\next“#1%ŽŽ¡‘ãŒÃ2041Ž‘ûKÃÏ\else–¿ª\dimen@=\B@“\let\next@=\next“\ifdim\B@<\R@“#4\fi\fi}ŽŽ¦‘ãŒÃ2043Ž‘õŒÏ\xydef@\interpolateinterval@#1,#2@#3,#4@{%ŽŽ¡‘ãŒÃ2044Ž‘ûKÃÏ\A@=#1\p@–¿ª\dimen@=#3\p@“\advance\dimen@-\A@“\advance\A@\next\dimen@ŽŽ¡‘ãŒÃ2045Ž‘ûKÃÏ\B@=#2\p@–¿ª\dimen@=#4\p@“\advance\dimen@-\B@“\advance\B@\next\dimen@ŽŽ¡‘ãŒÃ2046Ž‘ûKÃÏ\edef\next@{\expandafter\removePT@\the\A@,\expandafter\removePT@\the\B@‘¿ª@}}ŽŽ¦‘ãŒÃ2048Ž‘õŒÏ\xydef@\toradians@{0.01745329}ŽŽ¦‘ãŒÃ2050Ž‘õŒÏ\xydef@\interpolatepoint@#1,#2@#3@{%ŽŽ¡‘ãŒÃ2051Ž‘ûKÃÏ\A@=#1\p@–¿ª\dimen@ii=#3\A@“\dimen@ii=-.5\dimen@ii“\advance\A@#3\dimen@iiŽŽ¡‘ãŒÃ2052Ž‘ mÏ\dimen@=-#2\p@‘¿ª\advance\A@#3\dimen@ŽŽ¡‘ãŒÃ2053Ž‘ûKÃÏ\B@=#2\p@–¿ª\dimen@ii=#3\B@“\dimen@ii=-.5\dimen@ii“\advance\B@#3\dimen@iiŽŽ¡‘ãŒÃ2054Ž‘ mÏ\dimen@=#1\p@‘¿ª\advance\B@#3\dimen@ŽŽ¡‘ãŒÃ2055Ž‘ûKÃÏ\edef\next@{\expandafter\removePT@\the\A@,\expandafter\removePT@\the\B@‘¿ª@}}ŽŽŸ¦Ð‘õŒ¹Figure–¦f1.3“sho²!ws“all“directions.ŽŸF*‘ãŒ1.3f.ŽŽ‘ýí,T‘ÿeo–4Ðdr‘ÿp¹op‘È&¹an“Çh¹ob‘›»jectÇi“¹at“Äc“¹with“Ï*Ž‘î¹means“to“actually“phš²!ysically“t˜ypMÞeset“it“in“the“picture“withŽ¡‘õŒreference–ÚÙpšMÞosition“at“Äc¹|ho²!w“this“is“done“dep˜ends“on“the“Çh¹ob‘›»jectÇi“¹in“question“and“is“describ˜ed“inŽ¡‘õŒdetail–MÂin“Çx¹1.4.‘ÓòThe“inš²!tuition“with“a“drop“is“that“it“t˜ypMÞesets“something“at“Ï<Ž‘ lÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘;å¹and“sets“theŽ¡‘õŒedge–¦fof“Äc“¹accordingly‘ÿe.ŽŸ!‘õŒÔProY‹cedure:‘ ó5¹(ó9€EÀtcmbx6ä??Ž‘ßH¹)–\–sets“up“the“direction“to“allo²!w“for“directionals“and“builds“the“requested“Çh¹ob‘›»jectÇiŽ¡‘õŒ¹in–wthe“(global)“Ï\lastobjectbox@Ž‘^aä¹bMÞo²!x,‘.»(Ãl.2106Ž‘ã|¹)“adjust“the“picture“size“unless“it“is“a“hidden“ob‘›»ject,Ž¡‘õŒsetting‘uFÏ\dimen@Ž‘.½“¹=‘ §ÄXŸ¤zÅcŽ‘;%Ç‘ ¬ÄLŸ¤zÅcŽ‘.y¹,‘and–uF(Ãl.2112Ž‘ã|¹)“drop“the“ob‘›»ject“in“the“picture“at“the“righš²!t“pMÞoin˜t“b˜y“settingŽ¡‘õŒÏbox0Ž‘1'¹and–¦fusing“the“Ï\Drop@@Ž‘/Šr¹methoMÞd.ަ‘ãŒÃ2104Ž‘õŒÏ\xydef@\drop@#1#2{%*[drop1]ŽŽ¡‘ãŒÃ2105Ž‘ûKÃÏ\global\setbox\lastobjectbox@=\object#1{#2}%ŽŽ¡‘ãŒÃ2106Ž‘ûKÃÏ\ifHidden@–¿ª\dimen@=\X@c“\advance\dimen@-\L@c“\elseŽŽ¡‘ãŒÃ2107Ž‘ mÏ\dimen@=\Y@c–¿ª\advance\dimen@“\U@c“\ifdim\Y@max<\dimen@“\Y@max=\dimen@“\fiŽŽ¡‘ãŒÃ2108Ž‘ mÏ\dimen@=\Y@c–¿ª\advance\dimen@-\D@c“\ifdim\dimen@<\Y@min“\Y@min=\dimen@“\fiŽŽ¡‘ãŒÃ2109Ž‘ mÏ\dimen@=\X@c–¿ª\advance\dimen@“\R@c“\ifdim\X@max<\dimen@“\X@max=\dimen@“\fiŽŽ¡‘ãŒÃ2110Ž‘ mÏ\dimen@=\X@c–¿ª\advance\dimen@-\L@c“\ifdim\dimen@<\X@min“\X@min=\dimen@“\fiŽŽ¡‘ãŒÃ2111Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2112Ž‘ûKÃÏ\ifInvisible@\elseŽŽ¡‘ãŒÃ2113Ž‘ mÏ\setboxz@h{\kern\dimen@‘¿ª\raise\Y@c\box\lastobjectbox@}%ŽŽ¡‘ãŒÃ2114Ž‘ mÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“{\Drop@@}\fi}ŽŽŸ¦Ð‘õŒÔNote:‘ÝݹAll–¦ftš²!ypMÞesetting“in˜to“a“picture“should“use“or“em˜ulate“Ï\drop@Ž‘&$b¹!ŽŸF*‘ãŒ1.3g.ŽŽ=The›ÌÓÐc–ÿp¹onne“ct‘Ö½¹opMÞeration˜Ï**Ž‘ú¹will˜ rst˜compute˜a˜n•²!um“bMÞer˜of˜in“ternal˜parameters˜describing˜theŽ¡‘õŒdirection–&rfrom“Äp“¹to“Äc“¹and“then“t²!ypMÞesets“a“connection“ lled“with“copies“of“the“Çh¹ob‘›»jectÇi“¹as“illustratedŽŽŽŒ‹#3Û Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹35ŽŽ ¶?? þ®©˜ ÿG#‘6Ѧïps: SDict begin xyc endŸ®»’|ãÂŽ’›\áÅ^ŽŽŽŽŽŽŽ’ŸCKï" {4.0 0 360 o}xyŽŽŽŽŽ’-†¡ï" {138.26303 0.0 l}xyŽŽŽ’0†¡ŸîïÃ0ŽŽŽŽŽ’+üKžó3ÇŽŽŽŽŽ’+럟ýwvŽŽŽŽŽ’+½Ÿù·/ŽŽŽŽŽ’+|Ÿ÷=«ŽŽŽŽŽ’,ÞÍŸòVUï" {137.62503 13.28923 l}xyŽŽŽ’/ÞÍŸóÉïÃ5ŽŽŽŽŽ’+9ËŸóJÇŽŽŽŽŽ’*ò©ŸñÿŽŽŽŽŽ’*žÀŸî¡´ŽŽŽŽŽ’*AcŸì-¿ŽŽŽŽŽ’+]#ŸçK÷ï" {136.16931 23.96596 l}xyŽŽŽ’.]#ŸèZoÃ10ŽŽŽŽŽ’)dÅŸçI¸ÇŽŽŽŽŽ’(僟äÚ5ŽŽŽŽŽ’(\@Ÿâo$ŽŽŽŽŽ’'ÇàŸàŽŽŽŽŽ’(­·ŸÛ-÷ï" {133.56512 35.73744 l}xyŽŽŽ’+­·ŸÛÊ÷Ã15ŽŽŽŽŽ’&}ÇŸÛ7dÇŽŽŽŽŽ’%ÊHŸØÖâŽŽŽŽŽ’% ŸÖx™ŽŽŽŽŽ’$AdŸÔ¥ŽŽŽŽŽ’$òqŸÏW§ï" {129.93906 47.25331 l}xyŽŽŽ’'òqŸÏyRÃ20ŽŽŽŽŽ’"ŽÓŸÏrÜÇŽŽŽŽŽ’!¤ÞŸÍ#ŽŽŽŽŽ’ ²“ŸÊØ0ŽŽŽŽŽ’µ+ŸÈ‘>ŽŽŽŽŽ’ 3¦ŸÃà]ï" {125.31682 58.42583 l}xyŽŽŽ’#3¦ŸÃÄÃ25ŽŽŽŽŽ’œYŸÄ[ÇŽŽŽŽŽ’€ïŸÁÙNŽŽŽŽŽ’ZöŸ¿¤³ŽŽŽŽŽ’+ŠŸ½u¦ŽŽŽŽŽ’wsŸ¸ÞUï" {119.7174 69.17058 l}xyŽŽŽ’wsŸ·ó"Ã30ŽŽŽŽŽ’¯ÎŸ¹)UÇŽŽŽŽŽ’b ôŽŽŽŽŽ’GŸ´ô[ŽŽŽŽŽ’¯ŸŸ²á¦ŽŽŽŽŽ’ÌKŸ®fï" {113.23877 79.33498 l}xyŽŽŽ’ÌKŸ¬ß†Ã35ŽŽŽŽŽ’Õ÷Ÿ®Ð=ÇŽŽŽŽŽ’\Ÿ¬ÐûŽŽŽŽŽ’ Ø¿ŸªØdŽŽŽŽŽ’ M¢Ÿ¨ç•ŽŽŽŽŽ’ =ÙŸ¤fï" {105.9216 88.86807 l}xyŽŽŽ’=ÙŸ¢W«Ã40ŽŽŽŽŽ’ -Ÿ¥jÇŽŽŽŽŽ’vòŸ£=+ŽŽŽŽŽ’ÉaŸ¡h³ŽŽŽŽŽ’yŸŸ›uŽŽŽŽŽ’Û®Ÿ›gï" {97.76683 97.76683 l}xyŽŽŽ’Û®Ÿ˜gÃ45ŽŽŽŽŽ’‘pŸœlÇŽŽŽŽŽ’þÄ2Ÿšc„ŽŽŽŽŽ’üﺟ˜µóŽŽŽŽŽ’û{Ÿ—¸ŽŽŽŽŽ’úµåŸ“rï" {88.86807 105.9216 l}xyŽŽŽ’ü¡;ŸrÃ50ŽŽŽŽŽ’÷EPŸ“ßCÇŽŽŽŽŽ’õTŸ’T&ŽŽŽŽŽ’ó[êŸÐÐŽŽŽŽŽ’ñ\¨ŸVîŽŽŽŽŽ’ðÝ,Ÿ‹wï" {79.33498 113.23877 l}xyŽŽŽ’ñÛØŸˆwÃ55ŽŽŽŽŽ’íK?ŸŒ}FÇŽŽŽŽŽ’ë8ŠŸ‹žŽŽŽŽŽ’é!ñŸ‰É÷ŽŽŽŽŽ’çŸˆ}ŽŽŽŽŽ’ædöŸ„ËØï" {69.17058 119.7174 l}xyŽŽŽ’æ‘£ŸËØÃ60ŽŽŽŽŽ’â·?Ÿ†[ÇŽŽŽŽŽ’àˆ2Ÿ„ÑïŽŽŽŽŽ’ÞS—Ÿƒ«öŽŽŽŽŽ’ÜŠŸ‚ŒŽŽŽŽŽ’Ûbî ÿ¥ï" {58.42583 125.31682 l}xyŽŽŽ’ÚÑ› ÿ|¥Ã65ŽŽŽŽŽ’×›§Ÿ€wºÇŽŽŽŽŽ’ÕTµ ÿzRŽŽŽŽŽ’Ó ß ÿ~ˆŽŽŽŽŽ’к  ÿ}žŽŽŽŽŽ’Ï뤠ÿzPÚï" {47.25331 129.93906 l}xyŽŽŽ’Î¬ü ÿwPÚÃ70ŽŽŽŽŽ’Ì@ ÿ{ëÇŽŽŽŽŽ’É´L ÿ{"UŽŽŽŽŽ’ÇV ÿzbŽŽŽŽŽ’Äõ ÿy¯ŽŽŽŽŽ’ÄT ÿv•”ï" {35.73744 133.56512 l}xyŽŽŽ’Â3W ÿs•”Ã75ŽŽŽŽŽ’À(Ò ÿxeÇŽŽŽŽŽ’½½Á ÿwÐ¥ŽŽŽŽŽ’»R° ÿwGbŽŽŽŽŽ’¸ã- ÿvÈ ŽŽŽŽŽ’·÷T ÿsæ(ï" {23.96596 136.16931 l}xyŽŽŽ’µx­ ÿpæ(Ã80ŽŽŽŽŽ’³ÿ& ÿuë‚ÇŽŽŽŽŽ’±‹1 ÿuŽ%ŽŽŽŽŽ’¯æ ÿu:<ŽŽŽŽŽ’¬œ› ÿtóŽŽŽŽŽ’¬ìö ÿrd~ï" {13.28923 137.62503 l}xyŽŽŽ’©å¤ ÿod~Ã85ŽŽŽŽŽ’¨ï: ÿtœiÇŽŽŽŽŽ’¦u¶ ÿtofŽŽŽŽŽ’¢µo ÿtAFŽŽŽŽŽ’ 9² ÿt0šŽŽŽŽŽ’ŸCK ÿq¼ªï" {0.0 138.26303 l}xyŽŽŽ’›˜¤ ÿn¼ªÃ90ŽŽŽŽŽ’›B: ÿt0šÇŽŽŽŽŽ’˜Æ} ÿtAFŽŽŽŽŽ’•6 ÿtofŽŽŽŽŽ’’Œ² ÿtœiŽŽŽŽŽ’‘™  ÿrd~ï" {-13.28972 137.62503 l}xyŽŽŽ’HO ÿod~Ã95ŽŽŽŽŽ’ŽßQ ÿtóÇŽŽŽŽŽ’Œh ÿu:<ŽŽŽŽŽ’‰ð» ÿuŽ%ŽŽŽŽŽ’‡|Æ ÿuë‚ŽŽŽŽŽ’†B ÿsæ(ï" {-23.96645 136.16931 l}xyŽŽŽ‘Œ‰ ÿpæ(Ã100ŽŽŽŽŽ’‚˜¿ ÿvÈ ÇŽŽŽŽŽ’€)< ÿwGbŽŽŽŽŽ‘}¾+ ÿwÐ¥ŽŽŽŽŽ‘{S ÿxeŽŽŽŽŽ‘zqB ÿv•”ï" {-35.73793 133.56512 l}xyŽŽŽ‘r«  ÿs•”Ã105ŽŽŽŽŽ‘v†k ÿy¯ÇŽŽŽŽŽ‘t%é ÿzbŽŽŽŽŽ‘qÇ  ÿ{"UŽŽŽŽŽ‘ol¬ ÿ{ëŽŽŽŽŽ‘nšò ÿzPÚï" {-47.2538 129.93906 l}xyŽŽŽ‘f: ÿwPÚÃ110ŽŽŽŽŽ‘jÁã ÿ}žÇŽŽŽŽŽ‘hr  ÿ~ˆŽŽŽŽŽ‘f'7 ÿzRŽŽŽŽŽ‘càEŸ€wºŽŽŽŽŽ‘c#¨ ÿ¥ï" {-58.42632 125.31682 l}xyŽŽŽ‘Y«ñ ÿ|¥Ã115ŽŽŽŽŽ‘_abŸ‚ŒÇŽŽŽŽŽ‘](UŸƒ«öŽŽŽŽŽ‘Z󺟄ÑïŽŽŽŽŽ‘XÄ­Ÿ†[ŽŽŽŽŽ‘X! Ÿ„ËØï" {-69.17107 119.7174 l}xyŽŽŽ‘M·©ŸËØÃ120ŽŽŽŽŽ‘Tx\Ÿˆ}ÇŽŽŽŽŽ‘RYûŸ‰É÷ŽŽŽŽŽ‘PCbŸ‹žŽŽŽŽŽ‘N0­ŸŒ}FŽŽŽŽŽ‘M©jŸ‹wï" {-79.33546 113.23877 l}xyŽŽŽ‘B3´ŸˆwÃ125ŽŽŽŽŽ‘JDŸVîÇŽŽŽŽŽ‘H ŸÐÐŽŽŽŽŽ‘F'kŸ’T&ŽŽŽŽŽ‘D6œŸ“ßCŽŽŽŽŽ‘CбŸ“rï" {-88.86856 105.9216 l}xyŽŽŽ‘7-<ŸrÃ130ŽŽŽŽŽ‘@hqŸ—¸ÇŽŽŽŽŽ‘>Œ2Ÿ˜µóŽŽŽŽŽ‘<·ºŸšc„ŽŽŽŽŽ‘:ê|ŸœlŽŽŽŽŽ‘:ªèŸ›gï" {-97.76683 97.76683 l}xyŽŽŽ‘,ªóŸ˜gÃ135ŽŽŽŽŽ‘7hsŸŸ›uÇŽŽŽŽŽ‘5²‹Ÿ¡h³ŽŽŽŽŽ‘4úŸ£=+ŽŽŽŽŽ‘2_¿Ÿ¥jŽŽŽŽŽ‘2H½Ÿ¤fï" {-105.92209 88.86807 l}xyŽŽŽ‘$HÈŸ¢W«Ã140ŽŽŽŽŽ‘/.JŸ¨ç•ÇŽŽŽŽŽ‘-£-ŸªØdŽŽŽŽŽ‘,ן¬ÐûŽŽŽŽŽ‘*¥õŸ®Ð=ŽŽŽŽŽ‘*ºKŸ®fï" {-113.23926 79.33498 l}xyŽŽŽ‘ºVŸ¬ß†Ã145ŽŽŽŽŽ‘'ÌMŸ²á¦ÇŽŽŽŽŽ‘&m¥Ÿ´ô[ŽŽŽŽŽ‘%þŸ· ôŽŽŽŽŽ‘#ÌŸ¹)UŽŽŽŽŽ‘$#Ÿ¸ÞUï" {-119.7179 69.17058 l}xyŽŽŽ‘.Ÿ·ó"Ã150ŽŽŽŽŽ‘!PbŸ½u¦ÇŽŽŽŽŽ‘ öŸ¿¤³ŽŽŽŽŽ‘úýŸÁÙNŽŽŽŽŽ‘ß“ŸÄ[ŽŽŽŽŽ‘RðŸÃà]ï" {-125.3173 58.42583 l}xyŽŽŽ‘RûŸÃÄÃ155ŽŽŽŽŽ‘ÆÁŸÈ‘>ÇŽŽŽŽŽ‘ÉYŸÊØ0ŽŽŽŽŽ‘×ŸÍ#ŽŽŽŽŽ‘íŸÏrÜŽŽŽŽŽ‘”%ŸÏW§ï" {-129.93954 47.25331 l}xyŽŽŽ‘ ”0ŸÏyRÃ160ŽŽŽŽŽ‘:ˆŸÔ¥ÇŽŽŽŽŽ‘q\ŸÖx™ŽŽŽŽŽ‘±¤ŸØÖâŽŽŽŽŽ‘þ%ŸÛ7dŽŽŽŽŽ‘ØßŸÛ-÷ï" {-133.56561 35.73744 l}xyŽŽŽ‘ØêŸÛÊ÷Ã165ŽŽŽŽŽ‘´ ŸàÇŽŽŽŽŽ‘¬Ÿâo$ŽŽŽŽŽ‘–iŸäÚ5ŽŽŽŽŽ‘'ŸçI¸ŽŽŽŽŽ‘)sŸçK÷ï" {-136.1698 23.96596 l}xyŽŽŽ‘)~ŸèZoÃ170ŽŽŽŽŽ‘:‰Ÿì-¿ÇŽŽŽŽŽ‘Ý,Ÿî¡´ŽŽŽŽŽ‘‰CŸñÿŽŽŽŽŽ‘B!ŸóJŽŽŽŽŽ‘§ÉŸòVUï" {-137.62552 13.28923 l}xyŽŽŽ‘§ÔŸóÉïÃ175ŽŽŽŽŽ‘ëpŸ÷=«ÇŽŽŽŽŽ‘¾mŸù·/ŽŽŽŽŽ‘MŸýwvŽŽŽŽŽ‘¡žó3ŽŽŽŽŽ‘ÿõï" {-138.26303 0.0 l}xyŽŽŽ‘ŸîïÃ180ŽŽŽŽŽ‘¡Ÿê«ÇŽŽŽŽŽ‘MŸfhŽŽŽŽŽ‘¾mŸ &¯ŽŽŽŽŽ‘ëpŸ  3ŽŽŽŽŽ‘§ÉŸ ©«ï" {-137.62552 -13.28972 l}xyŽŽŽ‘§ÔŸxÃ185ŽŽŽŽŽ‘B!ŸM”ÇŽŽŽŽŽ‘‰CŸÄßŽŽŽŽŽ‘Ý,Ÿ<*ŽŽŽŽŽ‘:‰Ÿ°ŽŽŽŽŽ‘)sŸ´ ï" {-136.1698 -23.96645 l}xyŽŽŽ‘)~Ÿ€øÃ190ŽŽŽŽŽ‘'Ÿ”&ÇŽŽŽŽŽ‘–iŸ ©ŽŽŽŽŽ‘¬Ÿ"nºŽŽŽŽŽ‘´ Ÿ$ÙËŽŽŽŽŽ‘ØßŸ$Ò ï" {-133.56561 -35.73793 l}xyŽŽŽ‘ØêŸ(çÃ195ŽŽŽŽŽ‘þ%Ÿ)¦zÇŽŽŽŽŽ‘±¤Ÿ,üŽŽŽŽŽ‘q\Ÿ.eEŽŽŽŽŽ‘:ˆŸ0À9ŽŽŽŽŽ‘”%Ÿ0¨Yï" {-129.93954 -47.2538 l}xyŽŽŽ‘ ”0Ÿ4bÃ200ŽŽŽŽŽ‘íŸ5kÇŽŽŽŽŽ‘ן7ºØŽŽŽŽŽ‘ÉYŸ:®ŽŽŽŽŽ‘ÆÁŸŒ2Ÿl'ëŽŽŽŽŽ‘@hqŸmÍ&ŽŽŽŽŽ‘CбŸlúŽï" {-88.86856 -105.92209 l}xyŽŽŽ‘7-<ŸsØkÃ230ŽŽŽŽŽ‘D6œŸpþ›ÇŽŽŽŽŽ‘F'kŸr‰¸ŽŽŽŽŽ‘H Ÿt ŽŽŽŽŽ‘JDŸu†ðŽŽŽŽŽ‘M©jŸt‰ï" {-79.33546 -113.23926 l}xyŽŽŽ‘B3´Ÿ{fÝÃ235ŽŽŽŽŽ‘N0­Ÿx`˜ÇŽŽŽŽŽ‘PCbŸy¿@ŽŽŽŽŽ‘RYûŸ{çŽŽŽŽŽ‘Tx\Ÿ|`ÇŽŽŽŽŽ‘X! Ÿ{4(ï" {-69.17107 -119.7179 l}xyŽŽŽ‘M·© ‚Ã240ŽŽŽŽŽ‘XÄ­Ÿ~܃ÇŽŽŽŽŽ‘Zóº € ïŽŽŽŽŽ‘](U 1èŽŽŽŽŽ‘_ab ‚MRŽŽŽŽŽ‘c#¨ €ð[ï" {-58.42632 -125.3173 l}xyŽŽŽ‘Y«ñ ‡Î8Ã245ŽŽŽŽŽ‘càE „f$ÇŽŽŽŽŽ‘f'7 …cŒŽŽŽŽŽ‘hr  †U×ŽŽŽŽŽ‘jÁã ‡?ÌŽŽŽŽŽ‘nšò …¯&ï" {-47.2538 -129.93954 l}xyŽŽŽ‘f: ŒÃ250ŽŽŽŽŽ‘ol¬ ˆò]ÇŽŽŽŽŽ‘qÇ  ‰»‰ŽŽŽŽŽ‘t%é Š{AŽŽŽŽŽ‘v†k ‹.ÀŽŽŽŽŽ‘zqB ‰jlï" {-35.73793 -133.56561 l}xyŽŽŽ‘r«  HIÃ255ŽŽŽŽŽ‘{S ŒxÙÇŽŽŽŽŽ‘}¾+  9ŽŽŽŽŽ’€)< –|ŽŽŽŽŽ’‚˜¿ Ž¾ŽŽŽŽŽ’†B ŒØï" {-23.96645 -136.1698 l}xyŽŽŽ‘Œ‰ ’÷µÃ260ŽŽŽŽŽ’‡|Æ Žò\ÇŽŽŽŽŽ’‰ð» O¹ŽŽŽŽŽ’Œh £¢ŽŽŽŽŽ’ŽßQ êÄŽŽŽŽŽ’‘™  ›‚ï" {-13.28972 -137.62552 l}xyŽŽŽ’‹E' ”y_Ã265ŽŽŽŽŽ’’Œ² AuÇŽŽŽŽŽ’•6 nxŽŽŽŽŽ’˜Æ} œ˜ŽŽŽŽŽ’›B: ­DŽŽŽŽŽ’ŸCK ŽCVï" {0.0 -138.26303 l}xyŽŽŽ’™ÃQ •!3Ã270ŽŽŽŽŽ’ 9² ­DÇŽŽŽŽŽ’¢µo œ˜ŽŽŽŽŽ’¦u¶ nxŽŽŽŽŽ’¨ï: AuŽŽŽŽŽ’¬ìö ›‚ï" {13.28923 -137.62552 l}xyŽŽŽ’¨=; ”y_Ã275ŽŽŽŽŽ’¬œ› êÄÇŽŽŽŽŽ’¯æ £¢ŽŽŽŽŽ’±‹1 O¹ŽŽŽŽŽ’³ÿ& Žò\ŽŽŽŽŽ’·÷T ŒØï" {23.96596 -136.1698 l}xyŽŽŽ’³õÙ ’÷µÃ280ŽŽŽŽŽ’¸ã- Ž¾ÇŽŽŽŽŽ’»R° –|ŽŽŽŽŽ’½½Á  9ŽŽŽŽŽ’À(Ò ŒxÙŽŽŽŽŽ’ÄT ‰jlï" {35.73744 -133.56561 l}xyŽŽŽ’ÀÛ™ HIÃ285ŽŽŽŽŽ’Äõ ‹.ÀÇŽŽŽŽŽ’ÇV Š{AŽŽŽŽŽ’É´L ‰»‰ŽŽŽŽŽ’Ì@ ˆò]ŽŽŽŽŽ’Ï뤠…¯&ï" {47.25331 -129.93954 l}xyŽŽŽ’Í‚( ŒÃ290ŽŽŽŽŽ’Ðº  ‡?ÌÇŽŽŽŽŽ’Ó ß †U×ŽŽŽŽŽ’ÕTµ …cŒŽŽŽŽŽ’×›§ „f$ŽŽŽŽŽ’Ûbî €ð[ï" {58.42583 -125.3173 l}xyŽŽŽ’ÙÖq ‡Î8Ã295ŽŽŽŽŽ’ÜŠ ‚MRÇŽŽŽŽŽ’ÞS— 1èŽŽŽŽŽ’àˆ2 € ïŽŽŽŽŽ’â·?Ÿ~܃ŽŽŽŽŽ’ædöŸ{4(ï" {69.17058 -119.7179 l}xyŽŽŽ’åʹ ‚Ã300ŽŽŽŽŽ’çŸ|`ÇÇŽŽŽŽŽ’é!ñŸ{çŽŽŽŽŽ’ë8ŠŸy¿@ŽŽŽŽŽ’íK?Ÿx`˜ŽŽŽŽŽ’ðÝ,Ÿt‰ï" {79.33498 -113.23926 l}xyŽŽŽ’ñN®Ÿ{fÝÃ305ŽŽŽŽŽ’ñ\¨Ÿu†ðÇŽŽŽŽŽ’ó[êŸt ŽŽŽŽŽ’õTŸr‰¸ŽŽŽŽŽ’÷EPŸpþ›ŽŽŽŽŽ’úµåŸlúŽï" {88.86807 -105.92209 l}xyŽŽŽ’üU&ŸsØkÃ310ŽŽŽŽŽ’û{ŸmÍ&ÇŽŽŽŽŽ’üﺟl'ëŽŽŽŽŽ’þÄ2ŸjzZŽŽŽŽŽ’‘pŸhÄrŽŽŽŽŽ’Û®Ÿd˜cï" {97.76683 -97.76683 l}xyŽŽŽ’Û®Ÿkv@Ã315ŽŽŽŽŽ’yŸeBiÇŽŽŽŽŽ’ÉaŸcu+ŽŽŽŽŽ’vòŸa ³ŽŽŽŽŽ’ -Ÿ_ÄtŽŽŽŽŽ’ =ÙŸ[ršï" {105.9216 -88.86856 l}xyŽŽŽ’=ÙŸaƒ¼Ã320ŽŽŽŽŽ’ M¢Ÿ[öIÇŽŽŽŽŽ’ Ø¿ŸZzŽŽŽŽŽ’\ŸX ãŽŽŽŽŽ’Õ÷ŸV ¡ŽŽŽŽŽ’ÌKŸQ™áï" {113.23877 -79.33546 l}xyŽŽŽ’ÌKŸVûáÃ325ŽŽŽŽŽ’¯ŸŸQü8ÇŽŽŽŽŽ’GŸOéƒŽŽŽŽŽ’bîŸMÒêŽŽŽŽŽ’¯ÎŸK´‰ŽŽŽŽŽ’wsŸG!«ï" {119.7174 -69.17107 l}xyŽŽŽ’wsŸKèDÃ330ŽŽŽŽŽ’+ŠŸGh8ÇŽŽŽŽŽ’ZöŸE9+ŽŽŽŽŽ’€ïŸCŽŽŽŽŽ’œYŸ@˃ŽŽŽŽŽ’ 3¦Ÿ<£ï" {125.31682 -58.42632 l}xyŽŽŽ’#3¦Ÿ@Y£Ã335ŽŽŽŽŽ’µ+ŸZ‚¹metho“d˜to˜connect˜using˜Ï\lastobjectbox@Ž‘X©å¹.Ž©Pˆ‘ãŒÃ2140Ž‘õŒÏ\xydef@\connect@#1#2{\setupDirection@‘¿ª\enter@{\cfromthec@}%ŽŽ¡‘ãŒÃ2141Ž‘ûKÃÏ\global\setbox\lastobjectbox@=\object#1{#2}\leave@ŽŽ¡‘ãŒÃ2142Ž‘ûKÃÏ\Connect@@}ŽŽ¦‘ãŒÃ2144Ž‘õŒÏ\xydef@\preconnect@#1#2{\setupDirection@‘¿ª\enter@{\cfromthec@}%ŽŽ¡‘ãŒÃ2145Ž‘ûKÃÏ\global\setbox\lastobjectbox@=\object#1{#2}\leave@‘¿ª\connectStore@ŽŽ¡‘ãŒÃ2146Ž‘ûKÃÏ\ifInvisible@–¿ª\Connect@@“\else“\Invisible@true\Connect@@\Invisible@false“\fi}ŽŽŸ{%‘õŒ¹The‘¦fÏ\preconnectŽ‘F‰¹command–¦fis“for“inš²!ternal“use“b˜y“arro˜w“.–Ó3.“.‘y™it–¦fmak˜es“use“of“the“follo˜wing:ަ‘ãŒÃ2153Ž‘õŒÏ\xynew@{box}\connectobjectbox@@ŽŽ¡‘ãŒÃ2154Ž‘õŒÏ\xylet@\connectDrop@@=\emptyŽŽ¡‘ãŒÃ2155Ž‘õŒÏ\xylet@\connectpreXY@style@=\emptyŽŽ¡‘ãŒÃ2156Ž‘õŒÏ\xylet@\connectpostXY@style@=\emptyŽŽ¦‘ãŒÃ2158Ž‘õŒÏ\xylet@\connectRest@@=\emptyŽŽ¦‘ãŒÃ2160Ž‘õŒÏ\xydef@\connectStore@{%ŽŽ¡‘ãŒÃ2161Ž‘ûKÃÏ\global\setbox\connectobjectbox@@=\copy\lastobjectbox@ŽŽŽŽŒ‹$BZ Á à ý*tj‘㌹36’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ2162Ž‘ûKÃÏ\let\connectDrop@@=\Drop@@ŽŽ¤ ™š‘ãŒÃ2163Ž‘ûKÃÏ\let\connectpreXY@style@‘¿ª=\preXY@style@ŽŽ¡‘ãŒÃ2164Ž‘ûKÃÏ\let\connectpostXY@style@=\postXY@style@ŽŽ¡‘ãŒÃ2165Ž‘ûKÃÏ\xdef\connectRest@@{%ŽŽ¡‘ãŒÃ2166Ž‘ mÏ\def\noexpand\Upness@{\Upness@}%ŽŽ¡‘ãŒÃ2167Ž‘ mÏ\def\noexpand\Leftness@{\Leftness@}%ŽŽ¡‘ãŒÃ2168Ž‘ mÏ\ifInvisible@–¿ª\noexpand\Invisible@true“\else“\noexpand\Invisible@false“\fiŽŽ¡‘ãŒÃ2169Ž‘ mÏ\ifHidden@–¿ª\noexpand\Hidden@true“\else“\noexpand\Hidden@false“\fi}}ŽŽŸPˆ‘ãŒÃ2171Ž‘õŒÏ\xydef@\connectRestore@{%ŽŽ¡‘ãŒÃ2172Ž‘ûKÃÏ\ifvbox\connectobjectbox@@ŽŽ¡‘ãŒÃ2173Ž‘ mÏ\setbox\lastobjectbox@=\copy\voidb@xŽŽ¡‘ãŒÃ2174Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2175Ž‘ mÏ\global\setbox\lastobjectbox@=\copy\connectobjectbox@@ŽŽ¡‘ãŒÃ2176Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2177Ž‘ûKÃÏ\let\Drop@@=\connectDrop@@ŽŽ¡‘ãŒÃ2178Ž‘ûKÃÏ\global\let\preXY@style@‘¿ª=\connectpreXY@style@ŽŽ¡‘ãŒÃ2179Ž‘ûKÃÏ\global\let\postXY@style@=\connectpostXY@style@ŽŽ¡‘ãŒÃ2180Ž‘ûKÃÏ\connectRest@@}ŽŽŸ<ú‘õŒ¹See–¬e“`de ne“Çh¹shapšMÞeÇi¹'“for“the“use“of“Ï\preXY@style@Ž‘Tãî¹and“Ï\postXY@style@Ž‘Z£˜¹to“apply“sp˜ecialŽ¡‘õŒÇh¹st²!yleÇi¹s,‘­:spšMÞeci ed–nïvia“Çh¹ob‘›»ject-mo˜di erÇi¹s;‘ÖÂb˜eing“sa•²!v“ed–nïhere“b²!y“Ï\connectStore@Ž‘UY*¹as“Ï\connectpreXY@style@ŽŽ¡‘õŒ¹and‘¦fÏ\connectpostXY@style@Ž’€¾¹to–¦fbMÞe“reset“b²!y“Ï\connectRestore@Ž‘_¡¹.ŽŸr~‘ãŒ1.3h.ŽŽ‘©ùUsing‘kÛÏ?Ž‘—`¹will–kÛ\picš²!k“a“place"“along“the“most“recen˜t“connection“t˜ypMÞeset“with“Ï**Ž‘ë/¹.‘.Ž‘ >¹,‘†ic“hange˜the˜default˜Çh¹factorÇi¹,–†iÄf‘-¼¹,“and˜ho²!w˜it˜is˜used,“b²!yŽ¡‘õŒ`mo²!ving'–Jrthe“pšMÞositions“that“corresp˜ond“to“Ï(0)Ž›Óâ¹and“Ï(1)Ž˜¹(respMÞectiv²!ely):‘¯ãThese“are“initially“set“equalŽ¡‘õŒto–²ÃÄp“¹and“Äc¹,‘µÚbut“shaš²!ving“will“mo˜v˜e“them“to“the“pMÞoin˜t“on“the“edge“of“Äp“¹and“Äc“¹where“the“connectionŽ¡‘õŒ\lea•²!v“es/en“ters"–°them,‘ó+and“c²!hange“the“default“Äf‘ÞY¹as“indicated.‘üƒWhen“one“end“has“already“bMÞeenŽ¡‘õŒsha•²!v“ed›þ2th“us˜then˜subsequen“t˜sha“v“es˜will˜corresp•MÞond˜to˜sliding˜the˜appropriate˜p“osition(s)˜a˜T‘þ,³Ÿ[wEŽ‘B XŽ¡‘õŒÏ\jot–[‰¹(usually“equal“to“Ï3ptŽ‘š‡¹)“further“to•²!w“ards–[‰the“other“end“of“the“connection“(and“past“it).‘ÄéFinallyŽ¡‘õŒthe–ƒýÐpick‘±¸¹action“will“pic²!k“the“pšMÞosition“lo˜cated“the“fraction“Äf‘±¹¹of“the“w•²!a“y–ƒýfrom“Ï(0)Ž›Fø¹to“Ï(1)Ž˜¹whereŽ¡‘õŒÄf‘8c¹=‘ §Ï0.5Ž‘ð ¹if–¦fit“wš²!as“not“set“(b˜y“Ï<Ž› f¹,“Ï>Ž˜¹,“or“explicitly).ަ‘õŒAll–âÞthis“is“probably“bMÞest“illustrated“with“some“examples:‘VÎeacš²!h“Ç “¹in“ gure“1.4“is“t˜ypMÞeset“b˜y“aŽ¡‘õŒsequence–Bøof“the“form“ÄpÏ;Ž› ¢Äc“Ï**@{.}Ž‘)ì?Ž‘.ÖÇh¹placeÇi“Ï*{\oplus}Ž‘:Bê¹where“w²!e“indicate“the“Ï?Ž˜Çh¹placeÇi“¹in“eac²!h“case.Ž¡‘õŒ(W‘ÿee–¦falso“giv²!e“examples“of“Çh¹slideÇi¹s.)ŽŸ"Ø4‘õŒÔProY‹cedure:‘ ó5¹The–ì¼coMÞde“for“parsing“Çh¹placeÇi“¹is“the“folloš²!wing.‘°ÞT‘ÿeo“get“ rst“Ï<>Ž‘X̹to“mo˜v˜e“to“edge“andŽ¡‘õŒthe–:remaining“to“mo•²!v“e–:a“Ï\jot“¹wš²!e“ha˜v˜e“bMÞoth“initial“and“con˜tin˜uing“v˜ersions“for“eac˜h,‘6Cthe“idea“bMÞeingŽ¡‘õŒthat–¦fthe“second“and“follo²!wing“go“to“the“edge“of“a“small“tempMÞorary“ob‘›»ject“with“radius“Ï\jotŽ‘¥¹.ަ‘õŒÔNote:‘†k¹This–z­parser“tests“the“Ðnew–®5p‘ÿp¹arsing“principle‘MN¹that‘z­Ï\xy@Ž‘ô¹should›z­alw•²!a“ys˜bMÞe˜called˜as˜Ï\xy@{ŽŽ¡‘õŒÐsour–ÿp¹c“e‘yÏ}{Ž‘žÁÐtar“get‘°PÏ}Ž‘ oú¹!ŽŸPˆ‘ãŒÃ2274Ž‘õŒÏ\xydef@\afterPLACE#1{%ŽŽ¡‘ãŒÃ2275Ž‘ûKÃÏ\DN@##1{\def\afterPLACE@{\xy@@\leave@‘¿ª\def\afterPLACE@{##1}#1}}%ŽŽ¡‘ãŒÃ2276Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterPLACE@}%ŽŽ¡‘ãŒÃ2277Ž‘ûKÃÏ\def\PLACEf@{{.5}}%ŽŽ¡‘ãŒÃ2278Ž‘ûKÃÏ\xy@@{\enter@{\pfromthep@}%ŽŽŽŽŒ‹%rà Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹37ŽŽ ¶?? þÊ ÿBª­ Šˆá‘Mïps: SDict begin xyc endŸ4ý‘HÐsï " {10.0 ox}xyŽŽŽŽŸ4ý‘HÐsï " {7.9 ox}xyŽŽŽŽŸ’$üÄp–¦f¹is“circular:ŽŽŽŽŸ ÊŸçèð’J`œÄc–¦M¹is“aޤ ˆ’Gh€squareŽ¡’K¶Otext!ŽŽŽŽŽŽŽŽŽŽŽŸýh0’VÐsï2" {0.0 21.90005 -21.90005 -21.90005 21.90005 ov}xyŽŽŽ’Aê ŸÍ„33+ÌÔŽ’lƒ«ŸÍ„+ÌÔ33Ž’@ê Ÿô‚•ï" {248.09995 -101.1031 dd}xyŽŽŽ‘DŽPŸ’$ýÇŽŽŽŽŽ‘qÆŸ§o©Ï?(0)ŽŽŽŽ‘E'Ÿ‘”³ï" {23.71349 14.25116 l}xyŽŽŽ‘E'Ÿ‘”³ï" {3686 10 /xy AB}xyŽŽŽŽ’RŽPž$ýÇŽŽŽŽŽ’$qÆŸo©Ï?(1)ŽŽŽŽ’S'ž”³ï" {23.71349 14.25116 l}xyŽŽŽ’S'ž”³ï" {3686 10 /xy AB}xyŽŽŽŽ’ËŽPŸÉ$ýÇŽŽŽŽŽ’®°ÄŸÝ†Ï?ŽŽŽŽ’Ì'ŸÈ”³ï" {23.71349 14.25116 l}xyŽŽŽ’Ì'ŸÈ”³ï" {3686 10 /xy AB}xyŽŽŽŽ’ŽŸß$çÇŽŽŽŽŽ’ͱæŸôo“Ï?(.7)ŽŽŽŽ’&ߟޔï" {23.71349 14.25116 l}xyŽŽŽ’&ߟޔï" {3686 10 /xy AB}xyŽŽŽŽ’À›ŸÄ²/ÇŽŽŽŽŽ’°¾kŸ°žûÏ?<>(.5)ŽŽŽŽŸýh0’ÄÝ>ŸÀKï" {0.0 -12.1667 l}xyŽŽŽ’ÄÝ>Ÿ½³?ï" {1024 10 /xy AB}xyŽŽŽŽ’À›ŸÄ²/ÇŽŽŽŽŽ’à=BŸ°žûÏ?<>(.2)(.5)ŽŽŽŽ’ȆzŸ¿Éï" {-23.71399 -14.2517 l}xyŽŽŽ’È†zŸ¿Éï" {-410 10 /xy AB}xyŽŽŽŽ‘DŽPŸ’$ýÇŽŽŽŽŽ‘d0w ÿ~û`Ï?<ŽŽŽŽ‘Ly¯Ÿ;Ïï" {-23.71399 -14.2517 l}xyŽŽŽ‘Ly¯Ÿ;Ïï" {-410 10 /xy AB}xyŽŽŽŽ‘JpŸ”fÝÇŽŽŽŽŽ‘柨ÇðÏ?<<<ŽŽŽŽ‘J¶5Ÿ“Ö“ï" {23.71349 14.25116 l}xyŽŽŽ‘J¶5Ÿ“Ö“ï" {3686 10 /xy AB}xyŽŽŽŽ‘dzŸŸ7ÇŽŽŽŽŽ‘Ÿ6Ÿ´eãÏ?<<ŽŽŽŽ’D“EŸòV4ï" {-23.71399 -14.2517 l}xyŽŽŽ’D“EŸòV4ï" {-410 10 /xy AB}xyŽŽŽŽ’4Q6ŸóÜ’ÇŽŽŽŽŽ’*40Ÿà²õÏ?>>>>ŽŽŽŽŸýh0’8“YŸïurï" {0.0 -12.1667 l}xyŽŽŽ’8“YŸìÝ¢ï" {1024 10 /xy AB}xyŽŽŽŽ’ò9 ŸØê•ÇŽŽŽŽŽ’ÛÇŸÄ×aÏ?<>(.7)ŽŽŽŽ’ú$ÿŸÔgï" {-23.71399 -14.2517 l}xyŽŽŽ’ú$ÿŸÔgï" {-410 10 /xy AB}xyŽŽŽŽ’ò9 ŸØê•ÇŽŽŽŽŽ’å<ÅŸÄ×aÏ?>(.7)ŽŽŽŽŸýh0’ö{ßԃuï" {0.0 -12.1667 l}xyŽŽŽ’ö{ßÑë¥ï" {1024 10 /xy AB}xyŽŽŽŽŽŽŽŽŸ0¦’Ù¹Figure–¦f1.4:‘ÝÝExample“Çh¹placeÇi¹sŽŽŽŸ+þ¨‘ãŒÃ2279Ž‘ mÏ\Creset@@‘¿ª\def\PLACEf@{{.5}}%ŽŽ¤ ™š‘ãŒÃ2280Ž‘ mÏ\let\PLACEedgep@@=\PLACEedgep@‘¿ª\let\PLACEedgec@@=\PLACEedgec@}%ŽŽ¡‘ãŒÃ2281Ž‘ûKÃÏ\xyFN@\PLACE@}ŽŽ¤Pˆ‘ãŒÃ2283Ž‘õŒÏ\xydef@\PLACEf@{}ŽŽ¡‘ãŒÃ2285Ž‘õŒÏ\xydef@\PLACEedgep@@{}ŽŽ© ™š‘ãŒÃ2286Ž‘õŒÏ\xydef@\PLACEedgec@@{}ŽŽ¡‘ãŒÃ2288Ž‘õŒÏ\xydef@\PLACEedgep@{\Cshavep@@‘¿ª\def\PLACEedgep@@{\Cslidep@@\jot}}ŽŽ¦‘ãŒÃ2289Ž‘õŒÏ\xydef@\PLACEedgec@{\Cshavec@@‘¿ª\def\PLACEedgec@@{\Cslidec@@{-\jot}}}ŽŽ¡‘ãŒÃ2291Ž‘õŒÏ\xylet@\afterPLACE@=\emptyŽŽ¡‘ãŒÃ2293Ž‘õŒÏ\xydef@\PLACE@{%ŽŽ¦‘ãŒÃ2294Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PLACE@}%gobble“spacesŽŽ¦‘ãŒÃ2295Ž‘ûKÃÏ\else\addLT@\ifx‘¿ª\nextŽŽ¦‘ãŒÃ2296Ž‘ mÏ\addLT@\DN@{\addLT@\xy@{\def\PLACEf@{{0}}\PLACEedgep@@}\xyFN@\PLACE@}%ŽŽ¦‘ãŒÃ2297Ž‘ûKÃÏ\else\addGT@\ifx‘¿ª\nextŽŽ¦‘ãŒÃ2298Ž‘ mÏ\addGT@\DN@{\addGT@\xy@{\def\PLACEf@{{1}}\PLACEedgec@@}\xyFN@\PLACE@}%ŽŽ¦‘ãŒÃ2299Ž‘ûKÃÏ\else\ifx–¿ª(\next“%)ŽŽ¦‘ãŒÃ2300Ž‘ mÏ\DN@(##1){\def\PLACEf@{{##1}}\xy@{(##1)}{\def\PLACEf@{{##1}}}\xyFN@\PLACE@}%ŽŽ¦‘ãŒÃ2301Ž‘ûKÃÏ\else\ifx‘¿ª!\nextŽŽ¦‘ãŒÃ2302Ž‘ mÏ\DN@!{\xyFN@\PLACE@intercept}%ŽŽ¦‘ãŒÃ2303Ž‘ûKÃÏ\elseŽŽ¦‘ãŒÃ2304Ž‘ mÏ\DN@{\xy@@{\expandafter\Calong@@\PLACEf@‘¿ª\czeroEdge@}\PLACE@@}%ŽŽ¦‘ãŒÃ2305Ž‘ûKÃÏ\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¡‘ãŒÃ2307Ž‘õŒÏ\xydef@\PLACE@intercept{%ŽŽ¦‘ãŒÃ2308Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PLACE@intercept}%gobble“spacesŽŽ¦‘ãŒÃ2309Ž‘ûKÃÏ\else\ifx‘¿ª\bgroup\nextŽŽ¦‘ãŒÃ2310Ž‘ mÏ\DN@##1{\xy@{!{##1}}{}\PLACE@intercept@{##1}}%ŽŽ¦‘ãŒÃ2311Ž‘ûKÃÏ\else\ifx–¿ª(\next“%)ŽŽ¦‘ãŒÃ2312Ž‘ mÏ\DN@(*##1*){\xy@{!(*##1*)}{}\PLACE@intercept@{##1}}%ŽŽ¦‘ãŒÃ2313Ž‘ûKÃÏ\else–¿ª\DN@{\xyerror@{{}“expected“after“!“in“}{}}%ŽŽ¦‘ãŒÃ2314Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}ŽŽ¡‘ãŒÃ2316Ž‘õŒÏ\xydef@\PLACE@intercept@#1{%ŽŽŽŽŒ‹&‚° Á à ý*tj‘㌹38’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ2317Ž‘ûKÃÏ\xy@@{\enter@{\pfromthep@\basefromthebase@}\begingroup}%ŽŽ¤ ™š‘ãŒÃ2318Ž‘ûKÃÏ\xy@@ix@{#1}\xy@@{\plainxy@‘¿ª\expandafter\POS\the\toks9\relaxŽŽ¡‘ãŒÃ2319Ž‘ mÏ\edef\next@{\endgroupŽŽ¡‘ãŒÃ2320Ž‘ËÏ\X@c–¿ª=\the\X@c“\Y@c=\the\Y@c“\X@p=\the\X@p“\Y@p=\the\Y@p}%ŽŽ¡‘ãŒÃ2321Ž‘ mÏ\next@–¿ª\Cintercept@@“\leave@}%ŽŽ¡‘ãŒÃ2322Ž‘ûKÃÏ\PLACE@@}ŽŽ©Pˆ‘ãŒÃ2324Ž‘õŒÏ\xydef@\PLACE@@{%ŽŽ¡‘ãŒÃ2325Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PLACE@@}%gobble“spacesŽŽ¡‘ãŒÃ2326Ž‘ûKÃÏ\else\ifx–¿ª/\next“\DN@/##1/{\xy@{/##1/}{\Cslidec@@{##1}}\afterPLACE@}%ŽŽ¡‘ãŒÃ2327Ž‘ûKÃÏ\else‘¿ª\let\next@=\afterPLACE@ŽŽ¡‘ãŒÃ2328Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽŸ –l‘㌹1.3i.ŽŽ‘ýŸNA‘P¶Çh¹slideÇi–P̹will“mo•²!v“e–PÌthe“pšMÞosition“a“dimension“further“along“the“connection“at“the“pic•²!k“ed‘PÌp˜osition.Ž¡‘õŒF‘ÿeor–vûstraighš²!t“connections“(the“only“ones“k˜ernel‘^¥X‘ü·ŸâÃYŽŽ‘ Þ-pic“pro˜vides)“this“is“the“same“as“adding“a“v˜ectorŽ¡‘õŒin–¦fthe“tangen²!t“direction,“Ði¹.Ðe¹.,“Ï?Ž‘ 9AÄ:–Ó1:“:Ž‘ÒÕÏ/Ž‘’ÄAÏ/Ž‘ f¹is“the“same“as“Ï?Ž‘ 9AÄ:–Ó1:“:Ž‘ÒÕÏ+/Ž‘%R)ÄAÏ/Ž‘¿ª¹.ŽŸß~‘ãŒ1.3j.ŽŽ‘ýí,This–µwspšMÞecial“Çh¹placeÇi“¹ nds“the“p˜oinš²!t“where“the“last“connection“in˜tercepts“with“the“line“from“Äp“¹toŽ¡‘õŒÄc–m¥¹as“setup“bš²!y“the“Çh¹pMÞosÇi¹,‘Ÿtth˜us“usually“this“will“ha˜v˜e“the“form“Ï!{Ž‘ìùÇh¹co•MÞordÇiÏ;Ž›¿ªÇh¹co“ordÇiÏ}Ž˜Ÿü¾Â4ŽŽ‘ ®¹,‘Ÿtfor‘m¥example,Ž¡‘õŒÔBug:‘ÝݹOnly–¦fwš²!orks“for“straigh˜t“arro˜ws“at“presen˜t.ަ‘õŒÏ\xy‘¿ª<1cm,0cm>:ŽŽ¡‘ûKÃ(0,0)*=0{+}="+"‘¿ª;ŽŽ¡‘ûKÃ(2,1)*=0{\times}="*"–¿ª**@{.}“,ŽŽ¡‘ûKÃ(1,0)*+{A}–¿ª;“(2,2)*+{B}“**@{-}ŽŽ¡‘ûKÃ?!{"+";"*"}‘¿ª*{\bullet}ŽŽ¡‘õŒ\endxyŽŽŸsz‘õŒ¹will‘¦ft²!ypMÞesetŽŸIRÜ’¾:«ïps: SDict begin xyc end‘û½Ýž$ý+ŽŽŽŽŽ‘4¥«Ÿã±ÇŽŽŽŽŽ‘8çΟàôIï" {56.90549 28.45274 dt}xyŽŽŽ‘X´Ÿ%òÄAŽŽŽŽ‘4z\ŸÈ>$BŽŽŽŽŸýh0‘5ˆíŸÍÕôï" {21.7115 43.423 l}xyŽŽŽ‘#7ПìÜÐÇŽŽŽŽŽŽŽŽŽŸÙ³‘㌹1.3k.ŽŽ\The–÷=pšMÞositions“denoted“b²!y“the“Ðaxis‘5Iinterse‘ÿp¹ction‘ÎHÇh¹co˜ordÇi¹inates“Ïx“¹and“Ïy“¹are“the“p˜oin²!ts“where“theŽ¡‘õŒline–¦fthrough“Äp“¹and“Äc“¹inš²!tersects“with“eac˜h“axis.‘ÝÝThe“follo˜wing“ gure“illustrates“this:ŽŸ4·—’¬5Nïps: SDict begin xyc end‘ ýµŸ•JÐoriginŽŽŽŽŽŽ‘-ꕟì.=xb‘ÿp¹aseŽŽŽŽŽŽ‘Jh'Ÿï.=ï" {28.45274 14.22636 l}xyŽŽŽ‘Jh'Ÿï.=ï" {3584 10 /xy AB}xyŽŽŽŽ‘Ÿê ,yb‘ÿp¹aseŽŽŽŽŽŽ‘ºMŸï.=ï" {-14.22636 14.22636 l}xyŽŽŽ‘ºMŸï.=ï" {-2048 10 /xy AB}xyŽŽŽŽ‘H›YŸQ÷ÈŽŽŽŽŽŽ‘NŒŸ <ÄpŽŽŽŽ‘O¸RŸøÈŽŽŽŽŽŽ‘U+…Ÿû%ÄcŽŽŽŽ‘[ PŸåÓÏxŽŽŽŽŽ‘VÓƒŸéá ÈŽŽŽŽŽŽŸýh0‘X PŸê¬£ï" {14.21939 28.43883 dt}xyŽŽŽ‘Jh'Ÿï.=ï" {-14.21938 -7.09927 dt}xyŽŽŽ‘@kXŸD9ÏyŽŽŽŽŽŽ‘A~`Ÿ‹êÈŽŽŽŽŽŽŸýh0‘CK-ŸVíï" {-7.11317 -14.22636 dt}xyŽŽŽ‘-ô@Ÿýh0ï" {-21.33955 21.33955 dt}xyŽŽŽŽŽŽŽŸU0‘õŒÔExercise‘ä1.4:‘ ó5¹Givš²!en–@Äprede ned“pMÞoin˜ts“ÄA¹,–g\ÄB‘Œ¤¹,“ÄC‘ȹ,“and–@ÄÄD‘Ž¢¹(stored“as“ob‘›»jects“Ï"A"Ž‘¹,‘g\Ï"B"Ž–¦Z¹,‘g\Ï"C"Ž“¹,‘g\andŽ¡‘õŒÏ"D"Ž‘Ë¹),‘ˆlwrite–[8a“Çh¹cošMÞordÇi“¹sp˜eci cation“that“will“return“the“p˜oin²!t“where“the“lines“Ÿ÷QM‰feKŸ®³ÄABŽŽ‘Ç»¹and“Ÿ÷QM‰feú±Ÿ®³ÄC‘ÈDŽŽ‘±!¹crossŽ‘ãŒŸi‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã4ŽŽŽ‘¦aÖThe–Tbraces“can“bšAÇe“replaced“b¾9y“à(*Ž‘ ˆ€Ö.–Šª.“.“à*)Ž‘*ó:¼j‘¹ cmti9åonc‡e‘® Ö,–TåiÖ.åeÖ.,“there“can“b˜e“no“other“braces“nested“inside“it.ŽŽŽŒ‹'’Þ Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹39ŽŽ ¶?? ýh«w‘õŒ(the–¦fpMÞoinš²!t“mark˜ed“with“a“large“circle“here):ŽŸ?‹á’ºCÚïps: SDict begin xyc end‘6gŸýh0ï" {1.0 0 360 o}xyŽŽŽŽŽ‘Ÿúh0ÄAŽŽŽŽ‘"!ŸàôRï" {1.0 0 360 o}xyŽŽŽŽŽ‘F8ŸÝôRBŽŽŽŽ‘33nŸæ¥ï" {1.0 0 360 o}xyŽŽŽŽŽ‘63nŸã¥CŽŽŽŽ‘8ä4Ÿò¤ï" {1.0 0 360 o}xyŽŽŽŽŽ‘;ä4Ÿï¤DŽŽŽŽ‘*mŸÕnï" {3.0 0 360 o}xyŽŽŽŽŽŸýh0‘19ŸÍÌþï" {41.8074 60.08694 dt}xyŽŽŽŸýh0‘%ŸÌôþï" {-25.19963 50.3934 dt}xyŽŽŽŽŽŽŽ¤ÅÝŸÛø‘õŒÔProY‹cedure:‘ ó5¹W‘ÿee–¦fsolvš²!e“the“follo˜wing“equation“in“Äa;‘Ó1b¹:Ž¡’u÷ÐoriginŽŽ’ Ûn¹+–nìÄa“Ç“Ï<Ž‘.–ÄRŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄUŸ¤zÅcŽ‘.yÏ>Ž‘ øÊ¹=‘ §Äc“Ç“Äb“Ç“¹(Äc“Ç“Äp¹)Ž¡‘õŒand–¦fthen“setŽ¡‘$Ç™Ï<Ž‘*‡CÄXŸ¤zÅcŽ‘.yÏ,Ž– î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ øÊ¹:=‘ §Ï<Ž‘ÊQÄXŸ¤zÅcŽ‘.yÏ,Ž“ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ ]Ç–nìÄb“Ç“¹(Äc“Ç“Äp¹)‘ ó5with–¦fzero“sizeŽ‘WAÄDŸ¤zÅcŽ–.yÄ;›Ó1UŸ¤zÅcŽ“Ä;˜LŸ¤zÅcŽ“Ä;˜RŸ¤zÅcŽ‘9 ¹:=‘ §0Ä;˜¹0Ä;˜¹0Ä;˜¹0Ä:Ž¡‘õŒ¹The–¦fcoMÞde“uses“Äc– §¹=“(ÄXŸ¤zÅcŽ–.yÄ;›Ó1YŸ¤zÅcŽ“Ä;˜DŸ¤zÅcŽ“Ä;˜UŸ¤zÅcŽ“Ä;˜LŸ¤zÅcŽ“Ä;˜RŸ¤zÅcŽ“¹)–¦fand“ÄA;˜B‘3 ¹as“tempMÞoraries“and“computes:ŽŸ1 KŸâaà‘iM°Ï<Ž‘o ZÄdX‘ÛøÏ,Ž‘›¢Äd‘›»Y‘nïÏ>ŽŽ’£G(¹:=Ž’¸ÖÏ<Ž’¾•ÃÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ ]Ç‘nìÏ<Ž‘.–ÄXŸ¤zÅpŽ–Ç]Ä;‘Ó1YŸ¤zÅpŽ“Ï>ŽŽŽŸ™™‘vöß<Ž‘|¶‰ÄAÏ,Ž‘¿ªÄB‘Œ¤Ï>ŽŽ’£G(¹:=Ž’¸ÖÏ<Ž’¾•ÃÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ ]Ç‘nìÏ<Ž‘.–ÄXŸ¤záoriginŽ‘6©Ï,Ž‘öSÄYŸ¤záoriginŽ‘6©Ï>ŽŽŽŸÑS‘o&«<Ž‘tæUÄDŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄLŸ¤zÅcŽ‘.yÏ>ŽŽ’£G(¹:=Ž’¸ÖÏ<ŽŸîC*’Àhôóú±u cmex10« ޤ’Àhô Ž¡’Àhô Ž¡’Àhô Ž¡’Àhô ŽŽŸù.·’ƪÄRŽ’ÒûÄdXŽŽŸ ™™’ÅîëUŽ’Ó?æd‘›»YŽŽŽŽŸîC*’äÍÅ« ޤ’äÍÅ Ž¡’äÍÅ Ž¡’äÍÅ Ž¡’äÍÅ ŽŽŽ’éöKÏ,ŽŸîC*’ñ‰&« ޤ’ñ‰& Ž¡’ñ‰& Ž¡’ñ‰& Ž¡’ñ‰& ŽŽŸù.·’÷1ÜÄRŽ’n5AŽŽŸ ™™’÷UŽ’öBŽŽŽŽŸîC*’'|« ޤ’'| Ž¡’'| Ž¡’'| Ž¡’'| ŽŽŽ’PÏ>ŽŽŽŸÈZ‘p=n<Ž‘uýÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>ŽŽ’£G(¹:=Ž’¸ÖÏ<Ž’¾•ÃÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ ]Ç›nì¹(ÄLŸ¤zÅcŽ–.yÄ=DŸ¤zÅcŽ“¹)˜Ç˜Ï<Ž‘.–ÄdX‘ÛøÏ,Ž‘›¢Äd‘›»Y‘nïÏ>ŽŽŽŽŽŸ1 L‘õŒ¹where–¦fw²!e“really“do“ÄD‘X…¹:=‘ §(ÄR¨=ÏptŽ– T¹)Äd‘›»Y‘ÝÛÇ‘nì¹(ÄU‘•ã=ÏptŽ“¹)ÄdX‘‚^¹and–¦fsimilarly“for“ÄL¹.Ž©Pˆ‘ãŒÃ2450Ž‘õŒÏ\xydef@\intersect@{ŽŽ¤ ™š‘ãŒÃ2451Ž‘ûKÃÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@Y=\Y@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ2452Ž‘ûKÃÏ\A@=\X@c–¿ª\advance\A@-\X@origin“\B@=\Y@c“\advance\B@-\Y@originŽŽ¡‘ãŒÃ2453Ž‘ûKÃÏ\edef\next@{\expandafter\removePT@\the\R@c}%ŽŽ¡‘ãŒÃ2454Ž‘ûKÃÏ\edef\nextii@{\expandafter\removePT@\the\U@c}%ŽŽ¡‘ãŒÃ2455Ž‘ûKÃÏ\D@c=\next@\d@Y–¿ª\advance\D@c-\nextii@\d@X“\divide\D@c\KK@ŽŽ¡‘ãŒÃ2456Ž‘ûKÃÏ\L@c=\next@\B@–¿ª\advance\L@c-\nextii@\A@“\divide\L@c\KK@ŽŽ¡‘ãŒÃ2457Ž‘ûKÃÏ\ifdim\D@c=\z@\zeroDivide@\else–¿ª\quotient@\next@\L@c\D@c“\fiŽŽ¡‘ãŒÃ2458Ž‘ûKÃÏ\advance\X@c-\next@\d@X‘¿ª\advance\Y@c-\next@\d@YŽŽ¡‘ãŒÃ2459Ž‘ûKÃÏ\czeroEdge@}ŽŽŸ“‘õŒ¹When–{Uthere“is“no“inš²!tersection“pMÞoin˜t“a“wrong“answ˜er“is“returned,‘·%accompanied“b˜y“a“w˜arning“message.Ž¡‘õŒThis–yÔbšMÞeha²!viour“can“b˜e“altered“bš²!y“assigning“a“di eren˜t“v‘ÿdDalue“to“the“hoMÞok:‘„¸Ï\zeroDivide@Ž‘K€°¹.‘X&ThisŽ¡‘õŒmacro–¦fmš²!ust“store“a“n˜um˜bMÞer“in“Ï\next@Ž‘&$b¹.ަ‘ãŒÃ2468Ž‘õŒÏ\xydef@\zeroDivide@@{\zeroDivide@message{\intersect@}{treated–¿ªas“0}\DN@{0}}ŽŽ¡‘ãŒÃ2469Ž‘õŒÏ\xydef@\zeroDivide@message#1#2{\xywarning@{division–¿ªby“0“in“\string#1,“#2}}ŽŽ¡‘ãŒÃ2470Ž‘õŒÏ\xylet@\zeroDivide@=\zeroDivide@@ŽŽ¦‘ãŒÃ2472Ž‘õŒÏ\xydef@\zeroDivideLimit@@{\ifdim\L@c=\z@‘¿ª\DN@{0}%ŽŽ¡‘ãŒÃ2473Ž‘ûKÃÏ\else\ifdim\L@c<\z@\DN@{-\zeroDivide@Limit}%ŽŽ¡‘ãŒÃ2474Ž‘ûKÃÏ\else\DN@{\zeroDivide@Limit}\fi\fiŽŽ¡‘ãŒÃ2475Ž‘ûKÃÏ\zeroDivide@message{\intersect@}{replaced–¿ªby“\zeroDivide@Limit}}ŽŽ¡‘ãŒÃ2476Ž‘õŒÏ\xydef@\zeroDivideLimit@#1{\edef\zeroDivide@Limit{#1}%ŽŽ¡‘ãŒÃ2477Ž‘ûKÃÏ\let\zeroDivide@=\zeroDivideLimit@@}ŽŽ¡‘ãŒÃ2478Ž‘õŒÏ\xylet@\zeroDivideLimit=\zeroDivideLimit@ŽŽŸ“‘õŒ¹By–}wspšMÞecifying“Ï\zeroDivideLimit{Ž‘f7ÁÇh¹n²!umÇiÏ}Ž‘ =!¹the“user“can“lo˜cally“establish“thatŸû°K‘°ªÅxŽ‘°ªŸÆ‰feÈçŸPADrÂ0ŽŽŽŽ‘ܹ=‘qsgnŽ‘Q½(Äx¹)Çh¹n²!umÇi¹,Ž¡‘õŒwhenev•²!er›¦fsuc“h˜a˜division˜b“y˜zero˜w“ould˜otherwise˜oMÞccur˜in˜an˜in“tersection˜calculation.ŽŽŽŒ‹( – Á à ý*tj‘㌹40’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘㌹1.3l.ŽŽ‘ýŸNA‘€þÇh¹pšMÞosÇi–h¹decorÇi“Ðgr–ÿp¹oup“e“d‘¢²¹in‘Ï{}Ž‘\¹-bracesŸü¾Â5ŽŽ‘A ¹is–in²!terpreted“in“a“lo˜cal“scop˜e“in“the“sense“that“an²!y“Äp“¹andޤ ™š‘õŒÐb‘ÿp¹ase‘ƹbuilt–0%within“it“are“forgotten“afterw•²!ards,‘GËlea“ving–0%only“the“Äc“¹as“the“result“of“the“Çh¹coMÞordÇi¹.‘¶rÔNote:Ž¡‘õŒ¹Only–¦fÄp“¹and“Ðb‘ÿp¹ase‘y¹are“restored“{“it“is“not“a“T‘þ,³Ÿ[wEŽ‘B X“group.ŽŸ Zz‘õŒÔExercise‘21.5:‘ ó5¹What–¦fe ect“is“ac•²!hiev“ed›¦fb“y˜using˜the˜Çh¹coMÞordÇi¹inate˜\Ï{;}Ž‘>þ¹"?ŽŸŒÂ‘õŒThe–¦fcoMÞde“is“inside“Ï\POS@Ž‘ d¸¹.ŽŸê‘ãŒ1.3m.ŽŽ‘´¤The–ýŽ‘ ÇF¹whereŽ¡‘õŒÄ ‘†Â¹is–|bthe“angle“of“the“last“direction“set“bš²!y“a“connection“(Ði¹.Ðe¹.,‘„Éwith“Ï**Ž‘û¶¹)“or“subsequen˜t“placemen˜t“(Ï?Ž‘¿ª¹)Ž¡‘õŒpMÞosition.Ž©Pˆ‘ãŒÃ2514Ž‘õŒÏ\xydef@\vfromslide@#1{\enter@\DirectionfromtheDirection@‘¿ª\begingroupŽŽ¡‘ãŒÃ2515Ž‘ûKÃÏ\plainxy@\afterDIRECTIONorEMPTY\vfromslide@i\vfromslide@i#1@}ŽŽ¦‘ãŒÃ2517Ž‘õŒÏ\xydef@\vfromslide@i#1@{\DN@{#1}%ŽŽ¡‘ãŒÃ2518Ž‘ûKÃÏ\edef\next{\endgroupŽŽ¡‘ãŒÃ2519Ž‘ mÏ\ifx\next@\empty–¿ª\dimen@=.5pc“\else“\dimen@=#1\relax“\fiŽŽ¡‘ãŒÃ2520Ž‘ mÏ\X@c=\cosDirection\dimen@‘¿ª\Y@c=\sinDirection\dimen@}\nextŽŽ¡‘ãŒÃ2521Ž‘ûKÃÏ\leave@}ŽŽŸC°‘õŒ¹It–·\is“pšMÞossible“to“giv²!e“a“Çh¹directionÇi“¹as“describ˜ed“in“the“next“section“( gure“1.5,‘ç+note“1.4l“in“particular)Ž¡‘õŒthat–Ã(will“then“bšMÞe“used“to“set“the“v‘ÿdDalue“of“Ä `¹.‘4#It“is“also“p˜ossible“to“omit“the“Çh¹dimenÇi“¹in“whic²!h“caseŽ¡‘õŒit–¦fis“set“to“a“default“v‘ÿdDalue“of“Ï.5pcŽ‘¥¹.ŽŸê‘ãŒ1.3n.ŽŽ‘©ùA‘TÇh¹cornerÇi–l¹is“an“o set“from“the“curren²!t“Ï<Ž‘ ÂÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ ð¹pšMÞosition“to“a“sp˜eci c“p˜osition“on“the“edge“ofŽ¡‘õŒthe–¦fÄc“¹ob‘›»ject“(the“t•²!w“o-letter–¦fones“maš²!y“bMÞe“giv˜en“in“an˜y“com˜bination):ŽŸCâ­’œÆïps: SDict begin xyc endŸýh0‘;¨êï1" {0.0 42.67891 -11.37827 -14.2263 25.61012 ov}xyŽŽŽ‘9J]žÃ§ÄcŽŽŽŽ‘-nûŸýh0ï" {-11.85696 0.0 dt}xyŽŽŽ‘fV·Ÿýh0ï" {40.30957 0.0 dt}xyŽŽŽŸýh0‘;¨êŸ `Öï" {0.0 -9.02098 dt}xyŽŽŽŸýh0‘;¨êŸæcÏï" {0.0 23.25284 dt}xyŽŽŽ‘¨¼ŸÀ¹ÏLŽŽŽŽ‘-nûŸýh0ï" {16.02571 0.0 l}xyŽŽŽ‘-nûŸýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘y]LŸÀ¹RŽŽŽŽ‘fV·Ÿýh0ï" {-16.02571 0.0 l}xyŽŽŽ‘fV·Ÿýh0ï" {-1024 10 /xy AB}xyŽŽŽŽ‘8ÉŸ"ùDŽŽŽŽŸýh0‘;¨êŸ `Öï" {0.0 15.55423 l}xyŽŽŽ‘;¨êŸÉï" {-3072 10 /xy AB}xyŽŽŽŽ‘8ÉŸÑ>UŽŽŽŽŸýh0‘;¨êŸæcÏï" {0.0 -15.55421 l}xyŽŽŽ‘;¨êŸãËÿï" {1024 10 /xy AB}xyŽŽŽŽ‘° Ÿñ LDŽŽŽŽ‘-nûŸÉï" {9.1888 7.46468 l}xyŽŽŽ‘-nûŸÉï" {3904 10 /xy AB}xyŽŽŽŽ‘u«\ŸRDŽŽŽŽ‘fV·ŸÉï" {-12.33064 3.47746 l}xyŽŽŽ‘fV·ŸÉï" {-1312 10 /xy AB}xyŽŽŽŽ‘òÝŸÔÅLUŽŽŽŽŸýh0‘-nûŸæcÏï" {7.17282 -12.73917 l}xyŽŽŽ‘-nûŸãËÿï" {1600 10 /xy AB}xyŽŽŽŽ‘skŸÛ÷'RUŽŽŽŽ‘fV·ŸãËÿï" {-10.07968 -5.98274 l}xyŽŽŽ‘fV·ŸãËÿï" {-416 10 /xy AB}xyŽŽŽŽ‘äŸïØ-CLŽŽŽŽ‘-nûŸöJƒï" {10.83891 -5.42667 l}xyŽŽŽ‘-nûŸöJƒï" {2560 10 /xy AB}xyŽŽŽŽ‘v9¶ŸöAÿCRŽŽŽŽ‘fV·ŸöJƒï" {-12.8867 -2.01213 l}xyŽŽŽ‘fV·ŸöJƒï" {-864 10 /xy AB}xyŽŽŽŽ‘U!ÄŸñ DCŽŽŽŽ‘IâÙŸÉï" {-9.19232 7.46468 l}xyŽŽŽ‘IâÙŸÉï" {-1856 10 /xy AB}xyŽŽŽŽ‘NÞôŸÔÅUCŽŽŽŽŸýh0‘IâÙŸæcÏï" {-7.16394 -12.73917 l}xyŽŽŽ‘IâÙŸãËÿï" {448 10 /xy AB}xyŽŽŽŽ‘Z˜ÂŸïØ-CŽŽŽŽ‘IâÙŸöJƒï" {-13.71059 -6.8553 l}xyŽŽŽ‘IâÙŸöJƒï" {-512 10 /xy AB}xyŽŽŽŽ‘ëΟD PŽŽŽŽ‘-nûž‰Äï" {15.76372 2.46391 l}xyŽŽŽ‘-nûž‰Äï" {3232 10 /xy AB}xyŽŽŽŽŸv7ÄpŽŽŽŽ‘9J]Ÿþ[ ï" {51.78127 20.71053 dt}xyŽŽŽ‘D»Ÿ°ÙÏEŽŽŽŽ‘-nûŸbï" {14.41635 5.85547 l}xyŽŽŽ‘-nûŸbï" {3488 10 /xy AB}xyŽŽŽŽŽŽŽŽŸ5U‘‘õŒ¹The–kË`edge“pMÞoinš²!t'“ÏEŽ‘ —@¹lies“on“the“edge“along“the“line“from“Äp“¹to“the“cen˜tre“of“the“ob‘›»ject,‘wƒin“con˜trast“toŽ¡‘õŒthe–«ö`propšMÞortional'“p˜oinš²!t“ÏPŽ‘ –¹whic˜h“is“also“a“pMÞoin˜t“on“the“edge“but“computed“in“suc˜h“a“w˜a˜y“that“theŽ¡‘õŒob‘›»ject–¦floMÞoks“as“m•²!uc“h›¦f`a“w“a“y˜from˜Äp¹'˜as˜pMÞossible.ŽŸŒÂ‘õŒFinally‘ÿe,–¦fa“folloš²!wing“Ï(Ž‘ fÄf‘-¼Ï)Ž‘ “̹sux“will“m˜ultiply“the“o set“v˜ector“b˜y“the“Çh¹factorÇi“Äf‘-¼¹.ޤ Zz‘õŒÔExercise‘21.6:‘ ó5¹What–¦fis“the“di erence“bšMÞet•²!w“een–¦fthe“Çh¹p˜osÇi¹itions“Ïc?<Ž‘‹Ê¹and“Ïc+EŽ‘åd¹?Ž¡‘õŒÔExercise‘21.7:‘ ó5¹What–¦fdošMÞes“this“t²!yp˜eset?ަ‘õŒÏ\xy‘¿ª*=<3cm,1cm>\txt{Box}*\frm{-}ŽŽ¤ ™š‘ûKÃ!U!R(.5)–¿ª*\frm{..}*{\bullet}“\endxyŽŽŸC°‘õŒÐHint‘ ê¹:‘šÙÏ\frm–ä¹is“de ned“bš²!y“the“frame“extension“and“just“t˜ypMÞesets“a“frame“of“the“kind“indicated“b˜yŽ¡‘õŒthe‘¦fargumen²!t.ŽŸŒÂ‘õŒÔBug:‘¨ ¹Currenš²!tly–:Äonly“the“single-letter“corners“(ÏL¹,“ÏR¹,“ÏD¹,“ÏU¹,“ÏC¹,“ÏE¹,“and“ÏP¹)‘:©will“w˜ork“for“an˜y“shapMÞe|theŽ¡‘õŒothers–¦fsilen²!tly“assume“that“the“shapMÞe“is“rectangular.Ž‘ãŒŸmƉffÁyÌŸ LÍ‘ {ºŸü-=Ã5ŽŽŽ‘¦aÖOne–Tcan“use“à(*Ž‘ ˆ€Ö.–Šª.“.“à*)Ž‘*Öinstead–Talso“here.ŽŽŽŒ‹)±© Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹41ŽŽ ¶?? ýh«w‘ãŒ1.3o.ŽŽ=The–:Ðstack‘Bõ¹is“a“spšMÞecial“construction“useful“for“storing“a“sequence“of“Çh¹p˜osÇi¹itions“that“are“accessibleޤ ™š‘õŒusing–¬:the“spšMÞecial“Çh¹co˜ordÇi¹inates“ÏsŽ‘ käÄn¹,‘­¯where“Än“¹is“either“a“single“digit“or“a“p˜ositivš²!e“in˜teger“in“Ï{}Ž‘+޹s:‘é†Ïs0ŽŽ¡‘õŒ¹is›Ÿƒalw•²!a“ys˜the˜`top'˜elemen“t˜of˜the˜stac“k˜and˜if˜the˜stac“k˜has˜depth˜Äd˜¹then˜the˜`bMÞottom'˜elemen“t˜ofŽ¡‘õŒthe–æFstacš²!k“has“n˜um˜bMÞer“Ïs{Ž‘ešÄd–™Ç“¹1Ï}Ž‘¿ª¹.‘}The–æFstac˜k“is“said“to“bMÞe“`empt˜y'“when“the“depth“is“0“and“then“itŽ¡‘õŒis–¡¡an“error“to“access“anš²!y“of“the“ÏsŽ‘ aKÄn“¹or“`pMÞop'“whic˜h“means“remo˜v˜e“the“top“elemen˜t,‘¢•shifting“what“isŽ¡‘õŒin‘áNÏs1Ž›Að¹to‘áNÏs0Ž–`¢¹,‘ðÏs2Ž‘P©¹to‘áNÏs1Ž“¹,–ðetc.‘Ž”Similarly‘ÿe,“`push–áNÄc¹'“means“to“shift“Ïs0Ž˜¹to“Ïs1Ž‘`¢¹,–ðetc.,“and–áNthen“insert“the“ÄcŽ¡‘õŒ¹as–¦fthe“new“Ïs0Ž‘%º¹.ŽŸ\=‘õŒThe–¦fstacš²!k“is“manipulated“as“follo˜ws:ŽŸ ël‘õŒ„ffѲdŽŸ ¦n‘H«Ï@Ž‘MÚUÇh¹stac²!kingÇiŽ’‚Öº¹ActionŽŽŽŽŸœ5‘õŒ„ffѲdŽŸ Œ[‘H«Ï@+Çh¹coMÞordÇiŽ’‚Öº¹push‘¦fÇh¹coMÞordÇiŽŽŽŽŽ©†‘H«Ï@-Çh¹coMÞordÇiŽ’‚ÖºÄc– §Ç “h¹coMÞordÇiŽ‘)³…¹then‘¦fpMÞopŽŽŽŽ¡‘H«Ï@=Çh¹coMÞordÇiŽ’‚Öº¹load–¦fstac²!k“with“Çh¹coMÞordÇiŽŽŽŽ¦‘H«Ï@@Çh¹coMÞordÇiŽ’‚Öº¹do‘¦fÇh¹coMÞordÇiŽ‘*OD¹for–¦fÄc‘ §Ç “¹stac²!kŽŽŽŽ¡‘H«Ï@iŽ’‚Öº¹initialiseŽŽŽŽ¡‘H«Ï@(Ž’‚Öº¹en²!ter–¦fnew“frameŽŽŽŽ¡‘H«Ï@)Ž’‚Öº¹lea•²!v“e›¦fcurren“t˜frameŽŽŽŽŸœ5‘õŒ„ffѲdŽŸš[‘õŒT‘ÿeo–#²`load“stacš²!k',‘Cmeans“to“load“the“en˜tire“stac˜k“with“the“pMÞositions“set“b˜y“Çh¹coMÞordÇi“¹within“whic˜h“Ï,ŽŽ¡‘õŒ¹means–¦f`push“Äc¹'.Ž©\=‘õŒT‘ÿeo–P/`do“Çh¹coMÞordÇi“¹for“all“stacš²!k“elemen˜ts'“means“to“set“Äc“¹to“eac˜h“elemen˜t“of“the“stac˜k“in“turn,‘anfrom“theŽ¡‘õŒbMÞottom–âüand“up,‘ò!and“for“eacš²!h“in˜terpret“the“Çh¹coMÞordÇi¹.‘“žTh˜us“the“ rst“in˜terpretation“has“Äc“¹set“to“theŽ¡‘õŒbMÞottom–£8elemenš²!t“of“the“stac˜k“and“the“last“has“Äc“¹set“to“Ïs0Ž‘"Œ¹.‘ÜÎIf“the“stac˜k“is“empt˜y‘ÿe,‘£Ûthe“Çh¹coMÞordÇi“¹is“notŽ¡‘õŒin²!terpreted–¦fat“all.ަ‘õŒThese›¦ft•²!w“o˜op•MÞerations˜can˜b“e˜com²!bined˜to˜rep“eat˜a˜particular˜Çh¹co“ordÇi˜¹for˜sev²!eral˜p“oin•²!ts,˜lik“e˜this:ŽŸPˆ‘õŒÏ\xyŽŽ¡‘ûKÃ@={(0,-10),(10,3),(20,-5)}‘¿ª@@{*{P}}ŽŽ¡‘õŒ\endxyŽŽŸ+‘õŒ¹will‘¦ft²!ypMÞesetŽŸcÁ’½ªêïps: SDict begin xyc endŸ™ÐÄPŽŽŽŽ‘sÞŸøœÉPŽŽŽŽ‘8缟_áPŽŽŽŽŽŽŽŽŸ1뻑õŒ¹Finally‘ÿe,›@$the–!estac²!k“can“bMÞe“forcibly“cleared“using“Ï@iŽ‘ ¹¹,˜ho•²!w“ev“er,˜this–!eis“rarely“needed“bMÞecause“of“Ï@(Ž‘ ¹¹,Ž¡‘õŒwhic•²!h›±sa“v“es˜the˜stac“k˜as˜it˜is,–´Eand˜then˜clears˜it,“suc•²!h˜when˜it˜has˜bMÞeen˜used˜(and˜is˜empt“y),‘´EandŽ¡‘õŒÏ@)Ž‘±Ó¹is–¦fissued,“then“it“is“restored“as“it“w²!as“at“the“time“of“the“Ï@(Ž‘%º¹.ŽŸ"KØ‘õŒÔExercise‘º-1.8:‘ ó5¹Ho•²!w›=ºw“ould˜y“ou˜c“hange˜the˜example˜abMÞo“v“e˜to˜connect˜the˜pMÞoin“ts˜as˜sho“wn˜bMÞelo“w?ŽŸý’Áñmïps: SDict begin xyc endŸÜï" {-56.90521 -14.2263 l}xyŽŽŽŸýh0‘sÞŸ÷v×ï" {28.4526 36.98839 l}xyŽŽŽ‘8缟 ¢ï" {28.4526 -22.76208 l}xyŽŽŽŽŽŽŽŸ&@¦‘õŒFirst–¦fthe“stac²!k“top“and“bšMÞottom,“b˜oth“initially“ǹ1:ŽŸPˆ‘ãŒÃ2673Ž‘õŒÏ\xydef@\s@bot{-1}ŽŽ¡‘ãŒÃ2674Ž‘õŒÏ\xydef@\s@top{-1}ŽŽŽŽŒ‹*Ÿ Á à ý*tj‘㌹42’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒ¹Next–÷Nthe“function“to“set“Äc–‘~Ç “ÏsŽ‘ Q(Än¹,– ‡Ði¹.Ðe¹.,“test–÷Nthat“Ðb‘ÿp¹otŽŽ‘HéÄ<›‘~n–¤Û¹+“Ðb‘ÿp¹otŽŽ‘övÄ<˜ÐtopŽŽ‘¹and–÷Nthen“run“the“assoMÞciatedŽ© ™š‘õŒstac•²!k‘¦felemen“t.ޤPˆ‘ãŒÃ2681Ž‘õŒÏ\xydef@\cfroms@#1{\tests@{#1}\runs@\outofranges@}ŽŽ¡‘ãŒÃ2683Ž‘õŒÏ\xydef@\tests@#1#2#3{\DN@{#3}%ŽŽ¦‘ãŒÃ2684Ž‘ûKÃÏ\count@=\s@top‘¿ª\advance\count@-#1\relaxŽŽ¦‘ãŒÃ2685Ž‘ûKÃÏ\ifnum\count@>\s@bot\relax‘¿ª\ifnum\count@>\s@top\else\DN@{#2}\fi\fiŽŽ¦‘ãŒÃ2686Ž‘ûKÃÏ\next@}ŽŽ¡‘ãŒÃ2688Ž‘õŒÏ\xydef@\runs@{\csname‘¿ªS@\the\count@\endcsname}ŽŽ¡‘ãŒÃ2690Ž‘õŒÏ\xydef@\outofranges@{\count@=\s@top‘¿ª\advance\count@-\s@botŽŽ¦‘ãŒÃ2691Ž‘ûKÃÏ\xyerror@{stack–¿ªindex“out“of“range“(should“be“0..\the\count@)}{}}ŽŽŸb_‘õŒ¹Finally–q±the“actual“cošMÞde“to“do“the“stac²!k“op˜erations:‘Âit“dep˜ends“on“the“`co˜de'“passed“after“Ï@Ž‘ 1[¹;‘ƒCspacesަ‘õŒare–¦fnot“allo•²!w“ed:Ž¡‘ãŒÃ2698Ž‘õŒÏ\xydef@\STACK@{%ŽŽ¦‘ãŒÃ2699Ž‘ûKÃÏ\addPLUS@\ifx\nextŽŽ¦‘ãŒÃ2700Ž‘ mÏ\addPLUS@\DN@{\xy@{@+}{}\afterCOORD{\xy@@\spushc@‘¿ª\xyFN@\POS@}}%ŽŽ¦‘ãŒÃ2701Ž‘ûKÃÏ\else\addDASH@\ifx\nextŽŽ¦‘ãŒÃ2702Ž‘ mÏ\addDASH@\DN@{\xy@{@-}{}\afterCOORD{\xy@@\spop@‘¿ª\xyFN@\POS@}}%ŽŽ¦‘ãŒÃ2703Ž‘ûKÃÏ\else–¿ª\ifx“i\next“\DN@“i{\xy@{@i}\sinit@“\xyFN@\POS@}%ŽŽ¦‘ãŒÃ2704Ž‘ûKÃÏ\else–¿ª\ifx“(\next“\DN@“({\xy@{@(}\senter@“\xyFN@\POS@}%ŽŽ¦‘ãŒÃ2705Ž‘ûKÃÏ\else–¿ª\ifx“)\next“\DN@“){\xy@{@)}\sleave@“\xyFN@\POS@}%ŽŽ¦‘ãŒÃ2706Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\addEQ@\DN@{\STACK@load}%ŽŽ¦‘ãŒÃ2707Ž‘ûKÃÏ\else\addAT@\ifx\next‘¿ª\addAT@\DN@{\xy@{@@}{}\smap@}%ŽŽ¦‘ãŒÃ2708Ž‘ûKÃÏ\else–¿ª\DN@##1{\xyerror@{illegal“stack“command“##1}{}\afterCOORD{\xyFN@\POS@}}%ŽŽ¦‘ãŒÃ2709Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¡‘ãŒÃ2711Ž‘õŒÏ\xydef@\STACK@load{\xy@{@=}{%ŽŽ¦‘ãŒÃ2712Ž‘ mÏ\if\sempty@\else–¿ª\xywarning@{loading“on“top“of“non-empty“stack}\sinit@“\fiŽŽ¦‘ãŒÃ2713Ž‘ mÏ\let\comma@@=\spushc@}%ŽŽ¦‘ãŒÃ2714Ž‘ûKÃÏ\afterCOORD{\xy@@{\spushc@‘¿ª\let\comma@@=\relax}\xyFN@\POS@}}ŽŽ¡‘ãŒÃ2716Ž‘õŒÏ\xydef@\spushc@{%ŽŽ¦‘ãŒÃ2717Ž‘ûKÃÏ\count@=\s@top–¿ª\advance\count@\@ne“\edef\s@top{\the\count@}%ŽŽ¦‘ãŒÃ2718Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªS@\s@top\endcsname{\cfromthec@}}ŽŽ¡‘ãŒÃ2720Ž‘õŒÏ\xydef@\spushid@#1{\DNii@{#1}\edef\nextii@{\codeof\nextii@}%ŽŽ¦‘ãŒÃ2721Ž‘ûKÃÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@\nextii@\endcsnameŽŽ¦‘ãŒÃ2722Ž‘ûKÃÏ\ifx\next@\relax–¿ª\xyerror@{“\string"\nextii@\string"“not“defined}{}%ŽŽ¦‘ãŒÃ2723Ž‘ûKÃÏ\elseŽŽ¦‘ãŒÃ2724Ž‘ mÏ\count@=\s@top–¿ª\advance\count@\@ne“\edef\s@top{\the\count@}%ŽŽ¦‘ãŒÃ2725Ž‘ mÏ\DNii@##1{\expandafter\def\csname‘¿ªS@\s@top\endcsname{##1}}%ŽŽ¦‘ãŒÃ2726Ž‘ mÏ\expandafter\nextii@\expandafter{\next@}%ŽŽ¦‘ãŒÃ2727Ž‘ûKÃÏ\fi}ŽŽ¡‘ãŒÃ2729Ž‘õŒÏ\xydef@\idfroms@#1#2{%ŽŽ¦‘ãŒÃ2730Ž‘ûKÃÏ\tests@{#2}{\DN@{\idfromxy@{#1}}%ŽŽ¦‘ãŒÃ2731Ž‘ mÏ\expandafter\expandafter\expandafter\next@ŽŽ¦‘ãŒÃ2732Ž‘ËÏ\expandafter\expandafter\expandafter{\csname‘¿ªS@\the\count@\endcsname}%ŽŽ¦‘ãŒÃ2733Ž‘ mÏ}\outofranges@}ŽŽ¡‘ãŒÃ2735Ž‘õŒÏ\xydef@\spop@{\count@=\s@topŽŽŽŽŒ‹+ÒØ Á à ý*tj‘ãŒÑ1.3.‘„CPOSITIONS’‚ƒ÷¹43ŽŽ ¶?? ýh«w‘ãŒÃ2736Ž‘ûKÃÏ\ifnum\count@>\s@bot–¿ª\advance\count@\m@ne“\edef\s@top{\the\count@}%ŽŽ© ™š‘ãŒÃ2737Ž‘ûKÃÏ\else–¿ª\xyerror@{nothing“to“pop“from“stack}{}\fi}ŽŽ¤Pˆ‘ãŒÃ2739Ž‘õŒÏ\xydef@\sinit@{\edef\s@top{\s@bot}}ŽŽ¡‘ãŒÃ2741Ž‘õŒÏ\xydef@\senter@{%ŽŽ¦‘ãŒÃ2742Ž‘ûKÃÏ\count@=\s@top‘¿ª\advance\count@\@neŽŽ¦‘ãŒÃ2743Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªS@\the\count@\endcsname{\s@bot}%ŽŽ¦‘ãŒÃ2744Ž‘ûKÃÏ\edef\s@bot{\the\count@}\edef\s@top{\the\count@}}ŽŽ¡‘ãŒÃ2746Ž‘õŒÏ\xydef@\sleave@{%ŽŽ¦‘ãŒÃ2747Ž‘ûKÃÏ\ifnum\s@bot=\s@top\else–¿ª\xywarning@{leaving“non-empty“stack}\sinit@“\fiŽŽ¦‘ãŒÃ2748Ž‘ûKÃÏ\ifnum\s@bot>\m@ne–¿ª\edef\s@bot{\csname“S@\s@top\endcsname}%ŽŽ¦‘ãŒÃ2749Ž‘ mÏ\count@=\s@top–¿ª\advance\count@\m@ne“\edef\s@top{\the\count@}%ŽŽ¦‘ãŒÃ2750Ž‘ûKÃÏ\edef\sbot{\the\count@}\fi}ŽŽ¡‘ãŒÃ2752Ž‘õŒÏ\xydef@\sempty@{\ifnum\s@top=\s@bot–¿ªTT\else“TF\fi}ŽŽŸâõ‘õŒ\smap@Ž‘°{¹maps–¦fa“Çh¹coMÞordÇi“¹o•²!v“er–¦fa“stac²!k:Ž¡‘ãŒÃ2758Ž‘õŒÏ\xydef@\xytotoks@#1#2{\addtotoks@{#2}}ŽŽ¦‘ãŒÃ2759Ž‘õŒÏ\xydef@\xytotoks@@toksix@#1{\addtotoks@{\toks9={#1}}}ŽŽ¡‘ãŒÃ2761Ž‘õŒÏ\xydef@\smap@{%ŽŽ¦‘ãŒÃ2762Ž‘ûKÃÏ\begingroup–¿ª\toks@={}\let\xy@=\xytotoks@“\change@oxy@\xy@ŽŽ¦‘ãŒÃ2763Ž‘ mÏ\let\xy@@ix@=\xytotoks@@toksix@ŽŽ¦‘ãŒÃ2764Ž‘ mÏ\afterCOORD{\expandafter\endgroupŽŽ¦‘ãŒÃ2765Ž‘ËÏ\expandafter\smapxy@@\expandafter{\the\toks@}\xyFN@\POS@}}ŽŽ¡‘ãŒÃ2767Ž‘õŒÏ\xydef@\smapxy@@#1{\xy@@{\edef\smapp@@{\s@bot}\smapxy@i{#1}}}ŽŽ¡‘ãŒÃ2769Ž‘õŒÏ\xylet@\smapp@@=\emptyŽŽ¡‘ãŒÃ2771Ž‘õŒÏ\xydef@\smapxy@i#1{%ŽŽ¦‘ãŒÃ2772Ž‘ûKÃÏ\ifnum\smapp@@<\s@topŽŽ¦‘ãŒÃ2773Ž‘ mÏ\count@=\smapp@@–¿ª\advance\count@\@ne“\edef\smapp@@{\the\count@}%ŽŽ¦‘ãŒÃ2774Ž‘ mÏ\DN@{\csname–¿ªS@\smapp@@\endcsname“#1\relax“\smapxy@i{#1}}%ŽŽ¦‘ãŒÃ2775Ž‘ûKÃÏ\else‘¿ª\let\next@=\relaxŽŽ¦‘ãŒÃ2776Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŸub‘㌹1.3p.ŽŽ‘©ùIt–ïÍis“pšMÞossible“to“de ne“new“Çh¹co˜ordÇi¹inates“on“the“form“Ï"Ž– ¯wÇh¹idÇiÏ"Ž“¹bš²!y–ïÍÐsaving‘çιthe“curren˜t“Äc“¹using“theަ‘õŒ.–Ó3.“.“Ï="Ž‘ R‡Çh¹idÇiÏ"Ž›þ[Çh¹pMÞosÇi¹ition–>±form.‘»LSubsequen²!t“uses“of“Ï"Ž˜Çh¹idÇiÏ"Ž˜¹will“then“reestablish“the“Äc“¹at“the“time“of“theަ‘õŒsa²!ving.ޤ,‘õŒUsing–3Fa“Ï"Ž–òðÇh¹idÇiÏ"Ž“¹that–3Fwš²!as“nev˜er“de ned“is“an“error,–JMho˜w˜ev˜er,“sa˜ving–3Fin˜to“a“name“that“w˜as“previouslyަ‘õŒde ned–´Ijust“replaces“the“de nition“without“wš²!arning,–÷ÂÐi¹.Ðe¹.,“Ï"Ž‘ ·lÇh¹idÇiÏ"Ž‘ só¹alw˜a˜ys–´Irefers“to“the“last“thingަ‘õŒsa•²!v“ed–¦fwith“that“Çh¹idÇi¹.Ž¡‘õŒHo•²!w“ev“er,›¦fman“y˜other˜things˜can˜bMÞe˜`sa“v“ed':‘ÝÝin˜general˜Ï@Ž‘ fÇh¹sa“vingÇi˜¹has˜either˜of˜the˜formsŽŸ>Ö‘õŒ„ffѲdŽŸ ŽS‘?ÉÏ@:"Ž‘QÇh¹idÇiÏ"ŽŽ’‹(^"Ž’èÇh¹idÇiÏ"Ž‘ f¹restores–¦fcurren²!t“Ðb‘ÿp¹aseŽŽŽŽ¦‘?ÉÏ@Ž‘Eˆ±Çh¹coMÞordÇiÏ"Ž‘¿ªÇh¹idÇiÏ"ŽŽ’‹(^"Ž’èÇh¹idÇiÏ"Ž‘ f¹rein²!terprets‘¦fÇh¹coMÞordÇiŽŽŽŽ¦‘?ÉÏ@@"Ž‘QÇh¹idÇiÏ"ŽŽ’‹(^@="Ž’œg\Çh¹idÇiÏ"Ž‘ f¹reloads–¦fthis“stac²!kŽŽŽŽŸ„‘õŒ„ffѲdŽŸR ‘õŒThe–¦f rst“form“de nes“Ï"Ž– fÇh¹idÇiÏ"Ž“¹to–¦fbMÞe“a“macro“that“restores“the“curren²!t“Ðb‘ÿp¹ase‘Ò¡¹.Ž¡‘õŒThe–Êösecond“došMÞes“not“dep˜end“on“the“state“at“the“time“of“de nition“at“all;‘Ý>it“is“a“macro“de nition.ަ‘õŒY‘ÿeou–¦§can“pass“parameters“to“sucš²!h“a“macro“b˜y“letting“it“use“coMÞordinates“named“Ï"1"Ž‘她,‘¦¸Ï"2"ޑ嶹,–¦¸etc.,“andŽŽŽŒ‹,ßy Á à ý*tj‘㌹44’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒ¹then–¤ use“Ï="1"Ž‘£H¹,‘¤úÏ="2"Ž‘£¢¹,–¤úetc.,“just–¤ bMÞefore“ev²!ery“use“of“it“to“set“the“actual“v‘ÿdDalues“of“these.‘ÝFÔNote:‘Üú¹it“isޤ ™š‘õŒnot–¦fpšMÞossible“to“use“a“Çh¹co˜ordÇi“¹of“the“form“Ï"Ž– fÇh¹idÇiÏ"Ž“¹directly:‘ÝÝwrite–¦fit“as“Ï{"Ž‘%ºÇh¹idÇiÏ"}Ž‘ T¹.ŽŸ##.‘õŒÔExercise‘W1.9:‘ ó5¹W‘ÿerite–Æa“macro“Ï"dbl"Ž‘$Jйto“double“the“size“of“the“currenš²!t“Äc“¹ob‘›»ject,–Î Ðe¹.Ðg¹.,“c˜hanging‘ÆitŽ¡‘õŒfrom–¦fthe“dotted“to“the“dashed“outline“in“this“ gure:ŽŸ0ÉÙ’±áïps: SDict begin xyc end‘(B#ž$ý+ŽŽŽŽŽŸíÁÊ‘(Šž™„3232ŽŽŽ‘_Õ‘ÿúž™„3232ŽŽ–7A‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘76ž™„3232ŽŽŽŸQí‘ñŸâôd™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘BÆjŸâôd™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘(Šž™„3232ŽŽ‘_Õ‘ÿúž™„3232ŽŽ–7A‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘76ž™„3232ŽŽŽŽŽŸÞcægž™„3232ŽŽŽ™ï" {3072 F d}xyŽ‘ ßï" {3072 F d}xyŽ– tFï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ t=ï" {3072 F d}xyŽ‘t=ž™„3232ŽŽŽŸ>žºŸÁ”xï" {1024 F d}xyŽÌΤ {ê32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽŸ {à32ï" {1024 F d}xyŽŽŸÁ”x‘Y;¿ï" {1024 F d}xyŽ‘Y¤ {ê32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽŸ {à32ï" {1024 F d}xyŽŽŽž32ægž™„3232ŽŽ™ï" {3072 F d}xyŽ‘ ßï" {3072 F d}xyŽ– tFï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ t=ï" {3072 F d}xyŽ‘t=ž™„3232ŽŽŽŽŽŽŽŽŽŸ)y(©œa‘õŒThe–¼. nal“form“de nes“a“spšMÞecial“kind“of“macro“that“should“only“b˜e“used“after“the“Ï@=Ž‘÷°¹stac²!k“op˜eration:Ž¡‘õŒthe–¦fenš²!tire“curren˜t“stac˜k“is“sa˜v˜ed“suc˜h“that“the“stac˜k“opMÞeration“Ï@="Ž‘ådÇh¹idÇiÏ"Ž‘ f¹will“reload“it.ަ‘õŒÔNote:‘Cå¹There–Ùjis“no“distinction“bšMÞet•²!w“een–Ùjthe“`name“spaces'“of“Çh¹idÇi¹s“used“for“sa•²!v“ed–Ùjco˜ordinates“andŽ¡‘õŒother‘¦fthings.ަ‘õŒThis–¦fparser“distinguishes“bMÞet•²!w“een–¦fthe“cases:Ž©Pˆ‘ãŒÃ2843Ž‘õŒÏ\xydef@\saveid@{%ŽŽ¡‘ãŒÃ2844Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\saveid@}%gobble“spacesŽŽ¡‘ãŒÃ2845Ž‘ûKÃÏ\else–¿ª\ifx“"\next\DN@"##1"{\xy@{="##1"}{\idfromc@{##1}}\xyFN@\POS@}%ŽŽ¡‘ãŒÃ2846Ž‘ûKÃÏ\else–¿ª\ifx“:\next\DN@:##1"##2"{\xy@{=:"##2"}{\idfrombase@{##2}}\xyFN@\POS@}%ŽŽ¡‘ãŒÃ2847Ž‘ûKÃÏ\else\addAT@\ifx\nextŽŽ¡‘ãŒÃ2848Ž‘ mÏ\addAT@\DN@"##1"{\xy@{=@"##1"}{\idfromstack@{##1}}\xyFN@\POS@}%ŽŽ¡‘ãŒÃ2849Ž‘ûKÃÏ\else–¿ª\ifx“s\nextŽŽ¡‘ãŒÃ2850Ž‘ mÏ\DN@‘¿ªs##1"##2"{\xy@{=s##1"##2"}{\idfroms@{##2}{##1}}\xyFN@\POS@}%ŽŽ¡‘ãŒÃ2851Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\let\saveid@COORD@@=\saveid@COORDiiŽŽ¡‘ãŒÃ2852Ž‘ mÏ\addEQ@\DN@{\xyFN@\saveid@COORD}%ŽŽ¡‘ãŒÃ2853Ž‘ûKÃÏ\else–¿ª\let\saveid@COORD@@=\saveid@COORDi“\let\next@=\saveid@COORDŽŽ¡‘ãŒÃ2854Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ2856Ž‘õŒÏ\xylet@\saveid@COORD@@=\relaxŽŽŸSO‘õŒ¹Here–¦fis“the“cošMÞde“for“sa²!ving/restoring“a“p˜osition“and“a“base.ަ‘ãŒÃ2862Ž‘õŒÏ\xydef@\idfromc@#1{\DN@{#1}%ŽŽ¡‘ãŒÃ2863Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@\codeof\next@\endcsname{\cfromthec@}}ŽŽ¦‘ãŒÃ2865Ž‘õŒÏ\xydef@\idfrombase@#1{\DN@{#1}%ŽŽ¡‘ãŒÃ2866Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@\codeof\next@\endcsname{\basefromthebase@}}ŽŽ¦‘ãŒÃ2868Ž‘õŒÏ\xydef@\idfromstack@#1{%ŽŽ¡‘ãŒÃ2869Ž‘ûKÃÏ\toks@={\if\sempty@\elseŽŽ¡‘ãŒÃ2870Ž‘ËÏ\xywarning@{loading–¿ªon“top“of“non-empty“stack}\sinit@“\fi}%ŽŽ¡‘ãŒÃ2871Ž‘ûKÃÏ\count@=\s@bot‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ2872Ž‘ûKÃÏ\ifnum\count@>\s@top\elseŽŽ¡‘ãŒÃ2873Ž‘ mÏ\loop@ŽŽ¡‘ãŒÃ2874Ž‘ËÏ\expandafter\let\expandafter\next@\csname‘¿ªS@\the\count@\endcsnameŽŽ¡‘ãŒÃ2875Ž‘ËÏ\expandafter\addtotoks@\expandafter{\next@}%ŽŽ¡‘ãŒÃ2876Ž‘ mÏ\ifnum\count@<\s@top–¿ª\advance\count@\@ne“\addtotoks@{\spushc@}\repeat@ŽŽ¡‘ãŒÃ2877Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2878Ž‘ûKÃÏ\DN@{#1}\edef\next@##1{%ŽŽŽŽŒ‹-ìù Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹45ŽŽ ¶?? ýh«w‘ãŒÃ2879Ž‘ mÏ\def\expandafter\noexpand\csname‘¿ªQ@\codeof\next@\endcsname{##1}}%ŽŽ¤ ™š‘ãŒÃ2880Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}}ŽŽ©Pˆ‘ãŒÃ2882Ž‘õŒÏ\xydef@\saveid@COORD{%ŽŽ¡‘ãŒÃ2883Ž‘ûKÃÏ\begingroup–¿ª\toks@={}\let\xy@=\xytotoks@“\change@oxy@\xy@ŽŽ¡‘ãŒÃ2884Ž‘ mÏ\let\xy@@ix@=\xytotoks@@toksix@ŽŽ¡‘ãŒÃ2885Ž‘ mÏ\afterCOORD{\expandafter\saveid@COORDi\expandafter{\the\toks@}}}ŽŽ¦‘ãŒÃ2887Ž‘õŒÏ\xydef@\saveid@COORDi#1#2"#3"{\endgroup‘¿ª\xy@@{\idfromxy@{#3}{#1}}\xyFN@\POS@}ŽŽ¡‘ãŒÃ2888Ž‘õŒÏ\xydef@\saveid@COORDii#1#2"#3"{\endgroup‘¿ª\xy@@{\idfromcxy@{#3}{#1}}\xyFN@\POS@}ŽŽ¦‘ãŒÃ2890Ž‘õŒÏ\xydef@\idfromxy@#1#2{\DN@{#1}%ŽŽ¡‘ãŒÃ2891Ž‘ûKÃÏ\expandafter\def\csname‘¿ªQ@\codeof\next@\endcsname{#2}}ŽŽ¦‘ãŒÃ2893Ž‘õŒÏ\xydef@\idfromcxy@#1#2{\DN@{#1}%ŽŽ¡‘ãŒÃ2894Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@\codeof\next@\endcsname{\cfromthec@#2}}ŽŽ¦‘ãŒÃ2896Ž‘õŒÏ\xydef@\cfromid@#1{\DNii@{#1}\edef\nextii@{\codeof\nextii@}%ŽŽ¡‘ãŒÃ2897Ž‘ûKÃÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@\nextii@\endcsnameŽŽ¡‘ãŒÃ2898Ž‘ûKÃÏ\ifx\next@\relax–¿ª\xyerror@{“\string"\nextii@\string"“not“defined}{}%ŽŽ¡‘ãŒÃ2899Ž‘ûKÃÏ\else‘¿ª\expandafter\next@\fi}ŽŽŸ("^‘ãŒÝ1.4Ž‘r|Ob‘æfjectsŽŸOG‘ãŒÃ2914Ž‘õŒÏ\message{objects,}ŽŽŸy°‘㌹Ob‘›»jects–5¦are“the“en²!tities“that“are“manipulated“with“the“Ï*Ž‘*ö¹and“Ï**Ž‘ê Çh¹pšMÞosÇi“¹op˜erations“ab˜o•²!v“e–5¦to“actuallyŽ¡‘ãŒget–Órsome“output“in‘»X‘ü·ŸâÃYŽŽ‘:|-pictures.‘eAs“for“Çh¹pšMÞosÇi¹itions“the“op˜erations“are“in²!terpreted“strictly“from“left“toŽ¡‘ãŒrigh•²!t,›RÆho“w“ev“er,˜the–=Þactual“ob‘›»ject“is“built“Ðb–ÿp¹efor“e‘¹all–=Þthe“Çh¹moMÞdi erÇi¹s“takš²!e“e ect.‘»The“syn˜tax“of“ob‘›»jects“isŽ¡‘ãŒgivš²!en–z2in“ gure“1.5“with“references“to“the“notes“bMÞelo˜w.‘Ï!ÔRemark:‘ÇùIt“is“Ðnever‘§í¹allo˜w˜ed“to“include“bracesŽ¡‘ãŒÏ{}Ž‘ònƹinside–cYÇh¹moMÞdi erÇi¹s!‘Ç„In“case“yš²!ou“wish“to“do“something“that“requires“Ï{Ž‘ #¹.–Ó3.“.“Ï}Ž‘ ö6¹then–cYc˜hec˜k“in“this“man˜ualŽ¡‘ãŒwhether–¦fyš²!ou“can“use“Ï(*Ž‘%º¹.–Ó3.“.“Ï*)Ž‘øí¹instead.‘ÝÝIf–¦fnot“then“y˜ou“will“ha˜v˜e“to“use“a“di eren˜t“construction!Ž© ‘ôŒW‘ÿee–¯Y rst“discuss“the“parser“and“then“summarise“the“required“methošMÞds.‘ø·The“en²!try“p˜oin²!t“to“useŽ¡‘ãŒof–—ñob‘›»jects“is“Ï\object“¹describšMÞed“in“note“1.4c.‘²This“should“alw•²!a“ys–—ñb˜e“used“b˜ecause“it“initialises“theŽ¡‘ãŒtokš²!en–F³list“and“rede nes“Ï\xy@Ž‘Œ¹to“bMÞe“Ï\addtotoks@Ž‘GÉ´¹suc˜h“that“w˜e“can“use“Çh¹pMÞosÇi“¹parser“routines“withinŽ¡‘ãŒthe‘¦fÇh¹ob‘›»jectÇi¹!ŽŸ×N‘ãŒÔP¦tarsing:‘ ó5¹The–npÇh¹ob‘›»jectÇi“¹parser“Ï\OBJECT@Ž‘4Ú0¹will“ rst“parse“the“Çh¹moMÞdi erÇi¹s,‘y¡storing“the“action“of“eac²!h“inŽ¡‘ãŒsequence– ¥on“the“Ï\toks@Ž‘(•F¹tokš²!en“list.‘ªGWhen“there“are“no“more“moMÞdi ers“w˜e“insert“Ï\objectbox“¹if“w˜e“ha˜v˜eŽ¡‘ãŒreacš²!hed–fõthe“Ï{Ž‘ ”¹otherwise“w˜e“just“assume“that“the“rest“of“the“Çh¹ob‘›»jectÇi“¹is“some“kind“of“bMÞo˜x“construction.ަ‘ôŒÐNote‘Ò¡¹:‘ The–GxÇh¹moMÞdi erÇi“¹actions“doing“shifts“are“implemenš²!ted“b˜y“ha˜ving“an“indepMÞenden˜t“v˜ector“forŽ¡‘ãŒthe›·shift:‘ÆÏ<Ž‘ †)ÄRŸ¤zÅpŽ‘Ç]Ï,Ž‘ ‡ÄUŸ¤zÅpŽ‘Ç]Ï>Ž‘¡¾¹alw•²!a“ys˜con“tains˜the˜v“ector˜from˜the˜curren“t˜to˜the˜original˜T‘þ,³Ÿ[wEŽ‘B X˜reference˜pMÞoin“t;Ž¡‘ãŒfurthermore–Fthe“initial“ÄLŸ¤zÅcŽ‘t“¹is“sa•²!v“ed–Fas“ÄLŸ¤zÅpŽ‘ w¹sucš²!h“that“w˜e“can“retriev˜e“the“original“(‘þçªX‘ü·ŸâÃYŽŽ‘ g -pic)“reference“pMÞoin˜tŽ¡‘ãŒagain.‘Å.MošMÞdifying–HÖthe“Äp“¹v‘ÿdDalues“is“safe“b˜ecause“all“actual“c²!hanges“are“done“in“a“lo˜cal“scop˜e“after“theŽ¡‘ãŒenš²!tire–¦fÇh¹ob‘›»jectÇi“¹is“parsed“and“w˜e“ha˜v˜e“built“the“ob‘›»ject“bMÞo˜x“(in“Ï\OBJECT@@Ž‘7c`¹).ަ‘ôŒThe–z´Çh¹moMÞdi erÇi¹s“cš²!hanging“the“direction“are“executed“while“parsing“to“mak˜e“sure“that“the“directionŽ¡‘ãŒused–*¢when“building“the“Çh¹ob‘›»jectÇi“¹is“righš²!t,‘‹°and“restored“in“the“righ˜t“sequence“while“ev‘ÿdDaluating“theŽ¡‘ãŒÇh¹moMÞdi erÇi¹s‘¦fafterw²!ards.ŽŸPˆ‘ãŒÃ3074Ž‘õŒÏ\xydef@\OBJECT@{%ŽŽ¡‘ãŒÃ3075Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\OBJECT@}%gobble“spacesŽŽ¡‘ãŒÃ3076Ž‘ûKÃÏ\else\ifcat–¿ªA\noexpand\next“\let\next@=\OBJECT@letterŽŽ¡‘ãŒÃ3077Ž‘ûKÃÏ\else–¿ª\let\next@=\OBJECT@other“\fi\fi“\next@}ŽŽŽŽŒ‹.¯ Á à ý*tj‘㌹46’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶??ŸÉÊ: ýʑ㌟ ff‰ffã²dŸ {„‘yš¹Syn²!taxŽ’íÃActionŽŽŽŽŸ‡w‰ffã²dŸ …‘yšÇh¹ob‘›»jectÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘Zfh¹moMÞdi erÇi‘¦fh¹ob‘›»jectÇiŽ’íùapply–¦fÇh¹moMÞdi erÇi“¹to“Çh¹ob‘›»jectÇiŽŽŽŽ¤ ™š‘J”òjŽŽ‘Zfh¹ob‘›»jectbMÞo²!xÇiŽ’íùbuild–¦fÇh¹ob‘›»jectbšMÞo²!xÇi“¹then“apply“its“Çh¹mo˜di erÇi¹sŽŽŽŽŸ™šŸ†‘yšÇh¹ob‘›»jectbMÞo²!xÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘ZfÏ{Ž‘cÌÇh¹textÇi‘¦fÏ}ŽŽ’íùbuild‘¦fdefaultŸü¾²1.4aŽ‘톹ob‘›»jectŽŽŽŽ¡‘J”òÇjŽŽ‘Zfh¹library‘¦fob‘›»jectÇi‘LÌjŽ‘¤CÏ@Ž‘cíÇh¹dirÇiŽ’íùuse–¦fÇh¹library“ob‘›»jectÇi“¹or“Çh¹dirÇi¹ectional“(see“Çx¹1.6)ŽŽŽŽ©ÿ†‘J”òÇjŽŽ‘Zfh¹T‘þ,³Ÿ[wEŽ‘B X–¦fbMÞo²!xÇi“Ï{Ž‘ vÇh¹textÇi“Ï}ŽŽ’íùbuild–cXbMÞoš²!xŸü¾²1.4bŽ‘8±¹ob‘›»ject“with“Çh¹textÇi“¹using“the“giv˜enŽ¡’íÃÇh¹T‘þ,³Ÿ[wEŽ‘B X–¦fbMÞo²!xÇi“¹command,“Ðe¹.Ðg¹.,“Ï\hboxŽŽŽŽŸÁo‘J”òÇjŽŽ‘ZfÏ\object‘¦fÇh¹ob‘›»jectÇiŽ’íùwrap–¦fup“the“Çh¹ob››»jectÇi“¹as“a“ nished“ob˜ject“bMÞo²!xŸü¾²1.4cŽŽŽŽŽ¦‘J”òÇjŽŽ‘ZfÏ\composite‘¦f{Ž‘ vÇh¹compMÞositeÇi‘¦fÏ}ŽŽ’íùbuild–¦fcompšMÞosite“ob‘›»ject“b˜o²!xŸü¾²1.4dŽŽŽŽŽ©†‘J”òÇjŽŽ‘ZfÏ\xybox‘¦f{Ž‘ vÇh¹pMÞosÇi–¦fh¹decorÇi“Ï}ŽŽ’íùpac•²!k‘ÿdDage›¦fen“tire‘ŽX‘ü·ŸâÃYŽŽ‘ p-picture˜as˜ob‘›»jectŸü¾²1.4eŽŽŽŽŽŸÿ†‘yšÇh¹moMÞdi erÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘ZfÏ!Ž‘cÌÇh¹v²!ectorÇiŽ’íÃh¹ob‘›»jectÇi–1s¹has“its“reference“pMÞoinš²!t“shiftedŸü¾²1.4fŽ‘†Ì¹b˜yŽ¡’íÃÇh¹v²!ectorÇiŽŽŽŽŸÛ‚‘J”òjŽŽ‘ZfÏ!ŽŽ’íÃÇh¹ob‘›»jectÇi–¦f¹has“the“original“reference“pMÞoin²!t“reinstatedŽŽŽŽ¦‘J”òÇjŽŽ‘Zfh¹add–¦fopÇi“h¹sizeÇiŽ’íùc²!hange–¦fÇh¹ob‘›»jectÇi“¹sizeŸü¾²1.4gŽŽŽŽŽ¤ÿ†‘J”òÇjŽŽ‘ZfÏh‘LÌÇjŽ‘¤CÏiŽ’íÃÇh¹ob‘›»jectÇi–¦f¹is“hiddenŸü¾²1.4hŽ‘ÕY¹,“in²!visibleŸü¾²1.4iŽŽŽŽŽŸ»w‘J”òÇjŽŽ‘ZfÏ[Ž‘cÌÇh¹shapMÞeÇi‘¦fÏ]ŽŽ’íÃÇh¹ob‘›»jectÇi–¦f¹is“giv²!en“the“spšMÞeci ed“Çh¹shap˜eÇiŸü¾²1.4jŽŽŽŽŽ¡‘J”òÇjŽŽ‘ZfÏ[=–¦fÇh¹shapMÞeÇi“Ï]ŽŽ’íùde ne–ÑÇh¹shapMÞeÇiŸü¾²1.4kŽ‘ ¹to“reestablish“curren²!t“ob‘›»jectŽŸ ™š’íÃst²!yleŽŽŽŽŸ?Ç‘J”òÇjŽŽ‘Zfh¹directionÇiŽ’íùset–¦fcurren²!t“direction“for“this“Çh¹ob‘›»jectÇiŽŽŽŽŸ™š‘yšh¹add‘¦fopÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘ZfÏ+Ž‘gr|ÇjŽ‘qÉóÏ-Ž‘~ÖiÇjŽ’‰-àÏ=Ž’–:VÇjŽ’ ‘ÍÏ+=Ž’³]íÇjŽ’½µdÏ-=ŽŽ’íùgroš²!w,–¦fshrink,“set,“gro˜w“to,“shrink“toŽŽŽŽŸ†‘yšÇh¹sizeÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘Zfh¹empt²!yÇiŽ’íùdefault‘¦fsizeŸü¾²1.4gŽŽŽŽŽŸ ™š‘J”òÇjŽŽ‘Zfh¹v²!ectorÇiŽ’íùsize–¦fas“sides“of“rectangle“co•²!v“ering–¦fthe“Çh¹v²!ectorÇiŽŽŽŽŸÿ†‘yšh¹directionÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘Zfh¹diagÇiŽ’íÃh¹diagÇi¹onal‘¦fdirectionŸü¾²1.4lŽŽŽŽŽ¡‘J”òÇjŽŽ‘ZfÏv‘¦fÇh¹v²!ectorÇiŽ’íùdirectionŸü¾²1.4lŽ‘´¢¹of‘¦fÇh¹v²!ectorÇiŽŽŽŽ¡‘J”òjŽŽ‘ZfÏq{Ž‘ fÇh¹pMÞosÇi–¦fh¹decorÇi“Ï}ŽŽ’íùdirectionŸü¾²1.4lŽ‘´¢¹from–¦fÄp“¹to“Äc“¹after“Çh¹pMÞosÇi“h¹decorÇiŽŽŽŽ¦‘J”òjŽŽ‘Zfh¹directionÇi‘¦fÏ:‘ÝÝÇh¹v²!ectorÇiŽ’íùv•²!ector›¦frelativ“e˜to˜Çh¹directionÇiŸü¾²1.4mŽŽŽŽŽ¦‘J”òÇjŽŽ‘Zfh¹directionÇi‘¦fÏ_Ž‘²ÜÇjŽ‘ Sh¹directionÇi‘¦fÏ^ŽŽ’íù90Ÿü¾ÈŽ‘fj¹clošMÞc•²!kwise/an“ticlo˜c“kwise–¦fto“Çh¹directionÇiŸü¾²1.4mŽŽŽŽŽ¡‘yšÇh¹diagÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘Zfh¹empt²!yÇiŽ’íùlast–¦fused“direction“(not“necessarily“diagonalŸü¾²1.4lŽ‘<¹)ŽŽŽŽ¡‘J”òÇjŽŽ‘ZfÏlŽ‘cÌÇjŽ‘j}'ÏrŽ‘sã7ÇjŽ‘z”HÏdŽ’ƒúXÇjŽ’Š«iÏuŽŽ’íùleft,–¦frighš²!t,“do˜wn,“up“diagonalŸü¾²1.4lŽŽŽŽŽ¡‘J”òÇjŽŽ‘ZfÏldŽ‘i‹ÀÇjŽ‘p<ÑÏrdŽ‘b‹ÇjŽ’†œÏluŽ’•9VÇjŽ’›êgÏruŽŽ’íùleft/do²!wn,‘¦f.–Ó3.“.‘y™diagonalŸü¾²1.4lŽŽŽŽŽŸ™š‘yšÇh¹compMÞositeÇiŽ‘CH"ŽŽŽ‘Iù7!ŽŽ‘Zfh¹ob‘›»jectÇiŽ’íù rst–¦fob‘›»ject“is“requiredŽŽŽŽ¡‘J”òÇjŽŽ‘Zfh¹compMÞositeÇi‘¦fÏ*Ž‘ vÇh¹ob‘›»jectÇiŽ’íùadd–¦fÇh¹ob››»jectÇi“¹to“compMÞosite“ob˜ject“bMÞo²!xŸü¾²1.4dŽŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’¾îM¹Figure‘¦f1.5:‘ÝÝÇh¹ob‘›»jectÇi¹s.ŽŽŽŽŽŒ‹/Ô Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹47ŽŽ ¶?? ýh«w‘ãŒÃ3079Ž‘õŒÏ\xydef@\OBJECT@letter{%ŽŽ¤ ™š‘ãŒÃ3080Ž‘ûKÃÏ\ifx–¿ªi\next“\DN@“i{\addtotoks@\Invisible@true“\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ3081Ž‘ûKÃÏ\else\ifx–¿ªh\next\DN@“h{\addtotoks@\Hidden@true“\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ3082Ž‘ûKÃÏ\else\ifx–¿ªo\next\DN@“o{\xywarning@{Obsolete“o“modifier“used}\OBJECT@shape{o}}%ŽŽ¡‘ãŒÃ3083Ž‘ûKÃÏ\else\ifx–¿ªx\next\DN@“x{\xywarning@{Obsolete“x“modifier“used}\OBJECT@shape{}}%ŽŽ¡‘ãŒÃ3084Ž‘ûKÃÏ\else\ifx–¿ª@\next\DN@“@##1##{%ŽŽ¡‘ãŒÃ3085Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3086Ž‘õŒÏ\xywarning@{Impossible–¿ª@“(letter)“should“not“be“here!!}ŽŽ¡‘ãŒÃ3087Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3088Ž‘ mÏ\OBJECT@@{\dir##1}}%ŽŽ¡‘ãŒÃ3089Ž‘ûKÃÏ\else‘¿ª\let\next@=\OBJECT@directionŽŽ¡‘ãŒÃ3090Ž‘ûKÃÏ\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ3092Ž‘õŒÏ\xydef@\OBJECT@other{%ŽŽ¡‘ãŒÃ3093Ž‘ûKÃÏ\ifx–¿ª!\next“\DN@!{\OBJECT@shift}%ŽŽ¡‘ãŒÃ3094Ž‘ûKÃÏ\else\addPLUS@\ifx–¿ª\next“\DN@{\OBJECT@change}%ŽŽ¡‘ãŒÃ3095Ž‘ûKÃÏ\else\addDASH@\ifx–¿ª\next“\DN@{\OBJECT@change}%ŽŽ¡‘ãŒÃ3096Ž‘ûKÃÏ\else\addEQ@\ifx–¿ª\next“\DN@{\OBJECT@set}%ŽŽ¡‘ãŒÃ3097Ž‘ûKÃÏ\else\ifx–¿ª[\next“%]ŽŽ¡‘ãŒÃ3098Ž‘ mÏ\DN@[##1]{\xy@{[##1]}{\OBJECT@shape{##1}}}%ŽŽ¡‘ãŒÃ3099Ž‘ûKÃÏ\else\ifx–¿ª^\next“\let\next@=\OBJECT@directionŽŽ¡‘ãŒÃ3100Ž‘ûKÃÏ\else\ifx–¿ª_\next“\let\next@=\OBJECT@directionŽŽ¡‘ãŒÃ3101Ž‘ûKÃÏ\else\ifx–¿ª:\next“\let\next@=\OBJECT@directionŽŽ¡‘ãŒÃ3102Ž‘ûKÃÏ\else\ifx‘¿ª?\nextŽŽ¡‘ãŒÃ3103Ž‘ mÏ\DN@–¿ª?{\xywarning@{\string?“modifier“used}\xyFN@\OBJECT@direction}%ŽŽ¡‘ãŒÃ3104Ž‘ûKÃÏ\else\ifx–¿ª(\next“%)ŽŽ¡‘ãŒÃ3105Ž‘ mÏ\let\next@=\OBJECT@directionŽŽ¡‘ãŒÃ3106Ž‘ûKÃÏ\else\addAT@\ifx\next‘¿ª\addAT@\DN@##1##{\OBJECT@@{\dir##1}}%ŽŽ¡‘ãŒÃ3107Ž‘ûKÃÏ\else‘¿ª\DN@##1##{\OBJECT@@{##1}}%ŽŽ¡‘ãŒÃ3108Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽŸ–‘ôŒ\OBJECT@@Ž‘,Z¹is–where“wš²!e“actually“build“the“bMÞo˜x“b˜y“ rst“Ãl.3126Ž‘†¹sa˜ving“the“previous“edge“in“case“it“isŽ¡‘ãŒneeded,‘³Ãthen‘}äÃl.3127Ž‘ßD¹setting–}äthe“defaults“(including“tempMÞorarily“resetting“Ï\xy@Ž‘úp¹to“execute“in“case“an²!yŽ¡‘ãŒÏ\xy@Ž‘úŠÁ¹s–(Éare“used“inš²!ternally),‘AéÃl.3132Ž‘N.¹building“the“ob‘›»ject“bMÞo˜x“(whic˜h“migh˜t“c˜hange“them)“using“Ï\objectboxŽ¡‘㌹if–æ˜no“other“command“spšMÞeci ed“and“setting“the“ÄD˜;–Ó1Uú';“L;“R‘ü@¹dimensions–æ˜ad“required“using“the“Ï\Leftness@ŽŽ¡‘㌹and‘UCÏ\Upness@Ž‘6§Ö¹methošMÞds,‘€úand–UC nally“Ãl.3136ޑ޹setting“up“the“ÄRŸ¤zÅpŽ‘Ç]Ä;‘Ó1UŸ¤zÅpŽ‘  ¹dimensions“(as“discussed“ab˜o•²!v“e)‘UCandŽ¡‘ãŒapplying–¦fthe“Çh¹mošMÞdi erÇi¹s“stored“in“Ï\toks@Ž‘)Êȹand“dumping“the“mo˜di ed“b˜o²!x.ަ‘ãŒÃ3123Ž‘õŒÏ\xydef@\prevEdge@@{\zeroEdge}ŽŽ¦‘ãŒÃ3125Ž‘õŒÏ\xydef@\OBJECT@@#1#2{%ŽŽ¡‘ãŒÃ3126Ž‘ûKÃÏ\expandafter\def\expandafter\prevEdge@@\expandafter{\the\Edge@c}ŽŽ¡‘ãŒÃ3127Ž‘ûKÃÏ\expandafter\Edge@c\expandafter{\objectEdge}ŽŽ¡‘ãŒÃ3128Ž‘ûKÃÏ\Invisible@false\Hidden@falseŽŽ¡‘ãŒÃ3129Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ3130Ž‘ûKÃÏ\gdef\preXY@style@{}\gdef\postXY@style@{}%ŽŽ¡‘ãŒÃ3131Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\relax}%ŽŽ¡‘ãŒÃ3132Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty‘¿ª\DNii@{#2}ŽŽ¡‘ãŒÃ3133Ž‘ mÏ\ifx\nextii@\empty–¿ª\DN@{\hbox\bgroup\no@}\else“\let\next@=\objectbox“\fi\fiŽŽ¡‘ãŒÃ3134Ž‘ûKÃÏ\setbox\z@=\next@{#2}\L@c=\Leftness@\wdz@–¿ª\R@c=\wdz@“\advance\R@c-\L@cŽŽ¡‘ãŒÃ3135Ž‘ûKÃÏ\D@c=\dp\z@–¿ª\advance\D@c\ht\z@“\U@c=\Upness@\D@c“\advance\D@c-\U@cŽŽ¡‘ãŒÃ3136Ž‘ûKÃÏ\R@p=\z@–¿ª\L@p=\L@c“\U@p=\U@c“\advance\U@p-\ht\z@“\D@p=-\U@pŽŽŽŽŒ‹0"• Á à ý*tj‘㌹48’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ3137Ž‘ûKÃÏ\the\toks@\toks@={}\setboxz@h{\kern\R@p‘¿ª\raise\U@p\boxz@}%ŽŽ¤ ™š‘ãŒÃ3138Ž‘ûKÃÏ\checkZeroEdge@ŽŽ¡‘ãŒÃ3139Ž‘ûKÃÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\wdz@=\dimen@“\ht\z@=\U@c“\dp\z@=\D@c“\boxz@ŽŽ¡‘ãŒÃ3140Ž‘ûKÃÏ\OBJECT@x}ŽŽ©Pˆ‘ãŒÃ3142Ž‘õŒÏ\xydef@\adjustLR@{%ŽŽ¡‘ãŒÃ3143Ž‘ûKÃÏ\ifdim\zz@\wdz@–¿ª\L@c=\z@“\R@c=\z@“\dimen@=\Leftness@\p@ŽŽ¡‘ãŒÃ3144Ž‘ mÏ\ifdim\dimen@<\z@–¿ª\L@c=\dimen@“\R@c=-\L@cŽŽ¡‘ãŒÃ3145Ž‘ mÏ\else\ifdim\dimen@>\p@–¿ª\L@c=\dimen@“\advance\L@c-\p@“\R@c=-\L@c“\fi\fiŽŽ¡‘ãŒÃ3146Ž‘ûKÃÏ\else–¿ª\L@c=\Leftness@\wdz@“\R@c=\wdz@“\advance\R@c-\L@c“\fi}ŽŽ¦‘ãŒÃ3148Ž‘õŒÏ\xydef@\adjustUD@{\dimen@=\ht\z@‘¿ª\advance\dimen@\dp\z@ŽŽ¡‘ãŒÃ3149Ž‘ûKÃÏ\ifdim\zz@\dimen@–¿ª\U@c=\z@“\D@c=\z@“\dimen@=\Upness@\p@ŽŽ¡‘ãŒÃ3150Ž‘ mÏ\ifdim\dimen@<\z@–¿ª\U@c=\dimen@“\D@c=-\L@cŽŽ¡‘ãŒÃ3151Ž‘ mÏ\else\ifdim\dimen@>\p@–¿ª\U@c=\dimen@“\advance\U@c-\p@“\D@c=-\L@c“\fi\fiŽŽ¡‘ãŒÃ3152Ž‘ûKÃÏ\else–¿ª\D@c=\dimen@“\U@c=\Upness@\dimen@“\advance\D@c-\U@c“\fi}ŽŽ¦‘ãŒÃ3154Ž‘õŒÏ\def\checkZeroEdge@{%ŽŽ¡‘ãŒÃ3155Ž‘ûKÃÏ\DN@{}%ŽŽ¡‘ãŒÃ3156Ž‘ûKÃÏ\ifdim\zz@\L@c–¿ª\ifdim\zz@\R@c“\ifdim\zz@\U@c“\ifdim\zz@\D@cŽŽ¡‘ãŒÃ3157Ž‘ËÏ\DN@{\Edge@c={\zeroEdge}}\fi\fi\fi\fiŽŽ¡‘ãŒÃ3158Ž‘ûKÃÏ\next@}ŽŽŸ$­‘ôŒ¹As–¦fan“optimisation“Ï\OBJECT@@Ž‘; ƹsets“the“edge“t²!ypMÞe“of“all“zero-sized“ob‘›»jects“to“Ï\zeroEdge¹.ŽŸm¿‘ôŒÏ\OBJECT@xŽ‘+€¹cleans–6óup“the“ob‘›»ject“bš²!y“ensuring“that“it“de nes“all“the“required“methoMÞds:‘¦$Essen˜tially“itŽ¡‘ãŒterminates–«the“bMÞo²!x“with“the“sequence“\Ï}Ž‘ÈU\def\Drop@@{Ž‘MÄM¹.–Ó3.“.“Ï}Ž‘ ›ˆ\def\Connect@@{Ž‘`Ö~¹.“.“.“Ï}Ž‘ ›ˆ\D@c=Ž‘'YÚ¹.“.“.‘ÛÞÏ\U@c=Ž‘!š0¹.“.“.Ž¡‘ãŒÏ\L@c=ŽJk¹.–Ó3.“.‘\ÃÏ\R@c=Ž‘"¹.“.“.‘ mÏ\Invisible@Ž‘JX»¹.“.“.“Ï\Hidden@Ž‘/Ѓ¹.“.“.‘\ÃÏ\def\Leftness@{Ž‘[—¹¹.“.“.“Ï}Ž‘ m\def\Upness@{Ž‘Uع.“.“.“Ï}Ž‘’ݹ"‘‰whereŽ¡‘ãŒeac²!h›ˆã.–Ó3.“.‘\is˜set˜to˜the˜methoMÞd˜de ned˜within˜the˜ob‘›»ject˜creation˜en•²!vironmen“t˜(started˜with˜Ï\hbox{Ž‘)¹inŽ¡‘ãŒÏ\OBJECT@@Ž‘Óª¹or–Š—pMÞossibly“elsewhere).‘Ô˜W‘ÿee“use“rather“heaš²!vy“expansion“hac˜king“with“Ï\toks@Ž‘)“*¹to“create“theŽ¡‘ãŒsequence–¦fso“please“loMÞok“the“other“w•²!a“y.–Ó3.“.“Ç Ž‘@ÂŽ‘ Å^ŽŽŽŽ¦‘ãŒÃ3176Ž‘õŒÏ\xydef@\OBJECT@x{\toks@={\egroup\def\Drop@@}%ŽŽ¡‘ãŒÃ3177Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}\def\Connect@@}%ŽŽ¡‘ãŒÃ3178Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\Connect@@}}%ŽŽ¡‘ãŒÃ3179Ž‘ûKÃÏ\edef\tmp@{\D@c=\the\D@c–¿ª\U@c=\the\U@c“\L@c=\the\L@c“\R@c=\the\R@cŽŽ¡‘ãŒÃ3180Ž‘ mÏ\Edge@c={\expandafter\noexpand\the\Edge@c}%ŽŽ¡‘ãŒÃ3181Ž‘ mÏ\ifInvisible@\noexpand\Invisible@true\else\noexpand\Invisible@false\fiŽŽ¡‘ãŒÃ3182Ž‘ mÏ\ifHidden@\noexpand\Hidden@true\else\noexpand\Hidden@false\fiŽŽ¡‘ãŒÃ3183Ž‘ mÏ\def\noexpand\Leftness@{\Leftness@}\def\noexpand\Upness@{\Upness@}}%ŽŽ¡‘ãŒÃ3184Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\tmp@}\the\toks@}ŽŽŸ&__‘ãŒÔMethoY‹ds:‘ ó5¹In–›Iaddition“to“the“\currenš²!t“ob‘›»ject“propMÞerties"“for“Äc“¹(Ðcf¹.“1.2.5)“the“follo˜wing“methoMÞds“areŽ¡‘ãŒset–¦fup“b²!y“all“ob‘›»jects:ŽŸm¿‘㌟ âÖ‰ffã²dŸ{‘ŒØÏ\Invisible@trueŽ‘nn4¹or‘¦fÏ\Invisible@falseŽŽ’ÝLZ¹whether–¦fob‘›»ject“is“in²!visibleŸü¾²1.4iŽŽŽŽŽŸÿ†‘ŒØÏ\Hidden@trueŽ‘]/6¹or‘¦fÏ\Hidden@falseŽŽ’ÝLZ¹whether–¦fob‘›»ject“is“hiddenŸü¾²1.4hŽŽŽŽŽ¡‘ŒØÏ\def\Leftness@{Ž‘jÇÎÇh¹factorÇiÏ}ŽŽ’ÝLZ¹the–¦fdesired“ÄL=¹(ÄL–nì¹+“ÄR¨¹)ŽŽŽŽ¡‘ŒØÏ\def\Upness@{Ž‘_HzÇh¹factorÇiÏ}ŽŽ’ÝLZ¹the–¦fdesired“ÄU‘•ã=¹(ÄD‘¼Ê¹+‘nìÄU‘1Ÿ¹)ŽŽŽŽ¡‘ŒØÏ\def\Drop@@{Ž‘YˆÐ¹.–Ó3.“.“Ï}ŽŽ’ÝLZ¹coMÞde–F¡that“outputs“the“ob‘›»ject,‘n¯assuming“Ï\boxz@Ž‘+ >¹isŽ¡’ÝLZof–Ì zero“size“and“has“the“ob‘›»ject“displaced“Ï<Ž‘ ‹³ÄX‘ÛøÏ,Ž‘›¢ÄY‘nïÏ>ŽŽ¡’ÝLZ¹inside|usually–¦fjust“Ï\defŽ‘¥¹'d“to“Ï\styledboxz@ŽŽŽŽŽŽŽŒ‹10¹ Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹49ŽŽ ¶?? ýh«w‘øñÏ\def\Connect@@{Ž‘NSç¹.–Ó3.“.“Ï}ŽŽ’ÀØs¹coMÞde–Øuthat“builds“a“connection“from“Äp“¹to“Äc¹,‘¥assumingŽŸ ™š’ÀØsÏ\lastŽ’Ý–ÅobjectŽ’Ábox@Ž’¹Ï¹con²!tains–¦fthe“ob‘›»jectŽŽŽŽ‘㌟yt‰ffã²dŸ © ¤‘It–<\is“impMÞortan²!t“to“Ï\defŽ›w`¹and“not“Ï\letŽ˜¹the“last“four“methoMÞds“since“the“T‘þ,³Ÿ[wEŽ‘B Xnique“used“in“Ï\OBJECT@xŽŽ¤ ™š¹(and–óSelsewhere)“of“passing“them“to“surrounding“scopšMÞes“dep˜ends“on“it.‘¢,The“Ï\Connect@@Ž‘?cJ¹metho˜d“shouldŽ¡in–¦fturn“setup“sev²!eral“submethošMÞds“as“describ˜ed“in“detail“in“1.8.3.ަ‘Suitable–Ü¡defaults“are“set“up“bš²!y“Ï\OBJECT@@Ž‘;v<¹abMÞo˜v˜e“whic˜h“is“wh˜y“an˜y“bMÞo˜x“generating“command“canŽ¡bšMÞe–¦fused“to“construct“ob‘›»jects“as“explained“in“note“1.4a“b˜elo²!w.ަ‘Here–¦fare“the“declarations:Ž©PˆÃ3219Ž‘Ï\xynew@{if}\ifInvisible@ŽŽ¡Ã3220Ž‘Ï\xynew@{if}\ifHidden@ŽŽ¦Ã3222Ž‘Ï\xydef@\Leftness@{}ŽŽ¡Ã3223Ž‘Ï\xydef@\Upness@{}ŽŽ¦Ã3225Ž‘Ï\xydef@\Drop@@{\styledboxz@}ŽŽ¡Ã3226Ž‘Ï\xydef@\Connect@@{}ŽŽŸ!ß-ÔNotesŽŸÀq¹1.4a.ŽŽ‘‚$An–¦fÇh¹ob‘›»jectÇi“¹is“built“using“Ï\objectŽ‘+ä boxŽ‘@Ép{Ž‘F‰Çh¹textÇiÏ}Ž‘¿ª¹.‘ÝÝÏ\objectŽ‘-ƒboxŽ‘Bç¹is“initially“de ned“asަ‘Ï\def\objectbox#1{%ŽŽ¡‘¿ª\hbox{$\objectstyle{#1}$}}ŽŽ¡‘\let\objectstyle=\displaystyleŽŽŸå“‘¹but–Ô,maš²!y“bMÞe“rede ned“b˜y“options“or“the“user.‘g.The“Çh¹textÇi“¹should“th˜us“bšMÞe“in“the“mo˜de“required“b²!yŽ¡‘the–¥Ï\objectbox“¹command|with“the“default“Ï\objectboxŽ‘?î¹shoš²!wn“abMÞo˜v˜e“it“should“bšMÞe“in“math“mo˜de.ŽŸ.¥‘Actually–¦fit“isަÃ3253Ž‘Ï\xydef@\objectbox#1{\hbox{$\m@th\objectstyle{#1}$}}ŽŽ¦Ã3255Ž‘Ï\xylet@\objectstyle=\textstyleŽŽŸzž¹1.4b.ŽŽ‘àAn–íàÇh¹ob‘›»jectÇi“¹built“from“a“T‘þ,³Ÿ[wEŽ‘B X“bMÞoš²!x“with“dimensions“Äw‘”«Ç–I=¹(Äh“¹+“Äd¹)–íàwill“ha˜v˜e“ÄLŸ¤zÅcŽ– Zé¹=›,pÄRŸ¤zÅcŽ“¹=˜ÄwKn=¹2,Ž¡‘ÄUŸ¤zÅcŽ– ™w¹=›jþÄDŸ¤zÅcŽ“¹=˜(Äh–bB¹+“Äd¹)Ä=¹2,‘n¨th²!us–hinitially“bšMÞe“equipp˜ed“with“the“adjustmen²!t“Ï!CŽ‘¦$¹(see“note“1.4f).‘ $äInŽ¡‘particular:‘œâin–éorder“to“get“the“reference“pMÞoinš²!t“on“the“(cen˜ter“of‘Ú)“the“base“line“of“the“originalŽ¡‘Çh¹T‘þ,³Ÿ[wEŽ‘B X– ”bMÞoš²!xÇi“¹then“y˜ou“should“use“the“Çh¹mošMÞdi erÇi“Ï!Ž‘ à>¹;‘]«to“get“the“reference“p˜oinš²!t“iden˜tical“to“the“T‘þ,³Ÿ[wEŽ‘B XŽ¡‘reference–¦fpšMÞoin²!t“use“the“mo˜di er“Ï!!LŽ‘åd¹.Ž©.¥‘T‘þ,³Ÿ[wEŽ‘B Xnical–…ˆremark:‘ÍnAnš²!y“macro“that“expands“to“something“that“starts“with“a“Çh¹bMÞo˜xÇi“¹ma˜y“bMÞe“used“asŽ¡‘a–¦fÇh¹T‘þ,³Ÿ[wEŽ‘B X“bMÞo²!xÇi“¹here.ަ‘This–¦fis“done“bš²!y“the“parsing“abMÞo˜v˜e.ŽŸð1.4c.ŽŽ‘æhT‘ÿeakš²!es–¯@an“ob‘›»ject“and“constructs“it,‘à®building“a“bMÞo˜x;‘¢it“is“then“proMÞcessed“according“to“the“preceedingŽ¡‘mošMÞdi ers.‘wÇThis–t"form“mak²!es“it“p˜ossible“to“use“an²!y“Çh¹ob‘›»jectÇi“¹as“a“T‘þ,³Ÿ[wEŽ‘B X“b˜oš²!x“(ev˜en“outside“of‘[ÌX‘ü·ŸâÃYŽŽ‘ Û,-pictures)Ž¡‘bšMÞecause–¦fa“ nished“ob‘›»ject“is“alw•²!a“ys–¦falso“a“b˜o²!x.ަ‘This–Ùõmacro“is“the“main“enš²!try“pMÞoin˜t“to“the“Çh¹ob‘›»jectÇi“¹parser.‘x‹It“furthermore“initialises“the“moMÞdi erŽ¡‘list–¦fand“the“previous“ob‘›»ject“edge.Ž©PˆÃ3291Ž‘Ï%\xydef@\object{\hbox\bgroup\object@}ŽŽ¡Ã3292Ž‘Ï\xydef@\object{\hbox\bgroup\resetStyle@\object@}ŽŽ¦Ã3294Ž‘Ï\xydef@\object@{%ŽŽŽŽŒ‹2@@ Á à ý*tj‘㌹50’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ3295Ž‘ûKÃÏ\edef\next@{={\DirectionfromtheDirection@}}\expandafter\toks@\next@ŽŽ¤ ™š‘ãŒÃ3296Ž‘õŒÏ%–¿ª\resetStyle@\plainxy@“\xyFN@\OBJECT@}ŽŽ¡‘ãŒÃ3297Ž‘ûKÃÏ\plainxy@‘¿ª\xyFN@\OBJECT@}ŽŽŸðu‘õŒ¹The–¦finitial“v‘ÿdDalue“of“Ï\toks@Ž‘)ÊÈÇh¹mošMÞdi erÇi“¹list“is“explained“in“note“1.4l“b˜elo²!w.ŽŸÙt‘ãŒ1.4d.ŽŽ‘©ùSevš²!eral–ÂÇh¹ob‘›»jectÇi¹s“can“bMÞe“com˜bined“in˜to“a“single“ob‘›»ject“using“the“spMÞecial“command“Ï\compositeŽ¡‘õŒ¹with–ð·a“list“of“the“desired“ob‘›»jects“separated“with“Ï*Ž‘ °a¹s“as“the“argumenš²!t.‘¼ÏThe“resulting“bMÞo˜x“(andŽ¡‘õŒob››»ject)–¦fis“the“least“rectangle“enclosing“all“the“included“ob˜jects.ŽŸ9‡‘õŒFirst–RJwš²!e“collect“all“the“ob‘›»jects“smash“on“top“of“eac˜h“other“in“bMÞo˜x0“while“w˜e“main˜tain“the“maximalŽ¡‘õŒextenš²!ts–Œin“(ÄDMÞU‘1ŸLR¨¹)Ÿ¤zÅpŽ‘Ç]¹.‘ÕThen“w˜e“reset“bMÞo˜x0“to“con˜tain“the“same“but“with“the“righ˜t“spacing“around.ޤPˆ‘ãŒÃ3319Ž‘õŒÏ\xydef@\composite#1#{\hbox\bgroup\composite@{#1}}ŽŽ¡‘ãŒÃ3321Ž‘õŒÏ\xydef@\composite@#1#2{%ŽŽ¤ ™š‘ãŒÃ3322Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\else\xywarning@{no–¿ªvariants“ofŽŽ¡‘ãŒÃ3323Ž‘#‰iÏ\string\composite\space‘¿ªallowed}\fiŽŽ¡‘ãŒÃ3324Ž‘ûKÃÏ\global\setbox9=\hbox\bgroupŽŽ¡‘ãŒÃ3325Ž‘ mÏ\D@p=-\maxdimen–¿ª\U@p=-\maxdimen“\L@p=-\maxdimen“\R@p=-\maxdimenŽŽ¡‘ãŒÃ3326Ž‘ mÏ\xyFN@\composite@i#2@}ŽŽ©Pˆ‘ãŒÃ3328Ž‘õŒÏ\xydef@\composite@i{%ŽŽ¡‘ãŒÃ3329Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\composite@i}%gobble“spacesŽŽ¡‘ãŒÃ3330Ž‘ûKÃÏ\else\ifx–¿ª*\next“\DN@“*{\xyFN@\composite@i}%ŽŽ¡‘ãŒÃ3331Ž‘ûKÃÏ\else\ifx–¿ª@\next“\DN@“@{\composite@x}%ŽŽ¡‘ãŒÃ3332Ž‘ mÏ\xyerror@{–¿ªobject“expected}{}\czeroEdge@ŽŽ¡‘ãŒÃ3333Ž‘ûKÃÏ\else–¿ª\DN@{\composite@ii}\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ3335Ž‘õŒÏ\xydef@\composite@ii#1#{\composite@iii{#1}}ŽŽ¦‘ãŒÃ3337Ž‘õŒÏ\xydef@\composite@iii#1#2{%ŽŽ¡‘ãŒÃ3338Ž‘ûKÃÏ\setbox\z@=\object#1{#2}%ŽŽ¡‘ãŒÃ3339Ž‘ûKÃÏ\ifInvisible@‘¿ª\setboxz@h{}\elseŽŽ¡‘ãŒÃ3340Ž‘ mÏ\setboxz@h{\kern-\L@c–¿ª\boxz@}\ht\z@=\z@“\dp\z@=\z@“\wd\z@=\z@“{\Drop@@}\fiŽŽ¡‘ãŒÃ3341Ž‘ûKÃÏ\ifHidden@\elseŽŽ¡‘ãŒÃ3342Ž‘ mÏ\ifdim\U@p<\U@c–¿ª\U@p=\U@c“\fi“\ifdim\D@p<\D@c“\D@p=\D@c“\fiŽŽ¡‘ãŒÃ3343Ž‘ mÏ\ifdim\R@p<\R@c–¿ª\R@p=\R@c“\fi“\ifdim\L@p<\L@c“\L@p=\L@c“\fiŽŽ¡‘ãŒÃ3344Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ3345Ž‘ûKÃÏ\xyFN@\composite@iv}ŽŽ¦‘ãŒÃ3347Ž‘õŒÏ\xydef@\composite@iv{%ŽŽ¡‘ãŒÃ3348Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\composite@iv}%gobble“spacesŽŽ¡‘ãŒÃ3349Ž‘ûKÃÏ\else–¿ª\ifx“@\next“\DN@“@{\composite@x}%ŽŽ¡‘ãŒÃ3350Ž‘ûKÃÏ\else–¿ª\let\next@=\composite@i“\fi\fi“\next@}ŽŽ¦‘ãŒÃ3352Ž‘õŒÏ\xydef@\composite@x{%ŽŽ¡‘ãŒÃ3353Ž‘ûKÃÏ\edef\tmp@{\egroupŽŽ¡‘ãŒÃ3354Ž‘ mÏ\D@c=\the\D@p–¿ª\U@c=\the\U@p“\L@c=\the\L@p“\R@c=\the\R@p}\tmp@ŽŽ¡‘ãŒÃ3355Ž‘ûKÃÏ\setboxz@h{\kern\L@c\box9}\ht\z@=\U@c‘¿ª\dp\z@=\D@cŽŽ¡‘ãŒÃ3356Ž‘ûKÃÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\wdz@=\dimen@ŽŽ¡‘ãŒÃ3357Ž‘ûKÃÏ\Edge@c={\rectangleEdge}\computeLeftUpness@‘¿ª\boxz@ŽŽ¡‘ãŒÃ3358Ž‘ûKÃÏ\OBJECT@x}ŽŽ¦‘ãŒÃ3360Ž‘õŒÏ\xydef@\computeLeftUpness@{%ŽŽ¡‘ãŒÃ3361Ž‘ûKÃÏ\dimen@=\L@c‘¿ª\advance\dimen@\R@cŽŽŽŽŒ‹3M³ Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹51ŽŽ ¶?? ýh«w‘ãŒÃ3362Ž‘ûKÃÏ\ifdim\zz@\dimen@‘¿ª\def\Connect@@{\straight@{\dottedSpread@\jot}}%ŽŽ¤ ™š‘ãŒÃ3363Ž‘ mÏ\ifdim\zz@\L@c\elseŽŽ¡‘ãŒÃ3364Ž‘ËÏ\DN@{\zeroEdge}\expandafter\DNii@\expandafter{\the\Edge@c}%ŽŽ¡‘ãŒÃ3365Ž‘ËÏ\ifx\next@\nextii@\Edge@c={\rectangleEdge}\fi\fiŽŽ¡‘ãŒÃ3366Ž‘ûKÃÏ\else–¿ª\quotient@\Leftness@\L@c\dimen@“\fiŽŽ¡‘ãŒÃ3367Ž‘ûKÃÏ\dimen@=\U@c‘¿ª\advance\dimen@\D@cŽŽ¡‘ãŒÃ3368Ž‘ûKÃÏ\ifdim\zz@\dimen@‘¿ª\def\Connect@@{\straight@{\dottedSpread@\jot}}%ŽŽ¡‘ãŒÃ3369Ž‘ mÏ\ifdim\zz@\U@c\elseŽŽ¡‘ãŒÃ3370Ž‘ËÏ\DN@{\zeroEdge}\expandafter\DNii@\expandafter{\the\Edge@c}%ŽŽ¡‘ãŒÃ3371Ž‘ËÏ\ifx\next@\nextii@\Edge@c={\rectangleEdge}\fi\fiŽŽ¡‘ãŒÃ3372Ž‘ûKÃÏ\else–¿ª\quotient@\Upness@\U@c\dimen@“\fi}ŽŽ©Ü‘㌹1.4e.ŽŽ‘ÿrT‘ÿeakš²!e–Ùean“en˜tire‘ÁX‘ü·ŸâÃYŽŽ‘@o-picture“and“wrap“it“up“as“a“bMÞo˜x“as“describMÞed“in“Çx¹1.2.1.‘vÚMak˜es“nesting“ofŽ¡‘ôsÃX‘ü·ŸâÃYŽŽó#-pictures– pšMÞossible:‘š±the“inner“picture“will“ha•²!v“e– its“o²!wn“zero“p˜oinš²!t“whic˜h“will“bšMÞe“its“reference“p˜oin²!tŽ¡‘õŒÐin‘}q¹the–¦fouter“picture“when“it“is“placed“there.ŽŸße‘õŒThis–¦fis“simple“exploiting“the“fact“that“Ï\endxyŽ‘)Êȹactually“sets“up“the“exten²!ts“of“the“`ob‘›»ject':ŽŸPˆ‘ãŒÃ3390Ž‘õŒÏ\xydef@\xybox#1{\xy#1\endxy‘¿ª\Edge@c={\rectangleEdge}\computeLeftUpness@}ŽŽ¦‘㌹1.4f.ŽŽ‘ýí,An–£Øob‘›»ject“is“Ðshifte‘ÿp¹d‘Å‚¹a“Çh¹vš²!ectorÇi“¹b˜y“mo˜ving“the“pMÞoin˜t“inside“it“whic˜h“will“bMÞe“used“as“the“referenceŽ¡‘õŒpMÞoin•²!t.‘ÝÝThis›¦fe ectiv“ely˜pushes˜the˜ob‘›»ject˜the˜same˜amoun“t˜in˜the˜oppMÞosite˜direction.ŽŸße‘õŒShifting–Ðuses“the“spMÞecial“v‘ÿdDalue“of“ÄRŸ¤zÅpŽ›—a¹and“ÄUŸ¤zÅpŽ˜¹used“while“ev‘ÿdDalutaing“the“Çh¹moMÞdi erÇi¹s.‘Z¶The“fact“thatŽ¡‘õŒshifts–P!likš²!e“Ï!CŽ‘–¹refer“to“the“initial“ob‘›»ject's“size“means“that“w˜e“should“parse“the“Çh¹v˜ectorÇi“¹suc˜h“that“itsŽ¡‘õŒactions–¦fhappšMÞen“at“mo˜di cation“time.–Ó3.“.“hence‘¦fÏ\xytotoks@Ž‘@Ép¹is–¦fused“to“dela²!y“execution.Ž©Pˆ‘ãŒÃ3410Ž‘õŒÏ\xydef@\OBJECT@shift{%ŽŽ¡‘ãŒÃ3411Ž‘ûKÃÏ\let\xy@=\xytotoks@‘¿ª\afterVECTORorEMPTYŽŽ¡‘ãŒÃ3412Ž‘ mÏ{\OBJECT@shift@}%ŽŽ¡‘ãŒÃ3413Ž‘ mÏ{\addtotoks@{\X@c=-\L@c–¿ª\advance\X@c\R@p“\advance\X@c\L@p“\Y@c=\U@p}%ŽŽ¡‘ãŒÃ3414Ž‘ËÏ\OBJECT@shift@}}ŽŽ¦‘ãŒÃ3416Ž‘õŒÏ\xydef@\OBJECT@shift@{%ŽŽ¡‘ãŒÃ3417Ž‘ûKÃÏ\addtotoks@{\advance\U@p-\Y@cŽŽ¡‘ãŒÃ3418Ž‘ mÏ\advance\L@c\X@c–¿ª\advance\R@c-\X@c“\advance\D@c\Y@c“\advance\U@c-\Y@cŽŽ¡‘ãŒÃ3419Ž‘ mÏ\computeLeftUpness@}%ŽŽ¡‘ãŒÃ3420Ž‘ûKÃÏ\let\xy@=\oxy@‘¿ª\xyFN@\OBJECT@}ŽŽŸ,‘õŒÔExercise‘21.10:‘ ó5¹What–¦fis“the“di erence“bšMÞet•²!w“een–¦fthe“Çh¹p˜osÇi¹itions“Ï0*{a}!DRŽ‘5J¹and“Ï0*!DR{a}Ž‘1£¶¹?ŽŸ%0‘ãŒ1.4g.ŽŽ=A‘Çh¹sizeÇi–>¹is“a“pair“Ï<Ž‘ OèÄW‘…VÏ,Ž‘EÄH‘ãÁÏ>Ž‘ 3©¹of“the“width“and“heighš²!t“of“a“rectangle.‘›eWhen“giv˜en“as“a“Çh¹v˜ectorÇiŽ¡‘õŒ¹these–æºare“just“the“vš²!ector“coMÞordinates,–öÎÐi¹.Ðe¹.,“the–æºÇh¹v˜ectorÇi“¹starts“in“the“lo˜w˜er“left“corner“and“ends“inŽ¡‘õŒthe–’›uppšMÞer“righ²!t“corner.‘×DThe“p˜ossible“Çh¹add“opÇi¹erations“that“can“b˜e“p˜erformed“are“describ˜ed“in“theŽ¡‘õŒfollo²!wing‘¦ftable.ŽŸ1ìñ’–ŸÔC6‰ffŽr¤ …ÌÍŸ}„ ™™ff‘ÌÍŸûëƒÇh¹add‘¦fopÇiŽ‘2÷|„ ™™ffŽ‘8]â¹descriptionŽ’[?Ÿ}„ ™™ffŽŽ©zã‰ffŽr¡ÌÍŸ}„ ™™ff‘›éŸûëƒÏ+Ž‘2÷|„ ™™ffŽ‘8]â¹gro²!wŽ’[?Ÿ}„ ™™ffŽŽ¤ ™™ÌÍŸ}„ ™™ff‘›éŸûëƒÏ-Ž‘2÷|„ ™™ffŽ‘8]â¹shrinkŽ’[?Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘›éŸûëƒÏ=Ž‘2÷|„ ™™ffŽ‘8]â¹set‘¦ftoŽ’[?Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘¼ŸûëƒÏ+=Ž‘2÷|„ ™™ffŽ‘8]â¹gro²!w–¦fto“at“leastŽ’[?Ÿ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘¼ŸûëƒÏ-=Ž‘2÷|„ ™™ffŽ‘8]â¹shrink–¦fto“at“mostŽ’[?Ÿ}„ ™™ffŽŽ¦‰ffŽrŽŽŽŽŒ‹4Zr Á à ý*tj‘㌹52’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒ¹In–¡Ïeacš²!h“case“the“Çh¹v˜ectorÇi“¹ma˜y“bMÞe“omitted“whic˜h“in˜v˜ok˜es“the“\default“size"“for“the“particular“Çh¹addޤ ™š‘õŒopÇi¹:ŽŸ1÷ ‘|…IŸÔC6‰ffÃÀ¤ …ÌÍŸ}„ ™™ff‘ÌÍŸûëƒÇh¹add‘¦fopÇiŽ‘2÷|„ ™™ffŽ‘8]â¹defaultŽ’ÃŒÑŸ}„ ™™ffŽŽ©zã‰ffÃÀ¡ÌÍŸ}„ ™™ff‘›éŸûëƒÏ+Ž‘2÷|„ ™™ffŽ‘8]â+<Ž‘CÝ6¹2–nìÇ“Ðobje–ÿp¹ctmar“ginŽŽ‘?“±Ï>Ž‘oBÏŸ}„ ™™ffŽŽ¤ ™™ÌÍŸ}„ ™™ff‘›éŸûëƒ-Ž‘2÷|„ ™™ffŽ‘8]â-<Ž‘CÝ6¹2–nìÇ“Ðobje–ÿp¹ctmar“ginŽŽ‘?“±Ï>Ž‘oBÏŸ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘›éŸûëƒ=Ž‘2÷|„ ™™ffŽ‘8]â=<Ž‘CÝ6Ðobje‘ÿp¹ctwidthŽŽ‘yOøÏ,Ž‘¢Ðobje‘ÿp¹ctheightŽŽ’· Ï>Ž’ÃŒÑŸ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘¼Ÿûëƒ+=Ž‘2÷|„ ™™ffŽ‘8]â+=<Ž‘Kp¹maxŽ‘_Ñ%(ÄLŸ¤zÅcŽ–e¹+›nìÄRŸ¤zÅcŽ‘.yÄ;‘Ó1DŸ¤zÅcŽ“¹+˜ÄUŸ¤zÅcŽ‘.y¹)Ï>Ž‘ ŒwŸ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘¼Ÿûëƒ-=Ž‘2÷|„ ™™ffŽ‘8]â-=<Ž‘Kp¹minŽ‘]°(ÄLŸ¤zÅcŽ–e¹+›nìÄRŸ¤zÅcŽ‘.yÄ;‘Ó1DŸ¤zÅcŽ“¹+˜ÄUŸ¤zÅcŽ‘.y¹)Ï>Ž‘ ­‰Ÿ}„ ™™ffŽŽ¦‰ffÃÀŽŽŸ85,‘õŒ¹The–¦fdefaults“for“the“ rst“three“are“set“with“the“commandsŽŸ ~ ‘õŒ„ffѲdŽŸ 7¨’ˆ»Ï\objectmargin–¦fÇh¹add“opÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽ¡’ˆ»\objectwidth–¦fÇh¹add“opÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽ¡’ˆ»\objectheight–¦fÇh¹add“opÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽŸ-o‘õŒ„ffѲdŽŸN ‘õŒ¹where–¦fÇh¹add“opÇi“¹is“inš²!terpreted“in“the“same“w˜a˜y“as“abMÞo˜v˜e.Ž©Pˆ‘ãŒÃ3484Ž‘õŒÏ\xylet@\objectmargin@=\jotŽŽ¡‘ãŒÃ3485Ž‘õŒÏ\xylet@\objectwidth@=\z@ŽŽ¡‘ãŒÃ3486Ž‘õŒÏ\xylet@\objectheight@=\z@ŽŽ¦‘ãŒÃ3488Ž‘õŒÏ\xydef@\objectmargin{\afterADDOP{\Addop@@\objectmargin@}}ŽŽ¡‘ãŒÃ3489Ž‘õŒÏ\xydef@\objectwidth{\afterADDOP{\Addop@@\objectwidth@}}ŽŽ¡‘ãŒÃ3490Ž‘õŒÏ\xydef@\objectheight{\afterADDOP{\Addop@@\objectheight@}}ŽŽŸ5 ‘õŒ¹The–Ødefaults“for“Ï+=Ž–”,¹/Ï-=Ž“¹are–Øsucš²!h“that“the“resulting“ob‘›»ject“will“bMÞe“the“smallest“con˜taining/largestŽ¡‘õŒcon²!tained‘¦fsquare.ŽŸ&ý‘õŒÔExercise‘A{1.11:‘ ó5¹Hoš²!w–ÔÆare“the“ob‘›»jects“t˜ypMÞeset“b˜y“the“Çh¹pMÞosÇi¹itions“\Ï*+UR{\sum}Ž›9|¤¹"“and“\Ï*+DL{\sum}Ž˜¹"Ž¡‘õŒenlarged?Ž©~²‘õŒÔBug:‘¦ ¹Curren•²!tly›6Àc“hanging˜the˜size˜of˜a˜circular˜ob‘›»ject˜is˜buggy|it˜is˜c“hanged˜as˜if˜it˜is˜a˜rectangleŽ¡‘õŒand–hÖthen“the“cš²!hange“to“the“ÄR‘~~¹parameter“a ects“the“circle.‘%-This“should“bMÞe“ xed“probably“b˜y“aŽ¡‘õŒgeneralisation–¦fof“the“ÏoŽ‘ v¹shapšMÞe“to“b˜e“oš²!v‘ÿdDals“or“ellipses“with“horizon˜tal/v˜ertical“axes.ަ‘õŒThe–nïthree“cases“distinguished“bš²!y“the“parsing“abMÞo˜v˜e“are“handled“similarly:‘B"they“insert“the“parsed/defaultŽ¡‘õŒv•²!ector›9Èin“to˜ÄX@<;‘Ó1Y‘¨·¹in˜the˜mo•MÞdi cations˜and˜then˜p“erform˜the˜op“eration˜at˜that˜time˜using˜theŽ¡‘õŒÏ\xytotoks@Ž‘2¯#¹tric²!k–¦fdescribMÞed“in“note“1.4f:Ž©Pˆ‘ãŒÃ3522Ž‘õŒÏ\xydef@\OBJECT@change{%ŽŽ¡‘ãŒÃ3523Ž‘ûKÃÏ\afterADDOP{%ŽŽ¡‘ãŒÃ3524Ž‘ mÏ\addEQ@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ3525Ž‘ËÏ\addtotoks@{\X@c=\D@c–¿ª\advance\X@c\U@c“\Y@c=\L@c“\advance\Y@c\R@c}%ŽŽ¡‘ãŒÃ3526Ž‘ mÏ\elseŽŽ¡‘ãŒÃ3527Ž‘ËÏ\addtotoks@{\X@c=\objectmargin@–¿ª\advance\X@c\X@c“\Y@c=\X@c}%ŽŽ¡‘ãŒÃ3528Ž‘ mÏ\fiŽŽ¡‘ãŒÃ3529Ž‘ mÏ\let\xy@=\xytotoks@ŽŽ¡‘ãŒÃ3530Ž‘ mÏ\afterVECTORorEMPTY\OBJECT@change@\OBJECT@change@}}ŽŽ¦‘ãŒÃ3532Ž‘õŒÏ\xydef@\OBJECT@set{%ŽŽ¡‘ãŒÃ3533Ž‘ûKÃÏ\afterADDOP{%ŽŽ¡‘ãŒÃ3534Ž‘ mÏ\let\xy@=\xytotoks@‘¿ª\afterVECTORorEMPTY\OBJECT@change@ŽŽ¡‘ãŒÃ3535Ž‘ËÏ{\addtotoks@{\X@c=\objectwidth@‘¿ª\Y@c=\objectheight@}\OBJECT@change@}}}ŽŽŽŽŒ‹5ic Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹53ŽŽ ¶?? ýh«w‘õŒThe–/Çreal“wš²!ork“is“done“b˜y“the“follo˜wing“command:‘ðža“hac˜k“using“expansion“tric˜ks“to“mak˜e“use“ofޤ ™š‘õŒthe‘¦fÏ\Addop@@Ž‘5J¹kno•²!wn›¦fno“w˜on˜the˜v‘ÿdDalues˜in˜ÄX@<;‘Ó1Y‘U¹at˜moMÞdi cation˜time.ŽŸPˆ‘ãŒÃ3543Ž‘õŒÏ\xydef@\OBJECT@change@{%ŽŽ¡‘ãŒÃ3544Ž‘ûKÃÏ\addtotoks@{\advance\R@c\L@c–¿ª\advance\R@p-\L@c“\let\tmp@=\R@c}%ŽŽ¡‘ãŒÃ3545Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\Addop@@\tmp@\X@c\R@c=\tmp@ŽŽ¡‘ãŒÃ3546Ž‘ mÏ\L@c=\Leftness@\R@c–¿ª\advance\R@p\L@c“\advance\R@c-\L@c}%ŽŽ¡‘ãŒÃ3547Ž‘ûKÃÏ\addtotoks@{\advance\D@c\U@c‘¿ª\let\tmp@=\D@c}%ŽŽ¡‘ãŒÃ3548Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\Addop@@\tmp@\Y@c\D@c=\tmp@ŽŽ¡‘ãŒÃ3549Ž‘ mÏ\U@c=\Upness@\D@c‘¿ª\advance\D@c-\U@c}%ŽŽ¡‘ãŒÃ3550Ž‘ûKÃÏ\let\xy@=\oxy@‘¿ª\xyFN@\OBJECT@}ŽŽŸuù‘õŒ¹It–gãis“clearly“crucial“that“Ï\Addop@@Ž‘6͹expands“to“its“action“immediately!‘"UAlso“note“that“enlargingŽ¡‘õŒcš²!hanges–¦fthe“initial“bMÞo˜x“o set“in“the“horizon˜tal“direction“only‘ÿe,“Ði¹.Ðe¹.,“ÄRŸ¤zÅpŽ‘Ç]¹.Ž©¿ ‘õŒFinally–êþthe“cošMÞde“to“in²!terpret“an“Çh¹add“opÇi“¹used“ab˜o•²!v“e:‘g This–êþsimply“parses“it“and“creates“a“macroŽ¡‘õŒÏ\Addop@@Ž‘(žÜ¹that–stakš²!es“a“con˜trol“sequence“and“a“parameter“Çh¹dimenÇi“¹as“argumen˜ts,‘q6and“expandsŽ¡‘õŒdirectly–¦fto“commands“that“pMÞerform“the“Çh¹add“opÇi“¹of“the“Çh¹dimenÇi“¹on“the“con²!trol“sequence:ŽŸL>Ÿ’†~%ŸÃܼ‰ff¯ÎL¤ …ÌÍŸ}„ ™™ff‘ÌÍŸûëƒÇh¹add‘¦fopÇiŽ‘2÷|„ ™™ffŽ‘8]â¹e ect–¦fof“Ï\Addop@@Ž‘5JÐcs‘Œ~ÄDŽ’¯›Ÿ}„ ™™ffŽŽŸzã‰ff¯ÎL¡ÌÍŸ}„ ™™ff‘›éŸûëƒÏ+Ž‘2÷|„ ™™ffŽ‘8]âÐcsŽŽ‘EÒHÇ ‘ §ÐcsŽŽ‘ãR¹+‘nìÄD‘:îGŸ}„ ™™ffŽŽ¤ ™™ÌÍŸ}„ ™™ff‘›éŸûëƒÏ-Ž‘2÷|„ ™™ffŽ‘8]âÐcsŽŽ‘EÒHÇ ‘ §ÐcsŽŽ‘ãRÇ‘nìÄD‘:îGŸ}„ ™™ffŽŽ¡ÌÍŸ}„ ™™ff‘›éŸûëƒÏ=Ž‘2÷|„ ™™ffŽ‘8]âÐcsŽŽ‘EÒHÇ ‘ §ÄD‘Rº$Ÿ}„ ™™ffŽŽŸÑRÌÍŸ C>„ff‘¼Ÿó¼ÂÏ+=Ž‘2÷|„ffŽ‘8]âÐcsŽŽ‘EÒHÇ ‘ §Ÿî©«(ŽŸù.·‘žjÄDŽ‘$‚¡¹if‘¦fÄD‘X…Ç‘ §ÐcsŽŽŽŽŽ¡‘âcsŽŽŽ‘$‚¡¹if‘¦fÄD‘X…>‘ §ÐcsŽŽŽŽŽŽŽ‘^ÕœŸ C>„ffŽŽŸÌÍŸ C>„ff‘¼Ÿó¼ÂÏ-=Ž‘2÷|„ffŽ‘8]âÐcsŽŽ‘EÒHÇ ‘ §Ÿî©«(ŽŸù.·‘žjÄDŽ‘$‚¡¹if‘¦fÄD‘X…Ç‘ §ÐcsŽŽŽŽŽ¡‘âcsŽŽŽ‘$‚¡¹if‘¦fÄD‘X…<‘ §ÐcsŽŽŽŽŽŽŽ‘^ÕœŸ C>„ffŽŽŸ ©¤‰ff¯ÎLŽŽŸL>¡‘õŒ¹F‘ÿeurthermore›>@Ï\afterADDOP‘>%¹lea•²!v“es˜the˜Ï\nextŽ‘#:Ò¹tok“en˜set˜to˜Ï=Ž‘ <*¹in˜the˜last˜three˜cases˜only˜(this˜is˜usedŽ¡‘õŒto–¦fdetermine“the“righš²!t“default“v‘ÿdDalue“in“the“size“c˜hanges“abMÞo˜v˜e).ަ‘õŒThe–¦fÏ\afterADDOP“¹macro“is“relativ²!ely“simple“bMÞecause“Çh¹add“opÇi¹s“don't“nest:ޤPˆ‘ãŒÃ3591Ž‘õŒÏ\xydef@\afterADDOP#1{\def\afterADDOP@{#1}\xyFN@\ADDOP@}ŽŽ¡‘ãŒÃ3593Ž‘õŒÏ\xylet@\afterADDOP@=\emptyŽŽ¡‘ãŒÃ3595Ž‘õŒÏ\xydef@\ADDOP@{%ŽŽ¤ ™š‘ãŒÃ3596Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\ADDOP@}%gobble“spacesŽŽ¡‘ãŒÃ3597Ž‘ûKÃÏ\else\addPLUS@\ifx–¿ª\next“\addPLUS@\DN@{\xyFN@\ADDOP@plus}%ŽŽ¡‘ãŒÃ3598Ž‘ûKÃÏ\else\addDASH@\ifx–¿ª\next“\addDASH@\DN@{\xyFN@\ADDOP@minus}%ŽŽ¡‘ãŒÃ3599Ž‘ûKÃÏ\else\addEQ@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ3600Ž‘ mÏ\addEQ@\DN@{\def\Addop@@{\Addop@0+=}\afterADDOP@}%ŽŽ¡‘ãŒÃ3601Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ3602Ž‘ mÏ\DN@{\def\Addop@@{\Addop@0+=}\afterADDOP@}%ŽŽ¡‘ãŒÃ3603Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ3605Ž‘õŒÏ\xydef@\ADDOP@plus{%ŽŽ¡‘ãŒÃ3606Ž‘ûKÃÏ\addEQ@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ3607Ž‘ mÏ\addEQ@\DN@{\def\Addop@@{\Addop@0+<}\afterADDOP@}%ŽŽ¡‘ãŒÃ3608Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ3609Ž‘ mÏ\DN@{\def\Addop@@{\Addop@1+=}\afterADDOP@}%ŽŽ¡‘ãŒÃ3610Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ3612Ž‘õŒÏ\xydef@\ADDOP@minus{%ŽŽŽŽŒ‹6w? Á à ý*tj‘㌹54’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ3613Ž‘ûKÃÏ\addEQ@\ifx‘¿ª\nextŽŽ¤ ™š‘ãŒÃ3614Ž‘ mÏ\addEQ@\DN@{\def\Addop@@{\Addop@0+>}\afterADDOP@}%ŽŽ¡‘ãŒÃ3615Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ3616Ž‘ mÏ\DN@{\def\Addop@@{\Addop@1-=}\afterADDOP@}%ŽŽ¡‘ãŒÃ3617Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŸÄ‘õŒ¹The–¦fwš²!ork“is“done“b˜y“the“general“Ï\Addop@Ž‘/Šr{Ž‘5JÄf‘-¼Ï}Ž‘ “Ì{Ž‘SvÇÏ}Ž‘ f{Ž–%ºÄ.‘þ,Ï/Ï}Ž‘ f{Ž“Ðcs‘æÏ}Ž‘ L(ÄD‘ôD¹that‘¦fde nesŽŸãï‘m§ðÐcsŽŽ‘{VÇ‘ §Ÿî©«(ŽŸù.·‘âÄf‘œ¨Ç‘nìÐcsŽŽ‘ÇŽ‘©½ÄDŽ‘Qž¤¹if–¦fÇ:¹((Äf‘œ¨Ç‘nìÐcsŽŽ‘ÇŽ‘©½ÄDšMÞ¹)“Ä.‘þ,Ï/Ž‘lÏD˜¹)ŽŽŽŸ ™™‘âÐcsŽŽŽ‘Qž¤¹otherwiseŽŽŽŽŽŽŸ–‘õŒand–¦falso“lea•²!v“es–¦fthe“dimension“in“Ï\dimen@Ž‘+ä ¹.ŽŸPˆ‘ãŒÃ3631Ž‘õŒÏ\xydef@\Addop@#1#2#3#4#5{%ŽŽ¡‘ãŒÃ3632Ž‘ûKÃÏ\dimen@=#4\relax‘¿ª\edef#4{\the\dimen@}%ŽŽ¡‘ãŒÃ3633Ž‘ûKÃÏ\dimen@=#1\dimen@–¿ª\advance\dimen@#2#5\relax“%\advance\dimen@“1sp“%HACKŽŽ¡‘ãŒÃ3634Ž‘ûKÃÏ\ifdim\dimen@#3#4\else‘¿ª\edef#4{\the\dimen@}\fiŽŽ¡‘ãŒÃ3635Ž‘ûKÃÏ\ifx\xy@\xyinitial@\else‘¿ª\DN@##1{\xy@@{\edef#4{##1}\checkZeroEdge@}}%ŽŽ¡‘ãŒÃ3636Ž‘ mÏ\expandafter\next@\expandafter{#4}\fi}ŽŽŸ8–‘㌹1.4h.ŽŽ‘©ùA‘SNÐhidden‘*†¹ob‘›»ject–S{will“bšMÞe“t²!yp˜eset“but“hidden“from‘;%X‘ü·ŸâÃYŽŽ‘º…-pic“in“that“it“w²!on't“a ect“the“size“of“theŽ¡‘õŒen²!tire–¦fpicture“as“discussed“in“Çx¹1.2.1.Ž© ¡‘õŒThis–¦fis“handled“b²!y“the“Ï\ifHidden@Ž‘@Ép¹conditional“allošMÞcated“with“the“metho˜ds.ŽŸ¨‘ãŒ1.4i.ŽŽ‘ýŸNAn–4Ðinvisible‘"¹ob‘›»ject“will“bšMÞe“treated“completely“normal“except“that“it“w²!on't“b˜e“t²!yp˜eset,‘KIÐi¹.Ðe¹.,‘2óX‘ü·ŸâÃYŽŽ‘ ²S-picŽ¡‘õŒwill›¦fbMÞeha•²!v“e˜as˜if˜it˜w“as.ަ‘õŒThis–¦fis“handled“b²!y“the“Ï\ifInvisible@Ž‘Rn¹conditional“allošMÞcated“with“the“metho˜ds.ŽŸ¨‘ãŒ1.4j.ŽŽ‘ýí,Setting–ÿ“the“Ðshap‘ÿp¹e‘Ò4¹of“an“ob‘›»ject“forces“the“shapšMÞe“of“its“edge“to“b˜e“as“indicated.‘¦AThe“kš²!ernel“pro˜videsŽ¡‘õŒthree–¦fshapšMÞes“that“c²!hange“the“edge,“namely“Ï[.]¹,“Ï[]¹,“and“Ï[o]¹,“corresp˜onding“to“the“outlinesŽŸ$q ‘ïÏïps: SDict begin xyc endŸÿh0ÈŽŽŽŽŽŽŽŽ’‘|¹,Ž’Ÿ}\ïps: SDict begin xyc endŸýh0‘zúï2" {0.0 42.65114 -11.36993 -28.48038 19.92793 ov}xyŽŽŽ‘,¾Ÿÿh0ÈŽŽŽŽŽŸýh0ï" {-28.48038 0.0 dt}xyŽŽŽ‘ Y‘ž#ìÅLŽŽŽŽ‘G!«Ÿýh0ï" {42.65114 0.0 dt}xyŽŽŽ‘.”‰ž#ìRŽŽŽŽŸýh0‘zúŸ ^´ï" {0.0 -11.36993 dt}xyŽŽŽ‘à(ŸÓFDŽŽŽŽŸýh0‘zúŸìsï" {0.0 19.92793 dt}xyŽŽŽ‘-ÙŸö-&UŽŽŽŽŽŽŽ’ñ’<¹,‘¦fandŽ’ÚÈïps: SDict begin xyc end‘±ÄŸÿh0ÈŽŽŽŽŽ‘Ÿýh0ï" {20.0 0 360 o}xyŽŽŽŽŽŸýh0ï" {-20.0 0.0 dt}xyŽŽŽ‘ž#ìÅLŽŽŽŽ‘(Ÿýh0ï" {20.0 0.0 dt}xyŽŽŽ‘Æ7ž#ìRŽŽŽŽŸýh0‘Ÿï" {0.0 -20.0 dt}xyŽŽŽ‘e.Ÿ #ìDŽŽŽŽŸýh0‘Ÿìï" {0.0 20.0 dt}xyŽŽŽ‘²ßŸö#ìUŽŽŽŽŽŽŽŽŸ%VÁ‘õŒ¹where–C…the“Ç“¹denotes“the“pšMÞoin²!t“of“the“reference“p˜osition“in“the“ob‘›»ject“(the“ rst“is“a“p˜oin²!t).‘µ;Ex-Ž¡‘õŒtensions––-can“proš²!vide“more“shapMÞes,–Òho˜w˜ev˜er,“all––-shapMÞes“set“the“exten˜t“dimensions“ÄL¹,–ÒÄR¨¹,“ÄDMÞ¹,“andŽ¡‘õŒÄU‘1Ÿ¹.ަ‘õŒThe–¦fdefault“shapšMÞe“for“ob‘›»jects“is“Ï[]“¹and“for“plain“co˜ordinates“it“is“Ï[.]¹.Ž©Pˆ‘ãŒÃ3698Ž‘õŒÏ\xydef@\objectEdge{\rectangleEdge}ŽŽŸÄ‘õŒ¹F‘ÿeurthermore–LËthe“Çh¹shapMÞeÇi¹s“Ï[r]¹,–^·Ï[l]¹,“Ï[u]¹,“and›LËÏ[d]¹,“are˜de ned˜for˜con•²!v“enience˜to˜adjust˜the˜ob‘›»jectŽ¡‘õŒto–%2the“indicated“side“bš²!y“setting“the“reference“pMÞoin˜t“suc˜h“that“the“reference“pMÞoin˜t“is“the“sameŽ¡‘õŒdistance–Afrom“the“oppšMÞosite“of“the“indicated“edge“and“the“t•²!w“o‘Aneigh“b˜our–Aedges“but“nev²!er“closerŽ¡‘õŒto–‡Áthe“indicated“side“than“the“oppMÞosite“edge,–âÐe¹.Ðg¹.,“the–‡Áob‘›»ject“Ï[r]\hbox{Wide‘¿ªtext}Ž‘tI ¹has“referenceŽ¡‘õŒpšMÞoin²!t–XÑat“the“Ç“¹in“ïps: SDict begin xyc endtÏŸ5…Wide‘¦ftextŽŽŽŽŸýh0‘B#ï/" {0.0 44.25693 -3.80208 -3.80148 3.80208 ov}xyŽŽŽž$ýÇŽŽŽŽŽŽŽŽ‘75‹¹but“the“ob‘›»ject“Ï[d]\hbox{Wide‘¿ªtext}Ž‘së@¹has“reference“p˜oin²!t“at“the“Ç“¹inŽ¡‘õŒïps: SDict begin xyc endŸ5…Wide‘¦ftextŽŽŽŽŸýh0‘zï." {0.0 24.0292 -3.80208 -24.0292 3.80208 ov}xyŽŽŽ‘ÅWž$ýÇŽŽŽŽŽŽŽŽ‘%› ¹.‘ÝÝFinally‘ÿe,–¦fÏ[c]“¹puts“the“reference“pMÞoinš²!t“at“the“cen˜ter.ަ‘ãŒÃ3713Ž‘õŒÏ\xydefcsname@{shape–¿ª[r]}{\advance\U@p\D@c“\centerobject@ŽŽ¡‘ãŒÃ3714Ž‘ûKÃÏ\ifdim\L@c>\D@cŽŽ¡‘ãŒÃ3715Ž‘ mÏ\advance\R@c\L@c–¿ª\L@c=.5\U@c“\advance\L@c.5\D@c“\advance\R@c-\L@c“\fiŽŽ¡‘ãŒÃ3716Ž‘ûKÃÏ\advance\U@p-\D@c}ŽŽŽŽŒ‹7…• Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹55ŽŽ ¶?? ýh«w‘ãŒÃ3717Ž‘õŒÏ\xydefcsname@{shape–¿ª[l]}{\advance\U@p\D@c“\centerobject@ŽŽ¤ ™š‘ãŒÃ3718Ž‘ûKÃÏ\ifdim\L@c>\D@cŽŽ¡‘ãŒÃ3719Ž‘ mÏ\advance\L@c\R@c–¿ª\R@c=.5\U@c“\advance\R@c.5\D@c“\advance\L@c-\R@c“\fiŽŽ¡‘ãŒÃ3720Ž‘ûKÃÏ\advance\U@p-\D@c}ŽŽ¡‘ãŒÃ3721Ž‘õŒÏ\xydefcsname@{shape–¿ª[u]}{\advance\U@p\D@c“\centerobject@ŽŽ¡‘ãŒÃ3722Ž‘ûKÃÏ\ifdim\D@c>\L@cŽŽ¡‘ãŒÃ3723Ž‘ mÏ\advance\U@c\D@c–¿ª\D@c=.5\L@c“\advance\D@c.5\R@c“\advance\U@c-\D@c“\fiŽŽ¡‘ãŒÃ3724Ž‘ûKÃÏ\advance\U@p-\D@c}ŽŽ¡‘ãŒÃ3725Ž‘õŒÏ\xydefcsname@{shape–¿ª[d]}{\advance\U@p\D@c“\centerobject@ŽŽ¡‘ãŒÃ3726Ž‘ûKÃÏ\ifdim\D@c>\L@cŽŽ¡‘ãŒÃ3727Ž‘ mÏ\advance\D@c\U@c–¿ª\U@c=.5\L@c“\advance\U@c.5\R@c“\advance\D@c-\U@c“\fiŽŽ¡‘ãŒÃ3728Ž‘ûKÃÏ\advance\U@p-\D@c}ŽŽ¡‘ãŒÃ3729Ž‘õŒÏ\xydefcsname@{shape–¿ª[c]}{\advance\U@p\D@c“\centerobject@“\advance\U@p-\D@c}ŽŽ©Pˆ‘ãŒÃ3731Ž‘õŒÏ\xydef@\centerobject@{%ŽŽ¡‘ãŒÃ3732Ž‘ûKÃÏ\advance\D@c\U@c–¿ª\D@c=.5\D@c“\U@c=\D@c“\advance\L@c\R@c“\L@c=.5\L@c“\R@c=\L@c}ŽŽŸA‘õŒÔNote:‘¶¿¹Extensions–×can“add“new“Çh¹shapšMÞeÇi“¹ob‘›»ject“Çh¹mo˜di erÇi¹s“whicš²!h“are“then“called“Çh¹st˜yleÇi¹s.‘#0TheseŽ¡‘õŒwill›Z;alw•²!a“ys˜bMÞe˜either˜of˜the˜form˜Ï[Ž› åÇh¹k“eyw“ordÇiÏ]Ž˜¹or‘Z;Ï[Ž˜Çh¹c“haracterÇi›Z;h¹argumen“tÇiÏ]Ž‘¿ª¹.‘ÄySome˜of˜these˜Çh¹st“yleÇi¹sŽ¡‘õŒdo–¦fother“things“than“set“the“edge“of“the“ob‘›»ject.ŽŸ\S‘õŒA‘÷\simple–÷DshapšMÞe"“is“just“a“con²!trol“sequence“Ï\shape‘¿ª[Ž‘0ô”Çh¹shap˜eÇiÏ]Ž‘¶î¹setting“the“appropriate“edge.‘£}WhenŽ¡‘õŒsuc²!h–°ºa“Ï[Ž– pdÇh¹shapšMÞeÇiÏ]Ž“¹mo˜di er–°ºis“encounš²!tered“then“w˜e“expand“this“con˜trol“sequence“on˜to“the“moMÞdi erŽ¡‘õŒqueue,‘èsunless–¨ a“con²!trol“sequence“Ï\style‘¿ª[Ž‘2¥[Çh¹shapšMÞeÇiÏ]Ž‘ gµ¹exists:‘á&then“that“is“exp˜ected“to“do“it“(andŽ¡‘õŒwhatev²!er–¦felse“is“required).ަ‘ãŒÃ3749Ž‘õŒÏ\xydef@\OBJECT@shape#1{\DN@{shape‘¿ª[#1]}%ŽŽ¡‘ãŒÃ3750Ž‘ûKÃÏ\expandafter\let\expandafter\nextii@\csname\codeof\next@\endcsnameŽŽ¡‘ãŒÃ3751Ž‘ûKÃÏ\ifx\nextii@\relax\DN@{style‘¿ª[#1]}%ŽŽ¡‘ãŒÃ3752Ž‘ mÏ\expandafter\let\expandafter\nextii@\csname\codeof\next@\endcsnameŽŽ¡‘ãŒÃ3753Ž‘ mÏ\ifx\nextii@\relax‘¿ª\DN@{\OBJECT@shapei[#1]}%ŽŽ¡‘ãŒÃ3754Ž‘ mÏ\else\DN@{\nextii@\xyFN@\OBJECT@}\fiŽŽ¡‘ãŒÃ3755Ž‘ûKÃÏ\else‘¿ª\expandafter\addtotoks@\expandafter{\nextii@}%ŽŽ¡‘ãŒÃ3756Ž‘ mÏ\DN@{\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ3757Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ3759Ž‘õŒÏ\xydefcsname@{shape‘¿ª[]}{\the\Edge@c5\relax}%ŽŽ¡‘ãŒÃ3760Ž‘õŒÏ\xydefcsname@{shape‘¿ª[Outer]}{\the\Edge@c5\relax}%ŽŽ¡‘ãŒÃ3761Ž‘õŒÏ\xydefcsname@{shape‘¿ª[Inner]}{\the\Edge@c4\relax}%ŽŽ¡‘ãŒÃ3762Ž‘õŒÏ\xydefcsname@{shape‘¿ª[o]}{\Edge@c={\circleEdge}\the\Edge@c5\relaxŽŽ¡‘ãŒÃ3763Ž‘ûKÃÏ\Edge@c={\circleEdge}\def\prevEdge@@{\circleEdge}}ŽŽ¡‘ãŒÃ3764Ž‘õŒÏ\xydefcsname@{shape‘¿ª[.]}{\czeroEdge@}ŽŽŸA‘õŒ¹Add–5more“simple“shapMÞes“bš²!y“de ning“more“commands“lik˜e“these“and“prošMÞceed“with“co˜ding“theŽ¡‘õŒÏ\Ž‘ûKù.–Ó3.“.“ÏEdgeŽ‘xA¹command–¦fas“describMÞed“in“Çx¹1.8.2.ŽŸ\S‘õŒAlternativš²!ely–%óit“is“a“\complex“shapMÞe"“of“whic˜h“none“are“de ned“in“the“k˜ernel“but“some“options“lik˜eŽ¡‘õŒmore›r¼v‘ÿdDariation.–Ó3.“.“It˜is˜c•²!haracterised˜b“y˜its˜ rst˜tok“en˜and˜the˜rest˜of˜the˜con“ten“ts˜of˜the˜Ï[]¹s˜is˜theŽ¡‘õŒargumen•²!t›ñ¹(remem“bMÞer:‘tƒno˜Ï{}[]Ž‘â¹c“haracters!);‘bit˜is˜searc“hed˜for˜as˜con“trol˜sequence˜Ï\[Ž‘q Çh¹shapMÞeÇiÏ...]ŽŽ¡‘õŒ¹o•²!v“erridden–¦fin“the“same“w•²!a“y›¦fb“y˜Ï\*stylechar@Ž‘H¢^Çh¹shapMÞeÇiÏ@Ž‘¿ª¹.ަ‘ãŒÃ3779Ž‘õŒÏ\def\OBJECT@shapei[#1#2]{\DN@{shape‘¿ª[#1...]}%ŽŽ¡‘ãŒÃ3780Ž‘ûKÃÏ\expandafter\let\expandafter\next\csname\codeof\next@\endcsnameŽŽ¡‘ãŒÃ3781Ž‘ûKÃÏ\ifx\next\relax\DN@{*stylechar@#1@}%ŽŽŽŽŒ‹8—/ Á à ý*tj‘㌹56’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ3782Ž‘ mÏ\expandafter\let\expandafter\next\csname\codeof\next@\endcsnameŽŽ¤ ™š‘ãŒÃ3783Ž‘ mÏ\ifx\next\relax\DNii@{shape‘¿ª[#1#2]}%ŽŽ¡‘ãŒÃ3784Ž‘ËÏ\xywarning@{illegal–¿ª[]“ignored:“\codeof\nextii@\space“not“defined}%ŽŽ¡‘ãŒÃ3785Ž‘ËÏ\DN@{\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ3786Ž‘ mÏ\else%–¿ªDelete“this:“\expandafter\addtotoks@\expandafter{\next{#2}}%ŽŽ¡‘ãŒÃ3787Ž‘ËÏ\DN@{\next{#2}\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ3788Ž‘ mÏ\fiŽŽ¡‘ãŒÃ3789Ž‘ûKÃÏ\elseŽŽŸPˆ‘ãŒÃ3791Ž‘õŒÏ\expandafter\addtotoks@\expandafter{\next{#2}}\DN@{\next{#2}\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ3792Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŸ¶T‘õŒÔBug:‘ÝݹThe›¦fabMÞo•²!v“e˜is˜messy!ŽŸe2‘ãŒ1.4k.ŽŽ\While–©t²!ypšMÞesetting“an“ob‘›»ject,‘<ºsome“of“the“prop˜erties“are“considered“part“of“the“`curren²!t“ob‘›»jectŽ¡‘õŒstš²!yle'.‘À¡Initially–N³this“means“nothing“but“some“of“the“Çh¹st˜yleÇi¹s“de ned“b˜y“extensions“ha˜v˜e“this“status,Ž¡‘õŒÐe¹.Ðg¹.,–êÈcolours‘ÝÏ[red]Ž‘ ›m¹,“Ï[blue]Ž‘*Eß¹sa²!y‘ÿe,“using–Ýthe“ÏxycolorŽ‘/÷ܹextension,‘êÈor“v‘ÿdDarying“the“width“of“lines“usingŽ¡‘õŒÏxylineŽ‘ ¹.‘ÝÝSuc•²!h›¦fst“yles˜are˜proMÞcessed˜Ðleft-to-right‘ ê¹;˜for˜example,ޤòL’éÿÏ*[red][green][=NEW][blue]{A}ŽŽ¡‘õŒ¹will–;tš²!ypMÞeset“a“blue“ÏAŽ‘ Æ ¹and“de ne“Ï[NEW]Ž‘$Äȹto“set“the“colour“to“green“(all“pro˜vided“that“ÏxycolorŽ‘0D¹hasޤ ™š‘õŒbMÞeen–¦floaded,“of“course).Ž©ÿf‘õŒThe–ˆÔmethošMÞd“of“requesting“a“sp˜ecial“e ect“is“via“the“Çh¹shap˜eÇi“¹mo˜di ers.‘ÔHo•²!w“ev“er–ˆÔthe“co˜de“requiredŽ¡‘õŒfor–!jimplemenš²!tation“is“quite“di eren˜t.‘NéIn“particular“it“m˜ust“allo˜w“for“the“di eren˜t“w˜a˜ys“in“whic˜hŽ¡‘õŒthe–«dÇh¹drivš²!erÇi“¹ma˜y“implemen˜t“the“Ï\specialŽ‘1¨´¹s“required“to“activ‘ÿdDate,›¬¤and“turn“o ,˜the“e ect.‘ìØAnotherŽ¡‘õŒdicultš²!y–¼µis“that“the“Çh¹st˜yleÇi“¹applies“also“to“nested“sub-parts“of“an˜y“Çh¹ob‘›»jectÇi¹.‘ ÉThis“means“that“theŽ¡‘õŒcošMÞde–¦fcannot“b˜e“wholly“dela•²!y“ed›¦fun“til˜after˜the˜Çh¹ob‘›»jectÇi˜¹has˜bMÞeen˜constructed.ަ‘õŒUsually–•wsome“v‘ÿdDalue“has“to“bšMÞe“stored,‘Ñ;so“as“to“b˜e“accessible“to“sub-parts,‘Ñ;though“the“Ï\specialŽŽ¡‘õŒ¹commands–œŒcannot“bMÞe“fully“constructed“unš²!til“the“Çh¹ob‘›»jectÇi“¹is“completely“kno˜wn“and“ready“to“bMÞeŽ¡‘õŒÏ\Drop@@Ž‘!p%¹or‘¦fÏ\Connect@@Ž‘=# ¹'ed.ަ‘õŒFinally‘ÿe,‘–®the›3mo•²!v“erhead˜in˜using˜Ï\specialŽ‘8d*¹commands˜can˜bMÞe˜quite˜high˜with˜some˜ÏdviŽ‘rk¹-driv“ers.Ž¡‘õŒThš²!us–{it“is“not“bMÞest“that“ev˜ery“Çh¹st˜yleÇi“¹request“generate“a“Ï\specialŽ‘4,F¹command;‘Gindeed“Ðtwo“Ï\specialŽŽ¡‘õŒ¹commands,‘Á¡since–¼/eacš²!h“st˜yle-c˜hange“also“requires“a“command“to“rev˜ert“to“the“previous“st˜yle,‘Á¡afterŽ¡‘õŒthe–¦fc²!hange“is“no“longer“applicable.ަ‘õŒTh²!us,›DÓas–%$with“Çh¹shapMÞeÇi¹s,˜all“the“st•²!yle-c“hange–%$requests“are“stored“un²!til“the“Çh¹ob‘›»jectÇi“¹is“ready“to“bMÞeŽ¡‘õŒÏ\Drop@@Ž‘É¿¹'ed.‘ösThis–YCalso“helps“with“getting“the“sequencing“correct“when“later“requests“compMÞoundŽ¡‘õŒon,–¦for“o•²!v“erride,–¦fearlier“requests.ަ‘õŒWhen–°‡the“Çh¹st²!yleÇi“¹requests“are“prošMÞcessed,‘á³after“the“Çh¹ob‘›»jectÇi“¹has“b˜een“constructed,‘á³information“of“theŽ¡‘õŒform›ÚEÇh¹con•²!trol-w“ordÇiÏ{Ž‘¿ªÇh¹dataÇiÏ}Ž‘ ™ï¹is˜added˜to˜a˜global˜list˜called˜Ï\preXY@style@Ž‘N•ç¹.‘yySimilar˜informationŽ¡‘õŒis–JÃadded“to“another“global“list“Ï\postXY@style@Ž‘Sƹ,‘]for“the“purpMÞose“of“revš²!erting“the“st˜yle“parameters,Ž¡‘õŒwithin–¦fthe“Çh¹drivš²!erÇi¹- le,“to“their“previous“v‘ÿdDalues“prior“to“the“curren˜t“Çh¹ob‘›»jectÇi¹.ަ‘õŒBoth–‹lists“are“initially“Çh¹emptš²!yÇi“¹at“the“start“of“an“Çh¹ob‘›»jectÇi¹.‘«”The“con˜ten˜ts“of“these“lists“are“proMÞcessedŽ¡‘õŒwhen–the“macros“Ï\xypre@Style@@Ž‘Zйand“Ï\xypost@Style@@Ž‘`A4¹are“encoun²!tered“in“the“expansion“ofŽ¡‘õŒÏ\styledboxz@Ž‘:ˆ¹.Ž©Pˆ‘ãŒÃ3853Ž‘õŒÏ\xydef@\preXY@style@{}ŽŽ¡‘ãŒÃ3854Ž‘õŒÏ\xydef@\postXY@style@{}ŽŽ¦‘ãŒÃ3856Ž‘õŒÏ\xydef@\resetStyle@{\gdef\preXY@style@{}\gdef\postXY@style@{}}ŽŽŽŽŒ‹9¦  Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹57ŽŽ ¶?? ýh«w‘õŒThe–LÇh¹dataÇi“¹conš²!tains“the“coMÞde“needed“to“implemen˜t“the“requested“st˜yle-c˜hange,‘^)with“the“particularޤ ™š‘õŒÇh¹driv²!erÇi–¦f¹bMÞeing“used.Ž©_Õ‘õŒThe›«HÇh¹con•²!trol-w“ordÇi˜¹is˜a˜macro˜whose˜expansion˜could˜b•MÞe˜ xed,‘¬or˜could˜dep“end˜up“on˜what˜otherŽ¡‘õŒst•²!yle-c“hange–krequests“are“made“for“this“Çh¹ob‘›»jectÇi¹.‘¬ßIts“purpMÞose“is“to“decide“whether“or“not“the“Çh¹dataÇiŽ¡‘õŒ¹is–¦factually“required.‘ÝÝIf“so,“it“is“added“to“the“tok²!en-list“Ï\styletoks@Ž‘F‰¹for“later“use.ަ‘õŒWhether–£the“Çh¹con•²!trol-w“ordÇiÏ{Ž‘¿ªÇh¹dataÇiÏ}Ž‘ ØM¹tok“ens–£are“prepšMÞended“or“app˜ended“to“the“global“lists“de-Ž¡‘õŒp•MÞends›æÎup“on˜the˜nature˜of˜the˜st•²!yle-c“hange˜requested.‘ŸF‘ÿeor˜example,‘öèwith˜Ï*[red][green]Ž‘N¢pÇh¹ob‘›»jectÇiŽ¡‘õŒ¹the–KÏinformation“Ï\Ž– yÇh¹set-colorÇiÏ{Ž‘¿ªÇh¹greenÇiÏ}Ž“¹could–KÏbšMÞe“app˜ended“to“Ï\preXY@style@Ž‘Pq¹,‘µ(with“Ï\Ž‘ yÇh¹rev²!ert-to-Ž¡‘õŒcolorÇiÏ{Ž‘¿ªÇh¹redÇiÏ}Ž‘ (‚¹prepMÞended–hØto“Ï\postXY@style@Ž‘Tä$¹.‘%2Then“the“dvi-output“w²!ould“set“the“color“to“Çh¹redÇiŽ¡‘õŒ¹then–¦fÇh¹greenÇi“¹and“restore“it“ rst“to“Çh¹redÇi“¹then“Çh¹blac²!kÇi¹.ަ‘õŒÔT‘þó\o‘÷5Do:‘ñ¹A‘/Ÿmore–0sophisticated“implemen²!tation“could“instead“prepMÞend“Ï\Ž– ï®Çh¹set-colorÇiÏ{Ž‘¿ªÇh¹greenÇiÏ}Ž“¹toŽ¡‘õŒÏ\preXY@style@Ž‘DçÁ¹and– appMÞend“Ï\Ž– _°Çh¹revš²!ert-to-colorÇiÏ{Ž‘¿ªÇh¹redÇiÏ}Ž“¹to‘ Ï\postXY@style@Ž‘UR¹.‘ʼNo˜w– the“ rst“Ï\Ž‘ _°Çh¹set-Ž¡‘õŒcolorÇi–ùencoun²!tered“adds“its“Çh¹dataÇi“¹to“Ï\styletoks@Ž‘GmÔ¹then“rebinds“Ï\Ž‘ ØmÇh¹set-colorÇi“¹to“Ï\eat@Ž‘ ×¹,‘5Zto“ignoreŽ¡‘õŒsubsequenš²!t–èXoMÞccurrences.‘£³Similarly“Ï\Ž‘ ¨Çh¹rev˜ert-to-colorÇi“¹is“rebMÞound“so“that“only“the“is“restoration“toŽ¡‘õŒÇh¹blac²!kÇi–¦f¹is“retained.ަ‘õŒThis–ï¶latter“strategy“is“preferred“when“the“o•²!v“erhead–ï¶for“a“Ï\specialŽ‘5ܼ¹command“is“high,‘ within“theŽ¡‘õŒÇh¹drivš²!erÇi¹'s–¿output.‘(Indeed“the“ÕPostScript“¹bac˜k-end“is“ev˜en“more“ecien˜t.‘(Since“ÕPostScript“¹isŽ¡‘õŒitself–Êoa“programming“language,‘Órthe“Çh¹dataÇi“¹can“bšMÞe“just“the“ÕPostScript“¹co˜de.‘IùA‘Êfsingle“Ï\specialŽŽ¡‘õŒ¹command–‡­is“sucienš²!t“to“accommoMÞdate“Ðal‘Fl‘©W¹the“st˜yle-c˜hanges“for“an“individual“Çh¹ob‘›»jectÇi¹.‘³This“isŽ¡‘õŒac•²!hiev“ed›4b“y˜rebinding˜Ï\xydoprestyles@@Ž‘dcÚ¹and˜Ï\xydopoststyles@@Ž‘j#„¹to˜include˜the˜Çh¹dataÇi˜¹withinŽ¡‘õŒan–¦fappropriately“prepared“Ï\specialŽ‘5J¹command.Ž©Pˆ‘ãŒÃ3894Ž‘õŒÏ\xynew@{toks}{\styletoks@}ŽŽ¡‘ãŒÃ3895Ž‘õŒÏ\xydef@\addtostyletoks@#1{%ŽŽ¡‘ãŒÃ3896Ž‘ûKÃÏ\expandafter\styletoks@\expandafter{\the\styletoks@#1}}ŽŽŸÑõŒ¹The–¥Çh¹dataÇi“¹to“bMÞe“used“is“collected“in“the“tokš²!en-list“Ï\styletoks@Ž‘Dák¹.‘ ÚIf“this“is“Çh¹empt˜yÇi“¹for“anŽ¡‘õŒÇh¹ob‘›»jectÇi–Bï¹then“the“st²!yle“prošMÞcessing“is“skipp˜ed“completely–ÿe.‘³wF“or›Bïsafet²!y“,‘jin˜case˜m²!ultiple˜oMÞccurencesŽ¡‘õŒof‘Ë«Ï\xypre@Style@Ž‘RRø¹ha•²!v“e›Ë«someho“w˜slippMÞed˜in“to˜the˜tok“en˜stream,‘Ôüthese˜and˜Ï\xypost@Style@@Ž‘]ÒL¹areŽ¡‘õŒbMÞound–7þto“Ï\relaxŽ‘,íø¹unš²!til“the“Çh¹ob‘›»jectÇi“¹is“ nished.‘ ’¤Indeed“Ï\xypost@Style@@Ž‘`ªò¹is“alw˜a˜ys“bMÞound“toŽ¡‘õŒÏ\relaxŽ‘°{¹unless‘¦fÏ\styletoks@Ž‘F‰¹is‘¦fnon-empt²!y‘ÿe.ަ‘ãŒÃ3908Ž‘õŒÏ\xydef@\styledboxz@{%ŽŽ¡‘ãŒÃ3909Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3910Ž‘õŒÏ%\W@{STYLED‘¿ªBOX:}%ŽŽ¡‘ãŒÃ3911Ž‘õŒÏ%\W@{:‘¿ªPRE={\meaning\xypre@Style@@}}%ŽŽ¡‘ãŒÃ3912Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3913Ž‘ûKÃÏ\xypre@Style@@ŽŽ¡‘ãŒÃ3914Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3915Ž‘õŒÏ%{\expandafter\DN@\expandafter{\the\styletoks@}\W@{:‘¿ªSTYLTOKS={\codeof\next@}}}%ŽŽ¡‘ãŒÃ3916Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3917Ž‘ûKÃÏ\boxz@ŽŽ¡‘ãŒÃ3918Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3919Ž‘õŒÏ%\W@{:‘¿ªPOST={\meaning\xypost@Style@@}}%ŽŽ¡‘ãŒÃ3920Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3921Ž‘ûKÃÏ\xypost@Style@@}ŽŽ¦‘ãŒÃ3923Ž‘õŒÏ\xydef@\xypre@Style@{\styletoks@={}\saveXyStyle@\preXY@style@ŽŽ¡‘ãŒÃ3924Ž‘ûKÃÏ\expandafter\DN@\expandafter{\the\styletoks@}%ŽŽ¡‘ãŒÃ3925Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\DN@{\let\xypre@Style@@=\relaxŽŽ¡‘ãŒÃ3926Ž‘ mÏ\let\xypost@Style@@=\relax‘¿ª\xypre@skipStyle@}%ŽŽŽŽŒ‹:¶ Á à ý*tj‘㌹58’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ3927Ž‘ûKÃÏ\elseŽŽ¤ ™š‘ãŒÃ3928Ž‘ mÏ\let\xypre@Style@@=\relax‘¿ª\let\xypost@Style@@=\xypost@Style@ŽŽ¡‘ãŒÃ3929Ž‘ mÏ\DN@{\expandafter\xydoprestyles@\expandafter{\the\styletoks@}}%ŽŽ¡‘ãŒÃ3930Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ3932Ž‘õŒÏ\xydef@\xypost@Style@{\styletoks@={}\postXY@style@ŽŽ¡‘ãŒÃ3933Ž‘ûKÃÏ\expandafter\xydopoststyles@\expandafter{\the\styletoks@}%ŽŽ¡‘ãŒÃ3934Ž‘ûKÃÏ\let\xypost@Style@@=\relax–¿ª\let\xypre@Style@@=\xypre@Style@“}ŽŽ¦‘ãŒÃ3936Ž‘õŒÏ\xydef@\xypre@skipStyle@#1\xypost@Style@@{#1\relaxŽŽ¡‘ãŒÃ3937Ž‘ûKÃÏ\let\xypre@Style@@=\xypre@Style@‘¿ª}ŽŽ¦‘ãŒÃ3939Ž‘õŒÏ\xydef@\xydoprestyles@@{\literal@}ŽŽ¡‘ãŒÃ3940Ž‘õŒÏ\xydef@\xydopoststyles@@{\literal@}ŽŽ¡‘ãŒÃ3941Ž‘õŒÏ\xylet@\xydoprestyles@=\xydoprestyles@@ŽŽ¡‘ãŒÃ3942Ž‘õŒÏ\xylet@\xydopoststyles@=\xydopoststyles@@ŽŽŸ¢ ‘õŒ¹Some–äextensions“use“the“folloš²!wing“macros“to“add“st˜yle“Çh¹dataÇi“¹to“the“global“macros.‘˜.Here“coMÞde“isŽ¡‘õŒadded–á^sequen²!tially“to“Ï\preXY@style@Ž‘R~^¹so“that“it“is“acted“upšMÞon“in“the“order“of“o˜ccurrence“(FIF²!O)Ž¡‘õŒof–oÛthe“Çh¹shapšMÞeÇi“¹mo˜di ers.‘˯Co˜de“is“added“to“Ï\postXY@style@Ž‘W[¹in“revš²!erse“order“(LIF˜O),“so“that“eac˜hŽ¡‘õŒaddition–¦fto“Ï\preXY@style@Ž‘Rn¹can“bMÞe“closed“o ,“if“necessary‘ÿe,“in“correctly“nested“sequence.ަ‘ãŒÃ3953Ž‘õŒÏ\xydef@\modXYstyle@{%ŽŽ¡‘ãŒÃ3954Ž‘ûKÃÏ\ifx\xy@style@\empty\resetStyle@\fi‘¿ª\checkXyStyle@ŽŽ¡‘ãŒÃ3955Ž‘ûKÃÏ\expandafter\expandafter\expandafter\DN@ŽŽ¡‘ãŒÃ3956Ž‘ mÏ\expandafter\expandafter\expandafter{\preXYstyle@@}%ŽŽ¡‘ãŒÃ3957Ž‘ûKÃÏ\ifx\next@\empty\else\DN@{\modXYstyle@@}\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ3959Ž‘õŒÏ\xydef@\modXYstyle@@{%ŽŽ¡‘ãŒÃ3960Ž‘ûKÃÏ\DN@##1{\expandafter\def\expandafter\tmp@\expandafter{##1}}%ŽŽ¡‘ãŒÃ3961Ž‘ûKÃÏ\expandafter\next@\expandafter{\preStyle@@}%ŽŽ¡‘ãŒÃ3962Ž‘ûKÃÏ\DN@##1{\expandafter\gdef\expandafter\preXY@style@\expandafter{%ŽŽ¡‘ãŒÃ3963Ž‘ËÏ\preXY@style@‘¿ª##1}}\expandafter\next@\expandafter{\tmp@}%ŽŽ¡‘ãŒÃ3964Ž‘ûKÃÏ\DN@##1{\expandafter\def\expandafter\tmp@\expandafter{##1}}%ŽŽ¡‘ãŒÃ3965Ž‘ mÏ\expandafter\next@\expandafter{\postStyle@@}%ŽŽ¡‘ãŒÃ3966Ž‘ mÏ\DN@##1{\expandafter\gdef\expandafter\postXY@style@\expandafter{%ŽŽ¡‘ãŒÃ3967Ž‘ËÏ\tmp@‘¿ª##1}}\expandafter\next@\expandafter{\postXY@style@}}ŽŽ¦‘ãŒÃ3969Ž‘õŒÏ\xydef@\xy@style@{}ŽŽ¡‘ãŒÃ3970Ž‘õŒÏ\xydef@\checkXyStyle@{\ifx\xy@style@\empty\resetStyle@\fiŽŽ¡‘ãŒÃ3971Ž‘ûKÃÏ\let\xy@style@=\relax}ŽŽŸ¢ ‘õŒ¹The‘ÍÏ\preStyle@Ž‘Až>¹and‘ÍÏ\postStyle@Ž‘G]è¹tempMÞorarily–Íhold“st²!yle“Çh¹dataÇi¹.‘The“macro“Ï\preXYstyle@@Ž‘RÝ<¹isŽ¡‘õŒused–ƒßto“c•²!hec“k–ƒßwhether“there“is“an²!y“Çh¹dataÇi“¹to“proMÞcess.‘}Normally“this“is“just“an“alias“for“Ï\preStyle@@Ž‘AÀ-¹,Ž¡‘õŒbut–¦fsome“bacš²!k-ends“ma˜y“use“the“t˜w˜o“con˜trol-names“di eren˜tly‘ÿe.ަ‘ãŒÃ3980Ž‘õŒÏ\xydef@\preStyle@@{}ŽŽ¡‘ãŒÃ3981Ž‘õŒÏ\xydef@\postStyle@@{}ŽŽ¡‘ãŒÃ3982Ž‘õŒÏ\xydef@\preXYstyle@@{\relax}ŽŽ¦‘ãŒÃ3984Ž‘õŒÏ\xydef@\loadxystyle@{%ŽŽ¡‘ãŒÃ3985Ž‘ûKÃÏ\let\xypre@Style@@=\xypre@Style@‘¿ª\def\preXYstyle@@{\preStyle@@}}ŽŽ¦‘ãŒÃ3987Ž‘õŒÏ\loadxystyle@ŽŽŸ¢ ‘õŒ¹Initially–¦fst²!yles“are“activ‘ÿdDated“but“can“bMÞe“suppressed“using“Ï\Unloadstyle@Ž‘Nb¹.ŽŽŽŒ‹;Æz Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹59ŽŽ ¶?? ýh«w‘ãŒÃ3994Ž‘õŒÏ\xydef@\Unloadstyle@{%ŽŽ¤ ™š‘ãŒÃ3995Ž‘ûKÃÏ\let\xypre@Style@@=\relax‘¿ª\let\xypost@Style@@=\relaxŽŽ¡‘ãŒÃ3996Ž‘ûKÃÏ\def\preXYstyle@@{\relax}}ŽŽ©³‘õŒ¹Global–ì£macros“are“used,‘Êso“that“the“same“stš²!yles“can“bMÞe“reused“b˜y“successiv˜e“ob‘›»jects“without“ha˜vingŽ¡‘õŒto–¦fre-in²!terpret“Çh¹shapšMÞeÇi“¹mo˜di ers,“as“describ˜ed“next.ŽŸ!Q?‘õŒÔSa•¦tving‘öØst“yles:‘ ó5¹Once–r{spšMÞeci ed“for“an“Çh¹ob‘›»jectÇi¹,‘|Ýthe“collection“of“Çh¹st²!yleÇi¹s“can“b˜e“assigned“a“name,Ž¡‘õŒusing–û†Ï[=Çh¹wš²!ordÇiÏ]Ž‘¿ª¹.‘Ý=Then“Ï[Ž– »0Çh¹w˜ordÇiÏ]Ž“¹bMÞecomes–û†a“new“Çh¹st˜yleÇi¹,‘Îsuitable“for“use“with“the“same“or“otherŽ¡‘õŒÇh¹ob‘›»jectsÇi¹s.›€ÓUse–ܸa“single“Çh¹w²!ordÇi“¹built“from“ordinary“letters.˜If“Ï[Ž– œbÇh¹w²!ordÇiÏ]Ž“¹already–ܸhad“meaning“theŽ¡‘õŒnew–¦fde nition“will“still“bšMÞe“imp˜osed,“but“the“folloš²!wing“t˜ypMÞe“of“w˜arning“will“bMÞe“issued:ޤFœ‘iÏFÏXy-pic–¿ªWarning:“Redefining“style“[Ž’-CÚÇh¹w²!ordÇiŽ’M;¦Ï]ŽŽ¡‘õŒ¹The–±alatter“w²!arning“will“appšMÞear“if“the“de nition“o˜ccurs“within“an“Ï\xymatrix¹.‘þÍThis“is“p˜erfectlyޤ ™š‘õŒnormal,‘37bšMÞeing–a“consequence“of“the“w•²!a“y–that“the“matrix“co˜de“is“handled.‘/ÔSimilarly“the“messageŽ¡‘õŒmaš²!y–¦fappMÞear“sev˜eral“times“if“the“st˜yle“de nition“is“made“within“an“Ï\ar¹.ŽŸ Å‘õŒThe–Œ%folloš²!wing“illustrates“ho˜w“to“a˜v˜oid“these“messages“b˜y“de ning“the“st˜yle“without“t˜ypMÞesettingŽ¡‘õŒan²!ything.ŽŸPˆ‘ûKÃÏ\setbox0=\hbox{%ŽŽ¡‘ m\xy\drop[OrangeRed][=A]{}\endxy}ŽŽ¦‘õŒÔNote‘21:‘ÝݹThe–¦fcurrenš²!t“colour“is“regarded“as“part“of“the“st˜yle“for“this“purpMÞose.ŽŸ Å‘õŒÔNote‘ÃË2:‘Úv¹Sucš²!h–$²namings“are“global“in“scopMÞe.‘XÂThey“are“in˜tended“to“allo˜w“a“consisten˜t“st˜yle“to“bMÞeŽ¡‘õŒeasily–¦fmainš²!tained“bMÞet˜w˜een“v‘ÿdDarious“pictures“and“diagrams“within“the“same“doMÞcumen˜t.ޤPˆ‘ãŒÃ4040Ž‘õŒÏ\xydefcsname@{shape–¿ª[=...]}#1{\checkXyStyle@“\addtotoks@{\xynamestyle@{#1}}}ŽŽ¡‘ãŒÃ4042Ž‘õŒÏ\xydef@\xynamestyle@#1{\checkXyStyle@ŽŽ¤ ™š‘ãŒÃ4043Ž‘ûKÃÏ\expandafter\DNii@\expandafter{\csname–¿ªshape“[#1]\endcsname}%ŽŽ¡‘ãŒÃ4044Ž‘ûKÃÏ\expandafter\ifx\nextii@\relax–¿ª%%\xywarning@{Defining“new“style“[#1]}%ŽŽ¡‘ãŒÃ4045Ž‘ûKÃÏ\else\xywarning@{Redefining–¿ªstyle“[#1]}\fiŽŽ¡‘ãŒÃ4046Ž‘ûKÃÏ\expandafter\xynamestyle@@\csname–¿ªshape“[#1]\endcsname“}ŽŽŸPˆ‘ãŒÃ4048Ž‘õŒÏ\xydef@\xynamestyle@@#1{%ŽŽ¡‘ãŒÃ4049Ž‘ûKÃÏ\expandafter\def\expandafter\tmp@\expandafter{\preXY@style@}%ŽŽ¡‘ãŒÃ4050Ž‘ûKÃÏ\DN@##1{\def\tmp@{\checkXyStyle@\gdef\preXY@style@{##1}}}%ŽŽ¡‘ãŒÃ4051Ž‘ûKÃÏ\expandafter\next@\expandafter{\preXY@style@}%ŽŽ¡‘ãŒÃ4052Ž‘ûKÃÏ\DN@##1{\expandafter\gdef\expandafter#1\expandafter{\tmp@ŽŽ¡‘ãŒÃ4053Ž‘ mÏ\gdef\postXY@style@{##1}}}%ŽŽ¡‘ãŒÃ4054Ž‘ûKÃÏ\expandafter\next@\expandafter{\postXY@style@}\DN@{}}ŽŽ¦‘õŒ¹If–ÿëthe“same“Çh¹stš²!yleÇi“¹is“in˜tended“for“sev˜eral“Çh¹ob‘›»jectÇi¹s“ošMÞccurring“in“succession,‘!7the“Ï[Ž‘¿•|Ž‘?*]Ž‘þ~Çh¹mo˜di erÇi“¹canŽ¡‘õŒbMÞe–[mused“on“the“later“Çh¹ob‘›»jectÇi¹s.‘ÄßThis“only“wš²!orks“when“Ï[Ž‘ |Ž‘ÚÁ*]Ž‘µ‚¹precedes“an˜y“other“Çh¹st˜yleÇi“¹moMÞdi ers;‘tkitŽ¡‘õŒis–¦flošMÞcal“in“scop˜e,“reco•²!v“ering–¦fthe“last“Çh¹stš²!yleÇi¹s“used“at“the“same“lev˜el“of“T‘þ,³Ÿ[wEŽ‘B X“grouping.Ž©Pˆ‘ãŒÃ4064Ž‘õŒÏ\xydef@\prevXypreStyle@@{}ŽŽ¡‘ãŒÃ4065Ž‘õŒÏ\xydef@\prevXypostStyle@@{}ŽŽ¦‘ãŒÃ4067Ž‘õŒÏ\xydef@\saveXyStyle@{\expandafterŽŽ¡‘ãŒÃ4068Ž‘ûKÃÏ\def\expandafter\prevXypreStyle@@\expandafter{\preXY@style@}%ŽŽ¡‘ãŒÃ4069Ž‘ûKÃÏ\expandafter\def\expandafter\prevXypostStyle@@\expandafter{%ŽŽ¡‘ãŒÃ4070Ž‘ mÏ\postXY@style@}}ŽŽŽŽŒ‹<Ó• Á à ý*tj‘㌹60’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ4072Ž‘õŒÏ\xydef@\recoverXyStyle@{\expandafterŽŽ¤ ™š‘ãŒÃ4073Ž‘ûKÃÏ\gdef\expandafter\preXY@style@\expandafter{\prevXypreStyle@@}%ŽŽ¡‘ãŒÃ4074Ž‘ûKÃÏ\expandafter\gdef\expandafter\postXY@style@\expandafter{%ŽŽ¡‘ãŒÃ4075Ž‘ mÏ\prevXypostStyle@@}}ŽŽŸ$at‘õŒÔDe ning–‚new“e ects‘ ó5¹Alloš²!w–Ê+new“e ects“to“bMÞe“declared“and“a“default“action“pro˜vided.‘I+TheŽ¡‘õŒname–ÄGis“constructed“from“Ï#1Ž›â¹and“the“action“to“bMÞe“tak²!en“is“passed“as“Ï#2Ž‘C›¹.‘7€If“Ï#3Ž˜¹is“non-empt²!y“thenŽ¡‘õŒo•²!v“erwrite›¦fan“y˜existing˜de nition˜for˜a˜con“trol˜sequence˜of˜the˜same˜name.Ž©Pˆ‘ãŒÃ4088Ž‘õŒÏ\xydef@\newxystyle#1#2#3{%ŽŽ¡‘ãŒÃ4089Ž‘ûKÃÏ\DN@{#3}\ifx\next@\emptyŽŽ¡‘ãŒÃ4090Ž‘ mÏ\xydefcsname@{shape–¿ª[#1]}{\csname“xyshape@#1@\endcsname}%ŽŽ¡‘ãŒÃ4091Ž‘ûKÃÏ\else–¿ª\expandafter\def\csname“shape“[#1]\endcsname{%ŽŽ¡‘ãŒÃ4092Ž‘ mÏ\csname‘¿ªxyshape@#1@\endcsname}\fiŽŽ¡‘ãŒÃ4093Ž‘ûKÃÏ\DN@{#2}\ifx\next@\emptyŽŽ¡‘ãŒÃ4094Ž‘ mÏ\expandafter\def\csname‘¿ªxyshape@#1@\endcsname{%ŽŽ¡‘ãŒÃ4095Ž‘ËÏ\xyundefinedStyle@{#1}{}@@}%ŽŽ¡‘ãŒÃ4096Ž‘ mÏ\else–¿ª\expandafter\def\csname“xyshape@#1@\endcsname{#2}\fi}ŽŽ¦‘ãŒÃ4098Ž‘õŒÏ\xydef@\xyundefinedStyle@#1#2@@{%ŽŽ¡‘ãŒÃ4099Ž‘ûKÃÏ\xywarning@{style–¿ª#1“not“defined,“nothing“to“apply}}ŽŽŸé ‘õŒ¹SuppMÞort–÷²for“a“new“Çh¹stš²!yleÇi“¹tak˜es“the“follo˜wing“form,‘Lin“whic˜h“Ï\thestyle@Ž‘Cl¹expands“to“the“cur-Ž¡‘õŒrenš²!t–ÁÒv‘ÿdDalue“of“the“Çh¹st˜yleÇi“¹information“to“bMÞe“main˜tained.‘0 If“this“is“k˜ept“in“a“Çh¹coun˜tÇi“¹or“Çh¹dimenÇiŽ¡‘õŒ¹register,– Ûnamed‘ø^Ï\xystyle@Ž‘;­¶¹saš²!y‘ÿe,“then–ø^replace“Ï\thestyle@Ž‘Am`¹b˜y“Ï\the\style@Ž‘C4¬¹.‘ÓÄ(Ho˜w˜ev˜er“due“to“theŽ¡‘õŒlarge›ƒ×n•²!um“b•MÞer˜of˜Çh¹dimenÇi¹s˜already˜allo“cated,‘»3it˜is˜preferable˜to˜k²!eep˜a˜text˜form˜of˜the˜v‘ÿdDalue˜inŽ¡‘õŒÏ\thestyle@Ž‘/½¹.)ަ‘õŒÏ\xyshape@stylechange@{\modifystyle@{}}ŽŽ¡‘õŒ\xydef@\modifystyle@#1{\checkXyStyle@ŽŽ¡‘ûKÃ\edef\prevstyle@{\thestyle@}\modifystyle@@{#1}%ŽŽ¡‘ûKÃ\let\prestyle@=\prestyle@@‘¿ª\let\poststyle@=\poststyle@@ŽŽ¡‘ûKÃ\applystyle@\prestyle@{\thestyle@}\poststyle@{\prevstyle@}}ŽŽ¡‘õŒ\xydef@\resetstyle@@#1{\def\thestyle@{#1}\outputstyle@{#1}}ŽŽ¡‘õŒ\xydef@\outputstyle@#1{\transformstyle@{#1}%ŽŽ¡‘ûKÃ\expandafter\stylespecial@\expandafter{\next@}}ŽŽ¡‘õŒ\xylet@\transformstyle@@=\DN@ŽŽ¡‘õŒ\xylet@\transformstyle@=\transformstyle@@ŽŽŸé ‘õŒ¹In–|the“abMÞo•²!v“e–|the“macros“Ï\modifystyle@@Ž›Z¢D¹and“Ï\stylespecial@Ž˜¹are“adapted“to“the“particularŽ¡‘õŒÇh¹stš²!yleÇi–Ht¹information,‘[>see“bMÞelo˜w.‘¾ŒT˜ypically“Çh¹ho˜wÇi“¹is“actual“T‘þ,³Ÿ[wEŽ‘B X“coMÞde“and“Ï\modifystyle@@Ž‘W 4¹is“simplyŽ¡‘õŒÏ\literal@Ž‘-Ĺto–αexecute“this“co•MÞde.‘V¿Tš²!yp“esetting–αis“done“b˜y“Ï\stylespecial@#1Ž‘c˜¹whic˜h“is“t˜ypically“ofŽ¡‘õŒthe–¦fform“Ï\special{Ž‘7c`Çh¹k²!eyÇi“Ï#1}Ž‘åd¹.ŽŸ22‘õŒThe‘ÆåÏ\transformstyle@Ž‘cˆj¹is–Æårequired“in“case“a“dvi-Çh¹driv²!erÇi“¹needs“information“in“a“form“that“is“dif-Ž¡‘õŒferenš²!t–ß to“ho˜w‘ƵX‘ü·ŸâÃYŽŽ‘ F-pic“main˜tains“it“in“Ï\thestyle@Ž‘<[¯¹.‘›iA‘ÞØÇh¹driv˜erÇi“¹ le“should“de ne“Ï\Ž‘žµÇh¹driv˜erÇiÏ@style@@Ž‘0Ü[¹toŽ¡‘õŒpMÞerform–nïthe“transformation“and“place“its“result“in“Ï\next@Ž‘$ìë¹.‘v Install“this“macro“using“Ï\let\transformstyle@=\Ž’€ç‹Çh¹driv²!erÇiÏ@style@@ŽŽ¡‘õŒ¹within–¦fthe“Çh¹driv²!erÇi“¹installation“macro.ŽŸcb‘õŒNext–nïwš²!e“discuss“Ï\applystyle@Ž‘Gjç¹;‘ÖÂwhic˜h“uses“Ï\prestyle@Ž‘;듹,‘­:Ï\prestyle@@Ž‘A鈹,‘­:Ï\poststyle@Ž‘DXw¹and“Ï\poststyle@@Ž‘Gjç¹.Ž¡‘õŒThere–DÑare“t•²!w“o–DÑstrategies“here,‘XUa ecting“hoš²!w“m˜uc˜h“information“is“placed“in˜to“the“dvi- le,‘XUindicatedŽ¡‘õŒbš²!y–‹Þthe“alternativ˜e“expansions“giv˜en“abMÞo˜v˜e.‘ÕThe“appropriateness“for“a“giv˜en“st˜yle“m˜ust“bMÞe“decidedŽ¡‘õŒbš²!y–¦fthe“author“of“the“st˜yle-option.ŽŽŽŒ‹=â- Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹61ŽŽ ¶?? ýh«w‘õŒSuppšMÞose–Ãsev²!eral“mo˜di cations“are“made“to“a“particular“stš²!yle“parameter.‘õW‘ÿee“m˜ust“build“a“list“ofޤ ™š‘õŒcommands‘>!Ï\prestyle@{Ž‘BzoÇh¹v‘ÿdDalueÇiÏ}Ž‘¿ª¹,›Rûto–>!bMÞe“executed“later,˜whicš²!h“will“reco˜v˜er“the“required“v‘ÿdDalue.‘»AlsoŽ¡‘õŒw²!e–¦fbuild“a“list“of“commands“Ï\poststyle@{Ž‘H¢^Çh¹v›ÿdDalueÇiÏ}Ž‘ f¹to“reset“to“the“previous“v˜alue.Ž©¸‘õŒIn–—Ômost“cases“it“is“only“the“result“of“the“mošMÞdi cations“that“need“b˜e“placed“in²!to“the“dvi- le.‘ÙSinceŽ¡‘õŒwš²!e–ªído“not“kno˜w“ho˜w“man˜y‘ÿe,‘¬if“an˜y‘ÿe,‘¬more“moMÞdi cations“follo˜w“w˜e“could“store“eac˜h“new“result“ÐafterŽ¡‘õŒ¹the–C"previous,‘Vüso“that“its“e ect“will“o•²!v“erride–C"the“previous“v‘ÿdDalue.‘¼ÆThis“is“building“a“FIF²!O‘Clist“for“theŽ¡‘õŒÏ\prestyle@Ž‘2¯#¹commands,–¦fwith“a“FILO“list“for“the“Ï\poststyle@Ž‘F‰¹commands:ŽŸPˆ‘ãŒÃ4162Ž‘õŒÏ\xydef@\applyFIFOstyle@#1#2#3#4{\bgroupŽŽ¡‘ãŒÃ4163Ž‘ mÏ\styletoks@={\egroup\gdef\preXY@style@}%ŽŽ¡‘ãŒÃ4164Ž‘ mÏ\expandafter\toks@\expandafter{\preXY@style@}%ŽŽ¡‘ãŒÃ4165Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter#1\expandafter{#2}}%ŽŽ¡‘ãŒÃ4166Ž‘ mÏ\expandafter\addtostyletoks@\expandafter{\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ4167Ž‘ËÏ\gdef\postXY@style@}%ŽŽ¡‘ãŒÃ4168Ž‘ mÏ\expandafter\toks@\expandafter{\expandafter#3\expandafter{#4}}%ŽŽ¡‘ãŒÃ4169Ž‘ mÏ\expandafter\addtotoks@\expandafter{\postXY@style@}%ŽŽ¡‘ãŒÃ4170Ž‘ mÏ\expandafter\addtostyletoks@\expandafter{\expandafter{\the\toks@}}%ŽŽ¡‘ãŒÃ4171Ž‘ûKÃÏ\the\styletoks@‘¿ª}ŽŽŸG¦‘õŒ¹Use–¦fthis“via:‘ÝÝÏ\applyLIFOstyle@\prestyle@{\thestyle@}\poststyle@{\prevstyle@}Ž’iI ¹.Ž¡‘õŒWith–¢>this“methošMÞd“eac²!h“mo˜di cation“places“t•²!w“o›¢>en“tries˜in“to˜the˜dvi- le;‘øöthere˜is˜no˜need˜for˜separateŽ¡‘õŒÏ\prestyle@Ž‘2¯#¹and‘¦fÏ\prestyle@@Ž‘F‰¹macros.ަ‘õŒPš²!erhaps–¹ a“more“ecien˜t“strategy“is“to“build“a“LIF˜O‘¸Ælist“for“the“Ï\prestyle@Ž‘Bî¾¹commands.‘ÒThisŽ¡‘õŒw•²!a“y–åuthe“required“v‘ÿdDalue“is“encounš²!tered“ rst.‘› This“ rst“instance“should“then“cancel“all“subsequen˜tŽ¡‘õŒinstances–¿ÿof“Ï\prestyle@Ž‘<<£¹.›‘This“is“where“the“need“comes“for“a“Ï\prestyle@@Ž‘AüM¹.˜Accompan²!ying“this“is“aŽ¡‘õŒFIFš²!O‘Pñlist–Qfor“the“Ï\poststyle@Ž‘EÞ\¹commands,‘bwith“a“correspMÞonding“Ï\poststyle@@Ž‘Kž¹to“kill“subsequen˜tŽ¡‘õŒinstances:ŽŸPˆ‘ãŒÃ4190Ž‘õŒÏ\xydef@\applyLIFOstyle@#1#2#3#4{\bgroupŽŽ¡‘ãŒÃ4191Ž‘ mÏ\styletoks@={\egroup\gdef\preXY@style@}%ŽŽ¡‘ãŒÃ4192Ž‘ mÏ\expandafter\toks@\expandafter{\expandafter#1\expandafter{#2}}%ŽŽ¡‘ãŒÃ4193Ž‘ mÏ\expandafter\addtotoks@\expandafter{\preXY@style@}%ŽŽ¡‘ãŒÃ4194Ž‘ mÏ\expandafter\addtostyletoks@\expandafter{\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ4195Ž‘ËÏ\gdef\postXY@style@}%ŽŽ¡‘ãŒÃ4196Ž‘ mÏ\expandafter\toks@\expandafter{\postXY@style@}%ŽŽ¡‘ãŒÃ4197Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter#3\expandafter{#4}}%ŽŽ¡‘ãŒÃ4198Ž‘ mÏ\expandafter\addtostyletoks@\expandafter{\expandafter{\the\toks@}}%ŽŽ¡‘ãŒÃ4199Ž‘ûKÃÏ\the\styletoks@‘¿ª}ŽŽŸG¦‘õŒ¹Use–¦fthis“via:‘ÝÝÏ\applyLIFOstyle@\prestyle@{\thestyle@}\poststyle@{\prevstyle@}Ž’iI ¹.Ž¡‘õŒThe–µ&adv‘ÿdDanš²!tage“here“is“that“only“t˜w˜o“pieces“of“data“need“bMÞe“output“to“the“dvi- le,‘¸Õno“matter“ho˜wŽ¡‘õŒman²!y–¦fmoMÞdi cations“are“requested.ŽŸ‡Ö‘ãŒ1.4l.ŽŽ‘ýŸNSetting–ûòthe“currenš²!t“direction“is“simply“pretending“for“the“t˜ypMÞesetting“of“the“ob‘›»ject“(and“theŽ¡‘õŒfolloš²!wing–†ÛÇh¹moMÞdi erÇi¹s)“that“some“connection“set“it“{“the“Çh¹empt˜yÇi“¹case“just“inherits“the“previousŽ¡‘õŒdirection.ަ‘õŒThe–¦fcošMÞde“just“calls“the“general“Çh¹directionÇi“¹parser“b˜elo²!w:ŽŸPˆ‘ãŒÃ4223Ž‘õŒÏ\xydef@\OBJECT@direction{\afterDIRECTIONorEMPTY{%ŽŽ¡‘ãŒÃ4224Ž‘ mÏ\edef\next@{{\DirectionfromtheDirection@}}\expandafter\addtotoks@\next@ŽŽ¡‘ãŒÃ4225Ž‘ mÏ\xyFN@\OBJECT@}%ŽŽ¡‘ãŒÃ4226Ž‘ûKÃÏ{\xyFN@\OBJECT@}}ŽŽŽŽŒ‹>ñ¦ Á à ý*tj‘㌹62’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒ¹Here–@is“the“Çh¹directionÇi“¹parser:‘/ rst“the“parts“parsing“the“Çh¹diagÇi“¹part“then“the“parts“parsing“theޤ ™š‘õŒÇh¹trailerÇi‘¦f¹part:Ž©Pˆ‘ãŒÃ4233Ž‘õŒÏ\xydef@\afterDIRECTIONorEMPTY#1#2{%ŽŽ¡‘ãŒÃ4234Ž‘ûKÃÏ\DN@##1{\def\afterDIRECTION@{\def\afterDIRECTION@{##1}%ŽŽ¡‘ãŒÃ4235Ž‘ mÏ\ifDIRECTIONempty@\DN@{#2}\else\DN@{#1}\fi‘¿ª\next@}}%ŽŽ¡‘ãŒÃ4236Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterDIRECTION@}%ŽŽ¡‘ãŒÃ4237Ž‘ûKÃÏ\xyFN@\DIRECTION@}ŽŽ¦‘ãŒÃ4239Ž‘õŒÏ\xylet@\afterDIRECTION@=\emptyŽŽ¡‘ãŒÃ4240Ž‘õŒÏ\xynew@{if}\ifDIRECTIONempty@ŽŽ¦‘ãŒÃ4242Ž‘õŒÏ\xydef@\DIRECTION@{%ŽŽ¡‘ãŒÃ4243Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\DIRECTION@}%gobble“spacesŽŽ¡‘ãŒÃ4244Ž‘ûKÃÏ\else\ifx–¿ªv\next“\DN@“v{\DIRECTION@v}%ŽŽ¡‘ãŒÃ4245Ž‘ûKÃÏ\else\ifx–¿ª\bgroup\next“\let\next@=\DIRECTION@groupŽŽ¡‘ãŒÃ4246Ž‘ûKÃÏ\else\ifx–¿ª(\next“\DN@({\xyFN@\DIRECTION@open}%))ŽŽ¡‘ãŒÃ4247Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ4248Ž‘ mÏ\DN@{\count@=8‘¿ª%ŽŽ¡‘ãŒÃ4249Ž‘ËÏ\afterDIAG{\ifnum\count@=8–¿ª\DN@{\DIRECTIONempty@true“\xyFN@\DIRECTION@i}%ŽŽ¡‘ãŒÃ4250Ž‘ ŠÁÏ\else–¿ª\DN@{\xy@@{\dimen@=\xydashl@}\Directionfromdiag@}\fi“\next@}}%ŽŽ¡‘ãŒÃ4251Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ4253Ž‘õŒÏ\xydef@\DIRECTION@open{%ŽŽ¡‘ãŒÃ4254Ž‘ûKÃÏ\ifx–¿ª*\next“\DN@*##1*){\DIRECTION@group{##1}}%ŽŽ¡‘ãŒÃ4255Ž‘ûKÃÏ\else–¿ª\DN@{\xyerror@{(*““*)“expected}{}“\xyFN@\DIRECTION@i}%ŽŽ¡‘ãŒÃ4256Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŸ%l‘õŒÔDiagonal‘2directions.‘ ó5¹It–¦fis“particularly“easy“to“set“Çh¹diagÇi¹onal“directions:ŽŸD|N’¦¨=ïps: SDict begin xyc end‘7½Ÿýh0ï" {12.0 0 360 o}xyŽŽŽŽŽ‘Ÿ"±©ÏdlŽ‘‰ûŸ"±©¹=‘ §ÏldŽŽŽŽŽŽŸýh0‘$¦Ÿ˜hï" {-19.11005 -19.11005 l}xyŽŽŽ‘$¦Ÿ˜ï" {0 10 /xy AB}xyŽŽŽŽ‘4Ý9Ÿ0À¹dŽŽŽŽŽŸýh0‘7½Ÿ)§xï" {0.0 -29.65417 l}xyŽŽŽ‘7½Ÿ'¨ï" {1024 10 /xy AB}xyŽŽŽŽ‘FáàŸ"±©drŽ‘UkÛŸ"±©¹=‘ §ÏrdŽŽŽŽŽŽ‘SW Ÿ˜ï" {19.11626 -19.11005 l}xyŽŽŽ‘SW Ÿ˜ï" {2048 10 /xy AB}xyŽŽŽŽ‘dÝ9žÃ§rŽŽŽŽŽ‘aÝ9Ÿýh0ï" {30.12566 0.0 l}xyŽŽŽ‘aÝ9Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘FáàŸÝÒ·urŽ‘UkÛŸÝÒ·¹=‘ §ÏruŽŽŽŽŽŽŸýh0‘TR‡Ÿãj‡ï" {20.09859 20.09859 l}xyŽŽŽ‘TR‡ŸàÒ·ï" {-4096 10 /xy AB}xyŽŽŽŽ‘4Ý9ŸÏçuŽŽŽŽŽŸýh0‘7½ŸÕ[wï" {0.0 30.64272 l}xyŽŽŽ‘7½ŸÒçï" {-3072 10 /xy AB}xyŽŽŽŽ‘ŸÞÏÉulŽ‘‰ûŸÞÏɹ=‘ §ÏluŽŽŽŽŽŽ‘#ŸáÏÉï" {-19.11624 19.11003 l}xyŽŽŽ‘#ŸáÏÉï" {-2048 10 /xy AB}xyŽŽŽŽ‘Ý9ŸÀ¹lŽŽŽŽŽ‘ œãŸýh0ï" {-30.12566 0.0 l}xyŽŽŽ‘ œãŸýh0ï" {-1024 10 /xy AB}xyŽŽŽŽŽŽŽŽŸIåd‘õŒ¹More–¦fto“the“pMÞoinš²!t,“Çh¹diagÇi¹onals“are“stored“in˜ternally“asŽŸ9y_’´…vïps: SDict begin xyc end‘)ßÕŸýh0ï" {12.0 0 360 o}xyŽŽŽŽŽ‘ ‹LŸ5mÏ0ŽŽŽŽŽŸýh0‘JöŸ”ßï" {-11.09624 -11.09624 l}xyŽŽŽ‘JöŸýï" {0 10 /xy AB}xyŽŽŽŽ‘'Ÿ$À¹1ŽŽŽŽŽŸýh0‘)ßÕŸ§xï" {0.0 -17.65417 l}xyŽŽŽ‘)ßÕŸ¨ï" {1024 10 /xy AB}xyŽŽŽŽ‘@t´Ÿ5m2ŽŽŽŽŽ‘=t´Ÿþ‡ï" {11.09624 -11.10197 l}xyŽŽŽ‘=t´Ÿþ‡ï" {2048 10 /xy AB}xyŽŽŽŽ‘KŸÀ¹3ŽŽŽŽŽ‘HŸýh0ï" {18.12566 0.0 l}xyŽŽŽ‘HŸýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘@t´ŸçL4ŽŽŽŽŽŸýh0‘=t´Ÿìk!ï" {11.09624 11.09624 l}xyŽŽŽ‘=t´ŸéÓQï" {-4096 10 /xy AB}xyŽŽŽŽ‘'ŸÜÀ¹5ŽŽŽŽŽŸýh0‘)ßÕŸâX‰ï" {0.0 17.65416 l}xyŽŽŽ‘)ßÕŸßÀ¹ï" {-3072 10 /xy AB}xyŽŽŽŽ‘ ‹LŸçL6ŽŽŽŽŽ‘JöŸéÑÙï" {-11.09624 11.10197 l}xyŽŽŽ‘JöŸéÑÙï" {-2048 10 /xy AB}xyŽŽŽŽ‘ŸÀ¹7ŽŽŽŽŽ‘ ¿ªŸýh0ï" {-18.12566 0.0 l}xyŽŽŽ‘ ¿ªŸýh0ï" {-1024 10 /xy AB}xyŽŽŽŽŽŽŽŽŸ9ÃZ‘õŒ¹Expanding‘ïÇÏ\afterDIAG{Ž‘D,Çh¹stu ÇiÏ}Ž‘¿ªÇh¹diagÇi–ïǹwill“result“in“Ï\count@Ž‘24¹bšMÞeing“set“to“the“Çh¹diagÇi“¹co˜de“(notŽ¡‘õŒcš²!hanged–¦fin“case“the“Çh¹diagÇi“¹is“Çh¹empt˜yÇi¹)“bMÞefore“expanding“Çh¹stu Çi¹.ަ‘ãŒÃ4297Ž‘õŒÏ\def\afterDIAG#1{\def\afterDIAG@{#1}\xyFN@\DIAG@}ŽŽ¦‘ãŒÃ4299Ž‘õŒÏ\xydef@\DIAG@{%ŽŽŽŽŒ‹?X Á à ý*tj‘ãŒÑ1.4.‘„COBJECTS’‹ñÕ¹63ŽŽ ¶?? ýh«w‘ãŒÃ4300Ž‘ûKÃÏ\ifx–¿ªd\next“\DN@“d{\count@=1“\xyFN@\DIAG@@}%ŽŽ¤ ™š‘ãŒÃ4301Ž‘ûKÃÏ\else\ifx–¿ªr\next“\DN@“r{\count@=3“\xyFN@\DIAG@@}%ŽŽ¡‘ãŒÃ4302Ž‘ûKÃÏ\else\ifx–¿ªu\next“\DN@“u{\count@=5“\xyFN@\DIAG@@}%ŽŽ¡‘ãŒÃ4303Ž‘ûKÃÏ\else\ifx–¿ªl\next“\DN@“l{\count@=7“\xyFN@\DIAG@@}%ŽŽ¡‘ãŒÃ4304Ž‘ûKÃÏ\else‘¿ª\let\next@=\afterDIAG@ŽŽ¡‘ãŒÃ4305Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ4307Ž‘õŒÏ\xydef@\DIAG@@{\ifcase\count@‘¿ª\orŽŽ¡‘ãŒÃ4308Ž‘õŒÏ%\count@=1Ž‘tµ3Ž’æýý5Ž’Y÷E7ŽŽ¡‘ãŒÃ4309Ž‘ûKÃÏ\DIAG@@@–¿ªl0r2\or\or“\DIAG@@@“d2u4\or\or“\DIAG@@@“r4l6\or\or“\DIAG@@@“u6d0%ŽŽ¡‘ãŒÃ4310Ž‘ûKÃÏ\else\xybug@{impossible–¿ª“number}\fiŽŽ¡‘ãŒÃ4311Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ4313Ž‘õŒÏ\xydef@\DIAG@@@#1#2#3#4{%ŽŽ¡‘ãŒÃ4314Ž‘ûKÃÏ\ifx–¿ª#1\next“\count@=#2\DN@#1{\afterDIAG@}%ŽŽ¡‘ãŒÃ4315Ž‘ûKÃÏ\else–¿ª\ifx“#3\next“\count@=#4\DN@#3{\afterDIAG@}%ŽŽ¡‘ãŒÃ4316Ž‘ûKÃÏ\else–¿ª\let\next@=\afterDIAG@“\fi\fi}ŽŽŸl‘õŒ¹The–Äaction“in“case“of“a“Çh¹diagÇi“¹is“simply“to“picš²!k“the“righ˜t“direction“setup“routine“according“to“theŽ¡‘õŒencoMÞding,–¦fgetting“the“Çh¹diagÇi“¹from“Ï\count@Ž‘/Šr¹and“the“length“of“the“Äd“¹v²!ector“from“Ï\dimen@Ž‘+ä ¹:ަ‘ãŒÃ4324Ž‘õŒÏ\xydef@\Directionfromdiag@{\ifcase\count@ŽŽ¡‘ãŒÃ4325Ž‘JkÏ\xy@@{\dlDirection@\dimen@}%ŽŽ¡‘ãŒÃ4326Ž‘ûKÃÏ\or‘¿ª\xy@@{\dDirection@\dimen@}%ŽŽ¡‘ãŒÃ4327Ž‘ûKÃÏ\or‘¿ª\xy@@{\drDirection@\dimen@}%ŽŽ¡‘ãŒÃ4328Ž‘ûKÃÏ\or‘¿ª\xy@@{\rDirection@\dimen@}%ŽŽ¡‘ãŒÃ4329Ž‘ûKÃÏ\or‘¿ª\xy@@{\urDirection@\dimen@}%ŽŽ¡‘ãŒÃ4330Ž‘ûKÃÏ\or‘¿ª\xy@@{\uDirection@\dimen@}%ŽŽ¡‘ãŒÃ4331Ž‘ûKÃÏ\or‘¿ª\xy@@{\ulDirection@\dimen@}%ŽŽ¡‘ãŒÃ4332Ž‘ûKÃÏ\or‘¿ª\xy@@{\lDirection@\dimen@}%ŽŽ¡‘ãŒÃ4333Ž‘ûKÃÏ\or–¿ª%“8“is“legal“and“means“change“nothingŽŽ¡‘ãŒÃ4334Ž‘ûKÃÏ\else\xybug@{impossible‘¿ª}\fiŽŽ¡‘ãŒÃ4335Ž‘ûKÃÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}ŽŽŸ7š•‘õŒÔV‘þó\ector‘éãdirections.‘ ó5¹Alternativ•²!ely‘g6ÏvŽ‘ &àÇh¹v“ectorÇi–g6¹sets“the“direction“as“if“the“connection“from“Ï0Ž‘ ޹to“theŽ¡‘õŒÇh¹vš²!ectorÇi–çx¹had“bMÞeen“t˜ypMÞeset“except“that“the“Ðorigin‘¾ƒ¹is“assumed“zero“suc˜h“that“directions“Ïv(Ž‘fÌÄxÏ,Ž‘¿ªÄyd“Ï)Ž‘ µ¹meanŽ¡‘õŒthe–¦fnatural“thing,“Ði¹.Ðe¹.,“is“the“direction“of“the“connection“from“Ï(0,0)Ž‘$ ¹to“Ï(Ž‘ fÄxÏ,Ž‘¿ªÄyd“Ï)Ž‘$=¹.ŽŸM~‘õŒThe–ÖÞaction“for“a“ÏvŽ‘ mf¹reads“a“Çh¹vš²!ectorÇi“¹and“sets“the“direction“accordingly“using“some“expansion“hac˜k˜eryŽ¡‘õŒto–¦fpropagate“it“out.‘ÝÝThe“Ðorigin‘}q¹is“cleared“lošMÞcally“to“mak²!e“Ïv(Ž‘%ºÄxÏ,Ž‘¿ªÄyd“Ï)Ž‘ Ê£¹b˜eha•²!v“e–¦fas“it“should.ަ‘ãŒÃ4356Ž‘õŒÏ\xydef@\DIRECTION@v{%ŽŽ¡‘ãŒÃ4357Ž‘ûKÃÏ\xy@{v}{\enter@{\cfromthec@–¿ª\X@origin=\the\X@origin“\Y@origin=\the\Y@originŽŽ¡‘ãŒÃ4358Ž‘ËÏ\X@p=\the\X@p‘¿ª\Y@p=\the\Y@p}%ŽŽ¡‘ãŒÃ4359Ž‘ mÏ\X@origin=\z@‘¿ª\Y@origin=\z@}%ŽŽ¡‘ãŒÃ4360Ž‘ûKÃÏ\afterVECTORorEMPTYŽŽ¡‘ãŒÃ4361Ž‘ mÏ{\xy@@{\X@p=\z@–¿ª\Y@p=\z@“\setupDirection@“\leave@}%ŽŽ¡‘ãŒÃ4362Ž‘ËÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}%ŽŽ¡‘ãŒÃ4363Ž‘ mÏ{\xy@@\leave@–¿ª\xyerror@{“expected“after“v}{}%ŽŽ¡‘ãŒÃ4364Ž‘ËÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}}ŽŽŽŽŒ‹@¥ Á à ý*tj‘㌹64’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒÔComplex‘õƒdirection.‘ ó5¹In–qRcase“the“direction“is“not“as“simple,‘{ðy²!ou“can“construct“Ï{Ž‘ ¢NÇh¹pMÞosÇi“h¹decorÇi“Ï}ŽŽ¤ ™š‘õŒ¹that–lÃsets“up“Äp“¹and“Äc“¹sucš²!h“that“Ÿúã‰fe ?vŸêÄpcŽŽ‘ü¹has“the“desired“direction.‘ʧÔNote:‘Á ¹that“y˜ou“m˜ust“use“the“Ï(*Ž‘ì¹.–Ó3.“.“Ï*)ŽŽ¡‘õŒ¹form–¦fif“this“is“to“appšMÞear“in“an“ob‘›»ject“Çh¹mo˜di erÇi¹!Ž©ʶ‘õŒThe–¦fcoMÞde“for“this“is“rather“likš²!e“the“one“for“Çh¹v˜ectorÇi¹s.ŽŸPˆ‘ãŒÃ4381Ž‘õŒÏ\xydef@\DIRECTION@group#1{%ŽŽ¡‘ãŒÃ4382Ž‘ûKÃÏ\xy@@{\begingroup}\xy@@ix@{#1}\xy@@{\plainxy@\expandafter\POS\the\toks9\relaxŽŽ¡‘ãŒÃ4383Ž‘ mÏ\setupDirection@\edef\next@{\endgroup‘¿ª\DirectionfromtheDirection@}\next@}%ŽŽ¡‘ãŒÃ4384Ž‘ûKÃÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}ŽŽŸ(u¨‘õŒÔExercise‘21.12:‘ ó5¹What–¦fe ect“is“ac•²!hiev“ed›¦fb“y˜using˜Çh¹moMÞdi erÇi¹s˜Ïv/1pc/Ž‘)Êȹand˜Ïv/-1pc/Ž‘+ä ¹?ŽŸûÒ‘ãŒ1.4m.ŽŽ‘´¤Once–&èthe“initial“direction“is“established“as“either“the“last“one“or“an“absolute“one“then“theŽ¡‘õŒremainder–¦fof“the“Çh¹directionÇi“¹is“in²!terpreted.ަ‘õŒAdding–ª¢a“single“Ï^Ž›î¹or“Ï_Ž˜¹denotes“the“result“of“rotating“the“default“direction“a“righ²!t“angle“in“theŽ¡‘õŒpMÞositivš²!e–Äxand“negativ˜e“direction,–ËýÐi¹.Ðe¹.,“an˜ti-/cloMÞc˜kwise,“respMÞectiv˜ely‘ÿe.‘8ÔNote:‘¹Do–ÄxÐnot‘Îb¹use“Ï^Ž‘ „"^Ž‘D¹but“onlyŽ¡‘õŒÏ__Ž‘±Ó¹to–¦frev²!erse“the“direction!ަ‘õŒA‘8¡trailing‘8½Ï:Ž‘øgÇh¹vš²!ectorÇi–8½¹is“lik˜e“ÏvŽ‘øgÇh¹v˜ectorÇi“¹but“uses“the“Çh¹directionÇi“¹to“set“up“a“standard“square“base“suc˜hŽ¡‘õŒthat‘¦fÏ:(0,1)Ž›)Êȹand‘¦fÏ:(0,-1)Ž‘/Šr¹mean–¦fthe“same“as“Ï:a(90)Ž˜¹and“Ï:a(-90)Ž‘/Šr¹and“as“Ï^Ž‘ v¹and“Ï_Ž‘ f¹,“respMÞectiv²!ely‘ÿe.ŽŸPˆ‘ãŒÃ4414Ž‘õŒÏ\xydef@\DIRECTION@i{%ŽŽ¡‘ãŒÃ4415Ž‘ûKÃÏ\ifx–¿ª^\next“\DN@“^{\xy@^{\aboveDirection@\xydashl@}%ŽŽ¡‘ãŒÃ4416Ž‘ËÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}%ŽŽ¡‘ãŒÃ4417Ž‘ûKÃÏ\else\ifx–¿ª_\next“\DN@“_{\xy@_{\belowDirection@\xydashl@}%ŽŽ¡‘ãŒÃ4418Ž‘ËÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}%ŽŽ¡‘ãŒÃ4419Ž‘ûKÃÏ\else\ifx–¿ª:\next“\DN@“:{%ŽŽ¡‘ãŒÃ4420Ž‘ mÏ\xy@{:}{\enter@{\cfromthec@–¿ª\basefromthebase@“\X@p=\the\X@p“\Y@p=\the\Y@p}%ŽŽ¡‘ãŒÃ4421Ž‘ËÏ\X@origin=\z@‘¿ª\Y@origin=\z@ŽŽ¡‘ãŒÃ4422Ž‘ËÏ\X@xbase=\cosDirection\xydashl@‘¿ª\Y@xbase=\sinDirection\xydashl@ŽŽ¡‘ãŒÃ4423Ž‘ËÏ\X@ybase=-\Y@xbase‘¿ª\Y@ybase=\X@xbase}%ŽŽ¡‘ãŒÃ4424Ž‘ mÏ\afterVECTORorEMPTYŽŽ¡‘ãŒÃ4425Ž‘ËÏ{\xy@@{\X@p=\z@–¿ª\Y@p=\z@“\setupDirection@“\leave@}%ŽŽ¡‘ãŒÃ4426Ž‘ ŠÁÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}%ŽŽ¡‘ãŒÃ4427Ž‘ËÏ{\xy@@\leave@–¿ª\xyerror@{“expected“after“:}{}%ŽŽ¡‘ãŒÃ4428Ž‘ ŠÁÏ\DIRECTIONempty@false‘¿ª\xyFN@\DIRECTION@i}}%ŽŽ¡‘ãŒÃ4429Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ4430Ž‘ mÏ\let\next@=\afterDIRECTION@ŽŽ¡‘ãŒÃ4431Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}ŽŽŸ(u¨‘õŒÔExercise‘21.13:‘ ó5¹What–¦fe ect“is“ac•²!hiev“ed›¦fb“y˜using˜Çh¹moMÞdi erÇi¹s˜Ïv/1pc/:(1,0)Ž‘LHĹand˜Ïv/-1pc/__Ž‘7c`¹?ŽŸ$zN‘ãŒÝ1.5Ž‘r|DecorationsŽŸ{ø‘ãŒÃ4454Ž‘õŒÏ\message{decorations;}ŽŽŸ©‘ãŒÇh¹DecorÇi¹ations–pare“actual“T‘þ,³Ÿ[wEŽ‘B X“macros“that“decorate“the“curren²!t“picture“in“manners“that“depMÞend“onŽ¡‘ãŒthe–8Ÿstate.›¹FThey“are“allo•²!w“ed–8ŸÐafter‘fZ¹the“Çh¹pMÞosÇi¹ition“either“of“the“outer“Ï\xy¹.–Ó3.“.“Ï\endxy–8Ÿ¹or“inside“Ï{Ž‘øI¹.–Ó3.“.“Ï}Ž‘’ݹ.˜TheŽ¡‘ãŒpšMÞossibilities–¦fare“giv²!en“in“ gure“1.6“with“notes“b˜elo²!w.ŽŽŽŒ‹AL Á à ý*tj‘ãŒÑ1.5.‘„CDECORA‘ÿeTIONS’lën¹65ŽŽ ¶?? þ‹] þÒNq‘㌟ ff‰ffã²dŸ {„‘yšSyn²!taxŽ’ "ActionŽŽŽŽŸ‡w‰ffã²dŸ …‘yšÇh¹decorÇiŽ‘A³:ŽŽŽ‘HdO!ŽŽ‘XÑh¹commandÇi‘¦fh¹decorÇiŽ’ "¹either–¦fthere“is“a“command.–Ó3.“.ŽŽŽŽ© ™š‘I ÇjŽŽ‘XÑh¹empt²!yÇiŽ’ "¹.–Ó3.“.“or–¦fthere“isn't.ŽŽŽŽ¤†‘yšÇh¹commandÇiŽ‘A³:ŽŽŽ‘HdO!ŽŽ‘XÑÏ\save‘¦fÇh¹pMÞosÇiŽ’ "¹sa•²!v“e–¦fstateŸü¾²1.5aŽ‘G ¹,“then“do“Çh¹pMÞosÇiŽŽŽŽ¡‘I jŽŽ‘XÑÏ\restoreŽ’ "¹restore›¦fstateŸü¾²1.5aŽ‘톹sa•²!v“ed˜b“y˜matcing˜Ï\saveŽŽŽŽŽ¦‘I ÇjŽŽ‘XÑÏ\POS‘¦fÇh¹pMÞosÇiŽ’ "¹in²!terpret‘¦fÇh¹pMÞosÇiŽŽŽŽ¦‘I jŽŽ‘XÑÏ\afterPOS‘¦f{Ž– vÇh¹decorÇi‘¦fÏ}Ž“Çh¹pMÞosÇiŽ’ "¹in²!terpret–¦fÇh¹pšMÞosÇi“¹and“then“p˜erform“Çh¹decorÇiŽŽŽŽ¦‘I jŽŽ‘XÑÏ\drop‘¦fÇh¹ob‘›»jectÇiŽ’ "¹drop–¦fÇh¹ob‘›»jectÇi“¹as“the“Çh¹pšMÞosÇi“Ï*Ž‘ v¹op˜erationŽŽŽŽ¦‘I ÇjŽŽ‘XÑÏ\connect‘¦fÇh¹ob‘›»jectÇiŽ’ "¹connect–¦fwith“Çh¹ob‘›»jectÇi“¹as“the“Çh¹pšMÞosÇi“Ï**Ž‘Ì ¹op˜erationŽŽŽŽ¦‘I ÇjŽŽ‘XÑÏ\relaxŽ’ "¹do‘¦fnothingŽŽŽŽ¤ÿ†‘I ÇjŽŽ‘XÑh¹T‘þ,³Ÿ[wEŽ‘B X‘¦fcommandsÇiŽ’ "¹an²!y–¦fT‘þ,³Ÿ[wEŽ‘B X“commandsŸü¾²1.5bŽ‘{¿¹and“user-de ned“macrosަ’ "that–Qãneither“generates“output“(w•²!atc“h–Qãout“for“stra²!yަ’ "spaces!),–¦fnor“cš²!hanges“the“grouping,“ma˜y“bMÞe“usedŽŽŽŽŸ)[ ‘I ÇjŽŽ‘XÑÏ\xyverbose‘¦fÇjŽ– WwÏ\xytracing‘¦fÇjŽ“Ï\xyquietŽ’"¹tracingŸü¾²1.5cŽ‘_L¹commandsŽŽŽŽ¡‘I ÇjŽŽ‘XÑÏ\xyignore‘¦f{Ž‘ fÇh¹pMÞosÇi‘¦fh¹decorÇiÏ}ŽŽ’ "¹ignoreŸü¾²1.5dŽ‘ci¹X‘ü·ŸâÃYŽŽ‘ âÉ-coMÞdeŽŽŽŽ¤†‘I ÇjŽŽ‘XÑÏ\xycompile‘¦f{Ž‘ fÇh¹pMÞosÇi‘¦fh¹decorÇiÏ}ŽŽ’ "¹compileŸü¾²1.5eŽ‘_L¹to–¦f le“Çh¹pre xÇih¹noÇiÏ.xycŽŽŽŽŽ¡‘I ÇjŽŽ‘XÑÏ\xycompileto{Ž‘¿ªÇh¹nameÇiÏ}{Ž‘ TÇh¹pMÞosÇih¹decorÇiÏ}ŽŽ’"¹compileŸü¾²1.5eŽ‘_L¹to–¦f le“Çh¹nameÇiÏ.xycŽŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’´¹ß¹Figure‘¦f1.6:‘ÝÝÇh¹decorÇi¹ations.ŽŽŽŸ wC‘ôŒMost–ÿoptions“add“to“the“aš²!v‘ÿdDailable“Çh¹decorÇi¹,‘ ëin“particular“the“Ïv2Ž‘~n¹option“loads“man˜y“more“since‘ç7X‘ü·ŸâÃYŽŽ‘ f—-picޤ ™š‘ãŒvš²!ersions–¦fprior“to“2.7“pro˜vided“most“features“as“Çh¹decorÇi¹.ŽŸ![‘ãŒÔSimple‘½decorations:‘ UÏ\POS–@¹and›@/Ï\afterPOS“¹ha•²!v“e˜already˜bMÞeen˜de ned;‘bAthe˜follo“wing˜are˜just˜simpleŽ¡‘ãŒapplications–¦fof“previously“de ned“commands:Ž©Pˆ‘ãŒÃ4531Ž‘õŒÏ\xydef@\drop#1#{\DN@##1{\xy@@ix@{{#1}{##1}}%ŽŽ¡‘ãŒÃ4532Ž‘ûKÃÏ\xy@{\drop#1{##1}}{\expandafter\drop@\the\toks9‘¿ª}\ignorespaces}\next@}ŽŽ¦‘ãŒÃ4534Ž‘õŒÏ\xydef@\connect#1#{\DN@##1{\xy@@ix@{{#1}{##1}}%ŽŽ¡‘ãŒÃ4535Ž‘ûKÃÏ\xy@{\connect#1{##1}}{\expandafter\connect@\the\toks9‘¿ª}\ignorespaces}\next@}ŽŽ¦‘ãŒÃ4537Ž‘õŒÏ\xydef@\preconnect#1#{\DN@##1{\xy@@ix@{{#1}{##1}}%ŽŽ¡‘ãŒÃ4538Ž‘ûKÃÏ\xy@{\connect#1{##1}}{\expandafter\preconnect@\the\toks9‘¿ª}\ignorespaces}\next@}ŽŽŸ%ÓI‘ãŒÔNotesŽŸŠ‘ãŒ¹1.5a.ŽŽ=Saš²!ving–$and“restoring“allo˜ws“`excursions'“where“lots“of“things“are“added“to“the“picture“withoutŽ¡‘õŒa ecting–ÜÙthe“resulting‘ăX‘ü·ŸâÃYŽŽ‘Cã-pic“state,–êuÐi¹.Ðe¹.,“Äc¹,“Äp¹,“and›ÜÙÐb‘ÿp¹ase‘Ò¡¹,“and˜without˜requiring˜matc²!hing˜Ï{}Ž‘\-¹s.‘5TheŽ¡‘õŒindepMÞendence–!of“Ï{}Ž‘}–¹is“particularly“useful“in“conjunction“with“the“Ï\afterPOS‘~Ö¹command,‘º/for“example,Ž¡‘õŒthe‘¦fde nitionަ‘õŒÏ\def\ToPOS{\save\afterPOS{%ŽŽ¡‘ m\POS**{}?>*@2{>}**@{-}\restore};p,}ŽŽŸGË‘õŒ¹will–>cause“the“cošMÞde“Ï\ToPOSŽ‘&»ýÇh¹p˜osÇi“¹to“construct“a“double-shafted“arroš²!w“from“the“curren˜t“ob‘›»ject“toŽ¡‘õŒthe–”5Çh¹pMÞosÇi“¹(computed“relativš²!e“to“it)“suc˜h“that“Ï\xy–¿ª*{A}“\ToPOS“+<10mm,2mm>\endxy–”5¹will“t˜ypMÞesetŽ¡‘õŒthe‘¦fpictureïps: SDict begin xyc endŸ½ÂÄAŽŽŽŽ‘ ŸúO9ï" {3277 /XT tt}xyŽŽŽŽ‘ ŸúÅ1ï" {21.8892 4.40767 l}xyŽŽŽŽŽŽ‘#¹.ŽŽŽŒ‹B+ Á à ý*tj‘㌹66’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒÔNote:‘ ó5¹Saš²!ving–nïthis“w˜a˜y“in“fact“uses“the“same“state“as“the“Ï{}Ž‘]2¹`grouping',‘­:so“the“coMÞde“ÄpŸ¤zÂ1Ž‘ÀÏ,Ž‘ î{Ž‘®GÄpŸ¤zÂ2Ž‘ÀÏ\save},ŽŽ¤ ™š‘õŒ¹.–Ó3.“.‘y™Ï{\restore}Ž‘Bœ£¹will›¦fha•²!v“e˜Äc– §¹=“ÄpŸ¤zÂ1Ž‘fj¹bMÞoth˜at˜the˜.–Ó3.“.‘y™and˜at˜the˜end!Ž©Pˆ‘ãŒÃ4576Ž‘õŒÏ\xydef@\save{\relax\saveC}ŽŽ¡‘ãŒÃ4577Ž‘õŒÏ\xydef@\saveC{\xy@\save\save@‘¿ª\POS}ŽŽ¦‘ãŒÃ4579Ž‘õŒÏ\xydef@\save@{\enter@{\cfromthec@–¿ª\pfromthep@“\basefromthebase@}}ŽŽ¦‘ãŒÃ4581Ž‘õŒÏ\xydef@\restore{\xy@\restore\leave@‘¿ª\ignorespaces}ŽŽŸy"‘㌹1.5b.ŽŽ‘©ùOne–dv²!ery“tempting“kind“of“T‘þ,³Ÿ[wEŽ‘B X“commands“to“pšMÞerform“as“Çh¹decorÇi“¹is“arithmetic“op˜erations“onŽ¡‘õŒthe‘÷eX‘ü·ŸâÃYŽŽ›vÅ-pic–»state.‘ÜThis“will“w²!ork“in“simple‘÷eX‘ü·ŸâÃYŽŽ˜-pictures“as“describšMÞed“here“but“b˜e“w²!arned:‘°‡Ðit–KÒis“notŽ¡‘õŒp‘ÿp¹ortable‘ÝF¹bMÞecause– ¥all‘òOX‘ü·ŸâÃYŽŽ‘q¯-pic“execution“is“indirect,‘#´and“this“is“used“bš²!y“sev˜eral“options“in“non˜trivialŽ¡‘õŒw•²!a“ys.‘ÝÝChec“k–¦fthe“T‘þ,³Ÿ[wEŽ‘B X-nical“došMÞcumen²!tation“[15Ž‘ ó4]“for“details“ab˜out“this!ޤ­ç‘õŒMacros–¦fthat“expand“to“Çh¹decorÇi“¹will“alw•²!a“ys–¦fdo“the“same,“though.Ž¡‘õŒT‘þ,³Ÿ[wEŽ‘B X›5Ihac•²!k“ers˜lik“e˜the˜author˜ma“y˜enjo“y˜c“hanging˜the‘óX‘ü·ŸâÃYŽŽ‘ œS-pic˜state˜directly˜using˜Çh¹decorÇi˜¹of˜the˜formޤ ™š‘õŒÏ\xy@{Ž‘JkÇh¹idÇiÏ}{Ž‘ TÇh¹coMÞdeÇiÏ}Ž‘¿ª¹.–Ó3.“.ŽŸÂ4‘ãŒ1.5c.ŽŽ‘ÿrÏ\xyecho–, ¹will“turn“on“ecš²!hoing“of“all“in˜terpreted‘µX‘ü·ŸâÃYŽŽ‘“-pic“Çh¹pMÞosÇi“¹c˜haracters.‘nËÔBug:‘é'¹Not“completelyŽ¡‘õŒimplemen•²!ted›s+y“et.‘ÌÉÏ\xyverbose˜¹will˜switc“h˜on˜a˜tracing˜of˜all‘ZÕX‘ü·ŸâÃYŽŽ‘ Ú5-pic˜commands˜executed,‘}jwith˜lineŽ¡‘õŒn•²!um“bMÞers.‘ÍSÏ\xytracing–tǹtraces“evš²!en“more:‘Åthe“en˜tire‘\qX‘ü·ŸâÃYŽŽ‘ ÛÑ-pic“state“is“prin˜ted“after“eac˜h“moMÞdi cation.Ž¡‘õŒÏ\xyquiet–¦f¹restores“default“quiet“opMÞeration.ŽŸ­ç‘õŒThe––,tricš²!k“is“to“replace“the“Ï\xy@Ž‘+¹command“suc˜h“that“it“calls“the“`normal'“one“bMÞet˜w˜een“writing“outŽ¡‘õŒa–¦ftrace“message“and“the“state.ަ‘ãŒÃ4619Ž‘õŒÏ\xydef@\xyecho{%ŽŽ¡‘ãŒÃ4620Ž‘ûKÃÏ\xy@\xyecho{\let\xy@=\xyecho@‘¿ª\message{\string\xyecho}}\POS}ŽŽ¦‘ãŒÃ4622Ž‘õŒÏ\xydef@\xyecho@#1#2{{\def\1{#1}\ifx\1\empty\else\message{\codeof\1}\fi}%ŽŽ¡‘ãŒÃ4623Ž‘ûKÃÏ\oxy@{#1}{#2}}ŽŽ¦‘ãŒÃ4625Ž‘õŒÏ\xydef@\xyverbose{%ŽŽ¡‘ãŒÃ4626Ž‘ûKÃÏ\xy@\xyverbose{\let\xy@=\xyverbose@ŽŽ¡‘ãŒÃ4627Ž‘ûKÃÏ\W@{Xy:‘¿ª\string\xyverbose\xytracelineno@}}\POS}ŽŽ¦‘ãŒÃ4629Ž‘õŒÏ\xydef@\xyverbose@#1#2{%ŽŽ¡‘ãŒÃ4630Ž‘ûKÃÏ{\def\1{#1}\ifx\1\empty\else\W@{Xy:‘¿ª\codeof\1\xytracelineno@}\fi}%ŽŽ¡‘ãŒÃ4631Ž‘ûKÃÏ\oxy@{#1}{#2}}ŽŽ¦‘ãŒÃ4633Ž‘õŒÏ\xydef@\xytracing{%ŽŽ¡‘ãŒÃ4634Ž‘ûKÃÏ\xy@\xytracing{\let\xy@=\xytracing@ŽŽ¡‘ãŒÃ4635Ž‘ûKÃÏ\W@{Xy–¿ªTRACE:“\string\xytracing\xytracelineno@}\xystatus@:}\POS}ŽŽ¦‘ãŒÃ4637Ž‘õŒÏ\xydef@\xytracing@#1#2{{\def\1{#1}\def\2{#2}%ŽŽ¡‘ãŒÃ4638Ž‘ûKÃÏ\W@{Xy–¿ªTRACE:“\codeof\1“{\codeof\2}\xytracelineno@}}\oxy@{#1}{#2}\xystatus@:}ŽŽ¦‘ãŒÃ4640Ž‘õŒÏ\xydef@\xystatus@#1{\xystatus@cp{#1}%ŽŽ¡‘ãŒÃ4641Ž‘ûKÃÏ\W@{#1‘¿ªd=<\the\d@X,\the\d@Y>ŽŽ¡‘ãŒÃ4642Ž‘#‰iÏDirection=\the\Direction=\string(\cosDirection,\sinDirection\string)}%ŽŽ¡‘ãŒÃ4643Ž‘ûKÃÏ\W@{#1‘¿ªbase=<\the\X@origin,\the\Y@origin>+%ŽŽ¡‘ãŒÃ4644Ž‘#‰iÏ<\the\X@xbase,\the\Y@xbase>x+<\the\X@ybase,\the\Y@ybase>y}%ŽŽ¡‘ãŒÃ4645Ž‘ûKÃÏ\W@{#1‘¿ªmin/max=<\the\X@min,\the\Y@min>/<\the\X@max,\the\Y@max>ŽŽ¡‘ãŒÃ4646Ž‘#‰iÏS=\the\csp@}}ŽŽ¦‘ãŒÃ4648Ž‘õŒÏ\xydef@\xystatus@cp#1{%ŽŽ¡‘ãŒÃ4649Ž‘ûKÃÏ\W@{#1–¿ªc=<\the\X@c,\the\Y@c>“\expandafter\string\the\Edge@cŽŽŽŽŒ‹C:0 Á à ý*tj‘ãŒÑ1.5.‘„CDECORA‘ÿeTIONS’lën¹67ŽŽ ¶?? ýh«w‘ãŒÃ4650Ž‘#‰iÏ\string[\the\L@c+\the\R@c,\the\D@c+\the\U@c\string]ŽŽ¤ ™š‘ãŒÃ4651Ž‘#‰iÏ\ifInvisible@–¿ªI\fi\ifHidden@“H\fi}%ŽŽ¡‘ãŒÃ4652Ž‘ûKÃÏ\W@{#1–¿ªp=<\the\X@p,\the\Y@p>“\expandafter\string\the\Edge@pŽŽ¡‘ãŒÃ4653Ž‘#‰iÏ\string[\the\L@p+\the\R@p,\the\D@p+\the\U@p\string]}}ŽŽ©Pˆ‘ãŒÃ4655Ž‘õŒÏ\xydef@\xystatus@c#1{%ŽŽ¡‘ãŒÃ4656Ž‘ûKÃÏ\W@{#1<\the\X@c,\the\Y@c>‘¿ª\expandafter\string\the\Edge@cŽŽ¡‘ãŒÃ4657Ž‘#‰iÏ\string[\the\L@c+\the\R@c,\the\D@c+\the\U@c\string]}}ŽŽ¦‘ãŒÃ4659Ž‘õŒÏ\xydef@\xyquiet{\xy@\xyquiet{\let\xy@=\oxy@}}ŽŽŸBb‘㌹1.5d.ŽŽ‘©ùIgnoring–÷:means“that“the“Çh¹pšMÞosÇi“h¹decorÇi“¹is“still“parsed“the“usual“w•²!a“y–÷:but“nothing“is“t²!yp˜eset“andŽ¡‘õŒthe‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic–¦fstate“is“not“c²!hanged.ŽŸ‡‘õŒW‘ÿee–¦fignore“in“a“group“to“ensure“that“nothing“done“inside“`leaks'“to“the“outside.ަ‘ãŒÃ4675Ž‘õŒÏ\xydef@\xyignore#1{\xy@\xyignore{\xyignore@{#1}}\ignorespaces}ŽŽ¦‘ãŒÃ4677Ž‘õŒÏ\xydef@\xyignore@#1{{\let\xy@=\xyeat@–¿ª\change@oxy@\xy@“\POS#1\relax}}ŽŽ¦‘ãŒÃ4679Ž‘õŒÏ\xydef@\xyeat@#1#2{}ŽŽŸBb‘㌹1.5e.ŽŽ‘ÿrIt–~eis“pMÞossible“to“sa•²!v“e–~ean“in²!termediate“form“of“commands“that“generate“parts“of“an‘fX‘ü·ŸâÃYŽŽ‘åo-pictureŽ¡‘õŒto–sa“ le“sucš²!h“that“subsequen˜t“t˜ypMÞesetting“of“those“parts“is“signi can˜tly“faster:‘w1this“is“calledŽ¡‘õŒÐc‘ÿp¹ompiling‘ø¹.‘8^The–æprošMÞduced“ le“con²!tains“co˜de“to“c•²!hec“k–æthat“the“compiled“co˜de“still“corresp˜onds“toŽ¡‘õŒthe–Äfsame“Çh¹pMÞosÇih¹decorÇi“¹as“wš²!ell“as“ecien˜t‘¬X‘ü·ŸâÃYŽŽ‘+p-cošMÞde“to“redo“it;‘Ófif“the“Çh¹p˜osÇih¹decorÇi“¹has“c²!hanged“thenŽ¡‘õŒthe–¦fcompilation“is“redone.Ž©‡‘õŒThere–¿—are“t•²!w“o›¿—w“a“ys˜to˜use˜this.‘îThe˜direct˜is˜to˜in“v“en“t˜a˜Çh¹nameÇi˜¹for˜eac“h˜diagram˜and˜then˜em“braceŽ¡‘õŒit–¦fin“Ï\xycompileto{Ž‘NbÇh¹nameÇiÏ}Ž‘¿ª|Ž‘ T{Ž‘>þ¹.–Ó3.“.“Ï}Ž‘ 9C¹{–¦fthis“dumps“the“compiled“coMÞde“in²!to“the“ le“Çh¹nameÇiÏ.xycŽ‘þ¨¹.ަ‘õŒWhen–nïman²!y“diagrams“are“compiled“then“it“is“easier“to“add“Ï\xycompile{Ž‘¿ª¹.–Ó3.“.“Ï}Ž‘ ̹around–nïthe“Çh¹pMÞosÇih¹decorÇiŽ¡‘õŒ¹to–Ë;bšMÞe“compiled.‘”ÏThis“will“assign“ le“names“n•²!um“b˜ered›Ë;consecutiv“ely˜with˜a˜Çh¹pre xÇi˜¹whic“h˜is˜initiallyŽ¡‘õŒthe–¦fexpansion“of“Ï\jobname-Ž‘; ƹbut“ma²!y“bMÞe“set“withŽŸ ªã‘õŒ„ffѲdŽ© ~ ’ž˜áÏ\CompilePrefix{Ž‘¿ªÇh¹pre xÇiÏ}ŽŽŽŸsБõŒ„ffѲdŽŸp8‘õŒ¹This–Ûhas“the“disadv‘ÿdDan•²!tage,›+xho“w“ev“er,˜that–Ûif“additional“compiled‘ø…X‘ü·ŸâÃYŽŽ‘wå-pictures“are“inserted“then“allŽ¡‘õŒsubsequenš²!t–¿Ûpictures“will“ha˜v˜e“to“bMÞe“recompiled.‘‘One“particular“situation“is“pro˜vided,‘í÷though:‘j˜whenŽ¡‘õŒused–ùwithin“constructions“that“tš²!ypMÞeset“their“con˜ten˜ts“more“than“once“(suc˜h“as“most“ÇA‘þ,³Ÿ[wMŽ‘ ô©S¹-LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B XŽ¡‘õŒequation–¦fconstructs)“then“the“declarationŽŸ øÀ‘õŒ„ffѲdަ’¡Ö.Ï\CompileFixPoint{Ž‘¿ªÇh¹idÇiÏ}ŽŽŽŸsБõŒ„ffѲdŽŸp8‘õŒ¹can–¦fbMÞe“used“inside“the“en•²!vironmen“t–¦fto“ x“the“counš²!ter“to“ha˜v˜e“the“same“v‘ÿdDalue“at“ev˜ery“passage.ŽŸ‡‘õŒIt–Ñis“done“b²!y“just“writing“all“Ï\xy@Ž‘Žy¹-commands“to“the“ le.‘šThe“ le“establishes“the“correct“inputŽ¡‘õŒmoMÞde–¦fthrough“use“of“the“appropriate“commands“itself.Ž©Pˆ‘ãŒÃ4731Ž‘õŒÏ\xydef@\xycompile@@{\jobname-}ŽŽ¡‘ãŒÃ4732Ž‘õŒÏ\xydef@\xycompileno@@{0}ŽŽ¦‘ãŒÃ4734Ž‘õŒÏ\xydef@\CompilePrefix#1{%ŽŽ¡‘ãŒÃ4735Ž‘ûKÃÏ\def\xycompile@@{#1}\xdef\xycompile@@{\codeof\xycompile@@}%ŽŽ¡‘ãŒÃ4736Ž‘ûKÃÏ\xdef\xycompileno@@{0}}ŽŽ¦‘ãŒÃ4738Ž‘õŒÏ\xydef@\xycompile{%ŽŽ¡‘ãŒÃ4739Ž‘ûKÃÏ\count@=\xycompileno@@‘¿ª\advance\count@\@neŽŽŽŽŒ‹DH× Á à ý*tj‘㌹68’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ4740Ž‘ûKÃÏ\xdef\xycompileno@@{\ifnum10>\count@–¿ª0\fi“\the\count@}%ŽŽ¤ ™š‘ãŒÃ4741Ž‘ûKÃÏ\edef\next{\noexpand\xycompileto{\xycompile@@\xycompileno@@}}\next}ŽŽ©Pˆ‘ãŒÃ4743Ž‘õŒÏ\xylet@\compilename@@=\emptyŽŽ¡‘ãŒÃ4744Ž‘õŒÏ\xylet@\xyrecompile@@=\relaxŽŽ¦‘ãŒÃ4746Ž‘õŒÏ\xydef@\xycompileto#1#2{%ŽŽ¡‘ãŒÃ4747Ž‘ûKÃÏ\if\inxy@‘¿ª\DN@{\xy@@{\nter@{}}}%ŽŽ¡‘ãŒÃ4748Ž‘ûKÃÏ\else–¿ª\DN@{\xy“\xy@@{\nter@{\endxy}}}\fi“\next@ŽŽ¡‘ãŒÃ4749Ž‘ûKÃÏ\ifxysaving@–¿ª\xyerror@{Compilations“can“not“be“nested}{}\fiŽŽ¡‘ãŒÃ4750Ž‘ûKÃÏ\DN@{#1}\edef\compilename@@{\codeof\next@}\DNii@{#2}%ŽŽ¡‘ãŒÃ4751Ž‘ûKÃÏ\def\xyrecompile@@{recompiling‘¿ªTRUNCATED}%ŽŽ¡‘ãŒÃ4752Ž‘ûKÃÏ\expandafter\xyinputorelse@@\expandafter{\compilename@@.xyc}%ŽŽ¡‘ãŒÃ4753Ž‘ûKÃÏ{\def\xyrecompile@@{compiling‘¿ªto}}%ŽŽ¡‘ãŒÃ4754Ž‘ûKÃÏ\ifx\xyrecompile@@\relax–¿ª\else“\expandafter\xyrecompile@“\fiŽŽ¡‘ãŒÃ4755Ž‘ûKÃÏ\xy@@\leave@‘¿ª\ignorespaces}ŽŽŸ¹‘õŒ¹Recompilation–þDis“done“b²!y“just“writing“all“Ï\xy@Ž‘üì¹-commands“to“the“ le.‘åwThe“ le“establishes“theŽ¡‘õŒcorrect–µÄinput“mošMÞde“and“terminates“itself;‘½safter“it“has“b˜een“ nished“it“is“simply“reread“to“actuallyŽ¡‘õŒget–¦fthe“draš²!wing“done“in“the“doMÞcumen˜t.ަ‘ãŒÃ4764Ž‘õŒÏ\xydef@\xyrecompile@{%ŽŽ¡‘ãŒÃ4765Ž‘ûKÃÏ\message{(\xyrecompile@@\space\string`\compilename@@.xyc\string'}%ŽŽ¡‘ãŒÃ4766Ž‘ûKÃÏ\DN@{\immediate\openout\xywrite@=}\expandafter\next@\compilename@@.xycŽŽ¡‘ãŒÃ4767Ž‘ûKÃÏ\immediate\write\xywrite@{%ŽŽ¡‘ãŒÃ4768Ž‘ mÏ\string\xycompiled{\compilename@@}%ŽŽ¡‘ãŒÃ4769Ž‘ËÏ{\the\year/\the\month/\the\day\string:\the\time\xytracelineno@}%ŽŽ¡‘ãŒÃ4770Ž‘ËÏ{Xy-pic‘¿ª\xyversion}\xycomment@}%ŽŽ¡‘ãŒÃ4771Ž‘ûKÃÏ\immediate\write\xywrite@{{\codeof\nextii@}\relax}%ŽŽ¡‘ãŒÃ4772Ž‘ûKÃÏ{\xysaving@–¿ª\expandafter\POS\nextii@“\relax}%ŽŽ¡‘ãŒÃ4773Ž‘ûKÃÏ\immediate\write\xywrite@{\string\xyendcompiled}%ŽŽ¡‘ãŒÃ4774Ž‘ûKÃÏ\immediate\closeout\xywrite@‘¿ª\message{done)}%ŽŽ¡‘ãŒÃ4775Ž‘ûKÃÏ\expandafter\input\compilename@@.xycŽŽ¡‘ãŒÃ4776Ž‘ûKÃÏ\outlines@@\writeoutline@\writeoutline@}ŽŽ¦‘ãŒÃ4778Ž‘õŒÏ\xydef@\xysaving@{\let\xy@=\xysave@‘¿ª\change@oxy@\xy@ŽŽ¡‘ãŒÃ4779Ž‘ûKÃÏ\let\xy@@ix@=\xysave@@toksix@‘¿ª\xysaving@true}ŽŽ¦‘ãŒÃ4781Ž‘õŒÏ\xynew@{if}\ifxysaving@‘¿ª\xysaving@falseŽŽ¦‘ãŒÃ4783Ž‘õŒÏ\xydef@\xysave@#1#2{{\DN@{{#1}{#2}}%ŽŽ¡‘ãŒÃ4784Ž‘ mÏ\immediate\write\xywrite@{\string\xy@\codeof\next@\xycomment@}}}ŽŽ¦‘ãŒÃ4786Ž‘õŒÏ\xydef@\xysave@@toksix@#1{{\DN@{{#1}}%ŽŽ¡‘ãŒÃ4787Ž‘ mÏ\immediate\write\xywrite@{\string\xy@@ix@\codeof\next@\relax}}}ŽŽ¦‘ãŒÃ4789Ž‘õŒÏ\xywarnifdefined\xycomment@ŽŽ¡‘ãŒÃ4790Ž‘õŒÏ{\catcode`\%=12–¿ª\catcode`\(=1“\catcode`\)=2“\gdef\xycomment@(%)}ŽŽŸ¹‘õŒÔHac¦tk1:‘áo¹The‘¨/Ï\ifxysaving@Ž‘LLV¹can–¨/nev²!er“bšMÞe“lo˜cally“switcš²!hed“o ‘Ú!‘ã8An˜yw˜a˜y“it“is“used“to“allo˜w“a“grossŽ¡‘õŒhac•²!k›¦fa“v“oiding˜building˜a˜queue˜in˜the˜matrix˜option˜that˜will˜generate˜toMÞo˜long˜lines!!Ž© Ë‘õŒÔHac¦tk2:‘äéÏ\xysave@@toksix@Ž‘f u¹is–)ìnot“doing“the“catcošMÞde“jiv²!e“b˜ecause“it“can“nev²!er“b˜e“in•²!v“ok“ed‘)ìwhileŽ¡‘õŒloading–¦fa“ le“(knošMÞc²!k,“kno˜c²!k“Ç Ž‘5ÂŽ‘ó3Å^ŽŽŽ‘¡¹).ަ‘õŒThe–Áçinitial“command“in“all“Ï.xycŽ‘‚v¹ les“c•²!hec“k–Áçthat“this“is“the“righš²!t“ le“and“that“neither“the“v˜ersionŽ¡‘õŒof‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic–¦fnor“the“user's“coMÞde“has“c²!hanged:ŽŽŽŒ‹EW| Á à ý*tj‘ãŒÑ1.5.‘„CDECORA‘ÿeTIONS’lën¹69ŽŽ ¶?? ýh«w‘ãŒÃ4805Ž‘õŒÏ\xydef@\xycompiled#1#2#3#4{\DN@{#1}\edef\next@{\codeof\next@}%ŽŽ¤ ™š‘ãŒÃ4806Ž‘ûKÃÏ\ifx\next@\compilename@@\elseŽŽ¡‘ãŒÃ4807Ž‘ mÏ\xywarning@{This–¿ªfile“does“not“contain“the“result“ofŽŽ¡‘ãŒÃ4808Ž‘#‰iÏ\string\xycompileto{\compilename@@}{...}^^J%ŽŽ¡‘ãŒÃ4809Ž‘#‰iÏbut–¿ªof“\string\xycompileto{\next@}}\fiŽŽ¡‘ãŒÃ4810Ž‘ûKÃÏ\edef\next{Xy-pic‘¿ª\xyversion}\DN@{#3}\ifx\next\next@ŽŽ¡‘ãŒÃ4811Ž‘ mÏ\DN@{#4}\ifx\next@\nextii@–¿ª\xycatcodes“\outlines@@\relax\readoutline@ŽŽ¡‘ãŒÃ4812Ž‘ mÏ\else–¿ª\def\xyrecompile@@{recompiling“to}\endinput“\fiŽŽ¡‘ãŒÃ4813Ž‘ûKÃÏ\else–¿ª\def\xyrecompile@@{Xy-pic“version“change“-“recompiling}\endinput“\fi}ŽŽ¤Pˆ‘ãŒÃ4815Ž‘õŒÏ\xydef@\xyendcompiled{\let\xyrecompile@@=\relax‘¿ª\xyuncatcodes\endinput}ŽŽ©´ü‘õŒ¹Finally–¦fthe“ x-pMÞoin²!t“thing.Ž¡‘ãŒÃ4821Ž‘õŒÏ\xydef@\CompileFixPoint#1{%ŽŽ¤ ™š‘ãŒÃ4822Ž‘ûKÃÏ\expandafter\ifx\csname#1FIX@@\endcsname\relaxŽŽ¡‘ãŒÃ4823Ž‘ mÏ\expandafter\xdef\csname#1FIX@@\endcsname{\xycompileno@@}%ŽŽ¡‘ãŒÃ4824Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ4825Ž‘ mÏ\xdef\xycompileno@@{\csname#1FIX@@\endcsname}\fi}ŽŽ¦‘õŒ¹Finally‘ÿe,‘Jwhen–ö)manš²!y“`administrativ˜e“t˜ypMÞesetting“runs'“are“needed,–JÐe¹.Ðg¹.,“readjusting–ö)LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“crossŽ¡‘õŒreferences–ÄCand“sucš²!h,‘ ºthen“it“ma˜y“bMÞe“an“adv‘ÿdDan˜tage“to“not“t˜ypMÞeset“an˜y‘«íX‘ü·ŸâÃYŽŽ‘+M-pictures“at“all“duringŽ¡‘õŒthe–jÇinš²!termediate“runs.‘ÉýThis“is“suppMÞorted“b˜y“the“follo˜wing“declarations“whic˜h“for“eac˜h“compilationŽ¡‘õŒcreates–¦fa“spMÞecial“ le“with“the“extension“Ï.xyd“¹con²!taining“just“the“size“of“the“picture:ŽŸ,‘õŒ„ffѲdŽŸ ÷V’¹zÏ\MakeOutlinesŽŽ¡’¹z\OnlyOutlinesŽŽ¡’¹z\ShowOutlinesŽŽ¡’¹z\NoOutlinesŽŽŸí‘õŒ„ffѲdŽŸñY‘õŒ¹The–g© rst“došMÞes“no“more.‘!¥The“second“uses“the“ le“to“t²!yp˜esets“a“dotted“frame“of“the“appropriateŽ¡‘õŒsize–“¨instead“of“the“picture“(unless“the“picture“has“cš²!hanged“and“is“recompiled,‘—hthen“it“is“t˜ypMÞeset“asŽ¡‘õŒalw•²!a“ys–jCand“the“Ï.xydŽ‘Ó.¹ le“is“recreated“for“subsequenš²!t“runs).‘ÉÑThe“third“sho˜ws“the“outlines“as“dottedŽ¡‘õŒrectangles.‘ÝÝThe–¦flast“switc²!hes“outline“proMÞcessing“completely“o .ŽŸþ‘õŒThe–Y«implemenš²!tation“is“all“handled“b˜y“Ï\outlines@@Ž‘I魯whic˜h“is“called“at“strategic“places“in“theŽ¡‘õŒcompilation–ú*macros“abMÞo•²!v“e.‘Ù(It–ú*just“expands“to“nothing“when“the“state“is“`No',‘the“ rst“argumen²!tŽ¡‘õŒwhen–¦fit“is“`Mak²!e',“and“the“second“when“it“is“`Only'.Ž©Pˆ‘ãŒÃ4860ŽŽ¡‘ãŒ4861Ž‘õŒÏ\xydef@\outlines@no#1#2{}ŽŽ¡‘ãŒÃ4862Ž‘õŒÏ\xydef@\outlines@make#1#2{#1}ŽŽ¡‘ãŒÃ4863Ž‘õŒÏ\xydef@\outlines@only#1#2{#2}ŽŽ¦‘ãŒÃ4865Ž‘õŒÏ\xylet@\outlines@@=\outlines@noŽŽ¡‘ãŒÃ4866Ž‘õŒÏ\xylet@\writeoutline@@=\relaxŽŽ¡‘ãŒÃ4867Ž‘õŒÏ\xylet@\readoutline@@=\relaxŽŽ¦‘ãŒÃ4869Ž‘õŒÏ\xydef@\MakeOutlines{\let\outlines@@=\outlines@make}ŽŽ¦‘ãŒÃ4871Ž‘õŒÏ\xydef@\OnlyOutlines{\xywarning@{Compiled–¿ªpictures“only“shown“as“outlines}%ŽŽ¡‘ãŒÃ4872Ž‘ûKÃÏ\let\outlines@@=\outlines@only}ŽŽ¦‘ãŒÃ4874Ž‘õŒÏ\xydef@\ShowOutlines{\let\readoutline@@=\typesetoutline@}ŽŽ¦‘ãŒÃ4876Ž‘õŒÏ\xydef@\NoOutlines{\let\outlines@@=\outlines@no}ŽŽŽŽŒ‹Fe2 Á à ý*tj‘㌹70’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ4878Ž‘õŒÏ\xydef@\writeoutline@{%ŽŽ¤ ™š‘ãŒÃ4879Ž‘ûKÃÏ\DN@{\immediate\openout\xywrite@=}\expandafter\next@\compilename@@.xydŽŽ¡‘ãŒÃ4880Ž‘ûKÃÏ\immediate\write\xywrite@{\xycomment@\space\compilename@@.xyd}ŽŽ¡‘ãŒÃ4881Ž‘ûKÃÏ\immediate\write\xywrite@{%ŽŽ¡‘ãŒÃ4882Ž‘ mÏ\string\X@min=\the\X@min‘¿ª\string\X@max=\the\X@maxŽŽ¡‘ãŒÃ4883Ž‘ mÏ\string\Y@min=\the\Y@min–¿ª\string\Y@max=\the\Y@max“\string\relax}%ŽŽ¡‘ãŒÃ4884Ž‘ûKÃÏ\writeoutline@@ŽŽ¡‘ãŒÃ4885Ž‘ûKÃÏ\immediate\closeout\xywrite@}ŽŽ¤Pˆ‘ãŒÃ4887Ž‘õŒÏ\xynew@{if}\ifoutlineread@ŽŽ¡‘ãŒÃ4889Ž‘õŒÏ\xydef@\readoutline@{\outlineread@trueŽŽ¤ ™š‘ãŒÃ4890Ž‘ûKÃÏ\expandafter\xyinputorelse@@\expandafter{\compilename@@.xyd}%ŽŽ¡‘ãŒÃ4891Ž‘ mÏ{\def\xyrecompile@@{outline–¿ªmissing“-“recompiling“to}\outlineread@false}%ŽŽ¡‘ãŒÃ4892Ž‘ûKÃÏ\ifoutlineread@‘¿ª\readoutline@@ŽŽ¡‘ãŒÃ4893Ž‘ mÏ\writeoutline@\expandafter\xyendcompiled\fi}ŽŽŸPˆ‘ãŒÃ4895Ž‘õŒÏ\xydef@\typesetoutline@{%ŽŽ¡‘ãŒÃ4896Ž‘ûKÃÏ\xy@@{\czeroEdge@–¿ª\U@p=\z@“\D@p=\z@“\L@p=\z@“\R@p=\z@“\Edge@p={\zeroEdge}%ŽŽ¡‘ãŒÃ4897Ž‘ mÏ\X@p=\X@min–¿ª\Y@p=\Y@min“\X@c=\X@min“\Y@c=\Y@max“\connect@\dir{.}%ŽŽ¡‘ãŒÃ4898Ž‘ mÏ\X@p=\X@c–¿ª\Y@p=\Y@c“\X@c=\X@max“\Y@c=\Y@max“\connect@\dir{.}%ŽŽ¡‘ãŒÃ4899Ž‘ mÏ\X@p=\X@c–¿ª\Y@p=\Y@c“\X@c=\X@max“\Y@c=\Y@min“\connect@\dir{.}%ŽŽ¡‘ãŒÃ4900Ž‘ mÏ\X@p=\X@c–¿ª\Y@p=\Y@c“\X@c=\X@min“\Y@c=\Y@min“\connect@\dir{.}}}ŽŽŸ(‘ãŒÝ1.6Ž‘r|Kernel–ffob‘æfject“libraryŽŸJ‘ãŒÃ4915Ž‘õŒÏ\message{kernel‘¿ªobjects:}ŽŽ©t¾‘㌹In–̬this“section“wš²!e“presen˜t“the“Ðlibr–ÿp¹ary‘ obje“cts‘²Ä¹pro˜vided–̬with“the“k˜ernel“language|sev˜eral“options“addŽ¡‘ãŒmore–9library“ob‘›»jects.‘¦ÎThey“fall“inš²!to“three“t˜ypMÞes:‘‹GMost“of“the“k˜ernel“ob‘›»jects“(including“all“those“usuallyŽ¡‘ãŒused–œwith“Ï**Ž‘·‚¹to“build“connections)“are“Ðdir–ÿp¹e“ctionals‘æ¹,‘ž'describMÞed–œin“Çx¹1.6.1.‘ÚmThe“remaining“k²!ernel“libraryŽ¡‘ãŒob‘›»jects–¦fare“Ðcir‘ÿp¹cles‘Œ~¹of“Çx¹1.6.2“and“Ðtext‘°P¹of“Çx¹1.6.3.ŽŸ!s‘ãŒÞ1.6.1Ž‘ ÌDirectionalsŽŸ…‘ãŒÃ4933Ž‘õŒÏ\message{directionals,}ŽŽ¦‘㌹The–Rßkš²!ernel“pro˜vides“a“selection“of“Ðdir–ÿp¹e“ctionals‘æ¹:‘´ob‘›»jects–Rßthat“depMÞend“on“the“curren˜t“direction.‘ÂThey“allŽ¡‘ãŒtak²!e–¦fthe“formŽ‘ãŒŸ Ó‰ffã²d¤ ©R’ÛbÅÏ\dirÇh¹dirÇiŽŽ©Ÿ‰ffã²dŸ£¹to–¦ftš²!ypMÞeset“a“particular“Çh¹dirÇi¹ectional“ob‘›»ject.‘ÝÝAll“ha˜v˜e“the“structureŽŸÔ‰ffã²d¡’¯Š?Çh¹dirÇi‘¦fŽŽŽ‘ W{!Ž‘ñh¹v‘ÿdDarian²!tÇiÏ{Ž‘¿ªÇh¹mainÇiÏ}ŽŽŽ¦‰ffã²dŸ£¹with–¦fÇh¹v‘ÿdDarianš²!tÇi“¹bMÞeing“Çh¹empt˜yÇi“¹or“one“of“the“c˜haracters“Ï^_23Ž‘Kt¹and“Çh¹mainÇi“¹some“mnemonic“coMÞde.ޤ ½Ð‘W‘ÿee–éàwill“classify“the“directionals“primarily“in²!tended“for“building“connections“as“Ðc–ÿp¹onne“ctors‘Ïø¹andŽ© ™šthose–¦fprimarily“inš²!tended“for“placemen˜t“at“connection“ends“or“as“mark˜ers“as“Ðtips‘æ¹.Ž¡‘Figure–6Í1.7“shoš²!ws“all“the“Çh¹dirÇi¹ectionals“de ned“b˜y“the“k˜ernel“with“notes“bMÞelo˜w;‘eac˜h“Çh¹mainÇi“¹t˜ypMÞeަhas–‰@a“line“shoš²!wing“the“a˜v›ÿdDailable“Çh¹v˜arian²!tÇi¹s.‘Ô&Notice“that“only“some“v˜arianš²!ts“exist“for“eac˜h“Çh¹dirÇi¹|whenަa–Þ°nonexisting“v‘ÿdDarianš²!t“of“a“Çh¹dirÇi“¹is“requested“then“the“Çh¹empt˜yÇi“¹v‘ÿdDarian˜t“is“used“silen˜tly‘ÿe.‘†»Eac˜h“is“sho˜wnŽŽŽŒ‹Gr, Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹71ŽŽ ¶??Ÿœéž þ.CE’¹+—Dumm²!yŸü¾²1.6aŽŽ©™š’Ä&MÏ\dir{}ŽŽŽŸ™š’¤P̹Plain‘¦fconnectorsŸü¾²1.6bŽŽŸà*‘Z³Ï\dir{-}ŽŽŸf’‘B-¯ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 l}xyŽŽŽŽŽŽŽŽ’šF\dir2{-}ŽŽŸf’’Þ!ìïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dt}xyŽŽŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 l}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 l}xyŽŽŽŽŽŽŽŽŽŽ’6ƒƒ\dir3{-}ŽŽŸf’’z)ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dt}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 l}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 l}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 l}xyŽŽŽŽŽŽŽŽŽŽ¤F¼‘Z³\dir{.}ŽŽŸf’‘B-¯ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽŽŽŽŽ’šF\dir2{.}ŽŽŸf’’Þ!ìïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dt}xyŽŽŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dt}xyŽŽŽŽŽŽŽŽŽŽ’6ƒƒ\dir3{.}ŽŽŸf’’z)ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dt}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dt}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘Z³\dir{~}ŽŽŸf’‘B-¯ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽ‘+å~ŸôXï " {3392 g}xyŽŽŽ‘%ºŸö8ï " {3392 g}xyŽŽŽ‘%öŸø$ï " {3392 g}xyŽŽŽ‘F2Ÿú(øï " {3392 g}xyŽŽŽ‘fnŸü-Øï " {3392 g}xyŽŽŽŽŽŽŽŽŽ’šF\dir2{~}ŽŽŸf’’Þ!ìïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dt}xyŽŽŽŽŽ‘+­’Ÿógnï " {3392 g}xyŽŽŽ‘$ÍΟõlNï " {3392 g}xyŽŽŽ‘î Ÿ÷q.ï " {3392 g}xyŽŽŽ‘FŸùvï " {3392 g}xyŽŽŽ‘.‚Ÿûzîï " {3392 g}xyŽŽŽŽŽ‘,jŸôÍBï " {3392 g}xyŽŽŽ‘%=¦ŸöÒ"ï " {3392 g}xyŽŽŽ‘]âŸø×ï " {3392 g}xyŽŽŽ‘~ŸúÛâï " {3392 g}xyŽŽŽ‘žZŸüàÂï " {3392 g}xyŽŽŽŽŽŽŽŽŽŽŽ’6ƒƒ\dir3{~}ŽŽŸf’’z)ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dt}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽ‘+u¥Ÿò´ƒï " {3392 g}xyŽŽŽ‘$•áŸô¹cï " {3392 g}xyŽŽŽ‘¶Ÿö¾Cï " {3392 g}xyŽŽŽ‘ÖYŸøÃ#ï " {3392 g}xyŽŽŽ‘ö•ŸúÈï " {3392 g}xyŽŽŽŽŽ‘,UWŸõ€-ï " {3392 g}xyŽŽŽ‘%u“Ÿ÷… ï " {3392 g}xyŽŽŽ‘•ÏŸù‰íï " {3392 g}xyŽŽŽ‘¶ ŸûŽÍï " {3392 g}xyŽŽŽ‘ÖGŸý“­ï " {3392 g}xyŽŽŽŽŽ‘+å~ŸôXï " {3392 g}xyŽŽŽ‘%ºŸö8ï " {3392 g}xyŽŽŽ‘%öŸø$ï " {3392 g}xyŽŽŽ‘F2Ÿú(øï " {3392 g}xyŽŽŽ‘fnŸü-Øï " {3392 g}xyŽŽŽŽŽŽŽŽŽŽŽ¡‘þ› \dir{--}ŽŽŸf’‘B-¯ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dd}xyŽŽŽŽŽŽŽŽ’”Ïœ\dir2{--}ŽŽŸf’’Þ!ìïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dt}xyŽŽŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dd}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dd}xyŽŽŽŽŽŽŽŽŽŽ’0ÃÙ\dir3{--}ŽŽŸf’’z)ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dt}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dd}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dd}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dd}xyŽŽŽŽŽŽŽŽŽŽ¡‘þ› \dir{~~}ŽŽŸf’‘B-¯ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽ‘/ ´Ÿòãùï " {3392 g}xyŽŽŽ‘%ôŸø$ï " {3392 g}xyŽŽŽ‘ ?4Ÿýd9ï " {3392 g}xyŽŽŽŽŽŽŽŽŽ’”Ïœ\dir2{~~}ŽŽŸf’’Þ!ìïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘29ÑŸðѺï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2ÒŸòºhï" {40.75183 12.7346 dt}xyŽŽŽŽŽ‘.ÔÈŸò1ï " {3392 g}xyŽŽŽ‘îŸ÷q/ï " {3392 g}xyŽŽŽ‘ HŸü±Oï " {3392 g}xyŽŽŽŽŽ‘/D Ÿó–ãï " {3392 g}xyŽŽŽ‘]àŸø×ï " {3392 g}xyŽŽŽ‘ w Ÿþ#ï " {3392 g}xyŽŽŽŽŽŽŽŽŽŽŽ’0ÃÙ\dir3{~~}ŽŽŸf’’z)ïps: SDict begin xyc end‘ï" {5.0 0 360 o}xyŽŽŽŽŽŸñÆ‘2†0ï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘1íqŸïÝbï" {40.75183 12.7346 dt}xyŽŽŽŽ‘3ïŸó®Àï" {40.75183 12.7346 dt}xyŽŽŽŽ‘2†0ŸñÆï" {40.75183 12.7346 dt}xyŽŽŽŽ‘.œÛŸñ~$ï " {3392 g}xyŽŽŽ‘¶Ÿö¾Dï " {3392 g}xyŽŽŽ‘ Ï[Ÿûþdï " {3392 g}xyŽŽŽŽŽ‘/|ŸôIÎï " {3392 g}xyŽŽŽ‘•ÍŸù‰îï " {3392 g}xyŽŽŽ‘ ¯ ŸþÊï " {3392 g}xyŽŽŽŽŽ‘/ ´Ÿòãùï " {3392 g}xyŽŽŽ‘%ôŸø$ï " {3392 g}xyŽŽŽ‘ ?4Ÿýd9ï " {3392 g}xyŽŽŽŽŽŽŽŽŽŽŽŸ,Ñ›’µO¸¹Plain‘¦ftipsŸü¾²1.6cŽŽ¦‘óB€Ï\dir{>}ŽŽŸù´¸‘%¼óïps: SDict begin xyc end‘Ãï" {3392 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘L6r\dir^{>}ŽŽŸù´¸’„pïps: SDict begin xyc end‘Ãï" {3392 10 /xy A}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{>}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï" {3392 10 /xy B}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ ª\dir2{>}ŽŽŸúô¸’A×Çïps: SDict begin xyc end‘Ãï" {3392 /XT tt}xyŽŽŽŽ‘ݞʙï" {20.37592 6.3673 dt}xyŽŽŽŽ‘¬›Ÿ³Gï" {20.37592 6.3673 dt}xyŽŽŽŽŽŽŽŽŽŽ’jÑF\dir3{>}ŽŽŸûNR’£ cïps: SDict begin xyc end‘ý[Ÿ}àï" {-704 F d}xyŽŽ‘Ãï" {3392 /Xt tT}xyŽŽŽŽ‘sŸÿ ·ï" {19.7078 6.15846 dt}xyŽŽŽŽ‘MñŸÝï" {19.7078 6.15846 dt}xyŽŽŽŽ‘µ2Ÿôfï" {19.7078 6.15846 dt}xyŽŽŽŽŽŽŽŽŽŽ¤ ™š‘óB€\dir{<}ŽŽŸù´¸‘%¼óïps: SDict begin xyc end‘Ãï" {-704 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘L6r\dir^{<}ŽŽŸù´¸’„pïps: SDict begin xyc end‘Ãï" {-704 10 /xy B}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{<}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï" {-704 10 /xy A}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ ª\dir2{<}ŽŽŸúô¸’A×Çïps: SDict begin xyc end‘Ãï" {-704 /XT tt}xyŽŽŽŽ‘ݞʙï" {20.37592 6.3673 dt}xyŽŽŽŽ‘¬›Ÿ³Gï" {20.37592 6.3673 dt}xyŽŽŽŽŽŽŽŽŽŽ’jÑF\dir3{<}ŽŽŸûNR’£ cïps: SDict begin xyc end‘Ãï" {3392 F d}xyŽŽ‘Ãï" {-704 /Xt tT}xyŽŽŽŽŽŽŽŽŽŽ‘÷&ŸÿPï" {19.56209 6.11316 dt}xyŽŽŽŽ‘(¤Ÿè®ï" {19.56209 6.11316 dt}xyŽŽŽŽ‘åŸÿÿï" {19.56209 6.11316 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘óB€\dir{|}ŽŽŸù´¸‘%¼óïps: SDict begin xyc end‘Ãï " {3392 st}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘L6r\dir^{|}ŽŽŸù´¸’„pïps: SDict begin xyc end‘ELŸû:Hï" {-2752 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{|}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï" {1344 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ ª\dir2{|}ŽŽŸù´¸’A×Çïps: SDict begin xyc end‘v¹Ÿÿ ©ï " {3392 st}xyŽŽŽŽŽ‘wŸôWï " {3392 st}xyŽŽŽŽŽŽ‘v¹Ÿÿ ©ï" {22.76208 7.11314 dt}xyŽŽŽŽ‘wŸôWï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŽ’jÑF\dir3{|}ŽŽŸù´¸’£ cïps: SDict begin xyc end‘*YŸþQï " {3392 st}xyŽŽŽŽŽ‘[ןè¯ï " {3392 st}xyŽŽŽŽŽŽ‘*YŸþQï" {22.76208 7.11314 dt}xyŽŽŽŽ‘[ןè¯ï" {22.76208 7.11314 dt}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘óB€\dir{(}ŽŽŸù´¸‘%¼óïps: SDict begin xyc end‘Ãï " {3392 h}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘L6r\dir^{(}ŽŽŸù´¸’„pïps: SDict begin xyc end‘Ãï " {3392 ha}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{(}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï " {3392 hb}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽ¡‘óB€\dir{)}ŽŽŸù´¸‘%¼óïps: SDict begin xyc end‘Ãï " {-704 h}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘L6r\dir^{)}ŽŽŸù´¸’„pïps: SDict begin xyc end‘Ãï " {-704 hb}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{)}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï " {-704 ha}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽ¡‘L6r\dir^{`}ŽŽŸù´¸’„pïps: SDict begin xyc end‘Ãï " {3392 ta}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{`}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï " {3392 tb}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽ¡‘L6r\dir^{'}ŽŽŸù´¸’„pïps: SDict begin xyc end‘Ãï " {-704 tb}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’ªê\dir_{'}ŽŽŸù´¸’ã$+ïps: SDict begin xyc end‘Ãï " {-704 ta}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŸ%™š’¤›¹Constructed‘¦ftipsŸü¾²1.6dŽŽ¦‘ð¥Ï\dir{>>}ŽŽŸù´¸‘&B½ïps: SDict begin xyc end‘æŸå ï" {3392 10 /xy AB}xyŽŽ‘Ãï" {3392 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘JL\dir^{>>}ŽŽŸù´¸’…|#ïps: SDict begin xyc end‘æŸå ï" {3392 10 /xy A}xyŽŽ‘Ãï" {3392 10 /xy A}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’©X²\dir_{>>}ŽŽŸù´¸’䵉ïps: SDict begin xyc end‘æŸå ï" {3392 10 /xy B}xyŽŽ‘Ãï" {3392 10 /xy B}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’’\dir2{>>}ŽŽŸúô¸’Cîïïps: SDict begin xyc end‘æŸå ï" {3392 /XT tt}xyŽŽŽŽ‘Ãï" {3392 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘ö¹žÓ©ï" {20.26208 6.3319 dt}xyŽŽŽŽ‘wŸ¼Wï" {20.26208 6.3319 dt}xyŽŽŽŽŽŽŽŽŽŽ’jK~\dir3{>>}ŽŽŸûNR’¥¨Uïps: SDict begin xyc end‘ SŸcï" {-704 F d}xyŽŽ‘æŸå ï" {3392 /Xt tT}xyŽŽŽŽ‘ý[Ÿ}àï" {-704 F d}xyŽŽ‘Ãï" {3392 /Xt tT}xyŽŽŽŽŽŽŽŽŽŽ‘÷&ŸÿPï" {19.56209 6.11316 dt}xyŽŽŽŽ‘(¤Ÿè®ï" {19.56209 6.11316 dt}xyŽŽŽŽ‘åŸÿÿï" {19.56209 6.11316 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘ð¥\dir{<<}ŽŽŸù´¸‘&B½ïps: SDict begin xyc end‘  Ÿÿàï" {-704 10 /xy AB}xyŽŽ‘Ãï" {-704 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘JL\dir^{<<}ŽŽŸù´¸’…|#ïps: SDict begin xyc end‘  Ÿÿàï" {-704 10 /xy B}xyŽŽ‘Ãï" {-704 10 /xy B}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’©X²\dir_{<<}ŽŽŸù´¸’䵉ïps: SDict begin xyc end‘  Ÿÿàï" {-704 10 /xy A}xyŽŽ‘Ãï" {-704 10 /xy A}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’’\dir2{<<}ŽŽŸúô¸’Cîïïps: SDict begin xyc end‘  Ÿÿàï" {-704 /XT tt}xyŽŽŽŽ‘Ãï" {-704 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘ö¹žÓ©ï" {20.26208 6.3319 dt}xyŽŽŽŽ‘wŸ¼Wï" {20.26208 6.3319 dt}xyŽŽŽŽŽŽŽŽŽŽ’jK~\dir3{<<}ŽŽŸûNR’¥¨Uïps: SDict begin xyc end‘  Ÿÿàï" {3392 F d}xyŽŽ‘  Ÿÿàï" {-704 /Xt tT}xyŽŽŽŽŽŽŽŽŽŽ‘Ãï" {3392 F d}xyŽŽ‘Ãï" {-704 /Xt tT}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘÷&ŸÿPï" {19.56209 6.11316 dt}xyŽŽŽŽ‘(¤Ÿè®ï" {19.56209 6.11316 dt}xyŽŽŽŽ‘åŸÿÿï" {19.56209 6.11316 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘ð¥\dir{||}ŽŽŸù´¸‘&B½ïps: SDict begin xyc end‘ÚiŸ˜¿ï " {3392 st}xyŽŽ‘Ãï " {3392 st}xyŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘JL\dir^{||}ŽŽŸù´¸’…|#ïps: SDict begin xyc end‘\ŸûÓï" {-2752 F d}xyŽŽŽ‘ELŸû:Hï" {-2752 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’©X²\dir_{||}ŽŽŸù´¸’䵉ïps: SDict begin xyc end‘ÚiŸ˜¿ï" {1344 F d}xyŽŽŽ‘Ãï" {1344 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’’\dir2{||}ŽŽŸù´¸’Cîïïps: SDict begin xyc end‘Ž ž¤hï " {3392 st}xyŽŽ‘v¹Ÿÿ ©ï " {3392 st}xyŽŽŽŽŽŽŽ‘&ÈŸï " {3392 st}xyŽŽ‘wŸôWï " {3392 st}xyŽŽŽŽŽŽŽŽ‘v¹Ÿÿ ©ï" {22.76208 7.11314 dt}xyŽŽŽŽ‘wŸôWï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŽ’jK~\dir3{||}ŽŽŸù´¸’¥¨Uïps: SDict begin xyc end‘AªŸþ°ï " {3392 st}xyŽŽ‘*YŸþQï " {3392 st}xyŽŽŽŽŽŽŽ‘s(Ÿnï " {3392 st}xyŽŽ‘[ןè¯ï " {3392 st}xyŽŽŽŽŽŽŽŽ‘*YŸþQï" {22.76208 7.11314 dt}xyŽŽŽŽ‘[ןè¯ï" {22.76208 7.11314 dt}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘ð¥\dir{|-}ŽŽŸù´¸‘&B½ïps: SDict begin xyc end‘Ãï " {3392 st}xyŽŽ‘Ãï" {3392 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘JL\dir^{|-}ŽŽŸù´¸’…|#ïps: SDict begin xyc end‘ELŸû:Hï" {-2752 F d}xyŽŽŽ‘Ãï" {3392 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’©X²\dir_{|-}ŽŽŸù´¸’䵉ïps: SDict begin xyc end‘Ãï" {1344 F d}xyŽŽŽ‘Ãï" {3392 F d}xyŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’’\dir2{|-}ŽŽŸù´¸’Cîïïps: SDict begin xyc end‘v¹Ÿÿ ©ï " {3392 st}xyŽŽ‘v¹Ÿÿ ©ï" {3392 F d}xyŽŽŽŽŽŽŽŽ‘wŸôWï " {3392 st}xyŽŽ‘wŸôWï" {3392 F d}xyŽŽŽŽŽŽŽŽŽ‘v¹Ÿÿ ©ï" {22.76208 7.11314 dt}xyŽŽŽŽ‘wŸôWï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŽ’jK~\dir3{|-}ŽŽŸù´¸’¥¨Uïps: SDict begin xyc end‘*YŸþQï " {3392 st}xyŽŽ‘*YŸþQï" {3392 F d}xyŽŽŽŽŽŽŽŽ‘[ןè¯ï " {3392 st}xyŽŽ‘[ןè¯ï" {3392 F d}xyŽŽŽŽŽŽŽŽ‘Ãï " {3392 st}xyŽŽ‘Ãï" {3392 F d}xyŽŽŽŽŽŽŽŽ‘*YŸþQï" {22.76208 7.11314 dt}xyŽŽŽŽ‘[ןè¯ï" {22.76208 7.11314 dt}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŽ¡‘ð¥\dir{>|}ŽŽŸù´¸‘&B½ïps: SDict begin xyc end‘Ãï " {3392 st}xyŽŽ‘Ãï" {3392 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘JL\dir{>>|}ŽŽŸù´¸’…|#ïps: SDict begin xyc end‘Ãï " {3392 st}xyŽŽ‘æŸå ï" {3392 10 /xy AB}xyŽŽ‘Ãï" {3392 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’¯\\dir{|<}ŽŽŸù´¸’䵉ïps: SDict begin xyc end‘Ãï " {-704 st}xyŽŽ‘Ãï" {-704 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’’\dir{|<<}ŽŽŸù´¸’Cîïïps: SDict begin xyc end‘Ãï " {-704 st}xyŽŽ‘  Ÿÿàï" {-704 10 /xy AB}xyŽŽ‘Ãï" {-704 10 /xy AB}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’uÊÒ\dir{*}ŽŽŸù´¸’¥¨Uïps: SDict begin xyc end‘öKŸÌÍÈŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽ¡‘öe:Ï\dir{+}ŽŽŸù´¸‘&B½ïps: SDict begin xyc end‘Ãï " {3392 st}xyŽŽŽŽ‘`:Ÿ¾ðï" {3392 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ‘Už \dir{x}ŽŽŸù´¸’…|#ïps: SDict begin xyc end‘Ãï" {-3608 st}xyŽŽŽŽ‘–ÕŸ5<ï" {-3608 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’´Ø\dir{/}ŽŽŸù´¸’䵉ïps: SDict begin xyc end‘Ãï " {3084 st}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’QÂ\dir{//}ŽŽŸù´¸’Cîïïps: SDict begin xyc end‘Ãï " {3084 st}xyŽŽ‘Ãï " {3084 st}xyŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽ’uÊÒ\dir{o}ŽŽŸù´¸’¥¨Uïps: SDict begin xyc end‘öKŸÌÍÈŽŽŽŽŽŽ‘Ãï" {22.76208 7.11314 dt}xyŽŽŽŽŽŽŽŽŽŸ#™š‘vF¹Figure–¦f1.7:‘ÝÝKernel“library“Çh¹dirÇi¹ectionalsŽŽŽŽŽŒ‹H| Á à ý*tj‘㌹72’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘㌹in–wªeither“of“the“t•²!w“o–wªforms“aš²!v‘ÿdDailable“in“eac˜h“direction“as“applicable:‘Æconnecting“a“Ç “¹to“ažÃ4“„ffŸûff„ff33Ž„ff33„ffŽŽ‘ ïS(t˜ypMÞeset“b˜yޤ ™š‘ãŒÏ**\dirŽ‘ Çh¹dirÇi¹)–ä×and“as“a“tip“at“the“end“of“a“dotted“connection“of“the“same“v‘ÿdDarianš²!t“(Ði¹.Ðe¹.,‘ôst˜ypMÞeset“b˜y“theŽ¡‘ãŒÇh¹pMÞosÇi‘¦fÏ**\dirŽ‘&$bÇh¹v‘ÿdDarian²!tÇiÏ{.}Ž‘åd?>Ž‘$ *\dirŽ‘@ÉpÇh¹dirÇi¹).Ž¡‘ôŒAs–'™a“spMÞecial“case“an“enš²!tire“Çh¹ob‘›»jectÇi“¹is“allo˜w˜ed“as“a“Çh¹dirÇi“¹b˜y“starting“it“with“a“Ï*Ž‘çC¹:‘žwÏ\dir*Ž‘$„b¹is“equiv‘ÿdDalen˜tŽ¡‘ãŒto‘¦fÏ\object¹.ŽŸ„±‘ãŒÔSetup:‘ UÏ\dir–t2¹starts“an“Çh¹ob‘›»jectÇi“¹and“passes“conš²!trol“to“a“` nisher'“named“Ï\dirŽ‘rÚÇh¹v‘ÿdDarian˜tÇiÏ{Ž‘¿ªÇh¹mainÇiÏ}Ž‘ 3ܹoth-Ž¡‘ãŒerwise–îùto“the“one“correspMÞonding“to“an“Çh¹emptš²!yÇi“h¹v‘ÿdDarian˜tÇi¹.‘·•The“k˜ernel“ones“describMÞed“here“ha˜v˜e“inŽ¡‘ãŒcommon–¦fthat“they“mak²!e“use“of“the“generic“Ï\straight@Ž‘@Ép¹de ned“in“Çx¹1.8.3.ޤPˆ‘ãŒÃ5035Ž‘õŒÏ\xydef@\dir{\hbox\bgroup\xyFN@\dir@i}ŽŽ¡‘ãŒÃ5037Ž‘õŒÏ\xydef@\dir@i{\ifx–¿ª*\next“\DN@*{\resetStyle@\object@}%ŽŽ© ™š‘ãŒÃ5038Ž‘ mÏ\else–¿ª\let\next@=\dir@ii“\fi“\next@}ŽŽ¡‘ãŒÃ5040Ž‘õŒÏ\xydef@\dir@ii#1#{\dir@{#1}}ŽŽ¡‘ãŒÃ5042Ž‘õŒÏ\xydef@\dir@#1#2{\DN@{dir#1{#2}}%ŽŽ¦‘ãŒÃ5043Ž‘ûKÃÏ\expandafter\let\expandafter\next\csname\codeof\next@\endcsnameŽŽ¦‘ãŒÃ5044Ž‘ûKÃÏ\ifx\next\relax‘¿ª\DN@{dir{#2}}%ŽŽ¦‘ãŒÃ5045Ž‘ mÏ\expandafter\let\expandafter\next\csname\codeof\next@\endcsnameŽŽ¦‘ãŒÃ5046Ž‘ mÏ\ifx\next\relax‘¿ª\DN@{\dir#1{#2}}%ŽŽ¦‘ãŒÃ5047Ž‘ËÏ\xyerror@{illegal–¿ª:“\codeof\next@\space“not“defined}{}%ŽŽ¦‘ãŒÃ5048Ž‘ËÏ\let\next=\no@–¿ª\fi\fi“\next}ŽŽŸ!;Ÿ‘ãŒÔNotesŽŸ«ÿ‘㌹1.6a.ŽŽ=Y‘ÿeou–l;maš²!y“use“Ï\dir{}Ž‘+Vr¹for“a“\dumm˜y"“directional“ob‘›»ject“(in“fact“this“is“used“automatically“b˜yަ‘õŒÏ**{}Ž‘ ŠÁ¹).‘Ò¯This–„Ýis“useful“for“a“uniform“treatmen²!t“of“connections,–‹’Ðe¹.Ðg¹.,“making–„Ýthe“Ï?Ž‘ ÉdÇh¹pMÞosÇi“¹able“to“ ndަ‘õŒa–¦fpMÞoinš²!t“on“the“straigh˜t“line“from“Äp“¹to“Äc“¹without“actually“t˜ypMÞesetting“an˜ything.ŽŸ«è‘õŒUses–§†an“emptš²!y“droppping,‘çÎthe“Ï\no@@Ž‘& ^¹connection.‘á>All“the“v‘ÿdDarian˜ts“are“de ned“for“optimisationަ‘õŒreasons–¦fand“it“is“also“named“Ï\dir{‘¿ª}Ž‘/Šr¹to“allo²!w“spurious“spaces:Ž¡‘ãŒÃ5070Ž‘õŒÏ\xydefcsname@{dir{}}{\no@}ŽŽ¡‘ãŒÃ5072Ž‘õŒÏ\xyletcsnamecsname@{dir0{}}{dir{}}ŽŽ¦‘ãŒÃ5073Ž‘õŒÏ\xyletcsnamecsname@{dir1{}}{dir{}}ŽŽ¦‘ãŒÃ5074Ž‘õŒÏ\xyletcsnamecsname@{dir^{}}{dir{}}ŽŽ¦‘ãŒÃ5075Ž‘õŒÏ\xyletcsnamecsname@{dir_{}}{dir{}}ŽŽ¦‘ãŒÃ5076Ž‘õŒÏ\xyletcsnamecsname@{dir2{}}{dir{}}ŽŽ¦‘ãŒÃ5077Ž‘õŒÏ\xyletcsnamecsname@{dir3{}}{dir{}}ŽŽ¡‘ãŒÃ5079Ž‘õŒÏ\xyletcsnamecsname@{dir{‘¿ª}}{dir{}}ŽŽ¡‘ãŒÃ5081Ž‘õŒÏ\xydef@\no@{\egroup–¿ª\czeroEdge@“%\Invisible@false“\Hidden@false“%%%%HACK?ŽŽ¦‘ãŒÃ5082Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¦‘ãŒÃ5083Ž‘ûKÃÏ\def\Drop@@{\setbox\z@=\copy\voidb@x}\def\Connect@@{\no@@}}ŽŽŸu$‘㌹1.6b.ŽŽ‘©ùThe›6Ðplain‘_Òc–ÿp¹onne“ctors‘õN¹group˜con²!tains˜basic˜directionals˜that˜lend˜themself˜to˜simple˜connections.ŽŸ«è‘õŒThe–J$bulk“of“the“coMÞde“is“in“fact“in“the“description“of“these.‘ÉFirst“eacš²!h“of“the“three“t˜ypMÞes|lines,ަ‘õŒdots,–¦fand“squiggles|then“the“coMÞde“for“doubling“and“tripling.ŽŸ –ÿ‘õŒÔLines:‘ ó5¹A‘Q«single‘QÀÏ\dir{-}Ž‘.á&¹ob‘›»ject–QÀis“a“dash“in“the“currenš²!t“direction:‘³Šbuild“bMÞo˜x“with“c˜haracter“ÄC‘A¹ofަ‘õŒthe–½•semidirectional“Ï\xydashfont¹;‘ 0use“the“cš²!haracters“natural“width“Äw‘ ¹and“construct“a“heigh˜t/depthŽŽŽŒ‹I¼‰ Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹73ŽŽ ¶?? ýh«w‘õŒfrom›¦fÄd– §¹=“ÇjŽ‘R¹sinŽ‘‡(Ï\DirectionŽ‘9|¤¹)ÇjŽŽ‘ZeÎÏemŽ‘i‹ˆ¹(where˜Ï1emŽ‘‹Ê¹is˜the˜dash˜length,˜Ðcf¹.˜Ïxydash10.mfŽ‘Bâ´¹)˜as˜follo²!ws:ޤ0£JŸäÈQ’žJøÄCŽ’Â\LŽ’ÓóRŽ’æY0DŽ’ù·ßUŽ’Ð ip‘êêifŽŽŽŽ¤ ™™’’,/¹0–Ó1Ä:“:“:Ž‘lŹ30Ž’Ã|m0Ž’ÔÿÄwŽ’èK»¹0Ž’û4&ÄdŽ’ §–d‘›»Y‘y–<‘ §¹0ŽŽ¡’ob31–Ó1Ä:“:“:Ž‘lŹ63Ž’Ã|m0Ž’ÔÿÄwŽ’è/dŽ’ûPݹ0Ž’ §–Äd‘›»Y‘y–>‘ §¹0ŽŽ¡’ob64–Ó1Ä:“:“:Ž‘lŹ95Ž’Ã|m0Ž’ÔÿÄwŽ’è/dŽ’ûPݹ0Ž’ ctÄdX‘æŸ<‘ §¹0ŽŽ¡’Œ²•96–Ó1Ä:“:“:Ž‘lŹ127Ž’Ã|m0Ž’ÔÿÄwŽ’èK»¹0Ž’û4&ÄdŽ’ ctdX‘æŸ<‘ §¹0ŽŽŽŽ¡‘õŒwhere–nïÐ ip‘á¹means“shift“the“bšMÞo²!x“opp˜osite“vš²!ertically“and“horizon˜tally‘ÿe,–­:Ði¹.Ðe¹.,“(ÄL;–Ó1Rš¨;“DMÞ;“U‘1Ÿ¹)– §:=“(ÄR˜;–Ó1L;“Uú';“DMÞ¹),ޤ ™š‘õŒand–¦fthen“lo•²!w“er–¦fthe“bMÞo²!x“ÄD‘¼ÊÇ‘nìÄU‘1Ÿ¹.ŽŸ ‘õŒÐPr–ÿp¹o“c“e“dur“e‘Ò¡¹:‘-“(Ãl.5132Ž›ã|¹)–ÎACompute“Äd¹,‘Ø8(Ãl.5133Ž˜¹)“set“ÄDMÞ;‘Ó1U‘1Ÿ¹,›Ø8and“ ip“condition,˜(Ãl.5137Ž‘ã|¹)“build“bMÞo²!x“to“get“ÄwKn;–Ó1L;“R¨¹,Ž¡‘õŒ(Ãl.5139Ž‘ã|¹)–!dump“bšMÞo²!x“that“is“ ipp˜ed“if“condition“holds,‘;»and“(Ãl.5148Ž‘ã|¹)“ nally“setup“the“required“parametersŽ¡‘õŒpropMÞerly‘ÿe.Ž©Pˆ‘ãŒÃ5125Ž‘õŒÏ\xydefcsname@{dir1{-}}{\line@}ŽŽ¡‘ãŒÃ5126Ž‘õŒÏ\xydefcsname@{dir2{-}}{\line@‘¿ª\double@\xydashh@}ŽŽ¡‘ãŒÃ5127Ž‘õŒÏ\xydefcsname@{dir3{-}}{\line@‘¿ª\triple@\xydashh@}ŽŽ¡‘ãŒÃ5128Ž‘õŒÏ\xyletcsnamecsname@{dir0{-}}{dir{}}ŽŽ¡‘ãŒÃ5129Ž‘õŒÏ\xyletcsnamecsname@{dir{-}}{dir1{-}}ŽŽ¡‘ãŒÃ5130Ž‘õŒÏ\xyletcsnamecsname@{dir{=}}{dir2{-}}ŽŽ¦‘ãŒÃ5132Ž‘õŒÏ\xydef@\line@{\dimen@=\sd@Y\sinDirection\xydashl@ŽŽ¡‘ãŒÃ5133Ž‘ mÏ\ifnum\SemiDirectionChar<31–¿ª\D@c=\z@“\U@c=\dimen@“\DN@{\d@Y<\z@}%ŽŽ¡‘ãŒÃ5134Ž‘ mÏ\else\ifnum\SemiDirectionChar<64–¿ª\D@c=\dimen@“\U@c=\z@“\DN@{\z@<\d@Y}%ŽŽ¡‘ãŒÃ5135Ž‘ mÏ\else\ifnum\SemiDirectionChar<96–¿ª\D@c=\dimen@“\U@c=\z@“\DN@{\d@X<\z@}%ŽŽ¡‘ãŒÃ5136Ž‘ mÏ\else–¿ª\D@c=\z@“\U@c=\dimen@“\DN@{\d@X<\z@}\fi\fi\fiŽŽ¡‘ãŒÃ5137Ž‘ mÏ\setboxz@h{\line@@}\ht\z@=\U@c‘¿ª\dp\z@=\D@cŽŽ¡‘ãŒÃ5138Ž‘ mÏ\L@c=\z@‘¿ª\R@c=\wdz@ŽŽ¡‘ãŒÃ5139Ž‘ mÏ\ifdim\next@–¿ª\dimen@=\R@c“\R@c=\L@c“\L@c=\dimen@ŽŽ¡‘ãŒÃ5140Ž‘ËÏ\dimen@=\U@c–¿ª\U@c=\D@c“\D@c=\dimen@“\advance\dimen@-\U@cŽŽ¡‘ãŒÃ5141Ž‘ËÏ\lower\dimen@\boxz@ŽŽ¡‘ãŒÃ5142Ž‘ mÏ\else–¿ª\boxz@“\fiŽŽ¡‘ãŒÃ5143Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5144Ž‘õŒÏ%\ifnum\SemiDirectionChar=31\relaxŽŽ¡‘ãŒÃ5145Ž‘õŒÏ%–¿ª\W@{LINE@(\the\SemiDirectionChar):“WH=<\the\L@c+\the\R@c,\the\D@c+\the\U@c>;ŽŽ¡‘ãŒÃ5146Ž‘õŒÏ%Ž‘#‰id=<\the\d@X,\the\d@Y>}\fiŽŽ¡‘ãŒÃ5147Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5148Ž‘ mÏ\edef\tmp@{\egroup–¿ª\U@c=\the\U@c“\D@c=\the\D@c“\L@c=\the\L@c“\R@c=\the\R@c}%ŽŽ¡‘ãŒÃ5149Ž‘ûKÃÏ\tmp@ŽŽ¡‘ãŒÃ5150Ž‘ûKÃÏ\Edge@c={\rectangleEdge}%%%%%\Invisible@false\Hidden@falseŽŽ¡‘ãŒÃ5151Ž‘ûKÃÏ\ifdim\z@<\U@c–¿ª\def\Upness@{1}\else“\def\Upness@{0}\fiŽŽ¡‘ãŒÃ5152Ž‘ûKÃÏ\ifdim\z@<\L@c–¿ª\def\Leftness@{1}\else“\def\Leftness@{0}\fiŽŽ¡‘ãŒÃ5153Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\solid@}}ŽŽ¦‘ãŒÃ5155Ž‘õŒÏ\xydef@\line@@{{\xydashfont\SemiDirectionChar\/}}ŽŽŸW{‘õŒÔBug:‘ðÏ\line@Ž‘.Y\¹should–Ãpalloš²!w“the“size“of“the“ob‘›»ject“to“bMÞe“c˜hanged“after“t˜ypMÞesetting|this“shouldŽ¡‘õŒmak²!e‘¦fÏ\Connect@@Ž‘@Ép¹do‘¦fdashing.‘ÝÝHm.ŽŸ ‘õŒAs–i[menš²!tioned“abMÞo˜v˜e“a“dash“will“`Connect'“to“mak˜e“lines“b˜y“using“rules“when“strictly“horizon˜tal“orŽ¡‘õŒvš²!ertical.‘ÝÝThis–¦fis“con˜trolled“b˜y“enabling“or“disabling“the“test“Ï\ifjusthvtest@Ž‘Wȹdiscussed“bMÞelo˜w.ަ‘ãŒÃ5166Ž‘õŒÏ\xydef@\solid@{%ŽŽ¡‘ãŒÃ5167Ž‘õŒÏ%ŽŽŽŽŒ‹JË Á à ý*tj‘㌹74’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ5168Ž‘õŒÏ%\W@{SOLID}\xystatus@:%ŽŽ¤ ™š‘ãŒÃ5169Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5170Ž‘ûKÃÏ\checkXy@rules@\solidhrule@\solidvrule@{\straight@\solidSpread@}}ŽŽ©Pˆ‘ãŒÃ5172Ž‘õŒÏ\xydef@\checkXy@rules@#1#2#3{%ŽŽ¡‘ãŒÃ5173Ž‘ûKÃÏ\dimen@=\Y@c‘¿ª\advance\dimen@-\Y@pŽŽ¡‘ãŒÃ5174Ž‘ûKÃÏ\ifjusthvtest@.05pt>\ifdim\dimen@<\z@-\fi\dimen@‘¿ª\DN@{#1}%ŽŽ¡‘ãŒÃ5175Ž‘ûKÃÏ\else–¿ª\dimen@=\X@c“\advance\dimen@-\X@pŽŽ¡‘ãŒÃ5176Ž‘ mÏ\ifjusthvtest@.05pt>\ifdim\dimen@<\z@-\fi\dimen@‘¿ª\DN@{#2}%ŽŽ¡‘ãŒÃ5177Ž‘ mÏ\else–¿ª\DN@{#3}\fi\fi“\next@}ŽŽŸ•‘õŒ¹Finally‘ÿe,‘p»w•²!e›cPgiv“e˜the˜algorithm˜for˜`spreading'˜the˜dashes˜along˜a˜solid˜line:‘¼Rjust˜add˜an˜extra˜dashŽ¡‘õŒso–¦fthey“alw•²!a“ys›¦fo“v“erlap˜(see˜Çx¹1.8.3˜for˜a˜propMÞer˜de n“tion˜of˜the˜requiremen“ts˜to˜spreading).ަ‘ãŒÃ5186Ž‘õŒÏ\xydef@\solidSpread@{\ifnum\z@<\count@@–¿ª\advance\count@@\@ne“\fi}ŽŽŸ•‘õŒ¹By–¡default‘ëKX‘ü·ŸâÃYŽŽ‘j«-pic“will“tš²!ypMÞeset“horizon˜tal“and“v˜ertical“Ï\dir{-}Ž‘0Dè¹connections“using“T‘þ,³Ÿ[wEŽ‘B X“rules.‘õŽUn-Ž¡‘õŒfortunately–ubrules“is“the“feature“of“the“Dš²!VI‘uVformat“most“commonly“handled“wrong“b˜y“D˜VI‘uVdriv˜ers.Ž¡‘õŒTherefore‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic–¦fpro²!vides“the“Çh¹decorÇi¹ationsŽŸJ¾‘õŒ„ffѲdŽŸ 砒ĆÎÏ\NoRulesŽŽ¡’ĆÎ\UseRulesŽŽŸÝg‘õŒ„ffѲdŽŸÂ6‘õŒ¹that–¦fwill“switcš²!h“the“use“of“suc˜h“o “and“on.ŽŸÞ¢‘õŒThey–¦fsimply“rede ne“the“conditional“used“to“select“t²!ypšMÞesetting“with“rules“in“Ï\solid@Ž‘/Šr¹ab˜o•²!v“e:ަ‘ãŒÃ5212Ž‘õŒÏ\xylet@\ifjusthvtest@=\ifdimŽŽ¦‘ãŒÃ5214Ž‘õŒÏ\xydef@\NoRules{\let\ifjusthvtest@=\iffalse}ŽŽ¡‘ãŒÃ5215Ž‘õŒÏ\xydef@\UseRules{\let\ifjusthvtest@=\ifdim}ŽŽŸ•‘õŒ¹The–æˆactual“tš²!ypMÞesetting“essen˜tially“means“calling“Ï\drop@Ž‘,K ¹to“bMÞo˜x“with“a“rule“of“the“appropriateŽ¡‘õŒlength–¦fand“with“line“width“set“to“that“of“Ï\xydashfont“¹(as“stored“in“Ï\xydashw@Ž‘7c`¹).ަ‘ãŒÃ5223Ž‘õŒÏ\xydef@\solidvrule@{\no@@–¿ª\solidvrule@typeset“\ifHidden@\else\noinsert@\fiŽŽ¡‘ãŒÃ5224Ž‘ûKÃÏ\solidvrule@pre}ŽŽ¦‘ãŒÃ5226Ž‘õŒÏ\xydef@\solidvrule@pre{%ŽŽ¡‘ãŒÃ5227Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5228Ž‘õŒÏ%\W@{VRULE‘¿ªSETUP}%ŽŽ¡‘ãŒÃ5229Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5230Ž‘ûKÃÏ\def\Cbreak@@{%ŽŽ¡‘ãŒÃ5231Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5232Ž‘õŒÏ%\W@{VRULE‘¿ªCbreak}%ŽŽ¡‘ãŒÃ5233Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5234Ž‘ mÏ\connectRestore@‘¿ª\swap@\lastbreak@@\swap@ŽŽ¡‘ãŒÃ5235Ž‘ mÏ\solidvrule@typeset‘¿ª\edef\lastbreak@@{\cfromthec@}\Creset@@}%ŽŽ¡‘ãŒÃ5236Ž‘ûKÃÏ\def\Clast@@{%ŽŽ¡‘ãŒÃ5237Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5238Ž‘õŒÏ%\W@{VRULE‘¿ªClast}%ŽŽ¡‘ãŒÃ5239Ž‘õŒÏ%\let\Clast@@=\undefinedŽŽ¡‘ãŒÃ5240Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5241Ž‘ mÏ\connectRestore@‘¿ª\Creset@@\swap@\lastbreak@@\swap@ŽŽ¡‘ãŒÃ5242Ž‘ mÏ\solidvrule@typeset–¿ª\Creset@@“\edef\lastbreak@@{\cfromthep@}}%ŽŽŽŽŒ‹KÙo Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹75ŽŽ ¶?? ýh«w‘ãŒÃ5243Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ5245Ž‘õŒÏ\xydef@\solidvrule@typeset{%ŽŽ¤ ™š‘ãŒÃ5246Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5247Ž‘õŒÏ%\W@{VRULE‘¿ªTYPESET}\xystatus@cp:%ŽŽ¡‘ãŒÃ5248Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5249Ž‘ûKÃÏ\ifInvisible@–¿ª\let\next@=\relax“\else“\let\next@=\solidvrule@typeset@“\fiŽŽ¡‘ãŒÃ5250Ž‘ûKÃÏ\checkoverlap@@‘¿ª\next@}ŽŽ¦‘ãŒÃ5252Ž‘õŒÏ\xydef@\solidvrule@typeset@{{%ŽŽ¡‘ãŒÃ5253Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5254Ž‘ûKÃÏ\advance\X@c\X@p–¿ª\X@c=.5\X@c“\X@p=\X@cŽŽ¡‘ãŒÃ5255Ž‘ûKÃÏ\advance\X@c-.5\xydashw@‘¿ª\advance\X@p.5\xydashw@ŽŽ¡‘ãŒÃ5256Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5257Ž‘ûKÃÏ\ifdim\Y@c<\Y@p–¿ª\advance\Y@c\U@c“\advance\Y@p-\D@pŽŽ¡‘ãŒÃ5258Ž‘ûKÃÏ\else–¿ª\swapdimen@\Y@c\Y@p“\advance\Y@c\U@p“\advance\Y@p-\D@c“\fiŽŽ¡‘ãŒÃ5259Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5260Ž‘ûKÃÏ\Droprule@}}ŽŽ¦‘ãŒÃ5262Ž‘õŒÏ\xydef@\solidhrule@{\no@@–¿ª\solidhrule@typeset“\ifHidden@\else\noinsert@\fiŽŽ¡‘ãŒÃ5263Ž‘ûKÃÏ\solidhrule@pre}ŽŽ¦‘ãŒÃ5265Ž‘õŒÏ\xydef@\solidhrule@pre{%ŽŽ¡‘ãŒÃ5266Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5267Ž‘õŒÏ%\W@{HRULE‘¿ªSETUP}%ŽŽ¡‘ãŒÃ5268Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5269Ž‘ûKÃÏ\def\Cbreak@@{%ŽŽ¡‘ãŒÃ5270Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5271Ž‘õŒÏ%\W@{HRULE‘¿ªCbreak}%ŽŽ¡‘ãŒÃ5272Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5273Ž‘ mÏ\connectRestore@‘¿ª\swap@\lastbreak@@\swap@ŽŽ¡‘ãŒÃ5274Ž‘ mÏ\solidhrule@typeset‘¿ª\edef\lastbreak@@{\cfromthec@}\Creset@@}%ŽŽ¡‘ãŒÃ5275Ž‘ûKÃÏ\def\Clast@@{%ŽŽ¡‘ãŒÃ5276Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5277Ž‘õŒÏ%\W@{HRULE‘¿ªClast}%ŽŽ¡‘ãŒÃ5278Ž‘õŒÏ%\let\Clast@@=\undefinedŽŽ¡‘ãŒÃ5279Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5280Ž‘ mÏ\connectRestore@‘¿ª\Creset@@\swap@\lastbreak@@\swap@ŽŽ¡‘ãŒÃ5281Ž‘ mÏ\solidhrule@typeset–¿ª\Creset@@“\edef\lastbreak@@{\cfromthep@}}%ŽŽ¡‘ãŒÃ5282Ž‘õŒÏ}ŽŽ¦‘ãŒÃ5284Ž‘õŒÏ\xydef@\solidhrule@typeset{%ŽŽ¡‘ãŒÃ5285Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5286Ž‘õŒÏ%\W@{HRULE‘¿ªTYPESET}\xystatus@cp:%ŽŽ¡‘ãŒÃ5287Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5288Ž‘ûKÃÏ\ifInvisible@–¿ª\let\next@=\relax“\else“\let\next@=\solidhrule@typeset@“\fiŽŽ¡‘ãŒÃ5289Ž‘ûKÃÏ\checkoverlap@@‘¿ª\next@}ŽŽ¦‘ãŒÃ5291Ž‘õŒÏ\xydef@\solidhrule@typeset@{{%ŽŽ¡‘ãŒÃ5292Ž‘ûKÃÏ\ifdim\X@c<\X@p–¿ª\advance\X@c\R@c“\advance\X@p-\L@pŽŽ¡‘ãŒÃ5293Ž‘ûKÃÏ\else–¿ª\swapdimen@\X@c\X@p“\advance\X@c\R@p“\advance\X@p-\L@c“\fiŽŽ¡‘ãŒÃ5294Ž‘ûKÃÏ\advance\Y@c\Y@p–¿ª\Y@c=.5\Y@c“\Y@p=\Y@cŽŽ¡‘ãŒÃ5295Ž‘ûKÃÏ\advance\Y@c-.5\xydashw@‘¿ª\advance\Y@p.5\xydashw@ŽŽŽŽŒ‹L䯠Á à ý*tj‘㌹76’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ5296Ž‘ûKÃÏ\Droprule@}}ŽŽŸ ‘õŒ\Droprule@Ž‘3/¹puts–&\the“actual“ink“on“the“page:‘ÝÉwith“lo•²!w“er–&\left“corner“at“Äc“¹and“uppMÞer“righ²!t“cornerޤ ™š‘õŒat‘¦fÄp¹.Ž©Pˆ‘ãŒÃ5303Ž‘õŒÏ\xydef@\Droprule@{\advance\X@p-\X@cŽŽ¡‘ãŒÃ5304Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5305Ž‘õŒÏ%\W@{:–¿ªkern\the\X@c\space“width\the\X@p\space“depth-\the\Y@c\spaceŽŽ¡‘ãŒÃ5306Ž‘õŒÏ%Ž‘#‰iheight\the\Y@p}%ŽŽ¡‘ãŒÃ5307Ž‘õŒÏ%ŽŽ¡‘ãŒÃ5308Ž‘ûKÃÏ\setboxz@h{\kern\X@c–¿ª\vrule“width\X@p“depth-\Y@c“height\Y@p}%ŽŽ¡‘ãŒÃ5309Ž‘ûKÃÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“\Drop@@}ŽŽŸ&î‘õŒÔDots:‘ ó5Ï\dir{.}Ž‘6爹creates–¶­a“vš²!ery“bMÞoring“dot“when“used“as“an“Çh¹ob‘›»jectÇi¹,‘º¿but“in˜teresting“dotted“linesŽ¡‘õŒwhen–ãused“to“connect.‘5“Ï\zerodot“¹should“expand“to“a“zero-sized“bMÞo²!x“with“a“dot“(initialised“to“useŽ¡‘õŒÏ\zeroŽ‘Jkdotbox@Ž‘:ˆ¹);‘Ãthe–d'Çh¹ob‘›»jectÇi“¹is“built“using“Ï\pointlike@Ž‘HœÇh¹textÇi“h¹spread-dimenÇi“¹that“w²!e“will“useŽ¡‘õŒagain‘¦flater.ަ‘ãŒÃ5321Ž‘õŒÏ\xydef@\zerodot{\copy\zerodotbox@}ŽŽ¦‘ãŒÃ5323Ž‘õŒÏ\xydefcsname@{dir1{.}}{\point@}ŽŽ¡‘ãŒÃ5324Ž‘õŒÏ\xydefcsname@{dir2{.}}{\point@‘¿ª\double@\xydashh@}ŽŽ¡‘ãŒÃ5325Ž‘õŒÏ\xydefcsname@{dir3{.}}{\point@‘¿ª\triple@\xydashh@}ŽŽ¡‘ãŒÃ5326Ž‘õŒÏ\xyletcsnamecsname@{dir0{.}}{dir{}}ŽŽ¡‘ãŒÃ5327Ž‘õŒÏ\xyletcsnamecsname@{dir{.}}{dir1{.}}ŽŽ¡‘ãŒÃ5328Ž‘õŒÏ\xyletcsnamecsname@{dir{:}}{dir2{.}}ŽŽ¦‘ãŒÃ5330Ž‘õŒÏ\xydef@\point@{\pointlike@\zerodot\p@}ŽŽ¦‘ãŒÃ5332Ž‘õŒÏ\xydef@\pointlike@#1#2{%ŽŽ¡‘ãŒÃ5333Ž‘ûKÃÏ\setboxz@h{#1}\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@\egroupŽŽ¡‘ãŒÃ5334Ž‘õŒÏ%–¿ª\Invisible@false“\Hidden@falseŽŽ¡‘ãŒÃ5335Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}\ctipEdge@ŽŽ¡‘ãŒÃ5336Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@{\dottedSpread@{#2}}}}ŽŽŸ ‘õŒ¹This–K±is“re ected“b²!y“the“rather“complicated“spreading“routine:‘(s`Dotting'“is“the“art“of“puttingŽ¡‘õŒzero-sized–”ob‘›»jects“together“with“equal“distance“indepMÞendenš²!t“of“the“c˜hosen“direction.‘òfSo“w˜e“m˜ustŽ¡‘õŒrecompute–Sthe“n•²!um“bMÞer–Sof“segmenš²!ts“ÄN‘2ò¹(lik˜ely“to“bMÞe“v˜ery“big“or“ÇŽ‘ …™¹1)“with“trigonometry;‘8Zusing“Ðr‘ÿp¹adiusŽ¡‘õŒ¹for–¦fthe“individual“dots“this“bMÞecomesŽŸEðÞŸÏîõ‘BþŸÃl.5366ŽŽ’¢C:ÄA– §¹:=“ÇjŽ‘R¹cosŽ‘‘°Ï\DirectionŽ‘PTÇjŽŽ‘U‡ë‘nìÐr‘ÿp¹adiusŽŽŽŽ¤ ™™’¢Œ·ÄB‘—K¹:=‘ §ÇjŽ‘R¹sinŽ‘Z9Ï\DirectionŽ‘NÖÝÇjŽŽ‘TPt‘nìÐr‘ÿp¹adiusŽŽŽŽ¡‘BþŸÃl.5369ŽŽ‘xpÐifŽŽ’…ÛÄA–nì¹+“ÄB‘—K>‘ §ÇjŽ‘RÏ\d@XŽ‘úÇjŽŽ‘"‘¹+“ÇjŽ‘y—Ï\d@YŽ‘x?ÇjŽŽ‘$üÐthenŽŽ‘=çoÄN‘Ž‘ Võ¹:=‘ §2–nìÇ“Ï<Ž‘.–ÄAÏ,Ž˜ÄB‘Œ¤Ï>ŽŽŽŸ†‘xØÊÐFil‘FlerŽŽ’—b$¹:=‘ §Çh¹bMÞoš²!x–¦fwith“the“original“ ller“cen˜tered...ÇiŽŽŽ¡‘BþŸÃl.5377ŽŽ‘bÎøÏ<\d@X,\d@Y>Ž’¥í¹:=‘ §Ï<\d@X,\d@Y>Ž‘Dµá¹+‘nìÏ<\sd@XŽ‘'[ÔÇ–nìÄAÏ,\sd@YŽ‘$ìèÇ“ÄB‘Œ¤Ï>ŽŽŽ¡‘s c<Ž‘xà ÄX‘ÛøÏ,Ž–›¢ÄY‘nïÏ>Ž‘ 9@¹:=‘ §Ï<Ž‘ÊQÄX‘ÛøÏ,Ž“ÄY‘nïÏ>Ž‘ …¹+‘nìÏ<\sd@XŽ‘'[ÔÇ–nìÄA=¹2Ï,\sd@YŽ‘$ìèÇ“ÄB‘Œ¤=¹2Ï>ŽŽŽ¡‘BþŸÃl.5379ŽŽ‘_âÄN‘‘ §ÇjŽ‘RÏ\d@YŽ‘úÇjŽŽ‘%˜<ÐthenŽŽ‘<¯õÇjŽ‘?º Ï\d@XŽ‘V¹HÇjŽŽ‘[—$Ä=‘ÿdDAel7)se‘Ó1ÇjŽ‘ÝÜÏ\d@Yޑ܄ÇjŽŽ‘ º`Ä=B‘Œ¤ÇcŽŽ’ð厹+‘nì1ŽŽŽŽŸHï‘õŒas–¦frealised“bMÞelo²!w:ަ‘ãŒÃ5366Ž‘õŒÏ\xydef@\dottedSpread@#1{%\setupDirection@ŽŽ¡‘ãŒÃ5367Ž‘ûKÃÏ\dimen@=#1\relax–¿ª\DN@{\A@=2\A@“\B@=2\B@“\dottedSpread@i}%ŽŽ¡‘ãŒÃ5368Ž‘ûKÃÏ\A@=\sd@X\cosDirection\dimen@‘¿ª\B@=\sd@Y\sinDirection\dimen@ŽŽŽŽŒ‹Mî! Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹77ŽŽ ¶?? ýh«w‘ãŒÃ5369Ž‘ûKÃÏ\dimen@=\A@‘¿ª\advance\dimen@\B@ŽŽ¤ ™š‘ãŒÃ5370Ž‘ûKÃÏ\dimen@ii=\sd@X\d@X‘¿ª\advance\dimen@ii\sd@Y\d@YŽŽ¡‘ãŒÃ5371Ž‘ûKÃÏ\ifdim\dimen@>\dimen@ii‘¿ª\DN@{\count@@=\z@}\fiŽŽ¡‘ãŒÃ5372Ž‘ûKÃÏ\next@}ŽŽ©Pˆ‘ãŒÃ5374Ž‘õŒÏ\xydef@\dottedSpread@i{%\setupDirection@ŽŽ¡‘ãŒÃ5375Ž‘ûKÃÏ\global\setbox8=\hbox‘¿ªto\A@{\hssŽŽ¡‘ãŒÃ5376Ž‘ mÏ\kern.5\A@\box\lastobjectbox@\kern.5\A@\hss}\dp8=.5\B@‘¿ª\ht8=.5\B@ŽŽ¡‘ãŒÃ5377Ž‘ûKÃÏ\advance\d@X\sd@X\A@‘¿ª\advance\d@Y\sd@Y\B@ŽŽ¡‘ãŒÃ5378Ž‘ûKÃÏ\advance\X@c\sd@X.5\A@‘¿ª\advance\Y@c\sd@Y.5\B@ŽŽ¡‘ãŒÃ5379Ž‘ûKÃÏ\ifdim\sd@Y\d@Y<\sd@X\d@X‘¿ª\dimen@=\sd@X\d@XŽŽ¡‘ãŒÃ5380Ž‘ mÏ\ifdim\zz@\A@\else–¿ª\divide\dimen@\A@“\fi“\count@@=\dimen@ŽŽ¡‘ãŒÃ5381Ž‘ûKÃÏ\else‘¿ª\dimen@=\sd@Y\d@YŽŽ¡‘ãŒÃ5382Ž‘ mÏ\ifdim\zz@\B@\else–¿ª\divide\dimen@\B@“\fi“\count@@=\dimen@ŽŽ¡‘ãŒÃ5383Ž‘ûKÃÏ\fi‘¿ª\advance\count@@\@ne}ŽŽŸaS‘õŒ¹A‘…§particular–…àaspMÞect“of“this“is“that“wš²!e“ha˜v˜e“to“enlarge“and“recen˜ter“the“actual“bMÞo˜x“used“for“theŽ¡‘õŒt²!ypMÞesetting‘¦f(Ï\lastobjectbox@Ž‘V:ö¹).ŽŸ ”‘õŒÔSquiggles:‘ ó5¹These–nïare“just“a“lot“of“bMÞoš²!x“maneuv˜ering“using“the“directional“c˜haracters“of“Ï\xybsqlfontŽ¡‘õŒ¹(see‘¦fÏxybsql10.mfŽ‘F‰¹for‘¦fdetails):ަ‘ãŒÃ5396Ž‘õŒÏ\xydefcsname@{dir1{~}}{\squiggle@}ŽŽ¡‘ãŒÃ5397Ž‘õŒÏ\xydefcsname@{dir2{~}}{\squiggle@‘¿ª\double@\xybsqlh@}ŽŽ¡‘ãŒÃ5398Ž‘õŒÏ\xydefcsname@{dir3{~}}{\squiggle@‘¿ª\triple@\xybsqlh@}ŽŽ¡‘ãŒÃ5399Ž‘õŒÏ\xyletcsnamecsname@{dir0{~}}{dir{}}ŽŽ¡‘ãŒÃ5400Ž‘õŒÏ\xyletcsnamecsname@{dir{~}}{dir1{~}}ŽŽ¦‘ãŒÃ5402Ž‘õŒÏ\xydef@\squiggle@{\xybsqlfontŽŽ¡‘ãŒÃ5403Ž‘ mÏ\dimen@=\sd@X\cosDirection\xybsqll@‘¿ª\advance\dimen@.1\p@ŽŽ¡‘ãŒÃ5404Ž‘ mÏ\dimen@ii=\sd@Y\sinDirection\xybsqll@ŽŽ¡‘ãŒÃ5405Ž‘ mÏ\kern\dimen@\squiggle@@ŽŽ¡‘ãŒÃ5406Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\U@c=\the\dimen@ii“\L@c=\the\dimen@}\tmp@ŽŽ¡‘ãŒÃ5407Ž‘ûKÃÏ\wdz@=2\L@c–¿ª\R@c=\L@c“\ht\z@=\U@c‘ T\D@c=\U@c“\dp\z@=\U@cŽŽ¡‘ãŒÃ5408Ž‘ûKÃÏ\Edge@c={\rectangleEdge}%ŽŽ¡‘ãŒÃ5409Ž‘õŒÏ%–¿ª\Invisible@false“\Hidden@falseŽŽ¡‘ãŒÃ5410Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ5411Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\squiggledSpread@}}ŽŽ¦‘ãŒÃ5413Ž‘õŒÏ\xydef@\squiggle@@{\DirectionChar‘¿ª\count@=\DirectionCharŽŽ¡‘ãŒÃ5414Ž‘ûKÃÏ\advance\count@-64–¿ª\ifnum\count@<\z@“\advance\count@128“\fi“\char\count@}ŽŽŸaS‘õŒ¹The–æ´inš²!teresting“bit“is“that“they“spread“b˜y“not“spreading,– Ði¹.Ðe¹.,“b˜y–æ´cen˜tering“bMÞet˜w˜een“the“endpMÞoin˜ts|Ž¡‘õŒthis‘¦fmeansŽŸ»*Ÿù.·‘3øÄX–柹:=› §ÄX‘JäÇ‘nìÄd=¹2Ä;‘Ó1dX“¹:=˜ÄdX‘JäÇ‘nìÄdŽ’Éd>¹whereŽ’é+Äd– §¹=“Ï\sd@XŽ‘Èù¹(ÇjŽ‘ «ÄdX‘ÛøÇjŽŽ‘%¡–nìÄN‘ ‹Ç“ÄA“¹+“Ï.1ptŽ‘m”¹)ŽŽŸ ™™‘3øÄY–y–¹:=› §ÄY‘ÝÛÇ‘nìÄd=¹2Ä;‘Ó1d‘›»Y“¹:=˜Äd‘›»Y‘ÝÛÇ‘nìÄdŽ’Éd>¹whereŽ’é+Äd– §¹=“Ï\sd@YŽ‘Èù¹(ÇjŽ‘ «Äd‘›»Y‘nïÇjŽŽ‘]–nìÄN‘ ‹Ç“ÄB‘û¹+“Ï.1ptŽ‘m”¹)ŽŽŽŽŸ “*‘ãŒÃ5429Ž‘õŒÏ\xydef@\squiggledSpread@{%ŽŽ¡‘ãŒÃ5430Ž‘ûKÃÏ\dimen@=\d@X–¿ª\advance\dimen@-\sd@X\count@@\A@“\advance\dimen@\sd@X.3\p@ŽŽ¡‘ãŒÃ5431Ž‘ûKÃÏ\advance\X@c-.5\dimen@‘¿ª\advance\d@X-\dimen@ŽŽ¡‘ãŒÃ5432Ž‘ûKÃÏ\dimen@=\d@Y–¿ª\advance\dimen@-\sd@Y\count@@\B@“\advance\dimen@\sd@Y.3\p@ŽŽ¡‘ãŒÃ5433Ž‘ûKÃÏ\advance\Y@c-.5\dimen@‘¿ª\advance\d@Y-\dimen@}ŽŽŽŽŒ‹Nü¢ Á à ý*tj‘㌹78’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒÔDouble–Ajand“triple“directionals:‘ ó5¹As–³Scan“bMÞe“seen“bš²!y“the“last“t˜w˜o“columns,‘¶Žthese“(and“most“ofޤ ™š‘õŒthe–·Kother“connectors)“also“exist“in“double“and“triple“v²!ersions“with“a“Ï2Ž› .@¹or“a“Ï3Ž˜¹prepMÞended“to“the“name.Ž¡‘õŒF‘ÿeor›scon•²!v“enience˜Ï\dir{=}Ž–1#°¹and˜Ï\dir{:}Ž“¹are˜synon•²!yms˜for˜Ï\dir2{-}Ž‘6ãZ¹and˜Ï\dir2{.}Ž‘2pU¹,‘¦-respMÞectiv“ely;Ž¡‘õŒsimilarly‘¦fÏ\dir{==}Ž‘5J¹is–¦fa“synon²!ym“for“Ï\dir2{--}Ž‘7c`¹.ŽŸ T’‘õŒThis–Îis“vš²!ery“simple,‘ùºreally:‘qòÏ\double@Ž‘5=ѹand“Ï\triple@Ž‘3šn¹do“the“w˜ork“b˜y“rede ning“the“Ï\Drop@@Ž‘-ÚĹmethoMÞdŽ¡‘õŒto–à²do“its“job“tš²!wice“and“thrice.‘ŒÀÔT‘þó\o‘›ýDo:‘Rt¹should“probably“extend“an˜y“already“de ned“Ï\Drop@@ŽŽ¡‘õŒ¹methoMÞd?Ž©Pˆ‘ãŒÃ5455Ž‘õŒÏ%\xydef@\double@#1{\edef\Drop@@{\dimen@=#1\relaxŽŽ¡‘ãŒÃ5456Ž‘õŒÏ%‘ T\dimen@=.5\dimen@–¿ª\A@=-\sinDirection\dimen@“\B@=\cosDirection\dimen@ŽŽ¡‘ãŒÃ5457Ž‘õŒÏ%‘ T\setbox2=\hbox{\kern\A@\raise\B@\copy\z@}\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“%ŽŽ¡‘ãŒÃ5458Ž‘õŒÏ%‘ T\setbox2=\hbox{\kern-\A@\raise-\B@\boxz@}\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“}}ŽŽ¦‘ãŒÃ5460Ž‘õŒÏ%\xydef@\triple@#1{\edef\Drop@@{\dimen@=#1\relaxŽŽ¡‘ãŒÃ5461Ž‘õŒÏ%‘ T\A@=-\sinDirection\dimen@‘¿ª\B@=\cosDirection\dimen@ŽŽ¡‘ãŒÃ5462Ž‘õŒÏ%‘ T\setbox2=\hbox{\kern\A@\raise\B@\copy\z@}\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“%ŽŽ¡‘ãŒÃ5463Ž‘õŒÏ%‘ T\setbox2=\hbox{\kern-\A@\raise-\B@\copy\z@}\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2ŽŽ¡‘ãŒÃ5464Ž‘õŒÏ%‘ T\dp\z@=\z@–¿ª\ht\z@=\z@“\wdz@=\z@“\boxz@}}ŽŽ¦‘ãŒÃ5466Ž‘õŒÏ\xydef@\double@#1{\edef\Drop@@{\dimen@=#1\relaxŽŽ¡‘ãŒÃ5467Ž‘ mÏ\dimen@=.5\dimen@–¿ª\A@=-\sinDirection\dimen@“\B@=\cosDirection\dimen@ŽŽ¡‘ãŒÃ5468Ž‘ mÏ\setboxz@h{\setbox2=\hbox{\kern\A@\raise\B@\copy\z@}%ŽŽ¡‘ãŒÃ5469Ž‘ËÏ\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“%ŽŽ¡‘ãŒÃ5470Ž‘ËÏ\setbox2=\hbox{\kern-\A@\raise-\B@‘¿ª\noexpand\boxz@}%ŽŽ¡‘ãŒÃ5471Ž‘ËÏ\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“}%ŽŽ¡‘ãŒÃ5472Ž‘ mÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\noexpand\styledboxz@}}ŽŽ¦‘ãŒÃ5474Ž‘õŒÏ\xydef@\triple@#1{\edef\Drop@@{\dimen@=#1\relaxŽŽ¡‘ãŒÃ5475Ž‘ mÏ\A@=-\sinDirection\dimen@‘¿ª\B@=\cosDirection\dimen@ŽŽ¡‘ãŒÃ5476Ž‘ mÏ\setboxz@h{\setbox2=\hbox{\kern\A@\raise\B@\copy\z@}%ŽŽ¡‘ãŒÃ5477Ž‘ËÏ\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“%ŽŽ¡‘ãŒÃ5478Ž‘ËÏ\setbox2=\hbox{\kern-\A@\raise-\B@\copy\z@}%ŽŽ¡‘ãŒÃ5479Ž‘ËÏ\dp2=\z@–¿ª\ht2=\z@“\wd2=\z@“\box2“%ŽŽ¡‘ãŒÃ5480Ž‘ËÏ\dp\z@=\z@–¿ª\ht\z@=\z@“\wdz@=\z@“\noexpand\boxz@}%ŽŽ¡‘ãŒÃ5481Ž‘ mÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\noexpand\styledboxz@}}ŽŽŸU鈑õŒÔDashing‘2directionals:‘ ó5¹First–¦ftraditional“dashing:ަ‘ãŒÃ5491Ž‘õŒÏ\xydefcsname@{dir1{--}}{\dash@}ŽŽ¡‘ãŒÃ5492Ž‘õŒÏ\xydefcsname@{dir2{--}}{\dash@‘¿ª\double@\xydashh@}ŽŽ¡‘ãŒÃ5493Ž‘õŒÏ\xydefcsname@{dir3{--}}{\dash@‘¿ª\triple@\xydashh@}ŽŽ¡‘ãŒÃ5494Ž‘õŒÏ\xyletcsnamecsname@{dir0{--}}{dir{}}ŽŽ¡‘ãŒÃ5495Ž‘õŒÏ\xyletcsnamecsname@{dir{--}}{dir1{--}}ŽŽ¡‘ãŒÃ5496Ž‘õŒÏ\xyletcsnamecsname@{dir{==}}{dir2{--}}ŽŽ¦‘ãŒÃ5498Ž‘õŒÏ\xydef@\dash@{\line@–¿ª\wdz@=2\wdz@“\ht\z@=2\ht\z@“\dp\z@=2\dp\z@ŽŽ¡‘ãŒÃ5499Ž‘ûKÃÏ\multiply\D@c\tw@–¿ª\multiply\U@c\tw@“\multiply\L@c\tw@“\multiply\R@c\tw@ŽŽ¡‘ãŒÃ5500Ž‘ûKÃÏ\def\Connect@@{\straight@\dashedSpread@}}ŽŽŽŽŒ‹O ü Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹79ŽŽ ¶?? ýh«w‘õŒSince–¦fthe“dashes“should“reacš²!h“the“endpMÞoin˜ts“w˜e“do“this:ŽŸ.8*ŸäÈQ’ˆ¼ÆÐifŽŽ’•l“ÄN–› §¹0‘¦fÐthenŽŽ‘‘TÄN“¹:=˜ÄN‘ ‹¹+‘nì1ŽŽ¤ ™™’ˆ¼ÆÄdX‘柹:=– §ÄdX‘Jä¹+‘nìÄd=¹2‘¦fÐwher‘ÿp¹eŽŽ‘# `Äd“¹=“Ï\sd@XŽ‘ÈùÄAŽŽ¡’ˆ¼Æd–›»Y‘y–¹:=› §Äd“Y‘ÝÛ¹+‘nìÄd=¹2‘¦fÐwher‘ÿp¹eŽŽ‘# `Äd˜¹=˜Ï\sd@YŽ‘ÈùÄBŽŽ¡’ˆ¼ÆÐifŽŽ’•l“ÄdX–æŸ>› §¹0‘¦fÐthenŽŽ‘‘TÄX“¹:=˜ÄX‘Jä¹+‘nìÄA=¹2ŽŽ¡’ˆ¼ÆÄY‘y–¹:=‘ §ÄY‘ÝÛ¹+‘nìÏ\sd@YŽ‘->ÄA=¹2ŽŽŽŽŸ2ï‘ãŒÃ5514Ž‘õŒÏ\xydef@\dashedSpread@{\ifnum\z@<\count@@–¿ª\advance\count@@\@ne“\fiŽŽ¤ ™š‘ãŒÃ5515Ž‘ûKÃÏ\advance\d@X\sd@X.5\A@‘¿ª\advance\d@Y\sd@Y.5\B@ŽŽ¡‘ãŒÃ5516Ž‘ûKÃÏ\ifdim\z@<\d@X–¿ª\advance\X@c.5\A@“\fi“\advance\Y@c\sd@Y.5\B@}ŽŽŸ @‘õŒ¹Dashed–¦fdashing“of“squiggled“lines“are“simpler“since“squiggles“are“symmetric:Ž©Pˆ‘ãŒÃ5523Ž‘õŒÏ\xydefcsname@{dir1{~~}}{\dashsquiggle@}ŽŽ¡‘ãŒÃ5524Ž‘õŒÏ\xydefcsname@{dir2{~~}}{\dashsquiggle@‘¿ª\double@\xybsqlh@}ŽŽ¡‘ãŒÃ5525Ž‘õŒÏ\xydefcsname@{dir3{~~}}{\dashsquiggle@‘¿ª\triple@\xybsqlh@}ŽŽ¡‘ãŒÃ5526Ž‘õŒÏ\xyletcsnamecsname@{dir0{~~}}{dir{}}ŽŽ¡‘ãŒÃ5527Ž‘õŒÏ\xyletcsnamecsname@{dir{~~}}{dir1{~~}}ŽŽ¦‘ãŒÃ5529Ž‘õŒÏ\xydef@\dashsquiggle@{\squiggle@ŽŽ¡‘ãŒÃ5530Ž‘ûKÃÏ\multiply\D@c\tw@–¿ª\multiply\U@c\tw@“\multiply\L@c\tw@“\multiply\R@c\tw@ŽŽ¡‘ãŒÃ5531Ž‘ûKÃÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\wdz@=\dimen@“\ht\z@=\U@c“\dp\z@=\D@cŽŽ¡‘ãŒÃ5532Ž‘ûKÃÏ\def\Connect@@{\straight@\dashsquiggledSpread@}}ŽŽŸ @‘õŒ¹The–ºúspreading“of“squiggles“is“similarly“simpler:‘wš²!e“just“sha˜v˜e“1Ä=¹4“squiggle“size“of“eac˜h“end“of“theŽ¡‘õŒconection–¦fin“order“to“eliminate“the“blank“space“at“bMÞoth“ends:ަ‘ãŒÃ5540Ž‘õŒÏ\xydef@\dashsquiggledSpread@{\ifnum\z@<\count@@–¿ª\advance\count@@\@ne“\fiŽŽ¡‘ãŒÃ5541Ž‘ûKÃÏ\advance\X@c.5\A@–¿ª\advance\d@X.5\A@“\advance\Y@c.25\B@“\advance\d@Y.5\B@}ŽŽŸ @‘õŒ¹Finally–¦f\dashed“dotting"“synon²!yms:ަ‘ãŒÃ5547Ž‘õŒÏ\xyletcsnamecsname@{dir1{..}}{dir{.}}ŽŽ¡‘ãŒÃ5548Ž‘õŒÏ\xyletcsnamecsname@{dir2{..}}{dir2{.}}ŽŽ¡‘ãŒÃ5549Ž‘õŒÏ\xyletcsnamecsname@{dir3{..}}{dir3{.}}ŽŽ¡‘ãŒÃ5550Ž‘õŒÏ\xyletcsnamecsname@{dir{..}}{dir1{.}}ŽŽ¡‘ãŒÃ5551Ž‘õŒÏ\xyletcsnamecsname@{dir{::}}{dir2{.}}ŽŽŸÃø‘㌹1.6c.ŽŽ‘ÿrThe– group“of“Ðplain‘Wdtips‘ì$¹conš²!tains“basic“ob‘›»jects“that“are“useful“as“mark˜ers“and“arro˜wheads“makingŽ¡‘õŒconnections,–¦fso“eacš²!h“is“sho˜wn“at“the“end“of“a“dotted“connection“of“the“appropriate“kind.ŽŸSR‘õŒThey–¦fmaš²!y“also“bMÞe“used“as“connectors“and“will“build“dotted“connections.‘ÝÝÐe¹.Ðg¹.,“Ï**@{>}Ž‘)Êȹt˜ypMÞesetsŽŸœX’Ê+\ïps: SDict begin xyc end‘"sÞŸôÕ«ï" {3379 10 /xy AB}xyŽŽŽŽ‘ßöŽqï" {3379 10 /xy AB}xyŽŽŽŽ‘RŸøG7ï" {3379 10 /xy AB}xyŽŽŽŽ‘aŒŸùÿýï" {3379 10 /xy AB}xyŽŽŽŽ‘ °ÆŸû¸Ãï" {3379 10 /xy AB}xyŽŽŽŽ‘Ÿýq‰ï" {3379 10 /xy AB}xyŽŽŽŽŽŽŽŽŽŸ&E0‘õŒÔExercise‘21.14:‘ ó5¹Tš²!ypMÞeset–¦fthe“follo˜wing“t˜w˜o“+s“and“a“tilted“square:ŽŸQ°’Ñ~¢ïps: SDict begin xyc endž$ý+ŽŽŽŽŽ‘RŸ÷›Ô+ŽŽŽŽŽ‘TuŸôßï" {3584 F d}xyŽŽŽŽŽ‘ÜŸî)¯ï" {-2560 F d}xyŽŽŽŽŽ‘Ÿðf/ï" {-2560 F d}xyŽŽŽŽŽ‘õŸðf/ï" {3584 F d}xyŽŽŽŽŽŽŽŽŽŸóè‘õŒÐHint‘ ê¹:‘ÝÝthe–¦fdash“created“b²!y“Ï\dir{-}Ž‘/Šr¹has“the“length“Ï5ptŽ‘‹Ê¹(here).ަ‘ãŒÃ5595Ž‘õŒÏ\xylet@\ctipEdge@=\czeroEdge@ŽŽŸ @‘õŒÔT‘þó\o‘¤ÊDo:‘¤‹¹Change– ½tips“to“ha•²!v“e– ½a“tinš²!y“size“of“2sp“whic˜h“ma˜y“bMÞe“tak˜en“as“an“indication“that“it“is“aŽ¡‘õŒtip–¦f(this“can“bMÞe“used“bš²!y“some“features,“Ðe¹.Ðg¹.,“`arro˜w').ŽŽŽŒ‹PQ Á à ý*tj‘㌹80’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘õŒÔArro¦tw‘kkheads:‘ ó5¹The–×Ùones“inš²!tended“for“single“connections“are“just“c˜haracters“from“Ï\xyatipfontޤ ™š‘õŒ¹and‘¦fÏ\xybtipfont¹.Ž©Pˆ‘ãŒÃ5608Ž‘õŒÏ\xydefcsname@{dir1{>}}{\tip@}ŽŽ¡‘ãŒÃ5609Ž‘õŒÏ\xydefcsname@{dir^{>}}{\atip@}ŽŽ¡‘ãŒÃ5610Ž‘õŒÏ\xydefcsname@{dir_{>}}{\btip@}ŽŽ¡‘ãŒÃ5611Ž‘õŒÏ\xyletcsnamecsname@{dir0{>}}{dir{}}ŽŽ¡‘ãŒÃ5612Ž‘õŒÏ\xyletcsnamecsname@{dir{>}}{dir1{>}}ŽŽ¦‘ãŒÃ5614Ž‘õŒÏ\xydefcsname@{dir1{<}}{\reverseDirection@\tip@}ŽŽ¡‘ãŒÃ5615Ž‘õŒÏ\xydefcsname@{dir^{<}}{\reverseDirection@\btip@}ŽŽ¡‘ãŒÃ5616Ž‘õŒÏ\xydefcsname@{dir_{<}}{\reverseDirection@\atip@}ŽŽ¡‘ãŒÃ5617Ž‘õŒÏ\xyletcsnamecsname@{dir0{<}}{dir{}}ŽŽ¡‘ãŒÃ5618Ž‘õŒÏ\xyletcsnamecsname@{dir{<}}{dir1{<}}ŽŽ¦‘ãŒÃ5620Ž‘õŒÏ\xydef@\tip@{\tip@x\tip@@}ŽŽ¡‘ãŒÃ5621Ž‘õŒÏ\xydef@\atip@{\tip@x\atip@@}ŽŽ¡‘ãŒÃ5622Ž‘õŒÏ\xydef@\btip@{\tip@x\btip@@}ŽŽ¦‘ãŒÃ5624Ž‘õŒÏ\xydef@\tip@x#1{#1\egroupŽŽ¡‘ãŒÃ5625Ž‘ûKÃÏ\ctipEdge@–¿ª%\Invisible@false“\Hidden@falseŽŽ¡‘ãŒÃ5626Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ5627Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@{\dottedSpread@\jot}}}ŽŽ¦‘ãŒÃ5629Ž‘õŒÏ\xydef@\tip@@{\atip@@\btip@@}ŽŽ¡‘ãŒÃ5630Ž‘õŒÏ\xydef@\atip@@{\xyatipfont\DirectionChar}ŽŽ¡‘ãŒÃ5631Ž‘õŒÏ\xydef@\btip@@{\xybtipfont\DirectionChar}ŽŽŸb_‘õŒ¹Double–«Oand“triple“tips“are“realised“bš²!y“taking“the“t˜w˜o“halfs“and“`wringing“them“apart';‘ÿas“the“namingŽ¡‘õŒindicates–•#they“are“mean²!t“to“bMÞe“put“at“the“end“of“Ï2Ž› T͹-“and“Ï3Ž˜¹-connections.‘ØThis“is“curren²!tly“done“theŽ¡‘õŒsligh•²!tly›¨‘hac“ky˜(but˜ecien“t)˜w“a“y˜of˜adding˜directly˜to˜Ï\DirectionChar¹;‘)§ma“yb•MÞe˜this˜should˜b“eŽ¡‘õŒusing‘¦fÏ\vDirection@Ž‘H¢^¹?ަ‘ãŒÃ5641Ž‘õŒÏ\xydefcsname@{dir2{>}}{\Tip@}ŽŽ¡‘ãŒÃ5642Ž‘õŒÏ\xydefcsname@{dir2{<}}{\reverseDirection@\Tip@}ŽŽ¦‘ãŒÃ5644Ž‘õŒÏ\xydef@\Tip@{\kern2.5pt–¿ª\vrule“height2.5pt“depth2.5pt“width\z@ŽŽ¡‘ãŒÃ5645Ž‘ûKÃÏ\Tip@@–¿ª\kern2.5pt“\egroupŽŽ¡‘ãŒÃ5646Ž‘ûKÃÏ\U@c=2.5pt–¿ª\D@c=2.5pt“\L@c=2.5pt“\R@c=2.5pt“\Edge@c={\circleEdge}%ŽŽ¡‘ãŒÃ5647Ž‘õŒÏ%–¿ª\Invisible@false“\Hidden@falseŽŽ¡‘ãŒÃ5648Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ5649Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@{\dottedSpread@\jot}}}ŽŽ¦‘ãŒÃ5651Ž‘õŒÏ\xydef@\Tip@@{\count@=\DirectionCharŽŽ¡‘ãŒÃ5652Ž‘ûKÃÏ\advance\count@-4–¿ª\ifnum\count@<\z@“\advance\count@128“\fiŽŽ¡‘ãŒÃ5653Ž‘ûKÃÏ\xyatipfont\char\count@ŽŽ¡‘ãŒÃ5654Ž‘ûKÃÏ\advance\count@–¿ª8“\ifnum127<\count@“\advance\count@-128“\fiŽŽ¡‘ãŒÃ5655Ž‘ûKÃÏ\xybtipfont\char\count@}ŽŽ¦‘ãŒÃ5657Ž‘õŒÏ\xydefcsname@{dir3{>}}{\Ttip@}ŽŽ¡‘ãŒÃ5658Ž‘õŒÏ\xydefcsname@{dir3{<}}{\composite@{}{:(-1,0)\dir3{>}}}ŽŽ¦‘ãŒÃ5660Ž‘õŒÏ\xydef@\Ttip@{\kern3.2pt–¿ª\vrule“height3.2pt“depth3.2pt“width\z@ŽŽ¡‘ãŒÃ5661Ž‘ûKÃÏ\Ttip@@–¿ª\kern3.2pt“\egroupŽŽ¡‘ãŒÃ5662Ž‘ûKÃÏ\U@c=3.2pt–¿ª\D@c=3.2pt“\L@c=3.2pt“\R@c=3.2pt“\Edge@c={\circleEdge}%ŽŽ¡‘ãŒÃ5663Ž‘õŒÏ%–¿ª\Invisible@false“\Hidden@falseŽŽŽŽŒ‹Q%p Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹81ŽŽ ¶?? ýh«w‘ãŒÃ5664Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¤ ™š‘ãŒÃ5665Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@{\dottedSpread@\jot}}}ŽŽ©Pˆ‘ãŒÃ5667Ž‘õŒÏ\xydef@\Ttip@@{%ŽŽ¡‘ãŒÃ5668Ž‘ûKÃÏ\setboxz@h\bgroup\reverseDirection@\line@–¿ª\wdz@=\z@“\ht\z@=\z@“\dp\z@=\z@ŽŽ¡‘ãŒÃ5669Ž‘ûKÃÏ\kern-\L@c–¿ª\boxz@“\kern\L@cŽŽ¡‘ãŒÃ5670Ž‘ûKÃÏ{\vDirection@(1,-.31)\xydashl@‘¿ª\xyatipfont\char\DirectionChar}%ŽŽ¡‘ãŒÃ5671Ž‘ûKÃÏ{\vDirection@(1,+.31)\xydashl@‘¿ª\xybtipfont\char\DirectionChar}}ŽŽŸ(Î…‘õŒÔStoppY‹er:‘ ó5Ï\dir{Ž‘'±‡|Ž‘-q1}Ž‘6¸¹makš²!es–‡&a“`stoppMÞer'“using“just“the“appropriate“Ï\xydashfont“¹c˜haracter“rotatedŽ¡‘õŒ90Ÿü¾ÈŽ‘ «¹and–G§cen²!tered;‘˜Gthe“Ï^Ž›Nø¹and“Ï_Ž˜¹v‘ÿdDarianš²!ts“are“just“shifted“appropriately“and“t˜w˜o“are“used“to“mak˜eŽ¡‘õŒthe‘¦fÏ2Ž– v¹and‘¦fÏ3Ž“¹v‘ÿdDarian²!ts‘¦flonger.ަ‘ãŒÃ5682Ž‘õŒÏ\xydefcsname@{dir1{|}}{\stopper@}ŽŽ¡‘ãŒÃ5683Ž‘õŒÏ\xydefcsname@{dir^{|}}{\aboveDirection@\xydashl@ŽŽ¡‘ãŒÃ5684Ž‘ûKÃÏ\shiftdir@\line@\z@‘¿ª\pointlike@{}\xydashh@}ŽŽ¡‘ãŒÃ5685Ž‘õŒÏ\xydefcsname@{dir_{|}}{\belowDirection@\xydashl@ŽŽ¡‘ãŒÃ5686Ž‘ûKÃÏ\shiftdir@\line@\z@‘¿ª\pointlike@{}\xydashh@}ŽŽ¡‘ãŒÃ5687Ž‘õŒÏ\xydefcsname@{dir2{|}}{\stopper@‘¿ª\double@\xydashh@}ŽŽ¡‘ãŒÃ5688Ž‘õŒÏ\xydefcsname@{dir3{|}}{\stopper@‘¿ª\double@{2\xydashh@}}ŽŽ¦‘ãŒÃ5690Ž‘õŒÏ\xyletcsnamecsname@{dir0{|}}{dir{}}ŽŽ¡‘ãŒÃ5691Ž‘õŒÏ\xyletcsnamecsname@{dir{|}}{dir1{|}}ŽŽ¦‘ãŒÃ5693Ž‘õŒÏ\xydef@\stopper@{\tip@x\stopper@@}ŽŽ¦‘ãŒÃ5695Ž‘õŒÏ\xydef@\stopper@@{\setboxz@h{\count@=\SemiDirectionChar–¿ª\advance\count@64“%ŽŽ¡‘ãŒÃ5696Ž‘ mÏ\ifnum127<\count@–¿ª\advance\count@-128“\fi“\xydashfont\char\count@\/}%ŽŽ¡‘ãŒÃ5697Ž‘ûKÃÏ\setboxz@h{\kern-.5\wdz@‘¿ª\dimen@=\sd@Y\cosDirection\xydashl@ŽŽ¡‘ãŒÃ5698Ž‘ mÏ\ifnum\SemiDirectionChar=95–¿ª\dimen@=\sd@X\sd@Y\dimen@“\fiŽŽ¡‘ãŒÃ5699Ž‘ mÏ\raise.5\dimen@\boxz@}%ŽŽ¡‘ãŒÃ5700Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽŸ(Î…‘õŒÔHoY‹oks:‘ ó5¹These–ë‡are“halfcircles“opšMÞening“to•²!w“ards–ë‡or“opp˜osite“Ï\Direction“¹and“fastened“b²!y“theirŽ¡‘õŒcenš²!ter–t2or“either“endpMÞoin˜t.‘ GABuild“b˜y“lots“of“bMÞo˜x“manipulation“with“the“Ï\xybsqlfont“¹quarterŽ¡‘õŒcircles.–Ó3.“.“Ç Ž‘@ÂŽ‘ Å^ŽŽŽŽ¦‘ãŒÃ5710Ž‘õŒÏ\xydefcsname@{dir1{(}}{\hook@}ŽŽ¡‘ãŒÃ5711Ž‘õŒÏ\xydefcsname@{dir^{(}}{\ahook@}ŽŽ¡‘ãŒÃ5712Ž‘õŒÏ\xydefcsname@{dir_{(}}{\bhook@}ŽŽ¡‘ãŒÃ5713Ž‘õŒÏ\xyletcsnamecsname@{dir0{(}}{dir{}}ŽŽ¡‘ãŒÃ5714Ž‘õŒÏ\xyletcsnamecsname@{dir{(}}{dir1{(}}ŽŽ¦‘ãŒÃ5716Ž‘õŒÏ\xydefcsname@{dir1{)}}{\reverseDirection@\hook@}ŽŽ¡‘ãŒÃ5717Ž‘õŒÏ\xydefcsname@{dir^{)}}{\reverseDirection@\bhook@}ŽŽ¡‘ãŒÃ5718Ž‘õŒÏ\xydefcsname@{dir_{)}}{\reverseDirection@\ahook@}ŽŽ¡‘ãŒÃ5719Ž‘õŒÏ\xyletcsnamecsname@{dir0{)}}{dir{}}ŽŽ¡‘ãŒÃ5720Ž‘õŒÏ\xyletcsnamecsname@{dir{)}}{dir1{)}}ŽŽ¦‘ãŒÃ5722Ž‘õŒÏ\xydef@\hook@{\tip@x\hook@@}ŽŽ¡‘ãŒÃ5723Ž‘õŒÏ\xydef@\hook@@{\setboxz@h{\xybsqlfontŽŽ¡‘ãŒÃ5724Ž‘ mÏ\vDirection@(1,-1){.707107\xybsqll@}%ŽŽ¡‘ãŒÃ5725Ž‘ mÏ\hbox{\DirectionCharŽŽŽŽŒ‹R1• Á à ý*tj‘㌹82’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ5726Ž‘ËÏ\kern-\d@Y\raise\d@X\hbox{\count@=\DirectionChar–¿ª\advance\count@-32“%ŽŽ¤ ™š‘ãŒÃ5727Ž‘ ŠÁÏ\ifnum\count@<\z@–¿ª\advance\count@128“\fi“\char\count@}}}%ŽŽ¡‘ãŒÃ5728Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽ©Pˆ‘ãŒÃ5730Ž‘õŒÏ\xydef@\ahook@{\tip@x\ahook@@}ŽŽ¡‘ãŒÃ5731Ž‘õŒÏ\xydef@\ahook@@{\setboxz@h{\xybsqlfontŽŽ¡‘ãŒÃ5732Ž‘ mÏ\vDirection@(1,-1){.707107\xybsqll@}\kern-\d@XŽŽ¡‘ãŒÃ5733Ž‘ mÏ\lower\d@Y\hbox{\DirectionCharŽŽ¡‘ãŒÃ5734Ž‘ËÏ\kern-\d@Y\raise\d@X\hbox{\count@=\DirectionChar–¿ª\advance\count@-32“%ŽŽ¡‘ãŒÃ5735Ž‘ ŠÁÏ\ifnum\count@<\z@–¿ª\advance\count@128“\fi“\char\count@}}}%ŽŽ¡‘ãŒÃ5736Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽ¦‘ãŒÃ5738Ž‘õŒÏ\xydef@\bhook@{\tip@x\bhook@@}ŽŽ¡‘ãŒÃ5739Ž‘õŒÏ\xydef@\bhook@@{\setboxz@h{\xybsqlfontŽŽ¡‘ãŒÃ5740Ž‘ mÏ\vDirection@(-1,-1){.707107\xybsqll@}\DirectionCharŽŽ¡‘ãŒÃ5741Ž‘ mÏ\kern\d@X\raise\d@Y\hbox{\count@=\DirectionChar–¿ª\advance\count@-96“%ŽŽ¡‘ãŒÃ5742Ž‘ËÏ\ifnum\count@<\z@–¿ª\advance\count@128“\fi“\char\count@}}%ŽŽ¡‘ãŒÃ5743Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽŸ'+¸‘õŒÔQuarter‘½Vturns:‘ ó5¹These–are“quarter“circles“fastened“bš²!y“their“start“or“end“pMÞoin˜t“in“Ï\Direction¹.Ž¡‘õŒBuild–6>bš²!y“bMÞo˜x“manipulation“of“the“Ï\xybsqlfont“¹quarter“circles.‘ eThe“in˜ten˜tion“is“that“the“Ï`'ŽŽ¡‘õŒ¹directionals–¦fare“half“the“correspMÞonding“Ï()Ž‘Ì ¹directional.ަ‘ãŒÃ5754Ž‘õŒÏ\xydefcsname@{dir^{'}}{\reverseDirection@\bturn@}ŽŽ¡‘ãŒÃ5755Ž‘õŒÏ\xydefcsname@{dir_{'}}{\reverseDirection@\aturn@}ŽŽ¦‘ãŒÃ5757Ž‘õŒÏ\xydefcsname@{dir^{`}}{\aturn@}ŽŽ¡‘ãŒÃ5758Ž‘õŒÏ\xydefcsname@{dir_{`}}{\bturn@}ŽŽ¦‘ãŒÃ5760Ž‘õŒÏ\xydef@\aturn@{\tip@x\aturn@@}ŽŽ¡‘ãŒÃ5761Ž‘õŒÏ\xydef@\aturn@@{\setboxz@h{\xybsqlfontŽŽ¡‘ãŒÃ5762Ž‘ mÏ\vDirection@(1,-1){.707107\xybsqll@}\kern-\d@XŽŽ¡‘ãŒÃ5763Ž‘ mÏ\lower\d@Y\hbox{\DirectionChar}}%ŽŽ¡‘ãŒÃ5764Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽ¦‘ãŒÃ5766Ž‘õŒÏ\xydef@\bturn@{\tip@x\bturn@@}ŽŽ¡‘ãŒÃ5767Ž‘õŒÏ\xydef@\bturn@@{\setboxz@h{\xybsqlfontŽŽ¡‘ãŒÃ5768Ž‘ mÏ\vDirection@(-1,-1){.707107\xybsqll@}\DirectionChar}%ŽŽ¡‘ãŒÃ5769Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽŸî2‘㌹1.6d.ŽŽ‘©ùThese–ÿþtips“are“comš²!binations“of“the“plain“tips“pro˜vided“for“con˜v˜enience“(and“optimised“for“e-Ž¡‘õŒciency).‘ÝÝNew–¦fones“can“bMÞe“constructed“using“Ï\composite“¹and“b²!y“declarations“of“the“formŽŸ™r‘õŒ„ffѲdŽŸ ¬‡’™¾ØÏ\newdir–¦fÇh¹dirÇi“Ï{Ž‘ fÇh¹compMÞositeÇiÏ}ŽŽŽŸ¢N‘õŒ„ffѲdŽŸ¬¦‘õŒ¹whic²!h–¦fde nes“Ï\dirÇh¹dirÇi“¹as“the“Çh¹compMÞositeÇi“¹(see“note“1.4d“for“the“details).ŽŸho‘õŒÏ\newdir–¦f¹is“simple:ަ‘ãŒÃ5795Ž‘õŒÏ\xydef@\newdir#1#{\newdir@{#1}}ŽŽ¦‘ãŒÃ5797Ž‘õŒÏ\xydef@\newdir@#1#2#3{\xydefcsname@{dir#1{#2}}{\composite@{}{#3}}}ŽŽŸ]‘õŒ¹Then–Ó the“somewhat“more“ecienš²!t“Ï\shiftdir@Ž‘C#ä¹used“in˜ternally“for“mo˜ving“a“tip“in“the“curren˜tŽ¡‘õŒdirection|it–Q{došMÞes“so“b²!y“making“a“lo˜cal“h•²!b˜o“x–Q{within“whicš²!h“the“argumen˜t“tip“is“constructed“andŽŽŽŒ‹S=ü Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹83ŽŽ ¶?? ýh«w‘õŒsubsequen²!tly–¦fshifted“and“made“of“zero“size.‘ÝÝUse“asޤÞ’`‹Ï\shiftdir@Ž’ÉÝ/Çh¹tip@ÇiŽ’èGßh¹dimenÇiŽ’ ÿ[h¹tip@ÇiŽŽ¡‘õŒ¹where–¦fÇh¹tip@Çi“¹means“a“tip“command“without“the“leading“Ï\hbox{Ž‘&$b¹.Ž©Pˆ‘ãŒÃ5810Ž‘õŒÏ\xydef@\shiftdir@#1#2{%ŽŽ¤ ™š‘ãŒÃ5811Ž‘ûKÃÏ\setbox\z@=\hbox\bgroup#1\relaxŽŽ¡‘ãŒÃ5812Ž‘ûKÃÏ\setboxz@h{\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ5813Ž‘ mÏ\dimen@=-\cosDirection\dimen@ii‘¿ª\advance\dimen@-\L@cŽŽ¡‘ãŒÃ5814Ž‘ mÏ\kern\dimen@‘¿ª\lower\sinDirection\dimen@ii\boxz@}%ŽŽ¡‘ãŒÃ5815Ž‘ûKÃÏ\wdz@\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽŸþ0‘õŒ¹Then–nthe“tips,‘yJwith“the“Ï\tipjot@Ž‘4ÙV¹hoMÞok“alloš²!wing“c˜hanging“the“spacing“of“tips“used“for“single“lines.ަ‘ãŒÃ5822Ž‘õŒÏ\xylet@\tipjot@=\jotŽŽ¦‘ãŒÃ5824Ž‘õŒÏ\xydefcsname@{dir1{>>}}{\shiftdir@\tip@\tipjot@‘¿ª\tip@}ŽŽ¡‘ãŒÃ5825Ž‘õŒÏ\xydefcsname@{dir^{>>}}{\shiftdir@\atip@\tipjot@‘¿ª\atip@}ŽŽ¡‘ãŒÃ5826Ž‘õŒÏ\xydefcsname@{dir_{>>}}{\shiftdir@\btip@\tipjot@‘¿ª\btip@}ŽŽ¡‘ãŒÃ5827Ž‘õŒÏ\xydefcsname@{dir2{>>}}{\composite@{}{h!/\tipjot@/\dir2{>}*\dir2{>}}}ŽŽ¡‘ãŒÃ5828Ž‘õŒÏ\xydefcsname@{dir3{>>}}{\composite@{}{h!/\tipjot@/\dir3{>}*\dir3{>}}}ŽŽ¡‘ãŒÃ5829Ž‘õŒÏ\xyletcsnamecsname@{dir0{>>}}{dir{}}ŽŽ¡‘ãŒÃ5830Ž‘õŒÏ\xyletcsnamecsname@{dir{>>}}{dir1{>>}}ŽŽ¦‘ãŒÃ5832Ž‘õŒÏ\xydefcsname@{dir1{<<}}{\reverseDirection@–¿ª\shiftdir@\tip@\tipjot@“\tip@}ŽŽ¡‘ãŒÃ5833Ž‘õŒÏ\xydefcsname@{dir^{<<}}{\reverseDirection@–¿ª\shiftdir@\btip@\tipjot@“\btip@}ŽŽ¡‘ãŒÃ5834Ž‘õŒÏ\xydefcsname@{dir_{<<}}{\reverseDirection@–¿ª\shiftdir@\atip@\tipjot@“\atip@}ŽŽ¡‘ãŒÃ5835Ž‘õŒÏ\xydefcsname@{dir2{<<}}{\composite@{}{h!/-\tipjot@/\dir2{<}*\dir2{<}}}ŽŽ¡‘ãŒÃ5836Ž‘õŒÏ\xydefcsname@{dir3{<<}}{\composite@{}{h!/-\tipjot@/\dir3{<}*\dir3{<}}}ŽŽ¡‘ãŒÃ5837Ž‘õŒÏ\xyletcsnamecsname@{dir0{<<}}{dir{}}ŽŽ¡‘ãŒÃ5838Ž‘õŒÏ\xyletcsnamecsname@{dir{<<}}{dir1{<<}}ŽŽ¦‘ãŒÃ5840Ž‘õŒÏ\xydefcsname@{dir1{||}}{\shiftdir@\stopper@\xydashh@‘¿ª\shiftdir@\stopper@\z@ŽŽ¡‘ãŒÃ5841Ž‘ûKÃÏ\pointlike@{}\jot}ŽŽ¡‘ãŒÃ5842Ž‘õŒÏ\xydefcsname@{dir^{||}}{\shiftdir@{\aboveDirection@\xydashl@\line@}\xydashh@ŽŽ¡‘ãŒÃ5843Ž‘ûKÃÏ\shiftdir@{\aboveDirection@\xydashl@\line@}\z@‘¿ª\pointlike@{}\jot}ŽŽ¡‘ãŒÃ5844Ž‘õŒÏ\xydefcsname@{dir_{||}}{\shiftdir@{\belowDirection@\xydashl@\line@}\xydashh@ŽŽ¡‘ãŒÃ5845Ž‘ûKÃÏ\shiftdir@{\belowDirection@\xydashl@\line@}\z@‘¿ª\pointlike@{}\jot}ŽŽ¡‘ãŒÃ5846Ž‘õŒÏ\xydefcsname@{dir2{||}}{\shiftdir@\stopper@\xydashh@‘¿ª\shiftdir@\stopper@\z@ŽŽ¡‘ãŒÃ5847Ž‘ûKÃÏ\pointlike@{}\jot‘¿ª\double@\xydashh@}ŽŽ¡‘ãŒÃ5848Ž‘õŒÏ\xydefcsname@{dir3{||}}{\shiftdir@\stopper@\xydashh@‘¿ª\shiftdir@\stopper@\z@ŽŽ¡‘ãŒÃ5849Ž‘ûKÃÏ\pointlike@{}\jot‘¿ª\double@{2\xydashh@}}ŽŽ¡‘ãŒÃ5850Ž‘õŒÏ\xyletcsnamecsname@{dir0{||}}{dir{}}ŽŽ¡‘ãŒÃ5851Ž‘õŒÏ\xyletcsnamecsname@{dir{||}}{dir1{||}}ŽŽ¦‘ãŒÃ5853Ž‘õŒÏ\xydefcsname@{dir1{>|}}{\shiftdir@\stopper@\z@‘¿ª\tip@}ŽŽ¡‘ãŒÃ5854Ž‘õŒÏ\xydefcsname@{dir2{>|}}{\composite@{}{\dir2{>}*\dir2{|}}}ŽŽ¡‘ãŒÃ5855Ž‘õŒÏ\xydefcsname@{dir3{>|}}{\composite@{}{\dir3{>}*\dir3{|}}}ŽŽ¡‘ãŒÃ5856Ž‘õŒÏ\xyletcsnamecsname@{dir0{>|}}{dir{}}ŽŽ¡‘ãŒÃ5857Ž‘õŒÏ\xyletcsnamecsname@{dir{>|}}{dir1{>|}}ŽŽ¦‘ãŒÃ5859Ž‘õŒÏ\xydefcsname@{dir1{>>|}}{\shiftdir@\stopper@\z@–¿ª\shiftdir@\tip@\tipjot@“\tip@}ŽŽ¡‘ãŒÃ5860Ž‘õŒÏ\xydefcsname@{dir2{>>|}}{\composite@{}{h!/\tipjot@/\dir2{>}*\dir2{>}*\dir2{|}}}ŽŽ¡‘ãŒÃ5861Ž‘õŒÏ\xydefcsname@{dir3{>>|}}{\composite@{}{h!/\tipjot@/\dir3{>}*\dir3{>}*\dir3{|}}}ŽŽŽŽŒ‹TJo Á à ý*tj‘㌹84’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ5862Ž‘õŒÏ\xyletcsnamecsname@{dir0{>>|}}{dir{}}ŽŽ¤ ™š‘ãŒÃ5863Ž‘õŒÏ\xyletcsnamecsname@{dir{>>|}}{dir1{>>|}}ŽŽ©Pˆ‘ãŒÃ5865Ž‘õŒÏ\xydefcsname@{dir1{|<}}{\reverseDirection@–¿ª\shiftdir@\stopper@\z@“\tip@}ŽŽ¡‘ãŒÃ5866Ž‘õŒÏ\xydefcsname@{dir2{|<}}{\reverseDirection@–¿ª\shiftdir@\stopper@\z@“\Tip@}ŽŽ¡‘ãŒÃ5867Ž‘õŒÏ\xydefcsname@{dir3{|<}}{\reverseDirection@–¿ª\shiftdir@\stopper@\z@“\Ttip@}ŽŽ¡‘ãŒÃ5868Ž‘õŒÏ\xyletcsnamecsname@{dir0{|<}}{dir{}}ŽŽ¡‘ãŒÃ5869Ž‘õŒÏ\xyletcsnamecsname@{dir{|<}}{dir1{|<}}ŽŽ¦‘ãŒÃ5871Ž‘õŒÏ\xydefcsname@{dir1{|<<}}{\reverseDirection@ŽŽ¡‘ãŒÃ5872Ž‘ûKÃÏ\shiftdir@\stopper@\z@–¿ª\shiftdir@\tip@\tipjot@“\tip@}ŽŽ¡‘ãŒÃ5873Ž‘õŒÏ\xydefcsname@{dir2{|<<}}{%ŽŽ¡‘ãŒÃ5874Ž‘ûKÃÏ\composite@{}{h!/-\tipjot@/\dir2{<}*\dir2{<}*\dir2{|}}}ŽŽ¡‘ãŒÃ5875Ž‘õŒÏ\xydefcsname@{dir3{|<<}}{%ŽŽ¡‘ãŒÃ5876Ž‘ûKÃÏ\composite@{}{h!/-\tipjot@/\dir3{<}*\dir3{<}*\dir3{|}}}ŽŽ¡‘ãŒÃ5877Ž‘õŒÏ\xyletcsnamecsname@{dir0{|<<}}{dir{}}ŽŽ¡‘ãŒÃ5878Ž‘õŒÏ\xyletcsnamecsname@{dir{|<<}}{dir1{|<<}}ŽŽ¦‘ãŒÃ5880Ž‘õŒÏ\xydefcsname@{dir1{|-}}{\shiftdir@\stopper@\z@ŽŽ¡‘ãŒÃ5881Ž‘ûKÃÏ\shiftdir@\line@\z@‘¿ª\pointlike@{}\jot}ŽŽ¡‘ãŒÃ5882Ž‘õŒÏ\xydefcsname@{dir^{|-}}{\shiftdir@{\aboveDirection@\xydashl@‘¿ª\line@}\z@ŽŽ¡‘ãŒÃ5883Ž‘ûKÃÏ\shiftdir@\line@\z@‘¿ª\pointlike@{}\jot}ŽŽ¡‘ãŒÃ5884Ž‘õŒÏ\xydefcsname@{dir_{|-}}{\shiftdir@{\belowDirection@\xydashl@‘¿ª\line@}\z@ŽŽ¡‘ãŒÃ5885Ž‘ûKÃÏ\shiftdir@\line@\z@‘¿ª\pointlike@{}\jot}ŽŽ¡‘ãŒÃ5886Ž‘õŒÏ\xydefcsname@{dir2{|-}}{\shiftdir@\stopper@\z@ŽŽ¡‘ãŒÃ5887Ž‘ûKÃÏ\shiftdir@\line@\z@–¿ª\pointlike@{}\jot“\double@\xydashh@}ŽŽ¡‘ãŒÃ5888Ž‘õŒÏ\xydefcsname@{dir3{|-}}{\shiftdir@\stopper@\z@ŽŽ¡‘ãŒÃ5889Ž‘ûKÃÏ\shiftdir@\line@\z@–¿ª\pointlike@{}\jot“\triple@\xydashh@}ŽŽ¡‘ãŒÃ5890Ž‘õŒÏ\xyletcsnamecsname@{dir0{|-}}{dir{}}ŽŽ¡‘ãŒÃ5891Ž‘õŒÏ\xyletcsnamecsname@{dir{|-}}{dir1{|-}}ŽŽ¡‘ãŒÃ5892Ž‘õŒÏ\xyletcsnamecsname@{dir{|=}}{dir2{|-}}ŽŽ¦‘ãŒÃ5894Ž‘õŒÏ\xydefcsname@{dir{+}}{%ŽŽ¡‘ãŒÃ5895Ž‘ûKÃÏ\DN@##1{\composite@{}{##10\dir{|}*!C##10\dir{-}}}\addEQ@\next@}ŽŽ¡‘ãŒÃ5896Ž‘õŒÏ\xyletcsnamecsname@{dir0{+}}{dir{}}ŽŽ¦‘ãŒÃ5898Ž‘õŒÏ\xydefcsname@{dir{x}}{\vDirection@(1,1)\jotŽŽ¡‘ãŒÃ5899Ž‘ûKÃÏ\DN@##1{\composite@{}{##10\dir{|}*!C##10\dir{-}}}\addEQ@\next@}ŽŽ¡‘ãŒÃ5900Ž‘õŒÏ\xyletcsnamecsname@{dir0{x}}{dir{}}ŽŽ¦‘ãŒÃ5902Ž‘õŒÏ\xydefcsname@{dir{/}}{\vDirection@(1,-.3)\jot‘¿ª\stopper@}ŽŽ¡‘ãŒÃ5903Ž‘õŒÏ\xyletcsnamecsname@{dir0{/}}{dir{}}ŽŽ¦‘ãŒÃ5905Ž‘õŒÏ\xydefcsname@{dir{//}}{\vDirection@(1,-.3)\jotŽŽ¡‘ãŒÃ5906Ž‘ûKÃÏ\shiftdir@\stopper@\xydashh@‘¿ª\stopper@}ŽŽ¡‘ãŒÃ5907Ž‘õŒÏ\xyletcsnamecsname@{dir0{//}}{dir{}}ŽŽ¦‘ãŒÃ5909Ž‘õŒÏ\xydefcsname@{dir{*}}{\solidpoint@}ŽŽ¡‘ãŒÃ5910Ž‘õŒÏ\xydef@\solidpoint@{%ŽŽ¡‘ãŒÃ5911Ž‘ûKÃÏ\pointlike@{\kern-1.8pt\lower1.8pt\hbox{$\scriptstyle\bullet$}}\jot}ŽŽ¡‘ãŒÃ5912Ž‘õŒÏ\xyletcsnamecsname@{dir0{*}}{dir{}}ŽŽ¦‘ãŒÃ5914Ž‘õŒÏ\xydefcsname@{dir{o}}{\hollowpoint@}ŽŽ¡‘ãŒÃ5915Ž‘õŒÏ\xydef@\hollowpoint@{%ŽŽ¡‘ãŒÃ5916Ž‘ûKÃÏ\pointlike@{\kern-1.8pt\lower1.8pt\hbox{$\scriptstyle\circ$}}\jot}ŽŽŽŽŒ‹UX Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹85ŽŽ ¶?? ýh«w‘ãŒÃ5917Ž‘õŒÏ\xyletcsnamecsname@{dir0{o}}{dir{}}ŽŽ ÞcÆ ÿB¤¸‘㌟ ff‰ffã²dŸ {„‘he¹Syn²!taxŽ’ápÍActionŽŽŽŽŸ‡w‰ffã²dŸ 6f‘heÏ\cirŽ‘+ sÇh¹radiusÇi‘¦fÏ{Ž‘ vÇh¹cirÇi‘¦fÏ}ŽŽ’ápÍÇh¹cirÇi¹cle–¦fsegmen²!t“with“Çh¹radiusÇiŽŽŽŽŸ#2‰ffã²dŸ …‘heh¹radiusÇiŽ‘FŸ¢ŽŽŽ‘MP·!ŽŽ‘h¬Qh¹empt²!yÇiŽ’áp͹use–¦fÄRŸ¤zÅcŽ‘Ôß¹as“the“radiusŽŽŽŽ¤ ™š‘MìrÇjŽŽ‘h¬Qh¹v²!ectorÇiŽ’áp͹use–¦fÄX‘‚^¹of“the“Çh¹v²!ectorÇi“¹as“radiusŽŽŽŽŸ™š‘heÇh¹cirÇiŽ‘FŸ¢ŽŽŽ‘MP·!ŽŽ‘h¬Qh¹empt²!yÇiŽ’áp͹full–¦fcircle“of“Çh¹radiusÇiŽŽŽŽ¡‘MìrjŽŽ‘h¬Qh¹diagÇi–¦fh¹orien²!tÇi“h¹diagÇiŽ’áp͹partial–ªãcircle“from“ rst“Çh¹diagÇi¹onal“through“to“theŽ¡’ápÍsecond–¦fÇh¹diagÇi¹onal“in“the“Çh¹orien²!tÇi¹ationŽŽŽŽŸÛ‚‘heÇh¹orien²!tÇiŽ‘FŸ¢ŽŽŽ‘MP·!ŽŽ‘h¬QÏ^ŽŽ’áp͹an•²!ticloMÞc“kwiseŽŽŽŽ¡‘MìrÇjŽŽ‘h¬QÏ_ŽŽ’áp͹cloMÞc²!kwiseŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’Á2iFigure‘¦f1.8:‘ÝÝÇh¹cirÇi¹cles.ŽŽŽŸ(ÿ±‘ãŒÞ1.6.2Ž‘ ÌCircle‘€segmen tsŽŸ®Å‘ãŒÃ5972Ž‘õŒÏ\message{circles,}ŽŽŸ ø‘㌹Circle–NÔÇh¹ob‘›»jectÇi¹s“are“round“and“tš²!ypMÞeset“a“segmen˜t“of“the“circle“cen˜tered“at“the“reference“pMÞoin˜t.‘×'Theޤ ™š‘ãŒsyn²!tax–¦fof“circles“is“describšMÞed“in“ gure“1.8“with“explanations“b˜elo²!w.ŽŸ ê ‘ôŒThe‘øVÏ\cirŽ‘ ïT¹command–øVis“the“h²!ub:‘½it“parses“the“optional“Çh¹radiusÇi“¹(to“Ï\R@Ž‘7T¹,‘LÑdefault“from“ÄRŸ¤zÅcŽ‘.y¹)“andŽ¡‘ãŒÏ{Ž‘éKÃÇh¹cirÇiÏ}Ž‘¿ª¹,–¦fbailing“out“with“a“Ï\zerodotŽ‘5J¹if“the“radius“is“to“small:Ž©Pˆ‘ãŒÃ5986Ž‘õŒÏ\xydef@\cir#1#{\hbox\bgroupŽŽ¡‘ãŒÃ5987Ž‘ûKÃÏ\afterVECTORorEMPTY{\xy@@{\R@=\X@c}\cir@}{\xy@@{\R@=\R@c}\cir@}#1@}ŽŽ¦‘ãŒÃ5989Ž‘õŒÏ\xydef@\cir@#1@#2{%ŽŽ¡‘ãŒÃ5990Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\else–¿ª\xyerror@{illegal“circle“:“must“beŽŽ¡‘ãŒÃ5991Ž‘#‰iÏ–¿ªor“}{}\fiŽŽ¡‘ãŒÃ5992Ž‘ûKÃÏ\afterCIRorDIAG{\xyFN@\cir@cir}{\xyFN@\cir@diag}#2@}ŽŽŸ ø‘ôŒ¹The–ÿ°cošMÞde“to“actually“t²!yp˜eset“the“Çh¹cirÇi“¹just“parsed“starts“bš²!y“c˜hec˜king“that“the“Çh¹cirÇi“¹w˜as“immediatelyŽ¡‘ãŒfollo•²!w“ed›¦fb“y˜the˜Ï@Ž‘ v¹w“e˜put˜there˜in˜Ï\cirŽ‘¥¹:ަ‘ãŒÃ6000Ž‘õŒÏ\xydef@\cir@cir{%ŽŽ¡‘ãŒÃ6001Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\cir@cir}%gobble“spacesŽŽ¡‘ãŒÃ6002Ž‘ûKÃÏ\else–¿ª\ifx“@\next“\DN@“@{\cir@i}%ŽŽ¡‘ãŒÃ6003Ž‘ûKÃÏ\else–¿ª\xyerror@{illegal“:“must“have“form““orŽŽ¡‘ãŒÃ6004Ž‘#‰iÏ}{}%ŽŽ¡‘ãŒÃ6005Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽŸ ø‘ôŒ¹Similarly–à‡when“an“Çh¹emptš²!yÇi“¹one“w˜as“giv˜en|the“parser“will“recognise“this“as“a“Çh¹diagÇi“¹but“w˜e“hac˜kŽ¡‘ãŒthat‘¦fhere:ަ‘ãŒÃ6012Ž‘õŒÏ\xydef@\cir@diag{%ŽŽ¡‘ãŒÃ6013Ž‘ûKÃÏ\DN@{\xyerror@{illegal–¿ª:“must“have“form““orŽŽ¡‘ãŒÃ6014Ž‘#‰iÏ}{}}%ŽŽ¡‘ãŒÃ6015Ž‘ûKÃÏ\ifx–¿ª@\next“\ifnum\count@=8“%ŽŽ¡‘ãŒÃ6016Ž‘ËÏ\DN@‘¿ª@{\def\CIRin@@{0}\def\CIRorient@@{\CIRfull@}\def\CIRout@@{7}\cir@i}%ŽŽŽŽŒ‹Ve Á à ý*tj‘㌹86’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ6017Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ¤Pˆ‘ôŒ¹.–Ó3.“.“and–¦fthen“use“the“constructed“methoMÞds“to“build“it:Ž¡‘ãŒÃ6023Ž‘õŒÏ\xydef@\cir@i{%ŽŽ¤ ™š‘ãŒÃ6024Ž‘ûKÃÏ\ifnum\CIRin@@=8–¿ª\xyerror@{incomplete““specification}{%ŽŽ¡‘ãŒÃ6025Ž‘õŒÏThe–¿ª“you“specified“as““is“not“sufficiently“specific.}%ŽŽ¡‘ãŒÃ6026Ž‘ mÏ\def\CIRin@@{0}\fiŽŽ¡‘ãŒÃ6027Ž‘ûKÃÏ\ifdim\R@<.5\p@–¿ª\R@=\z@“\zerodotŽŽ¡‘ãŒÃ6028Ž‘ûKÃÏ\else–¿ª\CIRorient@@“\cirbuild@“\fiŽŽ¡‘ãŒÃ6029Ž‘ûKÃÏ\L@c=\R@–¿ª\R@c=\R@“\D@c=\R@“\U@c=\R@“\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ6030Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\relax}%ŽŽ¡‘ãŒÃ6031Ž‘ûKÃÏ\Edge@c={\circleEdge}\OBJECT@x}ŽŽŸ!'š‘ãŒÔP¦tarsing:‘ ó5¹The‘¦fÏ\afterCIRorDIAGŽ‘]‡Â¹parser–¦fhandles“the“parsing:‘ÝÝit“eitherŽ© õ‘óøéÇŽŽŽ‘þì¹parses–‚+the“Çh¹cirÇi“¹and“sets“Ðin‘× ¹,–¼Ðorient› ê¹,“and‘‚+Ðout˜¹,“and–‚+passes“conš²!trol“to“the“ rst“argumen˜t“con˜tin˜uation,Ž¡‘þìorŽŸ“¾‘óøéÇŽŽŽ‘þì¹parses––the“single“Çh¹diagÇi“¹spMÞeci ed,‘=âstore“it“in“Ï\count@Ž‘0|Ò¹(as“Ï8Ž‘ þÖ¹if“an“Çh¹emptš²!yÇi“¹one“giv˜en),‘=âand“passŽ¡‘þìconš²!trol–¦fto“the“second“con˜tin˜uation“argumen˜t,ަ‘ãŒwhere–îËthe“Çh¹diagÇi“¹inš²!ternal“represen˜tation“n˜um˜bMÞer“of“note“1.4l“of“is“used.‘· An“Çh¹empt˜yÇi“¹circle“is“treatedŽ¡‘ãŒas–q©an“Çh¹emptš²!yÇi“¹diagonal;‘ƒ=spMÞecifying“an“Çh¹empt˜yÇi“¹ rst“Çh¹diagÇi“¹of“a“Çh¹cirÇi“¹is“equiv‘ÿdDalen˜t“to“using“the“v‘ÿdDalue“ofŽ¡‘ãŒthe–¦fÐin‘}q¹methoMÞd“at“call“time.Ž¡‘ôŒThe–çparser“is“vš²!ery“simple,‘ Zsetting“methoMÞds“stored“in“the“usual“Ï@@Ž‘fk¹-terminated“con˜trol“sequences“(ÔT‘þó\oŽ¡‘ãŒDo:‘ª[¹Rename–?ball“non-methoMÞd“conš²!trol“sequences“that“end“in“Ï@@Ž‘¾¶¹.–Ó3.“.“to–?buse“Ï@Ž‘ÿ Çh¹romann˜umeralÇi“¹suxes.–Ó3.“.“):Ž©Pˆ‘ãŒÃ6064Ž‘õŒÏ\xydef@\CIRin@@{3}ŽŽ¡‘ãŒÃ6065Ž‘õŒÏ\xydef@\CIRout@@{3}ŽŽ¡‘ãŒÃ6066Ž‘õŒÏ\xylet@\CIRorient@@=\emptyŽŽ¦‘ãŒÃ6068Ž‘õŒÏ\xydef@\afterCIRorDIAG#1#2{\def\afterCIR@{#1}\def\afterCIRDIAG@{#2}\xyFN@\CIR@}ŽŽ¦‘ãŒÃ6070Ž‘õŒÏ\xylet@\afterCIR@=\emptyŽŽ¡‘ãŒÃ6071Ž‘õŒÏ\xylet@\afterCIRDIAG@=\emptyŽŽ¦‘ãŒÃ6073Ž‘õŒÏ\xydef@\CIR@{\count@=8‘¿ª\afterDIAG{\edef\CIRin@@{\the\count@}\xyFN@\CIR@@}}ŽŽ¦‘ãŒÃ6075Ž‘õŒÏ\xydef@\CIR@@{%ŽŽ¡‘ãŒÃ6076Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\CIR@@}%gobble“spacesŽŽ¡‘ãŒÃ6077Ž‘ûKÃÏ\else\ifx‘¿ª^\nextŽŽ¡‘ãŒÃ6078Ž‘ mÏ\DN@‘¿ª^{\def\CIRorient@@{\CIRacw@}%ŽŽ¡‘ãŒÃ6079Ž‘ËÏ\afterDIAG{\edef\CIRout@@{\the\count@}\afterCIR@}}%ŽŽ¡‘ãŒÃ6080Ž‘ûKÃÏ\else\ifx‘¿ª_\nextŽŽ¡‘ãŒÃ6081Ž‘ mÏ\DN@_{\def\CIRorient@@{\CIRcw@}%ŽŽ¡‘ãŒÃ6082Ž‘ËÏ\afterDIAG{\edef\CIRout@@{\the\count@}\afterCIR@}}%ŽŽ¡‘ãŒÃ6083Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ6084Ž‘ mÏ\DN@{\def\CIRorient@@{\relax}\afterCIRDIAG@}%ŽŽ¡‘ãŒÃ6085Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ôŒ¹The–¦fdefault“is“to“generate“a“Ðful‘Fl‘êêcir‘ÿp¹cle‘y¹with“the“spMÞeci ed“radius,“Ðe¹.Ðg¹.,ŽŸeäŸù.·‘pFŒÏ\xy*\cir<4pt>{}\endxyŽŽ’òÿ~¹t²!ypMÞesetsŽŽ’%¨G\ŸýC4ïps: SDict begin xyc end‘ï" {4.0 0 360 o}xyŽŽŽŽŽŽŽŽŽ‘"ŽŽŽŸ ™™‘s&aÏ\xy*{M}*\cir{}\endxyŽŽ’æ¹|ŽŽ’#¿¸\ŸýC4ïps: SDict begin xyc endŸ½ÂÄMŽŽŽŽ‘èï" {5.90843 0 360 o}xyŽŽŽŽŽŽŽŽŽ‘ ѹ"ŽŽŽŽŽŸeå‘ãŒAll–¦fthe“other“circle“segmenš²!ts“are“subsets“of“this“and“ha˜v˜e“the“shapMÞe“that“the“full“circle“outlines.ŽŽŽŒ‹Wpá Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹87ŽŽ ¶?? ýh«w‘ôŒFinally–^wš²!e“presen˜t“the“Ðorient‘h¹methoMÞds.‘They“use“these“`in˜ternal“methoMÞds'“to“actually“dra˜w“theޤ ™š‘ãŒcirclesŽ©Pˆ‘ãŒÃ6111Ž‘õŒÏ\xylet@\CIRtest@@=\relaxŽŽ¡‘ãŒÃ6112Ž‘õŒÏ\xydef@\CIRlo@@{0}ŽŽ¡‘ãŒÃ6113Ž‘õŒÏ\xydef@\CIRhi@@{0}ŽŽŸPÅ‘ôŒ¹Belo•²!w›Ì w“e˜call˜them˜Ðlo‘°ò¹,–ÕqÐhi‘¢¹,“and˜Ðtest‘ ê¹;‘ÞÚthe˜ rst˜t•²!w“o˜are˜co•MÞded˜as˜describ“ed˜in˜note˜1.4l˜and˜the˜lastŽ¡‘ãŒtak•²!es›èQt“w“o˜argumen“ts:‘a´a˜dimension˜and˜something˜to˜do˜if˜the˜test˜succeeds.‘£ŸÏ\count@@Ž‘7‰@¹and˜Ï\count@ŽŽ¡‘㌹should–¦fbMÞe“set“to“Ðin‘}q¹and“Ðout‘°P¹inš²!ternally“as“w˜ell“in“case“Ï\cirbuild@Ž‘@Ép¹and“friends“bMÞelo˜w“should“bMÞe“used.ŽŸ ™×‘ôŒThe–¦fdumm²!y“Ðorient‘°P¹used“for“simple“circles“is“the“simplest:ަ‘ãŒÃ6125Ž‘õŒÏ\xydef@\CIRfull@{\def\CIRtest@@##1##2{##2}}ŽŽŸPÅ‘ôŒ¹The–~kš²!ernel“Ï\cirbuild@Ž‘?… ¹builds“the“actual“Çh¹ob‘›»jectÇi“¹using“c˜haracters“from“the“Ï\xycircfont“¹assumedŽ¡‘ãŒcoMÞded–z•likš²!e“Ïxycirc10.mfŽ‘B¶ã¹:‘ÇõÏ\cirrestrict@@Ž‘X½Ö¹c˜hoses“a“group“and“adjusts“the“radius“Ï\R@Ž‘4(¹to“ t“it“exactly‘ÿe.Ž¡‘ãŒThe–¦fgroup“is“mš²!ultiplied“b˜y“8“to“get“the“group“c˜haracter“o set“[Ï\count@Ž‘(=¦¹].ަ‘ãŒÃ6135Ž‘õŒÏ\xydef@\cirbuild@{\cirrestrict@@–¿ª\multiply\count@8“%ŽŽ¡‘ãŒÃ6136Ž‘ûKÃÏ\circhar@0\circhar@7\kern\dimen@ŽŽ¡‘ãŒÃ6137Ž‘ûKÃÏ\circhar@1\circhar@6\kern\dimen@ŽŽ¡‘ãŒÃ6138Ž‘ûKÃÏ\circhar@2\circhar@5\kern\dimen@ŽŽ¡‘ãŒÃ6139Ž‘ûKÃÏ\circhar@3\circhar@4\kern\dimen@}ŽŽ¦‘ãŒÃ6141Ž‘õŒÏ\xydef@\circhar@#1{%ŽŽ¡‘ãŒÃ6142Ž‘ûKÃÏ\setboxz@h{\circhar@@{#1}}\dimen@=\wdz@–¿ª\wdz@=\z@“\ht\z@=\R@“\dp\z@=\R@ŽŽ¡‘ãŒÃ6143Ž‘ûKÃÏ\CIRtest@@#1{\styledboxz@}\setbox\z@=\copy\voidb@x}ŽŽ¦‘ãŒÃ6145Ž‘õŒÏ\xydef@\circhar@@#1{{\xycircfont–¿ª\advance\count@#1\relax“\char\count@}}ŽŽŸPÅ‘ôŒ\cirrestrict@@Ž‘HS´¹computes–LOthe“group“Äg‘°â¹[Ï\count@Ž‘(=¦¹]“of“circle“segmen²!ts“to“use“from“the“radius“Är‘š-¹[Ï\R@Ž‘>þ¹]Ž¡‘ãŒusing–¦fthe“formš²!ula“(the“rev˜erse“of“the“one“in“Ïxycirc10.mfŽ‘Bâ´¹)ŽŸ3k›‘wÆIÄg‘o:¹=ŸÜC‘ §«8ŽŸ ‘ §>ޤ‘ §>Ž¡‘ §>Ž¡‘ §>Ž¡‘ §>Ž¡‘ §<ŽŸ ‘ §>Ž¡‘ §>Ž¡‘ §>Ž¡‘ §>Ž¡‘ §>Ž¡‘ §:ŽŽŸçº‘î6Ÿô©”jŽŸû°K‘?ÅrŽ‘h‡ŸÆ‰fe¿XŸv-Â1ÏptŽŽŽŽ‘([Ÿô©”«kŽŽ‘0Ç‘nì¹1Ž‘J}èifŽ‘T‡‚1ÏptŽ‘‰ûÇ– §Är‘X…<“¹8ÏptŽŽŽ¤T‘î6Ÿô©”«jŽŸû°K‘?ÅrŽ‘h‡ŸÆ‰fe¿XŸv-Â2ÏptŽŽŽŽ‘([Ÿô©”«kŽŽ‘0¹+‘nì3Ž‘J}èifŽ‘T‡‚8ÏptŽ‘‰ûÇ– §Är‘X…<“¹16ÏptŽŽŽ¡‘î6Ÿô©”«jŽŸû°K‘?ÅrŽ‘h‡ŸÆ‰fe¿XŸv-Â4ÏptŽŽŽŽ‘([Ÿô©”«kŽŽ‘0¹+‘nì7Ž‘J}èifŽ‘T‡‚16ÏptŽ‘‰ûÇ– §Är‘X…<“¹32ÏptŽŽŽŸàŸ‘î6¹15Ž‘J}èifŽ‘T‡‚32ÏptŽ‘‰ûÇ‘ §ÄrŽŽŽŽŽŸ4¬¾‘㌹(where–R1wš²!e“kno˜w“from“Ï\cir@iŽ‘)"^¹that“Är‘X…ÇŸû°K‘=ÚÂ1Ž‘=ڟƉfe@ŸPA2ŽŽŽŽ‘ ±ÏptŽ‘0e¹),‘cand“then“adjusts“the“radius“to“bMÞe“exactly“the“one“c˜hosenŽ¡‘ãŒthrough–Fthe“use“of“group“Äg‘ª¦¹using“the“form²!ula“in“Ïxycirc10.mfŽ‘D‚a¹.–Ó3.“.“this–Fis“necessary“bMÞecause“of“theŽ¡‘ãŒrestriction–ç%on“ÏtfmŽ‘ H¹ les“that“they“can“only“ha•²!v“e–ç%15“di erenš²!t“nonzero“heigh˜ts“and“depths.‘ Subsequen˜tŽ¡‘ãŒcalls–¦fto“Ï\cirrestrict@@Ž‘Wȹshould“compute“the“same“v‘ÿdDalues.ަ‘ãŒÃ6168Ž‘õŒÏ\xydef@\cirrestrict@@{\begingroup‘¿ª\dimen@=\R@ŽŽ¡‘ãŒÃ6169Ž‘ûKÃÏ\setboxz@h{\xycircfont\char\z@\char\@ne}\A@=\wdz@ŽŽ¡‘ãŒÃ6170Ž‘ûKÃÏ\ifdim\R@<8\A@–¿ª\count@=\dimen@“\divide\count@\A@“\advance\count@\m@neŽŽ¡‘ãŒÃ6171Ž‘ûKÃÏ\else\ifdim\R@<16\A@‘¿ª\count@=\dimen@ŽŽ¡‘ãŒÃ6172Ž‘ mÏ\dimen@=2\A@–¿ª\divide\count@\dimen@“\advance\count@3“%ŽŽ¡‘ãŒÃ6173Ž‘ûKÃÏ\else\ifdim\R@<32\A@‘¿ª\count@=\dimen@ŽŽ¡‘ãŒÃ6174Ž‘ mÏ\dimen@=4\A@–¿ª\divide\count@\dimen@“\advance\count@7“%ŽŽ¡‘ãŒÃ6175Ž‘ûKÃÏ\else–¿ª\count@=15“\fi\fi\fiŽŽ¡‘ãŒÃ6176Ž‘ûKÃÏ\R@=\A@ŽŽ¡‘ãŒÃ6177Ž‘ûKÃÏ\ifnum\count@<8–¿ª\multiply\R@\count@“\advance\R@\A@ŽŽ¡‘ãŒÃ6178Ž‘ûKÃÏ\else\ifnum\count@<12–¿ª\multiply\R@\count@“\multiply\R@\tw@“\advance\R@-6\A@ŽŽ¡‘ãŒÃ6179Ž‘ûKÃÏ\else\ifnum\count@<16–¿ª\multiply\R@\count@“\multiply\R@“4“\advance\R@-28\A@ŽŽŽŽŒ‹X~q Á à ý*tj‘㌹88’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ6180Ž‘ûKÃÏ\else–¿ª\multiply\R@“32“\fi\fi\fiŽŽ¤ ™š‘ãŒÃ6181Ž‘ûKÃÏ\edef\@tmp{\endgroup–¿ª\R@=\the\R@“\count@=\the\count@}\@tmp}ŽŽŸ_‘ôŒÐPartial–ê³cir›ÿp¹cle“se˜gments‘ŒB¹with–¦*Çh¹orienš²!tÇi¹ation“are“the“part“of“the“full“circle“that“starts“with“a“tangen˜tŽ¡‘ãŒvš²!ector–{bin“the“direction“of“the“ rst“Çh¹diagÇi¹onal“(see“note“1.4l)“and“ends“with“a“tangen˜t“v˜ector“in“theŽ¡‘ãŒdirection–¦fof“the“other“Çh¹diagÇi¹onal“after“a“cloMÞcš²!kwise“(for“Ï_Ž‘ f¹)“or“an˜ticloMÞc˜kwise“(for“Ï^Ž‘ f¹)“turn,“Ðe¹.Ðg¹.,ŽŸ3¥5ŸäÈQ‘d§ Ï\xy*\cir<4pt>{l^r}\endxyŽŽ’þ^§¹t²!ypMÞesetsŽŽ’4p\ŸýC4ïps: SDict begin xyc end‘ï" {4.0 90 270 o}xyŽŽŽŽŽŽŽŽ‘"ŽŽŽ¤ ™™‘d§ Ï\xy*\cir<4pt>{l_r}\endxyŽŽ’ E*¹|ŽŽ’4p\ŸýC4ïps: SDict begin xyc end‘ï" {4.0 90 270 o}xyŽŽŽŽŽŽŽŽ‘"ŽŽŽ¡‘aÇ8Ï\xy*\cir<4pt>{dl^u}\endxyŽŽ’ E*¹|ŽŽ’4p\ŸýC4ïps: SDict begin xyc end‘ï" {4.0 135 360 o}xyŽŽŽŽŽŽŽŽ‘"ŽŽŽ¡‘aÇ8Ï\xy*\cir<4pt>{dl_u}\endxyŽŽ’ E*¹|ŽŽ’4p\ŸýC4ïps: SDict begin xyc end‘ï" {4.0 -180 -45 o}xyŽŽŽŽŽŽŽŽ‘"ŽŽŽ¡‘^çcÏ\xy*+{M}*\cir{dr_ur}\endxyŽŽ’ E*¹|ŽŽ’/á\ŸýC4ïps: SDict begin xyc end‘Ÿ½ÂÄMŽŽŽŽ‘èï" {8.90843 135 405 o}xyŽŽŽŽŽŽŽŽ‘ѹ"ŽŽŽŽŽŸ3¥6‘ãŒIf–¦fthe“same“Çh¹diagÇi“¹is“givš²!en“t˜wice“then“nothing“is“t˜ypMÞeset,“Ðe¹.Ðg¹.,ޤÅ8žûƒ‘iœÏ\xy*\cir<4pt>{u^u}\endxyŽŽ’ý‡Œ¹t²!ypMÞesetsŽŽ’.GÆ\ŸýC4ïps: SDict begin xyc endŽŽ‘"ŽŽŽŽŽ¡‘ãŒSpMÞecial–¦fcare“is“tak²!en“to“setup“the“Çh¹diagÇi¹onal“defaults:ޤÓ‘óøéÇŽŽŽ‘þì¹After‘¦fÏ^Ž‘ v¹the–¦fdefault“is“the“diagonal“90Ÿü¾ÈŽ‘fj¹an•²!ticlošMÞc“kwise–¦ffrom“the“one“b˜efore“the“Ï^Ž‘ f¹.Ž¡‘óøéÇŽŽŽ‘þì¹After‘¦fÏ_Ž‘ v¹the–¦fdefault“is“the“diagonal“90Ÿü¾ÈŽ‘fj¹clošMÞc²!kwise“from“the“one“b˜efore“the“Ï_Ž‘ f¹.Ž¡‘ãŒThe–¦fÇh¹diagÇi“¹bMÞefore“Ï^Ž› v¹or“Ï_Ž˜¹is“required“for“Ï\cir“Çh¹ob‘›»jectsÇi¹.ŽŸ?4‘ãŒÔExercise‘21.15:‘ ó5¹Tš²!ypMÞeset–¦fthe“follo˜wing“shaded“circle“with“radius“Ï5ptŽ‘åd¹:ޤÅ8’Ð~ïps: SDict begin xyc end‘Ÿýh0ï" {5.0 0 360 o}xyŽŽŽŽŽ‘33Ÿý›cï" {5.0 -135 45 o}xyŽŽŽŽ‘ffŸýΖï" {5.0 -135 45 o}xyŽŽŽŽ‘™šŸþÊï" {5.0 -135 45 o}xyŽŽŽŽŽŽŽŽ¡Ÿ ¨$‘ôŒThese›é³t•²!w“o˜macros˜implemen“t˜the˜defaults˜and˜setup˜of˜Ðlo‘š¥¹and˜Ðhi‘U¹for˜an“ticloMÞc“kwise˜and˜cloMÞc“kwiseޤ ™š‘ãŒsegmen²!ts.‘ÝÝHere–¦fis“what“they“set:ŽŸ4 ‘ZoóŸÚ ‰ffõê°Ÿ k ÌÍŸ}„†ff‘óŸûëƒÇh¹cirÇiŽŽ‘Lœá„†ffŽ‘^£ÐloŽŽŽ’ŠohiŽŽ’¤í¡Ÿ}„†ffŽ’ª ÔtestŽŽ’»ôó¹(Äs¹)‘,EŸ}„†ffŽŽ©zã‰ffõê°Ÿ …Ìͤ}„ ™™ff‘ÌÍŸûëƒÄdŸ¤zÂ1Ž‘ÀÏ^Ž‘ ®ÄdŸ¤zÂ2Ž‘ÀÄ;‘Ó1dŸ¤zÂ1Ž‘Ê«Ç‘ §ÄdŸ¤zÂ2Ž‘ ŒÑ¡„ ™™ffŽ‘RFÄdŸ¤zÂ1Ž–.ðÇŸ¤zÂ8Ž“¹1Ž‘~ ÄdŸ¤zÂ2Ž–.ðÇŸ¤zÂ8Ž“¹1‘ÌÍŸ}„ ™™ffŽ’ª ÔÐloŽŽ’¶AˆÇ‘ §ÄsŽ’Éa`Ç^‘nìÄs– §<“ÐhiŽŽŽ‘% OŸ}„ ™™ffŽŽ¤ ™™Ìͤ}„ ™™ff‘ÌÍŸûëƒÄdŸ¤zÂ1Ž‘ÀÏ^Ž‘ ®ÄdŸ¤zÂ2Ž‘ÀÄ;‘Ó1dŸ¤zÂ1Ž‘Ê«Ä>‘ §dŸ¤zÂ2Ž‘ ŒÑ¡„ ™™ffŽ‘RFÄdŸ¤zÂ2Ž–.ðÇŸ¤zÂ8Ž“¹1Ž‘~ ÄdŸ¤zÂ1Ž–.ðÇŸ¤zÂ8Ž“¹1‘ÌÍŸ}„ ™™ffŽ’ª ÔÄs– §<“ÐloŽŽŽ’Éa`Ç_‘nìÐhiŽŽ‘‹–Ç‘ §ÄsŽ‘% OŸ}„ ™™ffŽŽ¡Ìͤ}„ ™™ff‘ÌÍŸûëƒdŸ¤zÂ1Ž‘ÀÏ_Ž‘ ®ÄdŸ¤zÂ2Ž‘ÀÄ;‘Ó1dŸ¤zÂ1Ž‘Ê«Ä<‘ §dŸ¤zÂ2Ž‘ ŒÑ¡„ ™™ffŽ‘RFÄdŸ¤zÂ1Ž–.ð¹+Ÿ¤zÂ8Ž“¹3Ž‘~ ÄdŸ¤zÂ2Ž–.ð¹+Ÿ¤zÂ8Ž“¹3‘ÌÍŸ}„ ™™ffŽ’ª ÔÄs– §<“ÐloŽŽŽ’Éa`Ç_‘nìÐhiŽŽ‘‹–Ç‘ §ÄsŽ‘% OŸ}„ ™™ffŽŽ¡Ìͤ}„ ™™ff‘ÌÍŸûëƒdŸ¤zÂ1Ž‘ÀÏ_Ž‘ ®ÄdŸ¤zÂ2Ž‘ÀÄ;‘Ó1dŸ¤zÂ1Ž‘Ê«Ç‘ §ÄdŸ¤zÂ2Ž‘ ŒÑ¡„ ™™ffŽ‘RFÄdŸ¤zÂ2Ž–.ð¹+Ÿ¤zÂ8Ž“¹3Ž‘~ ÄdŸ¤zÂ1Ž–.ð¹+Ÿ¤zÂ8Ž“¹3‘ÌÍŸ}„ ™™ffŽ’ª ÔÐloŽŽ’¶AˆÇ‘ §ÄsŽ’Éa`Ç^‘nìÄs– §<“ÐhiŽŽŽ‘% OŸ}„ ™™ffŽŽ¦‰ffõê°ŽŽŸ4 ‘㌹where–¦f+Ÿ¤zÂ8Ž›fj¹and“ÇŸ¤zÂ8Ž˜¹are“+“and“Ç“¹moMÞdulo“8;“ÄdŸ¤zÂ1Ž˜¹and“ÄdŸ¤zÂ2Ž˜¹are“in“Ï\count@@Ž‘5J¹and“Ï\count@Ž‘+ä ¹,“respMÞectiv²!ely‘ÿe.Ž©Pˆ‘ãŒÃ6273Ž‘õŒÏ\xydef@\CIRacw@{\count@@=\CIRin@@‘¿ª\count@=\CIRout@@ŽŽ¡‘ãŒÃ6274Ž‘ûKÃÏ\ifnum\count@=8‘¿ª\count@=\count@@ŽŽ¡‘ãŒÃ6275Ž‘ mÏ\ifnum\count@<6–¿ª\advance\count@\tw@“\else“\advance\count@-6“\fi“\fiŽŽ¡‘ãŒÃ6276Ž‘ûKÃÏ\ifnum\count@@<\@ne–¿ª\advance\count@@7“\else“\advance\count@@\m@ne“\fiŽŽ¡‘ãŒÃ6277Ž‘ûKÃÏ\ifnum\count@<\@ne–¿ª\advance\count@7“\else“\advance\count@\m@ne“\fiŽŽ¡‘ãŒÃ6278Ž‘ûKÃÏ\ifnum\count@@>\count@‘¿ª\let\CIRtest@@=\CIRtest@outsideŽŽ¡‘ãŒÃ6279Ž‘ mÏ\edef\CIRlo@@{\the\count@}\edef\CIRhi@@{\the\count@@}%ŽŽ¡‘ãŒÃ6280Ž‘ûKÃÏ\else‘¿ª\let\CIRtest@@=\CIRtest@insideŽŽ¡‘ãŒÃ6281Ž‘ mÏ\edef\CIRlo@@{\the\count@@}\edef\CIRhi@@{\the\count@}%ŽŽ¡‘ãŒÃ6282Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ6284Ž‘õŒÏ\xydef@\CIRcw@{\count@@=\CIRin@@‘¿ª\count@=\CIRout@@ŽŽ¡‘ãŒÃ6285Ž‘ûKÃÏ\ifnum\count@=8‘¿ª\count@=\count@@ŽŽŽŽŒ‹YŽz Á à ý*tj‘ãŒÑ1.6.‘„CKERNEL–¦fOBJECT“LIBRAR‘ÿeY’*¾¹89ŽŽ ¶?? ýh«w‘ãŒÃ6286Ž‘ mÏ\ifnum\count@>\@ne–¿ª\advance\count@-\tw@“\else“\advance\count@6“\fi“\fiŽŽ¤ ™š‘ãŒÃ6287Ž‘ûKÃÏ\ifnum\count@@<5–¿ª\advance\count@@\thr@@“\else“\advance\count@@-5“\fiŽŽ¡‘ãŒÃ6288Ž‘ûKÃÏ\ifnum\count@<5–¿ª\advance\count@\thr@@“\else“\advance\count@-5“\fiŽŽ¡‘ãŒÃ6289Ž‘ûKÃÏ\ifnum\count@@<\count@‘¿ª\let\CIRtest@@=\CIRtest@outsideŽŽ¡‘ãŒÃ6290Ž‘ mÏ\edef\CIRlo@@{\the\count@@}\edef\CIRhi@@{\the\count@}%ŽŽ¡‘ãŒÃ6291Ž‘ûKÃÏ\else‘¿ª\let\CIRtest@@=\CIRtest@insideŽŽ¡‘ãŒÃ6292Ž‘ mÏ\edef\CIRlo@@{\the\count@}\edef\CIRhi@@{\the\count@@}%ŽŽ¡‘ãŒÃ6293Ž‘ûKÃÏ\fi}ŽŽ©Pˆ‘ãŒÃ6295Ž‘õŒÏ\xydef@\CIRtest@inside#1#2{\let\next@=\relaxŽŽ¡‘ãŒÃ6296Ž‘ûKÃÏ\ifnum\CIRlo@@>#1\else–¿ª\ifnum#1<\CIRhi@@\DN@{#2}\fi\fi“\next@}ŽŽ¦‘ãŒÃ6298Ž‘õŒÏ\xydef@\CIRtest@outside#1#2{\let\next@=\relaxŽŽ¡‘ãŒÃ6299Ž‘ûKÃÏ\ifnum\CIRlo@@>#1\DN@{#2}\else–¿ª\ifnum#1<\CIRhi@@\else\DN@{#2}\fi\fi“\next@}ŽŽŸ"äT‘ãŒÞ1.6.3Ž‘ ÌT‘þàextŽŸ‡ ‘ãŒÃ6309Ž‘õŒÏ\message{text;}ŽŽŸvՑ㌹T‘ÿeext–¦fin“pictures“is“suppMÞorted“through“the“Çh¹ob‘›»jectÇi“¹constructionŽ‘ãŒŸ–‰ffã²dŸ «i’¬eÏ\txt–¦fÇh¹widthÇi“h¹st²!yleÇi“Ï{Ž‘ fÇh¹textÇiÏ}ŽŽŽŸ¡0‰ffã²dŸ©N¹that–Jàbuilds“an“ob‘›»ject“conš²!taining“Çh¹textÇi“¹t˜ypMÞeset“to“Çh¹widthÇi“¹using“Çh¹st˜yleÇi¹;‘ibin“Çh¹textÇi“Ï\\Ž‘¹can“bMÞe“used“as“anŽ¡explicit–îline“break;‘Òall“lines“will“bšMÞe“cen•²!tered.‘´¶Çh¹st“yleÇi–î¹should“either“b˜e“a“fon²!t“command“or“some“otherŽ¡stu –¦fto“do“for“eacš²!h“line“of“the“Çh¹textÇi“¹and“Çh¹widthÇi“¹should“bMÞe“either“Ï<Ž– fÇh¹dimenÇiÏ>Ž“¹or‘¦fÇh¹empt˜yÇi¹.ŽŸ ¿ç‘The–¦fcoMÞde“just“parses“the“Çh¹widthÇi“¹defaulting“it“to“Ï<\maxdimen>Ž‘F‰¹whic²!h“is“recognised“as“`free“form'.ަÃ6331Ž‘Ï\xydef@\txt{\hbox\bgroup‘¿ª\xyFN@\txt@}ŽŽ¦Ã6333Ž‘Ï\xydef@\txt@{%ŽŽ¡Ã6334Ž‘¿ªÏ\addLT@\ifx\next‘¿ª\addGT@{\addLT@\DN@##1}{\A@=##1\txt@i}%ŽŽ¡Ã6335Ž‘¿ªÏ\else–¿ª\DN@{\A@=\maxdimen“\txt@i}\fi“\next@}ŽŽ¦Ã6337Ž‘Ï\xydef@\txt@i#1#{%ŽŽ¡Ã6338Ž‘¿ªÏ\setboxz@h{#1\mathstrut}\dimen@=\ht\z@‘¿ª\advance\dimen@\dp\z@ŽŽ¡Ã6339Ž‘¿ªÏ\baselineskip=1.1\dimen@–¿ª\lineskip=.2\dimen@“\lineskiplimit=\lineskipŽŽ¡Ã6340Ž‘¿ªÏ\def\txtline@@##1{\txtline@{#1}{##1}}\object@\txt@ii}ŽŽ¦Ã6342Ž‘Ï\xylet@\txtline@@=\eat@ŽŽ¡Ã6343Ž‘Ï\xydef@\txtline@#1#2{\relax\setboxz@h{#1{\ignorespaces‘¿ª#2\unskip}}%ŽŽ¡Ã6344Ž‘¿ªÏ\ifdim\A@<\wdz@‘¿ª\setboxz@h{\hsize=\A@ŽŽ¡Ã6345Ž‘#>þÏ\leftskip=0pt–¿ªplus4em“\rightskip=\leftskipŽŽ¡Ã6346Ž‘#>þÏ\parfillskip=0pt–¿ª\parindent=0pt“%ŽŽ¡Ã6347Ž‘#>þÏ\spaceskip=.3333em–¿ª\xspaceskip=.5em“%ŽŽ¡Ã6348Ž‘#>þÏ\pretolerance=9999–¿ª\tolerance=9999“%ŽŽ¡Ã6349Ž‘#>þÏ\hyphenpenalty=9999–¿ª\exhyphenpenalty=9999“%ŽŽ¡Ã6350Ž‘#>þÏ\vbox{#1\noindent\ignorespaces‘¿ª#2\unskip}}%ŽŽ¡Ã6351Ž‘¿ªÏ\else\ifdim\A@<\maxdimen\setboxz@h‘¿ªto\A@{\hfil\boxz@\hfil}\fi\fiŽŽ¡Ã6352Ž‘¿ªÏ\boxz@}ŽŽ¦Ã6354Ž‘Ï\xydef@\txt@ii#1{\vbox{%ŽŽ¡Ã6355Ž‘TÏ\let\\=\crŽŽ¡Ã6356Ž‘TÏ\tabskip=\z@skip‘¿ª\halign{\relax\hfil\txtline@@{##}\hfil\cr\leavevmode#1\crcr}}}ŽŽŽŽŒ‹Z¡; Á à ý*tj‘㌹90’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÝ1.7ޑӾX‘û#ÕŸYYŽŽ‘þ-pic‘ffoptionsŽŸîm‘ãŒÔNote:‘ÝݹLŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X‘¤v2Ÿ¤zÄ"Ž‘ A”¹users–¦fshould“also“consult“the“paragraph“on“\xy‘ÿe.st²!y"“in“Çx¹1.1.1.ŽŸÁÖ‘ãŒÞ1.7.1Ž‘ ÌLoadingŽŸ(á‘âsùX‘ü·ŸâÃYŽŽ‘íó#-pic– Øis“proš²!vided“with“a“gro˜wing“n˜um˜bšMÞer“of“options“supp˜orting“sp˜ecialised“draš²!wing“tasks“as“w˜ell“asޤ ™š‘ãŒexotic–’šoutput“devices“with“spšMÞecial“graphic“features.‘¢xThese“should“all“b˜e“loaded“using“this“uniformŽ¡‘ãŒinš²!terface–¦fin“order“to“ensure“that“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“en˜vironmen˜t“is“propMÞerly“set“up“while“reading“the“option.Ž‘ãŒŸHL‰ffã²dŸ Åc’¶j#Ï\xyoption‘¦f{Ž‘ vÇh¹optionÇi‘¦fÏ}ŽŽŽ¡’¶j#\xyrequire‘¦f{Ž‘ vÇh¹optionÇi‘¦fÏ}ŽŽŽŸ»*‰ffã²dŸ[\xyoption–‹¹will“cause“the“loading“of“an‘rÄX‘ü·ŸâÃYŽŽ‘ ò$-pic“option“ le“whicš²!h“can“ha˜v˜e“one“of“sev˜eral“names.‘oThese“areŽ¡tried–¶öin“sequence:‘þýÏxyŽ‘~QÇh¹optionÇiÏ.texŽ–þ¨¹,‘»ÏxyŽ›:nÇh¹optionÇiÏ.docŽ“¹,‘»ÏxyŽ˜Çh¹shortÇiÏ.texŽ“¹,›»and‘¶öÏxyŽ‘6JÇh¹shortÇiÏ.docŽ“¹,˜where‘¶öÇh¹shortÇiŽ¡¹is–¦fÇh¹optionÇi“¹truncated“to“6“(six)“cš²!haracters“to“conform“with“the“TW˜G-TDS“[18Ž‘ ó4].ŽŸ Ùá‘Ï\xyrequire–/¹is“the“same“except“it“is“ignored“if“an“option“with“the“same“name“is“already“presen²!tŽ¡(thš²!us–¦fdoMÞes“not“c˜hec˜k“the“v˜ersion“etc.).ޤPˆÃ6400Ž‘Ï\message{options;}ŽŽ¡Ã6402Ž‘Ï\xylet@\xyoption@@=\relaxŽŽ¡Ã6404Ž‘Ï\xydef@\xyoption#1{\DN@{#1}\edef\next@{\codeof\next@}%ŽŽ¤ ™šÃ6405Ž‘¿ªÏ\csname–¿ªxyeveryrequest@\next@“@\endcsnameŽŽ¡Ã6406Ž‘¿ªÏ\xyinputorelse@{xy#1}{\xyoption@truncated#1@@@@@@@@@,#1@}%ŽŽ¡Ã6407Ž‘¿ªÏ\def\xyoption@@{#1}\edef\xyoption@@{\codeof\xyoption@@}ŽŽ¡Ã6408Ž‘¿ªÏ\expandafter\let\expandafter\next@\csname–¿ªxy\xyoption@@“version\endcsnameŽŽ¡Ã6409Ž‘¿ªÏ\expandafter\let\csname–¿ªxy\xyoption@@“loaded\endcsname=\next@ŽŽ¡Ã6410Ž‘¿ªÏ\runxywith@‘¿ª\ignorespaces}ŽŽ©PˆÃ6412Ž‘Ï\xydef@\xyoption@truncated#1#2#3#4#5#6#7@#8,#9@{%ŽŽ¡Ã6413Ž‘¿ªÏ\DN@{#7}\ifx\next@\empty–¿ª\DN@##1##2{##2}\else\let\next@=\xyinputorelse@“\fiŽŽ¡Ã6414Ž‘¿ªÏ\next@{xy#1#2#3#4#5#6}%ŽŽ¡Ã6415Ž‘TÏ{\DN@{#1#2#3#4#5#6}\edef\next@{\codeof\next@}%ŽŽ¡Ã6416Ž‘#>þÏ\xyerror@{No–¿ª`\next@'“option}{%ŽŽ¡Ã6417Ž‘ÏYour–¿ª\xyoption{#9}“request“could“not“be“granted:“the“required^^J%ŽŽ¡Ã6418Ž‘Ïfile–¿ª`xy#9.tex'“could“not“be“located.“Please“make“sure“that“it“is^^J%ŽŽ¡Ã6419Ž‘Ïproperly–¿ªinstalled“before“continuing.}}}ŽŽ¦Ã6421Ž‘Ï\xydef@\xyrequire#1{\DN@{#1}\edef\next@{\codeof\next@}%ŽŽ¡Ã6422Ž‘¿ªÏ\csname–¿ªxyeveryrequest@\next@“@\endcsnameŽŽ¡Ã6423Ž‘¿ªÏ\expandafter\let\expandafter\next@\csname–¿ªxy\codeof\next@“loaded\endcsnameŽŽ¡Ã6424Ž‘¿ªÏ\ifx–¿ª\next@\relax“\DN@{\xyoption{#1}}\else“\DN@{\ignorespaces}\fi“\next@}ŽŽŸÏ‘¹Sometimes–­`some“declarations“of“an“option“or“header“ le“or“whatevš²!er“only“mak˜es“sense“after“someŽ¡particular–¦fother“option“is“loaded.‘ÝÝIn“that“case“the“cošMÞde“should“b˜e“wrapp˜ed“in“the“sp˜ecial“commandŽŸHL‰ffã²dŸ Åc’“‚ùÏ\xywithoption‘¦f{Ž– vÇh¹optionÇi‘¦fÏ}Ž“{Ž‘r†Çh¹coMÞdeÇi‘¦fÏ}ŽŽŽŸ»*‰ffã²dŸ÷;¹whic²!h–Ðrindicates“that“if“the“Çh¹optionÇi“¹is“already“loaded“then“Çh¹cošMÞdeÇi“¹should“b˜e“executed“no²!w,‘ÚôotherwiseŽ¡it–zshould“bšMÞe“sa•²!v“ed–zand“if“Çh¹optionÇi“¹ev²!er“gets“loaded“then“Çh¹co˜deÇi“¹should“b˜e“executed“afterw²!ards.‘ÏÔNote:Ž¡¹The–v Çh¹coMÞdeÇi“¹should“alloš²!w“more“than“one“execution;‘Ýàit“is“sa˜v˜ed“with“the“catcoMÞdes“at“the“time“of“theŽ¡Ï\xywithoption‘¦f¹command.ŽŽŽŒ‹[­‡ Á à ý*tj‘ãŒÑ1.7.‘kíX‘ü·ŸâÃYŽŽ‘ëM-PIC‘¦fOPTIONS’g‰2¹91ŽŽ ¶?? ýh«w‘ãŒÃ6443Ž‘õŒÏ\xylet@\xywith@@=\emptyŽŽ¤Pˆ‘ãŒÃ6445Ž‘õŒÏ\xydef@\runxywith@{\let\xywithdo@@=\xywithtest@‘¿ª\xywith@@}ŽŽ¡‘ãŒÃ6447Ž‘õŒÏ\xydef@\xywithoption#1#2{\DN@{#1}\edef\next@{\codeof\next@}%ŽŽ¤ ™š‘ãŒÃ6448Ž‘ûKÃÏ\expandafter\let\expandafter\nextii@\csname–¿ªxy\next@“loaded\endcsnameŽŽ¡‘ãŒÃ6449Ž‘ûKÃÏ\ifx‘¿ª\nextii@\relaxŽŽ¡‘ãŒÃ6450Ž‘ mÏ\expandafter\def\expandafter\xywith@@\expandafter{\xywith@@ŽŽ¡‘ãŒÃ6451Ž‘ËÏ\xywithdo@@{#1}{#2}}%ŽŽ¡‘ãŒÃ6452Ž‘ûKÃÏ\else‘¿ª\expandafter\xywithrun@\expandafter{\next@}{#2}\fi}ŽŽ©Pˆ‘ãŒÃ6454Ž‘õŒÏ\xydef@\xywithtest@#1#2{\DN@{#1}\edef\next@{\codeof\next@}%ŽŽ¡‘ãŒÃ6455Ž‘ûKÃÏ\ifx\next@\xyoption@@‘¿ª\expandafter\xywithrun@\expandafter{\next@}{#2}\fi}ŽŽ¦‘ãŒÃ6457Ž‘õŒÏ\xydef@\xywithrun@#1#2{\csname–¿ªxyeverywithoption@#1@\endcsname“#2}ŽŽ¦‘ôŒ¹Finally‘ÿe,‘öVit–ÊSis“pšMÞossible“to“declare“Çh¹co˜deÇi“¹as“some“commands“to“b˜e“executed“b˜efore“ev²!ery“actual“execu-Ž¡‘ãŒtion–nïof“Ï\xywithoption{Ž–¿ªÇh¹optionÇiÏ}Ž“{Ž‘ T¹.–Ó3.“.“Ï}Ž‘’ݹ,‘­:and–nïsimilarly“Çh¹cošMÞdeÇi“¹to“b˜e“executed“b˜efore“ev²!ery“Ï\xyoption{Ž‘;ë“Çh¹optionÇiÏ}ŽŽ¡‘㌹and‘¦fÏ\xyrequire{Ž‘Bâ´Çh¹optionÇiÏ}Ž‘ f¹(collectiv²!ely–¦fcalled“`requests')::Ž‘ãŒŸ s‰ffã²dŸ gÀ’…#ÐÏ\xyeverywithoption‘¦f{Ž– vÇh¹optionÇi‘¦fÏ}Ž“{Ž‘r†Çh¹coMÞdeÇi‘¦fÏ}ŽŽŽ¡’…#Ð\xyeveryrequest‘¦f{Ž– vÇh¹optionÇi‘¦fÏ}Ž“{Ž‘r†Çh¹coMÞdeÇi‘¦fÏ}ŽŽŽŸ]‡‰ffã²dŸê¹This–¦fis“most“often“used“bš²!y“an“option“to“activ‘ÿdDate“some“hoMÞok“ev˜ery“time“it“is“requested“itself.Ž¡‘These–ðlast“t•²!w“o–ðuse“the“usual“expansion“tric•²!k“ery–ðto“de ne“or“appMÞend“to“the“con²!trol“sequences“namedŽ¡Ï\xyeveryŽ‘-ýPrequest@Ž‘[ú Çh¹optionÇiÏ@Ž– f¹and‘¦fÏ\xyeveryŽ‘1£¶withoption@Ž‘pàÇh¹optionÇiÏ@Ž“¹used–¦fin“the“de nitions“abMÞo•²!v“e.ަÃ6483Ž‘Ï\xydef@\xyevery@#1#2#3{\DN@{#2}\edef\next@{\codeof\next@}%ŽŽ¡Ã6484Ž‘¿ªÏ\expandafter\ifx\csname–¿ªxyevery#1@\next@“@\endcsname\relaxŽŽ¡Ã6485Ž‘TÏ\expandafter\let\csname–¿ªxyevery#1@\next@“@\endcsname=\empty“\fiŽŽ¡Ã6486Ž‘¿ªÏ\DNii@##1{\expandafter\def\expandafter##1\expandafter{##1#3}}%ŽŽ¡Ã6487Ž‘¿ªÏ\expandafter\nextii@\csname–¿ªxyevery#1@\next@“@\endcsname}ŽŽ¦Ã6489Ž‘Ï\xydef@\xyeveryrequest{\xyevery@{request}}ŽŽ¡Ã6490Ž‘Ï\xydef@\xyeverywithoption{\xyevery@{withoption}}ŽŽŸ!íÄÞ1.7.2Ž‘)@Option–€ le“formatŽŸ«ÿ¹Option–¦f les“mš²!ust“ha˜v˜e“the“follo˜wing“structure:ŽŸép‘`Ï%%Ž‘*…¾Çh¹iden²!ti cationÇiŽ¡‘`Ï%%Ž‘*…¾Çh¹cop•²!yrigh“t,‘¦fÐetc¹.Çiޤü>‘`Ï\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¡‘`\xyprovide{Ž‘ZœRÇh¹optionÇiÏ}{Ž– TÇh¹nameÇiÏ}{Ž“Çh¹v²!ersionÇiÏ}%ŽŽ© ™š‘G,Ø{Ž‘Lì‚Çh¹authorÇiÏ}{Ž– TÇh¹emailÇiÏ}{Ž“Çh¹addressÇiÏ}ŽŽ¡‘`Çh¹b•MÞo“dy–¦fof“the“optionÇiŽ¡‘`Ï\xyendinputŽŸéo¹The–¦f6“argumenš²!ts“to“Ï\xyprovide“¹should“con˜tain“the“follo˜wing:ŽŸÌÇh¹optionÇiŽŽ‘,h޹Option–dŸload“name“as“used“in“the“Ï\xyoption“¹command.‘ÇðThis“should“bMÞe“safe“and“distinguish-ަ‘`able–êÚfor“anš²!y“opMÞerating“system“and“is“th˜us“limited“to“c˜haracters“c˜hosen“among“the“lo˜w˜ercaseަ‘`letters›ø¥(ÏaŽ–¿ª¹{ÏzŽ“¹),‘ 4digits˜(Ï0Ž“¹{Ï9Ž“¹),‘ 4and˜dash˜(Ï-Ž“¹),‘ 4and˜all˜options˜should˜bMÞe˜uniquely˜iden•²!ti able˜b“y˜theަ‘` rst–¦f6“(six)“c²!haracters“only‘ÿe.ŽŽŽŒ‹\»ä Á à ý*tj‘㌹92’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÇh¹nameÇiŽŽ‘ ȹDescriptiv²!e–¦fname“for“the“option.ޤ‰ì‘ãŒÇh¹v²!ersionÇiŽŽ‘­¹Idenš²!ti cation–¦fof“the“v˜ersion“of“the“option.Ž¡‘ãŒÇh¹authorÇiŽŽ‘3è¹The–¦fname(s)“of“the“author(s).Ž¡‘ãŒÇh¹emailÇiŽŽ‘ ȹThe–¦felectronic“mail“address(es)“of“the“author(s)“Ðor‘Ô!¹the“aliation“if“no“email“is“a²!v‘ÿdDailable.Ž¡‘ãŒÇh¹addressÇiŽŽ‘ùs¹The–¦fpMÞostal“address(es)“of“the“author(s).ŽŸ‰í‘ãŒThis–aÔinformation“is“used“not“only“to“prinš²!t“a“nice“banner“but“also“to“(1)“silen˜tly“skip“loading“if“theޤ ™š‘ãŒsame–¦fvš²!ersion“w˜as“preloaded“and“(2)“prin˜t“an“error“message“if“a“di eren˜t“v˜ersion“w˜as“preloaded.ŽŸ Õ¯‘ôŒThe–ÄÓÏ\xyprovide“¹command“c•²!hec“ks–ÄÓthat“the“option“is“not“already“loaded“and“that“the“loaded“v²!ersionŽ¡‘ãŒis–nïthe“same“as“the“preloaded“one“bš²!y“c˜hec˜king“the“existence“and“con˜ten˜ts“of“the“macro“Ï\xyŽ‘­íÇh¹optionÇiÏloadedŽ‘"}ü¹.Ž¡‘ãŒFinally–-it“calls“Ï\xycatcodes“¹sucš²!h“that“the“option“in˜ternals“are“loaded“in“`T‘þ,³Ÿ[wEŽ‘B X“programming“moMÞde'.Ž¡‘ãŒÏ\xyendinput–¦f¹undoMÞes“this.Ž©Pˆ‘ãŒÃ6558Ž‘õŒÏ\xydef@\xyprovide#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ6559Ž‘ûKÃÏ\def\xyoption@@{#1}\edef\xyoption@@{\codeof\xyoption@@}\edef\next@{#3}%ŽŽ¡‘ãŒÃ6560Ž‘ûKÃÏ\message{–¿ªXy-pic“option:“#2“v.\next@}%ŽŽ¡‘ãŒÃ6561Ž‘ûKÃÏ\expandafter\let\expandafter\nextii@\csname–¿ªxy\xyoption@@“loaded\endcsnameŽŽ¡‘ãŒÃ6562Ž‘ûKÃÏ\ifx–¿ª\next@\nextii@“\message{not“reloaded}\endinputŽŽ¡‘ãŒÃ6563Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ6564Ž‘ mÏ\ifx–¿ª\nextii@\relax\else“\xyerror@{Option“`\xyoption@@'“version“mismatch}{%ŽŽ¡‘ãŒÃ6565Ž‘õŒÏYou–¿ªpreviously“loaded,“or“the“format“has“preloaded,“a“different“version^^J%ŽŽ¡‘ãŒÃ6566Ž‘õŒÏof–¿ªthis“option.Ž‘WFcJust–¿ªcontinue“to“try“to“load“this“version“instead“(and^^J%ŽŽ¡‘ãŒÃ6567Ž‘õŒÏbe–¿ªprepared“for“a“lot“of“warnings“about“redefinitions).}%ŽŽ¡‘ãŒÃ6568Ž‘ mÏ\fiŽŽ¡‘ãŒÃ6569Ž‘ mÏ\expandafter\let\csname–¿ªxy\xyoption@@“version\endcsname=\next@ŽŽ¡‘ãŒÃ6570Ž‘ mÏ\expandafter\let\expandafter\xyenddocmode@\csname‘¿ªDOCMODE\endcsnameŽŽ¡‘ãŒÃ6571Ž‘ mÏ\expandafter\let\csname‘¿ªDOCMODE\endcsname\xyprovidedocmode@ŽŽ¡‘ãŒÃ6572Ž‘ mÏ\xycatcodesŽŽ¡‘ãŒÃ6573Ž‘ûKÃÏ\fi‘¿ª\ignorespaces}ŽŽ¦‘ãŒÃ6575Ž‘õŒÏ\xydef@\xyendinput{\expandafter\let\csname‘¿ªDOCMODE\endcsname=\xyenddocmode@ŽŽ¡‘ãŒÃ6576Ž‘ûKÃÏ\message{loaded}\xyuncatcodes\endinput}ŽŽŸŒ‘ôŒ¹The›–wabMÞo•²!v“e˜is˜futher˜complicated˜bMÞecause˜an˜option˜ma“y˜loaded˜in˜its˜ÏDOCMODEŽ‘1j”¹form˜(ending˜inŽ¡‘ãŒÏ.docŽ‘úŠÁ¹).‘£uSo–èCwš²!e“mak˜e“sure“that“the“mošMÞde“that“skips“do˜cumen²!tation,‘øºde ned“in“the“Ïxy.texŽ‘*N‚¹ le“header,Ž¡‘ãŒis–¦factivš²!e“no˜w.ަ‘ãŒÃ6585Ž‘õŒÏ\expandafter\xylet@\expandafter\xyprovidedocmode@\csname‘¿ªDOCMODE\endcsnameŽŽ¡‘ãŒÃ6586Ž‘õŒÏ\xylet@\xyenddocmode@=\relaxŽŽŸŒ‘ôŒ¹The–0–`dumm²!y'“option“describšMÞed“in“Çx¹3.2“is“a“minimal“option“using“the“ab˜o•²!v“e–0–features.‘|nIt“uses“theŽ¡‘ãŒspšMÞecial‘ UÏDOCMODEŽ‘1~P¹format– Uto“include“its“o²!wn“do˜cumen²!tation“for“this“do˜cumenš²!t“(lik˜e“all“ocial‘‡ÿX‘ü·ŸâÃYŽŽ‘_-picŽ¡‘ãŒoptions)–¦fbut“this“is“not“a“requiremen²!t.ŽŸ©Û‘ãŒÞ1.7.3Ž‘ ÌDriv er‘€optionsŽŸ º‘㌹The– Çh¹drivš²!erÇi“¹options“describMÞed“in“c˜hapter“Ô??‘©Ã¹require“spMÞecial“atten˜tion“bMÞecause“eac˜h“driv˜er“can“suppMÞortŽ¡‘ãŒsevš²!eral–T.extension“options,‘ and“it“is“sometimes“desirable“to“c˜hange“Çh¹driv˜erÇi“¹or“ev˜en“mix“the“suppMÞortŽ¡‘ãŒpro•²!vided›¦fb“y˜sev“eral.Ÿü¾Â6ŽŽŽ‘ãŒŸ wʉffÁyÌŸ LÍ‘ {ºŸü-=Ã6ŽŽŽ‘¦aÖThe–Tk¾9ernel“suppšAÇort“describ˜ed“here“is“based“on“the“(noš¾9w“defunct)“àxydriverŽ‘+÷XÖinclude“ le“b˜y“Ross“MoAÇore.ŽŽŽŒ‹]É7 Á à ý*tj‘ãŒÑ1.7.‘kíX‘ü·ŸâÃYŽŽ‘ëM-PIC‘¦fOPTIONS’g‰2¹93ŽŽ ¶?? ýh«w‘ôŒA‘±pÇh¹drivš²!erÇi–±s¹option“is“loaded“as“other“options“with“Ï\xyoption{Ž‘=.Çh¹driv˜erÇiÏ}Ž‘ q¹(or“through“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X‘¤v2Ÿ¤zÄ"Ž‘ L¡¹classޤ ™š‘ãŒor–Jpac²!k‘ÿdDage“options“as“describšMÞed“in“Çx¹1.1.1).‘¿The“sp˜ecial“thing“ab˜out“a“Çh¹driv²!erÇi“¹is“that“loading“it“simplyŽ¡‘ãŒdeclares–èhthe“name“of“it,›øèestablishes“what“extensions“it“will“suppMÞort,˜and“selects“it“tempMÞorarily‘ÿe.‘£âTh²!usŽ¡‘ãŒthe–RspšMÞecial“capabilities“of“the“driv²!er“will“only“b˜e“exploited“in“the“pro˜duced“D²!VI‘9 le“if“some“of“theseŽ¡‘ãŒextensions–\are“also“loaded“and“if“the“driv²!er“is“still“selected“when“output“is“proMÞduced.‘ë¿Generally‘ÿe,‘ÙtheŽ¡‘ãŒorder– min“whicš²!h“the“options“are“loaded“is“immaterial.‘ªŠ(Kno˜wn“exceptions“a ect“only“in˜ternal“proMÞcessingŽ¡‘ãŒand–1xare“not“visible“to“the“user“in“terms“of“language“and“expMÞected“output.)‘In“particular“one“driv²!erŽ¡‘ãŒcan–¦fbšMÞe“preloaded“in“a“format“and“a“di eren²!t“one“used“for“a“particular“do˜cumen²!t.Ž¡‘ôŒThe–¦ffolloš²!wing“declarations“con˜trol“this:Ž‘ãŒŸ ‚D‰ffã²dŸ „>‘H2|Ï\UseSingleDriverŽ’©¦¶¹forces–¦fone“driv²!er“onlyŽŽŽŽ¡‘H2|Ï\MultipleDriversŽ’©¦¶¹allo•²!ws›¦fm“ultiple˜driv“ersŽŽŽŽ¡‘H2|Ï\xyReloadDriversŽ’©¦¶¹resets–¦fdriv²!er“informationŽŽŽŽŸz‰ffã²dŸ13The–œ§ rst“command“restores“the“default“bMÞehaš²!viour:‘Øýthat“on˜y“one“Çh¹driv˜erÇi“¹is“allo˜w˜ed,–žšÐi¹.Ðe¹.,“eac˜h‘œ§loadingŽ¡of–ãza“Çh¹drivš²!erÇi“¹option“cancels“the“previous.‘•The“second“allo˜ws“consecutiv˜e“loading“of“driv˜ers“suc˜h“thatŽ¡when–Æìloading“a“Çh¹drivš²!erÇi“¹only“the“extensions“actually“suppMÞorted“are“selected,‘Ï lea˜ving“other“extensionsŽ¡suppMÞorted–—abš²!y“previously“selected“driv˜ers“un˜touc˜hed.‘ØÛBew˜are“that“this“can“bMÞe“used“to“create“D˜VI‘—] lesŽ¡that–¦fcannot“bšMÞe“pro˜cessed“bš²!y“an˜y“actual“D˜VI“driv˜er“program!Ž¡‘The–åqlast“command“is“sometimes“required“to“reset“the‘ÍX‘ü·ŸâÃYŽŽ‘L{-pic“Çh¹driv²!erÇi“¹information“to“a“sane“state,Ž¡for–@˜example,‘g$after“haš²!ving“applied“one“of“the“other“t˜w˜o“in“the“middle“of“a“doMÞcumen˜t,‘g$or“when“usingŽ¡simple–¦fformats“likš²!e“plain“T‘þ,³Ÿ[wEŽ‘B X“that“do“not“ha˜v˜e“a“clearly“distinguished“pream˜ble.ŽŸëNÔDriv¦ter‘ݸdatabase.‘ ó5¹The–\¡main“structure,‘kbthe“list“of“`loaded'“and“`selected'“Çh¹drivš²!erÇi¹s“(ordered“b˜y“age),Ž¡is–¦fimplemenš²!ted“as“traditional“T‘þ,³Ÿ[wEŽ‘B X“`Ï\doŽ‘>þ¹-lists'“(applications“of“Ï\do{Ž‘¥Çh¹driv˜erÇiÏ}Ž‘ f¹to“eac˜h“elemen˜t).Ž©PˆÃ6655Ž‘Ï\xydef@\xydriversloaded@@{\do{unload}}ŽŽ¡Ã6656Ž‘Ï\xylet@\xydriversselected@@=\emptyŽŽ¦‘¹This–ݘis“used“to“proš²!vide“en˜try“pMÞoin˜ts“in˜to“a“secondary“structure“that“lists“for“eac˜h“Çh¹driv˜erÇi“¹theŽ¡extensions–e suppMÞorted“bš²!y“that“driv˜er.‘ÈAs“should“bMÞe“apparen˜t“from“the“abMÞo˜v˜e,‘ronly“the“ÏunloadŽ‘)HÇh¹driv˜erÇiŽ¡¹is–gpresenš²!t“initially:‘Ž^it“represen˜ts“the“implemen˜tation“tec˜hnique“used“for“the“extension“when“no“Çh¹driv˜erÇiŽ¡¹is–•selected.‘ØEvš²!ery“extension“m˜ust“add“an“en˜try“whic˜h“reestablishes“the“default“implemen˜tation“of“theŽ¡extension:ަÃ6668Ž‘Ï\xylet@\xydriver@unload@support@@=\emptyŽŽ¦‘¹All–)˜Çh¹drivš²!erÇi¹s“will“ha˜v˜e“a“similar“structure“named“Ï\xydriver@Ž–=¦<Çh¹driv˜erÇiÏ@support@@Ž“¹whic˜h‘)˜con˜tainsŽ¡the–¤àextensions“suppMÞorted“bš²!y“that“particular“Çh¹driv˜erÇi¹:‘Ýthe“`signature'“of“eac˜h“driv˜er“as“Ï\doiiŽ‘ c2¹-list“withŽ¡t•²!w“o›%~argumen“ts˜(hence˜the˜ÏiiŽ‘ÊPÇ Ž‘7ÂŽ‘Å^ŽŽŽ‘!¼£¹):‘Üthe˜extension˜and˜the˜command˜to˜install˜the˜Çh¹driv“erÇi¹-extensionŽ¡com²!bination.Ž¡‘The›î(t•²!w“o˜selection˜principles˜di er˜signi can“tly‘ÿe.‘µ"When˜only˜a˜single˜Çh¹driv“erÇi˜¹is˜selectable˜then˜allŽ¡extensions–2œneed“to“bMÞe“unloaded“Ðb–ÿp¹efor“e‘=¹the–2œselection.‘‚When“mš²!ultiple“Çh¹driv˜erÇi¹s“are“allo˜w˜ed“then“onlyŽ¡the–¦fadded“suppšMÞort“needs“to“b˜e“executed.ަÃ6684Ž‘Ï\xydef@\selectdriver@#1{\DN@{#1}\edef\next@{\codeof\next@}%ŽŽ¡Ã6685Ž‘¿ªÏ\expandafter\selectdriver@@\expandafter{\next@}}ŽŽ¦Ã6687Ž‘Ï\xydef@\selectdriver@single#1{\xysetup@@{\def\xydriversselected@@{\do{#1}}%ŽŽ¡Ã6688Ž‘¿ªÏ\xyLoadDrivers@}\let\selectdriver@@=\changedriver@single}ŽŽ¦Ã6690Ž‘Ï\xydef@\changedriver@single#1{\xysetup@@{\def\xydriversselected@@{\do{#1}}%ŽŽ¡Ã6691Ž‘¿ªÏ\xyReloadDrivers@}}ŽŽ¦Ã6693Ž‘Ï\xydef@\selectdriver@multiple#1{\expandafter\xysetup@@\expandafter{%ŽŽŽŽŒ‹^Ø Á à ý*tj‘㌹94’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ6694Ž‘ûKÃÏ\expandafter\def\expandafter\xydriversselected@@\expandafter{%ŽŽ¤ ™š‘ãŒÃ6695Ž‘ mÏ\xydriversselected@@‘¿ª\do{#1}}%ŽŽ¡‘ãŒÃ6696Ž‘ûKÃÏ\let\do=\activatedriver@‘¿ª\xydriversselected@@}}ŽŽ©Pˆ‘ãŒÃ6698Ž‘õŒÏ\xydef@\UseSingleDriver{\let\selectdriver@@=\selectdriver@single}ŽŽ¡‘ãŒÃ6699Ž‘õŒÏ\xydef@\MultipleDrivers{\let\selectdriver@@=\selectdriver@multiple}ŽŽ¦‘ãŒÃ6701Ž‘õŒÏ\xydef@\xyLoadDrivers@{\let\do=\activatedriver@‘¿ª\xydriversselected@@}ŽŽ¡‘ãŒÃ6702Ž‘õŒÏ\xydef@\xyReloadDrivers@{\activatedriver@{unload}\xyLoadDrivers@}ŽŽ¡‘ãŒÃ6703Ž‘õŒÏ\xylet@\xyReloadDrivers=\xyReloadDrivers@ŽŽ¦‘ãŒÃ6705Ž‘õŒÏ\xydef@\activatedriver@#1{%ŽŽ¡‘ãŒÃ6706Ž‘ûKÃÏ\let\doii=\activatedriversupport@–¿ª\csname“xydriver@#1@support@@\endcsname}ŽŽ¦‘ãŒÃ6708Ž‘õŒÏ\xydef@\activatedriversupport@#1#2{%ŽŽ¡‘ãŒÃ6709Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxy#1loaded\endcsname\relax\DN@{}%ŽŽ¡‘ãŒÃ6710Ž‘ûKÃÏ\else\DN@{#2}\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ6712Ž‘õŒÏ\UseSingleDriverŽŽ¦‘ôŒ¹Finally–XÅwš²!e“de ne“the“follo˜wing“to“get“complete“indepMÞendence“of“load“sequence:‘· at“ev˜ery“loading“ofŽ¡‘ãŒan– Gextension“option“kno²!wn“to“bšMÞe“supp˜orted,‘>¿wš²!e“run“through“the“list“of“presen˜tly“selected“driv˜ers“toŽ¡‘ãŒactiv‘ÿdDate–¦fanš²!y“suppMÞort“for“it,“using“the“follo˜wing:ަ‘ãŒÃ6721Ž‘õŒÏ\xydef@\xyselectoptionsupport@{\let\do=\activatedriver@‘¿ª\xydriversselected@@}ŽŽ¦‘ôŒ¹As–²Hthe“abMÞo•²!v“e–²Hsuggests“it“sometimes“makš²!es“sense“to“load“Çh¹driv˜erÇi¹s“in“the“actual“textual“part“ofŽ¡‘ãŒa‘ —doMÞcumen•²!t,›$ãho“w“ev“er,˜it– —is“recommended“that“only“drivš²!ers“Ðalso‘¼‰¹loaded“in“the“pream˜ble“are“reloadedŽ¡‘ãŒlater,‘ý‰and–¸éthat“Ï\xyReloadDrivers“¹is“used“when“there“is“doubt“abMÞout“the“state“of“a airs.‘eIn“caseŽ¡‘ãŒof–û®confusion“the“spšMÞecial“command“Ï\xyShowDrivers“¹will“list“all“the“presen²!tly“supp˜orted“and“selectedŽ¡‘ãŒdriv²!er-extension–¦fpairs“to“the“T‘þ,³Ÿ[wEŽ‘B X“log.ަ‘ãŒÃ6735Ž‘õŒÏ\xydef@\xyShowDrivers{{\W@{Loaded:}\let\do=\doShow‘¿ª\xydriversloaded@@ŽŽ¡‘ãŒÃ6736Ž‘ mÏ\let\next@=\emptyŽŽ¡‘ãŒÃ6737Ž‘ mÏ\def\do##1{\ifx\next@\empty‘¿ª\DN@{##1}%ŽŽ¡‘ãŒÃ6738Ž‘ ŠÁÏ\else–¿ª\expandafter\DN@\expandafter{\next@,“##1}\fi}%ŽŽ¡‘ãŒÃ6739Ž‘ mÏ\xydriversselected@@\W@{Selected:‘¿ª\next@.}}}ŽŽ¦‘ãŒÃ6741Ž‘õŒÏ\def\doShow#1{\let\next@=\emptyŽŽ¡‘ãŒÃ6742Ž‘ûKÃÏ\def\doii##1##2{\ifx\next@\empty‘¿ª\DN@{##1}%ŽŽ¡‘ãŒÃ6743Ž‘ mÏ\else–¿ª\expandafter\DN@\expandafter{\next@,“##1}\fi}%ŽŽ¡‘ãŒÃ6744Ž‘ûKÃÏ\csname‘¿ªxydriver@#1@support@@\endcsnameŽŽ¡‘ãŒÃ6745Ž‘ûKÃÏ\W@{–¿ª“#1“supports“\next@.}}ŽŽŸ!"‘ãŒÔDriv•¦ter‘2in“ternals.‘ ó5¹A–¦fÇh¹drivš²!erÇi“¹option“ les“m˜ust“ha˜v˜e“the“follo˜wing“structure:ŽŸ‚‘þìÏ%%Ž‘×Çh¹iden²!ti cationÇiŽ¡‘þìÏ%%Ž‘×Çh¹cop•²!yrigh“t,‘¦fÐetc¹.Çiޤƒ‘þìÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¡‘þì\xyprovide{Ž‘>(kÇh¹optionÇiÏ}{Ž– TÇh¹nameÇiÏ}{Ž“Çh¹v²!ersionÇiÏ}%ŽŽ© ™š‘*¸ñ{Ž‘0x›Çh¹authorÇiÏ}{Ž– TÇh¹emailÇiÏ}{Ž“Çh¹addressÇiÏ}ŽŽ¡‘þì\newdriver{%ŽŽ¦‘þì\xyaddsupport{Ž‘OgiÇh¹extensionÇiÏ}Ž‘¿ªÇh¹csÇiŽŸä°Ÿø‘þì¹.ޤ‘þì.Ž¡‘þì.ŽŽŽ¦‘þìÏ}ŽŽŽŽŒ‹_ê Á à ý*tj‘ãŒÑ1.7.‘kíX‘ü·ŸâÃYŽŽ‘ëM-PIC‘¦fOPTIONS’g‰2¹95ŽŽ ¶?? ýh«w‘þìÇh¹b•MÞo“dy–¦fof“the“Çh¹driv²!erÇi“¹optionÇiŽŸ†3‘þìÏ\xyendinputŽŸ©‘㌹There–«should“bšMÞe“an“Ï\xyaddsupport“¹command“for“eac²!h“supp˜orted“Çh¹extensionÇi“¹whic²!h“sp˜ecici es“theޤ ™š‘ãŒÇh¹csÇi–¦f¹(conš²!trol“sequence)“with“whic˜h“the“indicated“suppMÞort“is“Ðactivate‘ÿp¹d‘!ª¹.Ž© Ïç‘ôŒThe–>ÑÏ\newdriver“¹command“ rst“establishes“the“`suppMÞort'“list“for“the“Çh¹driv²!erÇi“¹(running“the“argu-Ž¡‘ãŒmenš²!t),‘Ûüthen–ÑEadds“the“Çh¹driv˜erÇi“¹to“the“`loaded'“list,‘Ûüand“ nally“selects“it“no˜w“and“for“ev˜ery“subsequen˜tŽ¡‘ãŒrequest–¦fof“this“Çh¹driv²!erÇi“¹option.ަ‘ôŒIt–kiis“impMÞortanš²!t“that“the“Çh¹csÇi“¹that“Ðactivates‘Q¹eac˜h“driv˜er/extension“com˜bination“only“doMÞes“Ðr‘ÿp¹ebindingŽ¡‘ãŒof‘êêho‘ÿp¹oks‘æ¹.‘ÝÝIn–¦forder“to“see“what“hošMÞoks“are“a²!v‘ÿdDailable“for“an“extension,“lo˜ok“for“declarations“of“the“formŽ‘ãŒŸ*]‰ffã²dŸ »i’™Ö™Ï\xyaddunsupport‘¦f{Ž– fÇh¹extensionÇiÏ}Ž“Çh¹csÇiŽŽŸ±0‰ffã²dŸÙL¹and– see“what“rebindings“that“Çh¹csÇi“¹došMÞes:‘«those“are“the“hokks.‘«Ðb–ÿp¹e“c“ause‘ß¡¹they– are“the“ones“that“will“b˜eŽ¡safely–áÁreestablished!‘ïThis“should“bšMÞe“adherede“to“b˜ecause“b˜oth“activ›ÿdDation“and“deactiv˜ation“Çh¹csÇi¹s“ma²!yŽ¡bMÞe–¦fexecuted“man²!y“times.ަ‘The–¯OproMÞcedure“is“as“folloš²!ws:‘ï®(Ãl.6809Ž‘ã|¹)“add“the“driv˜er“and“clear“its“suppMÞort“con˜trol“sequence“unless“itŽ¡is–¦falready“de ned,“(Ãl.6815Ž›ã|¹)“execute“the“suppMÞort“commands,“and“(Ãl.6816Ž˜¹)“setup“to“select“it“after“loading.Ž©PˆÃ6808Ž‘Ï\xydef@\newdriver#1{%ŽŽ¡Ã6809Ž‘¿ªÏ\def\nextiii@##1{ŽŽ¡Ã6810Ž‘TÏ\expandafter\def\expandafter\xydriversloaded@@ŽŽ¡Ã6811Ž‘#>þÏ\expandafter{\xydriversloaded@@\do{##1}}%ŽŽ¡Ã6812Ž‘#>þÏ\expandafter\let\csname–¿ªxydriver@\xyoption@@“@support@@\endcsname=\empty}%ŽŽ¡Ã6813Ž‘¿ªÏ\def\do##1{\DNii@{##1}\ifx\xyoption@@\nextii@–¿ª\let\nextiii@=\eat@“\fi}%ŽŽ¡Ã6814Ž‘¿ªÏ\xydriversloaded@@‘¿ª\expandafter\nextiii@\expandafter{\xyoption@@}%ŽŽ¡Ã6815Ž‘¿ªÏ#1\relaxŽŽ¡Ã6816Ž‘¿ªÏ\DN@##1{\xywithoption{##1}{ŽŽ¡Ã6817Ž‘#>þÏ\selectdriver@{##1}\xyeveryrequest{##1}{\selectdriver@{##1}}}}%ŽŽ¡Ã6818Ž‘¿ªÏ\expandafter\next@\expandafter{\xyoption@@}\ignorespaces}ŽŽŸ†Õ‘¹The–nïsuppšMÞort“commands“merely“add“to“the“supp˜ort“Ï\doŽ‘­í¹-lists“whic²!h“in“turn“(Ãl.6845Ž‘ã|¹)“adds“Ï\doii{Ž‘$ìëÇh¹extensionÇiÏ}{Ž‘ T¹.–Ó3.“.“Ï}ŽŽ¡¹to–åwthe“Ï\xydriver@Ž–=bÇh¹drivš²!erÇiÏ@support@@Ž“¹con˜trol–åwsequence“and“adds“a“c˜hec˜k“for“when“to“apply“it“ev˜eryŽ¡time–¦fthat“Çh¹extensionÇi“¹is“requested!ަÃ6828Ž‘Ï\xydef@\xyaddsupport{\expandafter\xyadddriversupport@\expandafter{\xyoption@@}}ŽŽ¡Ã6829Ž‘Ï\xydef@\xyaddunsupport{\xyadddriversupport@{unload}}ŽŽ¦Ã6831Ž‘Ï\xydef@\xyadddriversupport@#1#2#3{%ŽŽ¡Ã6832Ž‘¿ªÏ\DNii@{#1}\edef\nextii@{\codeof\nextii@}%ŽŽ¡Ã6833Ž‘¿ªÏ\def\nextiii@{#2}\edef\nextiii@{\codeof\nextiii@}%ŽŽ¡Ã6834Ž‘Ï%ŽŽ¡Ã6835Ž‘Ï%–¿ªCHECK“that“the““is“loaded!ŽŽ¡Ã6836Ž‘Ï\def\next{\xybug@{–¿ª\nextii@\space“not“loaded}}%ŽŽ¡Ã6837Ž‘Ï\def\do##1{\DN@{##1}\edef\next@{\codeof\next@}%ŽŽ¡Ã6838Ž‘¿ªÏ\ifx\next@\nextii@–¿ª\let\next=\relax“\fi}\xydriversloaded@@“\nextŽŽ¡Ã6839Ž‘Ï%ŽŽ¡Ã6840Ž‘Ï%–¿ªCHECK“that“the“specified““is“not“already“supported!ŽŽ¡Ã6841Ž‘Ï\def\next{\xybug@{–¿ª\nextii@\space“already“supports“\nextiii@}}%ŽŽ¡Ã6842Ž‘Ï\def\doii##1##2{\DN@{##1}\edef\next@{\codeof\next@}%ŽŽ¡Ã6843Ž‘¿ªÏ\ifx\next@\nextiii@–¿ª\let\next=\relax“\fi}\xydriversloaded@@“\nextŽŽ¡Ã6844Ž‘Ï%ŽŽŽŽŒ‹`ö Á à ý*tj‘㌹96’+_%ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ6845Ž‘ûKÃÏ\DN@##1##2{\ifx##1\relax–¿ª\let##1=\empty“\fiŽŽ¤ ™š‘ãŒÃ6846Ž‘ mÏ\expandafter\def\expandafter##1\expandafter{##1\doii{##2}{#3}}}%ŽŽ¡‘ãŒÃ6847Ž‘ûKÃÏ\expandafter\expandafter\expandafter\next@ŽŽ¡‘ãŒÃ6848Ž‘ mÏ\expandafter\expandafter\csname–¿ªxydriver@\nextii@“@support@@\endcsnameŽŽ¡‘ãŒÃ6849Ž‘ËÏ\expandafter{\nextiii@}%ŽŽ¡‘ãŒÃ6850Ž‘ûKÃÏ\DN@##1{\expandafter\xyeverywithoption\expandafter{\nextiii@}{%ŽŽ¡‘ãŒÃ6851Ž‘ mÏ\xytestforsupport@{##1}}}%ŽŽ¡‘ãŒÃ6852Ž‘ûKÃÏ\expandafter\next@\expandafter{\nextii@}\xydriversloaded@@ŽŽ¡‘ãŒÃ6853Ž‘ûKÃÏ\ignorespaces}ŽŽ©Pˆ‘ãŒÃ6855Ž‘õŒÏ\xydef@\xytestforsupport@#1{\def\do##1{\DN@{##1}\DNii@{#1}%ŽŽ¡‘ãŒÃ6856Ž‘ûKÃÏ\ifx\next@\nextii@–¿ª\expandafter\xyselectoptionsupport@“\fi}}ŽŽŸ!—]‘ãŒÔDriv¦ter–Æ'related“messages.‘ ó5¹Most–&Àextensions“will“prinš²!t“a“w˜arning“when“a“capabilit˜y“is“used“whic˜hŽ¡‘ãŒis–€—not“suppMÞorted“bš²!y“the“presen˜tly“loaded“Çh¹driv˜erÇi¹.‘ÑCSuc˜h“messages“are“only“prin˜ted“once,–ˆ'ho˜w˜ev˜er,“(forŽ¡‘ãŒsome–> formats“they“are“repšMÞeated“at“the“end).‘»Similarly‘ÿe,‘Rûwhen“the“supp˜ort“of“an“extension“that“exploitsŽ¡‘ãŒa–¦fparticular“Çh¹drivš²!erÇi“¹is“used“a“w˜arning“message“will“bMÞe“issued“that“the“D˜VI“ le“is“not“pMÞortable.Ž¡‘ôŒThis–+dis“implemenš²!ted“b˜y“de ning“a“con˜trol“sequence“for“eac˜h“suc˜h“w˜arning“and“repMÞeat“it“at“the“end.Ž¡‘ãŒW‘ÿearnings–¦fshould“bMÞe“issued“using“one“ofŽ‘ãŒŸ =‰ffã²dŸ x·‘qV¸Ï\xyununsupportwarning@Ž’óuº{Ž’ù5dÇh¹extensionÇiÏ}Ž‘ f{Ž‘%ºÇh¹messageÇiÏ}ŽŽŽ¡‘qV¸\xyunsupportwarning@Ž’çöf{Ž’í¶Çh¹driv²!erÇiÏ}Ž‘ f{Ž‘%ºÇh¹extensionÇiÏ}ŽŽŽŸn~‰ffã²dŸ µ¡¦Ã6882Ž‘Ï\xynew@{if}\ifunsupportwarnings@ŽŽ¦Ã6884Ž‘Ï\xydef@\xyunsupportwarning@#1#2{{%ŽŽ¡Ã6885Ž‘¿ªÏ\DN@{#1}\edef\next@{\codeof\next@}ŽŽ¡Ã6886Ž‘¿ªÏ\expandafter\ifx\csname–¿ªxywarn@unload@\next@“@\endcsname\relaxŽŽ¡Ã6887Ž‘TÏ\expandafter\gdef\csname–¿ªxywarn@unload@\next@“@\endcsname{}%ŽŽ¡Ã6888Ž‘TÏ\ifunsupportwarnings@–¿ª\xyclosedown@@\xyunsupportwarnings@@“\fiŽŽ¡Ã6889Ž‘TÏ\global\unsupportwarnings@trueŽŽ¡Ã6890Ž‘TÏ\expandafter\gdef\expandafter\xyunsupportwarnings@@\expandafter{%ŽŽ¡Ã6891Ž‘#>þÏ\xyunsupportwarnings@@–¿ª\W@{“#2.}}%ŽŽ¡Ã6892Ž‘TÏ\W@{}%ŽŽ¡Ã6893Ž‘TÏ\W@{Xy-pic–¿ªWarning:“`\next@'“reproduction“is“NOT“EXACT\xytracelineno@:}%ŽŽ¡Ã6894Ž‘TÏ\W@{‘¿ª#2.}%ŽŽ¡Ã6895Ž‘TÏ\W@{}%ŽŽ¡Ã6896Ž‘¿ªÏ\fi}}ŽŽ¦Ã6898Ž‘Ï\xydef@\xyunsupportwarnings@@{\W@{}%ŽŽ¡Ã6899Ž‘¿ªÏ\W@{Xy-pic–¿ªWarning:“The“produced“DVI“file“is“NOT“EXACT:}}ŽŽ¦Ã6901Ž‘Ï\xynew@{if}\ifsupportwarnings@ŽŽ¦Ã6903Ž‘Ï\xydef@\xysupportwarning@#1#2{{%ŽŽ¡Ã6904Ž‘¿ªÏ\DN@{#1}\edef\next@{\codeof\next@}\DNii@{#2}\edef\nextii@{\codeof\nextii@}%ŽŽ¡Ã6905Ž‘¿ªÏ\expandafter\ifx\csname–¿ªxywarn@\next@“@\nextii@“@\endcsname\relaxŽŽ¡Ã6906Ž‘TÏ\expandafter\gdef\csname–¿ªxywarn@\next@“@\nextii@“@\endcsname{}%ŽŽ¡Ã6907Ž‘TÏ\ifsupportwarnings@–¿ª\xyclosedown@@\xysupportwarnings@@“\fiŽŽ¡Ã6908Ž‘TÏ\global\supportwarnings@trueŽŽ¡Ã6909Ž‘TÏ\expandafter\gdef\expandafter\xysupportwarnings@@\expandafter{%ŽŽ¡Ã6910Ž‘#>þÏ\xysupportwarnings@@‘¿ª\driverextensioncomplain@{#1}{#2}}%ŽŽŽŽŒ‹a* Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’rÆ[¹97ŽŽ ¶?? ýh«w‘ãŒÃ6911Ž‘ mÏ\W@{}%ŽŽ¤ ™š‘ãŒÃ6912Ž‘ mÏ\W@{Xy-pic–¿ªWarning:“The“produced“DVI“file“is“NOT“PORTABLE\xytracelineno@:}%ŽŽ¡‘ãŒÃ6913Ž‘ mÏ\driverextensioncomplain@{#1}{#2}%ŽŽ¡‘ãŒÃ6914Ž‘ mÏ\W@{}%ŽŽ¡‘ãŒÃ6915Ž‘ûKÃÏ\fi}}ŽŽ©Pˆ‘ãŒÃ6917Ž‘õŒÏ\xydef@\xysupportwarnings@@{%ŽŽ¡‘ãŒÃ6918Ž‘ûKÃÏ\W@{Xy-pic–¿ªWarning:“The“produced“DVI“file“is“NOT“PORTABLE:}}ŽŽ¦‘ãŒÃ6920Ž‘õŒÏ\xydef@\driverextensioncomplain@#1#2{%ŽŽ¡‘ãŒÃ6921Ž‘ûKÃÏ\DN@{#1}\edef\next@{\codeof\next@}\DNii@{#2}\edef\nextii@{\codeof\nextii@}%ŽŽ¡‘ãŒÃ6922Ž‘ûKÃÏ\W@{–¿ªIt“contains““`\next@'“\string\special“s“for“the“`\nextii@'ŽŽ¡‘ãŒÃ6923Ž‘#‰iÏextension.}}ŽŽŸ½Ò‘ôŒ¹Bac•²!kw“ards‘¦fcompatibilit“y.–Ó3.“.ަ‘ãŒÃ6929Ž‘õŒÏ\xydef@\dvimessage@#1#2{\xysupportwarning@{#1}{#2}}ŽŽ¦‘ãŒÃ6931Ž‘õŒÏ\xynew@{if}\ifxydrivernoloads@ŽŽ¡‘ãŒÃ6932Ž‘õŒÏ\xydef@\xydrivernoload@#1{\xyerror@{Could–¿ªnot“load“xy#1.tex}{}%ŽŽ¡‘ãŒÃ6933Ž‘ûKÃÏ\xydrivernoloads@true}ŽŽ¦‘ãŒÃ6935Ž‘õŒÏ\xydef@\xydriverfail@#1{\xyerror@{Sorry,–¿ª#1“not“supported.}{}}ŽŽ¦‘ãŒÃ6937Ž‘õŒÏ\xydef@\xyunload@#1{\xywarning@{Unloading‘¿ª#1.}}ŽŽŸ)§¸‘ãŒÝ1.8Ž‘r|AlgorithmsŽŸEá‘㌹This–¦fsection“presen²!ts“the“more“complicated“algorithms“used“in‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic.ŽŸÃ‘ãŒÞ1.8.1Ž‘ ÌDirectionsŽŸÉù‘ãŒÃ6957Ž‘õŒÏ\message{algorithms:‘¿ªdirections,}ŽŽŸ½Ò‘㌹The›¦fÐdir–ÿp¹e“ction‘êêstate‘y¹is˜describMÞed˜b•²!y˜the˜follo“wing˜parameters:Ž‘ãŒŸÏT‰ffã²dŸ òf‘$$•ÐDir–ÿp¹e“ctionŽ’Í´¹`angle'–ÆÖof“the“direction“on“]–¯ÍÇ“¹4ÄK‘›²:–Ó1:“:Ž‘5F¹4ÄK‘ȹ]–ÆÖunit“squareŽŽŽŽ¡‘$$•ÐdX‘»¹,ÐdYŽ’Í´¹the–¦fv²!ector“Äc–nìÇ“ÄpŽŽŽŽ¡‘$$•ÐsdX‘»¹,ÐsdYŽ’Í´¹sign–¦fof“ÐdX‘au¹and“ÐdYŽŽŽŽŸòk‘$$•Ï\K@dXdYŽ‘Lb;¹,Ï\K@dYdXŽŽ’Í´¹quotien²!ts–¦fÄKŸû°K‘#ádXŽŽ‘û´ŸÆ‰fe SGŸPAdYŽŽŽŽŽ›(”¹and“ÄKŸû°K‘û´ádYŽŽ‘û´ŸÆ‰fe SGŸPA'SdXŽŽŽŽŽ˜¹(as“dimensions“in“sp)ŽŽŽŽ¡‘$$•ÐDir–ÿp¹e“ctionChar‘-»¹,ÐSemiDir“e“ctionCharŽ’Í´Ï\chardefsŽ’3\¹for–ÁÅdirectional“and“semidirectional“fon²!tsŽŽŽŽ¡‘$$•Ðc–ÿp¹osDir“e“ction‘× ¹,ÐsinDir“e“ctionŽ’Í´¹factors–D!in“the“range“]–ªcÇ“¹1–Ó1Ä:“:“:Ž‘lŹ1]–D!correspMÞonding“to“cosŽ¡’Í´and–¦fsin“of“DirectionŽŽŽŽŸmJ‰ffã²dŸ~C–¦fwhere“the“\]–nìÇ“¹4ÄK‘›²:–Ó1:“:Ž‘5F¹4ÄK‘ȹ]–¦funit“square"“has“the“follo²!wing“angles:ŽŸIÏ’¶Oïps: SDict begin xyc endŸýh0‘ï" {0.0 -41.25876 l}xyŽŽŽ‘Ž‘L¹:=ޤ ™š‘ãŒÐKKŽŽ‘øhîÇ‘nìÏ<Ž‘.–ÐdXŽŽ‘¦Ï,Ž‘e¿ÐdYŽŽ‘-AˆÏ>Ž‘32¹.–Ó3.“.Ž©Pˆ‘ãŒÃ7068Ž‘õŒÏ\xydef@\dlDirection@{\Direction=\z@ŽŽ¡‘ãŒÃ7069Ž‘ûKÃÏ\def\cosDirection{-.7071}\def\sinDirection{-.7071}\def\sd@X{-}\def\sd@Y{-}%ŽŽ¡‘ãŒÃ7070Ž‘ûKÃÏ\chardef\DirectionChar=127\relax\chardef\SemiDirectionChar=127\relaxŽŽ¡‘ãŒÃ7071Ž‘ûKÃÏ\K@dXdY=1\K@–¿ª\K@dYdX=1\K@“\fixedDirection@}ŽŽ¦‘ãŒÃ7073Ž‘õŒÏ\xydef@\dDirection@{\Direction=\K@ŽŽ¡‘ãŒÃ7074Ž‘ûKÃÏ\def\cosDirection{0}\def\sinDirection{-1}\def\sd@Y{-}%\def\sd@X{+}ŽŽ¡‘ãŒÃ7075Ž‘ûKÃÏ\edef\sd@X{\ifdim\X@c<\X@p-\else+\fi}%ŽŽ¡‘ãŒÃ7076Ž‘ûKÃÏ\chardef\DirectionChar=15\relax\chardef\SemiDirectionChar=31\relaxŽŽ¡‘ãŒÃ7077Ž‘ûKÃÏ\K@dXdY=\z@–¿ª\K@dYdX=\KK@\K@“\fixedDirection@}ŽŽ¦‘ãŒÃ7079Ž‘õŒÏ\xydef@\drDirection@{\dimen@ii=2\K@‘¿ª\Direction=\dimen@iiŽŽ¡‘ãŒÃ7080Ž‘ûKÃÏ\def\cosDirection{+.7071}\def\sinDirection{-.7071}\def\sd@X{+}\def\sd@Y{-}%ŽŽ¡‘ãŒÃ7081Ž‘ûKÃÏ\chardef\DirectionChar=31\relax\chardef\SemiDirectionChar=63\relaxŽŽ¡‘ãŒÃ7082Ž‘ûKÃÏ\K@dXdY=-1\K@–¿ª\K@dYdX=-1\K@“\fixedDirection@}ŽŽ¦‘ãŒÃ7084Ž‘õŒÏ\xydef@\rDirection@{\dimen@ii=3\K@‘¿ª\Direction=\dimen@iiŽŽ¡‘ãŒÃ7085Ž‘ûKÃÏ\def\cosDirection{+1}\def\sinDirection{0}\def\sd@X{+}%\def\sd@Y{+}%ŽŽ¡‘ãŒÃ7086Ž‘ûKÃÏ\edef\sd@Y{\ifdim\Y@c<\Y@p-\else+\fi}%ŽŽ¡‘ãŒÃ7087Ž‘ûKÃÏ\chardef\DirectionChar=47\relax\chardef\SemiDirectionChar=95\relaxŽŽ¡‘ãŒÃ7088Ž‘ûKÃÏ\K@dXdY=\KK@\K@–¿ª\K@dYdX=\z@“\fixedDirection@}ŽŽ¦‘ãŒÃ7090Ž‘õŒÏ\xydef@\urDirection@{\dimen@ii=4\K@‘¿ª\Direction=\dimen@iiŽŽ¡‘ãŒÃ7091Ž‘ûKÃÏ\def\cosDirection{+.7071}\def\sinDirection{+.7071}\def\sd@X{+}\def\sd@Y{+}%ŽŽ¡‘ãŒÃ7092Ž‘ûKÃÏ\chardef\DirectionChar=63\relax\chardef\SemiDirectionChar=127\relaxŽŽ¡‘ãŒÃ7093Ž‘ûKÃÏ\K@dXdY=1\K@–¿ª\K@dYdX=1\K@“\fixedDirection@}ŽŽ¦‘ãŒÃ7095Ž‘õŒÏ\xydef@\uDirection@{\dimen@ii=-3\K@‘¿ª\Direction=\dimen@iiŽŽ¡‘ãŒÃ7096Ž‘ûKÃÏ\def\cosDirection{0}\def\sinDirection{+1}\def\sd@Y{+}%\def\sd@X{+}ŽŽ¡‘ãŒÃ7097Ž‘ûKÃÏ\edef\sd@X{\ifdim\X@c<\X@p-\else+\fi}%ŽŽ¡‘ãŒÃ7098Ž‘ûKÃÏ\chardef\DirectionChar=79\relax\chardef\SemiDirectionChar=31\relaxŽŽ¡‘ãŒÃ7099Ž‘ûKÃÏ\K@dXdY=\z@–¿ª\K@dYdX=\KK@\K@“\fixedDirection@}ŽŽ¦‘ãŒÃ7101Ž‘õŒÏ\xydef@\ulDirection@{\dimen@ii=-2\K@‘¿ª\Direction=\dimen@iiŽŽ¡‘ãŒÃ7102Ž‘ûKÃÏ\def\cosDirection{-.7071}\def\sinDirection{+.7071}\def\sd@X{-}\def\sd@Y{+}%ŽŽ¡‘ãŒÃ7103Ž‘ûKÃÏ\chardef\DirectionChar=95\relax\chardef\SemiDirectionChar=63\relaxŽŽ¡‘ãŒÃ7104Ž‘ûKÃÏ\K@dXdY=-1\K@–¿ª\K@dYdX=-1\K@“\fixedDirection@}ŽŽ¦‘ãŒÃ7106Ž‘õŒÏ\xydef@\lDirection@{\Direction=-\K@ŽŽŽŽŒ‹d*k Á à ý*tj‘㌹100’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ7107Ž‘ûKÃÏ\def\cosDirection{-1}\def\sinDirection{0}\def\sd@X{-}%\def\sd@Y{+}%ŽŽ¤ ™š‘ãŒÃ7108Ž‘ûKÃÏ\edef\sd@Y{\ifdim\Y@c<\Y@p-\else+\fi}%ŽŽ¡‘ãŒÃ7109Ž‘ûKÃÏ\chardef\DirectionChar=111\relax\chardef\SemiDirectionChar=95\relaxŽŽ¡‘ãŒÃ7110Ž‘ûKÃÏ\K@dXdY=\KK@\K@–¿ª\K@dYdX=\z@“\fixedDirection@}ŽŽ©Pˆ‘ãŒÃ7112Ž‘õŒÏ\xydef@\fixedDirection@#1{\dimen@ii=#1\relaxŽŽ¡‘ãŒÃ7113Ž‘ûKÃÏ\d@X=\cosDirection\dimen@ii‘¿ª\d@Y=\sinDirection\dimen@iiŽŽ¡‘ãŒÃ7114Ž‘ûKÃÏ\resetupDirection@}ŽŽ¦‘ôŒ¹Here–¦fis“the“prošMÞcedure“for“the“generic“co˜de.ŽŸçV‘æÃl.7171ŽŽŽŽ‘þì¹Mak²!e–|6sign“v‘ÿdDariables“and“slopMÞes:‘‰~ÐsdXŽŽ‘ê/¹:=‘oÐsignŽŽ–MZ¹(ÐdXŽŽ‘w¹),‘±ªÐsdYŽŽ‘v¥¹:=‘oÐsignŽŽ“¹(ÐdYŽŽ‘Ûɹ),‘±ªÄKŸû°K‘#ádXŽŽ‘û´ŸÆ‰fe SGŸPAdYŽŽŽŽŽ‘ñ/¹:=‘oÐsdXŽŽ‘^'Ç‘ývÐsdYŽŽ‘PæÇŽ©¤–‘þìbŽ‘ÉûjŽ‘Ô¦ÐKKŽŽ‘±{Ç‘nìÐdXŽŽ‘ækÇjŽŽ‘:úÄ=‘Ó1ÇjŽ‘ÝÜÐdYŽŽ‘¹¥Ä=ÐKKŽŽ‘méÇjŽŽ‘/«ÓcŽŽ‘týS¹,–†Õand›~ðÄKŸû°K‘û´ádYŽŽ‘û´ŸÆ‰fe SGŸPA'SdXŽŽŽŽŽ‘ŒÕ¹:=‘ §ÐsdXŽŽ‘XÇ‘ ÐsdYŽŽ‘•üÇ‘ bŽ‘ýßjŽ‘ ŠÐKKŽŽ‘å_Ç‘nìÐdYŽŽ‘JµÇjŽŽ‘>’6Ä=‘Ó1ÇjŽ‘ÝÜÐdXŽŽ‘U[Ä=ÐKKŽŽ‘méÇjŽŽ‘/G‰cŽŽ‘x17¹,“where˜the˜some-Ž¡‘þìwhat–åpexotic“computation“methošMÞd“is“used“to“ensure“that“the“`nativ²!e'“ o˜or“function“proš²!vided“b˜yŽ¡‘þìT‘þ,³Ÿ[wEŽ‘B X‘Á»Ï\divideŽ‘-Á¹can–Á»bšMÞe“used“(it“only“acts“predictably“for“p˜ositivš²!e“n˜um˜bMÞers),‘ïwthat“o˜v˜er o˜w“is“a˜v˜oidedŽ¡‘þìevš²!en–žDfor“large“ÐdXŽŽ‘ÃÄ;‘Ó1ÐdYŽŽ‘®ú¹,‘Ÿäand“that“it“is“reasonable“to“use“the“con˜v˜en˜tion“of“Ï\quotient@Ž‘@¹,¹that“divi-Ž¡‘þìsion–'Qbš²!y“zero“is“lik˜e“m˜ultiplying“with“one.–Ó3.“.“Also–'Qtak˜es“care“not“to“m˜ultiply“toMÞo“big“dimensionsŽ¡‘þìwith–¦feac²!h“other.ޤRL‘æÃl.7188ŽŽŽŽ‘þì¹If‘œ‰ÇÄKŽ‘@½Ç– §ÄKŸû°K‘#ádXŽŽ‘û´ŸÆ‰fe SGŸPAdYŽŽŽŽŽ‘ŒÕÇ“ÄK‘e ¹then–œ‰the“direction“is“mostly“up“or“doš²!wn:‘Xïif“ÐdYŽŽ‘‚ùÄ<‘ §¹0“[do˜wn,‘ѵÃl.7189Ž‘µ1¹]:‘XïÐDir–ÿp¹e“ctionŽŽ‘4,·¹:=ަ‘þìÇÄKŸû°K‘#ádXŽŽ‘û´ŸÆ‰fe SGŸPAdYŽŽŽŽŽ›ñ¹+‘nì1ÄK‘ȹ;–¦felse“[up,“Ãl.7191Ž‘‰â¹]:‘ÝÝÐDir–ÿp¹e“ctionŽŽ‘4±¥¹:=‘ §ÇÄKŸû°K‘#ádXŽŽ‘û´ŸÆ‰fe SGŸPAdYŽŽŽŽŽ˜Ç‘nì¹3ÄK‘ȹ.ŽŸ]H‘æÃl.7194ŽŽŽŽ‘þì¹If‘2©ÇÄKŽ‘À¡<–ôkKŸû°K‘û´ádYŽŽ‘û´ŸÆ‰fe SGŸPA'SdXŽŽŽŽŽ‘v™Ä<“K‘û*¹then–2©direction“is“mostly“left“or“righ²!t:›öcif“ÐdXŽŽ‘ž“Ä<‘ôk¹0“[left,‘U¹Ãl.7195Ž‘95¹]:˜ÐDir–ÿp¹e“ctionŽŽ‘6³ï¹:=ަ‘þìÄKŸû°K‘û´ádYŽŽ‘û´ŸÆ‰fe SGŸPA'SdXŽŽŽŽŽ›ñÇ‘nìÄK‘ȹ;–¦felse“[righ²!t,“Ãl.7197Ž‘‰â¹]:‘ÝÝÐDir–ÿp¹e“ctionŽŽ‘4±¥¹:=‘ §ÄKŸû°K‘û´ádYŽŽ‘û´ŸÆ‰fe SGŸPA'SdXŽŽŽŽŽ˜¹+‘nì3ÄK‘ȹ.Ž¡‘æÃl.7222ŽŽŽŽ‘þì¹Compute–œÖcš²!haracter“coMÞdes“for“direction“and“semidirection“fon˜ts.‘Ú­[Ãl.7223Ž‘ã|¹]:‘ÙÐDir–ÿp¹e“ctionCharŽŽ‘L¨Þ¹:=‘ §(8ÄK‘$M¹+ޤ ™š‘þìÐDir–ÿp¹e“ctionŽŽ‘.-è¹+›xªÄK•,Å=¹32)‘¦fdivŽ‘4F(ÄK“=¹16)˜Ç˜¹1;‘¼Swhile‘µÐDir–ÿp¹e“ctionCharŽŽ‘K)Ä>–#¹127“:“ÐDir–ÿp¹e“ctionCharŽŽ‘Gè%Ç“¹:=“128.‘ ¶[Ãl.7226Ž‘ã|¹]:Ž¡‘þìÐSemiDir–ÿp¹e“ctionCharŽŽ‘_ºÕ¹:=‘ˆ(8ÄK‘й+‘ÐDir–ÿp¹e“ctionŽŽ‘2ع+›ÄK•,Å=¹64)‘¦fdivŽ‘4F(ÄK“=¹32)˜Ç˜¹1;‘ý³while‘‹DÐSemiDir–ÿp¹e“ctionCharŽŽ‘eYüÄ>Ž¡‘þì¹127–¨:“ÐSemiDir–ÿp¹e“ctionCharŽŽ‘`ï0Ç“¹:=“128.‘ÆéIn–ž¿bMÞoth“cases“the“8ÄK‘g@¹are“added“to“ensure“that“T‘þ,³Ÿ[wEŽ‘B X“willŽ¡‘þìround›¦fdo²!wn.–ÝÝÔHac¦tk:“¹The˜Ï16Ž‘%º¹,˜Ï\KK@Ž‘¥¹,˜and˜Ï64Ž‘Ì ¹in˜these˜lines˜are˜really˜ÄK•,Å=¹64,˜ÄK“=¹32,˜and˜ÄK“=¹16.–Ó3.“.Ž©RL‘æÃl.7229ŽŽŽŽ‘þì¹Build›¨Ðc–ÿp¹osDir“e“ction‘*¹and˜ÐsinDir“e“ction‘*¹from˜appropriate˜c²!haracters˜in˜the˜Ï\xydashfontŽ‘Cäm¹.‘ã[Ãl.7229Ž‘ã|¹]:Ž¡‘þìÐc–ÿp¹osDir“e“ctionŽŽ‘>i¹¹:=‘'^ÐwdŽŽ‘(T¹(Ï\xydashfontŽ‘?4096–¿ª\advance\count@@-8192“\repeat@ŽŽ¡‘ãŒÃ7212Ž‘ûKÃÏ\loop@\ifnum\count@@<-4096–¿ª\advance\count@@8192“\repeat@ŽŽ¡‘ãŒÃ7213Ž‘ûKÃÏ\def\sd@X{+}\ifnum\count@@<\K@‘¿ª\relaxŽŽ¡‘ãŒÃ7214Ž‘ûKÃÏ\ifnum\count@@>-3072‘¿ª\def\sd@X{-}\fi\fiŽŽ¡‘ãŒÃ7215Ž‘ûKÃÏ\def\sd@Y{+}\ifnum\count@@<3072‘¿ª\relaxŽŽ¡‘ãŒÃ7216Ž‘ mÏ\ifnum\count@@>-\K@‘¿ª\relax\def\sd@Y{-}\fi\fiŽŽ¡‘ãŒÃ7217Ž‘ûKÃÏ\imposeDirection@iŽŽ¡‘ãŒÃ7218Ž‘ûKÃÏ\d@X=\cosDirection\xydashl@‘¿ª\d@Y=\sinDirection\xydashl@ŽŽ¡‘ãŒÃ7219Ž‘ûKÃÏ\resetupDirection@}ŽŽ¦‘ãŒÃ7221Ž‘õŒÏ\xydef@\imposeDirection@i{%ŽŽ¡‘ãŒÃ7222Ž‘ûKÃÏ\count@@=\K@–¿ª\multiply\count@@“by8“\advance\count@@\DirectionŽŽ¡‘ãŒÃ7223Ž‘ûKÃÏ\count@=\count@@–¿ª\advance\count@\KK@“\divide\count@64“\advance\count@\m@neŽŽ¡‘ãŒÃ7224Ž‘ûKÃÏ\loop@\ifnum127<\count@–¿ª\advance\count@-128“\repeat@ŽŽ¡‘ãŒÃ7225Ž‘ûKÃÏ\chardef\DirectionChar\count@ŽŽ¡‘ãŒÃ7226Ž‘ûKÃÏ\advance\count@@16–¿ª\divide\count@@\KK@“\advance\count@@\m@neŽŽ¡‘ãŒÃ7227Ž‘ûKÃÏ\loop@\ifnum127<\count@@–¿ª\advance\count@@-128“\repeat@ŽŽ¡‘ãŒÃ7228Ž‘ûKÃÏ\chardef\SemiDirectionChar\count@@ŽŽ¡‘ãŒÃ7229Ž‘ûKÃÏ\setbox8=\hbox{\xydashfont\SemiDirectionChar\/}%ŽŽ¡‘ãŒÃ7230Ž‘ûKÃÏ\quotient@@\cosDirection{\sd@X\wd8}\xydashl@ŽŽ¡‘ãŒÃ7231Ž‘ûKÃÏ\setbox8=\hbox{\xydashfont\count@=\SemiDirectionChar\advance\count@-64ŽŽ¡‘ãŒÃ7232Ž‘ mÏ\ifnum\count@<\z@–¿ª\advance\count@128“\fi“\char\count@\/}%ŽŽ¡‘ãŒÃ7233Ž‘ûKÃÏ\quotient@@\sinDirection{\sd@Y\wd8}\xydashl@}ŽŽ¦‘ãŒÃ7235Ž‘õŒÏ\xydef@\getxyDirection@#1{\xy@@\bgroup\xy@@ix@{#1}%ŽŽ¡‘ãŒÃ7236Ž‘ûKÃÏ\xy@@{\expandafter\POS\the\toks9\relax\setupDirection@ŽŽŽŽŒ‹fT Á à ý*tj‘㌹102’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ7237Ž‘ mÏ\edef\next@{\egroup–¿ª\Direction=\the\Direction}\next@“\imposeDirection@“}}ŽŽ©Pˆ‘ôŒ¹Finally–g‹some“spMÞecial“cases“used“b²!y“the“Çh¹directionÇi¹s“and“directional“library“ob‘›»jects.‘ÈéAll“manipulateޤ ™š‘ãŒthe–”áDirection“depMÞendenš²!t“parameters“and“then“call“Ï\resetupDirection@Ž‘jÕ¹:‘UÏ\reverseDirectionŽ‘h¤F¹rev˜ersesŽ¡‘ãŒit;‘¶Ï\aboveŽ‘&‚²¹-–åFand“Ï\belowDirection@Ž‘cÅ,¹are“for“Ï^Ž‘ Š6¹and“Ï_Ž› ¤ð¹,‘ôþand“Ï\vDirection@(Ž‘N èÄxÏ,Ž‘¿ªÄyd“Ï){Ž‘ ãçÄLÏ}Ž˜¹is“for“Ï:(Ž‘dšÄxÏ,Ž‘¿ªÄyd“Ï)Ž‘$=¹,‘ôþÐi¹.Ðe¹.,Ž¡‘ãŒcomputes–¦fa“new“direction“as“the“v²!ectorޤ ,‘ éïÏ<Ž‘&©™ÄX‘JäÇ–nìÄx“Ç“¹cosŽ‘ëJÄ ›yLÇ“ÄL“Ç“Äy‘ÓÇ“¹(ÇŽ‘ Ww¹sinŽ‘œ^Ä `¹)“Ç“ÄLÏ,Ž‘¿ªÄY‘ÝÛÇ“Äx“Ç“¹sinŽ‘³ÓÄ ˜Ç“ÄL“Ç“Äy‘ÓÇ“¹cosŽ‘ëJÄ ˜Ç“ÄLÏ>ŽŽ¡‘㌹where–¦fÄ ‘°Æ¹is“the“previous“direction“angle.ަ‘ãŒÃ7253Ž‘õŒÏ\xydef@\reverseDirection@{%ŽŽ¤ ™š‘ãŒÃ7254Ž‘ûKÃÏ\d@X=-\d@X‘¿ª\d@Y=-\d@YŽŽ¡‘ãŒÃ7255Ž‘ûKÃÏ\ifdim\d@X<\z@–¿ª\def\sd@X{-}\else“\def\sd@X{+}\fiŽŽ¡‘ãŒÃ7256Ž‘ûKÃÏ\ifdim\d@Y<\z@–¿ª\def\sd@Y{-}\else“\def\sd@Y{+}\fiŽŽ¡‘ãŒÃ7257Ž‘ûKÃÏ\dimen@=4\K@–¿ª\ifnum\Direction<\z@“\advance\Direction\dimen@ŽŽ¡‘ãŒÃ7258Ž‘ mÏ\else–¿ª\advance\Direction-\dimen@“\fiŽŽ¡‘ãŒÃ7259Ž‘ûKÃÏ\count@=\DirectionChar–¿ª\ifnum\count@<64“\advance\count@64“%ŽŽ¡‘ãŒÃ7260Ž‘ mÏ\else–¿ª\advance\count@-64“\fi“\chardef\DirectionChar=\count@ŽŽ¡‘ãŒÃ7261Ž‘ûKÃÏ\edef\cosDirection{\if-\cosDirection\else-\cosDirection\fi}%ŽŽ¡‘ãŒÃ7262Ž‘ûKÃÏ\edef\sinDirection{\if-\sinDirection\else-\sinDirection\fi}%ŽŽ¡‘ãŒÃ7263Ž‘ûKÃÏ\resetupDirection@}ŽŽ¦‘ãŒÃ7265Ž‘õŒÏ\xydef@\aboveDirection@#1{%ŽŽ¡‘ãŒÃ7266Ž‘ûKÃÏ\dimen@=\d@X–¿ª\d@X=-\d@Y“\d@Y=\dimen@ŽŽ¡‘ãŒÃ7267Ž‘ûKÃÏ\dimen@=\K@dXdY–¿ª\K@dXdY=-\K@dYdX“\K@dYdX=-\dimen@ŽŽ¡‘ãŒÃ7268Ž‘ûKÃÏ\ifdim\d@X<\z@–¿ª\def\sd@X{-}\else“\def\sd@X{+}\fiŽŽ¡‘ãŒÃ7269Ž‘ûKÃÏ\ifdim\d@Y<\z@–¿ª\def\sd@Y{-}\else“\def\sd@Y{+}\fiŽŽ¡‘ãŒÃ7270Ž‘ûKÃÏ\dimen@=2\K@–¿ª\ifdim“1\Direction<\dimen@\else“\dimen@=-6\K@“\fiŽŽ¡‘ãŒÃ7271Ž‘ mÏ\advance\Direction\dimen@ŽŽ¡‘ãŒÃ7272Ž‘ûKÃÏ\count@=\DirectionChar–¿ª\ifnum\count@<96“\advance\count@32“%ŽŽ¡‘ãŒÃ7273Ž‘ mÏ\else–¿ª\advance\count@-96“\fi“\chardef\DirectionChar=\count@ŽŽ¡‘ãŒÃ7274Ž‘ûKÃÏ\count@=\SemiDirectionChar–¿ª\ifnum\count@<64“\advance\count@64“%ŽŽ¡‘ãŒÃ7275Ž‘ mÏ\else–¿ª\advance\count@-64“\fi“\chardef\SemiDirectionChar=\count@ŽŽ¡‘ãŒÃ7276Ž‘ûKÃÏ\let\tmp@=\cosDirectionŽŽ¡‘ãŒÃ7277Ž‘ûKÃÏ\edef\cosDirection{\if-\sinDirection\else-\sinDirection\fi}%ŽŽ¡‘ãŒÃ7278Ž‘ûKÃÏ\let\sinDirection=\tmp@ŽŽ¡‘ãŒÃ7279Ž‘ûKÃÏ\dimen@=#1\relax–¿ª\d@X=\cosDirection\dimen@“\d@Y=\sinDirection\dimen@ŽŽ¡‘ãŒÃ7280Ž‘ûKÃÏ\resetupDirection@}ŽŽ¦‘ãŒÃ7282Ž‘õŒÏ\xydef@\belowDirection@#1{%ŽŽ¡‘ãŒÃ7283Ž‘ûKÃÏ\dimen@=\d@X–¿ª\d@X=\d@Y“\d@Y=-\dimen@ŽŽ¡‘ãŒÃ7284Ž‘ûKÃÏ\dimen@=\K@dXdY–¿ª\K@dXdY=-\K@dYdX“\K@dYdX=-\dimen@ŽŽ¡‘ãŒÃ7285Ž‘ûKÃÏ\ifdim\d@X<\z@–¿ª\def\sd@X{-}\else“\def\sd@X{+}\fiŽŽ¡‘ãŒÃ7286Ž‘ûKÃÏ\ifdim\d@Y<\z@–¿ª\def\sd@Y{-}\else“\def\sd@Y{+}\fiŽŽ¡‘ãŒÃ7287Ž‘ûKÃÏ\dimen@=-2\K@\ifdim‘¿ª1\Direction<\dimen@\dimen@=6\K@\fiŽŽ¡‘ãŒÃ7288Ž‘ mÏ\advance\Direction\dimen@ŽŽ¡‘ãŒÃ7289Ž‘ûKÃÏ\count@=\DirectionChar–¿ª\ifnum\count@<32“\advance\count@96“%ŽŽ¡‘ãŒÃ7290Ž‘ mÏ\else–¿ª\advance\count@-32“\fi“\chardef\DirectionChar=\count@ŽŽ¡‘ãŒÃ7291Ž‘ûKÃÏ\count@=\SemiDirectionChar–¿ª\ifnum\count@<64“\advance\count@64“%ŽŽ¡‘ãŒÃ7292Ž‘ mÏ\else–¿ª\advance\count@-64“\fi“\chardef\SemiDirectionChar=\count@ŽŽ¡‘ãŒÃ7293Ž‘ûKÃÏ\let\tmp@=\sinDirectionŽŽ¡‘ãŒÃ7294Ž‘ûKÃÏ\edef\sinDirection{\if-\cosDirection\else-\cosDirection\fi}%ŽŽŽŽŒ‹g`z Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹103ŽŽ ¶?? ýh«w‘ãŒÃ7295Ž‘ûKÃÏ\let\cosDirection=\tmp@ŽŽ¤ ™š‘ãŒÃ7296Ž‘ûKÃÏ\dimen@=#1\relax–¿ª\d@X=\cosDirection\dimen@“\d@Y=\sinDirection\dimen@ŽŽ¡‘ãŒÃ7297Ž‘ûKÃÏ\resetupDirection@}ŽŽ©Pˆ‘ãŒÃ7299Ž‘õŒÏ\xydef@\vDirection@(#1,#2)#3{\dimen@ii=#3\relaxŽŽ¡‘ãŒÃ7300Ž‘ûKÃÏ\dimen@=#1\dimen@ii‘¿ª\dimen@ii=#2\dimen@iiŽŽ¡‘ãŒÃ7301Ž‘ûKÃÏ\d@X=\cosDirection\dimen@‘¿ª\advance\d@X-\sinDirection\dimen@iiŽŽ¡‘ãŒÃ7302Ž‘ûKÃÏ\d@Y=\sinDirection\dimen@–¿ª\advance\d@Y“\cosDirection\dimen@iiŽŽ¡‘ãŒÃ7303Ž‘ûKÃÏ\X@p=\X@c–¿ª\advance\X@p-\d@X“\Y@p=\Y@c“\advance\Y@p-\d@YŽŽ¡‘ãŒÃ7304Ž‘ûKÃÏ\setupDirection@\ignorespaces}ŽŽ¦‘ôŒ¹The›?abMÞo•²!v“e˜all˜mak“e˜use˜of˜the˜follo“wing;‘Ø«use˜them˜also˜when˜the˜direction˜state˜is˜kno“wn˜toŽ¡‘ãŒbšMÞe–Ë¡correct:‘ (RÏ\resetDirection@Ž‘jshould“b˜e“called“when“Äp“¹and/or“Äc“¹are“mo•²!v“ed–Ë¡along“the“line‘VøÄ~Ž“pcŽŽ‘ ¹,Ž¡‘ãŒÏ\resetupDirerectionŽ‘Tl¹when–¦fthe“enš²!tire“direction“state“is“c˜hanged“in“a“consisten˜t“manner.ަ‘ãŒÃ7314Ž‘õŒÏ\xydef@\resetDirection@{%ŽŽ¡‘ãŒÃ7315Ž‘ûKÃÏ\d@X=\X@c\advance\d@X-\X@p‘¿ª\d@Y=\Y@c\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ7316Ž‘ûKÃÏ\let\next@=\resetupDirection@ŽŽ¡‘ãŒÃ7317Ž‘ûKÃÏ\ifdim\sd@X\d@X<\z@–¿ª\let\next@=\setupDirection@i“\fiŽŽ¡‘ãŒÃ7318Ž‘ûKÃÏ\ifdim\sd@Y\d@Y<\z@–¿ª\let\next@=\setupDirection@i“\fiŽŽ¡‘ãŒÃ7319Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ7321Ž‘õŒÏ\xydef@\resetupDirection@{%ŽŽ¡‘ãŒÃ7322Ž‘ûKÃÏ\edef\Directiontest@@##1##2{\noexpand\DN@{##2}%ŽŽ¡‘ãŒÃ7323Ž‘ mÏ\noexpand\ifdim\noexpand\d@X=\the\d@X\relaxŽŽ¡‘ãŒÃ7324Ž‘ËÏ\noexpand\ifdim\noexpand\d@Y=\the\d@Y\relax‘¿ª\noexpand\DN@{##1}%ŽŽ¡‘ãŒÃ7325Ž‘ mÏ\noexpand\fi\noexpand\fi‘¿ª\noexpand\next@}}ŽŽ¦‘ãŒÃ7327Ž‘õŒÏ\xydef@\unsetupDirection@{\def\Directiontest@@##1##2{##2}}ŽŽ¦‘ôŒ¹Finally–¦fthe“initial“direction:‘ÝÝup!ަ‘ãŒÃ7333Ž‘õŒÏ\uDirection@\xydashl@ŽŽŸ!¯ø‘ãŒÞ1.8.2Ž‘ ÌEdgesŽŸ«ÿ‘㌹An–ÄWÐEdge‘–ø¹is“a“tokš²!en“list“describing“the“edge“of“an“ob‘›»ject.‘7±It“m˜ust“ha˜v˜e“the“form“Ï{Ž‘ „Çh¹expandable“tok˜enÇiŽ¡‘ãŒh¹unexpandable––[tokš²!ensÇiÏ}Ž‘¿ª¹.‘Ø„T‘ÿeo“ nd“the“edge“of“an“ob‘›»ject“then“ rst“mak˜e“it“the“curren˜t“ob‘›»ject“and“thenŽ¡‘ãŒdoŽ¡’¦¸¼Ï\the\Edge@cŽ’åõ Çh¹coMÞdeÇiŽŽŸüç‘㌹where–¦fÇh¹cošMÞdeÇi“¹determines“what“should“b˜e“done:ŽŸ¿‘óøé0ŽŽŽ‘þìÄc– Ö¹is“c²!hanged“to“bšMÞe“equal“to“the“p˜oinš²!t“on“the“edge“in˜tersecting“with“the“line“segmen˜t“from“Äp“¹(forŽ¡‘þìÏE–¦fÇh¹cornerÇi¹,“also“this“wš²!as“the“v2.6“bMÞeha˜viour).ŽŸº´‘þìÔNote:‘ÝݹThis–¦fshould“not“cš²!hange“an˜y“of“ÄA¹,“ÄB‘Œ¤¹,“or“an˜y“compMÞonen˜t“of“the“state“except“ÄXŸ¤zÅcŽ‘Ôß¹and“ÄYŸ¤zÅcŽ‘.y¹!Ž©ÛΑóøé1ŽŽŽ‘þìT‘ÿeest–8½whether“the“cen²!ter“of“Äp¹,–]SÐi¹.Ðe¹.,“Ï<Ž‘ ýÄXŸ¤zÅpŽ‘Ç]Ï,Ž– ‡ÄYŸ¤zÅpŽ‘Ç]Ï>Ž“¹,‘]Sis–8½`inside'“the“Äc“¹ob‘›»ject“(or“on“the“edge).‘”ãSets“theŽ¡‘þìtest‘¦fÏ\ifInside@Ž‘@Ép¹accordingly‘ÿe.ަ‘óøé2ŽŽŽ‘þìSet‘¦fÏ\dimen@Ž‘/Šr¹to–¦fthe“distance“from“the“cenš²!ter“to“the“edge“to˜w˜ards“Äp“¹(as“set“with“coMÞde“0).ŽŸº´‘þìÔNote:‘œÓ¹This–$Ris“only“pMÞositivš²!e“in“the“direction“to˜w˜ards“Äp“¹(th˜us“negativ˜e-sized“circles“and“rectanglesŽ¡‘þìmakš²!e–¦fit“negativ˜e).ަ‘óøé3ŽŽŽ‘þìÄc–Ô5¹is“c²!hanged“to“bšMÞe“equal“to“the“p˜oinš²!t“on“the“edge“furthest“in“the“direction“to˜w˜ards“Äp“¹(for“ÏPŽ¡‘þìÇh¹cornerÇi¹).ŽŽŽŒ‹ho Á à ý*tj‘㌹104’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘þìÔNote:‘ÝݹThis–¦fshould“not“cš²!hange“an˜y“of“ÄA¹,“ÄB‘Œ¤¹,“or“an˜y“compMÞonen˜t“of“the“state“except“ÄXŸ¤zÅcŽ‘Ôß¹and“ÄYŸ¤zÅcŽ‘.y¹!ޤª‘óøé4ŽŽŽ‘þìReplace–ÙÄc“¹with“rectangle“with“corners“where“the“line“from“Äp“¹inš²!tersects“with“the“edge“of“Äc“¹(th˜usŽ© ™š‘þìthis–¦fis“the“inner“rectangle“with“corners“as“the“curren²!t“direction“dictates).Ž¡‘óøé5ŽŽŽ‘þìReplace–¦fÄc“¹with“smallest“rectangle“that“encloses“the“curren²!t“ob‘›»ject“completely‘ÿe.ŽŸ«‘ãŒ(if–,this“reminds“the“reader“of“a“`dictionary'“as“used“bš²!y“ob‘›»ject-orien˜ted“programming“languages“thenަ‘ãŒthey–¦fprobably“share“this“author's“regret“that“T‘þ,³Ÿ[wEŽ‘B X“is“not“ob‘›»ject-orien²!ted“:-)ޤPˆ‘ãŒÃ7396Ž‘õŒÏ\message{edges,}ŽŽ¡‘ãŒÃ7398Ž‘õŒÏ\xynew@{if}\ifInside@ŽŽŸ!ݸ‘ãŒÔP•¦toin“ts:‘ ó5¹The–¦fsimplest“shapšMÞe“is“none“at“all“{“a“p˜oin²!t.Ž¡‘ãŒÃ7406Ž‘õŒÏ\xydef@\zeroEdge#1{%ŽŽ¦‘ãŒÃ7407Ž‘ûKÃÏ\ifcase#1\relax–¿ª\or“\Inside@false“\or“\dimen@=\z@ŽŽ¦‘ãŒÃ7408Ž‘ûKÃÏ\or–¿ª\else“\Edge@c={\rectangleEdge}\fi}ŽŽŸ!ݸ‘ãŒÔCircles–9and“Ellipses:‘ ó5¹Next–Š«wš²!e“de ne“round“things,‘üwith“sev˜eral“spMÞecial“cases“for“the“individualަ‘ãŒv‘ÿdDarian²!ts–`ódescribšMÞed“b˜elo•²!w:‘Røcen“tered›`ócircular,‘—cen“tered˜elliptical,‘—and˜general˜elliptical.‘ …The˜only˜`in-ަ‘ãŒtelligen•²!t'›ùwc“hoice˜is˜for˜the˜`Under'˜metho•MÞd˜where˜the˜ob‘›»ject˜is˜forced˜to˜b“e˜a˜cen•²!tered˜v‘ÿdDarian“t˜bMÞeforeަ‘ãŒapplying–¦feither“the“circular“or“elliptical“v²!ersion.Ž¡‘ãŒÃ7420Ž‘õŒÏ\xydef@\circleEdge#1{\ifcase#1\expandafter\circleEdge@ŽŽ¦‘ãŒÃ7421Ž‘ûKÃÏ\or–¿ª\expandafter\circleUnder@“\or“\dimen@=\R@cŽŽ¦‘ãŒÃ7422Ž‘ûKÃÏ\or–¿ª\expandafter\circleProp@“\or“\expandafter\circleInner@ŽŽ¦‘ãŒÃ7423Ž‘ûKÃÏ\else–¿ª\expandafter\circleOuter@“\fi}ŽŽ¡‘ãŒÃ7425Ž‘õŒÏ\xydef@\circleEdge@{\DN@{\ellipseEdge@}%ŽŽ¦‘ãŒÃ7426Ž‘ûKÃÏ\ifdim\R@c=\L@c\relax‘¿ª\ifdim\U@c=\D@c\relaxŽŽ¦‘ãŒÃ7427Ž‘ mÏ\ifdim\R@c=\U@c\DN@{\circlecentredEdge@}%ŽŽ¦‘ãŒÃ7428Ž‘ mÏ\else\DN@{\ellipsecentredEdge@}\fiŽŽ¦‘ãŒÃ7429Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ¡‘ãŒÃ7431Ž‘õŒÏ\xydef@\circleProp@{\DN@{\reverseDirection@\ellipseEdge@}%ŽŽ¦‘ãŒÃ7432Ž‘ûKÃÏ\ifdim\R@c=\L@c\relax‘¿ª\ifdim\U@c=\D@c\relaxŽŽ¦‘ãŒÃ7433Ž‘ mÏ\ifdim\R@c=\U@c\DN@{\reverseDirection@\circlecentredEdge@}%ŽŽ¦‘ãŒÃ7434Ž‘ mÏ\else\DN@{\reverseDirection@\ellipsecentredEdge@}\fiŽŽ¦‘ãŒÃ7435Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ¡‘ãŒÃ7437Ž‘õŒÏ\xydef@\circleUnder@{\Inside@falseŽŽ¦‘ãŒÃ7438Ž‘ûKÃÏ\ifdim\X@p=\X@c–¿ª\relax“\ifdim\Y@p=\Y@c“\Inside@true“\fi“\fiŽŽ¦‘ãŒÃ7439Ž‘ûKÃÏ\ifInside@–¿ª\else“\expandafter“\circleCentre@“\fi}ŽŽ¡‘ãŒÃ7441Ž‘õŒÏ\xydef@\circleCentre@{{%ŽŽ¦‘ãŒÃ7442Ž‘ûKÃÏ\ifdim\L@c=\R@c‘¿ª\relax\elseŽŽ¦‘ãŒÃ7443Ž‘ mÏ\dimen@=\R@c\advance\dimen@-\L@c‘¿ª\divide\dimen@\tw@ŽŽ¦‘ãŒÃ7444Ž‘ mÏ\advance\X@c\dimen@–¿ª\advance\R@c-\dimen@“\fiŽŽ¦‘ãŒÃ7445Ž‘ûKÃÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@X=\ifdim\d@X<\z@-\fi\d@XŽŽ¦‘ãŒÃ7446Ž‘ûKÃÏ\ifdim\U@c=\D@c\relax‘¿ª\elseŽŽ¦‘ãŒÃ7447Ž‘ mÏ\dimen@=\U@c\advance\dimen@-\D@c‘¿ª\divide\dimen@\tw@ŽŽ¦‘ãŒÃ7448Ž‘ mÏ\advance\Y@c\dimen@–¿ª\advance\U@c-\dimen@“\fiŽŽ¦‘ãŒÃ7449Ž‘ûKÃÏ\d@Y=\Y@c–¿ª\advance\d@Y-\Y@p“\d@Y=\ifdim\d@Y<\z@-\fi\d@YŽŽŽŽŒ‹i|U Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹105ŽŽ ¶?? ýh«w‘ãŒÃ7450Ž‘ûKÃÏ\DN@{}\ifdim\d@X>\R@c–¿ª\relax“\else“\ifdim\d@Y>\U@c“\relaxŽŽ¤ ™š‘ãŒÃ7451Ž‘ mÏ\else–¿ª\ifdim\U@c=\R@c“\DN@{\circlecentredUnder@}%ŽŽ¡‘ãŒÃ7452Ž‘ mÏ\else‘¿ª\DN@{\ellipsecentredUnder@}\fiŽŽ¡‘ãŒÃ7453Ž‘ûKÃÏ\fi\fi‘¿ª\next@}}ŽŽ©Pˆ‘ãŒÃ7455Ž‘õŒÏ\xydef@\circleInner@{\DN@{\ellipseInner@}%ŽŽ¡‘ãŒÃ7456Ž‘ûKÃÏ\ifdim\R@c=\L@c\relax‘¿ª\ifdim\U@c=\D@c\relaxŽŽ¡‘ãŒÃ7457Ž‘ mÏ\ifdim\R@c=\U@c\DN@{\circlecentredInner@}%ŽŽ¡‘ãŒÃ7458Ž‘ mÏ\else\DN@{\ellipsecentredInner@}\fiŽŽ¡‘ãŒÃ7459Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ7461Ž‘õŒÏ\xydef@\circleOuter@{\DN@{\ellipseOuter@}%ŽŽ¡‘ãŒÃ7462Ž‘ûKÃÏ\ifdim\R@c=\L@c\relax‘¿ª\ifdim\U@c=\D@c\relaxŽŽ¡‘ãŒÃ7463Ž‘ mÏ\ifdim\R@c=\U@c\DN@{\circlecentredOuter@}%ŽŽ¡‘ãŒÃ7464Ž‘ mÏ\else\DN@{\ellipsecentredOuter@}\fiŽŽ¡‘ãŒÃ7465Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽŸ"¸‘ôŒÔT‘þó\rue‘àGcircles,‘ð»cen¦ttered:‘ ó5¹CošMÞde–^Û0“mo•²!v“es‘^ÛÏ<Ž‘ …ÄXŸ¤zÅcŽ‘.yÏ,Ž‘ î#ÄYŸ¤zÅcŽ‘.yÏ>Ž‘ Lþ¹to–^Ûthe“p˜oin²!t“Ï<Ž‘ …ÄXŸ¤zÅcŽ–PÇ›ß×ÄRŸ¤zÅcŽ“Ç˜¹cosŽ‘\5Ä `Ï,Ž‘Ê ÄYŸ¤zÅcŽ“Ç˜ÄRŸ¤zÅcŽ“Ç˜¹sinŽ‘$¾Ä `Ï>ŽŽ¡‘㌹where–¤ÏÄ ‘¯/¹is“the“currenš²!t“direction“angle,‘äicoMÞde“1“tests“whether“the“Äp“¹cen˜ter“is“lošMÞcated“b˜et•²!w“een‘¤ÏthoseŽ¡‘ãŒt•²!w“o‘Ì1pšMÞoin“ts.,‘Õ£co˜de–Ì12“just“returns“the“radius,‘Õ£co˜de“3“is“as“co˜de“0“and“co˜de“4“is“the“only“non²!trivial“one,Ž¡‘ãŒreplacing–¦fwith“the“inner“symmetric“rectangle“with“corner“at“the“pšMÞoin²!t“of“co˜de“0.ަ‘ãŒÃ7477Ž‘õŒÏ\xydef@\circlecentredEdge@{%ŽŽ¡‘ãŒÃ7478Ž‘ûKÃÏ\dimen@=-\cosDirection\R@c‘¿ª\advance\X@c\dimen@ŽŽ¡‘ãŒÃ7479Ž‘ûKÃÏ\dimen@=-\sinDirection\R@c‘¿ª\advance\Y@c\dimen@}ŽŽ¦‘ãŒÃ7481Ž‘õŒÏ\xydef@\circlecentredUnder@{%ŽŽ¡‘ãŒÃ7482Ž‘ûKÃÏ\loop\ifdim\R@c>100\p@–¿ª\circlescale@“\repeatŽŽ¡‘ãŒÃ7483Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\R@c}\dimen@=\tmp@\R@cŽŽ¡‘ãŒÃ7484Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\d@X}\advance\dimen@-\tmp@\d@XŽŽ¡‘ãŒÃ7485Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\d@Y}\advance\dimen@-\tmp@\d@YŽŽ¡‘ãŒÃ7486Ž‘ûKÃÏ\ifdim\dimen@>\z@–¿ª\aftergroup\Inside@true“\fi}ŽŽ¦‘ãŒÃ7488Ž‘õŒÏ%%\xydef@\circlescale@{\divide\R@c\KK@–¿ª\divide\d@X\KK@“\divide\d@Y\KK@“}ŽŽ¡‘ãŒÃ7489Ž‘õŒÏ\xydef@\circlescale@{\divide\R@c\KK@–¿ª\divide\d@X\KK@“\divide\d@Y\KK@“}ŽŽ¦‘ãŒÃ7491Ž‘õŒÏ\xydef@\circlecentredInner@{%ŽŽ¡‘ãŒÃ7492Ž‘ûKÃÏ\L@c=\sd@X\cosDirection\R@c‘¿ª\D@c=\sd@Y\sinDirection\R@cŽŽ¡‘ãŒÃ7493Ž‘ûKÃÏ\R@c=\L@c–¿ª\U@c=\D@c“\Edge@c={\rectangleEdge}}ŽŽ¦‘ãŒÃ7495Ž‘õŒÏ\xydef@\circlecentredOuter@{%ŽŽ¡‘ãŒÃ7496Ž‘ûKÃÏ\L@c=\R@c–¿ª\D@c=\R@c“\U@c=\D@c“\Edge@c={\rectangleEdge}}ŽŽŸ"¸‘ôŒÔEllipsis,‘è1cen¦ttered:‘ ó5¹When–U’Äc“¹is“at“the“cenš²!tre“of“an“elliptical“ob‘›»ject,‘e½ rst“rescale“the“axes“to“mak˜eŽ¡‘ãŒthe–Nùob››»ject“circular.‘×—Rescale“ÄdX‘*ñ¹and“Äd˜Y‘½è¹appropriately‘ÿe,‘yreset“the“direction“and“mo•²!v“e–Nùto“the“edge“asŽ¡‘ãŒpreviously‘ÿe.‘ÝÝThen–¦fscale“bac²!k“to“the“original“shapMÞe,“adjusting“ÄXŸ¤zÅcŽ›Ôß¹and“ÄYŸ¤zÅcŽ˜¹appropriately‘ÿe.ަ‘ãŒÃ7506Ž‘õŒÏ\xydef@\ellipsecentredEdge@{\bgroup–¿ª\X@p=\X@c“\Y@p=\Y@cŽŽ¡‘ãŒÃ7507Ž‘ûKÃÏ\ifdim\U@c>\R@cŽŽ¡‘ãŒÃ7508Ž‘ mÏ\X@c=\cosDirection\U@c‘¿ª\Y@c=\sinDirection\U@cŽŽ¡‘ãŒÃ7509Ž‘ mÏ\quotient@\tmp@\U@c\R@c–¿ª\X@c=\tmp@\X@c“\R@c=\U@cŽŽ¡‘ãŒÃ7510Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ7511Ž‘ mÏ\X@c=\cosDirection\R@c‘¿ª\Y@c=\sinDirection\R@cŽŽ¡‘ãŒÃ7512Ž‘ mÏ\quotient@\tmp@\R@c\U@c‘¿ª\Y@c=\tmp@\Y@cŽŽŽŽŒ‹j‰b Á à ý*tj‘㌹106’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ7513Ž‘ûKÃÏ\fiŽŽ¤ ™š‘ãŒÃ7514Ž‘ûKÃÏ\advance\X@c\X@p‘¿ª\advance\Y@c\Y@pŽŽ¡‘ãŒÃ7515Ž‘ûKÃÏ\setupDirection@–¿ª\X@c=\X@p“\Y@c=\Y@p“\circlecentredEdge@ŽŽ¡‘ãŒÃ7516Ž‘ûKÃÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@Y=\Y@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ7517Ž‘ûKÃÏ\ifdim\U@c>\L@c–¿ª\quotient@\tmp@\L@c\U@c“\d@X=\tmp@\d@XŽŽ¡‘ãŒÃ7518Ž‘ûKÃÏ\else–¿ª\quotient@\tmp@\U@c\R@c“\d@Y“=\tmp@\d@Y“\fiŽŽ¡‘ãŒÃ7519Ž‘ûKÃÏ\X@c=\X@p–¿ª\advance\X@c\d@X“\Y@c=\Y@p“\advance\Y@c\d@YŽŽ¡‘ãŒÃ7520Ž‘ûKÃÏ\edef\next@{\egroup–¿ª\X@c=\the\X@c“\Y@c=\the\Y@c}\next@“}%ŽŽ©Pˆ‘ãŒÃ7522Ž‘õŒÏ\xydef@\ellipsecentredUnder@{%ŽŽ¡‘ãŒÃ7523Ž‘ûKÃÏ\ifdim\R@c>64\p@–¿ª\circlescale@“\divide\U@c\KK@ŽŽ¡‘ãŒÃ7524Ž‘ûKÃÏ\else–¿ª\ifdim\U@c>64\p@“\circlescale@“\divide\U@c\KK@“\fi\fiŽŽ¡‘ãŒÃ7525Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\R@c}\d@Y=\tmp@\d@YŽŽ¡‘ãŒÃ7526Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\U@c}\d@X=\tmp@\d@XŽŽ¡‘ãŒÃ7527Ž‘ûKÃÏ\R@c=\tmp@\R@c–¿ª\circlecentredUnder@“}ŽŽ¤Ñ‘ôŒ¹F‘ÿeor–¦felliptical“ob‘›»jects“the“Outer-rectangle“retains“all“the“extenš²!ts,“so“just“c˜hange“the“edge-t˜ypMÞe.ަ‘ãŒÃ7534Ž‘õŒÏ\xydef@\ellipsecentredOuter@{\Edge@c={\rectangleEdge}}ŽŽ¡‘ôŒ¹F‘ÿeor–WÞelliptical“ob‘›»jects“the“Inner-rectangle“needs“to“bMÞe“calculated“for“eacš²!h“direction.‘ðThis“is“done“b˜yޤ ™š‘㌠rst–¦f nding“the“edge,“using“Ï\ellipseEdge@Ž‘Rn¹or“Ï\ellipsecentredEdge@Ž‘zF¹when“appropriate.ަ‘ãŒÃ7543Ž‘õŒÏ\xydef@\ellipsecentredInner@{%ŽŽ¡‘ãŒÃ7544Ž‘ûKÃÏ\bgroup–¿ª\X@p=\X@c“\Y@p=\Y@c“\ellipsecentredEdge@ŽŽ¡‘ãŒÃ7545Ž‘õŒÏ%–¿ª\advance\X@c-\X@p“\L@c=\ifdim\X@c<\z@-\fi\L@cŽŽ¡‘ãŒÃ7546Ž‘ mÏ\advance\X@c-\X@p‘¿ª\L@c=\ifdim\X@c<\z@-\fi\X@cŽŽ¡‘ãŒÃ7547Ž‘õŒÏ%–¿ª\advance\Y@c-\Y@p“\D@c=\ifdim\Y@c<\z@-\fi\D@cŽŽ¡‘ãŒÃ7548Ž‘ mÏ\advance\Y@c-\Y@p‘¿ª\D@c=\ifdim\Y@c<\z@-\fi\Y@cŽŽ¡‘ãŒÃ7549Ž‘ûKÃÏ\edef\next@{\egroup–¿ª\L@c=\the\L@c“\D@c=\the\D@c}\next@ŽŽ¡‘ãŒÃ7550Ž‘ûKÃÏ\R@c=\L@c–¿ª\U@c=\D@c“\Edge@c={\rectangleEdge}}ŽŽŸ&â‘ôŒÔNon-cen•¦ttered‘/v‘ÿLèarian“ts:‘ ó5¹The–ÄÌcoMÞde“for“the“more“general“Ï\ellipseEdge@Ž‘PE:¹uses“a“Newton“iterationŽ¡‘ãŒto–¦fsolv²!e“a“quadratic“equation.Ž©`ã‘ôŒFirst–|*loMÞcate“the“actual“cen²!tre“of“the“ellipse“and“the“lengths“of“the“ma‘›»jor“axis“Äa“¹and“minor“axisŽ¡‘ãŒÄb¹.‘=Let–¸†(Äx;‘Ó1yd“¹)“denote“the“displacemenš²!t“of“the“required“edge“pMÞoin˜t“from“the“cen˜tre“of“the“ellipse,‘ý soŽŸR ‘ãŒthatŸû°K‘-ÕÅxŸý-:Ã2ŽŽ‘-՟ƉfeóŽŸ‹^"ŒÅaŸý¸äÃ2ŽŽŽŽŽ‘û©¹+Ÿûc‘ÚFÅyI{Ÿý-:Ã2ŽŽ‘ÚFŸ[‰fe§´Ÿ‹^mÅbŸý¸äÃ2ŽŽŽŽŽ‘L7¹=‘— 1.‘ÚNoš²!w–ú¢let“(Ädx;‘Ó1dyd“¹)“bMÞe“the“displacemen˜t“from“the“cen˜tre“to“the“reference“pMÞoin˜t;‘$¿thenŽ¡‘ãŒÄx–:d¹=“Ädx–‚¹+“Äs‘Ó1¹cosŽ‘OÄ›é¹and‘à Äy‘ž÷¹=‘:dÄdy‘æ—¹+“Äs‘Ó1¹sinŽ‘Ä˜¹where–à Äs“¹is“the“distance“to“(Äx;‘Ó1yd“¹)“in“the“required“direction“ÄMÞ¹.‘3ÌW‘ÿeeŽ¡‘ãŒm²!ust–¦f nd“the“v‘ÿdDalue“of“Äs¹,“presumed“to“satisfy“Äs– §Ç“¹0.ަ‘ôŒIf›¦fÄa– §<“b˜¹w•²!e˜searc“h˜for˜a˜roMÞot˜ofŽŸ€G‘DF…Äf‘íŸñ©’«ŽŸø—ž‘ ätÄsŽ‘ ”ŸÞȉfeɾŸ taŽŽŽŽ‘…Ÿñ©’«ŽŽŽŽ’‹ž¹=‘ õŸô©”«ŽŸýD‘V¹~ŽŸ㼑ÙÄdxŽŽ‘|ç¹+Ÿû°K‘ìéÅsŽ‘¢ŸÆ‰feƒÏŸPAaŽŽŽŽ‘ ,R¹cosŽ‘¨°ÄMÞŸô©”«ŽŽ‘M‘Ÿ÷mÚÂ2Ž‘TC¹+‘nìŸô©”«ŽŸýD‘ eþ¹~ŽŸ㼑gÐÄdyŽŽ‘L±¹+Ÿû°K‘ìéÅsŽ‘¢ŸÆ‰feƒÏŸPAaŽŽŽŽŸû°K‘ ŒTaŽ‘ ŒTŸÆ‰feƒÏŸPApzbŽŽŽŽ‘‡¹sinŽ‘![nÄMÞŸô©”«ŽŽ‘K—Ÿ÷mÚÂ2ŽŽŽŽŸ‘AxLÄf‘-¼Ÿûz•È0Ž‘Ï&Ÿñ©’«ŽŸø—ž‘²­ÄsŽ‘^ÍŸÞȉfeɾŸ taŽŽŽŽ‘[¾Ÿñ©’«ŽŽŽŽ‘mŒæ¹=‘ õ2‘Ó1Ÿô©”«ŽŸýD‘ Ù¹~ŽŸ㼑ÌÄdxŽŽ‘0#¹+Ÿû°K‘ìéÅsŽ‘¢ŸÆ‰feƒÏŸPAaŽŽŽŽ‘ ,R¹cosŽ‘¨°ÄMÞŸô©”«ŽŽ‘Gšþ¹cosŽ‘X\Ä‘¼Ê¹+‘nì2‘Ó1Ÿô©”«ŽŸýD‘ ÊC¹~ŽŸ㼑ÌÄdyŽŽ‘°ö¹+Ÿû°K‘ìéÅsŽ‘¢ŸÆ‰feƒÏŸPAaŽŽŽŽŸû°K‘ ŒTaŽ‘ ŒTŸÆ‰feƒÏŸPApzbŽŽŽŽ‘‡¹sinŽ‘![nÄMÞŸô©”«ŽŽŸû°K‘NÂÅaŽ‘NŸÆ‰feƒÏŸPApzbŽŽŽŽ‘U‹õ¹sinŽ‘dÐÜÄŽŽŽŸ!Ì÷‘㌹whereŸýD‘©K~ŽŸ㼑k‡ÄdxŽŽ‘³Û¹=›S2Ädx=a–k‡¹andŸýD‘iµ~ŽŸ㼓ÄdyŽŽ‘4®¹=˜Ädyd“=b¹.‘-ABy“c²!hoMÞosing“a“starting“v‘ÿdDalue“ÄsŸ¤zÂ0Ž‘ 6¹=˜2Äa–òW¹+“2Äb–k‡¹the“Newton-iterationŽ¡‘ãŒcon•²!v“erges–¦frapidly“to“the“correct“roMÞot,“pro²!vided“Äb– §>“¹0.‘ÝÝIf›¦fÄa“>“b˜¹then˜w•²!e˜solv“e˜a˜similar˜quadratic˜inŸû°K‘Ù™ÅsŽ‘Ù™ŸÆ‰feî<ŸPA%°bŽŽŽŽ‘ û¹.ŽŸ(,‘ôŒÔT‘þó\o‘—Do:‘m¹The–þ.case“of“Äa–œó¹=“0–þ.or“Äb–œó¹=“0,› so–þ.that“the“ellipse“degenerates“to“a“line“segmen²!t,˜should“bMÞeŽ¡‘ãŒtrappMÞed–¦fearlier.‘ÝÝSucš²!h“an“ob‘›»ject“w˜ould“bMÞe“more“easily“handled“as“a“degenerate“case“of“a“rectangle.ަ‘ôŒÔT‘þó\o‘ª+Do:‘­æ¹In–kthe“case“when“the“reference“pMÞoin²!t“lies“outside“the“ellipse“the“Newton“iteration“is“notŽ¡‘ãŒguaranš²!teed–“êto“con˜v˜erge.‘×´A‘“åsimple“test“|“Äs“¹gro˜wing“rather“than“decreasing“in“size“|“detects“pMÞossibleŽŽŽŒ‹k—9 Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹107ŽŽ ¶?? ýh«w‘ãŒcon•²!v“erge–¦fproblems“and“exits“the“iteration.‘ÝÝThe“follo²!wing“message“is“issued“.–Ó3.“.ޤNÄ‘vŠÖÏXy-pic–¿ªwarning:“poor“convergence.ŽŽ¡‘㌹Often,›Ìcparticularly–^dwhen“the“reference“pMÞoin²!t“is“on“or“near“the“edge“of“the“ellipse,˜an“acceptableޤ ™š‘ãŒapproš²!ximation–¦fto“the“edge“has“bMÞeen“found“an˜yw˜a˜y‘ÿe.ŽŸPˆ‘ãŒÃ7603Ž‘õŒÏ\xydef@\ellipseEdge@{\bgroupŽŽ¡‘ãŒÃ7604Ž‘ûKÃÏ\A@=\R@c‘¿ª\B@=\U@cŽŽ¡‘ãŒÃ7605Ž‘ûKÃÏ\ifdim\R@c=\L@c‘¿ª\d@X=\z@ŽŽ¡‘ãŒÃ7606Ž‘ûKÃÏ\else–¿ª\d@X=.5\R@c“\advance\d@X-.5\L@cŽŽ¡‘ãŒÃ7607Ž‘ mÏ\advance\A@\L@c–¿ª\divide\A@\tw@“\fiŽŽ¡‘ãŒÃ7608Ž‘ûKÃÏ\ifdim\U@c=\D@c‘¿ª\d@Y=\z@ŽŽ¡‘ãŒÃ7609Ž‘ûKÃÏ\else–¿ª\d@Y=.5\U@c“\advance\d@Y-.5\D@cŽŽ¡‘ãŒÃ7610Ž‘ mÏ\advance\B@\D@c–¿ª\divide\B@\tw@“\fiŽŽ¡‘ãŒÃ7611Ž‘ûKÃÏ\bgroupŽŽ¡‘ãŒÃ7612Ž‘ mÏ\L@c=\A@‘¿ª\U@c=\B@ŽŽ¡‘ãŒÃ7613Ž‘ mÏ\R@p=\U@c–¿ª\advance\R@p\L@c“\multiply\R@p\tw@ŽŽ¡‘ãŒÃ7614Ž‘ mÏ\ifdim\B@<\A@Ž‘WFc\quotient@\tmp@\U@c\L@c–¿ª\R@c=\tmp@\p@“\D@c=\p@ŽŽ¡‘ãŒÃ7615Ž‘ ŠÁÏ\quotient@\tmp@\R@p\L@c‘¿ª\R@p=\tmp@\p@ŽŽ¡‘ãŒÃ7616Ž‘ mÏ\elseŽŽ¡‘ãŒÃ7617Ž‘ËÏ\ifdim\A@<\B@–¿ª\quotient@\tmp@\L@c\U@c“\D@c=\tmp@\p@“\R@c=\p@ŽŽ¡‘ãŒÃ7618Ž‘ ŠÁÏ\quotient@\tmp@\R@p\U@c‘¿ª\R@p=\tmp@\p@ŽŽ¡‘ãŒÃ7619Ž‘ mÏ\elseŽŽ¡‘ãŒÃ7620Ž‘ËÏ\R@c=\p@–¿ª\D@c=\p@“\quotient@\tmp@\R@p\U@c“\R@p=\tmp@\p@ŽŽ¡‘ãŒÃ7621Ž‘ mÏ\fi\fiŽŽ¡‘ãŒÃ7622Ž‘ mÏ\quotient@\sd@X\d@X\L@c‘¿ª\d@X=\sd@X\p@ŽŽ¡‘ãŒÃ7623Ž‘ mÏ\quotient@\sd@Y\d@Y\U@c‘¿ª\d@Y=\sd@Y\p@ŽŽ¡‘ãŒÃ7624Ž‘ûKÃÏ\loopŽŽ¡‘ãŒÃ7625Ž‘ mÏ\bgroup–¿ª\U@p=-\p@“\D@p=\z@ŽŽ¡‘ãŒÃ7626Ž‘ËÏ\ifdim\R@c<\p@ŽŽ¡‘ãŒÃ7627Ž‘ ŠÁÏ\edef\tmp@{\expandafter\removePT@\the\R@c}\dimen@=\tmp@\R@pŽŽ¡‘ãŒÃ7628Ž‘ ŠÁÏ\advance\d@X\cosDirection\dimen@ŽŽ¡‘ãŒÃ7629Ž‘ËÏ\else–¿ª\advance\d@X\cosDirection\R@p“\fiŽŽ¡‘ãŒÃ7630Ž‘ËÏ\edef\sd@X{\expandafter\removePT@\the\d@X}%ŽŽ¡‘ãŒÃ7631Ž‘ËÏ\advance\U@p\sd@X\d@XŽŽ¡‘ãŒÃ7632Ž‘ËÏ\ifdim\R@c<\p@ŽŽ¡‘ãŒÃ7633Ž‘ ŠÁÏ\edef\tmp@{\expandafter\removePT@\the\R@c}\dimen@=\tmp@\d@XŽŽ¡‘ãŒÃ7634Ž‘ ŠÁÏ\advance\D@p\cosDirection\dimen@ŽŽ¡‘ãŒÃ7635Ž‘ËÏ\else–¿ª\advance\D@p\cosDirection\d@X“\fiŽŽ¡‘ãŒÃ7636Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7637Ž‘ËÏ\ifdim\D@c<\p@ŽŽ¡‘ãŒÃ7638Ž‘ ŠÁÏ\edef\tmp@{\expandafter\removePT@\the\D@c}\dimen@=\tmp@\R@pŽŽ¡‘ãŒÃ7639Ž‘ ŠÁÏ\advance\d@Y\sinDirection\dimen@ŽŽ¡‘ãŒÃ7640Ž‘ËÏ\else–¿ª\advance\d@Y\sinDirection\R@p“\fiŽŽ¡‘ãŒÃ7641Ž‘ËÏ\edef\sd@Y{\expandafter\removePT@\the\d@Y}%ŽŽ¡‘ãŒÃ7642Ž‘ËÏ\advance\U@p\sd@Y\d@YŽŽ¡‘ãŒÃ7643Ž‘ËÏ\ifdim\D@c<\p@ŽŽ¡‘ãŒÃ7644Ž‘ ŠÁÏ\edef\tmp@{\expandafter\removePT@\the\D@c}\dimen@=\tmp@\d@YŽŽ¡‘ãŒÃ7645Ž‘ ŠÁÏ\advance\D@p\sinDirection\dimen@ŽŽ¡‘ãŒÃ7646Ž‘ËÏ\else–¿ª\advance\D@p\sinDirection\d@Y“\fiŽŽŽŽŒ‹lªM Á à ý*tj‘㌹108’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ7647Ž‘ËÏ\multiply\D@p\tw@ŽŽ¤ ™š‘ãŒÃ7648Ž‘ËÏ\dimen@=\ifdim\U@p<\z@-\fi\U@pŽŽ¡‘ãŒÃ7649Ž‘ ŠÁÏ\ifdim\dimen@<.01\p@‘¿ª\U@p=\z@ŽŽ¡‘ãŒÃ7650Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ7651Ž‘JkÏ\quotient@\tmp@\U@p\D@p‘¿ª\U@p=\tmp@\p@ŽŽ¡‘ãŒÃ7652Ž‘JkÏ\ifdim\U@p<\z@\xywarning@{poor‘¿ªconvergence}\U@p=\z@ŽŽ¡‘ãŒÃ7653Ž‘JkÏ\else–¿ª\advance\R@p-\U@p“\U@p=\ifdim\U@p<\z@-\fi\U@pŽŽ¡‘ãŒÃ7654Ž‘ ŠÁÏ\fi‘¿ª\fiŽŽ¡‘ãŒÃ7655Ž‘ ŠÁÏ\edef\next@{\egroup–¿ª\R@p=\the\R@p“\U@p=\the\U@p“\D@p=\the\D@p}\next@ŽŽ¡‘ãŒÃ7656Ž‘ËÏ\ifdim\U@p>\z@‘¿ª\repeatŽŽ¡‘ãŒÃ7657Ž‘ mÏ\edef\next@{\egroup‘¿ª\dimen@=\the\R@p}\next@ŽŽ¡‘ãŒÃ7658Ž‘ mÏ\edef\tmp@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ7659Ž‘ mÏ\ifdim\B@<\A@–¿ª\dimen@=\tmp@\B@“\else“\dimen@=\tmp@\A@“\fiŽŽ¡‘ãŒÃ7660Ž‘ mÏ\dimen@=-\dimen@ŽŽ¡‘ãŒÃ7661Ž‘ mÏ\advance\X@c\cosDirection\dimen@ŽŽ¡‘ãŒÃ7662Ž‘ mÏ\advance\Y@c\sinDirection\dimen@ŽŽ¡‘ãŒÃ7663Ž‘ûKÃÏ\edef\next@{\egroup–¿ª\X@c=\the\X@c“\Y@c=\the\Y@c}\next@“}%ŽŽ©¨Ó‘ôŒ¹The–¦f`Under'“proMÞcedure“is“idenš²!tical“to“the“cen˜tered“v˜ersion.ޤPˆ‘ãŒÃ7669Ž‘õŒÏ\xydef@\ellipseOuter@{\Edge@c={\rectangleEdge}}ŽŽ¡‘ãŒÃ7671Ž‘õŒÏ\xydef@\ellipseInner@{%ŽŽ¤ ™š‘ãŒÃ7672Ž‘ûKÃÏ\bgroup–¿ª\X@p=\X@c“\Y@p=\Y@c“\ellipseEdge@ŽŽ¡‘ãŒÃ7673Ž‘ûKÃÏ\d@X=\X@c\advance\d@X-\X@pŽŽ¡‘ãŒÃ7674Ž‘ûKÃÏ\ifdim\d@X>\z@–¿ª\R@p=\d@X“\L@p=\R@pŽŽ¡‘ãŒÃ7675Ž‘ mÏ\ifdim\L@c=\R@c\else\advance\L@p\L@c–¿ª\advance\L@p-\R@c“\fiŽŽ¡‘ãŒÃ7676Ž‘ûKÃÏ\else–¿ª\L@p=-\d@X“\R@p=\L@pŽŽ¡‘ãŒÃ7677Ž‘ mÏ\ifdim\L@c=\R@c–¿ª\else\advance\R@p\R@c“\advance\R@p-\L@c“\fiŽŽ¡‘ãŒÃ7678Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ7679Ž‘ûKÃÏ\d@Y=\Y@c\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ7680Ž‘ûKÃÏ\ifdim\d@Y>\z@–¿ª\U@p=\d@Y“\D@p=\U@pŽŽ¡‘ãŒÃ7681Ž‘ mÏ\ifdim\D@c=\U@c\else\advance\D@p\D@c–¿ª\advance\D@p-\U@c“\fiŽŽ¡‘ãŒÃ7682Ž‘õŒÏ%\else–¿ª\D@p=-\d@X“\R@p=\D@pŽŽ¡‘ãŒÃ7683Ž‘ûKÃÏ\else–¿ª\D@p=-\d@Y“\U@p=\D@p‘x¸ò%“<<<<<<========ŽŽ¡‘ãŒÃ7684Ž‘ mÏ\ifdim\D@c=\U@c\else\advance\U@p\U@c–¿ª\advance\U@p-\D@c“\fiŽŽ¡‘ãŒÃ7685Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ7686Ž‘ûKÃÏ\edef\next@{\egroupŽŽ¡‘ãŒÃ7687Ž‘ mÏ\L@c=\the\L@p–¿ª\D@c=\the\D@p“\R@c=\the\R@p“\U@c=\the\U@p}%ŽŽ¡‘ãŒÃ7688Ž‘ûKÃÏ\next@‘¿ª\Edge@c={\rectangleEdge}}ŽŽŸ#›œ‘ãŒÔRectangles:ŽŸ ñå‘ôŒ¹Rectangles–MÉinš²!tersection“is“sligh˜tly“more“complicated“and“handled“separately“for“the“horizon˜tal“andŽ¡‘ãŒv²!ertical‘¦fcase.ŽŸPˆ‘ãŒÃ7697Ž‘õŒÏ\xydef@\rectangleEdge#1{\ifcase#1\expandafter\rectangleEdge@ŽŽ¡‘ãŒÃ7698Ž‘ûKÃÏ\or–¿ª\expandafter\rectangleUnder@“\or“\expandafter\rectangleDist@ŽŽ¡‘ãŒÃ7699Ž‘ûKÃÏ\or–¿ª\expandafter\rectangleProp@“%%%\or“\expandafter\rectangleInner@“BUG!ŽŽ¡‘ãŒÃ7700Ž‘ûKÃÏ\else–¿ª\relax“\fi}ŽŽ¦‘ôŒÔBug:‘Ýݹno–¦f`Inner'“for“rectangles!ŽŸPˆ‘ãŒÃ7706Ž‘õŒÏ%‘¿ª\rectangleEdge@ŽŽŽŽŒ‹mµR Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹109ŽŽ ¶?? ýh«w‘ãŒÃ7707Ž‘õŒÏ%Ž‘#‰iSets–¿ª“to“the“intersection“of“a“line“from““to“ŽŽ¤ ™š‘ãŒÃ7708Ž‘õŒÏ%Ž‘#‰iand–¿ªthe“rectangle“from““to“:ŽŽ¡‘ãŒÃ7709Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7710Ž‘õŒÏ%Ž‘#‰i%1aŽ‘Q†¹dY<0,‘¿ªdX<0:Ž’­YX–¿ª:=“X“+“min{R,“U*|dX/dY|},ŽŽ¡‘ãŒÃ7711Ž‘õŒÏ%Ž’­YY–¿ª:=“Y“+“min{U,“R*|dY/dX|};ŽŽ¡‘ãŒÃ7712Ž‘õŒÏ%Ž‘/½bŽ‘Q†¹dY<0,‘¿ªdX=0:Ž’­YY–¿ª:=“Y“+“U;ŽŽ¡‘ãŒÃ7713Ž‘õŒÏ%Ž‘/½cŽ‘Q†¹dY<0,‘¿ªdX>0:Ž’­YX–¿ª:=“X“-“min{L,“U*|dX/dY|},ŽŽ¡‘ãŒÃ7714Ž‘õŒÏ%Ž’­YY–¿ª:=“Y“+“min{U,“L*|dY/dX|};ŽŽ¡‘ãŒÃ7715Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7716Ž‘õŒÏ%Ž‘#‰i%2aŽ‘Q†¹dY=0,‘¿ªdX<0:Ž’­YX–¿ª:=“X“+“R;ŽŽ¡‘ãŒÃ7717Ž‘õŒÏ%Ž‘/½bŽ‘Q†¹dY=0,‘¿ªdX=0:Ž’­Y;ŽŽ¡‘ãŒÃ7718Ž‘õŒÏ%Ž‘/½cŽ‘Q†¹dY=0,‘¿ªdX>0:Ž’­YX–¿ª:=“X“-“L;ŽŽ¡‘ãŒÃ7719Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7720Ž‘õŒÏ%Ž‘#‰i%3aŽ‘Q†¹dY>0,‘¿ªdX<0:Ž’­YX–¿ª:=“X“+“min{R,“D*|dX/dY|},ŽŽ¡‘ãŒÃ7721Ž‘õŒÏ%Ž’­YY–¿ª:=“Y“-“min{D,“R*|dY/dX|};ŽŽ¡‘ãŒÃ7722Ž‘õŒÏ%Ž‘/½bŽ‘Q†¹dY>0,‘¿ªdX=0:Ž’­YY–¿ª:=“Y“-“D;ŽŽ¡‘ãŒÃ7723Ž‘õŒÏ%Ž‘/½cŽ‘Q†¹dY>0,‘¿ªdX>0:Ž’­YX–¿ª:=“X“-“min{L,“D*|dX/dY|},ŽŽ¡‘ãŒÃ7724Ž‘õŒÏ%Ž’­YY–¿ª:=“Y“-“min{D,“L*|dY/dX|};ŽŽ¡‘ãŒÃ7725Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7726Ž‘õŒÏ%Ž‘#‰i%4–¿ª\resetupDirection@“to“register“that“even“though“dX,dY“changed“allŽŽ¡‘ãŒÃ7727Ž‘õŒÏ%Ž‘4ÈgDirection–¿ªparameters“are“is“still“valid!ŽŽ¡‘ãŒÃ7728Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7729Ž‘õŒÏ%Ž‘#‰iNOTE:–¿ªd=0“really“means“|d|“<“.05pt.ŽŽ¡‘ãŒÃ7730Ž‘õŒÏ%ŽŽ¡‘ãŒÃ7731Ž‘õŒÏ\xydef@\rectangleEdge@{%ŽŽ¡‘ãŒÃ7732Ž‘ûKÃÏ\ifdim\d@Y<-.05\p@‘¿ª\rectangleEdge@iŽ’™3“%1ŽŽ¡‘ãŒÃ7733Ž‘ûKÃÏ\else\ifdim\d@Y<.05\p@‘¿ª\rectangleEdge@iiŽ’™3“%2ŽŽ¡‘ãŒÃ7734Ž‘ûKÃÏ\else‘¿ª\rectangleEdge@iii\fi\fiŽŽ¡‘ãŒÃ7735Ž‘ûKÃÏ\resetupDirection@}ŽŽ©Pˆ‘ãŒÃ7737Ž‘õŒÏ\xydef@\rectangleEdge@i{%ŽŽ¡‘ãŒÃ7738Ž‘ûKÃÏ\ifdim\d@X<-.05\p@ŽŽ¡‘ãŒÃ7739Ž‘ mÏ\settomin@\X@c+\R@c\U@c\d@X\d@Y‘¿ª\settomin@\Y@c+\U@c\R@c\d@Y\d@X%1aŽŽ¡‘ãŒÃ7740Ž‘ûKÃÏ\else\ifdim\d@X<.05\p@‘¿ª\advance\Y@c\U@cŽ’™3“%1bŽŽ¡‘ãŒÃ7741Ž‘ûKÃÏ\else–¿ª\settomin@\X@c-\L@c\U@c\d@X\d@Y“\settomin@\Y@c+\U@c\L@c\d@Y\d@XŽ’™3“%1cŽŽ¡‘ãŒÃ7742Ž‘ûKÃÏ\fi\fi}ŽŽ¦‘ãŒÃ7744Ž‘õŒÏ\xydef@\rectangleEdge@ii{%ŽŽ¡‘ãŒÃ7745Ž‘ûKÃÏ\ifdim\d@X<-.05\p@‘¿ª\advance\X@c\R@cŽ’™3“%2aŽŽ¡‘ãŒÃ7746Ž‘ûKÃÏ\else\ifdim\d@X<.05\p@Ž’™3“%2bŽŽ¡‘ãŒÃ7747Ž‘ûKÃÏ\else‘¿ª\advance\X@c-\L@cŽ’™3“%2cŽŽ¡‘ãŒÃ7748Ž‘ûKÃÏ\fi\fi}ŽŽ¦‘ãŒÃ7750Ž‘õŒÏ\xydef@\rectangleEdge@iii{%ŽŽ¡‘ãŒÃ7751Ž‘ûKÃÏ\ifdim\d@X<-.05\p@ŽŽ¡‘ãŒÃ7752Ž‘ mÏ\settomin@\X@c+\R@c\D@c\d@X\d@Y‘¿ª\settomin@\Y@c-\D@c\R@c\d@Y\d@X%3aŽŽ¡‘ãŒÃ7753Ž‘ûKÃÏ\else\ifdim\d@X<.05\p@‘¿ª\advance\Y@c-\D@cŽ’™3“%3bŽŽ¡‘ãŒÃ7754Ž‘ûKÃÏ\else–¿ª\settomin@\X@c-\L@c\D@c\d@X\d@Y“\settomin@\Y@c-\D@c\L@c\d@Y\d@XŽ’™3“%3cŽŽ¡‘ãŒÃ7755Ž‘ûKÃÏ\fi\fi}ŽŽ¦‘ãŒÃ7757Ž‘õŒÏ\xydef@\settomin@#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ7758Ž‘ûKÃÏ%–¿ªPerform“d“:=“#2“min{#3,“#4*|#5/#6|};“#1“:=“#1+d“...ŽŽŽŽŒ‹nÀŠ Á à ý*tj‘㌹110’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ7759Ž‘ûKÃÏ\edef\nextii@{\A@=\the\A@‘¿ª\B@=\the\B@}\quotient@\next@{#5}{#6}\nextii@ŽŽ¤ ™š‘ãŒÃ7760Ž‘ûKÃÏ\dimen@=\sd@X\sd@Y\next@#4\relaxŽŽ¡‘ãŒÃ7761Ž‘ûKÃÏ\ifdim#3<\dimen@–¿ª\dimen@=#3\fi“\advance#1#2\dimen@}ŽŽ©µ–‘ôŒ¹Chec²!king–± that“Äp“¹is“under“is“simpler:‘óRNormally“it“is“not“but“if“Äc–ˆ¹=“Äp–± ¹or“(ÇÄLŸ¤zÅcŽ–KÄ<›ˆXŸ¤zÅpŽ‘=pÇ‘vÄXŸ¤zÅcŽ“Ä<˜RŸ¤zÅcޑߙ¹andŽ¡‘ãŒÇÄDŸ¤zÅcŽ–9 Ä<› §YŸ¤zÅpŽ‘6IÇ‘nìÄYŸ¤zÅcŽ“Ä<˜UŸ¤zÅcŽ‘.y¹)–¦fthen“it“is.ŽŸPˆ‘ãŒÃ7769Ž‘õŒÏ\xydef@\rectangleUnder@{\Inside@falseŽŽ¡‘ãŒÃ7770Ž‘ûKÃÏ\ifdim\X@p=\X@c–¿ª\ifdim\Y@p=\Y@c“\Inside@true“\fi\fiŽŽ¡‘ãŒÃ7771Ž‘ûKÃÏ\ifInside@‘¿ª\elseŽŽ¡‘ãŒÃ7772Ž‘ mÏ\dimen@=\X@p‘¿ª\advance\dimen@-\X@cŽŽ¡‘ãŒÃ7773Ž‘ mÏ\ifdim–¿ª\dimen@>-\L@c“\relax“\ifdim\dimen@<\R@cŽŽ¡‘ãŒÃ7774Ž‘ËÏ\dimen@=\Y@p‘¿ª\advance\dimen@-\Y@cŽŽ¡‘ãŒÃ7775Ž‘ËÏ\ifdim–¿ª\dimen@>-\D@c“\relax“\ifdim\dimen@<\U@cŽŽ¡‘ãŒÃ7776Ž‘ ŠÁÏ\Inside@trueŽŽ¡‘ãŒÃ7777Ž‘ûKÃÏ\fi\fi\fi\fi\fi‘¿ª}ŽŽ¦‘ôŒ¹Calculating–)the“width“is“likš²!e“computing“the“edge“pMÞoin˜t,‘65just“simpler:‘—¿(Ãl.7787Ž‘ã|¹)“Set“ÄA“¹to“the“horizon˜talŽ¡‘ãŒand–ÐÄB‘t¹to“the“v²!ertical“distance“applicable;‘8if“either“is“zero“(or“close)“use“the“other“unmoMÞdi ed“.‘¦«(Ãl.7796Ž‘ã|¹)“IfŽ¡‘ãŒbMÞoth–¦fnonzero“use“minŽ‘æh(ÄA=‘Ó1¹cosŽ‘OÄ š `;–Ó1B‘Œ¤=“¹sinŽ‘Ä ˜¹)–¦fwhere“Ä ‘°Æ¹is“the“curren²!t“angle.Ž©Pˆ‘ãŒÃ7787Ž‘õŒÏ\xydef@\rectangleDist@{\let\next@=\rectangleDist@iŽŽ¡‘ãŒÃ7788Ž‘ûKÃÏ\ifdim\d@X<-.05\p@‘¿ª\dimen@=\R@cŽŽ¡‘ãŒÃ7789Ž‘ûKÃÏ\else\ifdim\d@X<.05\p@–¿ª\dimen@=\z@“\DN@{\dimen@=\dimen@ii}%ŽŽ¡‘ãŒÃ7790Ž‘ûKÃÏ\else–¿ª\dimen@=\L@c“\fi\fiŽŽ¡‘ãŒÃ7791Ž‘ûKÃÏ\ifdim\d@Y<-.05\p@‘¿ª\dimen@ii=\U@cŽŽ¡‘ãŒÃ7792Ž‘ûKÃÏ\else\ifdim\d@Y<.05\p@‘¿ª\DN@{}%ŽŽ¡‘ãŒÃ7793Ž‘ûKÃÏ\else–¿ª\dimen@ii=\D@c“\fi\fiŽŽ¡‘ãŒÃ7794Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ7796Ž‘õŒÏ\xydef@\rectangleDist@i{ŽŽ¡‘ãŒÃ7797Ž‘ûKÃÏ\begingroup‘¿ª\quotient@\next\p@{\sd@X\cosDirection\p@}%ŽŽ¡‘ãŒÃ7798Ž‘ mÏ\edef\next{\endgroup‘¿ª\dimen@=\next\dimen@}\nextŽŽ¡‘ãŒÃ7799Ž‘ûKÃÏ\begingroup‘¿ª\quotient@\next\p@{\sd@Y\sinDirection\p@}%ŽŽ¡‘ãŒÃ7800Ž‘ mÏ\edef\next{\endgroup‘¿ª\dimen@ii=\the\dimen@ii}\nextŽŽ¡‘ãŒÃ7801Ž‘ûKÃÏ\ifdim\dimen@ii<\dimen@–¿ª\dimen@=\dimen@ii“\fi}ŽŽŸµ–‘ôŒ¹Setting–¦fÄc“¹to“the“`propšMÞortional“edge“p˜oinš²!t'“is“straigh˜t“out“of“v2.6's“Ï\setlabel@@Ž‘F‰¹macro.–Ó3.“.ަ‘ãŒÃ7808Ž‘õŒÏ%–¿ªFirst“rotate“to“opposite“direction.ŽŽ¦‘ãŒÃ7810Ž‘õŒÏ%–¿ªThen“compute“Leftf,Upf“[\next@,\nextii@]:ŽŽ¡‘ãŒÃ7811Ž‘õŒÏ%Ž‘Q†¹0,(D-2K)/2KŽ’­Yfor‘ T2K–¿ª<“D“<=“4KŽ’7yI[right]ŽŽ¡‘ãŒÃ7812Ž‘õŒÏ%Ž‘#‰i(2K-D)/2K,0Ž’­Yfor‘>þ0–¿ª<“D“<=“2KŽ’7yI[down]ŽŽ¡‘ãŒÃ7813Ž‘õŒÏ%Ž‘Q†¹1,-D/2KŽ’­Yfor–¿ª-2K“<“D“<=“0Ž’7yI[left]ŽŽ¡‘ãŒÃ7814Ž‘õŒÏ%Ž‘#‰i(D+4K)/2K,1Ž’­Yfor–¿ª-4K“<“D“<=“-2KŽ’7yI[up]ŽŽ¦‘ãŒÃ7816Ž‘õŒÏ%–¿ªFinally“set““toŽŽ¡‘ãŒÃ7817Ž‘õŒÏ%Ž‘#‰i<–¿ªX“-“L“+“Leftf*(R+L)“,“Y“+“U“-“Upf*(D+U)“>ŽŽ¦‘ãŒÃ7819Ž‘õŒÏ\xydef@\rectangleProp@{%ŽŽ¡‘ãŒÃ7820Ž‘ûKÃÏ\enter@{\A@=\the\A@–¿ª\B@=\the\B@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ7821Ž‘ûKÃÏ\reverseDirection@ŽŽ¡‘ãŒÃ7822Ž‘ûKÃÏ\dimen@=1\Direction–¿ª\count@=\K@“\multiply\count@\tw@ŽŽ¡‘ãŒÃ7823Ž‘ûKÃÏ\ifnum‘¿ª\Direction>\count@ŽŽ¡‘ãŒÃ7824Ž‘ mÏ\DN@{0}%ŽŽŽŽŒ‹oÌB Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹111ŽŽ ¶?? ýh«w‘ãŒÃ7825Ž‘ mÏ\advance\dimen@-2\K@‘¿ª\quotient@\nextii@{\dimen@}{2\K@}%ŽŽ¤ ™š‘ãŒÃ7826Ž‘ûKÃÏ\else\ifnum‘¿ª\Direction>\z@ŽŽ¡‘ãŒÃ7827Ž‘ mÏ\dimen@=-\dimen@–¿ª\advance\dimen@2\K@“\quotient@\next@{\dimen@}{2\K@}%ŽŽ¡‘ãŒÃ7828Ž‘ mÏ\DNii@{0}%ŽŽ¡‘ãŒÃ7829Ž‘ûKÃÏ\else\ifnum‘¿ª\Direction>-\count@ŽŽ¡‘ãŒÃ7830Ž‘ mÏ\DN@{1}%ŽŽ¡‘ãŒÃ7831Ž‘ mÏ\quotient@\nextii@{-\dimen@}{2\K@}%ŽŽ¡‘ãŒÃ7832Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ7833Ž‘ mÏ\advance\dimen@4\K@‘¿ª\quotient@\next@{\dimen@}{2\K@}%ŽŽ¡‘ãŒÃ7834Ž‘ mÏ\DNii@{1}%ŽŽ¡‘ãŒÃ7835Ž‘ûKÃÏ\fi\fi\fiŽŽ¡‘ãŒÃ7836Ž‘ûKÃÏ\advance\X@c-\L@c–¿ª\dimen@=\L@c“\advance\dimen@\R@cŽŽ¡‘ãŒÃ7837Ž‘ mÏ\ifdim\dimen@=\z@–¿ª\advance\X@c“2\L@c“\else“\advance\X@c\next@\dimen@“\fiŽŽ¡‘ãŒÃ7838Ž‘ûKÃÏ\advance\Y@c+\U@c–¿ª\dimen@=\D@c“\advance\dimen@\U@cŽŽ¡‘ãŒÃ7839Ž‘ mÏ\ifdim\dimen@=\z@–¿ª\advance\Y@c-2\U@c“\advance\Y@c\Upness@\U@cŽŽ¡‘ãŒÃ7840Ž‘ mÏ\else–¿ª\advance\Y@c-\nextii@\dimen@“\fiŽŽ¡‘ãŒÃ7841Ž‘ûKÃÏ\leave@}ŽŽŸ"éí‘ãŒÞ1.8.3Ž‘ ÌConnectionsŽŸ‡÷‘ãŒÃ7851Ž‘õŒÏ\message{connections;}ŽŽŸwБ㌹Connections–¤describMÞe“hoš²!w“a“particular“Çh¹ob‘›»jectÇi“¹ma˜y“bMÞe“used“to“connect“Äp“¹to“Äc¹.‘ÝThe“follo˜wing“param-Ž¡‘ãŒeters–¦fand“methoMÞds“are“de ned“bš²!y“an˜y“connection;“they“should“bMÞe“used“in“the“indicated“sequence:ޤ6º‘ãŒÏ\Invisible@@Ž‘(ˆÔ,‘2Ï\Hidden@@Ž‘7ï‡Ô,–2and“Ï\Drop@@Ž‘,p3Ô:ŽŽ’µ/:¹as–¦ffor“Çh¹ob‘›»jectÇi¹.Ž¡‘ãŒÏ\Creset@@Ž‘IÔ:ŽŽ‘ B#¹(Re)set–mithe“connection“parameters“to“alloš²!w“use“of“the“follo˜wing“to“mo˜v˜e“to“a“pMÞoin˜t“onޤ ™š‘þìthe–|ïconnection“(this“is“what“the“in²!terpretation“of“Çh¹pšMÞosÇi“Ï?Ž‘ ¹ˆ¹do˜es“ rst).‘Ð All“e ects“obtained“b²!y“theŽ¡‘þìfolloš²!wing–û¹methoMÞds“are“undone:‘ˆƒÏ\Creset@@Ž‘=A6¹reestablishes“the“state“to“what“it“w˜as“just“after“theŽ¡‘þìÏ\Connect@@Ž‘<'¹ev²!ery‘¦ftime.Ž©6º‘ãŒÏ\Cshavep@@Ž‘!;JÔor‘2Ï\Cshavec@@Ž‘=¯1Ô:ŽŽ‘s^þ¹Change–V÷Äp“¹or“Äc“¹to“a“zero-sized“ob‘›»ject“at“the“start“or“ nish“of“the“connec-Ž¡‘þìtion–¦f(the“ rst“Ï<Ž› v¹and“Ï>Ž˜Çh¹placeÇi“¹compMÞonen²!ts).ަ‘ãŒÏ\Calong@@{Ž‘½Çh¹factorÇiÏ}Ž‘¿ªÔ:ŽŽ‘Oûg¹Mo•²!v“e–nqÄc“¹to“pMÞoin²!t“the“Çh¹factorÇi“¹along“the“connection“and“set“the“direction“param-Ž¡‘þìeters–¦fas“a“tangenš²!t“to“it“in“this“pMÞoin˜t“(the“Ï(Ž– fÇh¹factorÇiÏ)Ž“Çh¹placeÇi‘¦f¹compMÞonen˜t).ަ‘ãŒÏ\Cslidep@@{Ž‘"ÈgÇh¹dimenÇiÏ}Ž‘ ò7Ôor‘2Ï\Cslidec@@{Ž‘CnÛÇh¹dimenÇiÏ}Ž‘¿ªÔ:ŽŽ’ÕÌž¹Mo•²!v“e–äÄp“¹or“Äc“¹the“Çh¹dimenÇi¹sion“further“in“the“curren²!tŽ¡‘þìdirection.‘‰½Can–ß±bšMÞe“used“b˜oth“b˜efore“and“after“the“Ï\Calong@@Ž‘;|\¹metho˜d“(these“handle“subsequen²!tŽ¡‘þìÏ<Ž‘R-¹and‘¦fÏ>Ž‘ v¹as–¦fwš²!ell“as“the“Ï/Ž– fÇh¹slideÇiÏ/Ž“Çh¹placeÇi‘¦f¹compMÞonen˜t).ަ‘ãŒÏ\Cintercept@@Ž‘.G»Ô:ŽŽ‘7@˹Set–¼Äc“¹to“a“zerosized“ob‘›»ject“at“the“pMÞoinš²!t“where“the“connection“crosses“the“straigh˜t“lineŽ¡‘þìfrom–¦fÄp“¹to“Äc“¹(the“Ï!{Ž‘%º¹.–Ó3.“.“Ï}Ž‘ 9CÇh¹placeÇi‘¦f¹compMÞonen²!t).ަ‘ãŒÏ\Cbreak@@Ž‘{ Ôand‘2Ï\Clast@@Ž‘2/ÝÔ:ŽŽ‘jÁs¹These–AdsuppšMÞort“t²!yp˜esetting“of“the“connection“in“sevš²!eral“`subsegmen˜ts'“asŽ¡‘þìused–è"bš²!y“the“arro˜w“option.‘£The“idea“is“the“follo˜wing,‘ø‘using“the“in˜ternal“Ðlastbr–ÿp¹e“ak‘ݹand‘è"Ðnextbr“e“akŽ¡‘þì¹pMÞositions:ަ‘ J1.ŽŽŽ‘)Ï\Connect@@Ž‘T&3¹sets‘¦fÐlastbr–ÿp¹e“akŽŽ‘0•î¹:=› §Äp–¦f¹and“Ðnextbr–ÿp¹e“akŽŽ‘3üy¹:=˜ÄcŽŸè*‘ J¹2.ŽŽŽ‘)The–>]commands“Ï\Cslidec@@Ž‘=»¹,‘d[Ï\Cslidep@@Ž‘=àÿ¹,›d[and“Ï\Cintercept@@Ž‘Nùÿ¹,˜set“Ðnextbr–ÿp¹e“ak‘l¹logically‘>]toŽ¡‘)the–¦fpMÞosition“that“is“obtained“b²!y“the“manipulation.ŽŽŽŒ‹pÙŽ Á à ý*tj‘㌹112’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ J¹3.ŽŽŽ‘)Ï\Cbreak@@Ž‘Nqu¹retš²!ypMÞesets–±Rthe“connection“except“only“the“piece“from“Ðlastbr–ÿp¹e“ak‘ß ¹to–±Rthe“curren˜t“Äcޤ ™š‘)¹ob‘›»ject,›iwhic²!h–B"Ðmust‘L ¹bMÞe“at“on“top“of“Ðnextbr–ÿp¹e“ak‘-»¹,˜is›B"t•²!ypMÞeset.‘±Afterw“ords˜it˜sets˜Ðlastbr–ÿp¹e“akŽŽ‘257¹:=Ž¡‘)Ðnextbr–ÿp¹e“akŽŽ‘Gôû¹and‘¦fÐnextbr–ÿp¹e“akŽŽ‘3üy¹:=‘ §Äc–¦f¹(where“Äc“¹is“the“original“Äc“¹of“the“connection).ŽŸ‘ J4.ŽŽŽ‘)The–tCcommand“Ï\Clast@@Ž‘4åÖ¹t²!ypMÞesets“from“Ðlastbr–ÿp¹e“ak‘¡þ¹and–tCthe“remainder“of“the“connection,‘~JandŽ¡‘)resets‘¦fÐlastbr–ÿp¹e“akŽŽ‘0•î¹:=› §Äp–¦f¹and“Ðnextbr–ÿp¹e“akŽŽ‘3üy¹:=˜Äc¹.ŽŸ¡‡‘ãŒNotice–that“it“is“not“necessary“for“Ðnextbr–ÿp¹e“ak‘2ιto–actually“exist,‘¾in“fact“in“the“k²!ernel“it“is“just“an“aliasŽ¡‘ãŒfor–¦fÄc“¹at“the“time“Ï\Cbreak@@Ž‘; ƹis“called.ŽŸ ›•‘ôŒThese–,"are“the“defaults“for“basic‘ÌX‘ü·ŸâÃYŽŽ‘“,-pictures“that“only“has“straigh²!t“connections“hence“the“macrosŽ¡‘ãŒall–yOstarting“with“Ï\noŽ‘¸M¹.–Ó3.“.“are–yOrather“simple“{“in“particular“they“just“merge“with“zerosized“ob‘›»jects“at“theŽ¡‘ãŒlošMÞcations–¦fcuto “lo˜cations“(this“wš²!as“inherited“from“the“brok˜en“ÏarrowŽ‘$ ¹coMÞde“Ç Ž‘5ÂŽ‘ó3Å^ŽŽŽ‘¡¹).Ž©Pˆ‘ãŒÃ7925Ž‘õŒÏ\xydef@\Creset@@{}ŽŽ¡‘ãŒÃ7926Ž‘õŒÏ\xydef@\Cshavep@@{\noCshavep@@}ŽŽ¡‘ãŒÃ7927Ž‘õŒÏ\xydef@\Cshavec@@{\noCshavec@@}ŽŽ¡‘ãŒÃ7928Ž‘õŒÏ\xydef@\Cslidep@@{\noCslidep@@}ŽŽ¡‘ãŒÃ7929Ž‘õŒÏ\xydef@\Cslidec@@{\noCslidec@@}ŽŽ¡‘ãŒÃ7930Ž‘õŒÏ\xydef@\Calong@@{\noCalong@@}ŽŽ¡‘ãŒÃ7931Ž‘õŒÏ\xydef@\Cintercept@@{\noCintercept@@}ŽŽ¡‘ãŒÃ7932Ž‘õŒÏ\xydef@\Cbreak@@{\noCbreak@@}ŽŽ¡‘ãŒÃ7933Ž‘õŒÏ\xydef@\Clast@@{\noClast@@}ŽŽ¦‘ãŒÃ7935Ž‘õŒÏ\xylet@\lastbreak@@=\emptyŽŽ¦‘ãŒÃ7937Ž‘õŒÏ\xydef@\noCshavep@@{\setupDirection@ŽŽ¡‘ãŒÃ7938Ž‘ûKÃÏ\enter@{\cfromthec@‘¿ª\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ7939Ž‘ûKÃÏ\reverseDirection@–¿ª\cfromp@“\the\Edge@c\z@ŽŽ¡‘ãŒÃ7940Ž‘ûKÃÏ\pfromc@–¿ª\leave@“\resetDirection@}ŽŽ¦‘ãŒÃ7942Ž‘õŒÏ\xydef@\noCshavec@@{\setupDirection@–¿ª\the\Edge@c\z@“\resetDirection@}ŽŽ¦‘ãŒÃ7944Ž‘õŒÏ\xydef@\noCslidep@@#1{\dimen@=#1\relaxŽŽ¡‘ãŒÃ7945Ž‘ûKÃÏ\advance\X@p\cosDirection\dimen@‘¿ª\advance\Y@p\sinDirection\dimen@ŽŽ¡‘ãŒÃ7946Ž‘ûKÃÏ\resetDirection@}ŽŽ¦‘ãŒÃ7948Ž‘õŒÏ\xydef@\noCslidec@@#1{\dimen@=#1\relaxŽŽ¡‘ãŒÃ7949Ž‘ûKÃÏ\advance\X@c\cosDirection\dimen@‘¿ª\advance\Y@c\sinDirection\dimen@ŽŽ¡‘ãŒÃ7950Ž‘ûKÃÏ\resetDirection@}ŽŽ¦‘ãŒÃ7952Ž‘õŒÏ\xydef@\noCalong@@#1{%ŽŽ¡‘ãŒÃ7953Ž‘ûKÃÏ\d@X=#1\d@X–¿ª\d@Y=#1\d@Y“\X@c=\X@p“\Y@c=\Y@p“\advance\X@c\d@X“\advance\Y@c\d@YŽŽ¡‘ãŒÃ7954Ž‘ûKÃÏ\resetupDirection@}ŽŽŸRƒ‘ôŒ¹Next–¦fthe“in²!tercept“methoMÞd“that“just“uses“Ï\intersect@Ž‘Bâ´¹.ަ‘ãŒÃ7960Ž‘õŒÏ\xydef@\noCintercept@@{\enter@{\pfromthep@}%ŽŽ¡‘ãŒÃ7961Ž‘ûKÃÏ\begingroup\Creset@@‘¿ª\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ7962Ž‘ mÏ\X@origin=\the\X@p–¿ª\Y@origin=\the\Y@p“\R@c=\the\d@X“\U@c=\the\d@Y}\tmp@ŽŽ¡‘ãŒÃ7963Ž‘ûKÃÏ\loop@\dimen@=\ifdim\R@c<\z@-\fi\R@c‘¿ª\advance\dimen@\ifdim\U@c<\z@-\fi\U@cŽŽ¡‘ãŒÃ7964Ž‘ mÏ\ifdim\dimen@>10\p@–¿ª\advance\R@c“\ifdim\R@c<\z@-\fi“16sp“\divide\R@c\KK@ŽŽ¡‘ãŒÃ7965Ž‘ËÏ\advance\U@c–¿ª\ifdim\U@c<\z@-\fi“16sp“\divide\U@c\KK@“\repeat@ŽŽ¡‘ãŒÃ7966Ž‘ûKÃÏ\intersect@‘¿ª\leave@}ŽŽŸRƒ‘ôŒ¹And–a nally“the“dummš²!y“`break'“methoMÞd“whic˜h“of“course“doMÞes“nothing“except“the“required“shifting.ަ‘ãŒÃ7973Ž‘õŒÏ\xydef@\noCbreak@@{\edef\lastbreak@@{\cfromthec@}}ŽŽ¡‘ãŒÃ7974Ž‘õŒÏ\xydef@\noClast@@{\Creset@@‘¿ª\edef\lastbreak@@{\cfromthep@}}ŽŽŽŽŒ‹qçù Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹113ŽŽ ¶?? ýh«w‘ôŒThe–-Dkš²!ernel“only“de nes“one“kind“of“connection“whic˜h“is“used“b˜y“default:‘ë™` lling'“man˜y“copies“ofޤ ™š‘ãŒthe–¦fconnect“ob‘›»ject“on“the“straigh²!t“line“from“Äp“¹to“Äc¹.ŽŸ©‘ôŒFirst–¶¥the“`dummš²!y'“connection“t˜ypšMÞe“ÏnoŽ‘ìž¹used“for“Çh¹ob‘›»jectÇi¹s“where“it“do˜esn't“really“mak²!e“sense“toŽ¡‘ãŒ`connect',–¦fand“used“to“pro²!vide“defaults“for“easy“opMÞerations:Ž©Pˆ‘ãŒÃ7986Ž‘õŒÏ\xydef@\no@@{\setupDirection@‘¿ª\edef\lastbreak@@{\cfromthep@}%ŽŽ¡‘ãŒÃ7987Ž‘ûKÃÏ\enter@{\cfromthec@\pfromthep@\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ7988Ž‘ mÏ\edef\Creset@@{\cfromthec@–¿ª\pfromthep@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ7989Ž‘ mÏ\edef\next@{{\sd@X}{\sd@Y}}\expandafter\straightcheckoverlap@\next@ŽŽ¡‘ãŒÃ7990Ž‘ mÏ\setupDirection@‘¿ª\the\Edge@c\z@ŽŽ¡‘ãŒÃ7991Ž‘ mÏ\swap@\reverseDirection@\the\Edge@c\z@\swap@\reverseDirection@ŽŽ¡‘ãŒÃ7992Ž‘ mÏ\resetDirection@ŽŽ¡‘ãŒÃ7993Ž‘ mÏ\edef\Cshavep@@{\DirectionfromtheDirection@ŽŽ¡‘ãŒÃ7994Ž‘ËÏ\pfromthep@\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ7995Ž‘ mÏ\edef\Cshavec@@{\DirectionfromtheDirection@ŽŽ¡‘ãŒÃ7996Ž‘ËÏ\cfromthec@\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ7997Ž‘ûKÃÏ\leave@ŽŽ¡‘ãŒÃ7998Ž‘ûKÃÏ\def\Cslidep@@{\noCslidep@@}\def\Cslidec@@{\noCslidec@@}%ŽŽ¡‘ãŒÃ7999Ž‘ûKÃÏ\def\Calong@@{\noCalong@@}\def\Cintercept@@{\noCintercept@@}%ŽŽ¡‘ãŒÃ8000Ž‘ûKÃÏ\def\Cbreak@@{\noCbreak@@}\def\Clast@@{\noClast@@}\noinsert@}ŽŽ¦‘ãŒÃ8002Ž‘õŒÏ\xydef@\noinsert@{\ifHidden@\elseŽŽ¡‘ãŒÃ8003Ž‘ mÏ\ifdim\Y@c>\Y@max–¿ª\Y@max=\Y@c“\fi‘ T\ifdim\Y@p>\Y@max“\Y@max=\Y@p“\fiŽŽ¡‘ãŒÃ8004Ž‘ mÏ\ifdim\Y@c<\Y@min–¿ª\Y@min=\Y@c“\fi‘ T\ifdim\Y@p<\Y@min“\Y@min=\Y@p“\fiŽŽ¡‘ãŒÃ8005Ž‘ mÏ\ifdim\X@c>\X@max–¿ª\X@max=\X@c“\fi‘ T\ifdim\X@p>\X@max“\X@max=\X@p“\fiŽŽ¡‘ãŒÃ8006Ž‘ mÏ\ifdim\X@c<\X@min–¿ª\X@min=\X@c“\fi‘ T\ifdim\X@p<\X@min“\X@min=\X@p“\fiŽŽ¡‘ãŒÃ8007Ž‘ûKÃÏ\fi}ŽŽŸË—‘ôŒ¹Next–¨v`straighš²!t'“connections“that“use“the“follo˜wing“spMÞecial“parameters“to“customises“ho˜w“to“repMÞeatŽ¡‘ãŒa–¦f` ller'“ob‘›»ject“as“manš²!y“times“as“needed“to“dra˜w“the“connection:ŽŸ…Ø‘ãŒÏ\lastobjectbox@Ž‘9ÇÔ:ŽŽ‘BÀ¹bšMÞo²!x–ð.to“ ll“with;‘,ìassumed“to“b˜e“`trimmed'“to“ha•²!v“e–ð.only“the“size“needed“for“the“ ller;Ž¡‘þìsize–¦fis“Äw‘ºZÇ–nì¹(Äh“¹+“Äd¹)).ŽŸ…בãŒThe–methošMÞd“is“called“as“Ï\straight@{Ž‘B[VÇh¹spreadÇiÏ}Ž‘Þ²¹where“Çh¹spreadÇi“¹is“a“macro“to“expand“Ðafter‘Lùthe“n•²!um“b˜erŽ¡‘ãŒof–?” llers“ÄN‘q3¹(in“Ï\count@@Ž‘1<ä¹)“is“kno²!wn“and“with“ÄA– §¹=“Äw‘‹¹and›?”ÄB‘—K¹=“Äd–¡I¹+“Äh˜¹but˜Ðb–ÿp¹efor“e‘5¹an•²!y˜ lling˜is˜done.‘»—Ma“yŽ¡‘ãŒcš²!hange–¦fÄN‘عas“w˜ell“as“ÐdXŽŽ‘åÄ;‘Ó1ÐdYŽŽ‘®úÄ;–Ó1X@<;“Y‘›»;“wKn;“d;“h–¦f¹in“order“to“a ect“the“ lling.ŽŸ«[‘ôŒÔProY‹cedure:‘ ó5¹[Ãl.8046Ž‘ã|¹]–÷Msetup“direction“parameters,› †clear“the“break“state,˜and“de ne“the“Ï\Creset@@ŽŽ¡‘㌹macro–N»to“reestablish“this“initial“state;‘kô[Ãl.8049Ž‘ã|¹]“build“macro“to“disco•²!v“er–N»if“the“edges“of“the“ob‘›»jects“o•²!v“erlapŽ¡‘ãŒ(it–ÆËedges“wš²!ere“remo˜v˜ed);‘Öþ[ä??Ž‘ßH¹]“mo˜v˜e“bMÞoth“Äp;‘Ó1c“¹to“the“edges“of“the“ob‘›»jects.–Ó3.“.“and–ÆËde ne“the“Ï\Cshave*@@ŽŽ¡‘㌹macros–aŸaccordingly;‘?<[Ãl.8058Ž‘ã|¹]“cš²!hoMÞose“either“to“ignore“the“connection“if“requested“or“there“is“o˜v˜erlapŽ¡‘ãŒbšMÞet•²!w“een–Qthe“ob‘›»jects“of“c²!ho˜ose“either“vb˜oš²!x“or“h˜bMÞo˜x“v˜ersion“(see“bMÞelo˜w).–Ó3.“.“;‘mŒand–Q[Ãl.8063Ž‘ã|¹]“build“Ï\Calong@@Ž‘7¹,Ž¡‘ãŒÏ\Cbreak@@Ž‘I¹,–¦fand“Ï\Clast@@Ž‘5J¹macros,“and“reset“Äpc¹.ŽŸ©‘ôŒÔNote:‘ÝݹAssumes–¦fthat“the“direction“is“not“tampšMÞered“with“b˜et•²!w“een–¦fCreset“is“de ned“and“used.–Ó3.“.ަ‘ãŒÃ8043Ž‘õŒÏ\xydef@\Spread@@{}ŽŽ¡‘ãŒÃ8044Ž‘õŒÏ\xydef@\checkoverlap@@{}ŽŽ¦‘ãŒÃ8046Ž‘õŒÏ\xydef@\straight@#1{\setupDirection@‘¿ª\def\Spread@@{#1}%ŽŽ¡‘ãŒÃ8047Ž‘ûKÃÏ\edef\Creset@@{\cfromthec@‘¿ª\pfromthep@Ž’á>S\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ8048Ž‘ûKÃÏ\edef\lastbreak@@{\cfromthep@}%ŽŽ¡‘ãŒÃ8049Ž‘ûKÃÏ\edef\next@{{\sd@X}{\sd@Y}}\expandafter\straightcheckoverlap@\next@ŽŽŽŽŒ‹röN Á à ý*tj‘㌹114’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ8050Ž‘ûKÃÏ\setupDirection@‘¿ª\the\Edge@c\z@ŽŽ¤ ™š‘ãŒÃ8051Ž‘ûKÃÏ\swap@\reverseDirection@\the\Edge@c\z@\swap@\reverseDirection@ŽŽ¡‘ãŒÃ8052Ž‘ûKÃÏ\resetDirection@ŽŽ¡‘ãŒÃ8053Ž‘ûKÃÏ\edef\Cshavep@@{\DirectionfromtheDirection@ŽŽ¡‘ãŒÃ8054Ž‘ mÏ\pfromthep@\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ8055Ž‘ûKÃÏ\edef\Cshavec@@{\DirectionfromtheDirection@ŽŽ¡‘ãŒÃ8056Ž‘ mÏ\cfromthec@\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ8057Ž‘ûKÃÏ\noinsert@ŽŽ¡‘ãŒÃ8058Ž‘ûKÃÏ\straight@typesetŽŽ¡‘ãŒÃ8059Ž‘ûKÃÏ\def\Cbreak@@{\straightCbreak@}\def\Clast@@{\straightClast@}%ŽŽ¡‘ãŒÃ8060Ž‘õŒÏ%‘¿ª\DN@{\solidSpread@}\ifx\next@\Spread@@ŽŽ¡‘ãŒÃ8061Ž‘õŒÏ%‘ T\checkXy@rules@\solidhrule@pre\solidvrule@pre\relaxŽŽ¡‘ãŒÃ8062Ž‘õŒÏ%‘¿ª\fiŽŽ¡‘ãŒÃ8063Ž‘ûKÃÏ\def\Cslidep@@{\noCslidep@@}\def\Cslidec@@{\noCslidec@@}ŽŽ¡‘ãŒÃ8064Ž‘ûKÃÏ\def\Calong@@{\noCalong@@}\def\Cintercept@@{\noCintercept@@}%ŽŽ¡‘ãŒÃ8065Ž‘ûKÃÏ\Creset@@}ŽŽ©Pˆ‘ãŒÃ8067Ž‘õŒÏ\xydef@\straightcheckoverlap@#1#2{\def\checkoverlap@@{%ŽŽ¡‘ãŒÃ8068Ž‘ mÏ\ifdim#1\X@p>#1\X@c–¿ª\let\next@=\relax“\fiŽŽ¡‘ãŒÃ8069Ž‘ mÏ\ifdim#2\Y@p>#2\Y@c–¿ª\let\next@=\relax“\fi}}ŽŽ¦‘ãŒÃ8071Ž‘õŒÏ\xydef@\straight@typeset{%ŽŽ¡‘ãŒÃ8072Ž‘ûKÃÏ\ifInvisible@‘¿ª\let\next@=\relaxŽŽ¡‘ãŒÃ8073Ž‘ûKÃÏ\else\ifdim–¿ª1\Direction<-2\K@“\DN@{\straightv@}%ŽŽ¡‘ãŒÃ8074Ž‘ûKÃÏ\else\ifdim‘¿ª1\Direction<\z@‘>þ\DN@{\straighth@}%ŽŽ¡‘ãŒÃ8075Ž‘ûKÃÏ\else\ifdim‘¿ª1\Direction<2\K@‘ T\DN@{\straightv@}%ŽŽ¡‘ãŒÃ8076Ž‘ûKÃÏ\else’·š\DN@{\straighth@}%ŽŽ¡‘ãŒÃ8077Ž‘ûKÃÏ\fi\fi\fi\fi–¿ª\checkoverlap@@“\next@}ŽŽŸÁÑ‘ôŒ¹The–nïmethošMÞds“Ï\straightCbreak@Ž‘`Ø~¹and“Ï\straightClast@Ž‘[Ô¹implemen²!t“the“break“metho˜d“parametrisedŽ¡‘ãŒon–nïthe“`tš²!ypMÞeset'“primitiv˜e“whic˜h“is“usually“Ï\straight@typesetŽ‘f˜(¹whic˜h“is“a“simpli ed“v˜ersion“of“Ï\straight@ŽŽ¡‘㌹that–×došMÞes“not“initialise.‘pThis“relies“on“the“connection“b˜eing“straigh²!t:‘?Mthe“ÏCbreak@@Ž‘5«Œ¹metho˜d“executesŽ¡‘ãŒÄp;›Ó1c– ˜¹:=“ÄpÏ.Ž‘¿ªÐlastbr–ÿp¹e“akŽŽ‘/¤‹Ä;˜cÏ.Ž‘¿ªÐnextbr–ÿp¹e“akŽŽ‘7K ¹and‘?÷ÏClast@@Ž‘0½”¹executes‘?÷Äp;˜c“¹:=“ÄpÏ.Ž‘¿ªÐlastbr–ÿp¹e“akŽŽ‘/¤‹Ä;˜c¹,‘f[where–?÷in“bMÞoth“cases“theŽ¡‘ãŒÏ[Inner]Ž‘#ѹmošMÞdi er–Zis“applied“just“b˜efore“the“merging“to“mak²!e“sure“the“edge“is“resp˜ected“b²!y“the“mergedŽ¡‘ãŒob‘›»ject.ަ‘ãŒÃ8091Ž‘õŒÏ\xylet@\nextbreak@@=\emptyŽŽ¦‘ãŒÃ8093Ž‘õŒÏ\xydef@\straightCbreak@{\connectRestore@ŽŽ¡‘ãŒÃ8094Ž‘ûKÃÏ\edef\nextbreak@@{\cfromthec@}%ŽŽ¡‘ãŒÃ8095Ž‘ûKÃÏ\Creset@@–¿ª\swap@“\the\Edge@c4\enter@{\cmergethec@}\lastbreak@@“\leave@ŽŽ¡‘ãŒÃ8096Ž‘ûKÃÏ\swap@–¿ª\the\Edge@c4\enter@{\cmergethec@}\nextbreak@@“\leave@ŽŽ¡‘ãŒÃ8097Ž‘ûKÃÏ\setupDirection@ŽŽ¡‘ãŒÃ8098Ž‘ûKÃÏ\the\Edge@c\z@ŽŽ¡‘ãŒÃ8099Ž‘ûKÃÏ\swap@–¿ª\reverseDirection@“\the\Edge@c\z@“\swap@“\reverseDirection@ŽŽ¡‘ãŒÃ8100Ž‘ûKÃÏ\resetDirection@–¿ª\noinsert@“\straight@typesetŽŽ¡‘ãŒÃ8101Ž‘ûKÃÏ\Creset@@‘¿ª\let\lastbreak@@=\nextbreak@@}ŽŽ¦‘ãŒÃ8103Ž‘õŒÏ\xydef@\straightClast@{\connectRestore@ŽŽ¡‘ãŒÃ8104Ž‘ûKÃÏ\Creset@@–¿ª\swap@“\the\Edge@c4\enter@{\cmergethec@}\lastbreak@@“\leave@ŽŽ¡‘ãŒÃ8105Ž‘ûKÃÏ\swap@ŽŽ¡‘ãŒÃ8106Ž‘ûKÃÏ\setupDirection@ŽŽ¡‘ãŒÃ8107Ž‘ûKÃÏ\the\Edge@c\z@ŽŽŽŽŒ‹s‰ Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹115ŽŽ ¶?? ýh«w‘ãŒÃ8108Ž‘ûKÃÏ\swap@\reverseDirection@–¿ª\the\Edge@c\z@“\swap@\reverseDirection@ŽŽ¤ ™š‘ãŒÃ8109Ž‘ûKÃÏ\resetDirection@–¿ª\noinsert@“\straight@typesetŽŽ¡‘ãŒÃ8110Ž‘ûKÃÏ\Creset@@‘¿ª\edef\lastbreak@@{\cfromthep@}}ŽŽŸ¡ë‘ôŒ¹Noš²!w–ÆKfor“the“t˜ypMÞesetting“{“to“summarise:‘¨these“are“parametrised“on“direction“parameters“and“useŽ¡‘ãŒÄX@<;›Ó1Y‘nï¹:‘- endpMÞoin²!t–ÎGof“connection“(`Direction“end').‘UÐdXŽŽ‘ÍÄ;˜ÐdYŽŽ‘®ú¹:‘- connection“distance“(`Direction“v²!ector').Ž¡‘ãŒÏ\Leftness@Ž‘"2ȹof–* Çh¹ob‘›»jectÇi¹.‘ hÍÏ\lastobjectbox@Ž‘dÍιto“ ll“with;‘ëÝassumed“to“bMÞe“`trimmed'.‘ hÍÏ\Spread@@Ž‘BOÒ¹toŽ¡‘ãŒexpand–»ùto“mošMÞdify“the“default“spreading“used.‘–Ï\Drop@@Ž‘55¹to“expand“to“actually“t²!yp˜eset“the“ nishedŽ¡‘ãŒconnection–¦fwhen“it“is“in“bMÞoš²!x0!–ÝÝÔNote:“¹Must–¦fmak˜e“bMÞo˜x0“v˜oid“to“a˜v˜oid“`bMÞo˜x“leaks'.Ž©êý‘ôŒTw•²!o›~v‘ÿdDarian“ts˜exist:‘one˜for˜mostly˜horison“tal˜and˜one˜for˜mostly˜v“ertical˜ lling.‘d»W‘ÿee˜detail˜theŽ¡‘ãŒ`mostly–¦fhorison²!tal'“one:ަ‘ôŒ[ä??Ž‘ßH¹]–œnstart“bMÞoš²!x;‘q[Ãl.8151Ž‘ã|¹]“compute“initial“adjustmen˜t“(ÄX‘xf¹righ˜t“and“ÄY‘ ]¹up)“and“ÄA–¤²¹:=“ÄwKn¹,‘ÙïÄB‘1V¹:=“Äh–ñ¹+“Äd¹,Ž¡‘ãŒÄN‘Ïð¹=‘žQÇbŽ‘ |/¹(ÇcŽŽ‘oajŽ‘z ÐdXŽŽ‘'ñ‹ÇjŽŽ‘,ÏgÄ=‘ÿdDA¹),‘•'and–24run“user“supplied“Spread;‘ø[Ãl.8155Ž‘ã|¹]“adjust“ rst“ ller“pMÞosition“horizon²!tally:‘õyifŽ¡‘ãŒÄdX›æŸ>‘ §¹0–TRthen“ÄX˜¹:=› §ÄX‘¦¼Ç‘ÊÄÄwKn¹;‘o®[Ãl.8156Ž‘ã|¹]“adjust“ rst“ ller“v²!ertically:‘´ÓÄY‘y–¹:=˜ÄY‘9³Ç‘ÊÄÐsdXŽŽ‘‡8Ç–ÊÄÄL“Ç“¹(ÐdYŽŽ‘ÛÉÄ=ÐdXŽŽ‘w¹)“Ç“Äw‘ŸÀ¹whereŽ¡‘ãŒÄL– §¹=“ifŽ‘ mÛÄdX‘æŸ>“¹0thenŽ‘J­(1–D¾Ç“ÄLef–-¼tness¹)elseŽ‘ÄLef“tness¹;‘˜W[Ãl.8160Ž‘ã|¹]–‘Orecompute“the“mo•²!v“e–‘Odimensions“(ÄA“¹righ²!t“and“ÄBŽ¡‘㌹up):‘J'ÄA–dä¹:=“ÇÐsdXŽŽ‘ñ°¹(ÇjŽ‘ «ÄdX‘ÛøÇjŽŽ‘Iº–“ÄwšKn¹)Ä=¹(ÄN‘ĤǓ¹1),‘êÄB‘ñˆ¹:=‘däÐsdYŽŽ‘ŽÇjŽ‘˜ºÐsdXŽŽ‘0Šj¹(Äw˜¹)–nìÇ“ÐdYŽŽ‘JµÄ=ÐdXŽŽ‘ækÇ“Äd‘›»Y‘nïÇjŽŽ’”¹Ä=¹(ÄN‘ĤǓ¹1),‘êand–Ü‹set“the“ llerŽ¡‘ãŒbMÞoš²!x–6–to“ha˜v˜e“Äw‘Fd¹:=‘úöÄA¹;‘~®[Ãl.8166Ž‘ã|¹]“output“ rst“ ller“adjusted“ÄX@<;‘Ó1Y‘¥…¹and“the“follo˜wing“ÄN‘ªÇ‘Ï ¹1“eac˜h“ÄA“¹furtherŽ¡‘ãŒrighš²!t–¦fand“raised“ÄB‘3 ¹more“than“the“previous;“and“ nally“end“ob‘›»ject“with“usual“bra˜v˜our!Ž©Pˆ‘ãŒÃ8149Ž‘õŒÏ\xydef@\straighth@{\setbox\z@=\hbox{%ŽŽ¡‘ãŒÃ8150Ž‘ mÏ\setbox8=\copy\lastobjectbox@ŽŽ¡‘ãŒÃ8151Ž‘ mÏ\A@=\wd8\relax–¿ª\B@=\dp8\relax“\advance\B@\ht8\relaxŽŽ¡‘ãŒÃ8152Ž‘ mÏ\ifdim–¿ª\A@=\z@“\count@@=\m@neŽŽ¡‘ãŒÃ8153Ž‘ mÏ\else–¿ª\dimen@=\sd@X\d@X“\divide\dimen@\A@“\count@@=\dimen@“\fiŽŽ¡‘ãŒÃ8154Ž‘ mÏ\Spread@@ŽŽ¡‘ãŒÃ8155Ž‘ mÏ\ifdim\d@X>\z@‘¿ª\advance\X@c-\wd8\relax\fiŽŽ¡‘ãŒÃ8156Ž‘ mÏ\dimen@=-\sd@X\wd8\relaxŽŽ¡‘ãŒÃ8157Ž‘ mÏ\multiply\dimen@\K@dYdX‘¿ª\divide\dimen@\K@ŽŽ¡‘ãŒÃ8158Ž‘ mÏ\ifdim\d@X>\z@–¿ª\advance\Y@c\dimen@“\advance\Y@c-\Leftness@\dimen@ŽŽ¡‘ãŒÃ8159Ž‘ mÏ\else–¿ª\advance\Y@c\Leftness@\dimen@“\fiŽŽ¡‘ãŒÃ8160Ž‘ mÏ\dimen@=\wd8\relax–¿ª\A@=\sd@X\d@X“\advance\A@-\dimen@ŽŽ¡‘ãŒÃ8161Ž‘ mÏ\B@=\sd@X\dimen@–¿ª\multiply\B@\K@dYdX“\divide\B@\K@ŽŽ¡‘ãŒÃ8162Ž‘ mÏ\advance\B@-\d@Y‘¿ª\B@=\sd@Y\B@ŽŽ¡‘ãŒÃ8163Ž‘ mÏ\count@=\count@@‘¿ª\advance\count@\m@neŽŽ¡‘ãŒÃ8164Ž‘ mÏ\ifnum\z@<\count@–¿ª\divide\A@\count@“\divide\B@\count@“\fiŽŽ¡‘ãŒÃ8165Ž‘ mÏ\A@=-\sd@X\A@–¿ª\B@=\sd@Y\B@“\wd8=\A@ŽŽ¡‘ãŒÃ8166Ž‘ mÏ\kern\X@c‘¿ª\count@=\z@ŽŽ¡‘ãŒÃ8167Ž‘ mÏ\loop@\ifnum\count@<\count@@‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ8168Ž‘ËÏ\raise\Y@c\copy8\relax–¿ª\advance\Y@c\B@“\repeat@}%ŽŽ¡‘ãŒÃ8169Ž‘ûKÃÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“{\Drop@@}}ŽŽŸ¡ë‘ôŒ¹The–Smosly“vš²!ertical“is“analogous.‘¯,ÔBug:‘—ÔÏ\dimen@Ž‘/ï͹holds“the“unadjusted“Äh–Vǹ+“Äd–S¹throughout“{“someho˜wŽ¡‘ãŒit–¦fwš²!orks“an˜yw˜a˜y!ަ‘ãŒÃ8176Ž‘õŒÏ\xydef@\straightv@{\setbox\z@=\vtop{%ŽŽ¡‘ãŒÃ8177Ž‘ mÏ\setbox8=\copy\lastobjectbox@ŽŽ¡‘ãŒÃ8178Ž‘ mÏ\A@=\wd8\relax–¿ª\B@=\dp8\relax“\advance\B@\ht8\relaxŽŽ¡‘ãŒÃ8179Ž‘ mÏ\ifdim–¿ª\B@=\z@“\count@@=\m@neŽŽ¡‘ãŒÃ8180Ž‘ mÏ\else–¿ª\dimen@=\sd@Y\d@Y“\divide\dimen@\B@“\count@@=\dimen@“\fiŽŽ¡‘ãŒÃ8181Ž‘ mÏ\Spread@@ŽŽ¡‘ãŒÃ8182Ž‘ mÏ\dimen@=\dp8\relax‘¿ª\advance\dimen@\ht8\relaxŽŽ¡‘ãŒÃ8183Ž‘ mÏ\B@=\sd@Y\d@Y‘¿ª\advance\B@-\dimen@ŽŽŽŽŒ‹tƒ Á à ý*tj‘㌹116’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ8184Ž‘ mÏ\A@=\sd@Y\dimen@–¿ª\multiply\A@\K@dXdY“\divide\A@\K@“\advance\A@-\d@XŽŽ¤ ™š‘ãŒÃ8185Ž‘ mÏ\A@=\sd@X\A@–¿ª\count@=\count@@“\advance\count@\m@neŽŽ¡‘ãŒÃ8186Ž‘ mÏ\ifnum\z@<\count@–¿ª\divide\B@\count@“\divide\A@\count@“\fiŽŽ¡‘ãŒÃ8187Ž‘ mÏ\B@=\sd@Y\B@–¿ª\A@=\sd@X\A@“\ht8=\B@“\dp8=\z@ŽŽ¡‘ãŒÃ8188Ž‘ mÏ\ifdim\d@Y<\z@ŽŽ¡‘ãŒÃ8189Ž‘ËÏ\advance\Y@c\dimen@‘¿ª\advance\Y@c\Upness@\B@ŽŽ¡‘ãŒÃ8190Ž‘ mÏ\elseŽŽ¡‘ãŒÃ8191Ž‘ËÏ\advance\dimen@\Upness@\B@–¿ª\advance\Y@c-\dimen@“\advance\Y@c\B@ŽŽ¡‘ãŒÃ8192Ž‘ mÏ\fiŽŽ¡‘ãŒÃ8193Ž‘ mÏ\advance\Y@c\B@ŽŽ¡‘ãŒÃ8194Ž‘ mÏ\ifdim\d@X<\z@–¿ª\else“\advance\X@c-\wd8\relax“\fiŽŽ¡‘ãŒÃ8195Ž‘ mÏ\null–¿ª\kern-\Y@c“\count@=\z@ŽŽ¡‘ãŒÃ8196Ž‘ mÏ\loop@\ifnum\count@<\count@@‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ8197Ž‘ËÏ\nointerlineskip–¿ª\moveright\X@c\copy8\relax“\advance\X@c\A@ŽŽ¡‘ãŒÃ8198Ž‘ mÏ\repeat@}%ŽŽ¡‘ãŒÃ8199Ž‘ûKÃÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“{\Drop@@}}ŽŽŸ'²‘ãŒÝEnd–ff&“logŽŸ›R‘âsùX‘ü·ŸâÃYŽŽ‘íó#-pic–¦fends“with“a“message“sa²!ying“so.Ž©Pˆ‘ãŒÃ8211Ž‘õŒÏ\message{–¿ªXy-pic“loaded}\xyuncatcodes“\endinputŽŽŸf ‘ósùX‘ü·ŸâÃYŽŽ‘þó#-pic–õ#is“mainš²!tained“using“the“R˜CS‘ôö\Revision“Con˜trol“System"“b˜y“W‘ÿealther“F.“Tic˜h˜y‘ÿe.‘¢ÇThe“follo˜wingŽ¡‘ãŒis–¦fthe“revision“history“since“the“ rst“release“to“Usenet.ަ‘ãŒÃ8219Ž‘õŒÏ%–¿ª$Log:“xy.doc,v“$ŽŽ¡‘ãŒÃ8220Ž‘õŒÏ%–¿ªRevision“3.7› T1999/02/16“15:12:50˜krisroseŽŽ¡‘ãŒÃ8221Ž‘õŒÏ%–¿ªInterim“release“(Y&Y“fonts“now“free).ŽŽ¡‘ãŒÃ8222Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8223Ž‘õŒÏ%–¿ªRevision“3.6› T1998/03/06“01:28:05˜krisroseŽŽ¡‘ãŒÃ8224Ž‘õŒÏ%–¿ªReleasing“(with“Y&Y“fonts).ŽŽ¡‘ãŒÃ8225Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8226Ž‘õŒÏ%–¿ªRevision“3.5› T1997/05/28“13:05:01˜krisroseŽŽ¡‘ãŒÃ8227Ž‘õŒÏ%–¿ªFixed“missing“breaks“bug.ŽŽ¡‘ãŒÃ8228Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8229Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:14:25˜krisroseŽŽ¡‘ãŒÃ8230Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ8231Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8232Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ8233Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ8234Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8235Ž‘õŒÏ%–¿ªRevision“3.2Ž‘Q†¹1995/09/19– T18:22:27“krisŽŽ¡‘ãŒÃ8236Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ8237Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8238Ž‘õŒÏ%–¿ªRevision“3.1Ž‘Q†¹1995/09/05– T20:31:32“krisŽŽ¡‘ãŒÃ8239Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ8240Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8241Ž‘õŒÏ%–¿ªRevision“3.0Ž‘Q†¹1995/07/07– T20:14:21“krisŽŽ¡‘ãŒÃ8242Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ8243Ž‘õŒÏ%ŽŽŽŽŒ‹u$± Á à ý*tj‘ãŒÑ1.8.‘„CALGORITHMS’mLÁ¹117ŽŽ ¶?? ýh«w‘ãŒÃ8244Ž‘õŒÏ%–¿ªRevision“2.14Ž‘WFc1995/07/05– T22:20:09“krisŽŽ¤ ™š‘ãŒÃ8245Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ8246Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8247Ž‘õŒÏ%–¿ªRevision“2.13Ž‘WFc1995/07/04– T15:11:17“krisŽŽ¡‘ãŒÃ8248Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ8249Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8250Ž‘õŒÏ%–¿ªRevision“2.12Ž‘WFc1994/10/25– T11:55:12“krisŽŽ¡‘ãŒÃ8251Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ8252Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8253Ž‘õŒÏ%–¿ªRevision“2.11Ž‘WFc1994/07/05– T10:37:32“krisŽŽ¡‘ãŒÃ8254Ž‘õŒÏ%–¿ªThird“3beta“release“[bug“fixes].ŽŽ¡‘ãŒÃ8255Ž‘õŒÏ%–¿ªExperimental“graph“feature“included“(for“ECCT-94“presentation).ŽŽ¡‘ãŒÃ8256Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8257Ž‘õŒÏ%–¿ªRevision“2.10Ž‘WFc1994/06/15– T12:55:07“krisŽŽ¡‘ãŒÃ8258Ž‘õŒÏ%–¿ªSecond“3beta“release:“bug“fixes.ŽŽ¡‘ãŒÃ8259Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8260Ž‘õŒÏ%–¿ªRevision“2.9Ž‘Q†¹1994/06/09– T14:59:19“krisŽŽ¡‘ãŒÃ8261Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ8262Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8263Ž‘õŒÏ%–¿ªRevision“2.8Ž‘Q†¹1994/04/11– T09:31:09“krisŽŽ¡‘ãŒÃ8264Ž‘õŒÏ%–¿ªSecond“(bug“fix)“3alpha“release“[corrected].ŽŽ¡‘ãŒÃ8265Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8266Ž‘õŒÏ%–¿ªRevision“2.7Ž‘Q†¹1994/03/08– T02:06:01“krisŽŽ¡‘ãŒÃ8267Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ8268Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8269Ž‘õŒÏ%–¿ªRevision“2.6.9.1‘ T1994/03/07Ž’­Y04:22:46‘ TkrisŽŽ¡‘ãŒÃ8270Ž‘õŒÏ%–¿ªLast“internal“3alpha“and“pre-2.7“release.ŽŽ¡‘ãŒÃ8271Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8272Ž‘õŒÏ%–¿ªMAJOR“REWRITE“and“REORGANISATION:ŽŽ¡‘ãŒÃ8273Ž‘õŒÏ%–¿ªFile“xypic.doc“split“into“separate“files:“xy.doc“for“`kernel'“and“otherŽŽ¡‘ãŒÃ8274Ž‘õŒÏ%–¿ªfiles“with“the“`extensions'“and“`features'.ŽŽ¡‘ãŒÃ8275Ž‘õŒÏ%–¿ªDocumented“in“special“DOCMODE“LaTeX-based“format“supported“by“xydoc.sty.ŽŽ¡‘ãŒÃ8276Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8277Ž‘õŒÏ%–¿ªRevision“2.6.1.1‘ T1992/07/01Ž’­Y07:08:24Ž’ {ùkrisŽŽ¡‘ãŒÃ8278Ž‘õŒÏ%–¿ªSend“to“EuroTeX“'92...ŽŽ¡‘ãŒÃ8279Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8280Ž‘õŒÏ%–¿ªRevision“2.6Ž‘Q†¹1992/06/24– T01:23:34“krisŽŽ¡‘ãŒÃ8281Ž‘õŒÏ%–¿ªAdded“hooks“using“font“xyqc10.ŽŽ¡‘ãŒÃ8282Ž‘õŒÏ%–¿ªAdded“new“POSitions:“*“and“!.ŽŽ¡‘ãŒÃ8283Ž‘õŒÏ%–¿ªAdded“triple“lines“\Ssolid“and“\Ddashed.ŽŽ¡‘ãŒÃ8284Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8285Ž‘õŒÏ%–¿ªRevision“2.5Ž‘Q†¹1992/02/24– T03:30:54“krisŽŽ¡‘ãŒÃ8286Ž‘õŒÏ%–¿ªFixed“bugs“in“\Direction“calculation“logic...ŽŽ¡‘ãŒÃ8287Ž‘õŒÏ%–¿ªAdded“(FACTOR)“to“\rotate“to“allow“arbitrary“rotation.ŽŽ¡‘ãŒÃ8288Ž‘õŒÏ%–¿ª`“intermediate“points“now“accept“an“optional“/RADIUS“argument.ŽŽ¡‘ãŒÃ8289Ž‘õŒÏ%–¿ªAdded“\Tip“with“wide“tip.ŽŽ¡‘ãŒÃ8290Ž‘õŒÏ%–¿ª[See“ChangeLog“for“further“details].ŽŽ¡‘ãŒÃ8291Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8292Ž‘õŒÏ%–¿ªRevision“2.4Ž‘Q†¹1992/01/22– T02:15:10“krisŽŽŽŽŒ‹v/ Á à ý*tj‘㌹118’%å‹ÑCHAPTER–¦f1.‘„CKERNEL:“XY.DOCŽŽ ¶?? ýh«w‘ãŒÃ8293Ž‘õŒÏ%–¿ªFixed“bugs“[with“thanks]:ŽŽ¤ ™š‘ãŒÃ8294Ž‘õŒÏ%–¿ªNo“spurious“arrow“heads“with“LaTeX:“\pit“now“undefined“[Werner“Struckmann]ŽŽ¡‘ãŒÃ8295Ž‘õŒÏ%–¿ª\Solid“works:“sets“\Density“[Dave“Bowen]ŽŽ¡‘ãŒÃ8296Ž‘õŒÏ%–¿ªShort“diagonal“lines“work...major“rewrite“of“\connectv@“[Eric“Domenjoud]ŽŽ¡‘ãŒÃ8297Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8298Ž‘õŒÏ%–¿ªRevision“2.3Ž‘Q†¹1992/01/13– T23:28:12“krisŽŽ¡‘ãŒÃ8299Ž‘õŒÏ%–¿ªSwapped“definitions“of“\ddtoX“and“\uutoX“[found“by“Nico“Verwer].ŽŽ¡‘ãŒÃ8300Ž‘õŒÏ%–¿ªDiagonal“lines“were“wrong“[Eric“Domenjoud].ŽŽ¡‘ãŒÃ8301Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8302Ž‘õŒÏ%–¿ªRevision“2.2Ž‘Q†¹1992/01/09– T04:05:40“krisŽŽ¡‘ãŒÃ8303Ž‘õŒÏ%–¿ªStill“problems“with“rules“in“frames“and“horizontal/vertical“\solids.“Grrr.ŽŽ¡‘ãŒÃ8304Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8305Ž‘õŒÏ%–¿ªRevision“2.1Ž‘Q†¹1992/01/02– T14:54:07“krisŽŽ¡‘ãŒÃ8306Ž‘õŒÏ%–¿ªRelease“version.ŽŽ¡‘ãŒÃ8307Ž‘õŒÏ%ŽŽ¡‘ãŒÃ8308Ž‘õŒÏ%–¿ªRevision“1.40Ž‘WFc1991/12/17–¿ª04:53:23“krisŽŽ¡‘ãŒÃ8309Ž‘õŒÏ%–¿ªVersion“distributed“as“`final“draft'“on“Usenet.ŽŽŽŽŒ‹w: Á à ý*tj ¶?? ý³ç>‘ãŒÛChapter‘Ç 2ŽŸ2;Ç‘ãŒÓExtensionsŽŸ5Õa‘㌹This–/†cš²!hapter“describMÞes“the“options“that“pro˜vide“extensions“to“the“k˜ernel,–QÎÐi¹.Ðe¹.,“suppMÞort–/†facilities“thatޤ ™š‘ãŒare–=not“obtainably“using“the“kš²!ernel.‘ºÃMost“suc˜h“features“are“only“appro˜ximated,‘R(relying“on“a“driv˜er“forŽ¡‘ãŒthe‘¦fimplemen²!tation.ŽŸ#ÕÝ‘ãŒÝ2.1Ž‘r|CurvŒÌe–ffand“Spline“extensionŽŸ寑ãŒó;ò"V cmbx10æV‘ÿ «ers.‘p3.7–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ #‘㌹This–¸Šoption“proš²!vides‘ 4X‘ü·ŸâÃYŽŽ‘ ”-pic“with“the“abilit˜y“to“t˜ypMÞeset“spline“curv˜es“b˜y“constructing“curv˜ed“connectionsŽ¡‘ãŒusing–’arbitrary“directional“ob››»jects“and“b²!y“encircling“ob˜jects“similarly‘ÿe.‘ÖAÐWarning‘ø¹:‘ÒsUsing“curv²!es“can“bMÞeŽ¡‘ãŒquite–©:a“strain“on“T‘þ,³Ÿ[wEŽ‘B X's“memory;‘ª¥yš²!ou“should“therefore“limit“the“length“and“n˜um˜bMÞer“of“curv˜es“used“onŽ¡‘ãŒa–1Äsingle“page.‘¶üMemory“use“is“less“when“comš²!bined“with“a“bac˜k˜end“capable“of“proMÞducing“its“o˜wn“curv˜es;Ž¡‘ãŒÐe¹.Ðg¹.,–¦fthe“ÕPostScript“¹bac•²!k“end).ŽŸA»‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xycurve.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Curves“and“Splines''“extension.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1997“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose‘ TŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽŽŸLW’Í.ä¹119ŽŽŒ‹x>³ Á à ý*tj‘㌹120’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¤ ™š‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{curve}{Curve–¿ªand“Spline“extension}{\stripRCS$Revision:“3.7“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ,)g‘ãŒÞ2.1.1Ž‘ ÌCurv ed‘€connectionsŽŸbí‘ãŒÃ49Ž‘õŒÏ\message{curve,}ŽŽ¦‘㌹Simple›¦fw•²!a“ys˜to˜spMÞecify˜curv“es˜in‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic˜are˜as˜follo“ws:Ž‘ãŒŸ S§‰ffã²dŸ QÏ‘Kƒ)Ï**\crv{Ž‘sÀÏÇh¹pMÞoslistÇiÏ}ŽŽ’¦V ¹curv²!ed‘¦fconnectionŽŽŽŽ¡‘Kƒ)Ï**\crvs{Ž‘y€yÇh¹dirÇiÏ}ŽŽ’¦V ¹get–¦fÇh¹pMÞoslistÇi“¹from“the“stac²!kŽŽŽŽ¡‘Kƒ)Ï\curve{Ž‘sÀÏÇh¹pMÞoslistÇiÏ}ŽŽ’¦V ¹as–¦fa“Çh¹decorÇi¹ationŽŽŽŽŸG–‰ffã²dŸ–in–W|whic²!h“Çh¹pšMÞoslistÇi“¹is“a“list“of“v‘ÿdDalid“Çh¹p˜osÇi¹itions.‘ñThe“decoration“form“Ï\curveŽ‘+,ô¹is“just“an“abbreviationŽ¡for‘>Ï\connect\crvŽ‘I6¹.‘!eAs–>usual,‘-4the“curren²!t“Äp“¹and“Äc“¹are“used“as“the“start“and“ nish“of“the“connection,Ž¡resp•MÞectiv²!ely‘ÿe.‘tKWithin›Ø‹Çh¹p“oslistÇi˜¹the˜Çh¹p“osÇi¹itions˜are˜separated˜b•²!y˜Ï&Ž‘ ˜5¹.‘tKA‘Ø~full˜description˜of˜the˜syn“tax˜forŽ¡Ï\crvŽ‘¥¹is–¦fgiv²!en“in“ gure“2.1.Ž¡ŸugH’•9Fïps: SDict begin xyc end‘ŸÈ>6ÄAŽŽŽŽ’­dõŸ%òBŽŽŽŽ’ªdõŸúðÚï" {156.6018 -52.14154 l}xyŽŽŽŽŽŽ‘BꜟåQö¹0ŽŽŽŽ‘3Ÿýh0ïI" {mark 170.71564 0.0 85.35782 85.35782 0.0 56.90521 0.03958 0.95947 q}xyŽŽŽ‘YºŸÁ€t1ŽŽŽŽ‘3Ÿýh0ï_" {mark 0.0 56.90521 56.90521 113.81042 113.81042 113.81042 170.71564 0.0 0.02908 0.97986 bz}xyŽŽŽ‘YºŸïž2ŽŽŽŽ‘3Ÿýh0ï[" {mark 0.0 56.90521 28.4526 56.90521 56.90521 56.90521 80.61572 37.93681 0.08327 1.0 bz}xyïa" {mark 80.61572 37.93681 104.32622 18.9684 123.29463 -18.96841 139.89198 -30.82367 0.0 1.0 bz}xyïa" {mark 139.89198 -30.82367 156.48933 -42.67891 170.71564 -28.4526 170.71564 0.0 0.0 0.9176 bz}xyŽŽŽ‘orŸ“4ŽŽŽŽŽŽŽŽŸ1E‘W‘ÿee–ê‰need“a“counš²!ter“to“trac˜k“the“n˜um˜bMÞer“of“con˜trol“pMÞoin˜ts,‘û’(i.e.‘ªFthe“n˜um˜bšMÞer“of“Çh¹p˜osÇi¹s“in“Çh¹p˜oslistÇi¹)Ž¡and–Ñéproš²!vide“a“macro“to“read“it.‘`fAlso“a“tok˜en“list“whic˜h“will“store“the“vital“information“for“later“use,Ž¡to–¦falloš²!w“curv˜ed“connections“to“w˜ork“propMÞerly‘ÿe.ަÃ84Ž‘Ï\xynew@{count}\crv@cnt@ŽŽ¡Ã85Ž‘Ï\xydef@\xynumctrlpts@{\the\crv@cnt@}ŽŽ¡Ã86Ž‘Ï\xynew@{toks}\crvpts@ŽŽ¦‘¹If–ŸUÇh¹pMÞoslistÇi“¹is“emptš²!y“a“straigh˜t“connection“is“computed.‘È©When“the“length“of“Çh¹pMÞoslistÇi“¹is“one“orŽ¡t•²!w“o–ÙÜthen“the“curvš²!e“is“uniquely“determined“as“a“single-segmen˜t“B²"‘úÔDezier“quadratic“or“cubic“spline.‘x>TheŽ¡tangenš²!ts–‰at“Äp“¹and“Äc“¹are“along“the“lines“connecting“with“the“adjacen˜t“con˜trol“pMÞoin˜t.‘®éWith“three“or“moreŽ¡Çh¹pMÞosÇi¹itions–y a“cubic“B-spline“construction“is“used.‘οB²"‘úÔDezier“cubic“segmenš²!ts“are“calculated“from“the“giv˜enŽ¡con•²!trol‘¦fpMÞoin“ts.ަÃ102Ž‘Ï\xydef@\setcurve@{%ŽŽ¡Ã103Ž‘TÏ\edef\xysplineparams@{%ŽŽ¡Ã104Ž‘#>þÏ\expandafter\noexpand\csname‘¿ªparams@\endcsname}%ŽŽ¡Ã105Ž‘TÏ\edef\xysplineedges@{%ŽŽŽŽŒ‹yI  Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй121ŽŽ ¶?? ýh«w‘ãŒÃ106Ž‘ËÏ\expandafter\noexpand\csname‘¿ªedges@\endcsname}%ŽŽ¤ ™š‘ãŒÃ107Ž‘ mÏ\edef\xycrvcnt@{%ŽŽ¡‘ãŒÃ108Ž‘ËÏ\expandafter\noexpand\csname‘¿ªcrvcnt@\endcsname}%ŽŽ¡‘ãŒÃ109Ž‘ mÏ\expandafter\edef\xycrvcnt@{\number\crv@cnt@}%ŽŽ¡‘ãŒÃ110Ž‘ûKÃÏ\ifcase\crv@cnt@ŽŽ¡‘ãŒÃ111Ž‘ mÏ\expandafter\xycvxhull@\orŽŽ¡‘ãŒÃ112Ž‘ mÏ\expandafter\xyquadbezier@\orŽŽ¡‘ãŒÃ113Ž‘ mÏ\expandafter\xycubicbezier@\orŽŽ¡‘ãŒÃ114Ž‘ mÏ\expandafter\xybspline@iii\orŽŽ¡‘ãŒÃ115Ž‘ mÏ\expandafter\xybspline@iv\elseŽŽ¡‘ãŒÃ116Ž‘ mÏ\expandafter\xybspline@ŽŽ¡‘ãŒÃ117Ž‘ûKÃÏ\fi}ŽŽ©ôg‘ôŒ¹The–¦fprevious“picture“wš²!as“t˜ypMÞeset“using:ŽŸPˆ‘ãŒÏ\xy‘¿ª(0,20)*+{A};(60,0)*+{B}ŽŽ¡‘ãŒ**\crv{}ŽŽ¡‘ãŒ**\crv{(30,30)}ŽŽ¡‘ãŒ**\crv{(20,40)&(40,40)}ŽŽ¡‘ãŒ**\crv{(10,20)&(30,20)&(50,-20)&(60,-10)}ŽŽ¡‘ãŒ\endxyŽŽ¦‘㌹except–ufor“the“labMÞels,‘¨·whicš²!h“denote“the“n˜um˜bMÞer“of“en˜tries“in“the“Çh¹pšMÞoslistÇi¹.‘IÔ(Extending“this“co˜de“toŽ¡‘ãŒinclude–¦fthe“labšMÞels“is“set“b˜elo²!w“as“an“exercise).Ž©=y‘ôŒThe‘1ÊÏ?Ž‘ñt¹-opMÞerator–1Êof“Çx¹1.3“(note“1.3h)“is“used“to“ nd“arbitrary“Çh¹placeÇi¹s“along“a“curvš²!e“in“the“usual“w˜a˜y‘ÿe.ŽŸ ””‘ãŒÔExercise‘k<2.1:‘ ó5¹Extend–×±the“coMÞde“givš²!en“for“the“curv˜es“in“the“previous“picture“so“as“to“add“the“labMÞelsŽ¡‘ãŒgiving–¦fthe“n•²!um“bšMÞer–¦fof“con²!trol“p˜oin²!ts.ަ‘ôŒUsing‘OîÏ?Ž‘ _†¹will–Oîset“the“currenš²!t“direction“to“bMÞe“tangen˜tial“at“that“Çh¹placeÇi¹,‘a:and“one“can“Çh¹slideÇi“¹spMÞeci edŽ¡‘ãŒdistances–¦falong“the“curv²!e“from“a“found“Çh¹placeÇi“¹using“the“Ï?Ž› f¹.–Ó3.“.“Ï/Ž‘’ÝÇh¹dimenÇiÏ/Ž˜¹notation:ަŸM¼ò‘xÅ_ïps: SDict begin xyc end‘ŸÈ>6ÄAŽŽŽŽ’­dõŸ%òBŽŽŽŽ‘3Ÿýh0ï[" {mark 0.0 56.90521 28.4526 56.90521 56.90521 56.90521 80.61572 37.93681 0.08327 1.0 bz}xyïa" {mark 80.61572 37.93681 104.32622 18.9684 123.29463 -18.96841 139.89198 -30.82367 0.0 1.0 bz}xyïa" {mark 139.89198 -30.82367 156.48933 -42.67891 170.71564 -28.4526 170.71564 0.0 0.0 0.9176 bz}xyŽŽŽ‘5´ŸÄƒ=ï" {-1028 10 /xy AB}xyŽŽŽŽ’±‰ïŸ$Ùï" {-3158 10 /xy AB}xyŽŽŽŽ’Œ:ÔŸÿrÇŽŽŽŽŽ’“ÇÇŸ]ÄxŽŽŽŽ’–ªEŸ"¿ßÇŽŽŽŽŽ’›ýØŸ šÄxŸü¾È0ŽŽŽŽŽŽ‘G¾–ŸÒ|CÇ ŽŽŽŽŽ‘$Xª0ÄQŽŽŽŽ‘|·ÖŸï øPŽŽŽŽ‘0ŸÀ߯ï" {-73.71414 39.15547 l}xyŽŽŽŽŽŽŽŸGüª‘ãŒÔExercise‘[õ2.2:‘ ó5¹Suggest–©cošMÞde“to“pro˜duce“something“lik²!e“the“ab˜o•²!v“e–©picture;‘*Rthe“spline“curv²!e“is“theŽ¡‘ãŒsame–’Îas“in“the“previous“picture.‘×UÐHints‘æ¹:‘ÔThe“line“is“140pt“long“and“toucš²!hes“0Ä:¹28“of“the“w˜a˜y“from“ÄA“¹toŽ¡‘ãŒÄB‘3 ¹and–¦fthe“Äx“¹is“0.65“of“the“w•²!a“y–¦ffrom“ÄA“¹to“ÄB‘Œ¤¹.ަ‘ôŒThe– kpšMÞositions“in“Çh¹p˜oslistÇi“¹sp˜ecify“Ðc–ÿp¹ontr“ol‘åjp“oints‘†ƒ¹whic²!h– kdetermine“the“initial“and“ nal“directions“ofŽ¡‘ãŒthe›}–curv•²!e|lea“ving˜Äp˜¹and˜arriving˜at˜Äc¹|and˜ho“w˜the˜curv“e˜bMÞeha“v“es˜in˜bMÞet“w“een,‘…Àusing˜standard˜splineŽ¡‘ãŒconstructions.‘ÝÝIn–¦fgeneral,“conš²!trol“pMÞoin˜ts“need“not“lie“upMÞon“the“actual“curv˜e.ަ‘ôŒA‘{¸natural–{ïspline“parameter“v›ÿdDaries“in“the“in²!terv˜al“[0Ä;‘Ó1¹1]“monotonically“along“the“curv²!e“from“Äp“¹toŽ¡‘ãŒÄc¹.‘?This–c‡is“used“to“spMÞecify“Çh¹placeÇi¹s“along“the“curv•²!e,‘’Ïho“w“ev“er–c‡there“is“no“easy“relation“to“arc-length.Ž¡‘ãŒGenerally–ÛÉthe“parameter“v›ÿdDaries“more“rapidly“where“the“curv˜ature“is“greatest.‘~The“follo²!wing“diagramŽ¡‘ãŒillustrates–¦fthis“e ect“for“a“cubic“spline“of“t•²!w“o›¦fsegmen“ts˜(3˜con“trol˜pMÞoin“ts).ŽŽŽŒ‹zU÷ Á à ý*tj‘㌹122’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«wŸM,S’sÈïps: SDict begin xyc end‘©ÊŸ%òÄAŽŽŽŽ‘[³%Ÿ™ÐBŽŽŽŽ‘X³%Ÿd¸ï" {70.82404 -23.62695 l}xyŽŽŽ‘ ÄýŸýh0ïV" {mark 0.0 0.0 14.2263 56.90521 35.56577 64.01837 56.90523 64.01837 0.04092 1.0 bz}xyïa" {mark 56.90523 64.01837 78.24467 64.01837 99.58412 56.90521 85.35782 -28.4526 0.0 0.97302 bz}xyŽŽŽ‘ Ž1Ÿö§=ï" {738 10 /xy AB}xyŽŽŽŽ‘a3©Ÿñï" {869 10 /xy AB}xyŽŽŽŽ‘}Ÿàç0ï" {579 10 /xy AB}xyŽŽŽŽ‘d­úŸïy4ï" {999 10 /xy AB}xyŽŽŽŽ‘ËqŸÎKâï" {223 10 /xy AB}xyŽŽŽŽ‘bgõŸÔqöï" {1282 10 /xy AB}xyŽŽŽŽ‘*‡RŸÃ‡Øï" {-392 10 /xy AB}xyŽŽŽŽ‘[WŸÅY«ï" {1967 10 /xy AB}xyŽŽŽŽ‘6î]Ÿ¾•8ï" {-805 10 /xy AB}xyŽŽŽŽ‘P0矾Ïtï" {2781 10 /xy AB}xyŽŽŽŽ‘C¬ºŸ½c|ï " {3072 st}xyŽŽŽŽŸöþŸºuÃ(Æ<Ã)ŽŽŽŽŽŽŽŽŽŽŽŽŸvD‘cTÖŸºu(Æ>Ã)ŽŽŽŽŽŽŽŽŽŽŽŽ‘a3©Ÿñï" {84.64636 -28.46759 dt}xyŽŽŽ‘ '»ŸÞ Æ:Ã1ŽŽŽŽŽŽŽ‘fÏ'ŸðD•Æ:Ã9ŽŽŽŽŽŽŽ‘d­úŸïy4ï" {80.58003 -14.57037 l}xyŽŽŽ‘Ù¯ŸÌÆÆ:Ã2ŽŽŽŽŽŽŽ‘d‰"ŸÕ=WÆ:Ã8ŽŽŽŽŽŽŽ‘bgõŸÔqöï" {67.61139 -6.14874 l}xyŽŽŽ‘#•ŸÁ@¼Æ:Ã3ŽŽŽŽŽŽŽ‘]!„ŸÆ% Æ:Ã7ŽŽŽŽŽŽŽ‘[WŸÅY«ï" {48.47273 -1.81963 l}xyŽŽŽ‘/ü›Ÿ¼NÆ:Ã4ŽŽŽŽŽŽŽ‘P0矼ˆXÆ:Ã6ŽŽŽŽŽŽŽ‘P0矾Ïtï" {25.25992 -0.22748 l}xyŽŽŽ‘@3ÙŸ¸`Æ:Ã5ŽŽŽŽŽŽŽŽŽŽŽŸ@êá‘ãŒÔExercise‘9K2.3:‘ ó5¹W‘ÿerite–¬CcošMÞde“to“pro˜duce“a“picture“suc²!h“as“the“one“ab˜o•²!v“e.‘ïu(ÐHint‘ ê¹:‘é˜Sa“v“e–¬Cthe“lo˜cations“ofޤ ™š‘ãŒplaces–¦falong“the“curvš²!e“for“later“use“with“straigh˜t“connections.)Ž© ½7‘ôŒT‘ÿeo›è½ha•²!v“e˜the˜same˜Çh¹p•MÞosÇi˜¹o“ccuring˜as˜a˜m•²!ultiple˜con“trol˜pMÞoin“t˜simply˜use˜a˜delimiter,‘ùSwhic“h˜lea“v“esŽ¡‘ãŒthe–žùÇh¹pšMÞosÇi“¹unc•²!hanged.‘ÛdTh“us‘žùÏ\curve{Ž‘+ÜŸÇh¹p˜osÇiÏ&}Ž‘M¹uses–žùa“cubic“spline,‘ vwhereas“Ï\curve{Ž‘+ÜŸÇh¹p˜osÇiÏ}Ž‘ ^£¹is“quadratic.ަ‘ôŒRepšMÞeating–Œéthe“same“con²!trol“p˜oinš²!t“three“times“in“succession“results“in“straigh˜t“segmen˜ts“to“thatŽ¡‘ãŒcon•²!trol›º%pMÞoin“t.‘Using˜the˜default˜st“yles˜this˜is˜an˜expMÞensiv“e˜w“a“y˜to˜get˜straigh“t˜lines,‘¿but˜it˜allo“ws˜forŽ¡‘ãŒextra–¦fe ects“with“other“st²!yles.ŽŸ·¡‘ãŒÔCurv¦te‘¹"Ob‘³jects:‘ ó5¹A•²!t›<Ñpresen“t˜the˜syn“tax˜is˜suppMÞorted˜for˜using˜a˜Ï\curveŽ‘(÷ž¹ob‘›»ject˜only˜as˜a˜decoration,Ž¡‘ãŒconstructed–¦ffrom“a“Ï\crvŽ‘Kt¹ob‘›»ject“used“as“a“connection.Ž©Pˆ‘ãŒÃ256Ž‘õŒÏ\xydef@\curve{\connect\crv}ŽŽŸt%‘ôŒ¹The–Èömore“general“Ï\crvŽ‘”¹ob‘›»ject“currenš²!tly“w˜orks“as“a“connection.‘EŒIn“future“this“ob‘›»ject-t˜ypšMÞe“will“b˜eŽ¡‘ãŒextended–¦fto“alloš²!w“closed“curv˜es“as“the“bMÞoundaries“of“ob‘›»jects.ަ‘ãŒÃ264Ž‘õŒÏ\xydef@\crv#1#{\hbox–¿ª\bgroup“\crvresetbreaks@“\initshape@ŽŽ¡‘ãŒÃ265Ž‘ûKÃÏ\def\pure@crv{\crv@saveStyles@}\crv@{#1}}ŽŽ¦‘ãŒÃ267Ž‘õŒÏ\xydef@\crv@#1#2{%ŽŽ¡‘ãŒÃ268Ž‘ûKÃÏ\DN@{#1}\ifx\empty\next@ŽŽ¡‘ãŒÃ269Ž‘ mÏ\DN@{\def\afterCURVEaction@{}\parsecurve@\xycurve@@}%ŽŽ¡‘ãŒÃ270Ž‘ûKÃÏ\else\DN@{\parseCURVE@#1\parsecurve@\curveSTYLE@}\fiŽŽ¡‘ãŒÃ271Ž‘ûKÃÏ\next@–¿ª#2\@endcurve\endcrv@“}ŽŽ¦‘ãŒÃ273Ž‘õŒÏ\xydef@\curveSTYLE@{\xycurve@@}%‘ Tdefault‘¿ªstyleŽŽ¡‘ãŒÃ274Ž‘õŒÏ\xydef@\afterCURVEaction@{}%‘ Tdefault–¿ªafter-curve“actionŽŽ¡‘ãŒÃ275Ž‘õŒÏ\xydef@\@endcurve{}%ŽŽ¡‘ãŒÃ276Ž‘õŒÏ\xydef@\endcrv@@{\endcrv@\POS}%ŽŽ¡‘ãŒÃ277Ž‘õŒÏ\xydef@\pure@crv{\relax}ŽŽŸt%‘ôŒ¹The‘üÝÏ\@endcurveŽ‘?v^¹inserted–üÝhere“ensures“that“subsequenš²!t“parsing“with“Ï\checkendcurve@Ž‘\4°¹(see“bMÞelo˜w)Ž¡‘ãŒwill–¦fterminate“cleanly‘ÿe.Ž© ½7‘ôŒThe‘"/Ï\crvsŽ‘%°¹ob‘›»ject–"/has“restricted“functionalitš²!y“with“c˜hoice“of“st˜yles“and“is“alw˜a˜ys“used“for“curv˜esŽ¡‘ãŒonly‘ÿe.‘vIt–.thas“a“single“braced“argumenš²!t“whic˜h“can“bMÞe“used“to“set“curv˜e“st˜yles.‘vIts“main“use“is“for“re-Ž¡‘ãŒt•²!ypMÞesetting›d“di eren“t˜pMÞortions˜of˜the˜same˜curv“e,‘q¾for˜example˜the˜subsegmen“ts˜of˜a˜curv“ed˜arro“w/pathŽ¡‘ãŒsegmen²!t.ަ‘ôŒThis–2is“done“bš²!y“ rst“examinining“Ï\bstartPLACE@Ž‘Ní¼¹.‘€ùIf“Ï\relaxŽ‘*â0¹or“unde ned,‘Uthen“the“curv˜e“is“setŽ¡‘ãŒusing‘zúÏ\@crv@Ž›+sð¹to–zúdecide“the“st²!yle.‘[™If“Ï\bstartPLACE@Ž‘S±–¹is“Ï\emptyŽ˜¹then“the“curv²!e“is“fully“proMÞcessed“asŽ¡‘ãŒa–eâconnection“but“nothing“is“actually“tš²!ypMÞeset;‘Å this“is“used“b˜y“curv˜ed“arro˜ws“where“the“curv˜e“is“ rstŽ¡‘ãŒset–àas“\in²!visible"“bšMÞefore“breaks“and“lab˜els“are“pro˜cessed.‘;KWhen“Ï\bstartPLACE@Ž‘Rñb¹conš²!tains“a“n˜um˜bMÞer,Ž¡‘ãŒnormally–æwithin“the“range“0“to“1,‘ö this“is“inš²!terpreted“as“a“Çh¹placeÇi“¹along“a“curv˜ed“connection“that“hasŽ¡‘ãŒalready–¦fbšMÞeen“established.‘ÝÝNo“t²!yp˜esetting“ma²!y“o˜ccur“b˜efore“this“Çh¹placeÇi¹.ŽŽŽŒ‹{d Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй123ŽŽ ¶?? ýh«w‘ôŒIn–Ëthis“case“the“conš²!trol“pMÞoin˜t“information“is“discarded“since“the“curv˜e“can“bMÞe“reco˜v˜ered“usingޤ ™š‘ãŒÏ\splinereset@Ž‘.G»¹.‘£ The–’Ëcurrenš²!t“Äp“¹and“Äc“¹are“no“longer“the“endpMÞoin˜ts“of“the“curv˜e“but“are“Çh¹pMÞosÇi¹itionsŽ¡‘ãŒalong–A–the“curvš²!e“bMÞet˜w˜een“whic˜h“the“t˜ypšMÞesetting“should“o˜ccur.‘¼BThe“v‘ÿdDalue“of“Ï\bstartPLACE@Ž‘Q>ιis“t²!ypicallyŽ¡‘ãŒa–;æÇh¹placeÇi“¹along“the“curvš²!e“whic˜h“is“within“the“Çh¹pšMÞosÇi“¹at“Äp¹.‘º]It“is“used“to“help“lo˜cate“the“edge“of“this“Çh¹p˜osÇiŽ¡‘㌹where–³Ítš²!ypMÞesetting“should“commence.‘Similarly“Ï\bendPLACE@Ž‘H£è¹is“t˜ypically“a“Çh¹placeÇi“¹along“the“curv˜eŽ¡‘ãŒwhic²!h–¦fis“within“the“Çh¹pMÞosÇi“¹at“Äc¹.Ž©Pˆ‘ãŒÃ314Ž‘õŒÏ\xywarnifdefined\crv@normaltemplateŽŽ¡‘ãŒÃ315Ž‘õŒÏ\xywarnifdefined\crv@othertemplateŽŽ¡‘ãŒÃ316Ž‘õŒÏ\xywarnifdefined\crv@specialtemplate@@ŽŽ¡‘ãŒÃ317Ž‘õŒÏ{\xyuncatcodes–¿ª\catcode`\@=11“\catcode`\#=6ŽŽ¡‘ãŒÃ318Ž‘ûKÃÏ\gdef\crv@normaltemplate#1{{}{~**#1\xy@@crvaddstack@}}ŽŽ¡‘ãŒÃ319Ž‘ûKÃÏ\gdef\crv@othertemplate#1{{}{~*=<2\jot>{}~**#1\xy@@crvaddstack@}}ŽŽ¡‘ãŒÃ320Ž‘ûKÃÏ\gdef\crv@specialtemplate@@#1{{}{~**\dir{#1}\xy@@crvaddstack@}}ŽŽ¡‘ãŒÃ321Ž‘õŒÏ}ŽŽ¦‘ãŒÃ323Ž‘õŒÏ\xydef@\crvs#1#{\hbox–¿ª\bgroup“\def\pure@crv{\relax}\crvs@{#1}}%ŽŽ¡‘ãŒÃ324Ž‘õŒÏ\xydef@\crvi#1#{\hbox–¿ª\bgroup“\def\pure@crv{\relax}\invisbreaks@“\crvs@{#1}}%ŽŽ¦‘ãŒÃ326Ž‘õŒÏ\xydef@\crvs@#1{\DN@{\initshape@‘¿ª\@crv@{#1}}%ŽŽ¡‘ãŒÃ327Ž‘ûKÃÏ\def\crv@defaultshape{-}%ŽŽ¡‘ãŒÃ328Ž‘ûKÃÏ\ifx\bstartPLACE@\relax‘¿ª\elseŽŽ¡‘ãŒÃ329Ž‘ûKÃÏ\ifx\bstartPLACE@\empty–¿ª\Invisible@true“\elseŽŽ¡‘ãŒÃ330Ž‘õŒÏ\splinetrace@{bstartPLACE@=\bstartPLACE@,‘¿ªbendPLACE@=\bendPLACE@}%ŽŽ¡‘ãŒÃ331Ž‘ mÏ\DN@{\let\xy@@crvaddstack@=\xy@@samecurve@ŽŽ¡‘ãŒÃ332Ž‘ËÏ\let\saveshape@=\savesame@ŽŽ¡‘ãŒÃ333Ž‘ËÏ\let\savectrlptsnum@=\relaxŽŽ¡‘ãŒÃ334Ž‘ËÏ\let\startxycurve@=\recovercurve@ŽŽ¡‘ãŒÃ335Ž‘ËÏ\crv@cnt@=\xycrvptsnum@\relax‘¿ª\@crv@{#1}}%ŽŽ¡‘ãŒÃ336Ž‘ûKÃÏ\fi–¿ª\fi“\next@“}ŽŽŸ¾d‘ãŒÃ340Ž‘õŒÏ\xydef@\xy@@samecurve@{\xyFN@\checkendcurve@}ŽŽ¡‘ãŒÃ341Ž‘õŒÏ\xydef@\savesame@{\egroup‘¿ª}ŽŽ¡‘ãŒÃ342Ž‘õŒÏ\xydef@\recovercurve@{%ŽŽ¡‘ãŒÃ343Ž‘ûKÃÏ\crv@cnt@=\xycrvptsnum@–¿ª\splinereset@“\recovercv@endŽŽ¡‘ãŒÃ344Ž‘ûKÃÏ\ifx\bendPLACE@\relax‘¿ª\def\bendPLACE@{1}\fiŽŽ¡‘ãŒÃ345Ž‘ûKÃÏ\ifdim\zz@\R@c–¿ª\ifdim\zz@\L@c“\ifdim\zz@\D@c“\ifdim\zz@\U@cŽŽ¡‘ãŒÃ346Ž‘JkÏ\Edge@c={\zeroEdge}\fi\fi\fi\fiŽŽ¡‘ãŒÃ347Ž‘ûKÃÏ\edef\cv@end{\cfromthec@}\edef\cv@start{\cfromthep@}}ŽŽ¦‘ãŒÃ349Ž‘õŒÏ\xydef@\recovercv@end{\count@=\ptsnum@\relax\advance\count@\@neŽŽ¡‘ãŒÃ350Ž‘ûKÃÏ\edef\tmp@{\the\count@}\csname‘¿ªcv@\tmp@\endcsname}%ŽŽ¦‘ãŒÃ352Ž‘õŒÏ\xydef@\crvSTYLE@@{}ŽŽ¡‘ãŒÃ353Ž‘õŒÏ\expandafter\xydef@\expandafter\crv@defaultshape\expandafter{\addDASH@{}}ŽŽ¡‘ãŒÃ354Ž‘õŒÏ\xydef@\crv@noobject{\Invisible@true}ŽŽ¦‘ãŒÃ356Ž‘õŒÏ\xydef@\@crv@#1#2{\DN@{#1#2}%ŽŽ¡‘ãŒÃ357Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\edef\next@{\crv@defaultshape}%ŽŽ¡‘ãŒÃ358Ž‘ mÏ\ifx\bstartPLACE@\empty‘¿ª\xdef\crvSTYLE@@{{\crv@defaultshape}}\fiŽŽ¡‘ãŒÃ359Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ360Ž‘ mÏ\ifx\bstartPLACE@\empty‘¿ª\gdef\crvSTYLE@@{#1{#2}}\fiŽŽ¡‘ãŒÃ361Ž‘ûKÃÏ\fiŽŽŽŽŒ‹|vs Á à ý*tj‘㌹124’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ362Ž‘ûKÃÏ\ifx\next@\empty–¿ª\crv@noobject“\DN@{\crv@{}{\xy@@crvaddstack@}}%ŽŽ¤ ™š‘ãŒÃ363Ž‘ûKÃÏ\else\def\tmp@{-}\ifx\next@\tmp@‘¿ª\DN@{\crv@{}{\xy@@crvaddstack@}}%ŽŽ¡‘ãŒÃ364Ž‘ûKÃÏ\else\def\tmp@{=}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ365Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir{=}}}%ŽŽ¡‘ãŒÃ366Ž‘ûKÃÏ\else\def\tmp@{2-}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ367Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir{2.}}}%ŽŽ¡‘ãŒÃ368Ž‘ûKÃÏ\else\def\tmp@{3-}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ369Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir{3.}}}%ŽŽ¡‘ãŒÃ370Ž‘ûKÃÏ\else\def\tmp@{--}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ371Ž‘ mÏ\DN@{\expandafter\crv@\crv@specialtemplate@{--}}%ŽŽ¡‘ãŒÃ372Ž‘ûKÃÏ\else\def\tmp@{==}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ373Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}%ŽŽ¡‘ãŒÃ374Ž‘ûKÃÏ\else\def\tmp@{2--}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ375Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}%ŽŽ¡‘ãŒÃ376Ž‘ûKÃÏ\else\def\tmp@{3--}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ377Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{--}}}%ŽŽ¡‘ãŒÃ378Ž‘ûKÃÏ\else\def\tmp@{.}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ379Ž‘ mÏ\DN@{\expandafter\crv@\crv@specialtemplate@{.}}%ŽŽ¡‘ãŒÃ380Ž‘ûKÃÏ\else\def\tmp@{:}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ381Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}%ŽŽ¡‘ãŒÃ382Ž‘ûKÃÏ\else\def\tmp@{2.}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ383Ž‘ mÏ\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}%ŽŽ¡‘ãŒÃ384Ž‘ûKÃÏ\else\def\tmp@{..}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ385Ž‘ mÏ\DN@{\expandafter\crv@\crv@specialtemplate@{.}}%ŽŽ¡‘ãŒÃ386Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ387Ž‘ mÏ\DN@{\expandafter\crv@\crv@othertemplate{\dir#1{#2}}}%ŽŽ¡‘ãŒÃ388Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽŸPˆ‘ãŒÃ390Ž‘õŒÏ\xylet@\crv@specialtemplate@=\crv@specialtemplate@@ŽŽ¡‘ãŒÃ391Ž‘õŒÏ\xydef@\crv@special#1{}ŽŽŸ*M‘ôŒÔBug:‘‘„¹this– ³should“use“a“Ï\Step@@Ž‘.Y ¹methoMÞd“to“get“the“spacing“for“dotting;‘@™this“will“eliminate“the“needŽ¡‘ãŒfor‘¦ftemplates.–Ó3.“.ŽŸ!È—‘ãŒÔP¦tarsing:‘ ó5¹Twš²!o– separate“parsers“are“required:‘Нone“for“Ï\curve...Ž‘6½¹,‘!Nthe“other“for“the“con˜ten˜ts“of“Ï{...}Ž‘¾[¹.Ž©s_‘ôŒSet‘"ÀÏ\curveSTYLE@Ž‘KAx¹to–"ÀbMÞe“the“default“of“Ï\xycurve@@Ž‘?Â$¹then“examine“the“folloš²!wing“tok˜ens“to“see“if“thisŽ¡‘ãŒmš²!ust–¦fbMÞe“c˜hanged.ަ‘ôŒSet‘"ÀÏ\curveSTYLE@Ž‘KAx¹to–"ÀbMÞe“the“default“of“Ï\xycurve@@Ž‘?Â$¹then“examine“the“folloš²!wing“tok˜ens“to“see“if“thisŽ¡‘ãŒmš²!ust–¦fbMÞe“c˜hanged.ަ‘ôŒÐPr–ÿp¹o“c“e“dur“e‘Ò¡¹:‘"If–Ĉthe“ rst“tokš²!en“of“Ï#1Ž‘d¹(from“Ï\crv@Ž‘ ‚Ú¹)“is“Ï~Ž‘ Hº¹then“a“letter“should“follo˜w,‘Ìdetermining“ho˜wŽ¡‘ãŒto–›%set“the“stš²!yle.‘ÚIf“instead“it“is“an“activ˜e“con˜trol“sequence“then“issue“a“w˜arning“message,‘ebut“let“it“doŽ¡‘ãŒits–åÄthing“an•²!yw“a“y‘ÿe.‘›÷Ho“w“ev“er‘åÄÏ\parsecurve@Ž‘LÇ€¹is–åÄa“normal“thing“to“encounš²!ter,‘õ›so“no“w˜arning“is“required.Ž¡‘ãŒCurrenš²!tly–€:a“single“letter“without“the“Ï~Ž‘ À¹will“bMÞe“recognised,‘‡Übut“t˜w˜o-letter“com˜binations“de nitely“needŽ¡‘ãŒthe‘¦fÏ~Ž‘ f¹.ŽŸPˆ‘ãŒÃ498Ž‘õŒÏ\xydef@\parseCURVE@{\def\curveSTYLE@{\xycurve@@}\def\afterCURVEaction@{}%ŽŽ¡‘ãŒÃ499Ž‘ mÏ\xyFN@\parseCURVE@@}ŽŽ¡‘ãŒÃ500Ž‘õŒÏ\xydef@\parseCURVE@@{%ŽŽ¡‘ãŒÃ501Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\parseCURVE@@}%–¿ªgobble“spacesŽŽ¡‘ãŒÃ502Ž‘ûKÃÏ\else\ifx–¿ª~\next“\DN@“~{\xy@~{}\xyFN@\setcurveSTYLE@@}%ŽŽ¡‘ãŒÃ503Ž‘ûKÃÏ\else\ifx\parsecurve@\next\DN@{}%ŽŽŽŽŒ‹}ƒ‡ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй125ŽŽ ¶?? þ‹V þÒ!‘㌟ ff‰ffã²dŸ {„‘yšSyn²!taxŽ’þ´|ActionŽŽŽŽŸ‡w‰ffã²dŸ 6f‘yšÏ\curveÇh¹mo•MÞdi erÇiÏ{Ž‘¿ªÇh¹curv²!e-ob‘›»jectÇih¹p“oslistÇiÏ}ŽŽ’þ´|¹construct–¦fcurv²!ed“connectionŽŽŽŽŸ#2‰ffã²dŸ …‘yšÇh¹moMÞdi erÇiŽ‘O&ŽŽŽ‘UÎ;!ŽŽ‘f; h¹empt²!yÇiŽ’þ´|¹zero–¦for“more“mošMÞdi ers“p˜ossible;“default“is“Ï~CŽŽŽŽŽ¤ ™š‘ViöÇjŽŽ‘f; Ï~Ž‘kú´Çh¹curv²!e-optionÇi‘¦fh¹moMÞdi erÇiŽ’þ´|¹set‘¦fÇh¹curv²!e-optionÇiŽŽŽŽŸÿ†‘yšh¹curv²!e-optionÇiŽ‘O&ŽŽŽ‘UÎ;!ŽŽ‘f; ÏpŽ‘o¡ÇjŽ‘vR+ÏPŽ‘¸;ÇjŽ’†iLÏlŽ’Ï\ÇjŽ’–€mÏLŽ’Ÿæ}ÇjŽ’¦—ŽÏcŽ’¯ýžÇjŽ’¶®¯ÏCŽŽ’þ´|¹sho•²!w›†,onlyŸü¾²2.1dŽ‘[…¹con“trol˜pMÞoin“ts˜(ÏpŽ‘¿ª¹=pMÞoin“ts),‘Œžjoined˜b“yŽ¡’þ´|lines–¦f(ÏlŽ›¿ª¹=lines),“or“curv²!e“only“(ÏcŽ˜¹=curv²!e)ŽŽŽŽŸAo‘ViöÇjŽŽ‘f; ÏpcŽ‘u`ÄÇjŽ‘|ÕÏpCŽ’‹7ÇjŽ’‘è ÏPcŽ’¡ZÇjŽ’§¿kÏPCŽŽ’þ´|¹sho•²!w›¦fcon“trol˜pMÞoin“tsŸü¾²2.1fŽ‘û¿¹and˜curv“eŸü¾²2.1eŽŽŽŽŽ©†‘ViöÇjŽŽ‘f; ÏlcŽ‘u`ÄÇjŽ‘|ÕÏlCŽ’‹7ÇjŽ’‘è ÏLcŽ’¡ZÇjŽ’§¿kÏLCŽŽ’þ´|¹shoš²!w–¦flines“joiningŸü¾²2.1gŽ‘톹con˜trol“pMÞoin˜ts“and“curv˜eŸü¾²2.1eŽŽŽŽŽ¡‘ViöÇjŽŽ‘f; ÏcCŽŽ’þ´|¹plot–&curvš²!e“t˜wice,‘…êwith“and“without“spMÞeci ed“for-Ž¡’þ´|mattingŽŽŽŽŸ?Ç‘yšÇh¹curv²!e-ob‘›»jectÇiŽ‘O&ŽŽŽ‘UÎ;!ŽŽ‘f; h¹empt²!yÇiŽ’þ´|¹use–¦fthe“appropriate“default“st²!yleŽŽŽŽ¦‘ViöÇjŽŽ‘f; Ï~*Ž‘qº^Çh¹ob–›»jectÇi‘¦fh¹curv²!e-ob“jectÇiŽ’þ´|¹spšMÞecify–¦fthe“\drop"“ob‘›»jectŸü¾²2.1aŽ‘톹and“ma²!yb˜e“moreŸü¾²2.1cŽŽŽŽŽ¤ÿ†‘ViöÇjŽŽ‘f; Ï~**Ž‘wzÇh¹ob–›»jectÇi‘¦fh¹curv²!e-ob“jectÇiŽ’þ´|¹spšMÞecify–¦f\connect"“ob‘›»jectŸü¾²2.1bŽ‘{¿¹and“ma²!yb˜e“moreŸü¾²2.1cŽŽŽŽŽ©™š‘yšÇh¹pMÞoslistÇiŽ‘O&ŽŽŽ‘UÎ;!ŽŽ‘f; h¹empt²!yÇi‘LÌjŽ‘¤Ch¹pšMÞosÇi–¦fh¹delimÇi“h¹p˜oslistÇiŽ’´|¹list–¦fof“pšMÞositions“for“con²!trol“p˜oin²!tsŽŽŽŽ¡‘ViöÇjŽŽ‘f; Ï~@Ž‘y*ÇjŽ’ƒ^¡Ï~@Ž’’„[Çh¹delimÇi‘¦fh¹pMÞoslistÇiŽ’þ´|¹add–¦fthe“currenš²!t“stac˜kŸü¾²2.1hŽ‘{¿¹to“the“con˜trol“pMÞoin˜tsŽŽŽŽ¦‘yšÇh¹delimÇiŽ‘O&ŽŽŽ‘UÎ;!ŽŽ‘f; Ï&Ž’þ´|¹allo•²!w“able‘¦fdelimiterŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’ª^‚Figure–¦f2.1:‘ÝÝSynš²!tax“for“curv˜es.ŽŽŽŸ$$Ž‘ãŒÃ504Ž‘ûKÃÏ\else\ifcat\active\noexpand\next\DN@{\xyactive@Warning}%ŽŽ¤ ™š‘ãŒÃ505Ž‘ûKÃÏ\else\ifcat‘¿ªa\noexpand\next\DN@##1{\xytilde@Warning\setcurveSTYLE@{##1}%ŽŽ¡‘ãŒÃ506Ž‘ mÏ\xyFN@\parseCURVE@@}%ŽŽ¡‘ãŒÃ507Ž‘ûKÃÏ\else\DN@{}\fi\fi\fi\fi\fi–¿ª\next@“}%ŽŽ©âÏ‘ôŒ¹Options–rMare“normally“spšMÞeci ed“using“Ï~Ž‘ 1÷¹.‘A“Sometimes“this“can“b˜e“safely“omitted;‘ØAif“suc²!h“a“case“isŽ¡‘ãŒencounš²!tered–¾then“a“w˜arning“message“is“issued“advising“to“use“Ï~Ž‘Ýh¹.‘°PThis“nicet˜y“ma˜y“bMÞe“remo˜v˜ed“in“futureŽ¡‘ãŒv²!ersions.ŽŸPˆ‘ãŒÃ516Ž‘õŒÏ\xydef@\xyactive@Warning{\xywarning@{expandable–¿ªcontrol“sequences“shouldŽŽ¡‘ãŒÃ517Ž‘ûKÃÏnot–¿ªbe“here,“results“are“unpredictable“in“diagrams.}}%‘¾R(2)ŽŽ¡‘ãŒÃ518Ž‘õŒÏ\xydef@\xytilde@Warning{Please–¿ªuse“~“to“set“curve“style.}%‘ T(3a)ŽŽ¦‘ôŒ¹Examine–.Êthe“next“tokš²!en“to“see“if“it“determines“a“curv˜e“st˜yle.‘ w Curren˜tly“only“ÏpŽ‘ ît¹,‘âÏlŽ‘V¹and“ÏcŽ‘>¹areŽ¡‘ãŒrecognised,›.Salong–$with“the“uppMÞercase“v‘ÿdDarian²!ts“ÏPŽ‘ Òι,˜ÏLŽ‘!¹and“ÏCŽ‘ Òι.‘$When“one“of“these“letters“is“encoun²!tered,Ž¡‘ãŒset‘¦fÏ\curveSTYLE@Ž‘LHĹand–¦fkš²!eep“examining“tok˜ens“with“Ï\setafterCURVEaction@Ž‘|_X¹.ŽŸPˆ‘ãŒÃ528Ž‘õŒÏ\xydef@\setcurveSTYLE@#1{\xyFN@\setcurveSTYLE@@#1}ŽŽ¡‘ãŒÃ529Ž‘õŒÏ\xydef@\setcurveSTYLE@@{%ŽŽ¡‘ãŒÃ530Ž‘ûKÃÏ\ifx\next‘¿ªp\def\curveSTYLE@{\xyc@trlpts@@}%ŽŽ¡‘ãŒÃ531Ž‘ËÏ\DN@‘¿ªp{\xyFN@\setafterCURVEaction@}%ŽŽ¡‘ãŒÃ532Ž‘ûKÃÏ\else\ifx\next‘¿ªP\def\curveSTYLE@{\xyc@trlpts@}%ŽŽ¡‘ãŒÃ533Ž‘ËÏ\DN@‘¿ªP{\xyFN@\setafterCURVEaction@}%ŽŽ¡‘ãŒÃ534Ž‘ûKÃÏ\else\ifx\next‘¿ªl\def\curveSTYLE@{\xyc@vxhull@@}%ŽŽ¡‘ãŒÃ535Ž‘ËÏ\DN@‘¿ªl{\xyFN@\setafterCURVEaction@}%ŽŽ¡‘ãŒÃ536Ž‘ûKÃÏ\else\ifx\next‘¿ªL\def\curveSTYLE@{\xyc@vxhull@}%ŽŽ¡‘ãŒÃ537Ž‘ËÏ\DN@‘¿ªL{\xyFN@\setafterCURVEaction@}%ŽŽ¡‘ãŒÃ538Ž‘ûKÃÏ\else\ifx\next‘¿ªc\def\curveSTYLE@{\xycurve@@}%ŽŽŽŽŒ‹~‘{ Á à ý*tj‘㌹126’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ539Ž‘ËÏ\DN@‘¿ªc{\xyFN@\setafterCURVEaction@}%ŽŽ¤ ™š‘ãŒÃ540Ž‘ûKÃÏ\else\ifx\next‘¿ªC\def\curveSTYLE@{\xycurve@@}%ŽŽ¡‘ãŒÃ541Ž‘ËÏ\DN@‘¿ªC{\xyFN@\setafterCURVEaction@}%ŽŽ¡‘ãŒÃ542Ž‘ûKÃÏ\else–¿ª\DN@##1{\xywarning@{unknown“curve“style“##1}\xyFN@\parseCURVE@@}%ŽŽ¡‘ãŒÃ543Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽ©Ú5‘ôŒ\setafterCURVEaction@Ž‘qcù¹examines–îtokš²!ens“to“see“if“a“2-letter“com˜bination“is“bšMÞeing“sp˜eci ed;‘[2e.g.Ž¡‘ãŒÏpcŽ‘ï m¹,‘¦fÏlCŽ‘%º¹,–¦fetc.‘ÝÝAlternativ²!ely“another“Ï~Ž‘ v¹can“set“a“new“spMÞeci cation.ŽŸPˆ‘ãŒÃ551Ž‘õŒÏ\xydef@\setafterCURVEaction@{%ŽŽ¡‘ãŒÃ552Ž‘ûKÃÏ\ifx\next~\DN@~{\xyFN@\setcurveSTYLE@@}%ŽŽ¡‘ãŒÃ553Ž‘ûKÃÏ\else\ifcat‘¿ªa\noexpand\next\DN@{\setafterCURVEaction@@}%ŽŽ¡‘ãŒÃ554Ž‘ûKÃÏ\else\DN@{\xyFN@\parseCURVE@@}%ŽŽ¡‘ãŒÃ555Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ¦‘ôŒ¹Currenš²!tly–¦fthe“only“2-letter“spMÞeci cations“ha˜v˜e“either“ÏcŽ› v¹or“ÏCŽ˜¹as“the“2nd“letter.ŽŸPˆ‘ãŒÃ562Ž‘õŒÏ\xydef@\setafterCURVEaction@@{%ŽŽ¡‘ãŒÃ563Ž‘ûKÃÏ\ifx\next–¿ªc\DN@“c{%ŽŽ¡‘ãŒÃ564Ž‘ mÏ\def\afterCURVEaction@{\noexpand\endcurve\noexpand\xy@curve@}%ŽŽ¡‘ãŒÃ565Ž‘ËÏ\xyFN@\parseCURVE@@‘¿ª}%ŽŽ¡‘ãŒÃ566Ž‘ûKÃÏ\else\ifx\next–¿ªC\DN@“C{%ŽŽ¡‘ãŒÃ567Ž‘ mÏ\def\afterCURVEaction@{\noexpand\endcurve\noexpand\xy@curve@@}%ŽŽ¡‘ãŒÃ568Ž‘ËÏ\xyFN@\parseCURVE@@‘¿ª}%ŽŽ¡‘ãŒÃ569Ž‘ûKÃÏ\else–¿ª\DN@##1{\xywarning@{unknown“after-curve“action“##1}%ŽŽ¡‘ãŒÃ570Ž‘ mÏ\xyFN@\parseCURVE@@‘¿ª}%ŽŽ¡‘ãŒÃ571Ž‘ûKÃÏ\fi\fi–¿ª\next@“}ŽŽ¦‘ôŒ¹When‘DšÏ\parsecurve@Ž‘M…,¹is–Dšencoun²!tered,‘l'this“signi es“the“end“of“this“part“of“the“parsing.‘¸yThe“onlyŽ¡‘ãŒactiv•²!e›KDcon“trol˜sequence˜that˜should˜bMÞe˜encoun“tered˜legitimately˜here˜is˜Ï\@endcurveŽ‘=Çè¹,‘t{whic“h˜signi esŽ¡‘ãŒthat–vthe“Çh¹pMÞoslistÇi“¹is“emptš²!y“and“default“st˜yles“are“required.‘ 1 Otherwise“assume“w˜e“the“subsequen˜tŽ¡‘ãŒtokš²!ens–ôæare“from“Ï#2Ž‘i ¹of“Ï\crv@Ž‘ ³8¹.‘É^Con˜trol“passes“to“Ï\xycurve@@Ž‘Afp¹to“prepare“for“reading“the“Çh¹crv-ob‘›»jectÇi¹sŽ¡‘ãŒand‘¦fÇh¹pMÞoslistÇi¹.ŽŸPˆ‘ãŒÃ586Ž‘õŒÏ\xydef@\parsecurve@{\xyFN@\parsecurve@@}ŽŽ¡‘ãŒÃ587Ž‘õŒÏ\xydef@\parsecurve@@{%ŽŽ¡‘ãŒÃ588Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\parsecurve@@}%ŽŽ¡‘ãŒÃ589Ž‘ûKÃÏ\else\ifx\next\@endcurve\DN@\@endcurve{\checkafterCURVE@}%ŽŽ¡‘ãŒÃ590Ž‘ûKÃÏ\else\ifcat\active\noexpand\next\DN@{\relax}%ŽŽ¡‘ãŒÃ591Ž‘ûKÃÏ\else\DN@{\xycurve@@}\fi\fi\fi\next@}%ŽŽŸv‘ãŒÃ595Ž‘õŒÏ\xydef@\xycurve@{\begingroup\afterCURVE{\setcurve@\endgroup}\crvobjects@ŽŽ¡‘ãŒÃ596Ž‘ûKÃÏ\startxycurve@\xycrvmods@}ŽŽ¡‘ãŒÃ597Ž‘õŒÏ\xydef@\xycurve@@{\afterCURVE{\setcurve@}\crvobjects@\startxycurve@ŽŽ¡‘ãŒÃ598Ž‘ûKÃÏ\xycrvmods@}ŽŽ¡‘ãŒÃ599Ž‘õŒÏ\xydef@\xy@curve@{\xy@curve@@@{\splinedefaulttol@\crvobjects@}}ŽŽ¡‘ãŒÃ600Ž‘õŒÏ\xydef@\xy@curve@@{\xy@curve@@@{\resetcrvobjects@}}ŽŽ¡‘ãŒÃ601Ž‘õŒÏ\xydef@\xy@curve@@@#1{\ifx\cv@start\relaxŽŽ¡‘ãŒÃ602Ž‘ mÏ\DN@{\xywarning@{There–¿ªis“no“curve“to“plot}}.ŽŽ¡‘ãŒÃ603Ž‘ûKÃÏ\else\DN@{\begingroup\afterCURVE{\setcurve@\endgroup}#1\cv@end}%ŽŽ¡‘ãŒÃ604Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¡‘ãŒÃ605Ž‘õŒÏ\xydef@\crvobjects@{\def\xycrvdrop@{}\def\xycrvconn@{}}ŽŽ¡‘ãŒÃ606Ž‘õŒÏ\xydef@\resetcrvobjects@{\crvobjects@}ŽŽŽŽŒ‹¡ß Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй127ŽŽ ¶?? ýh«w‘ôŒThese–]¬wš²!ere“originally“pro˜vided“for“sophisticated-user“access.‘°They“are“otherwise“undoMÞcumen˜tedޤ ™š‘ãŒand–¦fmaš²!y“bMÞe“remo˜v˜ed.Ž©Pˆ‘ãŒÃ613Ž‘õŒÏ\xylet@\savecurve=\xycurve@@ŽŽ¡‘ãŒÃ614Ž‘õŒÏ\xylet@\samecurve=\xy@curve@ŽŽ¦‘ôŒ\xy@crvmods@Ž‘<($¹handles– reading“the“Çh¹curv²!e-ob››»jectÇi¹s,‘ÔŠÐi¹.Ðe¹.“the“\drop"“ob˜ject“and“the“\connect"“ob˜ject.ŽŸCÒ‘ôŒÐPr–ÿp¹o“c“e“dur“e‘Ò¡¹:Ãl.635Ž›è|¹Get–¯§next“tok²!en.Ãl.639Ž˜¹Is“it“a“Ï~Ž‘ oQ¹?‘ù Ãl.640Ž›â¹If“not,‘±÷exit.‘ù Ãl.645Ž˜¹If“so,‘±÷is“it“follo•²!w“ed›¯§b“y˜a˜Ï*Ž‘ oQ¹?‘ù Ãl.647Ž‘â¹IfŽ¡‘ãŒnot,›8issue–wìa“message“and“go“bac²!k“to“Ãl.635Ž‘°Á¹.‘Î_Otherwise,˜Ãl.652Ž‘1ù¹is“there“a“second“Ï*Ž‘ 7–¹?‘Î_Ãl.653Ž‘ ¹If“not“then“read“andŽ¡‘ãŒstore–µ¹the“\drop"“ob››»ject,‘¹ŽÃl.661Ž‘¨¹else,‘¹Žread“and“store“the“\connect"“ob˜ject.‘ ÖWhen“ nished,‘¹Žin“either“case,Ž¡‘ãŒÃl.659Ž‘ö©c¹lošMÞok–äufor“further“sp˜eci cations.‘˜ Ãl.657Ž‘µT¹An“emptš²!y“\drop"“ob‘›»ject“is“not“allo˜w˜ed,‘óùso“this“actually“giv˜esŽ¡‘ãŒthe–¦fdefault“of“Ï\zerodotŽ‘1£¶¹.ަ‘ãŒÃ635Ž‘õŒÏ\xydef@\xycrvmods@{\xyFN@\xy@crvmods@}ŽŽ¦‘ãŒÃ637Ž‘õŒÏ\xydef@\xy@crvmods@{%ŽŽ¡‘ãŒÃ638Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\xy@crvmods@}%gobble‘¿ªspacesŽŽ¡‘ãŒÃ639Ž‘ûKÃÏ\else\ifx\next–¿ª~\DN@“~{\xyFN@\xy@crvmods@@}ŽŽ¡‘ãŒÃ640Ž‘ûKÃÏ\else\DN@{\xy@crvmods@@@@}\fi\fi‘¿ª\next@}ŽŽ¡‘ãŒÃ641Ž‘õŒÏ\xydef@\xy@crvmods@@@@{\xyFN@\checkendcurve@}%ŽŽ¦‘ãŒÃ643Ž‘õŒÏ\xydef@\xy@crvmods@@{%ŽŽ¡‘ãŒÃ644Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\xy@crvmods@@}%gobble‘¿ªspacesŽŽ¡‘ãŒÃ645Ž‘ûKÃÏ\else\ifx\next–¿ª*\DN@“*{\xyFN@\xy@@crvmods@}ŽŽ¡‘ãŒÃ646Ž‘ûKÃÏ\else\addAT@\ifx\next\addAT@\DN@{\xyFN@\xy@@crvaddstack}%ŽŽ¡‘ãŒÃ647Ž‘ûKÃÏ\else\DN@{\xywarning@{badly-formed–¿ªcurve“option}\xyFN@\xy@crvmods@}ŽŽ¡‘ãŒÃ648Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}%ŽŽ¦‘ãŒÃ650Ž‘õŒÏ\xydef@\xy@@crvmods@{%ŽŽ¡‘ãŒÃ651Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\xy@@crvmods@}%gobble‘¿ªspacesŽŽ¡‘ãŒÃ652Ž‘ûKÃÏ\else\ifx\next–¿ª*\DN@“*{\xyFN@\xy@@crvmods@@}ŽŽ¡‘ãŒÃ653Ž‘ûKÃÏ\else\DN@{\xy@crv@mods@@}\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ655Ž‘õŒÏ\xydef@\xy@crv@mods@@#1#{\DN@##1{\xy@crvmods@@@{#1}{##1}}\next@}%ŽŽ¡‘ãŒÃ656Ž‘õŒÏ\xydef@\xy@crvmods@@@#1#2{%ŽŽ¡‘ãŒÃ657Ž‘ûKÃÏ\DN@{#1#2}\ifx\next@\empty–¿ª\def\xycrvdrop@{“#1{\zerodot}}ŽŽ¡‘ãŒÃ658Ž‘ûKÃÏ\else–¿ª\def\xycrvdrop@{“#1{#2}}\fiŽŽ¡‘ãŒÃ659Ž‘ûKÃÏ\xyFN@\xy@crvmods@‘¿ª}ŽŽ¦‘ãŒÃ661Ž‘õŒÏ\xydef@\xy@@crvmods@@#1#{\DN@##1{\xy@@crvmods@@@{#1}{##1}}\next@}ŽŽ¡‘ãŒÃ662Ž‘õŒÏ\xydef@\xy@@crvmods@@@#1#2{\def\xycrvconn@{–¿ª#1{#2}}\xyFN@\xy@crvmods@“}%ŽŽ¦‘ôŒ¹P²!arsing–¦fof“the“Çh¹pšMÞoslistÇi“¹is“quite“simple,“recognising“few“sp˜ecial“tok²!ens:ŽŸ˜B‘óøéÇŽŽŽ‘þìÏ\endcurveŽ‘6O}¹and‘¦fÏ\endxyŽ‘)Êȹterminate–¦freading“of“conš²!trol“pMÞoin˜ts.ޤCÒ‘óøéÇŽŽŽ‘þìÏ&Ž‘«Ç¹,‘¦fÏ\\Ž‘Ì ¹and‘¦fÏ\relaxŽ‘)Êȹdelimit‘¦fÇh¹pMÞosÇiŽ‘Y/¹itionsŽ¡‘óøéÇŽŽŽ‘þì¹anš²!ything–¦felse“is“treated“as“a“Çh¹pMÞosÇiŽ‘Y/¹,“bMÞeing“handled“b˜y“the“Ï\POS@Ž‘$ ¹parser.ŽŸO0‘ãŒÃ680Ž‘õŒÏ\xydef@\checkendcurve@{%ŽŽ¤ ™š‘ãŒÃ681Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\checkendcurve@}%gobble‘¿ªspacesŽŽ¡‘ãŒÃ682Ž‘ûKÃÏ\else\ifx\next\endcurve\DN@\endcurve{\clearsearchflag@\endxycurve@}%ŽŽ¡‘ãŒÃ683Ž‘ûKÃÏ\else\ifx\next\@endcurve\DN@\@endcurve{\checkafterCURVE@}%ŽŽ¡‘ãŒÃ684Ž‘ûKÃÏ\else\ifx\next\xy@@crvaddstack@\DN@{}%ŽŽ¡‘ãŒÃ685Ž‘ûKÃÏ\else\ifx\next\endxy\DN@{\clearsearchflag@\sloppyendcrv@}%ŽŽŽŽŒ‹€®ÿ Á à ý*tj‘㌹128’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ686Ž‘õŒÏ%‘¿ª\else\addAND@\ifx\next\addAND@\DN@{\clearsearchflag@\searchnextpt@}%ŽŽ¤ ™š‘ãŒÃ687Ž‘ûKÃÏ\else\testAND@\iffalse‘¿ª\DN@##1{\clearsearchflag@\searchnextpt@}%ŽŽ¡‘ãŒÃ688Ž‘ûKÃÏ\else\ifx–¿ª~\next\DN@“~{\xyFN@\checkcrvtilde@}%ŽŽ¡‘ãŒÃ689Ž‘ûKÃÏ\else\ifx\next\relax\DN@\relax{\clearsearchflag@\searchnextpt@}%ŽŽ¡‘ãŒÃ690Ž‘ûKÃÏ\else\ifx\next\\\DN@\\{\clearsearchflag@\searchnextpt@}%ŽŽ¡‘ãŒÃ691Ž‘ûKÃÏ\else\ifx\searchflag@\relaxŽŽ¡‘ãŒÃ692Ž‘ËÏ\DN@{\setsearchflag@\searchnextpt@}%ŽŽ¡‘ãŒÃ693Ž‘ËÏ\else\DN@##1{\flagwarn@{##1}}\fiŽŽ¡‘ãŒÃ694Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽ¡‘ãŒÃ695Ž‘õŒÏ\xydef@\searchnextpt@{\afterPOS{\xy@@\addtocrv@‘¿ª\xyFN@\checkendcurve@}}ŽŽŸãü‘ôŒ¹There–øocould“bMÞe“a“problem“in“that“an“inš²!v‘ÿdDalid“tok˜en“w˜ould“cause“an“in nite“loMÞop,‘Lðpassing“bac˜kŽ¡‘ãŒand–Êõforth“bMÞet•²!w“een‘ÊõÏ\checkendcurve@Ž‘]Ðà¹and‘ÊõÏ\POS@Ž‘ ‰G¹.‘K‹This–Êõis“a•²!v“oided›Êõb“y˜setting˜a˜ ag˜Ï\setsearchflag@ŽŽ¡‘㌹when–€the“Ï\POS@Ž‘#¾b¹parser“is“called,‘‡´not“folloš²!wing“a“v‘ÿdDalid“delimiter.‘ÑEncoun˜tering“a“v‘ÿdDalid“delimiter“clearsŽ¡‘ãŒthe–(Î ag.‘eIf“Ï\checkendcurve@Ž‘^Œ’¹is“called“with“the“ ag“set,‘Iga“wš²!arning“message“is“issued“and“the“tok˜enŽ¡‘ãŒis–sHskippšMÞed;‘Ù¹the“ ag“remains“set.‘DƒPro˜cessing“con•²!tin“ues,‘¦€but–sHit“is“p˜ossible“that“the“wrong“n•²!um“b˜er‘sHofŽ¡‘ãŒpšMÞositions–¦fwill“b˜e“read;“presumably“there“is“some“kind“of“error“that“needs“to“b˜e“ xed“an•²!yw“a“y‘ÿe.Ž©Pˆ‘ãŒÃ710Ž‘õŒÏ\xydef@\checkafterCURVE@{%ŽŽ¡‘ãŒÃ711Ž‘ûKÃÏ\edef\tmp@{\noexpand\xyFN@\noexpand\checkendcurve@‘¿ª%ŽŽ¡‘ãŒÃ712Ž‘ mÏ\afterCURVEaction@\noexpand\endcurve}\tmp@‘¿ª}ŽŽ¦‘ãŒÃ714Ž‘õŒÏ\xylet@\searchflag@=\relaxŽŽ¡‘ãŒÃ715Ž‘õŒÏ\xydef@\setsearchflag@{\let\searchflag@=@}ŽŽ¡‘ãŒÃ716Ž‘õŒÏ\xydef@\clearsearchflag@{\let\searchflag@=\relax}ŽŽ¡‘ãŒÃ717Ž‘õŒÏ\xydef@\flagwarn@#1{%ŽŽ¡‘ãŒÃ718Ž‘ûKÃÏ\ifx\next\@endcurve\DN@{\xyFN@\checkendcurve@\endcurve}%ŽŽ¡‘ãŒÃ719Ž‘ûKÃÏ\else\setsearchflag@\DN@{\xyFN@\checkendcurve@}%ŽŽ¡‘ãŒÃ720Ž‘ mÏ\xywarning@{skipping–¿ªinvalid“token“\string#1\space“in“curve}%ŽŽ¡‘ãŒÃ721Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŸãü‘ôŒ¹It–Tis“pšMÞossible“for“the“ nal“Ï\endcurveŽ‘;É¢¹to“b˜e“omitted,‘Pbut“only“when“the“next“tok²!en“is“Ï\endxyŽ‘&„P¹.‘ý¨AŽ¡‘ãŒwš²!arning–¦fmessage“is“written“to“the“log“ le,“protesting“against“this“slopp˜y“T‘þ,³Ÿ[wEŽ‘B X-ing.Ç Ž‘lÏÂŽ‘LÍÅ^ŽŽŽŽ¦‘ãŒÃ729Ž‘õŒÏ\xydef@\sloppyendcrv@{%ŽŽ¡‘ãŒÃ730Ž‘õŒÏ\xywarning@{Please–¿ªuse“\string\endcurve\space“to“end“the“curve.}\endxycurve@}ŽŽŸãü‘ôŒ¹Creation–éof“the“Ï\crvŽ‘и¹is“completed“when“Ï\endcrv@Ž‘5Ï`¹is“encoun•²!tered.‘¥ÂA“t–éthis“pMÞoin²!t“the“usual“meth-Ž¡‘ãŒoMÞds‘Û[Ï\Drop@@Ž‘1ô\¹and‘Û[Ï\Connect@@Ž‘C3Z¹are–Û[de ned.‘|½Extra“information“is“retained,‘(˜using“Ï\saveshape@Ž‘Hó¹andŽ¡‘ãŒÏ\savecrvparams@Ž‘=mu¹for–¦fthe“bšMÞene t“of“metho˜ds“whicš²!h“treat“the“curv˜e“as“a“connection.ަ‘ãŒÃ742Ž‘õŒÏ\xydef@\endcrv@{\saveshape@‘¿ª%\def\Upness@{0}%ŽŽ¡‘ãŒÃ743Ž‘ûKÃÏ\Edge@c={\splineEdge}\Invisible@false\Hidden@falseŽŽ¡‘ãŒÃ744Ž‘ûKÃÏ\edef\Drop@@{\noexpand\ifInvisible@‘¿ª\setbox\z@=\copy\voidb@xŽŽ¡‘ãŒÃ745Ž‘ mÏ\noexpand\elseŽŽ¡‘ãŒÃ746Ž‘ mÏ\noexpand\wdz@=\z@ŽŽ¡‘ãŒÃ747Ž‘ mÏ\noexpand\ht\z@=\z@‘¿ª\noexpand\dp\z@=\z@ŽŽ¡‘ãŒÃ748Ž‘ mÏ\noexpand\splineDrop@ŽŽ¡‘ãŒÃ749Ž‘ûKÃÏ\noexpand\fi‘¿ª}%ŽŽ¡‘ãŒÃ750Ž‘õŒÏ%ŽŽ¡‘ãŒÃ751Ž‘ûKÃÏ\edef\Connect@@{%ŽŽ¡‘ãŒÃ752Ž‘ mÏ\noexpand\setbox\z@=\noexpand\box\lastobjectbox@ŽŽ¡‘ãŒÃ753Ž‘ mÏ\noexpand\wdz@=\z@ŽŽ¡‘ãŒÃ754Ž‘ mÏ\noexpand\ht\z@=\z@‘¿ª\noexpand\dp\z@=\z@ŽŽŽŽŒ‹½? Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй129ŽŽ ¶?? ýh«w‘ãŒÃ755Ž‘ mÏ\expandafter\noexpand\pure@crvŽŽ¤ ™š‘ãŒÃ756Ž‘ mÏ\noexpand\ifInvisible@–¿ª\noexpand\crv@saveStyles@“\noexpand\elseŽŽ¡‘ãŒÃ757Ž‘ mÏ\noexpand\crv@getStyles@\noexpand\styledboxz@‘¿ª\noexpand\fiŽŽ¡‘ãŒÃ758Ž‘õŒÏ%ŽŽ¡‘ãŒÃ759Ž‘ mÏ\noexpand\ifHidden@\noexpand\elseŽŽ¡‘ãŒÃ760Ž‘ mÏ\noexpand\ifx\noexpand\COORD@\noexpand\xymatrixCOORD@‘¿ª\noexpand\elseŽŽ¡‘ãŒÃ761Ž‘ËÏ\noexpand\X@min=\the\X@min‘¿ª\noexpand\X@max=\the\X@maxŽŽ¡‘ãŒÃ762Ž‘ËÏ\noexpand\Y@min=\the\Y@min‘¿ª\noexpand\Y@max=\the\Y@maxŽŽ¡‘ãŒÃ763Ž‘ mÏ\noexpand\fi‘¿ª\noexpand\fiŽŽ¡‘ãŒÃ764Ž‘ mÏ\savecrvparams@–¿ª\noexpand\crvconnect@“%\noexpand\initbreaks@ŽŽ¡‘ãŒÃ765Ž‘ûKÃÏ}%ŽŽ¡‘ãŒÃ766Ž‘ûKÃÏ\wdz@=\z@ŽŽ¡‘ãŒÃ767Ž‘ûKÃÏ\ht\z@=\z@–¿ª\dp\z@=\z@“}ŽŽŸüP‘ôŒ¹The–Ÿ•conš²!trol“names“Ï\crvXY@pre@Ž‘F{x¹and“Ï\crvXY@post@Ž‘L;"¹are“used“to“transfer“st˜yle“information“passedŽ¡‘ãŒwith‘¦fÏ\preconnect@Ž‘LHĹto‘¦fsubsegmen²!ts.Ž©Pˆ‘ãŒÃ774Ž‘õŒÏ\xydef@\crvXY@pre@{}ŽŽ¡‘ãŒÃ775Ž‘õŒÏ\xydef@\crvXY@post@{}ŽŽ¦‘ãŒÃ777Ž‘õŒÏ\xydef@\crv@saveStyles@{\def\xy@style@{}%ŽŽ¡‘ãŒÃ778Ž‘ûKÃÏ\expandafter\def\expandafter\crvXY@pre@\expandafter{\preXY@style@}%ŽŽ¡‘ãŒÃ779Ž‘ûKÃÏ\expandafter\def\expandafter\crvXY@post@\expandafter{\postXY@style@}}ŽŽ¦‘ãŒÃ781Ž‘õŒÏ\xydef@\crv@getStyles@{\def\xy@style@{}%ŽŽ¡‘ãŒÃ782Ž‘ûKÃÏ\gdef\preXY@style@{\crvXY@pre@}\gdef\postXY@style@{\crvXY@post@}}ŽŽŸüP‘ôŒ¹The–W v‘ÿdDalues“of“Ï\X@minŽ‘%Õ¹,‘fêÏ\X@maxŽ‘%äæ¹,›fêÐetc¹.“are“used“to“compute“the“exten²!ts“Ï\L@cŽ‘U²¹,˜Ï\R@cŽ‘e’¹,˜Ðetc¹.“of“the“ob‘›»ject.Ž¡‘ãŒThis–‹†information“mš²!ust“bMÞe“main˜tained“after“the“group“is“closed,‘Äunless“the“\hidden"“attribute“is“requiredŽ¡‘ãŒor–¦fw²!e“are“inside“a“matrix“construction.ŽŸEb‘ôŒIn–-”calculating“the“size“of“the“bMÞoš²!x“con˜taining“the“curv˜e“Ï\X@minŽ‘'«¹,‘_Ï\X@maxŽ‘( [¹,‘_Ðetc¹.“are“initialised“toŽ¡‘ãŒdescribMÞe–¦fthe“minimš²!um“rectangle“enclosing“Äp“¹and“Äc¹.‘ÝÝA˜t“the“same“time“w˜e“sa˜v˜e“the“curren˜t“scopMÞe.ަ‘ãŒÃ795Ž‘õŒÏ\xydef@\initshape@{\savescope@ŽŽ¡‘ãŒÃ796Ž‘ûKÃÏ\ifdim\X@c>\X@p–¿ª\X@min=\X@p“\X@max=\X@c“\else“\X@max=\X@p“\X@min=\X@c“\fiŽŽ¡‘ãŒÃ797Ž‘ûKÃÏ\ifdim\Y@c>\Y@p–¿ª\Y@min=\Y@p“\Y@max=\Y@c“\else“\Y@max=\Y@p“\Y@min=\Y@c“\fi“}ŽŽŸüP‘ôŒ\saveshapeŽ‘1¯#¹is–¦fused“to“pass“necessary“information“up“one“lev²!el“of“grouping.ަ‘ãŒÃ804Ž‘õŒÏ\xydef@\saveshape@{\savectrlptsnum@ŽŽ¡‘ãŒÃ805Ž‘ûKÃÏ\R@c=\X@max–¿ª\advance\R@c-\X@c“\L@c=\X@c“\advance\L@c-\X@minŽŽ¡‘ãŒÃ806Ž‘ûKÃÏ\U@c=\Y@max–¿ª\advance\U@c-\Y@c“\D@c=\Y@c“\advance\D@c-\Y@minŽŽ¡‘ãŒÃ807Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\U@c=\the\U@c“\D@c=\the\D@c“\L@c=\the\L@c“\R@c=\the\R@cŽŽ¡‘ãŒÃ808Ž‘ûKÃÏ\noexpand\ifdim\noexpand\X@min>\the\X@min\noexpand\X@min=\the\X@min\noexpand\fiŽŽ¡‘ãŒÃ809Ž‘ûKÃÏ\noexpand\ifdim\noexpand\Y@min>\the\Y@min\noexpand\Y@min=\the\Y@min\noexpand\fiŽŽ¡‘ãŒÃ810Ž‘ûKÃÏ\noexpand\ifdim\noexpand\X@max<\the\X@max\noexpand\X@max=\the\X@max\noexpand\fiŽŽ¡‘ãŒÃ811Ž‘ûKÃÏ\noexpand\ifdim\noexpand\Y@max<\the\Y@max\noexpand\Y@max=\the\Y@max\noexpand\fiŽŽ¡‘ãŒÃ812Ž‘ûKÃÏ\savecrvparams@‘¿ª\def\noexpand\pure@crv{\expandafter\noexpand\pure@crv}}%ŽŽ¡‘ãŒÃ813Ž‘ûKÃÏ\tmp@‘¿ª}ŽŽ¦‘ãŒÃ815Ž‘õŒÏ\xydef@\savecrvparams@{\crvpts@={\the\crvpts@}%ŽŽ¡‘ãŒÃ816Ž‘ûKÃÏ\noexpand\def\noexpand\crvconnect@{\expandafter\noexpand\crvconnect@}}%ŽŽŸv‘ãŒÃ822Ž‘õŒÏ\xydef@\splineEdge{\rectangleEdge}ŽŽŸüP‘ôŒÔT‘þó\o‘nNDo:‘EɹThis–Ú\can“bšMÞe“impro•²!v“ed.‘y¾F‘ÿeor–Ú\example,‘çYtrace“along“the“spline“un²!til“an“appropriate“p˜oin²!t“isŽŽŽŒ‹‚Ëá Á à ý*tj‘㌹130’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘㌹found.‘ÝÝThere–¦fmaš²!y“bMÞe“more“than“one“suc˜h“pMÞoin˜t,“so“extra“criteria“ma˜y“bMÞe“required.ŽŸ&K‘ãŒÔNotesŽŸÛ‘ãŒ¹2.1a.ŽŽ=The–Ar\drop"“ob‘›»ject“is“set“once,‘U£then“\droppMÞed"“man²!y“times“at“appropriately“spaced“places“alongޤ ™š‘õŒthe–¶`curv²!e.› ËIf“directional,‘º^the“direction“from“Äp“¹to“Äc“¹is“used.˜Default“bMÞehaš²!viour“is“to“ha˜v˜e“tin˜y“dotsŽ¡‘õŒspaced–G¹sucienš²!tly“closely“as“to“giv˜e“the“appšMÞearance“of“a“smo˜oth“curv²!e.‘¾NSp˜ecifying“a“larger“size“forŽ¡‘õŒthe–¦f\drop"“ob‘›»ject“is“a“w•²!a“y–¦fof“getting“a“dotted“curv²!e“(see“the“example“in“the“next“note).Ž©(Ê‘ãŒ2.1b.ŽŽ‘©ùThe–\connect"“ob‘›»ject“is“also“droppMÞed“at“eacš²!h“place“along“the“curv˜e.‘°mHo˜w˜ev˜er,‘9Zif“non-empt˜y‘ÿe,‘9ZthisŽ¡‘õŒob‘›»ject–*“uses“the“tangenš²!t“direction“at“eac˜h“place.‘jdThis“allo˜ws“a“directional“ob‘›»ject“to“bšMÞe“sp˜eci ed,Ž¡‘õŒwhose–Bdorienš²!tation“will“alw˜a˜ys“matc˜h“the“tangen˜t.‘±ÖT‘ÿeo“adjust“the“spacing“of“suc˜h“ob‘›»jects,‘icuse“anŽ¡‘õŒemptš²!y–¦f\drop"“ob‘›»ject“of“non-zero“size“as“sho˜wn“here:ŽŸ5¦ž’ÿNïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ’ñŸ™ÐBŽŽŽŽ‘ :ðŸ÷Þ:ŽŽŽŽŽŽ‘¡GŸõ2˜:ŽŽŽŽŽŽ‘:óŸò@:ŽŽŽŽŽŽ‘—DŸï³ø:ŽŽŽŽŽŽ‘¾>Ÿíø:ŽŽŽŽŽŽ‘ ·ÝŸìÊÞ:ŽŽŽŽŽŽ‘$Œ%Ÿì´:ŽŽŽŽŽŽ‘(CŸëÁç:ŽŽŽŽŽŽ‘+ä°Ÿë¸É:ŽŽŽŽŽŽ‘/xôŸëã°:ŽŽŽŽŽŽ‘3áŸì+í:ŽŽŽŽŽŽ‘6™yŸìzØ:ŽŽŽŽŽŽ‘:5½Ÿì¹¿:ŽŽŽŽŽŽ‘=ä­ŸìÑû:ŽŽŽŽŽŽ‘A®JŸì¬Û:ŽŽŽŽŽŽ‘Eš’Ÿì3·:ŽŽŽŽŽŽŽ‘Eš’Ÿì3·:ŽŽŽŽŽŽ‘I¯ÄŸëZ‰:ŽŽŽŽŽŽ‘Mì÷Ÿê@:ŽŽŽŽŽŽ‘ROƒŸé z:ŽŽŽŽŽŽ‘VÔºŸçìI:ŽŽŽŽŽŽ‘[yõŸçÆ:ŽŽŽŽŽŽ‘`<‡ŸæƒK:ŽŽŽŽŽŽ‘eÆŸæŽ/:ŽŽŽŽŽŽ‘jŸçOÌ:ŽŽŽŽŽŽ‘ožŸèñx:ŽŽŽŽŽŽ‘q¦Ÿê#@:ŽŽŽŽŽŽ‘t6âŸëœŽ:ŽŽŽŽŽŽ‘v˰Ÿíb‹:ŽŽŽŽŽŽ‘yd'Ÿïzd:ŽŽŽŽŽŽ‘{ÿõŸñéC:ŽŽŽŽŽŽ‘~žÂŸô´V:ŽŽŽŽŽŽ’@<Ÿ÷àÂ:ŽŽŽŽŽŽ’ƒä Ÿûs¸:ŽŽŽŽŽŽ’†‰ÙŸÿra:ŽŽŽŽŽŽ’‰1QŸáæ:ŽŽŽŽŽŽ’‹Ú ŸÇu:ŽŽŽŽŽŽ’.íŸ h:ŽŽŽŽŽŽ’ŽƒîŸ(7:ŽŽŽŽŽŽ’ÙŸi:ŽŽŽŽŽŽŽŽŽŽ‘ÿŸ Qêï" {1769 10 /xy AB}xyŽŽŽŽŽŽŽ‘ÏüŸŒï" {2065 10 /xy AB}xyŽŽŽŽŽŽŽ‘ l$ŸLçï" {2340 10 /xy AB}xyŽŽŽŽŽŽŽ‘)ÀÇŸ4„ï" {2542 10 /xy AB}xyŽŽŽŽŽŽŽ‘3©Ÿ!ׄï" {2697 10 /xy AB}xyŽŽŽŽŽŽŽ‘=ø˜Ÿ$aGï" {2820 10 /xy AB}xyŽŽŽŽŽŽŽ‘H‰9Ÿ%úeï" {2922 10 /xy AB}xyŽŽŽŽŽŽŽ‘S:^Ÿ&žpï" {3008 10 /xy AB}xyŽŽŽŽŽŽŽ‘]á5Ÿ&“8ï" {3083 10 /xy AB}xyŽŽŽŽŽŽŽ‘hX^Ÿ%Íï" {3150 10 /xy AB}xyŽŽŽŽŽŽŽ‘ruSŸ$gêï" {3213 10 /xy AB}xyŽŽŽŽŽŽŽ‘| ŽŸ" ï" {3273 10 /xy AB}xyŽŽŽŽŽŽŽ’„ö³Ÿ .%ï" {3334 10 /xy AB}xyŽŽŽŽŽŽŽ’ÚŸXï" {3400 10 /xy AB}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸLoð‘õŒÏ\xy–¿ª(0,0)*+{A};“(50,-10)*+{B}ŽŽ¡‘õŒ**\crv{~*=<4pt>{.}‘¿ª(10,10)&(20,0)&(40,15)}ŽŽ¡‘õŒ**\crv{~*=<8pt>{}~**!/-5pt/\dir{>}(10,-20)ŽŽ¡‘ûKÃ&(40,-15)}‘¿ª\endxyŽŽŸ ‘õŒ¹When–µthere“is“no“\connect"“ob‘›»ject“then“the“tangen²!t“calculations“are“not“carried“out,‘¹Eresulting“inŽ¡‘õŒa–¦fsaš²!ving“of“time“and“memory;“this“is“the“default“bMÞeha˜viour.ަ‘ãŒ2.1c.ŽŽ‘ÿrThe–«\drop"“and“\connect"“ob‘›»jects“can“bšMÞe“sp˜eci ed“as“man²!y“times“as“desired.‘ëÛOnly“the“lastŽ¡‘õŒspMÞeci cation–P—of“eacš²!h“t˜ypMÞe“will“actually“ha˜v˜e“an˜y“e ect.‘Üq(This“mak˜es“it“easy“to“expMÞerimen˜t“withŽ¡‘õŒdi eren•²!t‘¦fst“yles.)ަ‘ãŒ2.1d.ŽŽ‘©ùComplicated–ROdiagrams“haš²!ving“sev˜eral“spline“curv˜es“can“tak˜e“quite“a“long“time“to“proMÞcess“andŽ¡‘õŒmaš²!y–Ù'use“a“lot“of“T‘þ,³Ÿ[wEŽ‘B X's“memory‘ÿe.‘v!A‘Ùcon˜v˜enien˜t“device,‘åØespMÞecially“while“dev˜eloping“a“picture,‘åØis“toŽ¡‘õŒshoš²!w–ä‚only“the“loMÞcation“of“the“con˜trol“pMÞoin˜ts“or“to“join“the“con˜trol“pMÞoin˜ts“with“lines,‘ô as“a“st˜ylizedŽ¡‘õŒapproš²!ximation–à—to“the“spline“curv˜e.‘ŒqThe“Çh¹curv˜e-optionÇi¹s“Ï~pŽ›@‚¹and“Ï~lŽ˜¹are“pro²!vided“for“this“purpMÞose.Ž¡‘õŒUppMÞercase–ñ'v²!ersions“Ï~PŽ›a¢¹and“Ï~LŽ˜¹do“the“same“thing“but“use“anš²!y“Çh¹curv˜e-ob‘›»jectÇi¹s“that“ma˜y“bšMÞe“sp˜eci ed,Ž¡‘õŒwhereas–&Êthe“lo•²!w“ercase›&Êv“ersions˜use˜plain˜defaults:‘žsmall˜cross˜for˜Ï~pŽ‘¦¹,‘@Pstraigh“t˜line˜for˜Ï~lŽ‘¦¹.‘³TSimilarlyŽ¡‘õŒÏ~CŽ‘±Ó¹and‘¦fÏ~cŽ‘Ì ¹set–¦fthe“spline“curvš²!e“using“an˜y“spMÞeci ed“Çh¹curv˜e-optionÇi¹s“or“as“a“(default)“plain“curv˜e.ަ‘ãŒ2.1e.ŽŽ‘ÿrUse–îÆof“Ï~pŽ‘n¹,‘€Ï~lŽ‘’Ô¹,‘€etc.‘ ¨is“extended“to“enable“bMÞoth“the“curvš²!e“and“the“con˜trol“pMÞoin˜ts“to“bMÞe“easily“sho˜wnŽ¡‘õŒin–zXthe“same“picture.‘Ï.Mixing“uppšMÞer-“and“lo•²!w“er-case–zXsp˜eci es“whether“the“Çh¹curv²!e-optionÇi¹s“are“to“b˜eŽ¡‘õŒapplied–§to“the“spline“curvš²!e“or“the“(lines“joining)“con˜trol“pMÞoin˜ts.‘ò¡See“the“examples“accompan˜yingŽ¡‘õŒthe–¦fnext“t•²!w“o‘¦fnotes.ަ‘ãŒ2.1f.ŽŽ‘ýí,By–Ùèdefault“the“conš²!trol“pMÞoin˜ts“are“mark˜ed“with“a“small“cross,‘æÈspMÞeci ed“b˜y“Ï*\dir{x}Ž‘1×8¹.‘xcThe“\con-Ž¡‘õŒnect"–¦fob‘›»ject“is“ignored“completely‘ÿe.ŽŽŽŒ‹ƒÚC Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй131ŽŽ ¶?? ýh«wŸ.E’ÿNïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ’ñŸ™ÐBŽŽŽŽ‘#ŸÜï " {3773 st}xyŽŽŽŽ‘!¯ŸF¢ï" {3773 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘@ïŸÒºcï " {3773 st}xyŽŽŽŽ‘=óŸÔ$÷ï" {3773 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘x꫟Һcï " {3773 st}xyŽŽŽŽ‘vÛIŸÔ$÷ï" {3773 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ :ðŸ]Ü:ŽŽŽŽŽŽ‘¡GŸÐD:ŽŽŽŽŽŽ‘öIŸñþ:ŽŽŽŽŽŽ‘:óŸÆÛ:ŽŽŽŽŽŽ‘pHŸR´:ŽŽŽŽŽŽ‘—DŸ™\:ŽŽŽŽŽŽ‘¾>Ÿfv:ŽŽŽŽŽŽ‘ ·ÝŸLÒ:ŽŽŽŽŽŽ‘"¦-Ÿs:ŽŽŽŽŽŽ‘$Œ%Ÿk :ŽŽŽŽŽŽ‘&jÉŸ8Ø:ŽŽŽŽŽŽ‘(CŸà :ŽŽŽŽŽŽ‘*Ÿd”:ŽŽŽŽŽŽ‘+ä°žÊD:ŽŽŽŽŽŽ‘-¯þŸþò:ŽŽŽŽŽŽ‘/xôŸüHs:ŽŽŽŽŽŽ‘1@–Ÿúhœ:ŽŽŽŽŽŽ‘3áŸøyG:ŽŽŽŽŽŽ‘4ÏÙŸö~E:ŽŽŽŽŽŽ‘6™yŸô{n:ŽŽŽŽŽŽ‘8eÇŸòt•:ŽŽŽŽŽŽ‘:5½Ÿðm“:ŽŽŽŽŽŽ‘< `Ÿîj;:ŽŽŽŽŽŽ‘=ä­Ÿìnd:ŽŽŽŽŽŽ‘?ŦŸê}ã:ŽŽŽŽŽŽ‘A®JŸèœŽ:ŽŽŽŽŽŽ‘CŸ™ŸæÎ::ŽŽŽŽŽŽ‘Eš’Ÿå¿:ŽŽŽŽŽŽŽ‘Eš’Ÿå¿:ŽŽŽŽŽŽ‘G Ÿãyµ:ŽŽŽŽŽŽ‘I¯ÄŸáùÙ:ŽŽŽŽŽŽ‘KɈŸà™©:ŽŽŽŽŽŽ‘Mì÷Ÿß[¨:ŽŽŽŽŽŽ‘P½ŸÞBR:ŽŽŽŽŽŽ‘ROƒŸÝP+:ŽŽŽŽŽŽ‘TôŸÜ‡²:ŽŽŽŽŽŽ‘VÔºŸÛëg:ŽŽŽŽŽŽ‘Y#ƒŸÛ}É:ŽŽŽŽŽŽ‘[yõŸÛAZ:ŽŽŽŽŽŽ‘]×¾ŸÛ8™:ŽŽŽŽŽŽ‘`<‡ŸÛf:ŽŽŽŽŽŽ‘b§ýŸÛÌ$:ŽŽŽŽŽŽ‘eÆŸÜmq:ŽŽŽŽŽŽ‘g‘‘ŸÝLl:ŽŽŽŽŽŽ‘jŸÞk—:ŽŽŽŽŽŽ‘l‘ÓŸßÍp:ŽŽŽŽŽŽ‘ožŸátz:ŽŽŽŽŽŽ‘q¦Ÿãc3:ŽŽŽŽŽŽ‘t6âŸåœ:ŽŽŽŽŽŽ‘v˰Ÿè!¶:ŽŽŽŽŽŽ‘yd'Ÿêö:ŽŽŽŽŽŽ‘{ÿõŸîý:ŽŽŽŽŽŽ‘}OŸïϤ:ŽŽŽŽŽŽ‘~žÂŸñ—ª:ŽŽŽŽŽŽ‘ï0ŸóuY:ŽŽŽŽŽŽ’@<Ÿõi:ŽŽŽŽŽŽ’‚‘ÞŸ÷rÿ:ŽŽŽŽŽŽ’ƒä Ÿù“•:ŽŽŽŽŽŽ’…6·ŸûË:ŽŽŽŽŽŽ’†‰ÙŸþÖ:ŽŽŽŽŽŽ’‡ÝfŸ€!:ŽŽŽŽŽŽ’‰1QŸþG:ŽŽŽŽŽŽ’Š…”Ÿ”œ:ŽŽŽŽŽŽ’‹Ú ŸCl:ŽŽŽŽŽŽ’.íŸ :ŽŽŽŽŽŽ’ŽƒîŸ ëÀ:ŽŽŽŽŽŽ’ÙŸåç:ŽŽŽŽŽŽŽŽŽŽŽŽŽŽ©.Ïö‘õŒ¹w•²!as›¦ft“ypMÞeset˜b“y˜.–Ó3.“.ŽŸPˆ‘õŒÏ\xy‘¿ª(0,0)*+{A};(50,-10)*+{B}ŽŽ¤ ™š‘õŒ**\crv~pC{~*=<\jot>{.}(10,-10)&(20,15)ŽŽ¡‘ûKÃ&(40,15)}‘¿ª\endxyŽŽŸ¸0‘㌹2.1g.ŽŽ=With–r_lines“connecting“conš²!trol“pMÞoin˜ts“the“default“\drop"“ob‘›»ject“is“empt˜y‘ÿe,‘¥]while“the“\connect"Ž¡‘õŒob‘›»ject–ßïis“Ï\dir{-}Ž‘1ý„¹for“simple“straighš²!t“lines.‘ŠyIf“non-empt˜y‘ÿe,‘.Qthe“\drop"“ob‘›»ject“is“placed“at“eac˜hŽ¡‘õŒcon•²!trol›¦fpMÞoin“t.‘ÝÝThe˜\connect"˜ob‘›»ject˜ma“y˜b•MÞe˜used˜to˜sp“ecify˜a˜fancy˜line˜st²!yle.ŽŸÍnŸ@%ò’ÿNïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ’ñŸ™ÐBŽŽŽŽ‘;ÀÌŸÇ=AÇŽŽŽŽŽŸýh0‘<\ˆŸÊ¾«ï" {46.51396 46.51396 dd}xyŽŽŽ‘fn™ŸÕw0ŽŽŽŽŽ‘fn™ŸÑPnï" {34.16222 -11.39851 dd}xyŽŽŽŸýh0’‘UqŸ¶ï" {36.45837 -60.74026 dd}xyŽŽŽ‘3Ÿýh0ï\" {mark 0.0 0.0 56.90521 56.90521 99.58412 42.67891 142.26303 -28.4526 0.04166 0.96759 bz}xyŽŽŽŽŽŽŽ¦‘õŒ¹w•²!as›¦ft“ypMÞeset˜b“y˜.–Ó3.“.Ž©Pˆ‘õŒÏ\xy‘¿ª(0,0)*+{A};(50,-10)*+{B}ŽŽ¡‘õŒ**\crv~Lc{~**\dir{--}~*{\oplus}ŽŽ¡‘ûKÃ(20,20)&(35,15)}‘¿ª\endxyŽŽŸ¸0‘㌹2.1h.ŽŽ‘©ùWhen–ü‚a“stac²!k“of“Çh¹pšMÞosÇi¹itions“has“b˜een“established“using“the“Ï@iŽ›xX¹and“Ï@+Ž˜¹commands,‘}these“pMÞositionsŽ¡‘õŒcan–¦fbšMÞe“used“and“are“app˜ended“to“the“Çh¹p˜oslistÇi¹.ަ‘ãŒÃ940Ž‘õŒÏ\xydef@\xy@@crvaddstack{%ŽŽ¡‘ãŒÃ941Ž‘ûKÃÏ\ifx\next–¿ª~\xywarning@{there“should“be“a“poslist“here,“\string~@“ignored}%ŽŽ¡‘ãŒÃ942Ž‘ mÏ\DN@{\xy@crvmods@}%ŽŽ¡‘ãŒÃ943Ž‘ûKÃÏ\else\DN@{\xy@@crvaddstack@}\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ945Ž‘õŒÏ\xydef@\xy@@crvaddstack@{\smapxy@@\addtocrv@‘¿ª\xyFN@\checkendcurve@}ŽŽ¦‘ãŒÃ947Ž‘õŒÏ\xydef@\checkcrvtilde@{%ŽŽ¡‘ãŒÃ948Ž‘ûKÃÏ\addAT@\ifx\next\addAT@\DN@{\xy@@crvaddstack@}%ŽŽ¡‘ãŒÃ949Ž‘ûKÃÏ\else\xywarning@{invalid–¿ªtoken“after“~,“ignored}%ŽŽ¡‘ãŒÃ950Ž‘ mÏ\DN@##1{\xyFN@\checkendcurve@}%ŽŽ¡‘ãŒÃ951Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŸ![;‘ãŒÔSpline‘Ì^MethoY‹ds‘ ó5¹Eacš²!h‘nïÏ\curveŽ‘'[Ú¹has–nïto“set“the“sliding“abilities.‘v This“is“done“b˜y“a“call“to“Ï\crvconnect@@ŽŽ¡‘㌹whic•²!h› giv“es˜v–ÿdDalues˜to˜the˜methoMÞds˜Ï\Creset@@Ž‘7Èÿ¹,‘%mÏ\Cshavep@Ž‘7âg¹,‘%metc.‘»These˜v“alues˜depMÞend˜on˜the˜st²!yle˜ofŽ¡‘ãŒthe–¦fcurv²!e“itself.ަ‘ãŒÃ968Ž‘õŒÏ\xydef@\crvconnect@@{%ŽŽ¡‘ãŒÃ969Ž‘ mÏ\def\Creset@@{\crvreset@}%ŽŽ¡‘ãŒÃ970Ž‘ mÏ\def\Cshavep@@{\crvshavep@}%ŽŽŽŽŒ‹„íã Á à ý*tj‘㌹132’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ971Ž‘ mÏ\def\Cshavec@@{\crvshavec@}%ŽŽ¤ ™š‘ãŒÃ972Ž‘ mÏ\def\Cslidep@@{\crvslidep@}%ŽŽ¡‘ãŒÃ973Ž‘ mÏ\def\Cslidec@@{\crvslidec@}%ŽŽ¡‘ãŒÃ974Ž‘ mÏ\def\Calong@@{\crvalong@}%ŽŽ¡‘ãŒÃ975Ž‘ mÏ\def\Cintercept@@{\crvintercept@}%ŽŽ¡‘ãŒÃ976Ž‘ mÏ\def\Cbreak@@{\crvbreak@}%ŽŽ¡‘ãŒÃ977Ž‘ mÏ\def\Clast@@{\crvlast@}%ŽŽ¡‘ãŒÃ978Ž‘õŒÏ}ŽŽ©­¶‘ôŒ¹When–¦fstraigh²!t“lines“are“required“.–Ó3.“.ŽŸPˆ‘ãŒÃ984Ž‘õŒÏ\xydef@\straitconnect@{\crvconnect@@ŽŽ¡‘ãŒÃ985Ž‘ mÏ\let\crvreset@=\straitreset@ŽŽ¡‘ãŒÃ986Ž‘ mÏ\let\crvshavep@=\straitshavep@ŽŽ¡‘ãŒÃ987Ž‘ mÏ\let\crvshavec@=\straitshavec@ŽŽ¡‘ãŒÃ988Ž‘ mÏ\let\crvslidep@=\straitslidep@ŽŽ¡‘ãŒÃ989Ž‘ mÏ\let\crvslidec@=\straitslidec@ŽŽ¡‘ãŒÃ990Ž‘ mÏ\let\crvalong@=\straitalong@ŽŽ¡‘ãŒÃ991Ž‘ mÏ\let\crvintercept@=\straitintercept@ŽŽ¡‘ãŒÃ992Ž‘ mÏ\let\crvbreak@=\straitbreak@ŽŽ¡‘ãŒÃ993Ž‘ mÏ\let\crvlast@=\straitlast@ŽŽ¡‘ãŒÃ994Ž‘õŒÏ}ŽŽ¦‘ôŒ¹These–¦fare“the“actual“methoMÞds“used“for“a“sequence“of“straighš²!t“segmen˜ts.Ž©Pˆ‘ãŒÃ1000Ž‘õŒÏ\xydef@\straitreset@{\the\crvpts@ŽŽ¡‘ãŒÃ1001Ž‘ûKÃÏ\edef\xycrvptsnum@{\csname‘¿ªptsnum@\endcsname}%ŽŽ¡‘ãŒÃ1002Ž‘ûKÃÏ\def\segmentnum@{0}}ŽŽ¡‘ãŒÃ1003Ž‘õŒÏ\xydef@\straitslidep@{\setupDirection@ii–¿ª\noCslidep@@“}ŽŽ¡‘ãŒÃ1004Ž‘õŒÏ\xydef@\straitslidec@{\setupDirection@ii–¿ª\noCslidec@@“}ŽŽ¦‘ãŒÃ1006Ž‘õŒÏ\xydef@\straitshavep@{%ŽŽ¡‘ãŒÃ1007Ž‘ûKÃÏ\expandafter\ifnum\xycrvptsnum@>\z@ŽŽ¡‘ãŒÃ1008Ž‘ mÏ\def\segmentnum@{0}%ŽŽ¡‘ãŒÃ1009Ž‘ mÏ\csname‘¿ªcv@1\endcsnameŽŽ¡‘ãŒÃ1010Ž‘ mÏ\resetDirection@‘¿ª\setupDirection@iiŽŽ¡‘ãŒÃ1011Ž‘ûKÃÏ\fi–¿ª\noCshavep@@“}ŽŽ¦‘ãŒÃ1013Ž‘õŒÏ\xydef@\straitshavec@{%ŽŽ¡‘ãŒÃ1014Ž‘ûKÃÏ\expandafter\ifnum\xycrvptsnum@>\z@ŽŽ¡‘ãŒÃ1015Ž‘ mÏ\expandafter\count@@\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ1016Ž‘ mÏ\bgroup–¿ª\csname“cv@\number\count@@\endcsnameŽŽ¡‘ãŒÃ1017Ž‘ mÏ\edef\tmp@{\egroup–¿ª\X@p=\the\X@c“\Y@p=\the\Y@c}\tmp@ŽŽ¡‘ãŒÃ1018Ž‘ mÏ\edef\segmentnum@{\xycrvptsnum@}%ŽŽ¡‘ãŒÃ1019Ž‘ mÏ\resetDirection@‘¿ª\setupDirection@iiŽŽ¡‘ãŒÃ1020Ž‘ûKÃÏ\fi–¿ª\noCshavec@@“}ŽŽ¦‘ãŒÃ1022Ž‘õŒÏ\xydef@\straitalong@#1{%ŽŽ¡‘ãŒÃ1023Ž‘ûKÃÏ\ifdim#1\p@<\z@ŽŽ¡‘ãŒÃ1024Ž‘ mÏ\xywarning@{parameter–¿ªvalue“#1“is“negative,“using“0}%ŽŽ¡‘ãŒÃ1025Ž‘ mÏ\cfromp@‘¿ª\def\PLACEf@{{0}}%ŽŽ¡‘ãŒÃ1026Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1027Ž‘ mÏ\dimen@=#1\p@–¿ª\count@=\dimen@“\divide\count@\p@ŽŽ¡‘ãŒÃ1028Ž‘ mÏ\expandafter\count@@\xycrvptsnum@\relax‘¿ª\advance\count@@\@neŽŽŽŽŒ‹…þ\ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй133ŽŽ ¶?? ýh«w‘ãŒÃ1029Ž‘ mÏ\advance\dimen@\segmentnum@\p@ŽŽ¤ ™š‘ãŒÃ1030Ž‘ mÏ\advance\count@\segmentnum@\relaxŽŽ¡‘ãŒÃ1031Ž‘ËÏ\def\segmentnum@{0}%ŽŽ¡‘ãŒÃ1032Ž‘ mÏ\ifnum\count@@<\count@ŽŽ¡‘ãŒÃ1033Ž‘ËÏ\xywarning@{parameter–¿ªvalue“#1“too“large,“using“\the\count@@}%ŽŽ¡‘ãŒÃ1034Ž‘ËÏ\count@=\count@@–¿ª\advance\count@\m@ne“\edef\PLACEf@{{1}}%ŽŽ¡‘ãŒÃ1035Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1036Ž‘ËÏ\advance\dimen@-\count@\p@ŽŽ¡‘ãŒÃ1037Ž‘ËÏ\ifdim\zz@\dimen@\ifnum\count@>\z@ŽŽ¡‘ãŒÃ1038Ž‘ ŠÁÏ\advance\count@\m@ne–¿ª\advance\dimen@\p@“\fi\fiŽŽ¡‘ãŒÃ1039Ž‘ËÏ\edef\PLACEf@{{\expandafter\removePT@\the\dimen@}}%ŽŽ¡‘ãŒÃ1040Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1041Ž‘ mÏ\ifnum\count@=\z@\else‘¿ª\bgroupŽŽ¡‘ãŒÃ1042Ž‘ËÏ\csname‘¿ªcv@\number\count@\endcsnameŽŽ¡‘ãŒÃ1043Ž‘ËÏ\edef\tmp@{\egroup–¿ª\X@p=\the\X@c“\Y@p=\the\Y@c}\tmp@ŽŽ¡‘ãŒÃ1044Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1045Ž‘ mÏ\advance\count@\@neŽŽ¡‘ãŒÃ1046Ž‘ mÏ\ifnum\count@<\count@@ŽŽ¡‘ãŒÃ1047Ž‘õŒÏ\splinetrace@{find–¿ªplace“\the\dimen@\space“along“straight“segmentŽŽ¡‘ãŒÃ1048Ž‘ûKÃÏ\the\count@}%ŽŽ¡‘ãŒÃ1049Ž‘ËÏ\csname‘¿ªcv@\number\count@\endcsnameŽŽ¡‘ãŒÃ1050Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1051Ž‘ mÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@Y=\Y@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ1052Ž‘ûKÃÏ\fi–¿ª\expandafter\noCalong@@\PLACEf@“\czeroEdge@“}ŽŽŸv‘ãŒÃ1056Ž‘õŒÏ\xydef@\straitintercept@{\noCintercept@@}ŽŽ¡‘ãŒÃ1057Ž‘õŒÏ\xydef@\straitbreak@{\straightCbreak@@}ŽŽ¡‘ãŒÃ1058Ž‘õŒÏ\xydef@\straitlast@{\straightClast@@}ŽŽ©]t‘ôŒ¹When–¦fcurvš²!ed“segmen˜ts“are“required“.–Ó3.“.ŽŸPˆ‘ãŒÃ1064Ž‘õŒÏ\xydef@\splineconnect@{%ŽŽ¡‘ãŒÃ1065Ž‘ mÏ\let\crvreset@=\splinereset@ŽŽ¡‘ãŒÃ1066Ž‘ mÏ\let\crvshavep@=\splineshavep@ŽŽ¡‘ãŒÃ1067Ž‘ mÏ\let\crvshavec@=\splineshavec@ŽŽ¡‘ãŒÃ1068Ž‘ mÏ\let\crvslidep@=\splineslidep@ŽŽ¡‘ãŒÃ1069Ž‘ mÏ\let\crvslidec@=\splineslidec@ŽŽ¡‘ãŒÃ1070Ž‘ mÏ\let\crvalong@=\splinealong@ŽŽ¡‘ãŒÃ1071Ž‘ mÏ\let\crvintercept@=\splineintercept@ŽŽ¡‘ãŒÃ1072Ž‘ mÏ\let\crvbreak@=\splinebreak@ŽŽ¡‘ãŒÃ1073Ž‘ mÏ\let\crvlast@=\splinelast@ŽŽ¡‘ãŒÃ1074Ž‘õŒÏ}ŽŽ¦‘ôŒ¹These–¦fare“the“actual“methoMÞds.ŽŸ ¦†‘ôŒÐR‘ÿp¹eset–¦f¹the“spline“parameters:Ž©ÍJ‘ãŒÏ\xycrvptsnum@Ž‘.G»Ô:ŽŽ‘7@˹expands–IQto“a“conš²!trol“sequence,‘r whose“name“incorpMÞorates“the“correct“scoping“lev˜el,Ž¡‘þìgiving–¦fthe“n•²!um“bšMÞer–¦fof“con²!trol“p˜oin²!ts.ަ‘ãŒÏ\the\crvpts@Ž‘(ˆÔ:ŽŽ‘1!¹reads–¦fthe“conš²!trol“pMÞoin˜t“loMÞcations“and“other“information“from“a“tok˜en“list.ަ‘ãŒÏ\xysplineparams@Ž‘?†¹Ô:ŽŽ‘Hɹset–•to“a“conš²!trol“sequence“name,‘ЦincorpMÞorating“the“correct“scoping“lev˜el,‘Цwhic˜hŽ¡‘þìwill–¦falloš²!w“access“to“the“Be²"‘úÔDzier“con˜trol“pMÞoin˜ts“for“eac˜h“spline“segmen˜t,“when“required.ŽŽŽŒ‹† ‹ Á à ý*tj‘㌹134’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÏ\xysplineedges@Ž‘9ÇÔ:ŽŽ‘BÀ¹set–ÁÁto“a“conš²!trol“sequence“name,‘ï|incorpMÞorating“the“correct“scoping“lev˜el,‘ï|whic˜h“giv˜esŽ© ™š‘þìthe–¦fspline“parameters“of“the“edges“of“ob‘›»jects“at“Äp“¹and“Äc¹;ޤ¦‘ãŒÏ\segmentnum@Ž‘(ˆÔ:ŽŽ‘1!¹reset–¦fto“0.Ž¡‘ãŒÏ\splinecorrect@pŽ‘C¹FÔand‘2Ï\splinecorrect@cŽ‘`--Ô:ŽŽ’Àüi¹reset–]éto“0“unš²!til“c˜hanged“b˜y“a“Ï\Cshavep@Ž‘:x̹or“Ï\Cshavec@Ž‘7ã¹.Ž¡‘ãŒÏ\splinelength@Ž‘4eÔ:ŽŽ‘=u¹reset–Mto“0“unš²!til“c˜hanged“b˜y“a“Ï\Cshavep@Ž‘6ØG¹,‘7Ï\Cshavec@Ž‘:f¹or“Ï\Calong@Ž‘1¹;‘I«this“is“needed“b˜yަ‘þìÏ\Cshavep@Ž‘6 à¹and‘wÉÏ\Cshavec@Ž‘:¬Œ¹to–wÉquic²!kly“lošMÞcate“where“to“slide“from,‘esp˜ecially“when“it“is“necessaryަ‘þìto–¦fslide“across“more“than“a“single“spline“segmen²!t.Ž¡‘ãŒÏ\splineplace@Ž‘.G»Ô:ŽŽ‘7@˹reset–¦fto“Ä:¹5.ŽŸØ‘ãŒÃ1110Ž‘õŒÏ\xydef@\splinereset@{\the\crvpts@ŽŽ¦‘ãŒÃ1111Ž‘ûKÃÏ\edef\xycrvptsnum@{\csname‘¿ªptsnum@\endcsname}%ŽŽ¦‘ãŒÃ1112Ž‘ûKÃÏ\edef\xysplineparams@{%ŽŽ¦‘ãŒÃ1113Ž‘ mÏ\expandafter\noexpand\csname‘¿ªparams@\endcsname}%ŽŽ¦‘ãŒÃ1114Ž‘ûKÃÏ\edef\xysplineedges@{%ŽŽ¦‘ãŒÃ1115Ž‘ mÏ\expandafter\noexpand\csname‘¿ªedges@\endcsname}%ŽŽ¦‘ãŒÃ1116Ž‘ûKÃÏ\def\segmentnum@{1}\def\splinecorrect@p{0}\def\splinecorrect@c{0}%ŽŽ¦‘ãŒÃ1117Ž‘ûKÃÏ\splinelength@=\z@‘¿ª\def\splineplace@f{.5}%ŽŽ¦‘ãŒÃ1118Ž‘õŒÏ}ŽŽŸ“£‘ôŒÐShaving–û)¹to“the“appropriate“edge.‘Ü%This“is“simply“a“matter“of“reading“the“stored“edge“informationަ‘ãŒand–ñ·storing“the“appropriate“v‘ÿdDalue“in“Ï\splinecorrect@pŽ‘cÞ¹or“Ï\splinecorrect@cŽ‘_ìW¹.‘¿ÑThe“dicult“part“isަ‘ãŒto–®Vconstruct“the“correct“con²!trol“sequence“name“and“then“to“extract“the“correct“part“of“the“text“in“itsަ‘ãŒexpansion.ޤPˆ‘ãŒÃ1129Ž‘õŒÏ\xydef@\splineshavep@{\begingroupŽŽ¦‘ãŒÃ1130Ž‘ mÏ\edef\xysplineedges@{%ŽŽ¦‘ãŒÃ1131Ž‘ËÏ\expandafter\noexpand\csname‘¿ªedges@\endcsname}%ŽŽ¦‘ãŒÃ1132Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineedges@safe\xysplineedges@‘¿ª@@%ŽŽ¦‘ãŒÃ1133Ž‘ûKÃÏ\edef\tmp@{\noexpand\removePT@\the\dimen5}%ŽŽ¦‘ãŒÃ1134Ž‘ûKÃÏ\edef\tmp@{\endgroupŽŽ¦‘ãŒÃ1135Ž‘ûKÃÏ\noexpand\def\noexpand\splinecorrect@p{\tmp@}}\tmp@ŽŽ¦‘ãŒÃ1136Ž‘ûKÃÏ\setupDirection@ii‘¿ª}ŽŽ¡‘ãŒÃ1138Ž‘õŒÏ\xydef@\splineshavec@{\begingroupŽŽ¦‘ãŒÃ1139Ž‘ûKÃÏ\edef\xysplineedges@{%ŽŽ¦‘ãŒÃ1140Ž‘ mÏ\expandafter\noexpand\csname‘¿ªedges@\endcsname}%ŽŽ¦‘ãŒÃ1141Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineedges@safe\xysplineedges@‘¿ª@@%ŽŽ¦‘ãŒÃ1142Ž‘ûKÃÏ\dimen@=-\dimen7\relax‘¿ª\advance\dimen@\p@ŽŽ¦‘ãŒÃ1143Ž‘õŒÏ%%–¿ª\getcrvsegsnum@“\advance\dimen@\count@\p@ŽŽ¦‘ãŒÃ1144Ž‘ûKÃÏ\edef\tmp@{\noexpand\removePT@\the\dimen@}%\W@{**shave**<\tmp@>***}%ŽŽ¦‘ãŒÃ1145Ž‘ûKÃÏ\edef\tmp@{\endgroupŽŽ¦‘ãŒÃ1146Ž‘ mÏ\noexpand\def\noexpand\splinecorrect@c{\tmp@}}\tmp@ŽŽ¦‘ãŒÃ1147Ž‘ûKÃÏ\setupDirection@ii‘¿ª}ŽŽ¡‘ãŒÃ1149Ž‘õŒÏ\xydef@\splineslidep@#1{\enter@{\pfromthep@}%ŽŽ¦‘ãŒÃ1150Ž‘ûKÃÏ\begingroup‘¿ª\splinealong@@{0}{#1}+\splineslidep@@@ŽŽ¦‘ãŒÃ1151Ž‘ mÏ\setupDirection@ii–¿ª\leave@“}%ŽŽ¡‘ãŒÃ1153Ž‘õŒÏ\xydef@\splineslidep@@@{%ŽŽ¦‘ãŒÃ1154Ž‘ûKÃÏ\d@X=\dimen5–¿ª\d@Y=\dimen7“\edef\tmp@{\postfind@}\tmp@“\dimen@=\splineval@ŽŽŽŽŒ‹‡ ½ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй135ŽŽ ¶?? ýh«w‘ãŒÃ1155Ž‘ûKÃÏ\expandafter\count@\xycrvptsnum@\relaxŽŽ¤ ™š‘ãŒÃ1156Ž‘ûKÃÏ\ifnum\count@>\tw@‘¿ª\advance\count@\m@neŽŽ¡‘ãŒÃ1157Ž‘ mÏ\advance\dimen@\segmentnum@\p@‘¿ª\advance\dimen@-\p@ŽŽ¡‘ãŒÃ1158Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ1159Ž‘ûKÃÏ\edef\tmp@{\endgroup‘¿ª\endgroupŽŽ¡‘ãŒÃ1160Ž‘ mÏ\noexpand\def\noexpand\xysplineval@{\the\splineval@}%ŽŽ¡‘ãŒÃ1161Ž‘ mÏ\noexpand\def\noexpand\splinecorrect@p{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ1162Ž‘õŒÏ\splinetrace@{slide–¿ª=“\the\splinelength@}%ŽŽ¡‘ãŒÃ1163Ž‘ mÏ\X@c=\dimen@i–¿ª\Y@c=\dimen3‘ T%“something“may“be“wrong“here!!ŽŽ¡‘ãŒÃ1164Ž‘ mÏ\d@X=\the\d@X–¿ª\d@Y=\the\d@Y“%ŽŽ¡‘ãŒÃ1165Ž‘ mÏ\noexpand\def\noexpand\segmentnum@{\segmentnum@}}\tmp@‘¿ª}ŽŽ©Pˆ‘ãŒÃ1167Ž‘õŒÏ\xydef@\splineslidec@#1{\enter@{\pfromthep@}%ŽŽ¡‘ãŒÃ1168Ž‘ûKÃÏ\begingroupŽŽ¡‘ãŒÃ1169Ž‘ mÏ\expandafter\splinealong@@\PLACEf@{#1}+\splineslidec@@@ŽŽ¡‘ãŒÃ1170Ž‘ mÏ\setupDirection@ii–¿ª\leave@“}ŽŽ¦‘ãŒÃ1172Ž‘õŒÏ\xydef@\splineslidec@@@{%ŽŽ¡‘ãŒÃ1173Ž‘ûKÃÏ\d@X=\dimen5–¿ª\d@Y=\dimen7“\edef\tmp@{\postfind@}\tmp@“\dimen@=\splineval@ŽŽ¡‘ãŒÃ1174Ž‘ûKÃÏ\expandafter\count@\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ1175Ž‘ûKÃÏ\ifnum\count@>\tw@‘¿ª\advance\count@\m@neŽŽ¡‘ãŒÃ1176Ž‘ mÏ\advance\dimen@\segmentnum@\p@‘¿ª\advance\dimen@-\p@ŽŽ¡‘ãŒÃ1177Ž‘ mÏ\dimen@=-\dimen@‘¿ª\advance\dimen@\count@\p@ŽŽ¡‘ãŒÃ1178Ž‘ûKÃÏ\else–¿ª\dimen@=-\dimen@“\advance\dimen@\p@“\fi“%\W@{**slide**<\the\dimen@>***}%ŽŽ¡‘ãŒÃ1179Ž‘õŒÏ%%– Tsplinecorrect@c“is–¿ªprobably“wrong“here!!ŽŽ¡‘ãŒÃ1180Ž‘ûKÃÏ\edef\tmp@{\endgroup‘¿ª\endgroupŽŽ¡‘ãŒÃ1181Ž‘ mÏ\noexpand\def\noexpand\xysplineval@{\the\splineval@}%ŽŽ¡‘ãŒÃ1182Ž‘ mÏ\noexpand\def\noexpand\splinecorrect@c{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ1183Ž‘õŒÏ\splinetrace@{slide–¿ª=“\the\splinelength@;“correct@c=\noexpand\splinecorrect@c}%ŽŽ¡‘ãŒÃ1184Ž‘ mÏ\X@c=\dimen@i‘¿ª\Y@c=\dimen3‘ T%ŽŽ¡‘ãŒÃ1185Ž‘ mÏ\d@X=\the\d@X–¿ª\d@Y=\the\d@Y“%ŽŽ¡‘ãŒÃ1186Ž‘ mÏ\noexpand\def\noexpand\segmentnum@{\segmentnum@}}\tmp@‘¿ª}ŽŽ¦‘ãŒÃ1188Ž‘õŒÏ\xydef@\checkslidemore@#1{%ŽŽ¡‘ãŒÃ1189Ž‘ûKÃÏ\dimen@ii=-#1\relax\ifdim\dimen@ii<\z@\multiply\dimen@ii\m@ne\fiŽŽ¡‘ãŒÃ1190Ž‘ûKÃÏ\dimen@=-\splinelength@‘¿ª\advance\dimen@\dimen@ii\relaxŽŽ¡‘ãŒÃ1191Ž‘ûKÃÏ\ifdim\dimen@<\z@\dimen@ii=-\dimen@\else\dimen@ii=\dimen@\fiŽŽ¡‘ãŒÃ1192Ž‘ûKÃÏ\ifdim\dimen@ii<.2\p@\DN@{\splineslidec@@–¿ª\leave@}%%%%“?ŽŽ¡‘ãŒÃ1193Ž‘ûKÃÏ\else–¿ª\splinetrace@{not“found“yet,“\the\dimen@ii\space“still“to“go}%ŽŽ¡‘ãŒÃ1194Ž‘ûKÃÏ\dimen@ii=#1\relax\ifdim\dimen@ii<\z@\multiply\dimen@\m@ne\fiŽŽ¡‘ãŒÃ1195Ž‘ûKÃÏ\DN@{\expandafter\splineslidemore@\expandafter{\the\dimen@}}\fiŽŽ¡‘ãŒÃ1196Ž‘ûKÃÏ\next@}%ŽŽ¦‘ãŒÃ1198Ž‘õŒÏ\xydef@\splineslidemore@#1{%ŽŽ¡‘ãŒÃ1199Ž‘ûKÃÏ\expandafter\count@\segmentnum@\relaxŽŽ¡‘ãŒÃ1200Ž‘ûKÃÏ\ifdim#1<\z@\advance\count@\m@ne\dimen@=\p@ŽŽ¡‘ãŒÃ1201Ž‘ûKÃÏ\else\advance\count@\@ne\dimen@=\z@\fiŽŽ¡‘ãŒÃ1202Ž‘ûKÃÏ\ifnum\count@<\@neŽŽ¡‘ãŒÃ1203Ž‘ËÏ\expandafter\splinesegment@\expandafter{\segmentnum@}%ŽŽ¡‘ãŒÃ1204Ž‘ mÏ\DN@{\xywarning@{cannot–¿ªslide“beyond“start“of“curve}%ŽŽ¡‘ãŒÃ1205Ž‘ËÏ\spline@find{\z@}{\z@}{}\splineslidec@@–¿ª\leave@“}%%%%“?ŽŽ¡‘ãŒÃ1206Ž‘ûKÃÏ\else‘¿ª\expandafter\count@@\xycrvptsnum@\relax\advance\count@@\m@neŽŽŽŽŒ‹ˆ µ Á à ý*tj‘㌹136’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1207Ž‘ mÏ\expandafter\ifnum\count@@<\count@\relaxŽŽ¤ ™š‘ãŒÃ1208Ž‘ËÏ\expandafter\splinesegment@\expandafter{\segmentnum@}%ŽŽ¡‘ãŒÃ1209Ž‘ mÏ\DN@{\xywarning@{cannot–¿ªslide“beyond“end“of“curve}%ŽŽ¡‘ãŒÃ1210Ž‘ mÏ\spline@find{\p@}{\z@}{}\splineslidec@@–¿ª\leave@“}%%%%%“?ŽŽ¡‘ãŒÃ1211Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1212Ž‘ mÏ\edef\segmentnum@{\the\count@}%ŽŽ¡‘ãŒÃ1213Ž‘ËÏ\expandafter\splinesegment@\expandafter{\segmentnum@}%ŽŽ¡‘ãŒÃ1214Ž‘õŒÏ\splinetrace@{sliding–¿ªonto“segment“\segmentnum@}%ŽŽ¡‘ãŒÃ1215Ž‘ mÏ\expandafter\spline@find\expandafter{\the\dimen@}{#1}{}%ŽŽ¡‘ãŒÃ1216Ž‘ mÏ\DN@{\checkslidemore@{#1}}%ŽŽ¡‘ãŒÃ1217Ž‘ûKÃÏ\fi\fi‘ T\next@‘¿ª}ŽŽ©Pˆ‘ãŒÃ1219Ž‘õŒÏ\xydef@\splineslidec@@{%ŽŽ¡‘ãŒÃ1220Ž‘ûKÃÏ\dimen@=\splineval@‘¿ª\advance\dimen@\segmentnum@\p@\advance\dimen@-\p@ŽŽ¡‘ãŒÃ1221Ž‘ûKÃÏ\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1222Ž‘ mÏ\noexpand\def\noexpand\xysplineval@{\the\dimen@}%ŽŽ¡‘ãŒÃ1223Ž‘õŒÏ\splinetrace@{slide–¿ª=“\the\splinelength@}%ŽŽ¡‘ãŒÃ1224Ž‘ mÏ\X@c=\the\dimen@i–¿ª\Y@c=\the\dimen3“\d@X=\the\dimen5“\d@Y=\the\dimen7“\postfind@ŽŽ¡‘ãŒÃ1225Ž‘ mÏ\noexpand\def\noexpand\segmentnum@{\segmentnum@}}\tmp@ŽŽ¡‘ãŒÃ1226Ž‘ mÏ\setupDirection@ii}ŽŽŸt/‘ôŒ¹The–+umethoMÞd“Ï\splinealong@#1Ž‘\‘๠nds“places“along“the“curvš²!e,‘D when“Ï#1Ž‘Ö>¹is“giv˜en“as“a“factor,‘D normallyŽ¡‘ãŒbšMÞet•²!w“een–li0“and“1.‘ʉThe“lo˜cation“of“the“edges“of“the“ob‘›»jects“at“Äp“¹and“Äc“¹are“stored“in“Ï\splinecorrect@pŽŽ¡‘㌹and‘‚Ï\splinecorrect@cŽ‘_ "¹.›«\@ne“\advance\count@\m@ne\fiŽŽ¡‘ãŒÃ1242Ž‘ûKÃÏ\ifnum\count@>\@ne‘¿ª\dimen@nth\count@\dimen@ŽŽ¡‘ãŒÃ1243Ž‘ûKÃÏ\fi‘¿ª\edef\bthisPLACE@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ1244Ž‘õŒÏ\splinetrace@{bthisPLACE@=\bthisPLACE@}}%ŽŽŸt/‘ôŒ¹The–Êßparameter“Ï#2Ž‘¹in“Ï\splinealong@@#1#2#3Ž‘x¹alloš²!ws“for“a“subsequen˜t“slide“through“a“giv˜en“Çh¹dimenÇiŽ¡‘㌹along–¦fthe“curvš²!e,“from“the“place“spMÞecifed“b˜y“the“factor“in“Ï#1Ž‘%º¹.Ž© ½A‘ôŒThe–o›information“supplied“in“Ï#1Ž‘^йmš²!ust“bMÞe“con˜v˜erted“to“the“segmen˜t“n˜um˜bMÞer“and“parameter“v‘ÿdDalue“ofŽ¡‘ãŒthe–éspšMÞeci ed“p˜oin²!t.‘¦³These“will“b˜e“calculated“and“stored“temp˜orarily“in“Ï\count@Ž‘.?x¹and“Ïdimen@Ž‘(ιb˜efore“theŽ¡‘ãŒv‘ÿdDalues–`are“passed“respMÞectivš²!ely“to“Ï\splinesegment@Ž‘\û¹whic˜h“c˜hoMÞoses“the“segmen˜t,‘n!and“Ï\spline@findŽ‘K¼¹toŽ¡‘ãŒlošMÞcate–¦fthe“p˜oinš²!t“on“this“segmen˜t.ަ‘ôŒT‘ÿeo–áådo“the“calculation,‘ðÅ rst“w²!e“correct“for“the“parameter“v‘ÿdDalues“of“the“edges“of“the“ob‘›»jects“at“theŽ¡‘ãŒend-pšMÞoin•²!ts,‘Ìwhic“h–ï„are“stored“in“Ï\splinecorrect@pŽ‘cÙ¨¹and“Ï\splinecorrect@cŽ‘_ê$¹.‘¹8If“the“resulting“n•²!um“b˜erŽ¡‘ãŒÄx–G¼¹is“not“an“in²!teger“then“Ï\count@Ž›0͹is“set“to“1–Úz+“ÇbŽ‘¸XÄxÇcŽŽ‘ ¹while‘G¼Ï\dimen@Ž˜¹bMÞecomes›G¼(Äx“Ç“bŽ‘¸XÄxÇcŽŽ‘ØQ¹)Ï\p@Ž‘>þ¹.‘ÁàIf˜Äx˜¹is˜anŽ¡‘ãŒinš²!teger:‘ÝÝÄx– §¹=“0–¦fgiv˜es“Ï\count@=1Ž‘; ƹand“Ï\dimen@=\z@Ž›Bâ´¹,“otherwise“Ï\count@Ž‘.î³¹=‘ §Äx“¹and“Ï\dimen@=\p@Ž˜¹.ŽŸPˆ‘ãŒÃ1265Ž‘õŒÏ\xydef@\splinealong@@#1#2#3{%ŽŽ¡‘ãŒÃ1266Ž‘ûKÃÏ\edef\tmp@{#1}\relax‘¿ª\dimen@ii\tmp@\p@ŽŽ¡‘ãŒÃ1267Ž‘õŒÏ%%‘¿ª\getcrvsegsnum@ŽŽ¡‘ãŒÃ1268Ž‘õŒÏ%%‘¿ª\dimen@=-\count@\p@ŽŽ¡‘ãŒÃ1269Ž‘ûKÃÏ\dimen@=-\p@ŽŽ¡‘ãŒÃ1270Ž‘ûKÃÏ\expandafter\advance\expandafter\dimen@\splinecorrect@p\p@ŽŽ¡‘ãŒÃ1271Ž‘ûKÃÏ\expandafter\advance\expandafter\dimen@\splinecorrect@c\p@ŽŽŽŽŒ‹‰ . Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй137ŽŽ ¶?? ýh«w‘ãŒÃ1272Ž‘ûKÃÏ\edef\tmp@{#1}\relax–¿ª\dimen@=-\tmp@\dimen@“\relaxŽŽ¤ ™š‘ãŒÃ1273Ž‘ûKÃÏ\expandafter\advance\expandafter\dimen@\splinecorrect@p\p@ŽŽ¡‘ãŒÃ1274Ž‘ûKÃÏ\getcrvsegsnum@–¿ª\multiply“\dimen@“by\count@\relaxŽŽ¡‘ãŒÃ1275Ž‘õŒÏ\splinetrace@{actual:\the\dimen@;–¿ªf:\the\dimen@ii;“p:\splinecorrect@p,“c:\splinecorrect@c}%ŽŽ¡‘ãŒÃ1276Ž‘ûKÃÏ\count@=\dimen@–¿ª\divide\count@\p@“\DN@{\relax}%ŽŽ¡‘ãŒÃ1277Ž‘ûKÃÏ\def\tmp@{\relax}\ifx\next@\tmp@ŽŽ¡‘ãŒÃ1278Ž‘ mÏ\expandafter\ifnum\xycrvptsnum@<\count@ŽŽ¡‘ãŒÃ1279Ž‘ËÏ\xywarning@{parameter–¿ªvalue“#1“too“large}%ŽŽ¡‘ãŒÃ1280Ž‘ËÏ\DNii@{\relax}\DN@{\begingroup}%ŽŽ¡‘ãŒÃ1281Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1282Ž‘ËÏ\edef\xysplineval@{\the\dimen@}%ŽŽ¡‘ãŒÃ1283Ž‘ËÏ\advance\dimen@-\count@\p@ŽŽ¡‘ãŒÃ1284Ž‘ËÏ\ifdim\dimen@=\z@ŽŽ¡‘ãŒÃ1285Ž‘õŒÏ\splinetrace@{find–¿ªknot“point“\the\count@}%ŽŽ¡‘ãŒÃ1286Ž‘ ŠÁÏ\ifnum\count@=\z@–¿ª\count@=\@ne“\else“\dimen@=\p@“\fiŽŽ¡‘ãŒÃ1287Ž‘ËÏ\else‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ1288Ž‘õŒÏ\splinetrace@{find–¿ªpoint“\the\dimen@\space“on“spline“segment“\the\count@}%ŽŽ¡‘ãŒÃ1289Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1290Ž‘ mÏ\edef\segmentnum@{\the\count@}%ŽŽ¡‘ãŒÃ1291Ž‘ mÏ\edef\next@{\begingroup\noexpand\splinesegment@{\the\count@}}%ŽŽ¡‘ãŒÃ1292Ž‘ûKÃÏ\edef\nextii@{%ŽŽ¡‘ãŒÃ1293Ž‘ËÏ\noexpand\spline@find{\the\dimen@}{#2}{}\noexpand\checksplinefind@{#2}}%ŽŽ¡‘ãŒÃ1294Ž‘ûKÃÏ\ifx>#3\relaxŽŽ¡‘ãŒÃ1295Ž‘ mÏ\edef\nextii@{%ŽŽ¡‘ãŒÃ1296Ž‘ËÏ\noexpand\spline@find{\the\dimen@}{#2}#3\noexpand\checksplinefind@{#2}}%ŽŽ¡‘ãŒÃ1297Ž‘ûKÃÏ\else\ifx-#3\relax–¿ª\ifdim\dimen@>\z@\relax“\ifdim\dimen@<\p@ŽŽ¡‘ãŒÃ1298Ž‘ mÏ\dimen@=-\dimen@‘¿ª\advance\dimen@\p@ŽŽ¡‘ãŒÃ1299Ž‘ mÏ\edef\nextii@{\noexpand\splinereverse@ŽŽ¡‘ãŒÃ1300Ž‘ËÏ\noexpand\spline@find{\the\dimen@}{#2}{}\noexpand\checksplinefind@{#2}}%ŽŽ¡‘ãŒÃ1301Ž‘ mÏ\fi\fiŽŽ¡‘ãŒÃ1302Ž‘ûKÃÏ\else\ifx<#3\relax–¿ª\ifdim\dimen@>\z@\relax“\ifdim\dimen@<\p@ŽŽ¡‘ãŒÃ1303Ž‘ mÏ\dimen@=-\dimen@‘¿ª\advance\dimen@\p@ŽŽ¡‘ãŒÃ1304Ž‘ mÏ\edef\nextii@{\noexpand\splinereverse@ŽŽ¡‘ãŒÃ1305Ž‘ËÏ\noexpand\spline@find{\the\dimen@}{#2}#3\noexpand\checksplinefind@{#2}}%ŽŽ¡‘ãŒÃ1306Ž‘ mÏ\fi\fiŽŽ¡‘ãŒÃ1307Ž‘ûKÃÏ\fi\fi\fiŽŽ¡‘ãŒÃ1308Ž‘ûKÃÏ\fi\fi‘ T\expandafter\next@\nextii@‘¿ª}ŽŽŸjU‘ôŒ¹This–kzmacro“c•²!hec“ks–kzwhether“the“required“sliding“has“bMÞeen“carried“out,‘wCor“whether“it“is“necessary“toŽ¡‘ãŒcon•²!tin“ue–¦fsliding“along“the“next“segmen²!t.ŽŸPˆ‘ãŒÃ1315Ž‘õŒÏ\xydef@\checksplinefind@#1{%ŽŽ¡‘ãŒÃ1316Ž‘ûKÃÏ\dimen@ii=#1\relax‘¿ª\dimen@=\splinelength@ŽŽ¡‘ãŒÃ1317Ž‘ûKÃÏ\ifdim\dimen@ii=\z@\DN@{}%ŽŽ¡‘ãŒÃ1318Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1319Ž‘ mÏ\ifdim\dimen@ii<\z@\advance\dimen@\dimen@iiŽŽ¡‘ãŒÃ1320Ž‘ mÏ\else\advance\dimen@-\dimen@ii\fiŽŽ¡‘ãŒÃ1321Ž‘ mÏ\ifdim\dimen@<\z@\multiply\dimen@\m@ne\fiŽŽ¡‘ãŒÃ1322Ž‘ûKÃÏ\ifdim\dimen@<.2\p@\DN@{}%ŽŽ¡‘ãŒÃ1323Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1324Ž‘ mÏ\count@=\segmentnum@\relaxŽŽŽŽŒ‹Š =Ì Á à ý*tj‘㌹138’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1325Ž‘ËÏ\ifdim\dimen@ii<\z@\advance\dimen@ii\splinelength@ŽŽ¤ ™š‘ãŒÃ1326Ž‘ ŠÁÏ\ifnum\count@>\@ne\advance\count@\m@neŽŽ¡‘ãŒÃ1327Ž‘ ŠÁÏ\edef\next@{\noexpand\splinesegment@{\the\count@}%ŽŽ¡‘ãŒÃ1328Ž‘JkÏ\noexpand\spline@find\p@{\the\dimen@ii}{}%ŽŽ¡‘ãŒÃ1329Ž‘ Ï\noexpand\checksplinefind@{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ1330Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ1331Ž‘JkÏ\xywarning@{cannot–¿ªslide“\the\dimen@ii\space“before“start}%ŽŽ¡‘ãŒÃ1332Ž‘JkÏ\DN@{\splinesegment@\@ne‘¿ª\spline@find\z@\z@{}}\fiŽŽ¡‘ãŒÃ1333Ž‘ËÏ\else\advance\dimen@ii-\splinelength@ŽŽ¡‘ãŒÃ1334Ž‘ ŠÁÏ\count@@=\numcontrolptsŽŽ¡‘ãŒÃ1335Ž‘ ŠÁÏ\ifnum\count@<\count@@‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ1336Ž‘JkÏ\edef\next@{\noexpand\splinesegment@{\the\count@}%ŽŽ¡‘ãŒÃ1337Ž‘ Ï\noexpand\spline@find\z@{\the\dimen@ii}{}%ŽŽ¡‘ãŒÃ1338Ž‘É¿Ï\noexpand\checksplinefind@{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ1339Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ1340Ž‘JkÏ\xywarning@{cannot–¿ªslide“\the\dimen@ii\space“beyond“end}%ŽŽ¡‘ãŒÃ1341Ž‘JkÏ\DN@{\splinesegment@{\the\count@@}\spline@find\p@\z@{}}\fiŽŽ¡‘ãŒÃ1342Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1343Ž‘ûKÃÏ\fi\fi–¿ª\next@“}ŽŽŸ+ÁÍ‘ãŒÔBreaks‘ ó5¹Tš²!ypMÞesetting–øÓbreaks“in“curv˜es“is“quite“in˜v˜olv˜ed.‘Õ#The“Ï\bstartPLACE@Ž‘R­H¹and“Ï\bendPLACE@Ž‘G-ô¹areŽ¡‘ãŒused–ÿ±to“hold“parameter“v‘ÿdDalues“for“the“pšMÞositions“of“the“b˜eginning“and“end“of“a“segmen•²!t,‘resp˜ectiv“ely‘ÿe,Ž¡‘ãŒwhen–®¨kno²!wn.‘ö¤The“default“v›ÿdDalues“of“Ï\relaxŽ‘)ÛL¹indicate“that“these“v˜alues“need“to“bMÞe“found,‘°¹usually“fromŽ¡‘ãŒthe–çustart-“and“end-edges“of“the“curv²!e.‘¡ The“v‘ÿdDalue“of“Ï\emptyŽ‘*Læ¹for“Ï\bstartPLACE@Ž‘RŠŒ¹is“used“initially“withŽ¡‘ãŒa–ð¿new“curvš²!ed“connection,‘Uto“set“up“all“its“parameters“|“no“t˜ypMÞesetting“tak˜es“place.‘¼èThis“is“used“b˜yŽ¡‘ãŒcurv•²!ed›¦farro“ws˜to˜set˜up˜the˜connection˜b•MÞefore˜places˜can˜b“e˜found˜for˜an²!y˜breaks.Ž©Pˆ‘ãŒÃ1361Ž‘õŒÏ\xydef@\resetbreaks@{%ŽŽ¡‘ãŒÃ1362Ž‘ mÏ\let\bstartPLACE@=\relax‘¿ª\let\bthisPLACE@=\emptyŽŽ¡‘ãŒÃ1363Ž‘ mÏ\let\bendPLACE@=\relax‘¿ª\let\bprevPLACE@=\relax}ŽŽ¦‘ãŒÃ1365Ž‘õŒÏ\xydef@\invisbreaks@{\resetbreaks@‘¿ª\let\bstartPLACE@=\empty}ŽŽ¡‘ãŒÃ1366Ž‘õŒÏ\xydef@\crvresetbreaks@{\resetbreaks@–¿ª\let\bstartPLACE@=\relax“}ŽŽ¦‘ãŒÃ1368Ž‘õŒÏ\xydef@\initbreaks@{\xy@@{\ifx\bstartPLACE@\relaxŽŽ¡‘ãŒÃ1369Ž‘ mÏ\def\bstartPLACE@{0}\def\bendPLACE@{1}\elseŽŽ¡‘ãŒÃ1370Ž‘ mÏ\ifx\bstartPLACE@\empty\def\bstartPLACE@{0}\def\bendPLACE@{1}%ŽŽ¡‘ãŒÃ1371Ž‘ûKÃÏ\fi\fi}}ŽŽ¦‘ãŒÃ1373Ž‘õŒÏ\xydef@\lastbreaks@{\ifx\bprevPLACE@\relax‘¿ª\def\bstartPLACE@{0}%ŽŽ¡‘ãŒÃ1374Ž‘ûKÃÏ\else–¿ª\expandafter“\bprevPLACE@“\fiŽŽ¡‘ãŒÃ1375Ž‘ûKÃÏ\let\bprevPLACE@\relax‘¿ª\let\bendPLACE@\relax}ŽŽ¦‘ãŒÃ1377Ž‘õŒÏ\xylet@\bstartPLACE@\relaxŽŽ¡‘ãŒÃ1378Ž‘õŒÏ\xylet@\bendPLACE@\relaxŽŽ¡‘ãŒÃ1379Ž‘õŒÏ\xylet@\bprevPLACE@\relaxŽŽ¡‘ãŒÃ1380Ž‘õŒÏ\xydef@\bthisPLACE@{1}ŽŽŸä‘ôŒ¹These–¦fare“called“in“the“actual“setting“of“curvš²!ed“sub-segmen˜ts.ަ‘ãŒÃ1386Ž‘õŒÏ\xydef@\splinebreak@{%ŽŽ¡‘ãŒÃ1387Ž‘õŒÏ\splinetrace@{***new–¿ªbreak***“this:\bthisPLACE@“}%ŽŽ¡‘ãŒÃ1388Ž‘ûKÃÏ\ifx\bthisPLACE@\empty\def\bendPLACE@{1}%ŽŽŽŽŒ‹‹ IÛ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй139ŽŽ ¶?? ýh«w‘ãŒÃ1389Ž‘ûKÃÏ\else\edef\bendPLACE@{\bthisPLACE@}\let\bthisPLACE@\empty\fiŽŽ¤ ™š‘ãŒÃ1390Ž‘õŒÏ%\xystatus@{BR1}%ŽŽ¡‘ãŒÃ1391Ž‘ûKÃÏ\ifx\bprevPLACE@\relax\def\bstartPLACE@{0}\else\expandafter\bprevPLACE@\fiŽŽ¡‘ãŒÃ1392Ž‘ûKÃÏ\edef\bprevPLACE@{\def\noexpand\bstartPLACE@{\bendPLACE@}\pfromthec@}%ŽŽ¡‘ãŒÃ1393Ž‘õŒÏ\splinetrace@{splineBREAK:–¿ª\bstartPLACE@“<>“\bendPLACE@}%ŽŽ¡‘ãŒÃ1394Ž‘õŒÏ%\xystatus@{BR}%ŽŽ¡‘ãŒÃ1395Ž‘ûKÃÏ\edef\cv@brend{\cfromthec@}%ŽŽ¡‘ãŒÃ1396Ž‘ûKÃÏ\edef\cv@brstart{\cfromthep@}%ŽŽ¡‘ãŒÃ1397Ž‘ûKÃÏ\expandafter\connect\expandafter\crvs\crvSTYLE@@{}%–¿ª?“optimiseŽŽ¡‘ãŒÃ1398Ž‘ûKÃÏ\let\cv@brend=\relaxŽŽ¡‘ãŒÃ1399Ž‘ûKÃÏ\let\cv@brstart=\relaxŽŽ¡‘ãŒÃ1400Ž‘õŒÏ\splinetrace@{**break‘¿ªdone**}%ŽŽ¡‘ãŒÃ1401Ž‘õŒÏ}ŽŽŸPˆ‘ãŒÃ1403Ž‘õŒÏ\xydef@\splinelast@{\splinereset@–¿ª\lastbreaks@“%\splinetracingŽŽ¡‘ãŒÃ1404Ž‘õŒÏ\splinetrace@{splineLAST}%ŽŽ¡‘ãŒÃ1405Ž‘õŒÏ%\xystatus@{LA}%ŽŽ¡‘ãŒÃ1406Ž‘ûKÃÏ\edef\cv@brend{\cfromthec@}%ŽŽ¡‘ãŒÃ1407Ž‘ûKÃÏ\edef\cv@brstart{\cfromthep@}%ŽŽ¡‘ãŒÃ1408Ž‘ûKÃÏ\expandafter\connect\expandafter\crvs\crvSTYLE@@{}%–¿ª?“optimiseŽŽ¡‘ãŒÃ1409Ž‘ûKÃÏ\let\cv@brend=\relaxŽŽ¡‘ãŒÃ1410Ž‘ûKÃÏ\let\cv@brstart=\relaxŽŽ¡‘ãŒÃ1411Ž‘õŒÏ\splinetrace@{**last‘¿ªdone**}%ŽŽ¡‘ãŒÃ1412Ž‘ûKÃÏ\resetbreaks@}ŽŽŸ!ø‘ãŒÔInš¦ttersection–ëžwith“a“curv˜ed“connection‘ ó5¹Just–h¸as“the“inš²!tersection“of“t˜w˜o“lines“(1.3j)“can“bMÞe“found,Ž¡‘ãŒso–œícan“the“inš²!tersection“of“a“straigh˜t“line“with“a“curv˜ed“connection,‘žÒor“the“in˜tersection“of“a“curv˜e“withŽ¡‘ãŒa–¦fstraigh²!t“connection.Ž© ¨yŸ5/ü’…c ïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ‘>­ÁŸÖx%BŽŽŽŽ‘Í2ŸÝ%òCŽŽŽŽ‘2kÜŸ %òDŽŽŽŽ‘3Ÿýh0ï?" {mark 12.0 36.0 39.60059 19.19824 48.0 -12.0 1.0 0.11084 q}xyŽŽŽ‘iŸÞ[ï" {-1829 10 /xy AB}xyŽŽŽŽ‘3Ÿýh0ïC" {mark 12.0 36.0 39.60059 19.19824 48.0 -12.0 0.11084 0.86096 q}xyŽŽŽ‘3Ÿýh0ï?" {mark 12.0 36.0 39.60059 19.19824 48.0 -12.0 1.0 0.86096 q}xyŽŽŽ‘;­ÁŸØ2ï" {45.46622 32.34631 l}xyŽŽŽ‘!ÝŸêñ§ÇŽŽŽŽŽŽŽŽ’ÚÞæïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ‘>­ÁŸÖx%BŽŽŽŽ‘Í2ŸÝ%òCŽŽŽŽ‘2kÜŸ %òDŽŽŽŽ‘;­ÁŸØ2ï" {45.46622 32.34631 l}xyŽŽŽ‘3Ÿýh0ï?" {mark 12.0 36.0 39.60059 19.19824 48.0 -12.0 1.0 0.11084 q}xyŽŽŽ‘iŸÞ[ï" {-1829 10 /xy AB}xyŽŽŽŽ‘3Ÿýh0ïC" {mark 12.0 36.0 39.60059 19.19824 48.0 -12.0 0.11084 0.86096 q}xyŽŽŽ‘3Ÿýh0ï?" {mark 12.0 36.0 39.60059 19.19824 48.0 -12.0 1.0 0.86096 q}xyŽŽŽ‘!ÝŸêñ§ÇŽŽŽŽŽŽŽŽŽŽŸ$+–‘ãŒÏ\xy*+{A}="A";p+/r5pc/+(0,15)*+{B}="B"ŽŽ¡‘éKÃ,p+<1pc,3pc>*+{C}="C"ŽŽ¡‘éKÃ,"A"+<4pc,-1pc>*+{D}="D",{\ar@/_/"C"}ŽŽ¡‘éKÃ,?!{"A";"B"**@{-}}*++{\oplus}ŽŽ¡‘ãŒ\endxy–¿ª\quad“\xyŽŽ¡‘éKÃ*+{A}="A";p+/r5pc/+(0,15)*+{B}="B",ŽŽ¡‘éKÃ,p+<1pc,3pc>*+{C}="C"ŽŽ¡‘éKÃ,"A"+<4pc,-1pc>*+{D}="D","A";"B"**@{-}ŽŽ¡‘éKÃ,?!{"D",{\ar@/_/"C"}}*++{\oplus}ŽŽ¡‘ãŒ\endxyŽŽŸ_g‘ôŒ¹When––áthe“line“separates“the“end-pMÞoinš²!ts“of“a“curv˜e“an“in˜tersection“can“alw˜a˜ys“bMÞe“found.‘رIf“there“isŽ¡‘ãŒmore–¦fthan“one“then“that“oMÞccurring“earliest“along“the“curv²!e“is“the“one“found.ަ‘ôŒPresume–nWthe“end-pMÞoinš²!ts“of“the“spline“segmen˜t“are“at“(ÄXŸ¤zÅpŽ–Ç]Ä;›Ó1YŸ¤zÅpŽ“¹)–nWand“(ÄXŸ¤zÅcŽ–.yÄ;˜YŸ¤zÅcŽ“¹)–nWwith“(ÄLŸ¤zÅpŽ–Ç]Ä;˜UŸ¤zÅpŽ“¹)‘nWandŽ¡‘ãŒ(ÄRŸ¤zÅpŽ–Ç]Ä;‘Ó1DŸ¤zÅpŽ“¹)–Ú„as“t•²!w“o›Ú„pMÞoin“ts˜on˜the˜line.‘z6Then˜the˜macro˜Ï\xysidesofinterval@Ž‘treturns˜3˜pieces˜of˜infor-Ž¡‘ãŒmation.ŽŽŽŒ‹Œ Vš Á à ý*tj‘㌹140’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘óøéÇŽŽŽ‘þìÏ\nextŽ‘SS¹expands–¨äto“2“c•²!haracters,›©ƒeac“h–¨äfrom“Çf¹+Ä;–Ó1ÇÄ;“¹0Çg–¨ä¹indicating“whic²!h“side“of,˜or“on,˜the“line“liesޤ ™š‘þìeither‘¦fend-pMÞoin²!t;Ž©à‘óøéÇŽŽŽ‘þìÏ\this@Ž‘&˜¹expands–-íto“either“+“or“Ç“¹indicating“whic²!h“end“is“closer“to“the“line,‘Îreturning“+“ifŽ¡‘þìequi-distan²!t;ަ‘óøéÇŽŽŽ‘þìÏ\howclose@Ž‘<'¹conš²!tains–¦fa“non-negativ˜e“Çh¹n˜umÇi“¹indicating“the“distance“to“the“nearest“end-pMÞoin˜t.ŽŸ…d‘ãŒÃ1456Ž‘õŒÏ\xydef@\splineNointercept@{\enter@{\pfromthep@}%ŽŽ¡‘ãŒÃ1457Ž‘ûKÃÏ\begingroup–¿ª\splinereset@“\csname“cv@0\endcsname“\swap@ŽŽ¡‘ãŒÃ1458Ž‘ mÏ\count@=\ptsnum@–¿ª\advance\count@\@ne“\csname“cv@\the\count@\endcsnameŽŽ¡‘ãŒÃ1459Ž‘ mÏ\edef\tmp@{\endgroup–¿ª\X@origin=\the\X@p“\Y@origin=\the\Y@pŽŽ¡‘ãŒÃ1460Ž‘ËÏ\R@c=\the\d@X‘¿ª\U@c=\the\d@Y}\tmp@ŽŽ¡‘ãŒÃ1461Ž‘ûKÃÏ\loop@ŽŽ¡‘ãŒÃ1462Ž‘ mÏ\dimen@=\ifdim\R@c<\z@-\fi\R@cŽŽ¡‘ãŒÃ1463Ž‘ mÏ\advance\dimen@‘¿ª\ifdim\U@c<\z@-\fi\U@cŽŽ¡‘ãŒÃ1464Ž‘ mÏ\ifdim\dimen@>10\p@ŽŽ¡‘ãŒÃ1465Ž‘ËÏ\advance\R@c–¿ª\ifdim\R@c<\z@-\fi“16sp“\divide\R@c\KK@ŽŽ¡‘ãŒÃ1466Ž‘ËÏ\advance\U@c–¿ª\ifdim\U@c<\z@-\fi“16sp“\divide\U@c\KK@ŽŽ¡‘ãŒÃ1467Ž‘ûKÃÏ\repeat@ŽŽ¡‘ãŒÃ1468Ž‘ûKÃÏ\intersect@‘¿ª\leave@}ŽŽ¤Pˆ‘ãŒÃ1470Ž‘õŒÏ\xydef@\splineintercept@{\Hidden@true\Invisible@true\splineintercept@i}ŽŽ¡‘ãŒÃ1472Ž‘õŒÏ\xydef@\splineintercept@i{\enter@{\pfromthep@}\begingroupŽŽ¤ ™š‘ãŒÃ1473Ž‘ûKÃÏ\R@p=\X@c–¿ª\L@p=\X@p“\d@X=\R@p“\advance\d@X-\L@pŽŽ¡‘ãŒÃ1474Ž‘ûKÃÏ\D@p=\Y@c–¿ª\U@p=\Y@p“\d@Y=\D@p“\advance\d@Y-\U@pŽŽ¡‘ãŒÃ1475Ž‘ûKÃÏ\dimen@nth\KK@\d@X‘¿ª\edef\sd@X{\expandafter\removePT@\the\d@X}%ŽŽ¡‘ãŒÃ1476Ž‘ûKÃÏ\dimen@nth\KK@\d@Y‘¿ª\edef\sd@Y{\expandafter\removePT@\the\d@Y}%ŽŽ¡‘ãŒÃ1477Ž‘ûKÃÏ\dimen@=\sd@Y\L@p‘¿ª\advance\dimen@-\sd@X\U@pŽŽ¡‘ãŒÃ1478Ž‘ûKÃÏ\edef\sideOffset@{\the\dimen@}\def\closestseg@{1}%ŽŽ¡‘ãŒÃ1479Ž‘ûKÃÏ\let\crvconnect@@=\relax‘¿ª\crvconnect@ŽŽ¡‘ãŒÃ1480Ž‘ûKÃÏ\let\spline@end=\splinef@endŽŽ¡‘ãŒÃ1481Ž‘ûKÃÏ\def\spline@start{\bgroup‘¿ª\def\prevnext@{+-}%ŽŽ¡‘ãŒÃ1482Ž‘ mÏ\def\splinerec@{\let\splinerec@=\splineIrec@‘¿ª\splineinterceptTest@}%ŽŽ¡‘ãŒÃ1483Ž‘ mÏ\def\splinedecast@{\let\splinedecast@=\splinedecast@@ŽŽ¡‘ãŒÃ1484Ž‘ËÏ\def\splineadvance@{\splineIadvance@@}\splinedecast@@}%ŽŽ¡‘ãŒÃ1485Ž‘ mÏ\def\splineadvance@{\intercepthull@}%ŽŽ¡‘ãŒÃ1486Ž‘õŒÏ%‘ T\def\splinepoint@{\splineIpt@@}%ŽŽ¡‘ãŒÃ1487Ž‘ mÏ\global\let\splinepoint=\splineIpt@@ŽŽ¡‘ãŒÃ1488Ž‘ mÏ\global\let\splinegoal@=\splinef@ptŽŽ¡‘ãŒÃ1489Ž‘ mÏ\global\let\splinefinish@=\splinefinish@@}%ŽŽ¡‘ãŒÃ1490Ž‘ûKÃÏ\begingroup‘¿ª\splineIsegment@ŽŽ¡‘ãŒÃ1491Ž‘ mÏ\splinesetparams@–¿ª\splined@@“\def\postfind@{}\splineIplace@ŽŽ¡‘ãŒÃ1492Ž‘ûKÃÏ\setupDirection@ii–¿ª\leave@“}ŽŽŸv‘ãŒÃ1495Ž‘õŒÏ\xydef@\splineIplace@{%ŽŽ¡‘ãŒÃ1496Ž‘ûKÃÏ\d@X=\dimen5–¿ª\d@Y=\dimen7“\dimen@=\splineval@ŽŽ¡‘ãŒÃ1497Ž‘ûKÃÏ\expandafter\count@\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ1498Ž‘ûKÃÏ\ifnum\count@>\tw@–¿ª\advance\count@\m@ne“%\advance\count@\m@neŽŽ¡‘ãŒÃ1499Ž‘ mÏ\advance\dimen@\segmentnum@\p@‘¿ª\advance\dimen@-\p@ŽŽ¡‘ãŒÃ1500Ž‘ mÏ\dimen@nth\count@\dimen@– T%“\divide\dimen@\count@ŽŽŽŽŒ‹ d‡ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй141ŽŽ ¶?? ýh«w‘ãŒÃ1501Ž‘ûKÃÏ\fi–¿ª\edef\tmp@{\endgroup“\endgroupŽŽ¤ ™š‘ãŒÃ1502Ž‘ mÏ\def\noexpand\PLACEf@{{\expandafter\removePT@\the\dimen@}}%ŽŽ¡‘ãŒÃ1503Ž‘ mÏ\X@c=\dimen@i–¿ª\Y@c=\dimen3“%ŽŽ¡‘ãŒÃ1504Ž‘ mÏ\d@X=\the\d@X–¿ª\d@Y=\the\d@Y“}\tmp@ŽŽ¡‘ãŒÃ1505Ž‘õŒÏ\splinetrace@{PLACE–¿ª=“\PLACEf@:(\the\X@c,“\the\Y@c)}%ŽŽ¡‘ãŒÃ1506Ž‘ûKÃÏ\expandafter\edef\expandafter\bthisPLACE@\PLACEf@ŽŽ¡‘ãŒÃ1507Ž‘ûKÃÏ}ŽŽ¤Pˆ‘ãŒÃ1509Ž‘õŒÏ\xydef@\splineIrec@{\splineinterceptTest@‘¿ª}ŽŽ¡‘ãŒÃ1511Ž‘õŒÏ\xydef@\squineIpt@{\edef\tmp@{\endgroupŽŽ¤ ™š‘ãŒÃ1512Ž‘ûKÃÏ\def\noexpand\prevnext@{\next}\begingroup}\tmp@‘¿ª}ŽŽ¡‘ãŒÃ1513Ž‘õŒÏ\xydef@\squineIadvance@{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1514Ž‘ mÏ\def\noexpand\prevnext@{\next}\def\noexpand\howclose@{\howclose@}}%ŽŽ¡‘ãŒÃ1515Ž‘ûKÃÏ\tmp@‘¿ª\splineadvance@@\begingroup}ŽŽ©Pˆ‘ãŒÃ1517Ž‘õŒÏ\xydef@\cubicIpt@{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1518Ž‘ûKÃÏ\def\noexpand\prevnext@{\next}\begingroup}\tmp@‘¿ª}ŽŽ¡‘ãŒÃ1519Ž‘õŒÏ\xydef@\cubicIadvance@{\edef\tmp@{\egroupŽŽ¡‘ãŒÃ1520Ž‘ mÏ\def\noexpand\prevnext@{\next}\def\noexpand\howclose@{\howclose@}}%ŽŽ¡‘ãŒÃ1521Ž‘ûKÃÏ\tmp@‘¿ª\splineadvance@@\bgroup}ŽŽ¦‘ãŒÃ1523Ž‘õŒÏ\xydef@\splineIsegment@{\DN@{\splinesegment@\@ne}%ŽŽ¡‘ãŒÃ1524Ž‘ûKÃÏ\ifx\splinesegment@\squinesegment@\elseŽŽ¡‘ãŒÃ1525Ž‘ûKÃÏ\ifx\splinesegment@\cubicsegment@\else\DN@{\findIsegment@}%ŽŽ¡‘ãŒÃ1526Ž‘ûKÃÏ\fi\fi\next@}ŽŽ¦‘ãŒÃ1528Ž‘õŒÏ\xydef@\findIsegment@{\expandafter\count@\xycrvptsnum@‘¿ª\count@@\z@ŽŽ¡‘ãŒÃ1529Ž‘ûKÃÏ\loop@–¿ª\advance\count@@\@ne“\bgroupŽŽ¡‘ãŒÃ1530Ž‘ mÏ\expandafter\splinesegment@\expandafter{\the\count@@}%ŽŽ¡‘ãŒÃ1531Ž‘ mÏ\xysidesofinterval@ŽŽ¡‘ãŒÃ1532Ž‘ mÏ\findIsegment@i‘¿ª\repeat@ŽŽ¡‘ãŒÃ1533Ž‘ mÏ\expandafter\dimen@\prevhowclose@‘¿ª\relaxŽŽ¡‘ãŒÃ1534Ž‘ mÏ\ifdim\dimen@=\z@‘¿ª\edef\closestseg@{\the\count@@}\fiŽŽ¡‘ãŒÃ1535Ž‘ mÏ\expandafter\splinesegment@\expandafter{\closestseg@}}ŽŽ¦‘ãŒÃ1537Ž‘õŒÏ\xydef@\findIsegment@i{%ŽŽ¡‘ãŒÃ1538Ž‘ûKÃÏ\expandafter\ifx\next‘¿ª\expandafter\findIsegment@iiŽŽ¡‘ãŒÃ1539Ž‘ûKÃÏ\else\expandafter\findIsegment@x\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ1541Ž‘õŒÏ\xydef@\findIsegment@ii{\expandafter\count@\xycrvptsnum@‘¿ª\relaxŽŽ¡‘ãŒÃ1542Ž‘ûKÃÏ\advance\count@\m@ne‘¿ª\ifnum\count@>\segmentnum@\relaxŽŽ¡‘ãŒÃ1543Ž‘ûKÃÏ\expandafter\findIsegment@y\else\expandafter\findIsegment@x\fi}ŽŽ¦‘ãŒÃ1545Ž‘õŒÏ\xydef@\findIsegment@x{%ŽŽ¡‘ãŒÃ1546Ž‘ûKÃÏ\edef\next@{\egroup\def\noexpand\next{\next}%ŽŽ¡‘ãŒÃ1547Ž‘ mÏ\def\noexpand\prevhowclose@{\prevhowclose@}%ŽŽ¡‘ãŒÃ1548Ž‘ mÏ\def\noexpand\closestseg@{\closestseg@}\noexpand\iffalse}}ŽŽ¦‘ãŒÃ1550Ž‘õŒÏ\xydef@\findIsegment@y{%ŽŽ¡‘ãŒÃ1551Ž‘ûKÃÏ\edef\next@{\egroup\def\noexpand\next{\next}%ŽŽ¡‘ãŒÃ1552Ž‘ mÏ\def\noexpand\prevhowclose@{\prevhowclose@}%ŽŽ¡‘ãŒÃ1553Ž‘ mÏ\def\noexpand\closestseg@{\closestseg@}\noexpand\iftrue}}ŽŽ¦‘ãŒÃ1555Ž‘õŒÏ\xydef@\xysidesofinterval@{\bgroupŽŽ¡‘ãŒÃ1556Ž‘ mÏ\L@p=\sd@X\Y@p–¿ª\advance\L@p-\sd@Y\X@p“\advance\L@p\sideOffset@ŽŽŽŽŒ‹Ž qv Á à ý*tj‘㌹142’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1557Ž‘ mÏ\U@p=\sd@X\Y@c–¿ª\advance\U@p-\sd@Y\X@c“\advance\U@p\sideOffset@ŽŽ¤ ™š‘ãŒÃ1558Ž‘ûKÃÏ\def\this@{}\ifdim\L@p>\almostz@–¿ª\ifdim\U@p>\almostz@“\def\next{++}\elseŽŽ¡‘ãŒÃ1559Ž‘ mÏ\ifdim\U@p<-\almostz@‘¿ª\def\next{+-}\else\def\next{+0}\def\this@{-}\fi\fiŽŽ¡‘ãŒÃ1560Ž‘ûKÃÏ\else\ifdim\L@p<-\almostz@–¿ª\ifdim\U@p>\almostz@“\def\next{-+}\elseŽŽ¡‘ãŒÃ1561Ž‘ mÏ\ifdim\U@p<-\almostz@‘¿ª\def\next{--}\else\def\next{-0}\def\this@{+}\fi\fiŽŽ¡‘ãŒÃ1562Ž‘ûKÃÏ\else–¿ª\ifdim\U@p>\almostz@“\def\next{0+}\elseŽŽ¡‘ãŒÃ1563Ž‘ mÏ\ifdim\U@p<-\almostz@‘¿ª\def\next{0-}\else\def\next{00}\def\this@{+}\fi\fiŽŽ¡‘ãŒÃ1564Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ1565Ž‘ûKÃÏ\ifx\this@\emptyŽŽ¡‘ãŒÃ1566Ž‘ mÏ\L@p=\ifdim\L@p<\z@-\fi\L@p‘¿ª\U@p=\ifdim\U@p<\z@-\fi\U@pŽŽ¡‘ãŒÃ1567Ž‘ mÏ\ifdim\L@p<\U@p‘¿ª\edef\howclose@{\the\L@p}\def\this@{-}%ŽŽ¡‘ãŒÃ1568Ž‘ mÏ\else‘¿ª\edef\howclose@{\the\U@p}\def\this@{+}\fiŽŽ¡‘ãŒÃ1569Ž‘ûKÃÏ\else\def\howclose@{0.0pt}\fiŽŽ¡‘ãŒÃ1570Ž‘õŒÏ\splinetrace@{\next:\this@:\howclose@;\the\splineval@:%ŽŽ¡‘ãŒÃ1571Ž‘ûKÃÏ(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ1572Ž‘ûKÃÏ\ifdim\howclose@<\prevhowclose@\relaxŽŽ¡‘ãŒÃ1573Ž‘ mÏ\edef\tmp@{\egroup\def\noexpand\this@{\this@}\def\noexpand\next{\next}%ŽŽ¡‘ãŒÃ1574Ž‘ËÏ\def\noexpand\howclose@{\howclose@}\def\noexpand\prevhowclose@{\howclose@}%ŽŽ¡‘ãŒÃ1575Ž‘ËÏ\def\noexpand\closestseg@{\segmentnum@}}%ŽŽ¡‘ãŒÃ1576Ž‘õŒÏ\splinetrace@{closest–¿ªyet:“\howclose@,“in“segment“\segmentnum@}%ŽŽ¡‘ãŒÃ1577Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1578Ž‘ mÏ\edef\tmp@{\egroup\def\noexpand\this@{\this@}\def\noexpand\next{\next}%ŽŽ¡‘ãŒÃ1579Ž‘ËÏ\def\noexpand\howclose@{\howclose@}}%ŽŽ¡‘ãŒÃ1580Ž‘ûKÃÏ\fi–¿ª\tmp@“}ŽŽ©Pˆ‘ãŒÃ1582Ž‘õŒÏ\xydef@\splineinterceptTest@{%ŽŽ¡‘ãŒÃ1583Ž‘ûKÃÏ\xysidesofinterval@‘¿ª\DN@{\splineadvance@}%ŽŽ¡‘ãŒÃ1584Ž‘ûKÃÏ\DNii@{0.0pt}\ifx\howclose@\nextii@‘¿ª\DN@{\splineclosest@}%ŽŽ¡‘ãŒÃ1585Ž‘ûKÃÏ\else\expandafter\ifx\next‘¿ª\expandafter\ifx\prevnext@ŽŽ¡‘ãŒÃ1586Ž‘ mÏ\ifx\next\prevnext@\else\DN@{\X@c=\X@p‘¿ª\Y@c=\Y@pŽŽ¡‘ãŒÃ1587Ž‘ËÏ\splinefinishf@}\fi\fiŽŽ¡‘ãŒÃ1588Ž‘ûKÃÏ\else‘¿ª\DN@{\splinedecast@}\fi\fiŽŽ¡‘ãŒÃ1589Ž‘ûKÃÏ{\splinefar@false‘¿ª\splinenear@\X@p\X@c\Y@p\Y@cŽŽ¡‘ãŒÃ1590Ž‘ mÏ\ifsplinefar@‘¿ª\aftergroup\next@ŽŽ¡‘ãŒÃ1591Ž‘ mÏ\else\aftergroup\splineclosest@ŽŽ¡‘ãŒÃ1592Ž‘õŒÏ\splinetrace@{too–¿ªclose:“(\the\X@p,\the\Y@p)::(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ1593Ž‘ûKÃÏ\fi}}ŽŽ¦‘ãŒÃ1595Ž‘õŒÏ\xydef@\splineclosest@{%\global\advance\splineval@-.5\splinedepth@ŽŽ¡‘ãŒÃ1596Ž‘ûKÃÏ\expandafter\ifx\this@-\relaxŽŽ¡‘ãŒÃ1597Ž‘ mÏ\X@c=\X@p–¿ª\Y@c=\Y@p“\global\advance\splineval@-\splinedepth@ŽŽ¡‘ãŒÃ1598Ž‘ûKÃÏ\fi–¿ª\splinefinishf@“}%ŽŽŸ–‘ôŒ¹When–*the“line“misses“the“con•²!v“ex›*h“ull˜of˜the˜curv“e's˜con“trol˜pMÞoin“ts˜it˜is˜still˜pMÞossible˜to˜get˜theŽ¡‘ãŒpMÞoinš²!t–¦fof“closest“approac˜h.ަ‘ãŒÃ1605Ž‘õŒÏ\xydef@\squinetestcvxhull@{\begingroupŽŽ¡‘ãŒÃ1606Ž‘õŒÏ\splinetrace@{hull:–¿ªclosest“in“segment“\closestseg@}%ŽŽ¡‘ãŒÃ1607Ž‘ûKÃÏ\expandafter\splinesegment@\ifx\undefined\closestseg@\@ne\else\closestseg@\fiŽŽ¡‘ãŒÃ1608Ž‘ûKÃÏ\X@c=\L@c–¿ª\Y@c=\U@c“\xysidesofinterval@ŽŽ¡‘ãŒÃ1609Ž‘ûKÃÏ\expandafter\ifx\next‘¿ª\expandafter\splineoutsidehull@@ŽŽ¡‘ãŒÃ1610Ž‘ûKÃÏ\else‘¿ª\expandafter\splineinsidehull@\fi}ŽŽŽŽŒ‹ }Ï Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй143ŽŽ ¶?? ýh«w‘ãŒÃ1612Ž‘õŒÏ\xydef@\cubictestcvxhull@{\begingroupŽŽ¤ ™š‘ãŒÃ1613Ž‘ûKÃÏ\expandafter\splinesegment@\ifx\undefined\closestseg@\@ne\else\closestseg@\fiŽŽ¡‘ãŒÃ1614Ž‘ûKÃÏ\X@c=\L@c–¿ª\Y@c=\U@c“\xysidesofinterval@ŽŽ¡‘ãŒÃ1615Ž‘ûKÃÏ\expandafter\ifx\next‘¿ª\expandafter\cubictestcvxhull@iŽŽ¡‘ãŒÃ1616Ž‘ûKÃÏ\else‘¿ª\expandafter\splineinsidehull@\fi}ŽŽ©Pˆ‘ãŒÃ1618Ž‘õŒÏ\xydef@\cubictestcvxhull@i{%\begingroupŽŽ¡‘ãŒÃ1619Ž‘ûKÃÏ\X@c=\R@c–¿ª\Y@c=\D@c“\xysidesofinterval@ŽŽ¡‘ãŒÃ1620Ž‘ûKÃÏ\expandafter\ifx\next‘¿ª\expandafter\splineoutsidehull@@ŽŽ¡‘ãŒÃ1621Ž‘ûKÃÏ\else‘¿ª\expandafter\splineinsidehull@\fi}ŽŽŸv‘ãŒÃ1624Ž‘õŒÏ\xydef@\xysidesofhull@{\bgroupŽŽ¡‘ãŒÃ1625Ž‘ûKÃÏ\L@p=\sd@X\Y@p–¿ª\advance\L@p-\sd@Y\X@p“\advance\L@p\sideOffset@ŽŽ¡‘ãŒÃ1626Ž‘ûKÃÏ\U@p=\sd@X\Y@c–¿ª\advance\U@p-\sd@Y\X@c“\advance\U@p\sideOffset@ŽŽ¡‘ãŒÃ1627Ž‘ûKÃÏ\L@p=\ifdim\L@p<\z@-\fi\L@p‘¿ª\U@p=\ifdim\U@p<\z@-\fi\U@pŽŽ¡‘ãŒÃ1628Ž‘ûKÃÏ\ifdim\L@p<\U@p‘¿ª\edef\howclose@{\the\L@p}\def\this@{-}%ŽŽ¡‘ãŒÃ1629Ž‘ûKÃÏ\else‘¿ª\edef\howclose@{\the\U@p}\def\this@{+}\fiŽŽ¡‘ãŒÃ1630Ž‘ûKÃÏ\ifx\splinedecast@\squinedecast@–¿ª\D@c=\U@c“\R@c=\L@c“\fiŽŽ¡‘ãŒÃ1631Ž‘ûKÃÏ\L@p=\sd@X\U@c–¿ª\advance\L@p-\sd@Y\L@c“\advance\L@p\sideOffset@ŽŽ¡‘ãŒÃ1632Ž‘ûKÃÏ\L@p=\ifdim\L@p<\z@-\fi\L@pŽŽ¡‘ãŒÃ1633Ž‘ûKÃÏ\expandafter\if\this@-%ŽŽ¡‘ãŒÃ1634Ž‘ mÏ\ifdim\L@p<\prevhowclose@–¿ª\def\next{-+}\else“\def\next{--}\fiŽŽ¡‘ãŒÃ1635Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1636Ž‘ mÏ\ifdim\L@p<\howclose@‘¿ª\def\next{-+}\elseŽŽ¡‘ãŒÃ1637Ž‘ËÏ\U@p=\sd@X\D@c–¿ª\advance\U@p-\sd@Y\R@c“\advance\U@p\sideOffset@ŽŽ¡‘ãŒÃ1638Ž‘ËÏ\U@p=\ifdim\U@p<\z@-\fi\U@pŽŽ¡‘ãŒÃ1639Ž‘ËÏ\ifdim\U@p<\howclose@–¿ª\def\next{+-}\else“\def\next{++}\fiŽŽ¡‘ãŒÃ1640Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ1641Ž‘ûKÃÏ\edef\tmp@{\egroup\def\noexpand\this@{\this@}\def\noexpand\next{\next}%ŽŽ¡‘ãŒÃ1642Ž‘ mÏ\def\noexpand\howclose@{\howclose@}}\tmp@‘¿ª}ŽŽŸÁÑ‘ôŒ¹This–nïis“for“straighš²!t“connections“in˜tercepting“with“a“curv˜e.‘v It“requires“a“rede nition“of“Ï\PLACE@intercept@ŽŽ¡‘㌹to–¦frecognise“that“the“inš²!tercept“is“with“a“curv˜ed“connection.ަ‘ãŒÃ1650Ž‘õŒÏ\def\PLACE@intercept@#1{%ŽŽ¡‘ãŒÃ1651Ž‘ûKÃÏ\xy@@{\enter@{\pfromthep@\basefromthebase@}\begingroup}%ŽŽ¡‘ãŒÃ1652Ž‘ûKÃÏ\xy@@ix@{#1}\xy@@{\plainxy@‘¿ª\def\Creset@@{}%ŽŽ¡‘ãŒÃ1653Ž‘ mÏ\expandafter\POS\the\toks9\relaxŽŽ¡‘ãŒÃ1654Ž‘ mÏ\DNii@{\crvreset@}\ifx\nextii@\Creset@@‘¿ª\edef\next@{\endgroupŽŽ¡‘ãŒÃ1655Ž‘ËÏ\def\noexpand\xyinterceptpts@{\the\crvpts@}%ŽŽ¡‘ãŒÃ1656Ž‘ËÏ\X@c–¿ª=\the\X@c“\Y@c=\the\Y@c“\X@p=\the\X@p“\Y@p=\the\Y@pŽŽ¡‘ãŒÃ1657Ž‘ËÏ\noexpand\CCintercept@@‘¿ª}%ŽŽ¡‘ãŒÃ1658Ž‘ mÏ\else‘¿ª\edef\next@{\endgroupŽŽ¡‘ãŒÃ1659Ž‘ËÏ\X@c–¿ª=\the\X@c“\Y@c=\the\Y@c“\X@p=\the\X@p“\Y@p=\the\Y@pŽŽ¡‘ãŒÃ1660Ž‘ËÏ\noexpand\Cintercept@@‘¿ª}%ŽŽ¡‘ãŒÃ1661Ž‘ mÏ\fi–¿ª\next@“\leave@}%ŽŽ¡‘ãŒÃ1662Ž‘ûKÃÏ\PLACE@@}ŽŽ¦‘ãŒÃ1664Ž‘õŒÏ\xydef@\CCintercept@@{\splineSintercept@}ŽŽ¡‘ãŒÃ1665Ž‘õŒÏ\xydef@\splineSintercept@{\enter@{\pfromthep@}\begingroupŽŽ¡‘ãŒÃ1666Ž‘ mÏ\Creset@@–¿ª\edef\connect@pts{\cfromthec@“\pfromthep@}%ŽŽ¡‘ãŒÃ1667Ž‘ËÏ\xyinterceptpts@–¿ª\splinereset@“\connect@pts“\splineintercept@ŽŽŽŽŒ‹ ‹O Á à ý*tj‘㌹144’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1668Ž‘ mÏ\edef\next@{\endgroup–¿ª\cfromthec@“\DirectionfromtheDirection@“}%ŽŽ¤ ™š‘ãŒÃ1669Ž‘ûKÃÏ\next@–¿ª\let\xyinterceptpts@=\empty“\leave@}ŽŽŸ‰î‘ôŒÔT‘þó\o‘éÉDo:‘¾:¹If–g bšMÞoth“connections“are“curv²!es,‘sÇonly“the“line“joining“the“end-p˜oin²!ts“of“the“ rst“connectionŽ¡‘ãŒis–¦fused.‘ÝÝFind“a“w•²!a“y–¦fto“do“bMÞetter“than“this.Ž© Ó‘ôŒIf–Ëthe“line“došMÞes“not“separate“the“end-p˜oinš²!ts“then“there“ma˜y“bMÞe“no“in˜tersection“with“the“curv˜e.Ž¡‘ãŒIf–™úthere“is“one“then“either“the“line“is“tangen²!tial“or“necessarily“there“will“also“bMÞe“at“least“one“otherŽ¡‘ãŒin²!tersection.‘ÝÝA‘¦fmessageޤEÌ‘eKØÏperhaps–¿ªno“curve“intersection,“or“many.ŽŽ¡‘㌹is–bOwritten“to“the“log- le,‘oíbut“a“searcš²!h“for“an“in˜tersection“will“still“bšMÞe“p˜erformed“and“a“\sensible"“placeޤ ™š‘ãŒfound–GDon“the“curvš²!e.‘ÀwIn“the“usual“case“of“a“single“quadratic“or“cubic“segmen˜t,‘o{the“place“nearest“theŽ¡‘ãŒline–¦fis“found“and“the“tangen²!t“direction“is“established.ަ‘ôŒThe–n)folloš²!wing“examples“sho˜w“this,‘yiand“sho˜w“ho˜w“to“get“the“place“on“the“line“nearest“to“the“curv˜e.ަŸ5¯‘‘gt½ïps: SDict begin xyc end‘ 2Ο%òÄAŽŽŽŽ‘DàŸÖx%BŽŽŽŽ‘Ÿ%òCŽŽŽŽ‘PžªŸ%òDŽŽŽŽ‘ NŸýh0ïA" {mark 60.0 42.67891 59.18091 -19.26114 0.0 0.0 1.0 0.06201 q}xyŽŽŽ‘IןÙtÇï" {-3146 10 /xy AB}xyŽŽŽŽ‘ NŸýh0ïD" {mark 60.0 42.67891 59.18091 -19.26114 0.0 0.0 0.06201 0.9436 q}xyŽŽŽ‘ NŸýh0ïA" {mark 60.0 42.67891 59.18091 -19.26114 0.0 0.0 1.0 0.94354 q}xyŽŽŽ‘MžªŸ-™ï" {63.01038 14.54536 l}xyŽŽŽ‘/fjŸü2ï" {-3728 st}xyŽŽŽŽ‘.7Ÿîï" {-3728 F d}xyŽŽŽŽŽŽŽŽŽŽŽŸýh0‘/fjŸ”ï" {-5.12988 23.44629 l}xyŽŽŽ‘-y^ŸZ}Ç ŽŽŽŽŽŽŽŽ’ÚX€ïps: SDict begin xyc end‘ 2Ο%òÄAŽŽŽŽ‘DàŸÖx%BŽŽŽŽ‘Ÿ%òCŽŽŽŽ‘\žªŸû%òDŽŽŽŽ‘ NŸýh0ï@" {mark 60.0 42.67891 76.68945 -43.62149 0.0 0.0 1.0 0.0476 q}xyŽŽŽ‘JqŸÙxZï" {-2909 10 /xy AB}xyŽŽŽŽ‘ NŸýh0ïD" {mark 60.0 42.67891 76.68945 -43.62149 0.0 0.0 0.0476 0.95972 q}xyŽŽŽ‘ NŸýh0ïA" {mark 60.0 42.67891 76.68945 -43.62149 0.0 0.0 1.0 0.95978 q}xyŽŽŽ‘YžªŸù÷Sï" {75.01038 25.00836 l}xyŽŽŽ‘%›Ÿ ³äÇ ŽŽŽŽŽŽŽŽŽŽŸ0Àn‘ãŒÏ\xy‘¿ª*+{A}="A";p+/r5pc/+(0,15)*+{B}="B",ŽŽ¡‘éKÃ,p-<.5pc,2pc>*+{C}="C","A"+<6pc,-.5pc>ŽŽ¡‘éKÃ,*+{D}="D","A",{\ar@/_25pt/"B"}ŽŽ¡‘éKÃ,?!{"C";"D"**@{-}}*\dir{x}="E"ŽŽ¡‘éKÃ,+/_2pc/="F";"E"**@{-},?!{"C";"D"}ŽŽ¡‘éKÃ,*{\otimes}\endxy\qquad\xyŽŽ¡‘éKÃ*+{A}="A";p+/r5pc/+(0,15)*+{B}="B",ŽŽ¡‘éKÃ,p-<.5pc,2pc>*+{C}="C"ŽŽ¡‘éKÃ,"A"+<7pc,.5pc>*+{D}="D","A"ŽŽ¡‘éKÃ,{\ar@/_40pt/"B"},?!{"C";"D"**@{-}}ŽŽ¡‘éKÃ,*{\otimes}\endxyŽŽŸ‰î‘ôŒ¹The–bwš²!arning“message,‘èthat“no“in˜tersection“ma˜y“exist,‘èalw˜a˜ys“oMÞccurs“inside“a“grouping“so“it“canŽ¡‘ãŒsafely–¦fswitcš²!h“itself“o “for“deepMÞer“lev˜els.Ž©Pˆ‘ãŒÃ1712Ž‘õŒÏ\xydef@\nointerceptwarning@{\let\nointerceptwarning@=\relaxŽŽ¡‘ãŒÃ1713Ž‘ûKÃÏ\xywarning@{perhaps–¿ªno“curve“intersection,“or“many.“}}ŽŽ¦‘ãŒÃ1715Ž‘õŒÏ\xydef@\intercepthull@{\nointerceptwarning@ŽŽ¡‘ãŒÃ1716Ž‘ûKÃÏ\expandafter\def\expandafter\prevnext@\expandafter{\next}%ŽŽ¡‘ãŒÃ1717Ž‘ûKÃÏ\splinetestcvxhull@}ŽŽŸ‰î‘ôŒ¹When–Vlthe“line“meets“the“con•²!v“ex›Vlh“ull˜of˜the˜curren“t˜con“trol˜pMÞoin“ts,‘fjthen˜a˜closer˜pMÞoin“t˜exists˜insideŽ¡‘ãŒthe–#currenš²!t“pMÞortion“of“the“curv˜e.‘!W‘ÿee“m˜ust“\decast"“to“ nd“it,‘-after“storing“the“closest“v‘ÿdDalue“kno˜wnŽ¡‘ãŒso–¦ffar,“within“Ï\prevhowclose@Ž‘T!²¹.ަ‘ãŒÃ1726Ž‘õŒÏ\xydef@\splinetestcvxhull@{\begingroupŽŽ¡‘ãŒÃ1727Ž‘ûKÃÏ\X@c=\L@c–¿ª\Y@c=\U@c“\splinetrace@{hull:}\xysidesofinterval@ŽŽ¡‘ãŒÃ1728Ž‘ûKÃÏ\expandafter\ifx\next‘¿ª\expandafter\splineoutsidehull@@ŽŽ¡‘ãŒÃ1729Ž‘ûKÃÏ\else‘¿ª\expandafter\splineinsidehull@\fi}ŽŽ¦‘ãŒÃ1731Ž‘õŒÏ\xydef@\splineinsidehull@{\edef\tmp@{\endgroupŽŽŽŽŒ‹‘ ˜U Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй145ŽŽ ¶?? ýh«w‘ãŒÃ1732Ž‘ûKÃÏ\def\noexpand\howcvxclose@{\howclose@}%ŽŽ¤ ™š‘ãŒÃ1733Ž‘ mÏ\noexpand\interceptinsidehull@}\tmp@‘¿ª}ŽŽ©Pˆ‘ãŒÃ1735Ž‘õŒÏ\xydef@\interceptinsidehull@{\edef\prevhowclose@{\howclose@}%ŽŽ¡‘ãŒÃ1736Ž‘ûKÃÏ\splinedecast@@‘¿ª}ŽŽŸR?‘ôŒ¹If–Cšthe“line“doMÞes“not“cross“inš²!to“the“con˜v˜ex“h˜ull,‘jçthen“w˜e“use“the“distance“from“the“con˜trol“pMÞoin˜tsŽ¡‘ãŒto–­ëdetermine“whether“or“not“there“can“bšMÞe“a“closer“p˜oin²!t.‘ôkThe“v‘ÿdDalue“of“Ï\prevhowclose@Ž‘W×"¹indicates“theŽ¡‘ãŒbšMÞest–÷so“far,‘ Ùwhile“Ï\howcvxclose@Ž‘RªÀ¹temp˜orarily“holds“the“distance“to“the“closest“con²!trol“p˜oin²!t.‘ÑYWhenŽ¡‘ãŒthis–¦fis“nearer“then“there“will“bšMÞe“a“closer“p˜oinš²!t“on“the“curv˜e.ަ‘ãŒÃ1747Ž‘õŒÏ{\xdef\next{\the\maxdimen}}ŽŽ¡‘ãŒÃ1748Ž‘õŒÏ\xylet@\prevhowclose@=\nextŽŽ¦‘ãŒÃ1750Ž‘õŒÏ\xydef@\splineoutsidehull@{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1751Ž‘ mÏ\def\noexpand\howcvxclose@{\howclose@}%ŽŽ¡‘ãŒÃ1752Ž‘ËÏ\noexpand\interceptoutsidehull@}\tmp@}ŽŽ¡‘ãŒÃ1753Ž‘õŒÏ\xylet@\splineoutsidehull@@=\splineoutsidehull@ŽŽ¦‘ãŒÃ1755Ž‘õŒÏ%\xydef@\interceptoutsidehull@{\dimen@=\howcvxclose@‘¿ª\relaxŽŽ¡‘ãŒÃ1756Ž‘õŒÏ%–¿ª\ifdim\dimen@<\howclose@“\relaxŽŽ¡‘ãŒÃ1757Ž‘õŒÏ%‘ T\ifdim\howclose@<\prevhowclose@\relax‘¿ª\edef\prevhowclose@{\howclose@}\fiŽŽ¡‘ãŒÃ1758Ž‘õŒÏ%‘>þ\DN@{\begingroup\splinedecast@@‘¿ª\endgroup}%ŽŽ¡‘ãŒÃ1759Ž‘õŒÏ%–¿ª\else\ifdim\howclose@>\prevhowclose@“\relax“\DN@{\splineHadvance@}%ŽŽ¡‘ãŒÃ1760Ž‘õŒÏ%–¿ª\else“\DN@{\splineHadvance@“}\fi\fi“\next@“}ŽŽ¡‘ãŒÃ1761Ž‘õŒÏ\xydef@\interceptoutsidehull@{\dimen@=\howcvxclose@‘¿ª\relaxŽŽ¡‘ãŒÃ1762Ž‘õŒÏ%‘¿ª\global\splineval@=\z@ŽŽ¡‘ãŒÃ1763Ž‘õŒÏ\splinetrace@{OUTSIDE–¿ªHULL:“\the\dimen@“:“(\howclose@)(\prevhowclose@)}%ŽŽ¡‘ãŒÃ1764Ž‘ûKÃÏ\let\splinedecast@=\splinedecast@@ŽŽ¡‘ãŒÃ1765Ž‘ûKÃÏ\let\splinerec@\splineHnear@testŽŽ¡‘ãŒÃ1766Ž‘ûKÃÏ\let\splineadvance@\splineIadvance@@ŽŽ¡‘ãŒÃ1767Ž‘ûKÃÏ\splinedecast@@‘¿ª}ŽŽ¦‘ãŒÃ1769Ž‘õŒÏ\xydef@\splineHnear@test{%ŽŽ¡‘ãŒÃ1770Ž‘ûKÃÏ\xysidesofhull@‘¿ª\DN@{\splinedecast@}%ŽŽ¡‘ãŒÃ1771Ž‘ûKÃÏ\ifdim\howclose@<\prevhowclose@\edef\howclose@{\prevhowclose@}\fiŽŽ¡‘ãŒÃ1772Ž‘ûKÃÏ\expandafter\if\this@-%ŽŽ¡‘ãŒÃ1773Ž‘ mÏ\expandafter\ifx\next\DN@{\splineclosest@}\fiŽŽ¡‘ãŒÃ1774Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1775Ž‘ mÏ\expandafter\ifx\next\DN@{\splineadvance@}\fiŽŽ¡‘ãŒÃ1776Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ1777Ž‘ûKÃÏ{\splinefar@false‘¿ª\splinenear@\X@p\X@c\Y@p\Y@cŽŽ¡‘ãŒÃ1778Ž‘ mÏ\ifsplinefar@‘¿ª\aftergroup\next@ŽŽ¡‘ãŒÃ1779Ž‘ mÏ\else\aftergroup\splineclosest@ŽŽ¡‘ãŒÃ1780Ž‘õŒÏ\splinetrace@{too–¿ªclose:“(\the\X@p,\the\Y@p)::(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ1781Ž‘ûKÃÏ\fi}}ŽŽŸR?‘ôŒ¹F‘ÿeor–åâcubic“segmen²!ts“it“is“necessary“to“lošMÞok“at“b˜oth“con•²!trol-p˜oin“ts–åâo “the“curv²!e“and“compare“theirŽ¡‘ãŒdistances;–¦fhence“the“use“of“Ï\prevhowcvxclose@Ž‘e`°¹,“initially“set“to“Ï\maxdimenŽ‘7c`¹.ަ‘ãŒÃ1789Ž‘õŒÏ\xydef@\cubicoutsidehull@{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1790Ž‘ mÏ\def\noexpand\howcvxclose@{\howclose@}}\tmp@ŽŽ¡‘ãŒÃ1791Ž‘ mÏ\edef\prevhowcvxclose@{\howcvxclose@}\begingroupŽŽ¡‘ãŒÃ1792Ž‘ûKÃÏ\X@p=\R@c–¿ª\Y@p=\D@c“\splinetrace@{hullii:}\xysidesofinterval@ŽŽ¡‘ãŒÃ1793Ž‘ûKÃÏ\expandafter\ifx\next‘¿ª\expandafter\cubicoutsidehull@iŽŽŽŽŒ‹’ §› Á à ý*tj‘㌹146’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1794Ž‘ûKÃÏ\else‘¿ª\expandafter\cubicinsidehull@\fi}ŽŽ©Pˆ‘ãŒÃ1796Ž‘õŒÏ\xydef@\cubicinsidehull@{\edef\tmp@{\endgroupŽŽ¤ ™š‘ãŒÃ1797Ž‘ûKÃÏ\def\noexpand\howclose@{\howclose@}}\tmp@ŽŽ¡‘ãŒÃ1798Ž‘ûKÃÏ\cubicoutsidehull@ii‘¿ª}ŽŽ¦‘ãŒÃ1800Ž‘õŒÏ\xydef@\cubicoutsidehull@i{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1801Ž‘ûKÃÏ\def\noexpand\howcvxclose@{\howclose@}}\tmp@ŽŽ¡‘ãŒÃ1802Ž‘ûKÃÏ\dimen@=\prevhowcvxclose@\relaxŽŽ¡‘ãŒÃ1803Ž‘ûKÃÏ\ifdim\dimen@<\howcvxclose@‘¿ª\relaxŽŽ¡‘ãŒÃ1804Ž‘ mÏ\edef\howcvxclose@{\the\dimen@}\expandafter\interceptoutsidehull@ŽŽ¡‘ãŒÃ1805Ž‘ûKÃÏ\else–¿ª\expandafter\cubicoutsidehull@ii\fi“}ŽŽ¦‘ãŒÃ1807Ž‘õŒÏ\xydef@\cubicoutsidehull@ii{%ŽŽ¡‘ãŒÃ1808Ž‘ûKÃÏ\def\splineadvance@{\splineadvance@@}%ŽŽ¡‘ãŒÃ1809Ž‘ûKÃÏ\def\splinepoint\endgroup{\endgroupŽŽ¡‘ãŒÃ1810Ž‘õŒÏ%‘ T\global\let\splinepoint=\splinepoint@ŽŽ¡‘ãŒÃ1811Ž‘ mÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ1812Ž‘ mÏ\def\splineadvance@{\intercepthull@}}%ŽŽ¡‘ãŒÃ1813Ž‘ûKÃÏ\splinedecast@@‘¿ª}%ŽŽŸai‘ôŒ¹This–˜5macro“Ï\splineHadvance@Ž‘a+ ¹is“used“at“the“end“of“a“Ï\splinedecast@Ž‘U«¶¹in“order“to“pass“informationŽ¡‘ãŒfrom–¦fout“of“a“subsegmenš²!t,“to“help“decide“whether“there“is“an˜y“pMÞoin˜t“in“further“searc˜hing.ަ‘ãŒÃ1821Ž‘õŒÏ\xydef@\splineHadvance@{\futurelet\next@\splineHadvance@i}ŽŽ¡‘ãŒÃ1822Ž‘õŒÏ\xydef@\splineHadvance@i{\ifx\next@\endgroupŽŽ¡‘ãŒÃ1823Ž‘ûKÃÏ\expandafter\splineHadvance@x\else\expandafter\splineclosest@\fi}ŽŽ¦‘ãŒÃ1825Ž‘õŒÏ\xydef@\splineHadvance@x{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1826Ž‘ mÏ\def\noexpand\prevhowclose@{\prevhowclose@}%ŽŽ¡‘ãŒÃ1827Ž‘ mÏ\def\noexpand\prevnext@{\next}\def\noexpand\howcvxclose@{\howclose@}}%ŽŽ¡‘ãŒÃ1828Ž‘ûKÃÏ\tmp@–¿ª\dimen@=\prevhowclose@“\relaxŽŽ¡‘ãŒÃ1829Ž‘ûKÃÏ\ifdim\dimen@<\howclose@–¿ª\relax“\DN@{\splineclosest@\begingroup}%ŽŽ¡‘ãŒÃ1830Ž‘ûKÃÏ\else\ifdim\howcvxclose@=\dimen@\DN@{\splineclosest@\begingroup}%ŽŽ¡‘ãŒÃ1831Ž‘ûKÃÏ\else\DN@{\splineadvance@@\begingroup}\fi\fi–¿ª\next@“}ŽŽŸJ‘ãŒÔMiscellaneous‘(Ùfeatures‘ ó5¹The–öcommand“Ï\clearcurveŽ‘Fx:¹wš²!as“originally“pro˜vided“to“discard“the“curv˜eŽ¡‘ãŒinformation,‘•qand–e¢return“to“the“graphics“state“bMÞefore“the“curvš²!e“w˜as“read,‘•qif“this“is“ev˜er“found“to“bMÞeŽ¡‘ãŒnecessary‘ÿe.‘ÝÝThis–¦fwill“probably“bMÞe“remo•²!v“ed.ަ‘ãŒÃ1843Ž‘õŒÏ\xydef@\xyclearcrv@{\cv@end\cv@restore\loop@ŽŽ¡‘ãŒÃ1844Ž‘ûKÃÏ\expandafter\let\csname‘¿ªcv@\number\crv@cnt@\endcsname\relaxŽŽ¡‘ãŒÃ1845Ž‘ûKÃÏ\ifnum\crv@cnt@>0\advance\crv@cnt@\m@ne\repeat@ŽŽ¡‘ãŒÃ1846Ž‘ûKÃÏ\let\cv@start=\relax–¿ª\let\cv@end=\relax“\let\cv@restore=\relax“\POS}ŽŽ¡‘ãŒÃ1847Ž‘õŒÏ\xylet@\clearcurve=\xyclearcrv@ŽŽŸai‘ôŒÔT‘þó\o‘9vDo:‘q¹De ne–ÍÌan“Ï\extendcurveŽ‘J—¹as“a“Çh¹pMÞostcurvš²!eÇi“¹whic˜h“allo˜ws“the“curv˜e“to“bMÞe“con˜tin˜ued“smoMÞothlyŽ¡‘ãŒpast–¦fthe“endpMÞoin²!t“Äc¹.ŽŸª{‘ôŒA‘]macro–]6can“bšMÞe“used“within“the“mo˜di er,‘Šêto“proš²!vide“di eren˜t“labMÞels“at“eac˜h“con˜trol“pMÞoin˜t.‘NF‘ÿeorŽ¡‘ãŒexample.–Ó3.“.ŽŽŽŒ‹“ ´ô Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй147ŽŽ ¶?? ýh«wŸ2‹æ’†ÿNïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ’ñŸ™ÐBŽŽŽŽ‘ ÒDŸcO¹1ŽŽŽŽ‘=F"ŸÖA¤2ŽŽŽŽ‘YºŸ+>3ŽŽŽŽ‘v-ÞŸÖA¤4ŽŽŽŽ‘3Ÿýh0ïU" {mark 0.0 0.0 28.4526 -28.4526 42.67891 7.11316 54.53416 10.66974 0.08693 1.0 bz}xyï\" {mark 54.53416 10.66974 66.38942 14.2263 75.87363 -14.2263 87.72888 -7.11314 0.0 1.0 bz}xyï^" {mark 87.72888 -7.11314 99.58412 0.0 113.81042 42.67891 142.26303 -28.4526 0.0 0.96667 bz}xyŽŽŽŽŽŽŽŸ@M¶‘ãŒÏ\newcount\cptlabel\global\cptlabel=0ŽŽ¤ ™š‘ãŒ\def\nextcptlabel{\global\advance\cptlabel–¿ª1“%ŽŽ¡‘éKÃ\number\cptlabel}ŽŽ¡‘ãŒ\xy–¿ª(0,0)*+{A};“(50,-10)*+{B}ŽŽ¡‘ãŒ**\crv~Pc{~*{\nextcptlabel}(10,-10)ŽŽ¡‘éKÃ&(20,15)&(30,-15)&(40,15)}‘¿ª\endxyŽŽŸ6‘ôŒ¹Tw•²!o› ‹con“trol˜sequences˜are˜pro“vided˜to˜access˜the˜con“trol˜pMÞoin“ts.‘ÛéFirstly˜Ï\numcontrolptsŽ‘W¼b¹returnsŽ¡‘ãŒthe›…n•²!um“bMÞer˜of˜them,‘‹Åwhile˜Ï\xycontrolptŽ‘HÇh¹n“umÇi˜¹sets˜Äc˜¹to˜bMÞe˜the˜particular˜con“trol˜pMÞoin“t.‘ÒÅHere˜Çh¹n“umÇiŽ¡‘㌹m²!ust–×bšMÞe“a“single“digit,‘-ôgroup˜ed“inš²!teger“Ðe¹.Ðg¹.“Ï{-15}Ž‘$ä¹or“coun˜t“register“con˜taining“a“n˜umerical“v‘ÿdDalue.‘#1IfŽ¡‘ãŒlarger–ÒÄthan“Ï\numcontrolptsŽ‘X Ô¹then“Äc“¹bšMÞecomes“the“end-p˜oinš²!t“of“the“curv˜e,‘ÝÛwhile“if“zero“it“bMÞecomes“theŽ¡‘ãŒstarting›XâpMÞoin•²!t.‘ÄA‘XÎnegativ“e˜v‘ÿdDalue˜sets˜b•MÞoth˜Äp˜¹and˜Äc˜¹to˜b“e˜the˜starting˜p“oin•²!t,‘hcwhereas˜other˜v‘ÿdDalues˜lea“v“eŽ¡‘ãŒÄp‘¦f¹unc²!hanged.ޤPˆ‘ãŒÃ1881Ž‘õŒÏ\xylet@\numcontrolpts=\xynumctrlpts@ŽŽ¡‘ãŒÃ1883Ž‘õŒÏ\xydef@\xycontrolpt@#1{{%ŽŽ¤ ™š‘ãŒÃ1884Ž‘ûKÃÏ\ifnum#1<\z@\aftergroup\cv@restore\aftergroup\cv@startŽŽ¡‘ãŒÃ1885Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1886Ž‘ mÏ\expandafter\count@\xycrvptsnum@\relax‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ1887Ž‘ mÏ\ifnum#1>\count@‘¿ª\ifx\cv@end\relaxŽŽ¡‘ãŒÃ1888Ž‘ËÏ\expandafter\aftergroup\csname‘¿ªcv@\number#1\endcsnameŽŽ¡‘ãŒÃ1889Ž‘ËÏ\else\aftergroup\cv@end\fiŽŽ¡‘ãŒÃ1890Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1891Ž‘ËÏ\expandafter\ifx\csname‘¿ªcv@\number#1\endcsname\relaxŽŽ¡‘ãŒÃ1892Ž‘ ŠÁÏ\ifnum#1=\z@\aftergroup\cv@start\else\aftergroup\cv@end\fiŽŽ¡‘ãŒÃ1893Ž‘ËÏ\else\expandafter\aftergroup\csname‘¿ªcv@\number#1\endcsnameŽŽ¡‘ãŒÃ1894Ž‘ûKÃÏ\fi\fi\fi}}%ŽŽ¡‘ãŒÃ1895Ž‘õŒÏ\xylet@\xycontrolpt=\xycontrolpt@ŽŽŸ#ò‘ãŒÔStoring– conš¦ttrol“pY‹oin˜t“loY‹cations:‘ ó5¹UpšMÞon– starting“to“read“the“con²!trol“p˜oinš²!ts“for“a“curv˜e,‘*ù rst“set“theŽ¡‘ãŒcoun²!ter‘U¾Ï\crv@cnt@Ž‘:hv¹to–U¾bšMÞe“zero.‘ÂúStore“the“p˜osition“of“Äp“¹and“Äc“¹and“the“currenš²!t“base“in“con˜trol“sequencesŽ¡‘ãŒÏ\cv@startŽ‘I¹,‘ÏÏ\cv@endŽ‘/Óµ¹and‘ÆöÏ\cv@restoreŽ‘FÊ:¹for–Æölater“retriev‘ÿdDal“and“to“reinstate“the“curren²!t“graphics“state.Ž¡‘ãŒÏ\cv@startŽ‘ïy¹is–¦fa“little“more“complicated“in“order“to“retain“the“existing“v‘ÿdDalue“of“Äp¹.Ž©Pˆ‘ãŒÃ1910Ž‘õŒÏ\xydef@\startxycurve@@{\crv@cnt@=\z@ŽŽ¡‘ãŒÃ1911Ž‘ûKÃÏ\edef\cv@start{\cfromthep@}%ŽŽ¡‘ãŒÃ1912Ž‘ûKÃÏ\ifdim\zz@\R@c–¿ª\ifdim\zz@\L@c“\ifdim\zz@\D@c“\ifdim\zz@\U@cŽŽ¡‘ãŒÃ1913Ž‘JkÏ\Edge@c={\zeroEdge}\fi\fi\fi\fiŽŽ¡‘ãŒÃ1914Ž‘ûKÃÏ\edef\cv@end{\cfromthec@}%ŽŽ¡‘ãŒÃ1915Ž‘ûKÃÏ\edef\cv@restore{\pfromthep@\basefromthebase@}}ŽŽ¡‘ãŒÃ1916Ž‘õŒÏ\xylet@\startxycurve@=\startxycurve@@ŽŽ¦‘ãŒÃ1918Ž‘õŒÏ\xylet@\cv@start=\relaxŽŽŽŽŒ‹” Á= Á à ý*tj‘㌹148’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1919Ž‘õŒÏ\xylet@\cv@end=\relaxŽŽ¤ ™š‘ãŒÃ1920Ž‘õŒÏ\xylet@\cv@restore=\relaxŽŽ¡‘ãŒÃ1921Ž‘õŒÏ\xydef@\readxycurve@{\startxycurve@\xycrvmods@}ŽŽ¡‘ãŒÃ1922Ž‘õŒÏ\xylet@\readxycurve=\readxycurve@ŽŽŸÛ ‘ôŒ¹The–X¼pMÞosition“of“eacš²!h“con˜trol“pMÞoin˜t“is“stored“as“the“expansion“of“a“con˜trol“sequence“whose“nameŽ¡‘ãŒencošMÞdes–'Òits“place“within“the“Çh¹p˜oslistÇiŽ‘+ƒÉ¹.‘b Expanding“this“con²!trol“sequence“sets“Äc“¹to“b˜e“the“appropriateŽ¡‘ãŒpMÞosition.Ž©Pˆ‘ãŒÃ1931Ž‘õŒÏ\xydef@\addtocrv@{\advance\crv@cnt@\@neŽŽ¡‘ãŒÃ1932Ž‘ûKÃÏ\edef\tmp@{%ŽŽ¡‘ãŒÃ1933Ž‘ËÏ\expandafter\noexpand\csname‘¿ªcv@\number\crv@cnt@\endcsname}%ŽŽ¡‘ãŒÃ1934Ž‘ûKÃÏ\expandafter\edef\tmp@{\cfromthec@}%ŽŽ¡‘ãŒÃ1935Ž‘ûKÃÏ\edef\tmp@{\noexpand\addtocrvpts@{\noexpand\defŽŽ¡‘ãŒÃ1936Ž‘ mÏ\expandafter\noexpand\tmp@{\X@c=\the\X@c–¿ª\Y@c=\the\Y@c“}}}\tmp@ŽŽ¡‘ãŒÃ1937Ž‘ûKÃÏ\edef\xycrvptsnum@{\the\crv@cnt@}%ŽŽ¡‘ãŒÃ1938Ž‘õŒÏ}ŽŽŸ-žP‘ãŒÃ1947Ž‘õŒÏ\xydef@\xycrvdrop@{‘¿ª{\zerodot}}ŽŽ¡‘ãŒÃ1948Ž‘õŒÏ\xydef@\xycrvconn@{}ŽŽ¦‘ãŒÃ1950Ž‘õŒÏ\xydef@\xyc@trlpts@{\def\xycrvdrop@{‘¿ª\dir{x}}\def\xycrvconn@{}%ŽŽ¡‘ãŒÃ1951Ž‘ûKÃÏ\afterCURVE{\savecrvobjects@\xyctrlpts@}\readxycurve@}ŽŽ¡‘ãŒÃ1952Ž‘õŒÏ\xydef@\xyc@trlpts@@{%ŽŽ¡‘ãŒÃ1953Ž‘ûKÃÏ\afterCURVE{\savecrvobjects@\def\xycrvdrop@{‘¿ª\dir{x}}%ŽŽ¡‘ãŒÃ1954Ž‘ mÏ\def\xycrvconn@{}\xyctrlpts@}\readxycurve@}ŽŽ¡‘ãŒÃ1955Ž‘õŒÏ\xydef@\xyc@vxhull@{\def\xycrvdrop@{‘¿ª{}}%ŽŽ¡‘ãŒÃ1956Ž‘ûKÃÏ\edef\xycrvconn@{‘¿ª\noexpand\dir{\addDASH@{}}}%ŽŽ¡‘ãŒÃ1957Ž‘ûKÃÏ\afterCURVE{\savecrvobjects@\xycvxhull@}\readxycurve@}ŽŽ¡‘ãŒÃ1958Ž‘õŒÏ\xydef@\xyc@vxhull@@{%ŽŽ¡‘ãŒÃ1959Ž‘ûKÃÏ\afterCURVE{\savecrvobjects@\def\xycrvdrop@{‘¿ª{}}%ŽŽ¡‘ãŒÃ1960Ž‘ mÏ\edef\xycrvconn@{‘¿ª\noexpand\dir{\addDASH@{}}}\xycvxhull@}\readxycurve@}ŽŽ¡‘ãŒÃ1961Ž‘õŒÏ\xylet@\controlpts=\xyc@trlpts@ŽŽ¡‘ãŒÃ1962Ž‘õŒÏ\xylet@\convexhull=\xyc@vxhull@ŽŽ¡‘ãŒÃ1963Ž‘õŒÏ\xydef@\savecrvobjects@{\bgroupŽŽ¡‘ãŒÃ1964Ž‘ mÏ\expandafter\toks@\expandafter{\xycrvdrop@}%ŽŽ¡‘ãŒÃ1965Ž‘ mÏ\expandafter\toks@ii\expandafter{\xycrvconn@}%ŽŽ¡‘ãŒÃ1966Ž‘ mÏ\edef\tmp@{\egroup\noexpand\def\noexpand\resetcrvobjects@{%ŽŽ¡‘ãŒÃ1967Ž‘ËÏ\noexpand\def\noexpand\xycrvdrop@{\the\toks@}%ŽŽ¡‘ãŒÃ1968Ž‘ËÏ\noexpand\def\noexpand\xycrvconn@{\the\toks@ii}%ŽŽ¡‘ãŒÃ1969Ž‘ mÏ}}\tmp@}ŽŽŸÛ ‘ãŒÔAlternate–Ö>curvš¦te“st˜yles:‘ ó5¹There–w…is“the“pMÞotenš²!tial“to“do“man˜y“other“things“here,‘´b˜y“using“Ï\afterCURVEŽ‘A³Ó¹,Ž¡‘ãŒonce–¦fthe“list“of“conš²!trol“pMÞoin˜ts“has“bMÞeen“read.ަ‘ãŒÃ1978Ž‘õŒÏ\xydef@\afterCURVE#1{\def\afterCURVE@{#1}}ŽŽ¡‘ãŒÃ1979Ž‘õŒÏ\xydef@\endxycurve@{\cv@end\savectrlptsnum@ŽŽ¡‘ãŒÃ1980Ž‘ûKÃÏ\expandafter\def\csname‘¿ªparams@\endcsname{\the\crvpts@}%ŽŽ¡‘ãŒÃ1981Ž‘ûKÃÏ\cv@restore\afterCURVE@\POS}ŽŽ¡‘ãŒÃ1982Ž‘õŒÏ\xylet@\endcurve=\endxycurve@ŽŽŸÛ ‘ôŒ¹In–Rfact“this“is“essenš²!tially“ho˜w“Ï\controlptsŽ›H\ò¹and“Ï\convexhullŽ˜¹wš²!ere“in˜terfaced“bMÞefore“extensionsŽŽŽŒ‹• Îq Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй149ŽŽ ¶?? ýh«w‘ãŒwš²!ere–¦fadded“to“c˜hange“st˜yles.Ž©Pˆ‘ãŒÏ\def\controlpts{\afterCURVE{\xyctrlpts}%ŽŽ¤ ™š‘éKÃ\readxycurve}ŽŽ¡‘ãŒ\def\convexhull{\afterCURVE{\xycvxhull}%ŽŽ¡‘éKÃ\readxycurve}ŽŽŸ±L‘㌹The–#”real“wš²!ork“is“done“b˜y“Ï\xyctrlptsŽ‘?Ã̹and“Ï\xycvxhullŽ‘< 8¹.‘²BA˜t“the“pMÞoin˜t“when“these“macros“are“expandedŽ¡‘ãŒthe–¦fgraphics“state“has“the“restored“Äp“¹and“Äc“¹to“their“original“v‘ÿdDalues,“Ði¹.Ðe¹.“the“end-pMÞoinš²!ts“of“the“curv˜e.ŽŸ‘ãŒÏ\controlptsŽ‘"ÈgÔ:‘ ó5¹This–¬ªmacro“visits“in“order“eacš²!h“of“the“con˜trol“pMÞoin˜ts“dropping“the“requisite“ob‘›»ject.‘ŠŸTheŽ¡‘ãŒconnection–[ðstš²!yle“is“not“used“and“the“direction“doMÞes“not“c˜hange.‘Å F‘ÿeor“a“loMÞop-coun˜ter“w˜e“use“Ï\count@@@Ž‘7ê¹.ަ‘ãŒÃ2011Ž‘õŒÏ\xydef@\xyctrlpts@{\cv@end‘¿ª\cv@restoreŽŽ¡‘ãŒÃ2012Ž‘ûKÃÏ\def\crvconnect@{\straitconnect@}%ŽŽ¡‘ãŒÃ2013Ž‘ûKÃÏ\ifnum\crv@cnt@>\z@ŽŽ¡‘ãŒÃ2014Ž‘ mÏ\count@@@=\@ne‘¿ª\DN@{\loop@\xycontrolpt@{\count@@@}\relaxŽŽ¡‘ãŒÃ2015Ž‘ mÏ\expandafter\xycvxhulldrop@\xycrvdrop@ŽŽ¡‘ãŒÃ2016Ž‘ mÏ\ifnum\crv@cnt@>\count@@@\advance\count@@@\@ne\repeat@ŽŽ¡‘ãŒÃ2017Ž‘ mÏ\cv@end–¿ª\cv@restore“}%ŽŽ¡‘ãŒÃ2018Ž‘ûKÃÏ\else\DN@{\relax}\fi–¿ª\next@“}ŽŽ¡‘ãŒÃ2019Ž‘õŒÏ\xylet@\xyctrlpts=\xyctrlpts@ŽŽŸ±L‘ôŒ¹The–ßtokš²!en“list“Ï\crvpts@Ž‘7»|¹stores“the“follo˜wing“information:‘O=curren˜t“scopšMÞe“,‘-Alo˜cation“of“Äp“¹and“Äc¹,Ž¡‘ãŒn•²!um“bšMÞer–³qof“con²!trol“p˜oin²!ts“Ï\crv@cnt@Ž‘=#ܹand“their“lo˜cations.‘ýIt“do˜es“this“bš²!y“storing“Ï\defŽ‘²¹s“for“con˜trolŽ¡‘ãŒsequence–\"names,‘É‘depšMÞending“on“the“scop˜e,‘É‘whicš²!h“expand“to“this“information.‘ ÿTh˜us“b˜y“executingŽ¡‘ãŒÏ\the\crvpts@Ž‘+†/¹at–þthe“righš²!t“lev˜el,‘Æthe“information“is“con˜v˜enien˜tly“reco˜v˜ered“via“con˜trol“sequences“whic˜hŽ¡‘ãŒdo–¦fnot“con ict“with“an²!ything“else,“and“whose“names“can“bMÞe“reconstructed.ަ‘ãŒÃ2032Ž‘õŒÏ\xydef@\addtocrvpts@#1{\crvpts@=\expandafter{\the\crvpts@#1}}ŽŽŸv‘ãŒÃ2036Ž‘õŒÏ\xydef@\savescope@{\crvpts@={}%ŽŽ¡‘ãŒÃ2037Ž‘ûKÃÏ\edef\tmp@{\expandafter\noexpand\csname‘¿ªcv@0\endcsname}%ŽŽ¡‘ãŒÃ2038Ž‘ûKÃÏ\edef\tmp@{\noexpand\addtocrvpts@{\noexpand\defŽŽ¡‘ãŒÃ2039Ž‘ mÏ\expandafter\noexpand\tmp@{\X@c=\the\X@p‘¿ª\Y@c=\the\Y@p}}}%ŽŽ¡‘ãŒÃ2040Ž‘ûKÃÏ\tmp@‘¿ª}ŽŽ¦‘ãŒÃ2042Ž‘õŒÏ\xydef@\savectrlptsnum@{%ŽŽ¡‘ãŒÃ2043Ž‘ûKÃÏ\advance\crv@cnt@\@ne‘¿ª\edef\tmp@{%ŽŽ¡‘ãŒÃ2044Ž‘ËÏ\expandafter\noexpand\csname‘¿ªcv@\number\crv@cnt@\endcsname}%ŽŽ¡‘ãŒÃ2045Ž‘ mÏ\edef\tmp@{\noexpand\addtocrvpts@{\noexpand\defŽŽ¡‘ãŒÃ2046Ž‘ËÏ\expandafter\noexpand\tmp@{\X@c=\the\X@c‘¿ª\Y@c=\the\Y@c}}}\tmp@ŽŽ¡‘ãŒÃ2047Ž‘ûKÃÏ\advance\crv@cnt@\m@neŽŽ¡‘ãŒÃ2048Ž‘ûKÃÏ\edef\tmp@{\expandafter\noexpand\csname‘¿ªptsnum@\endcsname}%ŽŽ¡‘ãŒÃ2049Ž‘ûKÃÏ\edef\tmp@{\noexpand\addtocrvpts@{%ŽŽ¡‘ãŒÃ2050Ž‘ mÏ\noexpand\def\expandafter\noexpand\tmp@{\number\crv@cnt@}}}%ŽŽ¡‘ãŒÃ2051Ž‘ûKÃÏ\tmp@‘¿ª}ŽŽŸ#Ì‘ãŒÔCon•¦tv“ex‘ãHull:‘ ó5¹This–½macro“visits“in“order“eacš²!h“of“the“con˜trol“pMÞoin˜ts“dropping“the“requisite“ob‘›»ject.Ž¡‘ãŒWith–¾ßthe“previous“as“Äp“¹and“the“currenš²!t“one“as“Äc¹,‘üa“connection“is“set“in“the“requisite“st˜yle.‘'GF‘ÿeor“aŽ¡‘ãŒloMÞop-coun•²!ter›¦fw“e˜use˜Ï\count@@@Ž‘7c`¹.ŽŸ ú^‘ôŒUse–µa“group“Ï{\expandafter\POS\xycrvconn@}Ž’®ç¬¹else“the“Ï\loop@Ž‘*¯f¹gets“upset.‘4ËThis“doMÞes“not“a ectŽ¡‘ãŒthe–¦fsize“of“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-picture,“since“the“droppMÞed“ob‘›»jects“are“not“similarly“shrouded.ŽŽŽŒ‹– Ú˜ Á à ý*tj‘㌹150’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ôŒ¹Also–KNused“for“the“trivial“case“where“there“are“no“conš²!trol“pMÞoin˜ts,‘tˆhence“a“straigh˜t“line“bMÞet˜w˜een“Äpޤ ™š‘㌹and–¦fÄc“¹is“what“is“requested.Ž©Pˆ‘ãŒÃ2070Ž‘õŒÏ\xydef@\xycvxhull@{\cv@end‘¿ª\cv@restoreŽŽ¡‘ãŒÃ2071Ž‘ mÏ\addtocrvpts@{\def\crvconnect@{\straitconnect@}}%ŽŽ¡‘ãŒÃ2072Ž‘ûKÃÏ\def\crvconnect@{\straitconnect@}%ŽŽ¡‘ãŒÃ2073Ž‘ûKÃÏ\ifnum\crv@cnt@>\z@ŽŽ¡‘ãŒÃ2074Ž‘ mÏ\count@@@=\@ne\relax‘¿ª\DN@{\loop@\xycontrolpt@{\count@@@}\relaxŽŽ¡‘ãŒÃ2075Ž‘ËÏ\expandafter\xycvxhulldrop@\xycrvdrop@ŽŽ¡‘ãŒÃ2076Ž‘ËÏ{\expandafter\connect\xycrvconn@{}}\pfromc@ŽŽ¡‘ãŒÃ2077Ž‘ËÏ\ifnum\crv@cnt@>\count@@@\relax‘¿ª\advance\count@@@\@ne\repeat@ŽŽ¡‘ãŒÃ2078Ž‘ mÏ\cv@end‘¿ª}%ŽŽ¡‘ãŒÃ2079Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2080Ž‘ mÏ\ifx\empty\xycrvconn@ŽŽ¡‘ãŒÃ2081Ž‘ËÏ\edef\xycrvconn@{\noexpand!C\noexpand\dir{\addDASH@{}}}\fiŽŽ¡‘ãŒÃ2082Ž‘ mÏ\DN@{\relax}\fi‘¿ª\next@ŽŽ¡‘ãŒÃ2083Ž‘ûKÃÏ{{\expandafter\connect\xycrvconn@{}}}%ŽŽ¡‘ãŒÃ2084Ž‘ûKÃÏ\cv@end–¿ª\cv@restore“}ŽŽ¡‘ãŒÃ2085Ž‘õŒÏ\xylet@\xycvxhull=\xycvxhull@ŽŽ¦‘ãŒÃ2087Ž‘õŒÏ\xydef@\xycvxhulldrop@#1#{\drop@{#1}}ŽŽŸ/Äû‘ãŒÔSpline‘ Bconstructions‘ ó5¹The–…øconš²!trol“sequence“Ï\xysplineparams@Ž‘c¹pro˜vides“a“w˜a˜y“to“access“a“con˜trolŽ¡‘ãŒsequence–¯name“that“is“unique“to“the“currenš²!t‘wYX‘ü·ŸâÃYŽŽ‘ ö¹-pic“scopMÞe.‘ÖKThis“con˜trol“sequence“will“bMÞe“used“to“storeŽ¡‘ãŒthe–9parameters“whicš²!h“determine“the“spline“curv˜e.‘—.Similarly“Ï\xysplineedges@Ž‘^­ø¹will“bMÞe“used“to“storeŽ¡‘ãŒthe–Kparameter“v‘ÿdDalues“and“lengths“(along“the“squine)“to“the“loMÞcations“where“the“spline“crosses“the“edgeŽ¡‘ãŒof–¦fthe“ob‘›»jects“at“the“ends“Äp“¹and“Äc¹.ަ‘ãŒÃ2106Ž‘õŒÏ\xydef@\savespline@{%ŽŽ¡‘ãŒÃ2107Ž‘õŒÏ\splinetrace@{savespline@:}%ŽŽ¡‘ãŒÃ2108Ž‘õŒÏ%‘¿ª\edef\endspline@{\endgroupŽŽ¡‘ãŒÃ2109Ž‘ûKÃÏ\edef\endspline@{\endgroupŽŽ¡‘ãŒÃ2110Ž‘ûKÃÏ\savesplineparams@‘¿ª\savesplinerefs@ŽŽ¡‘ãŒÃ2111Ž‘ûKÃÏ\X@min=\the\X@min\relax‘¿ª\X@max=\the\X@max\relaxŽŽ¡‘ãŒÃ2112Ž‘ûKÃÏ\Y@min=\the\Y@min\relax‘¿ª\Y@max=\the\Y@max\relaxŽŽ¡‘ãŒÃ2113Ž‘ mÏ\ifInvisible@\noexpand\Invisible@trueŽŽ¡‘ãŒÃ2114Ž‘ mÏ\else\noexpand\Invisible@false\fiŽŽ¡‘ãŒÃ2115Ž‘ûKÃÏ}\endspline@ŽŽ¡‘ãŒÃ2116Ž‘ûKÃÏ\edef\tmp@{\noexpand\addtocrvpts@{\savesplineparams@}}\tmp@ŽŽ¡‘ãŒÃ2117Ž‘ûKÃÏ\xycontrolpt@\z@–¿ª\cv@end“}ŽŽ¦‘ãŒÃ2119Ž‘õŒÏ\xydef@\savesplineparams@{%ŽŽ¡‘ãŒÃ2120Ž‘ûKÃÏ\noexpand\def\expandafter\noexpand\xysplineedges@{\xysplineedges@}}ŽŽ¦‘ãŒÃ2122Ž‘õŒÏ\xydef@\savesplinerefs@{%ŽŽ¡‘ãŒÃ2123Ž‘ûKÃÏ\noexpand\def\noexpand\xysplineparams@{%ŽŽ¡‘ãŒÃ2124Ž‘ mÏ\expandafter\noexpand\xysplineparams@}%ŽŽ¡‘ãŒÃ2125Ž‘ûKÃÏ\noexpand\def\noexpand\xysplineedges@{%ŽŽ¡‘ãŒÃ2126Ž‘ mÏ\expandafter\noexpand\xysplineedges@}%ŽŽ¡‘ãŒÃ2127Ž‘õŒÏ}ŽŽŸÉ£‘ôŒ¹One–¦fnew“bMÞoš²!x“register“is“required,“for“the“ob‘›»ject“used“to“actually“set“the“curv˜e,“.–Ó3.“.ŽŽŽŒ‹— 袠Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй151ŽŽ ¶?? ýh«w‘ãŒÃ2136Ž‘õŒÏ\xynew@{box}\splinebox@ŽŽ¤n ‘ôŒ¹.–Ó3.“.‘y™and–¦f4“dimen“registers“...Ž©Pˆ‘ãŒÃ2142Ž‘õŒÏ\xynew@{dimen}\splineval@ŽŽ¡‘ôŒ¹.–Ó3.“.‘y™whicš²!h–¦fis“for“trac˜king“the“natural“spline“parametrization;ަ‘ãŒÃ2147Ž‘õŒÏ\xynew@{dimen}\splinedepth@ŽŽ¡‘ôŒ¹.–Ó3.“.‘y™whicš²!h–¦fis“for“trac˜king“he“depth“of“the“recursiv˜e“algorithms;ަ‘ãŒÃ2152Ž‘õŒÏ\xynew@{dimen}\splinetol@ŽŽ¡‘ôŒ¹.–Ó3.“.‘ªVwhic•²!h›×#con“tains˜the˜tolerance˜for˜the˜spline,‘—(this˜can˜probably˜bMÞe˜shifted˜to˜an˜ordinary˜macro);ަ‘ãŒÃ2158Ž‘õŒÏ\xynew@{dimen}\splinelength@ŽŽ¡‘ôŒ¹.–Ó3.“.‘±˜whic•²!h›Þeaccum“ulates˜a˜measure˜of˜the˜length˜along˜a˜spline˜curv“e.‘…Û(Curren“tly˜this˜is˜not˜bMÞeingޤ ™š‘ãŒused,–¦fas“most“things“can“bMÞe“done“satisfactorily“using“the“spline“parametrization“only‘ÿe.)ŽŸ ·‘ôŒSome–/^new“conditionals“are“also“required.‘xÆThese“are“for“testing“whether“successiv²!e“places“on“theŽ¡‘ãŒsquine–¦fare“sucien²!tly“close“together,“and“whether“the“ob‘›»jects“should“bMÞe“placed“or“not.ަ‘ãŒÃ2170Ž‘õŒÏ\xynew@{if}\ifsplinefar@ŽŽ¡‘ãŒÃ2171Ž‘õŒÏ\xynew@{if}\ifsplineplot@–¿ª%“to“plot“points“or“notŽŽŸn ‘ôŒ¹Proš²!vide–¦fsome“tracing“abilit˜y‘ÿe,“for“debugging.ަ‘ãŒÃ2177Ž‘õŒÏ\xydef@\splinetracing{\let\splinetrace@=\W@}ŽŽ¡‘ãŒÃ2178Ž‘õŒÏ\xydef@\splineignore@#1{}ŽŽ¡‘ãŒÃ2179Ž‘õŒÏ\xylet@\splinetrace@=\splineignore@ŽŽŸ© ‘ôŒ¹The–,Bparameters“for“the“curren²!t“section“of“the“spline“are“stored“indirectly“in“Ï\xysplineparams@Ž‘`&â¹,Ž¡‘ãŒwhile–€*information“concerning“the“places“where“the“spline“crosses“the“edges“of“ob‘›»jects“at“Äp“¹and“Äc“¹isŽ¡‘ãŒstored–1åindirectly“in“Ï\xysplineedgesŽ‘S­1¹.‘·A‘1Ècon²!trol“sequence“Ï\readsplineparams@Ž‘mݾ¹is“used“to“extract“thisŽ¡‘ãŒinformation.‘˜­Eacš²!h–:spline“t˜ypMÞe“m˜ust“pro˜vide“a“Ï\getsplineparams@Ž‘j.L¹whic˜h“puts“the“information“in˜toŽ¡‘ãŒeasily–¦fusable“form.ަ‘ãŒÃ2193Ž‘õŒÏ\xydef@\readsplineparams@{%ŽŽ¡‘ãŒÃ2194Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineparams@\xysplineparams@ŽŽ¡‘ãŒÃ2195Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineedges@safe\xysplineedges@‘¿ª@@}ŽŽ¦‘ãŒÃ2197Ž‘õŒÏ\xydef@\getsplineedges@safe#1@@{\DN@{#1}%ŽŽ¡‘ãŒÃ2198Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\DN@{\getsplineedges@.0pt;0.0pt,0.0pt;0.0pt,}%ŽŽ¡‘ãŒÃ2199Ž‘ûKÃÏ\else–¿ª\DN@{\getsplineedges@safe@#1@@}\fi“\next@}ŽŽ¦‘ãŒÃ2201Ž‘õŒÏ\xydef@\getsplineedges@safe@#1;#2,#3@@{\DN@{#3}%ŽŽ¡‘ãŒÃ2202Ž‘õŒÏ\splinetrace@{getsplineedges@safe}%ŽŽ¡‘ãŒÃ2203Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\DN@{\getsplineedges@#1;#2,0.0pt;0.0pt,}%ŽŽ¡‘ãŒÃ2204Ž‘ûKÃÏ\else–¿ª\DN@{\getsplineedges@#1;#2,#3}\fi“\next@}ŽŽŸn ‘ôŒ¹The–âãedge“loMÞcations“are“stored“as“Äx:y‘Gv¹where“Äx–Aé¹+“1–âã=“spline-segmenš²!t“n˜um˜bMÞer“and“Äy›Gv¹or“1–AéÇ“Äy˜¹=Ž¡‘ãŒparameter–¦fv‘ÿdDalue“of“the“start,“resp.‘ÝÝ nish,“in“the“segmen²!t“Äx–nì¹+“1.ަ‘ãŒÃ2213Ž‘õŒÏ\xydef@\getsplineedges@#1;#2,#3;#4,{%ŽŽ¡‘ãŒÃ2214Ž‘ûKÃÏ\global\dimen@i=#1\global\dimen5=#2\relaxŽŽ¡‘ãŒÃ2215Ž‘ûKÃÏ\dimen@=#3\multiply\dimen@\m@ne‘¿ª\advance\dimen@\splinelength@ŽŽ¡‘ãŒÃ2216Ž‘ûKÃÏ\global\dimen3=\dimen@ŽŽ¡‘ãŒÃ2217Ž‘ûKÃÏ\dimen@=#4\relaxŽŽ¡‘ãŒÃ2218Ž‘ûKÃÏ\ifdim\dimen@>\p@–¿ª\xywarning@{edge“out-of-range:“\the\dimen@}%ŽŽ¡‘ãŒÃ2219Ž‘ mÏ\count@=\dimen@‘¿ª\divide\count@\p@ŽŽŽŽŒ‹˜ ô} Á à ý*tj‘㌹152’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2220Ž‘ mÏ\advance\dimen@-\count@\p@‘¿ª\multiply\dimen@\m@neŽŽ¤ ™š‘ãŒÃ2221Ž‘ mÏ\advance\dimen@–¿ª\count@\p@“\advance\dimen@\p@ŽŽ¡‘ãŒÃ2222Ž‘õŒÏ\splinetrace@{\the\dimen@}%ŽŽ¡‘ãŒÃ2223Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2224Ž‘ mÏ\multiply\dimen@\m@ne‘¿ª\advance\dimen@\p@ŽŽ¡‘ãŒÃ2225Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2226Ž‘ûKÃÏ\global\dimen7=\dimen@‘¿ª}ŽŽ©Pˆ‘㌹Sometimes–trT‘þ,³Ÿ[wEŽ‘B X“will“run“short“of“memory“when“manš²!y“curv˜es“are“used“without“a“bac˜k˜end“with“spMÞecialŽ¡‘ãŒsuppMÞort–for“curvš²!es.‘In“that“case“the“follo˜wing“commands,›Jthat“obMÞey“normal“T‘þ,³Ÿ[wEŽ‘B X“groupings,˜ma²!y“bMÞeŽ¡‘ãŒhelpful:Ž‘ãŒŸ @¸‰ffã²dŸ N§’«@zÏ\SloppyCurvesŽŽŽ¡’«@z\splinetolerance{Ž’ úÄÇh¹dimenÇiÏ}ŽŽŽŸDn‰ffã²dŸSë¹allo•²!w›¢úadjustmen“t˜of˜the˜tolerance˜used˜to˜t“ypMÞeset˜curv“es.‘ܹThe˜ rst˜sets˜tolerance˜to˜.8pt,‘£©after˜whic“hŽ¡Ï\splinetolerance{0pt}Ž‘|_X¹resets–¦fto“the“original“default“of“ ne“curv²!es.Ž¡‘Some–¦fuseful“methoMÞds“for“accurate“division“bš²!y“in˜tegers.ަÃ2251Ž‘Ï\xydef@\dimen@half{%ŽŽ¡Ã2252Ž‘TÏ\advance\dimen@–¿ª\ifdim\dimen@<\z@-\fi“1sp“\divide\dimen@\tw@}ŽŽ¦Ã2254Ž‘Ï\xydef@\halve@dimen#1{\dimen@=#1\relax–¿ª\dimen@half“#1=\dimen@}ŽŽ¦Ã2256Ž‘Ï\xydef@\dimen@nth#1#2{\dimen@=#2\relax–¿ª\dimen@ii=#1sp“%ŽŽ¡Ã2257Ž‘TÏ\advance\dimen@‘¿ª\ifdim\dimen@<\z@-\fi.5\dimen@iiŽŽ¡Ã2258Ž‘TÏ\divide\dimen@–¿ªby#1\relax“#2=\dimen@}ŽŽ¦‘¹Before–\…constructing“the“curvš²!e“w˜e“ rst“examine“the“\drop"“ob‘›»ject,‘Š setting“it“in“an“Ï\xyboxŽ‘&Ú¹.‘:TheŽ¡size–of“this“ob››»ject“determines“the“spacing“of“ob˜jects“placed“along“the“curv²!e,‘'ævia“the“Ðtoler–ÿp¹anc“e‘ࡹof‘theŽ¡spline.‘µTThis–,Édetermines“the“maximš²!um“separation“of“places“at“whic˜h“ob‘›»jects“will“bšMÞe“dropp˜ed;‘USÐi¹.Ðe¹.“whenŽ¡t•²!w“o›SCadjacen“t˜places˜w“ould˜bMÞe˜separated˜b“y˜more˜than˜this˜amoun“t,‘~zthe˜spline˜algorithm˜constructsŽ¡another–¦fplace“on“the“curvš²!e“in˜termediate“bMÞet˜w˜een“these“t˜w˜o.Ž¡ÔNote:‘ óÖ¹Alter–Æthe“spline“tolerance“b²!y“adjusting“the“size“of“the“\drop"“ob‘›»ject.‘5=In“particular,‘ÊÎa“dottedŽ¡line–_1can“bMÞe“ac•²!hiev“ed›_1b“y˜setting˜an˜empt“y˜ob‘›»ject˜with˜non-zero˜size.‘Æ!If˜the˜size˜is˜zero˜then˜the˜defaultŽ¡tolerance–ÌÀis“used.‘PëInitially“this“is“.4pt;‘_íit“ma²!y“bMÞe“altered“using“Ï\splinetoleranceŽ‘`Ç`Çh¹dimenÇi¹,‘VwhereŽ¡Çh¹dimenÇi–¦f¹m²!ust“bMÞe“greater“than“zero,“else“the“initial“tolerance“is“reset.ަÃ2279Ž‘Ï\xydef@\splinetolerance@#1{\dimen@=#1\relaxŽŽ¡Ã2280Ž‘¿ªÏ\ifdim\dimen@>\z@‘¿ª\splinetol@=\dimen@ŽŽ¡Ã2281Ž‘¿ªÏ\else\splinetol@=.4\p@\fi}ŽŽ¦Ã2283Ž‘Ï\xylet@\splinedefaulttol@=\relaxŽŽ¦Ã2285Ž‘Ï\xydef@\splinetolerance#1{\splinetolerance@{#1}%ŽŽ¡Ã2286Ž‘¿ªÏ\edef\splinedefaulttol@{\splinetol@=\the\splinetol@}}ŽŽ¦Ã2288Ž‘Ï\splinetolerance\z@ŽŽ¦Ã2290Ž‘Ï\xydef@\SloppyCurves{\splinetolerance{.8\p@}}ŽŽ¦Ã2292Ž‘Ï\xydef@\xylowtolerance@{\splinedefaulttol@ŽŽ¡Ã2293Ž‘¿ªÏ\ifdim\splinetol@<\p@–¿ª\divide\splinetol@\tw@“\fi}ŽŽ¦‘¹Similarly–ŒÈexamine“the“\connect"“ob‘›»ject.‘þIf“none“has“bšMÞeen“sp˜eci ed“then“there“is“no“need“to“calculateŽ¡the–ðDtangenš²!t“direction“at“eac˜h“place“along“the“curv˜e.‘¡'This“sa˜v˜es“on“bMÞoth“time“and“memory“requiremen˜t.Ž¡‘ÐPr–ÿp¹o“c“e“dur“e‘Ò¡¹:‘ÞÀ(1)–¦ØIf“Ï\xycrvdrop@Ž‘F‰þ¹is“empt²!y‘ÿe,‘¦ôde ne“Ï\splinedrop@Ž‘LI¨¹to“expand“to“Ï\copy\zerodotbox@Ž‘ea"¹,Ž¡thš²!us–creating“a“curv˜e“constructed“from“small“dots.‘­ÃOtherwise“(2a)“set“the“Ï\splinebox@Ž‘Eh~¹with“the“spMÞec-ŽŽŽŒ‹™ è Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй153ŽŽ ¶?? ýh«w‘ãŒi ed–>€ob‘›»ject“and“(2b)“use“Ï\copy\splinebox@Ž‘bw ¹as“the“expansion“of“Ï\splinedrop@Ž‘H:x¹.‘»;(3)“Set“Ï\splinetol@ŽŽ¤ ™š‘㌹to–¦fbMÞe“Ÿö÷7ÇpŽ‘ ÆgŸö÷7‰p yšŸ ɹ2ŽŽŽ‘@Ç“¹maximš²!um“of“width“and“heigh˜t+depth“of“the“bMÞo˜x.ŽŸø‘ôŒIf‘]ˆÏ\xycrvconn@Ž‘E÷^¹is–]ˆempt²!y“(4)“then“Ï\splineconn@Ž‘K·¹is“set“to“Ï\relaxŽ‘%Û„¹.‘Å“(5)“Otherwise“it“is“necessary“toŽ¡‘ãŒreset–,the“direction“at“eacš²!h“place“along“the“curv˜e“bšMÞefore“dropping“the“ob‘›»ject“sp˜eci ed“b²!y“Ï\xycrvconn@Ž‘Bhc¹.Ž©Pˆ‘ãŒÃ2316Ž‘õŒÏ\xywarnifdefined\splinedrop@ŽŽ¡‘ãŒÃ2317Ž‘õŒÏ\xydef@\setstdsplinedrop@{%ŽŽ¡‘ãŒÃ2318Ž‘ûKÃÏ\setbox\splinebox@=\hbox\bgroupŽŽ¡‘ãŒÃ2319Ž‘ mÏ\setboxz@h{\expandafter\object\xycrvdrop@{}}%ŽŽ¡‘ãŒÃ2320Ž‘ mÏ\splinedefaulttol@–¿ª\dimen@=\wd\z@“\dimen@ii=\ht\z@“\advance\dimen@ii\dp\z@ŽŽ¡‘ãŒÃ2321Ž‘ mÏ\ifdim\dimen@ii>\dimen@–¿ª\dimen@=\dimen@ii“\fi“\dimen@=1.4142\dimen@ŽŽ¡‘ãŒÃ2322Ž‘ mÏ\ifdim\dimen@>\splinetol@‘¿ª\splinetol@=\dimen@\else\dimen@=\splinetol@\fiŽŽ¡‘ãŒÃ2323Ž‘ mÏ\dimen@=.5\wd\z@ŽŽ¡‘ãŒÃ2324Ž‘ mÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\kern-\dimen@“\Drop@@“\kern\dimen@ŽŽ¡‘ãŒÃ2325Ž‘ mÏ\edef\tmp@{\egroup‘¿ª\splinetol@=\the\splinetol@ŽŽ¡‘ãŒÃ2326Ž‘ËÏ\ifInvisible@\noexpand\Invisible@trueŽŽ¡‘ãŒÃ2327Ž‘ËÏ\else\noexpand\Invisible@false\fi}\tmp@ŽŽ¡‘ãŒÃ2328Ž‘ûKÃÏ\edef\splinedefaulttol@{\splinetol@=\the\splinetol@}%ŽŽ¡‘ãŒÃ2329Ž‘ûKÃÏ\def\splinedrop@{\copy\splinebox@\splineextra@@}}ŽŽ¦‘ãŒÃ2331Ž‘õŒÏ\xywarnifdefined\splineconn@ŽŽ¡‘ãŒÃ2332Ž‘õŒÏ\xydef@\stdsplineconn@{{\setsplinedir@‘¿ª%‘ T%(5)ŽŽ¡‘ãŒÃ2333Ž‘ mÏ\setboxz@h\bgroup\expandafter\object\xycrvconn@{}%ŽŽ¡‘ãŒÃ2334Ž‘ËÏ\edef\tmp@{\egroup\L@c=\the\L@c–¿ª\R@c=\the\R@c“\D@c=\the\D@c“\U@c=\the\U@cŽŽ¡‘ãŒÃ2335Ž‘ ŠÁÏ\noexpand\def\noexpand\Drop@@}\expandafter\tmp@\expandafter{\Drop@@}%ŽŽ¡‘ãŒÃ2336Ž‘ mÏ\setboxz@h{\kern-\L@c‘¿ª\boxz@}%ŽŽ¡‘ãŒÃ2337Ž‘ mÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\Drop@@}}ŽŽ¦‘ãŒÃ2339Ž‘õŒÏ\xydef@\setcrvobjects@{\setstdsplinedrop@‘¿ª\def\splineconn@{\stdsplineconn@}}ŽŽ¡‘ãŒÃ2340Ž‘õŒÏ\xylet@\splineextra@@=\relaxŽŽŸv‘ãŒÃ2344Ž‘õŒÏ\xydef@\splinenear@#1#2#3#4{{\d@X=#1\advance\d@X-#2%ŽŽ¡‘ãŒÃ2345Ž‘ûKÃÏ\ifdim\d@X<\z@‘¿ª\d@X=-\d@X\fiŽŽ¡‘ãŒÃ2346Ž‘ûKÃÏ\ifdim\splinetol@<\d@X‘¿ª\aftergroup\splinefar@trueŽŽ¡‘ãŒÃ2347Ž‘ûKÃÏ\else–¿ª\d@Y=#3\advance\d@Y-#4\ifdim\d@Y<\z@“\d@Y=-\d@Y\fiŽŽ¡‘ãŒÃ2348Ž‘ mÏ\ifdim\splinetol@<\d@Y\aftergroup\splinefar@trueŽŽ¡‘ãŒÃ2349Ž‘ mÏ\else‘¿ª\xydist@\d@X\d@YŽŽ¡‘ãŒÃ2350Ž‘ËÏ\ifdim\splinetol@<\dimen@‘¿ª\aftergroup\splinefar@trueŽŽ¡‘ãŒÃ2351Ž‘ËÏ\elseŽŽ¡‘ãŒÃ2352Ž‘ ŠÁÏ\ifdim\dimen@<.1\splinetol@\aftergroup\splinetooclose@\fiŽŽ¡‘ãŒÃ2353Ž‘ûKÃÏ\fi\fi\fi}}ŽŽ¦‘ãŒÃ2355Ž‘õŒÏ\xydef@\splineadvance@@{\global\advance\splineval@\splinedepth@}ŽŽŸGæ‘ôŒ¹This–¥stops“ob‘›»jects“bšMÞeing“placed“to˜o“close“together“along“the“spline.‘¨GIt“is“necessary“at“the“b˜eginningŽ¡‘ãŒof–§a“segmen²!t“with“a“non-zero“edge.‘ß¶Otherwise,›§+with“a“large“Ï\splinetolerance@Ž‘eaN¹,˜the“accuracy“of“theŽ¡‘ãŒplace- nding–ª®mecš²!hanism“results“in“bMÞeing“so“deep“in“the“tree“that“ob‘›»jects“placed“at“ev˜ery“lev˜el“on“theŽ¡‘ãŒw•²!a“y–¦fup“wš²!ould“bMÞe“m˜uc˜h“toMÞo“close.ަ‘ãŒÃ2365Ž‘õŒÏ\xydef@\splinetooclose@{\aftergroup\aftergroup\aftergroup\splinetooclose@@}ŽŽ¡‘ãŒÃ2366Ž‘õŒÏ\xydef@\splinetooclose@@{\def\splineplotpt@{\relax}}ŽŽŸGæ‘ôŒ¹Eacš²!h–àTplace“along“the“curv˜e“is“tested“according“to“a“Ï\splinetest@Ž‘HÜL¹.‘‹¦Normally“this“is“for“visibilit˜yŽ¡‘ãŒaccording–ÿ±to“the“extenš²!t“of“the“ob‘›»jects“at“the“end-pMÞoin˜ts“of“the“curv˜e.‘é¾When“an“edge“is“crossed“thenŽŽŽŒ‹š C Á à ý*tj‘㌹154’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘㌹the‘¼õÏ\splinecontinueŽ‘_´à¹routine–¼õis“called“to“decide“hoš²!w“the“bMÞeha˜viour“ma˜y“c˜hange“e.g.‘!‹whether“theޤ ™š‘ãŒrecursion–¦fshould“con•²!tin“ue–¦for“exit“to“the“top“of“the“existing“tree.Ž©Pˆ‘ãŒÃ2377Ž‘õŒÏ\xydef@\splinepoint@@{%ŽŽ¡‘ãŒÃ2378Ž‘õŒÏ\splinetrace@{P@:(\the\X@c,\the\Y@c)::\the\splineval@;\the\splinedepth@}%ŽŽ¡‘ãŒÃ2379Ž‘ûKÃÏ{\splinetest@\ifsplineplot@\relax\else\aftergroup\splinecontinue\fi}}ŽŽ¦‘ãŒÃ2381Ž‘õŒÏ\xydef@\splinepoint@{%ŽŽ¡‘ãŒÃ2382Ž‘ûKÃÏ{\splinetest@\ifsplineplot@\aftergroup\splinecontinue\fi}}ŽŽ¡‘ãŒÃ2383Ž‘õŒÏ\xylet@\splinepoint=\splinepoint@ŽŽ¦‘ãŒÃ2385Ž‘õŒÏ\xydef@\splinecontinue@{%ŽŽ¡‘ãŒÃ2386Ž‘ûKÃÏ\global\let\splinepoint=\splinepoint@@ŽŽ¡‘ãŒÃ2387Ž‘ûKÃÏ\global\let\splinecontinue=\splinecontinue@@}ŽŽ¡‘ãŒÃ2388Ž‘õŒÏ\xydef@\splinecontinue@@{%ŽŽ¡‘ãŒÃ2389Ž‘ûKÃÏ\global\let\splinepoint=\splinepoint@ŽŽ¡‘ãŒÃ2390Ž‘ûKÃÏ\global\let\splinecontinue=\relax}ŽŽ¡‘ãŒÃ2391Ž‘õŒÏ\xylet@\splinecontinue=\splinecontinue@ŽŽŸb‘ôŒ¹P•²!oin“ts–>where“segmenš²!ts“join“lie“at“the“top“of“the“recursiv˜e“tree.‘¤ªThey“are“tested“directly“againstŽ¡‘ãŒthe–¦fob‘›»jects“at“the“endpMÞoin²!ts,“in“order“to“decide“whether“or“not“they“are“visible.ަ‘ãŒÃ2400Ž‘õŒÏ\xydef@\splineknotpoint@{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@startŽŽ¡‘ãŒÃ2401Ž‘ûKÃÏ\the\Edge@c\@ne‘¿ª\ifInside@\else\aftergroup\splineknotpoint@@\fi}}%ŽŽ¡‘ãŒÃ2402Ž‘õŒÏ\xydef@\splineknotpoint@@{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@endŽŽ¡‘ãŒÃ2403Ž‘ûKÃÏ\the\Edge@c\@ne–¿ª\ifInside@\else“\aftergroup\splinepoint\fi}}%ŽŽ¦‘ãŒÃ2405Ž‘õŒÏ\xylet@\firstsplinepoint@=\splineknotpoint@ŽŽ¡‘ãŒÃ2406Ž‘õŒÏ\xylet@\lastsplinepoint@=‘¿ª\splineknotpoint@ŽŽŸÙt‘ôŒ¹This–‡«routine“is“used“to“ nd“where“the“spline“crosses“the“edges“of“the“ob‘›»jects“at“Äp“¹and“Äc¹.‘«FirstŽ¡‘ãŒ(1)‘5wš²!e–Žset“up“the“tests“whic˜h“will“determine“when“the“edge“has“bMÞeen“crossed.‘:VThen“commence“theŽ¡‘ãŒscan.‘¦f(2)ަ‘ãŒÃ2417Ž‘õŒÏ\xydef@\splined@@@{%ŽŽ¡‘ãŒÃ2418Ž‘õŒÏ\splinetrace@{finding–¿ªend“types}%ŽŽ¡‘ãŒÃ2419Ž‘õŒÏ\splinetrace@{bstartPLACE@:\bstartPLACE@;‘¿ªbendPLACE@:\bendPLACE@}%ŽŽ¡‘ãŒÃ2420Ž‘ûKÃÏ\DN@{\splinescan@}\ifx\bstartPLACE@\emptyŽŽ¡‘ãŒÃ2421Ž‘ËÏ\ifx\bendPLACE@\relax\def\bendPLACE@{1}\fiŽŽ¡‘ãŒÃ2422Ž‘ mÏ\else\ifx\bstartPLACE@\relaxŽŽ¡‘ãŒÃ2423Ž‘ mÏ\else\ifx\bstartPLACE@\undefinedŽŽ¡‘ãŒÃ2424Ž‘ mÏ\elseŽŽ¡‘ãŒÃ2425Ž‘ËÏ\DN@{\splinescanbreak@}\ifx\bendPLACE@\relax\def\bendPLACE@{1}\fiŽŽ¡‘ãŒÃ2426Ž‘ËÏ\DNii@{0}\ifx\bstartPLACE@\nextii@ŽŽ¡‘ãŒÃ2427Ž‘ ŠÁÏ\DNii@{1}\ifx\bendPLACE@\nextii@\DN@{}%ŽŽ¡‘ãŒÃ2428Ž‘õŒÏ%‘þ¨\else\DNii@{0.0}\ifx\bendPLACE@\nextii@\DN@{}\fiŽŽ¡‘ãŒÃ2429Ž‘ËÏ\fi\fi‘ T%–¿ªuse“the“saved“valuesŽŽ¡‘ãŒÃ2430Ž‘ mÏ\fi\fi\fi–¿ª\next@“}%‘ T%(2)ŽŽ¦‘ãŒÃ2432Ž‘õŒÏ\xydef@\splineStarttest@{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@start“\the\Edge@c\@neŽŽ¡‘ãŒÃ2433Ž‘ mÏ\ifInside@\aftergroup\splineplot@false\else\aftergroup\splineplot@true\fi}}%ŽŽ¡‘ãŒÃ2434Ž‘õŒÏ\xydef@\splineEndtest@{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@end“\the\Edge@c\@neŽŽ¡‘ãŒÃ2435Ž‘ mÏ\ifInside@\aftergroup\splineplot@false\else\aftergroup\splineplot@true\fi}}%ŽŽ¦‘ãŒÃ2437Ž‘õŒÏ\xydef@\splineBreakStarttest@{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@brstart“\the\Edge@c\@neŽŽŽŽŒ‹› " Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй155ŽŽ ¶?? ýh«w‘ãŒÃ2438Ž‘ mÏ\ifInside@\aftergroup\splineplot@false\else\aftergroup\splineplot@true\fi}}%ŽŽ©Pˆ‘ãŒÃ2440Ž‘õŒÏ\xydef@\splineBreakEndtest@{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@brend“\the\Edge@c\@neŽŽ¤ ™š‘ãŒÃ2441Ž‘ mÏ\ifInside@\aftergroup\splineplot@false\else\aftergroup\splineplot@true\fi}}%ŽŽ¡‘ãŒÃ2442Ž‘õŒÏ%‘ T\ifInside@\aftergroup\splineplot@true\else\aftergroup\splineplot@false\fi}}%ŽŽ¦‘ãŒÃ2444Ž‘õŒÏ\xylet@\splineStarttest=\splineStarttest@ŽŽ¡‘ãŒÃ2445Ž‘õŒÏ\xylet@\splineEndtest=\splineEndtest@ŽŽ¦‘ãŒÃ2447Ž‘õŒÏ\xydef@\splineSlowStarttest{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@start“\the\Edge@c\@neŽŽ¡‘ãŒÃ2448Ž‘ mÏ\ifInside@\aftergroup\splineplot@maybe@@\else\aftergroup\splineplot@true\fi}}%ŽŽ¡‘ãŒÃ2449Ž‘õŒÏ\xydef@\splineSlowEndtest{{\X@p=\X@c–¿ª\Y@p=\Y@c“\cv@end“\the\Edge@c\@neŽŽ¡‘ãŒÃ2450Ž‘ mÏ\ifInside@\aftergroup\splineplot@maybe@@\else\aftergroup\splineplot@true\fi}}%ŽŽ¡‘ãŒÃ2451Ž‘õŒÏ\xydef@\splineplot@maybe{\splineplot@false}%ŽŽ¡‘ãŒÃ2452Ž‘õŒÏ\xylet@\splineplot@maybe@@=\splineplot@maybeŽŽŸ ã‘ôŒ¹(3)–+ÔStart“a“new“group“and“bind“some“macros“appropriate“to“ nding“the“starting“edge.‘n'(4)“startŽ¡‘ãŒthe–ŸGspline“algorithm,› ´using“a“small“tolerance.‘Û}(5)“Close“the“group,˜thš²!us“remo˜ving“the“bindings“of“(3).Ž¡‘ãŒ(6)–’Record“the“information,‘Ìûwhic²!h“has“bMÞeen“stored“globally‘ÿe.‘ Þ(7)“Do“the“same“for“the“ending“edge.Ž¡‘ãŒ(8)–¦fClear“the“global“information.‘ÝÝAfter“this,“set“the“curv²!e“as“usual.“(9)ަ‘ãŒÃ2465Ž‘õŒÏ\xydef@\splinescan@{\bgroup%ŽŽ¡‘ãŒÃ2466Ž‘ûKÃÏ\expandafter\def\xysplineedges@{\z@;\z@,\z@;\z@,}%ŽŽ¡‘ãŒÃ2467Ž‘ûKÃÏ\bgroup‘¿ª\cv@startŽŽ¡‘ãŒÃ2468Ž‘ mÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\zeroEdge}%ŽŽ¡‘ãŒÃ2469Ž‘ mÏ\ifx\next@\nextii@‘¿ª\gdef\splineedges@{\z@;\z@,}%ŽŽ¡‘ãŒÃ2470Ž‘ mÏ\else\aftergroup\splinestartScan@\fiŽŽ¡‘ãŒÃ2471Ž‘ûKÃÏ\egroup‘¿ª\relaxŽŽ¡‘ãŒÃ2472Ž‘ûKÃÏ\bgroup‘¿ª\cv@endŽŽ¡‘ãŒÃ2473Ž‘ mÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\zeroEdge}%ŽŽ¡‘ãŒÃ2474Ž‘ mÏ\ifx\next@\nextii@ŽŽ¡‘ãŒÃ2475Ž‘ËÏ\getcrvsegsnum@‘¿ª\edef\segmentnum@{\the\count@}%ŽŽ¡‘ãŒÃ2476Ž‘ËÏ\splineval@=\z@‘¿ª\splineRecordEndValue@ŽŽ¡‘ãŒÃ2477Ž‘ mÏ\else\aftergroup\splineendScan@\fiŽŽ¡‘ãŒÃ2478Ž‘ûKÃÏ\egroup‘¿ª\egroupŽŽ¡‘ãŒÃ2479Ž‘ûKÃÏ\expandafter\testsplineedges@\splineedges@;,@@%ŽŽ¡‘ãŒÃ2480Ž‘ûKÃÏ\expandafter\edef\xysplineedges@{\splineedges@}%‘ T%(6)ŽŽ¡‘ãŒÃ2481Ž‘ûKÃÏ\global\let\splineedges@=\relax‘¿ª%‘ T%(8)ŽŽ¡‘ãŒÃ2482Ž‘õŒÏ\splinetrace@{edge–¿ªparams:“\xysplineedges@}}%ŽŽ¦‘ãŒÃ2484Ž‘õŒÏ\xydef@\testsplineedges@#1;#2,#3;#4,#5@@{%ŽŽ¡‘ãŒÃ2485Ž‘ûKÃÏ\DN@{#5}\ifx\next@\emptyŽŽ¡‘ãŒÃ2486Ž‘ mÏ\DNii@{#4}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ2487Ž‘ËÏ\xynoedgespline@{end}\def\splineedges@{#1;#2,\z@;\z@,}\fiŽŽ¡‘ãŒÃ2488Ž‘ mÏ\DNii@{#2}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ2489Ž‘ËÏ\xynoedgespline@{start}\def\splineedges@{\z@;\z@,\z@;\z@,}\fiŽŽ¡‘ãŒÃ2490Ž‘ûKÃÏ\fi‘¿ª}ŽŽ¡‘ãŒÃ2491Ž‘õŒÏ\xydef@\xynoedgespline@#1{\xywarning@{#1–¿ªedge“of“spline“not“found}}%ŽŽ¦‘ãŒÃ2493Ž‘õŒÏ\xydef@\splinestartScan@{\bgroup–¿ª%“%(3)ŽŽ¡‘ãŒÃ2494Ž‘õŒÏ\splinetrace@{scan–¿ªfor“start}%ŽŽ¡‘ãŒÃ2495Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@‘ T%(3)ŽŽ¡‘ãŒÃ2496Ž‘ûKÃÏ\let\spline@start=\splinefindStart@‘>þ%(3)ŽŽ¡‘ãŒÃ2497Ž‘ûKÃÏ\let\spline@end=\spline@end@@‘>þ%(3)ŽŽŽŽŒ‹œ ,M Á à ý*tj‘㌹156’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2498Ž‘ûKÃÏ\let\splinefinish@=\splinefinish@@ŽŽ¤ ™š‘ãŒÃ2499Ž‘ûKÃÏ\let\splinewhich=\relaxŽŽ¡‘ãŒÃ2500Ž‘ûKÃÏ\global\splinelength@=\z@ŽŽ¡‘ãŒÃ2501Ž‘õŒÏ%‘¿ª\let\splinerec@=\splineSrec@ŽŽ¡‘ãŒÃ2502Ž‘ûKÃÏ\def\splinerec@{\let\splinerec@=\splineSrec@‘¿ª\splinedecast@@}%ŽŽ¡‘ãŒÃ2503Ž‘ûKÃÏ\edef\splineedges@{}%ŽŽ¡‘ãŒÃ2504Ž‘ûKÃÏ\expandafter\let\xysplineedges@\relaxŽŽ¡‘ãŒÃ2505Ž‘õŒÏ%‘¿ª\bgroupŽŽ¡‘ãŒÃ2506Ž‘ mÏ\xylowtolerance@‘¿ª\splined@@ŽŽ¡‘ãŒÃ2507Ž‘ mÏ\ifx\splineedges@\empty\expandafter\splineslowScan@\fiŽŽ¡‘ãŒÃ2508Ž‘ mÏ\ifx\splineedges@\relax\expandafter\splinenostart@\fiŽŽ¡‘ãŒÃ2509Ž‘ûKÃÏ\egroup‘¿ª}%‘ T%(4)ŽŽ©Pˆ‘ãŒÃ2511Ž‘õŒÏ\xydef@\splineslowScan@{%ŽŽ¡‘ãŒÃ2512Ž‘ûKÃÏ\let\splineStarttest=\splineSlowStarttestŽŽ¡‘ãŒÃ2513Ž‘ûKÃÏ\let\splinescanStarttest=\relaxŽŽ¡‘ãŒÃ2514Ž‘ûKÃÏ\def\splinerec@{\let\splinerec@=\splineSrec@‘¿ª\splinedecast@@}%ŽŽ¡‘ãŒÃ2515Ž‘ûKÃÏ\splined@@‘¿ª}ŽŽ¦‘ãŒÃ2517Ž‘õŒÏ\xydef@\splineslowEnd@{%ŽŽ¡‘ãŒÃ2518Ž‘ûKÃÏ\global\let\splineEndtest=\splineSlowEndtestŽŽ¡‘ãŒÃ2519Ž‘ûKÃÏ\let\splinescanEndtest=\relaxŽŽ¡‘ãŒÃ2520Ž‘ûKÃÏ\def\splinerec@{\let\splinerec@=\splineErec@‘¿ª\splinedecast@@}%ŽŽ¡‘ãŒÃ2521Ž‘ûKÃÏ\splined@@‘¿ª}ŽŽ¦‘ãŒÃ2523Ž‘õŒÏ\xydef@\splinenostart@{%ŽŽ¡‘ãŒÃ2524Ž‘ûKÃÏ\def\segmentnum@{1}\splinelength@=\z@‘¿ª\splineval@=\z@ŽŽ¡‘ãŒÃ2525Ž‘ûKÃÏ\xynoedgespline@{start}\splineRecordValue@‘¿ª}ŽŽ¦‘ãŒÃ2527Ž‘õŒÏ\xydef@\splineendScan@{\bgroup–¿ª%“%(3)<-----------ŽŽ¡‘ãŒÃ2528Ž‘ûKÃÏ\bgroup‘¿ª%‘ T%(7)ŽŽ¡‘ãŒÃ2529Ž‘õŒÏ\splinetrace@{scan–¿ªfor“end}%ŽŽ¡‘ãŒÃ2530Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ2531Ž‘ûKÃÏ\let\spline@start=\splinefindEnd@ŽŽ¡‘ãŒÃ2532Ž‘ûKÃÏ\let\spline@end=\spline@end@@ŽŽ¡‘ãŒÃ2533Ž‘ûKÃÏ\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ2534Ž‘ûKÃÏ\let\splinewhich=\relaxŽŽ¡‘ãŒÃ2535Ž‘ûKÃÏ\global\splinelength@=\z@ŽŽ¡‘ãŒÃ2536Ž‘õŒÏ%‘¿ª\let\splinerec@=\splineErec@ŽŽ¡‘ãŒÃ2537Ž‘ûKÃÏ\global\let\splineEndtest=\splineEndtest@ŽŽ¡‘ãŒÃ2538Ž‘ûKÃÏ\def\splinerec@{\let\splinerec@=\splineErec@‘¿ª\splinedecast@@}%ŽŽ¡‘ãŒÃ2539Ž‘ûKÃÏ\expandafter\def\expandafter\prevedges@\expandafter{\splineedges@}%ŽŽ¡‘ãŒÃ2540Ž‘ûKÃÏ\xylowtolerance@‘¿ª\splined@@ŽŽ¡‘ãŒÃ2541Ž‘ûKÃÏ\ifx\splineedges@\prevedges@\expandafter\splineslowScan@\fiŽŽ¡‘ãŒÃ2542Ž‘ûKÃÏ\egroup‘¿ª\egroup}ŽŽ¦‘ãŒÃ2544Ž‘õŒÏ\xydef@\splinescanbreak@{%ŽŽ¡‘ãŒÃ2545Ž‘õŒÏ\splinetrace@{SCANBREAK}%ŽŽ¡‘ãŒÃ2546Ž‘ûKÃÏ\gdef\breakedges@{}%ŽŽ¡‘ãŒÃ2547Ž‘ûKÃÏ\DN@{0}\ifx\next@\bstartPLACE@ŽŽ¡‘ãŒÃ2548Ž‘ mÏ\DN@{\bgroup‘¿ª\def\tmp@####1;####2,####3;####4,{%ŽŽ¡‘ãŒÃ2549Ž‘ ŠÁÏ\global\splineval@=####2\relax}%ŽŽ¡‘ãŒÃ2550Ž‘ËÏ\expandafter\expandafter\expandafter\tmp@\xysplineedges@ŽŽŽŽŒ‹ 9æ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй157ŽŽ ¶?? ýh«w‘ãŒÃ2551Ž‘ËÏ\def\segmentnum@{1}\splineRecordBreakValue@‘¿ª\egroup}%ŽŽ¤ ™š‘ãŒÃ2552Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2553Ž‘ mÏ\bgroup‘¿ª\cv@startŽŽ¡‘ãŒÃ2554Ž‘ËÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\zeroEdge}%ŽŽ¡‘ãŒÃ2555Ž‘ËÏ\ifx\next@\nextii@‘¿ª\aftergroup\splinezerostartŽŽ¡‘ãŒÃ2556Ž‘ËÏ\else\aftergroup\splinewidestart\fiŽŽ¡‘ãŒÃ2557Ž‘ mÏ\egroupŽŽ¡‘ãŒÃ2558Ž‘ûKÃÏ\fi‘¿ª\next@ŽŽ¡‘ãŒÃ2559Ž‘ûKÃÏ\DN@{1}\ifx\next@\bendPLACE@ŽŽ¡‘ãŒÃ2560Ž‘ mÏ\DN@{\bgroup‘¿ª\def\tmp@####1;####2,####3;####4,{%ŽŽ¡‘ãŒÃ2561Ž‘ ŠÁÏ\global\splineval@=####4\relax}%ŽŽ¡‘ãŒÃ2562Ž‘ËÏ\expandafter\expandafter\expandafter\tmp@\xysplineedges@ŽŽ¡‘ãŒÃ2563Ž‘õŒÏ%%‘>þ\multiply\splineval@\m@ne‘¿ª\advance\splineval@\p@ŽŽ¡‘ãŒÃ2564Ž‘õŒÏ%%‘>þ\def\segmentnum@{1}ŽŽ¡‘ãŒÃ2565Ž‘ mÏ\getcrvsegsnum@‘¿ª\edef\segmentnum@{\the\count@}%ŽŽ¡‘ãŒÃ2566Ž‘ mÏ\global\multiply\splineval@\count@ŽŽ¡‘ãŒÃ2567Ž‘ mÏ\splineRecordEndBreakValue@‘¿ª\egroup}%ŽŽ¡‘ãŒÃ2568Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2569Ž‘ mÏ\bgroup‘¿ª\cv@endŽŽ¡‘ãŒÃ2570Ž‘ËÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\zeroEdge}%ŽŽ¡‘ãŒÃ2571Ž‘ËÏ\ifx\next@\nextii@‘¿ª\aftergroup\splinezeroendŽŽ¡‘ãŒÃ2572Ž‘ËÏ\else\aftergroup\splinewideend\fiŽŽ¡‘ãŒÃ2573Ž‘ mÏ\egroupŽŽ¡‘ãŒÃ2574Ž‘ûKÃÏ\fi‘¿ª\next@ŽŽ¡‘ãŒÃ2575Ž‘ûKÃÏ\expandafter\def\expandafterŽŽ¡‘ãŒÃ2576Ž‘ mÏ\xybreakedges@\expandafter{\breakedges@}%‘ T%(6)ŽŽ¡‘ãŒÃ2577Ž‘ûKÃÏ\global\let\breakedges@=\relax‘¿ª%‘ T%(8)ŽŽ¡‘ãŒÃ2578Ž‘õŒÏ\splinetrace@{break–¿ªparams:“\xybreakedges@::\bstartPLACE@--\bendPLACE@}%ŽŽ¡‘ãŒÃ2579Ž‘ûKÃÏ\expandafter\let\xysplineedges@\xybreakedges@‘¿ª}ŽŽ©Pˆ‘ãŒÃ2581Ž‘õŒÏ\xydef@\getcrvsegsnum@{%–¿ªsets“\count@ŽŽ¡‘ãŒÃ2582Ž‘ mÏ\count@=\ptsnum@\relax‘¿ª\ifnum\count@>\@ne\advance\count@\m@ne\fi}ŽŽ¦‘ãŒÃ2584Ž‘õŒÏ\xydef@\splinezerostart{\DN@{\bgroupŽŽ¡‘ãŒÃ2585Ž‘õŒÏ\splinetrace@{splinezerostart:}%ŽŽ¡‘ãŒÃ2586Ž‘ mÏ\dimen@=\bstartPLACE@\p@ŽŽ¡‘ãŒÃ2587Ž‘ mÏ\global\splineval@=\dimen@ŽŽ¡‘ãŒÃ2588Ž‘ mÏ\splineRecordBreakValue@–¿ª\egroup“}}ŽŽ¦‘ãŒÃ2590Ž‘õŒÏ\xydef@\splinezeroend{\DN@{\bgroupŽŽ¡‘ãŒÃ2591Ž‘õŒÏ\splinetrace@{splinezeroend:}%ŽŽ¡‘ãŒÃ2592Ž‘ mÏ\dimen@=\bendPLACE@\p@ŽŽ¡‘ãŒÃ2593Ž‘ mÏ\multiply\dimen@\m@ne‘¿ª\advance\dimen@\p@ŽŽ¡‘ãŒÃ2594Ž‘ mÏ\def\segmentnum@{0}\global\splineval@=\dimen@ŽŽ¡‘ãŒÃ2595Ž‘ mÏ\splineRecordEndBreakValue@–¿ª\egroup“}}ŽŽ¦‘ãŒÃ2597Ž‘õŒÏ\xydef@\splinewidestart{\DN@{\bgroupŽŽ¡‘ãŒÃ2598Ž‘ûKÃÏ\splinetrace@{scan–¿ªfor“start}%ŽŽ¡‘ãŒÃ2599Ž‘ mÏ\let\splinefbcontinue@=\breakstartcontinue@ŽŽ¡‘ãŒÃ2600Ž‘ mÏ\let\splinef@pt=\splinef@breakptŽŽ¡‘ãŒÃ2601Ž‘ mÏ\let\splinef@end=\break@startŽŽ¡‘ãŒÃ2602Ž‘ mÏ\edef\tmp@{{\bstartPLACE@}}%ŽŽŽŽŒ‹ž E Á à ý*tj‘㌹158’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2603Ž‘ mÏ\expandafter\splinealong@@\tmp@\z@>\endgroup\egroup‘¿ª}}ŽŽ©Pˆ‘ãŒÃ2605Ž‘õŒÏ\xydef@\splinewideend{\DN@{\bgroupŽŽ¤ ™š‘ãŒÃ2606Ž‘ûKÃÏ\splinetrace@{scan–¿ªfor“wide“end}%ŽŽ¡‘ãŒÃ2607Ž‘ mÏ\let\splinefbcontinue@=\breakendcontinue@ŽŽ¡‘ãŒÃ2608Ž‘ mÏ\let\splinef@pt=\splinef@breakptŽŽ¡‘ãŒÃ2609Ž‘ mÏ\let\splinef@end=\break@endŽŽ¡‘ãŒÃ2610Ž‘ mÏ\edef\tmp@{{\bendPLACE@}}%ŽŽ¡‘ãŒÃ2611Ž‘ mÏ\expandafter\splinealong@@\tmp@\z@<\endgroup\egroup‘¿ª}}ŽŽŸv‘ãŒÃ2614Ž‘õŒÏ\xydef@\splineSrec@{{%ŽŽ¡‘ãŒÃ2615Ž‘õŒÏ\splinetrace@{v=\the\splineval@–¿ª+“d=\the\splinedepth@“:ŽŽ¡‘ãŒÃ2616Ž‘ûKÃÏ(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c):Srec‘¿ª}%ŽŽ¡‘ãŒÃ2617Ž‘ûKÃÏ\splineStarttestŽŽ¡‘ãŒÃ2618Ž‘ûKÃÏ\ifsplineplot@ŽŽ¡‘ãŒÃ2619Ž‘ mÏ\ifdim\splinedepth@<.0001\p@‘¿ª\aftergroup\splinefinish@ŽŽ¡‘ãŒÃ2620Ž‘ËÏ\global\advance\splineval@‘¿ª.5\splinedepth@ŽŽ¡‘ãŒÃ2621Ž‘ mÏ\else\aftergroup\splinedecast@@‘¿ª\fiŽŽ¡‘ãŒÃ2622Ž‘ûKÃÏ\else–¿ª\aftergroup\splineadvance@“\fi}}ŽŽ¦‘ãŒÃ2624Ž‘õŒÏ\xydef@\splinefindStart@@{\bgroup‘¿ª\bgroupŽŽ¡‘ãŒÃ2625Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineparams@\xysplineparams@ŽŽ¡‘ãŒÃ2626Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ2627Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ2628Ž‘ûKÃÏ\let\splinegoal@=\splineRecordValue@‘¿ª\global\dimen5=\z@ŽŽ¡‘ãŒÃ2629Ž‘ûKÃÏ{\X@c=\X@p–¿ª\Y@c=\Y@p“\splinescanStarttest“}%%“first“test“initial“point.ŽŽ¡‘ãŒÃ2630Ž‘õŒÏ}ŽŽ¦‘ãŒÃ2632Ž‘õŒÏ\xydef@\splinefindStart@{%ŽŽ¡‘ãŒÃ2633Ž‘ûKÃÏ\expandafter\crv@cnt@\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ2634Ž‘ûKÃÏ\ifnum\crv@cnt@>\tw@ŽŽ¡‘ãŒÃ2635Ž‘ mÏ\crv@cnt@=\@ne–¿ª\splineplot@false“\splinesegment@{\crv@cnt@}%ŽŽ¡‘ãŒÃ2636Ž‘ mÏ{\splineStarttest–¿ª%%“test“end“of“segment.ŽŽ¡‘ãŒÃ2637Ž‘ mÏ\ifsplineplot@\aftergroup\splineplot@true\fi}%ŽŽ¡‘ãŒÃ2638Ž‘ mÏ\ifsplineplot@–¿ª\else“\searchforStartsegment@“\fiŽŽ¡‘ãŒÃ2639Ž‘ mÏ\splinesegment@{\crv@cnt@}%ŽŽ¡‘ãŒÃ2640Ž‘õŒÏ\splinetrace@{start–¿ªis“in“segment“\segmentnum@}%ŽŽ¡‘ãŒÃ2641Ž‘ûKÃÏ\else–¿ª\splinesegment@\@ne“\fiŽŽ¡‘ãŒÃ2642Ž‘ûKÃÏ\splineplot@false‘ T\splinefindStart@@ŽŽ¡‘ãŒÃ2643Ž‘õŒÏ}ŽŽŸ ã‘ôŒ¹This–¦f nds“the“ rst“spline“segmenš²!t“whose“endpMÞoin˜t“is“bMÞey˜ond“the“edge“of“the“ob‘›»ject.ަ‘ãŒÃ2650Ž‘õŒÏ\xydef@\searchforStartsegment@{\splineplot@true\loop@ŽŽ¡‘ãŒÃ2651Ž‘ËÏ\advance\crv@cnt@\@neŽŽ¡‘ãŒÃ2652Ž‘ËÏ\expandafter\count@\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ2653Ž‘ËÏ\ifnum\count@=\crv@cnt@\expandafter\splineplot@falseŽŽ¡‘ãŒÃ2654Ž‘ËÏ\elseŽŽ¡‘ãŒÃ2655Ž‘ ŠÁÏ\splinesegment@{\crv@cnt@}{\splineStarttestŽŽ¡‘ãŒÃ2656Ž‘ ŠÁÏ\ifsplineplot@\aftergroup\splineplot@falseŽŽ¡‘ãŒÃ2657Ž‘ ŠÁÏ\else\aftergroup\splineplot@true\fi‘¿ª}%ŽŽ¡‘ãŒÃ2658Ž‘ËÏ\fi‘¿ª\ifsplineplot@\repeat@ŽŽ¡‘ãŒÃ2659Ž‘õŒÏ}ŽŽŽŽŒ‹Ÿ PE Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй159ŽŽ ¶?? ýh«w‘ôŒFinding–¦fthe“end“is“similar,“but“the“spline“is“searcš²!hed“in“rev˜erse“order.Ž©Pˆ‘ãŒÃ2665Ž‘õŒÏ\xydef@\splinefindEnd@@{\bgroup‘¿ª\bgroupŽŽ¤ ™š‘ãŒÃ2666Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineparams@\xysplineparams@ŽŽ¡‘ãŒÃ2667Ž‘õŒÏ\splinetrace@{params:\xysplineparams@}%ŽŽ¡‘ãŒÃ2668Ž‘ûKÃÏ\splinereverse@@ŽŽ¡‘ãŒÃ2669Ž‘õŒÏ\splinetrace@{params:\xysplineparams@}%ŽŽ¡‘ãŒÃ2670Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ2671Ž‘ûKÃÏ\global\let\splinepoint=\splinescanEndtestŽŽ¡‘ãŒÃ2672Ž‘ûKÃÏ\let\splinegoal@=\splineRecordEndValue@‘¿ª\global\dimen5=\z@ŽŽ¡‘ãŒÃ2673Ž‘ûKÃÏ{\X@c=\X@p–¿ª\Y@c=\Y@p“\splinescanEndtest“}%%“first“test“initial“point.ŽŽ¡‘ãŒÃ2674Ž‘õŒÏ}ŽŽ¦‘ãŒÃ2676Ž‘õŒÏ\xydef@\splinereverse@@{\splinereverse@@@}ŽŽ¡‘ãŒÃ2677Ž‘õŒÏ\xydef@\splinereverse@@@{%ŽŽ¡‘ãŒÃ2678Ž‘ûKÃÏ\def\postspline@{\d@X=-\d@X‘¿ª\d@Y=-\d@Y}%ŽŽ¡‘ãŒÃ2679Ž‘ûKÃÏ\dimen@ii=\X@c–¿ª\X@c=\X@p“\X@p=\dimen@iiŽŽ¡‘ãŒÃ2680Ž‘ûKÃÏ\dimen@ii=\Y@c–¿ª\Y@c=\Y@p“\Y@p=\dimen@iiŽŽ¡‘ãŒÃ2681Ž‘ûKÃÏ\global\dimen5=-\dimen5\relaxŽŽ¡‘ãŒÃ2682Ž‘ûKÃÏ\global\advance\dimen5\splinelength@‘¿ª}ŽŽ¡‘ãŒÃ2683Ž‘õŒÏ\xydef@\postspline@{}ŽŽ¦‘ãŒÃ2685Ž‘õŒÏ\xydef@\splineErec@{{%ŽŽ¡‘ãŒÃ2686Ž‘ûKÃÏ\dimen@=\splineval@–¿ª\advance\dimen@\splinedepth@“%ŽŽ¡‘ãŒÃ2687Ž‘õŒÏ\splinetrace@{ER‘¿ª(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c);;;ŽŽ¡‘ãŒÃ2688Ž‘õŒÏ\the\dimen@,\the\splinedepth@}%ŽŽ¡‘ãŒÃ2689Ž‘ûKÃÏ\splineEndtestŽŽ¡‘ãŒÃ2690Ž‘ûKÃÏ\ifsplineplot@ŽŽ¡‘ãŒÃ2691Ž‘ mÏ\ifdim\splinedepth@<.0001\p@‘¿ª\aftergroup\splinefinish@ŽŽ¡‘ãŒÃ2692Ž‘õŒÏ%‘>þ\global\advance\splineval@‘¿ª.5\splinedepth@ŽŽ¡‘ãŒÃ2693Ž‘ mÏ\else\aftergroup\splinedecast@@‘¿ª\fiŽŽ¡‘ãŒÃ2694Ž‘ûKÃÏ\else–¿ª\aftergroup\splineadvance@“\fi}}ŽŽ¦‘ãŒÃ2696Ž‘õŒÏ\xydef@\splinefindEnd@{%ŽŽ¡‘ãŒÃ2697Ž‘ûKÃÏ\expandafter\crv@cnt@\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ2698Ž‘ûKÃÏ\ifnum\crv@cnt@>\tw@ŽŽ¡‘ãŒÃ2699Ž‘ mÏ\advance\crv@cnt@\m@neŽŽ¡‘ãŒÃ2700Ž‘ mÏ\splineplot@false‘¿ª\splinesegment@{\crv@cnt@}%ŽŽ¡‘ãŒÃ2701Ž‘ mÏ{\X@c=\X@p–¿ª\Y@c=\Y@p“\splineEndtest“%%“test“end“of“segment.ŽŽ¡‘ãŒÃ2702Ž‘ mÏ\ifsplineplot@\aftergroup\splineplot@true\fi‘¿ª}%ŽŽ¡‘ãŒÃ2703Ž‘ mÏ\ifsplineplot@ŽŽ¡‘ãŒÃ2704Ž‘ mÏ\else–¿ª\searchforEndsegment@“\fiŽŽ¡‘ãŒÃ2705Ž‘ mÏ\splinesegment@{\crv@cnt@}%ŽŽ¡‘ãŒÃ2706Ž‘õŒÏ\splinetrace@{end–¿ªis“in“segment:“\segmentnum@“}%ŽŽ¡‘ãŒÃ2707Ž‘ûKÃÏ\else–¿ª\splinesegment@\@ne“\fiŽŽ¡‘ãŒÃ2708Ž‘ûKÃÏ\splineplot@false\splinefindEnd@@ŽŽ¡‘ãŒÃ2709Ž‘õŒÏ}ŽŽ¡‘ãŒÃ2710Ž‘õŒÏ\xydef@\searchforEndsegment@{\splineplot@true\loop@ŽŽ¡‘ãŒÃ2711Ž‘ËÏ\advance\crv@cnt@\m@neŽŽ¡‘ãŒÃ2712Ž‘ËÏ\ifnum\crv@cnt@=\z@\expandafter\splineplot@falseŽŽ¡‘ãŒÃ2713Ž‘ËÏ\elseŽŽ¡‘ãŒÃ2714Ž‘ ŠÁÏ\splinesegment@{\crv@cnt@}{\X@c=\X@p–¿ª\Y@c=\Y@p“\splineEndtestŽŽŽŽŒ‹  [¼ Á à ý*tj‘㌹160’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2715Ž‘ ŠÁÏ\ifsplineplot@\aftergroup\splineplot@falseŽŽ¤ ™š‘ãŒÃ2716Ž‘ ŠÁÏ\else\aftergroup\splineplot@true\fi}%ŽŽ¡‘ãŒÃ2717Ž‘ËÏ\fi‘¿ª\ifsplineplot@\repeat@ŽŽ¡‘ãŒÃ2718Ž‘õŒÏ}ŽŽŸ ã‘ôŒ¹These–¦fare“the“tests,“to“determine“when“the“edge-pšMÞoin²!t“has“b˜een“found.Ž©Pˆ‘ãŒÃ2724Ž‘õŒÏ\xydef@\splinescanStarttest{%ŽŽ¡‘ãŒÃ2725Ž‘õŒÏ\splinetrace@{SST–¿ª(\the\X@c,\the\Y@c);“\the\splinelength@,“\the\splineval@}%ŽŽ¡‘ãŒÃ2726Ž‘ûKÃÏ{\splineplot@false\splineStarttestŽŽ¡‘ãŒÃ2727Ž‘ËÏ\ifsplineplot@\expandafter\splinefinish@\fi}}ŽŽ¦‘ãŒÃ2729Ž‘õŒÏ\xydef@\splinescanEndtest{%ŽŽ¡‘ãŒÃ2730Ž‘õŒÏ\splinetrace@{SET–¿ª(\the\X@c,\the\Y@c);“\the\splinelength@,“\the\splineval@}%ŽŽ¡‘ãŒÃ2731Ž‘ûKÃÏ{\splineplot@false\splineEndtestŽŽ¡‘ãŒÃ2732Ž‘ËÏ\ifsplineplot@\expandafter\splinefinish@\fi}}ŽŽŸv‘ãŒÃ2736Ž‘õŒÏ\xydef@\splineBrec@{{%ŽŽ¡‘ãŒÃ2737Ž‘ûKÃÏ\dimen@=\splineval@–¿ª\advance\dimen@\splinedepth@“%ŽŽ¡‘ãŒÃ2738Ž‘õŒÏ\splinetrace@{BR‘¿ª(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c);;;ŽŽ¡‘ãŒÃ2739Ž‘õŒÏ\the\dimen@,\the\splinedepth@}%ŽŽ¡‘ãŒÃ2740Ž‘ûKÃÏ\splineEndtestŽŽ¡‘ãŒÃ2741Ž‘ûKÃÏ\ifsplineplot@–¿ª\aftergroup\splineadvance@“\elseŽŽ¡‘ãŒÃ2742Ž‘ mÏ\ifdim\splinedepth@<.0001\p@‘¿ª\aftergroup\splinefinish@ŽŽ¡‘ãŒÃ2743Ž‘õŒÏ%‘>þ\global\advance\splineval@‘¿ª.5\splinedepth@ŽŽ¡‘ãŒÃ2744Ž‘ mÏ\else\aftergroup\splinedecast@@–¿ª\fi“\fi}}ŽŽ¦‘ãŒÃ2746Ž‘õŒÏ\xydef@\splineBSrec@{{%ŽŽ¡‘ãŒÃ2747Ž‘õŒÏ\splinetrace@{SR‘¿ª(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c);;;ŽŽ¡‘ãŒÃ2748Ž‘õŒÏ\the\dimen@,\the\splinedepth@:SR}%ŽŽ¡‘ãŒÃ2749Ž‘ûKÃÏ\splineStarttestŽŽ¡‘ãŒÃ2750Ž‘ûKÃÏ\ifsplineplot@ŽŽ¡‘ãŒÃ2751Ž‘ mÏ\ifdim\splinedepth@<.0001\p@‘¿ª\aftergroup\splinefinish@ŽŽ¡‘ãŒÃ2752Ž‘ËÏ\global\advance\splineval@‘¿ª.5\splinedepth@ŽŽ¡‘ãŒÃ2753Ž‘ mÏ\else‘¿ª\advance\splineval@\splinedepth@ŽŽ¡‘ãŒÃ2754Ž‘ËÏ\splinetest@‘¿ª\advance\splineval@-\splinedepth@ŽŽ¡‘ãŒÃ2755Ž‘ËÏ\ifsplineplot@\aftergroup\splineadvance@ŽŽ¡‘ãŒÃ2756Ž‘ËÏ\else\aftergroup\splinedecast@@\fiŽŽ¡‘ãŒÃ2757Ž‘ mÏ\fiŽŽ¡‘ãŒÃ2758Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2759Ž‘ mÏ\global\advance\splineval@\splinedepth@ŽŽ¡‘ãŒÃ2760Ž‘ mÏ\aftergroup\splinefinish@–¿ª\fi“}}ŽŽ¦‘ãŒÃ2762Ž‘õŒÏ\xydef@\splineBErec@{{%ŽŽ¡‘ãŒÃ2763Ž‘ûKÃÏ\dimen@=\splineval@–¿ª\advance\dimen@\splinedepth@“%ŽŽ¡‘ãŒÃ2764Ž‘õŒÏ\splinetrace@{BE‘¿ª(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c);;;ŽŽ¡‘ãŒÃ2765Ž‘ûKÃÏ\the\dimen@,\the\splinedepth@}%ŽŽ¡‘ãŒÃ2766Ž‘ mÏ\splineEndtestŽŽ¡‘ãŒÃ2767Ž‘ûKÃÏ\ifsplineplot@ŽŽ¡‘ãŒÃ2768Ž‘ mÏ\ifdim\splinedepth@<.0001\p@‘¿ª\aftergroup\splinefinish@ŽŽ¡‘ãŒÃ2769Ž‘ËÏ\global\advance\splineval@‘¿ª.5\splinedepth@ŽŽ¡‘ãŒÃ2770Ž‘ mÏ\else‘¿ª\advance\splineval@\splinedepth@ŽŽ¡‘ãŒÃ2771Ž‘ËÏ\splinetest@‘¿ª\advance\splineval@-\splinedepth@ŽŽŽŽŒ‹¡ g? Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй161ŽŽ ¶?? ýh«w‘ãŒÃ2772Ž‘ËÏ\ifsplineplot@\aftergroup\splineadvance@ŽŽ¤ ™š‘ãŒÃ2773Ž‘ËÏ\else\aftergroup\splinedecast@@\fiŽŽ¡‘ãŒÃ2774Ž‘ mÏ\fiŽŽ¡‘ãŒÃ2775Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2776Ž‘ mÏ\ifdim\splinedepth@<\p@–¿ª\global\advance\splineval@\splinedepth@“\fiŽŽ¡‘ãŒÃ2777Ž‘ mÏ\aftergroup\splinefinish@–¿ª\fi“}}ŽŽ©Pˆ‘ãŒÃ2779Ž‘õŒÏ\xydef@\splinef@breakpt#1{%–¿ªgobbles“|\splinecancel|ŽŽ¡‘ãŒÃ2780Ž‘ mÏ\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ2781Ž‘õŒÏ\splinetrace@{found:‘¿ªval=\the\splineval@;(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ2782Ž‘ mÏ\elseŽŽ¡‘ãŒÃ2783Ž‘õŒÏ\splinetrace@{found:‘¿ªval=\the\splineval@;(\the\X@p,\the\Y@p)}%ŽŽ¡‘ãŒÃ2784Ž‘ mÏ\fi‘ T\splinefbcontinue@‘¿ª}ŽŽ¦‘ãŒÃ2786Ž‘õŒÏ\xydef@\splinef@pt@@{%ŽŽ¡‘ãŒÃ2787Ž‘ mÏ\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ2788Ž‘õŒÏ\splinetrace@{found:‘¿ªval=\the\splineval@;c:(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ2789Ž‘ËÏ\global\dimen@i=\X@c‘¿ª\global\dimen3=\Y@cŽŽ¡‘ãŒÃ2790Ž‘ mÏ\elseŽŽ¡‘ãŒÃ2791Ž‘õŒÏ\splinetrace@{found:‘¿ªval=\the\splineval@;p:(\the\X@p,\the\Y@p)}%ŽŽ¡‘ãŒÃ2792Ž‘ mÏ\fiŽŽ¡‘ãŒÃ2793Ž‘ûKÃÏ\setsplinedir@–¿ª\global\dimen5=\d@X“\global\dimen7=\d@YŽŽ¡‘ãŒÃ2794Ž‘ mÏ\global\splineval@=\splineval@ŽŽ¡‘ãŒÃ2795Ž‘ mÏ\aftergroup\splinefocus@‘¿ª}ŽŽ¦‘ãŒÃ2797Ž‘õŒÏ\xydef@\findbreakwarning@#1{%ŽŽ¡‘ãŒÃ2798Ž‘ûKÃÏ\xywarning@{#1–¿ªof“break“not“found:“bSTART=\bstartPLACE@,“bEND=\bendPLACE@}%ŽŽ¡‘ãŒÃ2799Ž‘ûKÃÏ\DN@{#1}\def\DNii@{start}\ifx\next@\nextii@\splineRecordBreakValue@ŽŽ¡‘ãŒÃ2800Ž‘ûKÃÏ\else\splineRecordEndBreakValue@\fi\egroup}%ŽŽ¦‘ãŒÃ2802Ž‘õŒÏ\xydef@\breakstartcontinue@{\bgroup‘¿ª\cv@startŽŽ¡‘ãŒÃ2803Ž‘õŒÏ%\xystatus@{SS}%ŽŽ¡‘ãŒÃ2804Ž‘ mÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\zeroEdge}%ŽŽ¡‘ãŒÃ2805Ž‘ mÏ\ifx\next@\nextii@‘¿ª\aftergroup\breakstartfound@ŽŽ¡‘ãŒÃ2806Ž‘ mÏ\else–¿ª\aftergroup\breakstartcontinue@i\fi“\egroup“}%ŽŽ¦‘ãŒÃ2808Ž‘õŒÏ\xydef@\breakstartcontinue@i{%ŽŽ¡‘ãŒÃ2809Ž‘õŒÏ\splinetrace@{move–¿ªto“start“edge,“from“(\the\X@c,\the\Y@c):“val=\the\splineval@“}%ŽŽ¡‘ãŒÃ2810Ž‘õŒÏ%‘¿ª\global\let\splinetest@=\splineStarttestŽŽ¡‘ãŒÃ2811Ž‘ûKÃÏ\global\let\splineEndtest=\splineBreakStarttest@ŽŽ¡‘ãŒÃ2812Ž‘ûKÃÏ\global\let\splinetest@=\splineBreakStarttest@ŽŽ¡‘ãŒÃ2813Ž‘õŒÏ%‘¿ª\global\let\splinerec@=\splineSrec@ŽŽ¡‘ãŒÃ2814Ž‘ûKÃÏ\gdef\splinerec@{\global\let\splinerec@=\splineSrec@‘¿ª\splinedecast@@}%ŽŽ¡‘ãŒÃ2815Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ2816Ž‘ûKÃÏ\global\let\spline@end=\checkfoundSbreak@ŽŽ¡‘ãŒÃ2817Ž‘õŒÏ%‘¿ª\global\let\splinegoal@=\splineRecordBreakValue@ŽŽ¡‘ãŒÃ2818Ž‘ûKÃÏ\global\let\splinegoal@=\splineRecordSBreakValue@ŽŽ¡‘ãŒÃ2819Ž‘ûKÃÏ\global\let\splinefinish@=\splinefinish@@‘ T}ŽŽ¦‘ãŒÃ2821Ž‘õŒÏ\xydef@\breakstartfound@{%ŽŽ¡‘ãŒÃ2822Ž‘õŒÏ\splinetrace@{found–¿ªstart“edge,“at“(\the\X@c,\the\Y@c):“val=\the\splineval@“}%ŽŽ¡‘ãŒÃ2823Ž‘ûKÃÏ\global\let\splinetest@=\splineStarttestŽŽ¡‘ãŒÃ2824Ž‘ûKÃÏ\gdef\splinerec@{\splinegoal@–¿ª\global\let\splinerec@=\splinefinish@“}%ŽŽŽŽŒ‹¢ r® Á à ý*tj‘㌹162’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2825Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¤ ™š‘ãŒÃ2826Ž‘ûKÃÏ\global\let\spline@end=\relax‘¿ª%\checkfoundSbreak@ŽŽ¡‘ãŒÃ2827Ž‘ûKÃÏ\global\let\splinegoal@=\splineRecordBreakValue@ŽŽ¡‘ãŒÃ2828Ž‘ûKÃÏ\global\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ2829Ž‘ûKÃÏ}ŽŽ©Pˆ‘ãŒÃ2831Ž‘õŒÏ\xydef@\checkfoundSbreak@{%ŽŽ¡‘ãŒÃ2832Ž‘ mÏ\ifnum\xycrvptsnum@<\thr@@\DN@{\findbreakwarning@{start}}%ŽŽ¡‘ãŒÃ2833Ž‘ mÏ\else\DN@{\searchBreakSsegment@}\fi–¿ª\next@“}%ŽŽ¦‘ãŒÃ2835Ž‘õŒÏ\xydef@\searchBreakSsegment@{%ŽŽ¡‘ãŒÃ2836Ž‘ûKÃÏ\crv@cnt@=\segmentnum@‘¿ª\DN@{}\count@=\crv@cnt@ŽŽ¡‘ãŒÃ2837Ž‘ûKÃÏ\DNii@{}\ifnum\splineval@=\z@‘¿ª\ifnum\crv@cnt@=\@neŽŽ¡‘ãŒÃ2838Ž‘ËÏ\ifnum\xycrvptsnum@=\@ne\count@=\z@\DNii@{\egroup}\fiŽŽ¡‘ãŒÃ2839Ž‘ mÏ\else‘¿ª\DN@{\egroup}\fiŽŽ¡‘ãŒÃ2840Ž‘ûKÃÏ\else‘¿ª\ifnum\splineval@=\m@neŽŽ¡‘ãŒÃ2841Ž‘ûKÃÏ\else–¿ª\advance\crv@cnt@\@ne“\fi“\fiŽŽ¡‘ãŒÃ2842Ž‘ûKÃÏ\ifnum\crv@cnt@=\xycrvptsnum@\relaxŽŽ¡‘ãŒÃ2843Ž‘ mÏ\ifnum\xycrvptsnum@>\tw@‘¿ª\DNii@{\egroup}\fiŽŽ¡‘ãŒÃ2844Ž‘ mÏ\DN@{\expandafter\splineRecordBreakValue@\nextii@}%ŽŽ¡‘ãŒÃ2845Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2846Ž‘ mÏ\DN@{\splinesegment@{\crv@cnt@}\splinesetparams@ŽŽ¡‘ãŒÃ2847Ž‘ËÏ\splined@@‘¿ª\egroup}%ŽŽ¡‘ãŒÃ2848Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ2850Ž‘õŒÏ\xydef@\checkfoundEbreak@{%ŽŽ¡‘ãŒÃ2851Ž‘ mÏ\ifnum\xycrvptsnum@<\thr@@\DN@{\findbreakwarning@{end}}%ŽŽ¡‘ãŒÃ2852Ž‘ mÏ\else\DN@{\searchBreakEsegment@}\fi–¿ª\next@“}%ŽŽ¦‘ãŒÃ2854Ž‘õŒÏ\xydef@\searchBreakEsegment@{%ŽŽ¡‘ãŒÃ2855Ž‘ûKÃÏ\crv@cnt@=\segmentnum@‘¿ª\DN@{}\count@=\crv@cnt@ŽŽ¡‘ãŒÃ2856Ž‘ûKÃÏ\DNii@{}\ifnum\splineval@=\z@‘¿ª\ifnum\crv@cnt@=\@neŽŽ¡‘ãŒÃ2857Ž‘ËÏ\ifnum\xycrvptsnum@=\@ne\count@=\z@\DNii@{\egroup}\fiŽŽ¡‘ãŒÃ2858Ž‘ mÏ\else\DN@{\egroup}\fiŽŽ¡‘ãŒÃ2859Ž‘ûKÃÏ\else–¿ª\advance\crv@cnt@\m@ne“\fiŽŽ¡‘ãŒÃ2860Ž‘ûKÃÏ\ifnum\count@=\z@ŽŽ¡‘ãŒÃ2861Ž‘õŒÏ%‘¿ª\ifnum\crv@cnt@=\z@ŽŽ¡‘ãŒÃ2862Ž‘ mÏ\ifnum\xycrvptsnum@>\tw@‘¿ª\splineval@=\m@ne\p@ŽŽ¡‘ãŒÃ2863Ž‘ËÏ\DNii@{\egroup}\fiŽŽ¡‘ãŒÃ2864Ž‘ mÏ\DN@{\expandafter\splineRecordEndBreakValue@\nextii@}\elseŽŽ¡‘ãŒÃ2865Ž‘ mÏ\DN@{\splinesegment@{\crv@cnt@}\splinereverse@ŽŽ¡‘ãŒÃ2866Ž‘ËÏ\readsplineparams@–¿ª\splined@@“\egroup}%ŽŽ¡‘ãŒÃ2867Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ2869Ž‘õŒÏ\xydef@\break@start{\egroup‘¿ª\egroupŽŽ¡‘ãŒÃ2870Ž‘õŒÏ\splinetrace@{scan–¿ªfor“start}%ŽŽ¡‘ãŒÃ2871Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@‘ T%(3)ŽŽ¡‘ãŒÃ2872Ž‘ûKÃÏ\let\spline@start=\splinefindBStart@‘>þ%(3)ŽŽ¡‘ãŒÃ2873Ž‘ûKÃÏ\let\spline@end=\egroupŽŽ¡‘ãŒÃ2874Ž‘ûKÃÏ\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ2875Ž‘ûKÃÏ\let\splinewhich=\relaxŽŽ¡‘ãŒÃ2876Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ2877Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽŽŽŒ‹£ ~ö Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй163ŽŽ ¶?? ýh«w‘ãŒÃ2878Ž‘ûKÃÏ\let\splinegoal@=\splineRecordBreakValue@ŽŽ¤ ™š‘ãŒÃ2879Ž‘ûKÃÏ\global\dimen5=\z@‘ T\global\splinelength@=\z@ŽŽ¡‘ãŒÃ2880Ž‘ûKÃÏ\let\splinerec@=\splineSrec@ŽŽ¡‘ãŒÃ2881Ž‘ûKÃÏ\def\breakedges@{}%ŽŽ¡‘ãŒÃ2882Ž‘ûKÃÏ\bgroup–¿ª\bgroup“\splined@@“}ŽŽ©Pˆ‘ãŒÃ2884Ž‘õŒÏ\xydef@\splinefindBStart@{\bgroupŽŽ¡‘ãŒÃ2885Ž‘õŒÏ%–¿ª\global\splineval@=\z@“\global\splinedepth@=.5\p@}ŽŽ¡‘ãŒÃ2886Ž‘ûKÃÏ\global\splineval@=\z@‘¿ª\splinedepth@=.5\p@}ŽŽ¦‘ãŒÃ2888Ž‘õŒÏ\xydef@\breakendcontinue@{\bgroupŽŽ¡‘ãŒÃ2889Ž‘ûKÃÏ\edef\tmp@{\X@p–¿ª=“\the\X@c“\Y@p=\the\Y@c}\cv@end\tmp@“%“<---“irrelevant“?ŽŽ¡‘ãŒÃ2890Ž‘ûKÃÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\zeroEdge}%ŽŽ¡‘ãŒÃ2891Ž‘õŒÏ%\xystatus@{EE}%ŽŽ¡‘ãŒÃ2892Ž‘ûKÃÏ\ifx\next@\nextii@‘¿ª\aftergroup\breakendfound@ŽŽ¡‘ãŒÃ2893Ž‘ûKÃÏ\else\aftergroup\breakendcontinue@i\fi–¿ª\egroup“}%ŽŽ¦‘ãŒÃ2895Ž‘õŒÏ\xydef@\breakendcontinue@i{%ŽŽ¡‘ãŒÃ2896Ž‘õŒÏ\splinetrace@{move–¿ªto“end“edge,“from“(\the\X@c,\the\Y@c):“val=\the\splineval@“}%ŽŽ¡‘ãŒÃ2897Ž‘õŒÏ%‘¿ª\global\let\splinetest@=\splineEndtestŽŽ¡‘ãŒÃ2898Ž‘ûKÃÏ\global\let\splineEndtest=\splineBreakEndtest@ŽŽ¡‘ãŒÃ2899Ž‘ûKÃÏ\global\let\splinetest@=\splineBreakEndtest@ŽŽ¡‘ãŒÃ2900Ž‘ûKÃÏ\gdef\splinerec@{\global\let\splinerec@=\splineErec@\splinedecast@@}%ŽŽ¡‘ãŒÃ2901Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ2902Ž‘ûKÃÏ\global\let\spline@end=\checkfoundEbreak@ŽŽ¡‘ãŒÃ2903Ž‘õŒÏ%‘¿ª\global\let\splinegoal@=\splineRecordEndBreakValue@ŽŽ¡‘ãŒÃ2904Ž‘ûKÃÏ\global\let\splinegoal@=\splineRecordEBreakValue@ŽŽ¡‘ãŒÃ2905Ž‘ûKÃÏ\global\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ2906Ž‘ûKÃÏ\splinerec@‘¿ª}ŽŽ¦‘ãŒÃ2908Ž‘õŒÏ\xydef@\splineRecordEBreakValue@{%\getcrvsegsnum@ŽŽ¡‘ãŒÃ2909Ž‘õŒÏ\splinetrace@{\the\count@\space–¿ªsegments,“\the\splineval@}%ŽŽ¡‘ãŒÃ2910Ž‘õŒÏ%‘ T\ifnum\segmentnum@>\z@–¿ª\dimen@=\segmentnum@\p@“\else“\dimen@=\p@\fiŽŽ¡‘ãŒÃ2911Ž‘õŒÏ%‘ T\advance\dimen@-\splineval@\relaxŽŽ¡‘ãŒÃ2912Ž‘õŒÏ%‘ T\ifnum\count@>\@ne‘¿ª\divide\dimen@\count@\fiŽŽ¡‘ãŒÃ2913Ž‘õŒÏ%‘ T\global\splineval@=\dimen@ŽŽ¡‘ãŒÃ2914Ž‘ mÏ\splineRecordEndBreakValue@‘¿ª}ŽŽ¦‘ãŒÃ2916Ž‘õŒÏ\xydef@\splineRecordSBreakValue@{\getcrvsegsnum@ŽŽ¡‘ãŒÃ2917Ž‘ mÏ\dimen@=\splineval@ŽŽ¡‘ãŒÃ2918Ž‘ mÏ\advance\dimen@\segmentnum@\p@‘¿ª\advance\dimen@-\p@ŽŽ¡‘ãŒÃ2919Ž‘ mÏ\dimen@nth\count@\dimen@ŽŽ¡‘ãŒÃ2920Ž‘ mÏ\global\splineval@=\dimen@‘¿ª\def\segmentnum@{1}%ŽŽ¡‘ãŒÃ2921Ž‘ mÏ\splineRecordBreakValue@‘¿ª}ŽŽ¦‘ãŒÃ2923Ž‘õŒÏ\xydef@\breakendfound@{%ŽŽ¡‘ãŒÃ2924Ž‘õŒÏ\splinetrace@{found–¿ªend“edge,“at“(\the\X@c,\the\Y@c):“val=\the\splineval@“}%ŽŽ¡‘ãŒÃ2925Ž‘ûKÃÏ\global\let\splinetest@=\splineEndtestŽŽ¡‘ãŒÃ2926Ž‘ûKÃÏ\gdef\splinerec@{\splinegoal@‘¿ª\global\let\splinerec@=\splinefinish@}%ŽŽ¡‘ãŒÃ2927Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ2928Ž‘ûKÃÏ\global\let\spline@end=\relax‘ T%\checkfoundEbreak@ŽŽ¡‘ãŒÃ2929Ž‘ûKÃÏ\global\let\splinegoal@=\splineRecordEndBreakValue@ŽŽ¡‘ãŒÃ2930Ž‘ûKÃÏ\global\let\splinefinish@=\splinefinish@@‘ T}ŽŽŽŽŒ‹¤ ŠE Á à ý*tj‘㌹164’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2933Ž‘õŒÏ\xydef@\break@end{\egroup‘¿ª\egroupŽŽ¤ ™š‘ãŒÃ2934Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ2935Ž‘ûKÃÏ\let\spline@start=\splinefindBEnd@ŽŽ¡‘ãŒÃ2936Ž‘ûKÃÏ\let\spline@end=\egroupŽŽ¡‘ãŒÃ2937Ž‘ûKÃÏ\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ2938Ž‘ûKÃÏ\let\splinewhich=\relaxŽŽ¡‘ãŒÃ2939Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ2940Ž‘ûKÃÏ\global\let\splinegoal@=\splineRecordEndBreakValue@ŽŽ¡‘ãŒÃ2941Ž‘ûKÃÏ\global\splinelength@=\z@ŽŽ¡‘ãŒÃ2942Ž‘ûKÃÏ\let\splinerec@=\splineErec@ŽŽ¡‘ãŒÃ2943Ž‘ûKÃÏ\global\let\splineEndtest=\splineEndtest@ŽŽ¡‘ãŒÃ2944Ž‘ûKÃÏ\bgroup–¿ª\splined@@“}ŽŽ©Pˆ‘ãŒÃ2946Ž‘õŒÏ\xydef@\splinefindBEnd@{\bgroup\bgroupŽŽ¡‘ãŒÃ2947Ž‘ûKÃÏ\splinereverse@‘¿ª\readsplineparams@ŽŽ¡‘ãŒÃ2948Ž‘ûKÃÏ\global\splineval@=\z@‘¿ª}ŽŽŸß%‘ôŒ¹This–èFappMÞends“the“new“information“to“that“currenš²!tly“stored“in“the“con˜trol“sequence“referenced“b˜yŽ¡‘ãŒÏ\xysplineparams@Ž‘?†¹¹.‘‡It–4&is“tempšMÞorarily“stored“globally“in“Ï\splineparams@Ž‘T¯r¹,‘W–to“b˜e“later“transferred“toŽ¡‘ãŒ(the–¦fc.s.‘ÝÝreferenced“bš²!y)“Ï\xysplineparams@Ž‘cGl¹when“at“the“appropriate“lev˜el“of“groupingl.ަ‘ãŒÃ2958Ž‘õŒÏ\xydef@\splineRecordValue@{%ŽŽ¡‘ãŒÃ2959Ž‘ûKÃÏ\ifx\unknown\segmentnum@\relaxŽŽ¡‘ãŒÃ2960Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2961Ž‘ mÏ\getcrvsegsnum@ŽŽ¡‘ãŒÃ2962Ž‘ mÏ\dimen@=\splineval@–¿ª\advance\dimen@“\segmentnum@\p@ŽŽ¡‘ãŒÃ2963Ž‘ mÏ\advance\dimen@-\p@‘¿ª\dimen@nth\count@\dimen@ŽŽ¡‘ãŒÃ2964Ž‘ mÏ\global\splineval@=\dimen@ŽŽ¡‘ãŒÃ2965Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2966Ž‘ûKÃÏ\xdef\splineedges@{\splineedges@\the\splinelength@;\the\splineval@,}%ŽŽ¡‘ãŒÃ2967Ž‘õŒÏ\splinetrace@{found–¿ªedge:“\splineedges@}}ŽŽ¦‘ãŒÃ2969Ž‘õŒÏ\xydef@\splineRecordEndValue@{%ŽŽ¡‘ãŒÃ2970Ž‘ûKÃÏ\ifx\unknown\segmentnum@\relaxŽŽ¡‘ãŒÃ2971Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ2972Ž‘ mÏ\getcrvsegsnum@ŽŽ¡‘ãŒÃ2973Ž‘ mÏ\dimen@=\splineval@–¿ª\advance\dimen@“\count@\p@ŽŽ¡‘ãŒÃ2974Ž‘ mÏ\advance\dimen@-\segmentnum@\p@‘¿ª\dimen@nth\count@\dimen@ŽŽ¡‘ãŒÃ2975Ž‘ mÏ\global\splineval@=\dimen@ŽŽ¡‘ãŒÃ2976Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ2977Ž‘ûKÃÏ\xdef\splineedges@{\splineedges@\the\splinelength@;\the\splineval@,}%ŽŽ¡‘ãŒÃ2978Ž‘õŒÏ\splinetrace@{found–¿ªedge:“\splineedges@}}ŽŽ¦‘ãŒÃ2980Ž‘õŒÏ\xydef@\splineRecordBreakValue@{%ŽŽ¡‘ãŒÃ2981Ž‘ûKÃÏ\ifx\unknown\segmentnum@\relaxŽŽ¡‘ãŒÃ2982Ž‘ûKÃÏ\else\expandafter\advance\expandafter\splineval@\segmentnum@\p@ŽŽ¡‘ãŒÃ2983Ž‘ mÏ\count@=\segmentnum@\relaxŽŽ¡‘ãŒÃ2984Ž‘ mÏ\ifnum\count@>0–¿ª\advance\splineval@-\p@“\fi\fiŽŽ¡‘ãŒÃ2985Ž‘õŒÏ%‘¿ª\ifx\breakedges@\relax\relax\else\ifx\breakedges@\empty\elseŽŽ¡‘ãŒÃ2986Ž‘õŒÏ%‘ T\ifdim\splineval@<\p@\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ2987Ž‘õŒÏ%Ž‘#‰i\expandafter\testbreakedges@\breakedges@‘¿ª@%ŽŽ¡‘ãŒÃ2988Ž‘õŒÏ%‘ T\fi\fi\fi\fiŽŽ¡‘ãŒÃ2989Ž‘ûKÃÏ\xdef\breakedges@{\breakedges@\the\splinelength@;\the\splineval@,}%ŽŽŽŽŒ‹¥ –É Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй165ŽŽ ¶?? ýh«w‘ãŒÃ2990Ž‘ûKÃÏ\global\let\spline@end=\egroupŽŽ¤ ™š‘ãŒÃ2991Ž‘õŒÏ\splinetrace@{found–¿ªbreak“edge:“\breakedges@}}ŽŽ©Pˆ‘ãŒÃ2993Ž‘õŒÏ\xydef@\splineRecordEndBreakValue@{%ŽŽ¡‘ãŒÃ2994Ž‘ûKÃÏ\ifx\unknown\segmentnum@\relaxŽŽ¡‘ãŒÃ2995Ž‘ûKÃÏ\else\count@=\segmentnum@\relax‘¿ª\ifnum\count@=\z@ŽŽ¡‘ãŒÃ2996Ž‘ mÏ\else‘¿ª\getcrvsegsnum@ŽŽ¡‘ãŒÃ2997Ž‘ËÏ\count@@=\count@‘¿ª\advance\count@@-\segmentnum@\relaxŽŽ¡‘ãŒÃ2998Ž‘ËÏ\dimen@=\splineval@–¿ª\advance\dimen@“\count@@\p@ŽŽ¡‘ãŒÃ2999Ž‘ËÏ\dimen@nth\count@\dimen@ŽŽ¡‘ãŒÃ3000Ž‘ËÏ\global\splineval@=\dimen@ŽŽ¡‘ãŒÃ3001Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ3002Ž‘õŒÏ%–¿ª\multiply\splineval@\m@ne“\advance\splineval@\p@“%“<----------‘ T!!!ŽŽ¡‘ãŒÃ3003Ž‘ûKÃÏ\ifdim\splineval@<\z@–¿ª\relax\splineval@=\z@“\fiŽŽ¡‘ãŒÃ3004Ž‘ûKÃÏ\ifx\breakedges@\relax\relax\else\ifx\breakedges@\empty\elseŽŽ¡‘ãŒÃ3005Ž‘ mÏ\ifdim\splineval@<\p@\relax‘¿ª\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ3006Ž‘#‰iÏ\expandafter\testbreakedges@\breakedges@‘¿ª@%ŽŽ¡‘ãŒÃ3007Ž‘ mÏ\fi\fi\fi\fiŽŽ¡‘ãŒÃ3008Ž‘ûKÃÏ\xdef\breakedges@{\breakedges@\the\splinelength@;\the\splineval@,}%ŽŽ¡‘ãŒÃ3009Ž‘ûKÃÏ\global\let\spline@end=\egroupŽŽ¡‘ãŒÃ3010Ž‘õŒÏ\splinetrace@{found–¿ªbreak“edge:“\breakedges@}}ŽŽ¦‘ãŒÃ3012Ž‘õŒÏ\xydef@\testbreakedges@#1;#2,#3@{\bgroup‘¿ª\dimen@=#2\relaxŽŽ¡‘ãŒÃ3013Ž‘ûKÃÏ\advance\dimen@\splineval@‘¿ª\advance\dimen@-\p@ŽŽ¡‘ãŒÃ3014Ž‘õŒÏ\splinetrace@{testbreak:‘¿ª#1;#2,#3@‘ T\the\splineval@::\the\dimen@}%ŽŽ¡‘ãŒÃ3015Ž‘ûKÃÏ\DN@{\egroup}\ifdim\dimen@>\z@ŽŽ¡‘ãŒÃ3016Ž‘ mÏ\edef\next@{\egroup\def\noexpand\breakedges@{#1;1pt,#3}}%ŽŽ¡‘ãŒÃ3017Ž‘ûKÃÏ\else\ifdim\zz@\dimen@ŽŽ¡‘ãŒÃ3018Ž‘ mÏ\edef\next@{\egroup\def\noexpand\breakedges@{#1;1pt,#3}}%ŽŽ¡‘ãŒÃ3019Ž‘ûKÃÏ\fi–¿ª\fi“\next@“}ŽŽ¦‘ãŒÃ3021Ž‘õŒÏ\xydef@\splineRecordBreakEValue{%ŽŽ¡‘ãŒÃ3022Ž‘ûKÃÏ\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ3023Ž‘ mÏ\splineval@=-\splineval@–¿ª\advance\splineval@\p@“\fiŽŽ¡‘ãŒÃ3024Ž‘ûKÃÏ\splineRecordBreakValue@‘¿ª}%ŽŽŸ?‘ôŒ¹Use–¦fthe“folloš²!wing“distance“appro˜ximation:ޤˆ(Ÿˆ€‘*l:Ädist– §¹=“Ÿî©«(ŽŸøœ¸‘ ìÄdX‘Jä¹+‘nìÄ:¹5Äd–›»Y‘7w=dX‘Ûød“YŽ’†° ¹if‘¦fÄd–›»Y‘7w=dX‘Ûød“Y‘y–<‘ §¹(Ÿö÷7ÇpŽ‘ Ÿö÷7‰p yšŸ ɹ2ŽŽŽ‘‡Ç–nì¹1)“Ç“ÄdXŽŽŸoYŸû«™‘FÂ3ŸùZ,ÈpŽ‘\ŸùZ,‰\)@Ÿ¥ÔÂ2ŽŽŽŽ‘FŸÊ͉fe•dŸPA‘ª°4ŽŽŽŽ‘çÝÄdX‘Jä¹+Ÿû«™‘¢ŸùZ,ÈpŽ‘ ·{ŸùZ,‰\)@Ÿ¥ÔÂ2ŽŽŽ‘¢ŸÊ͉fe U`ŸPA‘Š®4ŽŽŽŽ‘*²Äd–›»Y‘7w=dX‘Ûød“YŽ’†° ¹if‘¦f(Ÿö÷7ÇpŽ‘ Ÿö÷7‰p yšŸ ɹ2ŽŽŽ‘‡Ç–nì¹1)“Ç“ÄdX‘æŸ<› §d–›»Y‘7w=dX‘Ûød“Y‘y–<˜dXŽŽŽŽŽŸ Ú‘㌹and–¦fsimilarly‘ÿe,“in•²!terc“hanging–¦fÄd››»Y‘U¹and“ÄdX‘‚^¹when“Äd˜Y‘y–>‘ §dX‘Ûø¹.Ž¡‘ôŒŸö÷7ÇpŽ‘ý¬Ÿö÷7‰p yšŸ ɹ2ŽŽŽ‘0[Ç– §¹1Ä:¹41422,›¦f(Ÿö÷7ÇpŽ‘ Ÿö÷7‰p yšŸ ɹ2ŽŽŽ‘™›)Ä=¹2“Ç“¹0Ä:¹70711,˜(Ÿö÷7ÇpŽ‘ Ÿö÷7‰p yšŸ ɹ2ŽŽŽ‘™›)Ä=¹4“Ç“¹0Ä:¹353555,˜3(Ÿö÷7ÇpŽ‘ Ÿö÷7‰p yšŸ ɹ2ŽŽŽ‘™›)Ä=¹4“Ç“¹1Ä:¹060665ަ‘ãŒÃ3045Ž‘õŒÏ\xydef@\xydist@#1#2{\ifdim#1>#2\relaxŽŽ¤ ™š‘ãŒÃ3046Ž‘ mÏ\quotient@@\tmp@#2#1\expandafter\dimen@ii\tmp@#2\relaxŽŽ¡‘ãŒÃ3047Ž‘ mÏ\ifdim\dimen@ii>.41422#1\relaxŽŽ¡‘ãŒÃ3048Ž‘ËÏ\dimen@=1.060665#1\advance\dimen@‘¿ª.353555\dimen@ii\relaxŽŽ¡‘ãŒÃ3049Ž‘ mÏ\else‘¿ª\dimen@=#1\advance\dimen@.5\dimen@ii\fiŽŽ¡‘ãŒÃ3050Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ3051Ž‘ mÏ\quotient@@\tmp@#1#2\expandafter\dimen@ii\tmp@#1\relaxŽŽ¡‘ãŒÃ3052Ž‘ mÏ\ifdim\dimen@ii>.41422#2\relaxŽŽ¡‘ãŒÃ3053Ž‘ËÏ\dimen@=1.060665#2\advance\dimen@‘¿ª.353555\dimen@ii\relaxŽŽŽŽŒ‹¦ ¢¡ Á à ý*tj‘㌹166’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3054Ž‘ mÏ\else‘¿ª\dimen@=#2\advance\dimen@.5\dimen@ii\fiŽŽ¤ ™š‘ãŒÃ3055Ž‘ûKÃÏ\fi}ŽŽ©v‘ãŒÃ3059Ž‘õŒÏ\xydef@\splineDadvance@{\splineadvance@@ŽŽ¡‘ãŒÃ3060Ž‘ mÏ\expandafter\splineDadvance@@\splineDadvance@@@}ŽŽ¡‘ãŒÃ3061Ž‘õŒÏ\xydef@\splineDadvance@@#1#2#3#4{%ŽŽ¡‘ãŒÃ3062Ž‘ûKÃÏ{\d@X=#1\advance\d@X-#2\ifdim\d@X<\z@‘¿ª\d@X=-\d@X\fiŽŽ¡‘ãŒÃ3063Ž‘ mÏ\d@Y=#3\advance\d@Y-#4\ifdim\d@Y<\z@‘¿ª\d@Y=-\d@Y\fiŽŽ¡‘ãŒÃ3064Ž‘ûKÃÏ\xydist@\d@X\d@YŽŽ¡‘ãŒÃ3065Ž‘ûKÃÏ\global\advance\splinelength@\dimen@ŽŽ¡‘ãŒÃ3066Ž‘õŒÏ\splinetrace@{d=(\the\d@X,\the\d@Y):–¿ªv=\the\splineval@:“l=\the\splinelength@}%ŽŽ¡‘ãŒÃ3067Ž‘õŒÏ}}ŽŽ¦‘ãŒÃ3071Ž‘õŒÏ\xydef@\spline@end@{\lastsplinepoint@–¿ª\egroup“\egroupŽŽ¡‘ãŒÃ3072Ž‘ûKÃÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wdz@=\z@“\boxz@}%ŽŽ¡‘ãŒÃ3073Ž‘õŒÏ\gdef\splinetest@{\splineplot@true}ŽŽ¡‘ãŒÃ3074Ž‘õŒÏ\xydef@\spline@end@@{\egroup‘¿ª\egroup}ŽŽŸGæ‘ôŒ¹...v‘ÿdDalue–¦ffor“Ï\splinerec@Ž‘F‰¹for“the“fast“ nd...Ž©Pˆ‘ãŒÃ3081Ž‘õŒÏ\xydef@\splinefrec@{{%ŽŽ¡‘ãŒÃ3082Ž‘ûKÃÏ\advance\splineval@\splinedepth@ŽŽ¡‘ãŒÃ3083Ž‘õŒÏ\splinetrace@{F:(\the\X@p,\the\Y@p);(\the\X@c,\the\Y@c);;ŽŽ¡‘ãŒÃ3084Ž‘õŒÏ\the\splineval@;\the\splinedepth@}%ŽŽ¡‘ãŒÃ3085Ž‘ûKÃÏ\ifdim\dimen5=\splineval@‘¿ª\aftergroup\splinefinishf@ŽŽ¡‘ãŒÃ3086Ž‘ûKÃÏ\else‘¿ª\dimen@=\dimen5\advance\dimen@-\splineval@ŽŽ¡‘ãŒÃ3087Ž‘ mÏ\ifdim\dimen@<\z@–¿ª\dimen@=-\dimen@“\fiŽŽ¡‘ãŒÃ3088Ž‘ mÏ\ifdim\dimen@<.0001\p@‘¿ª\aftergroup\splinefinishf@ŽŽ¡‘ãŒÃ3089Ž‘ mÏ\elseŽŽ¡‘ãŒÃ3090Ž‘ËÏ\ifdim\dimen5<\splineval@\aftergroup\splinedecast@@ŽŽ¡‘ãŒÃ3091Ž‘ËÏ\else‘¿ª\aftergroup\splineadvance@ŽŽ¡‘ãŒÃ3092Ž‘ûKÃÏ\fi\fi\fi}}ŽŽ¦‘ãŒÃ3094Ž‘õŒÏ\xydef@\splinefinishf@{\global\advance\splineval@\splinedepth@ŽŽ¡‘ãŒÃ3095Ž‘ûKÃÏ\splinefinish@}%ŽŽŸGæ‘ôŒ¹The–”1macro“Ï\spline@find#1#2Ž‘c#¹attempts“to“ nds“a“spšMÞeci c“p˜oinš²!t“on“a“single“spline“segmen˜t.‘×ËÏ#1Ž‘ëP¹isŽ¡‘ãŒthe–êŒparameter“v‘ÿdDalue,‘û–in“the“range“[0,1]“on“that“segmenš²!t;‘  Ï#2Ž‘v€¹is“a“Çh¹dimenÇi“¹denoting“ho˜w“m˜uc˜h“furtherŽ¡‘ãŒto–eslide“along“the“segmenš²!t.‘÷ÙIt“really“only“c˜hec˜ks“whether“Ï#2Ž‘ˆ¹has“a“negativ˜e“v‘ÿdDalue“bMÞefore“passing“theŽ¡‘ãŒinformation–¦fto“Ï\spline@@find#1#2Ž‘e`°¹,“whicš²!h“doMÞes“the“actual“searc˜h.ŽŸø‘ôŒIf‘›£Ï#2Ž‘¶š¹is–›£negativš²!e“then“the“spline“segmen˜t“is“searc˜hed“in“the“rev˜erse“direction,‘Ðýstarting“at“its“endpMÞoin˜t.Ž¡‘ãŒThis–"is“done“bš²!y“rev˜ersing“the“order“of“the“con˜trol“pMÞoin˜ts,‘<’hence“the“parameter“v‘ÿdDalue“found“as“Äx“¹impliesŽ¡‘ãŒthat– ’wš²!e“really“w˜an˜t“1–5EÇ“Äx– ’¹on“the“un-rev˜ersed“segmen˜t.‘©—Similarly“the“resulting“v‘ÿdDaules“for“Ï\d@XŽ‘̹and“Ï\d@YŽŽ¡‘㌹mš²!ust–Œ°bMÞe“negated.‘ÕKThe“instructions“to“do“this“are“loaded“in˜to“a“macro“Ï\postfind@Ž‘@–¹whic˜h“is“expandedŽ¡‘ãŒonce–¦fthe“searcš²!h“has“bMÞeen“completed.‘ÝÝF‘ÿeor“an“unrev˜ersed“segmen˜t“Ï\postfind@Ž‘@Ép¹expands“to“Ï{}Ž‘%º¹.ަ‘ãŒÃ3115Ž‘õŒÏ\xydef@\spline@find#1#2#3{%ŽŽ¡‘ãŒÃ3116Ž‘õŒÏ\splinetrace@{spline@find–¿ª#1“#2“#3}%ŽŽ¡‘ãŒÃ3117Ž‘ûKÃÏ\readsplineparams@ŽŽ¡‘ãŒÃ3118Ž‘ûKÃÏ\global\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ3119Ž‘ûKÃÏ\global\let\splinegoal@=\splinef@ptŽŽ¡‘ãŒÃ3120Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ3121Ž‘ûKÃÏ\dimen@=#1\relax\dimen@ii=#2\relaxŽŽŽŽŒ‹§ °Î Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй167ŽŽ ¶?? ýh«w‘ãŒÃ3122Ž‘ûKÃÏ\ifdim\dimen@ii=\z@‘¿ª\def\postfind@{}%ŽŽ¤ ™š‘ãŒÃ3123Ž‘ûKÃÏ\else\def\postfind@{}%ŽŽ¡‘ãŒÃ3124Ž‘ mÏ\ifdim\dimen@ii<\z@‘¿ª\splinereverse@ŽŽ¡‘ãŒÃ3125Ž‘ËÏ\readsplineparams@ŽŽ¡‘ãŒÃ3126Ž‘õŒÏ\splinetrace@{reverse–¿ªorientation:“(\the\X@p,\the\Y@p),(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ3127Ž‘ËÏ\dimen@=#1\relax\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ3128Ž‘ËÏ\multiply\dimen@\m@ne–¿ª\advance\dimen@\p@“\multiply\dimen@ii\m@neŽŽ¡‘ãŒÃ3129Ž‘ËÏ\def\postfind@{\d@X=-\the\d@X–¿ª\d@Y=-\the\d@Y“\noexpand\reversesplineval@}%ŽŽ¡‘ãŒÃ3130Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ3131Ž‘ûKÃÏ\expandafter\splinetrace@\expandafter{\xysplineparams@}%ŽŽ¡‘ãŒÃ3132Ž‘ mÏ\edef\next@{\noexpand\spline@@find{\the\dimen@}{\the\dimen@ii}{#3}}%ŽŽ¡‘ãŒÃ3133Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸPˆ‘ãŒÃ3135Ž‘õŒÏ\xydef@\reversesplineval@{\splineval@=-\splineval@–¿ª\advance\splineval@\p@“}ŽŽŸv‘ãŒÃ3141Ž‘õŒÏ\xydef@\spline@@find#1#2#3{%ŽŽ¡‘ãŒÃ3142Ž‘õŒÏ\splinetrace@{spline@@find–¿ª#1“#2“#3}%ŽŽ¡‘ãŒÃ3143Ž‘ mÏ\let\splinerec@=\splinefrec@ŽŽ¡‘ãŒÃ3144Ž‘ mÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ3145Ž‘ mÏ\dimen5=#1\relaxŽŽ¡‘ãŒÃ3146Ž‘ mÏ\ifdim‘¿ª#2=\z@\relaxŽŽ¡‘ãŒÃ3147Ž‘ËÏ\ifdim–¿ª#1=\z@\relax“\bgroupŽŽ¡‘ãŒÃ3148Ž‘ ŠÁÏ\let\splined@@=\spline@@knotŽŽ¡‘ãŒÃ3149Ž‘ ŠÁÏ\global\splineval@=\m@ne\p@ŽŽ¡‘ãŒÃ3150Ž‘ËÏ\else\ifdim–¿ª#1=\p@\relax“\bgroupŽŽ¡‘ãŒÃ3151Ž‘JkÏ\let\splined@@=\spline@@knotŽŽ¡‘ãŒÃ3152Ž‘JkÏ\global\splineval@=\z@ŽŽ¡‘ãŒÃ3153Ž‘ËÏ\elseŽŽ¡‘ãŒÃ3154Ž‘ ŠÁÏ\global\splineval@=\z@ŽŽ¡‘ãŒÃ3155Ž‘ ŠÁÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ3156Ž‘ ŠÁÏ\DN@{#3}\ifx\next@\empty‘¿ª\setsplinetest@\splineval@>{#1}{}%ŽŽ¡‘ãŒÃ3157Ž‘ Ï{{\ifdim\splineval@=\dimen5\aftergroup\splineplot@false\fi}}%ŽŽ¡‘ãŒÃ3158Ž‘ ŠÁÏ\else\DNii@{>}\ifx\next@\nextii@ŽŽ¡‘ãŒÃ3159Ž‘JkÏ\setsplineundertest@\splineval@>{#1}{}{}%ŽŽ¡‘ãŒÃ3160Ž‘JkÏ\let\splinerec@=\splineBSrec@ŽŽ¡‘ãŒÃ3161Ž‘ ŠÁÏ\else\DNii@{<}\ifx\next@\nextii@ŽŽ¡‘ãŒÃ3162Ž‘JkÏ\setsplineundertest@\splineval@>{#1}{}{}%ŽŽ¡‘ãŒÃ3163Ž‘JkÏ\let\splinerec@=\splineBErec@ŽŽ¡‘ãŒÃ3164Ž‘ ŠÁÏ\else\xywarning@{unknown–¿ªfind-mode:“#3}\fi\fi\fiŽŽ¡‘ãŒÃ3165Ž‘ËÏ\fi\fiŽŽ¡‘ãŒÃ3166Ž‘ mÏ\elseŽŽ¡‘ãŒÃ3167Ž‘ËÏ\global\splineval@=\z@ŽŽ¡‘ãŒÃ3168Ž‘ËÏ\def\splineslidetest@@{%ŽŽ¡‘ãŒÃ3169Ž‘ ŠÁÏ\setsplinetest@\splinelength@<{#2}{}{}}%ŽŽ¡‘ãŒÃ3170Ž‘ËÏ\let\splinefinish@=\splinefcontinue@ŽŽ¡‘ãŒÃ3171Ž‘ mÏ\fiŽŽ¡‘ãŒÃ3172Ž‘ mÏ\let\spline@end=\splinef@endŽŽ¡‘ãŒÃ3173Ž‘ mÏ\let\splinepoint@=\relaxŽŽ¡‘ãŒÃ3174Ž‘ mÏ\splinelength@=\z@ŽŽ¡‘ãŒÃ3175Ž‘ mÏ\def\spline@start{\bgroup\xylowtolerance@}%ŽŽŽŽŒ‹¨ ¾C Á à ý*tj‘㌹168’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3176Ž‘ mÏ\splined@@‘¿ª}ŽŽ©Pˆ‘ãŒÃ3178Ž‘õŒÏ\xydef@\spline@@knot{%ŽŽ¤ ™š‘ãŒÃ3179Ž‘ûKÃÏ\let\setsplinedir@=\setsplineknotdir@ŽŽ¡‘ãŒÃ3180Ž‘ûKÃÏ\splinesetparams@\spline@startŽŽ¡‘ãŒÃ3181Ž‘õŒÏ%‘¿ª\global\splinedepth@=\p@ŽŽ¡‘ãŒÃ3182Ž‘ûKÃÏ\splinedepth@=\p@ŽŽ¡‘ãŒÃ3183Ž‘ûKÃÏ\global\dimen@i=\X@p‘¿ª\global\dimen3=\Y@pŽŽ¡‘ãŒÃ3184Ž‘ûKÃÏ\splinefinishf@–¿ª\spline@end“\egroup“}ŽŽ¦‘ãŒÃ3186Ž‘õŒÏ\xydef@\splinefcontinue@{%ŽŽ¡‘ãŒÃ3187Ž‘õŒÏ\splinetrace@{sliding...–¿ªfrom“(\the\X@c,\the\Y@c):“val=\the\splineval@“}%ŽŽ¡‘ãŒÃ3188Ž‘ûKÃÏ\global\let\splinerec@=\splinerec@@ŽŽ¡‘ãŒÃ3189Ž‘ûKÃÏ\global\splinelength@=\z@ŽŽ¡‘ãŒÃ3190Ž‘ûKÃÏ\global\splineval@=\splineval@ŽŽ¡‘ãŒÃ3191Ž‘ûKÃÏ\global\let\splinepoint=\splinefindtest@ŽŽ¡‘ãŒÃ3192Ž‘ûKÃÏ\global\let\splinegoal@=\splinef@ptŽŽ¡‘ãŒÃ3193Ž‘ûKÃÏ\global\let\splineadvance@=\splineDadvance@ŽŽ¡‘ãŒÃ3194Ž‘ûKÃÏ\global\let\splinefinish@=\splinefinish@@ŽŽ¡‘ãŒÃ3195Ž‘ûKÃÏ\splineslidetest@@ŽŽ¡‘ãŒÃ3196Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ3198Ž‘õŒÏ\xydef@\splinefindtest@{%ŽŽ¡‘ãŒÃ3199Ž‘õŒÏ\splinetrace@{SFT–¿ª(\the\X@c,\the\Y@c);“\the\splinelength@,“\the\splineval@}%ŽŽ¡‘ãŒÃ3200Ž‘ûKÃÏ{\splineplot@false\splinetest@ŽŽ¡‘ãŒÃ3201Ž‘ mÏ\ifsplineplot@\expandafter\splinefinishf@\fi}}ŽŽ¦‘ãŒÃ3203Ž‘õŒÏ\def\setsplineundertest@#1#2#3#4#5{%ŽŽ¡‘ãŒÃ3204Ž‘õŒÏ\splinetrace@{setsplineundertest@:‘¿ª#1,#2,#3,#4,#5,}%ŽŽ¡‘ãŒÃ3205Ž‘ûKÃÏ\DNii@{\gdef\splinetest@}%ŽŽ¡‘ãŒÃ3206Ž‘ûKÃÏ\DN@##1\next{\def\tmp@{{\splineplot@falseŽŽ¡‘ãŒÃ3207Ž‘ mÏ\ifdim#1#2##1\relax–¿ª#4\else\splineplot@true#5\fi“}}}%ŽŽ¡‘ãŒÃ3208Ž‘ûKÃÏ\next@#3\relax\nextŽŽ¡‘ãŒÃ3209Ž‘ûKÃÏ\expandafter\nextii@\tmp@‘¿ª}ŽŽ¦‘ãŒÃ3211Ž‘õŒÏ\xydef@\splinef@end{\edef\tmp@{\egroup\splinelength@=\the\splinelength@}\tmp@}ŽŽ¡‘ãŒÃ3212Ž‘õŒÏ\xydef@\splinef@pt{%ŽŽ¡‘ãŒÃ3213Ž‘ mÏ\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ3214Ž‘õŒÏ\splinetrace@{found:‘¿ªval=\the\splineval@;c:(\the\X@c,\the\Y@c)}%ŽŽ¡‘ãŒÃ3215Ž‘ËÏ\global\dimen@i=\X@c‘¿ª\global\dimen3=\Y@cŽŽ¡‘ãŒÃ3216Ž‘ mÏ\elseŽŽ¡‘ãŒÃ3217Ž‘õŒÏ\splinetrace@{found:‘¿ªval=\the\splineval@;p:(\the\X@p,\the\Y@p)}%ŽŽ¡‘ãŒÃ3218Ž‘ mÏ\fiŽŽ¡‘ãŒÃ3219Ž‘ mÏ\setsplinedir@–¿ª\global\dimen5=\d@X“\global\dimen7=\d@YŽŽ¡‘ãŒÃ3220Ž‘ mÏ\global\splineval@=\splineval@ŽŽ¡‘ãŒÃ3221Ž‘ mÏ\aftergroup\splinefocus@‘¿ª}ŽŽŸv‘ãŒÃ3225Ž‘õŒÏ\def\setsplinetest@#1#2#3#4#5{%ŽŽ¡‘ãŒÃ3226Ž‘ûKÃÏ\DNii@{\gdef\splinetest@}%ŽŽ¡‘ãŒÃ3227Ž‘ûKÃÏ\DN@##1\next{\def\tmp@{{\splineplot@false‘¿ª\ifdim#1#2##1\relaxŽŽ¡‘ãŒÃ3228Ž‘ mÏ#4\else\splineplot@true#5\fi}}}%ŽŽ¡‘ãŒÃ3229Ž‘ûKÃÏ\next@#3\relax\nextŽŽ¡‘ãŒÃ3230Ž‘ûKÃÏ\expandafter\nextii@\tmp@‘¿ª}%ŽŽŽŽŒ‹© É" Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй169ŽŽ ¶?? ýh«w‘ãŒÃ3236Ž‘õŒÏ\xydef@\splinefocus@{%ŽŽ© ™š‘ãŒÃ3237Ž‘ûKÃÏ\d@X=\dimen5\relax–¿ª\d@Y=\dimen7\relax“\setsplinedir@“}ŽŽ¤Pˆ‘ãŒÃ3239Ž‘õŒÏ\xydef@\splinesegment@#1{}ŽŽŸ«Ð‘ôŒ¹There–¦fare“some“extra“hoMÞoks.Ž¡‘ãŒÃ3247Ž‘õŒÏ\xydef@\xyprecurve@{}ŽŽ¦‘ãŒÃ3248Ž‘õŒÏ\xydef@\xypostcurve@{}ŽŽŸv‘ãŒÃ3252Ž‘õŒÏ\xydef@\splineset@{%ŽŽ¦‘ãŒÃ3253Ž‘õŒÏ\splinetrace@{splineset@:}%ŽŽ¦‘ãŒÃ3254Ž‘ûKÃÏ\ifx\bstartPLACE@\empty–¿ª%\splinetrace@{invisible“curve}%ŽŽ¦‘ãŒÃ3255Ž‘ mÏ\DN@{\xyprecurve@ŽŽ¦‘ãŒÃ3256Ž‘ËÏ\edef\tmp@{\egroup–¿ª\X@max=\the\X@max“\X@min=\the\X@minŽŽ¦‘ãŒÃ3257Ž‘ ŠÁÏ\Y@max=\the\Y@max–¿ª\Y@min=\the\Y@min}\tmp@“\xypostcurve@“}%ŽŽ¦‘ãŒÃ3258Ž‘ûKÃÏ\elseŽŽ¦‘ãŒÃ3259Ž‘ mÏ\DN@{\xyprecurve@‘¿ª\xysplinespecialcases@ŽŽ¦‘ãŒÃ3260Ž‘ËÏ\edef\tmp@{\egroup–¿ª\X@max=\the\X@max“\X@min=\the\X@minŽŽ¦‘ãŒÃ3261Ž‘ ŠÁÏ\Y@max=\the\Y@max–¿ª\Y@min=\the\Y@min}\tmp@“\xypostcurve@“}%ŽŽ¦‘ãŒÃ3262Ž‘ûKÃÏ\fiŽŽ¦‘ãŒÃ3263Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ«Ð‘ôŒ¹F‘ÿeor–ëáthe“actual“setting,‘=?proš²!vide“hoMÞoks“whic˜h“will“allo˜w“alternativ˜e“bac˜k-ends“to“bMÞe“used“in“theަ‘ãŒspMÞecial‘¦fcases.Ž¡‘ãŒÃ3270Ž‘õŒÏ\xydef@\xysplinespecialcases@{%ŽŽ¦‘ãŒÃ3271Ž‘ûKÃÏ\ifx\empty\xycrvdrop@ŽŽ¦‘ãŒÃ3272Ž‘ mÏ\ifx\empty\xycrvconn@‘¿ª\DN@{\splinesolid@}%ŽŽ¦‘ãŒÃ3273Ž‘ mÏ\else–¿ª\DN@{“\dir{-}}\ifx\next@\xycrvconn@“\DN@{\splinesolid@}%ŽŽ¦‘ãŒÃ3274Ž‘ mÏ\else–¿ª\DN@{“\dir“2{-}}\ifx\next@\xycrvconn@“\DN@{\splinedoubled@}%ŽŽ¦‘ãŒÃ3275Ž‘ mÏ\else–¿ª\DN@{“\dir{=}}\ifx\next@\xycrvconn@“\DN@{\splineribboned@}%ŽŽ¦‘ãŒÃ3276Ž‘ mÏ\else–¿ª\DN@{“\dir“{2.}}\ifx\next@\xycrvconn@“\DN@{\splinedoubled@}%ŽŽ¦‘ãŒÃ3277Ž‘ mÏ\else–¿ª\DN@{“\dir“3{-}}\ifx\next@\xycrvconn@“\DN@{\splinetrebled@}%ŽŽ¦‘ãŒÃ3278Ž‘ mÏ\else–¿ª\DN@{“\dir“{3.}}\ifx\next@\xycrvconn@“\DN@{\splinetrebled@}%ŽŽ¦‘ãŒÃ3279Ž‘ mÏ\else–¿ª\DN@{“\dir{--}}\ifx\next@\xycrvconn@“\DN@{\splinedashed@}%ŽŽ¦‘ãŒÃ3280Ž‘ mÏ\else–¿ª\DN@{“\dir{.}}\ifx\next@\xycrvconn@“\DN@{\splinedotted@}%ŽŽ¦‘ãŒÃ3281Ž‘ mÏ\else–¿ª\DN@{“\dir{:}}\ifx\next@\xycrvconn@“\DN@{\splinedbldotted@}%ŽŽ¦‘ãŒÃ3282Ž‘ mÏ\else–¿ª\ifdim\splinetol@>\z@“\else“\splinedefaulttol@“\fiŽŽ¦‘ãŒÃ3283Ž‘ËÏ\DN@{\splineset@@}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fiŽŽ¦‘ãŒÃ3284Ž‘ûKÃÏ\elseŽŽ¦‘ãŒÃ3285Ž‘ mÏ\DN@{\splineset@@}%ŽŽ¦‘ãŒÃ3286Ž‘ûKÃÏ\fi–¿ª\ifInvisible@\DN@{}\fi“\next@“}ŽŽŸ«Ð‘ôŒ¹The– ~spMÞecial“cases“are“handled“just“likš²!e“the“normal“case“except“Ho˜w˜ev˜er“the“con˜trol“sequence“namesަ‘ãŒproš²!vide–¦fa“place“for“rebinding“to“accomoMÞdate“alternativ˜e“bac˜k-ends.Ž¡‘ãŒÃ3294Ž‘õŒÏ\xydef@\splinesolid@{\setbox\splinebox@=\zerodot–¿ª\def\xycrvdrop@{“}%ŽŽ¦‘ãŒÃ3295Ž‘ûKÃÏ\def\xycrvconn@{}\splineset@@}ŽŽ¡‘ãŒÃ3297Ž‘õŒÏ\xydef@\splinedoubled@{\splinedefaulttol@\def\xycrvdrop@{‘¿ª}\def\splinedrop@{}%ŽŽ¦‘ãŒÃ3298Ž‘ûKÃÏ\def\xycrvconn@{!C\dir2{.}}\splineset@@}ŽŽ¡‘ãŒÃ3300Ž‘õŒÏ\xydef@\splineribboned@{\splinedefaulttol@\def\xycrvdrop@{‘¿ª}\def\splinedrop@{}%ŽŽ¦‘ãŒÃ3301Ž‘ûKÃÏ\def\xycrvconn@{!C\dir{:}}\splineset@@}ŽŽŽŽŒ‹ª Óý Á à ý*tj‘㌹170’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3303Ž‘õŒÏ\xydef@\splinetrebled@{\splinedefaulttol@\def\xycrvdrop@{‘¿ª}\def\splinedrop@{}%ŽŽ¤ ™š‘ãŒÃ3304Ž‘ûKÃÏ\def\xycrvconn@{!C\dir3{.}}\splineset@@}ŽŽ©Pˆ‘ãŒÃ3306Ž‘õŒÏ\xydef@\splinedashed@{\splinetol@=1.5pc–¿ª\def\xycrvdrop@{“}%+=<10pt>[o]{}}%ŽŽ¡‘ãŒÃ3307Ž‘ûKÃÏ\def\splinedrop@{}\edef\xycrvconn@{\noexpand!C\noexpand\dir{\addDASH@{}}}%ŽŽ¡‘ãŒÃ3308Ž‘ûKÃÏ\splineset@@}ŽŽ¦‘ãŒÃ3310Ž‘õŒÏ\xydef@\splinedotted@{\setbox\splinebox@=\zerodot–¿ª\def\xycrvdrop@{“}%ŽŽ¡‘ãŒÃ3311Ž‘ûKÃÏ\splinetol@=1.5\jot‘¿ª\def\xycrvconn@{}\splineset@@}ŽŽ¦‘ãŒÃ3313Ž‘õŒÏ\xydef@\splinedbldotted@{\def\xycrvdrop@{‘¿ª}\def\splinedrop@{}%ŽŽ¡‘ãŒÃ3314Ž‘ûKÃÏ\splinetol@=1.5\jot‘¿ª\def\xycrvconn@{!C\dir{:}}\splineset@@}ŽŽŸÀ‘ôŒ¹This–\“establishes“the“test“appropriate“to“actually“setting“the“spline“curv²!e.‘eGlobal“de nitions“areŽ¡‘ãŒused.‘ÝÝThis–¦fmaš²!y“not“alw˜a˜ys“bMÞe“necessary!!ŽŸR?‘ôŒÔBug:‘Ýݹthe‘¦fÏ7.5ptŽ‘$ ¹bšMÞelo²!w–¦fshould“b˜e“the“Ï\Step@@Ž‘/Šr¹metho˜d“to“b˜e“included.ަ‘ãŒÃ3325Ž‘õŒÏ\xydef@\splineset@@{%ŽŽ¡‘ãŒÃ3326Ž‘ûKÃÏ\readsplineparams@ŽŽ¡‘ãŒÃ3327Ž‘ûKÃÏ\ifx\xycrvdrop@\empty‘¿ª\splinetol@=7.5\p@ŽŽ¡‘ãŒÃ3328Ž‘ mÏ\def\splinedefaulttol@{\splinetol@=7.5\p@}\def\splinedrop@{}%ŽŽ¡‘ãŒÃ3329Ž‘ûKÃÏ\else\edef\splinedefaulttol@{\splinetol@=\the\splinetol@}\fiŽŽ¡‘ãŒÃ3330Ž‘ûKÃÏ\ifx\xycrvconn@\empty‘¿ª\def\splineconn@{}\fiŽŽ¡‘ãŒÃ3331Ž‘õŒÏ\splinetrace@{set–¿ªthe“curve:“>\the\dimen5,“<\the\dimen7}%ŽŽ¡‘ãŒÃ3332Ž‘ûKÃÏ\global\let\splineadvance@=\splineadvance@@ŽŽ¡‘ãŒÃ3333Ž‘ûKÃÏ\let\splinerec@=\splineTrec@ŽŽ¡‘ãŒÃ3334Ž‘ûKÃÏ\def\splineStarttest{\splinetest@}%ŽŽ¡‘ãŒÃ3335Ž‘ûKÃÏ\global\let\splinepoint=\relax‘¿ª%6ŽŽ¡‘ãŒÃ3336Ž‘ûKÃÏ\let\spline@start=\spline@start@ŽŽ¡‘ãŒÃ3337Ž‘ûKÃÏ\let\spline@end=\spline@end@‘¿ª%5ŽŽ¡‘ãŒÃ3338Ž‘ûKÃÏ\ifdim\dimen7=\p@ŽŽ¡‘ãŒÃ3339Ž‘ mÏ\gdef\splinecontinue{\splinesetting@ŽŽ¡‘ãŒÃ3340Ž‘ ŠÁÏ\global\let\splinetest@=\splineplot@true}%ŽŽ¡‘ãŒÃ3341Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ3342Ž‘ mÏ\ifdim\dimen7=\tw@\p@ŽŽ¡‘ãŒÃ3343Ž‘õŒÏ%%‘>þ\ifdim\bendPLACE@\p@=\z@–¿ª\emptyspline@“\elseŽŽ¡‘ãŒÃ3344Ž‘ ŠÁÏ\ifdim\bendPLACE@\p@=\p@‘¿ª%\emptyspline@ŽŽ¡‘ãŒÃ3345Ž‘ËÏ\fi‘¿ª%%\fiŽŽ¡‘ãŒÃ3346Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ3347Ž‘ mÏ\xdef\splinecontinue{\noexpand\setsplinetest@ŽŽ¡‘ãŒÃ3348Ž‘ËÏ\splineval@>{\the\dimen7}{\noexpand\splinebreakcancel@}{}%ŽŽ¡‘ãŒÃ3349Ž‘ËÏ\noexpand\splinesetting@‘¿ª}%ŽŽ¡‘ãŒÃ3350Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ3351Ž‘ûKÃÏ\ifdim\dimen7>\z@‘¿ª\DN@{\splinesetting@\splinecontinue}%ŽŽ¡‘ãŒÃ3352Ž‘ mÏ\ifdim\zz@{\dimen5}%ŽŽ¡‘ãŒÃ3353Ž‘ mÏ\elseŽŽ¡‘ãŒÃ3354Ž‘ËÏ\edef\next@{\noexpand\setsplinetest@ŽŽ¡‘ãŒÃ3355Ž‘JkÏ\splineval@<{\the\dimen5}{}%ŽŽ¡‘ãŒÃ3356Ž‘ ŠÁÏ{\noexpand\expandafter\noexpand\splinecontinue}%ŽŽ¡‘ãŒÃ3357Ž‘JkÏ\noexpand\splinesetting@‘¿ª}%ŽŽ¡‘ãŒÃ3358Ž‘ mÏ\fiŽŽ¡‘ãŒÃ3359Ž‘ûKÃÏ\else\DN@{\dimen5=\p@}\fi‘ T%‘¿ªifdim\dimen7=\z@ŽŽŽŽŒ‹« à_ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй171ŽŽ ¶?? ýh«w‘ãŒÃ3360Ž‘ûKÃÏ\next@ŽŽ¤ ™š‘ãŒÃ3361Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3362Ž‘ûKÃÏ\ifdim\dimen5=\p@\DN@{}\else\DN@{\splined@@}\fi‘¿ª\next@ŽŽ¡‘ãŒÃ3363Ž‘ûKÃÏ}ŽŽ©Pˆ‘ãŒÃ3365Ž‘õŒÏ\xydef@\emptyspline@{\xywarning@{empty–¿ªcurve“subsegment}%ŽŽ¡‘ãŒÃ3366Ž‘õŒÏ\splinetrace@{bstartPLACE@=\bstartPLACE@,‘¿ªbendPLACE@=\bendPLACE@,ŽŽ¡‘ãŒÃ3367Ž‘ mÏempty‘¿ªsegment}%ŽŽ¡‘ãŒÃ3368Ž‘ËÏ\gdef\splinecontinue{\splinesetting@ŽŽ¡‘ãŒÃ3369Ž‘ ŠÁÏ\global\let\splinetest@=\splineplot@falseŽŽ¡‘ãŒÃ3370Ž‘ ŠÁÏ\global\dimen5=\z@‘¿ª}}ŽŽŸÚ5‘ôŒ\splineTrec@Ž‘<裹is–`’the“initial“v‘ÿdDalue“for“Ï\splinerec@Ž‘Eýr¹when“a“spline“is“bMÞeing“set.‘Æ–It“descends“the“treeŽ¡‘ãŒof–V…places“on“the“spline“(1)“unš²!til“the“required“parameter“v‘ÿdDalue“is“found“(2a)“or“is“sucien˜tly“close“(2b).Ž¡‘ãŒAš²!t–¢²this“pMÞoin˜t“call“Ï\splinesetting@Ž›_€Z¹and“Ï\splinecontinueŽ˜¹to“setup,›áÄand“proMÞceed“with,˜the“actualŽ¡‘ãŒt²!ypMÞe-setting.ަ‘ãŒÃ3380Ž‘õŒÏ\xydef@\splineTrec@{{%ŽŽ¡‘ãŒÃ3381Ž‘ûKÃÏ\advance\splineval@\splinedepth@’‰÷ð%‘¿ª(1)ŽŽ¡‘ãŒÃ3382Ž‘ûKÃÏ\ifdim\dimen5=\splineval@’²5–%‘¿ª(2a)ŽŽ¡‘ãŒÃ3383Ž‘ mÏ\aftergroup\splinecontinue‘ T%‘¿ª(3)ŽŽ¡‘ãŒÃ3384Ž‘ûKÃÏ\else‘¿ª\dimen@=\dimen5\advance\dimen@-\splineval@ŽŽ¡‘ãŒÃ3385Ž‘ mÏ\ifdim\dimen@<\z@–¿ª\dimen@=-\dimen@“\fiŽŽ¡‘ãŒÃ3386Ž‘ mÏ\ifdim\dimen@<.001\p@‘ T%–¿ªpossibly“too“high“?‘?þ\splineEndtest@‘¿ª\ifsplineplot@ŽŽ¡‘ãŒÃ3421Ž‘ËÏ\DN@{\dosplineplotpt@}%ŽŽ¡‘ãŒÃ3422Ž‘õŒÏ%‘ T\fi\fiŽŽ¡‘ãŒÃ3423Ž‘ûKÃÏ\fi–¿ª\next@“\global\dimen@i=\X@c“\global\dimen3=\Y@c“}}ŽŽŽŽŒ‹¬ ì: Á à ý*tj‘㌹172’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3425Ž‘õŒÏ\xydef@\splineglue@{\hglue-\dimen@iŽŽ¤ ™š‘ãŒÃ3426Ž‘õŒÏ\splinetrace@{N:(\the\X@c,\the\Y@c);;\the\dimen@i;\the\dimen3%ŽŽ¡‘ãŒÃ3427Ž‘ËÏ,\the\splinelength@,\the\splineval@,\the\splinedepth@}}ŽŽ©Pˆ‘ãŒÃ3429Ž‘õŒÏ\xydef@\dosplineplotpt@{\ifdim\dimen@i<\z@ŽŽ¡‘ãŒÃ3430Ž‘ËÏ\raise\Y@c\hbox‘¿ªto-\dimen@i{\hfill\splinedrop@}%ŽŽ¡‘ãŒÃ3431Ž‘ mÏ\else‘¿ª\kern-\dimen@i\raise\Y@c\hbox{\splinedrop@}\fiŽŽ¡‘ãŒÃ3432Ž‘ËÏ\ifx\splineconn@\relax\else\raise\Y@c\hbox{%ŽŽ¡‘ãŒÃ3433Ž‘ ŠÁÏ\setboxz@h{\splineconn@}\Drop@@}\fiŽŽ¡‘ãŒÃ3434Ž‘õŒÏ\splinetrace@{P:(\the\X@c,\the\Y@c);;\the\dimen@i;\the\dimen3ŽŽ¡‘ãŒÃ3435Ž‘ËÏ,\the\splinelength@,\the\splineval@,\the\splinedepth@}}ŽŽŸ3úæ‘ôŒ¹These–¦fhandle“the“\cleaning“up"“after“a“pMÞoinš²!t“on“the“curv˜e“has“bšMÞeen“lo˜cated.ަ‘ãŒÃ3441Ž‘õŒÏ\xydef@\splinefinish@@{\postspline@–¿ª\splinegoal@“\splinecancel@“}ŽŽ¦‘ãŒÃ3443Ž‘õŒÏ\xydef@\splinecancel@{%ŽŽ¡‘ãŒÃ3444Ž‘ûKÃÏ\global\let\splinerec@=\relaxŽŽ¡‘ãŒÃ3445Ž‘ûKÃÏ\global\let\splinepoint=\relaxŽŽ¡‘ãŒÃ3446Ž‘ûKÃÏ\global\let\splinecontinue=\relaxŽŽ¡‘ãŒÃ3447Ž‘õŒÏ%‘¿ª\global\let\splinedecast@@=\relaxŽŽ¡‘ãŒÃ3448Ž‘ûKÃÏ\global\let\splinedecast@=\relaxŽŽ¡‘ãŒÃ3449Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ3451Ž‘õŒÏ\xydef@\splinebreakcancel@{\bsplinecancel@‘¿ª\splinecancel@}ŽŽ¡‘ãŒÃ3452Ž‘õŒÏ\xydef@\bsplinecancel@{\gdef\lastbspline@{\leave@\leave@}%ŽŽ¡‘ãŒÃ3453Ž‘ûKÃÏ\global\let\middlebspline@=\lastbspline@‘¿ª}ŽŽ¦‘ãŒÃ3455Ž‘õŒÏ\xydef@\splinegoal@{\ifdim\splineval@>\z@ŽŽ¡‘ãŒÃ3456Ž‘ mÏ\global\dimen@i=\X@c–¿ª\global\dimen3=\Y@c“\fiŽŽ¡‘ãŒÃ3457Ž‘ûKÃÏ\global\splineval@=\splineval@‘¿ª\global\splinelength@=\splinelength@ŽŽ¡‘ãŒÃ3458Ž‘õŒÏ%–¿ª\setsplineTangent@“}ŽŽ¡‘ãŒÃ3459Ž‘ûKÃÏ\splinesetdir@‘¿ª}ŽŽ¦‘ãŒÃ3461Ž‘õŒÏ\xylet@\splinefinish@\splinefinish@@ŽŽ¡‘ãŒÃ3462Ž‘õŒÏ\xylet@\splinewhich\splineDwhich@ŽŽ¦‘ãŒÃ3464Ž‘õŒÏ\xydef@\squinewhich@{%ŽŽ¡‘ãŒÃ3465Ž‘ûKÃÏ\ifdim\dimen5>\squinelength–¿ª%“\X@c=\L@c“\Y@c=\D@cŽŽ¡‘ãŒÃ3466Ž‘ûKÃÏ\d@X=\X@c–¿ª\d@Y=\Y@c“\advance\d@X-\L@c“\advance\d@Y-\U@cŽŽ¡‘ãŒÃ3467Ž‘ûKÃÏ\advance\squineval-\squinedepthŽŽ¡‘ãŒÃ3468Ž‘ûKÃÏ\else–¿ª\X@c=\X@p“\Y@c=\Y@p“\advance\squineval-\squinedepthŽŽ¡‘ãŒÃ3469Ž‘ûKÃÏ\d@X=\L@c–¿ª\d@Y=\U@c“\advance\d@X-\X@p“\advance\d@Y-\Y@p“\fiŽŽ¡‘ãŒÃ3470Ž‘ûKÃÏ\d@X=-\d@X–¿ª\d@Y=-\d@Y“%%%“hack“which“works.ŽŽ¡‘ãŒÃ3471Ž‘ûKÃÏ\squinefinish}ŽŽ¡‘ãŒÃ3472Ž‘õŒÏ\xydef@\squineDwhich@{%ŽŽ¡‘ãŒÃ3473Ž‘ûKÃÏ\ifdim\dimen5>\squinelength–¿ª%“\X@c=\L@c“\Y@c=\D@cŽŽ¡‘ãŒÃ3474Ž‘ûKÃÏ\d@X=\X@c–¿ª\d@Y=\Y@c“\advance\d@X-\L@c“\advance\d@Y-\U@cŽŽ¡‘ãŒÃ3475Ž‘ûKÃÏ\else–¿ª\X@c=\X@p“\Y@c=\Y@p“\advance\squineval-\squinedepthŽŽ¡‘ãŒÃ3476Ž‘ûKÃÏ\d@X=\L@c–¿ª\d@Y=\U@c“\advance\d@X-\X@p“\advance\d@Y-\Y@p“\fiŽŽ¡‘ãŒÃ3477Ž‘ûKÃÏ\d@X=-\d@X–¿ª\d@Y=-\d@Y“%%%“hack“which“works.ŽŽ¡‘ãŒÃ3478Ž‘ûKÃÏ\squinefinish}ŽŽŽŽŒ‹­ øå Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй173ŽŽ ¶?? ýh«w‘ãŒÔB¼×‘ù÷Uezier–2quadratic“splines“|“squinesŽŸÙZ‘ãŒÃ3488Ž‘õŒÏ\xydef@\xyquadbezier@{%ŽŽ¤ ™š‘ãŒÃ3489Ž‘ûKÃÏ\global\let\splinerec@=\relaxŽŽ¡‘ãŒÃ3490Ž‘ mÏ\addtocrvpts@{\def\crvconnect@{\squineconnect@}}%ŽŽ¡‘ãŒÃ3491Ž‘ mÏ\xyquadmethods@‘¿ª\let\splinesegment@=\squinesegment@ŽŽ¡‘ãŒÃ3492Ž‘ mÏ\begingroup\setcrvobjects@–¿ª\xysplineparams@“\splined@@@ŽŽ¡‘ãŒÃ3493Ž‘ mÏ\bgroup–¿ª\setupsquine@“\squined@“\splineset@“\savespline@“}ŽŽ©Pˆ‘ãŒÃ3495Ž‘õŒÏ\xydef@\xyquadmethods@{%ŽŽ¡‘ãŒÃ3496Ž‘ mÏ\def\crvconnect@{\squineconnect@}%ŽŽ¡‘ãŒÃ3497Ž‘ mÏ\def\splinereverse@@{\splinereverse@@@}%ŽŽ¡‘ãŒÃ3498Ž‘ mÏ\let\getsplineparams@=\getsquineparams@ŽŽ¡‘ãŒÃ3499Ž‘ mÏ\let\spline@start@=\squine@start@ŽŽ¡‘ãŒÃ3500Ž‘ mÏ\let\splinedecast@@=\squinedecast@ŽŽ¡‘ãŒÃ3501Ž‘ mÏ\let\splinerec@@=\squinerec@ŽŽ¡‘ãŒÃ3502Ž‘ mÏ\let\splined@@=\squined@@ŽŽ¡‘ãŒÃ3503Ž‘ mÏ\let\splineIpt@@=\squineIpt@ŽŽ¡‘ãŒÃ3504Ž‘ mÏ\let\splineIadvance@@=\squineIadvance@ŽŽ¡‘ãŒÃ3505Ž‘ mÏ\let\splineinfo@=\squineinfo@ŽŽ¡‘ãŒÃ3506Ž‘ mÏ\let\setsplinedir@=\setsquinedir@ŽŽ¡‘ãŒÃ3507Ž‘ mÏ\let\splinetestcvxhull@=\squinetestcvxhull@ŽŽ¡‘ãŒÃ3508Ž‘ mÏ\let\setsplineknotdir@=\setsquineknotdir@ŽŽ¡‘ãŒÃ3509Ž‘ mÏ\let\splinereverse@=\squinereverse@ŽŽ¡‘ãŒÃ3510Ž‘ mÏ\let\splineDadvance@@@=\squineDadvance@@@ŽŽ¡‘ãŒÃ3511Ž‘ mÏ\let\splinesetparams@=\squinesetparams@ŽŽ¡‘ãŒÃ3512Ž‘ mÏ\let\splineplot@maybe@@=\squineplot@maybeŽŽ¡‘ãŒÃ3513Ž‘õŒÏ}ŽŽ¦‘ãŒÃ3515Ž‘õŒÏ\xydef@\squineconnect@{\splineconnect@‘¿ª\crvconnect@@ŽŽ¡‘ãŒÃ3516Ž‘ mÏ\let\splinesegment@=\squinesegment@‘¿ª}%ŽŽ¦‘ãŒÃ3518Ž‘õŒÏ\xydef@\squinesegment@#1{\xyquadmethods@‘¿ª\def\segmentnum@{1}%ŽŽ¡‘ãŒÃ3519Ž‘ mÏ\setupsquine@–¿ª\squined@“}ŽŽŸÒ™‘㌹Use–%˜the“registers“Ï\A@Ž›Š.¹and“Ï\B@Ž˜¹to“store“the“cošMÞordinates“of“the“single“con²!trol“p˜oinš²!t.‘[rThe“whole“curv˜eŽ¡‘ãŒlies–¾“within“the“con•²!v“ex–¾“pMÞolygon“with“v²!ertices“at“Äp¹,›ž(Äp–)´¹+“Äa¹)Ä=¹2,˜(Äc“¹+“Äa¹)Ä=¹2–¾“and“Äc“¹where“Äa“¹denotes“theŽ¡‘ãŒcon•²!trol›\ pMÞoin“t.‘ÅSet˜Ï\X@maxŽ‘%Ú¹,‘jêÏ\X@minŽ‘%èæ¹,‘jêÏ\Y@maxŽ‘)Dñ¹and˜Ï\Y@minŽ‘)6¹to˜b•MÞe˜the˜extremes˜of˜the˜co“ordinates˜of˜theseŽ¡‘ãŒ4–pMÞoinš²!ts.‘íªThere“ma˜y“not“actually“bMÞe“an˜y“pMÞoin˜t“on“the“curv˜e“ac˜hieving“these“extremes,‘¦but“certainlyŽ¡‘ãŒwš²!e–¦fget“prett˜y“close.ަ‘ãŒÃ3534Ž‘õŒÏ\xydef@\setupsquine@{%ŽŽ¡‘ãŒÃ3535Ž‘ûKÃÏ\xycontrolpt@\z@–¿ª\X@p=\X@c“\Y@p=\Y@cŽŽ¡‘ãŒÃ3536Ž‘ûKÃÏ\xycontrolpt@\@ne–¿ª\A@=\X@c“\B@=\Y@cŽŽ¡‘ãŒÃ3537Ž‘ûKÃÏ\xycontrolpt@\tw@ŽŽ¡‘ãŒÃ3538Ž‘ûKÃÏ\ifdim‘¿ª\A@>\X@maxŽŽ¡‘ãŒÃ3539Ž‘ mÏ\dimen@=\X@p\advance\dimen@\A@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3540Ž‘ËÏ\ifdim–¿ª\dimen@>\X@max“\X@max=\dimen@“\fiŽŽ¡‘ãŒÃ3541Ž‘ mÏ\dimen@=\X@c\advance\dimen@\A@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3542Ž‘ËÏ\ifdim–¿ª\dimen@>\X@max“\X@max=\dimen@“\fiŽŽ¡‘ãŒÃ3543Ž‘ûKÃÏ\else–¿ª\ifdim“\A@<\X@minŽŽ¡‘ãŒÃ3544Ž‘ mÏ\dimen@=\X@p\advance\dimen@\A@‘¿ª\dimen@halfŽŽŽŽŒ‹® | Á à ý*tj‘㌹174’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3545Ž‘ËÏ\ifdim–¿ª\dimen@<\X@min“\X@min=\dimen@“\fiŽŽ¤ ™š‘ãŒÃ3546Ž‘ mÏ\dimen@=\X@c\advance\dimen@\A@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3547Ž‘ËÏ\ifdim–¿ª\dimen@>\X@min“\X@min=\dimen@“\fiŽŽ¡‘ãŒÃ3548Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ3549Ž‘ûKÃÏ\ifdim‘¿ª\B@>\Y@maxŽŽ¡‘ãŒÃ3550Ž‘ mÏ\dimen@=\Y@p\advance\dimen@\B@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3551Ž‘ËÏ\ifdim–¿ª\dimen@>\Y@max“\Y@max=\dimen@“\fiŽŽ¡‘ãŒÃ3552Ž‘ mÏ\dimen@=\Y@c\advance\dimen@\B@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3553Ž‘ËÏ\ifdim–¿ª\dimen@>\Y@max“\Y@max=\dimen@“\fiŽŽ¡‘ãŒÃ3554Ž‘ûKÃÏ\else–¿ª\ifdim“\B@<\Y@minŽŽ¡‘ãŒÃ3555Ž‘ mÏ\dimen@=\Y@p\advance\dimen@\B@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3556Ž‘ËÏ\ifdim–¿ª\dimen@<\Y@min“\Y@min=\dimen@“\fiŽŽ¡‘ãŒÃ3557Ž‘ mÏ\dimen@=\Y@c\advance\dimen@\B@‘¿ª\dimen@halfŽŽ¡‘ãŒÃ3558Ž‘ËÏ\ifdim–¿ª\dimen@>\Y@min“\Y@min=\dimen@“\fiŽŽ¡‘ãŒÃ3559Ž‘ûKÃÏ\fi\fi‘¿ª}ŽŽŸãü‘ôŒ¹The–ÎËalgorithm“used“for“computing“cošMÞordinates“of“p˜oinš²!ts“on“quadratic“B²"‘úÔDezier“splines“is“essen˜tiallyŽ¡‘ãŒthat–÷§used“bš²!y“D.“E.“Kn˜uth“in“Ïpicmac.texŽ›þ%(1)ŽŽ¡‘ãŒÃ3660Ž‘ûKÃÏ\global\splinelength@=\z@–¿ª\global\dimen@i=\z@“\global\dimen3=\z@“%‘ T%(2)ŽŽ¡‘ãŒÃ3661Ž‘ûKÃÏ\kern\X@p– T%“%(3)ŽŽ¡‘ãŒÃ3662Ž‘ûKÃÏ{\squinesetparams@–¿ª\X@c=\X@p“\Y@c=\Y@p“\firstsplinepoint@‘>þ%‘ T%(4)ŽŽ¡‘ãŒÃ3663Ž‘ûKÃÏ}\bgroup‘¿ª}ŽŽ¦‘ãŒÃ3665Ž‘õŒÏ\xydef@\squinesetparams@{%ŽŽ¡‘ãŒÃ3666Ž‘ûKÃÏ\global\dimen@i=\X@p‘¿ª\global\dimen3=\Y@pŽŽ¡‘ãŒÃ3667Ž‘ûKÃÏ\L@c=\A@–¿ª\U@c=\B@“\R@c=\L@c“\D@c=\U@c“}%ŽŽ¦‘ãŒÃ3669Ž‘õŒÏ\xydef@\squined@{%ŽŽ¡‘ãŒÃ3670Ž‘ûKÃÏ\expandafter\edef\xysplineparams@{%ŽŽ¡‘ãŒÃ3671Ž‘ mÏ\the\z@,\the\X@p,\the\Y@p,\the\A@,\the\B@,\the\X@c,\the\Y@c,}}ŽŽ¦‘ãŒÃ3673Ž‘õŒÏ\xydef@\squined@@{%ŽŽ¡‘ãŒÃ3674Ž‘õŒÏ%‘¿ª\global\splinedepth@=\p@ŽŽ¡‘ãŒÃ3675Ž‘ûKÃÏ\splinedepth@=\p@ŽŽ¡‘ãŒÃ3676Ž‘ûKÃÏ\global\splineval@=\z@ŽŽ¡‘ãŒÃ3677Ž‘ûKÃÏ\global\dimen@i=\X@p‘¿ª\global\dimen3=\Y@pŽŽ¡‘ãŒÃ3678Ž‘ûKÃÏ\spline@startŽŽŽŽŒ‹° T Á à ý*tj‘㌹176’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3679Ž‘ûKÃÏ\ifx\splinerec@\relax‘¿ª\let\splinerec@=\squinerec@\fiŽŽ¤ ™š‘ãŒÃ3680Ž‘ûKÃÏ\L@c=\A@–¿ª\U@c=\B@“\R@c=\L@c“\D@c=\U@cŽŽ¡‘ãŒÃ3681Ž‘ûKÃÏ\splinerec@–¿ª\spline@end“}ŽŽŸ!· ‘ãŒÔB¼×‘ù÷Uezier–2cubic“splinesŽŸf9‘ãŒÃ3691Ž‘õŒÏ\xydef@\xycubicbezier@{%ŽŽ¡‘ãŒÃ3692Ž‘ûKÃÏ\addtocrvpts@{\def\crvconnect@{\cubicconnect@}}%ŽŽ¡‘ãŒÃ3693Ž‘ûKÃÏ\xycubicmethods@‘¿ª\let\splinesegment@=\cubicsegment@ŽŽ¡‘ãŒÃ3694Ž‘ûKÃÏ\begingroup–¿ª\setcrvobjects@“\xysplineparams@“\splined@@@ŽŽ¡‘ãŒÃ3695Ž‘ûKÃÏ\bgroup–¿ª\setupcubic@“\cubiced@“\splineset@“\savespline@“}ŽŽ©Pˆ‘ãŒÃ3697Ž‘õŒÏ\xydef@\xycubicmethods@{%ŽŽ¡‘ãŒÃ3698Ž‘ mÏ\def\crvconnect@{\cubicconnect@}%ŽŽ¡‘ãŒÃ3699Ž‘ mÏ\def\splinereverse@@{\cubicreverse@@}%ŽŽ¡‘ãŒÃ3700Ž‘ mÏ\let\getsplineparams@=\getcubicparams@ŽŽ¡‘ãŒÃ3701Ž‘ mÏ\let\spline@start@=\cubic@start@ŽŽ¡‘ãŒÃ3702Ž‘ mÏ\let\splinedecast@@=\cubicdecast@ŽŽ¡‘ãŒÃ3703Ž‘ mÏ\let\splinerec@@=\cubicrec@ŽŽ¡‘ãŒÃ3704Ž‘ mÏ\let\splined@@=\cubiced@@ŽŽ¡‘ãŒÃ3705Ž‘ mÏ\let\splineIpt@@=\cubicIpt@ŽŽ¡‘ãŒÃ3706Ž‘ mÏ\let\splineIadvance@@=\cubicIadvance@ŽŽ¡‘ãŒÃ3707Ž‘ mÏ\let\splineoutsidehull@@=\cubicoutsidehull@ŽŽ¡‘ãŒÃ3708Ž‘ mÏ\let\splinetestcvxhull@=\cubictestcvxhull@ŽŽ¡‘ãŒÃ3709Ž‘ mÏ\let\splineinfo@=\cubicinfo@ŽŽ¡‘ãŒÃ3710Ž‘ mÏ\let\setsplinedir@=\setcubicdir@ŽŽ¡‘ãŒÃ3711Ž‘ mÏ\let\setsplineknotdir@=\setcubicknotdir@ŽŽ¡‘ãŒÃ3712Ž‘ mÏ\let\splinereverse@=\cubicreverse@ŽŽ¡‘ãŒÃ3713Ž‘ mÏ\let\splineDadvance@@@=\cubicDadvance@@@ŽŽ¡‘ãŒÃ3714Ž‘ mÏ\let\splinesetparams@=\cubicsetparams@ŽŽ¡‘ãŒÃ3715Ž‘ mÏ\let\splineplot@maybe@@=\cubicplot@maybeŽŽ¡‘ãŒÃ3716Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ3718Ž‘õŒÏ\xydef@\cubicconnect@{\splineconnect@‘¿ª\crvconnect@@ŽŽ¡‘ãŒÃ3719Ž‘ mÏ\let\splinesegment@=\cubicsegment@‘¿ª}%ŽŽ¦‘ãŒÃ3721Ž‘õŒÏ\xydef@\cubicsegment@#1{\xycubicmethods@‘¿ª\def\segmentnum@{1}%ŽŽ¡‘ãŒÃ3722Ž‘ûKÃÏ\setupcubic@–¿ª\cubiced@“}ŽŽŸ õ‘㌹Use–0ôthe“registers“Ï\A@Ž‘oò¹,‘“—Ï\B@Ž‘Ò•¹,‘“—Ï\dimen3Ž‘31¹and“Ï\dimen5Ž‘2ŸŽ¹to“store“coMÞordinates“of“the“t•²!w“o›0ôcon“trol˜pMÞoin“ts,Ž¡‘ãŒdenoted–rÄl‘©1¹and“Är‘¿æ¹saš²!y‘ÿe.‘@ÂThe“whole“curv˜e“lies“within“the“con˜v˜ex“pMÞolygon“Äp¹,›¤ð(Äp–ö¬¹+“Äl7)¹)Ä=¹2,˜(Äc“¹+“ÄrMÞ¹)Ä=¹2–rand“ÄcŽ¡‘㌹where–:ºthe“v²!ertices“are“not“necessarily“in“this“order.‘šØSet“Ï\X@maxŽ‘&¸¶¹,‘_ÎÏ\X@minŽ‘&Ýʹ,‘_ÎÏ\Y@maxŽ‘+„¹and“Ï\Y@minŽ‘*óp¹to“bMÞeŽ¡‘ãŒthe–ÁÉextremes“of“the“cošMÞordinates“of“these“4“p˜oinš²!ts.‘0There“ma˜y“not“actually“bMÞe“an˜y“pMÞoin˜t“on“the“curv˜eŽ¡‘ãŒacš²!hieving–¦fthese“extremes,“but“certainly“w˜e“get“prett˜y“close.ަ‘ãŒÃ3737Ž‘õŒÏ\xydef@\setupcubic@{%ŽŽ¡‘ãŒÃ3738Ž‘ûKÃÏ\xycontrolpt@\z@–¿ª\X@p=\X@c“\Y@p=\Y@cŽŽ¡‘ãŒÃ3739Ž‘ûKÃÏ\xycontrolpt@\@ne–¿ª\A@=\X@c“\B@=\Y@cŽŽ¡‘ãŒÃ3740Ž‘ûKÃÏ\xycontrolpt@\tw@–¿ª\global\dimen3=\X@c“\global\dimen5=\Y@cŽŽ¡‘ãŒÃ3741Ž‘ûKÃÏ\xycontrolpt@\thr@@ŽŽ¡‘ãŒÃ3742Ž‘ûKÃÏ\adjustmaxmin@‘¿ª}ŽŽ¦‘ãŒÃ3744Ž‘õŒÏ\xydef@\adjustmaxmin@{%ŽŽŽŽŒ‹± +¡ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй177ŽŽ ¶?? ýh«w‘ãŒÃ3745Ž‘ mÏ\ifdim–¿ª\A@>\X@max“\dimen@=\A@“\advance\dimen@\X@p“\dimen@halfŽŽ¤ ™š‘ãŒÃ3746Ž‘ËÏ\ifdim\dimen@>\X@max–¿ª\X@max=\dimen@“\fi“\elseŽŽ¡‘ãŒÃ3747Ž‘ mÏ\ifdim–¿ª\A@<\X@min“\dimen@=\A@“\advance\dimen@\X@p“\dimen@halfŽŽ¡‘ãŒÃ3748Ž‘ËÏ\ifdim\dimen@<\X@min–¿ª\X@min=\dimen@“\fi“\fi\fiŽŽ¡‘ãŒÃ3749Ž‘ mÏ\ifdim–¿ª\B@>\Y@max“\dimen@=\B@“\advance\dimen@\Y@p“\dimen@halfŽŽ¡‘ãŒÃ3750Ž‘ËÏ\ifdim\dimen@>\Y@max–¿ª\Y@max=\dimen@“\fi“\elseŽŽ¡‘ãŒÃ3751Ž‘ mÏ\ifdim–¿ª\B@<\Y@min“\dimen@=\B@“\advance\dimen@\Y@p“\dimen@halfŽŽ¡‘ãŒÃ3752Ž‘ËÏ\ifdim\dimen@<\Y@min–¿ª\Y@min=\dimen@“\fi“\fi\fiŽŽ¡‘ãŒÃ3753Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3754Ž‘ mÏ\ifdim–¿ª\dimen3>\X@max“\dimen@=\dimen3\advance\dimen@\X@c“\dimen@halfŽŽ¡‘ãŒÃ3755Ž‘ËÏ\ifdim\dimen@>\X@max–¿ª\X@max=\dimen@“\fi“\elseŽŽ¡‘ãŒÃ3756Ž‘ mÏ\ifdim–¿ª\dimen3<\X@min“\dimen@=\dimen3\advance\dimen@\X@c“\dimen@halfŽŽ¡‘ãŒÃ3757Ž‘ËÏ\ifdim\dimen@<\X@min–¿ª\X@min=\dimen@“\fi“\fi\fiŽŽ¡‘ãŒÃ3758Ž‘ mÏ\ifdim–¿ª\dimen5>\Y@max“\dimen@=\dimen5\advance\dimen@\Y@c“\dimen@halfŽŽ¡‘ãŒÃ3759Ž‘ËÏ\ifdim\dimen@>\Y@max–¿ª\Y@max=\dimen@“\fi“\elseŽŽ¡‘ãŒÃ3760Ž‘ mÏ\ifdim–¿ª\dimen5<\Y@min“\dimen@=\dimen5\advance\dimen@\Y@c“\dimen@halfŽŽ¡‘ãŒÃ3761Ž‘ËÏ\ifdim\dimen@<\Y@min–¿ª\Y@min=\dimen@“\fi“\fi\fiŽŽ¡‘ãŒÃ3762Ž‘õŒÏ%ŽŽ¡‘ãŒÃ3763Ž‘ mÏ\dimen@=\A@–¿ª\advance\dimen@\dimen3“\dimen@halfŽŽ¡‘ãŒÃ3764Ž‘ mÏ\ifdim\dimen@>\X@max‘¿ª\X@max=\dimen@ŽŽ¡‘ãŒÃ3765Ž‘ËÏ\else–¿ª\ifdim\dimen@<\X@min“\X@min=\dimen@“\fi\fiŽŽ¡‘ãŒÃ3766Ž‘ mÏ\dimen@=\B@–¿ª\advance\dimen@\dimen5“\dimen@halfŽŽ¡‘ãŒÃ3767Ž‘ mÏ\ifdim\dimen@>\Y@max‘¿ª\Y@max=\dimen@ŽŽ¡‘ãŒÃ3768Ž‘ËÏ\else–¿ª\ifdim\dimen@<\Y@min“\Y@min=\dimen@“\fi\fiŽŽ¡‘ãŒÃ3769Ž‘õŒÏ}ŽŽŸd©‘ôŒ¹The–;yrecursivš²!e“algorithm“for“cubic“B²"‘úÔDezier“splines“is“similar“to“the“quadratic“one.‘º9No˜w“there“are“t˜w˜oŽ¡‘ãŒ\recursiv•²!e"›¦fcon“trol˜pMÞoin“ts˜to˜b•MÞe˜calculated˜up“on˜eac²!h˜sub“division.ŽŸ ­»‘ôŒOn–¦fthe“Äp¹-side:Ž©Õý’•8üÄpŸ¤zÅpŽŽŽ’©‚µ¹=ŽŽ’¼ûÄpŽŽŽ¤™š’—vílŸ¤zÅpŽŽŽ’©‚µ¹=ŽŽ’¼û(Äp–nì¹+“Äl7)¹)Ä=¹2ŽŽŽ¡’•ʨÄrŸ¤zÅpŽŽŽ’©‚µ¹=ŽŽ’¼û(Äp–nì¹+“2Äl‘¦¹+“ÄrMÞ¹)Ä=¹4ŽŽŽ¡’•þ>ÄcŸ¤zÅpŽŽŽ’©‚µ¹=ŽŽ’¼û(Äp–nì¹+“3Äl‘¦¹+“3Är‘¼Ê¹+“Äc¹)Ä=¹8ŽŽŽ¡¦‘ãŒwhile–¦fon“the“Äc¹-sideަ’•…nÄpŸ¤zÅcŽŽŽ’©6C¹=ŽŽ’»º‰(Äp–nì¹+“3Äl‘¦¹+“3Är‘¼Ê¹+“Äc¹)Ä=¹8ŽŽŽ¡’—Ã_ÄlŸ¤zÅcŽŽŽ’©6C¹=ŽŽ’»º‰(Äl‘¦¹+–nì2Är‘¼Ê¹+“Äc¹)Ä=¹4ŽŽŽ¡’–ÄrŸ¤zÅcŽŽŽ’©6C¹=ŽŽ’»º‰(Är‘¼Ê¹+‘nìÄc¹)Ä=¹2ŽŽŽ¡’–J°ÄcŸ¤zÅcŽŽŽ’©6C¹=ŽŽ’»º‰ÄcŽŽŽ¡¦‘㌹Notice–¦fthat“ÄcŸ¤zÅpŽ‘Ò¹=‘ §ÄpŸ¤zÅcŽ‘Ôß¹and“that“the“tangenš²!ts“matc˜h“there.ŽŸPˆ‘ãŒÃ3795Ž‘õŒÏ\xydef@\cubicdecast@{\halve@dimen\splinedepth@‘¿ª%\divide\splinedepth@\tw@ŽŽ¤ ™š‘ãŒÃ3796Ž‘ûKÃÏ\A@=\L@c–¿ª\advance\A@\R@c“\halve@dimen\A@‘"}ü%\divide\A@\tw@ŽŽ¡‘ãŒÃ3797Ž‘ûKÃÏ\advance\R@c\X@c‘¿ª\halve@dimen\R@c‘J»¢%\divide\R@c\tw@ŽŽ¡‘ãŒÃ3798Ž‘ûKÃÏ\B@=\U@c–¿ª\advance\B@\D@c“\halve@dimen\B@‘"}ü%\divide\B@\tw@ŽŽŽŽŒ‹² 7² Á à ý*tj‘㌹178’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ3799Ž‘ûKÃÏ\advance\D@c\Y@c‘¿ª\halve@dimen\D@c‘J»¢%\divide\D@c\tw@ŽŽ¤ ™š‘ãŒÃ3800Ž‘ûKÃÏ\advance\L@c\X@p‘¿ª\halve@dimen\L@c‘J»¢%\divide\L@c\tw@ŽŽ¡‘ãŒÃ3801Ž‘ûKÃÏ\advance\U@c\Y@p‘¿ª\halve@dimen\U@c‘J»¢%\divide\U@c\tw@ŽŽ¡‘ãŒÃ3802Ž‘ûKÃÏ\begingroupŽŽ¡‘ãŒÃ3803Ž‘ mÏ\X@c=\R@c–¿ª\advance\X@c\L@c“\halve@dimen\X@c‘ T%\divide\X@c\tw@ŽŽ¡‘ãŒÃ3804Ž‘ mÏ\advance\X@c\A@‘¿ª\halve@dimen\X@c‘J»¢%\divide\X@c\tw@ŽŽ¡‘ãŒÃ3805Ž‘ mÏ\Y@c=\D@c–¿ª\advance\Y@c\U@c“\halve@dimen\Y@c‘ T%\divide\Y@c\tw@ŽŽ¡‘ãŒÃ3806Ž‘ mÏ\advance\Y@c\B@‘¿ª\halve@dimen\Y@c‘J»¢%\divide\Y@c\tw@ŽŽ¡‘ãŒÃ3807Ž‘ mÏ\R@c=\L@c–¿ª\advance\R@c\A@“\halve@dimen\R@c‘>þ%\divide\R@c\tw@ŽŽ¡‘ãŒÃ3808Ž‘ mÏ\D@c=\U@c–¿ª\advance\D@c\B@“\halve@dimen\D@c‘>þ%\divide\D@c\tw@ŽŽ¡‘ãŒÃ3809Ž‘ mÏ\bgroup‘¿ª\splinerec@ŽŽ¡‘ãŒÃ3810Ž‘ mÏ\egroup–¿ª\splinepoint“\endgroupŽŽ¡‘ãŒÃ3811Ž‘ûKÃÏ\X@p=\L@c–¿ª\advance\X@p\R@c“\halve@dimen\X@p‘>þ%\divide\X@p\tw@ŽŽ¡‘ãŒÃ3812Ž‘ûKÃÏ\advance\X@p\A@‘¿ª\halve@dimen\X@p‘P{L%\divide\X@p\tw@ŽŽ¡‘ãŒÃ3813Ž‘ûKÃÏ\L@c=\R@c–¿ª\advance\L@c\A@“\halve@dimen\L@c‘þ¨%\divide\L@c\tw@ŽŽ¡‘ãŒÃ3814Ž‘ûKÃÏ\Y@p=\U@c–¿ª\advance\Y@p\D@c“\halve@dimen\Y@p‘>þ%\divide\Y@p\tw@ŽŽ¡‘ãŒÃ3815Ž‘ûKÃÏ\advance\Y@p\B@‘¿ª\halve@dimen\Y@p‘P{L%\divide\Y@p\tw@ŽŽ¡‘ãŒÃ3816Ž‘ûKÃÏ\U@c=\D@c–¿ª\advance\U@c\B@“\halve@dimen\U@c‘þ¨%\divide\U@c\tw@ŽŽ¡‘ãŒÃ3817Ž‘ûKÃÏ\splinerec@‘¿ª}ŽŽ©Pˆ‘ãŒÃ3819Ž‘õŒÏ\xydef@\cubicrec@{{\splinefar@false‘¿ª\splinenear@\X@p\X@c\Y@p\Y@cŽŽ¡‘ãŒÃ3820Ž‘ûKÃÏ\ifsplinefar@‘¿ª\aftergroup\cubicdecast@ŽŽ¡‘ãŒÃ3821Ž‘ûKÃÏ\else–¿ª\aftergroup\splineadvance@“\fi}}ŽŽ¦‘ãŒÃ3823Ž‘õŒÏ\xydef@\cubicDadvance@@@{\X@p\X@c\Y@p\Y@c}ŽŽ¦‘ãŒÃ3825Ž‘õŒÏ\xydef@\cubicplot@maybe{{\X@p=\L@c–¿ª\Y@p=\U@c“\cv@start“\the\Edge@c\@neŽŽ¡‘ãŒÃ3826Ž‘ mÏ\ifInside@\aftergroup\cubicplot@maybeii\else\aftergroup\splineplot@true\fi}}ŽŽ¡‘ãŒÃ3827Ž‘õŒÏ\xydef@\cubicplot@maybeii{{\X@p=\R@c–¿ª\Y@p=\D@c“\cv@start“\the\Edge@c\@neŽŽ¡‘ãŒÃ3828Ž‘ mÏ\ifInside@\aftergroup\splineplot@false\else\aftergroup\splineplot@true\fi}}ŽŽŸv‘ãŒÃ3832Ž‘õŒÏ\xydef@\cubiced@@{%ŽŽ¡‘ãŒÃ3833Ž‘õŒÏ%‘¿ª\global\splinedepth@=\p@ŽŽ¡‘ãŒÃ3834Ž‘ûKÃÏ\splinedepth@=\p@ŽŽ¡‘ãŒÃ3835Ž‘ûKÃÏ\global\splineval@=\z@ŽŽ¡‘ãŒÃ3836Ž‘ûKÃÏ\spline@startŽŽ¡‘ãŒÃ3837Ž‘ûKÃÏ\global\dimen@i=\X@p‘¿ª\global\dimen3=\Y@pŽŽ¡‘ãŒÃ3838Ž‘ûKÃÏ\splinerec@–¿ª\spline@end“}ŽŽŸSõ‘ôŒ¹The–¦ftangenš²!t“direction“is“computed“from“the“displacemen˜t“to“the“\recursiv˜e"“con˜trol“pMÞoin˜t.ަ‘ãŒÃ3847Ž‘õŒÏ\xydef@\setcubicdir@{%ŽŽ¡‘ãŒÃ3848Ž‘ûKÃÏ\ifdim\splinedepth@<.001\p@\DN@{\cubiccoarsedir@}%ŽŽ¡‘ãŒÃ3849Ž‘ mÏ\else\DN@{\cubicfinedir@}\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ3851Ž‘õŒÏ\xydef@\cubicfinedir@{%ŽŽ¡‘ãŒÃ3852Ž‘ûKÃÏ\d@X=\X@c–¿ª\advance\d@X-\R@c“\d@Y=\Y@c“\advance\d@Y-\D@cŽŽ¡‘ãŒÃ3853Ž‘ûKÃÏ\ifdim\zz@\d@X‘¿ª\ifdim\zz@\d@YŽŽ¡‘ãŒÃ3854Ž‘ mÏ\d@X=\X@c–¿ª\advance\d@X-\L@c“\d@Y=\Y@c“\advance\d@Y-\U@cŽŽ¡‘ãŒÃ3855Ž‘ mÏ\ifdim\zz@\d@X‘¿ª\ifdim\zz@\d@YŽŽ¡‘ãŒÃ3856Ž‘ËÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@Y=\Y@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ3857Ž‘ûKÃÏ\fi\fi‘¿ª\fi\fiŽŽ¡‘ãŒÃ3858Ž‘õŒÏ%–¿ª\ifdim\X@c=\X@p“\ifdim\Y@c=\Y@pŽŽ¡‘ãŒÃ3859Ž‘õŒÏ%‘ T\d@X=\L@c–¿ª\d@Y=\U@c“\advance\d@X-\X@p“\advance\d@Y-\Y@pŽŽŽŽŒ‹³ CÛ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй179ŽŽ ¶?? ýh«w‘ãŒÃ3860Ž‘õŒÏ%‘ T\ifdim\d@X=\z@‘¿ª\ifdim\d@Y=\z@ŽŽ¤ ™š‘ãŒÃ3861Ž‘õŒÏ%‘>þ\d@X=\R@c–¿ª\d@Y=\D@c“\advance\d@X-\X@p“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ3862Ž‘õŒÏ%‘ T\fi\fiŽŽ¡‘ãŒÃ3863Ž‘õŒÏ%‘¿ª\fi\fiŽŽ¡‘ãŒÃ3864Ž‘ûKÃÏ\setupDirection@iiŽŽ¡‘ãŒÃ3865Ž‘õŒÏ\splinetrace@{dir:(\the\d@X,\the\d@Y),\the\Direction;‘¿ªdepth:\the\splinedepth@}%ŽŽ¡‘ãŒÃ3866Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ3868Ž‘õŒÏ\xydef@\cubiccoarsedir@{%ŽŽ¡‘ãŒÃ3869Ž‘ûKÃÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@Y=\Y@c“\advance\d@Y-\Y@p“\setupDirection@iiŽŽ¡‘ãŒÃ3870Ž‘ûKÃÏ\global\dimen5=\d@X‘¿ª\global\dimen7=\d@YŽŽ¡‘ãŒÃ3871Ž‘õŒÏ\splinetrace@{dir:(\the\d@X,\the\d@Y),\the\Direction;‘¿ªdepth:\the\splinedepth@}%ŽŽ¡‘ãŒÃ3872Ž‘õŒÏ}ŽŽ¦‘ãŒÃ3874Ž‘õŒÏ\xydef@\setcubicknotdir@{%ŽŽ¡‘ãŒÃ3875Ž‘ûKÃÏ\ifdim\zz@\splineval@‘¿ª\DN@{\setcubiczerodir@}%ŽŽ¡‘ãŒÃ3876Ž‘ûKÃÏ\else–¿ª\DN@{\cubicfinedir@}\fi“\next@“}ŽŽ¦‘ãŒÃ3878Ž‘õŒÏ\xydef@\setcubiczerodir@{%ŽŽ¡‘ãŒÃ3879Ž‘ûKÃÏ\d@X=\L@c–¿ª\advance\d@X-\X@p“\d@Y=\U@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ3880Ž‘ûKÃÏ\ifdim\zz@\d@X‘¿ª\ifdim\zz@\d@YŽŽ¡‘ãŒÃ3881Ž‘ËÏ\d@X=\R@c–¿ª\advance\d@X-\X@p“\d@Y=\D@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ3882Ž‘ËÏ\ifdim\zz@\d@X‘¿ª\ifdim\zz@\d@YŽŽ¡‘ãŒÃ3883Ž‘JkÏ\d@X=\X@c–¿ª\advance\d@X-\X@p“\d@Y=\Y@c“\advance\d@Y-\Y@pŽŽ¡‘ãŒÃ3884Ž‘ûKÃÏ\fi\fi–¿ª\fi\fi“\setupDirection@ii“}ŽŽŸ -‘ôŒ¹W‘ÿee–¦fneed“a“w•²!a“y–¦fto“access“the“information“in“Ï\splineparamsŽ‘Nb¹.ަ‘ãŒÃ3890Ž‘õŒÏ\xydef@\getcubicparams@#1,#2,#3,#4,#5,#6,#7,#8,#9,{%ŽŽ¡‘ãŒÃ3891Ž‘ûKÃÏ\splinelength@=#1\relax\X@p=#2\relax\Y@p=#3\relax\L@c=#4\relaxŽŽ¡‘ãŒÃ3892Ž‘ûKÃÏ\U@c=#5\relax\R@c=#6\relax\D@c=#7\relax\X@c=#8\relax\Y@c=#9\relaxŽŽ¡‘ãŒÃ3893Ž‘õŒÏ}%ŽŽ¡‘ãŒÃ3894Ž‘õŒÏ\xydef@\cubicinfo@{%ŽŽ¡‘ãŒÃ3895Ž‘õŒÏ\expandafter\removePT@\the\X@p\spaceŽŽ¡‘ãŒÃ3896Ž‘õŒÏ\expandafter\removePT@\the\Y@p\spaceŽŽ¡‘ãŒÃ3897Ž‘õŒÏ\expandafter\removePT@\the\L@c\spaceŽŽ¡‘ãŒÃ3898Ž‘õŒÏ\expandafter\removePT@\the\U@c\spaceŽŽ¡‘ãŒÃ3899Ž‘õŒÏ\expandafter\removePT@\the\R@c\spaceŽŽ¡‘ãŒÃ3900Ž‘õŒÏ\expandafter\removePT@\the\D@c\spaceŽŽ¡‘ãŒÃ3901Ž‘õŒÏ\expandafter\removePT@\the\X@c\spaceŽŽ¡‘ãŒÃ3902Ž‘õŒÏ\expandafter\removePT@\the\Y@c\spaceŽŽ¡‘ãŒÃ3903Ž‘õŒÏ\expandafter\removePT@\the\dimen5\space\spaceŽŽ¡‘ãŒÃ3904Ž‘õŒÏ\expandafter\removePT@\the\dimen7\spaceŽŽ¡‘ãŒÃ3905Ž‘ûKÃÏ}%ŽŽ¡‘ãŒÃ3906Ž‘õŒÏ\xydef@\cubicreverse@{\readsplineparams@ŽŽ¡‘ãŒÃ3907Ž‘ûKÃÏ\expandafter\edef\xysplineparams@{\the\splinelength@,%ŽŽ¡‘ãŒÃ3908Ž‘ mÏ\the\X@c,\the\Y@c,\the\R@c,\the\D@c,\the\L@c,\the\U@c,\the\X@p,\the\Y@p,}}%ŽŽ¡‘ãŒÃ3909Ž‘õŒÏ\xydef@\cubicreverse@@{%ŽŽ¡‘ãŒÃ3910Ž‘ûKÃÏ\splinereverse@@@ŽŽ¡‘ãŒÃ3911Ž‘ûKÃÏ\dimen@ii=\L@c–¿ª\L@c=\R@c“\R@c=\dimen@iiŽŽ¡‘ãŒÃ3912Ž‘ûKÃÏ\dimen@ii=\U@c–¿ª\U@c=\D@c“\D@c=\dimen@ii“}ŽŽŸ -‘ôŒ¹Start–%the“picture“bš²!y“(1)“setting“a“bMÞo˜x,‘?Gas“usual.‘²å(2)“Initialize“global“v‘ÿdDariables;‘Pwthese“m˜ust“bMÞe“globalŽŽŽŒ‹´ Pì Á à ý*tj‘㌹180’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘㌹since–¶$they“are“used“to“store“information“whicš²!h“m˜ust“bMÞe“preserv˜ed“outside“the“grouping“whic˜h“is“vitalޤ ™š‘ãŒto–äthe“recursivš²!e“nature“of“the“algorithm.‘–Ã(3)“Mo˜v˜e“horizon˜tally“to“the“starting“pMÞoin˜t“at“Äp¹.‘–Ã(4)“BeginŽ¡‘ãŒbš²!y–¦fhandling“the“starting“pMÞoin˜t;“Ði¹.Ðe¹.“decide“whether“it“is“to“bMÞe“plotted“or“not.Ž©Pˆ‘ãŒÃ3926Ž‘õŒÏ\xydef@\cubic@start@{\setboxz@h\bgroup‘¿ª%‘>þ%(1)ŽŽ¡‘ãŒÃ3927Ž‘ûKÃÏ\global\splinelength@=\z@–¿ª\global\dimen@i=\z@“\global\dimen3=\z@“%‘ T%(2)ŽŽ¡‘ãŒÃ3928Ž‘ûKÃÏ\kern\X@p– T%“%(3)ŽŽ¡‘ãŒÃ3929Ž‘ûKÃÏ{\cubicsetparams@–¿ª\X@c=\X@p“\Y@c=\Y@p“\R@c=\X@c“\D@c=\Y@cŽŽ¡‘ãŒÃ3930Ž‘ mÏ\firstsplinepoint@‘¿ª}\bgroupŽŽ¡‘ãŒÃ3931Ž‘õŒÏ}‘¿ª%‘ T%(4)ŽŽ¦‘ãŒÃ3933Ž‘õŒÏ\xydef@\cubicsetparams@{%ŽŽ¡‘ãŒÃ3934Ž‘ûKÃÏ\expandafter\expandafter\expandafter\getsplineparams@\xysplineparams@ŽŽ¡‘ãŒÃ3935Ž‘ûKÃÏ\global\dimen@i=\X@p–¿ª\global\dimen3=\Y@p“}ŽŽŸv‘ãŒÃ3939Ž‘õŒÏ\xydef@\cubiced@{%ŽŽ¡‘ãŒÃ3940Ž‘ûKÃÏ\expandafter\edef\xysplineparams@{\the\z@,\the\X@p,\the\Y@pŽŽ¡‘ãŒÃ3941Ž‘ mÏ,\the\A@,\the\B@,\the\dimen3,\the\dimen5,\the\X@c,\the\Y@c,}%ŽŽ¡‘ãŒÃ3942Ž‘ûKÃÏ}%ŽŽŸ'’/‘ãŒÔB-splinesŽŸ°|‘㌹The–¦fcases“of“3“and“4“conš²!trol“pMÞoin˜ts“ha˜v˜e“some“spMÞecial“simplifying“features.ަ‘ãŒÃ3955Ž‘õŒÏ\xydef@\xybspline@iii{%ŽŽ¡‘ãŒÃ3956Ž‘ mÏ\addtocrvpts@{\def\crvconnect@{\bsplineiiiconnect@}}%ŽŽ¡‘ãŒÃ3957Ž‘ mÏ\def\crvconnect@{\bsplineiiiconnect@}\xybsplinemethods@ŽŽ¡‘ãŒÃ3958Ž‘ mÏ\let\splinesegment@=\bsplinesegment@iiiŽŽ¡‘ãŒÃ3959Ž‘ mÏ\begingroup\setcrvobjects@–¿ª\dobspline@“\savespline@“}ŽŽ¡‘ãŒÃ3960Ž‘õŒÏ\xydef@\bsplineiiiconnect@{\splineconnect@‘¿ª\crvconnect@@ŽŽ¡‘ãŒÃ3961Ž‘ mÏ\let\splinesegment@=\bsplinesegment@iii‘¿ª}%ŽŽ¦‘ãŒÃ3963Ž‘õŒÏ\xydef@\xybspline@iv{%ŽŽ¡‘ãŒÃ3964Ž‘ mÏ\addtocrvpts@{\def\crvconnect@{\bsplineivconnect@}}%ŽŽ¡‘ãŒÃ3965Ž‘ mÏ\def\crvconnect@{\bsplineivconnect@}\xybsplinemethods@ŽŽ¡‘ãŒÃ3966Ž‘ mÏ\let\splinesegment@=\bsplinesegment@ivŽŽ¡‘ãŒÃ3967Ž‘ mÏ\begingroup\setcrvobjects@–¿ª\dobspline@“\savespline@“}ŽŽ¡‘ãŒÃ3968Ž‘õŒÏ\xydef@\bsplineivconnect@{\splineconnect@‘¿ª\crvconnect@@ŽŽ¡‘ãŒÃ3969Ž‘ mÏ\let\splinesegment@=\bsplinesegment@iv‘¿ª}%ŽŽŸZ^‘ôŒ¹Noš²!w–¦ffor“the“general“case“of“Ç‘ §¹5“con˜trol“pMÞoin˜ts.ަ‘ãŒÃ3975Ž‘õŒÏ\xydef@\xybspline@{%ŽŽ¡‘ãŒÃ3976Ž‘õŒÏ\splinetrace@{B-spline–¿ªwith“\numcontrolpts\space“control“points.}%ŽŽ¡‘ãŒÃ3977Ž‘ mÏ\addtocrvpts@{\def\crvconnect@{\bsplineconnect@}}%ŽŽ¡‘ãŒÃ3978Ž‘ mÏ\def\crvconnect@{\bsplineconnect@}\xybsplinemethods@ŽŽ¡‘ãŒÃ3979Ž‘ mÏ\let\splinesegment@=\bsplinesegment@ŽŽ¡‘ãŒÃ3980Ž‘ mÏ\begingroup\setcrvobjects@ŽŽ¡‘ãŒÃ3981Ž‘ûKÃÏ\dobspline@–¿ª\savespline@“}ŽŽ¦‘ãŒÃ3983Ž‘õŒÏ\xydef@\xybsplinemethods@{%ŽŽ¡‘ãŒÃ3984Ž‘ mÏ\def\splinereverse@@{\cubicreverse@@}%ŽŽ¡‘ãŒÃ3985Ž‘ mÏ\let\getsplineparams@=\getbsplineparams@ŽŽ¡‘ãŒÃ3986Ž‘ mÏ\let\spline@start@=\cubic@start@ŽŽŽŽŒ‹µ \Ô Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй181ŽŽ ¶?? ýh«w‘ãŒÃ3987Ž‘ mÏ\let\splinedecast@@=\cubicdecast@ŽŽ¤ ™š‘ãŒÃ3988Ž‘ mÏ\let\splinerec@@=\cubicrec@ŽŽ¡‘ãŒÃ3989Ž‘õŒÏ%‘ T\let\splined@@=\cubiced@@ŽŽ¡‘ãŒÃ3990Ž‘ mÏ\let\splineIpt@@=\cubicIpt@ŽŽ¡‘ãŒÃ3991Ž‘ mÏ\let\splineIadvance@@=\cubicIadvance@ŽŽ¡‘ãŒÃ3992Ž‘ mÏ\let\splined@@=\bsplined@@ŽŽ¡‘ãŒÃ3993Ž‘ mÏ\let\splineinfo@=\cubicinfo@ŽŽ¡‘ãŒÃ3994Ž‘ mÏ\let\setsplinedir@=\setcubicdir@ŽŽ¡‘ãŒÃ3995Ž‘ mÏ\let\setsplineknotdir@=\setcubicknotdir@ŽŽ¡‘ãŒÃ3996Ž‘ mÏ\let\splinereverse@=\cubicreverse@ŽŽ¡‘ãŒÃ3997Ž‘ mÏ\let\splineDadvance@@@=\cubicDadvance@@@ŽŽ¡‘ãŒÃ3998Ž‘ mÏ\let\splinesetparams@=\cubicsetparams@ŽŽ¡‘ãŒÃ3999Ž‘ mÏ\global\let\lastbspline@=\lastbspline@@ŽŽ¡‘ãŒÃ4000Ž‘ mÏ\global\let\middlebspline@=\middlebspline@@ŽŽ¡‘ãŒÃ4001Ž‘õŒÏ}ŽŽ¡‘ãŒÃ4002Ž‘õŒÏ\xydef@\bsplined@@{%ŽŽ¡‘ãŒÃ4003Ž‘õŒÏ%‘¿ª\global\splinedepth@=\p@ŽŽ¡‘ãŒÃ4004Ž‘ûKÃÏ\splinedepth@=\p@ŽŽ¡‘ãŒÃ4005Ž‘ûKÃÏ\global\splineval@=\z@ŽŽ¡‘ãŒÃ4006Ž‘ûKÃÏ\spline@startŽŽ¡‘ãŒÃ4007Ž‘ûKÃÏ\global\dimen@i=\X@p‘¿ª\global\dimen3=\Y@pŽŽ¡‘ãŒÃ4008Ž‘ûKÃÏ\splinerec@–¿ª\spline@end“}ŽŽŸv‘ãŒÃ4012Ž‘õŒÏ\xydef@\bsplineconnect@{\splineconnect@‘¿ª\crvconnect@@ŽŽ¡‘ãŒÃ4013Ž‘ mÏ\let\splinesegment@=\bsplinesegment@‘¿ª}%ŽŽ¤Pˆ‘ãŒÃ4015Ž‘õŒÏ\xydef@\getbsplineparams@{\getcubicparams@}ŽŽ¡‘ãŒÃ4017Ž‘õŒÏ\xydef@\dobspline@{\xysplineparams@–¿ª\scanbspline@“\firstbspline@“}%ŽŽŸÁÑ‘ôŒ¹Registers‘i3Ï\dimen3Ž–1 ¹and‘i3Ï\dimen5Ž“¹are–i3used“globally‘ÿe,‘™åsince“the“standard“loMÞcal“registers“are“alreadyŽ© ™š‘ãŒused.Ž¡‘ãŒÃ4024Ž‘õŒÏ\xydef@\firstbspline@{%ŽŽ¦‘ãŒÃ4025Ž‘ mÏ\enter@{\pfromthep@‘¿ª\cfromthec@}\enter@{\cfromthec@}\bgroupŽŽ¦‘ãŒÃ4026Ž‘ mÏ\def\segmentnum@{1}\xycontrolpt@\z@–¿ª\X@p=\X@c“\Y@p=\Y@cŽŽ¦‘ãŒÃ4027Ž‘õŒÏ\splinetrace@{0:–¿ª\the\X@p,“\the\Y@p}%ŽŽ¦‘ãŒÃ4028Ž‘ mÏ\xycontrolpt@\@ne–¿ª\A@=\X@c“\B@=\Y@cŽŽ¦‘ãŒÃ4029Ž‘õŒÏ\splinetrace@{1:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¦‘ãŒÃ4030Ž‘ mÏ\xycontrolpt@\tw@ŽŽ¦‘ãŒÃ4031Ž‘õŒÏ\splinetrace@{2:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¦‘ãŒÃ4032Ž‘ËÏ\dimen@=\X@c–¿ª\advance\dimen@\A@“\dimen@halfŽŽ¦‘ãŒÃ4033Ž‘ËÏ\global\dimen3=\dimen@ŽŽ¦‘ãŒÃ4034Ž‘ËÏ\dimen@=\Y@c–¿ª\advance\dimen@\B@“\dimen@halfŽŽ¦‘ãŒÃ4035Ž‘ËÏ\global\dimen5=\dimen@ŽŽ¦‘ãŒÃ4036Ž‘ mÏ\xycontrolpt@{3}%ŽŽ¦‘ãŒÃ4037Ž‘õŒÏ\splinetrace@{3:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¦‘ãŒÃ4038Ž‘ mÏ\expandafter\count@\xycrvcnt@\relax–¿ª%%%‘ Tvery“important“to“|\relax|ŽŽ¦‘ãŒÃ4039Ž‘ mÏ\ifnum\count@=3\relaxŽŽ¦‘ãŒÃ4040Ž‘ËÏ\advance\X@c-\A@–¿ª\dimen@nth4\X@c‘þ¨%“\divide\X@c“by4ŽŽ¦‘ãŒÃ4041Ž‘ËÏ\advance\X@c\dimen3\relaxŽŽ¦‘ãŒÃ4042Ž‘ËÏ\advance\Y@c-\B@–¿ª\dimen@nth4\Y@c‘þ¨%“\divide\Y@c“by4ŽŽŽŽŒ‹¶ hÓ Á à ý*tj‘㌹182’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4043Ž‘ËÏ\advance\Y@c\dimen5\relaxŽŽ¤ ™š‘ãŒÃ4044Ž‘ËÏ\enter@{\X@p=\the\X@c–¿ª\Y@p=\the\Y@c“\crv@cnt@=\@ne\relaxŽŽ¡‘ãŒÃ4045Ž‘ ŠÁÏ\noexpand\lastbspline@‘¿ª}%ŽŽ¡‘ãŒÃ4046Ž‘ mÏ\elseŽŽ¡‘ãŒÃ4047Ž‘ËÏ\advance\X@c–¿ª7\dimen3“\advance\X@c-2\A@ŽŽ¡‘ãŒÃ4048Ž‘ ŠÁÏ\dimen@nth6\X@c‘ T%–¿ª\divide\X@c“by6\relaxŽŽ¡‘ãŒÃ4049Ž‘ËÏ\advance\Y@c–¿ª7\dimen5“\advance\Y@c-2\B@ŽŽ¡‘ãŒÃ4050Ž‘ ŠÁÏ\dimen@nth6\Y@c‘ T%–¿ª\divide\Y@c“by6\relaxŽŽ¡‘ãŒÃ4051Ž‘ËÏ\enter@{\X@p=\the\X@c–¿ª\Y@p=\the\Y@c“\crv@cnt@=\@ne\relaxŽŽ¡‘ãŒÃ4052Ž‘ ŠÁÏ\noexpand\middlebspline@‘¿ª}%ŽŽ¡‘ãŒÃ4053Ž‘ mÏ\fi–¿ª\adjustmaxmin@“\czeroEdge@ŽŽ¡‘ãŒÃ4054Ž‘ûKÃÏ\bsplined@–¿ª\splineset@“\leave@“}ŽŽ©Pˆ‘ãŒÃ4056Ž‘õŒÏ\xydef@\lastbspline@@{\bgroupŽŽ¡‘ãŒÃ4057Ž‘ mÏ\advance\crv@cnt@\@ne‘¿ª\edef\segmentnum@{\the\crv@cnt@}%ŽŽ¡‘ãŒÃ4058Ž‘õŒÏ\splinetrace@{<:–¿ª\the\X@p,“\the\Y@p}%ŽŽ¡‘ãŒÃ4059Ž‘ mÏ\advance\crv@cnt@\@ne‘¿ª\xycontrolpt@{\crv@cnt@}%ŽŽ¡‘ãŒÃ4060Ž‘ mÏ\global\dimen3=\X@c‘¿ª\global\dimen5=\Y@cŽŽ¡‘ãŒÃ4061Ž‘õŒÏ\splinetrace@{\the\crv@cnt@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4062Ž‘ËÏ\advance\crv@cnt@\m@ne‘¿ª\xycontrolpt@{\crv@cnt@}%ŽŽ¡‘ãŒÃ4063Ž‘õŒÏ\splinetrace@{\the\crv@cnt@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4064Ž‘ ŠÁÏ\A@=\X@c–¿ª\advance\A@\dimen3“\halve@dimen\A@‘ T%“\divide\A@\tw@ŽŽ¡‘ãŒÃ4065Ž‘ ŠÁÏ\B@=\Y@c–¿ª\advance\B@\dimen5“\halve@dimen\B@‘ T%“\divide\B@\tw@ŽŽ¡‘ãŒÃ4066Ž‘ mÏ\adjustmaxmin@–¿ª\leave@‘ T\relax“\cv@end“%“<---------------ŽŽ¡‘ãŒÃ4067Ž‘õŒÏ\splinetrace@{>:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4068Ž‘ mÏ\bsplined@–¿ª\splineset@“\leave@“}%ŽŽ¡‘ãŒÃ4069Ž‘õŒÏ\xylet@\lastbspline@=\lastbspline@@ŽŽ¦‘ãŒÃ4071Ž‘õŒÏ\xydef@\middlebspline@@{%ŽŽ¡‘ãŒÃ4072Ž‘ mÏ\advance\crv@cnt@\@ne‘¿ª\edef\segmentnum@{\the\crv@cnt@}%ŽŽ¡‘ãŒÃ4073Ž‘õŒÏ\splinetrace@{<:–¿ª\the\X@p,“\the\Y@p}%ŽŽ¡‘ãŒÃ4074Ž‘ mÏ\bgroupŽŽ¡‘ãŒÃ4075Ž‘ËÏ\xycontrolpt@{\crv@cnt@}\A@=2\X@c‘¿ª\B@=2\Y@cŽŽ¡‘ãŒÃ4076Ž‘õŒÏ\splinetrace@{\the\crv@cnt@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4077Ž‘ËÏ\advance\crv@cnt@\@ne‘¿ª\xycontrolpt@{\crv@cnt@}%ŽŽ¡‘ãŒÃ4078Ž‘õŒÏ\splinetrace@{\the\crv@cnt@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4079Ž‘ ŠÁÏ\advance\A@\X@c–¿ª\dimen@nth3\A@‘>þ%“\divide\A@“by3ŽŽ¡‘ãŒÃ4080Ž‘ ŠÁÏ\advance\B@\Y@c–¿ª\dimen@nth3\B@‘>þ%“\divide\B@“by3\relaxŽŽ¡‘ãŒÃ4081Ž‘ ŠÁÏ\advance\X@c\A@–¿ª\halve@dimen\X@c“%“\divide\X@c\tw@ŽŽ¡‘ãŒÃ4082Ž‘ ŠÁÏ\advance\Y@c\B@–¿ª\halve@dimen\Y@c“%“\divide\Y@c\tw@ŽŽ¡‘ãŒÃ4083Ž‘ ŠÁÏ\global\dimen3=\X@c‘¿ª\global\dimen5=\Y@cŽŽ¡‘ãŒÃ4084Ž‘ËÏ\advance\crv@cnt@\@ne‘¿ª\xycontrolpt@{\crv@cnt@}%ŽŽ¡‘ãŒÃ4085Ž‘õŒÏ\splinetrace@{\the\crv@cnt@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4086Ž‘ mÏ\expandafter\count@\xycrvcnt@\relaxŽŽ¡‘ãŒÃ4087Ž‘ mÏ\ifnum\crv@cnt@<\count@\relaxŽŽ¡‘ãŒÃ4088Ž‘ËÏ\advance\X@c‘¿ª7\dimen3\advance\X@c-2\A@ŽŽ¡‘ãŒÃ4089Ž‘ ŠÁÏ\dimen@nth6\X@c– T%“\divide\X@c‘¿ªby6\relaxŽŽ¡‘ãŒÃ4090Ž‘ËÏ\advance\Y@c‘¿ª7\dimen5\advance\Y@c-2\B@ŽŽ¡‘ãŒÃ4091Ž‘ ŠÁÏ\dimen@nth6\Y@c– T%“\divide\Y@c‘¿ªby6\relaxŽŽ¡‘ãŒÃ4092Ž‘ËÏ\enter@{\X@p=\the\X@c–¿ª\Y@p=\the\Y@c“\crv@cnt@=\segmentnum@\relaxŽŽ¡‘ãŒÃ4093Ž‘ ŠÁÏ\noexpand\middlebspline@}%ŽŽŽŽŒ‹· sã Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй183ŽŽ ¶?? ýh«w‘ãŒÃ4094Ž‘ mÏ\elseŽŽ¤ ™š‘ãŒÃ4095Ž‘ËÏ\advance\X@c-\A@–¿ª\dimen@nth4\X@c‘ T%“\divide\X@c“by4ŽŽ¡‘ãŒÃ4096Ž‘ËÏ\advance\X@c‘¿ª\dimen3\relaxŽŽ¡‘ãŒÃ4097Ž‘ËÏ\advance\Y@c-\B@–¿ª\dimen@nth4\Y@c‘ T%“\divide\Y@c“by4ŽŽ¡‘ãŒÃ4098Ž‘ËÏ\advance\Y@c‘¿ª\dimen5\relaxŽŽ¡‘ãŒÃ4099Ž‘ËÏ\enter@{\X@p=\the\X@c–¿ª\Y@p=\the\Y@c“\noexpand\lastbspline@}%ŽŽ¡‘ãŒÃ4100Ž‘ mÏ\fi‘¿ª\adjustmaxmin@ŽŽ¡‘ãŒÃ4101Ž‘ËÏ\bsplined@–¿ª\splineset@“\leave@“}ŽŽ¡‘ãŒÃ4102Ž‘õŒÏ\xylet@\middlebspline@=\middlebspline@@ŽŽ¤v‘ãŒÃ4106Ž‘õŒÏ\xydef@\scanbspline@{\splined@@@}ŽŽ¡‘ãŒÃ4110Ž‘õŒÏ\xydef@\bsplined@{\cubiced@ŽŽ¤ ™š‘ãŒÃ4111Ž‘ûKÃÏ\expandafter\ifx\xysplineedges@\relax\relax\DN@{}%ŽŽ¡‘ãŒÃ4112Ž‘ûKÃÏ\else\DN@{\adjustbsplineedges@}\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ4114Ž‘õŒÏ\xydef@\adjust@forsegments@{\getcrvsegsnum@ŽŽ¡‘ãŒÃ4115Ž‘ûKÃÏ\ifnum\count@>\@neŽŽ¡‘ãŒÃ4116Ž‘õŒÏ\splinetrace@{adjust–¿ªfor“\the\count@\space“segments:ŽŽ¡‘ãŒÃ4117Ž‘ûKÃÏ\the\dimen5,‘¿ª\the\dimen7}%ŽŽ¡‘ãŒÃ4118Ž‘ mÏ\multiply\dimen5–¿ªby“\count@\relax“\dimen@=\segmentnum@\p@ŽŽ¡‘ãŒÃ4119Ž‘ mÏ\ifnum\dimen5>\dimen@‘¿ª\relax\dimen5=\p@ŽŽ¡‘ãŒÃ4120Ž‘ mÏ\else–¿ª\advance\dimen5-\segmentnum@\p@“\advance\dimen5“by\p@“\fiŽŽ¡‘ãŒÃ4121Ž‘ mÏ\ifnum\dimen5<\z@‘¿ª\relax\dimen5=\z@\relax\fiŽŽ¡‘ãŒÃ4122Ž‘ mÏ\multiply\dimen7–¿ªby“\count@\relaxŽŽ¡‘ãŒÃ4123Ž‘ mÏ\dimen@=\segmentnum@\p@‘¿ª%\advance\dimen@-\segmentnum@\p@ŽŽ¡‘ãŒÃ4124Ž‘ mÏ\ifnum\dimen7<\dimen@‘¿ª\advance\dimen@-\p@ŽŽ¡‘ãŒÃ4125Ž‘ËÏ\ifnum\dimen7>\dimen@‘¿ª\advance\dimen7-\dimen@ŽŽ¡‘ãŒÃ4126Ž‘ËÏ\else–¿ª\dimen7=\z@“\fiŽŽ¡‘ãŒÃ4127Ž‘ mÏ\else–¿ª\dimen7=\p@“\fiŽŽ¡‘ãŒÃ4128Ž‘õŒÏ\splinetrace@{adjusted–¿ªfor“\the\count@\space“segments:ŽŽ¡‘ãŒÃ4129Ž‘ûKÃÏ\the\dimen5,‘¿ª\the\dimen7}%ŽŽ¡‘ãŒÃ4130Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ4132Ž‘õŒÏ\xydef@\adjustbsplineedges@{\bgroup–¿ª%“dimen5“and“dimen7“are“NOT“global“hereŽŽ¡‘ãŒÃ4133Ž‘õŒÏ\splinetrace@{**–¿ªadjusting“edges“**}%ŽŽ¡‘ãŒÃ4134Ž‘ mÏ\readsplineparams@‘¿ª\adjust@forsegments@ŽŽ¡‘ãŒÃ4135Ž‘õŒÏ%‘>þ\count@@=\dimen7\divide\count@@\p@ŽŽ¡‘ãŒÃ4136Ž‘õŒÏ%‘þ¨\advance\dimen7-\count@@\p@‘¿ª\advance\count@@\@neŽŽ¡‘ãŒÃ4137Ž‘õŒÏ%‘>þ\count@=\dimen5\divide\count@\p@ŽŽ¡‘ãŒÃ4138Ž‘õŒÏ%‘þ¨\advance\dimen5-\count@\p@‘¿ª\advance\count@\@neŽŽ¡‘ãŒÃ4139Ž‘õŒÏ\splinetrace@{params:\xysplineparams@}%ŽŽ¡‘ãŒÃ4140Ž‘õŒÏ\splinetrace@{segment‘¿ª\segmentnum@:<\the\dimen5,\the\dimen7>:\xysplineedges@}%ŽŽ¡‘ãŒÃ4141Ž‘õŒÏ%‘>þ\expandafter\ifnum\segmentnum@=\count@ŽŽ¡‘ãŒÃ4142Ž‘õŒÏ%‘>þ\elseŽŽ¡‘ãŒÃ4143Ž‘õŒÏ%‘þ¨\expandafter\ifnum\segmentnum@<\count@\dimen5=\p@ŽŽ¡‘ãŒÃ4144Ž‘õŒÏ%‘þ¨\else\dimen5=\z@‘¿ª\fi\fiŽŽ¡‘ãŒÃ4145Ž‘õŒÏ%‘>þ\expandafter\ifnum\segmentnum@=\count@@ŽŽ¡‘ãŒÃ4146Ž‘ ŠÁÏ\multiply\dimen7by\m@ne‘¿ª\advance\dimen7by\p@ŽŽ¡‘ãŒÃ4147Ž‘õŒÏ%‘>þ\elseŽŽ¡‘ãŒÃ4148Ž‘õŒÏ%‘þ¨\expandafter\ifnum\segmentnum@>\count@@\dimen5=\p@\dimen7=\p@ŽŽŽŽŒ‹¸ €Ä Á à ý*tj‘㌹184’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4149Ž‘õŒÏ%‘þ¨\else\dimen7=\z@‘¿ª\fi\fiŽŽ¤ ™š‘ãŒÃ4150Ž‘ mÏ\expandafter\edef\xysplineedges@{%ŽŽ¡‘ãŒÃ4151Ž‘ËÏ\noexpand\z@;\the\dimen5,\noexpand\z@;\the\dimen7,}%ŽŽ¡‘ãŒÃ4152Ž‘ mÏ\edef\tmp@{\egroupŽŽ¡‘ãŒÃ4153Ž‘ËÏ\noexpand\def\expandafter\noexpand\xysplineedges@{\xysplineedges@}}%ŽŽ¡‘ãŒÃ4154Ž‘ mÏ\tmp@‘¿ª}ŽŽŸgi‘ôŒ¹These–macros“select“the“correct“B²"‘úÔDezier“conš²!trol“pMÞoin˜ts“for“eac˜h“segmen˜t“of“the“spline.‘§This“is“neededŽ¡‘ãŒfor–¦f nding“places“on“the“constructed“curv²!es.ŽŸ °{‘ôŒIn–âJgeneral“there“are“5“tš²!ypMÞes“of“segmen˜t:‘U¥ rst,–ñCsecond,“middle,“pMÞen˜ultimate,“ nal.‘‘‰The‘âJcon˜v˜ersionŽ¡‘ãŒfrom–·B-spline“to“B²"‘úÔDezier“is“slighš²!tly“di eren˜t“for“eac˜h“t˜ypMÞe.‘ñF‘ÿeor“middle“segmen˜ts“the“B²"‘úÔDezier“con˜trolŽ¡‘ãŒpMÞoinš²!ts–¦fare“determined“in“the“follo˜wing“w˜a˜y:ŽŸÜ—‘wÞÃÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸ8:ÆiŽŽŽŽŽ’—)—¹=ŽŽŸø—ž’ªá1Ž’ªáŸÞȉfeyšŸ t3ŽŽŽŽ’³aŸô©”«Ž’¹Yò¹2ÄX‘ÛøŸûz•Â(ÅiÂ)Ž‘ L6¹+‘nìÄX‘ÛøŸûz•Â(ÅiÂ+1)Ž‘¹ÆŸô©”«ŽŽŽŽŽ¤ù¾‘wÞÃÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸ8:ÆiŽŽŽŽŽ’—)—¹=ŽŽŸø—ž’ªá1Ž’ªáŸÞȉfeyšŸ t3ŽŽŽŽ’³aŸô©”«Ž’¹YòÄX‘ÛøŸûz•Â(ÅiÂ)Ž‘ L6¹+‘nì2ÄX‘ÛøŸûz•Â(ÅiÂ+1)Ž‘¹ÆŸô©”«ŽŽŽŽŽ¡‘wÞÃÄXŸú:u‘ÛøÂ(0)ŽŸ  ÅBŸ8:ÆiŽŽŽŽŽ’—)—¹=ŽŽŸø—ž’ªá1Ž’ªáŸÞȉfeyšŸ t6ŽŽŽŽ’³aŸô©”«Ž’¹YòÄX‘ÛøŸûz•Â(ÅiÈÂ1)Ž‘(²¹+–nì4ÄX‘ÛøŸûz•Â(ÅiÂ)Ž‘ L6¹+“ÄX‘ÛøŸûz•Â(ÅiÂ+1)Ž‘¹ÆŸô©”«ŽŽŽŽŽ¡’—)—¹=ŽŽŸø—ž’ªá1Ž’ªáŸÞȉfeyšŸ t6ŽŽŽŽ’³aŸô©”«Ž’¹YòÄX‘ÛøŸûz•Â(ÅiÈÂ1)Ž‘(²¹+–nì7ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸ8:ÆiŽŽŽ‘§`Ç“¹2ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸ8:ÆiŽŽŽ‘ 8tŸô©”«ŽŽŽŽŽ¡‘wÞÃÄXŸú:u‘ÛøÂ(3)ŽŸ  ÅBŸ8:ÆiŽŽŽŽŽ’—)—¹=ŽŽŸø—ž’ªá1Ž’ªáŸÞȉfeyšŸ t6ŽŽŽŽ’³aŸô©”«Ž’¹YòÄX‘ÛøŸûz•Â(ÅiÂ)Ž‘ L6¹+–nì4ÄX‘ÛøŸûz•Â(ÅiÂ+1)Ž‘(²¹+“ÄX‘ÛøŸûz•Â(ÅiÂ+2)Ž‘¹ÆŸô©”«ŽŽŽŽŽ¡’—)—¹=ŽŽŸø—ž’ªá1Ž’ªáŸÞȉfeyšŸ t6ŽŽŽŽ’³aŸô©”«Ž’¹YòÄX‘ÛøŸûz•Â(ÅiÂ+2)Ž‘(²¹+–nì7ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸ8:ÆiŽŽŽ‘§`Ç“¹2ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸ8:ÆiŽŽŽ‘ 8tŸô©”«ŽŽŽŽŽŸ™šŸ•+‘ãŒÃ4178Ž‘õŒÏ\xydef@\bsegment@@ii@iii{%ŽŽ¤ ™š‘ãŒÃ4179Ž‘ûKÃÏ\xycontrolpt@{\count@@}\global\dimen3=\X@c‘¿ª\global\dimen5=\Y@cŽŽ¡‘ãŒÃ4180Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4181Ž‘ûKÃÏ\advance\count@@\@ne–¿ª\xycontrolpt@{\count@@}\A@=\X@c“\B@=\Y@cŽŽ¡‘ãŒÃ4182Ž‘ûKÃÏ\advance\A@–¿ªby2\dimen3“\dimen@nth3\A@‘ T%“\divide\A@“by3\relaxŽŽ¡‘ãŒÃ4183Ž‘ûKÃÏ\advance\B@–¿ªby2\dimen5“\dimen@nth3\B@‘ T%“\divide\B@“by3\relaxŽŽ¡‘ãŒÃ4184Ž‘ûKÃÏ\dimen@=\dimen3–¿ª\advance\dimen@“by2\X@cŽŽ¡‘ãŒÃ4185Ž‘ mÏ\dimen@nth3\dimen@– T%“\divide\dimen@\thr@@ŽŽ¡‘ãŒÃ4186Ž‘ûKÃÏ\global\dimen3=\dimen@ŽŽ¡‘ãŒÃ4187Ž‘ûKÃÏ\dimen@=\dimen5–¿ª\advance\dimen@“by2\Y@cŽŽ¡‘ãŒÃ4188Ž‘ mÏ\dimen@nth3\dimen@– T%“\divide\dimen@\thr@@ŽŽ¡‘ãŒÃ4189Ž‘ûKÃÏ\global\dimen5=\dimen@ŽŽ¡‘ãŒÃ4190Ž‘õŒÏ\splinetrace@{<:–¿ª\the\dimen3,“\the\dimen5}%ŽŽ¡‘ãŒÃ4191Ž‘õŒÏ\splinetrace@{>:–¿ª\the\A@,“\the\B@}%ŽŽ¡‘ãŒÃ4192Ž‘ûKÃÏ\advance\count@@\m@ne‘¿ª}ŽŽŸPˆ‘ãŒÃ4194Ž‘õŒÏ\xydef@\bsegment@@i{\bgroupŽŽ¡‘ãŒÃ4195Ž‘ûKÃÏ\advance\count@@\m@ne‘¿ª\xycontrolpt@{\count@@}%ŽŽ¡‘ãŒÃ4196Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4197Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\X@p=\the\X@c“\Y@p=\the\Y@c}\tmp@ŽŽ¡‘ãŒÃ4198Ž‘ûKÃÏ\advance\X@p-2\dimen3\advance\X@p‘¿ªby7\A@ŽŽ¡‘ãŒÃ4199Ž‘ËÏ\dimen@nth6\X@p– T%“\divide\X@p‘¿ªby6\relaxŽŽ¡‘ãŒÃ4200Ž‘ûKÃÏ\advance\Y@p-2\dimen5\advance\Y@p‘¿ªby7\B@ŽŽ¡‘ãŒÃ4201Ž‘ËÏ\dimen@nth6\Y@p– T%“\divide\Y@p‘¿ªby6\relaxŽŽ¡‘ãŒÃ4202Ž‘õŒÏ}ŽŽŽŽŒ‹¹ ŒÄ Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй185ŽŽ ¶?? ýh«w‘ãŒÃ4204Ž‘õŒÏ\xydef@\bsegment@@iv{%ŽŽ¤ ™š‘ãŒÃ4205Ž‘ûKÃÏ\advance\count@@\tw@‘¿ª\xycontrolpt@{\count@@}%ŽŽ¡‘ãŒÃ4206Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4207Ž‘ûKÃÏ\advance\X@c‘¿ªby7\dimen3\advance\X@c-2\A@ŽŽ¡‘ãŒÃ4208Ž‘ËÏ\dimen@nth6\X@c– T%“\divide\X@c‘¿ªby6\relaxŽŽ¡‘ãŒÃ4209Ž‘ûKÃÏ\advance\Y@c‘¿ªby7\dimen5\advance\Y@c-2\B@ŽŽ¡‘ãŒÃ4210Ž‘ËÏ\dimen@nth6\Y@c– T%“\divide\Y@c‘¿ªby6\relaxŽŽ¡‘ãŒÃ4211Ž‘õŒÏ\splinetrace@{>>:–¿ª\the\X@c,“\the\Y@c“}%ŽŽ¡‘ãŒÃ4212Ž‘õŒÏ}ŽŽ©Pˆ‘ôŒ¹F‘ÿeor–Çthe“second“segmenš²!t“the“expression“for“ÄXŸú:u‘ÛøÂ(0)ŽŸ  ÅBŸqÃ2ŽŽŽ‘ÿv¹is“di eren˜t.‘?±Similarly“the“expression“for“ÄXŸú:u‘ÛøÂ(3)ŽŸ  ÅBŸqÆnóq¡% cmsy6ÉÃ1ŽŽŽ‘@=¹isŽ¡‘ãŒaltered–¦ffor“the“pMÞenš²!ultimate“segmen˜t.Ž¡Ÿï©‘|ÄXŸú:u‘ÛøÂ(0)ŽŸ  ÅBŸqÃ2ŽŽŽŽŽ’›\ñ¹=ŽŽŸø—ž’¯j1Ž’¯jŸÞȉfeyšŸ t4ŽŽŽŽ’·”hŸô©”«Ž’½LÄX‘ÛøŸûz•Â(1)Ž–§`¹+›nì4ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸqÃ2ŽŽŽ“Ç˜ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸqÃ2ŽŽŽ‘ 8tŸô©”«ŽŽŽŽŽŸù¾‘rÑVÄXŸú:u‘ÛøÂ(3)ŽŸ  ÅBŸqÆnÉÃ1ŽŽŽŽŽ’›\ñ¹=ŽŽŸø—ž’¯j1Ž’¯jŸÞȉfeyšŸ t4ŽŽŽŽ’·”hŸô©”«Ž’½LÄX‘ÛøŸûz•Â(3)Ž‘§`¹+–nì4ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸqÆnÉÃ1ŽŽŽ‘è'Ç“ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸqÆnÉÃ1ŽŽŽ‘y;Ÿô©”«ŽŽŽŽŽŸ™šŸÉN‘ãŒÃ4227Ž‘õŒÏ\xydef@\bsegment@@ii@i{\bgroupŽŽ¡‘ãŒÃ4228Ž‘ûKÃÏ\advance\count@@\m@ne‘¿ª\xycontrolpt@{\count@@}%ŽŽ¡‘ãŒÃ4229Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4230Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\X@p=\the\X@c“\Y@p=\the\Y@c}\tmp@ŽŽ¡‘ãŒÃ4231Ž‘ûKÃÏ\advance\X@p-\dimen3\advance\X@p‘¿ªby4\A@ŽŽ¡‘ãŒÃ4232Ž‘ËÏ\dimen@nth4\X@p– T%“\divide\X@p‘¿ªby4\relaxŽŽ¡‘ãŒÃ4233Ž‘ûKÃÏ\advance\Y@p-\dimen5\advance\Y@p‘¿ªby4\B@ŽŽ¡‘ãŒÃ4234Ž‘ËÏ\dimen@nth4\Y@p– T%“\divide\Y@p‘¿ªby4\relaxŽŽ¡‘ãŒÃ4235Ž‘õŒÏ\splinetrace@{<<:–¿ª\the\X@p,“\the\Y@p}%ŽŽ¡‘ãŒÃ4236Ž‘õŒÏ}ŽŽ¡‘ãŒÃ4237Ž‘õŒÏ\xydef@\bsegment@@y@iv{%ŽŽ¡‘ãŒÃ4238Ž‘ûKÃÏ\advance\count@@\tw@‘¿ª\xycontrolpt@{\count@@}%ŽŽ¡‘ãŒÃ4239Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4240Ž‘ûKÃÏ\advance\X@c‘¿ªby4\dimen3\advance\X@c-\A@ŽŽ¡‘ãŒÃ4241Ž‘ËÏ\dimen@nth4\X@c– T%“\divide\X@c‘¿ªby4\relaxŽŽ¡‘ãŒÃ4242Ž‘ûKÃÏ\advance\Y@c‘¿ªby4\dimen5\advance\Y@c-\B@ŽŽ¡‘ãŒÃ4243Ž‘ËÏ\dimen@nth4\Y@c– T%“\divide\Y@c‘¿ªby4\relaxŽŽ¡‘ãŒÃ4244Ž‘õŒÏ}ŽŽ¦‘ôŒ¹F‘ÿeor–žWthe“ rst“segmenš²!t“the“ rst“three“B²"‘úÔDezier“con˜trol“pMÞoin˜ts“are“alw˜a˜ys“determined“in“the“same“w˜a˜y:ŽŸº‘GuÄXŸú:u‘ÛøÂ(0)ŽŸ  ÅBŸqÃ1ŽŽŽ‘C¹=‘ §ÄX‘ÛøŸûz•Â(0)ŽŽŽ’Š0±ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸqÃ1ŽŽŽ‘C¹=‘ §ÄX‘ÛøŸü¾Â(1)ŽŽŽ’Í_íÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸqÃ1ŽŽŽ‘C¹=Ÿø—ž‘=Ú1Ž‘=ÚŸÞȉfeyšŸ t2ŽŽŽŽ‘ ê§(ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸqÃ1ŽŽŽ‘§`¹+‘nìÄX‘ÛøŸûz•Â(2)Ž‘ 8t¹)ŽŽŽ¤ù¾‘CŠ3+‘¦fsegmen²!tsŽŽ’Í_íÄXŸú:u‘ÛøÂ(3)ŽŸ  ÅBŸqÃ1ŽŽŽ‘C¹=Ÿø—ž‘=Ú1Ž‘=ÚŸÞȉfeyšŸ t6ŽŽŽŽ‘ ê§(7ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸqÃ1ŽŽŽ–§`Ç›nì¹2ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸqÃ1ŽŽŽ“¹+˜ÄX‘ÛøŸûz•Â(3)Ž‘ 8t¹)ŽŽŽ¡‘LV2‘¦fsegmen²!tsŽŽ’Í_íÄXŸú:u‘ÛøÂ(3)ŽŸ  ÅBŸqÃ1ŽŽŽ‘C¹=Ÿø—ž‘=Ú1Ž‘=ÚŸÞȉfeyšŸ t4ŽŽŽŽ‘ ê§(4ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸqÃ1ŽŽŽ–§`Ç›nìÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸqÃ1ŽŽŽ“¹+˜ÄX‘ÛøŸûz•Â(3)Ž‘ 8t¹)ŽŽŽŸ™šŸÉN‘ãŒÃ4260Ž‘õŒÏ\xydef@\bsegment@i{%ŽŽ¤ ™š‘ãŒÃ4261Ž‘ûKÃÏ\xycontrolpt@\z@–¿ª\X@p=\the\X@c“\Y@p=\the\Y@cŽŽ¡‘ãŒÃ4262Ž‘õŒÏ%‘¿ª\ifx\cv@start\relaxŽŽ¡‘ãŒÃ4263Ž‘õŒÏ%‘ T\bgroup\csname‘¿ªcv@0\endcsnameŽŽŽŽŒ‹º ›R Á à ý*tj‘㌹186’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4264Ž‘õŒÏ%‘ T\edef\tmp@{\egroup–¿ª\X@p=\the\X@c“\Y@p=\the\Y@c}\tmp@ŽŽ¤ ™š‘ãŒÃ4265Ž‘õŒÏ%–¿ª\else\xycontrolpt@\z@“\X@p=\the\X@c“\Y@p=\the\Y@c\fiŽŽ¡‘ãŒÃ4266Ž‘õŒÏ\splinetrace@{0:–¿ª\the\X@p“\the\Y@p}%ŽŽ¡‘ãŒÃ4267Ž‘ mÏ\xycontrolpt@\@neŽŽ¡‘ãŒÃ4268Ž‘õŒÏ\splinetrace@{1:–¿ª\the\X@c,“\the\Y@c}\A@=\X@c“\B@=\Y@cŽŽ¡‘ãŒÃ4269Ž‘ mÏ\xycontrolpt@\tw@ŽŽ¡‘ãŒÃ4270Ž‘ mÏ\dimen@=\X@c–¿ª\advance\dimen@\A@“\dimen@halfŽŽ¡‘ãŒÃ4271Ž‘ mÏ\global\dimen3=\dimen@ŽŽ¡‘ãŒÃ4272Ž‘õŒÏ\splinetrace@{2:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4273Ž‘ mÏ\dimen@=\Y@c–¿ª\advance\dimen@\B@“\dimen@halfŽŽ¡‘ãŒÃ4274Ž‘ mÏ\global\dimen5=\dimen@‘¿ª}ŽŽ©Pˆ‘ãŒÃ4276Ž‘õŒÏ\xydef@\bsegment@i@iv{%ŽŽ¡‘ãŒÃ4277Ž‘ mÏ\xycontrolpt@{3}%ŽŽ¡‘ãŒÃ4278Ž‘õŒÏ\splinetrace@{3:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4279Ž‘ËÏ\advance\X@c‘¿ªby7\dimen3\advance\X@c-2\A@ŽŽ¡‘ãŒÃ4280Ž‘ ŠÁÏ\dimen@nth6\X@c– T%“\divide\X@c‘¿ªby6\relaxŽŽ¡‘ãŒÃ4281Ž‘ËÏ\advance\Y@c‘¿ªby7\dimen5\advance\Y@c-2\B@ŽŽ¡‘ãŒÃ4282Ž‘ ŠÁÏ\dimen@nth6\Y@c– T%“\divide\Y@c‘¿ªby6\relaxŽŽ¡‘ãŒÃ4283Ž‘ûKÃÏ}ŽŽ¦‘ôŒ¹The–¦flast“segmenš²!t“is“determined“symmetrically“from“the“ nal“four“con˜trol“pMÞoin˜ts:ŽŸÁÏ‘3ž–ÄXŸú:u‘ÛøÂ(3)ŽŸ  ÅBŸÆnŽŽŽ‘C¹=‘ §ÄX‘ÛøŸûz•Â(ÅnÂ+2)ŽŽŽ’‚’šÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸÆnŽŽŽ‘C¹=‘ §ÄX‘ÛøŸü¾Â(ÅnÂ+1)ŽŽŽ’Ñ†žÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸÆnŽŽŽ‘C¹=Ÿø—ž‘=Ú1Ž‘=ÚŸÞȉfeyšŸ t2ŽŽŽŽ‘ ê§(ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸÆnŽŽŽ‘§`¹+‘nìÄX‘ÛøŸûz•Â(ÅnÂ)Ž‘ À¹)ŽŽŽ¤ù¾‘;ëù3+‘¦fsegmen²!tsŽŽ’цžÄXŸú:u‘ÛøÂ(0)ŽŸ  ÅBŸÆnŽŽŽ‘C¹=Ÿø—ž‘=Ú1Ž‘=ÚŸÞȉfeyšŸ t6ŽŽŽŽ‘ ê§(ÄX‘ÛøŸûz•Â(ÅnÈÂ1)Ž‘l(Ç–nì¹2ÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸÆnŽŽŽ‘§`¹+“7ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸÆnŽŽŽ‘ 8t¹)ŽŽŽ¡‘Dp?2‘¦fsegmen²!tsŽŽ’цžÄXŸú:u‘ÛøÂ(0)ŽŸ  ÅBŸÆnŽŽŽ‘C¹=Ÿø—ž‘=Ú1Ž‘=ÚŸÞȉfeyšŸ t4ŽŽŽŽ‘ ê§(ÄX‘ÛøŸûz•Â(1)Ž–§`Ç›nìÄXŸú:u‘ÛøÂ(2)ŽŸ  ÅBŸÆnŽŽŽ“¹+˜4ÄXŸú:u‘ÛøÂ(1)ŽŸ  ÅBŸÆnŽŽŽ‘ 8t¹)ŽŽŽŸ™šŸzc‘ãŒÃ4298Ž‘õŒÏ\xydef@\bsegment@z{%ŽŽ¤ ™š‘ãŒÃ4299Ž‘ûKÃÏ\expandafter\count@@\xycrvptsnum@‘¿ª\advance\count@@\@neŽŽ¡‘ãŒÃ4300Ž‘ûKÃÏ\xycontrolpt@{\the\count@@}\relaxŽŽ¡‘ãŒÃ4301Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4302Ž‘ûKÃÏ\advance\count@@\m@neŽŽ¡‘ãŒÃ4303Ž‘ûKÃÏ\bgroupŽŽ¡‘ãŒÃ4304Ž‘ mÏ\xycontrolpt@{\the\count@@}%ŽŽ¡‘ãŒÃ4305Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4306Ž‘ mÏ\global\dimen3=\X@c‘¿ª\global\dimen5=\Y@cŽŽ¡‘ãŒÃ4307Ž‘ mÏ\advance\count@@\m@ne‘¿ª\xycontrolpt@{\the\count@@}%ŽŽ¡‘ãŒÃ4308Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4309Ž‘ mÏ\A@=\X@c–¿ª\advance\A@\dimen3“\halve@dimen\A@‘>þ%‘ T\divide\A@\tw@ŽŽ¡‘ãŒÃ4310Ž‘ mÏ\B@=\Y@c–¿ª\advance\B@\dimen5“\halve@dimen\B@‘>þ%‘ T\divide\B@\tw@ŽŽ¡‘ãŒÃ4311Ž‘ mÏ\edef\tmp@{\egroup–¿ª\A@=\the\A@“\B@=\the\B@“\count@@=\the\count@@}%ŽŽ¡‘ãŒÃ4312Ž‘ûKÃÏ\tmp@‘¿ª}ŽŽ¦‘ãŒÃ4314Ž‘õŒÏ\xydef@\bsegment@z@i{%ŽŽ¡‘ãŒÃ4315Ž‘ûKÃÏ\expandafter\count@@\xycrvptsnum@\relax\advance\count@@-\tw@ŽŽ¡‘ãŒÃ4316Ž‘ûKÃÏ\bgroupŽŽ¡‘ãŒÃ4317Ž‘ mÏ\xycontrolpt@{\count@@}\X@p=\the\X@c‘¿ª\Y@p=\the\Y@cŽŽ¡‘ãŒÃ4318Ž‘õŒÏ\splinetrace@{\the\count@@:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4319Ž‘ mÏ\advance\X@p–¿ªby7\A@“\advance\X@p-2\dimen3“\dimen@nth6\X@pŽŽŽŽŒ‹» ©t Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй187ŽŽ ¶?? ýh«w‘ãŒÃ4320Ž‘ mÏ\advance\Y@p–¿ªby7\B@“\advance\Y@p-2\dimen5“\dimen@nth6\Y@pŽŽ¤ ™š‘ãŒÃ4321Ž‘ mÏ\edef\tmp@{\egroup–¿ª\X@p=\the\X@p“\Y@p=\the\Y@p}%ŽŽ¡‘ãŒÃ4322Ž‘ûKÃÏ\tmp@‘¿ª}ŽŽ©vK‘ôŒ¹This–¦fis“the“switc•²!hing-y“ard.ŽŸPˆ‘ãŒÃ4328Ž‘õŒÏ\xydef@\bsplinesegment@#1{\xybsplinemethods@ŽŽ¡‘ãŒÃ4329Ž‘ûKÃÏ\count@@=#1\relaxŽŽ¡‘ãŒÃ4330Ž‘ûKÃÏ\ifnum\count@@=\@ne‘(=¦%‘ Tfirst‘¿ªsegmentŽŽ¡‘ãŒÃ4331Ž‘ mÏ\bsegment@i‘¿ª\bsegment@i@ivŽŽ¡‘ãŒÃ4332Ž‘ûKÃÏ\else\ifnum\count@@=\tw@– T%“second‘¿ªsegmentŽŽ¡‘ãŒÃ4333Ž‘ mÏ\bsegment@@ii@iii–¿ª\bsegment@@ii@i“\bsegment@@ivŽŽ¡‘ãŒÃ4334Ž‘õŒÏ%‘¿ª\else\expandafter\count@\xycrvcnt@\advance\count@\m@neŽŽ¡‘ãŒÃ4335Ž‘ûKÃÏ\else\expandafter\count@\xycrvptsnum@\advance\count@\m@neŽŽ¡‘ãŒÃ4336Ž‘ûKÃÏ\ifnum\count@@=\count@‘þ¨%‘ Tlast‘¿ªsegmentŽŽ¡‘ãŒÃ4337Ž‘ mÏ\bsegment@z‘¿ª\bsegment@z@iŽŽ¡‘ãŒÃ4338Ž‘ûKÃÏ\else\advance\count@\m@neŽŽ¡‘ãŒÃ4339Ž‘ mÏ\ifnum\count@@=\count@‘>þ%‘ Tpenult.‘¿ªsegmentŽŽ¡‘ãŒÃ4340Ž‘ËÏ\bsegment@@ii@iii–¿ª\bsegment@@i“\bsegment@@y@ivŽŽ¡‘ãŒÃ4341Ž‘ mÏ\else‘rùH%‘ Tmiddle‘¿ªsegmentsŽŽ¡‘ãŒÃ4342Ž‘ËÏ\bsegment@@ii@iii–¿ª\bsegment@@i“\bsegment@@ivŽŽ¡‘ãŒÃ4343Ž‘ûKÃÏ\fi\fi\fi\fiŽŽ¡‘ãŒÃ4344Ž‘ûKÃÏ\expandafter\def\expandafter\segmentnum@\expandafter{\number#1}%ŽŽ¡‘ãŒÃ4345Ž‘ûKÃÏ\bsplined@‘¿ª}ŽŽ¦‘ôŒ¹Here–¦fare“the“di erences“for“3“conš²!trol“pMÞoin˜ts.ŽŸPˆ‘ãŒÃ4351Ž‘õŒÏ\xydef@\bsplinesegment@iii#1{\xybsplinemethods@ŽŽ¡‘ãŒÃ4352Ž‘õŒÏ\splinetrace@{2–¿ªsegments;“\number#1}%ŽŽ¡‘ãŒÃ4353Ž‘ûKÃÏ\count@@=#1\relaxŽŽ¡‘ãŒÃ4354Ž‘ûKÃÏ\ifnum\count@@=\@ne‘¿ª\bsegment@iŽŽ¡‘ãŒÃ4355Ž‘ËÏ\xycontrolpt@{3}%ŽŽ¡‘ãŒÃ4356Ž‘õŒÏ\splinetrace@{3:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4357Ž‘ËÏ\advance\X@c‘¿ª4\dimen3\advance\X@c-\A@ŽŽ¡‘ãŒÃ4358Ž‘ ŠÁÏ\dimen@nth4\X@c‘>þ%‘ T\divide\X@c‘¿ªby4\relaxŽŽ¡‘ãŒÃ4359Ž‘ËÏ\advance\Y@c‘¿ª4\dimen5\advance\Y@c-\B@ŽŽ¡‘ãŒÃ4360Ž‘ ŠÁÏ\dimen@nth4\Y@c‘>þ%‘ T\divide\Y@c‘¿ªby4\relaxŽŽ¡‘ãŒÃ4361Ž‘ûKÃÏ\else\ifnum\count@@=\tw@‘¿ª\bsegment@zŽŽ¡‘ãŒÃ4362Ž‘ËÏ\bgroup\xycontrolpt@{\@ne}%ŽŽ¡‘ãŒÃ4363Ž‘õŒÏ\splinetrace@{1:–¿ª\the\X@c,“\the\Y@c}%ŽŽ¡‘ãŒÃ4364Ž‘ËÏ\edef\tmp@{\egroup–¿ª\X@p=\the\X@c“\Y@p=\the\Y@c}\tmp@ŽŽ¡‘ãŒÃ4365Ž‘ËÏ\advance\X@p–¿ª4\A@“\advance\X@p-\dimen3“%ŽŽ¡‘ãŒÃ4366Ž‘ ŠÁÏ\dimen@nth4\X@p‘>þ%‘ T\divide\X@p‘¿ªby4\relaxŽŽ¡‘ãŒÃ4367Ž‘ËÏ\advance\Y@p–¿ª4\B@“\advance\Y@p-\dimen5“%ŽŽ¡‘ãŒÃ4368Ž‘ ŠÁÏ\dimen@nth4\Y@p‘>þ%‘ T\divide\Y@p‘¿ªby4\relaxŽŽ¡‘ãŒÃ4369Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ4370Ž‘ûKÃÏ\expandafter\def\expandafter\segmentnum@\expandafter{\number#1}%ŽŽ¡‘ãŒÃ4371Ž‘ûKÃÏ\bsplined@‘¿ª}ŽŽ¦‘ôŒ¹Here–¦fare“the“di erences“for“4“conš²!trol“pMÞoin˜ts.ŽŸPˆ‘ãŒÃ4377Ž‘õŒÏ\xydef@\bsplinesegment@iv#1{\xybsplinemethods@ŽŽ¡‘ãŒÃ4378Ž‘õŒÏ\splinetrace@{3–¿ªsegments;“\number#1}%ŽŽŽŽŒ‹¼ ¶Î Á à ý*tj‘㌹188’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4379Ž‘ûKÃÏ\count@@=#1\relaxŽŽ¤ ™š‘ãŒÃ4380Ž‘ûKÃÏ\ifnum\count@@=\@ne–¿ª\bsegment@i“\bsegment@i@ivŽŽ¡‘ãŒÃ4381Ž‘ûKÃÏ\else\ifnum\count@@=\tw@ŽŽ¡‘ãŒÃ4382Ž‘ mÏ\bsegment@@ii@iii–¿ª\bsegment@@ii@i“\bsegment@@y@ivŽŽ¡‘ãŒÃ4383Ž‘ûKÃÏ\else\ifnum\count@@=3\relaxŽŽ¡‘ãŒÃ4384Ž‘ mÏ\bsegment@z–¿ª\bsegment@z@i“%\xycontrolpt@{5}%ŽŽ¡‘ãŒÃ4385Ž‘ûKÃÏ\fi\fi\fiŽŽ¡‘ãŒÃ4386Ž‘ûKÃÏ\expandafter\def\expandafter\segmentnum@\expandafter{\number#1}%ŽŽ¡‘ãŒÃ4387Ž‘ûKÃÏ\bsplined@‘¿ª}ŽŽŸ!Ü‘ãŒÞ2.1.2Ž‘ ÌCircles–€and“EllipsesŽŸ«ÿ‘㌹Here–ûaw²!e“describšMÞe“the“means“to“a“sp˜ecify“circles“of“arbitrary“radius,‘ draš²!wn“with“arbitrary“line“st˜yles.Ž¡‘ãŒWhen–¬hlarge-sized“ob‘›»jects“are“used“they“are“regularly“spaced“around“the“circle.‘ïäSimilarly“ellipses“ma²!yŽ¡‘ãŒb•MÞe›3sp“eci ed,‘V(but˜only˜those˜ha²!ving˜ma‘›»jor/minor˜axes˜aligned˜in˜the˜standard˜directions;‘yOspacing˜ofŽ¡‘ãŒob‘›»jects–¦fis“no“longer“regular,“but“is“buncš²!hed“to˜w˜ard“the“narro˜w˜er“ends.Ž¡‘ôŒSuc²!h–¦fa“circle“or“ellipse“is“spMÞeci ed“using.–Ó3.“.Ž‘ãŒŸ f؉ffã²dŸ U’°HÏ\xycircleŽ’ãÛBÇh¹v•²!ectorÇiÏ{Ž‘¿ªÇh¹st“yleÇiÏ}ŽŽŽŸJȉffã²dŸÇ–Ae¹where“the“compMÞonenš²!ts“of“the“Çh¹v˜ectorÇi“¹determine“the“lengths“of“the“axis“for“the“ellipse;‘Žåth˜us“givingŽ¡a–ÿ circle“when“equal.‘è The“Çh¹stš²!yleÇi“¹can“bMÞe“an˜y“Çh¹connÇi¹,‘Nas“in“3.2“that“w˜orks“with“curv˜ed“arro˜ws|man˜yŽ¡do.‘‹Alternativ•²!ely›²KÇh¹st“yleÇi˜¹can˜bMÞe˜an“y˜Çh¹ob‘›»jectÇi¹,‘µDwhic“h˜will˜b•MÞe˜placed˜equally-spaced˜ab“out˜the˜circle˜atŽ¡a–¦fseparation“to“snš²!ugly“ t“the“Çh¹ob‘›»jectÇi¹s.‘ÝÝIf“Çh¹empt˜yÇi“¹then“a“solid“circle“or“ellipse“is“dra˜wn.Ž¡‘ÔT‘þó\o‘ĵDo:‘®¹Recognize–FáspMÞecial“Çh¹st²!yleÇi¹s;‘f¸e.g.‘¾Ï.Ž‘ Ä‘¹for“dotted“with“Ï\zerodotŽ‘1D1¹,‘YüÏ=Ž‘ `‡¹for“a“doubled“circle“|“alterŽ¡the–=jradius,‘c+draš²!w“t˜w˜o“circles;‘ˆìÏ:Ž›†¹for“double“dotted“(pMÞerhaps“use“Ï\doubled@Ž‘7úd¹,‘c+Ï\tripled@Ž‘8 %¹);‘ˆìÏ>Ž˜¹and“Ï<Ž‘:~¹forŽ¡c•²!hevrons;›¦fan“y˜others?Ž¡‘T‘ÿeo–¢ðuse“anš²!y“of“these“spMÞecial“sym˜bMÞols“as“the“Çh¹ob‘›»jectÇi“¹for“Çh¹st˜yleÇi“¹then“enclose“it“within“extra“braces,Ž¡Ðe¹.Ðg¹.‘¦fÏ\xycircle<20pt>{{>}}Ž‘vŸ®¹.Ž¡‘The–curvš²!es“are“not“truly“circular“or“elliptical,‘{but“are“appro˜ximations“giv˜en“b˜y“cubic“B²"‘úÔDezier“seg-Ž¡menš²!ts.‘ÝÝHence–¦fthe“ÏxycurveŽ‘/Šr¹feature“m˜ust“bMÞe“loaded.ޤPˆÃ4433Ž‘Ï\message{circles,}ŽŽ¡‘¹The–Hcircles“are“constructed“from“four“B²"‘úÔDezier“cubic“curvš²!es,‘s€one“for“eac˜h“quadran˜t“of“the“circleޤ ™šor–—4circle.‘°FT‘ÿeo“do“this“it“is“sucienš²!t“to“establish“the“con˜trol“pMÞoin˜ts“for“eac˜h“cubic“segmen˜t.‘°FThis“isŽ¡straigh•²!tforw“ard,‘fäusing–Wthe“folloš²!wing“\magic“n˜um˜bMÞer",‘fägiv˜en“a“square“basis“suc˜h“that“the“desired“circleŽ¡is–¦fthe“unit“circle,“or“rectangular“basis“for“whic²!h“the“\unit“circle"“is“the“desired“circle.Ž©PˆÃ4444Ž‘Ï\xydef@\Circmagic@@{0.5517847}ŽŽ¡Ã4445Ž‘Ï\xylet@\Circmagic=\Circmagic@@ŽŽ¡Ã4446Ž‘Ï\xydef@\twoPi@{6.2831852}ŽŽ¡Ã4447Ž‘Ï\xydef@\fullPi@{3.1415926}ŽŽ¡Ã4448Ž‘Ï\xydef@\halfPi@{1.5707963}ŽŽ¦‘¹This–Ò6is“the“magic“n•²!um“bMÞer,‘Ý)exactly›Ò6giv“en˜b“yŸû°K‘%kÂ1Ž‘iŸÆ‰fe€ŸPA12ŽŽŽŽ‘¸¤¹(ŽŽŽ‘úÇŸö÷7ÇpŽ‘ÈŸö÷7‰p lΟ ɹ385ŽŽŽ‘/·Ç‘Œ!¹13)ŽŽŽ‘B#,‘Ý)that˜helps˜construct˜the˜B²"‘úÔDezier˜cubicŽ¡curvš²!e–KÅthat“bMÞest“appro˜ximates“a“quadran˜t“of“a“circle.‘ÍùIt“doMÞes“so“with“remark‘ÿdDable“accuracy‘ÿe,‘udi eringŽ¡bš²!y–™Åat“most“.5%“of“the“radius“at“an˜y“angle;‘ûthe“a˜v˜erage“deviation“along“the“whole“quadran˜t“bMÞeing“lessŽ¡than–¦f.13%.‘ÝÝThe“basic“Çh¹ob‘›»jectÇi“¹de ned“here“is“Ï\circleŽ‘+ä ¹.ަÃ4461Ž‘Ï\xynew@{dimen}\L@ŽŽ¦Ã4463Ž‘Ï\xydef@\xycircle#1#{\hbox\bgroup\afterVECTORorEMPTY{%ŽŽ¡Ã4464Ž‘¿ªÏ\xy@@{\R@=\X@c–¿ª\L@=\Y@c}\xycircle@}{\xy@@{\R@=\R@c“\L@=\L@c}\xycircle@}#1@}ŽŽŽŽŒ‹½ ÂY Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй189ŽŽ ¶?? ýh«w‘ãŒÃ4466Ž‘õŒÏ\xydef@\xycircle@#1@#2{%ŽŽ¤ ™š‘ãŒÃ4467Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\def\onlyQuad@{}\else‘¿ª\count@=#1\relaxŽŽ¡‘ãŒÃ4468Ž‘ mÏ\ifnum\count@<5‘¿ª\advance\count@-3\relaxŽŽ¡‘ãŒÃ4469Ž‘ËÏ\ifnum\count@<\z@–¿ª\advance\count@“4\relax\fi“\edef\onlyQuad@{\the\count@}%ŽŽ¡‘ãŒÃ4470Ž‘ mÏ\else\xyerror@{illegal–¿ªcircle“:“must“be““or“}{}\fiŽŽ¡‘ãŒÃ4471Ž‘ûKÃÏ\fi‘¿ª\xy@@{\def\circleSTYLE@{#2}}\def\circleSTYLE@{#2}\xycircle@i}ŽŽ©Pˆ‘ãŒÃ4473Ž‘õŒÏ\xydef@\xycircle@i{\hbox{\vbox{\vskip\L@ŽŽ¡‘ãŒÃ4474Ž‘ûKÃÏ\hbox–¿ªto2\R@{\hfill“\buildcircle@“\hfill}\vskip\L@“}}%ŽŽ¡‘ãŒÃ4475Ž‘ûKÃÏ\L@c=\R@–¿ª\R@c=\R@“\D@c=\L@“\U@c=\L@“\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ4476Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\relax}\Edge@c={\circleEdge}%ŽŽ¡‘ãŒÃ4477Ž‘ûKÃÏ\OBJECT@x}ŽŽ¦‘ãŒÃ4479Ž‘õŒÏ\xydef@\adjustMinMaxcirc@#1#2{%ŽŽ¡‘ãŒÃ4480Ž‘ûKÃÏ\dimen@=\X@c–¿ª\advance\dimen@#1\relax\ifdim\dimen@>\X@max“\X@max=\dimen@\fiŽŽ¡‘ãŒÃ4481Ž‘ûKÃÏ\dimen@=\X@c–¿ª\advance\dimen@-#1\relax\ifdim\dimen@<\X@min“\X@min=\dimen@\fiŽŽ¡‘ãŒÃ4482Ž‘ûKÃÏ\dimen@=\Y@c–¿ª\advance\dimen@#2\relax\ifdim\dimen@>\Y@max“\Y@max=\dimen@\fiŽŽ¡‘ãŒÃ4483Ž‘ûKÃÏ\dimen@=\Y@c–¿ª\advance\dimen@-#2\relax\ifdim\dimen@<\Y@min“\Y@min=\dimen@\fiŽŽ¡‘ãŒÃ4484Ž‘õŒÏ}ŽŽ¦‘ãŒÃ4486Ž‘õŒÏ%\xydef@\buildcircle@{\save@ŽŽ¡‘ãŒÃ4487Ž‘õŒÏ%%‘¿ª\cubicCircleControls@@ŽŽ¡‘ãŒÃ4488Ž‘õŒÏ%‘¿ª\ifx\circleSTYLE@\empty\DN@{\solidcircle@{}}%ŽŽ¡‘ãŒÃ4489Ž‘õŒÏ%–¿ª\else“\expandafter\DN@\expandafter{\addDASH@{}}\relaxŽŽ¡‘ãŒÃ4490Ž‘õŒÏ%‘ T\ifx\next@\circleSTYLE@‘¿ª\DN@{%ŽŽ¡‘ãŒÃ4491Ž‘õŒÏ%‘>þ\expandafter\addDASH@\expandafter{\expandafter{\addDASH@{}}}}%ŽŽ¡‘ãŒÃ4492Ž‘õŒÏ%–¿ª\else\DN@{\circledobjects@}\fi\fi\next@“\leave@}ŽŽŸv‘ãŒÃ4496Ž‘õŒÏ\xydef@\cubicCircleControls@@{\X@origin=\z@‘¿ª\Y@origin=\z@ŽŽ¡‘ãŒÃ4497Ž‘ mÏ\X@xbase=\R@–¿ª\Y@xbase=\z@“\X@ybase=\z@“\Y@ybase=\L@ŽŽ¡‘ãŒÃ4498Ž‘ mÏ\vfromcartesian@@1,0@\czeroEdge@\idfromc@{0@c}%ŽŽ¡‘ãŒÃ4499Ž‘ mÏ\vfromcartesian@@0,1@\czeroEdge@\idfromc@{1@c}%ŽŽ¡‘ãŒÃ4500Ž‘ mÏ\vfromcartesian@@-1,0@\czeroEdge@\idfromc@{2@c}%ŽŽ¡‘ãŒÃ4501Ž‘ mÏ\vfromcartesian@@0,-1@\czeroEdge@\idfromc@{3@c}%ŽŽ¡‘ãŒÃ4502Ž‘ mÏ\vfromcartesian@@1,\Circmagic@@‘¿ª@\czeroEdge@\idfromc@{1@m}%ŽŽ¡‘ãŒÃ4503Ž‘ mÏ\vfromcartesian@@\Circmagic@@,1@\czeroEdge@\idfromc@{2@m}%ŽŽ¡‘ãŒÃ4504Ž‘ mÏ\vfromcartesian@@-\Circmagic@@,1@\czeroEdge@\idfromc@{3@m}%ŽŽ¡‘ãŒÃ4505Ž‘ mÏ\vfromcartesian@@-1,\Circmagic@@‘¿ª@\czeroEdge@\idfromc@{4@m}%ŽŽ¡‘ãŒÃ4506Ž‘ mÏ\vfromcartesian@@-1,-\Circmagic@@‘¿ª@\czeroEdge@\idfromc@{5@m}%ŽŽ¡‘ãŒÃ4507Ž‘ mÏ\vfromcartesian@@-\Circmagic@@,-1@\czeroEdge@\idfromc@{6@m}%ŽŽ¡‘ãŒÃ4508Ž‘ mÏ\vfromcartesian@@\Circmagic@@,-1@\czeroEdge@\idfromc@{7@m}%ŽŽ¡‘ãŒÃ4509Ž‘ mÏ\vfromcartesian@@1,-\Circmagic@@‘¿ª@\czeroEdge@\idfromc@{8@m}%ŽŽ¡‘ãŒÃ4510Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ4512Ž‘õŒÏ\xydef@\doCircleQuadrant@@#1#2{\save@‘¿ª\ifcase#2\relaxŽŽ¡‘ãŒÃ4513Ž‘ûKÃÏ\doCircleQuadrant@@@{0@c}{1@m}{2@m}{1@c}{#1}\orŽŽ¡‘ãŒÃ4514Ž‘ûKÃÏ\doCircleQuadrant@@@{1@c}{3@m}{4@m}{2@c}{#1}\orŽŽ¡‘ãŒÃ4515Ž‘ûKÃÏ\doCircleQuadrant@@@{2@c}{5@m}{6@m}{3@c}{#1}\orŽŽ¡‘ãŒÃ4516Ž‘ûKÃÏ\doCircleQuadrant@@@{3@c}{7@m}{8@m}{0@c}{#1}\orŽŽ¡‘ãŒÃ4517Ž‘ûKÃÏ\doCircleQuadrant@@@{0@c}{1@m}{2@m}{1@c}{#1}\orŽŽ¡‘ãŒÃ4518Ž‘ûKÃÏ\doCircleQuadrant@@@{1@c}{3@m}{4@m}{2@c}{#1}\orŽŽ¡‘ãŒÃ4519Ž‘ûKÃÏ\doCircleQuadrant@@@{2@c}{5@m}{6@m}{3@c}{#1}\orŽŽŽŽŒ‹¾ Ò Á à ý*tj‘㌹190’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4520Ž‘ûKÃÏ\doCircleQuadrant@@@{3@c}{7@m}{8@m}{0@c}{#1}\fi–¿ª\leave@“}ŽŽ©Pˆ‘ãŒÃ4522Ž‘õŒÏ\xydef@\doCircleQuadrant@@@#1#2#3#4#5{%ŽŽ¤ ™š‘ãŒÃ4523Ž‘ûKÃÏ\cfromid@{#1}\pfromc@\senter@ŽŽ¡‘ãŒÃ4524Ž‘ûKÃÏ\cfromid@{#2}\spushc@\cfromid@{#3}\spushc@\cfromid@{#4}%ŽŽ¡‘ãŒÃ4525Ž‘ûKÃÏ\let\bstartPLACE@=\empty‘¿ª\connect@\crvs{#5}\relax\sinit@\sleave@ŽŽ¡‘ãŒÃ4526Ž‘ûKÃÏ\resetbreaks@}ŽŽŸQc‘ôŒ¹The–RÔhoMÞok“Ï\dosolidcircle@@Ž‘b H¹is“proš²!vided“so“that“bac˜k-ends“ma˜y“pro˜vide“an“alternativ˜e“methoMÞd“toŽ¡‘ãŒdraš²!w–ëthe“circles/ellipses.‘¬Note“that“the“tok˜en“follo˜wing“Ï\solidcircle@Ž‘R‘Þ¹will“bMÞe“a“group“represen˜tingŽ¡‘ãŒthe–¦fÇh¹st²!yleÇi“¹to“bMÞe“used.ަ‘ãŒÃ4535Ž‘õŒÏ\xydef@\dosolidcircle@#1{%ŽŽ¡‘ãŒÃ4536Ž‘ mÏ\cubicCircleControls@@ŽŽ¡‘ãŒÃ4537Ž‘ mÏ\doCircleQuadrant@@{#1}1‘¿ª\relax\Clast@@ŽŽ¡‘ãŒÃ4538Ž‘ mÏ\doCircleQuadrant@@{#1}2‘¿ª\relax\Clast@@ŽŽ¡‘ãŒÃ4539Ž‘ mÏ\doCircleQuadrant@@{#1}3‘¿ª\relax\Clast@@ŽŽ¡‘ãŒÃ4540Ž‘ mÏ\doCircleQuadrant@@{#1}4‘¿ª\relax\Clast@@}%ŽŽ¦‘ãŒÃ4542Ž‘õŒÏ\xydef@\solidcircle@{\dosolidcircle@@}ŽŽ¡‘ãŒÃ4543Ž‘õŒÏ\xylet@\dosolidcircle@@=\dosolidcircle@ŽŽŸQc‘ôŒ¹This–¦fplaces“ob‘›»jects“equally“spaced“around“a“circle,“according“to“angular“pMÞosition.Ž© šu‘ôŒÔBug:‘îO¹ob‘›»jects–®Ÿare“not“equally“spaced“around“ellipses“constructed“this“w•²!a“y–ÿe.‘öˆT“o–®Ÿget“regular“spacingŽ¡‘ãŒaround–¦fellipses,“in“terms“or“arc-length“saš²!y‘ÿe,“is“m˜uc˜h“more“dicult,“bMÞoth“theoretically“and“practically‘ÿe.ަ‘ôŒÔT‘þó\o‘(mDo:‘j(¹the–¾üsize“of“the“resulting“Çh¹ob‘›»jectÇi“¹doMÞes“not“takš²!e“in˜to“accoun˜t“the“size“of“the“Çh¹ob‘›»jectÇi“¹droppMÞedŽ¡‘ãŒaround–¦fthe“circle.Ž©Pˆ‘ãŒÃ4557Ž‘õŒÏ\xydef@\circledobjects@{\cubicCircleControls@@ŽŽ¡‘ãŒÃ4558Ž‘ûKÃÏ\setboxz@h{\expandafter\object\circleSTYLE@{}}%ŽŽ¡‘ãŒÃ4559Ž‘ûKÃÏ\ifdim\L@>\R@–¿ª\dimen@ii=\ht\z@“\advance\dimen@ii“\dp\z@ŽŽ¡‘ãŒÃ4560Ž‘ mÏ\ifdim\zz@\dimen@ii‘¿ª\dimen@ii=\wdz@\fiŽŽ¡‘ãŒÃ4561Ž‘ûKÃÏ\else‘¿ª\dimen@ii=\wdz@ŽŽ¡‘ãŒÃ4562Ž‘ mÏ\ifdim\zz@\dimen@ii–¿ª\dimen@ii=\ht\z@“\advance\dimen@ii“\dp\z@\fiŽŽ¡‘ãŒÃ4563Ž‘ûKÃÏ\fi–¿ª\ifdim\zz@\dimen@ii“\dimen@ii=2\jot\fiŽŽ¡‘ãŒÃ4564Ž‘ûKÃÏ\expandafter\dimen@\ifdim\L@>\R@–¿ª\twoPi@\L@\else“\twoPi@\R@\fiŽŽ¡‘ãŒÃ4565Ž‘ûKÃÏ\advance\dimen@.5\dimen@iiŽŽ¡‘ãŒÃ4566Ž‘ûKÃÏ\count@@=\dimen@–¿ª\count@=\dimen@ii“\divide\count@@\count@ŽŽ¡‘ãŒÃ4567Ž‘ûKÃÏ\edef\numobjects{\the\count@@}\dimen@=4\p@ŽŽ¡‘ãŒÃ4568Ž‘ûKÃÏ\dimen@nth\numobjects\dimen@‘>þ%‘ T\divide\dimen@\numobjects\relaxŽŽ¡‘ãŒÃ4569Ž‘ûKÃÏ\edef\circleseparation@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ4570Ž‘ûKÃÏ\edef\circleplace@{-\circleseparation@}\placeQuadrants@}%ŽŽ¦‘ãŒÃ4572Ž‘õŒÏ\xydef@\placeQuadrants@{\DN@{\placeAllQuadrants@}%ŽŽ¡‘ãŒÃ4573Ž‘ûKÃÏ\ifx\onlyQuad@\undefined\else\ifx\onlyQuad@\empty\elseŽŽ¡‘ãŒÃ4574Ž‘ mÏ\DN@{\expandafter\placeCircQuadrant@\expandafter{\onlyQuad@}}%ŽŽ¡‘ãŒÃ4575Ž‘ûKÃÏ\fi\fi–¿ª\next@“}%ŽŽ¡‘ãŒÃ4576Ž‘õŒÏ%\def\placeQuadrants@{\placeAllQuadrants@}ŽŽ¦‘ãŒÃ4578Ž‘õŒÏ\xydef@\placeAllQuadrants@{%ŽŽ¡‘ãŒÃ4579Ž‘ûKÃÏ\placeCircQuadrant@{1}%ŽŽ¡‘ãŒÃ4580Ž‘ûKÃÏ\advance\dimen@-\p@\advance\dimen@-\circleseparation@\p@ŽŽ¡‘ãŒÃ4581Ž‘ûKÃÏ\edef\circleplace@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ4582Ž‘ûKÃÏ\placeCircQuadrant@{2}%ŽŽ¡‘ãŒÃ4583Ž‘ûKÃÏ\advance\dimen@-\p@\advance\dimen@-\circleseparation@\p@ŽŽŽŽŒ‹¿ à Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй191ŽŽ ¶?? ýh«w‘ãŒÃ4584Ž‘ûKÃÏ\edef\circleplace@{\expandafter\removePT@\the\dimen@}%ŽŽ¤ ™š‘ãŒÃ4585Ž‘ûKÃÏ\placeCircQuadrant@{3}%ŽŽ¡‘ãŒÃ4586Ž‘ûKÃÏ\advance\dimen@-\p@\advance\dimen@-\circleseparation@\p@ŽŽ¡‘ãŒÃ4587Ž‘ûKÃÏ\edef\circleplace@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ4588Ž‘ûKÃÏ\placeCircQuadrant@{4}}ŽŽ©Pˆ‘ãŒÃ4590Ž‘õŒÏ\xydef@\placeCircQuadrant@#1{%ŽŽ¡‘ãŒÃ4591Ž‘ûKÃÏ\let\bstartPLACE@=\relax‘¿ª\doCircleQuadrant@@{}#1%ŽŽ¡‘ãŒÃ4592Ž‘ûKÃÏ\loop@ŽŽ¡‘ãŒÃ4593Ž‘ mÏ\expandafter\dimen@\circleplace@\p@ŽŽ¡‘ãŒÃ4594Ž‘ mÏ\advance\dimen@\circleseparation@\p@ŽŽ¡‘ãŒÃ4595Ž‘ mÏ\edef\circleplace@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ4596Ž‘ mÏ\ifdim\dimen@<\p@‘¿ª\placeCircObject@ŽŽ¡‘ãŒÃ4597Ž‘ûKÃÏ\repeat@‘¿ª}ŽŽ¦‘ãŒÃ4599Ž‘õŒÏ\xydef@\placeCircObject@{\begingroupŽŽ¡‘ãŒÃ4600Ž‘ mÏ\crvconnect@@–¿ª\Creset@@“\Invisible@falseŽŽ¡‘ãŒÃ4601Ž‘ mÏ\expandafter\splinealong@\expandafter{\circleplace@}%ŽŽ¡‘ãŒÃ4602Ž‘ mÏ\expandafter\drop\circleSTYLE@{}\endgroup‘¿ª}ŽŽ¦‘ãŒÃ4604Ž‘õŒÏ\xydef@\buildcircle@{\save@ŽŽ¡‘ãŒÃ4605Ž‘õŒÏ%‘¿ª\cubicCircleControls@@ŽŽ¡‘ãŒÃ4606Ž‘ûKÃÏ\DNii@{\circledobjects@}%ŽŽ¡‘ãŒÃ4607Ž‘ûKÃÏ\ifx\circleSTYLE@\empty\DNii@{\solidcircle@{}}%ŽŽ¡‘ãŒÃ4608Ž‘ûKÃÏ\else‘¿ª\expandafter\DN@\expandafter{\addDASH@{}}\relaxŽŽ¡‘ãŒÃ4609Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\solidcircle@{}}%ŽŽ¡‘ãŒÃ4610Ž‘ûKÃÏ\else‘¿ª\expandafter\DN@\expandafter{\addEQ@{}}%ŽŽ¡‘ãŒÃ4611Ž‘ mÏ\ifx\next@\circleSTYLE@ŽŽ¡‘ãŒÃ4612Ž‘ËÏ\expandafter\circletemplate@\expandafter{\addEQ@{}}{}%ŽŽ¡‘ãŒÃ4613Ž‘ûKÃÏ\else–¿ª\expandafter\DN@\expandafter{\addDASH@“2}%ŽŽ¡‘ãŒÃ4614Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\doublecircle@{}}%ŽŽ¡‘ãŒÃ4615Ž‘ûKÃÏ\else–¿ª\expandafter\DN@\expandafter{\addDASH@“3}%ŽŽ¡‘ãŒÃ4616Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\triplecircle@{}}%ŽŽ¡‘ãŒÃ4617Ž‘ûKÃÏ\else‘¿ª\expandafter\expandafter\expandafter\DN@\expandafter\expandafterŽŽ¡‘ãŒÃ4618Ž‘ mÏ\expandafter{\expandafter\addDASH@\addDASH@{}}%ŽŽ¡‘ãŒÃ4619Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\dashedcircle@{}}%ŽŽ¡‘ãŒÃ4620Ž‘ûKÃÏ\else‘¿ª\expandafter\expandafter\expandafter\DN@\expandafter\expandafterŽŽ¡‘ãŒÃ4621Ž‘ mÏ\expandafter{\expandafter\addEQ@\addEQ@{}}%ŽŽ¡‘ãŒÃ4622Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\expandafter\expandafter\expandafterŽŽ¡‘ãŒÃ4623Ž‘ËÏ\circletemplate@\expandafter\expandafter\expandafter{%ŽŽ¡‘ãŒÃ4624Ž‘ ŠÁÏ\expandafter\addEQ@\addEQ@{}}2%ŽŽ¡‘ãŒÃ4625Ž‘ûKÃÏ\else‘¿ª\expandafter\expandafter\expandafter\DN@\expandafter\expandafterŽŽ¡‘ãŒÃ4626Ž‘ mÏ\expandafter{\expandafter\addEQ@\addEQ@2}%ŽŽ¡‘ãŒÃ4627Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\expandafter\expandafter\expandafterŽŽ¡‘ãŒÃ4628Ž‘ËÏ\circletemplate@\expandafter\expandafter\expandafter{%ŽŽ¡‘ãŒÃ4629Ž‘ ŠÁÏ\expandafter\addEQ@\addEQ@{}}2%ŽŽ¡‘ãŒÃ4630Ž‘ûKÃÏ\else‘¿ª\expandafter\expandafter\expandafter\DN@\expandafter\expandafterŽŽ¡‘ãŒÃ4631Ž‘ mÏ\expandafter{\expandafter\addEQ@\addEQ@3}%ŽŽ¡‘ãŒÃ4632Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\expandafter\expandafter\expandafterŽŽ¡‘ãŒÃ4633Ž‘ËÏ\circletemplate@\expandafter\expandafter\expandafter{%ŽŽ¡‘ãŒÃ4634Ž‘ ŠÁÏ\expandafter\addEQ@\addEQ@{}}3%ŽŽŽŽŒ‹À íÊ Á à ý*tj‘㌹192’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4635Ž‘ûKÃÏ\else‘¿ª\expandafter\DN@\expandafter{\addDOT@{}}\relaxŽŽ¤ ™š‘ãŒÃ4636Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\dottedcircle@{}}%ŽŽ¡‘ãŒÃ4637Ž‘ûKÃÏ\else‘¿ª\expandafter\DN@\expandafter{\addDOT@2}\relaxŽŽ¡‘ãŒÃ4638Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\dbldottedcircle@{}}%ŽŽ¡‘ãŒÃ4639Ž‘ûKÃÏ\else‘¿ª\expandafter\DN@\expandafter{\addDOT@3}\relaxŽŽ¡‘ãŒÃ4640Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\trpldottedcircle@{}}%ŽŽ¡‘ãŒÃ4641Ž‘ûKÃÏ\else‘¿ª\DN@{:}\relaxŽŽ¡‘ãŒÃ4642Ž‘ mÏ\ifx\next@\circleSTYLE@‘¿ª\DNii@{\dbldottedcircle@{}}%ŽŽ¡‘ãŒÃ4643Ž‘õŒÏ%‘¿ª\else\DN@{\circledobjects@}%ŽŽ¡‘ãŒÃ4644Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi–¿ª\nextii@“\leave@}ŽŽ©Pˆ‘ãŒÃ4646Ž‘õŒÏ\xydef@\circletemplate@#1#2{\def\circleSTYLE@{\dir#2{#1}}}ŽŽ¡‘ãŒÃ4647Ž‘õŒÏ\xydef@\doublecircle@#1{%ŽŽ¡‘ãŒÃ4648Ž‘ûKÃÏ\advance\R@-\p@–¿ª\advance\L@-\p@“\solidcircle@{}%ŽŽ¡‘ãŒÃ4649Ž‘ûKÃÏ\advance\R@–¿ª2\p@“\advance\L@“2\p@“\solidcircle@{}}ŽŽ¡‘ãŒÃ4650Ž‘õŒÏ\xydef@\triplecircle@#1{%ŽŽ¡‘ãŒÃ4651Ž‘ûKÃÏ\advance\R@-2\p@–¿ª\advance\L@-2\p@“\solidcircle@{}%ŽŽ¡‘ãŒÃ4652Ž‘ûKÃÏ\advance\R@–¿ª2\p@“\advance\L@“2\p@“\solidcircle@{}%ŽŽ¡‘ãŒÃ4653Ž‘ûKÃÏ\advance\R@–¿ª2\p@“\advance\L@“2\p@“\solidcircle@{}}ŽŽ¦‘ãŒÃ4655Ž‘õŒÏ%\xydef@\dashedcircle@#1{\expandafter\expandafter\expandafterŽŽ¡‘ãŒÃ4656Ž‘õŒÏ%‘>þ\circletemplate@\expandafter\expandafter\expandafter{%ŽŽ¡‘ãŒÃ4657Ž‘õŒÏ%‘þ¨\expandafter\addDASH@\addDASH@{}}{}\circledobjects@‘¿ª}%ŽŽ¦‘ãŒÃ4659Ž‘õŒÏ\xydef@\dottedcircle@#1{%ŽŽ¡‘ãŒÃ4660Ž‘ûKÃÏ\expandafter\def\expandafter\circleSTYLE@\expandafter{%ŽŽ¡‘ãŒÃ4661Ž‘õŒÏ%‘ T\expandafter{\addDOT@{}}}%ŽŽ¡‘ãŒÃ4662Ž‘ûKÃÏ\zerodot@i}%ŽŽ¡‘ãŒÃ4663Ž‘ûKÃÏ\circledobjects@}ŽŽ¦‘ãŒÃ4665Ž‘õŒÏ\xydef@\dashedcircle@#1{%ŽŽ¡‘ãŒÃ4666Ž‘ûKÃÏ\expandafter\def\expandafter\circleSTYLE@\expandafter{\zerodash@i}%ŽŽ¡‘ãŒÃ4667Ž‘ûKÃÏ\circledobjects@}ŽŽ¦‘ãŒÃ4669Ž‘õŒÏ\xydef@\dbldottedcircle@#1{%ŽŽ¡‘ãŒÃ4670Ž‘ûKÃÏ\advance\R@-\p@–¿ª\advance\L@-\p@“\dottedcircle@{}%ŽŽ¡‘ãŒÃ4671Ž‘ûKÃÏ\advance\R@–¿ª2\p@“\advance\L@“2\p@“\dottedcircle@{}}ŽŽ¡‘ãŒÃ4672Ž‘õŒÏ\xydef@\trpldottedcircle@{%ŽŽ¡‘ãŒÃ4673Ž‘ûKÃÏ\advance\R@-2\p@–¿ª\advance\L@-2\p@“\dottedcircle@{}%ŽŽ¡‘ãŒÃ4674Ž‘ûKÃÏ\advance\R@–¿ª2\p@“\advance\L@“2\p@“\dottedcircle@{}%ŽŽ¡‘ãŒÃ4675Ž‘ûKÃÏ\advance\R@–¿ª2\p@“\advance\L@“2\p@“\dottedcircle@{}}ŽŽ¦‘ãŒÃ4677Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{=<.75\jot>{\zerodot}}}ŽŽ¡‘ãŒÃ4678Ž‘õŒÏ\xylet@\zerodot@i=\nextŽŽ¦‘ãŒÃ4680Ž‘õŒÏ{\dimen0=2\xydashl@‘¿ª\xyuncatcodesŽŽ¡‘ãŒÃ4681Ž‘õŒÏ\expandafter\gdef\expandafter\next\expandafter{\expandafterŽŽ¡‘ãŒÃ4682Ž‘ûKÃÏ=\expandafter<\the\dimen0‘¿ª>_\dir{|}}}ŽŽ¡‘ãŒÃ4683Ž‘õŒÏ\xylet@\zerodash@i=\nextŽŽŽŽŒ‹Á úàÁ à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй193ŽŽ ¶?? ýh«wŸ!—Ð’™eKïps: SDict begin xyc end‘33Ÿÿ4ýÈŽŽŽŽŽŽ‘:33Ÿ4ýŽŽŽŽŽŽ‘<Ÿh0ï" {30.0 -30.0 l}xyŽŽŽ‘?Ÿ#ÄcŽŽŽŽŸh0‘<Ÿèï" {3072 10 /xy AB}xyŽŽŽŽ‘/ŠŸè…ï" {3160 10 /xy AB}xyŽŽŽŽ‘#÷XŸêØï" {3250 10 /xy AB}xyŽŽŽŽ‘‹õŸì[ï" {3357 10 /xy AB}xyŽŽŽŽ‘Œ1Ÿïu”ï" {3499 10 /xy AB}xyŽŽŽŽ‘ <:Ÿó5óï" {3739 10 /xy AB}xyŽŽŽŽ‘àVŸ÷€óï" {-4020 10 /xy AB}xyŽŽŽŽ‘¼¹Ÿü;Gï" {-3456 10 /xy AB}xyŽŽŽŽCŸE·ï" {-2942 10 /xy AB}xyŽŽŽŽ‘ØŸ-†ï" {-2379 10 /xy AB}xyŽŽŽŽ‘JÝŸ ³§ï" {-1838 10 /xy AB}xyŽŽŽŽ‘ ©Ÿ¼Óï" {-1557 10 /xy AB}xyŽŽŽŽ‘ÙDŸ-»ï" {-1376 10 /xy AB}xyŽŽŽŽ‘—3Ÿëï" {-1258 10 /xy AB}xyŽŽŽŽ‘)ž¨ŸÙ¢ï" {-1156 10 /xy AB}xyŽŽŽŽ‘5«gŸÞ ï" {-1068 10 /xy AB}xyŽŽŽŽ‘BQ“ŸÞ*ï" {-981 10 /xy AB}xyŽŽŽŽ‘N^ŠŸÙÿï" {-892 10 /xy AB}xyŽŽŽŽ‘YfFŸë«ï" {-791 10 /xy AB}xyŽŽŽŽ‘c$ŽŸ.}ï" {-663 10 /xy AB}xyŽŽŽŽ‘kU'Ÿ½»ï" {-502 10 /xy AB}xyŽŽŽŽ‘q³ÖŸ ´²ï" {-173 10 /xy AB}xyŽŽŽŽ‘uüeŸ.«ï" {329 10 /xy AB}xyŽŽŽŽ‘wꕟFòï" {890 10 /xy AB}xyŽŽŽŽ‘wC¿Ÿü}}ŽŽ¡‘ãŒ,*\xycircle<15pt,10pt>{}ŽŽ¡‘ãŒ;*\xycircle<10pt>{{.}}ŽŽ¡‘ãŒ\endxyŽŽŸv‘ãŒÃ4705Ž‘õŒÏ{\xyuncatcodes\gdef\next{--}}ŽŽ¡‘ãŒÃ4706Ž‘õŒÏ\xylet@\dashcorntemp@@=\nextŽŽ¡‘ãŒÃ4707Ž‘õŒÏ{\xyuncatcodes\gdef\next{.}}ŽŽ¡‘ãŒÃ4708Ž‘õŒÏ\xylet@\dotcorntemp@@=\nextŽŽ©Pˆ‘ãŒÃ4710Ž‘õŒÏ\xydef@\dotcorner@#1{%ŽŽ¡‘ãŒÃ4711Ž‘ mÏ\expandafter\circleCorner@\expandafter{\dotcorntemp@@}{#1}}%ŽŽ¡‘ãŒÃ4712Ž‘õŒÏ\xydef@\dashcorner@#1{%ŽŽ¡‘ãŒÃ4713Ž‘ mÏ\expandafter\circleCorner@\expandafter{\dashcorntemp@@}{#1}}ŽŽ¦‘ãŒÃ4715Ž‘õŒÏ\xydef@\circleCorner@#1#2{\setboxz@h\bgroupŽŽ¡‘ãŒÃ4716Ž‘ûKÃÏ\edef\next{#2\relax\R@=\the\R@\relax\L@=\R@‘¿ª}%ŽŽ¡‘ãŒÃ4717Ž‘ûKÃÏ\expandafter\xycircle@\next‘¿ª@{#1}%ŽŽ¡‘ãŒÃ4718Ž‘ûKÃÏ\ifcase#2\or‘¿ª\setboxz@h{\lower\R@\boxz@\kern\X@c}%ŽŽ¡‘ãŒÃ4719Ž‘ûKÃÏ\or‘¿ª\setboxz@h{\kern-\R@\lower\R@\boxz@\kern\R@\kern\X@c}%ŽŽ¡‘ãŒÃ4720Ž‘ûKÃÏ\or‘¿ª\setboxz@h{\kern-\R@\lower\R@\boxz@\kern\R@\kern\X@c}%ŽŽ¡‘ãŒÃ4721Ž‘ûKÃÏ\or‘¿ª\setboxz@h{\lower\R@\boxz@\kern\X@c}\fiŽŽ¡‘ãŒÃ4722Ž‘ mÏ\wdz@=\R@–¿ª\ht\z@=\R@“\dp\z@=\R@“\boxz@ŽŽ¡‘ãŒÃ4723Ž‘ûKÃÏ}ŽŽŸ!€'‘ãŒÞ2.1.3Ž‘ ÌQuadratic‘€SplinesŽŸ«ÿ‘㌹Quadratic–:ÕBš²"‘úÔDezier“splines,‘_ñas“distinct“from“cubic“B˜‘úÔDezier“splines,‘_ñare“constructed“from“parabMÞolic“arcs,Ž¡‘ãŒusing–¦f`conš²!trol“pMÞoin˜ts'“to“determine“the“tangen˜ts“where“successiv˜e“arcs“are“joined.Ž¡‘ôŒV‘ÿearious–¶implemenš²!tations“of“suc˜h“curv˜es“exist.‘ÎThe“one“adopted“here“is“consisten˜t“with“the“ÏxfigŽŽ¡‘㌹dra•²!wing›•Eutilit“y˜and˜Õtpic˜¹implemen“tations.‘ªyThese˜ha“v“e˜the˜propMÞert“y˜of˜bMÞeginning˜and˜ending˜withŽ¡‘ãŒstraigh•²!t›“segmen“ts,‘–íhalf˜the˜length˜to˜the˜correspMÞonding˜adjacen“t˜con“trol-pMÞoin“t.‘×kF‘ÿeurthermore˜the˜mid-Ž¡‘ãŒp•MÞoinš²!t‘ïÇb“et˜w˜een–ïÇsuccessiv˜e“con˜trol-pMÞoin˜ts“lies“on“the“spline,‘Mwith“the“line“joining“the“con˜trol-pMÞoin˜ts“bMÞeingŽ¡‘ãŒtangen²!t‘¦fthere.Ž¡‘ôŒSuc•²!h›¦fcurv“es˜are˜spMÞeci ed,˜either˜as˜a˜Çh¹decorÇi˜¹or˜as˜an˜Çh¹ob‘›»jectÇi¹,˜using.–Ó3.“.Ž‘ãŒŸ ¹‰ffã²dŸ ó’ÅÝÀÏ\qspline{Ž’ùšºÇh¹st²!yleÇiÏ}ŽŽŽŸéF‰ffã²dŽŽŒ‹Â ë Á à ý*tj‘㌹194’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘çj¥¹where–ÞŒthe“start“and“end“of“the“curvš²!e“are“at“Äp“¹and“Äc“¹respMÞectiv˜ely‘ÿe.‘†PThe“con˜trol-pMÞoin˜ts“are“tak˜en“fromޤ ™š‘ãŒthe–¦fcurrenš²!t“stac˜k,“see“1.3o.‘ÝÝIf“this“stac˜k“is“empt˜y“then“a“straigh˜t“line“is“constructed.Ž¡‘ôŒThe–Qœfolloš²!wing“example“compares“the“quadratic“spline“with“the“gen˜tler“curving“B-spline“ha˜ving“theŽ¡‘ãŒsame–¦fconš²!trol“pMÞoin˜ts,“using“Ï\crvsŽ‘ d¸¹.ŽŸB @’† ïps: SDict begin xyc end‘Ÿúh0ÄPŽŽŽŽ‘'`ŸÕg;¹+ŽŽŽŽŽ‘K`Ÿùg;+ŽŽŽŽŽ‘o`ŸÕg;+ŽŽŽŽŽ’’ø‚ŸÖh0ÄCŽŽŽŽŸªn‘FƒŸÊï" {11.25876 11.25876 l}xyŽŽŽŽŽŽ‘¹FƒŸªnï4" {mark 132.0 54.0 114.0 72.0 96.0 54.0 0.0 1.0 q}xyŽŽŽ‘¹FƒŸªnï5" {mark 168.0 54.0 150.0 36.0 132.0 54.0 0.0 1.0 q}xyŽŽŽ‘¹FƒŸªnï5" {mark 204.0 72.0 186.0 72.0 168.0 54.0 0.0 1.0 q}xyŽŽŽ’x‚ŸÒªnï" {3072 F d}xyŽŽŽŽŽ’ˆƒŸÒªnï" {3072 F d}xyŽŽŽŽŽ’‚Æ„ŸÒªnï" {3072 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘¹FƒŸªnïD" {mark 78.0 36.0 114.0 72.0 132.0 54.0 150.0 54.0 0.06943 1.0 bt}xyïB" {mark 150.0 54.0 168.0 54.0 186.0 72.0 222.0 72.0 0.0 0.93 bt}xyŽŽŽŽŽŽŽŸ)c‘ãŒÏ\xy‘¿ª/r1.5pc/:,+<5pc,3pc>*+{P};pŽŽ¡‘ãŒ@(,+(2,2)*{+}@+,‘¿ª+(2,-2)*{+}@+ŽŽ¡‘ãŒ,+(2,2)*{+}@+,‘¿ª+(2,0)*+{C}="C"ŽŽ¡‘ãŒ,*\qspline{},"C",**\crvs{.}ŽŽ¡‘ãŒ,@i‘¿ª@)\endxyŽŽ©Pˆ‘ôŒ¹If–Ëåthe“currenš²!t“stac˜k“is“empt˜y‘ÿe,‘ÕEsimply“pass“ev˜erything“to“Ï\crvs@Ž‘&Iá¹,‘ÕEas“if“the“request“originated“fromŽ¡‘ãŒa‘¦fÏ\crvsŽ‘$ ¹or‘¦fÏ\arŽ‘åd¹.‘ÝÝOtherwise–¦fwš²!e“m˜ust“build“up“the“segmen˜ts“of“the“spline.ަ‘ãŒÃ4773Ž‘õŒÏ\xydef@\qspline{\hbox\bgroup\crvresetbreaks@‘¿ª\xy@spline@}ŽŽ¦‘ãŒÃ4775Ž‘õŒÏ\xydef@\xy@spline@#1#{\if\sempty@‘¿ª\DN@{\crvs@{}\resetbreaks@}%ŽŽ¡‘ãŒÃ4776Ž‘ûKÃÏ\else\DN@{\xy@spline@i{#1}}\fi–¿ª\next@“}%ŽŽ¦‘ôŒ¹The‘å Ï#1Ž‘Il¹parameter–å to“Ï\xy@spline@iŽ‘Jƹis“to“alloš²!w“alternativ˜e“implemen˜tations;‘%€curren˜tly“it“is“ignored.Ž¡‘ãŒWhen‘¦fÏ#1Ž‘Ì ¹is–¦findeed“empt²!y‘ÿe,ަ‘ãŒÃ4784Ž‘õŒÏ\xydef@\xy@spline@i#1#2{\def\splineSTYLE@{#2}%ŽŽ¡‘ãŒÃ4785Ž‘ûKÃÏ\DN@{\xy@spline@ii}\DNii@{#1}%ŽŽ¡‘ãŒÃ4786Ž‘ûKÃÏ\ifx\nextii@\empty\DN@{\xy@spline@ii@@}\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ4788Ž‘õŒÏ\xydef@\xy@spline@ii{\save@‘¿ª\cfromp@\idfromc@{@p}%ŽŽ¡‘ãŒÃ4789Ž‘ûKÃÏ\enter@\cplusthec@‘¿ª\count@@=\s@top\advance\count@@\m@neŽŽ¡‘ãŒÃ4790Ž‘ûKÃÏ\cfroms@{\count@@}\leave@ŽŽ¡‘ãŒÃ4791Ž‘ûKÃÏ\halve@dimen\X@c– T%“\divide\X@c\tw@ŽŽ¡‘ãŒÃ4792Ž‘ûKÃÏ\halve@dimen\Y@c– T%“\divide\Y@c\tw@ŽŽ¡‘ãŒÃ4793Ž‘ûKÃÏ\czeroEdge@‘¿ª\idfromc@{@c}%ŽŽ¡‘ãŒÃ4794Ž‘ûKÃÏ\expandafter\doSplineStraight@\expandafter{\splineSTYLE@}%ŽŽ¡‘ãŒÃ4795Ž‘ûKÃÏ\count@=\@ne‘¿ª\edef\next@{\the\count@}%ŽŽ¡‘ãŒÃ4796Ž‘ûKÃÏ\ifx\next@\s@top\DN@{\xy@spline@iv}\else\DN@{\xy@spline@iii}\fiŽŽ¡‘ãŒÃ4797Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¡‘ãŒÃ4798Ž‘õŒÏ\xylet@\xy@spline@ii@@=\xy@spline@iiŽŽ¦‘ãŒÃ4800Ž‘õŒÏ\xydef@\xy@spline@iii{\crv@cnt@=\s@topŽŽ¡‘ãŒÃ4801Ž‘ûKÃÏ\loop–¿ª\advance\crv@cnt@\m@ne“\xy@spline@g“\ifnum\crv@cnt@>\@ne\repeatŽŽ¡‘ãŒÃ4802Ž‘ûKÃÏ\xy@spline@iv}ŽŽ¦‘ãŒÃ4804Ž‘õŒÏ\xydef@\xy@spline@g{\cfromid@{@c}\idfromc@{@p}%ŽŽ¡‘ãŒÃ4805Ž‘ûKÃÏ\count@@=\crv@cnt@\cfroms@{\count@@}\idfromc@{@m}%ŽŽ¡‘ãŒÃ4806Ž‘ûKÃÏ\enter@\cplusthec@–¿ª\count@@=\crv@cnt@“\advance\count@@\m@neŽŽ¡‘ãŒÃ4807Ž‘ mÏ\cfroms@{\count@@}\leave@ŽŽ¡‘ãŒÃ4808Ž‘ûKÃÏ\halve@dimen\X@c– T%“\divide\X@c\tw@ŽŽ¡‘ãŒÃ4809Ž‘ûKÃÏ\halve@dimen\Y@c– T%“\divide\Y@c\tw@ŽŽ¡‘ãŒÃ4810Ž‘ûKÃÏ\czeroEdge@\idfromc@{@c}%ŽŽ¡‘ãŒÃ4811Ž‘ûKÃÏ\expandafter\doSplineSegment@\expandafter{\splineSTYLE@}}ŽŽŽŽŒ‹Ã } Á à ý*tj‘ãŒÑ2.1.‘„CCUR‘þȈVE–¦fAND“SPLINE“EXTENSION’Yй195ŽŽ ¶?? ýh«w‘ãŒÃ4813Ž‘õŒÏ\xydef@\xy@spline@iv{\cfromid@{@c}\idfromc@{@p}%ŽŽ¤ ™š‘ãŒÃ4814Ž‘ûKÃÏ\cfroms@{\z@}\idfromc@{@m}\leave@‘¿ª\save@ŽŽ¡‘ãŒÃ4815Ž‘ûKÃÏ\enter@\cplusthec@‘¿ª\cfromid@{@m}\leave@ŽŽ¡‘ãŒÃ4816Ž‘ûKÃÏ\halve@dimen\X@c– T%“\divide\X@c\tw@ŽŽ¡‘ãŒÃ4817Ž‘ûKÃÏ\halve@dimen\Y@c– T%“\divide\Y@c\tw@ŽŽ¡‘ãŒÃ4818Ž‘ûKÃÏ\czeroEdge@\idfromc@{@c}%ŽŽ¡‘ãŒÃ4819Ž‘ûKÃÏ\expandafter\doSplineSegment@\expandafter{\splineSTYLE@}%ŽŽ¡‘ãŒÃ4820Ž‘ûKÃÏ\xy@spline@v‘¿ª}ŽŽ©Pˆ‘ãŒÃ4822Ž‘õŒÏ\xydef@\xy@spline@v{\cfromid@{@c}\idfromc@{@p}%ŽŽ¡‘ãŒÃ4823Ž‘ûKÃÏ\leave@–¿ª\save@“\idfromc@{@c}%ŽŽ¡‘ãŒÃ4824Ž‘ûKÃÏ\expandafter\doSplineStraight@\expandafter{\splineSTYLE@}%ŽŽ¡‘ãŒÃ4825Ž‘ûKÃÏ\xy@spline@x‘¿ª}ŽŽ¦‘ãŒÃ4827Ž‘õŒÏ\xydef@\xy@spline@x{\leave@ŽŽ¡‘ãŒÃ4828Ž‘ûKÃÏ\def\Drop@@{\splineDrop@‘¿ª\resetbreaks@}%ŽŽ¡‘ãŒÃ4829Ž‘ûKÃÏ\def\Connect@@{\straight@\relax\splineConnect@‘¿ª\resetbreaks@}%ŽŽ¡‘ãŒÃ4830Ž‘ûKÃÏ\OBJECT@x}ŽŽ¦‘ãŒÃ4832Ž‘õŒÏ\xydef@\splineDrop@{\ifInvisible@\setboxz@h{}%ŽŽ¡‘ãŒÃ4833Ž‘ûKÃÏ\else\setboxz@h{\kern-\the\X@c\raise-\the\Y@c\hbox{\styledboxz@}}\fiŽŽ¡‘ãŒÃ4834Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@“}ŽŽ¦‘ãŒÃ4836Ž‘õŒÏ\xydef@\splineConnect@{%ŽŽ¡‘ãŒÃ4837Ž‘ûKÃÏ\ifInvisible@\else\box\lastobjectbox@\fi‘¿ª}%ŽŽŸ®e‘ôŒ¹The–¯ãinitial“and“ nal“pMÞoinš²!ts“in“a“segmen˜t“are“stored“as“Ï@pޛ߹and“Ï@cŽ˜¹respMÞectiv²!ely‘ÿe.‘úSWhere“needed,‘²BtheŽ¡‘ãŒcon²!trol–¦fis“in“Ï@mŽ‘%º¹.ަ‘ãŒÃ4844Ž‘õŒÏ\xydef@\doSplineStraight@#1{\begingroup‘¿ª\sinit@ŽŽ¡‘ãŒÃ4845Ž‘ûKÃÏ\cfromid@{@p}\pfromc@\cfromid@{@c}%ŽŽ¡‘ãŒÃ4846Ž‘ûKÃÏ\connect@\crvs{#1}\relax\sleave@\endgroup‘¿ª}ŽŽ¦‘ãŒÃ4848Ž‘õŒÏ\xydef@\doSplineSegment@#1{\begingroup‘¿ª\sinit@ŽŽ¡‘ãŒÃ4849Ž‘ûKÃÏ\cfromid@{@p}\pfromc@\senter@\cfromid@{@m}\spushc@\cfromid@{@c}%ŽŽ¡‘ãŒÃ4850Ž‘ûKÃÏ\connect@\crvs{#1}\relax\sinit@\sleave@\endgroup‘¿ª}ŽŽŸ#»p‘ãŒÔThe–2end“&“Logަ‘ãŒÃ4858Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ4860Ž‘õŒÏ%–¿ª$Log:“xycurve.doc,v“$ŽŽ¡‘ãŒÃ4861Ž‘õŒÏ%–¿ªRevision“3.7› T1999/02/16“15:12:50˜krisroseŽŽ¡‘ãŒÃ4862Ž‘õŒÏ%–¿ªInterim“release“(Y&Y“fonts“now“free).ŽŽ¡‘ãŒÃ4863Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4864Ž‘õŒÏ%–¿ªRevision“3.6› T1998/03/06“01:28:05˜krisroseŽŽ¡‘ãŒÃ4865Ž‘õŒÏ%–¿ªReleasing“(with“Y&Y“fonts).ŽŽ¡‘ãŒÃ4866Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4867Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¡‘ãŒÃ4868Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ4869Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4870Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:01:45“rossŽŽ¡‘ãŒÃ4871Ž‘õŒÏ%–¿ªmajor“revisions“for“the“new“BREAK“methodsŽŽ¡‘ãŒÃ4872Ž‘õŒÏ%–¿ªspline“edge-finding“is“more“robustŽŽ¡‘ãŒÃ4873Ž‘õŒÏ%–¿ªspline-breaks“fully“implementedŽŽŽŽŒ‹Ä *  Á à ý*tj‘㌹196’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ4874Ž‘õŒÏ%–¿ªintersections“of“curve“with“straight“connections“implementedŽŽ¤ ™š‘ãŒÃ4875Ž‘õŒÏ%–¿ªimproved“tracingsŽŽ¡‘ãŒÃ4876Ž‘õŒÏ%–¿ªadjusted“methods“for“stylesŽŽ¡‘ãŒÃ4877Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4878Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:20:20“rossŽŽ¡‘ãŒÃ4879Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ4880Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4881Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ4882Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ4883Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4884Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ4885Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ4886Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4887Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/05“07:58:43“rossŽŽ¡‘ãŒÃ4888Ž‘õŒÏ%–¿ªReady“for“v3“release?ŽŽ¡‘ãŒÃ4889Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4890Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“03:01:14“rossŽŽ¡‘ãŒÃ4891Ž‘õŒÏ%–¿ªFinal“3beta“release“[bug“fixes“&“AMS-LaTeX“fitting].ŽŽ¡‘ãŒÃ4892Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4893Ž‘õŒÏ%–¿ªRevision“2.12– T1994/09/05“08:22:11“rossŽŽ¡‘ãŒÃ4894Ž‘õŒÏ%–¿ªincorporates“some“speed-ups,“extra“documentationŽŽ¡‘ãŒÃ4895Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4896Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“09:27:52“rossŽŽ¡‘ãŒÃ4897Ž‘õŒÏ%–¿ªMinor“fixes;“use“2.11“kernel“stack“code.ŽŽ¡‘ãŒÃ4898Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4899Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:50:54“rossŽŽ¡‘ãŒÃ4900Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ4901Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4902Ž‘õŒÏ%–¿ªRevision“2.8– T1994/04/08“10:36:40“rossŽŽ¡‘ãŒÃ4903Ž‘õŒÏ%–¿ªSecond“3alpha“release.ŽŽ¡‘ãŒÃ4904Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4905Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/08“02:06:01“krisŽŽ¡‘ãŒÃ4906Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ4907Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4908Ž‘õŒÏ%–¿ªRevision“2.6.9.1– T1994/03/07“04:22:46“rossŽŽ¡‘ãŒÃ4909Ž‘õŒÏ%–¿ªLast“internal“3alpha“and“pre-2.7“release.ŽŽ¡‘ãŒÃ4910Ž‘õŒÏ%ŽŽ¡‘ãŒÃ4911Ž‘õŒÏ%–¿ªNEW“for“version“2.7“inspired“by“Knuth's“picmac.tex.ŽŽŸ15e‘ãŒÝ2.2Ž‘r|F‘þ¦frame–ffand“Brac•ŒÌk“et‘ffextensionŽŸrü‘ãŒæV‘ÿ «ers.‘p3.7–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸ­p‘㌹The‘¦fÏframeŽ‘$ ¹extension–¦fproš²!vides“a“v‘ÿdDariet˜y“of“w˜a˜ys“to“puts“frames“in‘ŽX‘ü·ŸâÃYŽŽ‘ p-pictures.ŽŸáS‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyframe.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽŽŽŒ‹Å 5‘ Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹197ŽŽ ¶?? ýh«w‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Frames“and“Brackets''“extension.ŽŽ¤ ™š‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{frame}{Frame–¿ªand“Bracket“extension}{\stripRCS$Revision:“3.7“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸNª‘ôŒ¹The–¦fframes“are‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“Çh¹ob‘›»jectÇi¹s“on“the“formŽ‘ãŒŸ øÏ‰ffã²dŸ (¶’Ë$´Ï\frm{Ž‘ fÇh¹frameÇi‘¦fÏ}ŽŽŽŸ}‰ffã²dŸ ¹to–ÈbšMÞe“used“in“Çh¹p˜osÇi¹itions:‘YŽDropping“a“frame“with“Ï*Ž›]r¹.–Ó3.“.“Ï\frm{Ž‘‘…Çh¹frameÇiÏ}Ž˜¹will–Èframe“the“Äc“¹ob‘›»ject;‘õýconnectingŽ¡with‘¦fÏ**Ž‘%º¹.–Ó3.“.“Ï\frm{Ž‘‘…¹.“.“.“Çh¹frameÇiÏ}Ž‘ f¹will–¦fframe“the“result“of“ÄcÏ.Ž‘¿ªÄp¹.ŽŸ•‘þ½žÔX‘ü8åŸòVYŽŽ‘ h-pic‘•in¦tterface‘ ó5¹The– ¯frames“are“inš²!tegrated“in‘ˆYX‘ü·ŸâÃYŽŽ‘ ¹-pic“as“Çh¹ob‘›»jectÇi¹s“as“follo˜ws.‘† They“generate“a“dumm˜yŽ¡ob‘›»ject,‘uthen–T de ne“the“Ï\Drop@@Ž‘0å¾¹action“to“place“the“requested“frame.‘æÏThe“Ï\Connect@@Ž‘B$¼¹opMÞeration“isŽ¡de ned–hto“place“the“requested“frame“around“the“curren²!t“Ðand‘Š+¹the“previous“ob‘›»ject“(using“the“Ï\cmerge@ŽŽ¡¹command–¦fof“the“k²!ernel).ަÃ63Ž‘Ï\xydef@\frm{\hbox{}\dimen@=\L@c–¿ª\advance\dimen@\R@c“\wdz@=\dimen@ŽŽ¡Ã64Ž‘¿ªÏ\ht\z@=\U@c–¿ª\dp\z@=\D@c“\dimen@=\U@c“\advance\dimen@\D@cŽŽ¡Ã65Ž‘Ï%–¿ª\ifdim\wdz@=\z@“\def\Leftness@{0}\else“\quotient@\Leftness@\L@c\wdz@“\fiŽŽ¡Ã66Ž‘Ï%–¿ª\ifdim\dimen@=\z@“\def\Upness@{0}\else“\quotient@\Upness@\U@c\dimen@“\fiŽŽ¡Ã67Ž‘¿ªÏ\ifdim\wdz@=\z@–¿ª\def\Leftness@{.5}\else“\quotient@\Leftness@\L@c\wdz@“\fiŽŽ¡Ã68Ž‘¿ªÏ\ifdim\dimen@=\z@–¿ª\def\Upness@{.5}\else“\quotient@\Upness@\U@c\dimen@“\fiŽŽ¡Ã69Ž‘¿ªÏ\expandafter\Edge@c\expandafter{\prevEdge@@}\let\frmradius@@=\z@ŽŽ¡Ã70Ž‘¿ªÏ\def\Drop@@{}%ŽŽ¡Ã71Ž‘¿ªÏ\def\Connect@@{\xy@@{\save@\cmerge@\Y@p\X@p\D@p\U@p\L@p\R@p\Drop@@}\restore}%ŽŽ¡Ã72Ž‘¿ªÏ\xyFN@\frm@i}ŽŽ¦Ã74Ž‘Ï\xylet@\frmradius@@=\z@ŽŽŽŽŒ‹Æ >Ë Á à ý*tj‘㌹198’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ76Ž‘õŒÏ\xydef@\frm@i{%ŽŽ¤ ™š‘ãŒÃ77Ž‘ûKÃÏ\addLT@\ifx\next‘¿ª\addGT@{\addLT@\DN@##1}{\def\frmradius@@{##1}\xyFN@\frm@i}%ŽŽ¡‘ãŒÃ78Ž‘ûKÃÏ\else–¿ª\DN@##1##{\frm@{##1}}\fi“\next@}ŽŽŸü‘ôŒ¹The–ùWmain“command“is“Ï\frm@Ž‘&±¹whicš²!h“loMÞoks“up“if“a“custom“con˜trol“sequence“is“a˜v‘ÿdDailable“for“theŽ¡‘ãŒrequested–¦fframe“or“whether“the“generic“`curv²!e“along“the“edge'“cošMÞde“should“b˜e“in•²!v“ok“ed.Ž©Pˆ‘ãŒÃ86Ž‘õŒÏ\xydef@\frm@#1#2{\DNii@{frm#1{#2}}%ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ\expandafter\let\expandafter\next@\csname\codeof\nextii@\endcsnameŽŽ¡‘ãŒÃ88Ž‘ûKÃÏ\ifx\next@\relax‘¿ª\DNii@{frm{#2}}%ŽŽ¡‘ãŒÃ89Ž‘ mÏ\expandafter\let\expandafter\next@\csname\codeof\nextii@\endcsnameŽŽ¡‘ãŒÃ90Ž‘ mÏ\ifx\next@\relax–¿ª\let\next@=\frm@generic“\fi\fi“\next@}ŽŽ¦‘ãŒÃ92Ž‘õŒÏ\xydef@\frm@generic{\xyerror@{No–¿ªgeneric“frames“yet!}{}}ŽŽŸü‘ôŒ¹This–úÓextra“command“is“used“to“de ne“Ï\Drop@@Ž‘.3L¹for“eacš²!h“frame“suc˜h“that“Ï\frmradius@@Ž‘Jñž¹is“a˜v‘ÿdDailable.ަ‘ãŒÃ99Ž‘õŒÏ\xydef@\frmDrop@#1{%ŽŽ¡‘ãŒÃ100Ž‘ûKÃÏ\ifx\frmradius@@\z@–¿ª\addtoDrop@@{\let\frmradius@@=\z@“#1}%ŽŽ¡‘ãŒÃ101Ž‘ûKÃÏ\else‘¿ª\expandafter\addtoDrop@@\expandafter{%ŽŽ¡‘ãŒÃ102Ž‘ ŠÁÏ\expandafter\def\expandafter\frmradius@@\expandafter{\frmradius@@}#1}\fi}ŽŽ¦‘ãŒÃ104Ž‘õŒÏ\xydef@\EdgefromtheEdge@{%ŽŽ¡‘ãŒÃ105Ž‘ûKÃÏ\U@c=\the\U@c–¿ª\D@c=\the\D@c“\L@c=\the\L@c“\R@c=\the\R@cŽŽ¡‘ãŒÃ106Ž‘ûKÃÏ\Edge@c={\expandafter\noexpand\the\Edge@c}}ŽŽ¡‘ãŒÃ107Ž‘õŒÏ\xydef@\prevEdgefromtheEdge@{%ŽŽ¡‘ãŒÃ108Ž‘ûKÃÏ\U@c=\the\U@c–¿ª\D@c=\the\D@c“\L@c=\the\L@c“\R@c=\the\R@cŽŽ¡‘ãŒÃ109Ž‘ûKÃÏ\noexpand\def\noexpand\prevEdge@@{\expandafter\noexpand\the\Edge@c}}ŽŽ¦‘ãŒÃ111Ž‘õŒÏ\xydef@\addtoDrop@@#1{%ŽŽ¡‘ãŒÃ112Ž‘ûKÃÏ\expandafter\def\expandafter\Drop@@\expandafter{\Drop@@#1}}ŽŽ¡‘ãŒÃ113Ž‘õŒÏ\xydef@\addbeforeDrop@@#1{\DNii@{#1}%ŽŽ¡‘ãŒÃ114Ž‘ûKÃÏ\expandafter\DN@\expandafter{\expandafter\nextii@\Drop@@}%ŽŽ¡‘ãŒÃ115Ž‘ûKÃÏ\expandafter\expandafter\expandafter\defŽŽ¡‘ãŒÃ116Ž‘ mÏ\expandafter\expandafter\expandafter\Drop@@ŽŽ¡‘ãŒÃ117Ž‘ËÏ\expandafter\expandafter\expandafter{\next@}}ŽŽŸü‘ôŒ¹Belo•²!w›pÒw“e˜distinguish˜bMÞet“w“een˜`ordinary'˜frames,‘£m`brac“k“ets'˜and˜` lls';‘Ölast˜w“e˜presen“t˜ho“w˜someŽ¡‘ãŒframes–¦fcan“bMÞe“added“to“other“ob››»jects“using“ob˜ject“mošMÞdi er“Çh¹shap˜eÇi¹s.ŽŸ!îN‘ãŒÞ2.2.1Ž‘ ÌF‘þàramesŽŸ=‘㌹Figure–R{2.2“sho²!ws“the“pšMÞossible“frames“and“the“applicable“Çh¹mo˜di erÇi¹s“with“reference“to“the“notes“b˜elo²!w.ŽŸ!‡è‘ãŒÔNotesŽŸ=‘㌹2.2a.ŽŽ=The‘LJÏ\frm{}Ž‘)¹frame–LJis“a“dumm²!y“useful“for“not“putting“a“frame“on“something,–^PÐe¹.Ðg¹.,“in–LJmacros“thatŽ¡‘õŒtakš²!e–¦fa“Çh¹frameÇi“¹argumen˜t.ަ‘ãŒÃ206Ž‘õŒÏ\xydefcsname@{frm{}}{}ŽŽ¡‘ãŒÃ207Ž‘õŒÏ\xyletcsnamecsname@{frm[]{}}{frm{}}ŽŽ¡‘ãŒÃ208Ž‘õŒÏ\xyletcsnamecsname@{frm[o]{}}{frm{}}ŽŽŸŠV‘㌹2.2b.ŽŽ‘©ùÐR–ÿp¹e“ctangular‘=¹frames–âinclude“Ï\frm{.}Ž‘,Mˆ¹,‘*AÏ\frm{-}Ž–,gç¹,‘*AÏ\frm{=}Ž“¹,‘*AÏ\frm{--}Ž–2'‘¹,‘*AÏ\frm{==}Ž“¹,‘*Aand‘âÏ\frm{o-}Ž‘2 2¹.Ž¡‘õŒThey–¦fall“makš²!e“rectangular“frames“that“essen˜tially“trace“the“bšMÞorder“of“a“rectangle-shap˜ed“ob‘›»ject.ŽŽŽŒ‹Ç L÷ Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹199ŽŽ ¶??ŸæÜÓ ýñÑŸ05‘.…ïps: SDict begin xyc endŸôm!‘MçÏF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘[*ÚÏ\frm{}ŽŽŽŸ …A‘U¹Q¹frameŸü¾²2.2aŽŽŽŽŽŽŽŽŽŽŸô-!’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’³W~Ï\frm{.}ŽŽŽŸA’°~®¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸé’w’¥Ú¯ž™„3232ŽŽŽ’§Ý‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“’¥ÁŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’èø[ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’¥Ú¯ž™„3232ŽŽ’§Ý‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸóju’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ý$ùÏ\frm<44pt>{.}ŽŽŽŸŠ™’ ‹'¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸýh0’"‚Êï6" {20.59529 40.36647 -20.5953 -40.36647 20.59529 vt}xyŽŽŽŸ$‹¾‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘XKÏ\frm{-}ŽŽŽŸA‘Ur5¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸ-ÆÍ‘liØï2" {0.0 33.50795 -19.83487 -33.50795 19.83485 ov}xyŽŽŽŸñ‘JÎ6ž™„3232ŽŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“‘J´ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ëâŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸ#É’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’¤øUÏ\frm<8pt>{-}ŽŽŽŸŠ™’°~®¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸ-ÆÍ’ÇvQï1" {8.0 37.49213 -20.5953 -37.49213 20.59529 ov}xyŽŽŽŸ.h’¡Þ¼ž™„3232ŽŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŸ)5ë’¡Å#ŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ìôNŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’¡Þ¼ž™„3232ŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŽŽŸ#É’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ý$ùÏ\frm<44pt>{-}ŽŽŽŸŠ™’ ‹'¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸ-ÆÍ’"‚Êï6" {20.59529 40.36647 -20.5953 -40.36647 20.59529 ov}xyŽŽŽŸ.h’ú `ž™„3232ŽŽŽ’ûH‘ÿúž™„3232ŽŽ–<®‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘<Ÿž™„3232ŽŽŽŸ)5ë’ùñÇŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’JàœŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ú `ž™„3232ŽŽ’ûH‘ÿúž™„3232ŽŽ–<®‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘<Ÿž™„3232ŽŽŽŽŽŸTê[‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘XKÏ\frm{=}ŽŽŽŸA‘Ur5¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸ^%j‘liØï2" {0.0 33.50795 -19.83487 -33.50795 19.83485 ov}xyŽŽŽŸ^%j‘liØï2" {0.0 31.50795 -17.83487 -31.50795 17.83485 ov}xyŽŽŽŸJO±‘JÎ6ž™„3232ŽŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“‘J´ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ëâŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸT'¯’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’¤øUÏ\frm<8pt>{=}ŽŽŽŸŠ™’°~®¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸ^%j’ÇvQï1" {8.0 37.49213 -20.5953 -37.49213 20.59529 ov}xyŽŽŽŸ^%j’ÇvQï1" {6.0 35.49213 -18.5953 -35.49213 18.59529 ov}xyŽŽŽŸI’¡Þ¼ž™„3232ŽŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŸ)5ë’¡Å#ŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ìôNŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’¡Þ¼ž™„3232ŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŽŽŸT'¯’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ý$ùÏ\frm<44pt>{=}ŽŽŽŸŠ™’ ‹'¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸ^%j’"‚Êï6" {20.59529 40.36647 -20.5953 -40.36647 20.59529 ov}xyŽŽŽŸ^%j’"‚Êï6" {18.59529 38.36647 -18.5953 -38.36647 18.59529 ov}xyŽŽŽŸI’ú `ž™„3232ŽŽŽ’ûH‘ÿúž™„3232ŽŽ–<®‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘<Ÿž™„3232ŽŽŽŸ)5ë’ùñÇŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’JàœŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ú `ž™„3232ŽŽ’ûH‘ÿúž™„3232ŽŽ–<®‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘<Ÿž™„3232ŽŽŽŽŽ …Hø‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘Uk0Ï\frm{--}ŽŽŽŸA‘Ur5¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸz®N‘JÎ6ž™„3232ŽŽŽ‘Khï" {3072 F d}xyŽ‘UF[ï" {3072 F d}xyŽ– Dôï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ Dêï" {3072 F d}xyŽ‘Dêž™„3232ŽŽŽŸ'°“ŸØ‚Ÿ‘JçÏï" {1024 F d}xyŽ‘J´Ÿ #32ï" {1024 F d}xyŽŸ $32ï" {1024 F d}xyŽŸ 32ï" {1024 F d}xyŽŽŸØ‚Ÿ’Žï" {1024 F d}xyŽ’ë⟠#32ï" {1024 F d}xyŽŸ $32ï" {1024 F d}xyŽŸ 32ï" {1024 F d}xyŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Khï" {3072 F d}xyŽ‘UF[ï" {3072 F d}xyŽ– Dôï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ Dêï" {3072 F d}xyŽ‘Dêž™„3232ŽŽŽŽŽŸz®N‘JÎ6ž™„3232ŽŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“‘J´ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ëâŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ …Hø’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’°w©Ï\frm{o-}ŽŽŽŸA’°~®¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽŸz®N’¥ôHŸï" {135 180 4.00002 7 c}xy‘+ìï" {90 135 4.00002 6 c}xyŽŽŽ’®ôHï" {3072 F d}xyŽ’´è‚‘ï" {3072 F d}xyŽ– ô:‘ï" {3072 F d}xyŽ“‘ï" {3072 F d}xyŽ‘ô1ï" {3072 F d}xyŽ‘ô1Ÿï" {45 90 4.00002 5 c}xy‘Ôï" {0 45 4.00002 4 c}xyŽŽŽŸ#ãÅŸï;Ÿö’¥ôHï" {1024 F d}xyŽŽŸãÅŸö’¥ôHï" {1024 F d}xyŽŽŽŸï;Ÿö’é+ï" {1024 F d}xyŽŽŸãÅŸö’é+ï" {1024 F d}xyŽŽŽŽŸ’¥ôHŸüï" {-180 -135 4.00002 0 c}xy‘+ìï" {-135 -90 4.00002 1 c}xyŽŽ’®ôHï" {3072 F d}xyŽ’´è‚‘ï" {3072 F d}xyŽ– ô:‘ï" {3072 F d}xyŽ“‘ï" {3072 F d}xyŽ‘ô1ï" {3072 F d}xyŽ‘ô1Ÿüï" {-90 -45 4.00002 2 c}xy‘Ôï" {-45 0 4.00002 3 c}xyŽŽŽŽŽŸz®N’¥Ú¯ž™„3232ŽŽŽ’§Ý‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“’¥ÁŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’èø[ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’¥Ú¯ž™„3232ŽŽ’§Ý‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ „†L’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’úE$Ï\frm<44pt>{--}ŽŽŽŸŠ™’ ‹'¹frameŸü¾²2.2bŽŽŽŽŽŽŽŽŽŽ Ž„’"‚Êï6" {20.59529 43.24081 -20.5953 -43.24081 20.59529 vd}xyŽŽŽŸy뢒÷+‹ž™„3232ŽŽŽ’øaê‘ÿúž™„3232ŽŽ–6]‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘6Iž™„3232ŽŽŽŸ)5ë’÷òŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’MÀqŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’÷+‹ž™„3232ŽŽ’øaê‘ÿúž™„3232ŽŽ–6]‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘6Iž™„3232ŽŽŽŽŽ µ™¶‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘XKÏ\frm{,}ŽŽŽŸ þ‘Vn¹frameŸü¾²2.2cŽŽŽŽŽŽŽŽŽŽ‘KçРÓùo„33CŽ’¸¯ Óùo„'Ç033Ž ªÿ ‘JÎ6ž™„3232ŽŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'ÌP‘J´ŸÚ|i™ž™„3232ŽŽ¤‰™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ëâŸÚ|i™ž™„3232ŽŽ¤‰™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ µ$é’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’¤øUÏ\frm<5pt>{,}ŽŽŽŸ ™’± ç¹frameŸü¾²2.2cŽŽŽŽŽŽŽŽŽŽ’¦Å# Ø; „JûøŽ’ìÁ Ø; „(°ËŽ ªŠ?’¡Þ¼ž™„3232ŽŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŸ(µë’¡Å#ŸÙƒÎ™ž™„3232ŽŽ¤Š™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ìôNŸÙƒÎ™ž™„3232ŽŽ¤Š™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’¡Þ¼ž™„3232ŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŽŽ µ™¶’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ „"Ï\frm{-,}ŽŽŽŸ þ’ `¹frameŸü¾²2.2cŽŽŽŽŽŽŽŽŽŽ ¾â¤’"‚Êï2" {0.0 33.50795 -19.88904 -33.50795 19.88904 ov}xyŽŽŽ’ Óùo„33CŽ’CÑ¡ Óùo„'Ç033Ž ªÿ ’ç(ž™„3232ŽŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'ÌP’ÍŸÚ|i™ž™„3232ŽŽ¤‰™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’DÔŸÚ|i™ž™„3232ŽŽ¤‰™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ç(ž™„3232ŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ æ2‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘XKÏ\frm{o}ŽŽŽŸA‘Ur5¹frameŸü¾²2.2dŽŽŽŽŽŽŽŽŽŽ ï‘liØï" {33.50793 ox}xyŽŽŽŽ Ûkˆ‘JÎ6ž™„3232ŽŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“‘J´ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ëâŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ åC†’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’¤øUÏ\frm<8pt>{o}ŽŽŽŸŠ™’°~®¹frameŸü¾²2.2dŽŽŽŽŽŽŽŽŽŽ ï’ÇvQï " {8.0 ox}xyŽŽŽŽ Ú¨Ü’¡Þ¼ž™„3232ŽŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŸ)5ë’¡Å#ŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ìôNŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’¡Þ¼ž™„3232ŽŽ’£"ì‘ÿúž™„3232ŽŽ–D%‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘Dž™„3232ŽŽŽŽŽ æ2’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ „"Ï\frm{.o}ŽŽŽŸA’ ‹'¹frameŸü¾²2.2dŽŽŽŽŽŽŽŽŽŽ ï’"‚Êï" {33.50793 ot}xyŽŽŽŽ Ûkˆ’ç(ž™„3232ŽŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“’ÍŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’DÔŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ç(ž™„3232ŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ dÏ‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘Uk0Ï\frm{oo}ŽŽŽŸA‘Ur5¹frameŸü¾²2.2dŽŽŽŽŽŽŽŽŽŽ l«‘liØï" {33.50793 ox}xyŽŽŽŽ l«‘liØï" {31.40793 ox}xyŽŽŽŽ  Ê%‘JÎ6ž™„3232ŽŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“‘J´ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ëâŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘JÎ6ž™„3232ŽŽ‘Ld‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ ¢#’¨ôH¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’¢€Ï\frm<8pt>{oo}ŽŽŽŸŠ™’°~®¹frameŸü¾²2.2dŽŽŽŽŽŽŽŽŽŽ l«’ÇvQï " {8.0 ox}xyŽŽŽŽ l«’ÇvQï " {5.9 ox}xyŽŽŽŽ  y’žþçž™„3232ŽŽŽ’ ;›‘ÿúž™„3232ŽŽ–<®‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘<Ÿž™„3232ŽŽŽŸ)5ë’žåNŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ïÔ#ŸÙ 8™ž™„3232ŽŽ¤ 𙞙„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’žþçž™„3232ŽŽ’ ;›‘ÿúž™„3232ŽŽ–<®‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘<Ÿž™„3232ŽŽŽŽŽ dÏ’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ „"Ï\frm{-o}ŽŽŽŸA’ ‹'¹frameŸü¾²2.2dŽŽŽŽŽŽŽŽŽŽ l«’"‚Êï" {33.50793 od}xyŽŽŽŽ  Ê%’ç(ž™„3232ŽŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“’ÍŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’DÔŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ç(ž™„3232ŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ Gl‘MçϹF‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘XKÏ\frm{e}ŽŽŽŸ …A‘Vn¹frameŸü¾²2.2eŽŽŽŽŽŽŽŽŽŽ OËH‘liØï," {19.58485 19.58485 33.50793 33.50793 ox}xyŽŽŽŽ {e}ŽŽŽŸ ™’± ç¹frameŸü¾²2.2eŽŽŽŽŽŽŽŽŽŽ OËH’ÇvQï" {8.0 8.0 20.0 20.0 ox}xyŽŽŽŽ ;¦’““ž™„3232ŽŽŽ’”³‰‘ÿúž™„3232ŽŽ–3å‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘3àž™„3232ŽŽŽŸ(µë’“eúŸÙƒÎ™ž™„3232ŽŽ¤Š™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ûSwŸÙƒÎ™ž™„3232ŽŽ¤Š™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’““ž™„3232ŽŽ’”³‰‘ÿúž™„3232ŽŽ–3å‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘3àž™„3232ŽŽŽŽŽ Gl’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ „"Ï\frm{.e}ŽŽŽŸ …A’ `¹frameŸü¾²2.2eŽŽŽŽŽŽŽŽŽŽ OËH’"‚Êï," {19.58485 19.58485 33.50793 33.50793 ot}xyŽŽŽŽ {ee}ŽŽŽŸ ™’± ç¹frameŸü¾²2.2eŽŽŽŽŽŽŽŽŽŽ €)å’ÇvQï" {8.0 8.0 20.0 20.0 ox}xyŽŽŽŽ €)å’ÇvQï" {6.0 6.0 18.0 18.0 ox}xyŽŽŽŽ l³’Ÿ¾ž™„3232ŽŽŽ’‘Ú®‘ÿúž™„3232ŽŽ–:ê‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:Ûž™„3232ŽŽŽŸ(µë’†%ŸÙƒÎ™ž™„3232ŽŽ¤Š™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’þ3LŸÙƒÎ™ž™„3232ŽŽ¤Š™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’Ÿ¾ž™„3232ŽŽ’‘Ú®‘ÿúž™„3232ŽŽ–:ê‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:Ûž™„3232ŽŽŽŽŽ wb ’Á¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ „"Ï\frm{-e}ŽŽŽŸ …A’ `¹frameŸü¾²2.2eŽŽŽŽŽŽŽŽŽŽ €)å’"‚Êï," {19.58485 19.58485 33.50793 33.50793 od}xyŽŽŽŽ lÇ_’ç(ž™„3232ŽŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'0“’ÍŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’DÔŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ç(ž™„3232ŽŽ’!V‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽ Öñó ÿBe‡‘@v«8Ž‘@vŸ|b>ޤ>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>ŽŸŸ<ŽŽ ½šy‘@v ÿJƒ3>ޤ>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>ŽŸ|U:ŽŽŽŽ èhŸ‡Œ°‘ Jg¹These‘¦Mareޤ ˆ‘ ;¾o•²!v“erla“y“edŽ¡‘`¿with‘¦MtheŽ¡‘UÏ\frm{.}Ž¡‘æñ¹frameŽ¡‘ÃçabMÞo•²!v“eŽ¡‘;to‘¦Msho²!wŽ¡‘¿'the‘¦Mw•²!a“yŽ¡‘ѧthey‘¦MareŽ¡‘écen²!tered‘¦MonŽ¡‘ EŒthe‘¦Mob‘›»jectŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ ®kä’•NÅFigure–¦f2.2:‘ÝÝPlain“Çh¹frameÇi¹s.ŽŽ¤ ™š¡‘+Pïps: SDict begin xyc endŸ${2‘F‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘£ŒÏ\frm{_\}}ŽŽŽŸ&Y‘ Êf¹frameŸü¾²2.2fŽŽŽŽŽŽŽŽŽŽÀŸBF««|„31‚{Ž‘! ŸBF«z„31‚}ŽŽŽŸàˆægž™„3232ŽŽŽ‘ •‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'Ñ«ÌΟÚwX™ž™„3232ŽŽ¤Ñ™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘CŸÚwX™ž™„3232ŽŽ¤Ñ™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32ægž™„3232ŽŽ‘ •‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸ$‹¾‘^ y¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘b°Ï\frm{^\}}ŽŽŽŸA‘fÖß¹frameŸü¾²2.2fŽŽŽŽŽŽŽŽŽŽ‘ZÌyŸñ«z„31‚}Ž‘|΂Ÿñ|„31‚{ŽŽŽŸñ‘Zòàž™„3232ŽŽŽ‘\-‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“‘ZÙGŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’žŒŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘Zòàž™„3232ŽŽ‘\-‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸ$‹¾’¹ò¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ÀœSÏ\frm{\{}ŽŽŽŸA’ÁãX¹frameŸü¾²2.2fŽŽŽŽŽŽŽŽŽŽŸ-ÆÍŸë­’±§+«8Ž’±§+Ÿg>ŽŸE<ŽŽŸoT’±§+Ÿô˜ÿ>ŽŸfû:ŽŽŽŽŸñ’µÿYž™„3232ŽŽŽ’·9‡‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“’µåÀŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ùŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’µÿYž™„3232ŽŽ’·9‡‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸ$‹¾’%k¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’¨ÌÏ\frm{\}}ŽŽŽŸA’ïѹframeŸü¾²2.2fŽŽŽŽŽŽŽŽŽŽŸ-ÆÍŸë­’O·¶«9Ž’O·¶Ÿg>ŽŸE=ŽŽŸoT’O·¶Ÿô˜ÿ>ŽŸfû;ŽŽŽŽŸñ’ Òž™„3232ŽŽŽ’F‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'°“’ò9ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’T)~ŸÚ–³™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ Òž™„3232ŽŽ’F‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸUÏ‘¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘ ƒaÏ\frm{_)}ŽŽŽŸ ¦Y‘ Ñ‚¹frameŸü¾²2.2gŽŽŽŽŽŽŽŽŽŽŸreH«|„31: }ŽŽŸJ%ægž™„3232ŽŽŽ‘ •‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'Q«ÌΟÚ𞙞™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘CŸÚ𞙞™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32ægž™„3232ŽŽ‘ •‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸU*[‘^ y¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ‘eÚÏ\frm{^)}ŽŽŽŸ …A‘eÝû¹frameŸü¾²2.2gŽŽŽŽŽŽŽŽŽŽ‘[ yŸJ±«z„31: {ŽŽŸJ±‘Zòàž™„3232ŽŽŽ‘\-‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'0“‘ZÙGŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’žŒŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘Zòàž™„3232ŽŽ‘\-‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸU*[’¹ò¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’Ã|(Ï\frm{(}ŽŽŽŸ …A’Àêt¹frameŸü¾²2.2gŽŽŽŽŽŽŽŽŽŽŸIö’±§+«8Ž’±§+Ÿ/P>ޤ>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>ŽŸ/C:ŽŽŽŸJ±’µÿYž™„3232ŽŽŽ’·9‡‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'0“’µåÀŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ùŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’µÿYž™„3232ŽŽ’·9‡‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŸU*[’%k¹F‘ÿeramed‘¦fwithŽŽŽŸ ˆ’ˆ¡Ï\frm{)}ŽŽŽŸ …A’öí¹frameŸü¾²2.2gŽŽŽŽŽŽŽŽŽŽŸIö’O·¶«9Ž’O·¶Ÿ/P>ޤ>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>Ž¡>ŽŸ/C;ŽŽŽŸJ±’ Òž™„3232ŽŽŽ’F‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŸ'0“’ò9ŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’T)~ŸÛù™ž™„3232ŽŽ¤ V™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’ Òž™„3232ŽŽ’F‘ÿúž™„3232ŽŽ–:*‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘:ž™„3232ŽŽŽŽŽŽŽŽŽ ‹‚’ƒh¹Figure›¦f2.3:‘ÝÝBrac•²!k“et˜Çh¹frameÇi¹s.ŽŽŽŽŽŒ‹È Y Á à ý*tj‘㌹200’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘õŒ¹The–vÇh¹frameÇi¹s“Ï\frm{-}Ž›1)ιand“Ï\frm{=}Ž˜¹allo²!w“an“optional“Ðc–ÿp¹orner‘©ûr“adius‘\,¹that–vrounds“the“corners“ofޤ ™š‘õŒthe–øÖframe“with“quarter“circles“of“the“spMÞeci ed“radius.‘Õ.This“is“not“allo•²!w“ed–øÖfor“the“other“frames|Ž¡‘õŒthe‘4XÏ\frm{o-}Ž‘8f¹frame›4Xalw•²!a“ys˜giv“es˜rounded˜corners˜of˜the˜same˜size˜as˜the˜used˜dashes˜(whenŽ¡‘õŒÏ\xydashfontŽ‘8n͹is–¦fthe“default“one“then“these“are“Ï5ptŽ‘‹Ê¹in“radius).ŽŸ!Í‘õŒÔExercise‘22.4:‘ ó5¹Hoš²!w–¦fdo“y˜ou“think“the“author“t˜ypMÞeset“the“follo˜wing?ŽŸ+ä’Èç ïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽŸý4ý‘3ï" {7.10625 ox}xyŽŽŽŽ‘!ŸŸí;=BŽŽŽŽŸéJH‘#ï" {7.42752 ox}xyŽŽŽŽŸâ ægž™„3232ŽŽŽ‘&ë‘ÿúž™„3232ŽŽ–@~‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘@nž™„3232ŽŽŽŸ"x{ÌΟ߾Ê™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘*ü„Ÿß¾Ê™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32ægž™„3232ŽŽ‘&ë‘ÿúž™„3232ŽŽ–@~‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘@nž™„3232ŽŽŽŽŽŽŽŽŽŸžv¤ï¿‘õŒ¹The–¦fcommands“still“hacš²!k“a˜w˜a˜y“with“rules“and“stu .–Ó3.“.Ž¡‘õŒÏ\frm{.}Ž‘#!¹just–WÑ lls“the“edges“of“the“ob‘›»ject“rectangle“bMÞorder“with“dots“using“dots“as“in“dottedޤ ™š‘õŒconnections–¦fin“the“k²!ernel.Ž©Pˆ‘ãŒÃ252Ž‘õŒÏ\xydefcsname@{frm{.}}{\frmDrop@{\let\zerocorner=\framezerodot@@ŽŽ¡‘ãŒÃ253Ž‘ mÏ\let\framehfill=\frm@doth@@‘¿ª\let\framevfill=\frm@dotv@@ŽŽ¡‘ãŒÃ254Ž‘ mÏ\framed@@{\frmradius@@}}}ŽŽ¦‘ãŒÃ256Ž‘õŒÏ\xyletcsnamecsname@{frm[]{.}}{frm{.}}ŽŽ¦‘ãŒÃ258Ž‘õŒÏ\xydef@\frm@doth@@{\setboxz@h{\kern5\B@\framezerodot@@\kern5\B@}\ht\z@=\B@ŽŽ¡‘ãŒÃ259Ž‘ûKÃÏ\dp\z@=\B@\kern5\B@\xleaders\boxz@\hss\kern5\B@}ŽŽ¡‘ãŒÃ260Ž‘õŒÏ\xydef@\frm@dotv@@{\setboxz@h‘¿ªto2\B@{\hss\framezerodot@@\hss}\ht\z@=5\B@ŽŽ¡‘ãŒÃ261Ž‘ûKÃÏ\dp\z@=5\B@\kern5\B@\xleaders\boxz@\vss\kern5\B@}ŽŽ¦‘ãŒÃ263Ž‘õŒÏ\xyletcsnamecsname@{frm{..}}{frm{.}}ŽŽ¦‘ãŒÃ265Ž‘õŒÏ\xylet@\framezerodot@@=\zerodotŽŽŸ¦­‘õŒ¹The‘òÑÏ\frmŽ–ñyÇh¹v›ÿdDarian²!tÇiÏ{-}Ž‘1Ϲand‘òÑÏ\frmŽ“Çh¹v˜arian²!tÇiÏ{=}Ž‘1Ϲset–òÑa“single/double“frame“that“just“surrounds“theŽ¡‘õŒcurrenš²!t–[¹ob‘›»ject;‘tif“a“Çh¹radiusÇi“¹is“giv˜en“then“it“should“bšMÞe“a“Ï<Ž– cÇh¹dimenÇiÏ>Ž“¹where–[¹the“Çh¹dimenÇi“¹will“b˜e“usedŽ¡‘õŒfor–¦fthe“corner“radius.ŽŸï¿‘õŒThe–wìcommands“for“Ï\frm{-}Ž›1-~¹and“Ï\frm{=}Ž˜¹are“quite“similar“in“that“they“just“call“Ï\framed@Ž‘6í(¹oneŽ¡‘õŒor›º«t•²!w“o˜times,›¿¼respMÞectiv“ely‘ÿe,˜with–º«the“corner“radius“and“ÄL;–Ó1R¨;“DMÞ;“U‘ìJ¹exten²!ts–º«re ecting“the“size“of“theŽ¡‘õŒframe.‘È÷Ï\framed@Ž‘6-ú¹then–g³sets“the“horizonš²!tal“and“v˜ertical“ ll“commands“to“generate“rules“of“the“righ˜tŽ¡‘õŒlength,–¦fthen“calls“Ï\framed@@Ž‘; ƹwhere“the“real“w²!ork“is“done.ަ‘ãŒÃ281Ž‘õŒÏ\xydefcsname@{frm{-}}{\frmDrop@{\framed@\frmradius@@}}ŽŽ¡‘ãŒÃ282Ž‘õŒÏ\xyletcsnamecsname@{frm[]{-}}{frm{-}}ŽŽ¦‘ãŒÃ284Ž‘õŒÏ\xydef@\framed@{\let\zerocorner=\framezerodot@@ŽŽ¡‘ãŒÃ285Ž‘ûKÃÏ\let\framehfill=\frm@solidh@@–¿ª\let\framevfill=\frm@solidv@@“\framed@@}ŽŽ¦‘ãŒÃ287Ž‘õŒÏ\xylet@\framesetthick@=\relaxŽŽ¦‘ãŒÃ289Ž‘õŒÏ\xydef@\frm@solidh@@{\framesetthick@\leaders\hrule–¿ªheight\B@“depth\B@\hfill}ŽŽ¡‘ãŒÃ290Ž‘õŒÏ\xydef@\frm@solidv@@{\framesetthick@\leaders\vrule‘¿ªwidth2\B@\vfill}ŽŽ¦‘ãŒÃ292Ž‘õŒÏ\xydefcsname@{frm{=}}{\frmDrop@{\framed@\frmradius@@ŽŽ¡‘ãŒÃ293Ž‘ mÏ{\advance\L@c-2\p@–¿ª\advance\R@c-2\p@“\advance\U@c-2\p@“\advance\D@c-2\p@ŽŽ¡‘ãŒÃ294Ž‘ËÏ\dimen@=\frmradius@@ŽŽ¡‘ãŒÃ295Ž‘ËÏ\ifdim\dimen@>2\p@–¿ª\advance\dimen@-2\p@“\else“\dimen@=\z@\fiŽŽ¡‘ãŒÃ296Ž‘ mÏ\framed@\dimen@}}}ŽŽ¦‘ãŒÃ298Ž‘õŒÏ\xyletcsnamecsname@{frm[]{=}}{frm{=}}ŽŽŽŽŒ‹É “w Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹201ŽŽ ¶?? ýh«w‘õŒWhen–¦fthe“line“extension“is“also“loaded“then“wš²!e“use“the“line“thic˜kness“for“frames:ޤPˆ‘ãŒÃ305Ž‘õŒÏ\xydef@\framesetthick@line{\B@=.5\xylinethick@}ŽŽ¡‘ãŒÃ307Ž‘õŒÏ\xydef@\frm@thickc@@{\hbox{\framesetthick@lineŽŽ© ™š‘ãŒÃ308Ž‘ mÏ\vrule–¿ªheight.5\B@“depth.5\B@“width\B@}}ŽŽ¡‘ãŒÃ310Ž‘õŒÏ\xywithoption{line}{%ŽŽ¦‘ãŒÃ311Ž‘ûKÃÏ\let\framezerodot@@\frm@thickc@@‘¿ª\let\framesetthick@=\framesetthick@line}ŽŽŸ6¡‘õŒ\framed@@Ž‘.œ³¹is–S where“wš²!e“build“a“bMÞo˜x“with“the“sides“of“the“frame“displaced“appropriately‘ÿe.‘ åŠÔT‘þó\oަ‘õŒDoGeneralise–2this“to“handle“an¦ty“directional!Ž¡‘ãŒÃ319Ž‘õŒÏ%Ž‘#‰iProcedure:ŽŽ¦‘ãŒÃ320Ž‘õŒÏ%Ž‘#‰i%0–¿ªsetup“hrulefill“and“vrulefill“as“apropriate...ŽŽ¦‘ãŒÃ321Ž‘õŒÏ%Ž‘#‰i%1–¿ªLower“R“to“be“less“than“half“of“both“(U+D)“and“(L+R).ŽŽ¦‘ãŒÃ322Ž‘õŒÏ%Ž‘#‰i%2–¿ªStart“vbox“at“(X-L,Y-D)“except“center“overshoot.ŽŽ¦‘ãŒÃ323Ž‘õŒÏ%Ž‘#‰i%3–¿ªGenerate“corner“CO4“at“R;“w[\A@]“:=“-1/2“width(corner);ŽŽ¦‘ãŒÃ324Ž‘õŒÏ%Ž‘4Ègr[\B@]–¿ª:=“1/2“rulewidth;“h[\dimen@ii]“:=“U+D+2w;ŽŽ¦‘ãŒÃ325Ž‘õŒÏ%Ž‘#‰i%4–¿ªRow“1:“hbox“to“W{kern“w“CO4“hrulefill“CO3“kern“w}.ŽŽ¦‘ãŒÃ326Ž‘õŒÏ%Ž‘#‰i%5–¿ªRow“2:“hbox“to“W{kern-r“vbox“to“h{vrulefill}ŽŽ¦‘ãŒÃ327Ž‘õŒÏ%Ž’œB[hfill–¿ªvbox“to“h{vrulefill}“kern-r}.ŽŽ¦‘ãŒÃ328Ž‘õŒÏ%Ž‘#‰i%6–¿ªRow“3:“hbox“to“W{kern“w“CO1“hrulefill“CO2“kern“w}.ŽŽ¡‘ãŒÃ330Ž‘õŒÏ\xydef@\framed@@#1{\setboxz@h{\R@=#1\relaxŽŽ¦‘ãŒÃ331Ž‘ mÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\dimen@ii=\U@c“\advance\dimen@ii\D@c“%1ŽŽ¦‘ãŒÃ332Ž‘ mÏ\ifdim.5\dimen@<\R@–¿ª\R@=.5\dimen@“\fiŽŽ¦‘ãŒÃ333Ž‘ mÏ\ifdim.5\dimen@ii<\R@–¿ª\R@=.5\dimen@ii“\fiŽŽ¦‘ãŒÃ334Ž‘ mÏ\A@=\X@c–¿ª\advance\A@-\L@c“\B@=\Y@c“\advance\B@-\D@cŽ’“sé%2ŽŽ¦‘ãŒÃ335Ž‘ mÏ\ifdim\R@<\p@\else–¿ª\cirrestrict@@“\fiŽŽ¦‘ãŒÃ336Ž‘ mÏ\dimen@=2\R@–¿ª\advance\dimen@-\L@c“\advance\dimen@-\R@cŽŽ¦‘ãŒÃ337Ž‘ mÏ\ifdim\dimen@>\z@–¿ª\advance\A@-.5\dimen@“\fiŽŽ¦‘ãŒÃ338Ž‘ mÏ\dimen@=2\R@–¿ª\advance\dimen@-\U@c“\advance\dimen@-\D@cŽŽ¦‘ãŒÃ339Ž‘ mÏ\ifdim\dimen@>\z@–¿ª\advance\B@-.5\dimen@“\fiŽŽ¦‘ãŒÃ340Ž‘ mÏ\kern\A@–¿ª\raise\B@\vbox“to“\dimen@ii{\framed@body@@}}%ŽŽ¦‘ãŒÃ341Ž‘ûKÃÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\boxz@}ŽŽ¡‘ãŒÃ343Ž‘õŒÏ\xydef@\framed@body@{%ŽŽ¦‘ãŒÃ344Ž‘ûKÃÏ\advance\dimen@ii.22\p@‘¿ª\advance\dimen@-.2\p@ŽŽ¦‘ãŒÃ345Ž‘ûKÃÏ\setboxz@h{\corn@@4\R@}\A@=-.5\wdz@‘¿ª\B@=.5\xydashw@Ž’“sé%3ŽŽ¦‘ãŒÃ346Ž‘ûKÃÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\advance\dimen@-.2\p@ŽŽ¦‘ãŒÃ347Ž‘ûKÃÏ\setboxz@h–¿ªto\dimen@{\kern\A@“\boxz@“\framehfill\corn@@3\R@\kern\A@}%4ŽŽ¦‘ãŒÃ348Ž‘ûKÃÏ\advance\dimen@ii-\dp\z@–¿ª\kern-\ht\z@“\nointerlineskip\boxz@ŽŽ¦‘ãŒÃ349Ž‘ûKÃÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\advance\dimen@-.2\p@ŽŽ¦‘ãŒÃ350Ž‘ûKÃÏ\setboxz@h‘¿ªto\dimen@{\kern\A@\corn@@1\R@\framehfill\corn@@2\R@\kern\A@}%6ŽŽ¦‘ãŒÃ351Ž‘ûKÃÏ\advance\dimen@ii-\ht\z@ŽŽ¦‘ãŒÃ352Ž‘ûKÃÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\advance\dimen@.2\p@ŽŽ¦‘ãŒÃ353Ž‘ûKÃÏ\nointerlineskip\hbox‘¿ªto\dimen@{%Ž’“sé%5ŽŽ¦‘ãŒÃ354Ž‘ mÏ\setbox\z@=\vbox‘¿ªto\dimen@ii{\framevfill}\kern-.5\wdz@\copy\z@ŽŽ¦‘ãŒÃ355Ž‘ mÏ\hss–¿ª\copy\z@\kern-.5\wdz@“}%ŽŽ¦‘ãŒÃ356Ž‘ûKÃÏ\nointerlineskip\boxz@–¿ª\vss“\kern\z@}ŽŽ¡‘ãŒÃ358Ž‘õŒÏ\xylet@\framed@body@@=\framed@body@ŽŽ¡‘ãŒÃ360Ž‘õŒÏ\xylet@\zerocorner=\framezerodot@@ŽŽŽŽŒ‹Ê ¦ù Á à ý*tj‘㌹202’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ362Ž‘õŒÏ\xydef@\solidcorner@#1#2{\hbox\bgroup‘¿ª\R@=#2\relaxŽŽ¤ ™š‘ãŒÃ363Ž‘ûKÃÏ\ifdim\R@<\p@‘¿ª\zerocornerŽŽ¡‘ãŒÃ364Ž‘ûKÃÏ\else–¿ª\cirrestrict@@“\multiply\count@8“%ŽŽ¡‘ãŒÃ365Ž‘ mÏ\setboxz@h{\corn@x@@{#1}}\dimen@=\wdz@ŽŽ¡‘ãŒÃ366Ž‘ mÏ\ifcase#1\or–¿ª\ht\z@=\z@“\kern\dimen@“\raise\dimen@\boxz@ŽŽ¡‘ãŒÃ367Ž‘ mÏ\or–¿ª\ht\z@=\z@“\raise\dimen@\boxz@“\kern\dimen@ŽŽ¡‘ãŒÃ368Ž‘ mÏ\or–¿ª\dp\z@=\z@“\lower\dimen@\boxz@“\kern\dimen@ŽŽ¡‘ãŒÃ369Ž‘ mÏ\or–¿ª\dp\z@=\z@“\kern\dimen@“\lower\dimen@\boxz@“\fiŽŽ¡‘ãŒÃ370Ž‘ mÏ\vrule–¿ªheight\dimen@“depth\dimen@“width\z@\fiŽŽ¡‘ãŒÃ371Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\U@c=\the\dimen@}\tmp@“\D@c=\U@c“\L@c=\U@c“\R@c=\U@cŽŽ¡‘ãŒÃ372Ž‘ûKÃÏ\Edge@c={\circleEdge}\ignorespaces}ŽŽ©Pˆ‘ãŒÃ374Ž‘õŒÏ\xydef@\corn@x@#1{\ifcase#1\orŽŽ¡‘ãŒÃ375Ž‘ûKÃÏ\circhar@@\z@–¿ª\circhar@@\@ne\or\circhar@@\tw@“\circhar@@3\orŽŽ¡‘ãŒÃ376Ž‘ûKÃÏ\circhar@@5\circhar@@4\or\circhar@@7\circhar@@6\fi}ŽŽ¦‘ãŒÃ378Ž‘õŒÏ\xylet@\corn@x@@=\corn@x@ŽŽ¦‘ãŒÃ380Ž‘õŒÏ\xydef@\corn@@{\DN@{\solidcorner@}%ŽŽ¡‘ãŒÃ381Ž‘ mÏ\ifx\framehfill\frm@doth@@‘¿ª\DN@{\let\cirrestrict@@=\relaxŽŽ¡‘ãŒÃ382Ž‘ËÏ\let\corn@x@@=\dotcorner@@‘¿ª\let\zerodot=\framezerodot@@ŽŽ¡‘ãŒÃ383Ž‘ËÏ\solidcorner@‘¿ª}%ŽŽ¡‘ãŒÃ384Ž‘ mÏ\else\ifx\framehfill\frm@dashh@@‘¿ª\DN@{\let\cirrestrict@@=\relaxŽŽ¡‘ãŒÃ385Ž‘ËÏ\let\corn@x@@=\dashcorner@@‘¿ª\let\zerodot=\framezerodot@@ŽŽ¡‘ãŒÃ386Ž‘ËÏ\solidcorner@‘¿ª}%ŽŽ¡‘ãŒÃ387Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ389Ž‘õŒÏ\xydef@\dotcorner@@#1{\zerocorner}ŽŽ¡‘ãŒÃ390Ž‘õŒÏ\xydef@\dashcorner@@#1{\zerocorner}ŽŽ¦‘ãŒÃ392Ž‘õŒÏ\xywithoption{curve}{%ŽŽ¡‘ãŒÃ393Ž‘ûKÃÏ\let\dotcorner@@=\dotcorner@‘¿ª\let\dashcorner@@=\dashcorner@}ŽŽŸ}ü‘õŒ¹The–¦fdashed“frames“`dash'“with“the“dash“used“for“dashed“lines.ަ‘ãŒÃ399Ž‘õŒÏ\xydefcsname@{frm{--}}{%ŽŽ¡‘ãŒÃ400Ž‘ mÏ\frmDrop@{\let\zerocorner=\framezerodot@@ŽŽ¡‘ãŒÃ401Ž‘ mÏ\let\framehfill=\frm@dashh@@‘¿ª\let\framevfill=\frm@dashv@@ŽŽ¡‘ãŒÃ402Ž‘ mÏ\framed@@\frmradius@@}}ŽŽ¦‘ãŒÃ404Ž‘õŒÏ\xyletcsnamecsname@{frm[]{--}}{frm{--}}ŽŽ¦‘ãŒÃ406Ž‘õŒÏ\xydef@\frm@dashh@@{\setboxz@h{\dashhfillchar}%ŽŽ¡‘ãŒÃ407Ž‘ mÏ\ht\z@=\B@–¿ª\dp\z@=\B@“\wdz@=2\xydashl@ŽŽ¡‘ãŒÃ408Ž‘ mÏ\copy\z@–¿ª\xleaders\copy\z@\hss“\boxz@\kern-\xydashl@}ŽŽ¡‘ãŒÃ409Ž‘õŒÏ\xydef@\frm@dashv@@{\setboxz@h‘¿ªto2\B@{\hss\dashvfillchar\hss}\ht\z@=\z@ŽŽ¡‘ãŒÃ410Ž‘ mÏ\dp\z@=2\xydashl@–¿ª\nointerlineskip\copy\z@“\xleaders\copy\z@\vssŽŽ¡‘ãŒÃ411Ž‘ mÏ\nointerlineskip\boxz@\kern-\xydashl@}%ŽŽ¦‘ãŒÃ413Ž‘õŒÏ\xydef@\dashhfillchar{{\rDirection@\xydashl@‘¿ª\line@@}}ŽŽ¡‘ãŒÃ414Ž‘õŒÏ\xydef@\dashvfillchar{{\dDirection@\xydashl@‘¿ª\line@@}}ŽŽŸ}ü‘õŒÔBug:‘8W¹Setting–S£the“corner-radius“to“less“than“10pt“has“no“e ect“when“using“Ï\frm{o-}Ž‘2Pó¹;‘ªAinstead“aŽ¡‘õŒdefault–¦fsize“of“Ï.8\xydashl@Ž‘F‰¹is“used.ަ‘ãŒÃ421Ž‘õŒÏ\xydefcsname@{frm{o-}}{%ŽŽ¡‘ãŒÃ422Ž‘ûKÃÏ\ifdim\frmradius@@<2\xydashl@\relax‘¿ª\dimen@=.8\xydashl@ŽŽŽŽŒ‹Ë ´ Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹203ŽŽ ¶?? ýh«w‘ãŒÃ423Ž‘ mÏ\expandafter\def\expandafter\frmradius@@\expandafter{\the\dimen@}\fiŽŽ¤ ™š‘ãŒÃ424Ž‘ûKÃÏ\frmDrop@{\let\zerocorner=\framezerodot@@ŽŽ¡‘ãŒÃ425Ž‘ mÏ\let\framehfill=\frm@rddashh@@‘¿ª\let\framevfill=\frm@rddashv@@ŽŽ¡‘ãŒÃ426Ž‘ mÏ\framed@@\frmradius@@}}%ŽŽ©Pˆ‘ãŒÃ428Ž‘õŒÏ\xydef@\frm@rddashh@@{\setboxz@h{\kern\xydashl@\dashhfillchar}%ŽŽ¡‘ãŒÃ429Ž‘ mÏ\ht\z@=\B@–¿ª\dp\z@=\B@“\copy\z@“\xleaders\copy\z@\hss“\boxz@“\kern\xydashl@}ŽŽ¡‘ãŒÃ430Ž‘õŒÏ\xydef@\frm@rddashv@@{\ifdim\dimen@ii<2\xydashl@\elseŽŽ¡‘ãŒÃ431Ž‘ mÏ\setbox\z@=\vbox–¿ªto2\xydashl@{\hbox“to2\B@{\hss\dashvfillchar\hss}\vss}%ŽŽ¡‘ãŒÃ432Ž‘ mÏ\kern\xydashl@–¿ª\copy\z@“\xleaders\copy\z@\vssŽŽ¡‘ãŒÃ433Ž‘ mÏ{\ifdim\dimen@ii<2\xydashl@\else\aftergroup\boxz@\fi}\fi}ŽŽŸ·„‘㌹2.2c.ŽŽ‘ÿrThe–¾frame“Ï\frm{,}Ž‘/¹Æ¹puts“a“shade,›Ãúbuilt“from“rules,˜in²!to“the“picture“bMÞeneath“the“(assumed“rect-Ž¡‘õŒangular)–“ob‘›»ject,‘ptherebš²!y“giving“the“illusion“of“`lifting'“it;‘˪Ï\frm<Ž‘"‰üÇh¹dimenÇiÏ>{,}Ž‘;¹mak˜es“this“shadeŽ¡‘õŒÇh¹dimenÇi‘¦f¹deep.ޤÍ‘õŒÏ\frm{-,}Ž‘'/Ϲcom²!bines–¦fa“Ï\frm{-}Ž‘/Šr¹with“a“Ï\frm{,}Ž‘+ä ¹.Ž¡‘õŒA‘Û®blacš²!k–Ûþrule“is“just“that,‘)ca“shade“is“t˜w˜o“rules“placed“under“and“left“of“the“rectangular“ob‘›»jectޤ ™š‘õŒoutline.ަ‘ãŒÃ452Ž‘õŒÏ\xydefcsname@{frm{,}}{%ŽŽ¡‘ãŒÃ453Ž‘ûKÃÏ\ifx\frmradius@@\z@–¿ª\shaded@{1.2\p@}\else“\shaded@\frmradius@@“\fi}ŽŽ¦‘ãŒÃ455Ž‘õŒÏ\xydef@\shaded@#1{\frmDrop@{\R@=#1\relaxŽŽ¡‘ãŒÃ456Ž‘ mÏ{\advance\X@c\R@–¿ª\advance\Y@c-\D@c“\U@c=\z@“\D@c=\R@“\blacked@}%ŽŽ¡‘ãŒÃ457Ž‘ mÏ{\advance\X@c\R@c–¿ª\advance\Y@c-\R@“\L@c=\z@“\R@c=\R@“\blacked@}}}ŽŽ¦‘ãŒÃ459Ž‘õŒÏ\xydefcsname@{frm{-,}}{\addtoDrop@@{\drop\frm{-}\drop\frm{,}}}ŽŽ¦‘ãŒÃ461Ž‘õŒÏ\xydef@\blacked@{\setboxz@h{%ŽŽ¡‘ãŒÃ462Ž‘ mÏ\A@=\X@c–¿ª\advance\A@-\L@c“\dimen@=\L@c“\advance\dimen@\R@cŽŽ¡‘ãŒÃ463Ž‘ mÏ\B@=\Y@c–¿ª\advance\B@-\D@c“\dimen@ii=\Y@c“\advance\dimen@ii\U@cŽŽ¡‘ãŒÃ464Ž‘ mÏ\advance\A@-.5\xydashw@ŽŽ¡‘ãŒÃ465Ž‘ûKÃÏ%‘¿ª\advance\B@-\xydashw@‘ T\advance\dimen@ii-.5\xydashw@ŽŽ¡‘ãŒÃ466Ž‘ mÏ\kern\A@–¿ª\blacked@@“}%ŽŽ¡‘ãŒÃ467Ž‘ûKÃÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\boxz@}ŽŽ¦‘ãŒÃ469Ž‘õŒÏ\xydef@\bblacked@{\setboxz@h{%ŽŽ¡‘ãŒÃ470Ž‘ mÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\B@=-\D@c“\dimen@ii=\U@cŽŽ¡‘ãŒÃ471Ž‘ mÏ\kern-\L@c–¿ª\blacked@@“\kern-\dimen@“\kern\L@c}%ŽŽ¡‘ãŒÃ472Ž‘ mÏ\ht\z@=\z@–¿ª\dp\z@=\z@“\wd\z@=\z@“\boxz@}ŽŽ¦‘ãŒÃ474Ž‘õŒÏ\xydef@\blacked@@{\vrule–¿ªwidth\dimen@“depth-\B@“height\dimen@ii}ŽŽŸ„‘õŒ¹The‘¦fÏ\blackedŽ‘5J¹option–¦fis“subsumed“within“a“more“general“Ï\filledŽ‘+ä ¹;“see“bMÞelo²!w.ŽŸ–‘ãŒ2.2d.ŽŽ‘©ùCircles–Ædone“with“Ï\frm{o}Ž‘0g2¹ha•²!v“e–Æradius“as“(ÄR‘Î)¹+‘¸ÄL¹)Ä=¹2“and“with“Ï\frm<Ž‘ ÓÇh¹dimenÇiÏ>{o}Ž‘n¹ha•²!v“e‘ÆradiusŽ¡‘õŒas–¤4the“Çh¹dimenÇi¹;‘¤ïÏ\frm{oo}Ž‘5Fs¹mak²!es“a“double“circle“with“the“outermost“circle“bMÞeing“the“same“as“thatŽ¡‘õŒof‘¦fÏ\frm{o}Ž‘+ä ¹.ŽŸ#ƺ‘õŒÔExercise‘22.5:‘ ó5¹What–¦fis“the“di erence“bMÞet•²!w“een‘¦fÏ*\cir{}Ž‘/Šr¹and‘¦fÏ*\frm{o}Ž‘1£¶¹?ަ‘ãŒÃ497Ž‘õŒÏ\xydefcsname@{frm{o}}{%ŽŽ¡‘ãŒÃ498Ž‘ûKÃÏ\ifx\frmradius@@\z@ŽŽ¡‘ãŒÃ499Ž‘ mÏ\frmDrop@{\dimen@=.5\L@c‘¿ª\advance\dimen@.5\R@cŽŽŽŽŒ‹Ì À¡ Á à ý*tj‘㌹204’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ500Ž‘ËÏ\let\framehfill=\frm@solidh@@‘¿ª\let\framevfill=\frm@solidv@@ŽŽ¤ ™š‘ãŒÃ501Ž‘ËÏ\circled@\dimen@}%ŽŽ¡‘ãŒÃ502Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ503Ž‘ mÏ\frmDrop@{\let\framehfill=\frm@solidh@@ŽŽ¡‘ãŒÃ504Ž‘ËÏ\let\framevfill=\frm@solidv@@‘¿ª\circled@\frmradius@@}%ŽŽ¡‘ãŒÃ505Ž‘ûKÃÏ\fi}ŽŽ©Pˆ‘ãŒÃ507Ž‘õŒÏ\xydefcsname@{frm{oo}}{%ŽŽ¡‘ãŒÃ508Ž‘ûKÃÏ\ifx\frmradius@@\z@ŽŽ¡‘ãŒÃ509Ž‘ mÏ\frmDrop@{\dimen@=.5\L@c‘¿ª\advance\dimen@.5\R@cŽŽ¡‘ãŒÃ510Ž‘ËÏ\let\framehfill=\frm@solidh@@‘¿ª\let\framevfill=\frm@solidv@@ŽŽ¡‘ãŒÃ511Ž‘ËÏ{\circled@\dimen@}\advance\dimen@-2.1\p@‘¿ª\circled@\dimen@}%ŽŽ¡‘ãŒÃ512Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ513Ž‘ mÏ\frmDrop@{\dimen@=\frmradius@@ŽŽ¡‘ãŒÃ514Ž‘ËÏ\let\framehfill=\frm@solidh@@‘¿ª\let\framevfill=\frm@solidv@@ŽŽ¡‘ãŒÃ515Ž‘ËÏ{\circled@\dimen@}\advance\dimen@-2.1\p@‘¿ª\circled@\dimen@}%ŽŽ¡‘ãŒÃ516Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ518Ž‘õŒÏ\xydef@\circled@#1{\setboxz@h\bgroup‘¿ª\R@=#1\relaxŽŽ¡‘ãŒÃ519Ž‘ mÏ\setboxz@h{\vbox{\circled@x@@}}%ŽŽ¡‘ãŒÃ520Ž‘ mÏ\A@=\X@c‘¿ª\advance\A@-.5\wd\z@ŽŽ¡‘ãŒÃ521Ž‘ mÏ\B@=\Y@c–¿ª\advance\B@-.5\ht\z@“\advance\B@.5\dp\z@“\advance\B@.2\p@ŽŽ¡‘ãŒÃ522Ž‘ mÏ\edef\tmp@{\egroup\dimen@=\the\wdz@}%ŽŽ¡‘ãŒÃ523Ž‘ mÏ\kern\A@‘¿ª\raise\B@\boxz@ŽŽ¡‘ãŒÃ524Ž‘ûKÃÏ\tmp@–¿ª\divide\dimen@4“\ht\z@=\z@“\dp\z@=\z@“\wd\z@=\z@“\boxz@}ŽŽ¦‘ãŒÃ526Ž‘õŒÏ\xydef@\circled@x@{\hbox{\corn@@4\R@‘¿ª\corn@@3\R@}%ŽŽ¡‘ãŒÃ527Ž‘ ŠÁÏ\nointerlineskip\hbox{\corn@@1\R@‘¿ª\corn@@2\R@}}ŽŽ¡‘ãŒÃ528Ž‘õŒÏ\xylet@\circled@x@@=\circled@x@ŽŽŸKì‘õŒ¹The–nïcošMÞde“here“is“rep˜etitiv²!e“and“could“b˜e“impro•²!v“ed.‘v The–nïonly“purp˜ose“of“Ï\let\framehfill=\frm@dashh@@ŽŽ¡‘õŒ¹etc.‘ÝÝis–¦fto“servš²!e“as“a“mark˜er“for“the“required“st˜yle:‘ÝÝsolid/dashed/dotted.ަ‘ãŒÃ536Ž‘õŒÏ\xydefcsname@{frm{.o}}{%ŽŽ¡‘ãŒÃ537Ž‘ûKÃÏ\ifx\frmradius@@\z@‘¿ª\frmDrop@{\let\framehfill=\frm@doth@@ŽŽ¡‘ãŒÃ538Ž‘ mÏ\dimen@=.5\L@c–¿ª\advance\dimen@.5\R@c“\circled@\dimen@}%ŽŽ¡‘ãŒÃ539Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ540Ž‘ mÏ\frmDrop@{\let\framehfill=\frm@doth@@‘¿ª\circled@\frmradius@@}%ŽŽ¡‘ãŒÃ541Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ543Ž‘õŒÏ\xydefcsname@{frm{-o}}{%ŽŽ¡‘ãŒÃ544Ž‘ûKÃÏ\ifx\frmradius@@\z@‘¿ª\frmDrop@{\let\framehfill=\frm@dashh@@ŽŽ¡‘ãŒÃ545Ž‘ËÏ\dimen@=.5\L@c–¿ª\advance\dimen@.5\R@c“\circled@\dimen@}%ŽŽ¡‘ãŒÃ546Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ547Ž‘ mÏ\frmDrop@{\let\framehfill=\frm@dashh@@‘¿ª\circled@\frmradius@@}%ŽŽ¡‘ãŒÃ548Ž‘ûKÃÏ\fi}ŽŽŸ"GP‘㌹2.2e.ŽŽ‘ÿrEllipses–îæspMÞeci ed“using“Ï\frm{e}Ž‘0r¹ha•²!v“e–îæaxis“lengths“(ÄR‘´é¹+›ŸAÄL¹)Ä=¹2“and“(ÄU‘Ðà¹+˜ÄDMÞ¹)Ä=¹2,‘while“those“withŽ¡‘õŒÏ\frm<Ž‘JkÇh¹dimen,dimenÇiÏ>{e}Ž‘ëѹuse–í)the“givš²!en“lengths“for“the“axes.‘ Ï\frm{ee}Ž‘5Š—¹mak˜es“a“double“ellipse“withŽ¡‘õŒoutermost–¦fellipse“bMÞeing“the“same“as“that“of“Ï\frm{e}Ž‘+ä ¹.ŽŸ”þ‘õŒWithout–ÜðspšMÞecial“supp˜ort“to“render“the“ellipses,›ê“either“via“a“Çh¹driv²!erÇi“¹or“using“the“ÏarcŽ‘øÞ¹feature,˜theŽ¡‘õŒellipse–ºwill“bMÞe“draš²!wn“as“a“circle“of“radius“appro˜ximately“the“a˜v˜erage“of“the“ma‘›»jor“and“minor“axes.ŽŽŽŒ‹Í ÍàÁ à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹205ŽŽ ¶?? ýh«w‘ãŒÃ567Ž‘õŒÏ\xydefcsname@{frm{e}}{\ellipse@whichfrm@\ellipsesolidframed@}%ŽŽ¤ ™š‘ãŒÃ568Ž‘õŒÏ\xydefcsname@{frm{.e}}{\ellipse@whichfrm@\ellipsedotframed@}%ŽŽ¡‘ãŒÃ569Ž‘õŒÏ\xydefcsname@{frm{-e}}{\ellipse@whichfrm@\ellipsedashframed@}%ŽŽ©Pˆ‘ãŒÃ571Ž‘õŒÏ\xydefcsname@{frm{ee}}{\ellipse@whichdblfrm@\ellipsesolidframed@}%ŽŽ¡‘ãŒÃ572Ž‘õŒÏ\xydefcsname@{frm2{.e}}{\ellipse@whichdblfrm@\ellipsedotframed@}%ŽŽ¡‘ãŒÃ573Ž‘õŒÏ\xydefcsname@{frm2{-e}}{\ellipse@whichdblfrm@\ellipsedashframed@}%ŽŽ¦‘ãŒÃ575Ž‘õŒÏ\xyletcsnamecsname@{frm[o]{-}}{frm{e}}ŽŽ¡‘ãŒÃ576Ž‘õŒÏ\xyletcsnamecsname@{frm[o]{=}}{frm{ee}}ŽŽ¡‘ãŒÃ577Ž‘õŒÏ\xyletcsnamecsname@{frm[o]{.}}{frm{.e}}ŽŽ¡‘ãŒÃ578Ž‘õŒÏ\xyletcsnamecsname@{frm[o]{--}}{frm{-e}}ŽŽ¦‘ãŒÃ580Ž‘õŒÏ\xydef@\ellipse@whichfrm@#1{%ŽŽ¡‘ãŒÃ581Ž‘ûKÃÏ\ifx\frmradius@@\z@ŽŽ¡‘ãŒÃ582Ž‘ mÏ\frmDrop@{#1\dimen@=.5\L@c‘¿ª\advance\dimen@.5\R@cŽŽ¡‘ãŒÃ583Ž‘ËÏ\dimen@ii=.5\U@c‘¿ª\advance\dimen@ii.5\D@cŽŽ¡‘ãŒÃ584Ž‘ËÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}\next@‘¿ª}%ŽŽ¡‘ãŒÃ585Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ586Ž‘ mÏ\frmDrop@{#1\expandafter\ellipsed@i@\frmradius@@,,@@}%ŽŽ¡‘ãŒÃ587Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ589Ž‘õŒÏ\xydef@\ellipse@whichdblfrm@#1{%ŽŽ¡‘ãŒÃ590Ž‘ûKÃÏ\ifx\frmradius@@\z@ŽŽ¡‘ãŒÃ591Ž‘ mÏ\frmDrop@{#1\dimen@=.5\L@c‘¿ª\advance\dimen@.5\R@cŽŽ¡‘ãŒÃ592Ž‘ËÏ\dimen@ii=.5\U@c‘¿ª\advance\dimen@ii.5\D@cŽŽ¡‘ãŒÃ593Ž‘ËÏ\edef\next@{\noexpand\ellipsed@e@{\the\dimen@}{\the\dimen@ii}}\next@‘¿ª}%ŽŽ¡‘ãŒÃ594Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ595Ž‘ mÏ\frmDrop@{#1\expandafter\ellipsed@ei@\frmradius@@,,@@}%ŽŽ¡‘ãŒÃ596Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ598Ž‘õŒÏ\xydef@\ellipsed@i@#1,#2,#3@@{\DNii@{,}\DN@{#3}%ŽŽ¡‘ãŒÃ599Ž‘ûKÃÏ\ifx\next@\nextii@ŽŽ¡‘ãŒÃ600Ž‘ mÏ\dimen@=#1\relax‘¿ª\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ601Ž‘ mÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ602Ž‘ûKÃÏ\else–¿ª\ifx\next@\empty“\DN@{#2}%ŽŽ¡‘ãŒÃ603Ž‘ mÏ\ifx\next@\empty‘¿ª\DN@{#1}%ŽŽ¡‘ãŒÃ604Ž‘ ŠÁÏ\dimen@=.5\L@c‘¿ª\advance\dimen@.5\R@cŽŽ¡‘ãŒÃ605Ž‘ ŠÁÏ\dimen@ii=.5\U@c‘¿ª\advance\dimen@ii.5\D@cŽŽ¡‘ãŒÃ606Ž‘ ŠÁÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ607Ž‘ mÏ\else‘¿ª\dimen@=#1\relaxŽŽ¡‘ãŒÃ608Ž‘ËÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ609Ž‘ mÏ\fiŽŽ¡‘ãŒÃ610Ž‘ûKÃÏ\else\xywarning@{ignoring–¿ªextra“tokens“in“elliptical“frame:“#3“}%ŽŽ¡‘ãŒÃ611Ž‘ mÏ\dimen@=#1\relax‘¿ª\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ612Ž‘ mÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ613Ž‘ûKÃÏ\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ615Ž‘õŒÏ\xydef@\ellipsed@ei@#1,#2,#3@@{\DNii@{,}\DN@{#3}%ŽŽ¡‘ãŒÃ616Ž‘ûKÃÏ\ifx\next@\nextii@ŽŽ¡‘ãŒÃ617Ž‘ mÏ\dimen@=#1\relax‘¿ª\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ618Ž‘ mÏ\edef\next@{\noexpand\ellipsed@e@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ619Ž‘ûKÃÏ\else–¿ª\ifx\next@\empty“\DN@{#2}%ŽŽŽŽŒ‹Î Ú- Á à ý*tj‘㌹206’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ620Ž‘ mÏ\ifx\next@\empty‘¿ª\DN@{#1}%ŽŽ¤ ™š‘ãŒÃ621Ž‘ ŠÁÏ\dimen@=.5\L@c‘¿ª\advance\dimen@.5\R@cŽŽ¡‘ãŒÃ622Ž‘ ŠÁÏ\dimen@ii=.5\U@c‘¿ª\advance\dimen@ii.5\D@cŽŽ¡‘ãŒÃ623Ž‘ËÏ\edef\next@{\noexpand\ellipsed@e@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ624Ž‘ mÏ\elseŽŽ¡‘ãŒÃ625Ž‘ËÏ\dimen@=#1\relaxŽŽ¡‘ãŒÃ626Ž‘ËÏ\edef\next@{\noexpand\ellipsed@e@{\the\dimen@}{\the\dimen@}}%ŽŽ¡‘ãŒÃ627Ž‘ mÏ\fiŽŽ¡‘ãŒÃ628Ž‘ûKÃÏ\else\xywarning@{ignoring–¿ªextra“tokens“in“elliptical“frame:“#3“}%ŽŽ¡‘ãŒÃ629Ž‘ mÏ\dimen@=#1\relax‘¿ª\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ630Ž‘ËÏ\edef\next@{\noexpand\ellipsed@e@{\the\dimen@}{\the\dimen@ii}}%ŽŽ¡‘ãŒÃ631Ž‘ûKÃÏ\fi\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ633Ž‘õŒÏ\xydef@\ellipsed@e@#1#2{%ŽŽ¡‘ãŒÃ634Ž‘ mÏ\dimen@=#1\relax‘¿ª\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ635Ž‘ mÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}\next@ŽŽ¡‘ãŒÃ636Ž‘ mÏ\dimen@=#1\relax‘¿ª\dimen@ii=#2\relaxŽŽ¡‘ãŒÃ637Ž‘ mÏ\ifdim\dimen@>2\p@–¿ª\advance\dimen@-2\p@“\else“\dimen@=\z@\fiŽŽ¡‘ãŒÃ638Ž‘ mÏ\ifdim\dimen@ii>2\p@–¿ª\advance\dimen@ii-2\p@“\else“\dimen@ii=\z@\fiŽŽ¡‘ãŒÃ639Ž‘ mÏ\edef\next@{\noexpand\ellipsed@{\the\dimen@}{\the\dimen@ii}}\next@‘¿ª}%ŽŽ¦‘ãŒÃ641Ž‘õŒÏ\xydef@\ellipsed@#1#2{\setboxz@h\bgroup‘¿ª\relaxŽŽ¡‘ãŒÃ642Ž‘ mÏ\setboxz@h{\vbox{\ellipsed@x@@{#1}{#2}}}%ŽŽ¡‘ãŒÃ643Ž‘ mÏ\A@=\X@c‘¿ª\advance\A@-.5\wd\z@ŽŽ¡‘ãŒÃ644Ž‘ mÏ\B@=\Y@c–¿ª\advance\B@-.5\ht\z@“\advance\B@.5\dp\z@“\advance\B@.2\p@ŽŽ¡‘ãŒÃ645Ž‘ mÏ\edef\tmp@{\egroup\dimen@=\the\wdz@}%ŽŽ¡‘ãŒÃ646Ž‘ mÏ\kern\A@‘¿ª\raise\B@\boxz@ŽŽ¡‘ãŒÃ647Ž‘ûKÃÏ\tmp@–¿ª\divide\dimen@4“\ht\z@=\z@“\dp\z@=\z@“\wd\z@=\z@“\boxz@}ŽŽ¦‘ãŒÃ649Ž‘õŒÏ\xydef@\ellipsed@i#1#2{{\R@c=#1\relax\L@c=\R@cŽŽ¡‘ãŒÃ650Ž‘ûKÃÏ\U@c=#2\relax\D@c=\U@c‘¿ª\ellipsed@{#1}{#2}}}ŽŽ¦‘ãŒÃ652Ž‘õŒÏ\xydef@\ellipsed@x@#1#2{\R@=#1\relax\advance\R@#2\relaxŽŽ¡‘ãŒÃ653Ž‘ûKÃÏ\divide\R@\tw@–¿ª\circled@x@@“}ŽŽ¡‘ãŒÃ654Ž‘õŒÏ\xylet@\ellipsed@x@@=\ellipsed@x@ŽŽ¦‘ãŒÃ656Ž‘õŒÏ\xydef@\ellipsesolidframed@{%ŽŽ¡‘ãŒÃ657Ž‘ûKÃÏ\let\framehfill=\frm@solidh@@‘¿ª\let\framevfill=\frm@solidv@@}ŽŽ¡‘ãŒÃ658Ž‘õŒÏ\xydef@\ellipsedotframed@{%ŽŽ¡‘ãŒÃ659Ž‘ûKÃÏ\let\framehfill=\frm@doth@@‘¿ª\let\framevfill=\frm@dotv@@}ŽŽ¡‘ãŒÃ660Ž‘õŒÏ\xydef@\ellipsedashframed@{%ŽŽ¡‘ãŒÃ661Ž‘ûKÃÏ\let\framehfill=\frm@dashh@@‘¿ª\let\framevfill=\frm@dashv@@}ŽŽŸœ‘ôŒÔT‘þó\o‘úìDo:‘Å­¹Alloš²!w–vÇh¹frame“v‘ÿdDarian˜tÇi¹s“lik˜e“those“used“for“directionals,–³Ði¹.Ðe¹.,“Ï\frm2{-}Ž‘4ó ¹should–vbMÞe“the“sameŽ¡‘ãŒas‘¦fÏ\frm{=}Ž‘+ä ¹.‘ÝÝAdd‘¦fÏ\frm{o,}Ž‘5J¹and–¦fmore“brac•²!k“ets.ŽŸ}é‘ãŒÞ2.2.2Ž‘ ÌBrac• k“etsޤ«ÿ‘㌹The–¦fpšMÞossible“brac•²!k“ets–¦fare“sho²!wn“in“ gure“2.3“with“notes“b˜elo²!w.ŽŸƒ‘ãŒÔNotesŽ¡‘㌹2.2f.ŽŽ‘ýí,ÐBr–ÿp¹ac“es‘þ¹are–!æjust“the“standard“plain“T‘þ,³Ÿ[wEŽ‘B X“large“braces“inserted“correctly“in‘ X‘ü·ŸâÃYŽŽ‘ ˆð-pic“pictures“with“theŽŸ ™š‘õŒ`nib'–¦faligned“with“the“reference“pMÞoin²!t“of“the“ob‘›»ject“they“brace.ŽŽŽŒ‹Ï åú Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹207ŽŽ ¶?? ýh«w‘õŒÔExercise‘22.6:‘ ó5¹Hoš²!w–¦fdo“y˜ou“think“the“author“t˜ypMÞeset“the“follo˜wing?ŽŸ3V’Âç ïps: SDict begin xyc end‘ Ÿ%òÄAŽŽŽŽ‘%!ŸŸí;=BŽŽŽŽŸÜ¿¹ægž™„3232ŽŽŽ‘.Αÿúž™„3232ŽŽ–Hd‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘HQž™„3232ŽŽŽŸ-kYÌΟÔÖ™ž™„3232ŽŽ¤1™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘6ü„ŸÔÖ™ž™„3232ŽŽ¤1™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32ægž™„3232ŽŽ‘.Αÿúž™„3232ŽŽ–Hd‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘HQž™„3232ŽŽŽŽŽÀŸÜ¿¹«z„31-}Ž‘ [3ŸÜ¿¹|„31 áJ{ŽŽŽÀŸ ¿Š|„31 {Ž‘)ÏŸ ¿Šz„31ml}ŽŽŽŽŽŽŽŸM˜Ÿ{*}Ž‘9ǹ.‘ɰHence›õrectangular,–¨o²!v‘ÿdDal,“circular˜and˜elliptical˜shap•MÞes˜can˜b“e˜sp“eci ed˜for˜ lling.ޤ ™š‘ãŒThe–¦ffolloš²!wing“examples“illustrate“this“in“eac˜h“case:ŽŸ-K§‘\Ç(Ÿà\ʉffñ{*}ŽŽŽŸzã‰ffñ\dimen@‘¿ª\dimen@=\dimen@ii\fiŽŽ¡‘ãŒÃ962Ž‘ûKÃÏ\ifdim\dimen@>\z@‘¿ª\divide\dimen@\tw@ŽŽ¡‘ãŒÃ963Ž‘ mÏ\ifdim\R@>\dimen@\R@=\dimen@\fi\fi‘¿ª}ŽŽŽŽŒ‹Ó I Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹211ŽŽ ¶?? ýh«w‘ôŒThe–ŠÂdefault“implemenš²!tation“uses“only“Ï\bblacked@Ž‘=f¹,‘Jin“all“cases.‘Ô¦The“distinction“bMÞet˜w˜een“Ï\frm{*}ŽŽ¤ ™š‘㌹and‘¦fÏ\frm{**}Ž‘5J¹can–¦fbMÞe“ignored.Ž©Pˆ‘ãŒÃ970Ž‘õŒÏ\xylet@\filledRectangle@@=\bblacked@ŽŽ¡‘ãŒÃ971Ž‘õŒÏ\xylet@\filledCircle@@=\bblacked@ŽŽ¡‘ãŒÃ972Ž‘õŒÏ\xylet@\filledEllipse@@=\bblacked@ŽŽ¡‘ãŒÃ973Ž‘õŒÏ\xylet@\filledOval@@=\bblacked@ŽŽŸ·C‘ôŒ¹Alternativ•²!e›•Gimplemen“tations˜ma“y˜use˜these,‘˜´in˜whic“h˜the˜parameter˜Ï#1Ž‘©â¹is˜the˜con“ten“ts˜of˜a˜Ï\vboxŽŽ¡‘㌹ lling–¦fto“the“heigh²!t,“depth“and“width“of“the“region“to“bMÞe“ lled.ަ‘ãŒÃ981Ž‘õŒÏ\xydef@\filled@Region@#1#2{\setboxz@h\bgroupŽŽ¡‘ãŒÃ982Ž‘ mÏ\setboxz@h{\vbox{#1#2\empty}}%ŽŽ¡‘ãŒÃ983Ž‘ mÏ\A@=\X@c‘¿ª\advance\A@-.5\wd\z@ŽŽ¡‘ãŒÃ984Ž‘ mÏ\B@=\Y@c–¿ª\advance\B@-.5\ht\z@“\advance\B@.5\dp\z@ŽŽ¡‘ãŒÃ985Ž‘ mÏ\edef\tmp@{\egroup\dimen@=\the\wdz@}%ŽŽ¡‘ãŒÃ986Ž‘ mÏ\kern\A@–¿ª\raise\B@\boxz@“\kern-\A@ŽŽ¡‘ãŒÃ987Ž‘ûKÃÏ\tmp@–¿ª\divide\dimen@\tw@“\ht\z@=\z@“\dp\z@=\z@“\wd\z@=\z@“\styledboxz@}ŽŽ¦‘ãŒÃ989Ž‘õŒÏ\xydef@\filled@Rectangle@{\filled@Region@\filledRectangle@@}ŽŽ¡‘ãŒÃ990Ž‘õŒÏ\xydef@\filled@Oval@{\filled@Region@\filledOval@@}ŽŽ¡‘ãŒÃ991Ž‘õŒÏ\xydef@\filled@Circle@{\filled@Region@\filledCircle@@}ŽŽ¡‘ãŒÃ992Ž‘õŒÏ\xydef@\filled@Ellipse@{\filled@Region@\filledEllipse@@}ŽŽŸ$T„‘ãŒÞ2.2.4Ž‘ ÌF‘þàraming–€as“ob‘Àject“mo`di erŽŸs—‘㌹In–·addition,‘;‹frames“ma²!y“bšMÞe“accessed“using“the“sp˜ecial“Ï[FŽ‘ Çh¹frameÇiÏ]Ž‘ Ýa¹ob‘›»ject“mo˜di er“Çh¹shap˜eÇi¹s“that“willŽ¡‘ãŒadd–lthe“desired“Çh¹frameÇi“¹to“the“curren²!t“ob››»ject.‘-ðThe“frame“appropriate“to“the“edge“of“the“ob˜ject“willŽ¡‘ãŒbMÞe–¦fcš²!hosen“(presen˜tly“either“rectangular“or“elliptical).ŽŸU‘ôŒIf–*shapšMÞe“mo˜di ers“need“to“b˜e“applied“to“the“Çh¹frameÇi“¹alone“then“they“can“b˜e“included“using“Ï:Ž‘ܹasŽ¡‘ãŒseparator.‘ãTh•²!us‘½Ï[F-:red]Ž‘6ʹwill›½mak“e˜a˜red˜frame˜(pro“vided˜the˜color˜extension˜is˜activ“e,‘*of˜course).Ž¡‘ãŒAdditionally–¦fthe“v‘ÿdDarianš²!t“of“frames“using“Ï<Ž– fÇh¹dimenÇiÏ>Ž“¹can–¦fbMÞe“accessed“b˜y“spMÞecifying“Ï[Ž‘ f¹.–Ó3.“.“Ï:<Ž‘ R‡Çh¹dimenÇiÏ>]Ž‘ T¹.ަ‘ãŒÃ1013Ž‘õŒÏ\xydefcsname@{shape‘¿ª[F...]}#1{\xyFN@\Fshape@#1:@}ŽŽ¦‘ãŒÃ1015Ž‘õŒÏ\xylet@\whichframe@@=\emptyŽŽ¡‘ãŒÃ1016Ž‘õŒÏ\xylet@\whichoptions@@=\emptyŽŽ¦‘ãŒÃ1018Ž‘õŒÏ\xydef@\Fshape@#1:{\def\whichframe@@{{#1}}%ŽŽ¡‘ãŒÃ1019Ž‘ûKÃÏ\DN@{{}}\ifx\whichframe@@\next@‘¿ª\def\whichframe@@{{-}}\fiŽŽ¡‘ãŒÃ1020Ž‘ûKÃÏ\expandafter\DN@\expandafter{\the\Edge@c}\DNii@{\circleEdge}\ifx\next@\nextii@ŽŽ¡‘ãŒÃ1021Ž‘ mÏ\DN@##1{\def\whichframe@@{[o]##1}}%ŽŽ¡‘ãŒÃ1022Ž‘ mÏ\expandafter\next@\expandafter{\whichframe@@}\fiŽŽ¡‘ãŒÃ1023Ž‘ûKÃÏ\let\whichoptions@@=\empty‘¿ª\xyFN@\Fshape@i}ŽŽ¦‘ãŒÃ1025Ž‘õŒÏ\xydef@\Fshape@i{%ŽŽ¡‘ãŒÃ1026Ž‘ûKÃÏ\ifx–¿ª@\next“\let\next@=\Fshape@xŽŽ¡‘ãŒÃ1027Ž‘ûKÃÏ\else\addLT@\ifx\next‘¿ª\let\next@=\Fshape@iiiŽŽ¡‘ãŒÃ1028Ž‘ûKÃÏ\else–¿ª\let\next@=\Fshape@ii“\fi\fi“\next@}ŽŽ¦‘ãŒÃ1030Ž‘õŒÏ\xydef@\Fshape@ii#1:{%ŽŽ¡‘ãŒÃ1031Ž‘ûKÃÏ\expandafter\def\expandafter\whichoptions@@\expandafter{\whichoptions@@[#1]}%ŽŽ¡‘ãŒÃ1032Ž‘ûKÃÏ\xyFN@\Fshape@i}ŽŽ¦‘ãŒÃ1034Ž‘õŒÏ\xydef@\Fshape@iii#1:{\DN@##1{\def\whichframe@@{#1##1}}%ŽŽ¡‘ãŒÃ1035Ž‘ûKÃÏ\expandafter\next@\expandafter{\whichframe@@}\xyFN@\Fshape@i}ŽŽŽŽŒ‹Ô>Ç Á à ý*tj‘㌹212’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1037Ž‘õŒÏ\xydef@\Fshape@x‘¿ª@{%ŽŽ¤ ™š‘ãŒÃ1038Ž‘ûKÃÏ\edef\next@##1{\noexpand\addbeforeDrop@@{{\EdgefromtheEdge@##1}}}%ŽŽ¡‘ãŒÃ1039Ž‘ûKÃÏ\DNii@##1##2{\next@{\saveframestyles@{\setbox\z@=\object##2\frm##1%ŽŽ¡‘ãŒÃ1040Ž‘ mÏ\xypre@Style@@\Drop@@\xypost@Style@@\restoreframestyles@}}}%ŽŽ¡‘ãŒÃ1041Ž‘ûKÃÏ\expandafter\expandafter\expandafter\nextii@ŽŽ¡‘ãŒÃ1042Ž‘ mÏ\expandafter\expandafter\expandafter{%ŽŽ¡‘ãŒÃ1043Ž‘ËÏ\expandafter\whichframe@@\expandafter}\expandafter{\whichoptions@@}}ŽŽŸ´‘ôŒ¹The–æsfolloš²!wing“are“used“to“ensure“that“the“curren˜t“st˜yles,‘ ×after“t˜ypMÞesetting,‘ ×are“those“of“the“Çh¹ob‘›»jectÇi¹,Ž¡‘ãŒrather–¦fthan“the“Çh¹frameÇi¹.Ž©Pˆ‘ãŒÃ1052Ž‘õŒÏ\xydef@\saveframestyles@{%ŽŽ¡‘ãŒÃ1053Ž‘ûKÃÏ\edef\afterframe@preStyle@{\preXY@style@}%ŽŽ¡‘ãŒÃ1054Ž‘ûKÃÏ\edef\afterframe@postStyle@{\postXY@style@}}ŽŽ¦‘ãŒÃ1056Ž‘õŒÏ\xydef@\restoreframestyles@{%ŽŽ¡‘ãŒÃ1057Ž‘ûKÃÏ\xdef\preXY@style@{\afterframe@preStyle@}\def\afterframe@preStyle@{}%ŽŽ¡‘ãŒÃ1058Ž‘ûKÃÏ\xdef\postXY@style@{\afterframe@postStyle@}\def\afterframe@postStyle@{}}ŽŽ©´‘ôŒ¹Here–¦fare“some“simple“examples“using“this“feature.ŽŸ2’™âïps: SDict begin xyc end‘[F**:white]++[F**:red]ŽŽ¡‘ãŒ\txt{text–¿ªwith“background}ŽŽ¡‘ãŒ,+!D+/d1pc/,*++[F**:black][white]ŽŽ¡‘ãŒ\txt\bf{bold–¿ªwhite“on“black}\endxyŽŽ¦‘ôŒ¹Notice–½ that“when“mš²!ultiple“frame-moMÞdi ers“are“used,‘ë¸the“frames“are“actually“placed“in“rev˜erse“order,Ž¡‘ãŒso–¦fthat“earlier“ones“are“prin²!ted“on“top“of“later“ones.Ž© ý‘ôŒÔT‘þó\o‘‘Do:›‚$¹The–ø‰frame“option“is“not“quite“complete“y²!et:˜some“new“frames“and“sevš²!eral“new“brac˜k˜etsŽ¡‘ãŒshould–¦fbMÞe“added.ŽŸ‹‘ãŒÞ2.2.5Ž‘ ÌUsing–€curv es“for“framesŽŸmI‘㌹If–/the“curv²!e“option“is“loaded,‘2:then“circular“and“elliptical“frames“of“arbitrary“radius“can“bMÞe“constructed,Ž¡‘ãŒb²!y–1,spšMÞecifying“Ï\UseCurvedFramesŽ‘_+̹.‘¶ÊThis“can“b˜e“negated“b²!y“Ï\UseFontFramesŽ‘S¬x¹.‘¶ÊBoth“of“these“commandsŽ¡‘ãŒobMÞey–F#normal“T‘þ,³Ÿ[wEŽ‘B X“grouping.‘½F‘ÿeurthermore,‘ndotted“and“dashed“frames“noš²!w“ha˜v˜e“a“regular“spacing“ofŽ¡‘ãŒtheir–vconstituenš²!t“ob‘›»jects.‘«8The“usual“w˜arnings“abMÞout“memory“requiremen˜ts“for“large“n˜um˜bMÞers“of“curv˜esŽ¡‘ãŒapply–¦fhere“also.ަ‘ôŒUse–¦fthe“Ï\xycircleŽ‘; ƹsetup“in“Ïxycurve.docŽ‘F‰¹to“implemen²!t“circular“and“elliptical“frames.Ž©Pˆ‘ãŒÃ1098Ž‘õŒÏ\xydef@\xycircleframe@x@{\L@=\R@‘¿ª\xycircleframe@x@i}%ŽŽ¡‘ãŒÃ1099Ž‘õŒÏ\xydef@\xyellipseframe@x@#1#2{\R@=#1\relax–¿ª\L@=#2\relax“\xycircleframe@x@i}ŽŽ¦‘ãŒÃ1101Ž‘õŒÏ\xydef@\xycircleframe@x@i{%ŽŽ¡‘ãŒÃ1102Ž‘ûKÃÏ\ifx\framehfill\frm@solidh@@\def\circleSTYLE@{}%ŽŽ¡‘ãŒÃ1103Ž‘ûKÃÏ\else\ifx\framehfill\frm@doth@@ŽŽ¡‘ãŒÃ1104Ž‘ mÏ\expandafter\def\expandafter\circleSTYLE@\expandafter{\addDOT@{}}%ŽŽ¡‘ãŒÃ1105Ž‘ûKÃÏ\else\ifx\framehfill\frm@dashh@@ŽŽ¡‘ãŒÃ1106Ž‘ mÏ\expandafter\expandafter\expandafter\def\expandafter\expandafterŽŽ¡‘ãŒÃ1107Ž‘ËÏ\expandafter\circleSTYLE@\expandafter\expandafter\expandafterŽŽŽŽŒ‹ÕLi Á à ý*tj‘ãŒÑ2.2.‘„CFRAME–¦fAND“BRA²!CKET“EXTENSION’󎙹213ŽŽ ¶?? ýh«w‘ãŒÃ1108Ž‘ËÏ{\expandafter\addDASH@\addDASH@{}}%ŽŽ¤ ™š‘ãŒÃ1109Ž‘ûKÃÏ\fi\fi\fi–¿ª\xycircleframe@x@x“}ŽŽ©Pˆ‘ãŒÃ1111Ž‘õŒÏ\xydef@\xycircleframe@x@x{\hbox{\vbox{\vskip\L@ŽŽ¡‘ãŒÃ1112Ž‘ûKÃÏ\hbox–¿ªto2\R@{\hfill“\buildcircle@“\hfill}\vskip\L@“}}}ŽŽ¦‘ãŒÃ1114Ž‘õŒÏ\xydef@\UseCurveFrames@{%ŽŽ¡‘ãŒÃ1115Ž‘ûKÃÏ\let\circled@x@@=\xycircleframe@x@ŽŽ¡‘ãŒÃ1116Ž‘ûKÃÏ\let\ellipsed@x@@=\xyellipseframe@x@‘¿ª}ŽŽ¡‘ãŒÃ1117Ž‘õŒÏ\def\UseCurveFrames{\xywithoption{curve}{\UseCurveframes@}}%ŽŽ¦‘ãŒÃ1119Ž‘õŒÏ\xydef@\UseFontFrames@{%ŽŽ¡‘ãŒÃ1120Ž‘ûKÃÏ\let\circled@x@@=\circled@x@ŽŽ¡‘ãŒÃ1121Ž‘ûKÃÏ\let\ellipsed@x@@=\ellipsed@x@‘¿ª}ŽŽ¡‘ãŒÃ1122Ž‘õŒÏ\xylet@\UseFontFrames=\UseFontFrames@ŽŽ¦‘ôŒ¹Finally‘ÿe,–¦fthe“frame“extension“is“added“to“the“Çh¹driv²!erÇi“¹system:ަ‘ãŒÃ1130Ž‘õŒÏ\xydef@\UnloadFrames@{%ŽŽ¡‘ãŒÃ1131Ž‘ûKÃÏ\let\framed@body@@=\framed@body@ŽŽ¡‘ãŒÃ1132Ž‘ûKÃÏ\let\circled@x@@=\circled@x@ŽŽ¡‘ãŒÃ1133Ž‘ûKÃÏ\let\ellipsed@x@@=\ellipsed@x@ŽŽ¡‘ãŒÃ1134Ž‘ûKÃÏ\let\frame@fill@@=\frame@fill@ŽŽ¡‘ãŒÃ1135Ž‘ûKÃÏ\let\frame@emph@@=\frame@emph@ŽŽ¡‘ãŒÃ1136Ž‘ûKÃÏ\let\filledRectangle@@=\bblacked@ŽŽ¡‘ãŒÃ1137Ž‘ûKÃÏ\let\filledCircle@@=\bblacked@ŽŽ¡‘ãŒÃ1138Ž‘ûKÃÏ\let\filledEllipse@@=\bblacked@ŽŽ¡‘ãŒÃ1139Ž‘ûKÃÏ\let\filledOval@@=\bblacked@ŽŽ¡‘ãŒÃ1140Ž‘õŒÏ}ŽŽ¦‘ãŒÃ1142Ž‘õŒÏ\xyaddunsupport{frame}\UnloadFrames@ŽŽŸ!½Ö‘ãŒÞEnd–€&“logŽŸbí‘ãŒÃ1150Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ1152Ž‘õŒÏ%–¿ª$Log:“xyframe.doc,v“$ŽŽ¡‘ãŒÃ1153Ž‘õŒÏ%–¿ªRevision“3.7› T1999/02/16“15:12:50˜krisroseŽŽ¡‘ãŒÃ1154Ž‘õŒÏ%–¿ªInterim“release“(Y&Y“fonts“now“free).ŽŽ¡‘ãŒÃ1155Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1156Ž‘õŒÏ%–¿ªRevision“3.6› T1998/03/06“01:28:05˜krisroseŽŽ¡‘ãŒÃ1157Ž‘õŒÏ%–¿ªReleasing“(with“Y&Y“fonts).ŽŽ¡‘ãŒÃ1158Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1159Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:14:25˜krisroseŽŽ¡‘ãŒÃ1160Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ1161Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1162Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ1163Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ1164Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1165Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:22:27“krisŽŽ¡‘ãŒÃ1166Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ1167Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1168Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:31:32“krisŽŽ¡‘ãŒÃ1169Ž‘õŒÏ%‘¿ªReleasing!ŽŽŽŽŒ‹Ö[ï Á à ý*tj‘㌹214’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1170Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ1171Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ1172Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1173Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1174Ž‘õŒÏ%–¿ªRevision“2.14– T1995/07/05“22:11:03“krisŽŽ¡‘ãŒÃ1175Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ1176Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1177Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ1178Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ1179Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1180Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ1181Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ1182Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1183Ž‘õŒÏ%–¿ªRevision“2.10– T1994/06/15“12:55:07“krisŽŽ¡‘ãŒÃ1184Ž‘õŒÏ%–¿ªSecond“3beta“release:“bug“fixes.ŽŽ¡‘ãŒÃ1185Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1186Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:59:19“krisŽŽ¡‘ãŒÃ1187Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ1188Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1189Ž‘õŒÏ%–¿ªRevision“2.8– T1994/04/08“04:30:00“krisŽŽ¡‘ãŒÃ1190Ž‘õŒÏ%–¿ªSecond“(bug“fix)“3alpha“release.ŽŽ¡‘ãŒÃ1191Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1192Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/08“02:06:01“krisŽŽ¡‘ãŒÃ1193Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ1194Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1195Ž‘õŒÏ%–¿ªRevision“2.6.9.1– T1994/03/07“04:22:46“krisŽŽ¡‘ãŒÃ1196Ž‘õŒÏ%–¿ªLast“internal“3alpha“and“pre-2.7“release.ŽŽ¡‘ãŒÃ1197Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1198Ž‘õŒÏ%–¿ªNEW“for“version“2.7“based“on“frame“code“in“xypic.doc“2.6.1.1.ŽŽŸ%Ë‘ãŒÝ2.3Ž‘r|More–ffTips“extensionŽŸ_#‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Kristo er“H.“Rose“¸h²kris@diku.dk¸iŽŽŸ™—‘㌹This–êÁextension“proš²!vides“sev˜eral“additional“st˜yles“of“`tips'“for“use“(primarily)“as“arro˜w“heads,‘Hand“mak˜esŽ¡‘ãŒit–ötpšMÞossible“to“de ne“customised“tips.‘£7This“is“used“to“supp˜ort“tips“that“mimic“the“st²!yle“of“the“ComputerŽ¡‘ãŒMoMÞdern›’Ëfon•²!tsŸü¾Â1ŽŽ‘RϹb“y˜Kn“uth˜(see˜[8Ž–yš]˜and˜[6Ž“,‘–·appMÞendix˜F])‘’Æand˜of˜the˜Euler˜math˜fon•²!ts˜distributed˜b“y˜theŽ¡‘ãŒó-©±Ê cmsy9ØA‘þuAŸïÿMŽ‘]>S¹.ŽŸ¦ò‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xytips.doc,v“3.3“1996/12/19“04:12:13“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``More“Tips''“extension.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1992-1996› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996› TKristoffer“H.“Rose˜ŽŽ‘㌟ ¾|‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã1ŽŽŽ‘¦aÖThis–Ò^function“wš¾9as“earlier“suppAÇorted“b˜y“the“àcmtipŽ‘DªÖextension“whic˜h“is“still“included“in“the“distribution“but“is“no˜wŽŸ obsolete.ŽŽŽŒ‹×ec Á à ý*tj‘ãŒÑ2.3.‘„CMORE–¦fTIPS“EXTENSION’4óó¹215ŽŽ ¶?? ýh«w‘ãŒÃ8Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ9Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ23Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ25Ž‘õŒÏ\xyprovide{tips}{More–¿ªTips“extension}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ26Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{kris@diku.dk}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ28Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸL)‘ôŒ¹First›¦fsa•²!v“e˜the‘ŽX‘ü·ŸâÃYŽŽ‘ p-commands˜that˜ma“y˜need˜restoring.ަ‘ãŒÃ48Ž‘õŒÏ\xylet@\tip@xy=\tip@ŽŽ¡‘ãŒÃ49Ž‘õŒÏ\xylet@\atip@xy=\atip@ŽŽ¡‘ãŒÃ50Ž‘õŒÏ\xylet@\btip@xy=\btip@ŽŽ¦‘ãŒÃ52Ž‘õŒÏ\xylet@\Tip@xy=\Tip@ŽŽ¡‘ãŒÃ53Ž‘õŒÏ\xylet@\Ttip@xy=\Ttip@ŽŽ¦‘ãŒÃ55Ž‘õŒÏ\xylet@\tipjot@xy=\tipjot@ŽŽ¦‘ôŒ¹Next–¦fdeclare“the“fonš²!ts“(initially“the“original“ÏcmŽ‘Ì ¹st˜yle).ަ‘ãŒÃ61Ž‘õŒÏ\xyfont@\xy@@atfont=xycmat10ŽŽ¡‘ãŒÃ62Ž‘õŒÏ\xyfont@\xy@@btfont=xycmbt10ŽŽ¦‘ôŒ¹F‘ÿeon²!t–¦fselection“is“done“with“the“commandŽ‘ãŒŸ 4‰ffã²dŸ 'v’£„Ï\SelectTips‘¦f{Ž– fÇh¹familyÇiÏ}Ž“{Ž‘%ºÇh¹sizeÇiÏ}ŽŽŽŸ=‰ffã²dŸÎ¦Ã74Ž‘Ï\xydef@\tipfamily@@{cm}ŽŽ¡Ã75Ž‘Ï\xydef@\tipsize@@{10}ŽŽ¦Ã77Ž‘Ï\xydef@\SelectTips#1#2{%ŽŽ¡Ã78Ž‘¿ªÏ\DN@{#1}\ifx\next@\empty\else‘¿ª\def\tipfamily@@{#1}\fiŽŽ¡Ã79Ž‘¿ªÏ\DN@{#2}\ifx\next@\empty\else‘¿ª\def\tipsize@@{#2}\fiŽŽ¡Ã80Ž‘¿ªÏ\csname–¿ªtipfamily“\tipfamily@@\endcsname“\ignorespaces}ŽŽ¦¹where–¦fthe“Çh¹familyÇi“¹and“Çh¹sizeÇi“¹should“bMÞe“selected“from“the“follo²!wing“table.ŽŸ)r#‘ÿÝŸáÜωff㲫¤ …Ìͤ}„ ™™ff–ÌÍŸûëƒF‘ÿeamily“¡„ ™™ffŽ‘EsÏ10‘#Ÿ}„ ™™ffŽ’‚s11‘#Ÿ}„ ™™ffŽ’¿s12‘#Ÿ}„ ™™ffŽŽ©zã‰ff㲫¡Ìͤ}„ ™™ff–fzŸûëƒxy“¡„ ™™ffŽ‘2²®ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘{ºž$ýÇŽŽŽŽŽŽŽŽ‘BYïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /XT tt}xyŽŽŽŽ‘ €Ÿüh1ï" {9.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {9.5 0.0 l}xyŽŽŽŽŽŽŽŽ‘Tzïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /Xt tT}xyŽŽŽŽ‘ÌÍŸûh1ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸÿh/ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸýh0ï" {8.8 0.0 l}xyŽŽŽŽŽŽŽŽ‘izŸ}„ ™™ffŽ‘o²­ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘{ºž$ýŽŽŽŽŽŽŽŽ‘Yïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /XT tt}xyŽŽŽŽ‘ €Ÿüh1ï" {9.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {9.5 0.0 l}xyŽŽŽŽŽŽŽŽ’‘yïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /Xt tT}xyŽŽŽŽ‘ÌÍŸûh1ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸÿh/ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸýh0ï" {8.8 0.0 l}xyŽŽŽŽŽŽŽŽ’¦yŸ}„ ™™ffŽ’¬²¬ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘{ºž$ýŽŽŽŽŽŽŽŽ’¼Yïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /XT tt}xyŽŽŽŽ‘ €Ÿüh1ï" {9.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {9.5 0.0 l}xyŽŽŽŽŽŽŽŽ’Îxïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /Xt tT}xyŽŽŽŽ‘ÌÍŸûh1ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸÿh/ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸýh0ï" {8.8 0.0 l}xyŽŽŽŽŽŽŽŽ’ãxŸ}„ ™™ffŽŽ¤ ™™Ìͤ}„ ™™ff–fzŸûëƒÏcm“¡„ ™™ffŽ‘2²®ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 10 /cm AB}xyŽŽŽŽ‘{ºž$ýÇŽŽŽŽŽŽŽŽ‘BYïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /XT tt}xyŽŽŽŽ‘ €Ÿüh1ï" {9.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {9.5 0.0 l}xyŽŽŽŽŽŽŽŽ‘Tzïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /Xt tT}xyŽŽŽŽ‘ÌÍŸûh1ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸÿh/ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸýh0ï" {8.8 0.0 l}xyŽŽŽŽŽŽŽŽ‘izŸ}„ ™™ffŽ‘o²­ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 11 /cm AB}xyŽŽŽŽ‘{ºž$ýŽŽŽŽŽŽŽŽ‘Yïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /XT tt}xyŽŽŽŽ‘ €Ÿüh1ï" {9.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {9.5 0.0 l}xyŽŽŽŽŽŽŽŽ’‘yïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /Xt tT}xyŽŽŽŽ‘ÌÍŸûh1ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸÿh/ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸýh0ï" {8.8 0.0 l}xyŽŽŽŽŽŽŽŽ’¦yŸ}„ ™™ffŽ’¬²¬ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 12 /cm AB}xyŽŽŽŽ‘{ºž$ýŽŽŽŽŽŽŽŽ’¼Yïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /XT tt}xyŽŽŽŽ‘ €Ÿüh1ï" {9.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {9.5 0.0 l}xyŽŽŽŽŽŽŽŽ’Îxïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /Xt tT}xyŽŽŽŽ‘ÌÍŸûh1ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸÿh/ï" {8.8 0.0 l}xyŽŽŽŽ‘ÌÍŸýh0ï" {8.8 0.0 l}xyŽŽŽŽŽŽŽŽ’ãxŸ}„ ™™ffŽŽ¡Ìͤ}„ ™™ff–fzŸûëƒÏeu“¡„ ™™ffŽ‘3™ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 10 /eu AB}xyŽŽŽŽ‘{ºž$ýÇŽŽŽŽŽŽŽŽ‘C?{ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /ET tt}xyŽŽŽŽ‘ €Ÿüh1ï" {10.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {10.5 0.0 l}xyŽŽŽŽŽŽŽŽ‘Teáïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /ET tT}xyŽŽŽŽ‘ ™šŸûh1ï" {9.6 0.0 l}xyŽŽŽŽ‘ ™šŸÿh/ï" {9.6 0.0 l}xyŽŽŽŽ‘ ™šŸýh0ï" {9.6 0.0 l}xyŽŽŽŽŽŽŽŽ‘i{Ÿ}„ ™™ffŽ‘p™ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 11 /eu AB}xyŽŽŽŽ‘{ºž$ýŽŽŽŽŽŽŽŽ’€?zïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /ET tt}xyŽŽŽŽ‘ €Ÿüh1ï" {10.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {10.5 0.0 l}xyŽŽŽŽŽŽŽŽ’‘eàïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /ET tT}xyŽŽŽŽ‘ ™šŸûh1ï" {9.6 0.0 l}xyŽŽŽŽ‘ ™šŸÿh/ï" {9.6 0.0 l}xyŽŽŽŽ‘ ™šŸýh0ï" {9.6 0.0 l}xyŽŽŽŽŽŽŽŽ’¦zŸ}„ ™™ffŽ’­™ïps: SDict begin xyc end‘ Ÿýh0ï" {3072 12 /eu AB}xyŽŽŽŽ‘{ºž$ýŽŽŽŽŽŽŽŽ’½?yïps: SDict begin xyc end‘ Ÿýh0ï" {3072 /ET tt}xyŽŽŽŽ‘ €Ÿüh1ï" {10.5 0.0 l}xyŽŽŽŽ‘ €Ÿþh/ï" {10.5 0.0 l}xyŽŽŽŽŽŽŽŽ’Îeßïps: SDict begin xyc end‘Ÿýh0ï" {-1024 F d}xyŽŽ‘ Ÿýh0ï" {3072 /ET tT}xyŽŽŽŽ‘ ™šŸûh1ï" {9.6 0.0 l}xyŽŽŽŽ‘ ™šŸÿh/ï" {9.6 0.0 l}xyŽŽŽŽ‘ ™šŸýh0ï" {9.6 0.0 l}xyŽŽŽŽŽŽŽŽ’ãyŸ}„ ™™ffŽŽ¦‰ffã²«ŽŽŽŽŽŒ‹Øp Á à ý*tj‘㌹216’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ôŒ¹The–?table“is“really“encošMÞded“in“con²!trol“sequences“Ï\tipfamilyŽ‘AúÀÇh¹familyÇi“¹that“lo˜ok“vš²!ery“m˜uc˜h“alik˜eޤ ™š‘ãŒsince–—xall“the“currenš²!tly“existing“com˜binations“are“merely“alternativ˜e“fon˜ts.‘±This“is“lik˜ely“to“c˜hange,Ž¡‘ãŒho•²!w“ev“er,‘¦f.–Ó3.“.“Ç Ž‘@ÂŽ‘ Å^ŽŽŽŽ¡‘ôŒ¹First‘ÏcmŽ‘†Ó¹,–'GÐi¹.Ðe¹.,“computer–moMÞdern:‘Žjthese“are“simpli ed“bš²!y“the“fact“that“w˜e“can“use“the“normal“doubleŽ¡‘ãŒarro²!ws.Ž©Pˆ‘ãŒÃ115Ž‘õŒÏ\xydefcsname@{tipfamily‘¿ªcm}{\loadtipfonts@ŽŽ¡‘ãŒÃ116Ž‘ûKÃÏ\let\tip@=\tip@cm–¿ª\let\atip@=\atip@cm“\let\btip@=\btip@cmŽŽ¡‘ãŒÃ117Ž‘ûKÃÏ\let\Tip@=\Tip@xy–¿ª\let\Ttip@=\Ttip@xy“\def\tipjot@{.2em}}ŽŽ¦‘ãŒÃ119Ž‘õŒÏ\xydef@\loadtipfonts@{\edef\next##1##2{##1=xy\tipfamily@@##2\tipsize@@}%ŽŽ¡‘ãŒÃ120Ž‘ûKÃÏ\next{\font\xy@@atfont}{at}ŽŽ¡‘ãŒÃ121Ž‘ûKÃÏ\next{\font\xy@@btfont}{bt}ŽŽ¡‘ãŒÃ122Ž‘õŒÏ}ŽŽ¦‘ãŒÃ124Ž‘õŒÏ\xydef@\tip@cm{\activatetips@‘¿ª\tip@x\tip@@}ŽŽ¡‘ãŒÃ125Ž‘õŒÏ\xydef@\atip@cm{\activatetips@‘¿ª\tip@x\atip@@}ŽŽ¡‘ãŒÃ126Ž‘õŒÏ\xydef@\btip@cm{\activatetips@‘¿ª\tip@x\btip@@}ŽŽ¦‘ãŒÃ128Ž‘õŒÏ\xydef@\activatetips@{\let\xyatipfont=\xy@@atfont‘¿ª\let\xybtipfont=\xy@@btfont}ŽŽ¦‘ôŒ¹Next–Y²Euler“tips:‘Duthe“single“tips“merely“reuse“the“ÏcmŽ‘2¸¹coMÞde“except“for“the“sligtly“smaller“distanceŽ¡‘ãŒbMÞet•²!w“een–¦fdouble“tips;“the“double“arroš²!ws“ha˜v˜e“to“bšMÞe“reco˜ded“to“mimic“the“steep˜er“Euler“app˜earance.ަ‘ãŒÃ136Ž‘õŒÏ\xydefcsname@{tipfamily‘¿ªeu}{\loadtipfonts@ŽŽ¡‘ãŒÃ137Ž‘ûKÃÏ\let\tip@=\tip@cm–¿ª\let\atip@=\atip@cm“\let\btip@=\btip@cmŽŽ¡‘ãŒÃ138Ž‘ûKÃÏ\let\Tip@=\Tip@eu–¿ª\let\Ttip@=\Ttip@eu“\def\tipjot@{.15em}}ŽŽ¦‘ãŒÃ140Ž‘õŒÏ\xydef@\Tip@eu{\kern1.5pt–¿ª\vrule“height1.5pt“depth1.5pt“width\z@ŽŽ¡‘ãŒÃ141Ž‘ûKÃÏ\Tip@@eu–¿ª\kern1.5pt“\egroupŽŽ¡‘ãŒÃ142Ž‘ûKÃÏ\U@c=1.5pt–¿ª\D@c=1.5pt“\L@c=1.5pt“\R@c=1.5pt“\Edge@c={\circleEdge}%ŽŽ¡‘ãŒÃ143Ž‘ûKÃÏ\Invisible@false–¿ª\Hidden@false“\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ144Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@{\dottedSpread@\jot}}}ŽŽ¦‘ãŒÃ146Ž‘õŒÏ\xydef@\Tip@@eu{\count@=\DirectionCharŽŽ¡‘ãŒÃ147Ž‘ûKÃÏ\advance\count@-10–¿ª\ifnum\count@<\z@“\advance\count@128“\fiŽŽ¡‘ãŒÃ148Ž‘ûKÃÏ\xyatipfont\char\count@ŽŽ¡‘ãŒÃ149Ž‘ûKÃÏ\advance\count@–¿ª20“\ifnum127<\count@“\advance\count@-128“\fiŽŽ¡‘ãŒÃ150Ž‘ûKÃÏ\xybtipfont\char\count@}ŽŽ¦‘ãŒÃ152Ž‘õŒÏ\xydef@\Ttip@eu{\kern2.4pt–¿ª\vrule“height2.4pt“depth2.4pt“width\z@ŽŽ¡‘ãŒÃ153Ž‘ûKÃÏ\Ttip@@eu–¿ª\kern2.4pt“\egroupŽŽ¡‘ãŒÃ154Ž‘ûKÃÏ\U@c=2.4pt–¿ª\D@c=2.4pt“\L@c=2.4pt“\R@c=2.4pt“\Edge@c={\circleEdge}%ŽŽ¡‘ãŒÃ155Ž‘ûKÃÏ\Invisible@false‘¿ª\Hidden@falseŽŽ¡‘ãŒÃ156Ž‘ûKÃÏ\def\Leftness@{.5}\def\Upness@{.5}%ŽŽ¡‘ãŒÃ157Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@{\dottedSpread@\jot}}}ŽŽ¦‘ãŒÃ159Ž‘õŒÏ\xydef@\Ttip@@eu{%ŽŽ¡‘ãŒÃ160Ž‘ûKÃÏ\setboxz@h\bgroup\reverseDirection@\line@–¿ª\wdz@=\z@“\ht\z@=\z@“\dp\z@=\z@ŽŽ¡‘ãŒÃ161Ž‘ûKÃÏ\kern-\L@c–¿ª\boxz@“\kern\L@c“\Tip@@eu}ŽŽ¦‘ôŒ¹Once–¦fa“selection“is“made,“the“folloš²!wing“commands“are“a˜v‘ÿdDailable:Ž‘ãŒŸ ®ã‰ffã²dŸ á‘_1$Ï\UseTipsŽ’’¨¹activ‘ÿdDate–¦fselected“tipsŽŽŽŽ¡‘_1$Ï\NoTipsŽ’’¨¹deactiv‘ÿdDateŽŽŽŽŸÖʉffã²dŸ'l¦Ã174Ž‘Ï\xydef@\UseTips{\csname–¿ªtipfamily“\tipfamily@@\endcsname}ŽŽŽŽŒ‹Ù‹2 Á à ý*tj‘ãŒÑ2.4.‘„CLINE–¦fSTYLES“EXTENSION’+_&¹217ŽŽ ¶?? ýh«w‘ãŒÃ176Ž‘õŒÏ\xydef@\NoTips{\let\tip@=\tip@xy–¿ª\let\atip@=\atip@xy“\let\btip@=\btip@xyŽŽ¤ ™š‘ãŒÃ177Ž‘ûKÃÏ\let\Tip@=\Tip@xy–¿ª\let\Ttip@=\Ttip@xy“\let\tipjot@=\tipjot@xy}ŽŽ©‘‡‘㌹They–eûare“lošMÞcal“and“th²!us“can“b˜e“switc²!hed“on“and/or“o “for“individual“pictures“using“the“T‘þ,³Ÿ[wEŽ‘B X“groupingŽ¡‘ãŒmec²!hanism,‘¦fÐe¹.Ðg¹.,ŽŸPˆ‘ãŒÏ\SelectTips{cm}{10}ŽŽ¡‘ãŒ\xy*{}‘¿ª\arŽŽ¡‘éKÃ@{*{\UseTips\dir_{<<}}-*{\NoTips\dir{>}}}ŽŽ¡‘éKÃ(20,5)*{}‘¿ª\endxyŽŽ¦‘㌹will‘¦ft²!ypMÞesetŽŸµÎ’¸ñmïps: SDict begin xyc end‘ÝŸüà5ï" {-768 10 /cm A}xyŽŽŸýh0ï" {-768 10 /cm A}xyŽŽŽŽŽŽŽŸýh0ï" {0.0 0.0 l}xyŽŽŽ‘8缟ï.Aï" {3328 10 /xy AB}xyŽŽŽŽŽŽŽ‘8缟ï.Aï" {56.90521 14.2263 l}xyŽŽŽ‘8缟ï.Aï" {0.0 0.0 l}xyŽŽŽŽŽŽŽŸý‘ãŒregardless–¦fof“whicš²!h“tips“are“used“otherwise“in“the“doMÞcumen˜t.ŽŸÅó‘ãŒÞ2.3.1Ž‘ ÌEnd–€&“logŽŸ 6‘ãŒÃ204Ž‘õŒÏ\xyendinputŽŽ©Pˆ‘ãŒÃ206Ž‘õŒÏ%–¿ª$Log:“xytips.doc,v“$ŽŽ¡‘ãŒÃ207Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“04:12:13˜krisroseŽŽ¡‘ãŒÃ208Ž‘õŒÏ%–¿ªNew“for“this“maintenance“release.ŽŽ¡‘ãŒÃ209Ž‘õŒÏ%ŽŽ¡‘ãŒÃ210Ž‘õŒÏ%–¿ªGeneralisation“of“xycmtip.doc,v“3.1“1995/09/05“20:31:32“kris“Exp“krisroseŽŽ¡‘ãŒÃ211Ž‘õŒÏ%ŽŽ¡‘ãŒÃ212Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:31:32“krisŽŽ¡‘ãŒÃ213Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ214Ž‘õŒÏ%ŽŽ¡‘ãŒÃ215Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ216Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ217Ž‘õŒÏ%ŽŽ¡‘ãŒÃ218Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ219Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ220Ž‘õŒÏ%ŽŽ¡‘ãŒÃ221Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ222Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ223Ž‘õŒÏ%ŽŽ¡‘ãŒÃ224Ž‘õŒÏ%–¿ªRevision“2.6– T1993/10/21“20:36:09“krisŽŽ¡‘ãŒÃ225Ž‘õŒÏ%–¿ªNEW“file“to“go“in“version“2.7!ŽŽ¡‘ãŒÃ226Ž‘õŒÏ%ŽŽ¡‘ãŒÃ227Ž‘õŒÏ%–¿ªExtracted“from“xypic.doc“2.6.1.1.ŽŽŸyì‘ãŒÝ2.4Ž‘r|Line–ffstŒÌyles“extensionŽŸïÓ‘ãŒæV‘ÿ «ers.‘p3.6–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ*G‘㌹This–Î|extension“proš²!vides“the“abilit˜y“to“request“v‘ÿdDarious“e ects“related“to“the“appMÞearance“of“straigh˜tŽ¡‘ãŒlines;–¦fÐe¹.Ðg¹..‘ÝÝthic²!kness,“non-standard“dashing,“and“colour.ŽŸ_‘ãŒÔHeader:ަ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyline.doc,v“3.6“1998/03/06“01:28:05“krisrose“Exp“$ŽŽŽŽŒ‹Ú˜‘ Á à ý*tj‘㌹218’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Line“Width''“extension.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose‘ TŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽŸPˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{line}{Line–¿ªstyles“extension}{\stripRCS$Revision:“3.6“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ£‘ôŒ¹These–9are“e ects“whicš²!h“are“not“normally“a˜v‘ÿdDailable“within“T‘þ,³Ÿ[wEŽ‘B X.‘›UInstead“they“require“a“suitableŽ¡‘ãŒ`bacš²!k-end'–¤'option“to“pro˜vide“the“necessary“Ï\specialŽ‘5Ež¹commands,‘¤šor“extra“fon˜ts,‘¤štogether“with“appro-Ž¡‘ãŒpriate–¦fcommands“to“implemenš²!t“the“e ects.‘ÝÝTh˜usŽŸo%‘êïps: SDict begin xyc endŸ*ÁŸóôx‘DUsing–¦Mthis“extension“will“ha•²!v“e–¦Mno“e ect“on“the“outputŽŸ ˆ‘Bo4unless–¦Mused“with“a“bac•²!k“end–¦Mthat“explicitly“suppMÞorts“it.ŽŽŽŽŽŽŽŽŽŽŽŸýh0’Äz¾ï4" {0.0 196.47948 -13.88919 -196.47946 13.88918 ov}xyŽŽŽŽŽŽŽŸTÛ‘ôŒThe–f·extension“pro²!vides“spšMÞecial“e ects“that“can“b˜e“used“with“anš²!y‘NaX‘ü·ŸâÃYŽŽ‘ÍÁ-pic“Çh¹ob‘›»jectÇi¹,‘ÖËb˜y“de ningŽ¡‘ãŒÏ[Ž‘éKÃÇh¹shap•MÞeÇiÏ]Ž‘ åø¹mo“di ers.‘]”The›&Nmo“di cation˜is˜lo“cal˜to˜the˜Çh¹ob‘›»jectÇi˜¹curren²!tly˜b“eing˜built,‘FGso˜will˜ha•²!v“e˜noŽ¡‘ãŒe ect–¦fif“this“ob‘›»ject“is“nev²!er“actually“used.ŽŸ¼Ã‘ãŒÔAdjusting–Õ?line“thic¦tkness‘ ó5¹The–3àfolloš²!wing“table“lists“the“moMÞdi ers“primarily“to“alter“the“thic˜knessŽ¡‘ãŒof–[’lines“used“bš²!y‘C]ŽŽ’œäM¹set–¦fthic²!kness“to“Çh¹dimenÇiŽŽŽŽ¡‘TôåÏ[Ž‘Z´|Ž‘`t9Çh¹dimenÇiÏ]ŽŽ’œäM¹also–¦fsets“to“Çh¹dimenÇiŽŽŽŽ¡‘TôåÏ[Ž‘Z´|Ž‘`t9=Ž‘f3ãÇh¹w²!ordÇiÏ]ŽŽ’œäM¹mak•²!e‘¦fÏ[Ž› fÇh¹w“ordÇiÏ]Ž˜¹set›¦fcurren“t˜st“yle˜settingsŽŽŽŽ¡‘TôåÏ[Ž‘Z´|Ž‘`t9*]ŽŽ’œäM¹reuse–¦fprevious“st²!yleŽŽŽŽ¡‘TôåÏ[butt]ŽŽ’œäM¹butt–¦fcap“at“endsŽŽŽŽŽŽŒ‹Û¢„ Á à ý*tj‘ãŒÑ2.4.‘„CLINE–¦fSTYLES“EXTENSION’+_&¹219ŽŽ ¶?? ýh«w‘8€þÏ[roundcap]ŽŽ’€pf¹round–¦fcap“at“endsŽŽŽŽ¤ ™š‘8€þÏ[projcap]ŽŽ’€pf¹pro‘›»jecting–¦fsquare“cap.ŽŽŽŽ‘㌟²&‰ffã²dŸ@r–á­Later“settings“of“the“linewidth“o•²!v“erride–á­earlier“settings;‘ÿQm²!ultiple“calls“to“Ï[thicker]Ž‘;€T¹and“Ï[thinner]ŽŽ¡¹compMÞound,‘nbut–F%the“other“v‘ÿdDarianš²!ts“set“an“absolute“thic˜kness.‘½The“line-thic˜kness“spMÞeci cation“a ectsŽ¡arroš²!w-tips–;as“w˜ell“as“the“thic˜kness“of“straigh˜t“lines“and“curv˜es.‘ÖyThree“kinds“of“line-caps“are“a˜v‘ÿdDailable;Ž¡they–¦fare“discussed“bšMÞelo²!w“in“the“section“on“`p˜oly-lines'.ŽŸ%^©’µ!3ïps: SDict begin xyc endŸ}ß‘e—só/DÓít½qG®cmr17ÚCŽŽŽŽŽŽŽŽŽŸ}ß‘PŽŽŽŽŽŽŽŽŽ‘ ƒ¸Ÿýh0ï(ps: SDict begin {pu 0.39998 lw}xyg end‘ ƒ¹Ÿìï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 0.39998 lw}xyg end‘S»Ÿìï" {3072 10 /xy AB}xyŽŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 0.39998 lw}xyg end‘S»Ÿìï" {70.56253 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 0.39998 lw}xyg end‘S»Ÿìï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 1.59991 lw}xyg end‘ ƒ¹Ÿòï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 1.59991 lw}xyg end‘S»Ÿòï" {3072 10 /xy AB}xyŽŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 1.59991 lw}xyg end‘S»Ÿòï" {70.56253 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 1.59991 lw}xyg end‘S»Ÿòï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 3.99979 lw}xyg end‘ ƒ¹Ÿüï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 3.99979 lw}xyg end‘S»Ÿüï" {3072 10 /xy AB}xyŽŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 3.99979 lw}xyg end‘S»Ÿüï" {70.56253 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 3.99979 lw}xyg end‘S»Ÿüï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 7.99957 lw}xyg end‘ ƒ¹Ÿï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 7.99957 lw}xyg end‘S»Ÿï" {3072 10 /xy AB}xyŽŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 7.99957 lw}xyg end‘S»Ÿï" {70.56253 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endï(ps: SDict begin {pu 7.99957 lw}xyg end‘S»Ÿï" {0.0 0.0 l}xyŽŽŽïps: SDict begin { pp}xyf endŽŽŽŽŸ?bŸ¿ Ï\xy/r8pc/:*++\txt\huge{C}="c"ŽŽ¡,0*++\txt\huge{P}="p",ŽŽ¡,"p",{\ar@*{[|(1)]}"p";"c"<20pt>}ŽŽ¡,"p",{\ar@*{[|(4)]}"p";"c"<14pt>}ŽŽ¡,"p",{\ar@*{[|(10)]}"p";"c"<4pt>}ŽŽ¡,"p",{\ar@*{[|(20)]}"p";"c"<-16pt>}ŽŽ¡\endxyŽŽŸ‡Ë‘¹Using–Xthe“ÕPostScript“¹bacš²!k-end,‘7ôthe“size“of“the“arro˜w-head“gro˜ws“aesthetically“with“the“thic˜knessŽ¡of–Œ)the“line“used“to“draš²!w“it.‘ÕThis“gro˜wth“v‘ÿdDaries“as“the“square-roMÞot“of“the“thic˜kness;‘”èth˜us“for“v˜ery“thic˜kŽ¡lines–¦f(20+“times“normal)“the“arro²!whead“bMÞegins“to“merge“with“the“stem.ŽŸ ÐÝ‘Load–¦fthe“ÏstyleŽ‘$ ¹extension“to“establish“the“necessary“infra-structure.Ž©PˆÃ113Ž‘Ï%\xydefcsname@{shape‘¿ª[|...]}#1{\xyFN@\xywidthchar@#1@@}%ŽŽ¡Ã114Ž‘Ï\xydefcsname@{*stylechar@|@}#1{\xyFN@\xywidthchar@#1@@}%ŽŽ¦Ã116Ž‘Ï%\xydefcsname@{shape‘¿ª[thinner]}{\xyshape@thinner@}ŽŽ¡Ã117Ž‘Ï%\xydefcsname@{shape‘¿ª[thicker]}{\xyshape@thicker@}ŽŽ¡Ã118Ž‘Ï\xydefcsname@{style‘¿ª[thinner]}{\xyshape@thinner@}ŽŽ¡Ã119Ž‘Ï\xydefcsname@{style‘¿ª[thicker]}{\xyshape@thicker@}ŽŽŸ"Þ×ÔImplemen¦ttation‘ ó5¹Record–¤Óthe“line“thic²!kness“loMÞcally“in“a“dimen“register.‘Ù$The“initial“v‘ÿdDalue“is“readŽ¡from–’©the“Ïxydash10Ž‘7"¢¹fon•²!t.‘¢¦Eac“h–’©time“Ï\xylinethick@Ž‘Sàô¹is“c²!hanged,‘͹its“previous“v‘ÿdDalue“is“stored“as“theŽ¡expansion–¦fof“Ï\xyprevwidth@@Ž‘T!²¹,“in“case“this“is“needed“bš²!y“a“spMÞeci c“bac˜k-end.ަÃ132Ž‘Ï\xynew@{dimen}\xylinethick@‘¿ª\xylinethick@=\xydashw@ŽŽ¦Ã134Ž‘Ï\xydef@\xyshape@thicker@{\xylinewidth@i{\multiply\xylinethick@\tw@}}ŽŽ¡Ã135Ž‘Ï\xydef@\xyshape@thinner@{\xylinewidth@i{\divide\xylinethick@\tw@}}ŽŽ¦Ã137Ž‘Ï\xydef@\xylinewidth@i#1{\edef\xyprevwidth@@{\the\xylinethick@}%ŽŽ¡Ã138Ž‘¿ªÏ#1\edef\next@{\xylinethick@=\the\xylinethick@}%ŽŽ¡Ã139Ž‘¿ªÏ\edef\next@ii{\noexpand\addtotoks@{%ŽŽ¡Ã140Ž‘TÏ\noexpand\xylinewidth@@{\next@}{\xyprevwidth@@}}}%ŽŽ¡Ã141Ž‘¿ªÏ\next@ii‘¿ª}ŽŽŸvÃ144Ž‘Ï\xydef@\xywidthchar@{%ŽŽ¡Ã145Ž‘¿ªÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xywidthchar@}%gobble“spacesŽŽ¡Ã146Ž‘Ï%–¿ª\else\ifx“@\next“\DN@“@@{\addtotoks@{\checkXyStyle@}}%ŽŽ¡Ã147Ž‘¿ªÏ\else\ifx–¿ª@\next“\DN@“@@{\checkXyStyle@}%ŽŽ¡Ã148Ž‘¿ªÏ\else\ifx–¿ª(\next“\DN@“(##1)##2@@{%ŽŽŽŽŒ‹Ü±p Á à ý*tj‘㌹220’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ149Ž‘ mÏ\xylinewidth@i{\xylinethick@=##1\xydashw@}}%ŽŽ¤ ™š‘ãŒÃ150Ž‘ûKÃÏ\else\addLT@\ifx–¿ª\next“\addGT@{\addLT@\DN@“##1}##2@@{%ŽŽ¡‘ãŒÃ151Ž‘ mÏ\xylinewidth@i{\xylinethick@=##1\relax}}%ŽŽ¡‘ãŒÃ152Ž‘õŒÏ%–¿ª\else\ifx“*\next“\DN@“*@@{\addtotoks@{\checkXyStyle@}}%ŽŽ¡‘ãŒÃ153Ž‘õŒÏ%–¿ª\else\ifx“*\next“\DN@“*@@{\checkXyStyle@}%ŽŽ¡‘ãŒÃ154Ž‘ûKÃÏ\else\ifx–¿ª*\next“\DN@“*@@{\recoverXyStyle@}%ŽŽ¡‘ãŒÃ155Ž‘õŒÏ%–¿ª\else\addEQ@\ifx“\next“\addEQ@\DN@##1@@{%ŽŽ¡‘ãŒÃ156Ž‘õŒÏ%‘ T\addtotoks@{\checkXyStyle@\xynamestyle@{##1}}}%ŽŽ¡‘ãŒÃ157Ž‘ûKÃÏ\else\addEQ@\ifx–¿ª\next“\addEQ@\DN@##1@@{\checkXyStyle@ŽŽ¡‘ãŒÃ158Ž‘ mÏ\addtotoks@{\xynamestyle@{##1}}}%ŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\else\ifx–¿ªC\next“\DN@“C##1@@{\xysetlinecap@{##1}@}%ŽŽ¡‘ãŒÃ160Ž‘ûKÃÏ\else\ifx–¿ªJ\next“\DN@“J##1@@{\xysetlinejoin@{##1}@}%ŽŽ¡‘ãŒÃ161Ž‘ûKÃÏ\else\ifx–¿ªM\next“\DN@“M(##1)@@{\xymiterlimit@{##1}@}%ŽŽ¡‘ãŒÃ162Ž‘ûKÃÏ\else‘¿ª\DN@##1@@{\xylinewidth@i{\xylinethick@=##1\relax}}%ŽŽ¡‘ãŒÃ163Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽŸ„°‘ôŒ¹The–¦fdiagram“in“ gure“2.4,“page“233,“uses“di erenš²!t“line-thic˜knesses“and“colours.ŽŸ+‘ãŒÔP¦toly-lines‘ ó5¹By–ˆøa“`pMÞoly-line'“wš²!e“mean“a“path“built“from“straigh˜t“line“segmen˜ts“ha˜ving“no“gaps“whereŽ¡‘ãŒeac•²!h›Õrsegmen“t˜abuts˜the˜next.‘kThe˜p•MÞoly-line˜could˜b“e˜the˜edges˜of˜a˜p“olygon,‘á5either˜closed˜or˜op“en˜ifŽ¡‘ãŒthe–¦fend-pMÞoinš²!ts“are“di eren˜t.Ž© Í‘ôŒThe–preason“for“considering“a“pMÞoly-line“as“a“separate“Çh¹ob‘›»jectÇi¹,‘”Õrather“than“simply“as“a“Çh¹pathÇi“¹builtŽ¡‘ãŒfrom–y‹straighš²!t“lines,‘‚„bMÞecomes“apparen˜t“only“when“the“lines“ha˜v˜e“appreciable“thic˜kness.‘ÎêThen“there“areŽ¡‘ãŒsevš²!eral–4ßstandard“w˜a˜ys“to“fashion“the“`joins'“(where“segmen˜ts“meet).‘‰IAlso“the“shapMÞe“of“the“`caps'“atŽ¡‘ãŒeither–¦fend“of“the“pšMÞoly-line“can“b˜e“altered.ަ‘ôŒThe–¦ffollo²!wing“mošMÞdi ers“are“used“to“determine“the“shap˜es“of“the“line“`caps'“and“`joins':Ž‘ãŒŸ#î‰ffã²dŸ ¹D‘V0DÏ[Ž‘[ïî|Ž‘a¯˜JŽ‘goBÇh¹v‘ÿdDalÇiÏ]ŽŽ’›¨î¹join–¦fst²!yle,“Çh¹v‘ÿdDalÇi“¹=“0,“1“or“2ŽŽŽŽ¡‘V0DÏ[mitre]ŽŽ’›¨î¹mitre-join,–¦fsame“as“Ï[Ž‘ f|Ž‘%ºJ0]ŽŽŽŽŽ¡‘V0D[roundjoin]ŽŽ’›¨î¹round–¦fjoin,“same“as“Ï[Ž‘ f|Ž‘%ºJ1]ŽŽŽŽŽ¡‘V0D[bevel]ŽŽ’›¨î¹bMÞev²!el-join,–¦fsame“as“Ï[Ž‘ f|Ž‘%ºJ2]ŽŽŽŽŽ¡‘V0D[Ž‘[ïî|Ž‘a¯˜CŽ‘goBÇh¹v‘ÿdDalÇiÏ]ŽŽ’›¨î¹end-cap,–¦fÇh¹v‘ÿdDalÇi“¹=“0,“1“or“2ŽŽŽŽ¡‘V0DÏ[butt]ŽŽ’›¨î¹\butt"–¦fcap,“same“as“Ï[Ž‘ f|Ž‘%ºC0]ŽŽŽŽŽ¡‘V0D[roundcap]ŽŽ’›¨î¹round–¦fcap,“same“as“Ï[Ž‘ f|Ž‘%ºC1]ŽŽŽŽŽ¡‘V0D[projcap]ŽŽ’›¨î¹\pro‘›»jecting–¦fsquare"“cap,Ž¡’›¨îsame–¦fas“Ï[Ž‘ f|Ž‘%ºC2]ŽŽŽŽŽŸM‘V0D[Ž‘[ïî|Ž‘a¯˜M(Ž‘m.ìÇh¹n²!umÇiÏ)]ŽŽ’›¨î¹set–¦fmitrelimit“to“Çh¹n²!umÇi‘ §¹1ŽŽŽŽŸ¯ ‰ffã²dŸ7!–nïThese“e ects“are“currenš²!tly“implemen˜ted“only“with“the“ÕPostScript“¹bac˜k-end“or“when“using“Ï\xypolylineŽŽ¡¹(describ•MÞed›Çb“elo•²!w)˜with˜a˜ÕPostScript˜Çh¹driv“erÇi¹.‘DIn˜this˜case˜the˜`cap'˜setting˜can˜bMÞe˜applied˜to˜an“yŽ¡segmen•²!t,›tZstraigh“t–g×or“curv²!ed,˜whether“part“of“a“pMÞoly-line“or“not;‘|±ho•²!w“ev“er–g×the“`join'“setting“applies“onlyŽ¡to–¦fpMÞoly-lines.›ÝÝArro²!w-tips“are“not“a ected.˜The“defaults“are“to“use“round“joins“and“round-cap“ends.ަ‘Adjusting–gÑthe“miter-limit“a ects“hoš²!w“far“miters“are“allo˜w˜ed“to“protrude“when“t˜w˜o“wide“lines“meetŽ¡at–½ãsmall“angles.‘$TThe“Çh¹nš²!umÇi“¹is“in“units“of“the“line-thic˜kness.‘$THigher“v‘ÿdDalues“mean“using“bMÞev˜els“only“atŽ¡smaller–ˆ¤angles,‘Ž˜while“the“v›ÿdDalue“of“1“is“equiv˜alenš²!t“to“using“bMÞev˜els“at“all“angles.‘ÓòThe“default“miter-limitŽ¡is‘¦f10.ަ‘Curren²!t–¦fv‘ÿdDalues“are“stored“in“case“these“are“needed“within“nested“pMÞortions“of“diagrams.ŽŸPˆÃ221Ž‘Ï\xydef@\xylinecap@{2}ŽŽ¡Ã222Ž‘Ï\xydef@\xylinejoin@{2}ŽŽ¡Ã223Ž‘Ï\xydef@\xylinemiter@{10}ŽŽŽŽŒ‹ÝÄ= Á à ý*tj‘ãŒÑ2.4.‘„CLINE–¦fSTYLES“EXTENSION’+_&¹221ŽŽ ¶?? ýh«w‘ôŒRecognise›¦fk•²!eyw“ords˜for˜`line-caps'˜and˜`line-joins':Ž©Pˆ‘ãŒÃ251Ž‘õŒÏ\xydefcsname@{style‘¿ª[bevel]}{\xyshape@bevel@}ŽŽ¤ ™š‘ãŒÃ252Ž‘õŒÏ\xydefcsname@{style‘¿ª[roundjoin]}{\xyshape@rdjoin@}ŽŽ¡‘ãŒÃ253Ž‘õŒÏ\xydefcsname@{style‘¿ª[miter]}{\xyshape@miter@}ŽŽ¡‘ãŒÃ254Ž‘õŒÏ%ŽŽ¡‘ãŒÃ255Ž‘õŒÏ\xydefcsname@{style‘¿ª[butt]}{\xyshape@butt@}ŽŽ¡‘ãŒÃ256Ž‘õŒÏ\xydefcsname@{style‘¿ª[roundcap]}{\xyshape@rdcap@}ŽŽ¡‘ãŒÃ257Ž‘õŒÏ\xydefcsname@{style‘¿ª[projcap]}{\xyshape@projcap@}ŽŽŸv‘ãŒÃ261Ž‘õŒÏ\xydef@\xyshape@butt@{\xysetlinecap@@0}ŽŽ¡‘ãŒÃ262Ž‘õŒÏ\xydef@\xyshape@rdcap@{\xysetlinecap@@1}ŽŽ¡‘ãŒÃ263Ž‘õŒÏ\xydef@\xyshape@projcap@{\xysetlinecap@@2}ŽŽ¦‘ãŒÃ265Ž‘õŒÏ\xydef@\xyshape@miter@{\xysetlinejoin@@0}ŽŽ¡‘ãŒÃ266Ž‘õŒÏ\xydef@\xyshape@rdjoin@{\xysetlinejoin@@1}ŽŽ¡‘ãŒÃ267Ž‘õŒÏ\xydef@\xyshape@bevel@{\xysetlinejoin@@2}ŽŽ¦‘ãŒÃ269Ž‘õŒÏ\xydef@\xysetlinecap@#1@{\DN@ii{#1}\count@=#1\relaxŽŽ¡‘ãŒÃ270Ž‘ûKÃÏ\expandafter\DN@\expandafter{\the\count@}%ŽŽ¡‘ãŒÃ271Ž‘ûKÃÏ\ifx\next@\next@ii\elseŽŽ¡‘ãŒÃ272Ž‘ mÏ\xywarning@{ignoring–¿ªextra“tokens“in“line-cap:“\next@}\fiŽŽ¡‘ãŒÃ273Ž‘ûKÃÏ\expandafter\xysetlinecap@@\expandafter{\next@}}ŽŽ¦‘ãŒÃ275Ž‘õŒÏ\xydef@\xysetlinejoin@#1@{\DN@ii{#1}\count@=#1\relaxŽŽ¡‘ãŒÃ276Ž‘ûKÃÏ\expandafter\DN@\expandafter{\the\count@}%ŽŽ¡‘ãŒÃ277Ž‘ûKÃÏ\ifx\next@\next@ii\elseŽŽ¡‘ãŒÃ278Ž‘ mÏ\xywarning@{ignoring–¿ªextra“tokens“in“line-join:“\next@}\fiŽŽ¡‘ãŒÃ279Ž‘ûKÃÏ\expandafter\xysetlinejoin@@\expandafter{\next@}}ŽŽ¦‘ãŒÃ281Ž‘õŒÏ\xydef@\xysetmiterlimit@#1@{\DN@ii{#1}\dimen@=#1\p@\relaxŽŽ¡‘ãŒÃ282Ž‘ûKÃÏ\edef\next@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ283Ž‘ûKÃÏ\ifx\next@\next@ii\elseŽŽ¡‘ãŒÃ284Ž‘ mÏ\xywarning@{ignoring–¿ªextra“tokens“in“miter-limit:“\next@}\fiŽŽ¡‘ãŒÃ285Ž‘ûKÃÏ\expandafter\xysetmiterlimit@@\expandafter{\next@}}ŽŽŸ"†‘ôŒ¹These–¦fuse“the“more“sophisticated“approacš²!h“that“is“easier“to“adjust“for“di eren˜t“Çh¹driv˜erÇi¹s.ަ‘ãŒÃ294Ž‘õŒÏ\xydef@\xysetlinecap@@#1{\xy@linecap@i{\def\xylinecap@{#1}}}ŽŽ¡‘ãŒÃ295Ž‘õŒÏ\xydef@\xysetlinejoin@@#1{\xy@linejoin@i{\def\xylinejoin@{#1}}}ŽŽ¡‘ãŒÃ296Ž‘õŒÏ\xydef@\xysetmiterlimit@@#1{%ŽŽ¡‘ãŒÃ297Ž‘ûKÃÏ\xy@linemiter@i{\def\xylinemiter@{#1}}}ŽŽ¦‘ãŒÃ299Ž‘õŒÏ\xydef@\xy@linecap@i#1{#1\addtotoks@{\xy@linecap@@{#1}}}ŽŽ¡‘ãŒÃ300Ž‘õŒÏ\xydef@\xy@linejoin@i#1{#1\addtotoks@{\xy@linejoin@{#1}}}ŽŽ¡‘ãŒÃ301Ž‘õŒÏ\xydef@\xy@linemiter@i#1{#1\addtotoks@{\xy@linemiter@{#1}}}ŽŽŸ"†‘ôŒ¹Implemen²!tation–¦fof“line-caps:ަ‘ãŒÃ307Ž‘õŒÏ\xydef@\xy@linecap@#1{\checkXyStyle@‘¿ª\edef\xyprevcap@@{\xylinecap@}%ŽŽ¡‘ãŒÃ308Ž‘ûKÃÏ#1\let\prexylinecap@=\prexylinecap@@‘¿ª\let\postxylinecap@=\postxylinecap@@ŽŽ¡‘ãŒÃ309Ž‘ûKÃÏ\applyLIFOstyle@\prexylinecap@{\xylinecap@}%ŽŽ¡‘ãŒÃ310Ž‘ mÏ\postxylinecap@{\xyprevcap@@}}ŽŽ¦‘ãŒÃ312Ž‘õŒÏ\xydef@\prexylinecap@@{\let\prexylinecap@=\eat@ŽŽ¡‘ãŒÃ313Ž‘ûKÃÏ\let\postxylinecap@=\postxylinecap@@–¿ª\outputxylinecap@“}ŽŽ¡‘ãŒÃ314Ž‘õŒÏ\xydef@\postxylinecap@@{\let\postxylinecap@=\eat@ŽŽŽŽŒ‹ÞÓâ Á à ý*tj‘㌹222’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ315Ž‘ûKÃÏ\let\prexylinecap@=\prexylinecap@@–¿ª\resetxylinecap@@“}ŽŽ¤ ™š‘ãŒÃ316Ž‘õŒÏ\xylet@\prexylinecap@=\prexylinecap@@ŽŽ¡‘ãŒÃ317Ž‘õŒÏ\xylet@\postxylinecap@=\postxylinecap@@ŽŽ©Pˆ‘ãŒÃ319Ž‘õŒÏ\xydef@\outputxylinecap@#1{\xycapSpecial@@{#1}}ŽŽ¡‘ãŒÃ320Ž‘õŒÏ\xydef@\resetxylinecap@#1{\resetxylinecap@i{#1}\outputxylinecap@{#1}}ŽŽ¡‘ãŒÃ321Ž‘õŒÏ\xydef@\resetxylinecap@i#1{\def\xylinecap@{#1}}ŽŽ¡‘ãŒÃ322Ž‘õŒÏ\xylet@\resetxylinecap@@=\resetxylinecap@ŽŽ¦‘ãŒÃ324Ž‘õŒÏ\xylet@\xycapSpecial@@=\eat@ŽŽŸ‡1‘ôŒ¹Implemen²!tation–¦fof“line-joins:ަ‘ãŒÃ330Ž‘õŒÏ\xydef@\xy@linejoin@#1{\checkXyStyle@ŽŽ¡‘ãŒÃ331Ž‘ûKÃÏ\edef\xyprevjoin@@{\xylinejoin@}#1%ŽŽ¡‘ãŒÃ332Ž‘ûKÃÏ\let\prexylinejoin@=\prexylinejoin@@ŽŽ¡‘ãŒÃ333Ž‘ûKÃÏ\let\postxylinejoin@=\postxylinejoin@@ŽŽ¡‘ãŒÃ334Ž‘ûKÃÏ\applyLIFOstyle@\prexylinejoin@{\xylinejoin@}%ŽŽ¡‘ãŒÃ335Ž‘ mÏ\postxylinecap@{\xyprevjoin@@}}ŽŽ¦‘ãŒÃ337Ž‘õŒÏ\xydef@\prexylinejoin@@{\let\prexylinejoin@=\eat@ŽŽ¡‘ãŒÃ338Ž‘ûKÃÏ\let\postxylinejoin@=\postxylinejoin@@–¿ª\outputxylinejoin@“}ŽŽ¡‘ãŒÃ339Ž‘õŒÏ\xydef@\postxylinejoin@@{\let\postxylinejoin@=\eat@ŽŽ¡‘ãŒÃ340Ž‘ûKÃÏ\let\prexylinejoin@=\prexylinejoin@@–¿ª\resetxylinejoin@@“}ŽŽ¡‘ãŒÃ341Ž‘õŒÏ\xylet@\prexylinejoin@=\prexylinejoin@@ŽŽ¡‘ãŒÃ342Ž‘õŒÏ\xylet@\postxylinejoin@=\postxylinejoin@@ŽŽ¦‘ãŒÃ344Ž‘õŒÏ\xydef@\outputxylinejoin@#1{\xyjoinSpecial@@{#1}}ŽŽ¡‘ãŒÃ345Ž‘õŒÏ\xydef@\resetxylinejoin@#1{\resetxylinejoin@i{#1}\outputxylinejoin@{#1}}ŽŽ¡‘ãŒÃ346Ž‘õŒÏ\xydef@\resetxylinejoin@i#1{\def\xylinejoin@{#1}}ŽŽ¡‘ãŒÃ347Ž‘õŒÏ\xylet@\resetxylinejoin@@=\resetxylinejoin@ŽŽ¦‘ãŒÃ349Ž‘õŒÏ\xylet@\xyjoinSpecial@@=\eat@ŽŽŸ‡1‘ôŒ¹Implemen²!tation–¦fof“miter-limit:ަ‘ãŒÃ355Ž‘õŒÏ\xydef@\xy@linemiter@#1{\checkXyStyle@ŽŽ¡‘ãŒÃ356Ž‘ûKÃÏ\edef\xyprevmiter@@{\xylinemiter@}#1%ŽŽ¡‘ãŒÃ357Ž‘ûKÃÏ\let\prexylinemiter@=\prexylinemiter@@ŽŽ¡‘ãŒÃ358Ž‘ûKÃÏ\let\postxylinemiter@=\postxylinemiter@@ŽŽ¡‘ãŒÃ359Ž‘ûKÃÏ\applyLIFOstyle@\prexylinemiter@{\xylinemiter@}%ŽŽ¡‘ãŒÃ360Ž‘ mÏ\postxylinecap@{\xyprevmiter@@}}ŽŽ¦‘ãŒÃ362Ž‘õŒÏ\xydef@\prexylinemiter@@{\let\prexylinemiter@=\eat@ŽŽ¡‘ãŒÃ363Ž‘ûKÃÏ\let\postxylinemiter@=\postxylinemiter@@–¿ª\outputxylinemiter@“}ŽŽ¡‘ãŒÃ364Ž‘õŒÏ\xydef@\postxylinemiter@@{\let\postxylinemiter@=\eat@ŽŽ¡‘ãŒÃ365Ž‘ûKÃÏ\let\prexylinemiter@=\prexylinemiter@@–¿ª\resetxylinemiter@@“}ŽŽ¡‘ãŒÃ366Ž‘õŒÏ\xylet@\prexylinemiter@=\prexylinemiter@@ŽŽ¡‘ãŒÃ367Ž‘õŒÏ\xylet@\postxylinemiter@=\postxylinemiter@@ŽŽ¦‘ãŒÃ369Ž‘õŒÏ\xydef@\outputxylinemiter@#1{\xymiterSpecial@@{#1}}ŽŽ¡‘ãŒÃ370Ž‘õŒÏ\xydef@\resetxylinemiter@#1{\resetxylinemiter@i{#1}\outputxylinemiter@{#1}}ŽŽ¡‘ãŒÃ371Ž‘õŒÏ\xydef@\resetxylinemiter@i#1{\def\xylinemiter@{#1}}ŽŽ¡‘ãŒÃ372Ž‘õŒÏ\xylet@\resetxylinemiter@@=\resetxylinemiter@ŽŽ¦‘ãŒÃ374Ž‘õŒÏ\xylet@\xymiterSpecial@@=\eat@ŽŽŸ‡1‘ôŒ¹The–¸.path“takš²!en“b˜y“the“`pšMÞoly-line'“this“is“read“as“the“list“of“Çh¹p˜osÇi¹itions“in“the“currenš²!t“`stac˜k',‘çÓignoringŽŽŽŒ‹ßàA Á à ý*tj‘ãŒÑ2.4.‘„CLINE–¦fSTYLES“EXTENSION’+_&¹223ŽŽ ¶?? ýh«w‘ãŒsize–D‚extenš²!ts.‘½][thicker]\xybox{%ŽŽ¡‘éKÃ*+(3,2){}="X"ŽŽ¡‘ãŒ;@={p+CU,p+LU,p+LD,p+RD,p+RU,p+CU}ŽŽ¡‘éKÃ,{0*[miter]\xypolyline{}}ŽŽ¡‘éKÃ,{\xypolyline{*}},@i@)ŽŽ¡‘ãŒ,"X",*+(2.5,1.5){}="X"ŽŽ¡‘ãŒ,@={!CU,!LU,!LD,!RD,!RU,!CU}ŽŽ¡‘éKÃ,{0*[gray][roundjoin]\xypolyline{}}ŽŽ¡‘éKÃ,{0*[gray]\xypolyline{*}},@i@)ŽŽ¡‘ãŒ,"X",*+(2,1){}="X"ŽŽ¡‘ãŒ,@={!CU,!LU,!LD,!RD,!RU,!CU}ŽŽ¡‘éKÃ,{0*[white]\xypolyline{*}}ŽŽ¡‘éKÃ,{0*[bevel]\xypolyline{}},@i@)ŽŽ¡‘ãŒ,"X"-(.7,0)*++\txt\LARGE{A}="a"ŽŽ¡‘ãŒ,"X"+(.7,0)*++\txt\LARGE{B}="b"ŽŽ¡‘ãŒ,{\ar@{-}@*{[butt][thinner]}"a";"b"<1pc>}ŽŽ¡‘ãŒ,{\ar@{-}@*{[roundcap][thinner]}"a";"b"}ŽŽ¡‘ãŒ,{\ar@{-}@*{[projcap][thinner]}"a";"b"<-1pc>}ŽŽ¡‘ãŒ}}ŽŽ¦‘㌹Note–òthe“use“of“Ï{0*[...]\xypolyline{..}}Ž’“Ü.¹to“apply“st²!yle-mošMÞdi ers“to“a“p˜olyline.‘ÁThe“Ï@={!..}ŽŽ¡‘㌹methoMÞd–¯rfor“loading“the“stacš²!k“giv˜es“equiv‘ÿdDalen˜t“results“to“using“Ï;@={p+..}Ž‘7ll¹,‘±µsince“Ï\xypolylineŽ‘F›2¹ignoresŽ¡‘ãŒthe–¦fedge“extenš²!ts“of“eac˜h“Çh¹pMÞosÇi“¹in“the“stac˜k.Ž¡‘ôŒNote–PÔalso“that“the“argumenš²!t“Ï#1Ž‘ ü¹to“Ï\xypolylineŽ‘EÝö¹a ects“what“is“t˜ypMÞeset.‘ÁWAllo˜w˜able“argumen˜ts“are:Ž‘ãŒŸ ±r‰ffã²dŸ Tv‘H2|Ï\xypolyline{}ŽŽ’©¦¶¹solid‘¦flineŽŽŽŽŽŽŒ‹àìv Á à ý*tj‘㌹224’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘+¾•Ï\xypolyline{.}ŽŽ’2Ϲdotted‘¦flineŽŽŽŽ¤ ™š‘+¾•Ï\xypolyline{-}ŽŽ’2Ϲdashed‘¦flineŽŽŽŽ¡‘+¾•Ï\xypolyline{*}ŽŽ’2Ϲ ll–¦fenclosed“pMÞolygonŽŽŽŽ¡‘+¾•Ï\xypolyline{?}ŽŽ’2Ϲ ll–¦fenclosed“pšMÞolygon“using“ev²!en-o˜dd“ruleŽŽŽŽ¡‘+¾•Ï\xypolyline{{*}}ŽŽ’2Ϲuse‘¦fÏ\dir{*}Ž‘/Šr¹for‘¦flinesŽŽŽŽ¡‘+¾•Ï\xypolyline{}ŽŽ’¡2Ϲusing‘¦fÏ\dir{}ŽŽŽŽŽ‘ãŒŸ ¦‰ffã²dŸÿ=–„G¹The“latter“cases“one“has“Ï**\dir{...}Ž‘FDܹbšMÞeing“used“to“connect“the“v²!ertices“of“the“p˜olyline,‘‹with“Ï{{*}}ŽŽ¡¹bMÞeing–ÏFneeded“to“get“Ï**\dir{*}Ž‘6Œ@¹.‘–(Similarly“Ï**\dirŽ‘(ˆ¹is“used“when“a“Çh¹drivš²!erÇi“¹is“not“a˜v‘ÿdDailable“to“spMÞeci callyŽ¡supp•MÞort›,îp“olylines;‘p2in˜particular˜the˜t•²!w“o˜` ll'˜options˜Ï*Ž–†¹and˜Ï?Ž“¹will˜result˜in˜a˜dotted˜pMÞolygon˜outlineŽ¡the–¦fregion“in²!tended“to“bMÞe“ lled.Ž¡‘In–¯œall“cases“it“is“up“to“the“user“to“load“the“stac²!k“bMÞefore“calling“Ï\xypolyline{Ž‘H«”¹.–Ó3.“.“Ï}Ž‘’ݹ.‘ùA‘¯šparticularlyŽ¡common–ƒ—case“is“the“outline“of“an“existing‘kAX‘ü·ŸâÃYŽŽ‘ ê¡-pic“Çh¹ob‘›»jectÇi¹,‘Šas“in“the“example“abMÞo•²!v“e.‘ÒCF‘ÿeuture‘ƒ—extensionsŽ¡to‘;«Ï\frmŽ‘uþ¹will–;«proš²!vide“a“simpli ed“mec˜hanism“whereb˜y“the“user“need“not“call“Ï\xypolylineŽ‘G³¤¹explicitlyŽ¡for–¦fsuc²!h“e ects.Ž©PˆÃ464Ž‘Ï\xylet@\xypolyline@Special=\eat@ŽŽ¡Ã465Ž‘Ï\xylet@\xypolyfill@Special=\eat@ŽŽ¡Ã466Ž‘Ï\xylet@\xypolyeofill@Special=\eat@ŽŽ¡Ã467Ž‘Ï\xylet@\xypolydot@Special=\eat@ŽŽ¡Ã468Ž‘Ï\xylet@\xypolydash@Special=\eat@ŽŽ¦Ã470Ž‘Ï\xydef@\UnloadpolySpecials@{%ŽŽ¡Ã471Ž‘¿ªÏ\let\xypolyline@Special=\eat@ŽŽ¡Ã472Ž‘¿ªÏ\let\xypolyfill@Special=\eat@ŽŽ¡Ã473Ž‘¿ªÏ\let\xypolyeofill@Special=\eat@ŽŽ¡Ã474Ž‘¿ªÏ\let\xypolydot@Special=\eat@ŽŽ¡Ã475Ž‘¿ªÏ\let\xypolydash@Special=\eat@ŽŽ¡Ã476Ž‘Ï}ŽŽ¦Ã478Ž‘Ï\xydef@\xy@polystyle@#1{%ŽŽ¡Ã479Ž‘¿ªÏ\let\poly@style@@=\xypolyline@SpecialŽŽ¡Ã480Ž‘¿ªÏ\DNii@{#1}\ifx\nextii@\emptyŽŽ¡Ã481Ž‘¿ªÏ\else\DN@{*}\ifx\next@\nextii@‘¿ª\let\poly@style@@=\xypolyfill@SpecialŽŽ¡Ã482Ž‘¿ªÏ\else\DN@{?}\ifx\next@\nextii@‘¿ª\let\poly@style@@=\xypolyeofill@SpecialŽŽ¡Ã483Ž‘¿ªÏ\else\expandafter\DN@\expandafter{\addDOT@{}}\ifx\next@\nextii@ŽŽ¡Ã484Ž‘TÏ\let\poly@style@@=\xypolydot@SpecialŽŽ¡Ã485Ž‘¿ªÏ\else\expandafter\DN@\expandafter{\addDASH@{}}\ifx\next@\nextii@ŽŽ¡Ã486Ž‘TÏ\let\poly@style@@=\xypolydash@SpecialŽŽ¡Ã487Ž‘¿ªÏ\else\DN@{{*}}\ifx\next@\nextii@‘¿ª\def\poly@style@@{\xypolystraight@{*}}%ŽŽ¡Ã488Ž‘¿ªÏ\else‘¿ª\def\poly@style@@{\xypolystraight@{#1}}%ŽŽ¡Ã489Ž‘¿ªÏ\fi\fi\fi\fi\fi\fi‘¿ª}ŽŽ¦Ã491Ž‘Ï\xydef@\xydopoly@style{\expandafter\poly@style@@\expandafter{\xyps@list}}ŽŽ¡Ã492Ž‘Ï\xydef@\xynopolystyle@#1#2{\xyundefinedLine@{polyline}{{#1}}@@}ŽŽ¦‘¹When–¦fthere“is“no“spšMÞecial“supp˜ort“this“handles“the“v‘ÿdDarious“cases“using“ordinary“thin“line“t²!yp˜es.ަÃ501Ž‘Ï\xydef@\xypolynospec@#1{\DNii@{#1}%ŽŽ¡Ã502Ž‘¿ªÏ\ifx\nextii@\empty\def\poly@style@@{\xypolystraight@{-}}%ŽŽ¡Ã503Ž‘¿ªÏ\else\DN@{.}\ifx\next@\nextii@‘¿ª\def\poly@style@@{\xypolystraight@{.}}%ŽŽ¡Ã504Ž‘¿ªÏ\else\DN@{-}\ifx\next@\nextii@‘¿ª\def\poly@style@@{\xypolystraight@{--}}%ŽŽ¡Ã505Ž‘¿ªÏ\else\DN@{*}\ifx\next@\nextii@‘¿ª\def\poly@style@@{\xypolystraight@{.}}%ŽŽ¡Ã506Ž‘¿ªÏ\else\DN@{?}\ifx\next@\nextii@‘¿ª\def\poly@style@@{\xypolystraight@{.}}%ŽŽŽŽŒ‹áþ Á à ý*tj‘ãŒÑ2.4.‘„CLINE–¦fSTYLES“EXTENSION’+_&¹225ŽŽ ¶?? ýh«w‘ãŒÃ507Ž‘ûKÃÏ\else\DN@{{*}}\ifx\next@\nextii@‘¿ª\def\poly@style@@{\xypolystraight@{*}}%ŽŽ¤ ™š‘ãŒÃ508Ž‘ûKÃÏ\else‘¿ª\def\poly@style@@{\xypolystraight@{#1}}%ŽŽ¡‘ãŒÃ509Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi‘¿ª}ŽŽ©ß‘ôŒ¹Gobble–!=the“collected“pMÞositions“in“Ï{\xyps@list}Ž‘J5¹;‘Þ¨reco•²!v“er–!=the“vš²!ertices“from“the“stac˜k,‘òthen“setŽ¡‘ãŒstraighš²!t–¦flines“in“the“appropriate“st˜yle.ŽŸPˆ‘ãŒÃ516Ž‘õŒÏ\xydef@\xypolystraight@#1#2{%ŽŽ¡‘ãŒÃ517Ž‘ûKÃÏ\enter@{\pfromthep@–¿ª\basefromthebase@“\cfromthec@}%ŽŽ¡‘ãŒÃ518Ž‘ûKÃÏ\edef\smapp@@{\s@bot}\csname‘¿ªS@0\endcsname\czeroEdge@\pfromc@\def\smapp@@{0}%ŽŽ¡‘ãŒÃ519Ž‘ûKÃÏ\smapxy@i{\czeroEdge@\enter@{\pfromthec@}{\connect@\dir{#1}}\leave@}\leave@‘¿ª}ŽŽ¦‘ôŒ¹Initially–¦fpMÞoly-lines“are“uninstalled,“unš²!til“loaded“b˜y“a“Çh¹driv˜erÇi¹.ޤPˆ‘ãŒÃ527Ž‘õŒÏ\xylet@\xy@polystyle@@=\xypolynospec@ŽŽ¡‘ãŒÃ529Ž‘õŒÏ\xydef@\UninstallPolylines@{%ŽŽ¤ ™š‘ãŒÃ530Ž‘ûKÃÏ\UnloadpolySpecials@ŽŽ¡‘ãŒÃ531Ž‘ûKÃÏ\let\xy@polystyle@@=\xypolynospec@‘¿ª}ŽŽ¡‘ãŒÃ532Ž‘õŒÏ\UninstallPolylines@ŽŽŸ)ó‘ãŒÔInstallation‘ ó5¹Initially–¦fthere“is“no“suppMÞort“for“the“actual“e ects.Ž©Pˆ‘ãŒÃ541Ž‘õŒÏ\xydef@\xyundefinedLine@#1#2@@{%ŽŽ¡‘ãŒÃ542Ž‘ûKÃÏ\xywarning@{The–¿ª#1“#2“effect“is“not“implemented“with“the“current“driver.}}%ŽŽ¦‘ãŒÃ544Ž‘õŒÏ\xydef@\xynolinewidth@#1#2{%ŽŽ¡‘ãŒÃ545Ž‘ûKÃÏ\xyundefinedLine@{linewidth}{\the\xylinethick@}@@}%ŽŽ¡‘ãŒÃ546Ž‘õŒÏ\xydef@\xynolinecap@#1{\xyundefinedLine@{linecap}{\xylinecap@}@@}%ŽŽ¡‘ãŒÃ547Ž‘õŒÏ\xydef@\xynolinejoin@#1{\xyundefinedLine@{linejoin}{\xylinejoin@}@@}%ŽŽ¡‘ãŒÃ548Ž‘õŒÏ\xydef@\xynolinemiter@#1{\xyundefinedLine@{miterlimit}{\xylinemiter@}@@}%ŽŽŸß‘ôŒ¹Nothing–ûcfurther“can“bMÞe“done“unless“allo•²!w“ed›ûcb“y˜a˜spMÞeci c˜Çh¹driv“erÇi¹,‘¢whic“h˜m“ust˜establish˜an˜alter-Ž¡‘ãŒnativ²!e–¦fexpansions“to“bšMÞe“b˜ound“to“Ï\xylinewidth@@Ž‘Wȹand“the“other“ho˜oks.ަ‘ãŒÃ556Ž‘õŒÏ\xylet@\xylinewidth@@=\xynolinewidth@ŽŽ¡‘ãŒÃ557Ž‘õŒÏ\xylet@\xy@linecap@@=\xynolinecap@ŽŽ¡‘ãŒÃ558Ž‘õŒÏ\xylet@\xy@linejoin@@=\xynolinejoin@ŽŽ¡‘ãŒÃ559Ž‘õŒÏ\xylet@\xy@linemiter@@=\xynolinemiter@ŽŽ¦‘ãŒÃ561Ž‘õŒÏ\xydef@\UnloadLine@#1{%ŽŽ¡‘ãŒÃ562Ž‘ûKÃÏ\ifx#1\relax\else\xyunload@{line–¿ªwidth“extension}\fiŽŽ¡‘ãŒÃ563Ž‘ûKÃÏ\let\resetxyline@@=\resetxyline@ŽŽ¡‘ãŒÃ564Ž‘ûKÃÏ\let\resetxylinecap@@=\resetxylinecap@ŽŽ¡‘ãŒÃ565Ž‘ûKÃÏ\let\resetxylinejoin@@=\resetxylinejoin@ŽŽ¡‘ãŒÃ566Ž‘ûKÃÏ\let\resetxylinemiter@@=\resetxylinemiter@ŽŽ¡‘ãŒÃ567Ž‘ûKÃÏ\let\transxyline@@=\DN@ŽŽ¡‘ãŒÃ568Ž‘ûKÃÏ\let\xylineSpecial@@=\eat@ŽŽ¡‘ãŒÃ569Ž‘ûKÃÏ\let\xycapSpecial@@=\eat@ŽŽ¡‘ãŒÃ570Ž‘ûKÃÏ\let\xyjoinSpecial@@=\eat@ŽŽ¡‘ãŒÃ571Ž‘ûKÃÏ\let\xymiterSpecial@@=\eat@ŽŽ¡‘ãŒÃ572Ž‘ûKÃÏ\let\xylinewidth@@=\xynolinewidth@ŽŽ¡‘ãŒÃ573Ž‘ûKÃÏ\let\xy@linecap@@=\xynolinecap@ŽŽ¡‘ãŒÃ574Ž‘ûKÃÏ\let\xy@linejoin@@=\xynolinejoin@ŽŽ¡‘ãŒÃ575Ž‘ûKÃÏ\let\xy@linemiter@@=\xynolinemiter@ŽŽŽŽŒ‹â àÁ à ý*tj‘㌹226’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ576Ž‘ûKÃÏ\UninstallPolylines@‘¿ª}ŽŽ¤Pˆ‘ãŒÃ578Ž‘õŒÏ\xyaddunsupport{line}{\UnloadLine@\relax}ŽŽŸ¢:‘ôŒ¹This–Åis“a“pšMÞossible“alternativ²!e“for“Ï\xylinewidth@@Ž‘S@é¹.‘’ïIndeed“it“is“used“with“the“ÕPostScript“¹supp˜ort,Ž© ™š‘ãŒwhic²!h–¦fthen“rede nes“just“Ï\xylineSpecial@@Ž‘_¡¹.Ž¡‘ãŒÃ587Ž‘õŒÏ\xydef@\xylinewidth@#1#2{\checkXyStyle@ŽŽ¦‘ãŒÃ588Ž‘ûKÃÏ#1\let\prexyline@=\prexyline@@‘¿ª\let\postxyline@=\postxyline@@ŽŽ¦‘ãŒÃ589Ž‘ûKÃÏ\applyLIFOstyle@\prexyline@{\the\xylinethick@}\postxyline@{#2}}ŽŽ¦‘ãŒÃ590Ž‘õŒÏ\xydef@\prexyline@@{\let\prexyline@=\eat@ŽŽ¦‘ãŒÃ591Ž‘ûKÃÏ\let\postxyline@=\postxyline@@–¿ª\outputxyline@“}ŽŽ¦‘ãŒÃ592Ž‘õŒÏ\xydef@\postxyline@@{\let\postxyline@=\eat@ŽŽ¦‘ãŒÃ593Ž‘ûKÃÏ\let\prexyline@=\prexyline@@–¿ª\resetxyline@@“}ŽŽ¦‘ãŒÃ594Ž‘õŒÏ\xylet@\prexyline@=\prexyline@@ŽŽ¦‘ãŒÃ595Ž‘õŒÏ\xylet@\postxyline@=\postxyline@@ŽŽ¡‘ãŒÃ597Ž‘õŒÏ\xydef@\resetxyline@#1{\resetxyline@i{#1}\outputxyline@{#1}}ŽŽ¦‘ãŒÃ598Ž‘õŒÏ\xydef@\resetxyline@i#1{\xylinethick@=#1\relax}ŽŽ¦‘ãŒÃ599Ž‘õŒÏ\xydef@\outputxyline@#1{\transxyline@@{#1}%ŽŽ¦‘ãŒÃ600Ž‘ûKÃÏ\expandafter\xylineSpecial@@\expandafter{\next@}}ŽŽ¦‘ãŒÃ601Ž‘õŒÏ\xylet@\resetxyline@@=\resetxyline@ŽŽŸ¢:‘ôŒ¹These–¦fneed“to“bšMÞe“reb˜ound“bš²!y“a“bac˜k-end“whic˜h“suppMÞorts“v‘ÿdDariation“in“the“line-thic˜kness.Ž¡‘ãŒÃ608Ž‘õŒÏ\xydef@\transxyline@#1{\edef\next@{\removePT@#1}}ŽŽ¡‘ãŒÃ610Ž‘õŒÏ\xylet@\transxyline@@=\DN@ŽŽ¦‘ãŒÃ611Ž‘õŒÏ\xylet@\xylineSpecial@@=\eat@ŽŽŸ#uè‘ãŒÔThe–2end“&“LogŽ¡‘ãŒÃ619Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ621Ž‘õŒÏ%–¿ª$Log:“xyline.doc,v“$ŽŽ¦‘ãŒÃ622Ž‘õŒÏ%–¿ªRevision“3.6› T1998/03/06“01:28:05˜krisroseŽŽ¦‘ãŒÃ623Ž‘õŒÏ%–¿ªReleasing“(with“Y&Y“fonts).ŽŽ¦‘ãŒÃ624Ž‘õŒÏ%ŽŽ¦‘ãŒÃ625Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:22:29“rossŽŽ¦‘ãŒÃ626Ž‘õŒÏ%–¿ªadjustments“for“styles“now“within“the“kernel“codeŽŽ¦‘ãŒÃ627Ž‘õŒÏ%–¿ªfixed“problem“with“line-widthsŽŽ¦‘ãŒÃ628Ž‘õŒÏ%ŽŽ¦‘ãŒÃ629Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¦‘ãŒÃ630Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¦‘ãŒÃ631Ž‘õŒÏ%ŽŽ¦‘ãŒÃ632Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¦‘ãŒÃ633Ž‘õŒÏ%‘¿ªRelease!ŽŽ¦‘ãŒÃ634Ž‘õŒÏ%ŽŽ¦‘ãŒÃ635Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¦‘ãŒÃ636Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¦‘ãŒÃ637Ž‘õŒÏ%ŽŽ¦‘ãŒÃ638Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¦‘ãŒÃ639Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¦‘ãŒÃ640Ž‘õŒÏ%ŽŽ¦‘ãŒÃ641Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“03:01:14“rossŽŽŽŽŒ‹ã® Á à ý*tj‘ãŒÑ2.5.‘„CR²!OT–ÿeA“TE–¦fAND“SCALE“EXTENSION’Œ|¹227ŽŽ ¶?? ýh«w‘ãŒÃ642Ž‘õŒÏ%–¿ªFinal“3beta“release“[bug“fixes“&“AMS-LaTeX“fitting].ŽŽ¤ ™š‘ãŒÃ643Ž‘õŒÏ%ŽŽ¡‘ãŒÃ644Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“09:27:49“rossŽŽ¡‘ãŒÃ645Ž‘õŒÏ%–¿ªfixed“documentation“bugŽŽ¡‘ãŒÃ646Ž‘õŒÏ%ŽŽ¡‘ãŒÃ647Ž‘õŒÏ%–¿ªRevision“2.10– T1994/06/15“12:46:03“rossŽŽ¡‘ãŒÃ648Ž‘õŒÏ%–¿ªSecond“release“3beta.ŽŽ¡‘ãŒÃ649Ž‘õŒÏ%–¿ªColour“and“line“style“saving“works;“label“colouring“bug“fixed.ŽŽ¡‘ãŒÃ650Ž‘õŒÏ%ŽŽ¡‘ãŒÃ651Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:39:49“rossŽŽ¡‘ãŒÃ652Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ653Ž‘õŒÏ%ŽŽ¡‘ãŒÃ654Ž‘õŒÏ%–¿ªNEW“for“version“2.9“by“Ross“Moore.ŽŽŸ/¨‘ãŒÝ2.5Ž‘r|Rotate–ffand“Scale“extensionŽŸë‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ&‘㌹This–^ extension“proš²!vides“the“abilit˜y“to“request“that“an˜y“ob‘›»ject“bMÞe“displa˜y˜ed“rotated“at“an˜y“angle“asŽ¡‘ãŒwš²!ell–¦fas“scaled“in“v‘ÿdDarious“w˜a˜ys.ŽŸRÿ‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyrotate.doc,v“3.3“1996/12/18“09:40:16“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Rotate“and“Scale“extension''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{rotate}{Rotate–¿ªand“Scale“extension}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽŽŽŒ‹ä"% Á à ý*tj‘㌹228’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸñ‘ôŒ¹These–9are“e ects“whicš²!h“are“not“normally“a˜v‘ÿdDailable“within“T‘þ,³Ÿ[wEŽ‘B X.‘›UInstead“they“require“a“suitableޤ ™š‘ãŒ`bacš²!k-end'–¤'option“to“pro˜vide“the“necessary“Ï\specialŽ‘5Ež¹commands,‘¤šor“extra“fon˜ts,‘¤štogether“with“appro-Ž¡‘ãŒpriate–¦fcommands“to“implemenš²!t“the“e ects.‘ÝÝTh˜usŽŸY^‘êïps: SDict begin xyc endŸ*ÁŸóôx‘DUsing–¦Mthis“extension“will“ha•²!v“e–¦Mno“e ect“on“the“outputŽŸ ˆ‘Bo4unless–¦Mused“with“a“bac•²!k“end–¦Mthat“explicitly“suppMÞorts“it.ŽŽŽŽŽŽŽŽŽŽŽŸýh0’Äz¾ï4" {0.0 196.47948 -13.88919 -196.47946 13.88918 ov}xyŽŽŽŽŽŽŽŸ#ZF‘ãŒÃ53Ž‘õŒÏ\xydef@\xyundefinedRotate@#1#2@@{%\egroup‘¿ª%ŽŽ¡‘ãŒÃ54Ž‘ûKÃÏ\xywarning@{The–¿ª#1“#2“effect“is“not“implemented“with“the“current“driver.}}%ŽŽŸPˆ‘ôŒ¹The–¦Wextension“pro²!vides“spšMÞecial“e ects“that“can“b˜e“used“with“anš²!y‘ŽX‘ü·ŸâÃYŽŽ‘ a-pic“Çh¹ob‘›»jectÇi“¹b˜y“de ningŽ¡‘ãŒÏ[Ž‘éKÃÇh¹shap•MÞeÇiÏ]Ž‘ Ýn¹mo“di ers.‘ CöThe›Ämo“di cation˜is˜lo“cal˜to˜the˜Çh¹ob‘›»jectÇi˜¹curren²!tly˜b“eing˜built,‘{šso˜will˜ha•²!v“eŽ¡‘ãŒno–¦fe ect“if“this“ob‘›»ject“is“nev²!er“actually“used.Ž¡‘ôŒThe–6nfolloš²!wing“table“lists“the“moMÞdi ers“that“ha˜v˜e“so“far“bMÞeen“de ned.‘õThey“come“in“t˜w˜o“t˜ypMÞes“{Ž¡‘ãŒeither–¦fa“single“k•²!eyw“ord,–¦for“a“k•²!ey-c“haracter–¦fwith“the“folloš²!wing“text“treated“as“a“single“argumen˜t.Ž‘ãŒŸ DS‰ffã²dŸ yë‘IfêÏ[@]ŽŽ’¨rI¹align–¦fwith“curren²!t“directionŽŽŽŽ¡‘IfêÏ[@Ž‘Tæ>Çh¹directionÇiÏ]ŽŽ’¨rI¹align–¦fto“Çh¹directionÇiŽŽŽŽ¡‘IfêÏ[@!Ž‘Z¥èÇh¹n•²!um“bMÞerÇiÏ]ŽŽ’¨rI¹rotate›¦fÇh¹n•²!um“bMÞerÇi˜¹degreesŽŽŽŽ©Ži‘IfêÏ[*Ž‘Tæ>Çh¹n•²!um“bMÞerÇiÏ]ŽŽ’¨rI¹scale–¦fbš²!y“Çh¹n˜um˜bMÞerÇiŽŽŽŽ¡‘IfêÏ[*Ž‘Tæ>Çh¹n•²!umÇiŸ¤zÅxŽ‘Hç¹,Çh¹n“umÇiŸ¤zÅyŽ‘ý Ï]ŽŽ’¨rI¹scale–¦fÄx“¹and“Äy‘ ù¹separatelyŽŽŽŽ¦‘IfêÏ[left]ŽŽ’¨rI¹rotate›¦fan•²!ticloMÞc“kwise˜b“y˜90Ÿü¾ÈŽŽŽŽŽ¡‘IfêÏ[right]ŽŽ’¨rI¹rotate–¦f(cloMÞcš²!kwise)“b˜y“90Ÿü¾ÈŽŽŽŽŽ¡‘IfêÏ[flip]ŽŽ’¨rI¹rotate–¦fb²!y“180Ÿü¾ÈŽ‘À¹;“same“as“Ï[*-1,-1]ŽŽŽŽŽ¡‘Ifê[dblsize]ŽŽ’¨rI¹scale–¦fto“double“sizeŽŽŽŽ¡‘IfêÏ[halfsize]ŽŽ’¨rI¹scale–¦fto“half“sizeŽŽŽŽ©o²‰ffã²dŸóB–XîThese“Ï[Ž– ˜Çh¹shapšMÞeÇiÏ]Ž“¹mo˜di ers–Xîsp˜ecify“transformations“of“the“Çh¹ob‘›»jectÇi“¹curren²!tly“b˜eing“built.‘Ä If“the“ob‘›»jectŽ¡has–öaa“rectangle“edge“then“the“size“of“the“rectangle“is“transformed“to“enclose“the“transformed“ob‘›»ject;Ž¡with–¦fa“circle“edge“the“radius“is“altered“appropriately‘ÿe.Ž¡‘ÔT‘þó\o‘'Do:‘•ô¹There–“should“bšMÞe“an“Ï[@*]Ž‘+ιform“whic²!h“rep˜eats“the“set“of“transformations“applied“to“the“lastŽ¡ob‘›»ject–Mwhic²!h“has“bšMÞeen“transformed,‘^òp˜ossibly“in“an“earlier“diagram.‘ÀAlso“an“Ï[@=Ž‘ŒÇh¹wš²!ordÇiÏ]Ž‘ ¿¹form“allo˜wingŽ¡a–¦fset“of“transformations“to“bšMÞe“sa•²!v“ed–¦fand“used“later,“simply“b²!y“sp˜ecifying“Ï[Ž‘ fÇh¹w²!ordÇiÏ]Ž‘¿ª¹.ŽŸƒ9‘Eac•²!h›tösuccessiv“e˜transformation˜acts˜upMÞon˜the˜result˜of˜all˜previous.‘IOne˜consequence˜of˜this˜isŽ¡that–Øthe“order“of“the“shapšMÞe“mo˜di ers“can“makš²!e“a“signi can˜t“di erence“in“appMÞearance|in“general,Ž¡transformations–,#do“not“comm•²!ute.‘µEv“en›,#successiv“e˜rotations˜can˜giv“e˜di eren“t˜sized˜rectangles˜if˜tak“enŽ¡in–¦fthe“rev²!erse“order.Ž¡‘Sometimes–$-this“cš²!hange“of“size“is“not“desirable.‘W1The“follo˜wing“commands“are“pro˜vided“to“moMÞdifyŽ¡this‘¦fbMÞeha²!viour.ŽŸ #B‰ffã²dŸ yë‘S±ÐÏ\NoResizingŽŽ’ž'b¹prev•²!en“ts–¦fsize“adjustmen²!tŽŽŽŽ¡‘S±ÐÏ\UseResizingŽŽ’ž'b¹restores–¦fsize“adjustmen²!tsŽŽŽŽ¦‰ffã²dŸ ¼Ü©PˆÃ120Ž‘Ï\xydef@\NoResizing{\xyNoResizing@}ŽŽ¡Ã121Ž‘Ï\xydef@\UseResizing{\xyUseResizing@}ŽŽ¦Ã123Ž‘Ï\xydef@\xyNoResizing@{%ŽŽ¡Ã124Ž‘¿ªÏ\global\let\origxyrescale@=\xyrescale@ŽŽŽŽŒ‹å-Z Á à ý*tj‘ãŒÑ2.5.‘„CR²!OT–ÿeA“TE–¦fAND“SCALE“EXTENSION’Œ|¹229ŽŽ ¶?? ýh«w‘ãŒÃ125Ž‘ûKÃÏ\global\let\origxyrotSizeMod@=\xyrotateSizeMod@ŽŽ¤ ™š‘ãŒÃ126Ž‘ûKÃÏ\global\let\xyNoResizing@=\xyNoResizing@@ŽŽ¡‘ãŒÃ127Ž‘ûKÃÏ\global\let\xyUseResizing@=\xyUseResizing@@ŽŽ¡‘ãŒÃ128Ž‘ûKÃÏ\xyNoResizing@@‘¿ª}ŽŽ©Pˆ‘ãŒÃ130Ž‘õŒÏ\xydef@\xyNoResizing@@{%ŽŽ¡‘ãŒÃ131Ž‘ûKÃÏ\global\let\xyrescale@=\xyignorescale@ŽŽ¡‘ãŒÃ132Ž‘ûKÃÏ\global\let\xyrotateSizeMod@=\xyignoreSizeMod@ŽŽ¡‘ãŒÃ133Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ135Ž‘õŒÏ\xylet@\xyUseResizing@=\relaxŽŽ¡‘ãŒÃ136Ž‘õŒÏ\xydef@\xyUseResizing@@{%ŽŽ¡‘ãŒÃ137Ž‘ûKÃÏ\global\let\xyrescale@=\origxyrescale@ŽŽ¡‘ãŒÃ138Ž‘ûKÃÏ\global\let\xyrotateSizeMod@=\origxyrotSizeMod@ŽŽ¡‘ãŒÃ139Ž‘ûKÃÏ}ŽŽŸ ¦‘㌹The‘K“Ï\NoResizingŽ‘EÓt¹command–K“is“also“useful“to“ha•²!v“e–K“at“the“bšMÞeginning“of“a“do˜cumen²!t“b˜eing“t²!yp˜eset“usingŽ¡‘ãŒa–uLdrivš²!er“that“cannot“suppMÞort“scaling“e ects,‘©in“particular“when“applied“to“whole“diagrams.‘JIn“an˜yŽ¡‘ãŒcase–!¹.‘Ò)An–ƒJimplemenš²!tation“m˜ust“de ne“macros“whic˜hŽ¡‘ãŒare–+„to“bšMÞe“b˜ound“to“the“conš²!trol“sequence“names“Ï\preXYtransform@Ž‘dQ¨¹and“Ï\postXYtransform@Ž‘eåι,‘LÌwhic˜hŽ¡‘ãŒare–¦fprepšMÞended“and“app˜ended“to“the“Ï\Drop@@Ž‘/Šr¹and“ÏConnect@@Ž‘; ƹmetho˜ds“for“the“curren²!t“Çh¹ob‘›»jectÇi¹.ŽŸV¸‘ôŒAlso‘%ÉÏ\Drop@@Ž‘0‰8¹and‘%ÉÏ\Connect@@Ž‘AÈ6¹m²!ust–%ÉbšMÞe“mo˜di ed,‘E¡if“this“has“not“already“b˜een“done“as“indicatedŽ¡‘ãŒb•²!y‘¦fÏ\xy@transform@Ž‘Wȹha“ving–¦fexpansion“Ï\relaxŽ‘&$b¹.ަ‘ãŒÃ185Ž‘õŒÏ\xydef@\preXYtransform@{}ŽŽ¡‘ãŒÃ186Ž‘õŒÏ\xydef@\postXYtransform@{}ŽŽ¦‘ãŒÃ188Ž‘õŒÏ\xywarnifdefined\preXYtransform@@ŽŽ¡‘ãŒÃ189Ž‘õŒÏ\xywarnifdefined\postXYtransform@@ŽŽ¡‘ãŒÃ190Ž‘ûKÃÏ\gdef\preXYtransform@@{}ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\gdef\postXYtransform@@{}ŽŽ¡‘ãŒÃ192Ž‘õŒÏ\xydef@\xy@transform@{}ŽŽ¡‘ãŒÃ193Ž‘õŒÏ\xydef@\preShape@@{}ŽŽ¡‘ãŒÃ194Ž‘õŒÏ\xydef@\postShape@@{}ŽŽŸ ¦‘ôŒ¹The–3transformations“mš²!ust“bMÞe“implemen˜ted“b˜y“em˜ulating“the“adjoin˜t“coMÞordinate“transformations.Ž¡‘ãŒThis–Rñrequires“that“cošMÞde“b˜e“added“to“ÏpreXYtransform@@Ž‘d ‚¹in“rev²!erse“order“to“the“order“of“o˜ccurrenceŽŽŽŒ‹æ<ò Á à ý*tj‘㌹230’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘㌹of–-the“Çh¹shapšMÞeÇi“¹mo˜di ers.‘qñThe“co˜de“is“added“to“Ï\postXYtransform@@Ž‘oÔ"¹in“natural“order,‘NÃso“that“eac²!hޤ ™š‘ãŒaddition–¦fto“Ï\preXYtransform@@Ž‘i¹can“bMÞe“closed“o ,“if“necessary‘ÿe,“in“a“correctly“nested“sequence.Ž©Pˆ‘ãŒÃ205Ž‘õŒÏ\xydef@\modXYtransform@{%ŽŽ¡‘ãŒÃ206Ž‘ûKÃÏ\ifx\xy@transform@\emptyŽŽ¡‘ãŒÃ207Ž‘ mÏ\transformDrop@\transformConnect@\resetTransform@\fiŽŽ¡‘ãŒÃ208Ž‘õŒÏ%\show\preShape@@ŽŽ¡‘ãŒÃ209Ž‘ûKÃÏ\DN@##1{\expandafter\def\expandafter\tmp@\expandafter{##1}}%ŽŽ¡‘ãŒÃ210Ž‘ mÏ\expandafter\next@\expandafter{\preShape@@}%ŽŽ¡‘ãŒÃ211Ž‘ mÏ\DN@##1{\expandafter\gdef\expandafter\preXYtransform@@\expandafter{%ŽŽ¡‘ãŒÃ212Ž‘ËÏ\tmp@‘¿ª##1}}\expandafter\next@\expandafter{\preXYtransform@@}%ŽŽ¡‘ãŒÃ213Ž‘ûKÃÏ\DN@##1{\expandafter\def\expandafter\tmp@\expandafter{##1}}%ŽŽ¡‘ãŒÃ214Ž‘ mÏ\expandafter\next@\expandafter{\postShape@@}%ŽŽ¡‘ãŒÃ215Ž‘ mÏ\DN@##1{\expandafter\gdef\expandafter\postXYtransform@@\expandafter{%ŽŽ¡‘ãŒÃ216Ž‘ËÏ\postXYtransform@@‘¿ª##1}}\expandafter\next@\expandafter{\tmp@}}%ŽŽ¦‘ãŒÃ218Ž‘õŒÏ\xydef@\transformDrop@{\let\xy@transform@=\relaxŽŽ¡‘ãŒÃ219Ž‘ûKÃÏ\expandafter\def\expandafter\Drop@@\expandafter{%ŽŽ¡‘ãŒÃ220Ž‘ûKÃÏ\expandafter\preXYtransform@\Drop@@\postXYtransform@}}ŽŽ¦‘ãŒÃ222Ž‘õŒÏ\xydef@\transformConnect@{\let\xy@transform@=\relaxŽŽ¡‘ãŒÃ223Ž‘ûKÃÏ\expandafter\def\expandafter\Connect@@\expandafter{%ŽŽ¡‘ãŒÃ224Ž‘ûKÃÏ\expandafter\preXYtransform@\Connect@@\postXYtransform@}}ŽŽ¦‘ãŒÃ226Ž‘õŒÏ\xydef@\resetTransform@{\gdef\preXYtransform@@{}\gdef\postXYtransform@@{}}ŽŽŸ±L‘ôŒÔBug:‘µ¾¹The–V'reference“pšMÞoin²!t“do˜es“not“mo•²!v“e–V'correctly“in“ÕPostScript“¹when“a“shift“mo˜di er“has“b˜eenŽ¡‘ãŒapplied–¦fbšMÞefore“a“rotation.‘ÝÝThe“ob‘›»ject“prin²!ts“outside“of“its“b˜ounding“Ï\rectangleEdgeŽ‘T!²¹.‘ÝÝFix“this!!Ž© ú^‘ôŒGlobal–ü×macros“are“used,‘Àso“that“the“same“stš²!yles“can“bMÞe“reused“b˜y“successiv˜e“ob‘›»jects“without“ha˜vingŽ¡‘ãŒto–¦fre-in²!terpret“Çh¹shapšMÞeÇi“¹mo˜di ers,“as“describ˜ed“next.ŽŸ‘ãŒÔSa¦tving‘Ù}transformations‘ ó5¹Once–7spšMÞeci ed“for“an“Çh¹ob‘›»jectÇi¹,‘[Úthe“collection“of“transformations“can“b˜eŽ¡‘ãŒassigned–î¨a“name,‘¸via“Ï[>Ž‘müÇh¹nameÇiÏ]Ž‘¿ª¹.‘¶£The“Çh¹nameÇi“¹here“is“anš²!y“collection“of“letters“or“other“c˜haracters“upŽ¡‘ãŒto–dthe“closing“Ï]Ž‘ $7¹.‘SSubsequen²!t“use“of“Ï[>Ž‘ãáÇh¹nameÇiÏ]Ž‘¿ª¹,›”with“the“same“or“other“Çh¹ob‘›»jectsÇi¹s,˜will“re-establishŽ¡‘ãŒthe›µãsa•²!v“ed˜transformations,‘¹Âacting˜on˜the˜new˜Çh¹ob‘›»jectÇi˜¹with˜initial˜reference˜pMÞoin“t˜appropriate˜to˜thisŽ¡‘ãŒÇh¹ob‘›»jectÇi¹.ަ‘ôŒÔNote:‘>š¹Sucš²!h–VÄnamings“are“global“and“pMÞermanen˜t.‘îøThey“are“in˜tended“to“allo˜w“a“particular“set“ofŽ¡‘ãŒtransformations–Kto“bšMÞe“easily“rep˜eated“for“di eren²!t“ob‘›»jects“inside“v‘ÿdDarious“pictures“and“diagrams“withinŽ¡‘ãŒthe–¦fsame“doMÞcumen²!t.Ž©Pˆ‘ãŒÃ255Ž‘õŒÏ\xydef@\xynametransform@#1{%ŽŽ¡‘ãŒÃ256Ž‘ûKÃÏ\DN@{\expandafter\gdef\expandafter#1\expandafter{\the\toks@}}\next@‘¿ª}ŽŽŸ#Ì‘ãŒÔScaling–Žtand“Scaled“T‘þó\ext‘ ó5¹The–öPÇh¹shapšMÞeÇi“¹mo˜di er“can“con²!tain“either“a“single“scale“factor,‘ Kor“a“pairŽ¡‘ãŒindicating–ßKdi erenš²!t“factors“in“the“Äx¹-“and“Äyd“¹-directions.‘›Negativ˜e“v‘ÿdDalues“are“allo˜w˜ed,‘to“obtain“re ectionsŽ¡‘ãŒin–¦fthe“coMÞordinate“axes,“but“not“zero.ަ‘ãŒÃ269Ž‘õŒÏ\xydef@\xyscalechar@#1@@{\xyscalechars@#1,#1,@@}ŽŽ¦‘ãŒÃ271Ž‘õŒÏ\xydef@\xyscalechars@#1,#2,#3@@{%ŽŽ¡‘ãŒÃ272Ž‘ûKÃÏ\DN@{\xyrescale@(#1,#2)}%ŽŽ¡‘ãŒÃ273Ž‘ûKÃÏ\dimen@=#1\p@ŽŽ¡‘ãŒÃ274Ž‘ûKÃÏ\ifdim\dimen@>\z@–¿ª\else“\ifdim\dimen@<\z@“\elseŽŽ¡‘ãŒÃ275Ž‘ mÏ\DN@{\xywarning@{invalid–¿ªscaling“factors“#1,“#2}}%ŽŽŽŽŒ‹çJ8 Á à ý*tj‘ãŒÑ2.5.‘„CR²!OT–ÿeA“TE–¦fAND“SCALE“EXTENSION’Œ|¹231ŽŽ ¶?? ýh«w‘ãŒÃ276Ž‘ûKÃÏ\fi\fi‘ T\dimen@=#2\p@ŽŽ¤ ™š‘ãŒÃ277Ž‘ûKÃÏ\ifdim\dimen@>\z@–¿ª\else“\ifdim\dimen@<\z@“\elseŽŽ¡‘ãŒÃ278Ž‘ mÏ\DN@{\xywarning@{invalid–¿ªscaling“factors“#1,“#2“}}%ŽŽ¡‘ãŒÃ279Ž‘ûKÃÏ\fi\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ281Ž‘õŒÏ\xydef@\xyrescale@(#1,#2){%ŽŽ¡‘ãŒÃ282Ž‘ûKÃÏ\setboxz@h{\xyscale@@{#1}{#2}%ŽŽ¡‘ãŒÃ283Ž‘ mÏ\dimen@=\ifx-#1\R@c\advance\dimen@-\R@c‘¿ª\dimen@=-\dimen@ŽŽ¡‘ãŒÃ284Ž‘ mÏ\else#1\L@c‘¿ª\advance\dimen@-\L@c\fiŽŽ¡‘ãŒÃ285Ž‘ûKÃÏ\kern\dimen@\boxz@\kern-\dimen@}%ŽŽ¡‘ãŒÃ286Ž‘ûKÃÏ\R@c=\if-#1\L@c\else#1\R@c\fiŽŽ¡‘ãŒÃ287Ž‘ûKÃÏ\L@c=\if-#1\R@c\else#1\L@c\fiŽŽ¡‘ãŒÃ288Ž‘ûKÃÏ\U@c=\if-#2\D@c\else#2\U@c\fiŽŽ¡‘ãŒÃ289Ž‘ûKÃÏ\D@c=\if-#2\U@c\else#2\D@c\fi‘¿ª}ŽŽ¦‘ãŒÃ291Ž‘õŒÏ\xydef@\xyignorescale@(#1,#2){\xywarning@{Ignoring–¿ªrescale:“#1,#2}%ŽŽ¡‘ãŒÃ292Ž‘ûKÃÏ\setboxz@h{\xyscale@@{#1}{#2}\boxz@}}%ŽŽŸ²Ý‘ôŒ¹Some–¦fparticular“scalings.ަ‘ãŒÃ300Ž‘õŒÏ\xydef@\xyshape@halfsize@{\xyrescale@(.5,.5)}ŽŽ¡‘ãŒÃ301Ž‘õŒÏ\xydef@\xyshape@dblsize@{\xyrescale@(2,2)}ŽŽ¡‘ãŒÃ302Ž‘õŒÏ\xydef@\xyshape@flip@{\xyrescale@(-1,-1)}ŽŽ¡‘ãŒÃ303Ž‘õŒÏ\xydef@\xyshape@vflip@{\xyrescale@(1,-1)}ŽŽ¡‘ãŒÃ304Ž‘õŒÏ\xydef@\xyshape@hflip@{\xyrescale@(-1,1)}ŽŽŸ/BÖ‘ãŒÔRotation– “and“Rotated“T‘þó\ext‘ ó5¹Within‘†>Ï[@...]Ž‘)Šx¹the‘†>Ï...Ž‘Kz¹are–†>parsed“as“a“Çh¹directionÇi“¹loMÞcally‘ÿe,‘Œ­based“onŽ¡‘ãŒthe–»àcurrenš²!t“direction.‘JThe“v‘ÿdDalue“of“coun˜t“register“Ï\DirectionŽ‘@ôd¹con˜tains“the“information“to“determineŽ¡‘ãŒthe––Örequested“direction.‘Ø­When“no“Çh¹directionÇi“¹is“parsed“then“Ï[@]Ž‘lª¹requests“a“rotation“to“align“with“theŽ¡‘ãŒcurren²!t‘¦fdirection.ŽŸûï‘ôŒThe–.1spMÞecial“sequence“Ï[@!...]Ž‘0š¹is“proš²!vided“to“pass“an“angle“directly“to“the“bac˜k-end.‘u=The‘ÛX‘ü·ŸâÃYŽŽ‘•;-picŽ¡‘ãŒsize–V and“shapMÞe“of“the“Çh¹ob‘›»jectÇi“¹with“Ï\rectangleEdgeŽ‘W(Œ¹is“unc•²!hanged,‘f•ev“en–V though“the“prinš²!ted“form“ma˜yŽ¡‘ãŒappšMÞear–¸ürotated.‘žThis“is“a“feature“that“m²!ust“b˜e“implemen²!ted“sp˜ecially“bš²!y“the“bac˜k-end.‘žF‘ÿeor“example,Ž¡‘ãŒusing–®pthe“ÕPostScript“¹bacš²!k-end,‘°sÏ[@!45]Ž‘)Üß¹will“sho˜w“the“ob‘›»ject“rotated“b˜y“45Ÿü¾ÈŽ‘nt¹inside“a“bMÞo˜x“of“the“sizeŽ¡‘ãŒof–¦fthe“unrotated“ob‘›»ject.ަ‘ãŒÃ325Ž‘õŒÏ\xydef@\xyrotatechar@{\bgroupŽŽ¡‘ãŒÃ326Ž‘ûKÃÏ\afterDIRECTIONorEMPTY{\xyrotateSizeMod@}{\xyFN@\xySpecialRotate@i}}ŽŽ¦‘ãŒÃ328Ž‘õŒÏ\xydef@\xySpecialRotate@i{%ŽŽ¡‘ãŒÃ329Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xySpecialRotate@i}%ŽŽ¡‘ãŒÃ330Ž‘ûKÃÏ\else\ifx–¿ª@\next“\let\next@=\xyrotateSizeMod@ŽŽ¡‘ãŒÃ331Ž‘ûKÃÏ\else\addEQ@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ332Ž‘ mÏ\addEQ@\DN@##1@@{%\transformDrop@ŽŽ¡‘ãŒÃ333Ž‘ËÏ\expandafter\xynametransform@\csname–¿ªshape“[##1]\endcsname\egroup}%ŽŽ¡‘ãŒÃ334Ž‘ûKÃÏ\else\ifx–¿ª!\next“\DN@!{\egroup\getSpecialRotate@}%ŽŽ¡‘ãŒÃ335Ž‘ûKÃÏ\else\ifx–¿ª*\next“\DN@*@@{\egroup\transformDrop@}%ŽŽ¡‘ãŒÃ336Ž‘ûKÃÏ\else‘¿ª\DN@{\xySpecialRotate@@}%ŽŽ¡‘ãŒÃ337Ž‘ûKÃÏ\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ339Ž‘õŒÏ\xydef@\getSpecialRotate@{\doSpecialRotate@@}ŽŽŸ²Ý‘ôŒÔT‘þó\o‘2Do:‘ÝݹPro²!vide–¦fexample“of“repMÞeated,“named“transformation.ŽŽŽŒ‹èYE Á à ý*tj‘㌹232’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÔInstallation‘ ó5¹Initially–Gthere“is“no“suppšMÞort“for“the“actual“e ects.‘ÁƒThey“will“b˜e“pro˜cessed“accordingޤ ™š‘ãŒto–È_size/shapMÞe“requiremenš²!ts,‘Ýbut“the“actual“rotation“or“re-sizing“is“ommitted.‘CÈA‘ÈÇh¹driv˜erÇi“¹ le“is“re-Ž¡‘ãŒquired–jLto“implemenš²!t“the“e ects.‘)It“need“to“de ne“alternativ˜e“expansions“to“whic˜h“Ï\xyRotate@@#1Ž‘O%î¹,Ž¡‘ãŒÏ\xySpecialRotate@@#1@@Ž‘bµ¹,‘¦fÏ\doSpecialRotate@@#1@@Ž’…Åh¹and‘¦fÏ\xyscale@@#1#2Ž‘Wȹcan–¦fbšMÞe“b˜ound.Ž©Pˆ‘ãŒÃ357Ž‘õŒÏ\xydef@\xyRotate@#1{\xyundefinedRotate@{rotate}{#1}@@}ŽŽ¡‘ãŒÃ358Ž‘õŒÏ\xydef@\xySpecialRotate@#1@@{\xyundefinedRotate@{rotate}{#1}@@\egroup}ŽŽ¡‘ãŒÃ359Ž‘õŒÏ\xydef@\doSpecialRotate@#1@@{\xyundefinedRotate@{special‘¿ªrotate}{#1}@@}ŽŽ¡‘ãŒÃ360Ž‘õŒÏ\xydef@\xyscale@#1#2{\xyundefinedRotate@{scale}{#1,#2}@@}ŽŽ¦‘ãŒÃ362Ž‘õŒÏ\xydef@\UnloadRotate@#1{%ŽŽ¡‘ãŒÃ363Ž‘ûKÃÏ\ifx#1\relax\else\xyunload@{rotation‘¿ªextension}\fiŽŽ¡‘ãŒÃ364Ž‘ûKÃÏ\let\xyRotate@@=\xyRotate@ŽŽ¡‘ãŒÃ365Ž‘ûKÃÏ\let\xySpecialRotate@@=\xySpecialRotate@ŽŽ¡‘ãŒÃ366Ž‘ûKÃÏ\let\doSpecialRotate@@=\doSpecialRotate@ŽŽ¡‘ãŒÃ367Ž‘ûKÃÏ\let\xyscale@@=\xyscale@‘¿ª}ŽŽ¦‘ãŒÃ369Ž‘õŒÏ\UnloadRotate@\relaxŽŽ¦‘ãŒÃ371Ž‘õŒÏ\xyaddunsupport{rotate}{\UnloadRotate@\relax}ŽŽŸÉ‘ôŒ¹This–¦fadjusts“the“sizes“of“Ï\L@cŽ›¥¹,“Ï\R@cŽ˜¹,“Ï\U@cŽ›Kt¹and“Ï\D@cŽ˜¹appropriately‘ÿe.ަ‘ãŒÃ379Ž‘õŒÏ\xydef@\xyrotateSizeMod@‘¿ª@@{%ŽŽ¡‘ãŒÃ380Ž‘ûKÃÏ\L@p=\L@c–¿ª\R@p=\R@c“\U@p=\U@c“\D@p=\D@cŽŽ¡‘ãŒÃ381Ž‘ûKÃÏ\ifdim\cosDirection\p@>\z@ŽŽ¡‘ãŒÃ382Ž‘ mÏ\R@c=\cosDirection\R@p‘ T\L@c=\cosDirection\L@pŽŽ¡‘ãŒÃ383Ž‘ mÏ\U@c=\cosDirection\U@p‘ T\D@c=\cosDirection\D@pŽŽ¡‘ãŒÃ384Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ385Ž‘ mÏ\R@c=\cosDirection\L@p‘ T\L@c=\cosDirection\R@pŽŽ¡‘ãŒÃ386Ž‘ mÏ\U@c=\cosDirection\D@p‘ T\D@c=\cosDirection\U@pŽŽ¡‘ãŒÃ387Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ388Ž‘ mÏ\advance\L@c‘¿ª\if-\sinDirection\D@p\else\sinDirection\U@p\fiŽŽ¡‘ãŒÃ389Ž‘ mÏ\advance\R@c‘¿ª\if-\sinDirection\U@p\else\sinDirection\D@p\fiŽŽ¡‘ãŒÃ390Ž‘ mÏ\advance\U@c‘¿ª\if-\sinDirection\L@p\else\sinDirection\R@p\fiŽŽ¡‘ãŒÃ391Ž‘ mÏ\advance\D@c‘¿ª\if-\sinDirection\R@p\else\sinDirection\L@p\fiŽŽ¡‘ãŒÃ392Ž‘ mÏ\dimen@ii=\L@c‘¿ª\advance\dimen@ii-\L@pŽŽ¡‘ãŒÃ393Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\L@c=\the\L@c“\R@c=\the\R@c“\U@c=\the\U@c“\D@c=\the\D@cŽŽ¡‘ãŒÃ394Ž‘ mÏ\dimen@ii=\the\dimen@ii‘¿ª\noexpand\setboxz@h\bgroupŽŽ¡‘ãŒÃ395Ž‘ mÏ\noexpand\xyRotate@@{\the\Direction}}\tmp@ŽŽ¡‘ãŒÃ396Ž‘ mÏ\xydropRotated@‘¿ª}ŽŽ¦‘ãŒÃ398Ž‘õŒÏ\xydef@\xydropRotated@@{%ŽŽ¡‘ãŒÃ399Ž‘ûKÃÏ\kern\dimen@ii–¿ª\boxz@“\kern-\dimen@ii“\modXYtransform@“\egroup“}ŽŽ¡‘ãŒÃ400Ž‘õŒÏ\xylet@\xydropRotated@=\xydropRotated@@ŽŽ¦‘ãŒÃ402Ž‘õŒÏ\xydef@\xyignoreSizeMod@–¿ª@@{\xywarning@{Ignoring“rotation}}ŽŽŸÉ‘ôŒ¹Some–¦fparticular“rotations.ަ‘ãŒÃ408Ž‘õŒÏ\xydef@\xyshape@left@{\xyrotatechar@‘¿ªv(0,1)@@}ŽŽ¡‘ãŒÃ409Ž‘õŒÏ\xydef@\xyshape@right@{\xyrotatechar@‘¿ªv(0,-1)@@}ŽŽŸ* à‘ãŒÔRe ections‘ ó5¹Re ections–Á#can“bšMÞe“sp˜eci ed“bš²!y“a“com˜bination“of“rotation“and“a“ ip“|“either“Ï[hflip]ŽŽ¡‘㌹or‘¦fÏ[vflip]Ž‘+ä ¹.ŽŽŽŒ‹éf3 Á à ý*tj‘ãŒÑ2.5.‘„CR²!OT–ÿeA“TE–¦fAND“SCALE“EXTENSION’Œ|¹233ŽŽ ¶?? þ%U ÿ8V` §nõ‘;¹ïps: SDict begin xyc end‘"Ÿýh0ïps: SDict begin xyp endŽ‘mŸýY»ï1ps: SDict begin {pu xyct 1.25 1.25 xyss }xyg endŸ½ÂÄAŽŽŽŽ’4mŸ‘îJBŽŽŽŽ‘3ïcolor push rgb 1. 0. 0.ï-ps: SDict begin {pu {1. 0. 0. rgb}cc}xyg end‘âÄŸý:ïps: SDict begin xyp endŽ‘ ¡žQ¹ï0ps: SDict begin {pu xyct 1434 xyd xyrs }xyg endÇ~Ž‘„Fïps: SDict begin { pp}xyf endŽŽŽŽŽŽïps: SDict begin { pp}xyf endï color popïcolor push Plum ï%ps: SDict begin {pu {Plum}cc}xyg end’ŠŸ’8jïps: SDict begin xyp endŽ’G÷Ÿ•Pï0ps: SDict begin {pu xyct 1434 xyd xyrs }xyg end|Ž‘„Fïps: SDict begin { pp}xyf endŽŽŽŽŽŽïps: SDict begin { pp}xyf endï color popï$ps: SDict begin {pu 1.0 lw}xyg end’&RŸ’Èîï" {263.9476 105.50113 l}xyŽŽŽïps: SDict begin { pp}xyf end‘Ùɟ⎋ïps: SDict begin xyp endŽ‘ áȟ⎋ï1ps: SDict begin {pu xyct -3072 xyd xyrs }xyg endŸÍU¹labMÞel‘¦f1ŽŽŽŽŽŽ‘ðïps: SDict begin { pp}xyf endŽŽŽŽŽŽïcolor push rgb 1. 0. 0.ŸÒ–Š‘òÛž™„3232ŽŽŽ‘j¶‘ÿúž™„3232ŽŽ‘wÖ‘ÿúž™„3232ŽŽ‘wÆž™„3232ŽŽŽŸõ"‘ÙBŸâ\ ™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘!§Ÿâ\ ™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘òÛž™„3232ŽŽ‘j¶‘ÿúž™„3232ŽŽ‘wÖ‘ÿúž™„3232ŽŽ‘wÆž™„3232ŽŽŽŽŽï color popï€ps: SDict begin {pu gsave newpath xyXpos xyYpos moveto 50 dup rlineto 20 setlinewidth 0 0 1 setrgbcolor stroke grestore}xyg end‘Ÿ²R™ïps: SDict begin xyp endŽ’²FŸ²R™ï,ps: SDict begin {pu xyct -1 1 xyss }xyg endŸÍU¹labMÞel‘¦f6ŽŽŽŽŽŽ‘ðïps: SDict begin { pp}xyf endŽŽŽŽŽŽïcolor push rgb 1. 0. 0.Ÿ®…D’²,}ž™„3232ŽŽŽ’³pÙ‘ÿúž™„3232ŽŽ–DY‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘DGž™„3232ŽŽŽŸŸÊ’²äŸû 󙞙„3232ŽŽŸy‹™ž™„3232ŽŽŽ’Ò6Ÿû 󙞙„3232ŽŽŸy‹™ž™„3232ŽŽŽŽž32’²,}ž™„3232ŽŽ’³pÙ‘ÿúž™„3232ŽŽ–DY‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘DGž™„3232ŽŽŽŽŽï color pop’ÝqŸ§Ÿïps: SDict begin xyp endŽ’Í pŸ§Ÿï,ps: SDict begin {pu xyct 1 -1 xyss }xyg endŸÍUlabMÞel‘¦f7ŽŽŽŽŽŽ‘ðïps: SDict begin { pp}xyf endŽŽŽŽŽŽïcolor push rgb 1. 0. 0.Ÿ£Ñ¼’Ìðמ™„3232ŽŽŽ’Î53‘ÿúž™„3232ŽŽ–DY‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘DGž™„3232ŽŽŽŸŸÊ’Ì×>Ÿû 󙞙„3232ŽŽŸy‹™ž™„3232ŽŽŽ’ìúsŸû 󙞙„3232ŽŽŸy‹™ž™„3232ŽŽŽŽž32’Ìðמ™„3232ŽŽ’Î53‘ÿúž™„3232ŽŽ–DY‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘DGž™„3232ŽŽŽŽŽï color pop’û“ŸŒóòïps: SDict begin xyp endŽ’ë›ŸŒóòï0ps: SDict begin {pu xyct 1024 xyd xyrs }xyg endŸÍUlabMÞel‘¦f8ŽŽŽŽŽŽ‘ðïps: SDict begin { pp}xyf endŽŽŽŽŽŽïcolor push rgb 1. 0. 0. ÿ|ûñ’÷¬&ž™„3232ŽŽŽ’ù$‘ÿúž™„3232ŽŽ‘wÖ‘ÿúž™„3232ŽŽ‘wÆž™„3232ŽŽŽŸõ"’÷’Ÿâ\ ™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ÿ`jŸâ\ ™ž™„3232ŽŽ¤™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32’÷¬&ž™„3232ŽŽ’ù$‘ÿúž™„3232ŽŽ‘wÖ‘ÿúž™„3232ŽŽ‘wÆž™„3232ŽŽŽŽŽï color pop’šÊŸã„ßïps: SDict begin xyp endŽ‘[òÍŸã„ßï5ps: SDict begin {pu xyct .66667 .66667 xyss }xyg end‘< òïps: SDict begin xyp endŽ‘ý6­ï0ps: SDict begin {pu xyct 3481 xyd xyrs }xyg endŸ¼ÍspMÞecial–¦fe ect:‘ÝÝaligned“textŽŽŽŽŽŽ‘}®‹ïps: SDict begin { pp}xyf endŽŽŽ‘}®‹ïps: SDict begin { pp}xyf endŽŽŽŽŽŽïcolor push rgb 1. 0. 0.ŸÐ´ä‘oÖž™„3232ŽŽŽ‘q‘ÿúž™„3232ŽŽ–7ý‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘7ïž™„3232ŽŽŽŸ%¶‘o¼€ŸÜµë™ž™„3232ŽŽ¤k™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ’ÀsŸÜµë™ž™„3232ŽŽ¤k™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘oÖž™„3232ŽŽ‘q‘ÿúž™„3232ŽŽ–7ý‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘7ïž™„3232ŽŽŽŽŽï color popŽŽŽ’%Qïps: SDict begin { pp}xyf endŽŽŽŽŽŽŽŽŽŽŸš‘v öFigure–¦f2.4:‘ÝÝRotations,“scalings“and“ ipsŽŽŽŸ<ü‘ãŒÃ424Ž‘õŒÏ\xydef@\xyshearchar@{\xyundefinedRotate@{shearing}}ŽŽŸo‘ãŒÔShear–“transformations‘ —©T‘þó\o“Do:‘Bø¹Proš²!vide–Øóthe“structure“to“suppMÞort“these;‘r:then“implemen˜t“it“inޤ ™š‘ãŒÕPostScript¹.ŽŸ ¸‘ôŒThe–¦ffollo²!wing“diagram“requires“v‘ÿdDarious“options“to“bMÞe“loaded“and“installed.Ž©š`‘ãŒÔExample‘ ó5¹The–Á×diagram“in“ gure“2.4“illustrates“man²!y“of“the“e ects“describšMÞed“ab˜o•²!v“e–Á×as“w²!ell“as“someŽ¡‘ãŒadditional–¦fones“de ned“b²!y“the“ÏcolorŽ‘$ ¹and“ÏrotateŽ‘)Êȹextensions.ަ‘ãŒÔExercise‘22.7:‘ ó5¹Suggest–¦fthe“coMÞde“used“bš²!y“the“author“to“t˜ypMÞeset“2.4.Ž© ¸‘ôŒThe–¿ actual“coMÞde“is“giv²!en“in“the“solution“to“the“exercise.‘)‹Use“it“as“a“test“of“the“capabilities“ofŽ¡‘ãŒy•²!our›A9D“VI-driv“er.‘¼#The˜labMÞels˜should˜ t˜sn“ugly˜inside˜the˜accompan“ying˜rectangles,‘Uurotated˜and˜ ippMÞedŽ¡‘ãŒappropriately‘ÿe.ަ‘ôŒÔBug:‘ݹThis–¤¹ gure“also“uses“colours,‘¥alters“line-thicš²!kness“and“includes“some“ÕPostScript“¹dra˜wing.Ž¡‘ãŒThe–òUcolours“maš²!y“prin˜t“as“shades“of“gra˜y‘ÿe,‘Qwith“the“line“from“ÄA“¹to“ÄB‘~ù¹bMÞeing“thic˜k˜er“than“normal.‘ÁªTheŽ¡‘ãŒwider–/band“sloping“do•²!wn“w“ards›/ma“y˜ha“v“e˜di eren“t˜width˜and˜length˜according˜to˜the˜D“VI-driv“er˜used;Ž¡‘ãŒthis–¦fdepšMÞends“on“the“co˜ordinate“system“used“bš²!y“the“driv˜er,“when“`ra˜w'“ÕPostScript“¹coMÞde“is“included.ŽŸš`‘ãŒÔThe–2end“&“LogޤPˆ‘ãŒÃ497Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ499Ž‘õŒÏ%–¿ª$Log:“xyrotate.doc,v“$ŽŽ¤ ™š‘ãŒÃ500Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:40:16“rossŽŽ¡‘ãŒÃ501Ž‘õŒÏ%–¿ªno“changesŽŽ¡‘ãŒÃ502Ž‘õŒÏ%ŽŽ¡‘ãŒÃ503Ž‘õŒÏ%–¿ªRevision“3.2› T1995/09/19“18:21:41˜rossŽŽ¡‘ãŒÃ504Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ505Ž‘õŒÏ%ŽŽ¡‘ãŒÃ506Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ507Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ508Ž‘õŒÏ%ŽŽ¡‘ãŒÃ509Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ510Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ511Ž‘õŒÏ%ŽŽŽŽŒ‹êrÚ Á à ý*tj‘㌹234’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ512Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¤ ™š‘ãŒÃ513Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ514Ž‘õŒÏ%ŽŽ¡‘ãŒÃ515Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“03:01:14“rossŽŽ¡‘ãŒÃ516Ž‘õŒÏ%–¿ªFinal“3beta“release“[bug“fixes“&“AMS-LaTeX“fitting].ŽŽ¡‘ãŒÃ517Ž‘õŒÏ%ŽŽ¡‘ãŒÃ518Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“06:38:37“rossŽŽ¡‘ãŒÃ519Ž‘õŒÏ%–¿ªsome“documentation“was“left“out“previouslyŽŽ¡‘ãŒÃ520Ž‘õŒÏ%ŽŽ¡‘ãŒÃ521Ž‘õŒÏ%–¿ªRevision“2.10– T1994/06/15“12:46:03“rossŽŽ¡‘ãŒÃ522Ž‘õŒÏ%–¿ªSecond“release“3beta.ŽŽ¡‘ãŒÃ523Ž‘õŒÏ%–¿ªColour“and“line“style“saving“works;“label“colouring“bug“fixed.ŽŽ¡‘ãŒÃ524Ž‘õŒÏ%ŽŽ¡‘ãŒÃ525Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:39:49“rossŽŽ¡‘ãŒÃ526Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ527Ž‘õŒÏ%ŽŽ¡‘ãŒÃ528Ž‘õŒÏ%–¿ªNEW“file“to“go“in“version“2.9“by“Ross“Moore.ŽŽŸ-·‘ãŒÝ2.6Ž‘r|Colour‘ffextensionŽŸ‘½‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸÌ1‘㌹This–¦fextension“proš²!vides“the“abilit˜y“to“request“that“an˜y“ob‘›»ject“bMÞe“displa˜y˜ed“in“a“particular“colour.ŽŸ ª,‘ôŒIt–„requires“a“suitable“`drivš²!er'“option“to“pro˜vide“the“necessary“Ï\specialŽ‘6X¹commands“to“implemen˜tŽ¡‘ãŒthe‘¦fe ects.‘ÝÝTh²!usŽŸ­&‘êïps: SDict begin xyc endŸ*ÁŸóôx‘DUsing–¦Mthis“extension“will“ha•²!v“e–¦Mno“e ect“on“the“outputŽŸ ˆ‘>s%unless–¦Mused“with“a“dvi-driv²!er“that“explicitly“suppMÞorts“it.ŽŽŽŽŽŽŽŽŽŽŽŸýh0’Äz¾ï4" {0.0 196.47948 -13.88919 -196.47946 13.88918 ov}xyŽŽŽŽŽŽŽŸ#—±‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xycolor.doc,v“3.3“1996/12/19“03:50:08“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Colour“extension''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽŽŽŒ‹ë«Å Á à ý*tj‘ãŒÑ2.6.‘„CCOLOUR‘¦fEXTENSION’DX¹235ŽŽ ¶?? ýh«w‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¤ ™š‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{color}{Colour–¿ªextension}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸvV‘ôŒ¹All–­e ects“de ned“in“the“ÏcolorŽ‘$`¹extension“can“bMÞe“implemenš²!ted“using“most“ÕPostScript“Çh¹driv˜erÇi¹s,Ž¡‘ãŒand–‘xsome“non-ÕPostScript“¹ones,‘Ìare“t•²!w“o›«>metho•MÞds,‘,sp“erhaps˜used˜sim²!ultaneously‘ÿe,‘,sfor˜handling˜requests˜for˜colour.‘ ìfTheŽ¡Ï\xylocalColor@Ž‘U9¯¹is–¾cthe“normal“methoMÞd,‘bcolouring“whatevš²!er“ob‘›»jects“T‘þ,³Ÿ[wEŽ‘B X“t˜ypMÞesets“from“fon˜ts.‘%ÓTheŽ¡more–§ßspMÞecialized“Ï\xycolor@Ž‘= ¸¹is“used“with“the“ÕPostScript“¹bac²!k-end.‘âGThis“is“necessary“since“someŽ¡Çh¹drivš²!erÇi¹s–ðassume“that“the“curren˜t“colour“should“bMÞe“`blac˜k'“when“the“con˜ten˜ts“of“a“Ï\specialŽ‘5Þj¹is“in˜ter-Ž¡preted,–¦fe.g.‘ÝÝwithin“ÕPostScript¹.ŽŸ ¾‘Thš²!us–´¾a“Çh¹driv˜erÇi“¹whic˜h“suppšMÞorts“b˜oth“colour“and“ÕPostScript“¹m²!ust“de ne“a“metho˜d“to“handleŽ¡Ï\xylocalColor@Ž‘S‰q¹but–%should“lea•²!v“e–%alone“Ï\xycolor@Ž‘6˹.‘«The“latter“methošMÞd“will“b˜e“adjusted“appropriatelyŽ¡when–¦fa“ÕPostScript“Çh¹driv²!erÇi“¹is“installed.ަÃ101Ž‘Ï\xydef@\xyNoColor@#1{}ŽŽ¡Ã102Ž‘Ï\xylet@\xycolor@@=\xyNoColor@ŽŽ¡Ã103Ž‘Ï\xydef@\xyNoColor@@#1#2{\xycolorwarning@}ŽŽ¦Ã105Ž‘Ï\xydef@\xycolor@{\xycolor@@}ŽŽ¡Ã106Ž‘Ï\xylet@\xylocalColor@=\xyNoColor@@ŽŽ¦Ã108Ž‘Ï\xydef@\UnloadColor@{%ŽŽ¡Ã109Ž‘¿ªÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡Ã110Ž‘Ï%‘¿ª\let\xycolor@=\xyNoColor@ŽŽŽŽŒ‹ì·R Á à ý*tj‘㌹236’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ111Ž‘ûKÃÏ\let\xycolor@@=\xyNoColor@ŽŽ¤ ™š‘ãŒÃ112Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@‘¿ª}ŽŽ¡‘ãŒÃ113Ž‘õŒÏ\xylet@\UnloadColor@@=\UnloadColor@ŽŽ©Pˆ‘ãŒÃ115Ž‘õŒÏ\xyaddunsupport{color}{\UnloadColor@@\relax}ŽŽŸ`‘ôŒ¹This–©°next“macro“is“to“inherit“a“default“colour“from“the“surrounding“do•MÞcumen²!t,‘ª‚p“erhaps–©°using“oneŽ¡‘ãŒalready–¦fde ned“b²!y“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X‘¤v2Ÿ¤zÄ"ŽŽ¦‘ãŒÃ122Ž‘õŒÏ\ifx\current@color\undefined‘¿ª\xydef@\xybasecolor@{}%ŽŽ¡‘ãŒÃ123Ž‘õŒÏ\else‘¿ª\def\xybasecolor@{\current@color}\fiŽŽ¦‘ãŒÃ125Ž‘õŒÏ%\xydef@\xycmath@{\hbox\bgroup\dimen@=.55ex–¿ª\checkxycolor@“\xyinside@}ŽŽ¡‘ãŒÃ126Ž‘õŒÏ%\xydef@\xycnomath@{\hbox\bgroup\dimen@=\z@–¿ª\checkxycolor@“\xyinside@}ŽŽ¦‘ãŒÃ128Ž‘õŒÏ%\xydef@\checkxycolor@{\ifx\xybasecolor@\empty\elseŽŽ¡‘ãŒÃ129Ž‘õŒÏ%‘¿ª\expandafter\imposexycolor@\fi}ŽŽ¡‘ãŒÃ130Ž‘õŒÏ%\xydef@\imposexycolor@{\xylocalColor@}ŽŽŸ`‘ôŒ¹A‘DÃcommonly–DÜused“methoMÞd“is“to“mainš²!tain“a“colour-stac˜k.‘½ZThe“follo˜wing“commands“are“for“use“withŽ¡‘ãŒsucš²!h–\xa“setup,‘‰ýho˜w˜ev˜er“they“should“only“bšMÞe“called“from“co˜de“installed“from“a“Çh¹driv•²!erÇi¹- le.‘Di eren“tŽ¡‘ãŒdriv•²!ers›nïma“y˜do˜things˜di eren“tly;‘ÖÂe.g.‘v ÏdvipsŽ‘#£L¹uses˜a˜single˜Ï\specialŽ‘2Û.¹via:‘B"Ï\def\xycolor@push@@#1{\special{color–¿ªpush“#1}}Ž’ ²®¹,Ž¡‘ãŒbut–Ó T‘ÿeextures“uses“t•²!w“o:‘ 7QÏ\xydef@\xycolor@push#1{\special{color–¿ªpush}\special{color“#1}}Ž’m¢}¹.Ž¡‘ãŒSince–Âthe“colour-stacš²!k“idea“w˜as“propMÞosed“b˜y“T‘ÿeomas“Rokic˜ki,the“ÏdvipsŽ‘"BT¹methošMÞd“is“the“default“b˜eha²!viour.ަ‘ãŒÃ143Ž‘õŒÏ\xydef@\xystackcolor@{\bgroup‘¿ª\DN@##1##2{\egroup}%ŽŽ¡‘ãŒÃ144Ž‘ûKÃÏ\ifInvisible@\else\ifHidden@\else\DNii@{\no@@}\ifx\nextii@\Connect@@ŽŽ¡‘ãŒÃ145Ž‘ûKÃÏ\else\DN@{\xystackcolor@i}\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ147Ž‘õŒÏ\xydef@\xystackcolor@i#1#2{\checkXyStyle@ŽŽ¡‘ãŒÃ148Ž‘ûKÃÏ\DN@{#2}\ifx\next@\emptyŽŽ¡‘ãŒÃ149Ž‘ mÏ\def\tmp@##1{\DN@{\xycolor@push{#1}##1\xycolor@pop}}%ŽŽ¡‘ãŒÃ150Ž‘ûKÃÏ\else\def\tmp@##1{\DN@{\xycolor@push{#2‘¿ª#1}##1\xycolor@pop}}\fiŽŽ¡‘ãŒÃ151Ž‘ûKÃÏ\toks@={\egroup–¿ª\let\xy@style@=\relax“\def\Drop@@}%ŽŽ¡‘ãŒÃ152Ž‘ûKÃÏ\expandafter\tmp@\expandafter{\Drop@@}%ŽŽ¡‘ãŒÃ153Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\next@}\def\Connect@@}%ŽŽ¡‘ãŒÃ154Ž‘ mÏ\expandafter\tmp@\expandafter{\Connect@@}%ŽŽ¡‘ãŒÃ155Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\next@}}%ŽŽ¡‘ãŒÃ156Ž‘ûKÃÏ\the\toks@‘¿ª}%ŽŽ¦‘ãŒÃ158Ž‘õŒÏ\xydef@\xycolor@push@@#1{\special{color–¿ªpush“#1}}ŽŽ¡‘ãŒÃ159Ž‘õŒÏ\xydef@\xycolor@pop{\special{color‘¿ªpop}}ŽŽ¡‘ãŒÃ160Ž‘õŒÏ\xylet@\xycolor@push=\xycolor@push@@ŽŽŸ%ü‘ãŒÔNamed–rpcolours“and“colour“moY‹dels‘ ó5¹New–¼colour“names“are“created“with“Ï\newxycolorŽ‘CøÞ¹,‘takingŽ¡‘ãŒt•²!w“o›ÍÇargumen“ts.‘SÿFirstly˜a˜name˜for˜the˜colour˜is˜giv“en,‘ןfollo“w“ed˜b“y˜the˜coMÞde˜whic“h˜will˜ultimately˜bMÞeŽ¡‘ãŒpassed–,ÿto“the“output“device“in“order“to“spMÞecify“the“colour.‘µeIf“the“currenš²!t“driv˜er“cannot“suppMÞort“colour,Ž¡‘ãŒor–¦fgraš²!yscale“shading,“then“the“new“name“will“bMÞe“recognised,“but“ignored“during“t˜ypMÞesetting.ަ‘ãŒÃ174Ž‘õŒÏ\xydef@\newxycolor#1#2{\newxyColor{#1}{}{}{#2}{}}ŽŽ¡‘ãŒÃ175Ž‘õŒÏ\xydef@\newxyColor#1#2#3#4{\newxycolor@{#1}{#2}{#3}{#4}{}}ŽŽŸ`‘ôŒ¹F‘ÿeor–YÕPostScript“¹devices,›h{the‘@«X‘ü·ŸâÃYŽŽ‘ À -ps“ÕPostScript“¹dictionary“de nes“opMÞerators“ÏrgbŽ‘—ÿ¹,˜ÏcmykŽ‘À$¹and“ÏgrayŽŽ¡‘㌹correspMÞonding–ßnto“the“standard“R²!GB›ß_and“CMYK˜colour“moMÞdels“and“gra²!yscale“shadings.‘ˆôColours“andŽ¡‘ãŒshades–ùare“describMÞed“as:‘ƒÄr‘â7g›øìb“ÏrgbŽ‘1¹or“Äc–”Ym“y˜k‘QCÏcmykŽ‘Hï¹or–ùÄs“ÏgrayŽ‘÷¬¹,‘ «where“the“parameters“are“n•²!um“bMÞers‘ùinŽ¡‘ãŒthe–ãérange“0–q+Ç“Är²";–Ó1gšd“;“b;“c;“m;“y˜;“kX?;“s–q+Ç“¹1.‘–eThe–ãéopšMÞerators“link“to“the“built-in“colour“mo˜dels“or,‘óIin“the“caseŽŽŽŒ‹íŽ Á à ý*tj‘ãŒÑ2.6.‘„CCOLOUR‘¦fEXTENSION’DX¹237ŽŽ ¶?? ýh«w‘ãŒof‘¦fÏcmykŽ‘Kt¹for–¦fearlier“vš²!ersions“of“ÕPostScript¹,“giv˜e“a“simple“em˜ulation“in“terms“of“the“R˜GB“moMÞdel.ŽŸ—בôŒExisting–¦fcolor“names“can“bMÞe“o•²!v“erridden–¦fusing“Ï\newxycolor@#1#2\relaxŽ’‚¹.Ž©Pˆ‘ãŒÃ193Ž‘õŒÏ\xydef@\newxycolor@#1#2#3#4#5{%ŽŽ¤ ™š‘ãŒÃ194Ž‘ûKÃÏ\expandafter\let\expandafter\next@\csname–¿ªshape“[#1]\endcsnameŽŽ¡‘ãŒÃ195Ž‘ûKÃÏ\ifx\next@\relaxŽŽ¡‘ãŒÃ196Ž‘ mÏ\DN@{#4}\ifx\next@\emptyŽŽ¡‘ãŒÃ197Ž‘ËÏ\DN@{#2}\ifx\next@\emptyŽŽ¡‘ãŒÃ198Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{}{#3}\xycolor@{#3}}}%ŽŽ¡‘ãŒÃ199Ž‘ËÏ\elseŽŽ¡‘ãŒÃ200Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{#2}{#3}\xycolor@{#2‘¿ª#3}}}%ŽŽ¡‘ãŒÃ201Ž‘ËÏ\fiŽŽ¡‘ãŒÃ202Ž‘ mÏ\else\DN@{#2#3}\ifx\next@\emptyŽŽ¡‘ãŒÃ203Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{#4}{}\xycolor@{#4}}}%ŽŽ¡‘ãŒÃ204Ž‘ËÏ\elseŽŽ¡‘ãŒÃ205Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{#2}{#3}\xycolor@{#4}}}%ŽŽ¡‘ãŒÃ206Ž‘ mÏ\fi‘¿ª\fiŽŽ¡‘ãŒÃ207Ž‘ûKÃÏ\else‘¿ª\def\tmp@{\relax}\DNii@{#5}%ŽŽ¡‘ãŒÃ208Ž‘ûKÃÏ\ifx\nextii@\tmp@ŽŽ¡‘ãŒÃ209Ž‘ mÏ\DN@{#4}\ifx\next@\emptyŽŽ¡‘ãŒÃ210Ž‘ËÏ\DN@{#2}\ifx\next@\emptyŽŽ¡‘ãŒÃ211Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{}{#3}\xycolor@{#3}}}%ŽŽ¡‘ãŒÃ212Ž‘ËÏ\elseŽŽ¡‘ãŒÃ213Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{#2}{#3}\xycolor@{#2‘¿ª#3}}}%ŽŽ¡‘ãŒÃ214Ž‘ËÏ\fiŽŽ¡‘ãŒÃ215Ž‘ mÏ\elseŽŽ¡‘ãŒÃ216Ž‘ËÏ\DN@{#2#3}\ifx\next@\emptyŽŽ¡‘ãŒÃ217Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{#4}{}\xycolor@{#4}}}%ŽŽ¡‘ãŒÃ218Ž‘ËÏ\elseŽŽ¡‘ãŒÃ219Ž‘ ŠÁÏ\DN@{\newxystyle{#1}{\xylocalColor@{#2}{#3}\xycolor@{#4}}}%ŽŽ¡‘ãŒÃ220Ž‘ mÏ\fi‘¿ª\fiŽŽ¡‘ãŒÃ221Ž‘ûKÃÏ\else\DN@{}\fi\fi‘¿ª\next@\relax}ŽŽŸNÅ‘ôŒ¹Standard–¥colour“names“whic²!h“are“de ned“automatically“correspMÞond“to“the“three“primaries“ÏredŽ‘ä ¹,Ž¡‘ãŒÏgreenŽJk¹,‘yÏblueŽ‘å`¹and–m°their“complemenš²!ts“ÏcyanŽ‘lX¹,‘yÏmagentaŽ‘+¶®¹,‘yÏyellowŽ‘)d´¹as“w˜ell“as“three“extreme“gra˜yscale“shadesŽ¡‘ãŒÏblackŽJk¹,‘¦fÏwhiteŽ‘ d¸¹,‘¦fÏgrayŽ‘¥¹.ަ‘ãŒÃ230Ž‘õŒÏ\xydef@\xystandardcolors@{%ŽŽ¡‘ãŒÃ231Ž‘õŒÏ%–¿ª\newxycolor@{black}{1.}{gray}{}\relax‘ T%“Textures“reverses“gray-scalesŽŽ¡‘ãŒÃ232Ž‘õŒÏ%‘¿ª\newxycolor@{white}{0.}{gray}{}\relax‘ T%ŽŽ¡‘ãŒÃ233Ž‘õŒÏ%–¿ª\newxycolor@{black}{0.}{gray}{}\relax‘ T%“This“is“normal“for“PostScriptŽŽ¡‘ãŒÃ234Ž‘õŒÏ%‘¿ª\newxycolor@{white}{1.}{gray}{}\relax‘ T%ŽŽ¡‘ãŒÃ235Ž‘ûKÃÏ\newxycolor@{black}{0.–¿ª0.“0.}{rgb}{}\relax‘>þ%“avoid“the“hassles.ŽŽ¡‘ãŒÃ236Ž‘ûKÃÏ\newxycolor@{white}{1.–¿ª1.“1.}{rgb}{}\relax‘>þ%ŽŽ¡‘ãŒÃ237Ž‘ûKÃÏ\newxycolor@{gray}{.5}{gray}{}\relaxŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\newxycolor@{grey}{.5}{gray}{}\relaxŽŽ¡‘ãŒÃ239Ž‘ûKÃÏ\newxycolor@{red}{1.–¿ª0.“0.}{rgb}{}\relaxŽŽ¡‘ãŒÃ240Ž‘ûKÃÏ\newxycolor@{green}{0.–¿ª1.“0.}{rgb}{}\relaxŽŽ¡‘ãŒÃ241Ž‘ûKÃÏ\newxycolor@{blue}{0.–¿ª0.“1.}{rgb}{}\relaxŽŽ¡‘ãŒÃ242Ž‘ûKÃÏ\newxycolor@{cyan}{0.–¿ª1.“1.}{rgb}{}\relaxŽŽ¡‘ãŒÃ243Ž‘ûKÃÏ\newxycolor@{magenta}{1.–¿ª0.“1.}{rgb}{}\relaxŽŽŽŽŒ‹îÕ— Á à ý*tj‘㌹238’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ244Ž‘ûKÃÏ\newxycolor@{yellow}{1.–¿ª1.“0.}{rgb}{}\relaxŽŽ¤ ™š‘ãŒÃ245Ž‘ûKÃÏ\xyuncatcodes‘¿ª}ŽŽŸŒ–‘ôŒÔNote:‘ŠÁ¹The–-drivš²!er“ le“m˜ust“call“Ï\xystandardcolors@Ž‘mzN¹bšMÞefore“these“colours“b˜ecome“accessible.‘¦uThisŽ¡‘ãŒis–¦fto“alloš²!w“an˜y“Çh¹driv˜erÇi¹-spšMÞeci c“de nitions“to“b˜e“activ²!e“when“these“colours“are“de ned.ŽŸ#ú<‘ãŒÔSaš¦tving–óqcolour“and“st˜yles‘ ó5¹When–N"stš²!yles“are“sa˜v˜ed“using“Ï[=Ž‘ÍvÇh¹w˜ordÇiÏ]Ž‘¿ª¹,›xsee“,˜then“the“curren²!t“colourŽ¡‘ãŒsetting–~(if“anš²!y)“is“sa˜v˜ed“also.‘ .$Subsequen˜t“use“of“Ï[Ž– Ö(Çh¹w˜ordÇiÏ]Ž“¹reco˜v˜ers–~the“colour“and“accompan˜yingŽ¡‘ãŒline-st²!yle‘¦fsettings.ŽŸÕ¨‘ôŒF‘ÿeurther–X„colour“names“are“de ned“b²!y“the“command“Ï\UseCrayolaColoursŽ‘p*ü¹that“loads“the“ÏcrayonŽŽ¡‘㌹option,‘rÞin–Iùwhic²!h“more“colours“are“de ned.‘È—Consult“the“ le“Ïxyps-col.docŽ‘Mê¹for“the“colours“and“theirŽ¡‘ãŒspšMÞeci cations–¦fin“the“R²!GB“or“CMYK“mo˜dels.Ž©Pˆ‘ãŒÃ269Ž‘õŒÏ\xydef@\UseCrayolaColors{\xyrequire{crayon}\xyuncatcodes}%ŽŽ¡‘ãŒÃ270Ž‘õŒÏ%–¿ª\xyinputorelse@{xyps-col}{\xyerror@{Could“not“load“xyps-col}{}}}ŽŽŸ(±*‘ãŒxycrayon.docÔ:ŽŸ‘㌹This–Ç4option“proš²!vides“the“command“to“install“de nitions“for“the“68“colours“recognised“b˜y“name“b˜yŽ¡‘ãŒT‘ÿeomas–+lRokicš²!ki's“ÏdvipsŽ‘'*¹driv˜er“[11Ž‘ ó4].‘ lîThis“command“m˜ust“bMÞe“called“from“a“Çh¹driv˜erÇi¹- le“whic˜h“canŽ¡‘ãŒactually–¦fsuppMÞort“the“colours.ަ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xycrayon.doc,v“3.3“1996/12/18“08:58:16“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Crayola“colours''“PostScript“backend“support.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{crayon}{Crayola–¿ªColours}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŽŽŒ‹ïá¹ Á à ý*tj‘ãŒÑ2.6.‘„CCOLOUR‘¦fEXTENSION’DX¹239ŽŽ ¶?? ýh«w‘ôŒThe–…øcolour“de nitions“themselv²!es“are“in“the“ le“Ïxyps-col.texŽ‘Hð¹.‘ÓThey“are“not“loaded“directly“hereޤ ™š‘ãŒsince–‰¤it“is“not“knoš²!wn“whic˜h“Çh¹driv˜erÇi“¹is“to“bMÞe“used.‘ÔGDi eren˜t“Çh¹driv˜erÇi¹s“ma˜y“rede ne“the“Ï\xynewcolor@ŽŽ¡‘㌹macro–¦fto“set“the“colour“b²!y“name“or“colour-moMÞdel.Ž©Pˆ‘ãŒÃ46Ž‘õŒÏ\xydef@\installCrayolaColors@{%ŽŽ¡‘ãŒÃ47Ž‘ûKÃÏ\xyinputorelse@{xyps-col}{\xyerror@{Could–¿ªnot“load“Crayola“colours}{}}%ŽŽ¡‘ãŒÃ48Ž‘ûKÃÏ\let\installCrayolaColors@=\relaxŽŽ¡‘ãŒÃ49Ž‘ûKÃÏ\xyuncatcodes‘¿ª}ŽŽŸv‘ãŒÃ55Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ57Ž‘õŒÏ%–¿ª$Log:“xycrayon.doc,v“$ŽŽ¡‘ãŒÃ58Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“08:58:16“rossŽŽ¡‘ãŒÃ59Ž‘õŒÏ%–¿ªcosmetic“updatesŽŽ¡‘ãŒÃ60Ž‘õŒÏ%ŽŽ¡‘ãŒÃ61Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ62Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ63Ž‘õŒÏ%ŽŽ¡‘ãŒÃ64Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ65Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ66Ž‘õŒÏ%ŽŽ¡‘ãŒÃ67Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/05“07:58:43“rossŽŽ¡‘ãŒÃ68Ž‘õŒÏ%–¿ªReady“for“v3“release?ŽŽ¡‘ãŒÃ69Ž‘õŒÏ%ŽŽ¡‘ãŒÃ70Ž‘õŒÏ#ŽŽ¡‘ãŒÃ71Ž‘õŒÏ%–¿ªNEW“for“version“3.1“by“Ross“Moore‘ T1995/03/18.ŽŽ¡‘ãŒÃ72Ž‘õŒÏ%ŽŽŸ,m‘ãŒÕPostScript‘‡µÔcolour‘ ó5¹When–×ÕPostScript“¹drivš²!er“suppMÞort“is“a˜v‘ÿdDailable,‘/the“methoMÞd“for“handling“colourŽ¡‘ãŒwithin–ö,diagrams“maš²!y“bMÞe“di eren˜t.‘£The“reason“for“this“is“that“some“dvi-driv˜ers“reset“the“colour“to“blac˜kŽ¡‘ãŒbšMÞefore– _placing“the“con•²!ten“ts– _of“the“Ï\specialŽ‘1¯¹.‘©…T‘ÿeo“coun²!ter“this,‘(Çthe“ÕPostScript“¹co˜de“mainš²!tains“its“o˜wnŽ¡‘ãŒcolour-stac²!k.‘ÅSuppMÞort–³is“established“within“a“separate“ le“Ïxyps-c.texŽ‘=ŽW¹,‘,†loaded“from“the“appropriateŽ¡‘ãŒÇh¹driv²!erÇi¹- les.ަ‘ãŒÃ295Ž‘õŒÏ\xydef@\xyBEcolorcheck@{\ifx\xycolor@@\xyNoColor@\elseŽŽ¡‘ãŒÃ296Ž‘ûKÃÏ\xywarning@{PostScript–¿ªcolour“support“should“be“OK.}\fi“}%ŽŽ¦‘ãŒÃ298Ž‘õŒÏ\xywithoption{ps}{%ŽŽ¡‘ãŒÃ299Ž‘ûKÃÏ\xyinputorelse@{xyps-c}{\xyerror@{Could–¿ªnot“load“xyps-c}{}}}%ŽŽ¡‘ãŒÃ300Ž‘ûKÃÏ\xycatcodesŽŽŸ%/Š‘ãŒÔThe–2end“&“Logަ‘ãŒÃ308Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ310Ž‘õŒÏ%–¿ª$Log:“xycolor.doc,v“$ŽŽ¡‘ãŒÃ311Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:50:08˜rossŽŽ¡‘ãŒÃ312Ž‘õŒÏ%–¿ªMaintenance“release.ŽŽ¡‘ãŒÃ313Ž‘õŒÏ%ŽŽ¡‘ãŒÃ314Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“08:56:49“rossŽŽ¡‘ãŒÃ315Ž‘õŒÏ%–¿ªminor“updatesŽŽ¡‘ãŒÃ316Ž‘õŒÏ%ŽŽŽŽŒ‹ðï Á à ý*tj‘㌹240’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ317Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:20:20“rossŽŽ¤ ™š‘ãŒÃ318Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ319Ž‘õŒÏ%ŽŽ¡‘ãŒÃ320Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ321Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ322Ž‘õŒÏ%ŽŽ¡‘ãŒÃ323Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ324Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ325Ž‘õŒÏ%ŽŽ¡‘ãŒÃ326Ž‘õŒÏ%–¿ªRevision“2.14– T1995/07/06“02:56:02“krisŽŽ¡‘ãŒÃ327Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ328Ž‘õŒÏ%ŽŽ¡‘ãŒÃ329Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ330Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ331Ž‘õŒÏ%ŽŽ¡‘ãŒÃ332Ž‘õŒÏ%–¿ªRevision“2.10– T1994/06/15“12:46:03“rossŽŽ¡‘ãŒÃ333Ž‘õŒÏ%–¿ªSecond“release“3beta.ŽŽ¡‘ãŒÃ334Ž‘õŒÏ%–¿ªColour“and“line“style“saving“works;“label“colouring“bug“fixed.ŽŽ¡‘ãŒÃ335Ž‘õŒÏ%ŽŽ¡‘ãŒÃ336Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:39:49“rossŽŽ¡‘ãŒÃ337Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ338Ž‘õŒÏ%ŽŽ¡‘ãŒÃ339Ž‘õŒÏ%–¿ªNEW“for“version“2.9“by“by“Ross“Moore.ŽŽŸ.I‘ãŒÝ2.7Ž‘r|PŒÌattern–ffand“Tile“extensionŽŸ¶‚‘ãŒæV‘ÿ «ers.‘p3.4–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽ‘㌟ ³Ýïheader=color.proŸ =¹This–¦fextension“proš²!vides“the“abilit˜y“to“request“that“a“ lled“region“bMÞe“tiled“using“a“particular“pattern.ŽŸ ½‘This–îÌis“an“e ect“not“normally“aš²!v‘ÿdDailable“within“T‘þ,³Ÿ[wEŽ‘B X.‘ ªInstead“it“requires“a“suitable“Çh¹driv˜erÇi“¹option“toŽ¡proš²!vide–‘…the“necessary“Ï\specialŽ‘5 Z¹commands,‘•²together“with“an˜y“extra“commands“needed“to“implemen˜tŽ¡the‘¦fe ects.‘ÝÝTh²!usŽŸåí‘-^tïps: SDict begin xyc endŸ*ÁŸóôx‘DUsing–¦Mthis“extension“will“ha•²!v“e–¦Mno“e ect“on“the“outputŽŸ ˆ‘>s%unless–¦Mused“with“a“dvi-driv²!er“that“explicitly“suppMÞorts“it.ŽŽŽŽŽŽŽŽŽŽŽŸýh0’Äz¾ï4" {0.0 196.47948 -13.88919 -196.47946 13.88918 ov}xyŽŽŽŽŽŽŽŸì´All–Ïge ects“de ned“in“the“ÏtileŽ‘v¹extension“can“bMÞe“implemenš²!ted“using“most“ÕPostScript“Çh¹driv˜erÇi¹s,‘úgloadedŽ¡as‘¦fÏ\xyoption{Ž‘=# Çh¹driv²!erÇiÏ}Ž‘¿ª¹.ŽŸ¶õÔHeader:ŽŸPˆÃ1Ž‘Ï%%–¿ª$Id:“xytile.doc,v“3.4“1997/05/18“01:13:24“ross“Exp“$ŽŽ¡Ã2Ž‘Ï%%ŽŽ¡Ã3Ž‘Ï%%–¿ªXy-pic“``Pattern“and“Tile“extension''“option.ŽŽ¡Ã4Ž‘Ï%%–¿ªCopyright“(c)“1993-1997“Ross“Moore“ŽŽ¡Ã5Ž‘Ï%%ŽŽ¡Ã6Ž‘Ï%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡Ã7Ž‘Ï%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡Ã8Ž‘Ï%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡Ã9Ž‘Ï%%ŽŽŽŽŒ‹ñù> Á à ý*tj‘ãŒÑ2.7.‘„CP–ÿeA“TTERN–¦fAND“TILE“EXTENSION’p9¹241ŽŽ ¶?? ýh«w‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¤ ™š‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{tile}{Pattern–¿ªand“Tile“extension}{\stripRCS$Revision:“3.4“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ~ ‘ôŒ¹Likš²!e–fˆusing“color,‘sNtiling“with“patterns“is“an“instance“of“a“spMÞecial“st˜yle,‘sNsince“use“of“a“pattern“has“noŽ¡‘ãŒe ect–á¶on“the“size“or“shapšMÞe“of“the“Çh¹ob‘›»jectÇi“¹b˜eing“t²!yp˜eset.‘ÎIt“only“a ects“ho²!w“the“Çh¹ob‘›»jectÇi“¹will“app˜earŽ¡‘ãŒon–¦fthe“prin²!ted“page“or“on-screen.Ž ùà; ÿ·€Ÿ‰™‘,äÊïps: SDict begin xyc endŸúh.Ÿ ŽŽŽŽŽŽŸýh0‘ ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸýh0‘ ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸËÀ‘y›‘y›‘/êMmac10ŽŽŽŽŽŽŽŽŽŸ% Ÿ ŽŽŽŽŽŽŸ( ‘h{¸ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸ( ‘h{¸ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸ>y›‘Z˜(mac11ŽŽŽŽŽŽŽŽŽŸ% Ÿ ŽŽŽŽŽŽŸ( ’“)“ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸ( ’“)“ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸ>y›’…Fmac12ŽŽŽŽŽŽŽŽŽŸ% Ÿ ŽŽŽŽŽŽŸ( ’½×nï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸ( ’½×nï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸ>y›’¯óÞmac13ŽŽŽŽŽŽŽŽŽŸ% Ÿ ŽŽŽŽŽŽŸ( ’è…Iï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸ( ’è…Iï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸ>y›’Ú¡¹mac14ŽŽŽŽŽŽŽŽŽŸ% Ÿ ŽŽŽŽŽŽŸ( ’3$ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸ( ’3$ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸ>y›’O”mac15ŽŽŽŽŽŽŽŽŽŸ% Ÿ ŽŽŽŽŽŽŸ( ’=àÿï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸ( ’=àÿï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸ>y›’/ýomac16ŽŽŽŽŽŽŽŽŽŸOÃäŸ ŽŽŽŽŽŽŸRÃæ‘ ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽŸRÃæ‘ ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽŸi'v‘{},{*[bricks]\frm{**}}ŽŽ¦‘¿ª,*+<2.5pc>[o]{},*[bars]\frm{**}ŽŽ¦\endxyŽŽŸqR‘¹There–Ž·are“t•²!w“o›Ž·metho•MÞds,‘ÈËp“erhaps˜used˜sim²!ultaneously‘ÿe,‘ÈËfor˜handling˜requests˜for˜a˜pattern.‘–ÐTheަÏ\xylocalpattern@Ž‘`Ž_¹is–“¿the“normal“methoMÞd,‘Ïpatterning“whatevš²!er“ob‘›»jects“T‘þ,³Ÿ[wEŽ‘B X“t˜ypMÞesets“from“fon˜ts“orަrules.‘ÝÝThe–¦fmore“spMÞecialized“Ï\xypattern@Ž‘F‰¹is“used“with“a“ÕPostScript“Çh¹driv²!erÇi¹.Ž¡‘Thš²!us–Ea“Çh¹driv˜erÇi“¹whic˜h“suppšMÞorts“b˜oth“pattern“and“ÕPostScript“¹m²!ust“de ne“a“metho˜d“to“handleަÏ\xylocalpattern@Ž‘_à¹but–åzshould“lea•²!v“e–åzalone“Ï\xypattern@Ž‘C!ȹ.‘›The“latter“methošMÞd“will“b˜e“adjusted“appro-ަpriately–¦fwhen“a“ÕPostScript“Çh¹driv²!erÇi“¹is“installed.ޤPˆÃ208Ž‘Ï\xydef@\xyNopattern@#1{}ŽŽ¦Ã209Ž‘Ï\xylet@\xypattern@@=\xyNopattern@ŽŽ¦Ã210Ž‘Ï\xydef@\xyNopattern@@#1#2{\xypatternwarning@}ŽŽ¡Ã212Ž‘Ï\xylet@\xypattern@=\xypattern@@ŽŽ¦Ã213Ž‘Ï\xylet@\xylocalpattern@=\xyNopattern@@ŽŽŸqR‘¹This––Žis“to“facilitate“unloading“patterns“when“the“Çh¹drivš²!erÇi“¹is“c˜hanged“to“one“that“došMÞes“not“supp˜ortަthis–¦ffeature.‘ÝÝThis“is“the“default“state,“unš²!til“an“appropriate“Çh¹driv˜erÇi“¹is“loaded.Ž¡Ã221Ž‘Ï\xydef@\Unloadpattern@{%ŽŽ¦Ã222Ž‘¿ªÏ\let\xylocalpattern@=\xyNopattern@@ŽŽ¦Ã223Ž‘¿ªÏ\let\xypattern@=\xyNopattern@ŽŽ¦Ã224Ž‘¿ªÏ\let\xypatternwarning@=\xypatternwarning@@‘¿ª}ŽŽ¡Ã226Ž‘Ï\Unloadpattern@ŽŽŸ"^oÔP¦tattern‘×data‘ ó5¹A‘VÏregion–Vãis“tiled“using“copies“of“a“single“`cell'“regularly“placed“so“as“to“seamlessly“tileަthe–6&enš²!tire“region.‘¸rThe“Çh¹dataÇi“¹appMÞearing“as“an“argumen˜t“to“Ï\newxypatternŽ‘Q'î¹is“ultimately“passed“to“theަdvi-driv²!er.ŽŽŽŒ‹ô5ð Á à ý*tj‘㌹244’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ôŒ¹The–?Osimplest“form“of“pattern“data“is:‘ªRÇh¹nš²!umÇi“h¹Hex-dataÇi¹,‘Sîwhere“the“data“is“a“16-c˜haracter“string“ofޤ ™š‘ãŒHexadecimal›ßdigits;‘ûii.e.–‡ã0{9,‘í>ÄA¹{ÄF‘…V¹.“Eac•²!h˜Hex-digit˜equates˜to˜4˜binary˜bits,‘í>so˜this˜data˜con“tains˜64Ž¡‘ãŒbits–zàrepresenš²!ting“pixels“in“an“8–áÇ“¹8–zàarra˜y‘ÿe.‘Ï[The“Çh¹n˜umÇi“¹is“an“in˜teger“coun˜ting“the“n˜um˜bMÞer“of“`0's“amongŽ¡‘ãŒthe–³Q64“bits.‘žT‘ÿeakš²!en“as“a“fraction“of“64,‘¶Œthis“n˜um˜bMÞer“or“its“complemen˜t,‘¶Œrepresen˜ts“the“a˜v˜erage“densit˜yŽ¡‘ãŒof–“Û`on'“pixels“within“a“single“cell“of“the“pattern.‘ׯDrivš²!ers“unable“to“pro˜vide“the“ ne“detail“of“a“patternŽ¡‘ãŒmaš²!y–6Fsimply“use“this“n˜um˜bMÞer,‘Z>or“its“complemen˜t,‘Z>as“a“gra˜y-lev˜el“or“part“of“a“colour“spMÞeci cation“forŽ¡‘ãŒthe–¦fwhole“region“to“bMÞe“tiled.ŽŸÐC‘ôŒA‘«desirable–«set“of“standard“patterns“could“bšMÞe“sp˜eci ed“to“b˜e“alw•²!a“ys–«loaded.‘ëðIf“suc²!h“a“set“emergesŽ¡‘ãŒindeed–¦fas“bšMÞeing“frequen²!tly“desirable“then“it“will“b˜e“included“here.Ž©Pˆ‘ãŒÃ254Ž‘õŒÏ\xydef@\xystandardpatterns@{}%ŽŽŸ‡1‘ôŒÔNote:‘"Q¹The–È drivš²!er“ le“m˜ust“call“Ï\xystandardpatterns@Ž‘zŠˆ¹bšMÞefore“these“patterns“b˜ecome“accessible.Ž¡‘ãŒThis–¦fis“to“alloš²!w“an˜y“Çh¹driv˜erÇi¹-spšMÞeci c“de nitions“to“b˜e“activ²!e“when“these“patterns“are“de ned.ަ‘ãŒÃ264Ž‘õŒÏ\xynew@{read}{\xypatread@}ŽŽ¡‘ãŒÃ265Ž‘õŒÏ\xydef@\defaultpattfile@{}ŽŽ¦‘ãŒÃ267Ž‘õŒÏ\xydef@\xygetfilepatterns@#1{\DN@{#1}%ŽŽ¡‘ãŒÃ268Ž‘ûKÃÏ\ifx\next@\emptyŽŽ¡‘ãŒÃ269Ž‘ mÏ\ifx\defaultpattfile@\empty–¿ª\xywarning@{No“pattern“file“specified.}%ŽŽ¡‘ãŒÃ270Ž‘ mÏ\else‘¿ª\DN@{\expandafter\openpattfile@\expandafter{\defaultpattfile@}}\fiŽŽ¡‘ãŒÃ271Ž‘ûKÃÏ\else–¿ª\DN@{\openpattfile@{#1}}\fi“\next@“}ŽŽ¦‘ãŒÃ273Ž‘õŒÏ\xydef@\openpattfile@#1{\openin\xypatread@=#1.xyp‘¿ª%ŽŽ¡‘ãŒÃ274Ž‘ûKÃÏ\ifeof\xypatread@\xywarning@{No–¿ªpatterns“in“file:“#1.xyp}%ŽŽ¡‘ãŒÃ275Ž‘ mÏ\closein\xypatread@ŽŽ¡‘ãŒÃ276Ž‘ûKÃÏ\else–¿ª\expandafter“\xyreadpatfile@“\fi“}%ŽŽ¦‘ãŒÃ278Ž‘õŒÏ\xydef@\UsePatternFile#1{\def\defaultpattfile@{#1}}ŽŽ¦‘ãŒÃ280Ž‘õŒÏ\xydef@\LoadAllPatterns{\let\parsepattern@=\parsepattern@@ŽŽ¡‘ãŒÃ281Ž‘ mÏ\xygetfilepatterns@‘¿ª}ŽŽ¦‘ãŒÃ283Ž‘õŒÏ\xydef@\LoadPattern#1{\let\parsepattern@=\filepattern@@ŽŽ¡‘ãŒÃ284Ž‘ mÏ\def\pattname@{#1}\xygetfilepatterns@}ŽŽ¦‘ãŒÃ286Ž‘õŒÏ\xydef@\AliasPattern#1#2{\let\parsepattern@=\aliaspattern@@ŽŽ¡‘ãŒÃ287Ž‘ mÏ\def\aliasname@{#1}\def\pattname@{#2}\xygetfilepatterns@}ŽŽŸ‡1‘ôŒ¹The–¦fcš²!haracter“Ï!Ž‘ v¹is“used“to“delimit“commen˜ts“within“pattern-data“ les.ަ‘ãŒÃ294Ž‘õŒÏ\xydef@\xyreadpatfile@{%ŽŽ¡‘ãŒÃ295Ž‘ûKÃÏ\loop@‘¿ª\bgroup\xycatcodesŽŽ¡‘ãŒÃ296Ž‘ mÏ\global\read\xypatread@‘¿ªto\xypatline@ŽŽ¡‘ãŒÃ297Ž‘ mÏ\ifeof\xypatread@‘¿ª\aftergroup\endpatread@ŽŽ¡‘ãŒÃ298Ž‘ËÏ\else\aftergroup\morepatread@\fi‘¿ª\edef\next@{%ŽŽ¡‘ãŒÃ299Ž‘ mÏ\egroup\noexpand\getxypattern@{\xypatline@!!!}\relax}\next@ŽŽ¡‘ãŒÃ300Ž‘ûKÃÏ\repeat@‘¿ª}ŽŽ¡‘ãŒÃ301Ž‘õŒÏ\xydef@\endpatread@{\closein\xypatread@\iffalse}ŽŽ¡‘ãŒÃ302Ž‘õŒÏ\xydef@\morepatread@{\iftrue}ŽŽ¦‘ãŒÃ304Ž‘õŒÏ%\xydef@\getxypattern@{\futurelet\next\getxypattern@@}ŽŽ¡‘ãŒÃ305Ž‘õŒÏ\xydef@\getxypattern@#1{\def\next{#1}\getxypattern@@}ŽŽ¡‘ãŒÃ306Ž‘õŒÏ\xydef@\getxypattern@@{\DN@{!!!}\ifx\next\next@\DN@{}%ŽŽ¡‘ãŒÃ307Ž‘ûKÃÏ\else\DN@{\expandafter\parsepattern@\next}\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ309Ž‘õŒÏ\xydef@\parsepattern@@#1‘¿ª#2!#3\relax{\newxypattern{#1}{#2}}ŽŽŽŽŒ‹õC Á à ý*tj‘ãŒÑ2.7.‘„CP–ÿeA“TTERN–¦fAND“TILE“EXTENSION’p9¹245ŽŽ ¶?? ýh«w‘ãŒÃ310Ž‘õŒÏ\xydef@\filepattern@@#1‘¿ª#2!#3\relax{\DN@{#1}%ŽŽ¤ ™š‘ãŒÃ311Ž‘ûKÃÏ\ifx\next@\pattname@ŽŽ¡‘ãŒÃ312Ž‘ mÏ\DN@{\expandafter\foundpattern@\expandafter{\pattname@}{#2}}%ŽŽ¡‘ãŒÃ313Ž‘ûKÃÏ\else\DN@{}\fi–¿ª\next@“}ŽŽ¡‘ãŒÃ314Ž‘õŒÏ\xydef@\foundpattern@#1#2{\newxypattern{#1}{#2}\endpatread@\fiŽŽ¡‘ãŒÃ315Ž‘ûKÃÏ\expandafter\eat@}ŽŽ¡‘ãŒÃ316Ž‘õŒÏ\xydef@\aliaspattern@@#1‘¿ª#2!#3\relax{\DN@{#1}%ŽŽ¡‘ãŒÃ317Ž‘ûKÃÏ\ifx\next@\pattname@ŽŽ¡‘ãŒÃ318Ž‘ mÏ\DN@{\expandafter\foundpattern@\expandafter{\aliasname@}{#2}}%ŽŽ¡‘ãŒÃ319Ž‘ûKÃÏ\else\DN@{}\fi–¿ª\next@“}ŽŽŸPˆ‘ãŒÃ321Ž‘õŒÏ%\xydef@\parsepattern@#1‘¿ª#2!#3\relax{\message{#1:#2}}ŽŽŸ{‘㌹The–‡ le“Ïxymacpat.xypŽ‘J ¹conš²!tains“de ning“data“for“the“38“standard“patterns“a˜v‘ÿdDailable“with“the“Macin˜toshŽ¡‘ãŒOpMÞerating–¦fsystem.‘ÝÝFigure“2.5“displa²!ys“all“these“patterns.ŽŸ&Ã[‘ãŒÔRotating–¼and“Resizing“P¦tatterns‘ ó5¹Some–implemenš²!tations“of“patterns“are“sucien˜tly“v˜ersatile“toŽ¡‘ãŒalloš²!w–ztextra“parameters“to“a ect“the“w˜a˜y“the“pattern“data“is“in˜terpreted.‘ZÕPostScript“¹is“one“suc˜hŽ¡‘ãŒimplemenš²!tation–Uin“whic˜h“it“is“pMÞossible“to“rotate“the“whole“pattern“and“ev˜en“to“expand“or“con˜tract“theŽ¡‘ãŒsizes–¦fof“the“basic“cell.Ž©Rr‘ôŒDue–g>to“the“raster“nature“of“output“devices,‘—snot“all“sucš²!h“requests“can“bMÞe“guaran˜teed“to“proMÞduceŽ¡‘ãŒaesthetic–Wresults“on“all“devices.‘°In“practice“only“rotations“through“spMÞeci c“angles“(e.g“30Ÿü¾ÈŽ–À¹,›)“45Ÿü¾ÈŽ“¹,˜60Ÿü¾ÈŽ“¹)Ž¡‘ãŒand–*tparticular“scaling“ratios“can“bMÞe“reliably“used.‘jThš²!us“there“is“no“sophisticated“in˜terface“pro˜videdŽ¡‘ãŒbš²!y‘6 X‘ü·ŸâÃYŽŽ‘ µj-pic–N`to“access“these“features.‘À†Ho˜w˜ev˜er“the“`ÕPostScript“¹escapMÞe'“mec˜hanism“doMÞes“allo˜w“a“form“ofŽ¡‘ãŒaccess,–¦fwhen“a“ÕPostScript“Çh¹driv²!erÇi“¹is“handling“pattern“requests.ަ‘ôŒSpšMÞecial–iwÕPostScript“¹op˜erators“ÏpaŽ›RB¹and“ÏpfŽ˜¹set“the“pattern“angle“(normally“0)“and“`frequency'Ž¡‘ãŒmeasured–¿in“Ðc–ÿp¹el‘Fls›KÕp“er˜inch¹.‘çHence,›*when–¿used“as“an“Çh¹ob‘›»jectÇi¹-moMÞdi er,˜Ï[!–¿ª30“pa“18.75“pq]Ž‘o³È¹rotatesŽ¡‘ãŒthe–J°pattern“bš²!y“30Ÿü¾ÈŽ‘ ´¹cloMÞc˜kwise“and“uses“a“smaller“pattern“cell“(larger“frequency).‘¿KThe“default“frequencyŽ¡‘ãŒof›'Ž12Ä:¹5–áé=“300Ä=¹(8–ÅÇ“¹3)˜means˜that˜eac²!h˜pixel˜in˜a˜pattern˜cell˜correspMÞonds,‘GØon˜a˜device˜of˜resolutionŽ¡‘ãŒ300²dpi¹,–¦fto“a“3–nìÇ“¹3–¦fsquare“of“device“pixels;“on“suc²!h“a“device“18Ä:¹75“uses“2–nìÇ“¹2‘¦fsquares.ަ‘ôŒAš²!t–UZ300²dpi“¹a“frequency“of“9Ä:¹375–.<=“300Ä=¹(8–ãŽÇ“¹4)–UZuses“4–ãŽÇ“¹4–UZsquares.‘ê¹These“matc˜h“the“natural“sizeŽ¡‘ãŒfor–µ®pixels“on“a“75²dpi“¹screen“and“are“prett²!y“close“for“72²dpi“¹screens.‘ µThough“appropriate“for“screenŽ¡‘ãŒdisplaš²!ys,‘Ý„these–Ò~are“`toMÞo“c˜h˜unky'“for“high“qualit˜y“prin˜ted“w˜ork.‘b&Doubling“the“frequency“is“toMÞo“ ne“forŽ¡‘ãŒsome–ŒÚpatterns,‘‘öhence“the“inš²!termediate“c˜hoice“of“12Ä:¹5“as“default.‘ÕYIn“order“for“prin˜ted“output“to“matc˜hŽ¡‘ãŒthe–6ìscreen“view,‘M7a“ÕPostScript“¹opšMÞerator“ÏmacfreqŽ‘.«~¹has“b˜een“de ned“to“facilitate“requests“for“9Ä:¹375,‘M7viaŽ¡‘ãŒÏ[!macfreq]Ž‘½¹.ަ‘ôŒThe–¦fnext“diagram“displaš²!ys“c˜hanges“to“the“frequency‘ÿe.ŽŸ"Õ2‘lé’ïps: SDict begin xyc endŸúh.‘‘Ȳ lledŽŽŽŸ ‘patternŽŽŽŽŽŽŽŽŽŸýh0‘ ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽ‘Ú83Ÿýh0ï&ps: SDict begin {pu 9.375 pq}xyg end‘8çÏï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸc‘-„?9.375ŽŽŽŽŽŽŽŽŽŸüÿþ‘gAd lledŽŽŽŸ ‘a¯œpatternŽŽŽŽŽŽŽŽŽ‘qÏžï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï%ps: SDict begin {pu 12.5 pq}xyg end‘qÏžï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸc‘hì12.5ŽŽŽŽŽŽŽŽŽŸüÿþ’ )3 lledŽŽŽŸ ’š—kpatternŽŽŽŽŽŽŽŽŽ’ª·mï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï&ps: SDict begin {pu 18.75 pq}xyg end’ª·mï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸc’ŸSÝ18.75ŽŽŽŽŽŽŽŽŽŸüÿþ’Ù lledŽŽŽŸ ’Ó:patternŽŽŽŽŽŽŽŽŽ’ãŸ<ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï%ps: SDict begin {pu 37.5 pq}xyg end’ãŸ<ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸc’Ú»¬37.5ŽŽŽŽŽŽŽŽŽŸ'­Ù‘.Y• lledŽŽŽŸ ‘(ÇÍpatternŽŽŽŽŽŽŽŽŽŸ*­Û‘8çÏï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï&ps: SDict begin {pu 9.375 pq}xyg endŸ*­Û‘8çÏï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸAk‘-„?9.375ŽŽŽŽŽŽŽŽŽŸ'­Ù‘gAd lledŽŽŽŸ ‘a¯œpatternŽŽŽŽŽŽŽŽŽŸ*­Û‘qÏžï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï%ps: SDict begin {pu 12.5 pq}xyg endŸ*­Û‘qÏžï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸAk‘hì12.5ŽŽŽŽŽŽŽŽŽŸ'­Ù’ )3 lledŽŽŽŸ ’š—kpatternŽŽŽŽŽŽŽŽŽŸ*­Û’ª·mï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï&ps: SDict begin {pu 18.75 pq}xyg endŸ*­Û’ª·mï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸAk’ŸSÝ18.75ŽŽŽŽŽŽŽŽŽŸ'­Ù’Ù lledŽŽŽŸ ’Ó:patternŽŽŽŽŽŽŽŽŽŸ*­Û’ãŸ<ï2" {0.0 19.12505 -12.94447 -19.12503 12.94447 ov}xyŽŽŽï%ps: SDict begin {pu 37.5 pq}xyg endŸ*­Û’ãŸ<ï3" {0.0 19.12505 -12.94447 -19.12503 12.94447 sfo}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endŸAk’Ú»¬37.5ŽŽŽŽŽŽŽŽŽŽŽŽŽŸcÙ‘ãŒÔSa¦tving‘?patterns:‘MV¹When–iÊstš²!yles“are“sa˜v˜ed“using“Çh¹w˜ordÇiÏ]Ž‘¿ª¹,›š£see“note“1.4k“of“Çx¹1.4,˜then“the“curren²!tŽ¡‘ãŒpattern–ÐY(if“anš²!y)“is“also“sa˜v˜ed.‘[µSubsequen˜t“use“of“Ï[Ž– Çh¹w˜ordÇiÏ]Ž“¹reco˜v˜ers–ÐYthe“pattern“as“w˜ell“as“colour“andŽ¡‘ãŒline-stš²!yle–—…settings.‘ØçThis“includes“an˜y“explicit“v‘ÿdDariations“applied“using“the“\St˜yle“EscapMÞe"“mec˜hanism.ŽŽŽŒ‹öQ0 Á à ý*tj‘㌹246’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ôŒ¹Here–¦fis“a“v‘ÿdDariation“of“an“earlier“example,“with“extra“e ects.ŽŸ%ïF’eKïps: SDict begin xyc endŸýh0‘Hï#" {0.0 72.0 -24.0 -72.0 24.0 sfo}xyŽŽŽŽŽŽ‘HŸýh0ï,ps: SDict begin {pu macfreq -45 pa}xyg end‘Öï-" {15.89996 15.89996 15.89996 15.89996 sfe}xyŽŽŽŽŽŽïps: SDict begin { pp}xyf endžÌÍ‘Öï" {15.89996 ox}xyŽŽŽŽ‘ï+" {0.0 30.0 -16.19998 -30.0 16.19998 sfo}xyŽŽŽŽŽŽ‘ï*" {0.0 30.0 -16.19998 -30.0 16.19998 ov}xyŽŽŽ‘Ÿfe„33<Ž‘;ÌΟfe„ fd33Žïcolor push rgb 1. 1. 1.ï-ps: SDict begin {pu {1. 1. 1. rgb}cc}xyg endŸýy‘ á!óF‚ÎR6ff cmss12ëFKilro›¼yŽŽŽŸ×‘²¥w›¼as‘³/hereŽŽŽŽŽŽŽŽŽïps: SDict begin { pp}xyf endï color popŽŽŽŽŽŸ*ð-‘ãŒÏ\UsePatternFile{xymacpat}ŽŽ¤ ™š‘ãŒ\AliasPattern{bricks}{mac12}{}ŽŽ¡‘ãŒ\LoadPattern{mac28}{}\LoadPattern{mac05}{}ŽŽ¡‘ãŒ\xy–¿ª*=0[!“macfreq“-45“pa][mac28][|=Bars]{}ŽŽ¡‘ãŒ,*+<12pc,4pc>{}*[bricks]\frm{**}ŽŽ¡‘ãŒ,-<3.5pc,0pt>,*+<2.65pc>[o]{},*[Bars]\frm{**}ŽŽ¡‘ãŒ,*[thicker]\frm{o},+<6pc,0pt>ŽŽ¡‘ãŒ,*+<5pc,‘¿ª2.7pc>{},*[mac05]\frm{**},*\frm{-,}ŽŽ¡‘ãŒ,*[white]\txt\Large\bf\sf{Kilroy\\was‘¿ªhere}ŽŽ¡‘ãŒ\endxyŽŽ©Pˆ‘ôŒ¹Add–ú²this“extension“to“the“drivš²!er-tables“as“\unload",‘Åunless“an“already-loaded“driv˜er“can“suppMÞortŽ¡‘ãŒit:ަ‘ãŒÃ423Ž‘õŒÏ\DN@{\xyaddunsupport{tile}\Unloadpattern@}%ŽŽ¡‘ãŒÃ424Ž‘õŒÏ\ifx\xyeverywithoption@tile@\undefinedŽŽ¡‘ãŒÃ425Ž‘õŒÏ\else\ifx\xyeverywithoption@tile@\emptyŽŽ¡‘ãŒÃ426Ž‘õŒÏ\elseŽŽ¡‘ãŒÃ427Ž‘ûKÃÏ\DN@{\xysetup@@{\xywithoption{tile}{\xyeverywithoption@tile@\xydriversloaded@@}}}%ŽŽ¡‘ãŒÃ428Ž‘õŒÏ\fi\fi‘¿ª\next@ŽŽŸ!2é‘ãŒÔThe–2end“&“Logަ‘ãŒÃ440Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ442Ž‘õŒÏ%–¿ª$Log:“xytile.doc,v“$ŽŽ¡‘ãŒÃ443Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¡‘ãŒÃ444Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ445Ž‘õŒÏ%ŽŽ¡‘ãŒÃ446Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:43:06“rossŽŽ¡‘ãŒÃ447Ž‘õŒÏ%–¿ªdocumentation“changeŽŽ¡‘ãŒÃ448Ž‘õŒÏ%ŽŽ¡‘ãŒÃ449Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ450Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ451Ž‘õŒÏ%ŽŽ¡‘ãŒÃ452Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ453Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ454Ž‘õŒÏ%ŽŽ¡‘ãŒÃ455Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ456Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ457Ž‘õŒÏ%ŽŽ¡‘ãŒÃ458Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ459Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ460Ž‘õŒÏ%ŽŽ¡‘ãŒÃ461Ž‘õŒÏ%ŽŽ¡‘ãŒÃ462Ž‘õŒÏ%–¿ªNEW“for“version“3.0“by“by“Ross“Moore.ŽŽŽŽŒ‹÷iZ Á à ý*tj‘ãŒÑ2.8.‘„CIMPOR‘ÿeT–¦fGRAPHICS“EXTENSION’ì¾¹247ŽŽ ¶?? ýh«w‘ãŒÝ2.8Ž‘r|Imps3ort–ffgraphics“extensionŽŸq‹‘ãŒæV‘ÿ «ers.‘p3.6–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ«ÿ‘㌹This–J´feature“proš²!vides“the“abilit˜y“to“easy“add“labMÞels“and“annotations“to“graphics“prepared“outside“T‘þ,³Ÿ[wEŽ‘B Xޤ ™š‘ãŒor–¡vLŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X.‘Ï An‘‰ X‘ü·ŸâÃYŽŽ‘€-pic“graphics“en•²!vironmen“t–¡vis“established“whose“coMÞordinates“matc²!h“that“within“theŽ¡‘ãŒcon•²!ten“ts–[‚of“the“impšMÞorted“graphic,‘j|making“it“easy“to“sp˜ecify“exactly“where“a“lab˜el“should“b˜e“placed,‘j|orŽ¡‘ãŒarro•²!w›¦fdra“wn˜to˜highligh“t˜a˜particular˜feature.ŽŸVš‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyimport.doc,v“3.6“1998/03/06“01:28:05“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Import“feature''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1997“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose‘ TŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{import}{Import–¿ªgraphics“extension}{\stripRCS$Revision:“3.6“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸÊN‘ôŒ¹A‘Œ¶command‘ŒýÏ\xyimportŽ‘8Öô¹is–Œýde ned“whic²!h“is“used,›ÅEin“conjunction“with“impMÞorted“graphics,˜to“establishŽ¡‘ãŒa–½¥cošMÞordinate“system“appropriate“to“the“particular“graphics.‘HThis“enables“Çh¹p˜osÇi¹itions“within“the“graphicŽ¡‘ãŒto–õÒbšMÞe“easily“lo˜cated,‘ ­either“for“lab˜elling“or“adding“extra“em²!b˜ellishing“features.‘Ì!It“is“used“in“either“ofŽ¡‘ãŒthe–¦ffolloš²!w“w˜a˜ys:Ž‘ãŒŸ Љffã²dŸ 我zSÏ\xyimport(Ž’³Ï«ÐwidthÏ,Ž‘¿ªÐheightÏ){Ž‘ TÇh¹graphicÇiÏ}ŽŽŽ¡‘zS\xyimport(Ž’³Ï«ÐwidthÏ,Ž–¿ªÐheightÏ)(Ž› TÄxÐ-o Ï,Ž“Äyd“¹-o Ï){Ž˜Çh¹graphicÇiÏ}ŽŽŽŸÜO‰ffã²dŸH‰¡¹Normally–}‘the“Çh¹graphicsÇi“¹will“bšMÞe“a“b˜oš²!x“con˜taining“a“graphic“impMÞorted“using“the“commands“from“pac˜k-Ž¡ages–¿Úsucš²!h“as“ÏgraphicsŽ‘2½*¹,‘7ÏepsfŽ‘ Ĺ¹or“ÏepsfigŽ‘'=Ö¹,‘7or“using“other“commands“pro˜vided“b˜y“the“loMÞcal“T‘þ,³Ÿ[wEŽ‘B X“im-Ž¡plemen•²!tation.‘‰5Ho“w“ev“er–Š.the“Çh¹graphicÇi“¹could“bšMÞe“Ðany“¹balanced“T‘þ,³Ÿ[wEŽ‘B X“material“whatso˜ev•²!er;‘üpro“vided‘Š.itŽ¡ošMÞccupies–¦fnon-zero“size,“b˜oth“vš²!ertically“and“horizon˜tally‘ÿe.ŽŽŽŒ‹øsõ Á à ý*tj‘㌹248’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? þhÉ þõ”® m:‘ñ'ïps: SDict begin xyc endŸ>7ïYps: currentpoint currentpoint translate 0.65166 0.65166 scale neg exch neg exch translateï:PSfile="import1.eps" llx=0 lly=0 urx=261 ury=261 rwi=2610 ŽŽŽŽïeps: currentpoint currentpoint translate 1 0.65166 div 1 0.65166 div scale neg exch neg exch translateŽŽŽŽŸýh0‘@˜ï3" {0.0 106.19545 -64.5175 -64.51749 106.19543 ov}xyŽŽŽŸT‡U‘ ­t¹framed›¦fcon•²!ten“ts˜of˜graphics˜ leŽŽŽŽŽŽŽŽŽŽŽŽ’ǽýïps: SDict begin xyc end‘ Z¹Ÿ>7ïYps: currentpoint currentpoint translate 0.65166 0.65166 scale neg exch neg exch translateï:PSfile="import1.eps" llx=0 lly=0 urx=261 ury=261 rwi=2610 ŽŽŽŽïeps: currentpoint currentpoint translate 1 0.65166 div 1 0.65166 div scale neg exch neg exch translateŽŽŽŽŸV!L‘Rational–¦fpMÞoinš²!ts“on“the“elliptic“curv˜e:‘ÝÝÄxŸü¾Â3Ž‘.ð¹+‘nìÄyd“Ÿü¾Â3Ž‘/>¹=‘ §7ŽŽŽŽŽŽŽŽŽ’ŒYsŸv±1ŽŽŽŽ‘+ÐPŸv±Ç¹1ŽŽŽŽŽ‘Xy&ŸÒËñ1ŽŽŽŽ‘OôàŸ.ž$ǹ1ŽŽŽŽŽ’±¬¹Ÿ64ÄPŽŽŽŽ‘½óŸ«œ´ÇÄPŽŽŽŽŽ’„쟺ýtǹ2ÄPŽŽŽŽŽ’°ã§Ÿ¿ãñ¹2ÄPŽŽŽŽŽ‘O៟¾i¹3ÄPŽŽŽŽŽ’»§.ŸVǹ3ÄPŽŽŽŽŽ‘-U¦ŸŠI´Ç1ŽŽŽŽ‘2ÌñŸ“Geï" {-0.00902 0.00902 l}xyŽŽŽ‘)”ýŸŠqï" {-2048 10 /xy AB}xyŽŽŽŽ‘)”ýŸŠqï" {-9.22758 9.22758 l}xyŽŽŽ‘)”ýŸŠqï" {-0.00902 0.00902 l}xyŽŽŽ‘rŠæŸŠI´1ŽŽŽŽ‘x1Ÿ“Geï" {-0.00902 0.00902 l}xyŽŽŽ‘nÊ=ŸŠqï" {-2048 10 /xy AB}xyŽŽŽŽ‘nÊ=ŸŠqï" {-9.22758 9.22758 l}xyŽŽŽ‘nÊ=ŸŠqï" {-0.00902 0.00902 l}xyŽŽŽ’Ô<Ÿ-ç'1ŽŽŽŽ’Ë‹Ÿ+ÿï" {0.00902 -0.00902 l}xyŽŽŽ’ÔKŸ4Åóï" {2048 10 /xy AB}xyŽŽŽŽ’ÔKŸ4Åóï" {9.22758 -9.22758 l}xyŽŽŽ’ÔKŸ4Åóï" {0.00902 -0.00902 l}xyŽŽŽŽŽŽŽŽŸxÝ‘k¹Figure–¦f2.6:‘ÝÝimpšMÞorting“a“graphic“for“lab˜ellingŽŽŽŸ$¿»‘ôŒThe–nïÐwidth“¹and“Ðheight“¹are“Çh¹n•²!um“bMÞerÇi¹s›nïgiv“en˜in˜the˜coMÞordinate˜system˜for˜the˜Ðc‘ÿp¹ontents–Ì^of“the“Çh¹graphicsÇi¹.ޤ ™š‘ãŒThese–&are“not“dimensions,›1fbut“coMÞordinate-lengths,˜using“the“units“appropriate“to“the“picture“displa•²!y“edŽ¡‘ãŒb²!y‘¦fÇh¹graphicÇi¹.ŽŸyx‘ôŒWhen›€ýpro•²!vided,‘»¬Ï(Ž‘{VÄxÐ-o Ï,Ž‘¿ªÄyd“¹-o Ï)Ž‘@§¹giv“e˜the˜distance˜in˜co•MÞordinate˜units˜from˜b“ottom-left˜corner˜to˜whereŽ¡‘ãŒthe–ttorigin“of“cošMÞordinates“should“b˜e“lo˜cated,‘~qusually“within“area“co•²!v“ered›ttb“y˜the˜Çh¹graphicÇi¹.‘Í7Usually˜theŽ¡‘ãŒnegativš²!es–/´of“these“n˜um˜bMÞers“will“giv˜e“the“cošMÞordinate“lo˜cation“of“the“b˜ottom-left“corner“of“the“Çh¹graphicÇi¹.Ž¡‘ãŒIf–¦fno“o sets“are“supplied“then“the“origin“is“presumed“to“lie“at“the“bMÞottom-left“corner.Ž©Pˆ‘ãŒÃ112Ž‘õŒÏ\xydef@\xyimport#1#{\xyimport@{#1}}ŽŽ¡‘ãŒÃ113Ž‘õŒÏ\xydef@\xyimport@#1#2{\xydelayimport@{#1}{#2}}ŽŽ¡‘ãŒÃ114Ž‘õŒÏ\xydef@\xydelayimport@#1#2{\xy@@ix@{#1{#2}}%ŽŽ¡‘ãŒÃ115Ž‘ûKÃÏ\xy@@{\expandafter\xyextern@\the\toks9}}ŽŽ¦‘ãŒÃ117Ž‘õŒÏ\xydef@\xyextern@(#1,#2){\hbox\bgroup\R@c=#1\p@‘¿ª\U@c=#2\p@\xyextern@i}ŽŽ¦‘ãŒÃ119Ž‘õŒÏ\xydef@\xyextern@i#1#{\DN@{#1}%ŽŽ¡‘ãŒÃ120Ž‘ûKÃÏ\ifx\next@\empty–¿ª\L@c=\z@“\D@c=\z@“\DN@{\xyextern@x}%ŽŽ¡‘ãŒÃ121Ž‘ûKÃÏ\else–¿ª\DN@{\xyextern@ii#1}\fi“\next@“}ŽŽ¦‘ãŒÃ123Ž‘õŒÏ\xydef@\xyextern@ii(#1,#2){\L@c=#1\p@‘¿ª\D@c=#2\p@ŽŽ¡‘ãŒÃ124Ž‘ûKÃÏ\advance\R@c-\L@c–¿ª\advance\U@c-\D@c“\xyextern@x}ŽŽ¦‘ãŒÃ126Ž‘õŒÏ\xydef@\xyimportdefault@{3}ŽŽ¡‘ãŒÃ127Ž‘õŒÏ\xydef@\xyexportwarning@#1#2#3{\xywarning@{%ŽŽ¡‘ãŒÃ128Ž‘ûKÃÏ#1–¿ªfor“import“has“zero“#2;“using“\xyimportdefault@#3“default}}ŽŽ¦‘ãŒÃ130Ž‘õŒÏ\xydef@\xyextern@x#1{\toks@={\egroup\L@c=}\setboxz@h{#1}%ŽŽ¡‘ãŒÃ131Ž‘ûKÃÏ\dimen@ii=\L@c–¿ª\advance\dimen@ii\R@c“\dimen@=\wdz@ŽŽ¡‘ãŒÃ132Ž‘ûKÃÏ\ifdim\dimen@=\z@‘¿ª\xyexportwarning@{graphic}{width}{cm}%ŽŽ¡‘ãŒÃ133Ž‘ mÏ\dimen@=\xyimportdefault@‘¿ªcm\fiŽŽ¡‘ãŒÃ134Ž‘ûKÃÏ\ifdim\dimen@ii=\z@‘¿ª\xyexportwarning@{coords}{width}{unit}%ŽŽ¡‘ãŒÃ135Ž‘ mÏ\dimen@ii=\xyimportdefault@\p@\fiŽŽŽŽŒ‹ù‚” Á à ý*tj‘ãŒÑ2.8.‘„CIMPOR‘ÿeT–¦fGRAPHICS“EXTENSION’ì¾¹249ŽŽ ¶?? ýh«w‘ãŒÃ136Ž‘ûKÃÏ\quotient@\next@\dimen@\dimen@ii‘¿ª\dimen@=\next@\p@ŽŽ¤ ™š‘ãŒÃ137Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\L@c}\L@c=\tmp@\dimen@ŽŽ¡‘ãŒÃ138Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\the\L@c\relax\R@c=}%ŽŽ¡‘ãŒÃ139Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\R@c}\R@c=\tmp@\dimen@ŽŽ¡‘ãŒÃ140Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\the\R@c\relax\setbase@\z@\z@}%ŽŽ¡‘ãŒÃ141Ž‘õŒÏ%ŽŽ¡‘ãŒÃ142Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\the\dimen@}\z@\D@c=}%ŽŽ¡‘ãŒÃ143Ž‘ûKÃÏ\dimen@ii=\U@c–¿ª\advance\dimen@ii\D@c“\dimen@=\ht\z@\advance\dimen@\dp\z@ŽŽ¡‘ãŒÃ144Ž‘ûKÃÏ\ifdim\dimen@=\z@‘¿ª\xyexportwarning@{graphic}{height}{cm}%ŽŽ¡‘ãŒÃ145Ž‘ mÏ\dimen@=\xyimportdefault@‘¿ªcm\fiŽŽ¡‘ãŒÃ146Ž‘ûKÃÏ\ifdim\dimen@ii=\z@‘¿ª\xyexportwarning@{coords}{height}{unit}%ŽŽ¡‘ãŒÃ147Ž‘ mÏ\dimen@ii=\xyimportdefault@\p@\fiŽŽ¡‘ãŒÃ148Ž‘ûKÃÏ\quotient@\next@\dimen@\dimen@ii‘¿ª\dimen@=\next@\p@ŽŽ¡‘ãŒÃ149Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\D@c}\D@c=\tmp@\dimen@ŽŽ¡‘ãŒÃ150Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\the\D@c\relax\U@c=}%ŽŽ¡‘ãŒÃ151Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\U@c}\U@c=\tmp@\dimen@ŽŽ¡‘ãŒÃ152Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\the\U@c\relax\setbase@@\z@}%ŽŽ¡‘ãŒÃ153Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\the\dimen@}}%ŽŽ¡‘ãŒÃ154Ž‘õŒÏ%ŽŽ¡‘ãŒÃ155Ž‘ûKÃÏ\setboxz@h{\kern-\L@c\lower\D@c\boxz@\kern\L@c}%ŽŽ¡‘ãŒÃ156Ž‘ mÏ\wd\z@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\boxz@“\the\toks@“\X@c=\z@“\Y@c=\z@ŽŽ¡‘ãŒÃ157Ž‘ûKÃÏ\ifdim\X@min>-\L@c–¿ª\X@min=-\L@c“\fi“\ifdim\X@max<\R@c“\X@max=\R@c“\fiŽŽ¡‘ãŒÃ158Ž‘ûKÃÏ\ifdim\Y@min>-\D@c–¿ª\Y@min=-\D@c“\fi“\ifdim\Y@max<\U@c“\Y@max=\U@c“\fiŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\idfromc@{import}\POS‘¿ª}ŽŽŸÝo‘ôŒ¹Normally– ëthe“Ï\xyimportŽ‘;Öйcommand“is“used“at“the“bMÞeginning“of“an“Ï\xy..\endxyŽ‘GV$¹en•²!vironmen“t.‘kItŽ¡‘ãŒis–6ónot“necessary“to“givš²!e“an˜y“basis“setup,‘›for“this“is“deduced“b˜y“measuring“the“dimensions“of“theŽ¡‘ãŒÇh¹graphicÇi–1W¹and“using“the“supplied“Ðwidth¹,‘TÐheight“¹and“o sets.‘~±The“Çh¹graphicÇi“¹itself“de nes“named“Çh¹pMÞosÇiŽ¡‘㌹called‘b2Ï"import"Ž‘1_‚¹,‘oÖloMÞcated–b2at“the“origin“and“haš²!ving“appropriate“exten˜ts“to“describMÞe“the“area“co˜v˜ered“b˜yŽ¡‘ãŒthe–ÙÇh¹graphicÇi¹.‘uøThis“mak²!es“it“particularly“easy“to“surround“the“Çh¹graphicÇi“¹with“a“frame,‘åÇas“on“the“leftŽ¡‘ãŒside–¦fof“ gure“2.6,“or“to“dra²!w“axes“passing“through“the“origin.ŽŸ&‘ôŒHere–¦fis“the“cošMÞde“used“to“apply“the“lab˜elling“in“ gure“2.6:ŽŸPˆ‘ãŒÏ\def\ellipA{\resizebox{6cm}{!}{%ŽŽ¡‘ï m\includegraphics{import1.eps}}}ŽŽ¡‘ãŒ\xyŽŽ¡‘ãŒ\xyimport(3.7,3.7)(1.4,1.4){\ellipA}*\frm{-}ŽŽ¡‘ãŒ,!D+<2pc,-1pc>*+!U\txt{%ŽŽ¡‘éKÃframed–¿ªcontents“of“graphics“file}\endxyŽŽ¡‘ãŒ\qquad\qquadŽŽ¡‘ãŒ\xy\xyimport(3.7,3.7)(1.4,1.4){\ellipA}ŽŽ¡‘ãŒ,!D+<2pc,-1pc>*+!U\txt{Rational‘¿ªpointsŽŽ¡‘éKÃon–¿ªthe“elliptic“curve:“$x^3+y^3=7$}ŽŽ¡‘ãŒ,(1,0)*+!U{1},(-1,0)*+!U{-1}ŽŽ¡‘ãŒ,(0,1)*+!R{1},(0,-1)*+!R{-1}ŽŽ¡‘ãŒ,(2,-1)*+!RU{P},(-1,2)*+!RU{-P}ŽŽ¡‘ãŒ,(1.3333,1.6667)*+!UR{-2P}ŽŽ¡‘ãŒ,(1.6667,1.3333)*!DL{\;2P}ŽŽ¡‘ãŒ,(-.5,1.9)*++!DL{3P},(1.9,-.5)*!DL{\;-3P}ŽŽ¡‘ãŒ,(-1,2.3)*+++!D{\infty}*=0{},{\ar+(-.2,.2)}ŽŽ¡‘ãŒ,(.5,2.3)*+++!D{\infty}*=0{},{\ar+(-.2,.2)}ŽŽŽŽŒ‹ú‘ì Á à ý*tj‘㌹250’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÏ,(2.3,-1)*+++!L{\infty}*=0{},{\ar+(.2,-.2)}ŽŽ¤ ™š‘ãŒ\endxyŽŽŸ•‘ôŒ¹This–nïexample“uses“the“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X‘¤v2Ÿ¤zÄ"Ž‘ ¹standard“ÏgraphicsŽ‘2Û.¹pac²!k‘ÿdDage“to“impMÞort“the“graphics“ le“Ïimport1.epsŽ‘A«=¹;Ž¡‘ãŒother–¬xpacš²!k‘ÿdDages“could“ha˜v˜e“bMÞeen“used“instead.–ðe.g.“ÏepsfigŽ‘'n¹,‘­üÏepsfŽ‘¬¤¹,‘­üor–¬xthe“Ï\pictureŽ‘5V@¹or“Ï\illustrationŽŽ¡‘㌹commands–¦fin“ÕTextures“¹on“the“Macin²!tosh.ŽŸ Þ‘ôŒThe–Ezonly“pšMÞossible“problems“that“can“o˜ccur“are“when“the“graphics“pac²!k‘ÿdDage“is“loaded“after‘-$X‘ü·ŸâÃYŽŽ‘¬„-picŽ¡‘ãŒhas–¦fbMÞeen“loaded.‘ÝÝGenerally“it“is“advisable“to“ha•²!v“e‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic–¦floading“Ðafter“¹all“other“macro“pac²!k‘ÿdDages.Ž©s‘ãŒÔThe–2end“&“LogޤPˆ‘ãŒÃ196Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ198Ž‘õŒÏ%–¿ª$Log:“xyimport.doc,v“$ŽŽ¤ ™š‘ãŒÃ199Ž‘õŒÏ%–¿ªRevision“3.6› T1998/03/06“01:28:05˜krisroseŽŽ¡‘ãŒÃ200Ž‘õŒÏ%–¿ªReleasing“(with“Y&Y“fonts).ŽŽ¡‘ãŒÃ201Ž‘õŒÏ%ŽŽ¡‘ãŒÃ202Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¡‘ãŒÃ203Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ204Ž‘õŒÏ%ŽŽ¡‘ãŒÃ205Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:19:22“rossŽŽ¡‘ãŒÃ206Ž‘õŒÏ%–¿ªno“changesŽŽ¡‘ãŒÃ207Ž‘õŒÏ%ŽŽ¡‘ãŒÃ208Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:36:33˜rossŽŽ¡‘ãŒÃ209Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ210Ž‘õŒÏ%ŽŽ¡‘ãŒÃ211Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ212Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ213Ž‘õŒÏ%ŽŽ¡‘ãŒÃ214Ž‘õŒÏ%–¿ªRevision“2.14– T1995/07/05“22:10:51“krisŽŽ¡‘ãŒÃ215Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ216Ž‘õŒÏ%ŽŽ¡‘ãŒÃ217Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ218Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ219Ž‘õŒÏ%ŽŽ¡‘ãŒÃ220Ž‘õŒÏ%ŽŽ¡‘ãŒÃ221Ž‘õŒÏ%–¿ªNEW“for“version“3.0“by“by“Ross“Moore.ŽŽŸ/Gˆ‘ãŒÝ2.9Ž‘r|MoŒÌvie–ffStorybs3oard“extensionŽŸö›‘ãŒæV‘ÿ «ers.‘p3.5–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸ1‘㌹This–Îextension“inš²!terprets“the“Ï\scene“¹primitiv˜e“of“the“Ïmovie“¹class,‘5hsetting“the“progress“indicators“toŽ¡‘ãŒdummš²!y–¦fv‘ÿdDalues.‘ÝÝThe“follo˜wing“assumes“that“y˜our“are“familiar“with“the“ÏmovieŽ‘$ ¹class.ަ‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xymovie.doc,v“3.5“1997/05/28“13:05:01“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Movie“Storyboard“extension''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1996-1997“Kristoffer“H.“Rose“ŽŽŽŽŒ‹ûŸD Á à ý*tj‘ãŒÑ2.9.‘„CMO•²!VIE›¦fSTOR‘ÿeYBO“ARD˜EXTENSION’üÞ¹251ŽŽ ¶?? ýh«w‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{movie}{Movie–¿ªStoryboard“extension}{\stripRCS$Revision:“3.5“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸ|õ‘ôŒ¹The–¦fsize“of“the“frame“is“determined“b²!y“the“commandŽ‘ãŒŸ çô‰ffã²dŸ ?Ü‘~C|Ï\MovieSetup{width=Ž‘(=¦Ðwidth‘× Ï,height=Ž‘.Ô[Ðheight‘ êÏ,ޑɔ¹.–Ó3.“.“Ï}ŽŽŽŸ5£‰ffã²dŸ–ã¹(the›á.–Ó3.“.‘Üindicate˜the˜other˜argumen•²!ts˜required˜b“y˜the˜ÏmovieŽ‘$йclass˜but˜silen“tly˜ignored˜b“y˜the‘ð‹X‘ü·ŸâÃYŽŽ‘oë-picŽ¡ÏmovieŽ‘ d¸¹extension).Ž¡‘ÔNote:‘ÇS¹This–yQextension“still“expMÞerimenš²!tal“and“sub‘›»ject“to“c˜hange.‘ÎÖThe“only“doMÞcumen˜tation“is“in“theŽ¡Ïmovie.clsŽ‘7c`¹source‘¦f le.Ž¡‘The–Êimplemenš²!tation“mimics“the“aspMÞects“of“the“ÏkeyvalŽ‘*·¹pac˜k‘ÿdDage“needed“here,‘:cnamely“reading“theŽ¡Ïheight–¦f¹and“Ïwidth“¹parameters.ަÃ61Ž‘Ï\xynew@{dimen}\m@heightŽŽ¡Ã62Ž‘Ï\xynew@{dimen}\m@widthŽŽ¦Ã64Ž‘Ï\xydef@\extractparameterm@#1#2#3{%ŽŽ¡Ã65Ž‘¿ªÏ\DN@##1,#1=##2,##3@{\csname‘¿ªm@#1\endcsname=##2\relax}%ŽŽ¡Ã66Ž‘¿ªÏ\next@,#2,#3,@}ŽŽ¦Ã68Ž‘Ï\xydef@\MovieSetup#1{%ŽŽ¡Ã69Ž‘¿ªÏ\extractparameterm@{height}{#1}{height=2in}%ŽŽ¡Ã70Ž‘¿ªÏ\extractparameterm@{width}{#1}{width=2in}%ŽŽ¡Ã71Ž‘Ï}ŽŽ¦‘¹The–¦fprogress“macros“all“default“toަÃ77Ž‘Ï\xydef@\theScene{0}ŽŽ¡Ã78Ž‘Ï\xydef@\theF{0}ŽŽ¡Ã79Ž‘Ï\xydef@\theFr{1}ŽŽŽŽŒ‹ü©x Á à ý*tj‘㌹252’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ80Ž‘õŒÏ\xydef@\F#1{#1(0)}ŽŽ¤ ™š‘ãŒÃ81Ž‘õŒÏ\xydef@\Fr#1{#1(1)}ŽŽŸb$‘ôŒ¹W‘ÿee–æŸneed“to“inš²!terpret“and“ignore“the“argumen˜ts“to“Ï\sceneŽ‘*K:¹except“the“Ï*Ž‘ Œè¹whic˜h“is“used“on“the“lastŽ¡‘ãŒscene–ðsince“this“means“that“w²!e“should“output“the“scene“with“progress“v‘ÿdDalues“correspMÞonding“to“\TheŽ¡‘ãŒEnd".Ž©Pˆ‘ãŒÃ89Ž‘õŒÏ\xynew@{if}\iflastframe@ŽŽ¡‘ãŒÃ90Ž‘õŒÏ\xynew@{count}\m@sceneŽŽ¦‘ãŒÃ92Ž‘õŒÏ\xydef@\scene{\advance\m@scene\@neŽŽ¡‘ãŒÃ93Ž‘ûKÃÏ\DN@{\ifx*\next–¿ª\lastframe@true“\DN@*{\xyFN@\scene@}%ŽŽ¡‘ãŒÃ94Ž‘ mÏ\else–¿ª\let\next@=\scene@“\fi“\next@}%ŽŽ¡‘ãŒÃ95Ž‘ûKÃÏ\xyFN@\next@}ŽŽ¦‘ãŒÃ97Ž‘õŒÏ\xydef@\scene@{%ŽŽ¡‘ãŒÃ98Ž‘ûKÃÏ\ifx[\next–¿ª\DN@[##1]{\scene@i}\else“\let\next@=\scene@i“\fi“\next@}ŽŽ¦‘ãŒÃ100Ž‘õŒÏ\long\def\scene@i#1{{%ŽŽ¡‘ãŒÃ101Ž‘õŒÏ%ŽŽ¡‘ãŒÃ102Ž‘ mÏ\def\caption##1{\gdef\m@caption{Scene–¿ª\the\m@scene.“##1}}%ŽŽ¡‘ãŒÃ103Ž‘ mÏ\edef\theScene{\the\m@scene}%ŽŽ¡‘ãŒÃ104Ž‘ mÏ\def\theF{0}\def\theFr{1}%ŽŽ¡‘ãŒÃ105Ž‘ mÏ\def\F##1{##1(0)}\def\Fr##1{##1(1)}%ŽŽ¡‘ãŒÃ106Ž‘ mÏ\scene@frame{#1}%ŽŽ¡‘ãŒÃ107Ž‘õŒÏ%ŽŽ¡‘ãŒÃ108Ž‘ mÏ\iflastframe@ŽŽ¡‘ãŒÃ109Ž‘ËÏ\def\caption##1{}%ŽŽ¡‘ãŒÃ110Ž‘ËÏ\gdef\m@caption{The‘¿ªEnd.}%ŽŽ¡‘ãŒÃ111Ž‘ËÏ\def\theF{1}\def\theFr{0}%ŽŽ¡‘ãŒÃ112Ž‘ËÏ\def\F##1{##1(1)}\def\Fr##1{##1(0)}%ŽŽ¡‘ãŒÃ113Ž‘ËÏ\scene@frame{#1}%ŽŽ¡‘ãŒÃ114Ž‘ mÏ\fiŽŽ¡‘ãŒÃ115Ž‘ mÏ}\ignorespaces}ŽŽ¦‘ãŒÃ117Ž‘õŒÏ\def\scene@frame#1{\vbox{\nullŽŽ¡‘ãŒÃ118Ž‘ mÏ\dimen@=\m@width‘¿ª\advance\dimen@2\xydashw@ŽŽ¡‘ãŒÃ119Ž‘ mÏ\hrule‘¿ªwidth\dimen@ŽŽ¡‘ãŒÃ120Ž‘ mÏ\hbox–¿ªto\dimen@{\vrule“width\xydashw@“\hssŽŽ¡‘ãŒÃ121Ž‘ËÏ\vbox–¿ªto\m@height{\hsize=\m@width“\null\vfil{#1}\vfil\null}%ŽŽ¡‘ãŒÃ122Ž‘ËÏ\hss–¿ª\vrule“width\xydashw@}%ŽŽ¡‘ãŒÃ123Ž‘ mÏ\hrule‘¿ªwidth\dimen@ŽŽ¡‘ãŒÃ124Ž‘ mÏ\setbox0=\hbox{%ŽŽ¡‘ãŒÃ125Ž‘ËÏ\setbox0=\hbox–¿ªto\m@width{\hss\strut“\m@caption\hss}%ŽŽ¡‘ãŒÃ126Ž‘ËÏ\dimen0=\dp0–¿ª\ht0=0pt“\dp0=0pt“\raise\dimen0\box0}%ŽŽ¡‘ãŒÃ127Ž‘ mÏ\ht0=0pt–¿ª\dp0=0pt“\box0\relaxŽŽ¡‘ãŒÃ128Ž‘ mÏ\null}}ŽŽŸ'¾ž‘ãŒÔThe–2end“&“Logަ‘ãŒÃ134Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ136Ž‘õŒÏ%–¿ª$Log:“xymovie.doc,v“$ŽŽ¡‘ãŒÃ137Ž‘õŒÏ%–¿ªRevision“3.5› T1997/05/28“13:05:01˜krisroseŽŽŽŽŒ‹ýµK Á à ý*tj‘ãŒÑ2.10.‘„CPOSTSCRIPT‘¦fBA²!CKEND’1&¹253ŽŽ ¶?? ýh«w‘ãŒÃ138Ž‘õŒÏ%–¿ªFixed“missing“breaks“bug.ŽŽ¤ ™š‘ãŒÃ139Ž‘õŒÏ%ŽŽ¡‘ãŒÃ140Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“02:37:17˜krisroseŽŽ¡‘ãŒÃ141Ž‘õŒÏ%–¿ªFits“movie.cls“3.4...still“experimental.ŽŽ¡‘ãŒÃ142Ž‘õŒÏ%ŽŽ¡‘ãŒÃ143Ž‘õŒÏ%–¿ªRevision“1.1› T1997/05/18“01:22:10˜krisroseŽŽ¡‘ãŒÃ144Ž‘õŒÏ%–¿ªInitial“revisionŽŽ¡‘ãŒÃ145Ž‘õŒÏ%ŽŽ¡‘ãŒÃ146Ž‘õŒÏ%–¿ªNEW“for“version“3.4.ŽŽŸ-t‘ãŒÝ2.10Ž‘ŒP•ŒÌostScript‘ffbac“k“endŽŸ€ÿ‘ãŒæV‘ÿ «ers.‘p3.7–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ»s‘âsùX‘ü·ŸâÃYŽŽ‘íó#-ps–9`is“a“`bacš²!k-end'“whic˜h“pro˜vides‘! X‘ü·ŸâÃYŽŽ‘  j-pic“with“the“abilit˜y“to“proMÞduce“D˜VI‘9E les“that“use“ÕPostScriptŽ¡‘ãŒÏ\specialsŽ‘ïy¹for–¦fdraš²!wing“rather“than“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“fon˜ts.ŽŸ ¡Ž‘ôŒIn–“lparticular“this“makš²!es“it“pMÞossible“to“prin˜t‘{X‘ü·ŸâÃYŽŽ‘úv-pic“D˜VI‘“/ les“on“systems“whic˜h“do“not“ha˜v˜e“theŽ¡‘ãŒabilitš²!y–üto“load“the“spMÞecial“fon˜ts.‘ö The“pMÞenalt˜y“is“that“the“generated“D˜VI‘ä les“will“only“function“withŽ¡‘ãŒone–¦fparticular“Dš²!VI“driv˜er“program.‘ÝÝHence“whenev˜er‘ŽX‘ü·ŸâÃYŽŽ‘ p-ps“is“activ‘ÿdDated“it“will“w˜arn“the“user:ŽŸ@…‘êïps: SDict begin xyc endŸ+Ÿówè‘8äX‘ü·ŸâÃYŽŽ‘CÿD-pic–¦MW‘ÿearning:›yšThe“proMÞduced“D²!VI“ le“is“Ðnot“p‘ÿp¹ortable‘Ò¡¹:˜ItŽŸ ˆ‘5conš²!tains–¦MÕPostScript“Ï\special¹s“for“Çh¹one“particularÇi“¹driv˜erŽŽŽŽŽŽŽŽŽŽŽŸýh0’Äz¾ï4" {0.0 196.47948 -14.43663 -196.47946 14.43663 ov}xyŽŽŽŽŽŽŽŸŠ~‘ãŒA–¦fmore“complete“discussion“of“the“pros“and“cons“of“using“this“bac•²!k“end–¦fis“included“bMÞelo²!w.ŽŸ”‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyps.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``PostScript“backend''.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1997“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽŽŽŒ‹þ¾Ÿ Á à ý*tj‘㌹254’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ24Ž‘õŒÏ%%–¿ªAs“a“special“exception,“you“may“use“this“file“and“all“files“derivedŽŽ¤ ™š‘ãŒÃ25Ž‘õŒÏ%%–¿ªfrom“it“without“restrictions.‘ TThis“special“exception“was“added“withŽŽ¡‘ãŒÃ26Ž‘õŒÏ%%–¿ªversion“3.7“of“Xy-pic.ŽŽ¡‘ãŒÃ27Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ28Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽŸPˆ‘ãŒÃ30Ž‘õŒÏ\xyprovide{ps}{PostScript–¿ªbackend}{\stripRCS$Revision:“3.7“$}%ŽŽ¡‘ãŒÃ31Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ32Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ1«™‘ãŒÞ2.10.1Ž‘ŒCho`osing–€the“D• VI-driv“erŽŸé ‘ãŒ¹Including‘žƒÏ\xyoption{ps}Ž‘Oø¨¹within–žƒthe“doMÞcumenš²!t“pream˜ble,‘ÓJtells‘†-X‘ü·ŸâÃYŽŽ‘ -pic“that“the“ÕPostScript“¹alternativ˜eŽ¡‘ãŒto–µRthe“fonš²!ts“should“bMÞe“used,‘ù pro˜vided“the“means“to“do“this“is“also“spMÞeci ed.‘  This“is“done“b˜y“alsoŽ¡‘ãŒspMÞecifying–Ÿa“dvi-drivš²!er“whic˜h“is“capable“of“recognising“and“in˜terpreting“Ï\specialŽ‘3þÏ\expandafter\let\expandafter\next\csname#2@\endcsnameŽŽ¡Ã191Ž‘Ï%‘>þ\ifx\next\relax–¿ª\DN@{\xyerror@{PostScript“specials“for“`#2'“not“supported}{}}%ŽŽ¡Ã192Ž‘#>þÏ\ifx\next\relax‘¿ª\DN@{\UsePSspecials@{#2}{}}%ŽŽ¡Ã193Ž‘Ï%‘>þ\else‘¿ª\DN@{\expandafter\UsePSspecials@\csname#2@\endcsname#1}\fiŽŽ¡Ã194Ž‘#>þÏ\else‘¿ª\DN@{\UsePSspecials@{#2}{#1}}\fiŽŽ¡Ã195Ž‘TÏ\fiŽŽ¡Ã196Ž‘¿ªÏ\elseŽŽ¡Ã197Ž‘TÏ\DN@{#2}\ifx\next@\empty‘¿ª\DN@{\PSspecials@true}%ŽŽ¡Ã198Ž‘TÏ\elseŽŽ¡Ã199Ž‘Ï%‘>þ\edef\next@{\expandafter\string\csname#2@\endcsname}%ŽŽ¡Ã200Ž‘#>þÏ\DN@{#2}%ŽŽ¡Ã201Ž‘#>þÏ\edef\nextii@{\expandafter\string\whichPSspecials@}%ŽŽ¡Ã202Ž‘#>þÏ\ifx\next@\nextii@\DN@{\PSspecials@true}%ŽŽ¡Ã203Ž‘#>þÏ\elseŽŽ¡Ã204Ž‘(þ¨Ï\ifx\firstPS@@\relaxŽŽ¡Ã205Ž‘.¾RÏ\DN@{\xyerror@{Only–¿ªone“PS““allowed:“\dvitype@“already“loaded}{}}%ŽŽ¡Ã206Ž‘(þ¨Ï\elseŽŽ¡Ã207Ž‘.¾RÏ\expandafter\let\expandafter\next\csname#2@\endcsnameŽŽ¡Ã208Ž‘.¾RÏ\ifx\next\relaxŽŽ¡Ã209Ž‘4}üÏ\DN@{\xyerror@{PostScript–¿ªspecials“for“`#2'“not“supported}{}}%ŽŽ¡Ã210Ž‘.¾RÏ\elseŽŽ¡Ã211Ž‘4}üÏ\xywarning@{Changing–¿ªPS““to“#2“}%ŽŽ¡Ã212Ž‘Ï%‘"}ü\DN@{\expandafter\UsePSspecials@\csname#2@\endcsname#1}%ŽŽŽŽŒ‹Üx Á à ý*tj‘㌹256’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ213Ž‘ Ï\DN@{\UsePSspecials@{#2}{#1}}%ŽŽ¤ ™š‘ãŒÃ214Ž‘JkÏ\fiŽŽ¡‘ãŒÃ215Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ216Ž‘ËÏ\fiŽŽ¡‘ãŒÃ217Ž‘ mÏ\fiŽŽ¡‘ãŒÃ218Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ©Pˆ‘ôŒ¹The–Ò(folloš²!wing“con˜trol“sequences“will“also“load“the“correspMÞonding“driv˜er.‘a#They“are“retained“forŽ¡‘ãŒbac•²!kw“ards›¦fcompatibilit“y˜only;˜they˜ma“y˜bMÞe˜phased˜out˜of˜future˜releases:Ž‘ãŒŸ ïˉffã²dŸ A*‘6ó~Ï\UseDVIPSspecialsŽŽ’ºå´dvipsŽŽŽŽŽ¡‘6ó~\UsePostScriptSpecialsŽŽ’ºå´dvipsŽŽŽŽŽ¡‘6ó~\UseTexturesPSspecialsŽŽ’ºå´TexturesŽŽŽŽŽ¡‘6ó~\UseTexturesSpecialsŽŽ’ºå´TexturesŽŽŽŽŽŸ6ñ‰ffã²dŸ hT¦Ã235Ž‘Ï\xydef@\UseDVIPSspecials{\UsePSspecials@\dvips@}ŽŽ¡Ã236Ž‘Ï\xydef@\UseTexturesPSspecials{\UsePSspecials@\Textures@}ŽŽ¡Ã237Ž‘Ï\xydef@\UseTexturesSpecials{\UsePSspecials@\Textures@}ŽŽ¡Ã238Ž‘Ï\xydef@\UsePostScriptSpecials{\UsePSspecials@\dvips@}ŽŽ¡Ã239Ž‘Ï\xydef@\UseOzTeXspecials{\UsePSspecials@\OzTeX@}ŽŽ¡Ã240Ž‘Ï\xydef@\UseDVITOPSspecials{\UsePSspecials@\dvitops@}ŽŽ¡Ã241Ž‘Ï%\xylet@\UseDVIPSSpecials=\UseDVIPSspecialsŽŽ¡Ã242Ž‘Ï%\xylet@\UsePSspecials=\UsePostScriptSpecialsŽŽ¡Ã243Ž‘Ï%\xylet@\UseTeXturesPSspecials=\UseTexturesPSspecialsŽŽ¡Ã244Ž‘Ï%\xylet@\UseTexturesSpecials=\UseTexturesPSspecialsŽŽ¡Ã245Ž‘Ï%\xylet@\UseTeXturesSpecials=\UseTexturesSpecialsŽŽŸvÃ251Ž‘Ï\message{drivers,}ŽŽ¦‘¹First–úÓthe“drivš²!er“is“spMÞeci ed“b˜y“Ï\UsePSspecials{Ž‘Z5ÉÇh¹driv˜erÇiÏ}Ž‘¿ª¹.‘Û%This“causes“a“spMÞecial“driv˜er“ le“to“bMÞeŽ¡read.‘ÌUse–pâof“fonš²!ts“is“restored“at“an˜y“pMÞoin˜t“b˜y“calling“Ï\NoPSspecialsŽ‘N,„¹,‘{–after“whic˜h“use“of“ÕPostScriptŽ¡¹is–wãre-instated“bš²!y“simply“Ï\UsePSspecialsŽ‘Tó/¹,‘¬Cwithout“need“of“an“argumen˜t.‘RUThe“commands“describMÞedŽ¡abšMÞo•²!v“e–¦ffor“sp˜eci c“drivš²!ers“are“simply“aliases“for“Ï\UsePSspecials@{Ž‘_¡Çh¹driv˜erÇiÏ}Ž‘¿ª¹.Ž¡‘Once–Othe“new“bindings“ha•²!v“e–ObMÞeen“setup,‘`‘then“the“use“of“Ï\specialŽ‘1Ll¹s“is“go•²!v“erned›Ob“y˜the˜v‘ÿdDalue˜of˜theŽ¡conditional‘¦fÏ\ifPSspecials@Ž‘T!²¹.ަÃ266Ž‘Ï\xydef@\loadPSdriver@#1#2{\xyinputorelse@{xy#1}%ŽŽ¡Ã267Ž‘¿ªÏ{\xyrequire{#2}\expandafter\ifx\csname–¿ªxy#2loaded\else“%ŽŽ¡Ã268Ž‘¿ªÏ{\xyerror@{Unable–¿ªto“load“xy#1.tex“for“#2“driver}{}}\fi}}ŽŽ¦Ã270Ž‘Ï\xydef@\dvips@{\loadPSdriver@{ps-dvi}{dvips}}ŽŽ¡Ã271Ž‘Ï\xydef@\Textures@{\loadPSdriver@{ps-txt}{Textures}}ŽŽ¡Ã272Ž‘Ï\xydef@\OzTeX@{\loadPSdriver@{ps-oz}{OzTeX}}ŽŽ¡Ã273Ž‘Ï\xydef@\dvitops@{\loadPSdriver@{ps-dto}{dvitops}}ŽŽ¡Ã274Ž‘Ï\xydef@\dvipsone@{\loadPSdriver@{ps-one}{dvipsone}}ŽŽ¡Ã275Ž‘Ï%\xydef@\dviwindo@{\loadPSdriver@{ps-wdo}{dviwindo}}ŽŽ¡Ã276Ž‘Ï%\xydef@\dviwin@{\loadPSdriver@{ps-win}{dviwin}}ŽŽ¡Ã277Ž‘Ï%\xydef@\pubps@{\loadPSdriver@{ps-pub}{pubps}}ŽŽ¦‘¹The–΂drivš²!er“ le“con˜tains“de nitions“whic˜h“are“spMÞeci c“to“the“particular“driv˜er.‘V1Note“that“someŽ¡driv•²!ers›Ñpma“y˜not˜b•MÞe˜able˜to˜supp“ort˜all˜of˜the˜ÕPostScript˜¹e ects˜that˜can˜b“e˜requested˜from˜withinŽ¡‘þçªX‘ü·ŸâÃYŽŽ‘ g -pic.‘a>When–'†an“unsuppMÞorted“e ect“is“encounš²!tered,‘GÎit“is“simply“ignored;‘ha“w˜arning“message“will“bMÞeŽ¡prošMÞduced–¦funless“to˜o“manš²!y“suc˜h“messages“ha˜v˜e“already“bMÞeen“issued.ŽŽŽŒ‹èÑ Á à ý*tj‘ãŒÑ2.10.‘„CPOSTSCRIPT‘¦fBA²!CKEND’1&¹257ŽŽ ¶?? ýh«w‘ãŒÃ288Ž‘õŒÏ\global\newif\ifPSspecials@ŽŽ¤ ™š‘ãŒÃ289Ž‘õŒÏ%\xydef@\UsePSspecials@#1{\gdef\whichPSspecials@{#1}\xyFN@\PSspecials@}ŽŽ¡‘ãŒÃ290Ž‘õŒÏ\xydef@\UsePSspecials@#1{\def\whichPSspecials@{#1}%ŽŽ¡‘ãŒÃ291Ž‘ûKÃÏ\DN@{\Textures@}\ifx\next@\whichPSspecials@ŽŽ¡‘ãŒÃ292Ž‘ mÏ\DN@##1{\xyrequire{textures}%ŽŽ¡‘ãŒÃ293Ž‘ËÏ\def\whichPSspecials@{textures}\xyps@options}%ŽŽ¡‘ãŒÃ294Ž‘ûKÃÏ\else\DN@{\dvips@}\ifx\next@\whichPSspecials@ŽŽ¡‘ãŒÃ295Ž‘ mÏ\DN@##1{\xyrequire{dvips}%ŽŽ¡‘ãŒÃ296Ž‘ËÏ\def\whichPSspecials@{dvips}\xyps@options}%ŽŽ¡‘ãŒÃ297Ž‘ûKÃÏ\else\DN@{\OzTeX@}\ifx\next@\whichPSspecials@ŽŽ¡‘ãŒÃ298Ž‘ mÏ\DN@##1{\xyrequire{oztex}%ŽŽ¡‘ãŒÃ299Ž‘ËÏ\def\whichPSspecials@{oztex}\xyps@options}%ŽŽ¡‘ãŒÃ300Ž‘ûKÃÏ\else\DN@{\dvitops@}\ifx\next@\whichPSspecials@ŽŽ¡‘ãŒÃ301Ž‘ mÏ\DN@##1{\xyrequire{dvitops}%ŽŽ¡‘ãŒÃ302Ž‘ËÏ\def\whichPSspecials@{dvitops}\xyps@options}%ŽŽ¡‘ãŒÃ303Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ304Ž‘ mÏ\DN@##1{\xyrequire{ps}\xyrequire{#1}\xyps@options}%ŽŽ¡‘ãŒÃ305Ž‘ûKÃÏ\fi\fi\fi\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ307Ž‘õŒÏ\xydef@\xyps@options{%ŽŽ¡‘ãŒÃ308Ž‘ûKÃÏ\xyrequire{ps}\xyrequire{line}\xyrequire{color}\xyrequire{crayon}%ŽŽ¡‘ãŒÃ309Ž‘ûKÃÏ\xyrequire{rotate}\xyrequire{tile}\xyrequire{frame}\xyuncatcodes‘¿ª}ŽŽ¡‘ãŒÃ310Ž‘õŒÏ\xydef@\whichPSspecials@{}ŽŽ¦‘ãŒÃ312Ž‘õŒÏ\xydef@\NoPSspecials{\xyPSwarning@{off}%ŽŽ¡‘ãŒÃ313Ž‘ûKÃÏ\PSspecials@false\aftergroup\resetPS@}ŽŽ¡‘ãŒÃ314Ž‘õŒÏ\xydef@\resetPS@{\ifPSspecials@\xyPSwarning@{back‘¿ªon}\fi}ŽŽ¡‘ãŒÃ315Ž‘õŒÏ\xydef@\UsePSspecials@x{\PSspecials@true\resetPS@}ŽŽ¦‘ãŒÃ317Ž‘õŒÏ\xydef@\xyPSwarning@#1{\xywarning@{PostScript–¿ªswitched“#1}}ŽŽ¡‘ãŒÃ318Ž‘õŒÏ%ŽŽ¡‘ãŒÃ319Ž‘õŒÏ%\xydef@\xyPSraw@{%ŽŽ¡‘ãŒÃ320Ž‘õŒÏ%–¿ª\ifPSspecials@\expandafter\PSraw@@\else\expandafter\eat@\fi“}ŽŽ¦‘ôŒ¹Unloading–¦fthe“ÕPostScript¹-bac•²!k“end–¦fis“handled“bš²!y“the“ÏunloadŽ‘)ÊÈÇh¹driv˜erÇi¹.ަ‘ãŒÃ397Ž‘õŒÏ\xyaddunsupport{ps}{\csname‘¿ªUnloadPS@@\endcsname}ŽŽŸ!:‘ãŒÔadding–gnew“driv¦ters‘ ó5¹Other–®qdrivš²!ers“can“bMÞe“added“b˜y“including“an“appropriate“con˜trol-sequence“nameŽ¡‘ãŒfor–nïthe“drivš²!er“at“this“pMÞoin˜t.‘v The“purpMÞose“of“an“expansion“suc˜h“as“Ï\xydef@\OzTeX@{\noexpand\OzTeX@}ŽŽ¡‘㌹is–í\so“that“this“name“alw•²!a“ys–í\refers“to“a“unique“tokš²!en.‘ /The“macro“Ï\PSspecials@@Ž‘P–Z¹de ned“bMÞelo˜w,‘^detectsŽ¡‘ãŒthis–¦ftokš²!en“and“then“calls“up“the“appropriate“macro“to“mak˜e“the“necessary“bindings.Ž¡‘ôŒThš²!us–¦fadding“a“new“driv˜er“in˜v˜olv˜es“5“steps:ŽŸ%à‘óøéÇŽŽŽ‘þì¹1–¦fDe ne“a“new“con²!trol“sequence,“as“just“explained.Ž©kP‘óøéÇŽŽŽ‘þì¹2–tDe ne“appropriately“named“macros“to“generate“the“desired“Ï\specialŽ‘1qn¹s.‘Í(See“the“existing“onesŽ¡‘þìfor–¦fexamples“of“what“is“needed“here.)ަ‘óøéÇŽŽŽ‘þì¹3–*…De ne“a“macro“that“will“pMÞerform“the“appropriate“bindings“of“the“di eren²!t“classes“of“Ï\specialŽ‘1'Õ¹.Ž¡‘þì(See–¦fthe“existing“ones“for“examples“of“what“is“needed“here.)ަ‘óøéÇŽŽŽ‘þì¹4–~=Determine“hoš²!w“frequen˜tly“the‘eçX‘ü·ŸâÃYŽŽ‘åG-ps“dictionary“m˜ust“bMÞe“included“within“the“P˜ostScript“ le.Ž¡‘þìOnce–º(at“the“bšMÞeginning)“is“the“ideal,‘%Üho•²!w“ev“er–ºit“ma²!y“b˜e“necessary“to“include“it“with“ev²!ery“page|ŽŽŽŒ‹ö Á à ý*tj‘㌹258’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘þì¹this–is“the“case“with“ÕTextures¹.‘—èAlso“if“the“dictionary“can“bMÞe“loaded“as“a“header“or“prolog,ޤ ™š‘þìdetermine–Ôwhether“this“can“bšMÞe“done“only“once“or“m²!ust“b˜e“for“eacš²!h“page.‘fÃAlso“c˜hec˜k“whether“aŽ¡‘þìspMÞeci c–¦fname“is“required,“as“with“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X.Ž©¯þ‘óøéÇŽŽŽ‘þì¹5–HBChec²!k“to“see“whether“the“Ï\dumpPSdictŽ‘GÌÒ¹macro“correctly“writes“the“dictionary“to“a“ le.‘ÃpTheŽ¡‘þìÏ\endlinecharŽ‘GŽ{¹can–¦fbšMÞe“imp˜ortan²!t“here.ަ‘ósÃX‘ü·ŸâÃYŽŽ‘þó#-ps–Çewš²!orks“b˜y“rebinding“existing“con˜trol“sequence“names,‘Ï¥in“the‘¯X‘ü·ŸâÃYŽŽ‘.o-pic“k˜ernel“and“extensions,‘Ï¥toŽ¡‘ãŒha•²!v“e–½Šnew“expansions.‘?These“new“expansions“maš²!y“ev˜en˜tually“t˜ypMÞeset“nothing,‘ìor“at“most“an“empt˜y“bMÞo˜x;Ž¡‘ãŒinstead–[ðthey“use“a“Ï\specialŽ‘4µ0¹command“to“place“ÕPostScript“¹coMÞde“directly“in²!to“the“Ï.dviŽ‘¶ˆ¹ le“(or“ÏDVI2ŽŽ¡‘㌹resources–°ÿin“the“case“of“ÕTextures¹on“the“Macin²!tosh).‘ý§The“new“expansions“alter“the“T‘þ,³Ÿ[wEŽ‘B X“proMÞcessing,Ž¡‘ãŒoften–¦fsimplifying“it“considerably“hence“leading“to“saš²!vings“in“bMÞoth“time“and“memory“requiremen˜t.ŽŸ Ÿ3‘ôŒIt–Tïshould“not“bšMÞe“p˜ossible“to“mix“Ï\specialsŽ‘}ŽŽ¡’©ýe\dumpPSdict‘¿ª{}ŽŽ¡’©ýe\xyPSdefaultdictŽŽŸœF‰ffã²dŸþÓ–ýë¹Normally“it“is“sucienš²!t“to“in˜v˜ok˜e“Ï\UsePSheader{}Ž‘Sy7¹,‘whic˜h“in˜v˜ok˜es“the“default“name“of“Ïxy37dict.pro¹,Ž¡referring–I£to“the“currenš²!t“v˜ersion“of‘1MX‘ü·ŸâÃYŽŽ‘°­-pic.‘Ç”The“optional“Çh¹ lenameÇi“¹allo˜ws“a“di eren˜t“ le“to“bMÞe“used.Ž¡Placing‘ýzÏ\dumpPSdict{..}Ž‘^5ê¹within–ýzthe“doMÞcumenš²!t“pream˜ble“causes“the“dictionary“to“bMÞe“written“to“theŽ¡supplied‘¦fÇh¹ lenameÇi¹.Ž©PˆÃ625Ž‘Ï\DN@{\csname‘¿ªnewif\endcsname\ifUsePSdict@@\DN@{}}ŽŽ¡Ã626Ž‘¿ªÏ\ifx\undefined\UsePSdict@@true\else\DN@{}\fi‘¿ª\next@ŽŽ¦Ã628Ž‘Ï\ifx\undefined\xyPSdefaultdictŽŽ¡Ã629Ž‘¿ªÏ\xydef@\xyPSdefaultdict{%ŽŽ¡Ã630Ž‘TÏ\DN@##1.##2.##3@{\gdef\xyPSdictname{xy##1##2dict.pro}}%ŽŽ¡Ã631Ž‘¿ªÏ\expandafter\next@\xyversion.@}%ŽŽ¡Ã632Ž‘Ï\fiŽŽ¦Ã634Ž‘Ï\ifx\undefined\UsePSheader@ŽŽ¡Ã635Ž‘¿ªÏ\xydef@\UsePSheader@#1{%ŽŽ¡Ã636Ž‘TÏ\DN@{#1}\ifx\next@\emptyŽŽ¡Ã637Ž‘Ï%‘ T\ifx\xyPSdictname\undefined\xyPSdefaultdict\fiŽŽ¡Ã638Ž‘TÏ\else‘¿ª\gdef\xyPSdictname{#1}\fiŽŽ¡Ã639Ž‘TÏ\ifx\xyPSdictname\undefined\xyPSdefaultdict\fiŽŽ¡Ã640Ž‘TÏ\gdef\xyHeaderMessage@{%ŽŽ¡Ã641Ž‘#>þÏIt–¿ªincludes“a“reference“to“the“PostScript“file“\xyPSdictname.^^J}%ŽŽ¡Ã642Ž‘¿ªÏ\UsePSdict@@true}%ŽŽ¡Ã643Ž‘¿ªÏ\let\UsePSheader=\UsePSheader@ŽŽ¡Ã644Ž‘Ï\fiŽŽŸq둹See–­tthe“došMÞcumen²!tation“for“the“sp˜eci c“driv²!er“to“establish“where“the“dictionary“ le“should“b˜e“lo˜catedŽ¡on–aranš²!y“particular“T‘þ,³Ÿ[wEŽ‘B X“system.‘ÆáUsually“it“is“sucien˜t“to“ha˜v˜e“a“cop˜y“in“the“curren˜t“w˜orking“directory‘ÿe.Ž¡In•²!v“oking–)athe“command“Ï\dumpPSdict{}Ž‘Qd¹will“place“a“copš²!y“of“the“requisite“ le,‘Bbha˜ving“the“default“name,Ž¡in–ô3the“currenš²!t“directory‘ÿe.‘ÇDThis“ le“will“bMÞe“used“as“the“dictionary“for“the“curren˜t“proMÞcessing,‘¦pro˜videdŽ¡it– is“on“the“correct“directory“path,‘#so“that“the“drivš²!er“can“loMÞcate“it“when“needed.‘ Consult“y˜our“loMÞcalŽ¡system–¦fadministrator“if“y²!ou“expMÞerience“diculties.ŽŸ ºý‘The–î`dump'“cannot“bšMÞe“p˜erformed“unš²!til“a“driv˜er“has“bMÞeen“installed.‘´ÖThis“ensures“that“the“correctŽ¡`end-of-line'–¦fc²!haracter“is“used.ަÃ663Ž‘Ï\xydef@\dumpPSdict#1{\DN@{#1}\ifx\next@\emptyŽŽŽŽŒ‹%õ Á à ý*tj‘ãŒÑ2.10.‘„CPOSTSCRIPT‘¦fBA²!CKEND’1&¹261ŽŽ ¶?? ýh«w‘ãŒÃ664Ž‘ mÏ\ifx\undefined\xyPSdictname\xyPSdefaultdict\fiŽŽ¤ ™š‘ãŒÃ665Ž‘ûKÃÏ\else\gdef\xyPSdictname{#1}\fiŽŽ¡‘ãŒÃ666Ž‘ûKÃÏ\def\dumpPSdict@@{\writePSdict@@}%ŽŽ¡‘ãŒÃ667Ž‘ûKÃÏ\ifx\xydriversselected@@\empty\DN@{\xysetup@@\null@xy@ps}%ŽŽ¡‘ãŒÃ668Ž‘ûKÃÏ\else–¿ª\DN@{\installxyps@x}\fi“\next@}ŽŽ©V‘ôŒ¹Multiple–N†instances“of“Ï\UsePSheaderŽ‘M™¹and“Ï\dumpPSdictŽ‘GÙZ¹are“pMÞossible,‘xŽonly“the“last“will“determineŽ¡‘ãŒwhicš²!h–³º le“is“used“for“the“curren˜t“doMÞcumen˜t.‘ØThe“command“Ï\xyPSdefaultdictŽ‘cb¹rev˜erts“to“the“defaultŽ¡‘ãŒname.ŽŸ Ÿ‘‘ôŒAlloš²!wing–½¨an“arbitrary“Çh¹ lenameÇi“¹with“Ï\UsePSheaderŽ‘NwH¹is“for“ exibilit˜y‘ÿe,‘yto“accommoMÞdate“systemsŽ¡‘ãŒthat–ÝÙma²!y“impšMÞose“sp˜ecial“requiremen²!ts“on“the“ lenames“of“ les“to“b˜e“used“as“ÕPostScript“¹headerŽ¡‘㌠les.›͉O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X–ukis“one“suc²!h.˜It“also“caters“for“adv‘ÿdDanced“users“of‘]X‘ü·ŸâÃYŽŽ‘ Üu-pic“who“maš²!y“wish“to“expMÞerimen˜t“withŽ¡‘ãŒcustomised–¦fÕPostScript“¹to“obtain“new“e ects.ŽŸtœ‘ãŒÞ2.10.3Ž‘ŒHo`oking‘€in to‘&aX‘ûó1Ÿ"YŽŽ‘v¿-picŽŸh‘ãŒÃ689Ž‘õŒÏ\message{hooks,}ŽŽ¦‘㌹This–¦fnext“macro“streamlines“the“rebinding“proMÞcess.ŽŸPˆ‘ãŒÃ695Ž‘õŒÏ\gdef\xyPSalternative@#1#2{%ŽŽ¡‘ãŒÃ696Ž‘õŒÏ\expandafter\global\expandafter\let\csname‘¿ªorigxy#2@\endcsname=#1%ŽŽ¡‘ãŒÃ697Ž‘ûKÃÏ\xdef#1{\noexpand\ifPSspecials@ŽŽ¡‘ãŒÃ698Ž‘ËÏ\noexpand\expandafter\expandafter\noexpand\csname‘¿ªxyPS#2@\endcsnameŽŽ¡‘ãŒÃ699Ž‘ mÏ\noexpand\elseŽŽ¡‘ãŒÃ700Ž‘ËÏ\noexpand\expandafter\expandafter\noexpand\csname‘¿ªorigxy#2@\endcsnameŽŽ¡‘ãŒÃ701Ž‘ mÏ\noexpand\fi}}%ŽŽ¦‘ôŒ¹The–nïcommands“Ï\setupxyPSlevelA@Ž‘d)9¹,‘­:Ï\setupxyPSlevelB@Ž‘dg„¹,‘­:Ï\setupxyPSlevelC@Ž‘fÖs¹and“Ï\setupxyPSlevelD@ŽŽ¡‘㌹actually–†£pMÞerform“the“rebindings.‘ÓGEacš²!h“ma˜y“bMÞe“called“precisely“once,‘Œýand“eac˜h“requires“all“lo˜w˜er“lev˜elsŽ¡‘ãŒare–¦falso“set.ŽŸPˆ‘ãŒÃ710Ž‘õŒÏ\xydef@\setupxyPSlevelA@{\xyPStips@%ŽŽ¡‘ãŒÃ711Ž‘ûKÃÏ\xyPSalternative@{\Tip@@}{Tip}%ŽŽ¡‘ãŒÃ712Ž‘ûKÃÏ\xyPSalternative@{\Ttip@@}{Ttip}%ŽŽ¡‘ãŒÃ713Ž‘ûKÃÏ\xyPSalternative@{\Tip@@eu}{Tip@eu}%ŽŽ¡‘ãŒÃ714Ž‘ûKÃÏ\xyPSalternative@{\Ttip@@eu}{Ttip@eu}%ŽŽ¡‘ãŒÃ715Ž‘ûKÃÏ\xyPSalternative@{\hook@@}{hook}%ŽŽ¡‘ãŒÃ716Ž‘ûKÃÏ\xyPSalternative@{\ahook@@}{ahook}%ŽŽ¡‘ãŒÃ717Ž‘ûKÃÏ\xyPSalternative@{\bhook@@}{bhook}%ŽŽ¡‘ãŒÃ718Ž‘ûKÃÏ\xyPSalternative@{\aturn@@}{aturn}%ŽŽ¡‘ãŒÃ719Ž‘ûKÃÏ\xyPSalternative@{\bturn@@}{bturn}%ŽŽ¡‘ãŒÃ720Ž‘ûKÃÏ\xyPSalternative@{\squiggle@@}{squiggle}%ŽŽ¡‘ãŒÃ721Ž‘ûKÃÏ\xyPSalternative@{\stopper@@}{stopper}%ŽŽ¡‘ãŒÃ722Ž‘ûKÃÏ\xyPSalternative@{\line@@}{dash}%ŽŽ¡‘ãŒÃ723Ž‘ûKÃÏ\xyPSalternative@{\circhar@@}{circhar@}%ŽŽ¡‘ãŒÃ724Ž‘õŒÏ%‘¿ª\xywithoption{cmtip}{\xyPScmtips@}%ŽŽ¡‘ãŒÃ725Ž‘ûKÃÏ\gdef\setupxyPSlevelA@{\PSincrease@{1}}%ŽŽ¡‘ãŒÃ726Ž‘ûKÃÏ\global\let\UsePSspecials=\UsePSspecials@x‘¿ª\PSspecials@true}ŽŽ¡‘ãŒÃ727Ž‘õŒÏ%ŽŽ¡‘ãŒÃ728Ž‘õŒÏ\xydef@\setupxyPSlevelB@{%ŽŽ¡‘ãŒÃ729Ž‘ûKÃÏ\let\xyPSfont@=\empty‘¿ª\let\xyPSsemifont@=\emptyŽŽ¡‘ãŒÃ730Ž‘ûKÃÏ\xyPSalternative@{\cirrestrict@@}{cirrest}%ŽŽŽŽŒ‹3ª Á à ý*tj‘㌹262’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ731Ž‘ûKÃÏ\gdef\setupxyPSlevelB@{\PSincrease@{2}}%ŽŽ¤ ™š‘ãŒÃ732Ž‘ûKÃÏ\setupxyPSlevelA@‘¿ª}ŽŽ¡‘ãŒÃ733Ž‘õŒÏ%ŽŽ¡‘ãŒÃ734Ž‘õŒÏ\xydef@\setupxyPSlevelC@{%ŽŽ¡‘ãŒÃ735Ž‘ûKÃÏ\xyPSalternative@{\cirbuild@}{cirbuild}%ŽŽ¡‘ãŒÃ736Ž‘ûKÃÏ\xyPSalternative@{\CIRfull@}{CIRfull}%ŽŽ¡‘ãŒÃ737Ž‘ûKÃÏ\xyPSalternative@{\solid@}{solid}%ŽŽ¡‘ãŒÃ738Ž‘ûKÃÏ\xyPSalternative@{\point@}{point}%ŽŽ¡‘ãŒÃ739Ž‘ûKÃÏ\xywithoption{curve}{%ŽŽ¡‘ãŒÃ740Ž‘ mÏ\xyPSalternative@{\splinesolid@}{splinesolid}}%ŽŽ¡‘ãŒÃ741Ž‘ûKÃÏ\gdef\setupxyPSlevelC@{\PSincrease@{3}}%ŽŽ¡‘ãŒÃ742Ž‘ûKÃÏ\setupxyPSlevelB@‘¿ª}%ŽŽ¡‘ãŒÃ743Ž‘õŒÏ%ŽŽ¡‘ãŒÃ744Ž‘õŒÏ\xydef@\setupxyPSlevelD@{%ŽŽ¡‘ãŒÃ745Ž‘ûKÃÏ\xyPSalternative@{\dash@}{dashed}%ŽŽ¡‘ãŒÃ746Ž‘õŒÏ%‘¿ª\xyPSalternative@{\squiggle@}{squiggled}%ŽŽ¡‘ãŒÃ747Ž‘ûKÃÏ\xywithoption{curve}{%ŽŽ¡‘ãŒÃ748Ž‘ mÏ\xyPSalternative@{\splinedashed@}{splinedashed}%ŽŽ¡‘ãŒÃ749Ž‘ mÏ\xyPSalternative@{\splinedotted@}{splinedotted}}%ŽŽ¡‘ãŒÃ750Ž‘ûKÃÏ\gdef\setupxyPSlevelD@{}%\PSincrease@{4}}%ŽŽ¡‘ãŒÃ751Ž‘ûKÃÏ\setupxyPSlevelC@‘¿ª}ŽŽŸU‘ôŒ¹The–¦fbindings“are“not“pMÞerformed“un²!til“Ï\setupxyPS@Ž‘F‰¹is“called.ŽŸl=‘ãŒÞ2.10.4Ž‘ŒKernel‘€impro• v“emen“tsޤ´½‘ãŒÔDirectionals:Ž¡‘㌹These–ø\macros“standardise“the“w•²!a“y–ø\a“cš²!haracter“is“describMÞed“in“ÕPostScript¹.‘£ÚFirst“giv˜e“the“Ï\DirectionŽŽ¤ ™š‘㌹cošMÞde–™athen“the“op˜erator“name,‘›üwhicš²!h“is“just“a“simple“c˜haracter“string.‘Ù†The“moMÞdi ers“Ï\xyPSfont@Ž‘@¯f¹andŽ¡‘ãŒÏ\xyPSsemifont@Ž‘6¯À¹are–¨[emptš²!y“in“all“but“the“most“primitiv˜e“lev˜el“of“ÕPostScript“¹usage.‘‰/When“non-empt˜yŽ¡‘ãŒthey–¦frestrict“to“using“only“angles“correspMÞonding“to“actual“fonš²!t“c˜haracters.Ž©Pˆ‘ãŒÃ772Ž‘õŒÏ\xydef@\xyPSchar@#1{%ŽŽ¡‘ãŒÃ773Ž‘ûKÃÏ\PSmacro@{\the\Direction\space–¿ª\xyPSfont@“#1}}ŽŽ¦‘ãŒÃ775Ž‘õŒÏ\xydef@\xyPSsemichar@#1{%ŽŽ¡‘ãŒÃ776Ž‘ûKÃÏ\PSmacro@{\the\Direction\space–¿ª\xyPSsemifont@“#1}}ŽŽŸU‘ôŒ¹These–jPmacros“pro²!vide“ÕPostScript“¹cošMÞde“to“round“a“Ï\DirectionŽ‘BQD¹co˜de“to“that“corresp˜onding“toŽ¡‘ãŒthe–¦fnearest“fonš²!t“c˜haracter“coMÞde,“for“Directional“and“semi-Directional“fon˜ts“respMÞectiv˜ely‘ÿe.ަ‘ãŒÃ784Ž‘õŒÏ\xydef@\xyPSfont@{f–¿ª}%{xyfont“}ŽŽ¡‘ãŒÃ785Ž‘õŒÏ\xydef@\xyPSsemifont@{fs–¿ª}%{xysdfont“}ŽŽŸU‘ôŒ¹Before–„ßanš²!y“binding“w˜e“sa˜v˜e“the“original“expansions“of“con˜trol-sequences“whose“names“will“bMÞe“sub‘›»jectŽ¡‘ãŒto–¦frebinding.‘ÝÝW‘ÿee“givš²!e“these“ rst“for“eac˜h“fon˜t.ŽŸבãŒÔtips‘ ó5¹Arro²!w–¦fheads“in“Ï\xyatipfontŽ‘F‰¹and“Ï\xybtipfontŽŽŸ ž‘ôŒ¹The–¦ftips“are“all“set“as“zero-sized“c²!haracters.–Ó3.“.ަ‘ãŒÃ799Ž‘õŒÏ\xydef@\xyPStip@{\xyPSchar@{t}}%{\xyPSchar@{tip}}ŽŽ¡‘ãŒÃ800Ž‘õŒÏ%\xydef@\xyPSatip@{\xyPSchar@{a}}%{\xyPSchar@{atip}}ŽŽ¡‘ãŒÃ801Ž‘õŒÏ%\xydef@\xyPSbtip@{\xyPSchar@{b}}%{\xyPSchar@{btip}}ŽŽ¡‘ãŒÃ802Ž‘õŒÏ\xydef@\xyPSTip@{\xyPSchar@{/XT‘¿ªtt}}%{\xyPSchar@{Tip}}ŽŽŽŽŒ‹@\ Á à ý*tj‘ãŒÑ2.10.‘„CPOSTSCRIPT‘¦fBA²!CKEND’1&¹263ŽŽ ¶?? ýh«w‘ãŒÃ803Ž‘õŒÏ\xydef@\xyPSTtip@{\setboxz@h\bgroupŽŽ¤ ™š‘ãŒÃ804Ž‘ mÏ\reverseDirection@\line@–¿ª\wdz@=\z@“\ht\z@=\z@“\dp\z@=\z@ŽŽ¡‘ãŒÃ805Ž‘ mÏ\kern-\L@c–¿ª\boxz@“\kern\L@c“\xyPSchar@{/Xt“tT}}%{\xyPSchar@{Ttip}}ŽŽ¡‘ãŒÃ806Ž‘õŒÏ\xydef@\xyPSTip@eu@{\xyPSchar@{/ET‘¿ªtt}}%{\xyPSchar@{Tip}}ŽŽ¡‘ãŒÃ807Ž‘õŒÏ\xydef@\xyPSTtip@eu@{\setboxz@h\bgroupŽŽ¡‘ãŒÃ808Ž‘ mÏ\reverseDirection@\line@–¿ª\wdz@=\z@“\ht\z@=\z@“\dp\z@=\z@ŽŽ¡‘ãŒÃ809Ž‘ mÏ\kern-\L@c–¿ª\boxz@“\kern\L@c“\xyPSchar@{/ET“tT}}%{\xyPSchar@{Ttip}}ŽŽ© -‘ôŒ¹The–7Ómecš²!hanism“to“handle“Computer“MoMÞdern“tips“is“a“little“di eren˜t.‘¹Here“w˜e“m˜ust“rebind“Ï\xycm@ŽŽ¡‘㌹to›”a•²!v“oid˜an“y˜calls˜to˜fon“t˜names.‘%fWhen˜Ï\PSspecialstrueŽ‘^b¹then˜w“e˜expand˜a˜macro˜whic“h˜will˜loMÞokŽ¡‘ãŒat–¦fthe“folloš²!wing“tok˜en“to“decide“whic˜h“t˜ypMÞe“of“tip“is“required“after“Ï\tip@xŽ‘&$b¹.ŽŸPˆ‘ãŒÃ819Ž‘õŒÏ%\xydef@\xyPScmtips@{\xyPSalternative@{\xycm@}{cm}}%ŽŽ¡‘ãŒÃ820Ž‘õŒÏ\xydef@\xyPScm@\tip@x{\xyFN@\xyPScm@@}%ŽŽ¡‘ãŒÃ821Ž‘õŒÏ\xydef@\xyPScm@@{%ŽŽ¡‘ãŒÃ822Ž‘ Ï\ifx\next\tip@@‘ T\DN@\tip@@{\tip@x\xyPScmtip@}%ŽŽ¡‘ãŒÃ823Ž‘ûKÃÏ\else\ifx\next\atip@@‘¿ª\DN@\atip@@{\tip@x\xyPScmatip@}%ŽŽ¡‘ãŒÃ824Ž‘ûKÃÏ\else\ifx\next\btip@@‘¿ª\DN@\btip@@{\tip@x\xyPScmbtip@}%ŽŽ¡‘ãŒÃ825Ž‘ûKÃÏ\else\DN@{}%ŽŽ¡‘ãŒÃ826Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}%ŽŽ¡‘ãŒÃ827Ž‘õŒÏ%ŽŽ¡‘ãŒÃ828Ž‘õŒÏ\xydef@\xyPScmtip@{\xyPSchar@{ct}}%{\xyPSchar@{cmtip}}ŽŽ¡‘ãŒÃ829Ž‘õŒÏ\xydef@\xyPScmatip@{\xyPSchar@{ca}}%{\xyPSchar@{cmatip}}ŽŽ¡‘ãŒÃ830Ž‘õŒÏ\xydef@\xyPScmbtip@{\xyPSchar@{cb}}%{\xyPSchar@{cmbtip}}ŽŽ¦‘ôŒ¹F‘ÿerom–g9vš²!ersion“3.3“the“fon˜t“coMÞding“has“c˜hanged,‘sÛfor“greater“ exibilit˜y“and“consistency‘ÿe.‘ÈÎIn“particularŽ¡‘ãŒÏ\xycm@Ž‘ °{¹is–¦fno“longer“de ned.Ž©Pˆ‘ãŒÃ837Ž‘õŒÏ\xydef@\xyPStips@{%ŽŽ¡‘ãŒÃ838Ž‘ûKÃÏ\xyPSalternative@{\atip@@}{atip}%ŽŽ¡‘ãŒÃ839Ž‘ûKÃÏ\xyPSalternative@{\btip@@}{btip}%ŽŽ¡‘ãŒÃ840Ž‘ûKÃÏ\xyPSalternative@{\tip@@}{abtip}%ŽŽ¡‘ãŒÃ841Ž‘õŒÏ}%ŽŽ¦‘ãŒÃ843Ž‘õŒÏ\xydef@\xyPSatip@{\xyPSwhichatip@ŽŽ¡‘ãŒÃ844Ž‘ûKÃÏ\expandafter\xyPSchar@\expandafter{\xyPSfont@@}}%ŽŽ¡‘ãŒÃ845Ž‘õŒÏ\xydef@\xyPSbtip@{\xyPSwhichbtip@ŽŽ¡‘ãŒÃ846Ž‘ûKÃÏ\expandafter\xyPSchar@\expandafter{\xyPSfont@@}}%ŽŽ¡‘ãŒÃ847Ž‘õŒÏ\xydef@\xyPSabtip@{\xyPSwhichabtip@ŽŽ¡‘ãŒÃ848Ž‘ûKÃÏ\expandafter\xyPSchar@\expandafter{\xyPSfont@@}}%ŽŽ¦‘ãŒÃ850Ž‘õŒÏ\xydef@\xyPSwhichatip@{\ifx\xyatipfont\xy@@atfontŽŽ¡‘ãŒÃ851Ž‘ûKÃÏ\expandafter\xyPSatip@i–¿ª\else\def\xyPSfont@@{10“/xy“A}\fi“}%ŽŽ¡‘ãŒÃ852Ž‘õŒÏ\xydef@\xyPSwhichbtip@{\ifx\xybtipfont\xy@@btfontŽŽ¡‘ãŒÃ853Ž‘ûKÃÏ\expandafter\xyPSbtip@i–¿ª\else\def\xyPSfont@@{10“/xy“B}\fi“}%ŽŽ¡‘ãŒÃ854Ž‘õŒÏ\xydef@\xyPSwhichabtip@{\ifx\xyatipfont\xy@@atfontŽŽ¡‘ãŒÃ855Ž‘ûKÃÏ\expandafter\xyPSabtip@i–¿ª\else\def\xyPSfont@@{10“/xy“AB}\fi“}%ŽŽ¡‘ãŒÃ856Ž‘õŒÏ\xydef@\xyPSatip@i{%ŽŽ¡‘ãŒÃ857Ž‘ mÏ\edef\xyPSfont@@{\tipsize@@\space/\tipfamily@@\space‘¿ªA}}ŽŽ¡‘ãŒÃ858Ž‘õŒÏ\xydef@\xyPSbtip@i{%ŽŽ¡‘ãŒÃ859Ž‘ mÏ\edef\xyPSfont@@{\tipsize@@\space/\tipfamily@@\space‘¿ªB}}ŽŽ¡‘ãŒÃ860Ž‘õŒÏ\xydef@\xyPSabtip@i{%ŽŽ¡‘ãŒÃ861Ž‘ mÏ\edef\xyPSfont@@{\tipsize@@\space/\tipfamily@@\space‘¿ªAB}}ŽŽŽŽŒ‹LF Á à ý*tj‘㌹264’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ863Ž‘õŒÏ\xydef@\xyPSTtips@{%ŽŽ¤ ™š‘ãŒÃ864Ž‘ mÏ\let\Ttip@xy=\Ttip@ŽŽ¡‘ãŒÃ865Ž‘ mÏ\let\Ttip@cm=\Ttip@ŽŽ¡‘ãŒÃ866Ž‘ mÏ\let\Ttip@eu=\Ttip@‘¿ª}ŽŽŸ#Ãð‘ãŒÔhoY‹oks,–2turns“and“squiggles:‘ ó5¹squiggles‘¦ffrom:‘ÝÝÏ\xybsqlfontŽŽŸ øô‘ôŒ¹The–¦fhoMÞoks“are“zero-sized“c²!haracters.–Ó3.“.Ž©Pˆ‘ãŒÃ875Ž‘õŒÏ\xydef@\xyPShook@{\xyPSchar@{h}}%{\xyPSchar@{hook}}ŽŽ¡‘ãŒÃ876Ž‘õŒÏ\xydef@\xyPSahook@{\xyPSchar@{ha}}%{\xyPSchar@{ahook}}ŽŽ¡‘ãŒÃ877Ž‘õŒÏ\xydef@\xyPSbhook@{\xyPSchar@{hb}}%{\xyPSchar@{bhook}}ŽŽŸ¯â‘ôŒ¹.–Ó3.“.“so–¦fare“the“turns.–Ó3.“.ަ‘ãŒÃ883Ž‘õŒÏ\xydef@\xyPSaturn@{\xyPSchar@{ta}}%{\xyPSchar@{aturn}}ŽŽ¡‘ãŒÃ884Ž‘õŒÏ\xydef@\xyPSbturn@{\xyPSchar@{tb}}%{\xyPSchar@{bturn}}ŽŽŸ¯â‘ôŒ¹This–zhandles“squiggles“as“individual“c²!haracters.‘XúSquiggled“connections“should“bMÞe“handled“sepa-Ž¡‘ãŒrately‘ÿe,‘­:e.g.‘v b•²!y›nïha“ving˜Ï\xyPSsquiggle@Ž‘UY*¹set˜the˜connection˜b“y˜something˜lik“e˜Ï\edef\Connect@@{\noexpand\xyPSsquiggled@‘¿ª{\the\Direction}}Ž’OÛs¹.ަ‘ãŒÃ893Ž‘õŒÏ\xydef@\xyPSsquiggle@{\xyPSchar@{g}}%{\xyPSchar@{squigl}}ŽŽŸ¯â‘ôŒÔT‘þó\o‘2Do:‘Ýݹde ne–¦fcompMÞosite“Ï\xyPSsquiggled@ŽŽ¤ øô‘ôŒÔT‘þó\o‘2Do:‘Ýݹde ne–¦fcompMÞosite“Ï\xyPSdashsquiggled@ŽŽŸ ‘ãŒÔdashes–2and“stoppY‹ers:‘ ó5¹using–¦fc²!haracters“from:‘ÝÝÏxydashfontŽŽ¡‘ôŒ¹A‘ÚNstoppMÞer–Úconš²!tributes“zero“size.‘zƒHo˜w˜ev˜er“a“dash“gets“its“size“from“the“italic“correction“in“theޤ ™š‘ãŒÏxydashfontŽ‘½¹,–¦faccessed“here“using“Ï\origxyline@@Ž‘Nb¹.ަ‘ãŒÃ910Ž‘õŒÏ\xydef@\xyPSstopper@{\xyPSchar@{st}}%{\xyPSchar@{stopper}}ŽŽ¦‘ãŒÃ912Ž‘õŒÏ%\xydef@\xyPSfliptrue@{\DN@{\xyPSsemichar@{true‘¿ªdash}}}ŽŽ¡‘ãŒÃ913Ž‘õŒÏ\xydef@\xyPSfliptrue@{\DN@{\xyPSsemichar@{T‘¿ªd}}}ŽŽ¦‘ãŒÃ915Ž‘õŒÏ\xydef@\xyPSdash@{%ŽŽ¡‘ãŒÃ916Ž‘õŒÏ%–¿ª\DN@{\xyPSsemichar@{false“dash}}%ŽŽ¡‘ãŒÃ917Ž‘ûKÃÏ\DN@{\xyPSsemichar@{F‘¿ªd}}%ŽŽ¡‘ãŒÃ918Ž‘ûKÃÏ\ifnum\SemiDirectionChar=31ŽŽ¡‘ãŒÃ919Ž‘ mÏ\ifdim\d@Y<\z@ŽŽ¡‘ãŒÃ920Ž‘ËÏ\ifdim\d@X<\z@‘¿ª\ifx\xyPSsemifont@\empty\xyPSfliptrue@\fi\fiŽŽ¡‘ãŒÃ921Ž‘ mÏ\elseŽŽ¡‘ãŒÃ922Ž‘ËÏ\ifdim\z@>\d@XŽŽ¡‘ãŒÃ923Ž‘ ŠÁÏ\ifx\xyPSsemifont@\empty\else\xyPSfliptrue@\fiŽŽ¡‘ãŒÃ924Ž‘ËÏ\else\xyPSfliptrue@\fiŽŽ¡‘ãŒÃ925Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ926Ž‘ûKÃÏ\next@‘¿ª\setboxz@h{\origxydash@}\kern\wdz@ŽŽ¡‘ãŒÃ927Ž‘ûKÃÏ\setbox\z@=\box\voidb@x‘¿ª}ŽŽŸ#Ãð‘ãŒÔCirclesŽŸeA‘㌹full–¦fcircles“and“circle“segmen²!ts:‘ÝÝÏ\xycircfontŽŽŸ øô‘ôŒ¹This–¦fhandles“the“cases“where“a“fonš²!t“c˜haracter“is“called“using“Ï\circhar#1Ž‘=# ¹.ަ‘ãŒÃ937Ž‘õŒÏ\xydef@\xyPScirchar@#1{\count@=#1\edef\tmp@{\the\count@}%ŽŽ¡‘ãŒÃ938Ž‘ûKÃÏ\ifcase#1%ŽŽŽŽŒ‹ Y- Á à ý*tj‘ãŒÑ2.10.‘„CPOSTSCRIPT‘¦fBA²!CKEND’1&¹265ŽŽ ¶?? ýh«w‘ãŒÃ939Ž‘ mÏ\xyPScirchar@@@{-180}{-135}{\tmp@}\dimen@=\partroottwo\R@ŽŽ¤ ™š‘ãŒÃ940Ž‘ûKÃÏ\or\xyPScirchar@@@{-135}{-90}{\tmp@}\dimen@=\halfroottwo\R@ŽŽ¡‘ãŒÃ941Ž‘ûKÃÏ\or\xyPScirchar@@@{-90}{-45}{\tmp@}\dimen@=\halfroottwo\R@ŽŽ¡‘ãŒÃ942Ž‘ûKÃÏ\or\xyPScirchar@@@{-45}0{\tmp@}\dimen@=\partroottwo\R@ŽŽ¡‘ãŒÃ943Ž‘ûKÃÏ\or\xyPScirchar@@@0{45}{\tmp@}\dimen@=\partroottwo\R@ŽŽ¡‘ãŒÃ944Ž‘ûKÃÏ\or\xyPScirchar@@@{45}{90}{\tmp@}\dimen@=\halfroottwo\R@ŽŽ¡‘ãŒÃ945Ž‘ûKÃÏ\or\xyPScirchar@@@{90}{135}{\tmp@}\dimen@=\halfroottwo\R@ŽŽ¡‘ãŒÃ946Ž‘ûKÃÏ\or\xyPScirchar@@@{135}{180}{\tmp@}\dimen@=\partroottwo\R@ŽŽ¡‘ãŒÃ947Ž‘ûKÃÏ\fi}ŽŽ¤Pˆ‘ãŒÃ949Ž‘õŒÏ\xydef@\xyPScirrest@{\relax}%ŽŽ©Gæ‘ôŒ¹This–¦freplaces“just“the“fonš²!t“c˜haracter,“called“using“Ï\circhar@@#1Ž‘H¢^¹.Ž¡‘ãŒÃ955Ž‘õŒÏ\xydef@\xyPScirchar@@#1{\relax\count@=#1\edef\tmp@{\the\count@}%ŽŽ¤ ™š‘ãŒÃ956Ž‘ûKÃÏ\expandafter\xyPScirchar@@@\ifcase#1%ŽŽ¡‘ãŒÃ957Ž‘ûKÃÏ{-180}{-135}{\tmp@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ958Ž‘ûKÃÏ\or{-135}{-90}{\tmp@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ959Ž‘ûKÃÏ\or{-90}{-45}{\tmp@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ960Ž‘ûKÃÏ\or{-45}0{\tmp@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ961Ž‘ûKÃÏ\or‘¿ª0{45}{\tmp@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ962Ž‘ûKÃÏ\or{45}{90}{\tmp@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ963Ž‘ûKÃÏ\or{90}{135}{\tmp@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ964Ž‘ûKÃÏ\or{135}{180}{\tmp@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ965Ž‘ûKÃÏ\fi}ŽŽŸPˆ‘ãŒÃ967Ž‘õŒÏ\xydef@\xyPScirchar@@@#1#2#3{\edef\tmp@{#1\space#2\spaceŽŽ¡‘ãŒÃ968Ž‘ûKÃÏ\expandafter\removePT@\the\R@\space–¿ª#3\space“c}%ŽŽ¡‘ãŒÃ969Ž‘ûKÃÏ\PSmacro@{\tmp@}}ŽŽ¦‘ôŒ¹This–¶onext“macro“will“alloš²!w“for“more“general“circle“segmen˜ts“to“bMÞe“done“in“ÕPostScript¹.‘ ÷The“t˜w˜oŽ¡‘ãŒparameters–¦fare“the“starting“angle“and“ nishing“angle“respMÞectivš²!ely‘ÿe,“measured“an˜ti-cloMÞc˜kwise.ŽŸPˆ‘ãŒÃ977Ž‘õŒÏ\xydef@\xyPScirc@#1#2{\edef\tmp@{\expandafter\removePT@\the\R@}%ŽŽ¡‘ãŒÃ978Ž‘õŒÏ%–¿ª\PSmessage{\tmp@\space“#1“#2“circ}\PSmacro@{\tmp@\space“#1“#2“circ}}ŽŽ¡‘ãŒÃ979Ž‘ûKÃÏ\PSmacro@{\tmp@\space–¿ª#1“#2“o}}ŽŽ¦‘ôŒ¹These–¦fgivš²!es“full“circles“and“circle“segmen˜ts“built“from“quarter“turns.Ž©Pˆ‘ãŒÃ985Ž‘õŒÏ\xydef@\xyPSCIRfull@{\setboxz@h{\kern\R@\xyPScirc@0{360}\kern\R@}%ŽŽ¡‘ãŒÃ986Ž‘ûKÃÏ\wd\z@=\z@–¿ª\ht\z@=\R@“\dp\z@=\R@“\boxz@}%ŽŽ¦‘ãŒÃ988Ž‘õŒÏ\xydef@\xyPScirbuild@{{%ŽŽ¡‘ãŒÃ989Ž‘ûKÃÏ\count@=\CIRlo@@‘¿ª\count@@=\CIRhi@@ŽŽ¡‘ãŒÃ990Ž‘ûKÃÏ\multiply\count@–¿ªby45“\advance\count@-180“\relaxŽŽ¡‘ãŒÃ991Ž‘ûKÃÏ\multiply\count@@–¿ªby45“\advance\count@@-180“\relaxŽŽ¡‘ãŒÃ992Ž‘ûKÃÏ\def\tmp@{}%ŽŽ¡‘ãŒÃ993Ž‘ûKÃÏ\ifx\CIRtest@@\CIRtest@insideŽŽ¡‘ãŒÃ994Ž‘ mÏ\ifnum\count@@>\count@ŽŽ¡‘ãŒÃ995Ž‘ËÏ\edef\tmp@{\noexpand\xyPScirc@{\the\count@}{\the\count@@}}\fiŽŽ¡‘ãŒÃ996Ž‘ûKÃÏ\else\ifx\CIRtest@@\CIRtest@outsideŽŽ¡‘ãŒÃ997Ž‘ mÏ\ifnum\count@>-180–¿ª\advance\count@“by360“\relaxŽŽ¡‘ãŒÃ998Ž‘ËÏ\edef\tmp@{\noexpand\xyPScirc@{\the\count@@}{\the\count@}}%ŽŽ¡‘ãŒÃ999Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1000Ž‘ËÏ\ifnum\count@@<180‘¿ª\relaxŽŽŽŽŒ‹ d Á à ý*tj‘㌹266’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1001Ž‘ ŠÁÏ\edef\tmp@{\noexpand\xyPScirc@{\the\count@@}{180}}%ŽŽ¤ ™š‘ãŒÃ1002Ž‘ËÏ\fi\fiŽŽ¡‘ãŒÃ1003Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ1004Ž‘ûKÃÏ\kern\R@\tmp@\kern\R@}}ŽŽŸ#íð‘ãŒÔLinesŽŸsˆ‘㌹solid,–¦fdashed“and“dotted;“without“using“segmen²!ts.ŽŸM‘ôŒThis–ûis“based“on“Ï\straight@Ž‘<üŸ¹.‘ÑIt“is“used“bš²!y“all“three“t˜ypMÞes“of“line,‘‡ªtaking“an“appropriate“macro“asŽ¡‘ãŒthe–¦fparameter“Ï#1Ž‘%º¹.Ž©Pˆ‘ãŒÃ1014Ž‘õŒÏ\xydef@\xyPSstraight@#1{\setupDirection@ŽŽ¡‘ãŒÃ1015Ž‘ûKÃÏ\edef\Creset@@{\cfromthec@–¿ª\pfromthep@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ1016Ž‘ûKÃÏ\DN@##1##2{\def\checkoverlap@@{%ŽŽ¡‘ãŒÃ1017Ž‘ mÏ\ifdim##1\X@p>##1\X@c–¿ª\let\next@=\relax“\fiŽŽ¡‘ãŒÃ1018Ž‘ mÏ\ifdim##2\Y@p>##2\Y@c–¿ª\let\next@=\relax“\fi}}%ŽŽ¡‘ãŒÃ1019Ž‘ûKÃÏ\edef\nextii@{{\sd@X}{\sd@Y}}\expandafter\next@\nextii@ŽŽ¡‘ãŒÃ1020Ž‘ûKÃÏ\noCshavep@@ŽŽ¡‘ãŒÃ1021Ž‘ mÏ\edef\Cshavep@@{\pfromthep@‘¿ª\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ1022Ž‘ûKÃÏ\noCshavec@@ŽŽ¡‘ãŒÃ1023Ž‘ mÏ\edef\Cshavec@@{\cfromthec@‘¿ª\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ1024Ž‘ûKÃÏ\ifHidden@\elseŽŽ¡‘ãŒÃ1025Ž‘ mÏ\ifdim\Y@c>\Y@max–¿ª\Y@max=\Y@c“\fi‘ T\ifdim\Y@p>\Y@max“\Y@max=\Y@p“\fiŽŽ¡‘ãŒÃ1026Ž‘ mÏ\ifdim\Y@c<\Y@min–¿ª\Y@min=\Y@c“\fi‘ T\ifdim\Y@p<\Y@min“\Y@min=\Y@p“\fiŽŽ¡‘ãŒÃ1027Ž‘ mÏ\ifdim\X@c>\X@max–¿ª\X@max=\X@c“\fi‘ T\ifdim\X@p>\X@max“\X@max=\X@p“\fiŽŽ¡‘ãŒÃ1028Ž‘ mÏ\ifdim\X@c<\X@min–¿ª\X@min=\X@c“\fi‘ T\ifdim\X@p<\X@min“\X@min=\X@p“\fi“\fiŽŽ¡‘ãŒÃ1029Ž‘ûKÃÏ\ifInvisible@\let\next@=\relaxŽ’­Y\elseŽŽ¡‘ãŒÃ1030Ž‘ mÏ\DN@{\setboxz@h{\kern\X@c‘¿ª\raise\Y@c\hbox{#1}}%ŽŽ¡‘ãŒÃ1031Ž‘ËÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“{\xykillstyles@\Drop@@}}%ŽŽ¡‘ãŒÃ1032Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ1033Ž‘ûKÃÏ\checkoverlap@@ŽŽ¡‘ãŒÃ1034Ž‘ûKÃÏ\ifdim\d@X=\z@–¿ª\ifdim\d@Y=\z@“\DN@{\relax}\fi\fi“\next@ŽŽ¡‘ãŒÃ1035Ž‘ûKÃÏ\def\Cslidep@@{\noCslidep@@}\def\Cslidec@@{\noCslidec@@}%ŽŽ¡‘ãŒÃ1036Ž‘ûKÃÏ\def\Calong@@{\noCalong@@}\Creset@@‘¿ª}ŽŽ¤·;‘ôŒ¹This–¦fis“not“needed“unless“st²!yles“are“used,“hence“Ïxyps-sŽ‘)Êȹis“loaded.ަ‘ãŒÃ1042Ž‘õŒÏ\xylet@\xykillstyles@=\relaxŽŽ¡‘ôŒ¹Here–¦fis“ho²!w“solid“lines“are“done.ަ‘ãŒÃ1048Ž‘õŒÏ%\xydef@\xyPSsolid@{\ifInvisible@‘¿ª\let\next@=\no@@ŽŽ¤ ™š‘ãŒÃ1049Ž‘õŒÏ%–¿ª\else“\DN@{\xyPSstraight@\xyPSsolid@@@}\fi“\next@“}ŽŽ¦‘ãŒÃ1051Ž‘õŒÏ\xydef@\xyPSsolid@{\straight@\xyPSsolidSpread@}%ŽŽ¡‘ãŒÃ1052Ž‘õŒÏ\xydef@\xyPSsolidSpread@{\xyPSspread@{solid}{l}@@}%ŽŽ¦‘ãŒÃ1054Ž‘õŒÏ\xydef@\xyPSdottedSpread@{\xyPSspread@{dotted}{dt}@@}%ŽŽ¦‘ãŒÃ1056Ž‘õŒÏ\xydef@\xyPSdashed@{\line@‘¿ª\def\Connect@@{\straight@\xyPSdashedSpread@}}ŽŽ¡‘ãŒÃ1057Ž‘õŒÏ\xydef@\xyPSdashedSpread@{\xyPSspread@{dashed}{dd}@@}%ŽŽŸv‘ãŒÃ1060Ž‘õŒÏ\xydef@\xyPSspread@#1#2@@#3\repeat@{\edef\tmp@{%ŽŽ¡‘ãŒÃ1061Ž‘ mÏ\expandafter\removePT@\the\d@X\space\expandafter\removePT@\the\d@Y}%ŽŽ¡‘ãŒÃ1062Ž‘ûKÃÏ\setboxz@h{\kern\X@c‘¿ª\raise\Y@c\hbox{%ŽŽŽŽŒ‹ p^ Á à ý*tj‘ãŒÑ2.10.‘„CPOSTSCRIPT‘¦fBA²!CKEND’1&¹267ŽŽ ¶?? ýh«w‘ãŒÃ1063Ž‘ mÏ\PSmessage{#1–¿ªline:}\PSmacro@{\tmp@\space“#2}}}%ŽŽ¤ ™š‘ãŒÃ1064Ž‘ûKÃÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“\boxz@}ŽŽ©pŒ‘ôŒ¹This–¦freplaces“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“Ï\dash@Ž‘)Êȹto“giv²!e“dashed“lines:ŽŸPˆ‘ãŒÃ1071Ž‘õŒÏ%\xydef@\xyPSdashed@{\line@‘¿ª\def\Connect@@{\xyPSstraight@\xyPSdashed@@}}ŽŽ¡‘ãŒÃ1072Ž‘õŒÏ%\xydef@\xyPSdashed@@{\edef\tmp@{%ŽŽ¡‘ãŒÃ1073Ž‘õŒÏ%‘ T\expandafter\removePT@\the\d@X\space\expandafter\removePT@\the\d@Y‘¿ª}%ŽŽ¡‘ãŒÃ1074Ž‘õŒÏ%‘ T\PSmessage{dashed–¿ªline:“\tmp@}\PSmacro@{\tmp@\space“dd}}ŽŽ¦‘ôŒ¹This–×sreplaces“the‘¿X‘ü·ŸâÃYŽŽ‘ >}-pic“Ï\point@Ž‘-쌹to“givš²!e“dotted“lines.‘€ŒX‘ü·ŸâÃYŽŽ‘ÿì-pic“de nes“Ï\zerodotŽ‘3¬6¹to“bMÞe“a“small“cen˜tredŽ¡‘ãŒsquare–¦fwith“side“length“Ï\xydashw@Ž‘7c`¹.‘ÝÝThe“ÕPostScript“¹substitute“is“a“round“dot“of“this“radius.Ž©Pˆ‘ãŒÃ1083Ž‘õŒÏ\xydef@\xyPSpoint@{\xyPSzerodot@\egroupŽŽ¡‘ãŒÃ1084Ž‘ûKÃÏ\Invisible@false–¿ª\Hidden@false“\def\Leftness@{.5}\def\U@pness@{.5}\ctipEdge@ŽŽ¡‘ãŒÃ1085Ž‘õŒÏ%‘¿ª\def\Drop@@{\styledboxz@}\def\Connect@@{\xyPSstraight@\xyPSdotted@}}ŽŽ¡‘ãŒÃ1086Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\xyPSdottedSpread@}}ŽŽ¦‘ãŒÃ1088Ž‘õŒÏ%\xydef@\xyPSdotted@{\edef\tmp@{%ŽŽ¡‘ãŒÃ1089Ž‘õŒÏ%‘ T\expandafter\removePT@\the\d@X\space\expandafter\removePT@\the\d@Y‘¿ª}%ŽŽ¡‘ãŒÃ1090Ž‘õŒÏ%‘ T\PSmessage{dotted–¿ªline:“\tmp@}\PSmacro@{\tmp@\space“dt}}ŽŽ¡‘ãŒÃ1091Ž‘õŒÏ\xydef@\xyPSzerodot@{\PSmessage{dot:}\PSmacro@{p}}ŽŽŸ"Z‘ãŒÔF‘þó\ramesޤ ¹ž‘ôŒ¹These–¦fare“used“for“dashed“frames.Ž¡‘ôŒThis–¦fma²!y“do“circular“frames.ŽŸ£‘ãŒÔCurv¦tesަ‘ãŒÃ1117Ž‘õŒÏ\xydef@\xyPScubic@#1{\readsplineparams@ŽŽ¤ ™š‘ãŒÃ1118Ž‘ûKÃÏ\PSmessage{CUBIC:}%ŽŽ¡‘ãŒÃ1119Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\PSmacro@{mark–¿ª\cubicinfo@\space“bz}%ŽŽ¡‘ãŒÃ1120Ž‘ûKÃÏ\else\PSmacro@{mark–¿ª\cubicinfo@\space“b#1}\fi}ŽŽ¦‘ãŒÃ1122Ž‘õŒÏ\xydef@\xyPSsquine@#1{\readsplineparams@ŽŽ¡‘ãŒÃ1123Ž‘ûKÃÏ\PSmessage{SQUINE:}%ŽŽ¡‘ãŒÃ1124Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\PSmacro@{mark–¿ª\squineinfo@\space“q#1}%ŽŽ¡‘ãŒÃ1125Ž‘ûKÃÏ\else\PSmacro@{mark–¿ª\squineinfo@\space“q#1}\fi}ŽŽŸv‘ãŒÃ1129Ž‘õŒÏ\xydef@\xyPSsplinesolid@{\ifx\splineinfo@\squineinfo@ŽŽ¡‘ãŒÃ1130Ž‘ûKÃÏ\expandafter\xyPSsquine@\else\expandafter\xyPScubic@\fi{}}ŽŽ¦‘ãŒÃ1132Ž‘õŒÏ\xydef@\xyPSsplinedashed@{\ifx\splineinfo@\squineinfo@ŽŽ¡‘ãŒÃ1133Ž‘ûKÃÏ\expandafter\xyPSsquine@\else\expandafter\xyPScubic@\fi{d}}ŽŽ¦‘ãŒÃ1135Ž‘õŒÏ\xydef@\xyPSsplinedotted@{\ifx\splineinfo@\squineinfo@ŽŽ¡‘ãŒÃ1136Ž‘ûKÃÏ\expandafter\xyPSsquine@\else\expandafter\xyPScubic@\fi{t}}ŽŽŸ"Z‘ãŒÔThe–2end“&“Logަ‘ãŒÃ1144Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ1146Ž‘õŒÏ%–¿ª$Log:“xyps.doc,v“$ŽŽ¡‘ãŒÃ1147Ž‘õŒÏ%–¿ªRevision“3.7› T1999/02/16“15:12:50˜krisroseŽŽ¡‘ãŒÃ1148Ž‘õŒÏ%–¿ªInterim“release“(Y&Y“fonts“now“free).ŽŽ¡‘ãŒÃ1149Ž‘õŒÏ%ŽŽŽŽŒ‹ |@ Á à ý*tj‘㌹268’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ1150Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¤ ™š‘ãŒÃ1151Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ1152Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1153Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:50:08˜rossŽŽ¡‘ãŒÃ1154Ž‘õŒÏ%–¿ªMaintenance“release.ŽŽ¡‘ãŒÃ1155Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1156Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:31:46“rossŽŽ¡‘ãŒÃ1157Ž‘õŒÏ%–¿ªrevised“interface“to“straight“connectionsŽŽ¡‘ãŒÃ1158Ž‘õŒÏ%–¿ªrevised“interface“for“tips,“handles“arbitrary“scalingŽŽ¡‘ãŒÃ1159Ž‘õŒÏ%–¿ªdriver/option-loading“now“uses“\xyrequireŽŽ¡‘ãŒÃ1160Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1161Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ1162Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ1163Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1164Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ1165Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ1166Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1167Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ1168Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1169Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1170Ž‘õŒÏ%–¿ªRevision“2.14– T1995/07/05“22:10:30“krisŽŽ¡‘ãŒÃ1171Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ1172Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1173Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ1174Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ1175Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1176Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“03:01:14“rossŽŽ¡‘ãŒÃ1177Ž‘õŒÏ%–¿ªFinal“3beta“release“[bug“fixes“&“AMS-LaTeX“fitting].ŽŽ¡‘ãŒÃ1178Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1179Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“06:34:32“rossŽŽ¡‘ãŒÃ1180Ž‘õŒÏ%–¿ªfixed“bug“with“quadratic“curvesŽŽ¡‘ãŒÃ1181Ž‘õŒÏ%–¿ªfixed“minor“documentation“bugsŽŽ¡‘ãŒÃ1182Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1183Ž‘õŒÏ%–¿ªRevision“2.10– T1994/06/15“12:46:03“rossŽŽ¡‘ãŒÃ1184Ž‘õŒÏ%–¿ªSecond“release“3beta.ŽŽ¡‘ãŒÃ1185Ž‘õŒÏ%–¿ªColour“and“line“style“saving“works;“label“colouring“bug“fixed.ŽŽ¡‘ãŒÃ1186Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1187Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:50:54“rossŽŽ¡‘ãŒÃ1188Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ1189Ž‘õŒÏ%–¿ªIncludes“support“for“special“effects:“Rotations,“Scaling,“Line-width,“Colour.ŽŽ¡‘ãŒÃ1190Ž‘õŒÏ%–¿ªBack-ends“are“separated“into“separate“files.ŽŽ¡‘ãŒÃ1191Ž‘õŒÏ%–¿ªMore“back-ends“are“supported,“experimentally“---“needs“testing.ŽŽ¡‘ãŒÃ1192Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1193Ž‘õŒÏ%–¿ªRevision“2.8– T1994/04/08“10:36:40“rossŽŽ¡‘ãŒÃ1194Ž‘õŒÏ%–¿ªSecond“3alpha“release.ŽŽ¡‘ãŒÃ1195Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1196Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/28“10:57:02“rossŽŽ¡‘ãŒÃ1197Ž‘õŒÏ%–¿ªFirst“version.ŽŽ¡‘ãŒÃ1198Ž‘õŒÏ%ŽŽŽŽŒ‹ ‡ú Á à ý*tj‘ãŒÑ2.11.‘„CTPIC‘¦fBA²!CKEND’]AL¹269ŽŽ ¶?? ýh«w‘ãŒÃ1199Ž‘õŒÏ%–¿ªInitial“version“by“Ross“Moore“based“on“XYps“2.6.ŽŽŸ4(m‘ãŒÝ2.11Ž‘ŒTPIC‘ffbac•ŒÌk“endŽŸ1#‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸk—‘㌹This–N2option“alloš²!ws“the‘5ÜX‘ü·ŸâÃYŽŽ‘µ<-pic“fon˜ts“to“bMÞe“replaced“b˜y“Õtpic“Ï\specialŽ‘2K‚¹s,‘x$when“used“with“a“dvi-driv˜erޤ ™š‘ãŒcapable–ô,of“suppšMÞorting“them.‘Ç0Extra“capabilities“include“smo˜other“lines,‘žev²!enly“spaced“dotted/dashedŽ¡‘ãŒcurvš²!es,–¦fv‘ÿdDariable“line-widths,“gra˜y-scale“ lls“of“circles,“ellipses“and“pMÞolygonal“regions.ŽŸ"‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xytpic.doc,v“3.3“1996/12/18“09:50:38“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``tpic''“TPIC“backend,“for“lines,“curves“and“fills.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{tpic}{TPIC–¿ªbackend}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸº–‘ôŒ¹Use–,Pof“Õtpic“Ï\specialŽ‘3) ¹s“o ers“an“alternativš²!e“to“the‘úX‘ü·ŸâÃYŽŽ‘“Z-pic“fon˜ts.‘ oœHo˜w˜ev˜er“they“require“a“dvi-Ž¡‘ãŒdrivš²!er– that“is“capable“of“recognizing“and“in˜terpreting“them.‘ One“suc˜h“view˜er“is“ÏxdvikŽ‘ Êr¹,‘%ŽKarl“Berry'sŽ¡‘ãŒmoMÞdi cation–àÝto“the“ÏxdviŽ‘Àb¹viewš²!er“on“ÕunixŸü¾Â3ŽŽ‘ á¹systems“running“X-windo˜ws“or“a“deriv‘ÿdDativ˜e.‘AÏdvipskŽ‘( =¹,‘ïzKarlŽ¡‘ãŒBerry's–@SmošMÞdi cation“to“ÏdvipsŽ‘#>ø¹also“handles“Õtpic“Ï\specialŽ‘1=£¹s,‘T½so“ÏxdvikŽ‘þ¥¹/ÏdvipskŽ‘%¾O¹is“an“go˜o˜d“com²!binationŽ¡‘ãŒfor–¦fqualitš²!y“screen-displa˜y“and“ÕPostScript“¹prin˜ting.ŽŸú‘ôŒOnce–nŸloaded“using“Ï\xyoption{tpic}Ž‘Y©•¹,‘yÇwith“an“appropriate“Çh¹driv²!erÇi“¹also“spMÞeci ed“either“already“orŽ‘ãŒŸ ¼²‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã3ŽŽŽ‘¦aÙUnix–TÖis“a“trademark“of“Bell“Labs.ŽŽŽŒ‹’ Á à ý*tj‘㌹270’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘㌹subsequenš²!tly‘ÿe,–¦fthe“follo˜wing“commands“are“a˜v‘ÿdDailable“to“turn“the“Õtpic“¹bac˜k˜end“o /on.Ž‘ãŒŸ J­‰ffã²dŸ a‘H2|Ï\NoTPICspecialsŽŽ’©¦¶¹turns–¦fo “Õtpic“¹spMÞecials.ŽŽŽŽ¤ ™š‘H2|Ï\UseTPICspecialsŽŽ’©¦¶¹reinstates–¦fÕtpic“¹spMÞecials.ŽŽŽŽŸV͉ffã²dŸ '{©PˆÃ61Ž‘Ï\xynew@{if}\ifTPICspecials@ŽŽ¡Ã62Ž‘Ï\xydef@\UseTPICspecials{\TPICspecials@true}ŽŽ¡Ã63Ž‘Ï\xydef@\NoTPICspecials{\TPICspecials@false}ŽŽ¦‘¹There–¹is“a“limit“to“the“n•²!um“bšMÞer–¹of“p˜oinš²!ts“allo˜w˜able“in“a“path.‘“ÖF‘ÿeor“paths“constructed“b˜y‘ucX‘ü·ŸâÃYŽŽ‘ôÃ-pic,Ž¡whicš²!h–œincludes“spline“curv˜es,‘5)when“the“limit“is“reac˜hed“the“path“is“automatically“ ushed“and“a“newŽ¡path–:zcommenced.‘¹äThe“follo²!wing“command“can“bMÞe“used“to“customise“this“limit|initially“set“at“300“forŽ¡use–¦fwith“ÕxdÁ´vi¹|to“suit“alternativš²!e“Çh¹driv˜erÇi¹s.ŽŸ J­‰ffã²dŸ a‘9qòÏ\maxTPICpoints{Ž’¬èÇh¹n²!umÇiÏ}ŽŽ’¸g@¹set–¦fmaxim²!um“for“pathsŽŽŽŽŸV͉ffã²dŸ '{¦Ã79Ž‘Ï\xynew@{count}\xytpic@cntŽŽ¡Ã80Ž‘Ï\xydef@\xytpic@max{300}ŽŽ¡Ã81Ž‘Ï\xydef@\maxTPICpoints#1{\count@=#1‘¿ª\relaxŽŽ¡Ã82Ž‘¿ªÏ\ifnum\count@>\tw@‘¿ª\edef\xytpic@max{\the\count@}%ŽŽ¡Ã83Ž‘¿ªÏ\else\expandafter\xyTPICmaxwarning@\expandafter{\the\count@}\fi}ŽŽ¡Ã84Ž‘Ï\xydef@\xyTPICmaxwarning@#1{max–¿ªpoints“must“be“at“least“2,“#1“invalid}ŽŽ¦‘¹Eacš²!h–FFob‘›»ject“in˜v˜olving“Õtpic“Ï\specialŽ‘1C–¹s“m˜ust“set“the“st˜yle,‘Yusing“Ï\xytpic@set@Ž‘Kˆ„¹to“store“a“macro“asŽ¡the–äÈexpansion“of“Ï\xytpic@style@@Ž‘Z¾¹.‘™Currenš²!tly“this“is“global,‘ô`since“a“Õtpic“¹ob‘›»ject“m˜ust“bMÞe“completedŽ¡once–¦fit“has“bšMÞeen“started“|“p˜erhaps“this“is“not“necessary‘ÿe.Ž¡‘Note–«sthat“Ï\xytpic@set@Ž‘NRÞ¹uses“Ï\xdefŽ‘!iŹ,‘ì¶but“has“a“Ï\noexpandŽ‘=à¹in“its“expansion;‘-úthis“forces“expan-Ž¡sion–?žof“the“argumen²!t,›eìwhen“there“is“one,˜to“the“conš²!trol“sequence“passed“as“the“ rst“tok˜en“follo˜wingŽ¡Ï\xytpic@set@Ž‘Dûø¹.ަÃ99Ž‘Ï\xydef@\xytpic@style@@{\xytpic@fp}ŽŽ¡Ã100Ž‘Ï\xydef@\xytpic@reset@{\gdef\xytpic@style@@{\xytpic@fp}%ŽŽ¡Ã101Ž‘¿ªÏ\global\xytpic@cnt=\z@‘¿ª}ŽŽ¡Ã102Ž‘Ï\xydef@\xytpic@set@#1{\xdef\xytpic@style@@{\noexpand#1}}ŽŽ¦‘¹Here–¦fare“the“actual“Ï\specialsŽ‘; ƹthat“get“placed“in“the“dvi- le.ަÃ108Ž‘Ï\xydef@\xytpic@pn#1{\xyTPIC@special{pn‘¿ª#1}}ŽŽ¡Ã109Ž‘Ï\xydef@\xytpic@pa#1#2{\global\advance\xytpic@cnt\@ne\relaxŽŽ¡Ã110Ž‘¿ªÏ\ifnum\xytpic@cnt=\xytpic@max\relax–¿ª\xyTPIC@special{pa“#1“#2}%ŽŽ¡Ã111Ž‘TÏ\kern-\X@c\raise-\Y@c\hbox{\xytpic@style@@}\kern\X@cŽŽ¡Ã112Ž‘Ï%‘¿ª\xytpic@ipŽŽ¡Ã113Ž‘¿ªÏ\global\xytpic@cnt=\@ne–¿ª\relax\fi“\xyTPIC@special{pa“#1“#2}}ŽŽ¡Ã114Ž‘Ï\xydef@\xytpic@fp{\xyTPIC@special{fp}}ŽŽ¡Ã115Ž‘Ï\xydef@\xytpic@ip{\xyTPIC@special{ip}}ŽŽ¡Ã116Ž‘Ï\xydef@\xytpic@da#1{\xyTPIC@special{da‘¿ª#1}}ŽŽ¡Ã117Ž‘Ï\xydef@\xytpic@dt#1{\xyTPIC@special{dt‘¿ª#1}}ŽŽ¡Ã118Ž‘Ï\xydef@\xytpic@sp#1{\xyTPIC@special{sp‘¿ª#1}}ŽŽ¡Ã119Ž‘Ï\xydef@\xytpic@ar#1#2#3#4#5#6{\xyTPIC@special{ar–¿ª#1“#2“#3“#4“#5“#6}}ŽŽ¡Ã120Ž‘Ï\xydef@\xytpic@ia#1#2#3#4#5#6{\xyTPIC@special{ia–¿ª#1“#2“#3“#4“#5“#6}}ŽŽ¡Ã121Ž‘Ï\xydef@\xytpic@sh#1{\xyTPIC@special{sh‘¿ª#1}}ŽŽ¡Ã122Ž‘Ï%\xydef@\xytpic@psb#1{\xyTPIC@special{:[begin]‘¿ª#1}}ŽŽŽŽŒ‹Ÿv Á à ý*tj‘ãŒÑ2.11.‘„CTPIC‘¦fBA²!CKEND’]AL¹271ŽŽ ¶?? ýh«w‘ãŒÃ123Ž‘õŒÏ%\xydef@\xytpic@pse#1{\xyTPIC@special{:[end]}}ŽŽ¤ ™š‘ãŒÃ124Ž‘õŒÏ%ŽŽ¡‘ãŒÃ125Ž‘õŒÏ\xydef@\xytpic@wh{\xyTPIC@special{sh–¿ª0}}‘ T%“obsoleteŽŽ¡‘ãŒÃ126Ž‘õŒÏ\xydef@\xytpic@bk{\xyTPIC@special{sh–¿ª1}}‘ T%“obsoleteŽŽ©Pˆ‘ãŒÃ128Ž‘õŒÏ\xydef@\xyTPIC@special#1{\special{#1}}ŽŽ¡‘ãŒÃ129Ž‘õŒÏ\xydef@\xyTPIC@noisy#1{\W@{TPIC:‘¿ª#1}\special{#1}}ŽŽ¡‘ãŒÃ130Ž‘õŒÏ\xydef@\NoisyTPIC{\let\xyTPIC@special=\xyTPIC@noisy}ŽŽ¤`‘ôŒ¹Some–¦fe ects“ma²!y“require“a“Õtpic“Ï\specialŽ‘5J¹to“bšMÞe“placed“b˜oth“b˜efore“and“after“the“Çh¹ob‘›»jectÇi¹.ަ‘ãŒÃ137Ž‘õŒÏ\xydef@\xyTPICsplit@#1#2{\setboxz@h{#1\boxz@#2}}%ŽŽ¡‘ôŒÕtpic–¦f¹uses“units“of“`milli-incš²!hes'“for“coMÞordinates,“but“inc˜hes“for“dot-separations“and“dash-length.ަ‘ãŒÃ146Ž‘õŒÏ\xydef@\xytpic@pt#1{\dimen@=#1\divide\dimen@–¿ªby72“%ŽŽ¤ ™š‘ãŒÃ147Ž‘ûKÃÏ\multiply\dimen@–¿ªby“1000“\advance\dimen@.5\p@ŽŽ¡‘ãŒÃ148Ž‘ûKÃÏ\count@=\dimen@–¿ª\divide\count@\p@“}ŽŽ¡‘ãŒÃ149Ž‘õŒÏ\xydef@\xytpic@in#1{\dimen@=#1\divide\dimen@–¿ªby72“%ŽŽ¡‘ãŒÃ150Ž‘ûKÃÏ\edef\next@{\expandafter\removePT@\the\dimen@}}%ŽŽŸ`‘ôŒ¹The–ä¶Õtpic“¹loMÞcation“is“calculated“relativš²!e“to“the“curren˜t“T‘þ,³Ÿ[wEŽ‘B X“reference“pMÞoin˜t.‘˜ÎHence“most“ÕtpicŽ¡‘㌹ob‘›»jects–¦fstart“at“the“(0Ä;‘Ó1¹0)“loMÞcation.ަ‘ãŒÃ157Ž‘õŒÏ\xydef@\xytpic@dot@@{\xytpic@pa00}ŽŽ¡‘ãŒÃ158Ž‘õŒÏ\xydef@\xytpic@width@{\xytpic@pt{\xylinethick@}%ŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\expandafter\xytpic@pn\expandafter{\the\count@}}ŽŽ¡‘ãŒÃ160Ž‘õŒÏ%\xylet@\xytpic@width@=\relaxŽŽ¦‘ãŒÃ162Ž‘õŒÏ\xydef@\xytpic@line{%ŽŽ¡‘ãŒÃ163Ž‘ûKÃÏ\xytpic@dot@@‘¿ª\xytpic@pt{-\d@X}\count@@=\count@ŽŽ¡‘ãŒÃ164Ž‘ûKÃÏ\xytpic@pt\d@Y‘¿ª\edef\next@{{\the\count@@}{\the\count@}}%ŽŽ¡‘ãŒÃ165Ž‘ûKÃÏ\expandafter\xytpic@pa\next@–¿ª\xytpic@style@@“\xytpic@reset@“}ŽŽ¦‘ãŒÃ167Ž‘õŒÏ\xydef@\xytpic@solid@@{\xytpic@set@\xytpic@fp}ŽŽ¡‘ãŒÃ168Ž‘õŒÏ\xydef@\xytpic@dashed@@{\xytpic@in\xydashl@‘¿ª\xytpic@dad}ŽŽ¡‘ãŒÃ169Ž‘õŒÏ\xydef@\xytpic@dotted@@{\dimen@=.5\xydashl@–¿ª\xytpic@in\dimen@“\xytpic@dtd}ŽŽ¡‘ãŒÃ170Ž‘õŒÏ\xydef@\xytpic@dad{\expandafter\xytpic@set@\expandafter{%ŽŽ¡‘ãŒÃ171Ž‘ mÏ\expandafter\xytpic@da\expandafter{\next@}}}ŽŽ¡‘ãŒÃ172Ž‘õŒÏ\xydef@\xytpic@dtd{\expandafter\xytpic@set@\expandafter{%ŽŽ¡‘ãŒÃ173Ž‘ mÏ\expandafter\xytpic@dt\expandafter{\next@}}}ŽŽ¦‘ãŒÃ175Ž‘õŒÏ\xydef@\xytpic@polysolid@{\xytpic@set@\xytpic@fp}ŽŽ¡‘ãŒÃ176Ž‘õŒÏ\xydef@\xytpic@polydashed@#1{\count@=#1‘¿ª\xytpic@dad}ŽŽ¡‘ãŒÃ177Ž‘õŒÏ\xydef@\xytpic@polydotted@#1{\count@=#1‘¿ª\xytpic@dtd}ŽŽ¡‘ãŒÃ178Ž‘õŒÏ\xydef@\xytpic@postpoly@{\xytpic@style@@‘¿ª\xytpic@reset@}ŽŽŸ%ü‘ãŒÔre-bindings‘ ó5¹This–+Dis“similar“to“the“mecš²!hanism“used“b˜y“the“ÕPostScript“¹bac˜k-end“to“rebind“\hoMÞoks"Ž¡‘ãŒto–¦fincorpMÞorate“a“switcš²!h“according“to“the“curren˜t“v‘ÿdDalue“of“Ï\ifTPICspecials@Ž‘_¡¹.ަ‘ãŒÃ190Ž‘õŒÏ\xydef@\TPICalternative@#1#2{%ŽŽ¡‘ãŒÃ191Ž‘õŒÏ\expandafter\global\expandafter\let\csname‘¿ªorigxy#2@\endcsname=#1%ŽŽ¡‘ãŒÃ192Ž‘ûKÃÏ\xdef#1{\noexpand\ifTPICspecials@ŽŽ¡‘ãŒÃ193Ž‘ËÏ\noexpand\expandafter\expandafter\noexpand\csname‘¿ªxytpic@#2@\endcsnameŽŽ¡‘ãŒÃ194Ž‘ mÏ\noexpand\elseŽŽ¡‘ãŒÃ195Ž‘ËÏ\noexpand\expandafter\expandafter\noexpand\csname‘¿ªorigxy#2@\endcsnameŽŽŽŽŒ‹¬Ç Á à ý*tj‘㌹272’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ196Ž‘ mÏ\noexpand\fi}}%ŽŽŸ¾Ò‘ôŒ¹Allo²!w–Vhonly“one“instance“of“Ï\setupxyTPIC@Ž‘P ¹;‘.hthereafter“simply“do“Ï\reloadxyTPIC@Ž‘[(¹to“turn“onޤ ™š‘ãŒan²!ything–¦fthat“has“bMÞeen“turned“o .Ž©Pˆ‘ãŒÃ203Ž‘õŒÏ\xydef@\setupxyTPIC@{\xywarning@{using–¿ªTPIC“specials}%ŽŽ¡‘ãŒÃ204Ž‘ûKÃÏ\TPICalternative@{\solid@}{solid}%ŽŽ¡‘ãŒÃ205Ž‘ûKÃÏ\TPICalternative@{\dash@}{dashed}%ŽŽ¡‘ãŒÃ206Ž‘ûKÃÏ\TPICalternative@{\point@}{point}%ŽŽ¡‘ãŒÃ207Ž‘ûKÃÏ\TPICalternative@{\circhar@@}{circhar}%ŽŽ¡‘ãŒÃ208Ž‘ûKÃÏ\TPICalternative@{\splinesolid@}{splinesolid}%ŽŽ¡‘ãŒÃ209Ž‘õŒÏ%‘¿ª\TPICalternative@{\splinedashed@}{splinedashed}%ŽŽ¡‘ãŒÃ210Ž‘õŒÏ%‘¿ª\TPICalternative@{\splinedotted@}{splinedotted}%ŽŽ¡‘ãŒÃ211Ž‘ûKÃÏ\xywithoption{frame}{\xyinputorelse@{xytp-f}{}\xyuncatcodes}%ŽŽ¡‘ãŒÃ212Ž‘ûKÃÏ\let\setupxyTPIC@=\reloadxyTPIC@ŽŽ¡‘ãŒÃ213Ž‘ûKÃÏ\activateTPIC@‘¿ª}ŽŽ¦‘ãŒÃ215Ž‘õŒÏ\xydef@\xyunloadTPIC@{\xywarning@{TPIC–¿ªspecials“turned“off}%ŽŽ¡‘ãŒÃ216Ž‘ûKÃÏ\xywithoption{curve}{\xysetup@@\uninstallTPICcurves@‘¿ª}%ŽŽ¡‘ãŒÃ217Ž‘ûKÃÏ\xywithoption{line}{\xysetup@@\uninstallTPICline@‘¿ª}%ŽŽ¡‘ãŒÃ218Ž‘ûKÃÏ\xywithoption{frame}{\xysetup@@\uninstallTPICframes@‘¿ª}%ŽŽ¡‘ãŒÃ219Ž‘ûKÃÏ\TPICspecials@falseŽŽ¡‘ãŒÃ220Ž‘ûKÃÏ\let\setupxyTPIC@=\reloadxyTPIC@‘¿ª}ŽŽ¦‘ãŒÃ222Ž‘õŒÏ\xydef@\activateTPIC@{%ŽŽ¡‘ãŒÃ223Ž‘ûKÃÏ\xywithoption{line}{\xysetup@@\installTPICline@}%ŽŽ¡‘ãŒÃ224Ž‘ûKÃÏ\xywithoption{curve}{\xysetup@@\installTPICcurves@}%ŽŽ¡‘ãŒÃ225Ž‘ûKÃÏ\xywithoption{frame}{\xysetup@@\installTPICframes@}%ŽŽ¡‘ãŒÃ226Ž‘ûKÃÏ\TPICspecials@true‘¿ª}ŽŽ¦‘ãŒÃ228Ž‘õŒÏ\xydef@\reloadxyTPIC@{\xywarning@{TPIC–¿ªspecials“back“on}\activateTPIC@“}ŽŽŸ(añ‘ãŒÃ236Ž‘õŒÏ\xydef@\xytpic@solid@{%ŽŽ¡‘ãŒÃ237Ž‘ûKÃÏ\ifInvisible@‘¿ª\let\next@=\no@@ŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\else–¿ª\DN@{\xyTPICstraight@{\xytpic@solid@@“\xytpic@line}}\fiŽŽ¡‘ãŒÃ239Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘ãŒÃ241Ž‘õŒÏ\xydef@\xytpic@dashed@{\line@ŽŽ¡‘ãŒÃ242Ž‘ûKÃÏ\def\Connect@@{\xyTPICstraight@{\xytpic@dashed@@‘¿ª\xytpic@line}}}ŽŽ¦‘ãŒÃ244Ž‘õŒÏ\xydef@\xytpic@point@{\xytpic@dot@@\xytpic@fp\egroupŽŽ¡‘ãŒÃ245Ž‘ûKÃÏ\Invisible@false–¿ª\Hidden@false“\def\Leftness@{.5}\def\Upness@{.5}\ctipEdge@ŽŽ¡‘ãŒÃ246Ž‘ûKÃÏ\def\Drop@@{\styledboxz@}%ŽŽ¡‘ãŒÃ247Ž‘ûKÃÏ\def\Connect@@{\xyTPICstraight@{\xytpic@dotted@@‘¿ª\xytpic@line}}}ŽŽ¦‘ãŒÃ249Ž‘õŒÏ\xydef@\xyTPICstraight@#1{\setupDirection@ŽŽ¡‘ãŒÃ250Ž‘ûKÃÏ\edef\Creset@@{\cfromthec@–¿ª\pfromthep@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ251Ž‘ûKÃÏ\DN@##1##2{\def\checkoverlap@@{%ŽŽ¡‘ãŒÃ252Ž‘ mÏ\ifdim##1\X@p>##1\X@c–¿ª\let\next@=\relax“\fiŽŽ¡‘ãŒÃ253Ž‘ mÏ\ifdim##2\Y@p>##2\Y@c–¿ª\let\next@=\relax“\fi}}%ŽŽ¡‘ãŒÃ254Ž‘ûKÃÏ\edef\nextii@{{\sd@X}{\sd@Y}}\expandafter\next@\nextii@ŽŽ¡‘ãŒÃ255Ž‘ûKÃÏ\noCshavep@@–¿ª\edef\Cshavep@@{\pfromthep@“\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ256Ž‘ûKÃÏ\noCshavec@@–¿ª\edef\Cshavec@@{\cfromthec@“\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ257Ž‘ûKÃÏ\ifHidden@\elseŽŽŽŽŒ‹º Á à ý*tj‘ãŒÑ2.11.‘„CTPIC‘¦fBA²!CKEND’]AL¹273ŽŽ ¶?? ýh«w‘ãŒÃ258Ž‘ mÏ\ifdim\Y@c>\Y@max–¿ª\Y@max=\Y@c“\fi‘ T\ifdim\Y@p>\Y@max“\Y@max=\Y@p“\fiŽŽ¤ ™š‘ãŒÃ259Ž‘ mÏ\ifdim\Y@c<\Y@min–¿ª\Y@min=\Y@c“\fi‘ T\ifdim\Y@p<\Y@min“\Y@min=\Y@p“\fiŽŽ¡‘ãŒÃ260Ž‘ mÏ\ifdim\X@c>\X@max–¿ª\X@max=\X@c“\fi‘ T\ifdim\X@p>\X@max“\X@max=\X@p“\fiŽŽ¡‘ãŒÃ261Ž‘ mÏ\ifdim\X@c<\X@min–¿ª\X@min=\X@c“\fi‘ T\ifdim\X@p<\X@min“\X@min=\X@p“\fi“\fiŽŽ¡‘ãŒÃ262Ž‘ûKÃÏ\ifInvisible@\let\next@=\relaxŽ’­Y\elseŽŽ¡‘ãŒÃ263Ž‘ mÏ\DN@{\setboxz@h{\kern\X@c‘¿ª\raise\Y@c\hbox{#1}}%ŽŽ¡‘ãŒÃ264Ž‘ËÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“{\Drop@@}}%ŽŽ¡‘ãŒÃ265Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ266Ž‘ûKÃÏ\checkoverlap@@ŽŽ¡‘ãŒÃ267Ž‘ûKÃÏ\ifdim\d@X=\z@–¿ª\ifdim\d@Y=\z@“\DN@{\relax}\fi\fi“\next@ŽŽ¡‘ãŒÃ268Ž‘ûKÃÏ\def\Cslidep@@{\noCslidep@@}\def\Cslidec@@{\noCslidec@@}%ŽŽ¡‘ãŒÃ269Ž‘ûKÃÏ\def\Calong@@{\noCalong@@}\Creset@@‘¿ª}ŽŽŸ‚o‘ãŒÔstraigh¦tt‘2linesŽŸ L‘ãŒspline‘ Øcurv¦tes‘ ó5¹Of–¤ethe“curvš²!es“de ned“in“the“ÏxycurveŽ‘-†p¹extension,‘×þonly“solid“spline“curv˜es“are“suppMÞorted.Ž¡‘ãŒThis–ïis“done“b²!y“treating“the“spline“as“a“pšMÞolygon“(p˜oly-line)“with“manš²!y“segmen˜ts.‘ æThe“dotted“or“dashedŽ¡‘ãŒv‘ÿdDarianš²!ts–¦fdo“not“w˜ork“correctly‘ÿe.ŽŸ Ë‘ôŒImplemenš²!tations–ôeof“Õtpic“¹dra˜w“dashed“pMÞolygons“suc˜h“that“the“start“and“ nish“of“eac˜h“segmen˜t“isŽ¡‘ãŒsolid.‘ÛSince–ž these“segmenš²!ts“can“bMÞe“v˜ery“short,‘Ÿ¸the“e ect“is“simply“to“create“a“solid“line.‘ÛSimilarly“theŽ¡‘ãŒshortness–#‚of“the“segmenš²!ts“tends“to“giv˜e“nothing“at“all“for“large“pMÞortions“of“a“dotted“curv˜e.‘U2What“isŽ¡‘ãŒneeded–¼ais“an“implemenš²!tation“whereb˜y“the“on/o “nature“of“a“dashed“or“dotted“pMÞolygon“is“determinedŽ¡‘ãŒbš²!y–¦fthe“accum˜ulated“length,“not“the“length“along“just“the“curren˜t“segmen˜t.Ž©Pˆ‘ãŒÃ294Ž‘õŒÏ\xydef@\xytpic@splinesolid@{\xyTPICspline@\xytpic@fp‘¿ª}ŽŽ¡‘ãŒÃ295Ž‘õŒÏ\xydef@\xytpic@splinedashed@{\xytpic@in\xydashl@\expandafter\xyTPICspline@ŽŽ¡‘ãŒÃ296Ž‘ûKÃÏ\expandafter{\expandafter\xytpic@da\expandafter{\next@}}}ŽŽ¡‘ãŒÃ297Ž‘õŒÏ\xydef@\xytpic@splinedotted@{\xytpic@in{.5\xydashl@}\expandafter\xyTPICspline@ŽŽ¡‘ãŒÃ298Ž‘ûKÃÏ\expandafter{\expandafter\xytpic@dt\expandafter{\next@}}}ŽŽ¦‘ãŒÃ300Ž‘õŒÏ\xydef@\xyTPICspline@#1{\setbox\splinebox@=\copy\voidb@x‘¿ª%\zerodotŽŽ¡‘ãŒÃ301Ž‘ûKÃÏ\SloppyCurves–¿ª%\splinetol@=\xydashl@‘ T%“\xytpic@ipŽŽ¡‘ãŒÃ302Ž‘ûKÃÏ\global\xytpic@cnt=\@ne‘¿ª\xytpic@set@{#1}%ŽŽ¡‘ãŒÃ303Ž‘ûKÃÏ\def\splineextra@@{\xyTPICspline@dot}%ŽŽ¡‘ãŒÃ304Ž‘ûKÃÏ\def\xycrvdrop@{–¿ª}\def\xycrvconn@{}\splineset@@“\xytpic@style@@}ŽŽ¦‘ãŒÃ306Ž‘õŒÏ\xydef@\xyTPICspline@dot{\xytpic@pt{\X@c}\count@@=\count@ŽŽ¡‘ãŒÃ307Ž‘ûKÃÏ\xytpic@pt{-\Y@c}\edef\next@{{\the\count@@}{\the\count@}}%ŽŽ¡‘ãŒÃ308Ž‘ûKÃÏ\expandafter\xytpic@pa\next@‘¿ª}ŽŽŸ'EA‘ãŒÃ316Ž‘õŒÏ\xydef@\xyTPIClinewidth@#1{\xytpic@pt{#1}\edef\next@{\the\count@}}ŽŽ¦‘ãŒÃ318Ž‘õŒÏ\xydef@\installTPICline@{%ŽŽ¡‘ãŒÃ319Ž‘ûKÃÏ\let\xylinewidth@@=\xylinewidth@ŽŽ¡‘ãŒÃ320Ž‘ûKÃÏ\let\xylineSpecial@@=\xytpic@pnŽŽ¡‘ãŒÃ321Ž‘ûKÃÏ\let\transxyline@@=\xyTPIClinewidth@‘¿ª}ŽŽ¦‘ãŒÃ323Ž‘õŒÏ\xydef@\uninstallTPICline@{\UnloadLine@}%ŽŽŸ‚o‘ãŒÔline‘2widthŽŸ L‘ãŒcircles–LŸand“ellipses‘ ó5¹Here–Þuwš²!e“catc˜h“circles“and“ellipses“spMÞeci ed“using“the“Ï\xycircleŽ‘9yä¹command“fromŽ¡‘ãŒthe‘)ùÏxycurveŽ‘0‘˜¹extension.‘h—Since–)ùTPIC‘)ØsuppMÞorts“only“solid“circles,‘JÞwš²!e“catc˜h“it“only“when“the“Çh¹st˜yleÇi“¹isŽŽŽŒ‹Æ Á à ý*tj‘㌹274’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘㌹either‘¦fÏ{}Ž‘Ì ¹or‘¦fÏ{-}Ž‘åd¹.Ž©Pˆ‘ãŒÃ335Ž‘õŒÏ\xydef@\xydoTPICcircle@#1{\DN@{#1}%ŽŽ¤ ™š‘ãŒÃ336Ž‘ûKÃÏ\ifx\next@\empty\DN@{\xyTPICfullcircle@}%ŽŽ¡‘ãŒÃ337Ž‘ûKÃÏ\else\expandafter\DNii@\expandafter{\addDASH@{}}%ŽŽ¡‘ãŒÃ338Ž‘ mÏ\ifx\next@\nextii@\DN@{\L@=\R@‘¿ª\xyTPICfullcircle@}%ŽŽ¡‘ãŒÃ339Ž‘ûKÃÏ\else\DN@{\dosolidcircle@{#1}}\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ341Ž‘õŒÏ\xydef@\xyTPICfullcircle@{\xyTPICpartcircle@{00}0\twoPi@}%ŽŽ¦‘ãŒÃ343Ž‘õŒÏ\xydef@\xyTPICpartcircle@#1#2#3{%ŽŽ¡‘ãŒÃ344Ž‘ûKÃÏ\xytpic@pt{\R@}\expandafter\DNii@\expandafter{\the\count@}%ŽŽ¡‘ãŒÃ345Ž‘ûKÃÏ\xytpic@pt{\L@}\edef\next@{#1{\nextii@}{\the\count@}{#2}{#3}}%ŽŽ¡‘ãŒÃ346Ž‘ûKÃÏ\expandafter\xytpic@ar\next@‘¿ª}ŽŽ¦‘ãŒÃ348Ž‘õŒÏ\xydef@\qartPi@{0.7853981}ŽŽ¡‘ãŒÃ349Ž‘õŒÏ\xydef@\tartPi@{2.3561944}ŽŽŸ’‘ôŒ¹This–¦freplaces“just“the“fonš²!t“c˜haracter,“called“using“Ï\circhar@@#1Ž‘H¢^¹.ަ‘ãŒÃ355Ž‘õŒÏ\xydef@\xytpic@circhar@#1{\xytpic@width@\ifcase#1%ŽŽ¡‘ãŒÃ356Ž‘ mÏ\xytpic@pt{\R@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ357Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{\tartPi@}{\fullPi@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ358Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ359Ž‘ mÏ\xytpic@pt{\halfroottwo\R@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ360Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{\halfPi@}{\tartPi@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ361Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ362Ž‘ mÏ\xytpic@pt{\z@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ363Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{\qartPi@}{\halfPi@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ364Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ365Ž‘ mÏ\xytpic@pt{-\halfroottwo\R@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ366Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@0{\qartPi@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ367Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ368Ž‘ mÏ\xytpic@pt{-\halfroottwo\R@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ369Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{-\qartPi@}0\kern\partroottwo\R@ŽŽ¡‘ãŒÃ370Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ371Ž‘ mÏ\xytpic@pt{\z@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ372Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{-\halfPi@}{-\qartPi@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ373Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ374Ž‘ mÏ\xytpic@pt{\halfroottwo\R@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ375Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{-\tartPi@}{-\halfPi@}\kern\halfroottwo\R@ŽŽ¡‘ãŒÃ376Ž‘ûKÃÏ\orŽŽ¡‘ãŒÃ377Ž‘ mÏ\xytpic@pt{\R@}\edef\next@{{{\the\count@}0}}%ŽŽ¡‘ãŒÃ378Ž‘ mÏ\expandafter\xyTPICcirchar@i\next@{-\fullPi@}{-\tartPi@}\kern\partroottwo\R@ŽŽ¡‘ãŒÃ379Ž‘ûKÃÏ\fi}ŽŽ¦‘ãŒÃ381Ž‘õŒÏ\xydef@\xyTPICcirchar@i#1#2#3{\L@=\R@‘¿ª\xyTPICpartcircle@{#1}{#2}{#3}}ŽŽŸ,E«‘ãŒÃ387Ž‘õŒÏ\xydef@\xyTPIC@spline@ii@{\DN@{\xy@spline@ii}%ŽŽ¡‘ãŒÃ388Ž‘ûKÃÏ\ifx\splineSTYLE@\empty\DN@{\xyTPICqspline@{0}}%ŽŽ¡‘ãŒÃ389Ž‘ûKÃÏ\else\expandafter\DNii@\expandafter{\addDASH@{}}%ŽŽ¡‘ãŒÃ390Ž‘ûKÃÏ\ifx\splineSTYLE@\nextii@\DN@{\xyTPICqspline@{0}}%ŽŽ¡‘ãŒÃ391Ž‘ûKÃÏ\else\expandafter\DNii@\expandafter{\addDOT@{}}%ŽŽŽŽŒ‹Óù Á à ý*tj‘ãŒÑ2.11.‘„CTPIC‘¦fBA²!CKEND’]AL¹275ŽŽ ¶?? ýh«w‘ãŒÃ392Ž‘ûKÃÏ\ifx\splineSTYLE@\nextii@\DN@{\xyTPICqspline@{-.5}}%ŽŽ¤ ™š‘ãŒÃ393Ž‘ûKÃÏ\else\expandafter\expandafter\expandafter\DNii@\expandafter\expandafterŽŽ¡‘ãŒÃ394Ž‘ mÏ\expandafter{\expandafter\addDASH@\addDASH@{}}%ŽŽ¡‘ãŒÃ395Ž‘ûKÃÏ\ifx\splineSTYLE@\nextii@\DN@{\xyTPICqspline@{}}%ŽŽ¡‘ãŒÃ396Ž‘ûKÃÏ\fi\fi\fi\fiŽŽ¡‘ãŒÃ397Ž‘ûKÃÏ\next@‘¿ª}%ŽŽ©Pˆ‘ãŒÃ399Ž‘õŒÏ\xydef@\xyTPIC@accumulate{\xytpic@pt\X@c‘¿ª\count@@=\count@ŽŽ¡‘ãŒÃ400Ž‘ûKÃÏ\xytpic@pt{-\Y@c}\edef\next@{{\the\count@@}{\the\count@}}%ŽŽ¡‘ãŒÃ401Ž‘ûKÃÏ\expandafter\xytpic@pa\next@‘¿ª}ŽŽ¦‘ãŒÃ403Ž‘õŒÏ\xydef@\xyTPICqspline@#1{\xytpic@width@ŽŽ¡‘ãŒÃ404Ž‘ûKÃÏ\xytpic@in{#1\xydashl@}\expandafter\gdef\expandafter\xytpic@style@@ŽŽ¡‘ãŒÃ405Ž‘ mÏ\expandafter{\expandafter\xytpic@sp\expandafter{\next@}}%ŽŽ¡‘ãŒÃ406Ž‘ûKÃÏ\save@–¿ª\cfromp@“\xyTPIC@accumulateŽŽ¡‘ãŒÃ407Ž‘ mÏ\edef\smapp@@{\s@bot}\smapxy@i{\xyTPIC@accumulate}%ŽŽ¡‘ãŒÃ408Ž‘ûKÃÏ\leave@–¿ª\xyTPIC@accumulate“\xytpic@style@@“\xytpic@reset@ŽŽ¡‘ãŒÃ409Ž‘ûKÃÏ\enter@{}\xy@spline@x‘¿ª}ŽŽŸv‘ãŒÃ413Ž‘õŒÏ\xydef@\installTPICcurves@{%ŽŽ¡‘ãŒÃ414Ž‘ûKÃÏ\let\dosolidcircle@@=\xydoTPICcircle@ŽŽ¡‘ãŒÃ415Ž‘ûKÃÏ\let\xy@spline@ii@@=\xyTPIC@spline@ii@ŽŽ¡‘ãŒÃ416Ž‘ûKÃÏ}ŽŽ¡‘ãŒÃ417Ž‘õŒÏ\xydef@\uninstallTPICcurves@{%ŽŽ¡‘ãŒÃ418Ž‘ûKÃÏ\let\dosolidcircle@@=\dosolidcircle@ŽŽ¡‘ãŒÃ419Ž‘ûKÃÏ\let\xy@spline@ii@@=\xy@spline@ii‘¿ª}ŽŽ¤)‘ãŒÔquadratic‘2splinesŽŸ)š·‘ãŒÃ426Ž‘ûKÃÏ\xywithoption{frame}{\xyinputorelse@{xytp-f}{}}ŽŽ¡‘ãŒÔframes‘ ó5¹Implemenš²!t–@color“ lls“b˜y“reading“from“a“Ï\TPICfillcolorŽ‘S}Œ¹.‘§&Implemen˜t“pattern“ lls“b˜y“readingޤ ™š‘ãŒfrom–¦fa“Ï\TPICfillpattŽ‘Nb¹.‘ÝÝRead“these“whenev²!er“a“ ll“is“requested.ަ‘ãŒÃ435Ž‘õŒÏ\xydef@\uninstallTPICframes@{\UnloadFrames@}ŽŽŸv‘ãŒÃ441Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ443Ž‘õŒÏ%–¿ª$Log:“xytpic.doc,v“$ŽŽ¡‘ãŒÃ444Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:50:38“rossŽŽ¡‘ãŒÃ445Ž‘õŒÏ%–¿ªadjusted“Drop@@“for“stylesŽŽ¡‘ãŒÃ446Ž‘õŒÏ%–¿ªminor“improvements“to“file-loading“commandsŽŽ¡‘ãŒÃ447Ž‘õŒÏ%ŽŽ¡‘ãŒÃ448Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ449Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ450Ž‘õŒÏ%ŽŽ¡‘ãŒÃ451Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ452Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ453Ž‘õŒÏ%ŽŽ¡‘ãŒÃ454Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ455Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ456Ž‘õŒÏ%ŽŽ¡‘ãŒÃ457Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽŽŽŒ‹ßÈ Á à ý*tj‘㌹276’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ458Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¤ ™š‘ãŒÃ459Ž‘õŒÏ%ŽŽ¡‘ãŒÃ460Ž‘õŒÏ%–¿ªNEW“for“version“3.1“by“Ross“Moore‘ T1995/03/18.ŽŽ¡‘ãŒÃ461Ž‘õŒÏ%–¿ªreplaces“xyps-col.docŽŽ¡‘ãŒÃ462Ž‘õŒÏ%ŽŽŸ5w‘ãŒÝ2.12Ž‘Œem-T‘þ¦feX‘ffbac•ŒÌk“endŽŸ…j‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ¿Þ‘㌹EbMÞerhard–1Matte's“em-T‘þ,³Ÿ[wEŽ‘B X“implemenš²!tation“pro˜vides“a“suite“of“Ï\specialŽ‘6`R¹commands“to“facilitate“theŽ¡‘ãŒdraš²!wing–‡of“lines,‘bMÞoth“on-screen“and“with“v‘ÿdDarious“prin˜ting“devices.‘ø?This“`bac˜k-end'“extension“allo˜wsŽ¡‘ãŒthe–¦flines“in‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“diagrams“to“bšMÞe“dra²!wn“using“these“metho˜ds.ŽŸ«[‘ôŒNote–ääthat“this“extension“došMÞes“not“ha•²!v“e–ääto“b˜e“used“with“em-T‘þ,³Ÿ[wEŽ‘B X.‘™VBetter“results“ma²!y“b˜e“obtainedŽ¡‘ãŒusing–w‘the“ÕPostScript“¹bacš²!k-end“and“ÕdÁ´vips“Çh¹driv˜erÇi¹,‘€ïsince“a“v˜ersion“of“ÕdÁ´vips“¹is“a˜v‘ÿdDailable“for“em-T‘þ,³Ÿ[wEŽ‘B X.Ž¡‘ãŒHo•²!w“ev“er,›/in–Сparticular“for“screen“previewing“purpMÞoses,˜it“maš²!y“bMÞe“con˜v˜enien˜t“to“use“this“bac˜k-end.Ž¡‘ãŒF‘ÿeurthermore–¦fnote“that“ÕdÁ´vips“¹is“capable“of“suppMÞorting“em-T‘þ,³Ÿ[wEŽ‘B XÏ\specialŽ‘-ýP¹s.ŽŸ#‚‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyemtex.doc,v“3.3“1996/12/18“09:18:00“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``em-TeX''“back-end“extension.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{emtex}{em-TeX–¿ªbackend}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŽŽŒ‹ê Á à ý*tj‘ãŒÑ2.12.‘„CEM-TEX‘¦fBA²!CKEND’KÃõ¹277ŽŽ ¶?? ýh«w‘ôŒOnce–Qloaded“using“Ï\xyoption{emtex}Ž‘`ñ¹,‘7Lwith“an“appropriate“Çh¹driv²!erÇi“¹also“spMÞeci ed“either“alreadyޤ ™š‘ãŒor–¦fsubsequenš²!tly‘ÿe,“the“follo˜wing“commands“are“a˜v‘ÿdDailable“to“turn“the“em-T‘þ,³Ÿ[wEŽ‘B X“bac˜k˜end“o /on.Ž‘ãŒŸÍ6‰ffã²dŸ ½È‘Mò&Ï\NoEMspecialsŽŽ’£ç ¹turns–¦fo “em-T‘þ,³Ÿ[wEŽ‘B X“spMÞecials.ŽŽŽŽ¡‘Mò&Ï\UseEMspecialsŽŽ’£ç ¹reinstates–¦fem-T‘þ,³Ÿ[wEŽ‘B X“spMÞecials.ŽŽŽŽŸ³‰ffã²dŸ ª©PˆÃ59Ž‘Ï\xynew@{if}\ifEMspecials@ŽŽ¡Ã60Ž‘Ï\xydef@\UseEMspecials{\EMspecials@true}ŽŽ¡Ã61Ž‘Ï\xydef@\NoEMspecials{\EMspecials@false}ŽŽŸ'e*Ã69Ž‘Ï\xydef@\xyemtex@lineto{\xyEM@special{lineto}}ŽŽ¡Ã70Ž‘Ï\xydef@\xyemtex@moveto{\xyEM@special{moveto}}ŽŽ¡Ã71Ž‘Ï\xydef@\xyemtex@line#1{\xyEM@special{line‘¿ª#1}}ŽŽ¡Ã72Ž‘Ï\xydef@\xyemtex@point#1{\xyEM@special{point‘¿ª#1}}ŽŽ¡Ã73Ž‘Ï\xydef@\xyemtex@pen#1{\addtostyletoks@{\xyEM@special{linewidth‘¿ª#1}}}ŽŽŸ‰4ÔThe‘2Ï\specialŽ‘2/ÝÔs‘ ó5¹These–¦fplace“the“actual“Ï\specialŽ‘1£¶¹s“and“allo²!w“tracing:ަÃ79Ž‘Ï{\catcode`:=12‘¿ª\gdef\next#1{\special{em:#1}}}ŽŽ¡Ã80Ž‘Ï\xylet@\xyEM@special=\nextŽŽ¦Ã82Ž‘Ï{\catcode`:=12‘¿ª\gdef\next#1{%ŽŽ¡Ã83Ž‘¿ªÏ\W@{EM:#1‘¿ª(\the\X@p,\the\Y@p),(\the\X@c,\the\Y@c)}\special{em:#1}}}ŽŽ¡Ã84Ž‘Ï\xylet@\xyEM@noisy=\nextŽŽ¦Ã86Ž‘Ï\xydef@\NoisyEMTeX{\let\xyEM@special=\xyEM@noisy}ŽŽŸ‰4‘¹Currenš²!tly–¦fthese“are“not“used“b˜y‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic.ަÃ92Ž‘Ï%\xydef@\xyemtex@message#1{\xyEM@special{message‘¿ª#1}}ŽŽ¡Ã93Ž‘Ï%\xydef@\xyemtex@graph#1{\xyEM@special{graph‘¿ª#1}}ŽŽŸ"æèÔre-bindings‘ ó5¹This–+Dis“similar“to“the“mecš²!hanism“used“b˜y“the“ÕPostScript“¹bac˜k-end“to“rebind“\hoMÞoks"Ž¡to–¦fincorpMÞorate“a“switcš²!h“according“to“the“curren˜t“v‘ÿdDalue“of“Ï\ifEMspecials@Ž‘T!²¹.ަÃ105Ž‘Ï\xydef@\EMalternative@#1#2{%ŽŽ¡Ã106Ž‘Ï\expandafter\global\expandafter\let\csname‘¿ªorigxy#2@\endcsname=#1%ŽŽ¡Ã107Ž‘¿ªÏ\xdef#1{\noexpand\ifEMspecials@ŽŽ¡Ã108Ž‘#>þÏ\noexpand\expandafter\expandafter\noexpand\csname‘¿ªxyemtex@#2@\endcsnameŽŽ¡Ã109Ž‘TÏ\noexpand\elseŽŽ¡Ã110Ž‘#>þÏ\noexpand\expandafter\expandafter\noexpand\csname‘¿ªorigxy#2@\endcsnameŽŽ¡Ã111Ž‘TÏ\noexpand\fi}}%ŽŽŸ‰4‘¹Alloš²!w–‡Zonly“one“instance“of“Ï\setupxyEM@Ž‘Bè¹;‘‘³thereafter“simply“do“Ï\reloadxyEM@Ž‘L ¬¹to“turn“on“an˜ythingŽ¡that–¦fhas“bMÞeen“turned“o .ަÃ118Ž‘Ï\xydef@\setupxyEMTeX@{\xywarning@{using–¿ªem-TeX“specials}%ŽŽ¡Ã119Ž‘¿ªÏ\EMalternative@{\solid@}{solid}%ŽŽ¡Ã120Ž‘Ï%‘¿ª\EMalternative@{\point@}{point}%ŽŽ¡Ã121Ž‘¿ªÏ\EMalternative@{\splinesolid@}{splinesolid}%ŽŽ¡Ã122Ž‘¿ªÏ\let\setupxyEM@=\reloadxyEM@ŽŽ¡Ã123Ž‘¿ªÏ\activateEM@‘¿ª}ŽŽ¦Ã125Ž‘Ï\xydef@\xyunloadEM@{\xywarning@{EM–¿ªspecials“turned“off}%ŽŽŽŽŒ‹öœ Á à ý*tj‘㌹278’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ126Ž‘õŒÏ%–¿ª\xywithoption{curve}{\xysetup@@\uninstallEMcurves@“}%ŽŽ¤ ™š‘ãŒÃ127Ž‘ûKÃÏ\xywithoption{line}{\xysetup@@\uninstallEMline@‘¿ª}%ŽŽ¡‘ãŒÃ128Ž‘õŒÏ%–¿ª\xywithoption{frame}{\xysetup@@\uninstallEMframes@“}%ŽŽ¡‘ãŒÃ129Ž‘ûKÃÏ\EMspecials@falseŽŽ¡‘ãŒÃ130Ž‘ûKÃÏ\let\setupxyEM@=\reloadxyEM@‘¿ª}ŽŽ©Pˆ‘ãŒÃ132Ž‘õŒÏ\xydef@\activateEM@{%ŽŽ¡‘ãŒÃ133Ž‘ûKÃÏ\xywithoption{line}{\xysetup@@\installEMline@}%ŽŽ¡‘ãŒÃ134Ž‘õŒÏ%‘¿ª\xywithoption{curve}{\xysetup@@\installEMcurves@}%ŽŽ¡‘ãŒÃ135Ž‘õŒÏ%‘¿ª\xywithoption{frame}{\xysetup@@\installEMframes@}%ŽŽ¡‘ãŒÃ136Ž‘ûKÃÏ\EMspecials@true‘¿ª}ŽŽ¦‘ãŒÃ138Ž‘õŒÏ\xydef@\reloadxyEM@{\xywarning@{EM–¿ªspecials“back“on}\activateEM@“}ŽŽŸ&á‘ãŒÃ146Ž‘õŒÏ\xydef@\xyemtex@solid@{%ŽŽ¡‘ãŒÃ147Ž‘ûKÃÏ\ifInvisible@‘¿ª\let\next@=\no@@ŽŽ¡‘ãŒÃ148Ž‘ûKÃÏ\else‘¿ª\DN@{\xyEMstraight@}\fiŽŽ¡‘ãŒÃ149Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘ãŒÃ151Ž‘õŒÏ\xydef@\xyEMstraight@{\setupDirection@ŽŽ¡‘ãŒÃ152Ž‘ûKÃÏ\edef\Creset@@{\cfromthec@–¿ª\pfromthep@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ153Ž‘ûKÃÏ\DN@##1##2{\def\checkoverlap@@{%ŽŽ¡‘ãŒÃ154Ž‘ mÏ\ifdim##1\X@p>##1\X@c–¿ª\let\next@=\relax“\fiŽŽ¡‘ãŒÃ155Ž‘ mÏ\ifdim##2\Y@p>##2\Y@c–¿ª\let\next@=\relax“\fi}}%ŽŽ¡‘ãŒÃ156Ž‘ûKÃÏ\edef\nextii@{{\sd@X}{\sd@Y}}\expandafter\next@\nextii@ŽŽ¡‘ãŒÃ157Ž‘ûKÃÏ\noCshavep@@–¿ª\edef\Cshavep@@{\pfromthep@“\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ158Ž‘ûKÃÏ\noCshavec@@–¿ª\edef\Cshavec@@{\cfromthec@“\noexpand\resetDirection@}%ŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\ifHidden@\elseŽŽ¡‘ãŒÃ160Ž‘ mÏ\ifdim\Y@c>\Y@max–¿ª\Y@max=\Y@c“\fi‘ T\ifdim\Y@p>\Y@max“\Y@max=\Y@p“\fiŽŽ¡‘ãŒÃ161Ž‘ mÏ\ifdim\Y@c<\Y@min–¿ª\Y@min=\Y@c“\fi‘ T\ifdim\Y@p<\Y@min“\Y@min=\Y@p“\fiŽŽ¡‘ãŒÃ162Ž‘ mÏ\ifdim\X@c>\X@max–¿ª\X@max=\X@c“\fi‘ T\ifdim\X@p>\X@max“\X@max=\X@p“\fiŽŽ¡‘ãŒÃ163Ž‘ mÏ\ifdim\X@c<\X@min–¿ª\X@min=\X@c“\fi‘ T\ifdim\X@p<\X@min“\X@min=\X@p“\fi“\fiŽŽ¡‘ãŒÃ164Ž‘ûKÃÏ\ifInvisible@\let\next@=\relaxŽ’­Y\elseŽŽ¡‘ãŒÃ165Ž‘ mÏ\DN@{%ŽŽ¡‘ãŒÃ166Ž‘ËÏ\setboxz@h{\kern\X@p‘¿ª\raise\Y@p\hbox{\xyemtex@moveto}}%ŽŽ¡‘ãŒÃ167Ž‘ËÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“%ŽŽ¡‘ãŒÃ168Ž‘ËÏ\setboxz@h{\boxz@–¿ª\kern\X@c“\raise\Y@c\hbox{\xyemtex@lineto}}%ŽŽ¡‘ãŒÃ169Ž‘ËÏ\ht\z@=\z@–¿ª\wd\z@=\z@“\dp\z@=\z@“{\Drop@@}}%ŽŽ¡‘ãŒÃ170Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ171Ž‘ûKÃÏ\checkoverlap@@ŽŽ¡‘ãŒÃ172Ž‘ûKÃÏ\ifdim\d@X=\z@–¿ª\ifdim\d@Y=\z@“\DN@{\relax}\fi\fi“\next@ŽŽ¡‘ãŒÃ173Ž‘ûKÃÏ\def\Cslidep@@{\noCslidep@@}\def\Cslidec@@{\noCslidec@@}%ŽŽ¡‘ãŒÃ174Ž‘ûKÃÏ\def\Calong@@{\noCalong@@}\Creset@@‘¿ª}ŽŽŸmF‘ãŒÔstraigh¦tt‘2linesŽŸa‘ãŒspline‘ Øcurv¦tes‘ ó5¹Of–¤ethe“curvš²!es“de ned“in“the“ÏxycurveŽ‘-†p¹extension,‘×þonly“solid“spline“curv˜es“are“suppMÞorted.Ž¡‘ãŒThis–¦fis“done“b²!y“treating“the“spline“as“a“pšMÞolygon“(p˜oly-line)“with“manš²!y“segmen˜ts.ަ‘ãŒÃ189Ž‘õŒÏ\xydef@\xyemtex@splinesolid@{\setbox\splinebox@=\copy\voidb@xŽŽ¡‘ãŒÃ190Ž‘ûKÃÏ\multiply\splinetol@\thr@@ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\gdef\splineextra@@{\xyemtex@moveto\gdef\splineextra@@{\xyemtex@lineto}}%ŽŽŽŽŒ‹ï Á à ý*tj‘ãŒÑ2.13.‘„CNECULA'S‘¦fEXTENSIONS’0Šá¹279ŽŽ ¶?? ýh«w‘ãŒÃ192Ž‘ûKÃÏ\def\xycrvdrop@{–¿ª}\def\xycrvconn@{}\splineset@@“}ŽŽŸ'ì‘ãŒÃ200Ž‘õŒÏ\xydef@\xyEMlinewidth@#1{\dimen@=#1\relax\edef\next@{\the\dimen@}}ŽŽ©Pˆ‘ãŒÃ202Ž‘õŒÏ\xydef@\installEMline@{%ŽŽ¤ ™š‘ãŒÃ203Ž‘ûKÃÏ\let\xylinewidth@@=\xylinewidth@ŽŽ¡‘ãŒÃ204Ž‘ûKÃÏ\let\xylineSpecial@@=\xyemtex@penŽŽ¡‘ãŒÃ205Ž‘ûKÃÏ\let\transxyline@@=\xyEMlinewidth@‘¿ª}ŽŽ¦‘ãŒÃ207Ž‘õŒÏ\xydef@\uninstallEMline@{\UnloadLine@\relax}%ŽŽŸv‘ãŒÃ211Ž‘õŒÏ\xydef@\UseEMlinewidth{\installEMline@}%ŽŽ¡‘ãŒÃ212Ž‘õŒÏ\xydef@\NoEMlinewidth{\uninstallEMline@}%ŽŽŸŽá‘ãŒÔline‘2widthŽŸPi‘ãŒThe–2end“&“Logަ‘ãŒÃ219Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ221Ž‘õŒÏ%–¿ª$Log:“xyemtex.doc,v“$ŽŽ¡‘ãŒÃ222Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:18:00“rossŽŽ¡‘ãŒÃ223Ž‘õŒÏ%–¿ªfixed“bug“affecting“line-widthsŽŽ¡‘ãŒÃ224Ž‘õŒÏ%ŽŽ¡‘ãŒÃ225Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:28:57“rossŽŽ¡‘ãŒÃ226Ž‘õŒÏ%–¿ªReleasing“version“3.1!ŽŽ¡‘ãŒÃ227Ž‘õŒÏ%ŽŽ¡‘ãŒÃ228Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ229Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ230Ž‘õŒÏ%ŽŽ¡‘ãŒÃ231Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ232Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ233Ž‘õŒÏ%ŽŽ¡‘ãŒÃ234Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ/+‘ãŒÝ2.13Ž‘ŒNecula's‘ffextensionsŽŸê­‘ãŒæV‘ÿ «ers.‘p0.0–ÕTb®9y“George“C.“Necula“¸h²necula@cs.cm¸ãu.edu¸iŽŽŸ%!‘ãŒÔHeader:ަ‘ãŒÃ1Ž‘õŒÏ%%‘¿ª$Id$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Necula“extensions''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1998‘9|¤George“C.“Necula“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1998› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽŽŽŒ‹A Á à ý*tj‘㌹280’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¤ ™š‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{necula}{Necula's–¿ªextensions}{\stripRCS$Revision:“0.0“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{George–¿ªC.“Necula}{necula@cs.cmu.edu}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{School–¿ªof“Computer“Science,ŽŽ¡‘ãŒÃ29Ž‘ mÏCarnegie–¿ªMellon“University,ŽŽ¡‘ãŒÃ30Ž‘ mÏ5000–¿ªForbes“Avenue,ŽŽ¡‘ãŒÃ31Ž‘ mÏPittsburgh,–¿ªPA“15213-3891,“USA}ŽŽŸ=‘ôŒ¹This–Ï`option“conš²!tains“t˜w˜o“extensions“of“the‘· X‘ü·ŸâÃYŽŽ‘6j-pic“k˜ernel:‘/ÒA‘ÏVw˜a˜y“to“expand“T‘þ,³Ÿ[wEŽ‘B X“macros“in“ob‘›»jectŽ¡‘ãŒÇh¹mošMÞdi erÇi¹s,–¦fand“a“w•²!a“y–¦fto“sp˜ecify“arbitrary“p˜olygons“as“the“Çh¹shap˜eÇi“¹of“an“ob‘›»ject.ŽŸ!‡Ù‘ãŒÞ2.13.1Ž‘ŒExpansionŽŸF‘㌹The–É\spMÞecial“synš²!tax“Ïe|Çh¹macrosÇiÏ|Ž‘ ‰¹is“in˜trošMÞduced“in“an“ob‘›»ject“Çh¹mo˜di erÇi¹s“and“Çh¹co˜ordÇi¹inates.‘FÀIt“expandsŽ¡‘ãŒthe–¦fgivš²!en“T‘þ,³Ÿ[wEŽ‘B X“Çh¹macrosÇi“¹(with“Ï\edefŽ‘ d¸¹)“bMÞefore“rein˜terpretation“as“a“Çh¹mošMÞdi erÇi“¹of“Çh¹co˜ordÇi¹,“resp˜ectiv²!ely‘ÿe.ަ‘ãŒÃ52Ž‘õŒÏ\def\expandbeforenext@#1{%ŽŽ¡‘ãŒÃ53Ž‘ mÏ\DN@‘¿ªe|##1|{\edef\tmp@{##1}\expandafter\xyFN@\expandafter#1\tmp@}%ŽŽ¡‘ãŒÃ54Ž‘õŒÏ}ŽŽ¦‘ãŒÃ56Ž‘õŒÏ\xylet@\xy@oldOBJECT@=\OBJECT@ŽŽ¡‘ãŒÃ57Ž‘õŒÏ\xydef@\xy@newOBJECT@{%ŽŽ¡‘ãŒÃ58Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xy@newOBJECT@}%gobble“spacesŽŽ¡‘ãŒÃ59Ž‘ûKÃÏ\else\ifx‘¿ªe\nextŽŽ¡‘ãŒÃ60Ž‘ mÏ\expandbeforenext@\OBJECT@ŽŽ¡‘ãŒÃ61Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ62Ž‘ mÏ\DN@{\xy@oldOBJECT@}\fi\fiŽŽ¡‘ãŒÃ63Ž‘ûKÃÏ\next@}%ŽŽ¡‘ãŒÃ64Ž‘õŒÏ\let\OBJECT@=\xy@newOBJECT@ŽŽ¦‘ãŒÃ66Ž‘õŒÏ\xylet@\xy@oldCOORD@=\COORD@ŽŽ¡‘ãŒÃ67Ž‘õŒÏ\xydef@\xy@newCOORD@{%ŽŽ¡‘ãŒÃ68Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xy@newCOORD@}%gobble“spacesŽŽ¡‘ãŒÃ69Ž‘ûKÃÏ\else\ifx‘¿ªe\nextŽŽ¡‘ãŒÃ70Ž‘ mÏ\expandbeforenext@\COORD@ŽŽ¡‘ãŒÃ71Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ72Ž‘ mÏ\DN@{\xy@oldCOORD@}\fi\fiŽŽ¡‘ãŒÃ73Ž‘ûKÃÏ\next@}%ŽŽ¡‘ãŒÃ74Ž‘õŒÏ\let\COORD@=\xy@newCOORD@ŽŽŽŽŒ‹ Á à ý*tj‘ãŒÑ2.13.‘„CNECULA'S‘¦fEXTENSIONS’0Šá¹281ŽŽ ¶?? ýh«w‘ôŒThis–¦fcošMÞde“ma²!y“b˜ecome“part“of“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“k²!ernel“at“a“certain“p˜oin²!t.ŽŸ-ò‘ãŒÞ2.13.2Ž‘ŒP olygon‘€shap`esŽŸ«ÿ‘㌹A–¦fpšMÞolygon“Çh¹shap˜eÇi“¹is“sp˜eci ed“asŽ‘ãŒŸ :v‰ffã²dŸ ^R’ÀšžÏ[P:Çh¹pšMÞosÇiÏ,Ž‘¿ª¹.–Ó3.“.“Ï,Ž‘’ÝÇh¹p˜osÇiÏ]ŽŽŽŸT‰ffã²dŸ±î¹where‘:ŒÏ[P:Ž‘yŠÄpŸ¤zÂ1Ž‘ÀÏ,Ž‘ ®¹.–Ó3.“.“Ï,Ž‘’ÝÄpŸ¤zÅnŽ‘¨PÏ]Ž‘¢†¹denotes–:Œthe“shapMÞe“obtained“bš²!y“trac˜king“the“edge“with“eac˜h“ÄpŸ¤zÅiŽ‘Ÿf¹a“pMÞosition“relativ˜eޤ ™što–>éthe“ob‘›»ject“reference“pšMÞoin•²!t.‘»^Çh¹v“ectorÇi¹s–>éand“Çh¹cornerÇi¹s“can“b˜e“used“directly;‘ahotherwise“use“Ï-pŽ‘ý&¹to“get“theŽ¡relativ²!e‘¦fpMÞosition.Ž¡‘ÔNote:‘ÝݹDo–¦fnot“use“Ï{}Ž›Ì ¹or“Ï[]Ž˜¹in“the“Çh¹pMÞosÇi¹itions.Ž¡‘ÔBug:‘ÝݹThe–¦falgorithm“assumes“that“the“reference“pMÞoinš²!t“is“alw˜a˜ys“inside“the“pMÞolygon.Ž¡‘It–¦fis“pšMÞossible“to“frame“p˜olygons“is“also“p˜ossible.Ž©PˆÃ105Ž‘Ï%–¿ªDefine“the“polygon“as“a“stylechar“so“that“it“is“deferredŽŽ¡Ã106Ž‘Ï\xydefcsname@{*stylechar@P@}#1{\Pshape@#1@}ŽŽ¡Ã107Ž‘Ï\xynew@{count}\c@poly@count–¿ª\c@poly@count=\z@“%“Polygon“identifiersŽŽ¦Ã109Ž‘Ï\xydef@\Pshape@:#1@{%–¿ªStrip“the“mandatory“:ŽŽ¡Ã110Ž‘TÏ\addtotoks@{%ŽŽ¡Ã111Ž‘Ï%‘P{L\xy@showthe–¿ªc{Before“parse}\xy@showthe“p{Before“parse}%ŽŽ¡Ã112Ž‘Ï%‘P{L\xy@showdim{Before‘¿ªparse}%ŽŽ¡Ã113Ž‘b{LÏ\def\poly@list{@}%ŽŽ¡Ã114Ž‘b{LÏ\poly@parse–¿ª#1,\relax,%Sets“the“poly@listŽŽ¡Ã115Ž‘b{LÏ\def\poly@cache{}%ŽŽ¡Ã116Ž‘b{LÏ\edef\poly@id{\the\c@poly@count}%ŽŽ¡Ã117Ž‘b{LÏ\global\advance\c@poly@count\@neŽŽ¡Ã118Ž‘b{LÏ\poly@setEdgeŽŽ¡Ã119Ž‘b{LÏ%–¿ªSave“the“old“values“of“Lc“for“shiftingŽŽ¡Ã120Ž‘b{LÏ\edef\poly@saveLcshape{\the\L@c}%ŽŽ¡Ã121Ž‘b{LÏ\polygonEdge@Outer%–¿ªSet“U,R,D,LŽŽ¡Ã122Ž‘b{LÏ\poly@setEdgeŽŽ¡Ã123Ž‘b{LÏ%–¿ªNow“shift“the“object“to“keep“it“centeredŽŽ¡Ã124Ž‘b{LÏ\dimen@=\poly@saveLcshape\advance\dimen@-\L@cŽŽ¡Ã125Ž‘b{LÏ\advance\R@p‘¿ª-\dimen@ŽŽ¡Ã126Ž‘Ï%‘P{L\xy@showthe–¿ªc{After“parse}%ŽŽ¡Ã127Ž‘Ï}}ŽŽ¦Ã129Ž‘Ï%–¿ªSet“the“edgeŽŽ¡Ã130Ž‘Ï%–¿ªA“polygonal“edge“is“represented“as“\polygonEdge“x1,y1;x2,y2;...;xn,yn@id@ŽŽ¡Ã131Ž‘Ï%–¿ªwhere“xi,yi“define“the“vertices“of“the“polygonal“edge“as“displacement“fromŽŽ¡Ã132Ž‘Ï%–¿ªthe“object“reference“point“(xn=x1,yn=y1),“and“id“is“a“numerical“id“used“forŽŽ¡Ã133Ž‘Ï%–¿ªcaching“the“result“of“the“last“intersection“operation.“The“cached“values“forŽŽ¡Ã134Ž‘Ï%–¿ªpolygon“id“are“stored“in“the“global“macro“poly@cache.ŽŽ¡Ã135Ž‘Ï\xydef@\poly@setEdge{\expandafter\poly@setEdge@\poly@list\poly@id}ŽŽ¡Ã136Ž‘Ï\xydef@\poly@setEdge@#1@#2{\Edge@c={\polygonEdge#1@#2@}%ŽŽ¡Ã137Ž’›÷ðÏ\expandafter\xdef\csname‘¿ªpoly@cache#2%ŽŽ¡Ã138Ž’qäÏ\endcsname{\poly@cache}}ŽŽ¦Ã140Ž‘Ï%–¿ªDefine“the“polygon“framing“operationsŽŽ¡Ã141Ž‘Ï\xydefcsname@{frm[P]{-}}{\expandafter\draw@polyframe\the\Edge@c{-}}ŽŽ¡Ã142Ž‘Ï\xydefcsname@{frm[P]{.}}{\expandafter\draw@polyframe\the\Edge@c{.}}ŽŽŽŽŒ‹"r Á à ý*tj‘㌹282’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ143Ž‘õŒÏ\xydefcsname@{frm[P]{=}}{\expandafter\draw@polyframe\the\Edge@c{=}}ŽŽŸv‘ãŒÃ146Ž‘õŒÏ\xydef@\draw@polyframe\polygonEdge#1@#2@#3{%ŽŽ¤ ™š‘ãŒÃ147Ž‘ËÏ\def\poly@dir{#3}%ŽŽ¡‘ãŒÃ148Ž‘ËÏ\def\poly@list{#1@}%ŽŽ¡‘ãŒÃ149Ž‘ËÏ\def\poly@id{#2}%ŽŽ¡‘ãŒÃ150Ž‘ËÏ\edef\poly@cache{\csname‘¿ªpoly@cache\poly@id\endcsname}%ŽŽ¡‘ãŒÃ151Ž‘ËÏ\draw@polygon}ŽŽ©Pˆ‘ãŒÃ153Ž‘õŒÏ%–¿ªA“polygon“is“maintained“as“a“list“of“relative“positions,“as“follows:ŽŽ¡‘ãŒÃ154Ž‘õŒÏ%‘þ¨poly@list–¿ª=“Xdimen_0,Ydimen_0;...;Xdimen_n,Ydimen_n“@ŽŽ¡‘ãŒÃ155Ž‘õŒÏ%–¿ªThe“list“is“closed,“i.e.,“the“first“and“last“element“coincideŽŽ¡‘ãŒÃ156Ž‘õŒÏ%–¿ªEach“polygon“has“an“id“storred“in“\poly@idŽŽ¡‘ãŒÃ157Ž‘õŒÏ%–¿ªEach“polygon“caches“the“result“of“the“last“intersection“operationŽŽ¡‘ãŒÃ158Ž‘õŒÏ%‘ Tas–¿ªd@x,d@y,x1,y1,x2,y2“where“the“first“two“values“define“the“slopeŽŽ¡‘ãŒÃ159Ž‘õŒÏ%‘ Tand–¿ªthe“two“sets“of“points“are“the“two“intersection“pointsŽŽ¡‘ãŒÃ160Ž‘õŒÏ%‘ TThese–¿ªvalues“are“storred“in“\poly@cache.ŽŽ¡‘ãŒÃ161Ž‘õŒÏ%ŽŽ¡‘ãŒÃ162Ž‘õŒÏ%ŽŽ¡‘ãŒÃ163Ž‘õŒÏ%–¿ªHelper“function“for“dealing“with“polygon“listsŽŽ¦‘ãŒÃ165Ž‘õŒÏ%–¿ªMap“over“a“polygon“list.“Make“sure“you“defineŽŽ¡‘ãŒÃ166Ž‘õŒÏ%–¿ª\let\poly@map@next=\poly@map“before.“Then,“you“can“defineŽŽ¡‘ãŒÃ167Ž‘õŒÏ%–¿ª\let\poly@map@next=\poly@map@stop“if“you“want“to“stop“the“traversalŽŽ¦‘ãŒÃ169Ž‘õŒÏ\xydef@\poly@empty{}ŽŽ¡‘ãŒÃ170Ž‘õŒÏ\xydef@\poly@map#1#2,#3;#4@{%ŽŽ¡‘ãŒÃ171Ž‘ËÏ#1{#2}{#3}%ŽŽ¡‘ãŒÃ172Ž‘ËÏ\def\tmp@{#4}%ŽŽ¡‘ãŒÃ173Ž‘ËÏ\ifx–¿ª\poly@empty\tmp@“\elseŽŽ¡‘ãŒÃ174Ž‘JkÏ\poly@map@next#1#4@%ŽŽ¡‘ãŒÃ175Ž‘ËÏ\fiŽŽ¡‘ãŒÃ176Ž‘õŒÏ}ŽŽ¦‘ãŒÃ178Ž‘õŒÏ\xydef@\poly@map@stop#1@{}ŽŽ¦‘ãŒÃ180Ž‘õŒÏ\xydef@\poly@mapExpand#1#2{%ŽŽ¡‘ãŒÃ181Ž‘ËÏ\edef\tmp@{\noexpand\poly@map\noexpand‘¿ª#1#2}%ŽŽ¡‘ãŒÃ182Ž‘ËÏ\tmp@}ŽŽ¦‘ãŒÃ184Ž‘õŒÏ%–¿ªParse“a“polygon“definitionŽŽ¦‘ãŒÃ186Ž‘õŒÏ\xydef@\poly@parse‘¿ª#1,{%ŽŽ¡‘ãŒÃ187Ž‘ûKÃÏ\ifx–¿ª#1\relax“%Done.“Copy“the“head“of“the“list“at“its“endŽŽ¡‘ãŒÃ188Ž‘ËÏ\poly@closeŽŽ¡‘ãŒÃ189Ž‘ËÏ\let\next@=\relaxŽŽ¡‘ãŒÃ190Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ191Ž‘ËÏ%–¿ªSave“everythingŽŽ¡‘ãŒÃ192Ž‘ËÏ\save@ŽŽ¡‘ãŒÃ193Ž‘ Ï%–¿ªProcess“the“position“using“POSŽŽ¡‘ãŒÃ194Ž‘ Ï\POS‘¿ª#1%ŽŽ¡‘ãŒÃ195Ž‘ Ï%–¿ªNow“add“the“new“c“to“the“listŽŽ¡‘ãŒÃ196Ž‘ Ï\edef\tmp@{{\the\X@c}{\the\Y@c}}%ŽŽ¡‘ãŒÃ197Ž‘ Ï\expandafter\poly@append\tmp@ŽŽŽŽŒ‹.³ Á à ý*tj‘ãŒÑ2.13.‘„CNECULA'S‘¦fEXTENSIONS’0Šá¹283ŽŽ ¶?? ýh«w‘ãŒÃ198Ž‘ËÏ\restoreŽŽ¤ ™š‘ãŒÃ199Ž‘ËÏ\let\next@=\poly@parse–¿ª%“continue“parsingŽŽ¡‘ãŒÃ200Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ201Ž‘ûKÃÏ\next@ŽŽ¡‘ãŒÃ202Ž‘õŒÏ}ŽŽ¡‘ãŒÃ203Ž‘FeÏ%–¿ªAppend“to“the“list“of“polygon“pointsŽŽ¡‘ãŒÃ204Ž‘õŒÏ\xydef@\poly@append#1#2{\expandafter\poly@append@\poly@list{#1,#2;}}ŽŽ¡‘ãŒÃ205Ž‘õŒÏ\xydef@\poly@append@#1@#2{\global\def\poly@list{#1#2@}}ŽŽ©Pˆ‘ãŒÃ207Ž‘KÇÏ%–¿ªClose“the“polygonŽŽ¡‘ãŒÃ208Ž‘õŒÏ\xydef@\poly@close{\expandafter\poly@close@\poly@list}ŽŽ¡‘ãŒÃ209Ž‘õŒÏ\xydef@\poly@close@#1,#2;#3@{\poly@append{#1}{#2}}ŽŽ¦‘ãŒÃ211Ž‘õŒÏ%–¿ªDraw“a“polygon“at“the“current“locationŽŽ¦‘ãŒÃ213Ž‘õŒÏ\xydef@\draw@polygon{%–¿ªFirst“separate“the“headŽŽ¡‘ãŒÃ214Ž‘õŒÏ%‘ T\W@{Drawing–¿ªpolygon“\poly@list}\xy@showthe“c{“Centered“at}%ŽŽ¡‘ãŒÃ215Ž‘ mÏ\save@ŽŽ¡‘ãŒÃ216Ž‘ ŠÁÏ%–¿ªSet“the“origin“to“point“at“the“reference“pointŽŽ¡‘ãŒÃ217Ž‘ ŠÁÏ\X@origin=\X@c‘¿ª\Y@origin=\Y@cŽŽ¡‘ãŒÃ218Ž‘ ŠÁÏ\poly@setp–¿ª%“Set“p“at“the“beginning“of“the“polygon“and“set“poly@restŽŽ¡‘ãŒÃ219Ž‘ ŠÁÏ%–¿ªZero“the“edgesŽŽ¡‘ãŒÃ220Ž‘ ŠÁÏ\U@c=\z@\R@c=\z@\D@c=\z@\L@c=\z@\U@p=\z@\R@p=\z@\D@p=\z@\L@p=\z@ŽŽ¡‘ãŒÃ221Ž‘ ŠÁÏ\Edge@c={\zeroEdge}\Edge@p={\zeroEdge}%ŽŽ¡‘ãŒÃ222Ž‘ ŠÁÏ\let\poly@map@next=\poly@mapŽŽ¡‘ãŒÃ223Ž‘ ŠÁÏ\poly@mapExpand\poly@drawseg\poly@restŽŽ¡‘ãŒÃ224Ž‘ mÏ\restoreŽŽ¡‘ãŒÃ225Ž‘õŒÏ}ŽŽ¦‘ãŒÃ227Ž‘KÇÏ%–¿ªSet“p“to“the“first“element.“Requires“the“origin“to“beŽŽ¡‘ãŒÃ228Ž‘KÇÏ%–¿ªat“the“reference“pointŽŽ¡‘ãŒÃ229Ž‘õŒÏ\xydef@\poly@setp{\expandafter\poly@setp@\poly@list}ŽŽ¡‘ãŒÃ230Ž‘õŒÏ\xydef@\poly@setp@#1,#2;#3@{%ŽŽ¡‘ãŒÃ231Ž‘ËÏ\X@p=#1\advance\X@p\X@origin‘¿ª\Y@p=#2\advance\Y@p\Y@origin%ŽŽ¡‘ãŒÃ232Ž‘ËÏ\global\def\poly@rest{#3@}}ŽŽ¦‘ãŒÃ234Ž‘õŒÏ\xydef@\poly@drawseg#1#2{%ŽŽ¡‘ãŒÃ235Ž‘ mÏ\dimen@=#1\X@c=\the\dimen@\advance\X@c‘¿ª\X@originŽŽ¡‘ãŒÃ236Ž‘ mÏ\dimen@=#2\Y@c=\the\dimen@\advance\Y@c‘¿ª\Y@originŽŽ¡‘ãŒÃ237Ž‘õŒÏ%‘ T\W@{Next–¿ªsegment“is“at“offset“#1,#2“and“absolute“\the\X@c,\the\Y@c}%ŽŽ¡‘ãŒÃ238Ž‘ mÏ\expandafter\connect@\expandafter\dir\poly@dir%ŽŽ¡‘ãŒÃ239Ž‘ mÏ\X@p=\X@c\Y@p=\Y@c}ŽŽ¦‘ãŒÃ241Ž‘õŒÏ%–¿ªPolygonal“edgeŽŽ¡‘ãŒÃ242Ž‘õŒÏ%–¿ªRequires“c“to“be“the“reference“pointŽŽ¡‘ãŒÃ243Ž‘õŒÏ\xydef@\polygonEdge#1@#2@#3{%ŽŽ¡‘ãŒÃ244Ž‘ mÏ\def\poly@list{#1@}%ŽŽ¡‘ãŒÃ245Ž‘ mÏ\def\poly@id{#2}%ŽŽ¡‘ãŒÃ246Ž‘ mÏ\edef\poly@cache{\csname‘¿ªpoly@cache\poly@id\endcsname}%ŽŽ¡‘ãŒÃ247Ž‘ mÏ\ifcase#3\relaxŽŽ¡‘ãŒÃ248Ž‘ Ï\DN@{\polygonEdge@IntersŽŽ¡‘ãŒÃ249Ž‘õŒÏ%Ž‘4Èg\ifpoly@badintersŽŽ¡‘ãŒÃ250Ž‘õŒÏ%Ž‘Fe\xyerror@{Could–¿ªnot“find“intersection“for“polygon}\fiŽŽŽŽŒ‹8É Á à ý*tj‘㌹284’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ251Ž‘/½Ï}%0ŽŽ¤ ™š‘ãŒÃ252Ž‘ mÏ\or‘¿ª\DN@{\polygonEdge@Under}%1ŽŽ¡‘ãŒÃ253Ž‘ mÏ\or‘¿ª\DN@{\polygonEdge@Dist}%2ŽŽ¡‘ãŒÃ254Ž‘ mÏ\or–¿ª\DN@{\rectangleProp@}%3‘ TI“do“not“understand“Prop!ŽŽ¡‘ãŒÃ255Ž‘ mÏ\or‘¿ª\DN@{\polygonEdge@Inner}%4ŽŽ¡‘ãŒÃ256Ž‘ mÏ\or‘¿ª\DN@{\polygonEdge@Outer}%5ŽŽ¡‘ãŒÃ257Ž‘ mÏ\else‘¿ª\DN@{}\fiŽŽ¡‘ãŒÃ258Ž‘ mÏ\next@}ŽŽŸv‘ãŒÃ261Ž‘õŒÏ\newif\ifpoly@badintersŽŽ©Pˆ‘ãŒÃ263Ž‘õŒÏ\xydef@\polygonEdge@Inters{%ŽŽ¡‘ãŒÃ264Ž‘õŒÏ%‘ T\W@{Edge–¿ªintersection“with“(\the\X@c,“\the\Y@c)“->“(\the\X@p,\the\Y@p)}%ŽŽ¡‘ãŒÃ265Ž‘õŒÏ%‘ T\W@{–¿ªfor“polygon:“\poly@id}%ŽŽ¡‘ãŒÃ266Ž‘õŒÏ%‘ T\W@{–¿ªwith“list:“\poly@list}%ŽŽ¡‘ãŒÃ267Ž‘õŒÏ%‘ T\W@{–¿ªwith“cache:“\poly@cache}%ŽŽ¡‘ãŒÃ268Ž‘ mÏ%–¿ªCheck“the“cache“firstŽŽ¡‘ãŒÃ269Ž‘ mÏ\ifx\poly@cache\poly@emptyŽŽ¡‘ãŒÃ270Ž‘ ŠÁÏ\poly@intersdoitŽŽ¡‘ãŒÃ271Ž‘ mÏ\elseŽŽ¡‘ãŒÃ272Ž‘ ŠÁÏ\expandafter\poly@intersprobecache\poly@cache‘¿ª@%ŽŽ¡‘ãŒÃ273Ž‘ mÏ\fiŽŽ¡‘ãŒÃ274Ž‘õŒÏ%‘ T\xy@showthe–¿ªc{Inters“res}%ŽŽ¡‘ãŒÃ275Ž‘õŒÏ}ŽŽ¦‘ãŒÃ277Ž‘õŒÏ%ŽŽ¡‘ãŒÃ278Ž‘õŒÏ%–¿ªRedefine“poly@cachehit“to“poly@cachehitdisable“to“diable“polygon“cachingŽŽ¡‘ãŒÃ279Ž‘õŒÏ\xydef@\poly@cachehit#1#2{%ŽŽ¡‘ãŒÃ280Ž‘õŒÏ%‘þ¨\W@{–¿ªintersection“point“found“in“cache}%ŽŽ¡‘ãŒÃ281Ž‘ ŠÁÏ\X@c=#1\Y@c=#2}ŽŽ¦‘ãŒÃ283Ž‘õŒÏ\xydef@\poly@cachehitdisable#1#2{\poly@intersdoit}ŽŽ¡‘ãŒÃ284Ž‘õŒÏ%\let\poly@cachehit=\poly@cachehitdiasable%–¿ªUncomment“this“line“to“disable“$ŽŽ©v‘ãŒÃ287Ž‘õŒÏ%–¿ªProbes“the“cacheŽŽ¡‘ãŒÃ288Ž‘õŒÏ%ŽŽ¡‘ãŒÃ289Ž‘õŒÏ\xydef@\poly@intersprobecache#1,#2,#3,#4,#5@{%ŽŽ¡‘ãŒÃ290Ž‘ mÏ\dimen@=#1\advance\dimen@-\d@XŽŽ¡‘ãŒÃ291Ž‘ mÏ\ifdim\zz@\dimen@ŽŽ¡‘ãŒÃ292Ž‘ ŠÁÏ\dimen@=#2\advance\dimen@-\d@YŽŽ¡‘ãŒÃ293Ž‘ ŠÁÏ\ifdim\zz@\dimen@ŽŽ¡‘ãŒÃ294Ž‘É¿Ï\poly@cachehit{#3}{#4}ŽŽ¡‘ãŒÃ295Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ296Ž‘É¿Ï\poly@intersdoitŽŽ¡‘ãŒÃ297Ž‘JkÏ\fiŽŽ¡‘ãŒÃ298Ž‘ËÏ\elseŽŽ¡‘ãŒÃ299Ž‘JkÏ\poly@intersdoitŽŽ¡‘ãŒÃ300Ž‘ËÏ\fiŽŽ¡‘ãŒÃ301Ž‘õŒÏ}ŽŽ¦‘ãŒÃ304Ž‘õŒÏ%–¿ªComputes“the“intersection“between“the“line“cp“and“the“edge.ŽŽ¡‘ãŒÃ305Ž‘õŒÏ%–¿ªBoth“intersection“points“are“stored“in“the“cache,“the“one“in“theŽŽŽŽŒ‹C— Á à ý*tj‘ãŒÑ2.13.‘„CNECULA'S‘¦fEXTENSIONS’0Šá¹285ŽŽ ¶?? ýh«w‘ãŒÃ306Ž‘õŒÏ%–¿ªdirection“towards“p“first.ŽŽ¤ ™š‘ãŒÃ307Ž‘õŒÏ\xydef@\poly@intersdoit{%ŽŽ¡‘ãŒÃ308Ž‘õŒÏ%‘ T\W@{–¿ªintersection“not“in“cache.“Computing“it}%ŽŽ¡‘ãŒÃ309Ž‘ mÏ%–¿ªSave“A@“and“B@“because“we“cannot“change“themŽŽ¡‘ãŒÃ310Ž‘ mÏ\edef\polyoldA@{\the\A@}\edef\polyoldB@{\the\B@}%ŽŽ¡‘ãŒÃ311Ž‘ mÏ%–¿ªInitialize“the“intersection“pointsŽŽ¡‘ãŒÃ312Ž‘ mÏ\def\poly@intersneg{}\def\poly@interspos{}%ŽŽ¡‘ãŒÃ313Ž‘ mÏ\save@ŽŽ¡‘ãŒÃ314Ž‘ ŠÁÏ\poly@setorigin–¿ª%“Set“origin“at“the“beginning“of“the“polygon“andŽŽ¡‘ãŒÃ315Ž‘h…aÏ%–¿ªset“poly@restŽŽ¡‘ãŒÃ316Ž‘ ŠÁÏ\def\zeroDivide@{\poly@badinterstrue}%–¿ªHandle“the“division“by“zero“except.ŽŽ¡‘ãŒÃ317Ž‘ ŠÁÏ\let\poly@map@next=\poly@mapŽŽ¡‘ãŒÃ318Ž‘ ŠÁÏ\poly@mapExpand\poly@interseg\poly@restŽŽ¡‘ãŒÃ319Ž‘ ŠÁÏ\ifx\poly@intersneg\poly@emptyŽŽ¡‘ãŒÃ320Ž‘ Ï\poly@badinterstrueŽŽ¡‘ãŒÃ321Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ322Ž‘ Ï\ifx\poly@interspos\poly@emptyŽŽ¡‘ãŒÃ323Ž‘#‰iÏ\poly@badinterstrueŽŽ¡‘ãŒÃ324Ž‘ Ï\elseŽŽ¡‘ãŒÃ325Ž‘#‰iÏ\poly@badintersfalseŽŽ¡‘ãŒÃ326Ž‘ Ï\fiŽŽ¡‘ãŒÃ327Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ328Ž‘ mÏ\restoreŽŽ¡‘ãŒÃ329Ž‘ mÏ\A@=\polyoldA@\B@=\polyoldB@–¿ª%“Restore“A@“and“B@ŽŽ¡‘ãŒÃ330Ž‘ mÏ\ifpoly@badinters‘¿ª\elseŽŽ¡‘ãŒÃ331Ž‘ ŠÁÏ\edef\tmp@{\poly@interspos,\poly@intersneg‘¿ª@}%ŽŽ¡‘ãŒÃ332Ž‘ ŠÁÏ\expandafter\poly@intersfinish\tmp@ŽŽ¡‘ãŒÃ333Ž‘ mÏ\fiŽŽ¡‘ãŒÃ334Ž‘õŒÏ}ŽŽŸPˆ‘ãŒÃ336Ž‘õŒÏ\xydef@\poly@intersfinish#1,#2,#3@{%ŽŽ¡‘ãŒÃ337Ž‘ mÏ\X@c=#1\Y@c=#2\relaxŽŽ¡‘ãŒÃ338Ž‘ mÏ\xdef\poly@cache{\the\d@X,\the\d@Y,#1,#2,#3}%ŽŽ¡‘ãŒÃ339Ž‘ mÏ\poly@setEdgeŽŽ¡‘ãŒÃ340Ž‘õŒÏ}ŽŽŸv‘ãŒÃ343Ž‘KÇÏ%–¿ªSet“origin“to“the“first“point.“Define“poly@restŽŽ¡‘ãŒÃ344Ž‘KÇÏ%–¿ªRequires“c“to“be“set“to“the“reference“pointŽŽ¡‘ãŒÃ345Ž‘õŒÏ\xydef@\poly@setorigin{\expandafter\poly@setorigin@\poly@list}ŽŽ¡‘ãŒÃ346Ž‘õŒÏ\xydef@\poly@setorigin@#1,#2;#3@{%ŽŽ¡‘ãŒÃ347Ž‘ËÏ\X@origin=#1\advance\X@origin\X@c‘¿ª\Y@origin=#2\advance\Y@origin\Y@c%ŽŽ¡‘ãŒÃ348Ž‘ËÏ\global\def\poly@rest{#3@}}ŽŽŸ uR‘ãŒÃ353Ž‘õŒÏ%ŽŽ¡‘ãŒÃ354Ž‘õŒÏ%–¿ªCompute“one“intersection“with“a“given“edgeŽŽ¡‘ãŒÃ355Ž‘õŒÏ%–¿ªc“is“set“to“the“reference“point,“p“is“set“to“the“end“of“the“rayŽŽ¡‘ãŒÃ356Ž‘õŒÏ%–¿ªorigin“is“set“to“the“start“of“the“segmentŽŽ¡‘ãŒÃ357Ž‘õŒÏ\xydef@\poly@interseg#1#2{%ŽŽ¡‘ãŒÃ358Ž‘ mÏ%–¿ªDefault“is“no“intersectionŽŽ¡‘ãŒÃ359Ž‘õŒÏ%‘ T\W@{–¿ªIntersection“with“edge“(\the\X@origin,\the\Y@origin)“->“(#1,#2)}%ŽŽŽŽŒ‹L± Á à ý*tj‘㌹286’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ360Ž‘ mÏ%–¿ªCompute“the“absolute“valuesŽŽ¤ ™š‘ãŒÃ361Ž‘ mÏ\dimen@=#1\advance\dimen@\X@c‘¿ª\edef\poly@saveXcinters{\the\dimen@}%ŽŽ¡‘ãŒÃ362Ž‘ mÏ\dimen@=#2\advance\dimen@\Y@c‘¿ª\edef\poly@saveYcinters{\the\dimen@}%ŽŽ¡‘ãŒÃ363Ž‘ mÏ\save@ŽŽ¡‘ãŒÃ364Ž‘ ŠÁÏ\poly@badintersfalseŽŽ¡‘ãŒÃ365Ž‘ ŠÁÏ%–¿ªSet“R@c“and“U@c“to“the“distance“to“end“of“segmentŽŽ¡‘ãŒÃ366Ž‘ ŠÁÏ\R@c=\poly@saveXcinters–¿ª\advance\R@c“-\X@originŽŽ¡‘ãŒÃ367Ž‘ ŠÁÏ\U@c=\poly@saveYcinters–¿ª\advance\U@c“-\Y@originŽŽ¡‘ãŒÃ368Ž‘ ŠÁÏ%–¿ªNow“call“intersect“to“set“X@c“and“Y@c“to“the“intersection“pointŽŽ¡‘ãŒÃ369Ž‘ ŠÁÏ\intersect@ŽŽ¡‘ãŒÃ370Ž‘ ŠÁÏ\A@=\X@c–¿ª\B@=\Y@c“%“Save“resultŽŽ¡‘ãŒÃ371Ž‘ mÏ\restoreŽŽ¡‘ãŒÃ372Ž‘ mÏ\ifpoly@badintersŽŽ¡‘ãŒÃ373Ž‘õŒÏ%‘"}ü\W@{–¿ª\space“failed“after“intersect}%ŽŽ¡‘ãŒÃ374Ž‘ mÏ\elseŽŽ¡‘ãŒÃ375Ž‘õŒÏ%‘"}ü\W@{–¿ª\space“after“intersect@“(\the\A@,\the\B@)}%ŽŽ¡‘ãŒÃ376Ž‘ Ï%–¿ªVerify“that“it“is“on“the“segment“from“origin“to“(#1,“#2)ŽŽ©Pˆ‘ãŒÃ378Ž‘õŒÏ\poly@isonseg\X@origin\Y@origin\A@\B@\poly@saveXcinters\poly@saveYcintersŽŽ¡‘ãŒÃ379Ž‘ Ï\ifpoly@badintersŽŽ¡‘ãŒÃ380Ž‘õŒÏ%‘9|¤\W@{–¿ª\space“failed“after“seg“check}%ŽŽ¡‘ãŒÃ381Ž‘ Ï\elseŽŽ¡‘ãŒÃ382Ž‘#‰iÏ%–¿ªVerify“that“(A,B)“is“on“the“ray“from“c“to“pŽŽ¡‘ãŒÃ383Ž‘#‰iÏ\poly@isonray\X@c\Y@c\A@\B@\X@p\Y@pŽŽ¡‘ãŒÃ384Ž‘#‰iÏ\ifpoly@badintersŽŽ¡‘ãŒÃ385Ž‘4ÈgÏ%–¿ªIt“is“on“the“negative“rayŽŽ¡‘ãŒÃ386Ž‘õŒÏ%‘?100\almostz@ŽŽ¡‘ãŒÃ418Ž‘/½Ï\poly@badinterstrueŽŽ¡‘ãŒÃ419Ž‘ Ï\fiŽŽ¡‘ãŒÃ420Ž‘ Ï\dimen@i=-\dimen@i‘¿ª\dimen@ii=-\dimen@iiŽŽ¡‘ãŒÃ421Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ422Ž‘ Ï\ifdim\dimen@i<-100\almostz@\relaxŽŽ¡‘ãŒÃ423Ž‘/½Ï\poly@badinterstrueŽŽ¡‘ãŒÃ424Ž‘ Ï\fiŽŽ¡‘ãŒÃ425Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ426Ž‘ ŠÁÏ\ifpoly@closedrangeŽŽ¡‘ãŒÃ427Ž‘ Ï\advance\dimen@ii‘¿ª100\almostz@ŽŽ¡‘ãŒÃ428Ž‘ Ï\ifdim\dimen@i>\dimen@iiŽŽ¡‘ãŒÃ429Ž‘#‰iÏ\poly@badinterstrueŽŽ¡‘ãŒÃ430Ž‘ Ï\fiŽŽ¡‘ãŒÃ431Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ432Ž‘õŒÏ%‘þ¨\ifpoly@badinters–¿ª\W@{“failed}\else\W@{“succeeded}\fiŽŽ¡‘ãŒÃ433Ž‘ mÏ\fi}ŽŽ©Pˆ‘ãŒÃ435Ž‘õŒÏ%ŽŽ¡‘ãŒÃ436Ž‘õŒÏ%–¿ªChecks“that“(#3,#4)“is“on“a“segment“defined“by“(#1,#2)->(#5,#6)ŽŽ¡‘ãŒÃ437Ž‘õŒÏ\xydef@\poly@isonseg#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ438Ž‘ mÏ%–¿ªCheck“X“firstŽŽ¡‘ãŒÃ439Ž‘ mÏ\poly@closedrangetrueŽŽ¡‘ãŒÃ440Ž‘ mÏ\poly@isinrange{#1}{#3}{#5}%ŽŽ¡‘ãŒÃ441Ž‘ mÏ\poly@isinrange{#2}{#4}{#6}%ŽŽ¦‘ãŒÃ443Ž‘õŒÏ}ŽŽ¦‘ãŒÃ445Ž‘õŒÏ%ŽŽ¡‘ãŒÃ446Ž‘õŒÏ%–¿ªChecks“that“(#3,#4)“is“on“a“ray“defined“by“(#1,#2)->(#5,#6)ŽŽ¡‘ãŒÃ447Ž‘õŒÏ\xydef@\poly@isonray#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ448Ž‘ mÏ%–¿ªCheck“X“firstŽŽ¡‘ãŒÃ449Ž‘ mÏ\poly@closedrangefalseŽŽ¡‘ãŒÃ450Ž‘ mÏ\poly@isinrange{#1}{#3}{#5}%ŽŽ¡‘ãŒÃ451Ž‘ mÏ\poly@isinrange{#2}{#4}{#6}%ŽŽ¦‘ãŒÃ453Ž‘õŒÏ}ŽŽ¡‘ãŒÃ454Ž‘õŒÏ%ŽŽ¡‘ãŒÃ455Ž‘õŒÏ%–¿ªTest“whether“(Xp,Yp)“is“inside“the“polygon“(or“on“the“edge)ŽŽ¡‘ãŒÃ456Ž‘õŒÏ%–¿ªSets“\ifInside@“accordinglyŽŽ¡‘ãŒÃ457Ž‘õŒÏ\xydef@\polygonEdge@Under{%ŽŽ¡‘ãŒÃ458Ž‘õŒÏ%‘ T\W@{}\W@{Edge–¿ªUnder“with“c=(\the\X@c,\the\Y@c)“and“p=(\the\X@p,\the\Y@p)}%ŽŽ¡‘ãŒÃ459Ž‘õŒÏ%‘ T\W@{–¿ªfor“polygon:“\poly@list}%ŽŽ¡‘ãŒÃ460Ž‘ mÏ%–¿ªSave“A@“and“B@ŽŽ¡‘ãŒÃ461Ž‘ mÏ\edef\polysaveA@under{\the\A@}\edef\polysaveB@under{\the\B@}%ŽŽ¡‘ãŒÃ462Ž‘ mÏ%–¿ªSave“X@c“and“Y@cŽŽ¡‘ãŒÃ463Ž‘ mÏ\edef\poly@saveXcUnder{\the\X@c}\edef\poly@saveYcUnder{\the\Y@c}%ŽŽŽŽŒ‹ aµ Á à ý*tj‘㌹288’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ464Ž‘ mÏ%–¿ªCompute“the“intersectionŽŽ¤ ™š‘ãŒÃ465Ž‘ mÏ\polygonEdge@IntersŽŽ¡‘ãŒÃ466Ž‘ mÏ\ifpoly@badinters%–¿ªp“is“very“close“to“cŽŽ¡‘ãŒÃ467Ž‘ Ï\Inside@trueŽŽ¡‘ãŒÃ468Ž‘ mÏ\elseŽŽ¡‘ãŒÃ469Ž‘ ŠÁÏ\A@=\X@c\B@=\Y@cŽŽ¡‘ãŒÃ470Ž‘ ŠÁÏ%–¿ªRestore“cŽŽ¡‘ãŒÃ471Ž‘ ŠÁÏ\X@c=\poly@saveXcUnder\Y@c=\poly@saveYcUnderŽŽ¡‘ãŒÃ472Ž‘ ŠÁÏ%–¿ªNow“verify“that“the“intersection“point“is“on“the“ray“c->pŽŽ¡‘ãŒÃ473Ž‘ ŠÁÏ\poly@isonseg\X@c\Y@c\X@p\Y@p\A@\B@ŽŽ¡‘ãŒÃ474Ž‘ ŠÁÏ\ifpoly@badinters–¿ª\Inside@false“\else“\Inside@true\fiŽŽ¡‘ãŒÃ475Ž‘ ŠÁÏ\A@=\polysaveA@under\B@=\poly@saveB@underŽŽ¡‘ãŒÃ476Ž‘ mÏ\fiŽŽ¡‘ãŒÃ477Ž‘õŒÏ%‘ T\ifInside@\W@{->inside}\else\W@{->outside}\fiŽŽ¡‘ãŒÃ478Ž‘õŒÏ}ŽŽŸPˆ‘ãŒÃ480Ž‘õŒÏ%ŽŽ¡‘ãŒÃ481Ž‘õŒÏ%–¿ªCompute“the“inner“rectangleŽŽ¡‘ãŒÃ482Ž‘õŒÏ%ŽŽ¡‘ãŒÃ483Ž‘õŒÏ\xydef@\polygonEdge@Inner{%ŽŽ¡‘ãŒÃ484Ž‘õŒÏ%‘ T\W@{}\W@{Edge–¿ªInner“with“(\the\X@c,“\the\Y@c)“->“(\the\X@p,\the\Y@p)}%ŽŽ¡‘ãŒÃ485Ž‘õŒÏ%‘ T\W@{–¿ªfor“polygon:“\poly@list}%ŽŽ¡‘ãŒÃ486Ž‘õŒÏ%‘ T\W@{–¿ªwith“cache:“\poly@cache}%ŽŽ¡‘ãŒÃ487Ž‘ mÏ%–¿ªSave“everything“except“cŽŽ¡‘ãŒÃ488Ž‘ mÏ\enter@{\basefromthebase@–¿ª\pfromthep@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ489Ž‘ ŠÁÏ%–¿ªSave“c“in“Lc,DcŽŽ¡‘ãŒÃ490Ž‘ ŠÁÏ\L@c=\X@c‘¿ª\D@c=\Y@cŽŽ¡‘ãŒÃ491Ž‘ ŠÁÏ%–¿ªCompute“the“two“intersection“pointsŽŽ¡‘ãŒÃ492Ž‘ ŠÁÏ\polygonEdge@IntersŽŽ¡‘ãŒÃ493Ž‘ ŠÁÏ\ifpoly@badintersŽŽ¡‘ãŒÃ494Ž‘É¿Ï\czeroEdge@ŽŽ¡‘ãŒÃ495Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ496Ž‘É¿Ï%–¿ªSave“the“result“in“Rc,Uc“and“in“X@c,Y@cŽŽ¡‘ãŒÃ497Ž‘É¿Ï\expandafter\poly@getinterspoints\poly@cache‘¿ª@%ŽŽ¡‘ãŒÃ498Ž‘É¿Ï%–¿ªNow“compute“the“inner“rectangle“centeredŽŽ¡‘ãŒÃ499Ž‘É¿Ï\ifdim\X@c>\R@cŽŽ¡‘ãŒÃ500Ž‘)IÏ\L@c=\R@c‘¿ª\R@c=\X@cŽŽ¡‘ãŒÃ501Ž‘É¿Ï\elseŽŽ¡‘ãŒÃ502Ž‘)IÏ\L@c=\X@cŽŽ¡‘ãŒÃ503Ž‘É¿Ï\fiŽŽ¡‘ãŒÃ504Ž‘É¿Ï\X@c=0.5\L@c–¿ª\advance\X@c“0.5\R@c“\advance\R@c“-\X@c“\L@c=\R@cŽŽ¡‘ãŒÃ505Ž‘É¿Ï\ifdim\Y@c>\U@cŽŽ¡‘ãŒÃ506Ž‘)IÏ\D@c=\U@c‘¿ª\U@c=\Y@cŽŽ¡‘ãŒÃ507Ž‘É¿Ï\elseŽŽ¡‘ãŒÃ508Ž‘)IÏ\D@c=\Y@cŽŽ¡‘ãŒÃ509Ž‘É¿Ï\fiŽŽ¡‘ãŒÃ510Ž‘É¿Ï\Y@c=0.5\D@c–¿ª\advance\Y@c“0.5\U@c“\advance\U@c“-\Y@c“\D@c=\U@cŽŽ¡‘ãŒÃ511Ž‘É¿Ï\Edge@c={\rectangleEdge}%ŽŽ¡‘ãŒÃ512Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ513Ž‘ mÏ\leave@ŽŽŽŽŒ‹!kO Á à ý*tj‘ãŒÑ2.13.‘„CNECULA'S‘¦fEXTENSIONS’0Šá¹289ŽŽ ¶?? ýh«w‘ãŒÃ514Ž‘õŒÏ%‘ T\xy@showthe–¿ªc{After“inner}%ŽŽ¤ ™š‘ãŒÃ515Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ517Ž‘õŒÏ\xydef@\poly@getinterspoints#1,#2,#3,#4,#5,#6@{%ŽŽ¡‘ãŒÃ518Ž‘ mÏ\R@c=#3\U@c=#4\X@c=#5\Y@c=#6}ŽŽ¦‘ãŒÃ520Ž‘õŒÏ%ŽŽ¡‘ãŒÃ521Ž‘õŒÏ%–¿ªCompute“the“outer“rectangle“(set“Uc,Dc,Lc,Rc“and“Edgec).ŽŽ¡‘ãŒÃ522Ž‘õŒÏ%–¿ªDoes“not“change“Xc,YCŽŽ¡‘ãŒÃ523Ž‘õŒÏ%ŽŽ¡‘ãŒÃ524Ž‘õŒÏ\xydef@\polygonEdge@Outer{%ŽŽ¡‘ãŒÃ525Ž‘õŒÏ%‘ T\W@{Computing–¿ªouter“for“\poly@list}\xy@showthe“c{Before“outer}%ŽŽ¡‘ãŒÃ526Ž‘ mÏ%–¿ªSave“everything“except“cŽŽ¡‘ãŒÃ527Ž‘ mÏ\enter@{\basefromthebase@–¿ª\pfromthep@“\DirectionfromtheDirection@}%ŽŽ¡‘ãŒÃ528Ž‘ ŠÁÏ\czeroEdge@–¿ª%“Zero“out“cŽŽ¡‘ãŒÃ529Ž‘ ŠÁÏ\let\poly@map@next=\poly@mapŽŽ¡‘ãŒÃ530Ž‘ ŠÁÏ\poly@mapExpand\poly@findextent\poly@listŽŽ¡‘ãŒÃ531Ž‘ ŠÁÏ\Edge@c={\rectangleEdge}%ŽŽ¡‘ãŒÃ532Ž‘ mÏ\leave@ŽŽ¡‘ãŒÃ533Ž‘õŒÏ%‘ T\xy@showthe–¿ªc{After“outer}ŽŽ¡‘ãŒÃ534Ž‘õŒÏ}ŽŽ¦‘ãŒÃ536Ž‘õŒÏ\xydef@\poly@findextent#1#2{%ŽŽ¡‘ãŒÃ537Ž‘õŒÏ%‘ T\xy@showthe–¿ªc{Before“find“extent}%ŽŽ¡‘ãŒÃ538Ž‘õŒÏ%‘ T\W@{–¿ªextx=#1,“exty=#2}%ŽŽ¡‘ãŒÃ539Ž‘ mÏ\dimen@=#1\dimen@=\the\dimen@%–¿ªit“fails“if“I“remove“the“second“assignŽŽ¡‘ãŒÃ540Ž‘ mÏ\ifdim\dimen@>\R@c–¿ª\R@c=\dimen@“\fiŽŽ¡‘ãŒÃ541Ž‘ mÏ\ifdim–¿ª-\dimen@>\L@c“\L@c=-\dimen@“\fiŽŽ¡‘ãŒÃ542Ž‘ mÏ\dimen@=#2\dimen@=\the\dimen@%–¿ªit“fails“if“I“remove“the“second“assignŽŽ¡‘ãŒÃ543Ž‘ mÏ\ifdim\dimen@>\U@c–¿ª\U@c=\dimen@“\fiŽŽ¡‘ãŒÃ544Ž‘ mÏ\ifdim–¿ª-\dimen@>\D@c“\D@c=-\dimen@“\fiŽŽ¡‘ãŒÃ545Ž‘õŒÏ%‘ T\xy@showthe–¿ªc{“After“extent}%ŽŽ¡‘ãŒÃ546Ž‘õŒÏ}ŽŽ¦‘ãŒÃ548Ž‘õŒÏ%–¿ªChange“to“account“for“polynomial“shapes,“in“addition“to“circular“onesŽŽ¡‘ãŒÃ549Ž‘õŒÏ%ŽŽ¡‘ãŒÃ550Ž‘õŒÏ\xydef@\Fshape@#1:{\def\whichframe@@{{#1}}\let\whichoptions@@=\emptyŽŽ¡‘ãŒÃ551Ž‘ûKÃÏ\DN@{{}}\ifx\whichframe@@\next@‘¿ª\def\whichframe@@{{-}}\fiŽŽ¡‘ãŒÃ552Ž‘ûKÃÏ\expandafter\xyFN@\expandafter\Fshape@whichframe\the\Edge@c}ŽŽ¦‘ãŒÃ554Ž‘õŒÏ\xydef@\Fshape@whichframe{%ŽŽ¡‘ãŒÃ555Ž‘ûKÃÏ\ifx\next\circleEdgeŽŽ¡‘ãŒÃ556Ž‘ËÏ\edef\whichframe@@{[o]\whichframe@@}%ŽŽ¡‘ãŒÃ557Ž‘ËÏ\DN@##1{\xyFN@\Fshape@i}%ŽŽ¡‘ãŒÃ558Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ559Ž‘ûKÃÏ\ifx\next\polygonEdgeŽŽ¡‘ãŒÃ560Ž‘ËÏ\edef\whichframe@@{[P]\whichframe@@}%ŽŽ¡‘ãŒÃ561Ž‘ËÏ\DN@\polygonEdge##1@##2@{\xyFN@\Fshape@i}%ŽŽ¡‘ãŒÃ562Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ563Ž‘ËÏ\DN@##1{\xyFN@\Fshape@i}%ŽŽ¡‘ãŒÃ564Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ565Ž‘ûKÃÏ\next@ŽŽ¡‘ãŒÃ566Ž‘õŒÏ}ŽŽŽŽŒ‹"t¤ Á à ý*tj‘㌹290’?KlÑCHAPTER‘¦f2.‘„CEXTENSIONSŽŽ ¶?? ýh«w‘ãŒÃ568Ž‘õŒÏ\xyendinputŽŽ¤Pˆ‘ôŒÔBug:‘ÝݹThis–¦fcošMÞde“should“b˜e“merged“with“the“`frame'“and“`p˜oly'“options.Ž© ™š‘ôŒThe–¦fexample“at“the“end“of“ÇxÔ??‘Ýݹillustrates“the“extensions.Ž¡‘ãŒÃ581Ž‘õŒÏ%‘¿ª$Log$ŽŽ¦‘ãŒÃ582Ž‘õŒÏ%–¿ªReceived“from“George.ŽŽŽŽŒ‹#~Ô Á à ý*tj ¶?? ý´tõ‘ãŒÛChapter‘Ç 3ŽŸ2É~‘ãŒÓF‘ýªáeaturesŽŸ6c‘㌹This– c²!hapter“describšMÞes“the“options“that“supp˜ort“facilities“that“can“b˜e“obtained“using“the“k²!ernel“andޤ ™š‘ãŒextensions–¦fyš²!et“are“m˜uc˜h“easier“to“obtain“using“the“pro˜vided“spMÞecial“syn˜tax.ŽŸ&ÿ²‘ãŒÝ3.1Ž‘r|All‘fffeaturesŽŸù‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸ3y‘㌹As–ËÚa“spMÞecial“con•²!v“enience,‘÷this–ËÚfeature“loads“a“subset“of‘³„X‘ü·ŸâÃYŽŽ‘ 2ä-pic,Ÿü¾Â1ŽŽ‘·”¹namely“the“extensions:‘p˜ÏcurveŽ‘#úĹ(Ðcf¹.“Çx¹2.1),Ž¡‘ãŒÏframeŽ‘¿Ö¹(Çx¹2.2),‘²jÏcmtipŽ–!æ'¹(Çx¹2.3),‘²jÏlineŽ‘&}¹(Çx¹2.4),‘²jÏrotateŽ‘'¥Ñ¹(Çx¹2.5),‘²jÏcolorŽ“¹(Çx¹2.6),‘²jand–ukthe“follo²!wing“features:‘E`ÏmatrixŽŽ¡‘㌹(Çx¹3.5),‘¦fÏarrowŽ›$ ¹(Çx¹3.3),–¦fand“ÏgraphŽ˜¹(Çx¹3.6).ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyall.doc,v“3.3“1996/12/19“03:31:56“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``All“features''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ‘㌟ ûM‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã1ŽŽŽ‘¦aÖThe–Tname“`all'“hinš¾9ts“at“the“fact“that“these“w˜ere“all“the“a˜v‘ÿ|railable“options“at“the“time“`all'“w˜as“added.ŽŽŸLW’Í.ä¹291ŽŽŒ‹$€X Á à ý*tj‘㌹292’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ26Ž‘õŒÏ\xyprovide{all}{All–¿ªfeatures}{\stripRCS$Revision:“3.3“$}%ŽŽ¤ ™š‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸ“´‘ôŒ¹Here–¦fw²!e“go:Ž©Pˆ‘ãŒÃ47Ž‘õŒÏ\xyrequire{curve}ŽŽ¡‘ãŒÃ48Ž‘õŒÏ\xyrequire{frame}ŽŽ¡‘ãŒÃ49Ž‘õŒÏ\xyrequire{cmtip}ŽŽ¡‘ãŒÃ50Ž‘õŒÏ\xyrequire{line}ŽŽ¡‘ãŒÃ51Ž‘õŒÏ\xyrequire{rotate}ŽŽ¡‘ãŒÃ52Ž‘õŒÏ\xyrequire{color}ŽŽ¦‘ãŒÃ54Ž‘õŒÏ\xyrequire{matrix}ŽŽ¡‘ãŒÃ55Ž‘õŒÏ\xyrequire{arrow}ŽŽ¡‘ãŒÃ56Ž‘õŒÏ\xyrequire{graph}ŽŽ¦‘ôŒ¹That–¦fis“all.ަ‘ãŒÃ62Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ64Ž‘õŒÏ%–¿ª$Log:“xyall.doc,v“$ŽŽ¡‘ãŒÃ65Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ66Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ67Ž‘õŒÏ%ŽŽ¡‘ãŒÃ68Ž‘õŒÏ%–¿ªRevision“3.0› T1995/07/07“20:14:21˜krisŽŽ¡‘ãŒÃ69Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ70Ž‘õŒÏ%ŽŽ¡‘ãŒÃ71Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ72Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ73Ž‘õŒÏ%ŽŽ¡‘ãŒÃ74Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ75Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ76Ž‘õŒÏ%ŽŽ¡‘ãŒÃ77Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“10:37:32“krisŽŽ¡‘ãŒÃ78Ž‘õŒÏ%–¿ªThird“3beta“release“[bug“fixes].ŽŽ¡‘ãŒÃ79Ž‘õŒÏ%–¿ªExperimental“graph“feature“included“(for“ECCT-94“presentation).ŽŽ¡‘ãŒÃ80Ž‘õŒÏ%ŽŽ¡‘ãŒÃ81Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:59:19“krisŽŽ¡‘ãŒÃ82Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ83Ž‘õŒÏ%ŽŽ¡‘ãŒÃ84Ž‘õŒÏ%–¿ªNEW“file“to“go“in“version“2.9!ŽŽŸ,ŒÚ‘ãŒÝ3.2Ž‘r|DummŒÌy‘ffoptionŽŸq‹‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸ«ÿ‘㌹This–íoption“is“proš²!vided“as“a“template“for“new“options,‘’Òit“pro˜vides“neither“features“nor“extensions“butŽ¡‘ãŒit–³ôdoMÞes“counš²!t“ho˜w“man˜y“times“it“is“requested.‘‡Ev˜en“though“the“option“doMÞes“nothing“it“still“has“aŽ¡‘ãŒstandard‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic‘¦fheader:ަ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xydummy.doc,v“3.3“1996/12/19“03:31:56“krisrose“Exp“$ŽŽŽŽŒ‹%ŠÂ Á à ý*tj‘ãŒÑ3.2.‘„CDUMMY‘¦fOPTION’\¥¹293ŽŽ ¶?? ýh«w‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Dummy''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{dummy}{Dummy–¿ªoption}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸ6¡‘ôŒ¹Next–¦ffolloš²!ws“t˜w˜o“declarations“that“are“used“to“coun˜t“the“n˜um˜bMÞer“of“in˜v˜oMÞcations:ަ‘ãŒÃ46Ž‘õŒÏ\xynew@{count}\xydummyrequires@@ŽŽ¦‘ôŒ¹This–ËXis“used“bš²!y“the“option“to“output“a“message“ev˜ery“time“it“is“loaded“with“Ï\xyoptionŽ‘?Sª¹orŽ¡‘ãŒÏ\xyrequireŽ‘½¹:ަ‘ãŒÃ53Ž‘õŒÏ\xyeveryrequest{dummy}{\global\advance\xydummyrequires@@\@neŽŽ¡‘ãŒÃ54Ž‘ûKÃÏ\W@{The–¿ª`dummy'“option“was“used“\the\xydummyrequires@@\space“times!}}ŽŽ¦‘ôŒ¹(Ï\W@Ž‘åd¹is–¦fan‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“primitivš²!e“that“outputs“its“argumen˜t.)Ž¡‘ôŒThen–¦fthe“option“ends:ަ‘ãŒÃ62Ž‘õŒÏ\xyendinputŽŽ¦‘ôŒ¹Finally‘¦fÏxydummy.docŽ‘F‰¹is–¦fmainš²!tained“using“R˜CS“and“th˜us“con˜tains“the“follo˜wing“revision“log:ަ‘ãŒÃ69Ž‘õŒÏ%–¿ª$Log:“xydummy.doc,v“$ŽŽ¡‘ãŒÃ70Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ71Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ72Ž‘õŒÏ%ŽŽ¡‘ãŒÃ73Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:31:32˜krisŽŽ¡‘ãŒÃ74Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ75Ž‘õŒÏ%ŽŽ¡‘ãŒÃ76Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ77Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽŽŽŒ‹&“ΠÁ à ý*tj‘㌹294’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ78Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ79Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ80Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ81Ž‘õŒÏ%ŽŽ¡‘ãŒÃ82Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/08“02:06:01“krisŽŽ¡‘ãŒÃ83Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ84Ž‘õŒÏ%ŽŽ¡‘ãŒÃ85Ž‘õŒÏ%–¿ªNEW“file“to“go“in“version“2.7!ŽŽŸ.Ô‘ãŒÝ3.3Ž‘r|ArrošŒÌw–ffand“P˜ath“featureŽŸÙŠ‘ãŒæV‘ÿ «ers.‘p3.5–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸþ‘㌹This–¦ffeature“proš²!vides‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“with“the“arro˜w“paradigm“presen˜ted“in“[12Ž‘ ó4].ޤ Ï!‘ôŒÔNote:‘ÝÝÏ\PATHŽ‘%B•¹command–¦fincompatibly“cš²!hanged“for“v˜ersion“3.3“(the“Ï\arŽ‘‹Ê¹command“is“una ected).Ž¡‘ôŒThe–Öbasic“concept“inš²!troMÞduced“is“the“Ðp‘ÿp¹ath‘× ¹:‘u¶a“connection“that“Ðstarts‘¼0¹from“Äc“¹(the“curren˜t“ob‘›»ject),‘ÿÁÐendsޤ ™š‘㌹at–/ãa“spšMÞeci ed“ob‘›»ject,‘RBand“ma²!y“b˜e“split“inš²!to“sev˜eral“Ðse‘ÿp¹gments‘û¹bMÞet˜w˜een“in˜termediate“spMÞeci ed“ob‘›»jectsŽ¡‘ãŒthat–¦fcan“bšMÞe“individually“lab˜elled,“cš²!hange“st˜yle,“ha˜v˜e“breaks,“etc.ŽŸ Ï!‘ôŒÇx¹3.3.1–Šis“abMÞout“the“Ï\PATHŽ‘%Ò|¹primitivš²!e,‘Ãincluding“the“syn˜tax“of“paths,‘Ãand“Çx¹3.3.2“is“abMÞout“the“Ï\arŽŽ¡‘㌹customisation–¦fof“paths“to“draš²!w“arro˜ws“using‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“directional“ob‘›»jects.ŽŸ‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyarrow.doc,v“3.5“1997/05/28“13:05:01“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Arrows“and“Paths''“feature.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{arrow}{Arrow–¿ªand“Path“feature}{\stripRCS$Revision:“3.5“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽŽŽŒ‹'ŸÐ Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹295ŽŽ ¶?? ÿ/Êç þ-à‘㌟ ff‰ffã²dŸ {„‘yšSyn²!taxŽ’þ!®ActionŽŽŽŽŸ‡w‰ffã²dŸ 6f‘yšÏ\PATH‘¦fÇh¹pathÇiŽ’þ!®¹in²!terpret‘¦fÇh¹pathÇiŽŽŽŽŸ ™š‘yšÏ\afterPATH{Çh¹decorÇiÏ}‘¦fÇh¹pathÇiŽ’þ!®¹in²!terpret–¦fÇh¹pathÇi“¹and“then“run“Çh¹decorÇiŽŽŽŽŸ#2‰ffã²dŸ k ‘yšh¹pathÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«Ï~–¦fÇh¹actionÇi“Ï{Ž› vÇh¹stu Çi“Ï}Ž˜Çh¹pathÇiŽ’þ!®¹set–¦fÇh¹actionÇiŸü¾²3.3aŽ‘톹to“Çh¹stu ÇiŽŽŽŽ¤ÿ†‘LÅ—jŽŽ‘\–«Ï~–¦fÇh¹whic²!hÇi“Ï{Ž› vÇh¹labMÞelsÇi“Ï}Ž˜Çh¹pathÇiŽ’þ!®¹add–¦fÇh¹labMÞelsÇi“¹pre x“for“some“segmen²!tsŸü¾²3.3bŽŽŽŽŽ©†‘LÅ—ÇjŽŽ‘\–«Ï~‘¦f{Ž– vÇh¹stu Çi‘¦fÏ}Ž“Çh¹pathÇiŽ’þ!®¹set–¦ffailure“con•²!tin“uationŸü¾²3.3cŽ‘_L¹to‘¦fÇh¹stu ÇiŽŽŽŽ¡‘LÅ—jŽŽ‘\–«Ï'–¦fÇh¹segmen²!tÇi“h¹pathÇiŽ’þ!®¹mak•²!e›¦fstraigh“t˜segmen“tŸü¾²3.3dŽŽŽŽŽ¡‘LÅ—ÇjŽŽ‘\–«Ï`–¦fÇh¹turnÇi“h¹segmen²!tÇi“h¹pathÇiŽ’þ!®¹makš²!e–¦fturning“segmen˜tŸü¾²3.3fŽŽŽŽŽ¦‘LÅ—ÇjŽŽ‘\–«h¹segmen²!tÇiŽ’þ!®¹makš²!e–¦flast“segmen˜tŸü¾²3.3gŽŽŽŽŽ©ÿ†‘yšÇh¹turnÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«h¹diagÇi‘¦fh¹turnradiusÇiŽ’þ!®¹1/4–¦fturnŸü¾²3.3fŽ‘û¿¹starting“in“Çh¹diagÇiŽŽŽŽ¡‘LÅ—jŽŽ‘\–«h¹cirÇi‘¦fh¹turnradiusÇiŽ’þ!®¹explicit‘¦fturnŸü¾²3.3fŽŽŽŽŽ¤ ™š‘yšÇh¹turnradiusÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«h¹empt²!yÇiŽ’þ!®¹use–¦fdefault“turn“radiusŽŽŽŽ¡‘LÅ—ÇjŽŽ‘\–«Ï/‘¦fÇh¹dimenÇiŽ’þ!®¹set–¦fÐturnr‘ÿp¹adius‘Œ~¹to“Çh¹dimenÇiŽŽŽŽŸ†‘yšh¹segmen²!tÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«h¹path-pšMÞosÇi–¦fh¹slideÇi“h¹lab˜elsÇiŽ’þ!®¹segmen²!tŸü¾²3.3eŽ‘_L¹with–¦fÇh¹slideÇi“¹and“Çh¹labMÞelsÇiŽŽŽŽ¦‘yšh¹slideÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«h¹empt²!yÇi‘LÌjŽ‘¤CÏ<–¦fÇh¹dimenÇi“Ï>Ž’þ!®¹optional–—úslideŸü¾²3.3hŽ‘ÕY¹:‘V¨Çh¹dimenÇi“¹in“the“\abMÞo•²!v“e"‘—údirectionŽŽŽŽŸ»w‘yšÇh¹labMÞelsÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«Ï^–¦fÇh¹anc²!horÇi“h¹itÇi“h¹aliasÇi“h¹labMÞelsÇiŽ’þ!®¹labMÞel–¦fwith“Çh¹itÇiŸü¾²3.3iŽ‘´¢Ðab‘ÿp¹ove‘yÇh¹anc²!horÇiŽŽŽŽ¤»w‘LÅ—jŽŽ‘\–«Ï_–¦fÇh¹anc²!horÇi“h¹itÇi“h¹aliasÇi“h¹labMÞelsÇiŽ’þ!®¹labMÞel–¦fwith“Çh¹itÇiŸü¾²3.3iŽ‘´¢Ðb‘ÿp¹elow‘Ô!Çh¹anc²!horÇiŽŽŽŽ¡‘LÅ—jŽŽ‘\–«Ï|–¦fÇh¹anc²!horÇi“h¹itÇi“h¹aliasÇi“h¹labMÞelsÇiŽ’þ!®¹break–¦fwith“Çh¹itÇiŸü¾²3.3jŽ‘û¿¹at“Çh¹anc²!horÇiŽŽŽŽ¤ ™š‘LÅ—jŽŽ‘\–«h¹empt²!yÇiŽ’þ!®¹no–¦fmore“labMÞelsŽŽŽŽŸ™š‘yšÇh¹anc²!horÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«Ï-‘¦fÇh¹anc²!horÇi‘LÌjŽ‘¤Ch¹placeÇiŽ’þ!®¹labMÞel/break–A7placed“relativ²!e“to“the“Çh¹placeÇi“¹where“Ï-Ž¡’þ!®¹is–¦fa“synon²!ym“for“Ï<>(.5)ŽŽŽŽŸ¥´‘yšÇh¹itÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«h¹digitÇi‘¦fjŽ– Wwh¹letterÇi‘¦fjŽ“Ï{Ž–!Çh¹textÇiÏ}Ž‘ fÇjŽ“h¹csÇiŽ’þ!®h¹itÇi–¦f¹is“a“default“labMÞelŸü¾²3.3kŽŽŽŽŽ¡‘LÅ—ÇjŽŽ‘\–«Ï*‘¦fÇh¹ob‘›»jectÇiŽ’þ!®h¹itÇi–¦f¹is“an“Çh¹ob‘›»jectÇiŽŽŽŽ¡‘LÅ—jŽŽ‘\–«Ï@‘¦fÇh¹dirÇiŽ’þ!®h¹itÇi–¦f¹is“a“Çh¹dirÇi¹ectionalŽŽŽŽ¡‘LÅ—ÇjŽŽ‘\–«Ï[Ž‘eü»Çh¹shapMÞeÇi‘¦fÏ]Ž‘ vÇh¹itÇiŽ’þ!®¹use‘¦fÏ[Ž– fÇh¹shapMÞeÇiÏ]Ž“¹for‘¦fÇh¹itÇiŽŽŽŽ¦‘yšh¹aliasÇiŽ‘ExÇŽŽŽ‘L)Ü!ŽŽ‘\–«h¹empt²!yÇi‘LÌjŽ‘¤CÏ="Ž‘¿ªÇh¹idÇiÏ"ŽŽ’þ!®¹optional–¦fname“for“labMÞel“ob‘›»jectŸü¾²3.3lŽŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’Ä@ø¹Figure‘¦f3.1:‘ÝÝÇh¹pathÇi¹sŽŽŽŸ)‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¤ ™š‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸ-‘ãŒÞ3.3.1Ž‘ ÌP athsŽŸlç‘ãŒÃ59Ž‘õŒÏ\message{path,}ŽŽŸ[‘㌹The–è"fundamen²!tal“commands“of“this“feature“are“Ï\PATH›çйand“Ï\afterPATH˜¹that“will“parse“the“Çh¹pathÇiŽ¡‘㌹according–¦fto“the“grammar“in“ gure“3.1“with“notes“bMÞelo²!w.ŽŸ(–‘ãŒÔP¦tarsing:‘ ó5Ï\afterPATHŽ‘Gѹsets–øup“Ï\afterPATH@Ž‘E\>¹and“initialise“all“the“actions“(see“note“3.3a“bšMÞelo²!w)“b˜eforeŽ¡‘ãŒin•²!v“oking–¦fthe“actual“Çh¹pathÇi“¹parser.‘ÝÝÏ\PATHŽ‘%B•¹is“just“a“dummš²!y“in˜terface.ŽŸPˆ‘ãŒÃ183Ž‘õŒÏ\xydef@\PATH{\afterPATH{}}ŽŽŽŽŒ‹(¬p Á à ý*tj‘㌹296’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ185Ž‘õŒÏ\xylet@\afterPATH@=\emptyŽŽ©Pˆ‘ãŒÃ187Ž‘õŒÏ\xydef@\afterPATH#1{\saveŽŽ¤ ™š‘ãŒÃ188Ž‘ûKÃÏ\DN@##1{\def\afterPATH@{\restore‘¿ª\def\afterPATH@{##1}#1}}%ŽŽ¡‘ãŒÃ189Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterPATH@}%ŽŽ¡‘ãŒÃ190Ž‘ûKÃÏ\let\PATHfail@@=\emptyŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\let\PATHbefore@@=\emptyŽŽ¡‘ãŒÃ192Ž‘ûKÃÏ\let\PATHafter@@=\emptyŽŽ¡‘ãŒÃ193Ž‘ûKÃÏ\let\PATHlabelsevery@@=\emptyŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\let\PATHlabelsnext@@=\emptyŽŽ¡‘ãŒÃ195Ž‘ûKÃÏ\let\PATHlabelslast@@=\emptyŽŽ¡‘ãŒÃ196Ž‘ûKÃÏ\xy@{\afterPATH{#1}}{\def\PATHslide@@{\z@}}%ŽŽ¡‘ãŒÃ197Ž‘ûKÃÏ\def\PATHcontinue@@{\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ198Ž‘ûKÃÏ\xyFN@\PATH@}ŽŽŸh‘ôŒ\PATH@Ž‘ôJ¹is–ê5the“parser“for“Çh¹pathÇi¹:‘e{it“eats“the“Çh¹pathÇi“¹unš²!til“it“fails“and“then“calls“the“`failure“con˜tin-Ž¡‘ãŒuation'–ÃŒwhicš²!h“will“ev˜en˜tually“bMÞecome“Ï\emptyŽ‘*¹whic˜h“ends“the“parsing.‘5OÔHac¦tk:‘)¹The“`Ï\ifPATHsingle@Ž‘P{L¹'Ž¡‘ãŒswitc•²!h›Ý;switc“hes˜the˜Çh¹segmen“tÇi˜¹parsing˜Ðo ‘R¹;‘ Jthis˜is˜used˜b“y˜the˜graph˜feature˜to˜parse˜stand-alone˜Çh¹slideÇiŽ¡‘ãŒh¹labMÞelsÇi‘¦f¹sequences.ަ‘ãŒÃ209Ž‘õŒÏ\xynew@{if}\ifPATHsingle@ŽŽ¦‘ãŒÃ211Ž‘õŒÏ\xydef@\PATH@{%ŽŽ¡‘ãŒÃ212Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ213Ž‘ûKÃÏ\else\ifPATHsingle@‘¿ª\let\next@=\PATH@singleŽŽ¡‘ãŒÃ214Ž‘ûKÃÏ\else–¿ª\let\next@=\PATH@normal“\fi\fi“\next@}ŽŽ¦‘ãŒÃ216Ž‘õŒÏ\xydef@\PATH@normal{%ŽŽ¡‘ãŒÃ217Ž‘ûKÃÏ\ifx–¿ª~\next“\DN@“~{\xyFN@\PATHsetting@}%ŽŽ¡‘ãŒÃ218Ž‘ûKÃÏ\else–¿ª\addRQ@\ifx“\next“\addRQ@\DN@{\xy@'{}\xyFN@\PATHstraight@}%ŽŽ¡‘ãŒÃ219Ž‘ûKÃÏ\else–¿ª\addLQ@\ifx“\next“\addLQ@\DN@{\xy@`{}\xyFN@\PATHturn@}%ŽŽ¡‘ãŒÃ220Ž‘ûKÃÏ\else\ifx–¿ª\PATHfail@@\PATH@x“\DN@{\xyFN@\PATHfinal@}%ŽŽ¡‘ãŒÃ221Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ222Ž‘ mÏ\DNii@{\let\PATHfail@@=\PATH@x‘¿ª\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ223Ž‘ mÏ\DN@{\expandafter\nextii@\PATHfail@@}%ŽŽ¡‘ãŒÃ224Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽŸh‘ôŒ\PATHsetting@Ž‘CO¹¹just–þreads“an“Çh¹actionÇi“¹or“Çh¹whicš²!hÇi“¹determining“whic˜h“action“stu “to“set“and“thenŽ¡‘ãŒdoMÞes–&üit|wš²!e“treat“the“failure“con˜tin˜uation“as“an“action“here“ev˜en“though“it“is“not,‘G!strictly“spMÞeaking.Ž¡‘ãŒThe–¦ffour“actions“are“explained“in“the“appropriate“notes“bMÞelo²!w.ަ‘ãŒÃ234Ž‘õŒÏ\xylet@\PATHfail@@=\emptyŽŽ¦‘ãŒÃ236Ž‘õŒÏ\xylet@\PATHbefore@@=\emptyŽŽ¡‘ãŒÃ237Ž‘õŒÏ\xylet@\PATHafter@@=\emptyŽŽ¦‘ãŒÃ239Ž‘õŒÏ\xylet@\PATHlabelsevery@@=\emptyŽŽ¡‘ãŒÃ240Ž‘õŒÏ\xylet@\PATHlabelsnext@@=\emptyŽŽ¡‘ãŒÃ241Ž‘õŒÏ\xylet@\PATHlabelslast@@=\emptyŽŽ¦‘ãŒÃ243Ž‘õŒÏ\xydef@\PATHsetting@{%ŽŽ¡‘ãŒÃ244Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATHsetting@}%ŽŽ¡‘ãŒÃ245Ž‘ûKÃÏ\else\ifx‘¿ª\bgroup\nextŽŽ¡‘ãŒÃ246Ž‘ mÏ\DN@##1{\xy@{~{##1}}{}\def\PATHfail@@{##1}\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ247Ž‘ûKÃÏ\else–¿ª\addEQ@\ifx“\nextŽŽ¡‘ãŒÃ248Ž‘ mÏ\addEQ@\DN@##1{\xy@{~={##1}}{}\def\PATHbefore@@{##1}\xyFN@\PATH@}%ŽŽŽŽŒ‹)»õ Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹297ŽŽ ¶?? ýh«w‘ãŒÃ249Ž‘ûKÃÏ\else–¿ª\addLT@\ifx“\nextŽŽ¤ ™š‘ãŒÃ250Ž‘ mÏ\addLT@\DN@##1{\xy@{~<{##1}}{}\def\PATHlabelsnext@@{##1}\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ251Ž‘ûKÃÏ\else–¿ª\addGT@\ifx“\nextŽŽ¡‘ãŒÃ252Ž‘ mÏ\addGT@\DN@##1{\xy@{~>{##1}}{}\def\PATHlabelslast@@{##1}\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ253Ž‘ûKÃÏ\else–¿ª\addPLUS@\ifx“\nextŽŽ¡‘ãŒÃ254Ž‘ mÏ\addPLUS@\DN@##1{\xy@{~+{##1}}{}\def\PATHlabelsevery@@{##1}\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ255Ž‘ûKÃÏ\else–¿ª\ifx“/\nextŽŽ¡‘ãŒÃ256Ž‘ mÏ\DN@/##1{\xy@{~/{##1}}{}\def\PATHafter@@{##1}\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ257Ž‘ûKÃÏ\else–¿ª\addDASH@\ifx“\nextŽŽ¡‘ãŒÃ258Ž‘ mÏ\xywarning@{Obsolete–¿ª`-'“PATH““translated“to“`='.}%ŽŽ¡‘ãŒÃ259Ž‘ mÏ\addDASH@\DN@##1{\xy@{~-{##1}}{}\def\PATHbefore@@{##1}\xyFN@\PATH@}%ŽŽ¡‘ãŒÃ260Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ261Ž‘ mÏ\xyerror@{Unknown–¿ª\string~“setting:“\meaning\next}%ŽŽ¡‘ãŒÃ262Ž‘#‰iÏ{See–¿ªthe“Xy-pic“arrow“feature“documentation“for“help.}%ŽŽ¡‘ãŒÃ263Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽŸÚ5‘ôŒ¹Next–P(the“setup“for“straighš²!t“segmen˜ts“including“the“last:‘1bthey“set“Ï\PATHinit@@Ž‘GÜž¹to“initialise,‘z™Ði¹.Ðe¹.,Ž¡‘ãŒslide,‘VïÏ\PATHextra@@Ž‘M†‡¹to–3 do“what“is“needed“after“the“Ï=“¹action,‘Vïand“ nally“Ï\PATHpost@@Ž‘G£Ž¹is“set“to“an²!yŽ¡‘ãŒopšMÞerations–È*to“b˜e“done“after“the“enš²!tire“segmen˜t“is“t˜ypšMÞeset“but“b˜efore“the“next“is“read.‘“ÉÏ\PATHcontinue@@ŽŽ¡‘㌹is–¦fused“inš²!ternally“to“distinguish“the“ordinary“segmen˜ts“from“the“last.ޤPˆ‘ãŒÃ274Ž‘õŒÏ\xylet@\PATHinit@@=\emptyŽŽ¡‘ãŒÃ276Ž‘õŒÏ\xylet@\PATHextra@@=\emptyŽŽ¤ ™š‘ãŒÃ277Ž‘õŒÏ\xylet@\PATHpost@@=\emptyŽŽ¡‘ãŒÃ278Ž‘õŒÏ\xylet@\PATHcontinue@@=\emptyŽŽ©Pˆ‘ãŒÃ280Ž‘õŒÏ\xydef@\PATHstraight@{%ŽŽ¡‘ãŒÃ281Ž‘ûKÃÏ\def\PATHinit@@{\PATHinitstraight@}%ŽŽ¡‘ãŒÃ282Ž‘ûKÃÏ\let\PATHextra@@=\emptyŽŽ¡‘ãŒÃ283Ž‘ûKÃÏ\let\PATHpost@@=\emptyŽŽ¡‘ãŒÃ284Ž‘ûKÃÏ\let\PATHlabelsextra@@=\relaxŽŽ¡‘ãŒÃ285Ž‘ûKÃÏ\xy@@\pfromc@‘¿ª\PATHafterPOS{\xyFN@\PATHsegment@}}ŽŽ¦‘ãŒÃ287Ž‘õŒÏ\xydef@\PATHfinal@{%ŽŽ¡‘ãŒÃ288Ž‘ûKÃÏ\def\PATHinit@@{\PATHinitstraight@}%ŽŽ¡‘ãŒÃ289Ž‘ûKÃÏ\def\PATHextra@@{\let\PATHcontinue@@=\afterPATH@}%ŽŽ¡‘ãŒÃ290Ž‘ûKÃÏ\let\PATHpost@@=\emptyŽŽ¡‘ãŒÃ291Ž‘ûKÃÏ\let\PATHlabelsextra@@=\PATHlabelsextralast@ŽŽ¡‘ãŒÃ292Ž‘ûKÃÏ\xy@@\pfromc@‘¿ª\PATHafterPOS{\xyFN@\PATHsegment@}}ŽŽ¦‘ãŒÃ294Ž‘õŒÏ\xydef@\PATHlabelsextralast@{\let\PATHlabelsextra@@=\relaxŽŽ¡‘ãŒÃ295Ž‘ûKÃÏ\expandafter\xyFN@\expandafter\PATHlabels@\PATHlabelslast@@}ŽŽ¦‘ãŒÃ297Ž‘õŒÏ\xydef@\PATHinitstraight@{\xy@@{\setupDirection@‘¿ª\dimen@=\PATHslide@@ŽŽ¡‘ãŒÃ298Ž‘ËÏ\dimen@ii=-\sinDirection\dimen@ŽŽ¡‘ãŒÃ299Ž‘ËÏ\ifPATHomitslide@@\else\advance\X@p\dimen@ii\fi‘¿ª\advance\X@c\dimen@iiŽŽ¡‘ãŒÃ300Ž‘ËÏ\dimen@ii=‘¿ª\cosDirection\dimen@ŽŽ¡‘ãŒÃ301Ž‘ËÏ\ifPATHomitslide@@\else\advance\Y@p\dimen@ii\fi‘¿ª\advance\Y@c\dimen@iiŽŽ¡‘ãŒÃ302Ž‘ËÏ\PATHomitslide@@false‘¿ª\resetupDirection@}}ŽŽŸÚ5‘ôŒ¹Setup–¦ffor“turning“segmen²!ts“is“in“note“3.3f.ŽŸ#G‘ôŒA‘5Çh¹segmenš²!tÇi–5#¹is“in˜terpreted“as“follo˜ws“after“Äp“¹has“bšMÞeen“set“to“the“previous“end“ob‘›»ject,‘KÊÄc“¹to“the“Çh¹p˜osÇiŽ¡‘㌹givš²!en–¦fat“the“start“of“the“segmen˜t,“and“Ï\PATHslide@@Ž‘LHĹto“the“slide:ŽŽŽŒ‹*Çî Á à ý*tj‘㌹298’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ312Ž‘õŒÏ\xydef@\PATHslide@@{\z@}ŽŽ¤ ™š‘ãŒÃ313Ž‘õŒÏ\xynew@{if}\ifPATHomitslide@@ŽŽ©Pˆ‘ãŒÃ315Ž‘õŒÏ\xydef@\PATHsegment@{%ŽŽ¡‘ãŒÃ316Ž‘ûKÃÏ\addLT@\ifx\nextŽŽ¡‘ãŒÃ317Ž‘ mÏ\addGT@{\addLT@\DN@##1}{%ŽŽ¡‘ãŒÃ318Ž‘ËÏ\xy@{<##1>}{\dimen@=##1\relax‘¿ª\edef\PATHslide@@{\the\dimen@}}%ŽŽ¡‘ãŒÃ319Ž‘ËÏ\xyFN@\PATHsegment@@}%ŽŽ¡‘ãŒÃ320Ž‘ûKÃÏ\else‘¿ª\let\next@=\PATHsegment@@ŽŽ¡‘ãŒÃ321Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽŸêv‘ðî>¹1.ŽŽŽ‘þìExpand‘g@Ï\PATHinit@@Ž‘J ι(for–g@straighš²!t“segmen˜ts“this“just“sets“up“the“direction“and“applies“theŽ¡‘þìÇh¹slideÇi¹).ޤ¾‘ðî>2.ŽŽŽ‘þìExpand‘¦fÏ\PATHaction={Ž‘NbÇh¹stu ÇiÏ}Ž‘ f¹as–¦fset“using“Ï~={Ž‘ådÇh¹stu ÇiÏ}Ž‘¿ª¹.Ž¡‘ðî>3.ŽŽŽ‘þìSets‘¦fÏ\PATHcontinue@@Ž‘]‡Â¹to–¦fanš²!y“con˜tin˜uation“set“with“Ï~{Ž‘%ºÇh¹stu ÇiÏ}Ž‘¿ª¹).Ž¡‘ðî>4.ŽŽŽ‘þìConstruct–®[list“of“Çh¹labšMÞelsÇi“¹sp˜eci ed“bš²!y“the“user“through“Ï~Ž‘ nÇh¹whic˜hÇi“¹setup.‘õ»Those“applicable“to“theŽŸ ™š‘þìpresen•²!t›¦fsegmen“t˜are˜inserted˜b•MÞefore˜the˜user's˜Çh¹lab“elsÇi˜¹in˜the˜sequence˜Ï<>=Ž‘åd¹.Ž¡‘ðî>5.ŽŽŽ‘þìStore–¦fÄp;‘Ó1c“¹as“Ðstart‘ ê¹,Ðend‘ȹof“segmen²!t.Ž¡‘ðî>6.ŽŽŽ‘þìIn²!terpret–¦fÇh¹labšMÞelsÇi“¹(see“b˜eloš²!w),“including“the“ones“added“b˜y“the“Ï~Ž‘ fÇh¹whenÇi¹.–Ó3.“.‘y™Çh¹setupÇi¹.ŽŸ3ˆ‘ãŒÏ\PATHsegment@@Ž‘7­Ë¹pšMÞerforms–¦fthis“except“the“last“t•²!w“o‘¦fp˜oin“ts:ަ‘ãŒÃ346Ž‘õŒÏ\xydef@\PATHsegment@@{\PATHinit@@–¿ª\addEQ@\PATHaction@\PATHbefore@@“\PATHextra@@ŽŽ¤ ™š‘ãŒÃ347Ž‘ûKÃÏ\expandafter\toks@\expandafter{\PATHlabelsnext@@}\let\PATHlabelsnext@@=\emptyŽŽ¡‘ãŒÃ348Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\PATHlabelsevery@@}%ŽŽ¡‘ãŒÃ349Ž‘ûKÃÏ\expandafter\def\expandafter\PATHlabels@@\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ350Ž‘ûKÃÏ\toks@={}\expandafter\xyFN@\expandafter\PATHlabels@\PATHlabels@@}ŽŽŸoQ‘ôŒ\PATHlabels@Ž‘>»O¹parses–3>all“Çh¹labšMÞelsÇi“¹of“a“Çh¹segmen²!tÇi¹.‘ „eThis“sets“Ï\PATHlabelit@@Ž‘Záȹto“the“op˜erationŽ¡‘ãŒbuilding–`~the“labMÞel“in“question.‘ÆThen“some“parsing“stores“the“tokš²!ens“Ï<>(.5)“¹for“eac˜h“Ï-“¹in“the“Çh¹anc˜horÇiŽ¡‘㌹and–24 nally“passes“conš²!trol“to“the“k˜ernel“Çh¹placeÇi“¹parser“with“these“tok˜ens“as“the“head.‘·"This“then“in“turnŽ¡‘ãŒcalls‘¨¸Ï\PATHit@Ž‘5NÀ¹that–¨¸parses“Çh¹itÇi“¹and“applies“the“cš²!hosen“opMÞeration.‘äÔAfter“the“last“w˜e“con˜tin˜ue“with“theŽ¡‘ãŒaccum•²!ulated›¦fsubsegmen“t˜actions.ަ‘ãŒÃ362Ž‘õŒÏ\xylet@\PATHlabelit@@=\emptyŽŽ¦‘ãŒÃ364Ž‘õŒÏ\xydef@\PATHlabels@{%ŽŽ¡‘ãŒÃ365Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATHlabels@}%ŽŽ¡‘ãŒÃ366Ž‘ûKÃÏ\else–¿ª\ifx“^\nextŽŽ¡‘ãŒÃ367Ž‘ mÏ\DN@##1{\xy@^{}\let\PATHlabelit@@=\PATHlabelabove@@ŽŽ¡‘ãŒÃ368Ž‘ËÏ\DNii@{}\xyFN@\PATHanchor@}%ŽŽ¡‘ãŒÃ369Ž‘ûKÃÏ\else–¿ª\ifx“_\nextŽŽ¡‘ãŒÃ370Ž‘ mÏ\DN@##1{\xy@_{}\let\PATHlabelit@@=\PATHlabelbelow@@ŽŽ¡‘ãŒÃ371Ž‘ËÏ\DNii@{}\xyFN@\PATHanchor@}%ŽŽ¡‘ãŒÃ372Ž‘ûKÃÏ\else–¿ª\ifx“|\nextŽŽ¡‘ãŒÃ373Ž‘ mÏ\DN@##1{\xy@|{}\let\PATHlabelit@@=\PATHlabelbreak@ŽŽ¡‘ãŒÃ374Ž‘ËÏ\DNii@{}\xyFN@\PATHanchor@}%ŽŽ¡‘ãŒÃ375Ž‘ûKÃÏ\else–¿ª\let\next@=\PATHfinishsegments@“\fi\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ377Ž‘õŒÏ\xydef@\PATHanchor@{\begingroup‘¿ª\toks@={}\PATHanchor@i}ŽŽŽŽŒ‹+Ô÷ Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹299ŽŽ ¶?? ýh«w‘ãŒÃ379Ž‘õŒÏ\xydef@\PATHanchor@i{%ŽŽ¤ ™š‘ãŒÃ380Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATHanchor@i}%ŽŽ¡‘ãŒÃ381Ž‘ûKÃÏ\else\addDASH@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ382Ž‘ mÏ\addDASH@\DN@{\expandafter\addtotoks@\expandafter{\PATHanchor@toks}%ŽŽ¡‘ãŒÃ383Ž‘ËÏ\xyFN@\PATHanchor@i}%ŽŽ¡‘ãŒÃ384Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ385Ž‘ mÏ\DNii@##1{\endgroup\afterPLACE{\xyFN@\PATHit@}##1}%ŽŽ¡‘ãŒÃ386Ž‘ mÏ\DN@{\expandafter\nextii@\expandafter{\the\toks@}}%ŽŽ¡‘ãŒÃ387Ž‘ûKÃÏ\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ389Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{<>(.5)}}ŽŽ¡‘ãŒÃ390Ž‘õŒÏ\xylet@\PATHanchor@toks=\nextŽŽ¦‘ãŒÃ392Ž‘õŒÏ\xylet@\PATHitshapes@@=\emptyŽŽ¦‘ãŒÃ394Ž‘õŒÏ\xydef@\PATHit@{\let\PATHitshape@@=\empty‘¿ª\xyFN@\PATHit@i}ŽŽ¦‘ãŒÃ396Ž‘õŒÏ\xydef@\PATHit@i{%ŽŽ¡‘ãŒÃ397Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATHit@i}%ŽŽ¡‘ãŒÃ398Ž‘ûKÃÏ\else–¿ª\ifx“*\next“\DN@*##1##{\PATHlabelit@@{!C##1}}%ŽŽ¡‘ãŒÃ399Ž‘ûKÃÏ\else–¿ª\addAT@\ifx\next“\addAT@\DN@##1##{\PATHlabelit@@{\dir##1}}%ŽŽ¡‘ãŒÃ400Ž‘ûKÃÏ\else–¿ª\ifx“[\next“\DN@[##1]{%ŽŽ¡‘ãŒÃ401Ž‘ mÏ\expandafter\def\expandafter\PATHitshape@@\expandafter{\PATHitshape@@[##1]}%ŽŽ¡‘ãŒÃ402Ž‘ mÏ\xyFN@\PATHit@i}%ŽŽ¡‘ãŒÃ403Ž‘ûKÃÏ\else‘¿ª\DN@{\PATHlabelit@@{}}%ŽŽ¡‘ãŒÃ404Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ôŒ¹The–¦findividual“opšMÞerations“b˜ound“to“Ï\PATHlabelit@@Ž‘Wȹare“discussed“as“appropriate“in“the“notes.Ž¡‘ôŒAfter–¦fthe“last“break“and“labMÞel“wš²!e“t˜ypMÞeset“the“last“piece“of“the“connection.ަ‘ãŒÃ414Ž‘õŒÏ\xydef@\PATHfinishsegments@{%ŽŽ¡‘ãŒÃ415Ž‘ûKÃÏ\ifx\PATHlabelsextra@@\relax‘¿ª\expandafter\PATHfinishsegments@iŽŽ¡‘ãŒÃ416Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ417Ž‘ mÏ\expandafter\PATHlabelsextra@@‘¿ª\fi}ŽŽ¦‘ãŒÃ419Ž‘õŒÏ\xydef@\PATHfinishsegments@i{%ŽŽ¡‘ãŒÃ420Ž‘ûKÃÏ\xy@@{\Clast@@}\the\toks@‘¿ª\toks@={}%ŽŽ¡‘ãŒÃ421Ž‘ûKÃÏ\xy@@\setupDirection@ŽŽ¡‘ãŒÃ422Ž‘ûKÃÏ\PATHpost@@‘¿ª\PATHaction@/\PATHafter@@ŽŽ¡‘ãŒÃ423Ž‘ûKÃÏ\PATHcontinue@@}ŽŽ¦‘ôŒÔBug:›ÝݹThe–¦forder“of“the“breaks“determines“the“order“of“the“subsegmen²!ts.˜This“is“ma²!ybMÞe“a“feature.ŽŸ°n‘ãŒÔNotesŽŸ«ÿ‘㌹3.3a.ŽŽ=An–¦fÇh¹actionÇi“¹can“bšMÞe“either“of“the“c²!haracters“Ï=/Ž‘%º¹.‘ÝÝThe“asso˜ciated“Çh¹stu Çi“¹is“sa•²!v“ed–¦fand“used“to“callޤÀ’—chÏ\PATHactionŽ’ÖŸ¶Çh¹actionÇiŽ’üW2Ï{Ž’ÜÇh¹stu ÇiŽ’§„Ï}ŽŽ¡‘õŒÐb–ÿp¹efor“e‘y¹and–¦fÐafter‘Ô!¹eacš²!h“segmen˜t“(including“all“Çh¹labšMÞelsÇi¹)“for“Ï=“¹and“Ï/¹,“resp˜ectiv²!ely‘ÿe.Ž©ÚK‘õŒThe–ùdefault“Ï\PATHaction“¹macro“just“expands“to“\Ï\POS‘øúÇh¹stu Çi“Ï\relaxŽ‘&w ¹"“th²!us“Çh¹stu Çi“¹should“bMÞe“ofޤ ™š‘õŒthe–Ïâform“Çh¹pšMÞosÇi“h¹decorÇi¹.‘ZRThe“user“can“rede ne“this|in“fact“the“Ï\ar“¹command“describ˜ed“in“Çx¹3.3.2Ž¡‘õŒbšMÞelo²!w–¦fis“little“more“than“a“sp˜ecial“Ï\PATHaction“¹command“and“a“clevš²!er“defaulting“mec˜hanism.ަ‘õŒHere–¦fis“the“default“Ï\PATHaction¹:ŽŸPˆ‘ãŒÃ454Ž‘õŒÏ\xydef@\PATHaction@default#1#2{\xy@{PATHaction#1{#2}}{}\POS#2\relax}ŽŽŽŽŒ‹,áï Á à ý*tj‘㌹300’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ455Ž‘õŒÏ\xylet@\PATHaction=\PATHaction@defaultŽŽŸ÷‘õŒ¹It–¦fis“called“using“Ï\PATHaction@Ž‘LHĹto“expand“the“action“conš²!trol“sequences“bac˜k“to“their“Çh¹stu Çi“¹ rst:Ž©Pˆ‘ãŒÃ462Ž‘õŒÏ\xydef@\PATHaction@#1#2{\expandafter\PATHaction\expandafter#1\expandafter{#2}}ŽŽŸíf‘㌹3.3b.ŽŽ‘©ùIt–ª´is“pšMÞossible“to“include“a“n•²!um“b˜er–ª´of“default“Çh¹lab˜elsÇi“Ðb–ÿp¹efor“e‘}U¹the–ª´Çh¹lab˜elsÇi“¹of“the“actual“Çh¹segmen²!tÇiޤ ™š‘õŒ¹are–iEinš²!terpreted,‘™ýusing“Ï~Ž‘ (ïÇh¹whic˜hÇiÏ{Ž–¿ªÇh¹labšMÞelsÇiÏ}Ž“¹.‘&{The–iEsp˜eci ed“Çh¹whicš²!hÇi“¹determines“for“whic˜h“segmen˜tsŽ¡‘õŒthe–¦findicated“Çh¹labšMÞelsÇi“¹should“b˜e“pre xed“as“follo²!ws:ŽŸ-¼ ’”žŸáÜωff“|¤ …Ìͤ}„ ™™ff–ÌÍŸûëƒÇh¹whic²!hÇi“¡„ ™™ffŽ‘62&¹applied‘¦fto.–Ó3.“.‘ RÉŸ}„ ™™ffŽŽ©zã‰ff“|¡Ìͤ}„ ™™ff– ŸûëƒÏ<“¡„ ™™ffŽ‘62&¹next–¦fsegmen²!t“only‘ÌÍŸ}„ ™™ffŽŽ¤ ™™Ìͤ}„ ™™ff– ŸûëƒÏ>“¡„ ™™ffŽ‘62&¹last–¦fsegmen²!t“only‘ ±€Ÿ}„ ™™ffŽŽ¡Ìͤ}„ ™™ff– ŸûëƒÏ=“¡„ ™™ffŽ‘62&¹ev•²!ery‘¦fsegmen“t‘Š\Ÿ}„ ™™ffŽŽ¦‰ff“|ŽŽŽŸ-¼ ‘õŒ(when–¦fsevš²!eral“apply“to“the“same“segmen˜t“they“are“inserted“in“the“sequence“Ï<>+Ž‘åd¹).ŽŸh ‘õŒThis–8ûis“useful“to“draš²!w“connections“with“a“`cen˜ter“mark˜er'“in“particular“with“arro˜ws,– Ðe¹.Ðg¹.,“theŽ¡‘õŒ`mapsto'–¦fexample“explained“bšMÞelo²!w“can“b˜e“cš²!hanged“in˜to“a“`breakto'“example:‘ÝÝt˜ypingަ‘õŒÏ\xy*+{0}\PATHŽŽ¡‘ûKÃ~={**\dir{-}}ŽŽ¡‘ûKÃ~>{|>*\dir{>}}ŽŽ¡‘ûKÃ~+{|*\dir{/}}ŽŽ¡‘ûKÃ'(10,1)*+{1}–¿ª'(20,-2)*+{2}“(30,0)*+{3}ŽŽ¡‘õŒ\endxyŽŽŸ÷‘õŒ¹will‘¦ft²!ypMÞesetŽŸŽ+’­ú±ïps: SDict begin xyc end‘Ÿïq0ŽŽŽŽ‘sÞŸþ1ŽŽŽŽ‘sÞŸû"ï" {16.9776 1.70226 l}xyŽŽŽ‘ö¼Ÿûûÿï " {2867 st}xyŽŽŽŽ‘;缟 72ŽŽŽŽ‘8缟b ï" {16.9776 -5.10674 l}xyŽŽŽ‘0jšŸþÔaï " {2380 st}xyŽŽŽŽ‘X[šŸïq3ŽŽŽŽ‘U[šŸþŽ<ï" {16.9776 3.39328 l}xyŽŽŽ‘LÞxž@“ï " {2963 st}xyŽŽŽŽ‘U[šŸþŽ<ï" {3277 10 /xy AB}xyŽŽŽŽŽŽŽŽŸßà‘õŒNote,›÷ ho•²!w“ev“er,˜that–æëwhat“gošMÞes“in²!to“Ï~+{Ž‘%é¹.–Ó3.“.“Ï}Ž‘ yȹis–æëÇh¹lab˜elsÇi“¹and“th²!us“not“a“Çh¹p˜osÇi“¹{“it“is“not“an“actionŽ¡‘õŒin–¦fthe“sense“explained“abMÞo•²!v“e.ŽŸ6x‘ãŒ3.3c.ŽŽ‘ÿrSpšMÞecifying‘TÞÏ~{Ž‘Ô2Çh¹stu ÇiÏ}Ž‘ ˆ¹will–TÞset“the“\failure“con•²!tin“uation"–TÞto“Çh¹stu Çi¹.‘éEThis“will“b˜e“inserted“whenŽ¡‘õŒthe–¦flast“Çh¹segmenš²!tÇi“¹is“expMÞected|it“can“ev˜en“replace“it“or“add“more“Çh¹segmen˜tÇi¹s,“Ði¹.Ðe¹.,ަ‘õŒÏ\xy–¿ª*+{0}“\PATH“~={**\dir{-}}ŽŽ¡‘ m~{'(20,-2)*+{2}–¿ª(30,0)*+{3}}“'(10,1)*+{1}ŽŽ¡‘õŒ\endxyŽŽŸ÷‘õŒ¹is–¦fequiv‘ÿdDalen²!t“toަ‘õŒÏ\xy–¿ª*+{0}“\PATH“~={**\dir{-}}ŽŽ¡‘ m'(10,1)*+{1}–¿ª'(20,-2)*+{2}“(30,0)*+{3}ŽŽ¡‘õŒ\endxyŽŽŸ÷‘õŒ¹t²!ypMÞesettingŽŸŽ+’­ú±ïps: SDict begin xyc end‘Ÿïq0ŽŽŽŽ‘sÞŸþ1ŽŽŽŽ‘sÞŸû"ï" {16.9776 1.70226 l}xyŽŽŽ‘;缟 72ŽŽŽŽ‘8缟b ï" {16.9776 -5.10674 l}xyŽŽŽ‘X[šŸïq3ŽŽŽŽ‘U[šŸþŽ<ï" {16.9776 3.39328 l}xyŽŽŽŽŽŽŽŸD$‘õŒbMÞecause–Œøwhen“Ï\endxyŽ‘'—ì¹is“seen“then“the“parser“knoš²!ws“that“the“next“sym˜bMÞol“is“neither“of“the“c˜haractersŽ¡‘õŒÏ~'`Ž‘ Æ>¹and–û'hence“that“the“last“Çh¹segmen²!tÇi“¹is“to“bšMÞe“exp˜ected.‘¤ÈInstead,›gho•²!w“ev“er,˜the–û'failure“con•²!tin“uationŽ¡‘õŒis–¦finserted“and“parsed,“and“the“Çh¹pathÇi“¹is“ nished“b²!y“the“inserted“material.ŽŸh ‘õŒF‘ÿeailure›¦fcon•²!tin“uations˜can˜bMÞe˜nested:ަ‘õŒÏ\xy–¿ª*+{0}“\PATH“~={**\dir{-}}ŽŽŽŽŒ‹-î Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹301ŽŽ ¶?? ýh«w‘ûKÃÏ~{~{(30,0)*+{3}}ŽŽ¤ ™š‘ûKÃ'(20,-2)*+{2}}‘¿ª'(10,1)*+{1}ŽŽ¡‘õŒ\endxyŽŽŸÛ‡‘õŒ¹will–¦falso“t²!ypMÞeset“the“connected“digits.ŽŸ¯˜‘ãŒ3.3d.ŽŽ‘©ùA–¦f\straighš²!t“segmen˜t"“is“in˜terpreted“as“follo˜ws:ŽŸ¯™‘ÿà1.ŽŽŽ‘ £%First–6ìÄp“¹is“set“to“the“end“ob‘›»ject“of“the“previous“segmenš²!t“(for“the“ rst“segmen˜t“this“is“Äc“¹justŽ¡‘ £%bšMÞefore–ßPthe“path“command)“and“Äc“¹is“set“to“the“Çh¹p˜osÇi“¹starting“the“Çh¹segmenš²!tÇi¹,‘íŠand“the“curren˜tŽ¡‘ £%Çh¹slideÇi–¦f¹is“applied.Ž©¤š‘ÿà2.ŽŽŽ‘ £%Then–Ø?the“Ï=Ž› p(¹and“Ï<Ž˜Ðse‘ÿp¹gment‘-Aactions‘¾W¹are“expanded“(in“that“sequence)“and“the“Ï<Ž˜¹action“is“cleared.Ž¡‘ £%The–¦fresulting“Äp“¹and“Äc“¹bMÞecome“the“Ðstart‘°P¹and“Ðend‘ȹob‘›»ject“of“the“segmen²!t.ަ‘ÿà3.ŽŽŽ‘ £%Then–¦fall“Çh¹labšMÞelsÇi“¹(starting“with“the“ones“de ned“as“describ˜ed“in“note“3.3b“b˜elo²!w).ޤ¯˜‘õŒThe–¦fcošMÞde“expanding“the“actions“is“part“of“the“parsing“ab˜o•²!v“e.Ž¡‘ãŒ3.3e.ŽŽ‘ÿrA‘¤Ðse›ÿp¹gment‘®C¹is–¤Ya“part“of“a“Çh¹pathÇi“¹bMÞet•²!w“een–¤Ya“previous“and“a“new“Ðtar˜get‘®C¹giv²!en“as“a“Çh¹path-pMÞosÇi¹:ޤ ™š‘õŒnormally–éthis“is“just“a“Çh¹pšMÞosÇi“¹as“describ˜ed“in“Çx¹1.3“but“it“can“b˜e“cš²!hanged“to“something“else“b˜yŽ¡‘õŒcš²!hanging–¦fthe“con˜trol“sequence“Ï\PATHafterPOS“¹to“bMÞe“something“other“than“Ï\afterPOS¹.ŽŸPˆ‘ãŒÃ589Ž‘õŒÏ\xylet@\PATHafterPOS@default=\afterPOSŽŽ¡‘ãŒÃ590Ž‘õŒÏ\xylet@\PATHafterPOS=\PATHafterPOS@defaultŽŽŸf†‘㌹3.3f.ŽŽ‘ýí,A‘¬äÐturning‘¥(¹segmenš²!t–­'is“one“that“doMÞes“not“go“all“the“w˜a˜y“to“the“giv˜en“Çh¹pMÞosÇi“¹but“only“as“far“asŽ¡‘õŒrequired–{Õto“makš²!e“a“turn“to˜w˜ards“it.‘Ï­The“Äc“¹is“set“to“the“actual“turn“ob‘›»ject“after“a“turning“segmen˜tŽ¡‘õŒsucš²!h–×gthat“subsequen˜t“turning“or“other“segmen˜ts“will“start“from“there,‘Íin“particular“the“last“segmen˜tŽ¡‘õŒ(whicš²!h–¦fis“alw˜a˜ys“straigh˜t)“can“bMÞe“used“to“ nish“a“winding“line.ŽŸ$™‘õŒWhat–¦fthe“turn“loMÞoks“likš²!e“is“determined“b˜y“the“Çh¹turnÇi“¹form:ŽŸ¯™‘õŒÇh¹empt²!yÇiŽŽ‘!ßQ¹Nothing›g«bMÞet•²!w“een˜the˜Ï`˜¹and˜the˜Çh¹pMÞosÇi˜¹is˜in“terpreted˜the˜same˜as˜giving˜just˜the˜Çh¹diagÇiŽ¡‘ £%¹last–¦fused“Ðout‘°P¹of“a“turn.ަ‘õŒÇh¹diagÇiŽŽ‘#”¹SpšMÞecifying–sÙa“single“Çh¹diagÇi“Äd“¹is“the“same“as“sp˜ecifying“either“of“the“Çh¹cirÇi¹cles“ÄdÏ^“¹or“ÄdÏ_¹,Ž¡‘ £%depšMÞending–Áaon“whether“the“sp˜eci ed“Çh¹p˜osÇi“¹has“its“cen²!ter“`ab˜o•²!v“e'–Áaor“`b˜elo²!w'“the“line“from“Äp“¹inŽ¡‘ £%the–¦fÇh¹diagÇi¹onal“direction.ަ‘õŒÇh¹cirÇiŽŽ‘BÔ¹When–cÓa“full“explicit“Çh¹cirÇi¹cle“is“aš²!v‘ÿdDailable“then“the“correspMÞonding“Çh¹cirÇi¹cle“ob‘›»ject“is“placed“suc˜hŽ¡‘ £%that–ļits“ingoing“direction“is“a“con•²!tin“uation–ļof“a“straigh²!t“connection“from“Äp“¹and“the“outgoingŽ¡‘ £%direction–b(pMÞoinš²!ts“suc˜h“that“a“follo˜wing“straigh˜t“(or“last)“segmen˜t“will“connect“it“to“Äc“¹(with“theŽ¡‘ £%same‘¦fslide).ŽŸ¯˜‘õŒHere–¦fis“an“example“using“all“forms“of“Çh¹turnÇi¹s:ŽŸª’ƒEPïps: SDict begin xyc endŸ5…‘)»òbaseŽŽŽŽŽŽŽŽŽŸ1%òÄAŽŽŽŽ‘3Ÿh°ï" {10.0 90 180 o}xyŽŽŽŽ‘3Ÿýh°ï" {-24.62791 -0.00195 l}xyŽŽŽ‘3Ÿýh°ï" {-1024 10 /xy AB}xyŽŽŽŽ‘ÙLŸÚ7ÅaŽŽŽŽŽŽŽŽ‘_­ÁŸ1%òÄBŽŽŽŽ‘óŸ#h0ï" {10.0 -180 -90 o}xyŽŽŽŽŸýh0‘óŸ&ï" {-0.00098 -27.99805 l}xyŽŽŽ‘óŸ#h0ï" {1024 10 /xy AB}xyŽŽŽŽ‘Ÿ/ÅbŽŽŽŽŽŽŽŽ‘_Í2Ÿ%òÄCŽŽŽŽ’¬?öŸ7hï" {10.0 -135 90 o}xyŽŽŽŽ’¬?öŸ-hï" {158.14458 -0.00145 l}xyŽŽŽ’¬?öŸ-hï" {3072 10 /xy AB}xyŽŽŽŽ‘[V8Ÿ*h_ÅcŽŽŽŽŽŽŽŽ‘_ö³Ÿh0ï" {10.0 45 90 o}xyŽŽŽŽ‘gåžUþï" {-62.14403 62.1436 l}xyŽŽŽ‘gåžUþï" {-2048 10 /xy AB}xyŽŽŽŽ‘~»­Ÿ'ö™dŽŽŽŽŽŽŽŽ‘AzuŸýh0ï" {-30.48532 0.0 l}xyŽŽŽ‘AzuŸýh0ï" {-1024 10 /xy AB}xyŽŽŽŽ‘H;ŸÙ÷eŽŽŽŽŽŽŽŽŽŽŽŽŸR%ê‘õŒ¹w•²!as›¦ft“ypMÞeset˜b“yŽŸPˆ‘õŒÏ\xy‘¿ª<4pc,0pc>:(0,0)ŽŽ¡‘ûKÃ*+\txt{base}="base"ŽŽŽŽŒ‹.ûñ Á à ý*tj‘㌹302’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ûKÃÏ\PATH‘¿ª~={**\dir{-}?>*\dir{>}}ŽŽ¤ ™š‘É¿`l‘>þ(-1,-1)*{A}‘¿ª^aŽŽ¡‘É¿`‘¾R(1,-1)*{B}‘¿ª^bŽŽ¡‘É¿`_ul‘ T(1,–¿ª0)*{C}“^cŽŽ¡‘É¿`ul^l‘¿ª"base"‘¾R^dŽŽ¡‘@G»"base"‘¾R^eŽŽ¡‘õŒ\endxyŽŽŸ—ý‘õŒÔBug:‘ÝݹT‘ÿeurns–¦fare“only“really“resonable“for“paths“that“use“straighš²!t“lines“lik˜e“the“one“abMÞo˜v˜e.Ž©á‘õŒÔNote:‘¿¹Alw•²!a“ys–h±write“a“v‘ÿdDalid“Çh¹pMÞosÇi“¹after“a“Çh¹turnÇi¹,‘u otherwise“anš²!y“follo˜wing“Ï^“¹or“Ï_“¹labMÞels“can“confuseŽ¡‘õŒthe–parser.‘ ESo“if“yš²!ou“in˜tend“the“Ï^rŽ‘»¹in“Ï`^rŽ‘{:¹to“bšMÞe“a“lab˜el“then“write“Ï`,^rŽ‘ƹ,‘| using“a“dumm²!y“Ï,Ž¡‘õŒÇh¹pMÞosÇi¹ition.ަ‘õŒW‘ÿee–¦fneed“to“kš²!eep“trac˜k“of“the“curren˜t“Ðin‘}q¹and“Ðout‘°PÇh¹diagÇi“¹directions“as“w˜ell“as“the“curren˜t“radius.ޤPˆ‘ãŒÃ661Ž‘õŒÏ\xydef@\PATHlastout@@{3}ŽŽ©—ý‘õŒ¹The–¦fstartup“routine“is“just“a“selection“of“the“t•²!w“o–¦fkinds“of“Çh¹turnÇi¹:Ž¡‘ãŒÃ667Ž‘õŒÏ\xydef@\PATHturn@{\afterCIRorDIAG\PATHturn@cir\PATHturn@diag}ŽŽ¦‘õŒ¹In–È‘bšMÞoth“cases“the“tric²!k“is“to“set“up“a“Ï\PATHinit@@Ž‘FÍp¹metho˜d“that“t²!yp˜esets“the“righš²!t“circle“segmen˜tޤ ™š‘õŒat–Ýõthe“righš²!t“loMÞcation.‘„ŠThe“simplest“one“is“when“there“is“a“full“Çh¹cirÇi“¹a˜v‘ÿdDailable“bMÞecause“that“shouldŽ¡‘õŒjust–¦fbMÞe“used“directly‘ÿe.‘ÝÝThe“only“complication“is“that“w²!e“forbid“180Ÿü¾ÈŽ‘fj¹turns:ŽŸPˆ‘ãŒÃ677Ž‘õŒÏ\xydef@\PATHturn@cir{\toks@={\xy@@{%ŽŽ¡‘ãŒÃ678Ž‘ mÏ\count@=\CIRin@@‘¿ª\ifnum\count@<4\else\advance\count@-4\fiŽŽ¡‘ãŒÃ679Ž‘ mÏ\count@@=\CIRout@@‘¿ª\ifnum\count@@<4\else\advance\count@@-4\fiŽŽ¡‘ãŒÃ680Ž‘ mÏ\ifnum\count@=\count@@–¿ª\xyerror@{“cannot“be“half“or“full}{%ŽŽ¡‘ãŒÃ681Ž‘õŒÏYou–¿ªasked“for“a“ed“segment“with“parallel“in-“and“out-direction.^^J%ŽŽ¡‘ãŒÃ682Ž‘õŒÏThis–¿ªis“not“allowed“because“it“is“not“possible“to“position“it“uniquely.}\fi}}%ŽŽ¡‘ãŒÃ683Ž‘ûKÃÏ\edef\next@{{\CIRin@@}{\expandafter\noexpand\CIRorient@@}{\CIRout@@}}%ŽŽ¡‘ãŒÃ684Ž‘ûKÃÏ\expandafter\PATHturn@i\next@}ŽŽ¦‘õŒÐPr–ÿp¹o“c“e“dur“e–:ëfor“Çh¹diagÇi“Ðturns‘æ¹:‘‹ÊBuilds–ý]initial“part“of“Ï\PATHinit@@Ž‘G7¹that“computes“the“missing“ÐorientŽ¡‘õŒ¹and–±¨Ðout‘»’¹from“Ðin‘ˆ³¹and“the“Äc“¹passed“through“the“segmenš²!t.‘ÿ¤This“initial“segmen˜t“should“set“Ðorient‘»’¹asŽ¡‘õŒfollo²!ws:ŽŸ7¬Ö’ž©»ïps: SDict begin xyc end‘$S@ŸóÓnÈŽŽŽŽŽŽ‘& Ÿù½ÄpŽŽŽŽ‘rò–ŸÏáôï" {102.42987 45.52435 l}xyŽŽŽ‘0žd :ŽŽŽŽ‘¿˜Ÿ—ë:ŽŽŽŽŸËË:ŽŽŽŽŽŽŽŽŽŽ‘víFŸÎ þ:ŽŽŽŽ‘y¬ÞŸÌÚ:ŽŽŽŽ‘|lvŸË¦>:ŽŽŽŽŽŽŽŽŽŽ‘E¨7Ÿãûiï" {3527 10 /xy AB}xyŽŽŽŽ‘E6CŸágÏ^ŽŽŽŽŽ‘HýíŸåãó_ŽŽŽŽŽŽŽŽŽŸv§‘õŒÐi¹.Ðe¹.,–¦fas“the“sign“of“the“inner“proMÞduct‘1½Ä~Ž“pcŽŽ‘TÈÇŸý‰Ô‘ßx¹^ŽŸv,‘nìÐinŽŽ‘ Éž¹,“and“set“Ðout‘°P¹as“for“the“Çh¹cirÇi¹cle“Ðin‘}qorient‘ ê¹.ŽŸPˆ‘ãŒÃ704Ž‘õŒÏ\xydef@\PATHturn@diag{\toks@={\xy@@{%ŽŽ¡‘ãŒÃ705Ž‘ËÏ\setupDirection@–¿ª\count@=\CIRin@@“\dimen@=\xydashl@“\ABfromdiag@ŽŽ¡‘ãŒÃ706Ž‘ËÏ\ifdim–¿ª\sinDirection\A@>\cosDirection\B@“\def\CIRorient@@{\CIRacw@}%ŽŽ¡‘ãŒÃ707Ž‘ ŠÁÏ\advance\count@\ifnum\count@<6–¿ª\tw@“\else“-6\fiŽŽ¡‘ãŒÃ708Ž‘ËÏ\else‘¿ª\def\CIRorient@@{\CIRcw@}%ŽŽ¡‘ãŒÃ709Ž‘ ŠÁÏ\advance\count@\ifnum\count@>\@ne–¿ª-\tw@“\else“6\fiŽŽ¡‘ãŒÃ710Ž‘ËÏ\fiŽŽ¡‘ãŒÃ711Ž‘ËÏ\edef\CIRout@@{\the\count@}}}%ŽŽ¡‘ãŒÃ712Ž‘ûKÃÏ\edef\next@{{\CIRin@@}{}{}}%ŽŽ¡‘ãŒÃ713Ž‘ûKÃÏ\expandafter\PATHturn@i\next@}ŽŽŽŽŒ‹/ { Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹303ŽŽ ¶?? ýh«w‘õŒÏ\PATHturn@iŽ‘8n͹is–¦fwhere“Ï\PATHinit@@Ž‘F‰¹is“de ned“to“do“the“follo²!wing:ŽŸ8œ‘øjPÃl.775ŽŽŽŽ‘ £%¹Setup–ãsthe“default“Ðin‘× ¹,–2¶Ðorient‘ ê¹,“and–ãsÐout‘í]¹as“de ned“bš²!y“the“call“from“the“abMÞo˜v˜e“macros.‘•Setޤ ™š‘ £%Ðr›ÿp¹adius‘ ÿ¹parameter–'çto“the“curren²!t“Ðturnr˜adius‘ ÿ¹v‘ÿdDalue.‘b_The“commands“in“Ï\toks@Ž‘*Íʹare“run“to“doŽ¡‘ £%an•²!y›¦flast-min“ute˜ xing˜of˜the˜defaults.Ž©8œ‘øjPÃl.779ŽŽŽŽ‘ £%¹The–¸$segmenš²!t“will“lea˜v˜e“Äp“¹in“direction“Ðin‘/¹and“pretend“to“bMÞe“meeting“Äc“¹in“direction“Ðout‘ ê¹.‘Th˜usŽ¡‘ £%the–Åcen²!ter“of“the“Çh¹cirÇi¹cle“ob››»ject“to“bMÞe“used“for“the“actual“Çh¹turnÇi“¹ob˜ject“is“loMÞcated“at“theŽ¡‘ £%in²!tersection–ŸŒof“the“line“through“Äp•a:¹+“Ðr‘ÿp¹adiusŽŽ‘¨z¹^Ž‘=¼ÄvŸ¤záinŽŽŽ‘.Êâ¹in–ŸŒdirection‘2³Ä~Ž“vŸ¤záinŽŽŽ‘,²¹and“the“line“through“Äc•a:¹+“Ðr‘ÿp¹adiusŽŽ‘¨z¹^Ž‘=¼ÄvŸ¤záoutŽŽŽŽ¡‘ £%¹in–çdirection‘z¶Ä~Ž“vŸ¤záoutŽŽŽ‘PN¹.‘¡YHere“w²!e“compute“Äp–š]¹+“ÄR‘€f¹^ލÄvŸ¤záinŽŽŽ‘êѹusing–çÄR‘Œé¹=‘wAÐr‘ÿp¹adiusŽŽ‘%;R¹if“this“is“the“initial“turn“andŽ¡‘ £%ÄR‘ O¹=‘ §Ðr‘ÿp¹adiusŽŽ‘#VÇ‘nìÐslideŽŽ‘,Y¹if–¦fit“is“a“con•²!tin“uation‘¦fturn.ަ‘øjPÃl.782ŽŽŽŽ‘ £%¹Sa•²!v“e–¦fÄp“¹and“Ðb‘ÿp¹ase‘y¹for“later.ަ‘øjPÃl.785ŽŽŽŽ‘ £%¹Compute›6ÞÄc–ܹ+“Ðr‘ÿp¹adiusŽŽ‘×¹^Ž‘l^ÄvŸ¤záoutŽŽŽ‘5 û¹and˜use˜the˜k•²!ernel˜Ï\intersect@Ž‘Eª ¹primitiv“e˜to˜compute˜the˜turn˜circleŽ¡‘ £%segmen•²!t‘¦fcen“ter.ަ‘øjPÃl.793ŽŽŽŽ‘ £%¹Ho•²!w“ev“er,‘ޱif–ˆÃthe“inš²!tersection“pMÞoin˜t“lies“on“the“`wrong“side'“of“Äp¹,–ޱÐi¹.Ðe¹.,“if‘Ä~Ž‘ˆÃpcŽŽ‘ûßÇ‘3¦ÐinŽŽ‘¹is‘ˆÃnegativ˜e,“thenŽ¡‘ £%wš²!e–Kshould“not“use“the“in˜tersection“pMÞoin˜t“but“the“pMÞoin˜t“as“close“to“Äp“¹as“pšMÞossible“b˜ecause“theŽ¡‘ £%connection–œ5from“Äp“¹to“the“turn“should“at“least“ha•²!v“e–œ5zero“length|in“fact“wš²!e“set“it“to“ha˜v˜e“8spŽ¡‘ £%length–¦fto“makš²!e“sure“that“a“sugsegmen˜t“is“t˜ypMÞeset!ަ‘øjPÃl.806ŽŽŽŽ‘ £%¹MoMÞdify–rÐr‘ÿp¹adius‘芹to“use“for“the“actual“circle“segmenš²!t“b˜y“the“Ðslide‘Ò¡¹:‘‹ãeither“pMÞositiv˜ely“(for“Ðorient‘ \Ï_¹)Ž¡‘ £%or–¢†negativš²!ely“(for“Ðorient‘¬pÏ^¹),‘£Land“drop“the“circle“segmen˜t“(b˜ypassing“Ï\cirŽ‘C´¹to“use“the“in˜ternalŽ¡‘ £%settings–¦ffrom“abMÞo•²!v“e).ަ‘øjPÃl.809ŽŽŽŽ‘ £%¹Store–Din“Ï\PATHpostpos@@Ž‘X‰Ô¹the“true“end“of“the“circle“segmenš²!t“and“coMÞde“to“prev˜en˜t“the“appli-Ž¡‘ £%cation–¦fof“the“Ðslide‘y¹for“the“start“of“the“next“Çh¹segmen²!tÇi¹.ަ‘øjPÃl.815ŽŽŽŽ‘ £%¹Mo•²!v“e–¦fÄc“¹to“true“bMÞeginning“of“the“circle“segmen²!t.ަ‘øjPÃl.818ŽŽŽŽ‘ £%¹Restore›¦fsa•²!v“ed˜Äp˜¹and˜Ðb‘ÿp¹ase‘Ò¡¹,˜and˜slide˜Äp˜¹ nally‘ÿe.ŽŸ  ‘ãŒÃ771Ž‘õŒÏ\xylet@\PATHpostpos@@=\emptyŽŽŸPˆ‘ãŒÃ773Ž‘õŒÏ\xydef@\PATHturn@i#1#2#3{%ŽŽ¡‘ãŒÃ774Ž‘ûKÃÏ\DN@##1{\def\PATHinit@@{\xy@@{%ŽŽ¡‘ãŒÃ775Ž‘ ŠÁÏ\def\CIRin@@{#1}\def\CIRorient@@{#2}\def\CIRout@@{#3}ŽŽ¡‘ãŒÃ776Ž‘ ŠÁÏ\ifnum\CIRin@@=8–¿ª\let\CIRin@@=\PATHlastout@@“\fiŽŽ¡‘ãŒÃ777Ž‘ ŠÁÏ\R@=\turnradius@ŽŽ¡‘ãŒÃ778Ž‘ ŠÁÏ##1\relax}%ŽŽ¡‘ãŒÃ779Ž‘ËÏ\xy@@{\count@=\CIRin@@ŽŽ¡‘ãŒÃ780Ž‘ ŠÁÏ\ifPATHomitslide@@‘¿ª\dimen@=-\PATHslide@@ŽŽ¡‘ãŒÃ781Ž‘JkÏ\ABfromdiag@–¿ª\advance\X@p-\B@“\advance\Y@p\A@“\fiŽŽ¡‘ãŒÃ782Ž‘ ŠÁÏ\enter@{\pfromthep@‘¿ª\basefromthebase@}}ŽŽ¡‘ãŒÃ783Ž‘ËÏ\xy@@{\dimen@=\expandafter\ifx\CIRorient@@\CIRcw@-\fi\R@ŽŽ¡‘ãŒÃ784Ž‘ ŠÁÏ\ABfromdiag@–¿ª\advance\X@p-\B@“\advance\Y@p\A@ŽŽ¡‘ãŒÃ785Ž‘ ŠÁÏ\X@origin=\X@p‘¿ª\Y@origin=\Y@p}ŽŽ¡‘ãŒÃ786Ž‘ËÏ\xy@@{\dimen@=\xydashl@–¿ª\ABfromdiag@“\R@c=\A@“\U@c=\B@ŽŽ¡‘ãŒÃ787Ž‘ ŠÁÏ\count@=\CIRout@@ŽŽ¡‘ãŒÃ788Ž‘ ŠÁÏ\dimen@=\expandafter\ifx\CIRorient@@\CIRcw@-\fi\R@ŽŽ¡‘ãŒÃ789Ž‘ ŠÁÏ\ABfromdiag@–¿ª\advance\X@c-\B@“\advance\Y@c\A@ŽŽ¡‘ãŒÃ790Ž‘ ŠÁÏ\dimen@=\xydashl@–¿ª\X@p=\X@c“\Y@p=\Y@cŽŽ¡‘ãŒÃ791Ž‘ ŠÁÏ\ABfromdiag@–¿ª\advance\X@p-\A@“\advance\Y@p-\B@ŽŽ¡‘ãŒÃ792Ž‘ ŠÁÏ\intersect@ŽŽ¡‘ãŒÃ793Ž‘ ŠÁÏ\count@=\CIRin@@–¿ª\dimen@=\p@“\ABfromdiag@}ŽŽ¡‘ãŒÃ794Ž‘ËÏ\xy@@{\edef\next@{\expandafter\removePT@\the\A@}%ŽŽŽŽŒ‹02 Á à ý*tj‘㌹304’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ795Ž‘ ŠÁÏ\edef\nextii@{\expandafter\removePT@\the\B@}%ŽŽ¤ ™š‘ãŒÃ796Ž‘ ŠÁÏ\A@=\X@c–¿ª\advance\A@-\X@origin“\B@=\Y@c“\advance\B@-\Y@originŽŽ¡‘ãŒÃ797Ž‘ ŠÁÏ\ifdim‘¿ª\next@\A@<-\nextii@\B@ŽŽ¡‘ãŒÃ798Ž‘JkÏ\dontleave@‘¿ª\cfromp@ŽŽ¡‘ãŒÃ799Ž‘JkÏ\count@=\CIRin@@–¿ª\advance\count@\ifnum\count@<4“+4\else“-4\fiŽŽ¡‘ãŒÃ800Ž‘JkÏ\dimen@=\xydashl@‘¿ª\Directionfromdiag@ŽŽ¡‘ãŒÃ801Ž‘JkÏ\the\Edge@c\z@ŽŽ¡‘ãŒÃ802Ž‘JkÏ\count@=\CIRin@@‘¿ª\dimen@=\expandafter\ifx\CIRorient@@\CIRcw@-\fi\R@ŽŽ¡‘ãŒÃ803Ž‘JkÏ\ABfromdiag@–¿ª\advance\X@c-\B@“\advance\Y@c\A@ŽŽ¡‘ãŒÃ804Ž‘JkÏ\dimen@=5sp–¿ª\ABfromdiag@“\advance\X@c\A@“\advance\Y@c\B@ŽŽ¡‘ãŒÃ805Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ806Ž‘ ŠÁÏ\dimen@ii=\expandafter\ifx\CIRorient@@\CIRacw@-\fi\PATHslide@@ŽŽ¡‘ãŒÃ807Ž‘ ŠÁÏ\advance\R@\dimen@iiŽŽ¡‘ãŒÃ808Ž‘ ŠÁÏ\drop@\literal@{\hbox\bgroup\cir@i}}%ŽŽ¡‘ãŒÃ809Ž‘ËÏ\xy@@{\X@p=\X@c‘¿ª\Y@p=\Y@cŽŽ¡‘ãŒÃ810Ž‘ ŠÁÏ\count@=\CIRout@@ŽŽ¡‘ãŒÃ811Ž‘ ŠÁÏ\dimen@=\expandafter\ifx\CIRorient@@\CIRacw@-\fi\R@cŽŽ¡‘ãŒÃ812Ž‘ ŠÁÏ\ABfromdiag@–¿ª\advance\X@p-\B@“\advance\Y@p\A@ŽŽ¡‘ãŒÃ813Ž‘ ŠÁÏ\edef\PATHpostpos@@{\X@c=\the\X@p–¿ª\Y@c=\the\Y@p“\noexpand\czeroEdge@ŽŽ¡‘ãŒÃ814Ž‘JkÏ\noexpand\PATHomitslide@@true}}%ŽŽ¡‘ãŒÃ815Ž‘ËÏ\xy@@{\count@=\CIRin@@ŽŽ¡‘ãŒÃ816Ž‘ ŠÁÏ\dimen@=\expandafter\ifx\CIRorient@@\CIRacw@-\fi\R@cŽŽ¡‘ãŒÃ817Ž‘ ŠÁÏ\ABfromdiag@–¿ª\advance\X@c-\B@“\advance\Y@c\A@“\czeroEdge@}%ŽŽ¡‘ãŒÃ818Ž‘ËÏ\xy@@{\leave@ŽŽ¡‘ãŒÃ819Ž‘ ŠÁÏ\count@=\CIRin@@‘¿ª\dimen@=\PATHslide@@ŽŽ¡‘ãŒÃ820Ž‘ ŠÁÏ\ABfromdiag@–¿ª\advance\X@p-\B@“\advance\Y@p\A@ŽŽ¡‘ãŒÃ821Ž‘ ŠÁÏ\edef\PATHlastout@@{\CIRout@@}%ŽŽ¡‘ãŒÃ822Ž‘ ŠÁÏ\count@=\CIRout@@–¿ª\dimen@=\xydashl@“\Directionfromdiag@}}}%ŽŽ¡‘ãŒÃ823Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}\toks@={}%ŽŽ¡‘ãŒÃ824Ž‘ûKÃÏ\let\PATHextra@@=\emptyŽŽ¡‘ãŒÃ825Ž‘ûKÃÏ\def\PATHpost@@{\xy@@\PATHpostpos@@}%ŽŽ¡‘ãŒÃ826Ž‘ûKÃÏ\let\PATHlabelsextra@@=\relaxŽŽ¡‘ãŒÃ827Ž‘ûKÃÏ\xyFN@\PATHturn@ii}ŽŽ©À‘õŒ¹The–—Ï nal“macro“takš²!es“care“of“the“v2.6“format“for“c˜hanging“Ðturnr‘ÿp¹adius‘æ¹:‘Ö’using“Ï/Çh¹dimenÇi“¹righ˜t“afterŽ¡‘õŒthe‘¦fÇh¹turnÇi¹.ŽŸPˆ‘ãŒÃ834Ž‘õŒÏ\xydef@\PATHturn@ii{%ŽŽ¡‘ãŒÃ835Ž‘ûKÃÏ\ifx‘¿ª/\nextŽŽ¡‘ãŒÃ836Ž‘ mÏ\DN@‘¿ª/{\afterassignment\nextii@\dimen@=}%ŽŽ¡‘ãŒÃ837Ž‘ mÏ\DNii@{%ŽŽ¡‘ãŒÃ838Ž‘ËÏ\edef\next@{\noexpand\xy@@{\edef\noexpand\turnradius@{\the\dimen@}}}\next@ŽŽ¡‘ãŒÃ839Ž‘ËÏ\xy@@\pfromc@‘¿ª\PATHafterPOS{\xyFN@\PATHsegment@}}%ŽŽ¡‘ãŒÃ840Ž‘ûKÃÏ\else–¿ª\DN@{\xy@@\pfromc@“\PATHafterPOS{\xyFN@\PATHsegment@}}\fiŽŽ¡‘ãŒÃ841Ž‘ûKÃÏ\next@}ŽŽ¦‘õŒ¹This–ÆŸjust“stores“a“Çh¹diagÇi“¹vš²!ector“of“the“spMÞeci ed“lengh˜t“in“Ï<Ž‘†IÄAÏ,Ž‘¿ªÄB‘Œ¤Ï>Ž‘ í¹th˜us“acting“as“an“optimised“v˜ersionŽ¡‘õŒof‘¦fÏ\Directionfromdiag@Ž‘pà¹:ŽŸPˆ‘ãŒÃ849Ž‘õŒÏ\xydef@\ABfromdiag@{\ifcase\count@\relaxŽŽ¡‘ãŒÃ850Ž‘JkÏ\A@=-.7071\dimen@–¿ª\B@=-.7071\dimen@“\or“\A@=\z@‘"}ü\B@=-\dimen@ŽŽŽŽŒ‹1)r Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹305ŽŽ ¶?? ýh«w‘ãŒÃ851Ž‘ûKÃÏ\or–¿ª\A@=+.7071\dimen@“\B@=-.7071\dimen@“\or“\A@=\dimen@‘ T\B@=\z@ŽŽ¤ ™š‘ãŒÃ852Ž‘ûKÃÏ\or–¿ª\A@=+.7071\dimen@“\B@=+.7071\dimen@“\or“\A@=\z@‘"}ü\B@=+\dimen@ŽŽ¡‘ãŒÃ853Ž‘ûKÃÏ\or–¿ª\A@=-.7071\dimen@“\B@=+.7071\dimen@“\or“\A@=-\dimen@“\B@=\z@ŽŽ¡‘ãŒÃ854Ž‘ûKÃÏ\else\xybug@{impossible‘¿ª?}\fi}ŽŽŸ™Ö‘õŒ¹The–¦fdefault“used“for“Ðturnr‘ÿp¹adius‘Œ~¹can“bšMÞe“set“b²!y“the“op˜erationŽŸ ?J‘õŒ„ffѲdŽŸ Nj’ÖeÏ\turnradius–¦fÇh¹add“opÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽŸD1‘õŒ„ffѲdŽŸR}‘õŒ¹that–¦fwš²!orks“lik˜e“the“k˜ernel“Ï\objectmargin“¹etc.‘ÝÝcommands;“it“defaults“to“10pt.ޤPˆ‘ãŒÃ870Ž‘õŒÏ\xydef@\turnradius@{10pt}ŽŽ¡‘ãŒÃ872Ž‘õŒÏ\xydef@\turnradius{\afterADDOP{\Addop@@\turnradius@}}ŽŽŸ%¸È‘õŒÔExercise‘23.1:‘ ó5¹T²!ypMÞesetŽŸ¸á’ÍSïps: SDict begin xyc end‘ 1Ÿ%òÄAŽŽŽŽ‘$dŸýh0ï" {10.0 0 360 o}xyŽŽŽŽŽ‘ Ÿýh0ï" {10.0 45 315 o}xyŽŽŽŽ‘2Ÿzbï" {3686 10 /xy AB}xyŽŽŽŽŽŽŽŽŸz‘õŒ¹using‘¦fÇh¹turnÇi¹s.ޤ,6‘ãŒ3.3g.ŽŽ=The–´¶last“segmenš²!t“is“exactly“as“a“straigh˜t“one“except“that“the“Ï>“¹action“(if“an˜y)“is“executed“(andŽ© ™š‘õŒcleared)–¦fjust“after“the“Ï<“¹action.ŽŸâè‘õŒ(The–¦fcoMÞde“implemen²!ting“this“is“merged“with“the“parsing.)Ž¡‘ãŒ3.3h.ŽŽ‘©ù\Sliding"–g­a“segmenš²!t“means“mo˜ving“eac˜h“of“the“Äp;‘Ó1c“¹ob‘›»jects“in“the“direction“p•MÞerp“endicular–g­to“theަ‘õŒcurrenš²!t–¦fdirection“at“eac˜h.ŽŸâè‘õŒ(The–é‘coMÞde“implemenš²!ting“this“is“merged“with“the“parsing,‘Uusing“the“Ï\PATHslide@@Ž‘JϹcon˜trol“sequenceަ‘õŒto–¦fhold“the“curren²!t“slide.)Ž¡‘ãŒ3.3i.ŽŽ‘ýŸNLabšMÞelling–Ñwmeans“that“Çh¹itÇi“¹is“dropp˜ed“relativš²!e“to“the“curren˜t“segmen˜t“using“a“Ï?–_Çh¹pMÞosÇi¹ition.“Thisަ‘õŒth²!us–ŽbdepšMÞends“on“the“user“setting“up“a“connection“with“a“Ï**“Çh¹p˜osÇi“¹as“one“of“the“actions|t²!ypicallyަ‘õŒthe–u~Ï=“¹action“is“used“for“this“(see“note“3.3d“for“the“details).‘ÍThe“only“di erence“bMÞet•²!w“een–u~Ï^“¹and“Ï_“¹isަ‘õŒthat–­_they“shift“the“labšMÞel“in“the“Ï^“¹resp˜ectivš²!ely“Ï_“¹direction;‘°Üfor“straigh˜t“segmen˜ts“it“is“placed“in“theަ‘õŒ\supšMÞerscript"–¦for“\subscript"“p˜osition.ŽŸâè‘õŒThe–¹opšMÞerations“used“b²!y“Ï\PATHlabels@Ž‘Lýj¹to“put“lab˜els“ab˜o•²!v“e–¹and“b˜elo²!w“(with“Ï^“¹and“Ï_¹)“are“trivial,ަ‘õŒtaking›át•²!w“o˜argumen“ts˜and˜placing˜the˜labMÞel˜immediately;‘Оfor˜con“v“enience˜the˜Ï\dropŽ‘&î¹head˜areަ‘õŒnamed–¦fseparately“sucš²!h“that“they“ma˜y“bMÞe“rede ned:ޤPˆ‘ãŒÃ935Ž‘õŒÏ\xydef@\PATHlabelabove@#1#2{\droplabel@\belowDirection@{#1}{#2}%ŽŽ¦‘ãŒÃ936Ž‘ûKÃÏ\let\afteraliases@@=\empty‘¿ª\xyFN@\PATHlabelalias@}ŽŽ¡‘ãŒÃ938Ž‘õŒÏ\xydef@\PATHlabelbelow@#1#2{\droplabel@\aboveDirection@{#1}{#2}%ŽŽ¦‘ãŒÃ939Ž‘ûKÃÏ\let\afteraliases@@=\empty‘¿ª\xyFN@\PATHlabelalias@}ŽŽ¡‘ãŒÃ941Ž‘õŒÏ\xylet@\PATHlabelabove@@=\PATHlabelabove@ŽŽ¦‘ãŒÃ942Ž‘õŒÏ\xylet@\PATHlabelbelow@@=\PATHlabelbelow@ŽŽ¡‘ãŒÃ944Ž‘õŒÏ\xydef@\droplabel@#1#2#3{\xy@@{\enter@\DirectionfromtheDirection@}%ŽŽ¦‘ãŒÃ945Ž‘ûKÃÏ\DN@{#2}\ifx\next@\emptyŽŽ¦‘ãŒÃ946Ž‘ mÏ\expandafter\xy@@ix@\expandafter{\PATHitshape@@\labelbox{#3}}%ŽŽ¦‘ãŒÃ947Ž‘ûKÃÏ\else‘¿ª\expandafter\xy@@ix@\expandafter{\PATHitshape@@#2{#3}}\fiŽŽ¦‘ãŒÃ948Ž‘ûKÃÏ\xy@@{\setbox\z@=\expandafter\object\the\toks9‘¿ª%ŽŽ¦‘ãŒÃ949Ž‘ mÏ\advance\L@c\labelmargin@‘¿ª\advance\R@c\labelmargin@ŽŽ¦‘ãŒÃ950Ž‘ mÏ\advance\D@c\labelmargin@‘¿ª\advance\U@c\labelmargin@ŽŽŽŽŒ‹25Y Á à ý*tj‘㌹306’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ951Ž‘ mÏ\setboxz@h{\kern\labelmargin@\boxz@\kern\labelmargin@}%ŽŽ¤ ™š‘ãŒÃ952Ž‘ mÏ\A@=\X@c–¿ª\B@=\Y@c“#1\xydashl@“\the\Edge@c\thr@@ŽŽ¡‘ãŒÃ953Ž‘ mÏ\advance\A@-\X@c–¿ª\advance\B@-\Y@c“\advance\X@c“2\A@“\advance\Y@c“2\B@ŽŽ¡‘ãŒÃ954Ž‘ mÏ\ht\z@=\U@c–¿ª\dp\z@=\D@c“\dimen@=\L@c“\advance\dimen@\R@c“\wd\z@=\dimen@ŽŽ¡‘ãŒÃ955Ž‘ mÏ\setbox\lastobjectbox@=\hbox{\X@c=\L@c–¿ª\Y@c=\z@“\Drop@@}%ŽŽ¡‘ãŒÃ956Ž‘ mÏ\drop@{\box\lastobjectbox@}{}%ŽŽ¡‘ãŒÃ957Ž‘ mÏ\leave@}}ŽŽ©Pˆ‘ãŒÃ959Ž‘õŒÏ\xydef@\PATHlabelbreak@#1#2{%ŽŽ¡‘ãŒÃ960Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty–¿ª\drop\labelbox{#2}\else“\drop#1{#2}\fiŽŽ¡‘ãŒÃ961Ž‘ûKÃÏ\def\afteraliases@@{\xy@@\Cbreak@@}\xyFN@\PATHlabelalias@}ŽŽŸºó‘õŒ¹These–nïem²!ulate“the“e ect“of“the“Çh¹mošMÞdi erÇi¹s“Ï!CŽ‘]2+<Ž‘܆¹2Ðlab–ÿp¹elmar“gin‘× Ï>Ž‘ ¤Çh¹p˜erpÇi‘nïÏ!PŽ‘]2Çh¹unp˜erpÇi–nï¹where“Çh¹p˜erpÇi¹,Çh¹unp˜erpÇiŽ¡‘õŒ¹are‘Ç‹Ï^Ž– ‡5¹,Ï_Ž“¹for‘Ç‹Ï^Ž“¹-labšMÞels–Ç‹and“Ï_Ž– ‡5¹,Ï^Ž“¹for‘Ç‹Ï_Ž“¹-lab˜els.‘AKThe–Ç‹last“hac²!k“using“Ï\lastobjectbox@Ž‘]Ê ¹aims“at“b˜oth“set-Ž¡‘õŒting–ŠBthat“righš²!t“and“setting“the“labMÞel“as“an“ob‘›»ject“(suc˜h“that“moMÞdi ers“tak˜e“e ect)“ev˜en“though“itsŽ¡‘õŒplacemen²!t–¦fis“pMÞeculiar.ŽŸ‘õŒLabšMÞels–Œwill“b˜e“separated“from“the“connection“bš²!y“the“Ðlab–ÿp¹el‘!ªmar“gin‘cŒ¹that–Œy˜ou“can“set“with“the“opMÞerationŽŸ û‘õŒ„ffѲdŽŸ o‡’ŠöÏ\labelmargin–¦fÇh¹add“opÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽŸeN‘õŒ„ffѲdŽŸ.‘õŒ¹that–ydwš²!orks“lik˜e“the“k˜ernel“Ï\objectmargin“¹command;‘âãin“fact“Ðlab–ÿp¹elmar“gin‘Po¹defaults–ydto“use“Ðobje‘ÿp¹ct-Ž¡‘õŒmar‘ÿp¹gin‘}q¹if–¦fnot“set.ަ‘ãŒÃ985Ž‘õŒÏ\xylet@\labelmargin@=\objectmargin@ŽŽ¦‘ãŒÃ987Ž‘õŒÏ\xydef@\labelmargin{\afterADDOP{\Addop@@\labelmargin@}}ŽŽŸ%^‘㌹3.3j.ŽŽ‘ýí,Breaking–¹‘means“to“\slice“a“hole"“in“the“connection“and“insert“Çh¹itÇi“¹there.‘]This“is“realized“b²!yŽ¡‘õŒtš²!ypMÞesetting–áathe“connection“in“question“in“Ðsubse‘ÿp¹gments‘æ¹,‘Èone“leading“to“the“break“and“one“con˜tin˜uingŽ¡‘õŒafter–¦fthe“break“as“describMÞed“in“notes“3.3a“and“3.3d.ŽŸ‘õŒThe–¦fspMÞecial“conš²!trol“sequence“Ï\hole“¹is“pro˜vided“to“mak˜e“it“easy“to“mak˜e“an“empt˜y“break.ަ‘ãŒÃ1003Ž‘õŒÏ\xydef@\hole{\hbox{\dimen@=\objectmargin@‘¿ª\kern2\dimen@ŽŽ¡‘ãŒÃ1004Ž‘ mÏ\vrule–¿ªheight\dimen@“depth\dimen@“width\z@}}ŽŽŸºó‘õŒ¹Subsegmenš²!ts–¦fare“t˜ypšMÞeset“using“the“`Ï\Cbreak@@Ž‘3¼ú¹'“metho˜d.ŽŸnp‘ãŒ3.3k.ŽŽ\Unless–ÄÇh¹itÇi“¹is“a“full- edged“Çh¹ob‘›»jectÇi“¹(bš²!y“using“the“Ï*“¹form),‘3~it“is“t˜ypMÞeset“using“a“Ï\labelbox“¹ob‘›»jectŽ¡‘õŒ(initially–¦fsimilar“to“Ï\objectbox“¹of“basic‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“but“using“Ï\labelstyle“¹for“the“st²!yle).ŽŸ‘õŒÔRemark:‘ÝݹY‘ÿeou–¦fcan“only“omit“the“Ï{}Ž‘%º¹s“around“single“letters,“digits,“and“con²!trol“sequences.ަ‘ãŒÃ1024Ž‘õŒÏ\xylet@\labelstyle=\scriptstyleŽŽ¡‘ãŒÃ1025Ž‘õŒÏ\xydef@\labelbox#1{\hbox{$\m@th\labelstyle{#1}$}}ŽŽŸ%^‘㌹3.3l.ŽŽ‘ýŸNA‘¯ÛlabMÞel–¯Ýis“an“ob‘›»ject“likš²!e“an˜y“other“in“the‘—‡X‘ü·ŸâÃYŽŽ‘ç-picture.‘úBInserting“an“Çh¹aliasÇi“Ï="Ž‘¿ªÇh¹idÇiÏ"Ž‘ o‡¹sa˜v˜es“the“labMÞelŽ¡‘õŒob‘›»ject–¦fas“Ï"Ž– fÇh¹idÇiÏ"Ž“¹for–¦flater“reference.ŽŸ!B1‘õŒÔExercise‘23.2:‘ ó5¹T²!ypMÞesetŽŸ.ªÚ’³·~ïps: SDict begin xyc endŸýh0ï" {0.0 0.0 dd}xyŽŽŽ‘& ÛŸðrÖÅAŽŽŽŽŽŽŽŽ‘U[šŸé}{ï" {3311 10 /xy AB}xyŽŽŽŽ‘U[šŸé}{ï" {85.35782 19.91682 dd}xyŽŽŽ‘U[šŸé}{ï" {0.0 0.0 dd}xyŽŽŽŸßá‘ ݹlabMÞelŽŽŽŽŽŽŽŽŽŸýh0‘!,ߟ䨱ï" {0.01968 0.0 l}xyŽŽŽ‘%DŸçû`ï" {1733 10 /xy AB}xyŽŽŽŽŸýh0‘%DŸê“0ï" {4.11005 -5.916 l}xyŽŽŽŸýh0‘%DŸê“0ï" {0.01968 0.0 l}xyŽŽŽŽŽŽŽŸØÜŽŽŒ‹3CH Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹307ŽŽ ¶?? ýh«w‘ãŒÃ1052Ž‘õŒÏ\xydef@\PATHlabelalias@{%ŽŽ¤ ™š‘ãŒÃ1053Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATHlabelalias@}%ŽŽ¡‘ãŒÃ1054Ž‘ûKÃÏ\else–¿ª\addEQ@\ifx“\nextŽŽ¡‘ãŒÃ1055Ž‘ mÏ\addEQ@\DN@"##1"{\savealias@{##1}\xyFN@\PATHlabelalias@}%ŽŽ¡‘ãŒÃ1056Ž‘ûKÃÏ\else–¿ª\DN@{\afteraliases@@\PATHlabels@}\fi\fi“\next@}ŽŽ¤Pˆ‘ãŒÃ1058Ž‘õŒÏ\xylet@\afteraliases@@=\emptyŽŽ¡‘ãŒÃ1060Ž‘õŒÏ%{\xyuncatcodes‘¿ª\gdef\next#1{\POS!C="#1"\relax}}ŽŽ¤ ™š‘ãŒÃ1061Ž‘õŒÏ\xydef@\savealias@#1{\xy@@{\enter@\cfromthec@ŽŽ¡‘ãŒÃ1062Ž‘ ŠÁÏ\advance\X@c-\L@c–¿ª\advance\L@c\R@c“\L@c=.5\L@c“\R@c=\L@c“\advance\X@c\L@cŽŽ¡‘ãŒÃ1063Ž‘ ŠÁÏ\advance\Y@c-\D@c–¿ª\advance\D@c\U@c“\D@c=.5\D@c“\U@c=\D@c“\advance\Y@c\D@cŽŽ¡‘ãŒÃ1064Ž‘ ŠÁÏ\idfromc@{#1}\leave@}}ŽŽŸ"Ö]‘ãŒÞ3.3.2Ž‘ ÌArro wsŽŸ„¼‘ãŒÃ1183Ž‘õŒÏ\message{\string\ar,}ŽŽŸtd‘㌹Arroš²!ws–î¤are“paths“with“a“particularly“easy“syn˜tax“for“setting“up“arro˜ws“with“Ðtail‘!ª¹,–@³Ðstem‘× ¹,“and‘î¤Ðhe‘ÿp¹adŽ¡‘㌹in–ã×the“stš²!yle“of“[12Ž‘ ó4].‘–1This“is“pro˜vided“b˜y“a“single“Çh¹decorÇi¹ation“the“syn˜tax“of“whic˜h“is“describMÞed“inŽ¡‘㌠gure–´L3.2“(with“the“added“con•²!v“en“tion–´Lthat“a“raised“`*Ž‘yš'“means“0“or“more“repMÞetitions“of“the“preceedingŽ¡‘ãŒnon²!terminal).ŽŸ¹ ‘ãŒÔP¦tarsing:‘ ó5¹The–oÏ\ar“¹command“e ectivš²!ely“translates“the“Çh¹arro˜wÇi“¹in˜to“a“Ï\PATH‘L¹command“that“initialisesŽ¡‘ãŒthe–¦ftail,“stem,“and“head“of“it“as“required“to“get“the“desired“Çh¹arro²!wÇi¹.ŽŸ ½v‘ôŒThe–¦ftranslation“of“the“Çh¹arroš²!wÇi“¹is“sa˜v˜ed“in“the“follo˜wing“v‘ÿdDariables:Ž©Pˆ‘ãŒÃ1204Ž‘õŒÏ\xylet@\arvariant@@=\emptyŽŽ¡‘ãŒÃ1205Ž‘õŒÏ\xylet@\arstemprefix@@=\emptyŽŽ¡‘ãŒÃ1206Ž‘õŒÏ\xylet@\artail@@=\emptyŽŽ¡‘ãŒÃ1207Ž‘õŒÏ\xylet@\arstem@@=\emptyŽŽ¡‘ãŒÃ1208Ž‘õŒÏ\xylet@\arhead@@=\emptyŽŽ¡‘ãŒÃ1209Ž‘õŒÏ\xylet@\armodifiers@@=\emptyŽŽ¡‘ãŒÃ1210Ž‘õŒÏ\xylet@\arlabels@@=\emptyŽŽ¡‘ãŒÃ1211Ž‘õŒÏ\xylet@\arafterPOS@@=\emptyŽŽ¡‘ãŒÃ1212Ž‘õŒÏ\xylet@\arinit@@=\emptyŽŽ¡‘ãŒÃ1213Ž‘õŒÏ\xylet@\arexit@@=\emptyŽŽ¦‘ãŒÃ1215Ž‘õŒÏ\xylet@\arcomponent@@=\relaxŽŽ¡‘ãŒÃ1216Ž‘õŒÏ\xylet@\arcomponenttype@@=\relaxŽŽ¦‘ãŒÃ1218Ž‘õŒÏ\xylet@\afterar@@=\relaxŽŽŸtd‘ôŒ\ar–6M¹stores“the“defaults;‘~Ait“loads“an“inš²!termediate“command“to“a˜v˜oid“problems“when“used“as“ rstŽ¡‘ãŒcommand–¦fin“compiled“matrix“en²!try.–Ó3.“.ަ‘ãŒÃ1226Ž‘õŒÏ\xydef@\ar{\relax\arSAFE}ŽŽ¦‘ãŒÃ1228Ž‘õŒÏ\xydef@\arSAFE{%ŽŽ¡‘ãŒÃ1229Ž‘ûKÃÏ\let\arvariant@@=\emptyŽŽ¡‘ãŒÃ1230Ž‘ûKÃÏ\def\arstemprefix@@{\dir}%ŽŽ¡‘ãŒÃ1231Ž‘ûKÃÏ\edef\artail@@{\arvariant@@{}}%ŽŽ¡‘ãŒÃ1232Ž‘ûKÃÏ\edef\arstem@@{\arvariant@@{-}}%ŽŽ¡‘ãŒÃ1233Ž‘ûKÃÏ\edef\arhead@@{\arvariant@@{>}}%ŽŽ¡‘ãŒÃ1234Ž‘ûKÃÏ\def\armodifiers@@{}%ŽŽŽŽŒ‹4R Á à ý*tj‘㌹308’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1235Ž‘ûKÃÏ\def\arafterPOS@@{}%ŽŽ¤ ™š‘ãŒÃ1236Ž‘ûKÃÏ\def\arlabels@@{}%ŽŽ¡‘ãŒÃ1237Ž‘ûKÃÏ\def\arinit@@{}%ŽŽ¡‘ãŒÃ1238Ž‘ûKÃÏ\def\arexit@@{}%ŽŽ¡‘ãŒÃ1239Ž‘ûKÃÏ\let\PATHlabelabove@@=\PATHlabelabove@ŽŽ¡‘ãŒÃ1240Ž‘ûKÃÏ\let\PATHlabelbelow@@=\PATHlabelbelow@ŽŽ¡‘ãŒÃ1241Ž‘ûKÃÏ\xyFN@\ar@}ŽŽ©Q¬‘ôŒ\ar@Ž‘[„¹is–ÐÃwhere“wš²!e“parse“the“sequence“of“Çh¹formÇi¹s“and“con˜tin˜ue“with“t˜ypMÞesetting“the“arro˜w“afterw˜ards.ŽŸPˆ‘ãŒÃ1248Ž‘õŒÏ\xydef@\ar@{%ŽŽ¡‘ãŒÃ1249Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1250Ž‘ûKÃÏ\else–¿ª\addAT@\ifx\next“\addAT@\DN@{\xyFN@\ar@form}%ŽŽ¡‘ãŒÃ1251Ž‘ûKÃÏ\else\ifx‘¿ª|\nextŽŽ¡‘ãŒÃ1252Ž‘ mÏ\DN@‘¿ª|{\ar@anchor|}%ŽŽ¡‘ãŒÃ1253Ž‘ûKÃÏ\else\ifx‘¿ª^\nextŽŽ¡‘ãŒÃ1254Ž‘ mÏ\DN@‘¿ª^{\ar@anchor^}%ŽŽ¡‘ãŒÃ1255Ž‘ûKÃÏ\else\ifx‘¿ª_\nextŽŽ¡‘ãŒÃ1256Ž‘ mÏ\DN@‘¿ª_{\ar@anchor_}%ŽŽ¡‘ãŒÃ1257Ž‘ûKÃÏ\else–¿ª\let\next@=\ar@x“\fi\fi\fi\fi\fi“\next@}ŽŽ¦‘ôŒÔNote:‘ÝݹMak²!es–¦fuse“of“the“Ðnew–êêc‘ÿp¹ompilation“principle‘y¹to–¦fparse“a“Çh¹placeÇi“¹v‘ÿdDacuously.–Ó3.“.Ž©Pˆ‘ãŒÃ1264Ž‘õŒÏ\xydef@\addtoarinit@#1{%ŽŽ¡‘ãŒÃ1265Ž‘ûKÃÏ\expandafter\def\expandafter\arinit@@\expandafter{\arinit@@‘¿ª#1}}ŽŽ¦‘ãŒÃ1267Ž‘õŒÏ\xydef@\addtoarlabels@#1{%ŽŽ¡‘ãŒÃ1268Ž‘ûKÃÏ\expandafter\def\expandafter\arlabels@@\expandafter{\arlabels@@‘¿ª#1}}ŽŽ¦‘ãŒÃ1270Ž‘õŒÏ\xydef@\ar@anchor#1{\begingroupŽŽ¡‘ãŒÃ1271Ž‘ûKÃÏ\def\PATHlabelit@@##1##2{%ŽŽ¡‘ãŒÃ1272Ž‘ mÏ\DN@{##1}\ifx\next@\emptyŽŽ¡‘ãŒÃ1273Ž‘ËÏ\DN@####1{\expandafter\endgroup\expandafter\addtoarlabels@ŽŽ¡‘ãŒÃ1274Ž‘ ŠÁÏ\expandafter{\the\toks@####1{##2}}\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1275Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1276Ž‘ËÏ\DN@####1{\expandafter\endgroup\expandafter\addtoarlabels@ŽŽ¡‘ãŒÃ1277Ž‘ ŠÁÏ\expandafter{\the\toks@*!C####1##1{##2}}\xyFN@\ar@}\fiŽŽ¡‘ãŒÃ1278Ž‘ mÏ\expandafter\next@\expandafter{\PATHitshape@@}}%ŽŽ¡‘ãŒÃ1279Ž‘ûKÃÏ\toks@={#1}%ŽŽ¡‘ãŒÃ1280Ž‘ûKÃÏ\def\xy@##1##2{\addtotoks@{##1}}\change@oxy@\xy@‘¿ª\let\xy@@ix@=\eat@ŽŽ¡‘ãŒÃ1281Ž‘ûKÃÏ\DNii@{}\xyFN@\PATHanchor@}ŽŽŸQ¬‘ôŒ\ar@formŽ‘&/Ϲhandles–¦fone“Çh¹formÇi¹:ަ‘ãŒÃ1287Ž‘õŒÏ\xydef@\ar@form{%ŽŽ¡‘ãŒÃ1288Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\ar@form}%ŽŽ¡‘ãŒÃ1289Ž‘ûKÃÏ\else\ifx–¿ª^\next“\DN@“^{\xyFN@\ar@style}\edef\arvariant@@{\string^}%ŽŽ¡‘ãŒÃ1290Ž‘ûKÃÏ\else\ifx–¿ª_\next“\DN@“_{\xyFN@\ar@style}\edef\arvariant@@{\string_}%ŽŽ¡‘ãŒÃ1291Ž‘ûKÃÏ\else\ifx–¿ª0\next“\DN@“0{\xyFN@\ar@style}\def\arvariant@@{0}%ŽŽ¡‘ãŒÃ1292Ž‘ûKÃÏ\else\ifx–¿ª1\next“\DN@“1{\xyFN@\ar@style}\def\arvariant@@{1}%ŽŽ¡‘ãŒÃ1293Ž‘ûKÃÏ\else\ifx–¿ª2\next“\DN@“2{\xyFN@\ar@style}\def\arvariant@@{2}%ŽŽ¡‘ãŒÃ1294Ž‘ûKÃÏ\else\ifx–¿ª3\next“\DN@“3{\xyFN@\ar@style}\def\arvariant@@{3}%ŽŽ¡‘ãŒÃ1295Ž‘ûKÃÏ\else\ifx–¿ª\bgroup\next“\let\next@=\ar@styleŽŽ¡‘ãŒÃ1296Ž‘ûKÃÏ\else\ifx–¿ª[\next“\DN@[##1]{\ar@modifiers{[##1]}}%]ŽŽ¡‘ãŒÃ1297Ž‘ûKÃÏ\else\ifx–¿ª*\next“\DN@“*{\ar@modifiers}%ŽŽŽŽŒ‹5]8 Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹309ŽŽ ¶?? ýh«w‘ãŒÃ1298Ž‘ûKÃÏ\else\addLT@\ifx\next‘¿ª\let\next@=\ar@slideŽŽ¤ ™š‘ãŒÃ1299Ž‘ûKÃÏ\else\ifx–¿ª/\next“\let\next@=\ar@curveslashŽŽ¡‘ãŒÃ1300Ž‘ûKÃÏ\else\ifx–¿ª(\next“\let\next@=\ar@curveinout“%)ŽŽ¡‘ãŒÃ1301Ž‘ûKÃÏ\else\addRQ@\ifx\next‘¿ª\addRQ@\DN@{\ar@curve@}%ŽŽ¡‘ãŒÃ1302Ž‘ûKÃÏ\else\addLQ@\ifx\next‘¿ª\addLQ@\DN@{\xyFN@\ar@curve}%ŽŽ¡‘ãŒÃ1303Ž‘ûKÃÏ\else\addDASH@\ifx\next‘¿ª\addDASH@\DN@{\defarstem@-\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1304Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\addEQ@\DN@{\def\arvariant@@{2}\defarstem@-\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1305Ž‘ûKÃÏ\else\addDOT@\ifx\next‘¿ª\addDOT@\DN@{\defarstem@.\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1306Ž‘ûKÃÏ\else\ifx–¿ª:\next“\DN@:{\def\arvariant@@{2}\defarstem@.\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1307Ž‘ûKÃÏ\else\ifx–¿ª~\next“\DN@~{\defarstem@~\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1308Ž‘ûKÃÏ\else\ifx–¿ª!\next“\DN@!{\dasharstem@\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1309Ž‘ûKÃÏ\else\ifx–¿ª?\next“\DN@?{\ar@upsidedown\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1310Ž‘ûKÃÏ\else‘¿ª\let\next@=\ar@errorŽŽ¡‘ãŒÃ1311Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ1313Ž‘õŒÏ\xydef@\defarstem@#1{\edef\arstem@@{\arvariant@@{\string#1}}%ŽŽ¡‘ãŒÃ1314Ž‘ûKÃÏ\DNii@##1##{\next@}%ŽŽ¡‘ãŒÃ1315Ž‘ûKÃÏ\edef\next@##1{\def\noexpand\artail@@{\arvariant@@{##1}}}%ŽŽ¡‘ãŒÃ1316Ž‘ mÏ\expandafter\nextii@\artail@@ŽŽ¡‘ãŒÃ1317Ž‘ûKÃÏ\edef\next@##1{\def\noexpand\arhead@@{\arvariant@@{##1}}}%ŽŽ¡‘ãŒÃ1318Ž‘ mÏ\expandafter\nextii@\arhead@@}ŽŽ¦‘ãŒÃ1320Ž‘õŒÏ\xydef@\dasharstem@{%ŽŽ¡‘ãŒÃ1321Ž‘ûKÃÏ\DN@##1##{\nextii@{##1}}\DNii@##1##2{\def\arstem@@{##1{##2##2}}}%ŽŽ¡‘ãŒÃ1322Ž‘ûKÃÏ\expandafter\next@\arstem@@}ŽŽ¦‘ãŒÃ1324Ž‘õŒÏ\xydef@\ar@error#1{\xyerror@{Illegal–¿ª
ation“(\meaning\next)}{}%ŽŽ¡‘ãŒÃ1325Ž‘ûKÃÏ\xyFN@\ar@}ŽŽŸSõ‘ôŒ\ar@iŽ‘¹sets–·$the“remaining“defaults“and“then“alloš²!ws“Ï\ar@iiŽ‘&5 ¹-ÏivŽ‘6x¹to“pic˜k“up“an˜y“tail,–»Sstem,“and‘·$headŽ¡‘ãŒusing–¦fa“Ï$Ž‘ v¹as“terminator.ަ‘ãŒÃ1332Ž‘õŒÏ\xydef@\ar@style{%ŽŽ¡‘ãŒÃ1333Ž‘ûKÃÏ\ifx–¿ª\bgroup\next“\def\artail@@{{}}%ŽŽ¡‘ãŒÃ1334Ž‘ mÏ\edef\arstem@@{\arvariant@@{-}}\edef\arhead@@{\arvariant@@{>}}%ŽŽ¡‘ãŒÃ1335Ž‘ mÏ\expandafter\ar@iŽŽ¡‘ãŒÃ1336Ž‘ûKÃÏ\else–¿ª\resetvariant@\artail@@“\resetvariant@\arstem@@“\resetvariant@\arhead@@ŽŽ¡‘ãŒÃ1337Ž‘ mÏ\expandafter\xyFN@\expandafter\ar@‘¿ª\fi}ŽŽ¦‘ãŒÃ1339Ž‘õŒÏ\xydef@\resetvariant@#1{%ŽŽ¡‘ãŒÃ1340Ž‘ûKÃÏ\DN@##1##{\DN@{##1}\ifx\next@\emptyŽŽ¡‘ãŒÃ1341Ž‘ËÏ\DN@{\expandafter\nextii@\expandafter{\arvariant@@}}%ŽŽ¡‘ãŒÃ1342Ž‘ mÏ\else–¿ª\DN@{\nextii@{##1}}\fi“\next@}%ŽŽ¡‘ãŒÃ1343Ž‘ûKÃÏ\DNii@##1##2{\def#1{##1{##2}}}%ŽŽ¡‘ãŒÃ1344Ž‘ûKÃÏ\expandafter\next@#1}ŽŽ¦‘ãŒÃ1346Ž‘õŒÏ\xydef@\ar@i#1{\DN@{#1}%ŽŽ¡‘ãŒÃ1347Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\edef\arstem@@{\arvariant@@{}}\edef\arhead@@{\arvariant@@{}}%ŽŽ¡‘ãŒÃ1348Ž‘ mÏ\DN@{\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1349Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1350Ž‘ mÏ\let\arcomponent@@=\ar@ii‘¿ª\let\arcomponenttype@@=\artip@ŽŽ¡‘ãŒÃ1351Ž‘ mÏ\DN@{\xyFN@\arcomponent@#1$}%ŽŽ¡‘ãŒÃ1352Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1354Ž‘õŒÏ\xydef@\ar@ii{\ifx–¿ª$\next“\let\next@=\ar@ivŽŽŽŽŒ‹6i9 Á à ý*tj‘㌹310’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1355Ž‘ûKÃÏ\else‘¿ª\expandafter\def\expandafter\artail@@\expandafter{\the\toks@}%ŽŽ¤ ™š‘ãŒÃ1356Ž‘ mÏ\let\arcomponent@@=\ar@iii‘¿ª\let\arcomponenttype@@=\arconn@ŽŽ¡‘ãŒÃ1357Ž‘ mÏ\DN@{\xyFN@\arcomponent@}\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ1359Ž‘õŒÏ\xydef@\ar@iii{%ŽŽ¡‘ãŒÃ1360Ž‘ûKÃÏ\expandafter\def\expandafter\arstem@@\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ1361Ž‘ûKÃÏ\resetvariant@\artail@@ŽŽ¡‘ãŒÃ1362Ž‘ûKÃÏ\let\arcomponent@@=\ar@iv‘¿ª\let\arcomponenttype@@=\artip@ŽŽ¡‘ãŒÃ1363Ž‘ûKÃÏ\xyFN@\arcomponent@}ŽŽ¦‘ãŒÃ1365Ž‘õŒÏ\xydef@\ar@iv{%ŽŽ¡‘ãŒÃ1366Ž‘ûKÃÏ\expandafter\def\expandafter\arhead@@\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ1367Ž‘ûKÃÏ\ifx–¿ª$\next“\DN@“${\xyFN@\ar@}%ŽŽ¡‘ãŒÃ1368Ž‘ûKÃÏ\else–¿ª\xyerror@{illegal“:“\meaning\next\space“not“valid}{}\fi“\next@}ŽŽŸSõ‘ôŒ\ar@xŽ‘>v¹is–ô the“ nal“macro“that“passes“conš²!trol“to“the“Çh¹pathÇi“¹in˜terpreter.‘ÆËIt“is“a“bit“clumsy“bMÞecauseŽ¡‘ãŒw•²!e› m“ust˜pass˜the˜righ“t˜c“haracter˜tok“ens;‘>Îit˜could˜de nitely˜bMÞe˜more˜ecien“t˜b“y˜calling˜Çh¹pathÇi˜¹in“ternalsŽ¡‘ãŒdirectly.–Ó3.“.ަ‘ãŒÃ1377Ž‘õŒÏ\xydef@\ar@x{%ŽŽ¡‘ãŒÃ1378Ž‘ûKÃÏ\let\arsavedPATHafterPOS@@=\PATHafterPOS‘¿ª\let\PATHafterPOS=\arafterPOS@ŽŽ¡‘ãŒÃ1379Ž‘ûKÃÏ\toks@={\ar@PATH}%ŽŽ¡‘ãŒÃ1380Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\artail@@}}%#1ŽŽ¡‘ãŒÃ1381Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\arstem@@}}%#2ŽŽ¡‘ãŒÃ1382Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\arstemprefix@@}}%#3ŽŽ¡‘ãŒÃ1383Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\arhead@@}}%#4ŽŽ¡‘ãŒÃ1384Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\armodifiers@@}}%#5ŽŽ¡‘ãŒÃ1385Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\arinit@@}}%#6ŽŽ¡‘ãŒÃ1386Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\arexit@@}}%#7ŽŽ¡‘ãŒÃ1387Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\arlabels@@}}%#8ŽŽ¡‘ãŒÃ1388Ž‘ûKÃÏ\addtotoks@{\afterar@@}%#9ŽŽ¡‘ãŒÃ1389Ž‘ûKÃÏ\expandafter\DNii@\expandafter{\the\toks@}\toks@={}%ŽŽ¡‘ãŒÃ1390Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1391Ž‘õŒÏ%{\let\x=\expandafter–¿ª\x\x\x\DNii@\x\x\x{\nextii@}\W@{RUN:“\codeof\nextii@}}%ŽŽ¡‘ãŒÃ1392Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1393Ž‘ûKÃÏ\nextii@}ŽŽ¦‘ãŒÃ1395Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{%ŽŽ¡‘ãŒÃ1396Ž‘ûKÃÏ\def\next{%ŽŽ¡‘ãŒÃ1397Ž‘ mÏ\afterPATH{#9}%ŽŽ¡‘ãŒÃ1398Ž‘ mÏ~={#6\preconnect#5#3#2}%ŽŽ¡‘ãŒÃ1399Ž‘ mÏ~/{#7}%ŽŽ¡‘ãŒÃ1400Ž‘ mÏ~<{|<*h#5\dir#1}%ŽŽ¡‘ãŒÃ1401Ž‘ mÏ~>{|>*h#5\dir#4}%ŽŽ¡‘ãŒÃ1402Ž‘ mÏ~+{#8}%ŽŽ¡‘ãŒÃ1403Ž‘ mÏ}%ŽŽ¡‘ãŒÃ1404Ž‘ûKÃÏ\next}}ŽŽ¦‘ãŒÃ1406Ž‘õŒÏ\xylet@\ar@PATH=\nextŽŽ¦‘ãŒÃ1408Ž‘õŒÏ\xydef@\arafterPOS@#1{%ŽŽ¡‘ãŒÃ1409Ž‘ûKÃÏ\arsavedPATHafterPOS@@{\let\PATHafterPOS=\arsavedPATHafterPOS@@ŽŽ¡‘ãŒÃ1410Ž‘ mÏ\DN@{#1}\expandafter\next@\arafterPOS@@}}%ŽŽ¦‘ãŒÃ1412Ž‘õŒÏ\xylet@\arsavedPATHafterPOS@@=\relaxŽŽŽŽŒ‹7uÙ Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹311ŽŽ ¶?? ýh«w‘ôŒÇh¹tipÇi¹s–ÿ~and“Çh¹connÇi¹ectors“are“inš²!terpreted“b˜y“these“that“lea˜v˜e“an˜y“Çh¹v‘ÿdDarian˜tÇi“¹in“Ï\toks@iiŽ‘7üL¹and“theޤ ™š‘ãŒsequence–¦fof“Çh¹tipMÞcš²!harÇi¹s“or“Çh¹connc˜harÇi¹s“c˜haracters“in“Ï\toks@Ž‘&$b¹:ŽŸå‘ôŒThe–ɵw²!ork“is“really“done“in“Ï\arcomponent@Ž‘RO ¹that“builds“Ï\toks@Ž‘*f¹with“something“conforming“to“theŽ¡‘ãŒÏ\arcomponenttype@@Ž‘N¬s¹and–¦fthen“passes“con²!trol“to“Ï\arcomponent@@Ž‘T!²¹:Ž©Pˆ‘ãŒÃ1424Ž‘õŒÏ\xydef@\arcomponent@{%ŽŽ¡‘ãŒÃ1425Ž‘ûKÃÏ\ifx–¿ª^\next‘"}ü\toks@ii={^}\DN@“^{\xyFN@\arcomponent@i}%ŽŽ¡‘ãŒÃ1426Ž‘ûKÃÏ\else\ifx–¿ª_\next“\toks@ii={_}\DN@“_{\xyFN@\arcomponent@i}%ŽŽ¡‘ãŒÃ1427Ž‘ûKÃÏ\else\ifx–¿ª1\next“\toks@ii={1}\DN@“1{\xyFN@\arcomponent@i}%ŽŽ¡‘ãŒÃ1428Ž‘ûKÃÏ\else\ifx–¿ª2\next“\toks@ii={2}\DN@“2{\xyFN@\arcomponent@i}%ŽŽ¡‘ãŒÃ1429Ž‘ûKÃÏ\else\ifx–¿ª3\next“\toks@ii={3}\DN@“3{\xyFN@\arcomponent@i}%ŽŽ¡‘ãŒÃ1430Ž‘ûKÃÏ\else\ifx–¿ª\bgroup\next“\expandafter\toks@ii\expandafter{\arvariant@@}%ŽŽ¡‘ãŒÃ1431Ž‘ mÏ\let\next@=\arcomponent@iŽŽ¡‘ãŒÃ1432Ž‘ûKÃÏ\else\ifx–¿ª*\next“\DN@*##1##{\arcomponent@ii{##1}}%ŽŽ¡‘ãŒÃ1433Ž‘ûKÃÏ\else‘¿ª\expandafter\toks@ii\expandafter{\arvariant@@}\toks@={}%ŽŽ¡‘ãŒÃ1434Ž‘ mÏ\let\next@=\arcomponenttype@@ŽŽ¡‘ãŒÃ1435Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fiŽŽ¡‘ãŒÃ1436Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ1438Ž‘õŒÏ\xydef@\arcomponent@i#1{\toks@={#1}\arcomponent@x}ŽŽ¦‘ãŒÃ1440Ž‘õŒÏ\xydef@\arcomponent@ii#1#2{\toks@={*#1{#2}}\xyFN@\arcomponent@@}ŽŽ¦‘ãŒÃ1442Ž‘õŒÏ\xydef@\artip@{%ŽŽ¡‘ãŒÃ1443Ž‘ûKÃÏ\addGT@\ifx\next–¿ª\addGT@\addtotoks@“\addGT@\DN@{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1444Ž‘ûKÃÏ\else\addLT@\ifx\next–¿ª\addLT@\addtotoks@“\addLT@\DN@{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1445Ž‘ûKÃÏ\else\ifx–¿ª(\next“\addtotoks@(\DN@({\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1446Ž‘ûKÃÏ\else\ifx–¿ª)\next“\addtotoks@)\DN@){\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1447Ž‘ûKÃÏ\else\ifx–¿ª|\next“\addtotoks@|\DN@|{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1448Ž‘ûKÃÏ\else\addLQ@\ifx\next–¿ª\addLQ@\addtotoks@“\addLQ@\DN@{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1449Ž‘ûKÃÏ\else\addRQ@\ifx\next–¿ª\addRQ@\addtotoks@“\addRQ@\DN@{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1450Ž‘ûKÃÏ\else\addPLUS@\ifx–¿ª\next“\addPLUS@\addtotoks@“\addPLUS@\DN@{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1451Ž‘ûKÃÏ\else\ifx–¿ª/\next“\addtotoks@/\DN@/{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1452Ž‘ûKÃÏ\else\ifcat–¿ªA\noexpand\next“\DN@##1{\addtotoks@{##1}\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1453Ž‘ûKÃÏ\else\ifx\space@\next–¿ª\addtotoks@{“}\expandafter\DN@\space{\xyFN@\artip@}%ŽŽ¡‘ãŒÃ1454Ž‘ûKÃÏ\else‘¿ª\let\next@=\arcomponent@xŽŽ¡‘ãŒÃ1455Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1457Ž‘õŒÏ\xydef@\arconn@{%ŽŽ¡‘ãŒÃ1458Ž‘ûKÃÏ\addDASH@\ifx\next–¿ª\addDASH@\addtotoks@“\addDASH@\DN@{\xyFN@\arconn@}%ŽŽ¡‘ãŒÃ1459Ž‘ûKÃÏ\else\addEQ@\ifx\next–¿ª\addEQ@\addtotoks@“\addEQ@\DN@{\xyFN@\arconn@}%ŽŽ¡‘ãŒÃ1460Ž‘ mÏ\ifx\arvariant@@\empty‘¿ª\def\arvariant@@{2}\fiŽŽ¡‘ãŒÃ1461Ž‘ûKÃÏ\else\addDOT@\ifx\next–¿ª\addDOT@\addtotoks@“\addDOT@\DN@{\xyFN@\arconn@}%ŽŽ¡‘ãŒÃ1462Ž‘ûKÃÏ\else\ifx–¿ª:\next“\addtotoks@:\DN@:{\xyFN@\arconn@}%ŽŽ¡‘ãŒÃ1463Ž‘ mÏ\ifx\arvariant@@\empty‘¿ª\def\arvariant@@{2}\fiŽŽ¡‘ãŒÃ1464Ž‘ûKÃÏ\else\ifx–¿ª~\next“\addtotoks@~\DN@~{\xyFN@\arconn@}%ŽŽ¡‘ãŒÃ1465Ž‘ûKÃÏ\else‘¿ª\let\next@=\arcomponent@xŽŽ¡‘ãŒÃ1466Ž‘ûKÃÏ\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1468Ž‘õŒÏ\xydef@\arcomponent@x{%ŽŽ¡‘ãŒÃ1469Ž‘ûKÃÏ\DN@##1{\toks@=\expandafter{\the\toks@ii{##1}}}%ŽŽ¡‘ãŒÃ1470Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ1471Ž‘ûKÃÏ\xyFN@\arcomponent@@}ŽŽŽŽŒ‹8– Á à ý*tj‘㌹312’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÔNotesŽŸ¬‘㌹3.3m.ŽŽ‘´¤Building–Ïuan“Çh¹arro²!wÇi“¹is“simply“using“the“spMÞeci ed“directionals“(using“Ï\dir“¹of“Çx¹1.6.1)“to“build“aޤ ™š‘õŒpath:‘írthe–®0 rst“Çh¹tipÇi“¹bšMÞecomes“the“Ðarr‘ÿp¹ow‘òtail‘ÏÚ¹of“the“arro²!w,‘°#the“Çh¹connÇi¹ection“in“the“middle“b˜ecomesŽ¡‘õŒthe–£Ðarr›ÿp¹ow‘Õùstem‘× ¹,‘”0and“the“second“Çh¹tipÇi“¹bMÞecomes“the“Ðarr˜ow‘Õùhe˜ad‘!ª¹.‘ÖGIf“a“Çh¹v‘ÿdDarianš²!tÇi“¹is“giv˜en“bMÞefore“the“Ï{ŽŽ¡‘õŒ¹then–¦fthat“v‘ÿdDarian²!t“Ï\dir“¹is“used“for“all“three.‘ÝÝF‘ÿeor“example,Ž©Pˆ‘õŒÏ\xy\ar–¿ª@^{(->}“(20,7)\endxyŽŽŸÐŒ‘õŒ¹t²!ypMÞesetsŽŸ£œ’Áñmïps: SDict begin xyc endŸýh0ï " {3430 ha}xyŽŽŽŽŸýbï" {0.0 0.02223 l}xyŽŽŽ‘8缟é}{ï" {3430 10 /xy A}xyŽŽŽŽ‘8缟é}{ï" {56.90521 19.91682 l}xyŽŽŽ‘8缟é}{ï" {0.0 0.02223 l}xyŽŽŽŽŽŽŽŸ'ì3‘õŒÔExercise‘23.3:‘ ó5¹Tš²!ypMÞeset–¦fthese“arro˜ws:ŽŸ?Û¯’˜’¿ïps: SDict begin xyc end‘gŸ%òÄAŽŽŽŽ‘ŸÝµAŸü¾È0ŽŽŽŽŽŽ‘‚PŸÙh0ï" {8.50903 0 360 o}xyŽŽŽŽŽŸýh0‘þîŸù? ï" {-0.02345 0.01247 l}xyŽŽŽ‘ -LŸà…bï" {-2389 10 /xy AB}xyŽŽŽŽŸýh0‘ -LŸâÿOï" {-14.84233 22.26146 l}xyŽŽŽŸýh0‘ -LŸã2ï" {-0.0936 0.0 l}xyŽŽŽ‘ØäŸÝµÄAŸü¾È00ŽŽŽŽŽŽ‘ ‚PŸÙh0ï" {9.66182 0 360 o}xyŽŽŽŽŽŸýh0‘‚QŸùB>ï" {0.0 0.0 l}xyŽŽŽŽŸýh0‘!‚OŸùB>ï" {0.0 0.0 l}xyŽŽŽŽŽ‘ ‚PŸãï" {-3072 /XT tt}xyŽŽŽŽŸýh0‘‚QŸè)mï" {0.0 17.09694 l}xyŽŽŽŽŸýh0‘!‚OŸè)mï" {0.0 17.09694 l}xyŽŽŽŽŽ‘0±ÇŸÝµÄAŸü¾È000ŽŽŽŽŽŽ‘8‚PŸÙh0ï" {10.81459 0 360 o}xyŽŽŽŽŽŸüOA‘#URŸùAfï" {0.0 0.0033 l}xyŽŽŽŽŸþ‘&­pŸùAfï" {0.0 0.0033 l}xyŽŽŽŽŸýh0‘%aŸùAfï" {0.0 0.0033 l}xyŽŽŽŽ‘/ÔëŸæ¡ï " {341 F d}xyŽŽ‘2“4ŸârÙï" {-3755 /Xt tT}xyŽŽŽŽŸüOA‘/%¦Ÿçˆèï" {11.81378 17.72397 l}xyŽŽŽŽŸþ‘2}ÄŸçˆèï" {11.81378 17.72397 l}xyŽŽŽŽŸýh0‘0ѵŸçˆèï" {11.81378 17.72397 l}xyŽŽŽŽ‘dÞŸ%òÄBŽŽŽŽ‘J­ÂŸÝµB‘Œ¤Ÿü¾È0ŽŽŽŽŽŽ‘P‚PŸÙh0ï" {8.8303 0 360 o}xyŽŽŽŽŽ‘eΟøV}ï" {-2389 st}xyŽŽ‘dïŸöªnï" {-2389 st}xyŽŽŽŽŽŽŸýh0‘cþîŸù? ï" {-0.02345 0.01247 dt}xyŽŽŽ‘Vÿ»ŸãL>ï" {-2389 10 /xy AB}xyŽŽ‘UZkŸàÊ&ï" {-2389 10 /xy AB}xyŽŽŽŽŸýh0‘UZkŸãBòï" {-14.66608 21.99725 dt}xyŽŽŽŸýh0‘UZkŸãaöï" {-0.09625 0.0 dt}xyŽŽŽ‘a†¥ŸÝµÄB‘Œ¤Ÿü¾È00ŽŽŽŽŽŽ‘h‚PŸÙh0ï" {9.98308 0 360 o}xyŽŽŽŽŽ‘g‚QŸøªmï" {-3072 st}xyŽŽ‘g‚QŸöªnï" {-3072 st}xyŽŽŽŽŽŽŽ‘i‚OŸøªmï" {-3072 st}xyŽŽ‘i‚OŸöªnï" {-3072 st}xyŽŽŽŽŽŽŽŽŸýh0‘g‚QŸùB>ï" {0.0 0.0 dt}xyŽŽŽŽŸýh0‘i‚OŸùB>ï" {0.0 0.0 dt}xyŽŽŽŽŽ‘h‚PŸæcÛï" {-3072 /XT tt}xyŽŽŽŽ‘h‚PŸãcÛï" {-3072 /XT tt}xyŽŽŽŽŽŽŽŽŽŽŸýh0‘g‚QŸè{«ï" {0.0 16.77568 dt}xyŽŽŽŽŸýh0‘i‚OŸè{«ï" {0.0 16.77568 dt}xyŽŽŽŽŽ‘x_‰ŸÝµÄB‘Œ¤Ÿü¾È000ŽŽŽŽŽŽ’€‚PŸÙh0ï" {11.13586 0 360 o}xyŽŽŽŽŽ‘j}{!/4.5pt/\dir{|}ŽŽ¡‘:ˆ*:(1,-.2)\dir^{>}ŽŽ¡‘:ˆ*:(1,+.2)\dir_{>}}ŽŽŸÐŒ‘õŒ¹de nes–¦fa“new“arroš²!w“tip“that“mak˜esަ‘õŒÏ\xy‘¿ª(0,0)*+{A}ŽŽ¡‘ûKÃ\ar–¿ª@{=|>}“(20,3)*+{B}ŽŽ¡‘õŒ\endxyŽŽŸÐŒ‘õŒ¹t²!ypMÞesetŽŸÿÒ’º­ïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ‘;•}ŸøœÉBŽŽŽŽ‘üŸûYªï" {0.01605 0.0 l}xyŽŽŽŽ‘b ŸýSˆï" {0.01605 0.0 l}xyŽŽŽŽŽ‘6\aŸöUîï " {3226 st}xyŽŽŽŽ‘:ΙŸõ¤ ï" {3029 10 /xy A}xyŽŽŽŽ‘:ΙŸõ¤ ï" {3449 10 /xy B}xyŽŽŽŽŽŽŽŽŽŽ‘64ÚŸõU¤ï" {40.14835 6.01572 l}xyŽŽŽŽ‘6ƒèŸ÷O‚ï" {40.14835 6.01572 l}xyŽŽŽŽŽŽŽŽŽŸ¡‘õŒ¹Notice–؇that“the“fact“that“the“directional“uses“only“Çh¹tipMÞcš²!harÇi“¹c˜haracters“means“that“it“blends“nat-Ž¡‘õŒurally–¦fwith“the“existing“tips.ŽŸ!l,‘õŒÔExercise‘Á"3.4:‘ ó5¹Often–CÆtips“used“as“`tails'“ha•²!v“e–CÆtheir“ink“on“the“wrong“side“of“the“pMÞoin²!t“where“theyŽ¡‘õŒare–\Æplaced.‘ýF‘ÿeortunately“space“is“also“a“Çh¹tipMÞcš²!harÇi“¹so“w˜e“can“de ne“Ï\dir{‘¿ª>}Ž‘6¶Ü¹to“generate“a“`tail'Ž¡‘õŒarroš²!w.‘ÝÝDo–¦fthis“suc˜h“thatަ‘õŒÏ\xy–¿ª(0,0)*+{A}="a",“(20,3)*+{B}="b"ŽŽ¡‘ûKÃ\ar–¿ª@{>->}‘ T"a";"b"“<“2pt>ŽŽ¡‘ûKÃ\ar–¿ª@{“>->}“"a";"b"“<-2pt>ŽŽ¡‘õŒ\endxyŽŽŸÐŒ‘õŒ¹t²!ypMÞesetsŽŸÿÒ’º­ïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ‘;•}ŸøœÉBŽŽŽŽ‘ çWŸú\¹ï" {3226 10 /xy AB}xyŽŽŽŽ‘ ësŸú\¹ï" {0.01605 0.0 l}xyŽŽŽ‘8FmŸôï" {3226 10 /xy AB}xyŽŽŽŽ‘8FmŸôï" {42.37143 6.35005 l}xyŽŽŽ‘8FmŸôï" {0.01688 0.0 l}xyŽŽŽ‘ýÏŸýí¥ï" {3226 10 /xy AB}xyŽŽŽŽŽŽŽŽŽŽ‘8äŸ÷öÜï" {3226 10 /xy AB}xyŽŽŽŽ‘8äŸ÷öÜï" {39.90134 5.97858 l}xyŽŽŽ‘8äŸ÷öÜï" {0.01688 0.0 l}xyŽŽŽŽŽŽŽŸ¡ŽŽŒ‹9Ì Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹313ŽŽ ¶?? ýh«w‘ãŒ3.3n.ŽŽ‘©ùSpMÞecifying–Za“Çh¹dirÇi“¹as“a“Çh¹tipÇi“¹or“Çh¹connÇi“¹means“that“Ï\dirÇh¹dirÇi“¹is“used“for“that“Çh¹tipÇi“¹or“Çh¹connÇi¹.‘ÄlF‘ÿeorޤ ™š‘õŒexample,Ž©Pˆ‘õŒÏ\xy\ar–¿ª@{<^{|}>}“(20,7)\endxyŽŽŸ´ä‘õŒ¹t²!ypMÞesetsŽŸ£–’Áñmïps: SDict begin xyc endŸýh0ï" {-666 10 /xy AB}xyŽŽŽŽ‘8缟é}{ï" {3430 10 /xy AB}xyŽŽŽŽ‘7G¤ŸäÅÚï" {-2714 F d}xyŽŽŽŽŽŽŽ‘3¹)Ÿæ*ï" {-2714 F d}xyŽŽŽŽŽŽŽ‘0*®ŸçBzï" {-2714 F d}xyŽŽŽŽŽŽŽ‘,œ3Ÿè€Êï" {-2714 F d}xyŽŽŽŽŽŽŽ‘) ¸Ÿé¿ï" {-2714 F d}xyŽŽŽŽŽŽŽ‘%=Ÿêýjï" {-2714 F d}xyŽŽŽŽŽŽŽ‘!ðŸì;ºï" {-2714 F d}xyŽŽŽŽŽŽŽ‘bGŸíz ï" {-2714 F d}xyŽŽŽŽŽŽŽ‘ÓÌŸî¸Zï" {-2714 F d}xyŽŽŽŽŽŽŽ‘EQŸïöªï" {-2714 F d}xyŽŽŽŽŽŽŽ‘¶ÖŸñ4úï" {-2714 F d}xyŽŽŽŽŽŽŽ‘([ŸòsJï" {-2714 F d}xyŽŽŽŽŽŽŽ‘ ™àŸó±šï" {-2714 F d}xyŽŽŽŽŽŽŽ‘ eŸôïêï" {-2714 F d}xyŽŽŽŽŽŽŽ‘|êŸö.:ï" {-2714 F d}xyŽŽŽŽŽŽŽ‘îoŸ÷lŠï" {-2714 F d}xyŽŽŽŽŽŽŽ‘þ_ôŸøªÚï" {-2714 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŸÆ®‘õŒWhen–‹®using“this“yš²!ou“m˜ust“spMÞecify“a“Ï{}Ž‘–°¹dumm˜y“Çh¹dirÇi¹ectional“in“order“to“ignore“one“of“the“tail,Ž¡‘õŒstem,–¦for“tip“compMÞonen²!ts,“Ðe¹.Ðg¹.,ަ‘õŒÏ\xy\ar–¿ª@{{}{+}>}“(20,7)\endxyŽŽŸ´ä‘õŒ¹t²!ypMÞesetsŽŸ£–’Áñmïps: SDict begin xyc end‘8缟é}{ï" {3430 10 /xy AB}xyŽŽŽŽ‘8缟é½ï " {3430 st}xyŽŽŽŽ‘6Š~ŸêQÉï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘3»fŸëP{ï " {3430 st}xyŽŽŽŽ‘1^(Ÿì ‡ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘.Ÿí9ï " {3430 st}xyŽŽŽŽ‘,1ÒŸíïEï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘)bºŸîí÷ï " {3430 st}xyŽŽŽŽ‘'|Ÿï¾ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘$6dŸð¼µï " {3430 st}xyŽŽŽŽ‘!Ù&ŸñŒÁï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ Ÿò‹sï " {3430 st}xyŽŽŽŽ‘¬ÐŸó[ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ݸŸôZ1ï " {3430 st}xyŽŽŽŽ‘€zŸõ*=ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘±bŸö(ïï " {3430 st}xyŽŽŽŽ‘T$Ÿöøûï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘… Ÿ÷÷­ï " {3430 st}xyŽŽŽŽ‘ 'ΟøÇ¹ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ X¶ŸùÆkï " {3430 st}xyŽŽŽŽ‘ûxŸú–wï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘,`Ÿû•)ï " {3430 st}xyŽŽŽŽ‘Ï"Ÿüe5ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽ Ÿýcçï " {3430 st}xyŽŽŽŽ‘ý¢ÌŸþ3óï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸÆ®‘õŒIn–ñLparticular“Ï*Çh¹ob››»jectÇi“¹is“a“Çh¹dirÇi“¹so“an²!y“Çh¹ob˜jectÇi“¹can“bMÞe“used“for“either“of“the“tail,–stem,“or‘ñLheadŽ¡‘õŒcompMÞonen²!t:ަ‘õŒÏ\xy\ar–¿ª@{*{x}*{y}*{z}}“(20,7)\endxyŽŽŸ´ä‘õŒ¹t²!ypMÞesetsŽŸ—S’¾ü,ïps: SDict begin xyc endžÃ§ÄxŽŽŽŽŽŽ‘9?VŸëØòzŽŽŽŽŽŽ‘3|hŸìëyŽŽŽŽŽ‘-]ŸïÀyŽŽŽŽŽ‘&RŸñIÕyŽŽŽŽŽ‘ GŸóŒêyŽŽŽŽŽ‘¤<ŸõÏÿyŽŽŽŽŽ‘.1ŸøyŽŽŽŽŽ‘ ¸&ŸúV)yŽŽŽŽŽ‘BŸü™>yŽŽŽŽŽŽŽŽŽŽ¤Æ®‘õŒÔNote:‘ÝݹA‘¦fÏ*Ž‘ v¹inš²!troMÞduces–¦fan“Çh¹ob‘›»jectÇi“¹whereas“the“directional“`ïps: SDict begin xyc end‘33Ÿü4ýÈŽŽŽŽŽŽŽŽŽ‘¹'“is“t˜ypMÞeset“b˜y“the“Çh¹dirÇi“Ï{*}Ž‘åd¹.ŽŸ!6k‘õŒÔExercise‘23.5:‘ ó5¹T²!ypMÞesetŽŸ£–’Áñmïps: SDict begin xyc end‘ý)¸ŸþaØï" {3430 10 /xy AB}xyŽŽŸýh0ï" {3430 10 /xy AB}xyŽŽŽŽ‘;¾ŸèƒÓï" {-666 10 /xy AB}xyŽŽ‘8缟é}{ï" {-666 10 /xy AB}xyŽŽŽŽ‘8缟é½ï" {-3572 st}xyŽŽŽŽ‘7É„Ÿë¾)ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘8缟é½ï " {3430 st}xyŽŽŽŽ‘6Š~ŸêQÉï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘3»fŸëP{ï" {-3572 st}xyŽŽŽŽ‘2.ŸíŒçï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘3»fŸëP{ï " {3430 st}xyŽŽŽŽ‘1^(Ÿì ‡ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘.Ÿí9ï" {-3572 st}xyŽŽŽŽ‘-pØŸï[¥ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘.Ÿí9ï " {3430 st}xyŽŽŽŽ‘,1ÒŸíïEï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘)bºŸîí÷ï" {-3572 st}xyŽŽŽŽ‘(D‚Ÿñ*cï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘)bºŸîí÷ï " {3430 st}xyŽŽŽŽ‘'|Ÿï¾ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘$6dŸð¼µï" {-3572 st}xyŽŽŽŽ‘#,Ÿòù!ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘$6dŸð¼µï " {3430 st}xyŽŽŽŽ‘!Ù&ŸñŒÁï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ Ÿò‹sï" {-3572 st}xyŽŽŽŽ‘ëÖŸôÇßï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ Ÿò‹sï " {3430 st}xyŽŽŽŽ‘¬ÐŸó[ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ݸŸôZ1ï" {-3572 st}xyŽŽŽŽ‘¿€Ÿö–ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ݸŸôZ1ï " {3430 st}xyŽŽŽŽ‘€zŸõ*=ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘±bŸö(ïï" {-3572 st}xyŽŽŽŽ‘“*Ÿøe[ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘±bŸö(ïï " {3430 st}xyŽŽŽŽ‘T$Ÿöøûï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘… Ÿ÷÷­ï" {-3572 st}xyŽŽŽŽ‘fÔŸú4ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘… Ÿ÷÷­ï " {3430 st}xyŽŽŽŽ‘ 'ΟøÇ¹ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ X¶ŸùÆkï" {-3572 st}xyŽŽŽŽ‘ :~Ÿü×ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘ X¶ŸùÆkï " {3430 st}xyŽŽŽŽ‘ûxŸú–wï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘,`Ÿû•)ï" {-3572 st}xyŽŽŽŽ‘(ŸýÑ•ï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘,`Ÿû•)ï " {3430 st}xyŽŽŽŽ‘Ï"Ÿüe5ï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ Ÿýcçï" {-3572 st}xyŽŽŽŽ‘þáÒž Sï" {-3572 F d}xyŽŽŽŽŽŽŽŽŽŽŽ Ÿýcçï " {3430 st}xyŽŽŽŽ‘ý¢ÌŸþ3óï" {3430 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¡‘õŒusing–¦fonly“one“Ï\arŽ‘‹Ê¹command.ŽŸbR‘ãŒ3.3o.ŽŽ=ÐCurving‘ê¹the–ñÿarro²!w“using“Ï/Ž‘ ±©Äd`Ï/Ž‘¿ª¹,›åwhere“Äd“¹is“a“Çh¹directionÇi“¹and“Ä`“¹a“Çh¹dimenÇi¹sion,˜mak²!es“the“stem“aޤ ™š‘õŒcurv•²!e›g]whic“h˜is˜similar˜to˜a˜straigh“t˜line˜but˜has˜had˜it's˜cen“ter˜pMÞoin“t˜`dragged'˜the˜distance˜Ä`˜¹in˜Äd¹:ŽŸ.†ç’£}ïps: SDict begin xyc end‘ŸàôRï" {2.0 0 360 o}xyŽŽŽŽŽ‘:缟Üï" {2.0 0 360 o}xyŽŽŽŽŽ‘Ÿýh0ïG" {mark 56.90521 -28.4526 35.11974 6.66765 0.0 28.4526 1.0 0.02417 q}xyŽŽŽ‘©AŸü»È"ŽŽŽŽŽ‘Ÿýh0ïK" {mark 56.90521 -28.4526 35.11974 6.66765 0.0 28.4526 0.02417 0.46298 q}xyŽŽŽ‘9¦YŸÝ8ï" {1673 10 /xy AB}xyŽŽŽŽ‘Ÿýh0ïK" {mark 56.90521 -28.4526 35.11974 6.66765 0.0 28.4526 0.53769 0.97144 q}xyŽŽŽ‘Ÿýh0ïG" {mark 56.90521 -28.4526 35.11974 6.66765 0.0 28.4526 1.0 0.97137 q}xyŽŽŽ‘Ÿýh0ïH" {mark 56.90521 -28.4526 21.78496 -6.66713 0.0 28.4526 1.0 0.02417 q}xyŽŽŽ‘þgŸ½–#ŽŽŽŽŽ‘Ÿýh0ïL" {mark 56.90521 -28.4526 21.78496 -6.66713 0.0 28.4526 0.02417 0.46231 q}xyŽŽŽ‘8èæŸš«ï" {2423 10 /xy AB}xyŽŽŽŽ‘Ÿýh0ïL" {mark 56.90521 -28.4526 21.78496 -6.66713 0.0 28.4526 0.53702 0.97144 q}xyŽŽŽ‘Ÿýh0ïH" {mark 56.90521 -28.4526 21.78496 -6.66713 0.0 28.4526 1.0 0.97137 q}xyŽŽŽ‘:缟àôRï" {2.0 0 360 o}xyŽŽŽŽŽ‘sÏxŸÜï" {2.0 0 360 o}xyŽŽŽŽŽ‘Ÿýh0ïL" {mark 113.81042 -28.4526 85.35756 9.4294 56.90521 28.4526 1.0 0.02905 q}xyŽŽŽ‘T壟újÅuŽŽŽŽ‘Ÿýh0ïP" {mark 113.81042 -28.4526 85.35756 9.4294 56.90521 28.4526 0.02905 0.46945 q}xyŽŽŽ‘rKΟÛWï" {1811 10 /xy AB}xyŽŽŽŽ‘Ÿýh0ïP" {mark 113.81042 -28.4526 85.35756 9.4294 56.90521 28.4526 0.52994 0.97339 q}xyŽŽŽ‘Ÿýh0ïL" {mark 113.81042 -28.4526 85.35756 9.4294 56.90521 28.4526 1.0 0.97345 q}xyŽŽŽ‘Ÿýh0ïN" {mark 113.81042 -28.4526 85.35756 -9.42888 56.90521 28.4526 1.0 0.02124 q}xyŽŽŽ‘U+¾Ÿæ3dŽŽŽŽ‘Ÿýh0ïR" {mark 113.81042 -28.4526 85.35756 -9.42888 56.90521 28.4526 0.02124 0.46158 q}xyŽŽŽ‘qÏTŸ«ï" {2365 10 /xy AB}xyŽŽŽŽ‘Ÿýh0ïR" {mark 113.81042 -28.4526 85.35756 -9.42888 56.90521 28.4526 0.53842 0.96484 q}xyŽŽŽ‘Ÿýh0ïM" {mark 113.81042 -28.4526 85.35756 -9.42888 56.90521 28.4526 1.0 0.9649 q}xyŽŽŽŽŽŽŽŸ.Ðà‘õŒ¹w•²!as›¦ft“ypMÞeset˜b“yަ‘õŒÏ\xyŽŽ¡‘ûKÃ\POS–¿ª(0,10)‘ T*\cir<2pt>{}“="a"ŽŽ¡‘ ŠÁ,–¿ª(20,-10)*\cir<2pt>{}“="b"ŽŽ¡‘ûKÃ\POS"a"–¿ª\ar“@/^1ex/“"b"|\uparrowŽŽ¡‘ûKÃ\POS"a"–¿ª\ar“@/_1ex/“"b"|\downarrowŽŽ¡‘õŒ%ŽŽ¡‘ûKÃ\POS–¿ª(20,10)“*\cir<2pt>{}“="a"ŽŽ¡‘ ŠÁ,–¿ª(40,-10)*\cir<2pt>{}“="b"ŽŽ¡‘ûKÃ\POS"a"–¿ª\ar“@/u1ex/“"b"|uŽŽ¡‘ûKÃ\POS"a"–¿ª\ar“@/d1ex/“"b"|dŽŽ¡‘õŒ\endxyŽŽŽŽŒ‹:¤A Á à ý*tj‘㌹314’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘õŒÄ`–¦f¹defaults“to“Ï.5pcŽ‘Kt¹if“omitted.ŽŸÔª‘õŒThis–‚is“really“just“a“shorthand“for“curving“using“the“more“general“form“describMÞed“next:‘¢Ï@/Ž‘!iÄd`Ï/Ž‘ È,¹isޤ ™š‘õŒthe–©'same“as“Ï@`{{**{}‘¿ª?+/Ž‘I¥Äd“¹2Ä`“Ï/}}Ž‘‘L¹whicš²!h“mak˜es“the“(quadratic)“curv˜e“pass“through“the“pMÞoin˜tŽ¡‘õŒde ned–¦fb²!y“the“Çh¹pMÞosÇi“Ï**{}‘¿ª?+/Ž‘1£¶Äd`Ï/Ž‘¿ª¹.ޤPˆ‘ãŒÃ1673Ž‘õŒÏ\xydef@\ar@curveslash/#1/{\expandafter\ar@curve@\ar@slashing{#1}}ŽŽ¡‘ãŒÃ1675Ž‘õŒÏ\xydef@\ar@slashing#1{{\xy@{**{}–¿ª?+/#1/+/#1/“@+c}{\setupDirection@ŽŽ¤ ™š‘ãŒÃ1676Ž‘ËÏ\vfromslide@{#1}%ŽŽ¡‘ãŒÃ1677Ž‘ËÏ\X@c=2\X@c–¿ª\advance\X@c\X@p“\advance\X@c.5\d@XŽŽ¡‘ãŒÃ1678Ž‘ËÏ\Y@c=2\Y@c–¿ª\advance\Y@c\Y@p“\advance\Y@c.5\d@YŽŽ¡‘ãŒÃ1679Ž‘ËÏ\czeroEdge@ŽŽ¡‘ãŒÃ1680Ž‘ËÏ\spushc@}}}ŽŽŸƨ‘㌹3.3p.ŽŽ‘©ùUsing–2Ï@(ÄdŸ¤zÂ2Ž‘ÀÏ,Ž‘ ®ÄdŸ¤zÂ2Ž‘ÀÏ)Ž‘±¯¹where“ÄdŸ¤zÂ1Ž‘ÀÄ;‘Ó1dŸ¤zÂ2Ž‘ò¹are“simple“Çh¹directionÇi¹s“(as“describMÞed“in“note“1.4l“except“it“is“notŽ¡‘õŒpšMÞossible–,lto“use“Ï()Ž‘«À¹s)“will“t²!yp˜eset“the“arroš²!w“curv˜ed“suc˜h“that“it“lea˜v˜es“the“source“in“direction“ÄdŸ¤zÂ1Ž‘ìp¹andŽ¡‘õŒen²!ters–¦fthe“target“from“direction“ÄdŸ¤zÂ2Ž‘À¹.ŽŸ æ/‘õŒÔExercise‘23.6:‘ ó5¹T²!ypMÞesetŽŸ-•’º5Úïps: SDict begin xyc end‘ ýž×ÇŽŽŽŽŽ‘ ºZŸýh0ïN" {mark 0.0 0.0 25.45587 25.45587 -25.45587 25.45587 0.0 0.0 1.0 0.03296 bz}xyŽŽŽ‘ tLŸúùï" {1900 10 /xy AB}xyŽŽŽŽ‘ ºZŸýh0ïR" {mark 0.0 0.0 25.45587 25.45587 -25.45587 25.45587 0.0 0.0 0.03296 0.96704 bz}xyŽŽŽ‘ ºZŸýh0ïM" {mark 0.0 0.0 25.45587 25.45587 -25.45587 25.45587 0.0 0.0 1.0 0.9671 bz}xyŽŽŽ‘BåIž×ŽŽŽŽŽ‘ ºZŸýh0ïS" {mark 0.0 0.0 25.45587 -25.45587 31.44934 25.45587 56.90521 0.0 1.0 0.03564 bt}xyŽŽŽ‘Bþ Ÿúùöï" {2210 10 /xy AB}xyŽŽŽŽ‘ ºZŸýh0ïW" {mark 0.0 0.0 25.45587 -25.45587 31.44934 25.45587 56.90521 0.0 0.03564 0.96448 bt}xyŽŽŽ‘ ºZŸýh0ïS" {mark 0.0 0.0 25.45587 -25.45587 31.44934 25.45587 56.90521 0.0 1.0 0.96448 bt}xyŽŽŽŽŽŽŽŸJÉ©Pˆ‘ãŒÃ1708Ž‘õŒÏ{\xyuncatcodes–¿ª\catcode`\#=6“%ŽŽ¡‘ãŒÃ1709Ž‘ûKÃÏ\gdef\next(#1,#2){{+/#1–¿ª3pc/,p+/#2“3pc/}}}ŽŽ¡‘ãŒÃ1710Ž‘õŒÏ\xylet@\ar@curveinout@=\nextŽŽ¦‘ãŒÃ1712Ž‘õŒÏ\xydef@\ar@curveinout{\expandafter\ar@curve@load\ar@curveinout@}ŽŽŸ‹˜‘õŒÔT‘þó\o‘2Do:‘Ýݹimplemenš²!t–¦fthis“ecien˜tly“and“propMÞerly“get“rid“of“the“no-Ï()Ž‘%º¹restriction!ŽŸº‘ãŒ3.3q.ŽŽ\The–)Ù nal“curvš²!e“form“is“the“most“general“one:‘äÂÏ@`{Ž‘#ÀÇh¹con˜trol“pMÞoin˜t“listsÇiÏ}Ž‘ 郹sets“the“con˜trol“pMÞoin˜tsŽ¡‘õŒexplicitly–÷Çto“the“ones“in“the“Çh¹conš²!trol“pMÞoin˜t“listsÇi“¹(where“they“should“bMÞe“separated“b˜y“Ï,Ž‘ ·q¹).‘ÑÿSee“theŽ¡‘õŒcurvš²!e–…áextension“describMÞed“in“Çx¹2.1“for“the“w˜a˜y“the“con˜trol“pMÞoin˜ts“are“used;‘¸when“the“con˜trol“pMÞoin˜tsŽ¡‘õŒlist–¦fis“parsed“Äp“¹is“the“source“and“Äc“¹the“target“of“the“arro²!w.ŽŸÔª‘õŒCurving–A#simply“uses“Ï\crvi“¹instead“of“Ï\dir¹.‘¼The“only“tricš²!ky“bit“is“to“put“the“con˜trol“pMÞoin˜ts“on“theŽ¡‘õŒstac•²!k‘¦frigh“t.ަ‘ãŒÃ1736Ž‘õŒÏ\xydef@\ar@curve{%ŽŽ¡‘ãŒÃ1737Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\ar@curve}%gobble“spacesŽŽ¡‘ãŒÃ1738Ž‘ûKÃÏ\else\ifx–¿ª\bgroup\next“\let\next@=\ar@curve@loadŽŽ¡‘ãŒÃ1739Ž‘ûKÃÏ\else\ifx–¿ª"\next“\DN@"##1"{\ar@curve@{"##1"}}%ŽŽ¡‘ãŒÃ1740Ž‘ûKÃÏ\else–¿ª\xyerror@{@=““must“be“followed“by“\string"\string"“orŽŽ¡‘ãŒÃ1741Ž‘#‰iÏ{}}{}%ŽŽ¡‘ãŒÃ1742Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1744Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2{\def#1##1{#2{;@={##1}}}}}ŽŽ¡‘ãŒÃ1745Ž‘õŒÏ\next\ar@curve@load\ar@curve@ŽŽ¦‘ãŒÃ1747Ž‘õŒÏ\xydef@\ar@curve@#1{\curve@checkŽŽ¡‘ãŒÃ1748Ž‘ûKÃÏ\setcurvearinit@{#1}\setcurvearexit@\arexit@@ŽŽ¡‘ãŒÃ1749Ž‘ûKÃÏ\def\arstemprefix@@{\crvi}\xyFN@\ar@}ŽŽ¦‘ãŒÃ1751Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next#1{\save“@(,#1\restore}}ŽŽŽŽŒ‹;Ãy Á à ý*tj‘ãŒÑ3.3.‘„CARR•²!O“W–¦fAND“P–ÿeA“TH‘¦fFEA“TURE’þ¹315ŽŽ ¶?? ýh«w‘ãŒÃ1752Ž‘õŒÏ\xylet@\setcurvearinit@i=\nextŽŽ¤ ™š‘ãŒÃ1753Ž‘õŒÏ\xydef@\setcurvearinit@#1{%ŽŽ¡‘ãŒÃ1754Ž‘ûKÃÏ\expandafter\addtoarinit@\expandafter{\setcurvearinit@i{#1}}}ŽŽ©Pˆ‘ãŒÃ1756Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next#1{\def#1{\POS“@i“@)“}}}ŽŽ¡‘ãŒÃ1757Ž‘õŒÏ\xylet@\setcurvearexit@=\nextŽŽ¦‘ãŒÃ1759Ž‘õŒÏ\xydef@\curve@check{%ŽŽ¡‘ãŒÃ1760Ž‘ûKÃÏ\xyerror@{Forms–¿ª@/.../,“@(...),“and“@`{...},“only“available“when“curveŽŽ¡‘ãŒÃ1761Ž‘#‰iÏextension‘¿ªloaded}{}}ŽŽ¡‘ãŒÃ1762Ž‘õŒÏ\xywithoption{curve}{\let\curve@check=\relax}ŽŽŸçý‘õŒÔT‘þó\o‘â4Do:‘ºî¹The–`ˆparsing“is“trivial“and“should“bšMÞe“extended“to“include“more“exotic“con²!trol“p˜oin²!t“forms.ŽŸÈ„‘ãŒ3.3r.ŽŽ‘þÞÏ@[Ž‘ ]ã¹.–Ó3.“.“Ï]Ž› ]ú¹and‘ËÏ@*{Ž‘ ¹.“.“.“Ï}Ž˜¹formations–Ëde ne“what“ob‘›»ject“Çh¹mošMÞdi erÇi¹s“should“b˜e“used“when“buildingŽ¡‘õŒob‘›»jects–‚that“are“part“of“the“arro²!w.‘®çThis“is“mostly“useful“in“conjunction“with“extensions“that“de neŽ¡‘õŒadditional‘ÿÏ[Ž– ¾¬Çh¹shapšMÞeÇiÏ]Ž“¹mo˜di ers,–)Ðe¹.Ðg¹.,“if–ÿa“Ï[red]Ž‘$¼VÇh¹mo˜di erÇi“¹c²!hanges“the“colour“of“an“ob‘›»ject“to“redŽ¡‘õŒthen‘ŽzÏ@[red]Ž‘+šð¹will–Žzmakš²!e“the“en˜tire“arro˜w“red;‘„similarly“if“it“is“desired“to“mak˜e“and“en˜tire“arro˜wŽ¡‘õŒin²!visible–¦fthen“Ï@*{i}Ž‘$ ¹can“bMÞe“used.ަ‘ãŒÃ1781Ž‘õŒÏ\xydef@\ar@modifiers#1{%ŽŽ¡‘ãŒÃ1782Ž‘ûKÃÏ\expandafter\def\expandafter\armodifiers@@\expandafter{\armodifiers@@#1}%ŽŽ¡‘ãŒÃ1783Ž‘ûKÃÏ\xyFN@\ar@}ŽŽŸr‘㌹3.3s.ŽŽ‘þæXÏ@<ÄDMÞÏ>Ž‘ ³î¹will–¦fslide“(eacš²!h“segmen˜t“of‘Ú)“the“arro˜w“the“dimension“ÄD‘ôD¹as“explained“in“note“3.3h.ަ‘ãŒÃ1794Ž‘õŒÏ{\xyuncatcodes–¿ª\catcode`\#=6“\catcode`\@=11“%ŽŽ¡‘ãŒÃ1795Ž‘ûKÃÏ\gdef\next<#1>{\def\arafterPOS@@{<#1>}\xyFN@\ar@}}ŽŽ¡‘ãŒÃ1796Ž‘õŒÏ\xylet@\ar@slide=\nextŽŽŸr‘㌹3.3t.ŽŽ‘þÖÆÏ@?‘Ýݹrevš²!erse–¦fthe“meaning“of“`abMÞo˜v˜e'“and“`bMÞelo˜w'“for“this“particular“arro˜w.ަ‘ãŒÃ1807Ž‘õŒÏ\xydef@\ar@upsidedown{\let\next=\PATHlabelabove@@ŽŽ¡‘ãŒÃ1808Ž‘ûKÃÏ\let\PATHlabelabove@@=\PATHlabelbelow@@‘¿ª\let\PATHlabelbelow@@=\next}ŽŽŸ‹-‘ôŒ¹All–¦fthe“features“of“Çh¹pathÇi¹s“describšMÞed“ab˜o•²!v“e–¦fare“aš²!v‘ÿdDailable“for“arro˜ws.ŽŸ•Œ‘ãŒÞEnd–€&“logŽŸmü‘ãŒÃ1823Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ1825Ž‘õŒÏ%–¿ª$Log:“xyarrow.doc,v“$ŽŽ¡‘ãŒÃ1826Ž‘õŒÏ%–¿ªRevision“3.5› T1997/05/28“13:05:01˜krisroseŽŽ¡‘ãŒÃ1827Ž‘õŒÏ%–¿ªFixed“missing“breaks“bug.ŽŽ¡‘ãŒÃ1828Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1829Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:14:25˜krisroseŽŽ¡‘ãŒÃ1830Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ1831Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1832Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ1833Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ1834Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1835Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:22:27“krisŽŽ¡‘ãŒÃ1836Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ1837Ž‘õŒÏ%ŽŽŽŽŒ‹<Òý Á à ý*tj‘㌹316’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1838Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:31:32“krisŽŽ¤ ™š‘ãŒÃ1839Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ1840Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1841Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ1842Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1843Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1844Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ1845Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ1846Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1847Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ1848Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ1849Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1850Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“10:37:32“krisŽŽ¡‘ãŒÃ1851Ž‘õŒÏ%–¿ªThird“3beta“release“[bug“fixes].ŽŽ¡‘ãŒÃ1852Ž‘õŒÏ%–¿ªExperimental“graph“feature“included“(for“ECCT-94“presentation).ŽŽ¡‘ãŒÃ1853Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1854Ž‘õŒÏ%–¿ªRevision“2.10– T1994/06/15“12:55:07“krisŽŽ¡‘ãŒÃ1855Ž‘õŒÏ%–¿ªSecond“3beta“release:“bug“fixes.ŽŽ¡‘ãŒÃ1856Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1857Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“14:59:19“krisŽŽ¡‘ãŒÃ1858Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ1859Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1860Ž‘õŒÏ%–¿ªRevision“2.8– T1994/04/08“04:30:00“krisŽŽ¡‘ãŒÃ1861Ž‘õŒÏ%–¿ªSecond“(bug“fix)“3alpha“release.ŽŽ¡‘ãŒÃ1862Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1863Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/08“10:25:18“krisŽŽ¡‘ãŒÃ1864Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ1865Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1866Ž‘õŒÏ%–¿ªRevision“2.6.9.1– T1994/03/07“04:22:46“krisŽŽ¡‘ãŒÃ1867Ž‘õŒÏ%–¿ªLast“internal“3alpha“and“pre-2.7“release.ŽŽ¡‘ãŒÃ1868Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1869Ž‘õŒÏ%–¿ªNEW“for“version“2.7“based“of“path“and“arrow“code“in“xypic.doc“2.6.1.1.ŽŽŸˆ¿‘ãŒÝ3.4Ž‘r|TwŒÌo-cell‘fffeatureŽŸq‹‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ«ÿ‘㌹This–Þêfeature“is“designed“to“facilitate“the“tš²!ypMÞesetting“of“curv˜ed“arro˜ws,›Ïeither“singly“or“in“pairs,˜togetherŽ¡‘ãŒwith–CèlabšMÞels“on“eac²!h“part“and“b˜et•²!w“een.‘½The›Cèin“tended˜mathematical˜usage˜is˜for˜t“ypMÞesetting˜categoricalŽ¡‘ãŒ\2-cell"–Ëmorphisms“and“\pasting“diagrams",‘5dfor“whicš²!h“spMÞecial“features“are“pro˜vided.‘5 These“featuresŽ¡‘ãŒalso–¦falloš²!w“attractiv˜e“non-mathematical“e ects.ŽŸ]¨‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xy2cell.doc,v“3.3“1996/12/18“14:21:23“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``2-cell''“feature.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽŽŽŒ‹=Þ” Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹317ŽŽ ¶?? ýh«w‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¤ ™š‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“macro“package;“if“not,“write“to“the“Free“Software“Foundation,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ªInc.,“675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{2cell}{Two-cell–¿ªfeature}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸQ‘ôŒ¹The–âÝ2-cell“feature“makš²!es“use“of“facilities“from“the“`curv˜e'“extension“whic˜h“is“therefore“automaticallyŽ¡‘ãŒloaded.ަ‘ãŒÃ49Ž‘õŒÏ\xyrequire{curve}\xycatcodesŽŽŸ!³É‘ãŒÞ3.4.1Ž‘ ÌT yp`esetting–€2-cells“in“DiagramsŽŸ«ÿ‘㌹Categorical–L…\2-cell"“morphisms“are“used“in“the“study“of“tensor“categories“and“elsewhere.‘Ð;The“mor-Ž¡‘ãŒphisms–Íare“displa•²!y“ed–Ías“a“pair“of“curvš²!ed“arro˜ws,›;§symmetrically“placed,˜together“with“an“orien²!tationŽ¡‘ãŒindicated–¦fbš²!y“a“short“broad“arro˜w,“or“ÐA¸\rr‘ÿp¹ow¹.‘ÝÝLabMÞels“ma˜y“bšMÞe“placed“on“all“three“comp˜onen²!ts.ަ‘ãŒÃ64Ž‘õŒÏ\message{two-cells,}ŽŽ¦‘ôŒÔBug:‘ÝݹThis–¦fdoMÞcumenš²!t“still“uses“v˜ersion“2-st˜yle“commmands,“as“describšMÞed“in“app˜endix“B.1.Ž¡ŸƒéŸýÊP’©;kïps: SDict begin xyc end‘Ÿ½ÂÄAŽŽŽŽŽŽ‘3ï<" {mark 73.7934 0.0 36.8967 17.5 0.0 0.0 0.09628 0.9046 q}xyŽŽŽ‘)…1Ÿô@ÅfŽŽŽŽŽ‘IÛŸüúTï" {2681 10 /xy AB}xyŽŽŽŽ‘3ï=" {mark 73.7934 0.0 36.8967 -17.5 0.0 0.0 0.09628 0.9046 q}xyŽŽŽ‘)ÖBŸ±ÇgŽŽŽŽŽ‘IÛŸ¬ï" {3463 10 /xy AB}xyŽŽŽŽ‘-ÀŸúþÀï" {1024 F d}xyŽŽŽŽŽŽ‘+ŸúþÀï" {1024 F d}xyŽŽŽŽŽŽŽ‘-ÀŸý~Àï" {1024 F d}xyŽŽŽŽŽŽ‘+Ÿý~Àï" {1024 F d}xyŽŽŽŽŽŽŽ‘,ÁŸþÀï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘LxÝŸ½ÂÄBŽŽŽŽŽŽŽŽŽŽŽŽŸ#ËZ‘ãŒÏ\diagramŽŽ¡‘ãŒA\rtwocell^f_g‘¿ª&B\\ŽŽ¡‘ãŒ\enddiagramŽŽ¦Ÿ&¼ÌŸýC4’©;kïps: SDict begin xyc end‘Ÿ½ÂÄAŽŽŽŽŽŽ‘3ï<" {mark 73.7934 0.0 36.8967 35.0 0.0 0.0 0.09628 0.9046 q}xyŽŽŽ‘)…1Ÿë€ÅfŽŽŽŽŽ‘IÛŸùôªï" {2289 10 /xy AB}xyŽŽŽŽ‘-ÀŸò>Àï" {1024 F d}xyŽŽŽŽŽŽ‘+Ÿò>Àï" {1024 F d}xyŽŽŽŽŽŽŽ‘-ÀŸô¾Àï" {1024 F d}xyŽŽŽŽŽŽ‘+Ÿô¾Àï" {1024 F d}xyŽŽŽŽŽŽŽ‘,ÁŸü>Àï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘/EôŸøøã ŽŽŽŽŽ‘3ï=" {mark 73.7934 0.0 36.8967 -35.0 0.0 0.0 0.09628 0.9046 q}xyŽŽŽ‘IÛŸ Vï" {3855 10 /xy AB}xyŽŽŽŽ‘)ÉŸGhŽŽŽŽŽ‘-ÀŸ¾Àï" {1024 F d}xyŽŽŽŽŽŽ‘+Ÿ¾Àï" {1024 F d}xyŽŽŽŽŽŽŽ‘-ÀŸ>Àï" {1024 F d}xyŽŽŽŽŽŽ‘+Ÿ>Àï" {1024 F d}xyŽŽŽŽŽŽŽ‘,ÁŸ ¾Àï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘/i¢Ÿ À ŽŽŽŽŽ‘6gï" {0.0 0.0 l}xyŽŽŽ‘Ä´ŸqÇgŽŽŽŽŽŽŽŽ‘IÛ3ï" {3072 10 /xy AB}xyŽŽŽŽŽ‘IÛ3ï" {59.64374 0.0 l}xyŽŽŽ‘IÛ3ï" {0.0 0.0 l}xyŽŽŽ‘LxÝŸ½ÂÄBŽŽŽŽŽŽŽŽŽŽŽŽŸ3>‘ãŒÏ\diagramŽŽ¡‘ãŒA\ruppertwocell^f{\alpha}ŽŽŽŽŒ‹>é_ Á à ý*tj‘㌹318’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ï mÏ\rlowertwocell_h{\beta}ŽŽ¤ ™š‘ï m\rto_(.35)g–¿ª&“B\\ŽŽ¡‘ãŒ\enddiagramŽŽ©Pˆ‘ôŒ¹These–_categorical“diagrams“frequenš²!tly“ha˜v˜e“a“matrix-lik˜e“la˜y˜out,‘9Ýas“with“comm˜utativ˜e“diagrams.Ž¡‘ãŒT‘ÿeo–Àçfacilitate“this“there“are“con²!trol“sequences“of“the“form:‘ÞÏ\rtwocellŽ‘<¿¹,‘LJÏ\ultwocellŽ‘A¹,‘LJÏ\xtwocellŽ‘;Eh¹,‘LJ.–Ó3.“.Ž¡‘ãŒanalogous–÷cto“the“names“de ned“in“Ïxyv2Ž‘ín¹for“use“in“diagrams“proMÞduced“using“ÏxymatrixŽ‘0ô³¹.‘£‡As“this“in•²!v“olv“esŽ¡‘ãŒthe–=de nition“of“21“new“conš²!trol“sequences,‘22man˜y“of“whic˜h“ma˜y“nev˜er“bMÞe“used,‘22these“are“not“de nedŽ¡‘ãŒimmediately–¦fupšMÞon“loading“Ïxy2cellŽ‘+ä ¹.‘ÝÝInstead“the“user“m²!ust“ rst“sp˜ecify“Ï\UseTwocellsŽ‘H¢^¹.Ž¡‘ôŒAs–:ûin“the“second“example“abšMÞo•²!v“e,‘Pwjust–:ûthe“upp˜er“or“lo•²!w“er›:ûcurv“ed˜arro“w˜ma“y˜bMÞe˜set˜using˜con“trol˜se-Ž¡‘ãŒquences–nïof“the“form“Ï\..uppertwocellŽ‘[Ô¹and“Ï\..lowertwocellŽ‘X©å¹.‘v These“together“with“the“Ï\..compositemapŽŽ¡‘㌹family‘ÿe,‘Òƒin–Šwhicš²!h“t˜w˜o“abutting“arro˜ws“are“set“with“an“empt˜y“ob‘›»ject“at“the“join,‘Òƒallo˜w“for“the“constructionŽ¡‘ãŒof–¦fcomplicated“\pasting“diagrams"“(see“ gure“3.3“for“an“example).Ž¡‘ôŒThe–¦ffolloš²!wing“initialise“the“families“of“con˜trol“sequences“for“use“in“matrix“diagrams.Ž¡‘㌟ ¸T‰ffã²dŸ h‘ER§Ï\UseTwocellsŽŽ’·yÀ¹t•²!w“o‘¦fcurv“esŽŽŽŽ¡‘ER§Ï\UseHalfTwocellsŽŽ’·yÀ¹one‘¦fcurv²!eŽŽŽŽ¡‘ER§Ï\UseCompositeMapsŽŽ’·yÀ¹2–¦farro²!ws,“end-to-endŽŽŽŽ¡‘ER§Ï\UseAllTwocellsŽŽ’·yÀ¹(all–¦fthe“abMÞo•²!v“e)ŽŽŽŽŸ]à‰ffã²dŸ Qî¦Ã126Ž‘Ï\xydef@\UseTwocells{\definesupermorphism{twocell}{%ŽŽ¡Ã127Ž‘¿ªÏ\xy@{start–¿ªof“2-cell}{\begingroup}%ŽŽ¡Ã128Ž‘¿ªÏ\twocell@}}ŽŽ¦Ã130Ž‘Ï\xydef@\UseHalfTwocells{%ŽŽ¡Ã131Ž‘¿ªÏ\definesupermorphism{uppertwocell}{%ŽŽ¡Ã132Ž‘TÏ\xy@{start–¿ªof“2-cell}{\begingroup}%ŽŽ¡Ã133Ž‘TÏ\uppertwocell@}%ŽŽ¡Ã134Ž‘¿ªÏ\definesupermorphism{lowertwocell}{%ŽŽ¡Ã135Ž‘TÏ\xy@{start–¿ªof“2-cell}{\begingroup}%ŽŽ¡Ã136Ž‘TÏ\lowertwocell@}}ŽŽ¦Ã138Ž‘Ï\xydef@\UseCompositeMaps{\definesupermorphism{compositemap}{%ŽŽ¡Ã139Ž‘TÏ\xy@{start‘¿ªcomposite-map}{\begingroup}%ŽŽ¡Ã140Ž‘TÏ\compositemap@}}ŽŽ¦Ã142Ž‘Ï\xydef@\UseAllTwocells{%ŽŽ¡Ã143Ž‘¿ªÏ\UseTwocells–¿ª\UseHalfTwocells“\UseCompositeMaps“}ŽŽ¦‘¹The–Fhfamilies“of“connections“are“de ned“using“the“utilitš²!y“macro.–Ó3.“.“Ï\definesupermorphismŽ‘yã¹whic˜hŽ¡de nes–¦fconš²!trol“sequences“for“morphisms“bMÞet˜w˜een“neigh˜bMÞouring“cells,“and“next-to-neigh˜bMÞouring“cells.Ž¡‘More–=àdistan²!t“cells“use“Ï\xtwocellŽ‘7úÚ¹,‘c¾Ï\xcompositemapŽ‘Tß ¹,‘c¾etc.›¤Kwith“Çh¹hopÇi¹s“e.g.˜Ï\xtwocell[1,3]Ž‘[]w¹andŽ¡Ï\xtwocell[llddd]Ž‘[ú ¹.ަÃ160Ž‘Ï\xydef@\supermorphism#1[#2]#3{\def\afterMORPHISM{[#2]#3}#1}ŽŽ¡Ã161Ž‘Ï\xydef@\afterMORPHISM{}ŽŽ¦Ã163Ž‘Ï\xydef@\definesupermorphism#1#2{%ŽŽ¡Ã164Ž‘¿ªÏ\expandafter\def\csname‘¿ªx#1\endcsname{\supermorphism{#2}}%ŽŽ¡Ã165Ž‘¿ªÏ\expandafter\def\csname‘¿ªu#1\endcsname{\supermorphism{#2}[-1,0]{}}%ŽŽ¡Ã166Ž‘¿ªÏ\expandafter\def\csname‘¿ªd#1\endcsname{\supermorphism{#2}[1,0]{}}%ŽŽ¡Ã167Ž‘¿ªÏ\expandafter\def\csname‘¿ªl#1\endcsname{\supermorphism{#2}[0,-1]{}}%ŽŽ¡Ã168Ž‘¿ªÏ\expandafter\def\csname‘¿ªr#1\endcsname{\supermorphism{#2}[0,1]{}}%ŽŽŽŽŒ‹?ø— Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹319ŽŽ ¶?? ýh«w‘ãŒÃ169Ž‘ûKÃÏ\expandafter\def\csname‘¿ªuu#1\endcsname{\supermorphism{#2}[-2,0]{}}%ŽŽ¤ ™š‘ãŒÃ170Ž‘ûKÃÏ\expandafter\def\csname‘¿ªdd#1\endcsname{\supermorphism{#2}[2,0]{}}%ŽŽ¡‘ãŒÃ171Ž‘ûKÃÏ\expandafter\def\csname‘¿ªll#1\endcsname{\supermorphism{#2}[0,-2]{}}%ŽŽ¡‘ãŒÃ172Ž‘ûKÃÏ\expandafter\def\csname‘¿ªrr#1\endcsname{\supermorphism{#2}[0,2]{}}%ŽŽ¡‘ãŒÃ173Ž‘ûKÃÏ\expandafter\def\csname‘¿ªur#1\endcsname{\supermorphism{#2}[-1,1]{}}%ŽŽ¡‘ãŒÃ174Ž‘ûKÃÏ\expandafter\def\csname‘¿ªul#1\endcsname{\supermorphism{#2}[-1,-1]{}}%ŽŽ¡‘ãŒÃ175Ž‘ûKÃÏ\expandafter\def\csname‘¿ªdr#1\endcsname{\supermorphism{#2}[1,1]{}}%ŽŽ¡‘ãŒÃ176Ž‘ûKÃÏ\expandafter\def\csname‘¿ªdl#1\endcsname{\supermorphism{#2}[1,-1]{}}%ŽŽ¡‘ãŒÃ177Ž‘ûKÃÏ\expandafter\def\csname‘¿ªuul#1\endcsname{\supermorphism{#2}[-2,-1]{}}%ŽŽ¡‘ãŒÃ178Ž‘ûKÃÏ\expandafter\def\csname‘¿ªuur#1\endcsname{\supermorphism{#2}[-2,1]{}}%ŽŽ¡‘ãŒÃ179Ž‘ûKÃÏ\expandafter\def\csname‘¿ªull#1\endcsname{\supermorphism{#2}[-1,-2]{}}%ŽŽ¡‘ãŒÃ180Ž‘ûKÃÏ\expandafter\def\csname‘¿ªurr#1\endcsname{\supermorphism{#2}[-1,2]{}}%ŽŽ¡‘ãŒÃ181Ž‘ûKÃÏ\expandafter\def\csname‘¿ªddl#1\endcsname{\supermorphism{#2}[2,-1]{}}%ŽŽ¡‘ãŒÃ182Ž‘ûKÃÏ\expandafter\def\csname‘¿ªddr#1\endcsname{\supermorphism{#2}[2,1]{}}%ŽŽ¡‘ãŒÃ183Ž‘ûKÃÏ\expandafter\def\csname‘¿ªdll#1\endcsname{\supermorphism{#2}[1,-2]{}}%ŽŽ¡‘ãŒÃ184Ž‘ûKÃÏ\expandafter\def\csname‘¿ªdrr#1\endcsname{\supermorphism{#2}[1,2]{}}%ŽŽ¡‘ãŒÃ185Ž‘ûKÃÏ\expandafter\def\csname‘¿ªuull#1\endcsname{\supermorphism{#2}[-2,-2]{}}%ŽŽ¡‘ãŒÃ186Ž‘ûKÃÏ\expandafter\def\csname‘¿ªuurr#1\endcsname{\supermorphism{#2}[-2,2]{}}%ŽŽ¡‘ãŒÃ187Ž‘ûKÃÏ\expandafter\def\csname‘¿ªddll#1\endcsname{\supermorphism{#2}[2,-2]{}}%ŽŽ¡‘ãŒÃ188Ž‘ûKÃÏ\expandafter\def\csname‘¿ªddrr#1\endcsname{\supermorphism{#2}[2,2]{}}}ŽŽŸ‘ôŒ¹Alternativ²!ely–SÞ2-cells“can“bMÞe“set“directly“in‘;ˆX‘ü·ŸâÃYŽŽ‘ºè-pictures“without“using“the“matrix“feature.‘æEIn“thisŽ¡‘ãŒcase–¦fthe“abšMÞo•²!v“e–¦fcommands“are“not“needed.‘ÝÝThis“is“describ˜ed“in“Çx¹3.4.6.Ž¡‘ôŒF‘ÿeurthermore–Ÿ_a“new“directional“Ï\dir{=>}Ž‘5<¹can“bMÞe“used“to“place“an“\Arroš²!w"“an˜ywhere“in“a“picture,Ž¡‘ãŒafter–¦fthe“direction“has“bšMÞeen“established“appropriately‘ÿe.‘ÝÝIt“is“used“with“all“of“the“2-cell“t²!yp˜es.ޤPˆ‘ãŒÃ205Ž‘õŒÏ\newdir{=>}{!/5pt/\dir{=}!/2.5pt/\dir{=}*!/-5pt/\dir2{>}}ŽŽ¡‘ãŒÃ207Ž‘õŒÏ\xydef@\arrowobject#1{\def\Arrowobject@{#1}}ŽŽ¤ ™š‘ãŒÃ208Ž‘õŒÏ\xydef@\Arrowobject@{\dir{=>}}ŽŽŸ!”4‘ãŒÔDefault‘CpY‹ositions:‘ ó5¹These–“jset“up“default“v‘ÿdDalues“for“the“parameters“whic²!h“spšMÞecify“the“p˜osition“ofŽ¡‘ãŒeac•²!h›¦fcompMÞonen“t˜as˜w“ell˜as˜the˜ ags˜to˜indicate˜what˜t“yp•MÞe˜of˜2-cell˜is˜to˜b“e˜t²!yp“eset.Ž¡‘㌟ í‰ffã²dŸ<qŸÐaì‘VmˆÏ\toks6ŽŽ’„ë…¹pšMÞosition–¦fof“con²!trol“p˜oin²!t,“normal“to“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘ŒB¹at“midp˜oin²!tŽŽ¤ ™™‘VmˆÏ\toks5ŽŽ’„ë…¹pMÞosition–¦fof“cenš²!tral“Arro˜wŽŽ¡‘VmˆÏ\toks7ŽŽ’„ë…¹pšMÞosition–¦fof“Ï^Ž‘ v¹lab˜elŽŽ¡‘VmˆÏ\toks8ŽŽ’„ë…¹pšMÞosition–¦fof“Ï_Ž‘ v¹lab˜elŽŽ¡‘VmˆÏ\toks3ŽŽ’„ë…¹ ag–¦ffor“n•²!um“bMÞer–¦fof“pieces...ŽŽ¡‘jFLÏfŽŽ’„ë…¹fŽ’„ë…Ÿ™”‰feX‰Ž’ˆDull:–ÝÝi.e.“bMÞoth–¦fcurvš²!ed“arro˜wsŽŽ¡‘jFLÏoŽŽ’„ë…¹oŽ’„ë…Ÿ™”‰feyšŽ’Šene:‘ÝÝÏ\uppertwocellŽ‘S?å¹or‘¦fÏ\lowertwocellŽŽŽ¡‘jFLtŽŽ’„ë…¹tŽ’„ë…Ÿ™”‰feB#Ž’‰-¨w²!o‘¦fmaps:‘ÝÝÏ\compositemapsŽŽŽŽŽŽŽŸ7?‰ffã²dŸ ¡‡¡@Ž‘ f¹means–¦fto“calculate“from“the“v‘ÿdDalue“in“Ï\toks6Ž‘&$b¹,“see“Ï\tw@cell@@@Ž‘Bâ´¹.ŽŸPˆÃ267Ž‘Ï\xydef@\twocell@{\toks6={3.5}\toks5={@}\toks7={@}\toks8={@}\toks3={f}%ŽŽ¡Ã268Ž‘¿ªÏ\tw@cell@‘¿ª}ŽŽ¡Ã269Ž‘Ï\xydef@\uppertwocell@{\toks6={7}\toks5={@}\toks7={@}\toks8={@}\toks3={o}%ŽŽ¡Ã270Ž‘¿ªÏ\tw@cell@‘¿ª}ŽŽ¡Ã271Ž‘Ï\xydef@\lowertwocell@{\toks6={-7}\toks5={@}\toks7={@}\toks8={@}\toks3={o}%ŽŽŽŽŒ‹@ü Á à ý*tj‘㌹320’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ272Ž‘ûKÃÏ\tw@cell@‘¿ª}ŽŽ¤ ™š‘ãŒÃ273Ž‘õŒÏ\xydef@\compositemap@{\toks6={3.5}\toks5={@}\toks7={@}\toks8={@}\toks3={t}%ŽŽ¡‘ãŒÃ274Ž‘ûKÃÏ\tw@cell@‘¿ª}ŽŽŸjU‘ôŒ¹This–¦fcollects“together“all“the“relev‘ÿdDanš²!t“data,“and“resolv˜es“the“default“pMÞositions.ŽŸPˆ‘ãŒÃ281Ž‘õŒÏ\xydef@\tw@cell@@@{%ŽŽ¡‘ãŒÃ282Ž‘ûKÃÏ\expandafter\ifx\the\toks6\omit\relax\toks6={}\elseŽŽ¡‘ãŒÃ283Ž‘õŒÏ%ŽŽ¡‘ãŒÃ284Ž‘õŒÏ%‘þ¨default–¿ªposition“of“label“on“upper“arrow,ŽŽ¡‘ãŒÃ285Ž‘õŒÏ%‘þ¨relative–¿ªto“where“it“meets“the“perpendicular“bisectorŽŽ¡‘ãŒÃ286Ž‘õŒÏ%ŽŽ¡‘ãŒÃ287Ž‘ûKÃÏ\expandafter\ifx\expandafter‘¿ª@\the\toks7\relax\expandafter\dimen@\the\toks6\p@ŽŽ¡‘ãŒÃ288Ž‘ mÏ\expandafter\if\the\toks3t\relax\dimen@=\p@ŽŽ¡‘ãŒÃ289Ž‘ mÏ\else\expandafter\if\the\toks3o\divide\dimen@\tw@ŽŽ¡‘ãŒÃ290Ž‘ËÏ\ifdim\dimen@<\z@–¿ª\dimen@ii-\p@“\advance\dimen@ii\dimen@ŽŽ¡‘ãŒÃ291Ž‘ ŠÁÏ\dimen@=\dimen@ii–¿ª\else“\dimen@\p@“\fiŽŽ¡‘ãŒÃ292Ž‘ËÏ\else\dimen@\p@ŽŽ¡‘ãŒÃ293Ž‘ mÏ\fi\fiŽŽ¡‘ãŒÃ294Ž‘ mÏ\edef\tmp@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ295Ž‘ mÏ\expandafter\toks\expandafter7\expandafter{\tmp@}\fiŽŽ¡‘ãŒÃ296Ž‘õŒÏ%ŽŽ¡‘ãŒÃ297Ž‘õŒÏ%‘þ¨default–¿ªposition“of“label“on“lower“arrow,ŽŽ¡‘ãŒÃ298Ž‘õŒÏ%‘þ¨relative–¿ªto“where“it“meets“the“perpendicular“bisectorŽŽ¡‘ãŒÃ299Ž‘õŒÏ%ŽŽ¡‘ãŒÃ300Ž‘ûKÃÏ\expandafter\ifx\expandafter‘¿ª@\the\toks8\relaxŽŽ¡‘ãŒÃ301Ž‘ mÏ\expandafter\dimen@\the\toks6\p@ŽŽ¡‘ãŒÃ302Ž‘ mÏ\expandafter\if\the\toks3t\relax\dimen@\p@ŽŽ¡‘ãŒÃ303Ž‘ mÏ\else\expandafter\if\the\toks3o\divide\dimen@\tw@ŽŽ¡‘ãŒÃ304Ž‘ËÏ\ifdim\dimen@<\z@–¿ª\dimen@ii-\p@“\advance\dimen@ii\dimen@ŽŽ¡‘ãŒÃ305Ž‘ ŠÁÏ\dimen@=\dimen@ii–¿ª\else“\dimen@\p@“\fiŽŽ¡‘ãŒÃ306Ž‘ËÏ\else\dimen@\p@ŽŽ¡‘ãŒÃ307Ž‘ mÏ\fi\fiŽŽ¡‘ãŒÃ308Ž‘ mÏ\edef\tmp@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ309Ž‘ mÏ\expandafter\toks\expandafter8\expandafter{\tmp@}\fiŽŽ¡‘ãŒÃ310Ž‘õŒÏ%ŽŽ¡‘ãŒÃ311Ž‘õŒÏ%‘ Tdefault–¿ªposition“of“the“Arrow,“relative“to“midpointŽŽ¡‘ãŒÃ312Ž‘õŒÏ%ŽŽ¡‘ãŒÃ313Ž‘ûKÃÏ\expandafter\ifx\expandafter‘¿ª@\the\toks5\relaxŽŽ¡‘ãŒÃ314Ž‘ mÏ\expandafter\dimen@\the\toks6\p@ŽŽ¡‘ãŒÃ315Ž‘ mÏ\expandafter\if\the\toks3o\divide\dimen@‘¿ªby-4\relaxŽŽ¡‘ãŒÃ316Ž‘ËÏ\else\dimen@\z@\fiŽŽ¡‘ãŒÃ317Ž‘ mÏ\edef\tmp@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ318Ž‘ mÏ\expandafter\toks\expandafter5\expandafter{\tmp@}\fiŽŽ¡‘ãŒÃ319Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ320Ž‘õŒÏ%ŽŽ¡‘ãŒÃ321Ž‘õŒÏ%‘>þpossible–¿ªmodifications“for“module“mapsŽŽ¡‘ãŒÃ322Ž‘õŒÏ%ŽŽ¡‘ãŒÃ323Ž‘ûKÃÏ\twocellmod@ŽŽ¡‘ãŒÃ324Ž‘õŒÏ%ŽŽ¡‘ãŒÃ325Ž‘õŒÏ%‘>þpass–¿ªall“the“parameters“to‘ T|\twocell@@@@|ŽŽŽŽŒ‹A} Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹321ŽŽ ¶?? ýh«w‘ãŒÃ326Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ327Ž‘ûKÃÏ\expandafter\if\the\toks3t\relaxŽŽ¡‘ãŒÃ328Ž‘õŒÏ%ŽŽ¡‘ãŒÃ329Ž‘õŒÏ%–>þcomposed›¿ªmaps:“^˜:˜first˜map“_˜:˜second˜mapŽŽ¡‘ãŒÃ330Ž‘õŒÏ%ŽŽ¡‘ãŒÃ331Ž‘ mÏ\edef\tmp@{.[\noexpand\twocell@@@@{\the\toks6}{\the\toks5}%ŽŽ¡‘ãŒÃ332Ž‘ËÏ{\the\toks7}{\the\toks8}{\the\toks3}%ŽŽ¡‘ãŒÃ333Ž‘ËÏ{\the\toks2}{\the\toks1}{\the\toks@}{\the\toks4}!!!].\afterMORPHISM}%ŽŽ¡‘ãŒÃ334Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ335Ž‘õŒÏ%ŽŽ¡‘ãŒÃ336Ž‘õŒÏ%‘þ¨curved‘¿ªarrow(s)ŽŽ¡‘ãŒÃ337Ž‘õŒÏ%ŽŽ¡‘ãŒÃ338Ž‘ mÏ\edef\tmp@{.[\noexpand\twocell@@@@{\the\toks6}{\the\toks5}%ŽŽ¡‘ãŒÃ339Ž‘ËÏ{\the\toks7}{\the\toks8}{\the\toks3}%ŽŽ¡‘ãŒÃ340Ž‘ËÏ{\the\toks1}{\the\toks2}{\the\toks@}{\the\toks4}!!!].\afterMORPHISM}%ŽŽ¡‘ãŒÃ341Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ342Ž‘ûKÃÏ\toks@={\endgroup}%ŽŽ¡‘ãŒÃ343Ž‘ûKÃÏ\expandafter\def\expandafter\next@\expandafter{%ŽŽ¡‘ãŒÃ344Ž‘ûKÃÏ\expandafter\def\expandafter\twocellhead@\expandafter{\twocellhead@}}%ŽŽ¡‘ãŒÃ345Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\next@}%ŽŽ¡‘ãŒÃ346Ž‘ûKÃÏ\expandafter\def\expandafter\next@\expandafter{%ŽŽ¡‘ãŒÃ347Ž‘ûKÃÏ\expandafter\def\expandafter\twocelltail@\expandafter{\twocelltail@}}%ŽŽ¡‘ãŒÃ348Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\next@}%ŽŽ¡‘ãŒÃ349Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter\twocellPATH\tmp@}%ŽŽ¡‘ãŒÃ350Ž‘ûKÃÏ\the\toks@‘¿ª}%ŽŽŸ3ý‘ôŒ¹See–¦fbšMÞelo²!w“for“the“p˜ossible“forms“of“Ï\twocellPATHŽ‘H¢^¹.ŽŸ}‘ôŒLabšMÞels–B7are“placed“lab˜els“on“the“upp˜er“and“lo•²!w“er›B7arro“ws,‘V@more˜correctly˜`an“ti-cloMÞc“kwise'˜and˜`cloMÞc“k-Ž¡‘ãŒwise',‘¶˜using‘€(Ï^Ž‘¿ú¹and‘€(Ï_Ž‘ ?Ò¹.‘k#These–€(are“enš²!tirely“optional“with“the“follo˜wing“tok˜en,›¶˜or“grouping,˜giving“theŽ¡‘ãŒcon•²!ten“ts–ææof“the“labMÞel.‘Ÿ]When“used“with“Ï\..compositemapŽ‘^¹the“Ï^Ž› v¹and“Ï_Ž˜¹spšMÞecify“lab˜els“for“the“ rst“andŽ¡‘ãŒsecond–¦farroš²!ws,“respMÞectiv˜ely‘ÿe.ޤPˆ‘ãŒÃ365Ž‘õŒÏ\xydef@\twocellstyle{\scriptstyle}ŽŽ¡‘ãŒÃ367Ž‘õŒÏ\xydef@\droptwocelllabel@#1{\xyFN@\droptwocelllabel@@#1@!}ŽŽ¤ ™š‘ãŒÃ368Ž‘õŒÏ\xydef@\droptwocelllabel@@{%ŽŽ¡‘ãŒÃ369Ž‘ûKÃÏ\ifx*\next\DN@*{\droptwocelldrop@}%ŽŽ¡‘ãŒÃ370Ž‘ûKÃÏ\else\DN@##1@!{\droptwocelltext@{##1}}%ŽŽ¡‘ãŒÃ371Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ373Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next#1{\drop+!C{\twocellstyle“#1}}}ŽŽ¡‘ãŒÃ374Ž‘õŒÏ\xylet@\droptwocelltext@=\nextŽŽ¦‘ãŒÃ376Ž‘õŒÏ\xydef@\droptwocelldrop@#1@!{\bgroup‘¿ª\let\xy@=\oxy@ŽŽ¡‘ãŒÃ377Ž‘ûKÃÏ\let\objectstyle=\twocellstyle‘¿ª\drop#1{}%ŽŽ¡‘ãŒÃ378Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\X@min=\the\X@min“\X@max=\the\X@maxŽŽ¡‘ãŒÃ379Ž‘ mÏ\Y@min=\the\Y@min–¿ª\Y@max=\the\Y@max}\tmp@“}ŽŽŸ3ý‘ôŒ¹Normally–œthe“labšMÞel“is“balanced“text,‘Ù}set“in“T‘þ,³Ÿ[wEŽ‘B X's“math“mo˜de,‘Ù}with“Ï\twocellstyleŽ‘Sóȹsetting“theŽ¡‘ãŒstš²!yle.‘ÝÝThe–¦fdefault“de nition“is“giv˜en“b˜y“.–Ó3.“.ޤ}‘ôŒÏ\def\twocellstyle{\scriptstyle}ŽŽ¡‘㌹This–jücan“bMÞe“altered“using“Ï\defŽ‘Ô ¹in“v²!ersions“of“T‘þ,³Ÿ[wEŽ›B X“or“Ï\redefineŽ‘<’ò¹in“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ˜X.‘+ŸHo•²!w“ev“er–jülabMÞels“are“notŽŸ ™š‘ãŒrestricted–øŒto“bšMÞeing“simply“text“b˜o•²!xes.‘ÔNAn“y–øŒe ect“obtainable“using“the‘à6X‘ü·ŸâÃYŽŽ‘_–-pic“k²!ernel“language“can“b˜eŽŽŽŒ‹B j Á à ý*tj‘㌹322’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌹set–hwithin“an“Ï\xyboxŽ‘)N8¹and“used“as“a“labMÞel.‘ÉAlternativš²!ely“if“the“ rst“c˜haracter“in“the“labMÞel“is“Ï*Ž‘ æ¹then“theޤ ™š‘ãŒlabMÞel–cüis“set“as“an‘K¦X‘ü·ŸâÃYŽŽ‘ Ë-pic“Çh¹ob‘›»jectÇi¹,‘qEas“if“with“Ï\dropŽ‘Qƒš¹or“Ï*Ž‘:„ò¹in“the“k²!ernel“language.‘ǺTheŽ¡‘ãŒcurrenš²!t–ÍÜdirection“is“tangen˜tial“to“the“curv˜ed“arro˜ws.‘T>Extra“braces“are“needed“to“get“a“Ï*Ž‘ [b¹as“the“labMÞel,Ž¡‘ãŒas–¦fin“Ï^{{{*}}}Ž‘5J¹or“Ï_{{}*}Ž‘&$b¹.Ž¡‘ôŒThe–èpšMÞosition“of“a“lab˜el“normal“to“the“tangen²!tial“direction“can“also“b˜e“altered“b²!y“Ðnudging“¹(seeŽ¡‘ãŒbšMÞelo²!w).‘°Although–dWit“is“p˜ossible“to“sp˜ecify“m²!ultiple“lab˜els,‘“Óonly“the“last“usage“of“eac²!h“of“Ï^Ž›ˆX¹and“Ï_Ž˜¹isŽ¡‘ãŒactually–¦fset,“previous“spšMÞeci cations“b˜eing“ignored.Ž¡‘ôŒSimilarly–VÝa“labMÞel“for“the“cenš²!tral“Arro˜w“m˜ust“bMÞe“giv˜en,›fÅafter“the“other“labMÞels,˜b²!y“enclosing“it“withinŽ¡‘ãŒbraces‘ò4Ï{...}Ž‘ °†¹.‘ÁFAn–ò4emptš²!y“group“Ï{}Ž‘c¼¹giv˜es“an“empt˜y“labMÞel;‘this“is“necessary“to“a˜v˜oid“misin˜terpretationŽ¡‘ãŒof– äsubsequenš²!t“tok˜ens.‘MXAs“abMÞo˜v˜e“if“the“ rst“c˜haracter“is“Ï*Ž‘r¹then“the“labMÞel“is“set“as“an‘ŽX‘ü·ŸâÃYŽŽ‘‡î-pic“Çh¹ob‘›»jectÇi¹,Ž¡‘ãŒthe–¦fcurrenš²!t“direction“bMÞeing“along“the“Arro˜w.ŽŸÛ'‘ãŒÔP¦tarsing:‘ ó5¹OpšMÞen–ãÚa“new“group“so“the“follo²!wing“registers“can“b˜e“used“lo˜cally‘ÿe...‘Ï\toks@=\toks0Ž‘OX¦¹,‘ ÂÏ\toks1Ž‘%ˆ¾¹,Ž¡‘ãŒ...,‘¦fÏ\toks8Ž‘)Êȹthe–¦f nal“parameter“set“is“stored“brie y“in“Ï\tmp@Ž‘$ ¹bšMÞefore“b˜eing“used.Ž¡‘ôŒOPTIONS:Ž‘ãŒŸ új‰ffã²dŸD]þŸÈ’ Ñspaces–¦fare“ignoredŽŽ¤ ™™‘OTèÏ<ŽŽ‘rSŽŽ’ Ñ¹determines–¦fpMÞosition“of“curvš²!es“con˜trol“pMÞoin˜tŽŽ¡‘x:Ï<0>ŽŽ’ Ñ¹uses–¦fa“single“solid“line,ŽŽ¡‘l“æÏ<\omit>ŽŽ’ Ñ¹causes–¦fonly“the“cenš²!tral“Arro˜w“(with“labšMÞel)“to“b˜e“setŽŽŸ™™‘CÕ”Ï\omitŽŽ’ Ñ¹omits–¦fthe“curvš²!ed“arro˜ws,“but“allo˜ws“their“labMÞelsŽŽ¡‘OTèÏ^ŽŽ’ Ñ¹place›¦f\abMÞo•²!v“e"˜labMÞel˜(more˜correctly˜\an“ti-cloMÞc“kwise")ŽŽ¡‘OTèÏ_ŽŽ’ Ñ¹place–¦f\bšMÞelo²!w"“lab˜el“(more“correctly“\clo˜c²!kwise")ŽŽ¡‘LuÏ~'ŽŽ’ Ñ¹cš²!hange–¦fthe“arro˜wheadŽŽ¡‘LuÏ~`ŽŽ’ Ñ¹place/cš²!hange–¦fthe“arro˜wtailŽŽŽŽŽŽŸ?Jˉffã²dŸ ”¡‘LabšMÞel–¯ddata“e.g.‘ø×Ï^{#1}Ž‘)f_{#1}Ž‘JÔC¹is“stored“temp˜orarily“in“Ï\toks@Ž‘+ÜĹthen“passed“via“Ï\tw@@cell@@Ž‘H›¹toŽ¡Ï\tw@cell@@Ž‘=# ¹for–¦ffurther“parsing,“as:‘ÝÝÏ\the\toks@‘¿ª@ŽŽ¡‘~'Ž‘ g¹and‘èIÏ~`Ž‘Oæ¹c²!hange–èIthe“v‘ÿdDalues“of“Ï\twocellhead@Ž›RŒ4¹and“Ï\twocelltail@Ž˜¹Normally“Ï\twocelltail@Ž˜¹isŽ¡Ï{}Ž‘ T¹,–¦fso“Ï~`Ž‘Ì ¹also“c²!hanges“a“ ag“to“indicate“that“Ï\twocelltail@Ž‘Rn¹is“indeed“required.Ž¡‘When–Рthe“next“tokš²!en“is“a“grouping“Ï{...}Ž‘$_’¹then“it“giv˜es“the“labMÞel“for“the“cen˜tral“Arro˜w.‘\ŠNo“otherŽ¡lab•MÞel›¦fsp“eci cations˜ma•²!y˜follo“w.Ž¡‘Default–¦fhead“and“tail“ornamen²!ts...Ž©PˆÃ453Ž‘Ï\xydef@\twocellhead#1{\def\twocellhead@{#1}}ŽŽ¡Ã454Ž‘Ï\xydef@\twocelltail#1{\def\twocelltail@{#1}}ŽŽ¡Ã455Ž‘Ï\xydef@\twocellhead@{\dir{>}}ŽŽ¡Ã456Ž‘Ï\xydef@\twocelltail@{}ŽŽ¦‘¹clear‘¦fÏ\toks..Ž‘/Šr¹registers–¦ffor“the“new“connection“labMÞels.ަÃ462Ž‘Ï\xywarnifdefined\twocellmod@ŽŽ¡Ã463Ž‘Ï\xydef@\tw@cell@{\begingroupŽŽ¡Ã464Ž‘¿ªÏ\toks@={{}}\toks1={{}}\toks2={{}}\toks4={{}}%ŽŽ¡Ã465Ž‘¿ªÏ\def\twocellmod@{}\xyFN@\tw@@cell@}%ŽŽ¦Ã467Ž‘Ï\xydef@\tw@@cell@{%ŽŽ¡Ã468Ž‘¿ªÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\tw@@cell@}%ŽŽ¡Ã469Ž‘¿ªÏ\else\ifx\bgroup\next‘¿ª\let\next@=\toks@\afterassignment\tw@@cell@@ŽŽ¡Ã470Ž‘¿ªÏ\else\ifx–¿ª^\next“\DN@^##1{\toks@={##1}\nudgepos@71\tw@@cell@}%ŽŽ¡Ã471Ž‘¿ªÏ\else\ifx–¿ª_\next“\DN@_##1{\toks@={##1}\nudgepos@82\tw@@cell@}%ŽŽ¡Ã472Ž‘¿ªÏ\else\addLT@\ifx–¿ª\next“\addGT@{\addLT@\DN@##1}{%ŽŽŽŽŒ‹C-— Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹323ŽŽ ¶?? ýh«w‘ãŒÃ473Ž‘ mÏ\toks6={##1}\ifx\omit##1\relax\toks3={t}\toks5={0}\fi\xyFN@\tw@@cell@}%ŽŽ¤ ™š‘ãŒÃ474Ž‘ûKÃÏ\else\ifx\omit\next‘¿ª\DN@\omit{\omitarrows@\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ475Ž‘ûKÃÏ\else\ifx~\next‘¿ª\DN@~{\xyFN@\whichCurveObject@}%ŽŽ¡‘ãŒÃ476Ž‘ûKÃÏ\else–¿ª\DN@{\xyFN@\tw@cell@@\empty“@}%ŽŽ¡‘ãŒÃ477Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi%ŽŽ¡‘ãŒÃ478Ž‘ûKÃÏ\next@‘¿ª}ŽŽ©Pˆ‘ãŒÃ480Ž‘õŒÏ\xydef@\whichCurveObject@{%ŽŽ¡‘ãŒÃ481Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\whichCurveObject@}%ŽŽ¡‘ãŒÃ482Ž‘ûKÃÏ\else\ifx\next^\DN@^##1{\xy@{~^{##1}}{\uppercurveobject{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ483Ž‘ûKÃÏ\else\ifx\next_\DN@_##1{\xy@{~_{##1}}{\lowercurveobject{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ484Ž‘ûKÃÏ\else\addRQ@\ifx\next‘¿ª\addRQ@\DN@##1{%ŽŽ¡‘ãŒÃ485Ž‘ mÏ\xy@{~'{##1}}{\def\twocellhead@{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ486Ž‘ûKÃÏ\else\addLQ@\ifx\next‘¿ª\addLQ@\DN@##1{%ŽŽ¡‘ãŒÃ487Ž‘ mÏ\xy@{~`{##1}}{\def\twocelltail@{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ488Ž‘ûKÃÏ\else\ifx!\next‘¿ª\DN@!{\xyFN@\checkmodmap@}%ŽŽ¡‘ãŒÃ489Ž‘ûKÃÏ\else\ifx\next\bgroup\DN@##1{\xy@{~{##1}}{\curveobject{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ490Ž‘ûKÃÏ\else\DN@##1{\xy@{~##1}{\curveobject{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ491Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\fi\fi\fiŽŽ¡‘ãŒÃ492Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘ãŒÃ494Ž‘õŒÏ\xydef@\checkmodmap@{%ŽŽ¡‘ãŒÃ495Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\checkmodmap@}%ŽŽ¡‘ãŒÃ496Ž‘ûKÃÏ\else‘¿ª\def\twocellmod@{\modmap@}%ŽŽ¡‘ãŒÃ497Ž‘ mÏ\ifx\next!\DN@!##1{%ŽŽ¡‘ãŒÃ498Ž‘ËÏ\xy@{~!!{##1}}{\def\modmapobject@{##1}}\xyFN@\tw@@cell@}%ŽŽ¡‘ãŒÃ499Ž‘ mÏ\else‘¿ª\DN@{\xyFN@\tw@@cell@}\fiŽŽ¡‘ãŒÃ500Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŸz5‘ôŒ¹With–d*no“arroš²!ws,‘“šstill“allo˜w“labšMÞels:‘Yddefault“p˜ositions“are“at“0,–“š+ÄX›Ûø¹,“ÇÄX˜¹,“with‘d*ÄX‘"ä¹=Ðdefault‘™value¹.Ž¡‘ãŒThese–¦fv‘ÿdDalues“are“altered“bš²!y“\n˜udging".ަ‘ãŒÃ508Ž‘õŒÏ\xydef@\omitarrows@{\toks5={0}\toks6={}\toks7={0}\toks8={0}}ŽŽŸ"÷œ‘ãŒÞ3.4.2Ž‘ ÌStandard‘€OptionsŽŸüø‘㌹The–‡orienš²!tation“of“the“cen˜tral“Arro˜w“ma˜y“bMÞe“rev˜ersed,‘`turned“in˜to“an“equalit˜y‘ÿe,‘`or“omitted“altogether.Ž¡‘ãŒIn–¦feacš²!h“case“a“labMÞel“ma˜y“still“bšMÞe“sp˜eci ed,“so“in“e ect“the“Arroš²!w“ma˜y“bMÞe“replaced“b˜y“an˜ything“at“all.Ž© ÃG‘ôŒThese–ä1e ects“are“spMÞeci ed“bš²!y“the“ rst“tok˜en“in“the“cen˜tral“labMÞel,‘s¢whic˜h“th˜us“has“the“form:Ž¡‘ãŒÏ{Ž‘éKÃÇh¹tokÇih¹labšMÞelÇiÏ}Ž‘ f¹where–¦fÇh¹tokÇi“¹ma²!y“b˜e“one“of“.–Ó3.“.ަ‘㌟ ãm‰ffã²dŸ!«Ÿë•’¦“Ï_ŽŽ’ÃÒ¹Arro•²!w›¦fpMÞoin“ts˜cloMÞc“kwiseŽŽ¤ ™™’¦“Ï^ŽŽ’ÃÒ¹Arro•²!w›¦fpMÞoin“ts˜an“ti-cloMÞc“kwiseŽŽ¡’¦“Ï=ŽŽ’ÃÒ¹no–¦ftip,“denotes“equalit²!yŽŽ¡’›»Ï\omitŽŽ’ÃÒ¹no–¦fArro²!w“at“all.ŽŽŽŽŽŽŸy‰ffã²dŸ }¦When–[9none“of“these“ošMÞccurs“then“the“default“of“Ï_Ž‘ v¹is“assumed.‘ÄÎIf“the“lab˜el“itself“starts“with“one“of“theseŽ¡c²!haracters–öthen“spšMÞecify“Ï_Ž‘ «´¹explicitly‘ÿe,‘ íor“enclose“the“lab˜el“within“a“group“Ï{...}Ž‘ ´W¹.‘Ì»See“ÐExtr‘ÿp¹a–4+Options“1¹,Ž¡for–|(more“v‘ÿdDalues“of“Çh¹tokÇi¹.‘ÏÈAlso“note“that“Ï*Ž‘ ·ú¹has“a“spMÞecial“role“when“used“as“the“ rst“c•²!haracter;‘Š=ho“w“ev“erŽ¡it–¦fis“considered“to“bšMÞe“part“of“the“Çh¹lab˜elÇi¹,“see“ab˜o•²!v“e.ަ‘OPTIONS–¦ffor“the“cenš²!tral“Arro˜w:ŽŽŽŒ‹D= Á à ý*tj‘㌹324’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌟ x¿‰ffã²dŸ ‹:‘gУ¹c‘¦flŽ’Šignore‘¦fspacesŽŽŽŽ¤ ™š‘gУÏ^ŽŽ’йpšMÞoin•²!ts‘¦fan“ti-clo˜c“kwiseŽŽŽŽ¡‘gУÏ_ŽŽ’йp•MÞoinš²!ts‘¦fclo“c˜kwise‘¦f(default)ŽŽŽŽ¡‘gУÏ=ŽŽ’йno‘¦fÏ\TipŽ‘¥¹,‘¦fequalit²!yŽŽŽŽ¡‘gУÏ\omitŽŽ’йno–f¯Arroš²!w“at“all,‘smjust“squine(s)“or“compMÞosed“arro˜wsŽŽŽŽ¡‘gУÏ'ŽŽ’йno–¦fArroš²!w,“oppMÞosite“squine“rev˜ersedŽŽŽŽ¡‘gУÏ`ŽŽ’йno–¦fArroš²!w,“forw˜ard“squine“rev˜ersedŽŽŽŽ¡‘gУÏ"ŽŽ’йno–¦fArro²!w,“tips“on“bMÞoth“endsŽŽŽŽ¡‘gУÏ!ŽŽ’йno–¦fArro²!w,“no“tips“on“squinesŽŽŽŽŸ‰ffã²dŸ Y© Ÿ¸‘the–†ªpMÞosition“of“the“Arroš²!w“is“determined“b˜y“\n˜udging"“(see“bMÞelo˜w)“e.g.‘ÓIÏ{^label}Ž‘OŽë¹,‘where“theŽ¡actual–¦fdimen“is“Ï\xydashl@ŽŽ¦ŸO%ŸýC4‘l÷Åïps: SDict begin xyc end‘Ÿ½ÂÄAŽŽŽŽŽŽ‘3ï?" {mark 62.53377 0.0 31.26688 17.5 0.0 0.0 0.11362 0.88123 q}xyŽŽŽ‘>6pŸüV-ï" {2646 10 /xy AB}xyŽŽŽŽ‘3ï@" {mark 62.53377 0.0 31.26688 -17.5 0.0 0.0 0.11362 0.88123 q}xyŽŽŽ‘>6pŸ©Óï" {3498 10 /xy AB}xyŽŽŽŽ‘'_„ŸúþÀï" {1024 F d}xyŽŽŽŽŽŽ‘%_†ŸúþÀï" {1024 F d}xyŽŽŽŽŽŽŽ‘'_„Ÿý~Àï" {1024 F d}xyŽŽŽŽŽŽ‘%_†Ÿý~Àï" {1024 F d}xyŽŽŽŽŽŽŽ‘&_…ŸþÀï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘)¤¸Ÿ¸ãÅ ŽŽŽŽŽ‘A6fŸ½ÂÄBŽŽŽŽŽŽ‘3ïD" {mark 125.26599 0.0 93.89987 17.5 62.53377 0.0 0.11838 0.8836 q}xyŽŽŽ‘}Ÿüfï" {2629 10 /xy AB}xyŽŽŽŽ‘3ïE" {mark 125.26599 0.0 93.89987 -17.5 62.53377 0.0 0.11838 0.8836 q}xyŽŽŽ‘}Ÿ™îï" {3515 10 /xy AB}xyŽŽŽŽ‘d’ž@ï" {-3072 T d}xyŽŽŽŽŽŽ‘fž@ï" {-3072 T d}xyŽŽŽŽŽŽŽ‘d’Ÿý@ï" {-3072 T d}xyŽŽŽŽŽŽ‘fŸý@ï" {-3072 T d}xyŽŽŽŽŽŽŽ‘e‘Ÿû@ï" {-3072 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘\jtŸÅ ŽŽŽŽŽ’€JŸ½ÂÄCŽŽŽŽŽŽ‘3ïF" {mark 188.25562 0.0 156.7608 17.5 125.26599 0.0 0.11594 0.87805 q}xyŽŽŽ’»®1Ÿü@–ï" {2650 10 /xy AB}xyŽŽŽŽ‘3ïG" {mark 188.25562 0.0 156.7608 -17.5 125.26599 0.0 0.11594 0.87805 q}xyŽŽŽ’»®1Ÿ¿jï" {3494 10 /xy AB}xyŽŽŽŽ’¢ÝøŸûï" {0.0 10.0 l}xyŽŽŽŽ’¤ÝöŸûï" {0.0 10.0 l}xyŽŽŽŽŽ’œq"ŸñÇÅ ŽŽŽŽŽ’¾­LŸ½ÂÄDŽŽŽŽŽŽ‘3ïF" {mark 251.29771 0.0 219.77666 17.5 188.25562 0.0 0.12192 0.8833 q}xyŽŽŽ’û Ÿüdeï" {2637 10 /xy AB}xyŽŽŽŽ‘3ïG" {mark 251.29771 0.0 219.77666 -17.5 188.25562 0.0 0.12192 0.8833 q}xyŽŽŽ’û Ÿ››ï" {3507 10 /xy AB}xyŽŽŽŽ’ߓʟ»»Â ŽŽŽŽŽ’þ úŸ½ÂÄEŽŽŽŽŽŽŽŽŽŽŽŽŸ"ª3Ï\xymatrixcolsep{4pc}ŽŽ¡\xymatrixrowsep{1pc}ŽŽ¡\diagramŽŽ¡A–¿ª\rtwocell{_\alpha}“&“B“\rtwocell{^\beta}“&ŽŽ¡C–¿ª\rtwocell{=\gamma}“&“D“\rtwocell{\omit\Psi}“&“E“\\ŽŽ¡\enddiagramŽŽŸ&vÐÃ691Ž‘Ï\xydef@\tw@@cell@@{\expandafter\xyFN@\expandafter\tw@cell@@\the\toks@‘¿ª@}ŽŽŸPˆÃ693Ž‘Ï\xydef@\tw@cell@@{\ifx‘¿ª\space@\next\expandafter\DN@\space{\xyFN@\tw@cell@@}%ŽŽ¡Ã694Ž‘¿ªÏ\else\ifx‘¿ª^\nextŽŽ¡Ã695Ž‘TÏ\DN@^##1@{\toks@={##1}\toks4={^}\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã696Ž‘¿ªÏ\else\addEQ@\ifx\nextŽŽ¡Ã697Ž‘TÏ\addEQ@\DN@##1@{\toks@={##1}\toks4={=}\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã698Ž‘¿ªÏ\else\ifx‘¿ª_\nextŽŽ¡Ã699Ž‘TÏ\DN@_##1@{\toks@={##1}\toks4={_}\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã700Ž‘¿ªÏ\else\addLT@\ifx‘¿ª\nextŽŽ¡Ã701Ž‘#>þÏ\DN@##1@{\toks@={##1}\toks4={_}\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã702Ž‘¿ªÏ\else\ifx\omit\next‘¿ª\DN@\omit##1@{\toks4={@}\toks@={##1}\tw@cell@@@}%ŽŽ¡Ã703Ž‘¿ªÏ\else\addRQ@\ifx\next‘¿ª\addRQ@\DN@##1@{\toks4={@}\toks3={/}\toks@={##1}%ŽŽ¡Ã704Ž‘TÏ\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã705Ž‘¿ªÏ\else\addLQ@\ifx\next‘¿ª\addLQ@\DN@##1@{\toks4={@}\toks3={b}\toks@={##1}%ŽŽ¡Ã706Ž‘TÏ\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã707Ž‘¿ªÏ\else\ifx"\next‘¿ª\DN@"##1@{\toks4={@}\toks3={B}\toks@={##1}%ŽŽ¡Ã708Ž‘TÏ\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã709Ž‘¿ªÏ\else\ifx!\next‘¿ª\DN@!##1@{\toks4={@}\toks3={@}\toks@={##1}%ŽŽ¡Ã710Ž‘TÏ\nudgepos@50\tw@cell@@@}%ŽŽ¡Ã711Ž‘¿ªÏ\else\ifx\next\empty\DN@##1@{\toks@={{}}\toks4={_}\tw@cell@@@}%ŽŽ¡Ã712Ž‘¿ªÏ\else\DN@##1@{\toks@={##1}\toks4={_}\tw@cell@@@}%ŽŽ¡Ã713Ž‘¿ªÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽŸV¦ÔPš¦tarsing–2of“the“Arro˜w's“labY‹elŽŽŽŒ‹EJe Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹325ŽŽ ¶?? ýh«w‘ãŒÞ3.4.3Ž‘ ÌNudgingŽŸ«ÿ‘㌹Pš²!ositions–'“of“all“labMÞels“ma˜y“bMÞe“adjusted,‘GÞas“can“the“amoun˜t“of“curv‘ÿdDature“for“the“curv˜ed“arro˜ws.‘aeTheޤ ™š‘ãŒw•²!a“y– this“is“done“is“bš²!y“spMÞecifying“a“\n˜udge"“factor“Çh¹n˜umÇi“¹at“the“bšMÞeginning“of“the“lab˜el.‘J°Here“Çh¹n²!umÇiŽ¡‘㌹is–‹Õa“n•²!um“bMÞer›‹Õwhic“h˜sp•MÞeci es˜the˜actual˜p“osition˜of˜the˜lab“el˜in˜units˜of˜Ï\xydashl@Ž‘<Ô¤¹(the˜length˜of˜aŽ¡‘ãŒsingle–‚Âdash,›‰ãnormally“5pt)“except“with“Ï\..compositemapŽ‘Y½¸¹,˜see“bMÞelo•²!w.‘ÑüMo“v“emen“t–‚Âis“constrained“to“theŽ¡‘ãŒp•MÞerp“endicular–7§bisector“of“the“line“Ÿúã‰fe ?vŸêÄcpŽŽ‘w¹.‘‘¡When“nš²!udging“the“labMÞel“for“the“cen˜tral“Arro˜w“it“is“the“wholeŽ¡‘ãŒArro•²!w›¦fwhic“h˜is˜mo“v“ed,˜along˜with˜its˜labMÞel.Ž¡‘ôŒCurv‘ÿdDature–=of“the“arroš²!ws“themselv˜es“is“altered“b˜y“a“n˜udge“of“the“form“Ï\..twocellŽ‘=¹¥Çh¹n˜umÇi¹....‘¡¯TheŽ¡‘ãŒseparation–¸Óof“the“arro²!ws,›½nalong“the“bisector,˜is“set“to“bMÞe“Çh¹nš²!umÇiÏ\xydashl@Ž‘3¼ú¹.‘$When“Çh¹n˜umÇi“¹is“zero,‘½nthatŽ¡‘ãŒis‘¡EÏ\..twocell<0>...Ž‘_›å¹,‘¢Lthe–¡Eresult“is“a“single“straighš²!t“arro˜w,‘¢Lits“mid-pMÞoin˜t“bMÞeing“the“origin“for“n˜udgingŽ¡‘ãŒlabMÞels.‘ŠºA‘Šunegativš²!e–аv‘ÿdDalue“for“Çh¹n˜umÇi“¹is“also“acceptable;‘üÔbut“c˜hec˜k“the“orien˜tation“on“the“Arro˜w“andŽ¡‘ãŒwhic²!h–¦fof“Ï^Ž› v¹and“Ï_Ž˜¹correspšMÞond“to“whic²!h“comp˜onen²!t.Ž¡‘ôŒThe–D origin“for“nš²!udging“labMÞels“is“where“the“arro˜w“crosses“the“bisector.‘¸ŒP˜ositiv˜e“n˜udges“mo˜v˜e“theŽ¡‘ãŒlabMÞel›áout•²!w“ards˜while˜negativ“e˜n“udges˜mo“v“e˜to“w“ards˜Ÿúã‰fe ?vŸêÄpcŽŽ‘t¹and˜p•MÞossibly˜b“ey²!ond.‘'The˜default˜p“osition˜ofŽ¡‘ãŒa–¦flabMÞel“is“on“the“outside,“with“edge“at“the“origin.Ž¡‘ôŒThe–:origin“for“nš²!udging“the“Arro˜w“is“at“the“midpMÞoin˜t“of“Ÿúã‰fe ?vŸêÄpcŽŽ‘ A°¹.‘§$A‘pMÞositiv˜e“n˜udge“mo˜v˜es“in“the“cloMÞc˜kwiseŽ¡‘ãŒdirection.‘ÝÝThis–¦fwill“bšMÞe“the“direction“of“the“arro²!whead,“unless“it“has“b˜een“rev²!ersed“using“Ï^Ž‘ f¹.ŽŸ«‘ôŒLabšMÞels–•óon“a“Ï\..compositemapŽ‘[fܹare“placed“relativ²!e“to“the“midp˜oin²!t“of“the“comp˜onenš²!t“arro˜ws.‘ƒ NudgesŽ¡‘ãŒare–ð7in“units“of“1pt.‘»OMo•²!v“emen“t–ð7is“in“the“usual‘×áX‘ü·ŸâÃYŽŽ‘WA-pic“Ðab›ÿp¹ove“¹and“Ðb˜elow“¹directions,‘«sucš²!h“that“a“pMÞositiv˜eŽ¡‘ãŒnš²!udge–¦fis“alw˜a˜ys“outside“the“triangle“formed“b˜y“the“arro˜ws“and“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘ åܹ.ŽŸ¼p‘ôŒThe–¥¸spMÞecial“nš²!udge“v‘ÿdDalue“Ï<\omit>Ž‘1‰¹t˜ypMÞesets“just“the“Arro˜w,‘åŒomitting“the“curv˜ed“arro˜ws“en˜tirely‘ÿe.Ž¡‘ãŒWhen–¦fused“with“labMÞels,“the“nš²!udge“v‘ÿdDalue“Ï<\omit>Ž‘/Šr¹causes“the“follo˜wing“labšMÞel“to“b˜e“ignored.Ž© *‘ãŒÔExercise‘23.7:‘ ó5¹Givš²!e–¦fcoMÞde“to“t˜ypMÞeset“ gure“3.3.Ž¡‘ãŒSucš²!h–ÑžcoMÞde“is“relativ˜ely“straigh˜t-forw˜ard,‘ü,using“\n˜udging"“and“Ï\omitŽ‘"a޹to“help“pMÞosition“the“arro˜ws,‘ü,curv˜esŽ¡‘ãŒand–¦fArro²!ws.‘ÝÝIt“also“uses“an“Ðexcursion¹,“as“describšMÞed“b˜elo²!w“in“the“subsection“ÐExtr‘ÿp¹a–êêOptions“3¹.ަ‘ãŒÔNUDGE‘%¹pšMÞosition–¦fof“lab˜elsŽ©Pˆ‘ãŒÃ825Ž‘õŒÏ\xywarnifdefined\whichnudgeŽŽ¡‘ãŒÃ826Ž‘õŒÏ\xywarnifdefined\whichinfoŽŽ¡‘ãŒÃ827Ž‘õŒÏ\xywarnifdefined\afternudgeŽŽ¡‘ãŒÃ828Ž‘õŒÏ\xydef@\nudgepos@#1#2#3{\def\whichnudge{\toks#1}\def\whichinfo{\toks#2}%ŽŽ¡‘ãŒÃ829Ž‘ûKÃÏ\def\afternudge{#3}\expandafter\xyFN@\expandafter\nudgepos@@\the\toks@‘¿ª@}ŽŽ¦‘㌟Îç‰ffã²dŸ4Ÿòaê‘}Ðì#1ŽŽ’•PA¹whic•²!h›¦ftok“en˜register˜to˜store˜n“udge˜amoun“tŽŽ¤ ™™‘}ÐìÏ#2ŽŽ’•PA¹whic•²!h›¦ftok“en˜register˜to˜store˜labMÞelŽŽ¡‘}ÐìÏ#3ŽŽ’•PA¹what–¦fto“do“next,“after“parsingŽŽŽŽŽŽŸ!j‰ffã²dŸhŸ *ÔP¦tarsing:‘‹ñÇh¹n•²!umÇih¹labMÞelÇiÏ@Ž‘¿ª¹,›¦fÇh¹n“umÇi˜¹=˜n“udge˜amoun“t,˜as˜m“ultiple˜of˜Ï\xydashl@Ž‘7c`¹.ަÃ845Ž‘Ï\xydef@\nudgepos@@{\ifx‘¿ª\space@\next\expandafter\DN@\space{\xyFN@\nudgepos@}%ŽŽ¡Ã846Ž‘¿ªÏ\else\addLT@\ifx‘¿ª\nextŽŽ¡Ã847Ž‘TÏ\addGT@{\addLT@\DN@##1}##2@{%ŽŽ¡Ã848Ž‘(þ¨Ï\ifx\omit##1\relax\whichnudge={0}\whichinfo={}%ŽŽ¡Ã849Ž‘(þ¨Ï\else\whichnudge={##1}\whichinfo={##2}\fi\xyFN@\afternudge}%ŽŽ¡Ã850Ž‘¿ªÏ\else‘¿ª\DN@##1@{\whichinfo={##1}\xyFN@\afternudge}%ŽŽ¡Ã851Ž‘¿ªÏ\fi\fi–¿ª\next@“}ŽŽŽŽŒ‹FZì Á à ý*tj‘㌹326’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÞ3.4.4Ž‘ ÌExtra‘€Optionsޤjê‘㌹The–¦ffollo²!wing“features“are“useful“in“non-mathematical“applications.ŽŸ" ‘ãŒÔ1.‘˜¼no‘2Arro¦twŽ¡‘㌹This–×is“determined“bš²!y“spMÞecial“v‘ÿdDalues“for“Çh¹tokÇi“¹as“the“ rst“(or“only)“c˜haracter“in“the“cen˜tral“labMÞel,‘sasŽ© ™š‘ãŒin–¦fthe“abMÞo•²!v“e–¦fdescription“of“the“standard“switc²!hes.ޤ¡‘㌟z‰ffã²dŸ!ÖŸë•’“Þ@Ï'ŽŽ’¥ë¹arro•²!wheads›¦fpMÞoin“ting˜cloMÞc“kwise;ŽŽ¤ ™™’“Þ@Ï`ŽŽ’¥ë¹arro•²!wheads›¦fpMÞoin“ting˜an“ti-cloMÞc“kwise;ŽŽ¡’“Þ@Ï"ŽŽ’¥ë¹arro²!w–¦ftips“on“bMÞoth“ends;ŽŽ¡’“Þ@Ï!ŽŽ’¥ë¹no–¦ftips“at“all.ŽŽŽŽŽŽŸÂÓ‰ffã²dŸ ²¡The–PVcenš²!tral“Arro˜w“is“omitted,‘zÒlea˜ving“symmetrically“placed“curv˜ed“connections“with“arro˜wheads“atަthe–¦fspšMÞeci ed“ends.‘ÝÝA“lab˜el“can“b˜e“placed“where“the“Arroš²!w“w˜ould“ha˜v˜e“bMÞeen.Ž¡‘If–?a“spšMÞecial“arro²!whead“is“sp˜eci ed“using“Ï~'{..}Ž‘(°z¹(see“Extra“Options“2,‘5zb˜elo²!w)“then“this“will“b˜e“usedަinstead–¦fof“the“standard“Ï\dir{>}Ž‘+ä ¹.Ž¡Ÿ8nàŸýC4’¬THïps: SDict begin xyc endŸÍU‘CloudsŽŽŽŽŽŽŽŽŽŽŽŽ‘t—ï;" {mark 99.5192 0.0 49.7596 50.0 0.0 0.0 0.0734 0.9273 q}xyŽŽŽ‘/pŸãqEÃprecipitationŽŽŽŽŽŽ‘o»ùŸùAï" {2197 10 /xy AB}xyŽŽŽŽ‘t—ï<" {mark 99.5192 0.0 49.7596 -50.0 0.0 0.0 0.0734 0.9273 q}xyŽŽŽ‘1(çŸqEevœqap1ÆorationŽŽŽŽŽŽ‘ÄÏŸÏï" {-1898 10 /xy AB}xyŽŽŽŽ‘;bjŸ0\óH2Ç@Écmbx8ëHHŸqä2Ž‘©=ëHOŽŽŽŽŽŽŸ½Â‘eé.¹OceansŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸF9äÏ\xymatrixcolsep{5pc}ŽŽ¦\diagramŽŽ¦–¿ª\relax\txt{Clouds“}\rtwocell<10>ŽŽ¦–¿ª_{\hbox{\tiny“evaporation“}}ŽŽ¦–¿ª^{\hbox{\tiny“precipitation“}}ŽŽ¦{'{\mathbf{H_2‘¿ªO}}}ŽŽ¦&\relax\txt{Oceans}\\ŽŽ¦\enddiagramŽŽŸ6ŸÒ.ŸýJ‘’ªöïps: SDict begin xyc endŸÍU‘é%R¹MathŽ‘ematicsŽŽŽŽŽŽŽŽŽŽŽŽ‘ùíï@" {mark 101.75482 0.0 50.87741 17.5 0.0 0.0 0.20615 0.79584 q}xyŽŽŽ‘}ŽŽŽ¡‘\twocelltail{Ž‘P»£Çh¹ob‘›»jectÇiÏ}ŽŽ’ªþ¢\dir{}ŽŽŽ¡‘\arrowobject{Ž‘P»£Çh¹ob‘›»jectÇiÏ}ŽŽ’¥>ø\dir{=>}ŽŽŽŸ™™‘\curveobject{Ž‘P»£Çh¹ob‘›»jectÇiÏ}ŽŽŽ¡‘\uppercurveobject{Ž‘myõÇh¹ob‘›»jectÇiÏ}ŽŽ’¶}ö{}ŽŽŽ¡‘\lowercurveobject{Ž‘myõÇh¹ob‘›»jectÇiÏ}ŽŽ’¶}ö{}ŽŽŽ¦‰ffÙZ‚¹con˜trol“sequence,‘­:Ðe¹.Ðg¹.“Ï\rtwocellŽŽ¡‘ãŒÐswitches‘_mlab‘ÿp¹els‘æ¹.–Ó3.“.‘Lˆ.‘V«Eac•²!h›yUswitc“h˜is˜either˜a˜single˜tok“en˜Çh¹tokÇi¹,‘®or˜a˜Ï~Ž‘ 8ÿÇh¹tokÇi˜¹with˜a˜single˜argumen“t:Ž¡‘ãŒÏ~Ž‘éKÃÇh¹tokÇiÏ{Ž‘¿ªÐar‘ÿp¹g‘øÏ}Ž‘·«¹.‘eÒPš²!ossibilities–Ó¸are“listed“in“the“follo˜wing“table,‘ in“whic˜h“Ï{..}Ž‘ ¦¹denotes“the“need“for“anŽ¡‘ãŒargumen²!t.ޤ ‘㌟ p©‰ffã²dŸ5YП×.¸’ˆãUÏ\omitŽŽ’´}¹no–¦farroš²!ws,“Arro˜w“and“labMÞel“only;ŽŽ¤ ™™’”b©Ï!ŽŽ’´}¹place–¦fmoMÞdule-map“indicator;ŽŽ¡’†€Ï~'{..}ŽŽ’´}¹c•²!hange›¦farro“w-head˜to˜Ï{..}Ž‘¥¹;ŽŽ¡’†€Ï~`{..}ŽŽ’´}¹place/cš²!hange–¦ftail“on“arro˜w(s);ŽŽ¡’ˆãUÏ~{..}ŽŽ’´}¹cš²!hange–¦fob‘›»ject“used“to“set“curv˜es;ŽŽ¡’†€Ï~^{..}ŽŽ’´}¹use–¦fob‘›»ject“Ï{..}Ž‘Kt¹to“set“uppMÞer“curv²!e;ŽŽ¡’†€Ï~_{..}ŽŽ’´}¹use–¦fob‘›»ject“Ï{..}Ž‘Kt¹to“set“lo•²!w“er‘¦fcurv“e;ŽŽŽŽŽŽŸ0F‰ffã²dŸ C¡Here–cw²!e“discuss“the“use“of“Ï!Ž‘ "ª¹,‘p{Ï~'Ž‘ïϹ,‘p{Ï~`Ž›RϹand“Ï\omitŽ‘ !R¹.‘ÇfThe“description“of“Ï~^Ž‘âT¹,‘p{Ï~_Ž˜¹and“Ï~{..}Ž‘#„R¹is“giv²!en“in“ÐExtr‘ÿp¹aޤ ™šOptions‘êê4¹.ަ‘The–™default“moMÞdule“map“indicator“places“a“single“dash“crossing“the“arroš²!w“at“righ˜t-angles,‘›ÄloMÞcatedŽ¡roughly›WÎmidw•²!a“y˜along˜the˜actual˜prin“ted˜pMÞortion˜of˜the˜arro“w,‘g†whether˜curv“ed˜or˜straigh“t.‘êThis˜tak“esŽ¡in•²!to›/kaccoun“t˜the˜sizes˜of˜the˜ob‘›»jects˜bMÞeing˜connected,‘Q¬thereb“y˜giving˜an˜aesthetic˜result˜when˜theseŽ¡sizes–dcdi er“markš²!edly‘ÿe.‘ÓThis“also“w˜orks“with“Ï\..compositemapŽ‘_¼¹where“an“indicator“is“placed“on“eac˜hŽ¡arroš²!w.‘ÝÝThe–¦factual“ob‘›»ject“can“bMÞe“c˜hanged“using“Ï\modmapobjectŽ‘Nb¹.ަ‘Anš²!y–Ý5of“the“standard‘ÄßX‘ü·ŸâÃYŽŽ‘D?-pic“tips“ma˜y“bMÞe“used“for“arro˜w-heads.‘‚KThis“is“done“using“Ï~'{..}Ž‘'[1¹,‘*éforŽ¡example‘sÏ~'{\dir{>>}}Ž‘Kâú¹givš²!es–sdouble-headed“arro˜ws.‘ÌæSimilarly“Ï~`{..}Ž‘)dþ¹can“bMÞe“used“to“place“an“arro˜w-Ž¡tail.‘¡Normally– ýthe“arroš²!w-tail“is“,‘'âso“is“not“placed;‘AÈbut“if“a“non-empt˜y“tail“has“bšMÞeen“sp˜eci ed“then“itŽ¡will–cþbšMÞe“placed,‘“dusing“Ï\dropŽ‘!"P¹.‘¥No“guaran²!tee“is“o ered“for“the“desired“result“b˜eing“obtained“when“anŽ¡arro²!w-tail–¦fis“mixed“with“the“features“of“ÐExtr‘ÿp¹a–êêOptions“1¹.ŽŸ Ÿ .ôŸý ’Åærïps: SDict begin xyc end‘Ÿ½ÂÄPŽŽŽŽŽŽ‘Fƒï?" {mark 73.94824 0.0 36.97412 20.0 0.0 0.0 0.09836 0.90979 q}xyŽŽŽ‘("ºŸø¼×Ç ŽŽŽŽŽ‘'½ëŸì;»ÅMŽŽŽŽŽ‘GÍïŸûƒÌï" {2631 10 /xy AB}xyŽŽ‘J‡Ÿü·”ï" {2631 10 /xy AB}xyŽŽŽŽ‘Ÿüs ï " {3517 st}xyŽŽŽŽ‘Fƒï@" {mark 73.94824 0.0 36.97412 -20.0 0.0 0.0 0.09836 0.90979 q}xyŽŽŽ‘("ºŸ ¼ÃÇ ŽŽŽŽŽ‘&eŸ”ÅM‘Ú"Ÿý-:É0ŽŽŽŽŽŽ‘GÍïŸ|Lï" {3513 10 /xy AB}xyŽŽ‘J‡ŸHlï" {3513 10 /xy AB}xyŽŽŽŽ‘ŸŒ`ï " {2627 st}xyŽŽŽŽ‘+?äŸûï" {0.0 10.0 l}xyŽŽŽŽ‘-?âŸûï" {0.0 10.0 l}xyŽŽŽŽŽ‘$ÄSŸÅfŽŽŽŽŽ‘MŸ½ÂÄSŽŽŽŽŽŽŽŽŽŽŽŽŽŽŒ‹Huç Á à ý*tj‘㌹328’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÏ\modmapobject{\objectbox{\otimes}}ŽŽ¤ ™š‘ãŒ\xymatrixcolsep{5pc}ŽŽ¡‘ãŒ\diagramŽŽ¡‘ãŒP\rtwocell~!~'{\dir{>>}}~`{\dir{|}}ŽŽ¡‘éKÃ^{<1.5>M}_{<1.5>M'}{=f}–¿ª&“S“\\ŽŽ¡‘ãŒ\enddiagramŽŽ© ‘ôŒ¹switcš²!h–¦ffor“moMÞdule“maps...‘ÝÝ...places“decoration“called“Ï\modmapobjectŽ‘Rn¹half“w˜a˜y“along“arro˜wsŽŸPˆ‘ãŒÃ1010Ž‘õŒÏ\xydef@\modmap@{%ŽŽ¡‘ãŒÃ1011Ž‘ûKÃÏ\expandafter\ifx\the\toks4@\toks4={!}%ŽŽ¡‘ãŒÃ1012Ž‘ûKÃÏ\else\expandafter\ifx\the\toks4=\toks4={H}%ŽŽ¡‘ãŒÃ1013Ž‘ûKÃÏ\else\expandafter\ifx\the\toks4^\toks4={A}%ŽŽ¡‘ãŒÃ1014Ž‘ûKÃÏ\else\expandafter\ifx\the\toks4_\toks4={V}\fi\fi\fi\fiŽŽ¡‘ãŒÃ1015Ž‘ûKÃÏ\expandafter\DN@\expandafter{\the\toks6}%ŽŽ¡‘ãŒÃ1016Ž‘ûKÃÏ\ifx\next@\empty\relax\else\expandafter\moddefs@\fi}ŽŽ¦‘ôŒ¹also–¦fadjust“curv‘ÿdDature“and“labšMÞel“p˜ositionsŽ©Pˆ‘ãŒÃ1022Ž‘õŒÏ\xydef@\moddefs@{%ŽŽ¡‘ãŒÃ1023Ž‘ûKÃÏ\expandafter\dimen@\the\toks6\p@ŽŽ¡‘ãŒÃ1024Ž‘ mÏ\ifdim\dimen@=\z@\relaxŽŽ¡‘ãŒÃ1025Ž‘ mÏ\expandafter\dimen@\the\toks7\p@ŽŽ¡‘ãŒÃ1026Ž‘ËÏ\ifdim\dimen@<\z@\advance\dimen@.5\p@\else\advance\dimen@-.5\p@\fiŽŽ¡‘ãŒÃ1027Ž‘ËÏ\edef\tmp@{\noexpand\toks7={\expandafter\removePT@\the\dimen@}}\tmp@ŽŽ¡‘ãŒÃ1028Ž‘ mÏ\expandafter\dimen@\the\toks8\p@ŽŽ¡‘ãŒÃ1029Ž‘ËÏ\ifdim\dimen@<\z@\advance\dimen@-.5\p@\else\advance\dimen@.5\p@\fiŽŽ¡‘ãŒÃ1030Ž‘ËÏ\expandafter\ifx\the\toks3t\advance\dimen@-1\p@\fiŽŽ¡‘ãŒÃ1031Ž‘ËÏ\edef\tmp@{\noexpand\toks8={\expandafter\removePT@\the\dimen@}}\tmp@ŽŽ¡‘ãŒÃ1032Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1033Ž‘ mÏ\ifdim\dimen@<\z@\advance\dimen@-.5\p@\else\advance\dimen@.5\p@\fiŽŽ¡‘ãŒÃ1034Ž‘ mÏ\edef\tmp@{\noexpand\toks6={\expandafter\removePT@\the\dimen@}}\tmp@ŽŽ¡‘ãŒÃ1035Ž‘õŒÏ%‘ T\expandafter\dimen@\the\toks5\p@ŽŽ¡‘ãŒÃ1036Ž‘õŒÏ%‘>þ\ifdim\dimen@<\z@\advance\dimen@-.5\p@\else\advance\dimen@.5\p@\fiŽŽ¡‘ãŒÃ1037Ž‘õŒÏ%‘>þ\edef\tmp@{\noexpand\toks5={\expandafter\removePT@\the\dimen@}}\tmp@ŽŽ¡‘ãŒÃ1038Ž‘ mÏ\expandafter\dimen@\the\toks7\p@ŽŽ¡‘ãŒÃ1039Ž‘ËÏ\ifdim\dimen@<\z@\advance\dimen@-.5\p@\else\advance\dimen@.5\p@\fiŽŽ¡‘ãŒÃ1040Ž‘ËÏ\expandafter\ifx\the\toks3t\advance\dimen@-2\p@\fiŽŽ¡‘ãŒÃ1041Ž‘ËÏ\edef\tmp@{\noexpand\toks7={\expandafter\removePT@\the\dimen@}}\tmp@ŽŽ¡‘ãŒÃ1042Ž‘ mÏ\expandafter\dimen@\the\toks8\p@ŽŽ¡‘ãŒÃ1043Ž‘ËÏ\ifdim\dimen@<\z@\advance\dimen@-.5\p@\else\advance\dimen@.5\p@\fiŽŽ¡‘ãŒÃ1044Ž‘ËÏ\expandafter\ifx\the\toks3t\advance\dimen@-2\p@\fiŽŽ¡‘ãŒÃ1045Ž‘ËÏ\edef\tmp@{\noexpand\toks8={\expandafter\removePT@\the\dimen@}}\tmp@ŽŽ¡‘ãŒÃ1046Ž‘ûKÃÏ\fi‘¿ª}%ŽŽ¦‘ãŒÃ1048Ž‘õŒÏ%\def\moddefs@{}ŽŽŸ ‘ôŒ¹default–¦fob‘›»ject“is“Ï\stopŽ‘ d¸¹,“user“can“c²!hange“this“with“Ï\modmapobject#1ŽŽ¦‘ãŒÃ1054Ž‘õŒÏ\xydef@\modmapobject#1{\def\modmapobject@{#1}}ŽŽ¡‘ãŒÃ1055Ž‘õŒÏ\xydef@\modmapobject@{\dir{|}}ŽŽ¡‘ãŒÃ1056Ž‘õŒÏ\xydef@\@modmapobject@{{\if\@mod@\relax\expandafter\emptyŽŽ¡‘ãŒÃ1057Ž‘ûKÃÏ\else\expandafter\modmapobject@\fi}}ŽŽŽŽŒ‹I‡M Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹329ŽŽ ¶?? ýh«w‘ãŒÔ3.‘˜¼ExcursionsŽŸXϑ㌹Synš²!tax–dHfor“Ï\xcompositemapŽ‘YCܹand“Ï\x..twocellŽ‘HÞ¹t˜ypMÞes“is“a“little“di eren˜t“to“what“migh˜t“bšMÞe“exp˜ectedޤ ™š‘ãŒfrom–¦fthat“for“Ï\xtoŽ‘¥¹,“Ï\xlineŽ‘&$b¹,“etc.‘ÝÝF‘ÿeor“example,Ž‘ãŒŸ4*‰ffã²dŸiX’Ÿ¡óÏ\xtwocell[Ž’Ù—Çh¹hopÇiÏ]{Ž‘ TÇh¹displaceÇiÏ}...ŽŽŽŸ _‰ffã²dŸã–ð¹connects“to“the“Çh¹pMÞosÇi“¹displaced“bš²!y“Çh¹displaceÇi“¹from“the“relativ˜e“cell“lošMÞcation“sp˜eci ed“b²!y“Çh¹hopÇi¹.‘ºïTheŽ¡displacemenš²!t–Õ†can“bMÞe“an˜y“string“of“v‘ÿdDalid‘½0X‘ü·ŸâÃYŽŽ‘<-pic“commands,‘áNbut“they“m˜ust“bMÞe“enclosed“within“a“groupŽ¡Ï{...}Ž‘¾R¹.‘ÝÝWhen–¦fthe“cell“lošMÞcation“is“the“target,“a“n²!ull“grouping“Ï{}Ž‘Ì Ðmust“¹b˜e“giv²!en.Ž©}Ö‘When–Àused“with“the“Ï<\omit>Ž‘.M&¹n•²!udge,‘'{suc“h–Àexcursions“alloš²!w“a“labMÞelled“Arro˜w“to“bMÞe“placed“an˜ywhereŽ¡within–¦fan‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“diagram;“furthermore“the“Arroš²!w“can“bMÞe“orien˜ted“to“pMÞoin˜t“in“an˜y“direction.ŽŸPˆÃ1087Ž‘Ï\xydef@\curveobject#1{\def\ucurveObject@{~*#1}\def\dcurveObject@{~*#1}}ŽŽ¡Ã1088Ž‘Ï\xydef@\uppercurveobject#1{\def\ucurveObject@{~*#1}}ŽŽ¡Ã1089Ž‘Ï\xydef@\lowercurveobject#1{\def\dcurveObject@{~*#1}}ŽŽ¡Ã1090Ž‘Ï\xydef@\ucurveObject@{}ŽŽ¡Ã1091Ž‘Ï\xydef@\dcurveObject@{}ŽŽŸ4Ä‘¹The–¦femptš²!y“ob‘›»ject“giv˜es“the“default“of“closely“spaced“tin˜y“dots,“resulting“in“a“\smoMÞoth"“curv˜e.ަ‘The–Yéfollo²!wing“macro“is“used“in“conjunction“with“compiling“diagrams,‘i5to“include“the“global“param-Ž¡eters–¦fin“the“compiled“ le.ŽŸPˆÃ1103Ž‘Ï\xydef@\savetwocellobjects{%ŽŽ¡Ã1104Ž‘¿ªÏ\xy@{twocell‘¿ªobjects}{%ŽŽ¡Ã1105Ž‘TÏ\expandafter\uppercurveobject\expandafter{\ucurveObject@}%ŽŽ¡Ã1106Ž‘TÏ\expandafter\lowercurveobject\expandafter{\dcurveObject@}%ŽŽ¡Ã1107Ž‘TÏ\expandafter\modmapobject\expandafter{\modmapobject@}%ŽŽ¡Ã1108Ž‘TÏ\expandafter\twocellhead\expandafter{\twocellhead@}%ŽŽ¡Ã1109Ž‘TÏ\expandafter\twocelltail\expandafter{\twocelltail@}%ŽŽ¡Ã1110Ž‘TÏ\expandafter\arrowobject\expandafter{Arrowobject@}%ŽŽ¡Ã1111Ž‘¿ªÏ}}ŽŽŸ,r<Ô4.‘˜¼F‘þó\ancy‘2curv¦tesŽŸXϹBy–tdspšMÞecifying“Ï\curveobjectŽ‘KäÀ¹an“arbitrary“ob‘›»ject“ma²!y“b˜e“used“to“construct“the“curvš²!ed“arro˜ws.‘Í2IndeedŽ¡with–oia“Ï\..twocellŽ‘D[v¹di eren²!t“ob‘›»jects“can“bšMÞe“used“with“the“upp˜er“and“lo•²!w“er›oicurv“es˜b“y˜spMÞecifyingŽ¡Ï\uppercurveobjectŽ–e`°¹and‘¦fÏ\lowercurveobjectŽ“¹.ަ‘These–¯&spMÞeci cations“apply“to“all“2-cells“subsequenš²!tly“constructed“at“the“same“lev˜el“of“T‘þ,³Ÿ[wEŽ‘B X“grouping.Ž¡Alternativš²!ely–¬9using“a“Ï~Ž‘ kã¹-switc˜h,›­®as“in“ÐExtr‘ÿp¹a–ðFOptions“2¹,˜allo•²!ws›¬9suc“h˜a˜spMÞeci cation˜for˜a˜single˜2-cell˜orŽ¡curv²!ed‘¦fpart.ަ‘Ob‘›»jects–Lused“to“construct“curvš²!es“can“bMÞe“of“t˜w˜o“t˜ypMÞes.‘κEither“a“single“Çh¹ob‘›»jectÇi“¹is“set“once,‘umwithŽ¡copies–jplaced“along“the“curv•²!e.‘¨ÞAlternativ“ely–ja“directional“ob‘›»ject“can“bMÞe“aligned“with“the“tangen²!t“alongŽ¡the–¦fcurvš²!e.‘ÝÝIn“this“case“use“a“spMÞeci cation“tak˜es“the“form:ަ‘Ï\curveobject{Ž‘[»¢Çh¹spacerÇiÏ~**Ž‘>þÇh¹ob‘›»jectÇiÏ}Ž‘¿ª¹.ަHere–¦fÇh¹spacerÇi“¹maš²!y“bMÞe“an˜y“Çh¹ob‘›»jectÇi“¹of“non-zero“size.‘ÝÝT˜ypically“it“is“empt˜y“space,“Ðe¹.Ðg¹.“Ï+Ž‘ fÇh¹dimenÇiÏ{}Ž‘ T¹.ŽŸ'»NÔExercise‘23.8:‘ ó5¹Givš²!e–¦fcoMÞde“to“t˜ypMÞeset“the“follo˜wing“diagrams.ŽŽŽŒ‹J“H Á à ý*tj‘㌹330’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«wŸ,kxŸýC4’‘Ã'ïps: SDict begin xyc endŸ½Â‘¦f¹FUnŽŽŽŽŽŽŽŽŽŽŽŽ‘*iŸû U?ŽŽŽŽŽŽŽ‘D‹Ÿ÷U?ŽŽŽŽŽŽŽ‘%^­ŸôÍU?ŽŽŽŽŽŽŽ‘+xÏŸòU?ŽŽŽŽŽŽŽ‘1’ñŸñ U?ŽŽŽŽŽŽŽ‘7­ŸðU?ŽŽŽŽŽŽŽ‘=Ç5ŸïÍU?ŽŽŽŽŽŽŽ‘CáYŸðU?ŽŽŽŽŽŽŽ‘Iû{Ÿñ U?ŽŽŽŽŽŽŽ‘PŸòU?ŽŽŽŽŽŽŽ‘V/¿ŸôÍU?ŽŽŽŽŽŽŽ‘\IáŸ÷U?ŽŽŽŽŽŽŽ‘bdŸû U?ŽŽŽŽŽŽŽŽŽŽŽ‘zŸ .ïÇŽŽŽŽŽŽŽ‘œŸžïŽŽŽŽŽŽŽ‘%7¾ŸnïŽŽŽŽŽŽŽ‘+QàŸžïŽŽŽŽŽŽŽ‘1lŸ.ïŽŽŽŽŽŽŽ‘7†$ŸïŽŽŽŽŽŽŽ‘= FŸnïŽŽŽŽŽŽŽ‘CºjŸïŽŽŽŽŽŽŽ‘IÔŒŸ.ïŽŽŽŽŽŽŽ‘OžïŽŽŽŽŽŽŽ‘VПnïŽŽŽŽŽŽŽ‘\"òŸžïŽŽŽŽŽŽŽ‘b=Ÿ .ïŽŽŽŽŽŽŽŽŽŽŽ‘=ןÇÂ&ŽŽŽŽŽŸ­:‘a¾h¹gaMESŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸ-É6Ÿ@kxŸýC4‘p‚dïps: SDict begin xyc endŸ ÓŸóôx‘'ŒÔGroundŽŸ ˆ‘ ÿŠStateŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘- =Ÿñ™Hï" {3674 10 /xy AB}xyŽŽŽŽŽŽŽ‘2wéŸïÄï" {3624 10 /xy AB}xyŽŽŽŽŽŽŽ‘7GÙŸì™Àï" {3574 10 /xy AB}xyŽŽŽŽŽŽŽ‘<Ÿê}pï" {3523 10 /xy AB}xyŽŽŽŽŽŽŽ‘@íãŸè$ï" {3473 10 /xy AB}xyŽŽŽŽŽŽŽ‘EÂçŸæíôï" {3423 10 /xy AB}xyŽŽŽŽŽŽŽ‘J–ƒŸåЏï" {3373 10 /xy AB}xyŽŽŽŽŽŽŽ‘OdŸäRÄï" {3323 10 /xy AB}xyŽŽŽŽŽŽŽ‘T4ùŸãjï" {3273 10 /xy AB}xyŽŽŽŽŽŽŽ‘YŸâ«,ï" {3222 10 /xy AB}xyŽŽŽŽŽŽŽ‘]ΙŸâ<<ï" {3172 10 /xy AB}xyŽŽŽŽŽŽŽ‘b˜éŸáöï" {3122 10 /xy AB}xyŽŽŽŽŽŽŽ‘gbçŸâï" {3072 10 /xy AB}xyŽŽŽŽŽŽŽ‘l*gŸâEØï" {3022 10 /xy AB}xyŽŽŽŽŽŽŽ‘pñ—Ÿâ³°ï" {2972 10 /xy AB}xyŽŽŽŽŽŽŽ‘uµŸãpÀï" {2922 10 /xy AB}xyŽŽŽŽŽŽŽ‘zz÷ŸäUäï" {2871 10 /xy AB}xyŽŽŽŽŽŽŽ‘;ƒŸå‰(ï" {2821 10 /xy AB}xyŽŽŽŽŽŽŽ’ƒÿŸæå4ï" {2771 10 /xy AB}xyŽŽŽŽŽŽŽ’ˆ½cŸèøï" {2721 10 /xy AB}xyŽŽŽŽŽŽŽ’yÝŸêpÈï" {2671 10 /xy AB}xyŽŽŽŽŽŽŽ’’;ùŸì~|ï" {2621 10 /xy AB}xyŽŽŽŽŽŽŽ’–öÑŸîÖ,ï" {2570 10 /xy AB}xyŽŽŽŽŽŽŽ’›¸aŸñZ(ï" {2520 10 /xy AB}xyŽŽŽŽŽŽŽ’ r3Ÿô&¤ï" {2470 10 /xy AB}xyŽŽŽŽŽŽŽŽŽŽŽŸÜÝø‘>í²con•¸ãtin“uous‘UUpGo“w“erŽŽŽŽŽŽŽŽŽŽŽ‘)Á­Ÿ °ï" {-1626 10 /xy AB}xyŽŽ‘'-MŸ ’¸ï" {-1626 10 /xy AB}xyŽŽŽŽŽŽŽ‘3A}Ÿcï" {-1526 10 /xy AB}xyŽŽ‘0’•Ÿ ¨ï" {-1526 10 /xy AB}xyŽŽŽŽŽŽŽ‘<‹Ÿ¿`ï" {-1425 10 /xy AB}xyŽŽ‘9úûŸžpï" {-1425 10 /xy AB}xyŽŽŽŽŽŽŽ‘FA‹Ÿ=pï" {-1325 10 /xy AB}xyŽŽ‘C^;Ÿm˜ï" {-1325 10 /xy AB}xyŽŽŽŽŽŽŽ‘OÈ©ŸÁ°ï" {-1225 10 /xy AB}xyŽŽ‘LÕÉŸ48ï" {-1225 10 /xy AB}xyŽŽŽŽŽŽŽ‘YS©ŸX@ï" {-1124 10 /xy AB}xyŽŽ‘VW Ÿ ï" {-1124 10 /xy AB}xyŽŽŽŽŽŽŽ‘bâçŸï" {-1024 10 /xy AB}xyŽŽ‘_âçŸï" {-1024 10 /xy AB}xyŽŽŽŽŽŽŽ‘lv§Ÿ·Ðï" {-924 10 /xy AB}xyŽŽ‘izŸÿˆï" {-924 10 /xy AB}xyŽŽŽŽŽŽŽ‘v§Ÿ~`ï" {-823 10 /xy AB}xyŽŽ‘sÇŸ ðï" {-823 10 /xy AB}xyŽŽŽŽŽŽŽ‘ª‡ŸR ï" {-723 10 /xy AB}xyŽŽ‘|Ç7Ÿ"ï" {-723 10 /xy AB}xyŽŽŽŽŽŽŽ’‰N…Ÿ@°ï" {-623 10 /xy AB}xyŽŽ’††õŸa¸ï" {-623 10 /xy AB}xyŽŽŽŽŽŽŽ’’ðuŸ-ï" {-522 10 /xy AB}xyŽŽ’AŸ„€ï" {-522 10 /xy AB}xyŽŽŽŽŽŽŽ’œ“£Ÿ%`ï" {-422 10 /xy AB}xyŽŽ’™ÿCŸ­pï" {-422 10 /xy AB}xyŽŽŽŽŽŽŽŽŽŽŽŸ(‘Béÿpulsed‘UUemissionŽŽŽŽŽŽŽŽŽŽŽ‘WÃ(ŸÍUÄN‘ÿ^ni‘Ó1C‘þõPdŽŽŽŽŽŽŽžÌÍ‘dâçï" {22.20723 ox}xyŽŽŽŽžÌÍ‘dâçï" {20.10722 ox}xyŽŽŽŽŸ ÓŸóôx’œ˜ÔExcitedŽŸ ˆ’£~StateŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸS7Æ‘ãŒÞ3.4.5Ž‘ ÌAfter‘€P arsing...ŽŸ‘㌹V‘ÿealues–ÐEfor“Ï\twocellPATHŽ‘HÌ=¹,‘Ú½depšMÞends“on“the“mo˜de“of“picture/diagram“as“to“whether“the“Ï@cŽ›Þ¹and“Ï@pŽ˜¹areޤ ™š‘ãŒkno•²!wn›¦fy“et,˜or˜still˜ha“v“e˜to˜bMÞe˜read.Ž©Pˆ‘ãŒÃ1193Ž‘õŒÏ\xydef@\twocell@path.[#1].{%ŽŽ¡‘ãŒÃ1194Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªQ@@c\endcsname\relaxŽŽ¡‘ãŒÃ1195Ž‘ mÏ\DN@{\enter@{\cfromthec@–¿ª\pfromthep@“\basefromthebase@}%ŽŽ¡‘ãŒÃ1196Ž‘ËÏ\xy@{}{\expandafter\edef\csname‘¿ªQ@@\endcsname{\cfromthec@}}%ŽŽ¡‘ãŒÃ1197Ž‘ËÏ\afterPOS{\xy@{}%ŽŽ¡‘ãŒÃ1198Ž‘ ŠÁÏ{\expandafter\edef\csname‘¿ªQ@@c\endcsname{\cfromthec@}}%ŽŽ¡‘ãŒÃ1199Ž‘ËÏ\xy@{}%ŽŽ¡‘ãŒÃ1200Ž‘ËÏ{\cfromid@{@}\expandafter\edef\csname‘¿ªQ@@p\endcsname{\cfromthec@}}%ŽŽ¡‘ãŒÃ1201Ž‘ËÏ\xy@{twocell‘¿ª#1}{#1}\leave@\aftertwoCELL};p,}%ŽŽ¡‘ãŒÃ1202Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1203Ž‘ mÏ\DN@{\enter@{\cfromthec@–¿ª\pfromthep@“\basefromthebase@}%ŽŽ¡‘ãŒÃ1204Ž‘ËÏ\xy@{twocell‘¿ª#1}{#1}\leave@\aftertwoCELL}%ŽŽ¡‘ãŒÃ1205Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ1207Ž‘õŒÏ\xydef@\twocellpath.[#1].{%ŽŽ¡‘ãŒÃ1208Ž‘ mÏ\expandafter\edef\csname‘¿ªQ@@p\endcsname{\cfromthec@}%ŽŽ¡‘ãŒÃ1209Ž‘ mÏ\xy@{}{\enter@{\pfromthep@}}%ŽŽ¡‘ãŒÃ1210Ž‘ËÏ\xy@{}{\enter@{\cfromthec@–¿ª\pfromthep@“\basefromthebase@}%ŽŽ¡‘ãŒÃ1211Ž‘ ŠÁÏ\enter@{\pfromthec@}}%ŽŽ¡‘ãŒÃ1212Ž‘ËÏ\afterPOS{\xy@{}{\leave@\setupDirection@}#1\restore\restoreŽŽ¡‘ãŒÃ1213Ž‘ûKÃÏ\xy@{end–¿ªof“2-cell}\xysaveMinMax@“}}%ŽŽ¦‘ãŒÃ1215Ž‘õŒÏ\xydef@\xysaveMinMax@{\edef\tmp@{\endgroupŽŽ¡‘ãŒÃ1216Ž‘ûKÃÏ\noexpand\ifdim\X@max<\the\X@max‘¿ª\X@max=\the\X@max\noexpand\fiŽŽ¡‘ãŒÃ1217Ž‘ûKÃÏ\noexpand\ifdim\X@min>\the\X@min‘¿ª\X@min=\the\X@min\noexpand\fiŽŽ¡‘ãŒÃ1218Ž‘ûKÃÏ\noexpand\ifdim\Y@max<\the\Y@max‘¿ª\Y@max=\the\Y@max\noexpand\fiŽŽ¡‘ãŒÃ1219Ž‘ûKÃÏ\noexpand\ifdim\Y@min>\the\Y@min‘¿ª\Y@min=\the\Y@min\noexpand\fiŽŽ¡‘ãŒÃ1220Ž‘ûKÃÏ}\tmp@‘¿ª}ŽŽŸv‘ãŒÃ1224Ž‘õŒÏ\xylet@\twocellPATH=\twocellpathŽŽŽŽŒ‹K¡  Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹331ŽŽ ¶?? ýh«w‘ãŒÃ1225Ž‘õŒÏ\xydef@\aftertwo@CELL{\let\twocellPATH=\twocellpath‘¿ª\def\aftertwoCELL{}}ŽŽ¤ ™š‘ãŒÃ1226Ž‘õŒÏ\xydef@\aftertwoCELL{}ŽŽŸÃ!‘ôŒ¹It–¦fremains“to“collect“ev²!erything“together“and“place“it“on“the“queue.Ž©Pˆ‘ãŒÃ1232Ž‘õŒÏ\xydef@\twocell@@@@#1!!!{\xy@{twocell‘¿ª#1}{\twocell@@#1!!!}}ŽŽŸ$˜T‘ãŒÞ3.4.6Ž‘ Ì2-cells–€in“general‘&aX‘ûó1Ÿ"YŽŽ‘v¿-picturesŽŸЦ‘ãŒ¹Twš²!o-cells–âRcan“also“bMÞe“set“directly“within“an˜y‘ÉüX‘ü·ŸâÃYŽŽ‘ I\-picture,› Šwithout“the“matrix“feature,˜using“either“Ï\dropŽŽ¡‘㌹or‘¦fÏ\connectŽ‘1£¶¹.ަ‘ãŒÃ1245Ž‘õŒÏ\let\xystatus=\xystatus@ŽŽ¡‘ãŒÃ1246Ž‘õŒÏ\xydef@\twocell{\hbox\bgroup\@twocell}ŽŽ¡‘ãŒÃ1247Ž‘õŒÏ\xydef@\uppertwocell{\hbox\bgroup\@uppertwocell}ŽŽ¡‘ãŒÃ1248Ž‘õŒÏ\xydef@\lowertwocell{\hbox\bgroup\@lowertwocell}ŽŽ¡‘ãŒÃ1249Ž‘õŒÏ\xydef@\compositemap{\hbox\bgroup\@compositemap}ŽŽ¦‘ãŒÃ1251Ž‘õŒÏ\xydef@\twocelll#1#{\hbox\bgroup\xy@\save\save@\@twocelll{#1}}ŽŽ¡‘ãŒÃ1252Ž‘õŒÏ\xydef@\@twocelll#1#2{%ŽŽ¡‘ãŒÃ1253Ž‘ûKÃÏ\afterPOS{\@twocelll@\xyFN@\twocell@#1{#2}}}ŽŽ¦‘ãŒÃ1255Ž‘õŒÏ\xydef@\uppertwocelll#1#{\hbox\bgroup\xy@\save\save@\@uppertwocelll{#1}}ŽŽ¡‘ãŒÃ1256Ž‘õŒÏ\xydef@\@uppertwocelll#1#2{%ŽŽ¡‘ãŒÃ1257Ž‘ûKÃÏ\afterPOS{\@twocelll@\xyFN@\uppertwocell@#1{#2}}}ŽŽ¦‘ãŒÃ1259Ž‘õŒÏ\xydef@\lowertwocelll#1#{\hbox\bgroup\xy@\save\save@\@lowertwocelll{#1}}ŽŽ¡‘ãŒÃ1260Ž‘õŒÏ\xydef@\@lowertwocelll#1#2{%ŽŽ¡‘ãŒÃ1261Ž‘ûKÃÏ\afterPOS{\@twocelll@\xyFN@\lowertwocell@#1{#2}}}ŽŽ¦‘ãŒÃ1263Ž‘õŒÏ\xydef@\compositemapp#1#{\hbox\bgroup\xy@\save\save@\@compositemapp{#1}}ŽŽ¡‘ãŒÃ1264Ž‘õŒÏ\xydef@\@compositemapp#1#2{%ŽŽ¡‘ãŒÃ1265Ž‘ûKÃÏ\afterPOS{\@twocelll@\xyFN@\compositemap@#1{#2}}}ŽŽ¡‘ãŒÃ1266Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1267Ž‘õŒÏ\xydef@\@twocelll@{%ŽŽ¡‘ãŒÃ1268Ž‘õŒÏ%‘¿ª\idfromc@{@c}\swap@\idfromc@{@p}\swap@ŽŽ¡‘ãŒÃ1269Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@@c\endcsname{\cfromthec@}\swap@ŽŽ¡‘ãŒÃ1270Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@@p\endcsname{\cfromthec@}\swap@ŽŽ¡‘ãŒÃ1271Ž‘ûKÃÏ\let\twocellPATH=\twocell@pathŽŽ¡‘ãŒÃ1272Ž‘õŒÏ%‘¿ª\def\aftertwoCELL{\twocell@DONE}}ŽŽ¡‘ãŒÃ1273Ž‘ûKÃÏ\def\aftertwoCELL{\twocell@DONE–¿ª\xy@\restore“\leave@ŽŽ¡‘ãŒÃ1274Ž‘õŒÏ%–¿ª\cfromid@{@c}\no@@“\xystatus@{end:“}ŽŽ¡‘ãŒÃ1275Ž‘ûKÃÏ}}ŽŽ¦‘ãŒÃ1277Ž‘õŒÏ\xydef@\@twocell#1{\DN@{\@twocell@\twocell@}\xyFN@\next@[#1]}ŽŽ¡‘ãŒÃ1278Ž‘õŒÏ\xydef@\@uppertwocell#1{\DN@{\@twocell@\uppertwocell@}\xyFN@\next@[#1]}ŽŽ¡‘ãŒÃ1279Ž‘õŒÏ\xydef@\@lowertwocell#1{\DN@{\@twocell@\lowertwocell@}\xyFN@\next@[#1]}ŽŽ¡‘ãŒÃ1280Ž‘õŒÏ\xydef@\@compositemap#1{\DN@{\@twocell@\compositemap@}\xyFN@\next@[#1]}ŽŽŸv‘ãŒ\def\myPOS#1{\POS}\def\goVia#1{%ŽŽ¡‘ï m\afterPOS{\connect#1\myPOS}}ŽŽ¡‘ãŒ\xyŽŽ¡‘éKÃ*+{A}="A",+<1cm,1.5cm>*+{B}="B",ŽŽ¡‘éKÃ+<2.0cm,0pt>*+{C}="C",ŽŽ¡‘éKÃ+<1cm,-1.5cm>*+{D}="D",ŽŽŽŽŒ‹L¶# Á à ý*tj‘㌹332’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÏ"A";\goVia{\uppertwocell^\alpha{}}"B"{}ŽŽ¤ ™š‘ãŒ;\goVia{\twocell^\zeta_\xi{\gamma}}"C"{}ŽŽ¡‘ãŒ;\goVia{\compositemap{}}"D"{},ŽŽ¡‘ãŒ"A";\goVia{\lowertwocell{}}"D"{}ŽŽ¡‘ãŒ\endxyŽŽ©ûŸD“[’‘!>ïps: SDict begin xyc end‘ íòŸ%òÄAŽŽŽŽ‘'šŸÖxBŽŽŽŽ‘`ÚŸÖxCŽŽŽŽ‘|)kŸ%òDŽŽŽŽ‘ %Ÿýh0ïH" {mark 28.45274 42.67912 -15.03572 40.54427 0.0 0.0 0.0867 0.90906 q}xyŽŽŽ‘¸˜ŸÝq™Å ŽŽŽŽŽ‘$ ŸÓo ï" {3224 10 /xy AB}xyŽŽŽŽ‘PýŸß¯§ï" {2400 F d}xyŽŽŽŽŽŽ‘8Ÿá[µï" {2400 F d}xyŽŽŽŽŽŽŽ‘hŸá¿ï" {2400 F d}xyŽŽŽŽŽŽ‘O3ŸâºÍï" {2400 F d}xyŽŽŽŽŽŽŽ‘ ÞŸæï" {2400 /XT tt}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ %Ÿýh0ïR" {mark 85.35825 42.67912 56.90549 60.17912 28.45274 42.67912 0.13052 0.87164 q}xyŽŽŽ‘EÌ€ŸÆúUŽŽŽŽŽ‘]ŸÎÏwï" {2605 10 /xy AB}xyŽŽŽŽ‘ %Ÿýh0ïR" {mark 85.35825 42.67912 56.90549 25.17912 28.45274 42.67912 0.13052 0.87164 q}xyŽŽŽ‘E꺟âzUŽŽŽŽŽ‘]ŸÖ¥1ï" {3540 10 /xy AB}xyŽŽŽŽ‘HðòŸÍ¹ï" {1024 F d}xyŽŽŽŽŽŽ‘FðôŸÍ¹ï" {1024 F d}xyŽŽŽŽŽŽŽ‘HðòŸÐ9ï" {1024 F d}xyŽŽŽŽŽŽ‘FðôŸÐ9ï" {1024 F d}xyŽŽŽŽŽŽŽ‘GðóŸ×¹ï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘K„ŸÓ¬ ŽŽŽŽŽŽŽŽŽŽ’?ΟÞwï" {21.55057 -8.76967 l}xyŽŽŽ’?ΟÞwï" {2655 10 /xy AB}xyŽŽŽŽŸýh0’€îªŸùB>ï" {-0.31696 -24.20068 l}xyŽŽŽ’€îªŸöªnï" {1011 10 /xy AB}xyŽŽŽŽ‘s*ÀŸèæ°ï" {-352 F d}xyŽŽŽŽŽŽ‘râŸç:²ï" {-352 F d}xyŽŽŽŽŽŽŽ‘qÀŸêEÈï" {-352 F d}xyŽŽŽŽŽŽ‘oúâŸè™Êï" {-352 F d}xyŽŽŽŽŽŽŽ‘nptŸêÎáï" {-352 /XT tt}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ %Ÿýh0ï@" {mark 113.81099 0.0 56.90549 -35.0 0.0 0.0 0.06241 0.9325 q}xyŽŽŽ‘y)úŸÐ8ï" {3625 10 /xy AB}xyŽŽŽŽ‘HðòŸ&ðï" {1024 F d}xyŽŽŽŽŽŽ‘FðôŸ&ðï" {1024 F d}xyŽŽŽŽŽŽŽ‘HðòŸ¦ðï" {1024 F d}xyŽŽŽŽŽŽ‘FðôŸ¦ðï" {1024 F d}xyŽŽŽŽŽŽŽ‘GðóŸ &ðï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸ2‚ ‘ôŒ¹The–McoMÞde“shoš²!wn“is“a“compact“w˜a˜y“to“place“a“c˜hain“of“2-cells“within“a“picture.‘ ÒIt“illustratesŽ¡‘ãŒa–?Mstandard“tec²!hnique“for“using“Ï\afterPOSŽ‘>;”¹to“ nd“a“Çh¹pšMÞosÇi“¹to“b˜e“used“for“part“of“a“picture,‘¥‡thenŽ¡‘ãŒsubsequen²!tly–q›reuse“it.‘?{Also“it“is“pšMÞossible“to“use“Ï\dropŽ‘%¡ˆ¹or“Çh¹decorÇi¹s“to“sp˜ecify“the“2-cells,‘¤ggiving“theŽ¡‘ãŒsame‘¦fpicture.ŽŸPˆ‘ãŒÏ\xy‘¿ª*+{A}="A",+<1cm,1.5cm>*+{B}="B",ŽŽ¡‘éKÃ+<2cm,0pt>*+{C}="C",ŽŽ¡‘éKÃ+<1cm,-1.5cm>*+{D}="D",ŽŽ¡‘ãŒ"A";"B",{\uppertwocell^\alpha{}},ŽŽ¡‘ãŒ"B";"C",{\twocell^\zeta_\xi{\gamma}},ŽŽ¡‘ãŒ"C";‘¿ª\afterPOS{\drop\compositemap{}}"D"ŽŽ¡‘ãŒ\POS‘¿ª"A";ŽŽ¡‘éKÃ\afterPOS{\drop\lowertwocell{}}"D"ŽŽ¡‘ãŒ\endxyŽŽ¦‘ôŒ¹The‘«7Ï\connectŽ‘5S¾¹v‘ÿdDarianš²!t–«7is“usually“preferable“as“this“main˜tains“the“size“of“the“ob‘›»ject“at“Äc¹,‘¬kwhile“theŽ¡‘ãŒÏ\dropŽ‘ðѹv‘ÿdDarian•²!t›¦flea“v“es˜a˜rectangular˜ob‘›»ject˜ha“ving˜Äp˜¹and˜Äc˜¹on˜oppMÞosite˜sides.ŽŸD‘ôŒThis–¦fis“used“outside“of“diagrams.ŽŸPˆ‘ãŒÃ1338Ž‘õŒÏ\xydef@\@twocell@#1{\ifx\next[\DN@[{\toks@={#1}\xyFN@\@@twocell@}%ŽŽ¡‘ãŒÃ1339Ž‘ûKÃÏ\else\DN@{#1{}}\fiŽŽ¡‘ãŒÃ1340Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ1341Ž‘õŒÏ%‘¿ª\idfromc@{@c}\swap@\idfromc@{@p}\swap@ŽŽ¡‘ãŒÃ1342Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@@c\endcsname{\cfromthec@}\swap@ŽŽ¡‘ãŒÃ1343Ž‘ûKÃÏ\expandafter\edef\csname‘¿ªQ@@p\endcsname{\cfromthec@}\swap@ŽŽ¡‘ãŒÃ1344Ž‘ûKÃÏ\let\twocellPATH=\twocell@pathŽŽ¡‘ãŒÃ1345Ž‘ûKÃÏ\def\aftertwoCELL{\twocell@DONE}\next@}ŽŽ¦‘ôŒ¹This–¦fhac²!k“is“necessary‘ÿe,“since“Ï\DN@[##1]{#1##1}Ž‘cGl¹will“strip“braces.ŽŸPˆ‘ãŒÃ1351Ž‘õŒÏ\xydef@\@@twocell@{\ifx\next\bgroup\DN@##1]{\the\toks@{##1}}%ŽŽ¡‘ãŒÃ1352Ž‘ mÏ\else\DN@##1]{\the\toks@##1}\fi\next@}ŽŽ¦‘ôŒÔT‘þó\o‘KwDo:‘ 2¹These–¼are“suppMÞosed“to“alloš²!w“Ï\dir\...twocell{...}Ž‘zqj¹to“w˜ork.‘ÝA˜t“presen˜t“it“seems“to“bMÞeŽ¡‘ãŒimpMÞossible–¦fto“do“this.ŽŸPˆ‘ãŒÃ1362Ž‘õŒÏ%‘¿ª\expandafter\xydefcsname@\expandafter{\codeof\twocell}{\@twocell}ŽŽ¡‘ãŒÃ1363Ž‘õŒÏ%‘¿ª\expandafter\xydefcsname@\expandafter{\codeof\uppertwocell}{\@uppertwocell}ŽŽ¡‘ãŒÃ1364Ž‘õŒÏ%‘¿ª\expandafter\xydefcsname@\expandafter{\codeof\lowertwocell}{\@lowertwocell}ŽŽ¡‘ãŒÃ1365Ž‘õŒÏ%‘¿ª\expandafter\xydefcsname@\expandafter{\codeof\compositemap}{\@compositemap}ŽŽŽŽŒ‹MÁ¤ Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹333ŽŽ ¶?? ýh«w‘ãŒÃ1366Ž‘õŒÏ%%‘¿ª\DN@{\twocell}%ŽŽ¤ ™š‘ãŒÃ1367Ž‘õŒÏ%%–¿ª\expandafter\def\csname*dir@@\codeof\next@“@\endcsname{\@twocell}ŽŽ¡‘ãŒÃ1368Ž‘õŒÏ%%‘¿ª\DN@{\uppertwocell}%ŽŽ¡‘ãŒÃ1369Ž‘õŒÏ%%–¿ª\expandafter\def\csname*dir@@\codeof\next@“@\endcsname{\@uppertwocell}ŽŽ¡‘ãŒÃ1370Ž‘õŒÏ%%‘¿ª\DN@{\lowertwocell}%ŽŽ¡‘ãŒÃ1371Ž‘õŒÏ%%–¿ª\expandafter\def\csname*dir@@\codeof\next@“@\endcsname{\@lowertwocell}ŽŽ¡‘ãŒÃ1372Ž‘õŒÏ%%‘¿ª\DN@{\compositemap}%ŽŽ¡‘ãŒÃ1373Ž‘õŒÏ%%–¿ª\expandafter\def\csname*dir@@\codeof\next@“@\endcsname{\@compositemap}ŽŽ©$…é‘ôŒ¹...since–¦fthe“con•²!ten“ts–¦fof“Ï{..}Ž‘Kt¹is“v‘ÿdDariable.ŽŸÎû‘ôŒFinish–¦fo “the“bšMÞo²!x,“set“up“the“ob‘›»ject“size,“establish“the“Ï\Drop@@Ž‘/Šr¹and“Ï\Connect@@Ž‘@Ép¹metho˜ds.ŽŸPˆ‘ãŒÃ1384Ž‘õŒÏ\xydef@\twocell@DONE{%ŽŽ¡‘ãŒÃ1385Ž‘ûKÃÏ\edef\tmp@{\egroup–¿ª\X@min=\the\X@min“\X@max=\the\X@maxŽŽ¡‘ãŒÃ1386Ž‘ mÏ\Y@min=\the\Y@min‘¿ª\Y@max=\the\Y@max}\tmp@ŽŽ¡‘ãŒÃ1387Ž‘ûKÃÏ\L@c=\X@c–¿ª\advance\L@c-\X@min“\R@c=\X@max“\advance\R@c-\X@cŽŽ¡‘ãŒÃ1388Ž‘ûKÃÏ\D@c=\Y@c–¿ª\advance\D@c-\Y@min“\U@c=\Y@max“\advance\U@c-\Y@cŽŽ¡‘ãŒÃ1389Ž‘ûKÃÏ\ht\z@=\U@c–¿ª\dp\z@=\D@c“\dimen@=\L@c“\advance\dimen@\R@c“\wdz@=\dimen@ŽŽ¡‘ãŒÃ1390Ž‘ûKÃÏ\computeLeftUpness@ŽŽ¡‘ãŒÃ1391Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1392Ž‘õŒÏ\setboxz@h{\kern-\X@p–¿ª\raise-\Y@c\boxz@“}%ŽŽ¡‘ãŒÃ1393Ž‘õŒÏ\dimen@=\L@c–¿ª\advance\dimen@\R@c“\wdz@=\dimen@“\ht\z@=\U@c“\dp\z@=\D@cŽŽ¡‘ãŒÃ1394Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1395Ž‘ûKÃÏ\Edge@c={\rectangleEdge}\Invisible@false‘¿ª\Hidden@falseŽŽ¡‘ãŒÃ1396Ž‘ûKÃÏ\edef\Drop@@{\noexpand\drop@TwocellŽŽ¡‘ãŒÃ1397Ž‘ mÏ\noexpand\def\noexpand\Leftness@{\Leftness@}%ŽŽ¡‘ãŒÃ1398Ž‘ mÏ\noexpand\def\noexpand\Upness@{\Upness@}}%ŽŽ¡‘ãŒÃ1399Ž‘ûKÃÏ\edef\Connect@@{\noexpand\connect@TwocellŽŽ¡‘ãŒÃ1400Ž‘ mÏ\noexpand\ifdim\X@max<\the\X@max‘¿ª\X@max=\the\X@max\noexpand\fiŽŽ¡‘ãŒÃ1401Ž‘ mÏ\noexpand\ifdim\X@min>\the\X@min‘¿ª\X@min=\the\X@min\noexpand\fiŽŽ¡‘ãŒÃ1402Ž‘ mÏ\noexpand\ifdim\Y@max<\the\Y@max‘¿ª\Y@max=\the\Y@max\noexpand\fiŽŽ¡‘ãŒÃ1403Ž‘ mÏ\noexpand\ifdim\Y@min>\the\Y@min–¿ª\Y@min=\the\Y@min\noexpand\fi“}}%ŽŽ¦‘ôŒ¹moMÞdi ed‘¦fÏ\Drop@@Ž‘/Šr¹and‘¦fÏ\Connect@@ŽŽ¤Pˆ‘ãŒÃ1409Ž‘õŒÏ\xydef@\drop@Twocell{\boxz@‘¿ª}ŽŽ¡‘ãŒÃ1411Ž‘õŒÏ\xydef@\connect@Twocell{%ŽŽ¤ ™š‘ãŒÃ1412Ž‘ûKÃÏ\setboxz@h{\kern\X@p–¿ª\raise\Y@c\box\lastobjectbox@“}%ŽŽ¡‘ãŒÃ1413Ž‘ûKÃÏ\wdz@=\z@–¿ª\ht\z@=\z@“\dp\z@=\z@“\Drop@@“}ŽŽ¦‘ôŒ\twocell@@Ž‘1 Ĺis–the“main“switcš²!hing“engine,‘#´taking“9“parameters“determining“whic˜h“pieces“to“set“andŽ¡‘ãŒwhere–´3to“pMÞosition“them.‘EThis“includes“curv‘ÿdDature“of“the“squines,‘·§whether“to“draš²!w“t˜w˜o“squines“or“onlyŽ¡‘ãŒone,›6Ïor–íto“use“straigh²!t“lines,˜whether“to“ha•²!v“e–ía“cenš²!tral“Arro˜w“and“its“orien˜tation,‘6Ïcon˜tan˜ts“of“labMÞelsŽ¡‘ãŒand–¦ftheir“pMÞositions.ŽŸÎû‘ôŒThe– Zcurrenš²!t“p“and“c“are“the“exten˜ts“of“the“connection“these“are“stored“as“Ï"@p"Ž›!\¹and“Ï"@c"Ž˜¹forŽ¡‘ãŒrepMÞeated‘¦fuse;ŽŽŽŒ‹NÒ‹ Á à ý*tj‘㌹334’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌟ /¥‰ffã²dŸBæÝŸÉ•‘kf8Ï#1ŽŽ’‚å¹determines–¦flošMÞcation“of“con²!trol“p˜oin²!t“Ï"@m"ŽŽŽ¤ ™™‘kf8#2ŽŽ’‚å¹loMÞcation–¦fof“Ï=>Ž‘%º¹,“as“m²!ultiple“of“Ï\xydashl@Ž‘; ƹfrom“Ï"@m"ŽŽŽ¡‘kf8#3ŽŽ’‚å¹lošMÞcation–¦fof“Ï_Ž‘ v¹lab˜el“(source“arro²!w)ŽŽ¡‘kf8Ï#4ŽŽ’‚å¹lošMÞcation–¦fof“Ï^Ž‘ v¹lab˜el“(target“arro²!w)ŽŽ¡‘kf8Ï#5ŽŽ’‚å¹ ag–¦ffor“hoš²!w“man˜y“squines“to“dra˜w“&“whic˜h“tipsŽŽ¡‘kf8Ï#6ŽŽ’‚å¹labMÞel–¦ffor“source“arro²!wŽŽ¡‘kf8Ï#7ŽŽ’‚å¹labMÞel–¦ffor“target“arro²!wŽŽ¡‘kf8Ï#8ŽŽ’‚å¹labMÞel–¦ffor“Ï=>Ž‘Ì ¹(2-cell“morphism)ŽŽ¡‘kf8Ï#9ŽŽ’‚å¹determines–¦forien²!tation“of“2-cellŽŽŽŽŽŽŸ=Óª‰ffã²dŸ É?¤ ™š‘The–¦ffolloš²!wing“tok˜ens“ma˜y“appMÞear“as“parameters“in“Ï#9Ž‘%º¹:‘ÝÝÏ!Ž‘ ‡¹,“Ï^Ž› f¹,“Ï_Ž˜¹,“Ï=Ž˜¹,“ÏAŽ˜¹,“ÏVŽ˜¹,“ÏHŽŽ©PˆÃ1446Ž‘Ï\xywarnifdefined\@mod@ŽŽ¡Ã1447Ž‘Ï\xywarnifdefined\Arrowtok@ŽŽ¦Ã1449Ž‘Ï\xydef@\twocell@@#1#2#3#4#5#6#7#8#9!!!{%ŽŽ¡Ã1450Ž‘¿ªÏ\def\@mod@{@}\DN@{#9}%ŽŽ¡Ã1451Ž‘¿ªÏ\ifx–¿ª#9!\def\Arrowtok@{@}\else\ifx“#9A\def\Arrowtok@{^}%ŽŽ¡Ã1452Ž‘TÏ\else\ifx–¿ª#9V\def\Arrowtok@{_}\else\ifx“#9H\def\Arrowtok@{=}%ŽŽ¡Ã1453Ž‘TÏ\else\def\@mod@{\relax}%ŽŽ¡Ã1454Ž‘TÏ\ifx–¿ª#5/\def\Arrowtok@{@}\else\ifx“#5b\def\Arrowtok@{@}%ŽŽ¡Ã1455Ž‘#>þÏ\else\ifx–¿ª#5B\def\Arrowtok@{@}\else\ifx“#5@\def\Arrowtok@{@}%ŽŽ¡Ã1456Ž‘#>þÏ\else\def\Arrowtok@{#9}%ŽŽ¡Ã1457Ž‘¿ªÏ\fi\fi\fi\fi\fi\fi\fi\fiŽŽ¡Ã1458Ž‘#>þÏ\addEQ@\ifx‘¿ª#9\def\Arrowtok@{=}\fiŽŽ¡Ã1459Ž‘¿ªÏ\DN@{\omit}\ifx\next@\Arrowtok@\def\Arrowtok@{}\elseŽŽ¡Ã1460Ž‘TÏ\edef\Arrowtok@{\codeof\Arrowtok@}\fiŽŽ¡Ã1461Ž‘¿ªÏ\save@‘¿ª\idfromc@{@c}\swap@\idfromc@{@p}\swap@ŽŽ¡Ã1462Ž‘¿ªÏ\cfromid@{@c}\no@@ŽŽ¡Ã1463Ž‘Ï%ŽŽ¡Ã1464Ž‘¿ªÏ\ifdim–¿ª\X@c<\X@p“\X@min=\X@c“\X@max=\X@p“\else“\X@min=\X@p“\X@max=\X@c“\fiŽŽ¡Ã1465Ž‘¿ªÏ\ifdim–¿ª\Y@c<\Y@p“\Y@min=\Y@c“\Y@max=\Y@p“\else“\Y@min=\Y@p“\Y@max=\Y@c“\fiŽŽ¡Ã1466Ž‘Ï%ŽŽ¡Ã1467Ž‘¿ªÏ\Calong@@{.5}\idfromc@{@m}\idfromc@{@m1}\idfromc@{@m2}%ŽŽ¡Ã1468Ž‘Ï%ŽŽ¡Ã1469Ž‘¿ªÏ\ifx‘¿ª#5t\relaxŽŽ¡Ã1470Ž‘TÏ\enter@{\cplusthec@\pfromthep@}%ŽŽ¡Ã1471Ž‘TÏ\enter@\DirectionfromtheDirection@–¿ª\begingroup\aboveDirection@“\xydashl@ŽŽ¡Ã1472Ž‘TÏ\DN@{#1}\ifx\next@\empty\dimen@=\z@\else\dimen@=#1\p@\fiŽŽ¡Ã1473Ž‘TÏ\ifdim\dimen@=\z@‘¿ª\DN@{\vfromslide@i{\xydashl@}@}\relaxŽŽ¡Ã1474Ž‘TÏ\else\DN@{\vfromslide@i{#1\xydashl@}@}\fi‘¿ª\next@ŽŽ¡Ã1475Ž‘TÏ\czeroEdge@–¿ª\leave@“\no@@“\drop@{+}{}\idfromc@{@m1}%ŽŽ¡Ã1476Ž‘TÏ\DN@{#1}\ifx\next@\empty\DN@{\no@@}\else\DN@{\connect@{\dir}{-}}\fiŽŽ¡Ã1477Ž‘¿ªÏ\elseŽŽ¡Ã1478Ž‘TÏ\DN@{#1}\ifx\next@\empty\dimen@=\z@\else\dimen@=#1\p@\fiŽŽ¡Ã1479Ž‘TÏ\ifdim\dimen@=\z@‘¿ª\enter@{\cplusthec@\pfromthep@}%ŽŽ¡Ã1480Ž‘#>þÏ\enter@\DirectionfromtheDirection@‘¿ª\begingroup\aboveDirection@\xydashl@ŽŽ¡Ã1481Ž‘(þ¨Ï\vfromslide@i{\xydashl@}@\czeroEdge@–¿ª\leave@“\idfromc@{@m1}%ŽŽ¡Ã1482Ž‘(þ¨Ï\cfromid@{@p}\swap@\cfromid@{@c}%ŽŽŽŽŒ‹OÞ½ Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹335ŽŽ ¶?? ýh«w‘ãŒÃ1483Ž‘ËÏ\DN@{#1}\ifx\next@\empty\DN@{\no@@}\else\DN@{\connect@{\dir}{-}}\fiŽŽ¤ ™š‘ãŒÃ1484Ž‘ mÏ\else‘¿ª\DN@{\enter@\cplusthec@ŽŽ¡‘ãŒÃ1485Ž‘ËÏ\enter@\DirectionfromtheDirection@–¿ª\begingroup\aboveDirection@“\xydashl@ŽŽ¡‘ãŒÃ1486Ž‘ ŠÁÏ\vfromslide@i{#1\xydashl@}@\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1487Ž‘ËÏ\idfromc@{@m1}\cfromid@{@p}\swap@\cfromid@{@c}%ŽŽ¡‘ãŒÃ1488Ž‘ËÏ\edef\next@{\codeof\ucurveObject@}%ŽŽ¡‘ãŒÃ1489Ž‘ËÏ\ifx\next@\empty\DN@{\connect@\crv{"@m1"}}%ŽŽ¡‘ãŒÃ1490Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1491Ž‘ ŠÁÏ\DNii@####1{\connect@\crv{####1}}\expandafter\DN@\expandafter{%ŽŽ¡‘ãŒÃ1492Ž‘JkÏ\expandafter\nextii@\expandafter{\ucurveObject@"@m1"}}%ŽŽ¡‘ãŒÃ1493Ž‘ËÏ\fi–¿ª\next@“}%ŽŽ¡‘ãŒÃ1494Ž‘õŒÏ%%‘>þ\ifx\next@\empty\def\ucurveObject@{.}\fiŽŽ¡‘ãŒÃ1495Ž‘õŒÏ%%‘>þ\enter@\cfromthec@\sinit@\cfromid@{@m1}\senter@\leave@ŽŽ¡‘ãŒÃ1496Ž‘õŒÏ%%‘>þ\expandafter\connect@\expandafter\crvs\expandafter{\ucurveObject@}%ŽŽ¡‘ãŒÃ1497Ž‘õŒÏ%%‘>þ\sinit@\sleave@‘¿ª}%ŽŽ¡‘ãŒÃ1498Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1499Ž‘ûKÃÏ\fi‘¿ª\next@ŽŽ¡‘ãŒÃ1500Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1501Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\relax\elseŽŽ¡‘ãŒÃ1502Ž‘ûKÃÏ\if\@mod@‘¿ª@\relaxŽŽ¡‘ãŒÃ1503Ž‘ mÏ\enter@\pfromthep@‘¿ª\Creset@@ŽŽ¡‘ãŒÃ1504Ž‘ mÏ\ifx‘¿ª#5t\relaxŽŽ¡‘ãŒÃ1505Ž‘ËÏ\PLACEedgec@–¿ª\PLACEedgep@“\def\PLACEf@{{.5}}%ŽŽ¡‘ãŒÃ1506Ž‘ mÏ\else‘¿ª\def\next@{\crvreset@}%ŽŽ¡‘ãŒÃ1507Ž‘ËÏ\ifx\next@\Creset@@ŽŽ¡‘ãŒÃ1508Ž‘ ŠÁÏ\gettwocelledges@‘¿ª\edef\PLACEf@{{\expandafter\removePT@\the\dimen@}}%ŽŽ¡‘ãŒÃ1509Ž‘ËÏ\else–¿ª\PLACEedgec@“\PLACEedgep@“\def\PLACEf@{{.5}}\fiŽŽ¡‘ãŒÃ1510Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1511Ž‘ mÏ\expandafter\Calong@@\PLACEf@–¿ª\czeroEdge@“\leave@ŽŽ¡‘ãŒÃ1512Ž‘ mÏ\edef\tmp@{\codeof\modmapobject@}%ŽŽ¡‘ãŒÃ1513Ž‘ mÏ\ifx\tmp@\empty‘¿ª\DN@{\drop@{\dir}{|}}%ŽŽ¡‘ãŒÃ1514Ž‘ mÏ\else‘¿ª\DNii@##1##{\drop@{##1}}%ŽŽ¡‘ãŒÃ1515Ž‘ËÏ\DN@{\expandafter\nextii@\modmapobject@{}}%ŽŽ¡‘ãŒÃ1516Ž‘ mÏ\fi‘¿ª\next@ŽŽ¡‘ãŒÃ1517Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ1518Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1519Ž‘ûKÃÏ\DN@{#6}\ifx\next@\empty\DN@{\relax}\elseŽŽ¡‘ãŒÃ1520Ž‘ûKÃÏ\DNii@{{}}\ifx\next@\nextii@\DN@{\relax}\elseŽŽ¡‘ãŒÃ1521Ž‘ mÏ\ifx‘¿ª@#3\relax\DN@{\relax}\elseŽŽ¡‘ãŒÃ1522Ž‘ mÏ\DN@{\enter@\pfromthep@‘¿ª\Creset@@ŽŽ¡‘ãŒÃ1523Ž‘ËÏ\Calong@@{.5}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1524Ž‘ mÏ\enter@\cplusthec@ŽŽ¡‘ãŒÃ1525Ž‘ËÏ\enter@\DirectionfromtheDirection@\begingroupŽŽ¡‘ãŒÃ1526Ž‘ ŠÁÏ\DN@{#1}\ifx\next@\empty\dimen@\z@\else\dimen@=#1\p@\fiŽŽ¡‘ãŒÃ1527Ž‘ ŠÁÏ\ifdim\dimen@<\z@–¿ª\belowDirection@“\xydashl@ŽŽ¡‘ãŒÃ1528Ž‘ ŠÁÏ\else–¿ª\aboveDirection@“\xydashl@“\fiŽŽ¡‘ãŒÃ1529Ž‘õŒÏ%‘¾R\vfromslide@i{#3\xydashl@}@\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1530Ž‘õŒÏ%‘ T\droptwocelllabel@{#6}}%ŽŽ¡‘ãŒÃ1531Ž‘ ŠÁÏ\dimen@=#3\p@–¿ª\if\@mod@“@\relaxŽŽŽŽŒ‹PêÈ Á à ý*tj‘㌹336’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1532Ž‘JkÏ\advance\dimen@\ifdim\dimen@<\z@-\fi.5\p@\fiŽŽ¤ ™š‘ãŒÃ1533Ž‘JkÏ\edef\next@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ1534Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\next@\xydashl@}@\leave@ŽŽ¡‘ãŒÃ1535Ž‘ ŠÁÏ\droptwocelllabel@{#6}}%ŽŽ¡‘ãŒÃ1536Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@ŽŽ¡‘ãŒÃ1537Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1538Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1539Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\relax\elseŽŽ¡‘ãŒÃ1540Ž‘ûKÃÏ\ifx–¿ª#5b\relax‘3¼ú%“tip“at“start“onlyŽŽ¡‘ãŒÃ1541Ž‘ mÏ\enter@–¿ª{\pfromthep@“}\Creset@@“\PLACEedgep@ŽŽ¡‘ãŒÃ1542Ž‘ËÏ\Calong@@{0}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1543Ž‘ mÏ\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1544Ž‘ËÏ\ifx\next@\empty‘¿ª\DN@{\dir{>}}%ŽŽ¡‘ãŒÃ1545Ž‘ ŠÁÏ\ifx\next@\twocellhead@\drop@{\dir}{<}%ŽŽ¡‘ãŒÃ1546Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ1547Ž‘JkÏ\reverseDirection@‘¿ª\DNii@##1##{\drop@{##1}}%ŽŽ¡‘ãŒÃ1548Ž‘JkÏ\expandafter\nextii@\twocellhead@{}\reverseDirection@ŽŽ¡‘ãŒÃ1549Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ1550Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1551Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocelltail@{}%ŽŽ¡‘ãŒÃ1552Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1553Ž‘ûKÃÏ\else\ifx–¿ª#5@\relax‘>þ%“no“tips“at“allŽŽ¡‘ãŒÃ1554Ž‘ûKÃÏ\else‘aºJ%–¿ªtip“at“end...ŽŽ¡‘ãŒÃ1555Ž‘ mÏ\enter@\pfromthep@–¿ª\Creset@@“\PLACEedgec@ŽŽ¡‘ãŒÃ1556Ž‘ËÏ\Calong@@{1}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1557Ž‘ mÏ\edef\next@{\codeof\twocellhead@}%ŽŽ¡‘ãŒÃ1558Ž‘ËÏ\ifx\next@\empty\drop@{\dir}{>}%ŽŽ¡‘ãŒÃ1559Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1560Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocellhead@{}%ŽŽ¡‘ãŒÃ1561Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1562Ž‘ mÏ\ifx–¿ª#5B\relax‘-ýP%“...“and“also“at“start.ŽŽ¡‘ãŒÃ1563Ž‘ËÏ\enter@–¿ª{\pfromthep@“}\Creset@@“\PLACEedgep@ŽŽ¡‘ãŒÃ1564Ž‘ ŠÁÏ\Calong@@{0}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1565Ž‘ËÏ\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1566Ž‘ËÏ\ifx\next@\empty‘¿ª\DN@{\dir{>}}%ŽŽ¡‘ãŒÃ1567Ž‘ ŠÁÏ\ifx\next@\twocellhead@\drop@{\dir}{<}%ŽŽ¡‘ãŒÃ1568Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ1569Ž‘JkÏ\reverseDirection@\DNii@##1##{\drop@{##1}}%ŽŽ¡‘ãŒÃ1570Ž‘JkÏ\expandafter\nextii@\twocellhead@{}\reverseDirection@ŽŽ¡‘ãŒÃ1571Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ1572Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1573Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\drop\twocelltail@{}%ŽŽ¡‘ãŒÃ1574Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1575Ž‘ mÏ\else\ifx‘¿ª#5/\relaxŽŽ¡‘ãŒÃ1576Ž‘ mÏ\else‘¿ª\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1577Ž‘ËÏ\ifx\next@\empty\relax\elseŽŽ¡‘ãŒÃ1578Ž‘ ŠÁÏ\enter@\pfromthep@–¿ª\Creset@@“\PLACEedgep@ŽŽ¡‘ãŒÃ1579Ž‘JkÏ\Calong@@{0}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1580Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocelltail@{}%ŽŽŽŽŒ‹Qö< Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹337ŽŽ ¶?? ýh«w‘ãŒÃ1581Ž‘ mÏ\fi\fi\fiŽŽ¤ ™š‘ãŒÃ1582Ž‘ûKÃÏ\fi\fi\fiŽŽ¡‘ãŒÃ1583Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1584Ž‘ûKÃÏ\cfromid@{@p}\swap@\cfromid@{@c}\no@@‘¿ª\cfromid@{@m}%ŽŽ¡‘ãŒÃ1585Ž‘ûKÃÏ\ifx‘¿ª#5t\relaxŽŽ¡‘ãŒÃ1586Ž‘ mÏ\idfromc@{@m2}\cfromid@{@m1}\swap@‘¿ª\cfromid@{@c}\no@@ŽŽ¡‘ãŒÃ1587Ž‘ mÏ\DN@{#1}\ifx\next@\empty\DN@{\no@@}\else\DN@{\connect@{\dir}{-}}\fiŽŽ¡‘ãŒÃ1588Ž‘ûKÃÏ\else\ifx‘¿ª#5o\relaxŽŽ¡‘ãŒÃ1589Ž‘ mÏ\idfromc@{@m2}\DN@{}%ŽŽ¡‘ãŒÃ1590Ž‘ûKÃÏ\else‘¾R%‘ Tsecond–¿ªcurved“arrowŽŽ¡‘ãŒÃ1591Ž‘ mÏ\DN@{#1}\ifx\next@\empty\dimen@=\z@\else\dimen@=#1\p@\fiŽŽ¡‘ãŒÃ1592Ž‘ mÏ\ifdim\dimen@=\z@ŽŽ¡‘ãŒÃ1593Ž‘ËÏ\enter@{\cplusthec@\pfromthep@}%ŽŽ¡‘ãŒÃ1594Ž‘ËÏ\enter@\DirectionfromtheDirection@–¿ª\begingroup“\belowDirection@\xydashl@ŽŽ¡‘ãŒÃ1595Ž‘ ŠÁÏ\vfromslide@i{\xydashl@}@\czeroEdge@–¿ª\leave@“\idfromc@{@m2}%ŽŽ¡‘ãŒÃ1596Ž‘ËÏ\DN@{\cfromid@{@p}\swap@\cfromid@{@c}\no@@}%ŽŽ¡‘ãŒÃ1597Ž‘ mÏ\else‘¿ª\DN@{\enter@\cplusthec@ŽŽ¡‘ãŒÃ1598Ž‘ËÏ\enter@\DirectionfromtheDirection@–¿ª\begingroup“\belowDirection@“\xydashl@ŽŽ¡‘ãŒÃ1599Ž‘ ŠÁÏ\vfromslide@i{#1\xydashl@}@\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1600Ž‘ËÏ\idfromc@{@m2}\cfromid@{@p}\swap@\cfromid@{@c}%ŽŽ¡‘ãŒÃ1601Ž‘ËÏ\edef\next@{\codeof\dcurveObject@}%ŽŽ¡‘ãŒÃ1602Ž‘ËÏ\ifx\next@\empty\DN@{\connect@\crv{"@m2"}}%ŽŽ¡‘ãŒÃ1603Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1604Ž‘ ŠÁÏ\DNii@####1{\connect@\crv{####1}}\expandafter\DN@\expandafter{%ŽŽ¡‘ãŒÃ1605Ž‘JkÏ\expandafter\nextii@\expandafter{\dcurveObject@"@m2"}}%ŽŽ¡‘ãŒÃ1606Ž‘ËÏ\fi–¿ª\next@“}\fiŽŽ¡‘ãŒÃ1607Ž‘õŒÏ%%‘>þ\enter@\cfromthec@\sinit@\cfromid@{@m2}\senter@\leave@ŽŽ¡‘ãŒÃ1608Ž‘õŒÏ%%‘>þ\expandafter\connect@\expandafter\crvs\expandafter{\dcurveObject@}%ŽŽ¡‘ãŒÃ1609Ž‘õŒÏ%%‘>þ\sinit@\sleave@ŽŽ¡‘ãŒÃ1610Ž‘õŒÏ%%‘ T}\fiŽŽ¡‘ãŒÃ1611Ž‘ûKÃÏ\fi\fi‘¿ª\next@ŽŽ¡‘ãŒÃ1612Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1613Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\relax\else–¿ª\ifx“#5o\relax\elseŽŽ¡‘ãŒÃ1614Ž‘ûKÃÏ\if\@mod@–¿ª@\DN@{\enter@\pfromthep@“\Creset@@ŽŽ¡‘ãŒÃ1615Ž‘ mÏ\ifx‘¿ª#5t\relaxŽŽ¡‘ãŒÃ1616Ž‘ËÏ\PLACEedgec@–¿ª\PLACEedgep@“\def\PLACEf@{{.5}}%ŽŽ¡‘ãŒÃ1617Ž‘ mÏ\else‘¿ª\def\next@{\crvreset@}%ŽŽ¡‘ãŒÃ1618Ž‘ËÏ\ifx\next@\Creset@@ŽŽ¡‘ãŒÃ1619Ž‘ ŠÁÏ\gettwocelledges@‘¿ª\edef\PLACEf@{{\expandafter\removePT@\the\dimen@}}%ŽŽ¡‘ãŒÃ1620Ž‘ËÏ\else–¿ª\PLACEedgec@“\PLACEedgep@“\def\PLACEf@{{.5}}\fiŽŽ¡‘ãŒÃ1621Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1622Ž‘ËÏ\expandafter\Calong@@\PLACEf@–¿ª\czeroEdge@“\leave@ŽŽ¡‘ãŒÃ1623Ž‘ mÏ\edef\tmp@{\codeof\modmapobject@}\ifx\tmp@\empty\DN@{\drop@{\dir}{|}}%ŽŽ¡‘ãŒÃ1624Ž‘ mÏ\else‘¿ª\DNii@####1####{\drop@{####1}}%ŽŽ¡‘ãŒÃ1625Ž‘ËÏ\DN@{\expandafter\nextii@\modmapobject@{}}\fiŽŽ¡‘ãŒÃ1626Ž‘ mÏ\next@‘¿ª}\else\DN@{\relax}\fiŽŽ¡‘ãŒÃ1627Ž‘ûKÃÏ\next@‘¿ª\fi\fiŽŽ¡‘ãŒÃ1628Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1629Ž‘ûKÃÏ\DN@{#7}\ifx\next@\empty\DN@{\relax}\elseŽŽŽŽŒ‹RÆ Á à ý*tj‘㌹338’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1630Ž‘ûKÃÏ\DNii@{{}}\ifx\next@\nextii@\DN@{\relax}\elseŽŽ¤ ™š‘ãŒÃ1631Ž‘ mÏ\ifx‘¿ª@#4\relax\DN@{\relax}\elseŽŽ¡‘ãŒÃ1632Ž‘ mÏ\DN@{\enter@\pfromthep@‘¿ª\Creset@@ŽŽ¡‘ãŒÃ1633Ž‘ËÏ\Calong@@{.5}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1634Ž‘ mÏ\enter@\cplusthec@ŽŽ¡‘ãŒÃ1635Ž‘ mÏ\enter@\DirectionfromtheDirection@‘¿ª\begingroupŽŽ¡‘ãŒÃ1636Ž‘ËÏ\DN@{#1}\ifx\next@\empty\dimen@\z@‘¿ª\else\dimen@=#1\p@\fiŽŽ¡‘ãŒÃ1637Ž‘ËÏ\ifx–¿ª#5t\relax“\ifdim\dimen@<\z@“\belowDirection@“\xydashl@ŽŽ¡‘ãŒÃ1638Ž‘ ŠÁÏ\else–¿ª\aboveDirection@“\xydashl@“\fiŽŽ¡‘ãŒÃ1639Ž‘ËÏ\else–¿ª\ifdim\dimen@<\z@“\aboveDirection@“\xydashl@ŽŽ¡‘ãŒÃ1640Ž‘ ŠÁÏ\else–¿ª\belowDirection@“\xydashl@“\fiŽŽ¡‘ãŒÃ1641Ž‘ËÏ\fi–¿ª\dimen@=#4\p@“\if\@mod@“@\relaxŽŽ¡‘ãŒÃ1642Ž‘JkÏ\advance\dimen@\ifdim\dimen@<\z@-\fi.5\p@\fiŽŽ¡‘ãŒÃ1643Ž‘JkÏ\edef\next@{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ1644Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\next@\xydashl@}@\leave@ŽŽ¡‘ãŒÃ1645Ž‘ËÏ\droptwocelllabel@{#7}}%ŽŽ¡‘ãŒÃ1646Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@ŽŽ¡‘ãŒÃ1647Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1648Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\relax\elseŽŽ¡‘ãŒÃ1649Ž‘ûKÃÏ\ifx‘¿ª#5o\relaxŽŽ¡‘ãŒÃ1650Ž‘ûKÃÏ\else\ifx–¿ª#5b\relax‘ T%“tip“at“start“onlyŽŽ¡‘ãŒÃ1651Ž‘ mÏ\enter@–¿ª{\pfromthep@“}\Creset@@“\PLACEedgec@ŽŽ¡‘ãŒÃ1652Ž‘ËÏ\Calong@@{1}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1653Ž‘ mÏ\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1654Ž‘ mÏ\ifx\next@\empty‘¿ª\DN@{\dir{>}}%ŽŽ¡‘ãŒÃ1655Ž‘ËÏ\ifx\next@\twocellhead@\drop@{\dir}{>}%ŽŽ¡‘ãŒÃ1656Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1657Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocellhead@{}%ŽŽ¡‘ãŒÃ1658Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1659Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1660Ž‘ËÏ\DNii@##1##{\drop@{##1}}\expandafter\drop\twocelltail@{}%ŽŽ¡‘ãŒÃ1661Ž‘ mÏ\fiŽŽ¡‘ãŒÃ1662Ž‘ûKÃÏ\else\ifx‘¿ª#5/\relaxŽŽ¡‘ãŒÃ1663Ž‘ mÏ\enter@{\pfromthep@}\Creset@@‘¿ª\PLACEedgep@ŽŽ¡‘ãŒÃ1664Ž‘ËÏ\Calong@@{0}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1665Ž‘ mÏ\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1666Ž‘ËÏ\ifx\next@\empty‘¿ª\DN@{\dir{>}}%ŽŽ¡‘ãŒÃ1667Ž‘ ŠÁÏ\ifx\next@\twocellhead@\drop@{\dir}{<}%ŽŽ¡‘ãŒÃ1668Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ1669Ž‘JkÏ\reverseDirection@\DNii@##1##{\drop@{##1}}%ŽŽ¡‘ãŒÃ1670Ž‘JkÏ\expandafter\nextii@\twocellhead@{}\reverseDirection@ŽŽ¡‘ãŒÃ1671Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ1672Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1673Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocelltail@{}%ŽŽ¡‘ãŒÃ1674Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1675Ž‘ûKÃÏ\else\ifx–¿ª#5@\relax‘þ¨%“no“tips“at“allŽŽ¡‘ãŒÃ1676Ž‘ûKÃÏ\else‘aºJ%–¿ªtip“at“end...ŽŽ¡‘ãŒÃ1677Ž‘ mÏ\enter@\pfromthep@–¿ª\Creset@@“\PLACEedgec@ŽŽ¡‘ãŒÃ1678Ž‘ËÏ\Calong@@{1}\czeroEdge@‘¿ª\leave@ŽŽŽŽŒ‹S o Á à ý*tj‘ãŒÑ3.4.‘„CTW²!O-CELL‘¦fFEA‘ÿeTURE’Dw)¹339ŽŽ ¶?? ýh«w‘ãŒÃ1679Ž‘ mÏ\edef\next@{\codeof\twocellhead@}%ŽŽ¤ ™š‘ãŒÃ1680Ž‘ËÏ\ifx\next@\empty\drop@{\dir}{>}%ŽŽ¡‘ãŒÃ1681Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1682Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocellhead@{}%ŽŽ¡‘ãŒÃ1683Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1684Ž‘ mÏ\ifx–¿ª#5B\relax‘-ýP%“...“and“also“at“start.ŽŽ¡‘ãŒÃ1685Ž‘ËÏ\enter@–¿ª{\pfromthep@“}\Creset@@“\PLACEedgep@ŽŽ¡‘ãŒÃ1686Ž‘ ŠÁÏ\Calong@@{0}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1687Ž‘ËÏ\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1688Ž‘ËÏ\ifx\next@\empty\DN@{\dir{>}}%ŽŽ¡‘ãŒÃ1689Ž‘ ŠÁÏ\ifx\next@\twocellhead@\drop@{\dir}{<}%ŽŽ¡‘ãŒÃ1690Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ1691Ž‘JkÏ\reverseDirection@\DNii@##1##{\drop@{##1}}%ŽŽ¡‘ãŒÃ1692Ž‘JkÏ\expandafter\nextii@\twocellhead@{}\reverseDirection@ŽŽ¡‘ãŒÃ1693Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ1694Ž‘ËÏ\elseŽŽ¡‘ãŒÃ1695Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocelltail@{}%ŽŽ¡‘ãŒÃ1696Ž‘ËÏ\fiŽŽ¡‘ãŒÃ1697Ž‘ mÏ\elseŽŽ¡‘ãŒÃ1698Ž‘ËÏ\edef\next@{\codeof\twocelltail@}%ŽŽ¡‘ãŒÃ1699Ž‘ËÏ\ifx\next@\empty\relax\elseŽŽ¡‘ãŒÃ1700Ž‘ ŠÁÏ\enter@–¿ª{\pfromthep@“}\Creset@@“\PLACEedgep@ŽŽ¡‘ãŒÃ1701Ž‘JkÏ\Calong@@{0}\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1702Ž‘ ŠÁÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\twocelltail@{}%ŽŽ¡‘ãŒÃ1703Ž‘ËÏ\fi\fiŽŽ¡‘ãŒÃ1704Ž‘ mÏ\fi\fi\fiŽŽ¡‘ãŒÃ1705Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ1706Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1707Ž‘õŒÏ%‘>þthe‘¿ªArrowŽŽ¡‘ãŒÃ1708Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1709Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\dimen@=\z@\else\dimen@=#1\p@\fiŽŽ¡‘ãŒÃ1710Ž‘ûKÃÏ\ifdim\dimen@<\z@‘¿ª\cfromid@{@m2}\swap@\cfromid@{@m1}%ŽŽ¡‘ãŒÃ1711Ž‘ûKÃÏ\else‘¿ª\cfromid@{@m1}\swap@\cfromid@{@m2}%ŽŽ¡‘ãŒÃ1712Ž‘ûKÃÏ\fi–¿ª\no@@“\cfromid@{@m}%ŽŽ¡‘ãŒÃ1713Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1714Ž‘ûKÃÏ\ifx\Arrowtok@\emptyŽŽ¡‘ãŒÃ1715Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1716Ž‘ûKÃÏ\else\DN@{_}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1717Ž‘ mÏ\enter@{\pfromthep@‘¿ª\cplusthec@}\dimen@=#2\xydashl@ŽŽ¡‘ãŒÃ1718Ž‘ËÏ\enter@\DirectionfromtheDirection@‘¿ª\begingroupŽŽ¡‘ãŒÃ1719Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\the\dimen@}@\czeroEdge@ŽŽ¡‘ãŒÃ1720Ž‘ mÏ\leave@‘¿ª\idfromc@{@m}%ŽŽ¡‘ãŒÃ1721Ž‘ûKÃÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\Arrowobject@{}%ŽŽ¡‘ãŒÃ1722Ž‘õŒÏ%‘¿ª\drop@{\dir}{=>}%ŽŽ¡‘ãŒÃ1723Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1724Ž‘ûKÃÏ\else\DN@{^}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1725Ž‘ËÏ\DN@{_}\edef\Arrowtok@{\codeof\next@}%ŽŽ¡‘ãŒÃ1726Ž‘ mÏ\enter@{\pfromthep@‘¿ª\cplusthec@}\dimen@=#2\xydashl@ŽŽ¡‘ãŒÃ1727Ž‘ËÏ\enter@\DirectionfromtheDirection@‘¿ª\begingroupŽŽŽŽŒ‹T\ Á à ý*tj‘㌹340’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1728Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\the\dimen@}@\czeroEdge@ŽŽ¤ ™š‘ãŒÃ1729Ž‘ mÏ\leave@‘¿ª\idfromc@{@m}\reverseDirection@ŽŽ¡‘ãŒÃ1730Ž‘ mÏ\DNii@##1##{\drop@{##1}}\expandafter\nextii@\Arrowobject@{}%ŽŽ¡‘ãŒÃ1731Ž‘õŒÏ%‘ T\drop@{\dir}{=>}%ŽŽ¡‘ãŒÃ1732Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1733Ž‘ûKÃÏ\else‘¿ª\DN@{=}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1734Ž‘ mÏ\enter@{\pfromthep@‘¿ª\cplusthec@}%ŽŽ¡‘ãŒÃ1735Ž‘ËÏ\dimen@=#2\xydashl@‘¿ª\advance\dimen@\xydashl@ŽŽ¡‘ãŒÃ1736Ž‘ËÏ\enter@\DirectionfromtheDirection@‘¿ª\begingroupŽŽ¡‘ãŒÃ1737Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\the\dimen@}@\czeroEdge@ŽŽ¡‘ãŒÃ1738Ž‘ mÏ\leave@‘¿ª\idfromc@{@m2}%ŽŽ¡‘ãŒÃ1739Ž‘ mÏ\cfromid@{@m}%ŽŽ¡‘ãŒÃ1740Ž‘ mÏ\enter@{\pfromthep@‘¿ª\cplusthec@}%ŽŽ¡‘ãŒÃ1741Ž‘ËÏ\dimen@=#2\xydashl@‘¿ª\advance\dimen@-\xydashl@ŽŽ¡‘ãŒÃ1742Ž‘ËÏ\enter@\DirectionfromtheDirection@‘¿ª\begingroupŽŽ¡‘ãŒÃ1743Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\the\dimen@}@\czeroEdge@ŽŽ¡‘ãŒÃ1744Ž‘ mÏ\leave@‘¿ª\idfromc@{@m1}%ŽŽ¡‘ãŒÃ1745Ž‘ mÏ\cfromid@{@m2}\swap@\cfromid@{@m1}\connect@{\dir‘¿ª2}{-}%ŽŽ¡‘ãŒÃ1746Ž‘ûKÃÏ\fi\fi\fi\fiŽŽ¡‘ãŒÃ1747Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1748Ž‘õŒÏ%‘>þlabel–¿ªon“the“ArrowŽŽ¡‘ãŒÃ1749Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1750Ž‘ûKÃÏ\DN@{#8}\ifx\next@\empty\DN@{}\else\DN@{%ŽŽ¡‘ãŒÃ1751Ž‘ mÏ\ifx\Arrowtok@\emptyŽŽ¡‘ãŒÃ1752Ž‘ËÏ\Calong@@{.5}%ŽŽ¡‘ãŒÃ1753Ž‘ mÏ\else\DN@{=}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1754Ž‘ËÏ\Calong@@{.5}%ŽŽ¡‘ãŒÃ1755Ž‘ mÏ\else\DN@{_}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1756Ž‘ËÏ\cfromid@{@m}%ŽŽ¡‘ãŒÃ1757Ž‘ mÏ\fi\fi\fiŽŽ¡‘ãŒÃ1758Ž‘ mÏ\enter@\cplusthec@ŽŽ¡‘ãŒÃ1759Ž‘ËÏ\enter@\DirectionfromtheDirection@–¿ª\begingroup“\aboveDirection@\xydashl@ŽŽ¡‘ãŒÃ1760Ž‘ ŠÁÏ\ifx\Arrowtok@\emptyŽŽ¡‘ãŒÃ1761Ž‘JkÏ\def\tmp@{0pt}%ŽŽ¡‘ãŒÃ1762Ž‘ ŠÁÏ\else\DN@{=}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1763Ž‘JkÏ\def\tmp@{\xydashl@}%ŽŽ¡‘ãŒÃ1764Ž‘ ŠÁÏ\else\DN@{_}\edef\next@{\codeof\next@}\ifx\next@\Arrowtok@ŽŽ¡‘ãŒÃ1765Ž‘JkÏ\def\tmp@{1.2\xydashl@}%ŽŽ¡‘ãŒÃ1766Ž‘ ŠÁÏ\else\def\tmp@{0pt}%ŽŽ¡‘ãŒÃ1767Ž‘ ŠÁÏ\fi\fi\fiŽŽ¡‘ãŒÃ1768Ž‘ ŠÁÏ\expandafter\vfromslide@i\expandafter{\tmp@}@\czeroEdge@‘¿ª\leave@ŽŽ¡‘ãŒÃ1769Ž‘ mÏ\droptwocelllabel@{#8}%ŽŽ¡‘ãŒÃ1770Ž‘ûKÃÏ}\fi‘¿ª\next@ŽŽ¡‘ãŒÃ1771Ž‘ûKÃÏ\leave@‘¿ª}%ŽŽŸjU‘ôŒ¹These–Ô¿are“used“to“establish“the“lošMÞcation“for“the“mo˜dule-map“indicator,‘þ­giving“b˜est“aesthetic“app˜eal.Ž¡‘ãŒIt–ÿ$ nds“the“loMÞcation“whose“parameter“v‘ÿdDalue“is“the“a•²!v“erage–ÿ$of“half-w•²!a“y–ÿ$along“the“complete“curv²!e“andŽ¡‘ãŒthe›¦fa•²!v“erage˜of˜parameter˜v‘ÿdDalues˜at˜the˜the˜edges.ŽŸPˆ‘ãŒÃ1781Ž‘õŒÏ\xydef@\gettwocelledges@{%ŽŽ¡‘ãŒÃ1782Ž‘ mÏ\bgroup‘¿ª\the\crvpts@ŽŽŽŽŒ‹U!Ê Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ341ŽŽ ¶?? ýh«w‘ãŒÃ1783Ž‘ mÏ\edef\next@{\edges@}%ŽŽ¤ ™š‘ãŒÃ1784Ž‘ mÏ\expandafter\gettwocelledges@@\next@‘¿ª}ŽŽ©Pˆ‘ãŒÃ1786Ž‘õŒÏ\xydef@\gettwocelledges@@#1;#2,#3;#4,{%ŽŽ¡‘ãŒÃ1787Ž‘ûKÃÏ\dimen@=#2\advance\dimen@-#4\relaxŽŽ¡‘ãŒÃ1788Ž‘ûKÃÏ\advance\dimen@–¿ª2\p@“\divide\dimen@“by4“\relaxŽŽ¡‘ãŒÃ1789Ž‘ûKÃÏ\edef\next@{\egroup\dimen@=\the\dimen@‘¿ª}\next@}%ŽŽŸ$C{‘ãŒÔThe–2end“&“LogŽŸE‘ôŒ¹DOCMODE3ަ‘ãŒÃ1799Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ1801Ž‘õŒÏ%–¿ª$Log:“xy2cell.doc,v“$ŽŽ¡‘ãŒÃ1802Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/18“14:21:23˜rossŽŽ¡‘ãŒÃ1803Ž‘õŒÏ%–¿ªRoss's“versionŽŽ¡‘ãŒÃ1804Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1805Ž‘õŒÏ%–¿ªRevision“3.3.1.1– T1996/12/18“08:49:34“rossŽŽ¡‘ãŒÃ1806Ž‘õŒÏ%–¿ª***“empty“log“message“***ŽŽ¡‘ãŒÃ1807Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1808Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ1809Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ1810Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1811Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ1812Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1813Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1814Ž‘õŒÏ%–¿ªRevision“2.14– T1995/07/05“22:11:25“krisŽŽ¡‘ãŒÃ1815Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ1816Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1817Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ1818Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ1819Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1820Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“03:01:14“rossŽŽ¡‘ãŒÃ1821Ž‘õŒÏ%–¿ªFinal“3beta“release“[bug“fixes“&“AMS-LaTeX“fitting].ŽŽ¡‘ãŒÃ1822Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1823Ž‘õŒÏ%–¿ªRevision“2.10– T1994/07/01“01:19:46“rossŽŽ¡‘ãŒÃ1824Ž‘õŒÏ%–¿ªremoved“undefined“referencesŽŽ¡‘ãŒÃ1825Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1826Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“12:51:27“rossŽŽ¡‘ãŒÃ1827Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ1828Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1829Ž‘õŒÏ%–¿ªNEW“for“version“2.9“based“on“unreleased“code“for“version“2.6+.ŽŽŸ0Âô‘ãŒÝ3.5Ž‘r|Matrix‘fffeatureŽŸV)‘ãŒæV‘ÿ «ers.‘p3.4–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸ‘㌹This–Á÷option“implemenš²!ts“\‘þçªX‘ü·ŸâÃYŽŽ‘ g -matrices",–ï§Ði¹.Ðe¹.,“matrices–Á÷where“it“is“pMÞossible“to“refer“to“the“en˜try“ob‘›»jects“b˜yŽ¡‘ãŒtheir–Þðroš²!w/column“address.‘›aW‘ÿee“ rst“describMÞe“the“general“form“of‘ÆšX‘ü·ŸâÃYŽŽ‘ Eú-matrices“in“Çx¹3.5.1,‘Ôthen“in“Çx¹3.5.2“w˜eŽ¡‘ãŒsummarise–¢>the“new“Çh¹coMÞordÇi¹inate“forms“used“to“refer“to“enš²!tries.‘ÜzIn“Çx¹3.5.3“w˜e“explain“what“parametersŽŽŽŒ‹V-6 Á à ý*tj‘㌹342’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌹can–¾qbMÞe“set“to“cš²!hange“the“spacing“and“orien˜tation“of“the“matrix,‘sand“in“Çx¹3.5.4“w˜e“explain“ho˜w“theޤ ™š‘ãŒappšMÞearance–¦fof“the“en²!tries“can“b˜e“c²!hanged.ŽŸ m‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xymatrix.doc,v“3.4“1997/05/18“01:14:25“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Matrix''“feature.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{matrix}{Matrix–¿ªfeature}{\stripRCS$Revision:“3.4“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸ.Fï‘ãŒÞ3.5.1Ž‘ rzX‘ûó1Ÿ"YŽŽ‘ÂØ-matricesŽŸ[‘㌹The–¦ffundamen²!tal“command“of“this“feature“isŽ‘ãŒŸ þG‰ffã²dŸ ·¼’®j<Ï\xymatrix–¦fÇh¹setupÇi“Ï{Ž‘ fÇh¹ro²!wsÇiÏ}ŽŽŽŸ­ƒ‰ffã²dŸ2‹¹that–¸reads“a“matrix“of“enš²!tries“in“the“generic“T‘þ,³Ÿ[wEŽ‘B X“ro˜w&column“format,–½Ði¹.Ðe¹.,“where–¸ro˜ws“are“separatedŽ¡with–¥™Ï\\“¹and“conš²!tain“columns“separated“with“Ï&“¹(w˜e“discuss“in“the“follo˜wing“sections“what“Çh¹setupÇi“¹canŽ¡bMÞe).‘RThš²!us–·âa“matrix“with“Ðmaxr‘ÿp¹ow‘å¹ro˜ws“and“Ðmaxc‘ÿp¹ol‘ÙŒ¹columns“where“eac˜h“en˜try“con˜tains“Ðr–ÿp¹ow‘-»Ï,Ž‘íeÐc“ol‘ÙŒ¹isŽ¡en²!tered‘¦fasŽŸ)&Ÿáöí‘|úÁÏ\xymatrix{ŽŽŽ¤ ™™’€¡'1,1‘¿ª&ŽŽ’Ç]1,2‘¿ª&Ž’ðáÆÇ–Ó1“ŽŽ’õÏ1,Ž’˜IÐmaxc‘ÿp¹olŽŽ’@údÏ\\ŽŽŽŽ¡’€¡'2,1‘¿ª&ŽŽ’Ç]2,2‘¿ª&ŽŽ’õ2,Ž’˜IÐmaxc‘ÿp¹olŽŽ’@údÏ\\ŽŽŽŽŸŽ‘’K¹"–©æis“prinš²!ted“for“eac˜h“matrix“with“Ðr‘ÿp¹owsŽŽ‘"Ç‘ìÐc‘ÿp¹olsŽŽŽ¤ ™š‘þì¹enš²!tries–Jøand‘2¢X‘ü·ŸâÃYŽŽ‘²-pic“complexit˜y“Ðsize‘™¹(the“n˜um˜bMÞer“of“primitiv˜e“opšMÞerations“p˜erformed),‘tunless“theŽ¡‘þìdeclaration–¦fÏ\SilentMatrices“¹is“issued.ŽŸƒ ‘óøéÇŽŽŽ‘þì¹En²!tries–¦fstarting“with“a“Ï*“¹are“spšMÞecial“(describ˜ed“in“Çx¹3.5.4)Ÿü¾Â2ŽŽ‘À¹,“so“use“Ï{*}Ž‘‹Ê¹to“get“a“*Ž‘ .ަ‘ãŒF‘ÿeor‘¦fexample,Ž©Pˆ‘ãŒÏ\xyŽŽ¡‘éKÃ\xymatrix{A&B\\C&D}ŽŽ¡‘éKÃ\drop\frm{-}ŽŽ¡‘éKÃ\drop\cir<8pt>{}ŽŽ¡‘ãŒ\endxyŽŽ¦‘㌹will‘¦ft²!ypMÞesetŽ¡’ºrÇïps: SDict begin xyc end‘äÍŸ%òÄAŽŽŽŽŽŽ‘)È>Ÿ%òBŽŽŽŽŽŽ‘±ÿŸ%ûFCŽŽŽŽŽŽ‘)†YŸ%ûFDŽŽŽŽŽŽŸýh0‘ï/" {0.0 45.50868 -43.2643 -6.91075 6.40233 ov}xyŽŽŽ‘Ÿýh0ï" {8.0 0 360 o}xyŽŽŽŽŽŽŽŽŽŸ7ô:‘ãŒÔBug:‘ÝݹMatrix–¦fnesting“is“not“safe.Ž¡‘ôŒMatrices–nare“often“quite“sloš²!w“to“t˜ypMÞeset“so“as“a“con˜v˜enience“all“matrices“can“bMÞe“set“to“compile“(andŽ¡‘ãŒnot)–¦fautomatically“with“the“declarationsŽ‘ãŒŸ ßljffã²dŸ yß’¾8Ï\CompileMatricesŽŽŽ¡’¾8\NoCompileMatricesŽŽŽŸo¦‰ffã²dŸW?¹Matrices–Þcan“bMÞe“compiled“or“not“individually‘ÿe,‘,b²!y“using“the“explicit“commands“Ï\xymatrixcompileŽ¡¹and–D>Ï\xymatrixnocompile“¹as“wš²!ell“as“b˜y“encapsulating“in“the“usual“Ï\xycompileto{Ž‘NÿàÐname‘Ò¡Ï}{Ž‘ Qõ¹.–Ó3.“.“Ï}Ž‘ ×¹(seeŽ¡note‘¦f1.5e).Ž¡‘ÔNote:‘úعMatrices–´ãwill“only“compile“correctly“if“all“enš²!tries“start“with“a“nonexpandable“tok˜en,–¸ƒÐi¹.Ðe¹.,“Ï{ŽŽ¡¹or‘¦fÏ\relaxŽ‘)Êȹor–¦fsome“non-activš²!e“c˜haracter.Ž©á‡ÔOn–œAthe“follo¦twing“coY‹de:‘ ó5¹The–Qcomplexitš²!y“of“this“option“stems“from“the“fact“that“w˜e“cannot“buildŽ¡the–Ï¥actual‘·OX‘ü·ŸâÃYŽŽ‘6¯-picture“unš²!til“after“the“matrix“has“bMÞeen“t˜ypMÞeset“so“that“w˜e“kno˜w“the“sizes“and“places“ofŽ¡all–¦fthe“enš²!tries.‘ÝÝThe“handling“describMÞed“here“is“th˜us“separated“in˜to“sev˜eral“subproMÞcedures.ަÔSetup:‘ ó5¹Not›åm•²!uc“h|only˜to˜k“eep˜trac“k˜of˜the˜ro“ws˜and˜columns.‘™µThese˜are˜not˜accesible˜to˜theŽ¡user|should‘¦fthey?ŽŸPˆÃ159Ž‘Ï\xynew@{count}\RowŽŽ¡Ã160Ž‘Ï\xynew@{count}\ColŽŽŸ ¾Ü‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã2ŽŽŽ‘¦aÖIn–ÐÎgeneral“it“is“recommended“that“enš¾9tries“start“with“a“non-expanding“tok˜en,–Þ‚åiÖ.åeÖ.,“an–ÐÎordinary“(non-activ˜e)“c˜haracter,ŽŸ à{Ö,–Tor“à\relaxŽ‘nØÖ,“for“compilation“to“w¾9ork.ŽŽŽŒ‹XCÊ Á à ý*tj‘㌹344’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ162Ž‘õŒÏ\xydef@\maxrow@{0}Ž’­Y%–¿ªhighest“row“number“usedŽŽ¤ ™š‘ãŒÃ163Ž‘õŒÏ\xydef@\maxcol@{0}Ž’­Y%–¿ªhighest“column“number“usedŽŽ¡‘ãŒÃ164Ž‘õŒÏ\xydef@\maxcolrow@{0}Ž’­Y%–¿ªa“row“with“maximal“number“of“columnsŽŽŸƒ‘ôŒ¹There–¦fare“some“user-de ned“parameters“summarised“later.ŽŸ Ì'‘ôŒThe–^˜folloš²!wing“is“an“expMÞerimen˜tal“set“of“`optimal'“queueing“macros“using“t˜w˜o“queues“and“t˜w˜oŽ¡‘ãŒcounš²!ters–¦fto“k˜eep“trac˜k“of“the“progress.Ž©Pˆ‘ãŒÃ173Ž‘õŒÏ\xynew@{toks}\queue@ŽŽ¡‘ãŒÃ174Ž‘õŒÏ\xynew@{toks}\queue@@ŽŽ¦‘ãŒÃ176Ž‘õŒÏ\xynew@{count}\qcount@ŽŽ¡‘ãŒÃ177Ž‘õŒÏ\xynew@{count}\qcount@@ŽŽ¦‘ãŒÃ179Ž‘õŒÏ\xydef@\clearq@{%ŽŽ¡‘ãŒÃ180Ž‘ûKÃÏ\global\queue@={}\global\qcount@=\@neŽŽ¡‘ãŒÃ181Ž‘ûKÃÏ\global\queue@@={}\global\qcount@@=\z@}ŽŽ¦‘ãŒÃ183Ž‘õŒÏ\xydef@\addq@#1{\global\advance\matrixsize@\@neŽŽ¡‘ãŒÃ184Ž‘ûKÃÏ\ifnum\qcount@@<\qcount@‘¿ª\let\addq@@=\addq@iŽŽ¡‘ãŒÃ185Ž‘ûKÃÏ\else–¿ª\let\addq@@=\addq@ii“\fiŽŽ¡‘ãŒÃ186Ž‘ûKÃÏ\expandafter\addq@@\the\queue@@\addq@@{#1}}ŽŽ¦‘ãŒÃ188Ž‘õŒÏ\xylet@\addq@@=\relaxŽŽ¦‘ãŒÃ190Ž‘õŒÏ\xydef@\addq@i#1\addq@@#2{%ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\global\advance\qcount@@\@ne‘¿ª\global\queue@@={#1#2}}ŽŽ¦‘ãŒÃ193Ž‘õŒÏ\xydef@\addq@ii#1\addq@@#2{%ŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\global\advance\qcount@\@ne‘¿ª\global\qcount@@=\z@ŽŽ¡‘ãŒÃ195Ž‘ûKÃÏ\global\queue@=\expandafter{\the\queue@#1#2}\global\queue@@={}}ŽŽ¦‘ãŒÃ197Ž‘õŒÏ\xydef@\finishq@{\expandafter\addq@ii\the\queue@@\addq@@{}}ŽŽŸƒ‘ôŒÔHac¦tk:‘ǹinš²!tended–x°to“mak˜e“the“addition“of“tok˜ens“to“the“tok˜en“list“faster:‘Çw˜e“ rst“add“to“the“`small'Ž¡‘ãŒÏ\queue@@Ž‘} ¹as–ó£manš²!y“times“as“w˜e“ha˜v˜e“added“to“the“`big'“Ï\queue@Ž‘0$ì¹bMÞefore“that.‘Å”So“w˜e“kno˜w“w˜e“shouldŽ¡‘ãŒalw•²!a“ys–ê®expand“Ï\queue@@Ž‘1çþ¹:‘fmthis“is“done“ rst“(last“in“the“macro“text).‘ªµThen“w²!e“call“Ï\addq@@Ž‘0¹that“willŽ¡‘ãŒeither–¦fadd“to“the“small“one“or“add“the“small“one“to“the“big“one“and“then“clear“the“small“one!ŽŸ Ì'‘ôŒÐUsage‘Ò¡¹:‘>Call‘—Ï\clearq@Ž‘7‚~¹ rst.›2oThen–—use“Ï\addq@Ž‘,*¹as“man²!y“times“as“desired.˜T‘ÿeo“get“the“queue“inŽ¡‘ãŒÏ\queue@Ž‘p%¹call‘¦fÏ\finishq@Ž‘; ƹand–¦fuse“it.‘ÝÝFinally“clear“Ï\queue@Ž‘/Šr¹(globally)“or“con•²!tin“ue.ŽŸ ý‘ãŒÔMain‘sproY‹cedure:‘ ó5¹Here–=Eis“the“main“coMÞde“whic²!h“is“concerned“with“initialisations“and“output“ofŽ¡‘ãŒmessages–¦fexplaining“ho²!w“far“the“matrix“construction“has“progressed.ަ‘ãŒÃ218Ž‘õŒÏ\xynew@{count}\matrixsize@ŽŽ¡‘ãŒÃ219Ž‘õŒÏ\xynew@{if}\ifnoisymatrices@‘¿ª\noisymatrices@trueŽŽ¦‘ãŒÃ221Ž‘õŒÏ\xydef@\SilentMatrices{\noisymatrices@false}ŽŽ¡‘ãŒÃ222Ž‘õŒÏ\xydef@\NoisyMatrices{\noisymatrices@true}ŽŽ¦‘ãŒÃ224Ž‘õŒÏ\xydef@\xymatrixnocompile{\global\matrixsize@=\z@ŽŽ¡‘ãŒÃ225Ž‘ûKÃÏ\ifnoisymatrices@\message{{}“expected}{}}%ŽŽ¡‘ãŒÃ253Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ255Ž‘õŒÏ\xydef@\xymatrix@ii#1{%ŽŽ¡‘ãŒÃ256Ž‘õŒÏ%ŽŽ¡‘ãŒÃ257Ž‘õŒÏ%\W@{‘¿ªH@max=\meaning\H@max}%ŽŽ¡‘ãŒÃ258Ž‘õŒÏ%\W@{‘¿ªW@max=\meaning\W@max}%ŽŽ¡‘ãŒÃ259Ž‘õŒÏ%\W@{‘¿ªHW@max=\meaning\HW@max}%ŽŽ¡‘ãŒÃ260Ž‘õŒÏ%\W@{‘¿ªmkHrow@={\meaning\mkHrow@}}%ŽŽ¡‘ãŒÃ261Ž‘õŒÏ%\W@{‘¿ªmkWcol@={\meaning\mkWcol@}}%ŽŽ¡‘ãŒÃ262Ž‘õŒÏ%\W@{‘¿ªmkHmax@={\meaning\mkHmax@}}%ŽŽ¡‘ãŒÃ263Ž‘õŒÏ%\W@{‘¿ªmkWmax@={\meaning\mkWmax@}}%ŽŽ¡‘ãŒÃ264Ž‘õŒÏ%\W@{‘¿ªmkHWmax@={\meaning\mkHWmax@}}%ŽŽ¡‘ãŒÃ265Ž‘õŒÏ%ŽŽ¡‘ãŒÃ266Ž‘ûKÃÏ\xymatrix@pretypeset{#1}%ŽŽ¡‘ãŒÃ267Ž‘õŒÏ%‘ T\ifnum\maxcol@=\z@–¿ª\mkWcol@“\mkWmax@“%\mkHrow@“\mkHmax@ŽŽ¡‘ãŒÃ268Ž‘ mÏ\ifnum\maxcol@=\z@–¿ª\mkWcol@“\mkWmax@“\mkHrow@“\mkHmax@ŽŽ¡‘ãŒÃ269Ž‘ËÏ\xdef\maxcol@{\the\Col}\xdef\maxcolrow@{\the\Row}\fiŽŽ¡‘ãŒÃ270Ž‘ mÏ\ifnoisymatrices@\message{\maxcol@‘¿ªx\maxrow@}\fiŽŽ¡‘ãŒÃ271Ž‘ mÏ\xymatrix@measureit@@–¿ª\the\queue@“\global\queue@={}%ŽŽ¡‘ãŒÃ272Ž‘ mÏ\xymatrix@typeset{#1}\restore\xymatrix@insertŽŽ¡‘ãŒÃ273Ž‘ mÏ\xy@@\leave@‘¿ª\leave@ŽŽ¡‘ãŒÃ274Ž‘ mÏ\ifnoisymatrices@\message{\the\matrixsize@>}\fi‘¿ª\ignorespaces}ŽŽŸGæ‘ôŒ¹Here–¦fis“where“compilation“of“matrices“is“turned“on/o .ަ‘ãŒÃ280Ž‘õŒÏ\xydef@\xymatrixcompile#1#{\xymatrixcompile@{#1}}ŽŽ¡‘ãŒÃ281Ž‘õŒÏ\xydef@\xymatrixcompile@#1#2{\xycompile{\xymatrixnocompile#1{#2}}}ŽŽ¦‘ãŒÃ283Ž‘õŒÏ\xydef@\CompileMatrices{\let\xymatrix=\xymatrixcompile}ŽŽ¡‘ãŒÃ284Ž‘õŒÏ\xydef@\NoCompileMatrices{\let\xymatrix=\xymatrixnocompile}ŽŽŸGæ‘ôŒÔT‘þó\o‘¶ÄDo:‘Ã͹PropMÞer–^nesting“that“ensures“that“the“matrix“state“is“reestablished“after“the“curren²!t“oneŽ¡‘ãŒhas–¦fbšMÞeen“t²!yp˜eset.ŽŸø‘ôŒEac²!h–¦fsubprošMÞcedure“is“explained“b˜elo²!w.ŽŽŽŒ‹Z^† Á à ý*tj‘㌹346’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÔSet‘F@ro¦tw-rotation:‘ ó5¹This––$sets“the“general“direction“of“the“roš²!ws“as“the“curren˜t“direction“indicates.ޤ ™š‘ãŒThis–¦fdirection“is“not“knoš²!wn“un˜til‘ŽX‘ü·ŸâÃYŽŽ‘ p-time“so“it“gets“put“in˜to“the“ro˜w/column“de nitions.Ž©Pˆ‘ãŒÃ299Ž‘õŒÏ\xydef@\xy@cossign@@{+}ŽŽ¡‘ãŒÃ300Ž‘õŒÏ\xydef@\xy@sinsign@@{+}ŽŽ¡‘ãŒÃ301Ž‘õŒÏ\xydef@\xy@cosabs@@{1}ŽŽ¡‘ãŒÃ302Ž‘õŒÏ\xydef@\xy@sinabs@@{0}ŽŽ¡‘ãŒÃ303Ž‘õŒÏ\xydef@\xy@tanabs@@{0}ŽŽ¡‘ãŒÃ304Ž‘õŒÏ\xydef@\xy@cotabs@@{100}ŽŽ¦‘ãŒÃ306Ž‘õŒÏ\xydef@\xymatrix@rotation{ŽŽ¡‘ãŒÃ307Ž‘ûKÃÏ\xy@@{%ŽŽ¡‘ãŒÃ308Ž‘ mÏ\edef\xy@cossign@@{\ifdim\cosDirection\p@<\z@-\else+\fi}%ŽŽ¡‘ãŒÃ309Ž‘ mÏ\edef\xy@sinsign@@{\ifdim\sinDirection\p@<\z@-\else+\fi}%ŽŽ¡‘ãŒÃ310Ž‘ mÏ\edef\xy@cosabs@@{%ŽŽ¡‘ãŒÃ311Ž‘ËÏ\if\xy@cossign@@\cosDirection\else\xy@cossign@@\cosDirection\fi}%ŽŽ¡‘ãŒÃ312Ž‘ mÏ\edef\xy@sinabs@@{%ŽŽ¡‘ãŒÃ313Ž‘ËÏ\if\xy@sinsign@@\sinDirection\else\xy@sinsign@@\sinDirection\fi}%ŽŽ¡‘ãŒÃ314Ž‘ mÏ\dimen@=\xy@cosabs@@\p@‘¿ª\dimen@ii=\xy@sinabs@@\p@ŽŽ¡‘ãŒÃ315Ž‘ mÏ\ifdim\dimen@ii<.01\p@‘¿ª\def\xy@cotabs@@{100}%ŽŽ¡‘ãŒÃ316Ž‘ mÏ\else–¿ª\quotient@\xy@cotabs@@\dimen@\dimen@ii“\fiŽŽ¡‘ãŒÃ317Ž‘ mÏ\dimen@=\xy@cosabs@@\p@‘¿ª\dimen@ii=\xy@sinabs@@\p@ŽŽ¡‘ãŒÃ318Ž‘ mÏ\ifdim\dimen@<.01\p@‘¿ª\def\xy@tanabs@@{100}%ŽŽ¡‘ãŒÃ319Ž‘ mÏ\else–¿ª\quotient@\xy@tanabs@@\dimen@ii\dimen@“\fi}}ŽŽŸ#îÆ‘ãŒÔPret¦typY‹eset:‘ ó5¹The–¦fpurpMÞose“of“this“is“toޤ4ü‘óøéÇŽŽŽ‘þì¹set–‹mbMÞoš²!x8“to“an“halign“with“all“the“en˜tries“propMÞerly“t˜ypšMÞeset“to“b˜e“measured“in“the“next“step,‘ÒandŽ¡‘óøéÇŽŽŽ‘þì¹store–\[in“a“queue“the“opMÞerations“that“will“de ne“eacš²!h“en˜try“as“an“ob‘›»ject“once“the“measuremen˜t“isޤ ™š‘þìdone–¦fand“the“distances“bMÞet•²!w“een›¦fro“ws˜and˜columns˜is˜kno“wn.ŽŸ4ý‘ãŒThis–÷is“ac•²!hiev“ed–÷as“follo•²!ws:‘¯Ro“w/column›÷coun“ters,–imaxima,“and˜queues˜are˜reset.‘ ‘The˜tab-˜andŽ¡‘ãŒinš²!terlineskip–Ÿ†is“remo˜v˜ed“to“mak˜e“taking“the“constructed“bMÞo˜x“apart“easier.‘Û’And“the“halign“template“isŽ¡‘ãŒused–¦fto“apply“an“appropriate“action“for“eacš²!h“en˜try“that“upMÞdates“the“coun˜ters“and“queue.ŽŸs‘ôŒThe–spMÞecial“Ï\xymatrixsavedCOORD@Ž‘{v¹is“used“to“store“the“original“Ï\COORD@Ž‘0cÔ¹except“when“diagramsŽ¡‘ãŒare‘¦fnested.ަ‘ãŒÃ346Ž‘õŒÏ\xylet@\xymatrixsavedCOORD@=\relaxŽŽ¦‘ãŒÃ348Ž‘õŒÏ\xydef@\xymatrix@pretypeset#1{%ŽŽ¡‘ãŒÃ349Ž‘ûKÃÏ\global\Row=\z@‘¿ª\xdef\maxcol@{0}\clearq@ŽŽ¡‘ãŒÃ350Ž‘ûKÃÏ\setbox8=\vtop{%ŽŽ¡‘ãŒÃ351Ž‘ mÏ\ifx\xymatrixsavedCOORD@\relax–¿ª\let\xymatrixsavedCOORD@=\COORD@“\fiŽŽ¡‘ãŒÃ352Ž‘ mÏ\let\COORD@=\xymatrixCOORD@ŽŽ¡‘ãŒÃ353Ž‘ mÏ\everycr{}\let\\=\cr–¿ª\tabskip=\z@“\offinterlineskipŽŽ¡‘ãŒÃ354Ž‘ mÏ\halign{\prentry@‘¿ª##!@&&\xyFN@\prentry@@##!@\cr#1\crcr}%ŽŽ¡‘ãŒÃ355Ž‘ mÏ\prentry@@@}%ŽŽ¡‘ãŒÃ356Ž‘ûKÃÏ\xdef\maxrow@{\the\Row}%ŽŽ¡‘ãŒÃ357Ž‘ûKÃÏ\finishq@}ŽŽŸ·a‘ôŒ¹The–"U rst“enš²!try“in“eac˜h“ro˜w“is“spMÞecial;‘`Lin“particular“it“mo˜v˜es“the“en˜tries“from“the“columns“of“theŽ¡‘ãŒprevious–¦froš²!w“(if“an˜y)“in˜to“the“second-lev˜el“queue:ŽŽŽŒ‹[j¦ Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ347ŽŽ ¶?? ýh«w‘ãŒÃ365Ž‘õŒÏ\xydef@\prentry@{\relaxŽŽ¤ ™š‘ãŒÃ366Ž‘ûKÃÏ\ifnum\Row>\z@ŽŽ¡‘ãŒÃ367Ž‘ mÏ\ifnum\maxcol@<\Col\xdef\maxcol@{\the\Col}\xdef\maxcolrow@{\the\Row}\fiŽŽ¡‘ãŒÃ368Ž‘ mÏ\expandafter\xdef\csname‘¿ªmaxcol@\the\Row\endcsname{\the\Col}\fiŽŽ¡‘ãŒÃ369Ž‘ûKÃÏ\global\advance\Row\@ne–¿ª\global\Col=\z@“\xyFN@\prentry@@}ŽŽŸ‡1‘ôŒ¹The–;3common“part“should“ rst“t²!ypšMÞeset“the“ob‘›»ject.‘º"Then“the“resulting“Çh¹setupÇi“¹commands“should“b˜eŽ¡‘ãŒemitted–¦fas“describšMÞed“b˜elo²!w.ŽŸÐC‘ôŒWhile–5}tš²!ypMÞesetting“the“en˜try‘ÿe,‘@íX‘ü·ŸâÃYŽŽ‘ÀM-commands“are“Ðdisable‘ÿp¹d‘W'¹b˜y“rede ning“Ï\xy@Ž‘i¢¹to“just“`eat'“its“argu-Ž¡‘ãŒmenš²!ts,–¦fso“they“don't“in˜terfere.–Ó3.“.ޤPˆ‘ãŒÃ380Ž‘õŒÏ\xylet@\lastprentry@@=\relaxŽŽ¡‘ãŒÃ382Ž‘õŒÏ\xydef@\xyeatall@{\let\xy@=\xyeat@–¿ª\change@oxy@\xyeat@“\let\xy@@ix@=\eat@}ŽŽ¡‘ãŒÃ384Ž‘õŒÏ\xydef@\prentry@@{\global\advance\Col\@neŽŽ¤ ™š‘ãŒÃ385Ž‘ûKÃÏ\let\next@=\prentry@@normŽŽ¡‘ãŒÃ386Ž‘ûKÃÏ\ifoldxymatrix@\else–¿ª\ifx“*\next“\DN@*{\xyFN@\prentry@@star}\fi“\fiŽŽ¡‘ãŒÃ387Ž‘ûKÃÏ\next@}ŽŽ©Pˆ‘ãŒÃ389Ž‘õŒÏ\xydef@\prentry@@star{\ifx–¿ª*\next“\DN@*{\xyFN@\prentry@@star@ii}%ŽŽ¡‘ãŒÃ390Ž‘ûKÃÏ\else–¿ª\DN@##1##{\prentry@@star@i{##1}}\fi“\next@}ŽŽ¦‘ãŒÃ392Ž‘õŒÏ\xydef@\prentry@@star@i#1#2#3!@{\gdef\lastprentry@@{*#1{#2}#3}%ŽŽ¡‘ãŒÃ393Ž‘ûKÃÏ\setbox\lastobjectbox@=\object#1{#2}%ŽŽ¡‘ãŒÃ394Ž‘ûKÃÏ\prentry@@x}ŽŽ¦‘ãŒÃ396Ž‘õŒÏ\xydef@\prentry@@star@ii{%ŽŽ¡‘ãŒÃ397Ž‘ûKÃÏ\ifx‘¿ª[\nextŽŽ¡‘ãŒÃ398Ž‘ mÏ\DN@[##1]{\DN@####1{\def\entrymodifiers@{[##1]####1}}%ŽŽ¡‘ãŒÃ399Ž‘ ŠÁÏ\expandafter\next@\expandafter{\entrymodifiers@}\prentry@@norm}%]ŽŽ¡‘ãŒÃ400Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ401Ž‘ mÏ\DN@##1{\DN@####1{\def\entrymodifiers@{##1####1}}%ŽŽ¡‘ãŒÃ402Ž‘ ŠÁÏ\expandafter\next@\expandafter{\entrymodifiers@}\prentry@@norm}%ŽŽ¡‘ãŒÃ403Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ405Ž‘õŒÏ\xydef@\prentry@@norm#1!@{\gdef\lastprentry@@{#1}%ŽŽ¡‘ãŒÃ406Ž‘ûKÃÏ\DN@{\setbox\lastobjectbox@=\object}%ŽŽ¡‘ãŒÃ407Ž‘ûKÃÏ\expandafter\next@\entrymodifiers@{\xyeatall@–¿ª\everyentry@“#1}%ŽŽ¡‘ãŒÃ408Ž‘ûKÃÏ\prentry@@x}ŽŽ¦‘ãŒÃ410Ž‘õŒÏ\xydef@\prentry@@x{%ŽŽ¡‘ãŒÃ411Ž‘ûKÃÏ\edef\next@{{\noexpand\pre@emit{\the\Row}{\Upness@}{\the\Col}{\Leftness@}%ŽŽ¡‘ãŒÃ412Ž‘ mÏ{\the\L@c}{\the\R@c}{\the\D@c}{\the\U@c}{\expandafter\noexpand\the\Edge@c}}}%ŽŽ¡‘ãŒÃ413Ž‘ûKÃÏ\expandafter\addq@\next@‘¿ª\box\lastobjectbox@}ŽŽŸ‡1‘ôŒ¹Finally–Mjthe“folloš²!wing“ensures“that“the“last“ro˜w“in“the“diagram“is“treated“correctly:‘±_if“the“last“en˜tryŽ¡‘ãŒwš²!as–Gan“empt˜y“ro˜w“then“w˜e“ignore“the“ro˜w“en˜tirely“if“the“Ï\ifoldxymatrix@Ž‘^ɹswitc˜h“is“set“just“as“w˜eŽ¡‘ãŒignore‘¦fÏ*Ž‘ f¹-en•²!tries‘¦fabMÞo“v“e.ަ‘ãŒÃ422Ž‘õŒÏ\xynew@{if}\ifoldxymatrix@‘¿ª\oldxymatrix@falseŽŽ¦‘ãŒÃ424Ž‘õŒÏ\xydef@\prentry@@@{\relax‘¿ª\let\next@=\prentry@@@iŽŽ¡‘ãŒÃ425Ž‘ûKÃÏ\ifoldxymatrix@–¿ª\ifnum\Col=\@ne“\ifx\lastprentry@@\emptyŽŽ¡‘ãŒÃ426Ž‘ ŠÁÏ\global\advance\Row\m@ne–¿ª\let\next@=\relax“\fi\fi\fiŽŽ¡‘ãŒÃ427Ž‘ûKÃÏ\global\let\lastprentry@@=\relax‘¿ª\next@}ŽŽ¦‘ãŒÃ429Ž‘õŒÏ\xydef@\prentry@@@i{%ŽŽŽŽŒ‹\wA Á à ý*tj‘㌹348’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ430Ž‘ûKÃÏ\ifnum\maxcol@<\Col‘¿ª\xdef\maxcol@{\the\Col}\xdef\maxcolrow@{\the\Row}\fiŽŽ¤ ™š‘ãŒÃ431Ž‘ûKÃÏ\expandafter\xdef\csname‘¿ªmaxcol@\the\Row\endcsname{\the\Col}}ŽŽŸ -‘ôŒ¹F‘ÿeurthermore–*the“coMÞde“(Ãl.464Ž›8Õ¹)“sets“the“edge“and“exten²!ts“of“the“ob‘›»ject“and“(Ãl.465Ž˜¹)“adds“the“ob‘›»ject“toŽ¡‘ãŒthe–¦fsize“of“the“matrix.–ÝÝÔBug:“¹Curren²!tly–¦fignores“upness“and“leftness“parameters.Ž©Pˆ‘ãŒÃ439Ž‘õŒÏ\xydef@\xy@minX@@{\z@}ŽŽ¡‘ãŒÃ440Ž‘õŒÏ\xydef@\xy@maxX@@{\z@}ŽŽ¡‘ãŒÃ441Ž‘õŒÏ\xydef@\xy@minY@@{\z@}ŽŽ¡‘ãŒÃ442Ž‘õŒÏ\xydef@\xy@maxY@@{\z@}ŽŽ¦‘ãŒÃ444Ž‘õŒÏ\xydef@\pre@emit#1#2#3#4#5#6#7#8#9{%ŽŽ¡‘ãŒÃ445Ž‘ûKÃÏ%‘¿ª#1=R,#2=Upn,#3=C,#4=Leftn,#5=L,#6=R,#7=D,#8=U,#9=Edge.ŽŽ¡‘ãŒÃ446Ž‘ûKÃÏ\global\Row=#1\global\Col=#3\relaxŽŽ¡‘ãŒÃ447Ž‘ûKÃÏ\ifnum#3=\@neŽŽ¡‘ãŒÃ448Ž‘ mÏ\ifnum#1=\@ne‘¿ª\xy@@{\matrixorigin@}ŽŽ¡‘ãŒÃ449Ž‘ mÏ\else‘¿ª\count@@=#1\advance\count@@\m@neŽŽ¡‘ãŒÃ450Ž‘ËÏ\edef\next@{\noexpand\xy@@{\noexpand\cfromid@ŽŽ¡‘ãŒÃ451Ž‘JkÏ{\xymatrixprefix@@\the\count@@,1}}}\next@ŽŽ¡‘ãŒÃ452Ž‘ËÏ\pre@emit@‘¿ª\W@maxout\Hrow@c@@\W@maxin\Hrow@in\xy@tanabs@@ŽŽ¡‘ãŒÃ453Ž‘ ŠÁÏ\X@c\xy@sinsign@@\xy@sinabs@@\xymatrixrowsep@ŽŽ¡‘ãŒÃ454Ž‘ËÏ\pre@emit@‘¿ª\Hrow@c@@\W@maxout\Hrow@in\W@maxin\xy@cotabs@@ŽŽ¡‘ãŒÃ455Ž‘ ŠÁÏ\Y@c{-\xy@cossign@@}\xy@cosabs@@\xymatrixrowsep@ŽŽ¡‘ãŒÃ456Ž‘ mÏ\fiŽŽ¡‘ãŒÃ457Ž‘ûKÃÏ\else‘¿ª\count@@=#3\advance\count@@\m@neŽŽ¡‘ãŒÃ458Ž‘ËÏ\pre@emit@‘¿ª\Wcol@c@@\H@maxout\Wcol@in\H@maxin\xy@cotabs@@ŽŽ¡‘ãŒÃ459Ž‘ ŠÁÏ\X@c\xy@cossign@@\xy@cosabs@@\xymatrixcolsep@ŽŽ¡‘ãŒÃ460Ž‘ËÏ\pre@emit@‘¿ª\H@maxout\Wcol@c@@\H@maxin\Wcol@in\xy@tanabs@@ŽŽ¡‘ãŒÃ461Ž‘ ŠÁÏ\Y@c\xy@sinsign@@\xy@sinabs@@\xymatrixcolsep@ŽŽ¡‘ãŒÃ462Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ463Ž‘ûKÃÏ\DN@##1{\xy@@{\L@c=#5\R@c=#6\D@c=#7\U@c=#8\Edge@c={#9}\idfromc@{##1#1,#3}}}%ŽŽ¡‘ãŒÃ464Ž‘ûKÃÏ\expandafter\next@\expandafter{\xymatrixprefix@@}ŽŽ¡‘ãŒÃ465Ž‘ûKÃÏ\xy@@{ŽŽ¡‘ãŒÃ466Ž‘ mÏ\dimen@=\X@c‘¿ª\advance\dimen@-\L@cŽŽ¡‘ãŒÃ467Ž‘ËÏ\ifdim\dimen@<\xy@minX@@‘¿ª\edef\xy@minX@@{\the\dimen@}\fiŽŽ¡‘ãŒÃ468Ž‘ mÏ\dimen@=\X@c‘¿ª\advance\dimen@+\R@cŽŽ¡‘ãŒÃ469Ž‘ËÏ\ifdim\dimen@>\xy@maxX@@‘¿ª\edef\xy@maxX@@{\the\dimen@}\fiŽŽ¡‘ãŒÃ470Ž‘ mÏ\dimen@=\Y@c‘¿ª\advance\dimen@-\D@cŽŽ¡‘ãŒÃ471Ž‘ËÏ\ifdim\dimen@<\xy@minY@@‘¿ª\edef\xy@minY@@{\the\dimen@}\fiŽŽ¡‘ãŒÃ472Ž‘ mÏ\dimen@=\Y@c‘¿ª\advance\dimen@+\U@cŽŽ¡‘ãŒÃ473Ž‘ËÏ\ifdim\dimen@>\xy@maxY@@‘¿ª\edef\xy@maxY@@{\the\dimen@}\fi}}ŽŽŸ -‘ôŒ¹The–©9folloš²!wing“proMÞcedure“represen˜ts“the“similarit˜y“of“the“four“lines“for“the“coMÞordinates“in“the“com-Ž¡‘ãŒputation‘¦fabšMÞo•²!v“e.–Ó3.“.“ÔT‘þó\o‘2Do:‘Ýݹdescrib˜e–¦fthis“prop˜erly‘ÿe.–Ó3.“.ަ‘ãŒÃ481Ž‘õŒÏ\xydef@\pre@emit@#1#2#3#4{#1\A@–¿ª#2\B@“#3\R@“#4\dimen@ŽŽ¡‘ãŒÃ482Ž‘ûKÃÏ\edef\next@{{\the\A@}{\the\B@}{\the\R@}{\the\dimen@}}%ŽŽ¡‘ãŒÃ483Ž‘ûKÃÏ\expandafter\pre@emit@i\next@}ŽŽ¦‘ãŒÃ485Ž‘õŒÏ\xydef@\pre@emit@i#1#2#3#4#5{\xy@@{%ŽŽ¡‘ãŒÃ486Ž‘ mÏ%–¿ªEmit“R“:=“min(#1,#5#2)“+“min(#3,#5#4)ŽŽ¡‘ãŒÃ487Ž‘ mÏ\dimen@=#2\R@=#5\dimen@–¿ª\dimen@=#1\relax“\ifdim\R@>\dimen@“\R@=\dimen@“\fiŽŽ¡‘ãŒÃ488Ž‘ mÏ\dimen@=#4\B@=#5\dimen@–¿ª\dimen@=#3\relax“\ifdim\B@>\dimen@“\B@=\dimen@“\fiŽŽŽŽŒ‹]ƒá Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ349ŽŽ ¶?? ýh«w‘ãŒÃ489Ž‘ mÏ\advance\R@\B@}%ŽŽ¤ ™š‘ãŒÃ490Ž‘ûKÃÏ\pre@emit@ii}ŽŽ©Pˆ‘ãŒÃ492Ž‘õŒÏ\xydef@\pre@emit@ii#1#2#3#4{\xy@@{%ŽŽ¡‘ãŒÃ493Ž‘ mÏ%–¿ªEmit“#1“:=“#1“+“#2*[“R“+“#3#4“]ŽŽ¡‘ãŒÃ494Ž‘ mÏ\dimen@=#4\dimen@=#3\dimen@–¿ª\advance\R@\dimen@“\advance#1#2\R@}}ŽŽ¦‘ãŒÃ496Ž‘õŒÏ\xydef@\Wcol@in#1{#1=\csname–¿ªWcol@\the\Col\endcsname“#1=.5#1}ŽŽ¡‘ãŒÃ497Ž‘õŒÏ\xydef@\Wcol@out#1{#1=\csname–¿ªWcol@\the\Col\endcsname“#1=.5#1}ŽŽ¡‘ãŒÃ498Ž‘õŒÏ\xydef@\Wcol@c@@#1{#1=\csname–¿ªWcol@\the\count@@\endcsname“#1=.5#1}ŽŽ¡‘ãŒÃ499Ž‘õŒÏ\xydef@\W@maxin#1{#1=\W@max‘¿ª#1=.5#1}ŽŽ¡‘ãŒÃ500Ž‘õŒÏ\xydef@\W@maxout#1{#1=\W@max‘¿ª#1=.5#1}ŽŽ¦‘ãŒÃ502Ž‘õŒÏ\xydef@\Hrow@in#1{#1=\csname–¿ªHrow@\the\Row\endcsname“#1=.5#1}ŽŽ¡‘ãŒÃ503Ž‘õŒÏ\xydef@\Hrow@out#1{#1=\csname–¿ªHrow@\the\Row\endcsname“#1=.5#1}ŽŽ¡‘ãŒÃ504Ž‘õŒÏ\xydef@\Hrow@c@@#1{#1=\csname–¿ªHrow@\the\count@@\endcsname“#1=.5#1}ŽŽ¡‘ãŒÃ505Ž‘õŒÏ\xydef@\H@maxin#1{#1=\H@max‘¿ª#1=.5#1}ŽŽ¡‘ãŒÃ506Ž‘õŒÏ\xydef@\H@maxout#1{#1=\H@max‘¿ª#1=.5#1}ŽŽŸMj‘ôŒÔBug:‘ÝÙ¹It–¦^should“bšMÞe“p˜ossible“to“cš²!hange“te“adjustmen˜t“more“profoundly“for“individual“en˜tries,‘¦`ro˜ws,Ž¡‘ãŒand‘¦fcolumns.ŽŸ"‘<‘ãŒÔMeasure:‘ ó5¹T‘ÿeakš²!e–á‚the“created“bMÞo˜x8“apart“to“de ne“the“macros“Ï\Wcol@Ž›&_~Ðc‘ÿp¹ol‘,¹and“Ï\Hrow@Ž˜Ðr‘ÿp¹ow‘=¹con²!tainingŽ¡‘ãŒthe– width“and“heigh²!t“of“the“bšMÞounding“b˜oš²!x“of“the“en˜tries“in“the“ro˜w/column.‘JýFinally“the“commandsŽ¡‘ãŒcollected–k+in“the“queue“are“executed“(hopšMÞefully“they'll“in•²!v“ok“e‘k+Ï\pre@emitŽ‘:“P¹a‘k+n“um“b˜er–k+of“times).‘ÊThis“is“aŽ¡‘ãŒho•MÞok›¦fb“ecause˜some˜sp“ecial˜cases˜w²!on't˜need˜it.–Ó3.“.ަ‘ãŒÃ521Ž‘õŒÏ\xydef@\H@max{\z@}ŽŽ¡‘ãŒÃ522Ž‘õŒÏ\xydef@\W@max{\z@}ŽŽ¡‘ãŒÃ523Ž‘õŒÏ\xydef@\HW@max{\z@}ŽŽ¦‘ãŒÃ525Ž‘õŒÏ\xydef@\mkHrow@{}ŽŽ¡‘ãŒÃ526Ž‘õŒÏ\xydef@\mkWcol@{}ŽŽ¡‘ãŒÃ527Ž‘õŒÏ\xydef@\mkHmax@{}ŽŽ¡‘ãŒÃ528Ž‘õŒÏ\xydef@\mkWmax@{}ŽŽ¡‘ãŒÃ529Ž‘õŒÏ\xydef@\mkHWmax@{}ŽŽ¦‘ãŒÃ531Ž‘õŒÏ\xydef@\mkHWdefaults@{\let\xymatrix@measureit@@=\xymatrix@measureitŽŽ¡‘ãŒÃ532Ž‘ûKÃÏ\let\mkHrow@=\Hrow@R‘¿ª\let\mkWcol@=\Wcol@CŽŽ¡‘ãŒÃ533Ž‘ûKÃÏ\def\mkHmax@{\ifdim\dimen@>\H@max\relax‘¿ª\xdef\H@max{\the\dimen@}\fi}%ŽŽ¡‘ãŒÃ534Ž‘ûKÃÏ\def\mkWmax@{\ifdim\dimen@>\W@max\relax‘¿ª\xdef\W@max{\the\dimen@}\fi}%ŽŽ¡‘ãŒÃ535Ž‘ûKÃÏ\let\mkHWmax@=\HWmax@max}ŽŽ¦‘ãŒÃ537Ž‘õŒÏ\xydef@\Hrow@R{\expandafter\xdef\csname‘¿ªHrow@\the\Row\endcsname{\the\dimen@}}ŽŽ¡‘ãŒÃ538Ž‘õŒÏ\xydef@\Wcol@C{\expandafter\xdef\csname‘¿ªWcol@\the\Col\endcsname{\the\dimen@}}ŽŽ¦‘ãŒÃ540Ž‘õŒÏ\xydef@\Hrow@max{\expandafter\gdef\csname‘¿ªHrow@\the\Row\endcsname{\H@max}}ŽŽ¡‘ãŒÃ541Ž‘õŒÏ\xydef@\Wcol@max{\expandafter\gdef\csname‘¿ªWcol@\the\Col\endcsname{\W@max}}ŽŽ¦‘ãŒÃ543Ž‘õŒÏ\xydef@\Hrow@HWmax{\expandafter\gdef\csname‘¿ªHrow@\the\Row\endcsname{\HW@max}}ŽŽ¡‘ãŒÃ544Ž‘õŒÏ\xydef@\Wcol@HWmax{\expandafter\gdef\csname‘¿ªWcol@\the\Col\endcsname{\HW@max}}ŽŽ¦‘ãŒÃ546Ž‘õŒÏ\xydef@\HWmax@max{%ŽŽ¡‘ãŒÃ547Ž‘ûKÃÏ\ifdim\H@max>\W@max\global\let\HW@max=\H@max\else\global\let\HW@max=\W@max\fi}ŽŽ¦‘ãŒÃ549Ž‘õŒÏ\xydef@\HWmax@set#1{\gdef\HW@max{#1}%ŽŽ¡‘ãŒÃ550Ž‘ûKÃÏ\global\let\H@max=\HW@max‘¿ª\global\let\W@max=\HW@max}ŽŽŽŽŒ‹^é Á à ý*tj‘㌹350’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ552Ž‘õŒÏ\xydef@\xymatrix@measureit{%ŽŽ¤ ™š‘ãŒÃ553Ž‘ûKÃÏ\xdef\H@max{\z@}\xdef\W@max{\z@}%ŽŽ¡‘ãŒÃ554Ž‘ûKÃÏ\setbox6=\vbox{\unvbox8‘¿ª\global\Row=\maxrow@ŽŽ¡‘ãŒÃ555Ž‘ mÏ\loop@–¿ª\dimen@ii=\lastskip\unskip“\ifnum\z@<\RowŽŽ¡‘ãŒÃ556Ž‘ËÏ\setbox4=\lastbox–¿ª\dimen@=\dp4“\advance\dimen@\ht4“\mkHrow@“\mkHmax@ŽŽ¡‘ãŒÃ557Ž‘ËÏ\ifnum\Row=\maxcolrow@ŽŽ¡‘ãŒÃ558Ž‘ ŠÁÏ\setbox2=\hbox{\unhbox4‘¿ª%ŽŽ¡‘ãŒÃ559Ž‘JkÏ\global\Col=\maxcol@ŽŽ¡‘ãŒÃ560Ž‘JkÏ\loop@–¿ª\dimen@ii=\lastskip\unskip“\ifnum\z@<\ColŽŽ¡‘ãŒÃ561Ž‘ Ï\setbox\z@=\lastbox–¿ª\dimen@=\wdz@“\mkWcol@“\mkWmax@ŽŽ¡‘ãŒÃ562Ž‘ Ï\global\advance\Col\m@neŽŽ¡‘ãŒÃ563Ž‘JkÏ\repeat@}\fiŽŽ¡‘ãŒÃ564Ž‘ ŠÁÏ\global\advance\Row\m@neŽŽ¡‘ãŒÃ565Ž‘ËÏ\repeat@}%ŽŽ¡‘ãŒÃ566Ž‘ûKÃÏ\mkHWmax@}ŽŽ¤Pˆ‘ãŒÃ568Ž‘õŒÏ\xylet@\xymatrix@measureit@@=\relaxŽŽ¡‘ôŒÔT‘þó\o‘2"Do:‘ݯ¹Alloš²!w–¦ non-default“spacing“bMÞet˜w˜een“particular“ro˜ws/columns“as“w˜ell“as“di eren˜t“justi ca-Ž© ™š‘ãŒtion–¦fof“the“en²!tire“matrix.–Ó3.“.ŽŸ‡…‘ãŒÔT¦typY‹eset:‘ ó5¹Retš²!ypMÞeset–¦fthe“en˜tire“diagram“using“a“hac˜k˜ed“halign:‘ÝÝits“template“t˜ypMÞesets“eac˜h“en˜try“asޤl‘XÓÏ\POSŽ‘q¤ó"Ž‘wdÐr‘ÿp¹owŽŽ’‰€_Ï,Ž’@ Ðc‘ÿp¹olŽŽ’@ýÏ"Ž’¤ÓØ*Ž’¬f³Ðobje‘ÿp¹ctŽŽ’Êh‘Ï\relaxŽ’í›.ÐX‘ü¤ZŸâÃYŽŽ’øÙ!-c‘ÿp¹ommandsŽŽ’/yÏ\relaxŽŽ¡‘㌹where–5ÊÐobje‘ÿp¹ct‘?´¹is“the“con•²!ten“ts–5Êof“the“enš²!try“translated“in˜to‘tX‘ü·ŸâÃYŽŽ‘ œÔ-pic“Çh¹ob‘›»jectÇi“¹form“and‘:ÐX‘ü¤ZŸâÃYŽŽ‘ U--c‘ÿp¹ommands‘â¹en˜tailsަ‘ãŒthe–¦fcommands“used“in“this“particular“en²!try‘ÿe.ޤPˆ‘ãŒÃ586Ž‘õŒÏ\xydef@\xymatrix@typeset#1{%ŽŽ¦‘ãŒÃ587Ž‘ûKÃÏ\clearq@ŽŽ¦‘ãŒÃ588Ž‘ûKÃÏ\hbox{\vtop{\xyqall@ŽŽ¦‘ãŒÃ589Ž‘ËÏ\xy@@{\ifx\xymatrixsavedCOORD@\relaxŽŽ¦‘ãŒÃ590Ž‘JkÏ\enter@{\noexpand\let\noexpand\COORD@\noexpand\xymatrixsavedCOORD@}%ŽŽ¦‘ãŒÃ591Ž‘JkÏ\let\xymatrixsavedCOORD@=\COORD@‘¿ª\let\COORD@=\xymatrixCOORD@ŽŽ¦‘ãŒÃ592Ž‘ ŠÁÏ\else‘¿ª\enter@{}\fi}%ŽŽ¦‘ãŒÃ593Ž‘ËÏ\ifx\xymatrixsavedCOORD@\relax–¿ª\let\xymatrixsavedCOORD@=\COORD@“\fiŽŽ¦‘ãŒÃ594Ž‘ËÏ\let\COORD@=\xymatrixCOORD@ŽŽ¦‘ãŒÃ595Ž‘ËÏ\kern\z@‘¿ª\global\Row=\z@ŽŽ¦‘ãŒÃ596Ž‘ËÏ\everycr{}\let\\=\cr–¿ª\tabskip=\z@“\offinterlineskipŽŽ¦‘ãŒÃ597Ž‘ËÏ\halign{\entry@##!@&&\entry@@##!@\cr#1\crcr}%ŽŽ¦‘ãŒÃ598Ž‘ËÏ\xy@@{\leave@}}}%ŽŽ¦‘ãŒÃ599Ž‘ûKÃÏ\finishq@‘¿ª\expandafter\xy@@\expandafter{\the\queue@}\global\queue@={}}ŽŽ¡‘ôŒ¹Here–¬{are“the“template“execution“macros:‘êW‘ÿee“reset“the“Ï\queue@Ž‘/–œ¹for“eacš²!h“en˜try‘ÿe,‘®Ï\dropŽ‘$͹it“the“usualަ‘ãŒw•²!a“y–¦fexcept“ rst“all‘ŽX‘ü·ŸâÃYŽŽ‘ p-commands“are“`redirected'“to“the“queue,“and“then“t²!ypMÞeset“them.Ž¡‘ãŒÃ607Ž‘õŒÏ\xydef@\entry@{\relax–¿ª\global\advance\Row\@ne“\global\Col=\z@“\entry@@}ŽŽ¡‘ôŒ¹Again–¦fsome“parsing“determines“whether“this“is“a“Ï*Ž‘ f¹-ob››»ject“or“a“normal“ob˜ject:Ž¡‘ãŒÃ614Ž‘õŒÏ\xydef@\entry@@{\global\advance\Col\@neŽŽ¦‘ãŒÃ615Ž‘ûKÃÏ\DN@##1,##2,##3@{\xy@{ENTRY–¿ª"##3##1,##2"}{\Row=##1“\Col=##2\relaxŽŽ¦‘ãŒÃ616Ž‘ËÏ\cfromid@{##3##1,##2}\pfromc@}}%ŽŽ¦‘ãŒÃ617Ž‘ûKÃÏ\edef\nextii@{\the\Row,\the\Col,\xymatrixprefix@@‘¿ª@}%ŽŽ¦‘ãŒÃ618Ž‘ûKÃÏ\expandafter\next@\nextii@ŽŽŽŽŒ‹_â Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ351ŽŽ ¶?? ýh«w‘ãŒÃ619Ž‘ûKÃÏ\xyFN@\entry@@i}ŽŽ©Pˆ‘ãŒÃ621Ž‘õŒÏ\xydef@\entry@@i{\let\next@=\entry@@normŽŽ¤ ™š‘ãŒÃ622Ž‘ûKÃÏ\ifoldxymatrix@\else–¿ª\ifx“*\next“\DN@*{\xyFN@\entry@@star}\fi“\fiŽŽ¡‘ãŒÃ623Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ625Ž‘õŒÏ\xydef@\entry@@star{\ifx–¿ª*\next“\DN@*{\xyFN@\entry@@star@ii}%ŽŽ¡‘ãŒÃ626Ž‘ûKÃÏ\else–¿ª\DN@##1##{\entry@@star@i{##1}}\fi“\next@}ŽŽ¦‘ãŒÃ628Ž‘õŒÏ\xydef@\entry@@star@i#1#2#3!@{%ŽŽ¡‘ãŒÃ629Ž‘ûKÃÏ\xy@@ix@{{#1}{#2}}\xy@@{\expandafter\dropentry@\the\toks9}%ŽŽ¡‘ãŒÃ630Ž‘ûKÃÏ\setboxz@h{\xyqall@ŽŽ¡‘ãŒÃ631Ž‘ mÏ\ifx\xymatrixsavedCOORD@\relax–¿ª\let\xymatrixsavedCOORD@=\COORD@“\fiŽŽ¡‘ãŒÃ632Ž‘ mÏ\let\COORD@=\xymatrixCOORD@–¿ª\everyentry@“#3}%ŽŽ¡‘ãŒÃ633Ž‘ûKÃÏ\setbox\z@=\copy\voidb@x}ŽŽ¦‘ãŒÃ635Ž‘õŒÏ\xydef@\entry@@star@ii{%ŽŽ¡‘ãŒÃ636Ž‘ûKÃÏ\ifx‘¿ª[\nextŽŽ¡‘ãŒÃ637Ž‘ mÏ\DN@[##1]{\DN@####1{\def\entrymodifiers@{[##1]####1}}%ŽŽ¡‘ãŒÃ638Ž‘ ŠÁÏ\expandafter\next@\expandafter{\entrymodifiers@}\entry@@norm}%]ŽŽ¡‘ãŒÃ639Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ640Ž‘ mÏ\DN@##1{\DN@####1{\def\entrymodifiers@{##1####1}}%ŽŽ¡‘ãŒÃ641Ž‘ ŠÁÏ\expandafter\next@\expandafter{\entrymodifiers@}\entry@@norm}%ŽŽ¡‘ãŒÃ642Ž‘ûKÃÏ\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ644Ž‘õŒÏ\xydef@\entry@@norm#1!@{%ŽŽ¡‘ãŒÃ645Ž‘ûKÃÏ\DN@##1{\expandafter\xy@@ix@ŽŽ¡‘ãŒÃ646Ž‘ mÏ\expandafter{\expandafter{\entrymodifiers@}{##1}}}%ŽŽ¡‘ãŒÃ647Ž‘ûKÃÏ\expandafter\next@\expandafter{\everyentry@#1}%ŽŽ¡‘ãŒÃ648Ž‘ûKÃÏ\xy@@{\expandafter\dropentry@\the\toks9}%ŽŽ¡‘ãŒÃ649Ž‘ûKÃÏ\setbox\z@=\expandafter\object\entrymodifiers@{\xyqall@ŽŽ¡‘ãŒÃ650Ž‘ mÏ\ifx\xymatrixsavedCOORD@\relax–¿ª\let\xymatrixsavedCOORD@=\COORD@“\fiŽŽ¡‘ãŒÃ651Ž‘ mÏ\let\COORD@=\xymatrixCOORD@–¿ª\everyentry@“#1}%ŽŽ¡‘ãŒÃ652Ž‘ûKÃÏ\setbox\z@=\copy\voidb@x}ŽŽŸ}ý‘ôŒ¹Dropping–¦fthe“enš²!try“is“just“ret˜ypMÞesetting“it“at“the“righ˜t“loMÞcation“again“ignoring“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-stu :ަ‘ãŒÃ659Ž‘õŒÏ\xydef@\dropentry@#1#2{\drop@{#1}{\xyeatall@ŽŽ¡‘ãŒÃ660Ž‘ mÏ\ifx\xymatrixsavedCOORD@\relax–¿ª\let\xymatrixsavedCOORD@=\COORD@“\fiŽŽ¡‘ãŒÃ661Ž‘ mÏ\let\COORD@=\xymatrixCOORD@‘¿ª#2}}ŽŽŸ}ý‘ôŒ¹The–)macros“used“for“queuing“are“these;‘RÝonly“the“toks9“replacemenš²!t“is“tric˜ky;‘RÝfurthermore“queueingŽ¡‘ãŒis–g^Ðnot‘qH¹done“if“wš²!e“are“sa˜ving“bMÞecause“the“e ect“will“giv˜e“the“same“result“without“risk“of“extremely“longŽ¡‘ãŒlines–¦fin“the“compiled“ le!ަ‘ãŒÃ670Ž‘õŒÏ\xydef@\xyqall@{%ŽŽ¡‘ãŒÃ671Ž‘ûKÃÏ\ifxysaving@–¿ª\let\xy@=\xyqs@“\let\xy@@ix@=\xysave@@toksix@ŽŽ¡‘ãŒÃ672Ž‘ûKÃÏ\else–¿ª\let\xy@=\xyq@“\let\xy@@ix@=\xyq@@toksix@“\fiŽŽ¡‘ãŒÃ673Ž‘ûKÃÏ\change@oxy@\xy@}ŽŽ¦‘ãŒÃ675Ž‘õŒÏ\xydef@\xyq@#1#2{\addq@{#2}}ŽŽ¦‘ãŒÃ677Ž‘õŒÏ\xydef@\xyq@@toksix@{\begingroupŽŽ¡‘ãŒÃ678Ž‘ûKÃÏ\xyuncatcodes–¿ª\afterassignment\xyq@@toksix@i“\global\toks9=}ŽŽ¦‘ãŒÃ680Ž‘õŒÏ\xydef@\xyq@@toksix@i{%ŽŽ¡‘ãŒÃ681Ž‘ûKÃÏ\DN@##1{\endgroup‘¿ª\xy@@{\global\toks9={##1}}}%ŽŽŽŽŒ‹`ª× Á à ý*tj‘㌹352’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ682Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks9}}ŽŽ¤Pˆ‘ãŒÃ684Ž‘õŒÏ\xydef@\xyqs@{\global\advance\matrixsize@\@ne‘¿ª\xysave@}ŽŽŸ%YK‘ãŒÔInsert:‘ ó5¹Finally–s°wš²!e“insert“the“matrix“in“the‘[ZX‘ü·ŸâÃYŽŽ‘ Úº-picture“logically“b˜y“ensuring“that“it“has“the“righ˜t“sizeŽ¡‘ãŒÃ693Ž‘õŒÏ\xydef@\xymatrix@insert{%ŽŽ¤ ™š‘ãŒÃ694Ž‘ûKÃÏ\xy@@{\edef\nextii@{{\xy@minX@@}{\xy@maxX@@}{\xy@minY@@}{\xy@maxY@@}}%ŽŽ¡‘ãŒÃ695Ž‘ mÏ\expandafter\xymatrix@insert@\nextii@}}ŽŽ©Pˆ‘ãŒÃ697Ž‘õŒÏ\xydef@\xymatrix@insert@#1#2#3#4{\matrixorigin@ŽŽ¡‘ãŒÃ698Ž‘ mÏ\L@c=+\X@c‘¿ª\advance\L@c-#1\relaxŽŽ¡‘ãŒÃ699Ž‘ mÏ\R@c=-\X@c‘¿ª\advance\R@c+#2\relaxŽŽ¡‘ãŒÃ700Ž‘ mÏ\D@c=+\Y@c‘¿ª\advance\D@c-#3\relaxŽŽ¡‘ãŒÃ701Ž‘ mÏ\U@c=-\Y@c‘¿ª\advance\U@c+#4\relaxŽŽ¡‘ãŒÃ702Ž‘ mÏ\Edge@c={\rectangleEdge}}ŽŽŸöÑ‘ôŒÔT‘þó\o‘fDo:‘ˉ¹Should–¾handle“other“forms“than“reference“pMÞoinš²!t“at“cen˜ter“of“Ï"1,1"Ž‘#Áιas“hardcoMÞded“here.‘Ñ¥InŽ¡‘ãŒparticular–¦freference“pMÞoinš²!t“at“baseline“of“Ï"1,1"Ž‘$ ¹w˜ould“bMÞe“useful.–Ó3.“.ŽŸ!ÑãŒÞ3.5.2Ž‘ ÌNew–€co`ordinate“formatsŽŸï‘㌹It–ù÷is“pMÞossible“within“enš²!tries“to“refer“to“all“the“en˜tries“of“the‘á¡X‘ü·ŸâÃYŽŽ‘a-matrix“using“the“follo˜wing“spMÞecialŽ¡‘ãŒÇh¹coMÞordÇi¹inate‘¦fforms:Ž‘ãŒŸ ‰ffã²dŸ +e‘Gg9Ï"Ž‘M&ãÄrMÞÏ,Ž‘ ˆÄcÏ"ŽŽ’ qú¹Pš²!osition–ÆDand“exten˜ts“of“en˜try“in“ro˜w“ÄrMÞ¹,‘;column“ÄcŽ¡’ qú¹(top–¦fleft“is“Ï"1,1"Ž‘ d¸¹)ŽŽŽŽŸÛ‚‘Bg9Ï[Ž‘H&ã¹ÄrMÞÏ,Ž‘ ˆ¹ÄcÏ]ŽŽ’ qú¹Är‘ôD¹ro•²!ws›¦fbMÞelo“w,˜Äc˜¹columns˜righ“t˜of˜curren“t˜en“tryŽŽŽŽ¡‘Bg9Ï[Ž‘KÍIÇh¹hopÇi¹*Ž‘ Ï]ŽŽ’ qú¹en•²!try›¥ªreac“hed˜b“y˜Çh¹hopÇi¹s;‘¥éeac“h˜Çh¹hopÇi˜¹is˜one˜of˜ÏdulrŽŽ¡’ qú¹describing–¦fone“`mo•²!v“e'–¦fto“a“neighš²!bMÞor“en˜tryŽŽŽŽŸ?Ç‘Bg9Ï[Ž‘KÍIÇh¹hopÇiŸü¾Â+Ž‘ ÂÞÇh¹placeÇi‘¦fÏ]ŽŽ’ qúÇh¹placeÇi–¦f¹on“straigh²!t“line“to“Ðnon-empty‘žgÏ[Ž‘ ^Çh¹hopÇi¹*Ž‘yšÏ]ŽŽŽŽŽŸ!,‰ffã²dŸ„¹So–ýEthe“currenš²!t“en˜try“has“the“synon˜yms“Ï[0,0]Ž‘ »—¹,‘ýÏ[]Ž‘’Q¹,‘ýÏ[rl]Ž–¥¹,‘ýÏ[ud]Ž“¹,‘ýÏ[dudu]Ž‘&ù¹,–ýetc.,“as–ýEw˜ell“as“its“`absolute'Ž¡name‘¦fÏ"Ž‘ fÄrMÞÏ,Ž‘ ˆÄcÏ"Ž‘¿ª¹.ŽŸ?ã‘These–¦fforms“are“useful“for“de ning“diagrams“where“the“en²!tries“are“related,“Ðe¹.Ðg¹.,ŽŸŒt’×~¸ïps: SDict begin xyc end‘R?Ÿ%òÄAŽŽŽŽŽŽŸ«r‘z?ï " {1024 g}xyŽŽŽ¤ù5‘SØï " {1024 g}xyŽŽŽ¡‘-qï " {1024 g}xyŽŽŽŽ‘&ÊŸÒÚï" {24.75284 -24.0 l}xyŽŽŽ‘Ÿ%ûFBŽŽŽŽŽŽ‘)óŸ%ûFCŽŽŽŽŽŽ‘xŸ"=„ï" {-23.99998 0.0 dt}xyŽŽŽŽŽŽŽŸ>ˆÊ¹w•²!as›¦ft“ypMÞeset˜b“yަÏ$$\xyŽŽ¡\xymatrix{ŽŽ¡–¿ªA“\POS[];[d]**\dir{~},ŽŽ¡‘(=¦[];[dr]**\dir{-}‘þ¨\\ŽŽ¡–¿ªB“&“C“\POS[];[l]**\dir{.}“}ŽŽ¡\endxy$$ŽŽŸöÑ‘¹If–¦fan“en²!try“outside“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-matrix“is“referenced“then“an“error“is“repMÞorted.ŽŸ?ã‘In–œdcase“sevš²!eral“matrices“are“used“in“the“same“diagram,‘Ùäand“they“refer“to“eac˜h“other,‘Ùäthen“it“isŽ¡useful–&Ðeven–Zšinside“the“matrixŽ¡itself‘R¹.Ž¡‘Here–¦fis“an“example“using“this:Ž¡’ÈR1ïps: SDict begin xyc end‘! ÈŸ%òÄAŽŽŽŽŽŽ‘Fñ9Ÿ%òBŽŽŽŽŽŽ‘ ÚúŸ%ûFCŽŽŽŽŽŽ‘F¯TŸ%ûFDŽŽŽŽŽŽŸ÷1‘&;ž™„3232ŽŽŽ‘Ymï" {3072 F d}xyŽ‘*®ï" {3072 F d}xyŽ– ÁAï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ Á8ï" {3072 F d}xyŽ‘Á8ž™„3232ŽŽŽŸ1¯ÈŸÎƒj‘?Ôï" {1024 F d}xyŽ‘ ¢¤ (32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽŸ 32ï" {1024 F d}xyŽŽŸÎƒj‘RÞgï" {1024 F d}xyŽ‘R«5¤ (32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽŸ 32ï" {1024 F d}xyŽŽŽž32‘&;ž™„3232ŽŽ‘Ymï" {3072 F d}xyŽ‘*®ï" {3072 F d}xyŽ– ÁAï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ Á8ï" {3072 F d}xyŽ‘Á8ž™„3232ŽŽŽŽŽ‘2ÍŸ &ÞAŸü¾È0ŽŽŽŽŽŽŽŽ‘7mŸbÛï" {0.0 0.00557 dt}xyŽŽŽ‘hûŸÿn@ï" {13.19357 3.96106 dt}xyŽŽŽ‘hûŸÿn@ï" {0.0 0.00557 dt}xyŽŽŽ‘+äwŸ &ÞÄB‘Œ¤Ÿü¾È0ŽŽŽŽŽŽŽŽ‘DSžÀ£ï" {9.77336 3.24973 dt}xyŽŽŽ‘Ÿ/«nÄC‘ÈŸü¾È0ŽŽŽŽŽŽŽŽ‘:•Ÿ$|Ïï" {12.81387 4.14993 dt}xyŽŽŽ‘+¢‘Ÿ/«nÄDMÞŸü¾È0ŽŽŽŽŽŽŽŽ‘:ÏyŸ(0ùï" {0.0 0.0034 dt}xyŽŽŽ‘DaŸ$Û"ï" {9.28088 3.33871 dt}xyŽŽŽ‘DaŸ$Û"ï" {0.0 0.00339 dt}xyŽŽŽŸÿ*#Fåž™„3232ŽŽŽzï" {3072 F d}xyŽ‘ Èï" {3072 F d}xyŽ– †±ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ †¨ï" {3072 F d}xyŽ‘†¨ž™„3232ŽŽŽŸ3@ŸÍ$ò`~ï" {1024 F d}xyŽ-L¤ vÆ32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽŸ v¼32ï" {1024 F d}xyŽŽŸÍ$ò‘:›‚ï" {1024 F d}xyŽ‘:hP¤ vÆ32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽ¡32ï" {1024 F d}xyŽŸ v¼32ï" {1024 F d}xyŽŽŽž32Fåž™„3232ŽŽzï" {3072 F d}xyŽ‘ Èï" {3072 F d}xyŽ– †±ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ“ï" {3072 F d}xyŽ‘ †¨ï" {3072 F d}xyŽ‘†¨ž™„3232ŽŽŽŽŽŽŽŽŽŸB:¹w•²!as›¦ft“ypMÞeset˜(using˜the˜`frame'˜extension˜and˜`arro“w'˜feature)˜b“yŽ©PˆÏ\xyŽŽ¡‘ T\xymatrix"*"{%ŽŽ¡‘>þA–¿ª&“B“\\ŽŽ¡‘>þC–¿ª&“D“}%ŽŽ¡‘ T\POS*\frm{--}ŽŽ¡‘ T\POS-(10,3)ŽŽ¡‘ T\xymatrix{%ŽŽ¡‘>þA'–¿ª\ar@{.}["*"]“&“B'“\ar@{.}["*"]“\\ŽŽ¡‘>þC'–¿ª\ar@{.}["*"]“&“D'“\ar@{.}["*"]“}%ŽŽ¡‘ T\POS*\frm{--}ŽŽ¡\endxyŽŽ¦‘¹These–äXhandle“the“parsing“and“inš²!terpretation“of“brac˜k˜eted“Çh¹coMÞordÇi¹inates;‘Qthe“n˜um˜bMÞer“is“computedŽ¡already–¦fat“parse“time:ަÃ804Ž‘Ï\xylet@\thematrixCOORD@@=\relaxŽŽ¡Ã805Ž‘Ï\xylet@\thematrixprefix@@=\relaxŽŽ¦Ã807Ž‘Ï\xydef@\xymatrixCOORD@{%ŽŽ¡Ã808Ž‘¿ªÏ\ifx–¿ª[\next“%]ŽŽ¡Ã809Ž‘TÏ\DN@[##1]{\xy@{[##1]}{\def\thematrixCOORD@@{[##1]}}%ŽŽ¡Ã810Ž‘#>þÏ\xyFN@\xymatrixCOORD@i##1]}%ŽŽ¡Ã811Ž‘¿ªÏ\else–¿ª\let\next@=\xymatrixsavedCOORD@“\fi“\next@}ŽŽ¦Ã813Ž‘Ï\xydef@\xymatrixCOORD@i{\count@=\Row‘¿ª\count@@=\ColŽŽ¡Ã814Ž‘¿ªÏ\let\thematrixprefix@@=\xymatrixprefix@@ŽŽ¡Ã815Ž‘¿ªÏ\ifcat‘¿ªA\noexpand\nextŽŽ¡Ã816Ž‘TÏ\DN@##1{\expandafter\notrelaxorelse@\csname‘¿ªxymatrixCOORD@i@##1\endcsnameŽŽ¡Ã817Ž‘#>þÏ\xymatrixCOORD@other}%[[ŽŽ¡Ã818Ž‘¿ªÏ\else\ifx–¿ª]\next“\DN@]{\xymatrixCOORD@x}%ŽŽ¡Ã819Ž‘¿ªÏ\else\ifx–¿ª"\next“\DN@"##1"{\DN@{##1}\edef\thematrixprefix@@{\codeof\next@}%ŽŽ¡Ã820Ž‘(þ¨Ï\xyFN@\xymatrixCOORD@ii}%ŽŽ¡Ã821Ž‘¿ªÏ\else–¿ª\let\next@=\xymatrixCOORD@other“\fi\fi\fi“\next@}ŽŽ¦Ã823Ž‘Ï\xydef@\xymatrixCOORD@i@u{\advance\count@‘¿ª\m@ne\xyFN@\xymatrixCOORD@ii}ŽŽ¡Ã824Ž‘Ï\xydef@\xymatrixCOORD@i@d{\advance\count@–¿ª\@ne“\xyFN@\xymatrixCOORD@ii}ŽŽŽŽŒ‹bà  Á à ý*tj‘㌹354’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ825Ž‘õŒÏ\xydef@\xymatrixCOORD@i@l{\advance\count@@\m@ne\xyFN@\xymatrixCOORD@ii}ŽŽ¤ ™š‘ãŒÃ826Ž‘õŒÏ\xydef@\xymatrixCOORD@i@r{\advance\count@@\@ne‘¿ª\xyFN@\xymatrixCOORD@ii}ŽŽ©Pˆ‘ãŒÃ828Ž‘õŒÏ\xydef@\xymatrixCOORD@ii{%ŽŽ¡‘ãŒÃ829Ž‘ûKÃÏ\ifcat‘¿ªA\noexpand\nextŽŽ¡‘ãŒÃ830Ž‘ mÏ\DN@##1{\expandafter\notrelaxorelse@\csname‘¿ªxymatrixCOORD@i@##1\endcsnameŽŽ¡‘ãŒÃ831Ž‘ËÏ\xymatrixCOORD@error}%ŽŽ¡‘ãŒÃ832Ž‘ûKÃÏ\else\ifx–¿ª]\next“\DN@]{\xymatrixCOORD@x}%ŽŽ¡‘ãŒÃ833Ž‘ûKÃÏ\else–¿ª\let\next@=\xymatrixCOORD@xx“\fi\fi“\next@}ŽŽ¦‘ãŒÃ835Ž‘õŒÏ\xydef@\xymatrixCOORD@error#1{\DN@{#1}%ŽŽ¡‘ãŒÃ836Ž‘ûKÃÏ\xyerror@{illegal–¿ª“(\codeof\next@):“illegal“[...]“target“form}{}%ŽŽ¡‘ãŒÃ837Ž‘ûKÃÏ\xyFN@\xymatrixCOORD@ii}ŽŽ¦‘ãŒÃ839Ž‘õŒÏ\xydef@\xymatrixCOORD@other#1,#2]{%ŽŽ¡‘ãŒÃ840Ž‘ûKÃÏ\advance\count@#1\advance\count@@#2\xymatrixCOORD@x}ŽŽ¦‘ôŒ¹The–Enext“došMÞes“the“actual“lo˜okup“at‘,¿X‘ü·ŸâÃYŽŽ‘¬-time“where“wš²!e“can“still“prin˜t“an“error“message“using“theŽ¡‘ãŒsa•²!v“ed–¦foriginal“form.ަ‘ãŒÃ847Ž‘õŒÏ\xydef@\xymatrixCOORD@x{%ŽŽ¡‘ãŒÃ848Ž‘ûKÃÏ\DN@##1{\xy@@{%ŽŽ¡‘ãŒÃ849Ž‘ËÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@##1\endcsnameŽŽ¡‘ãŒÃ850Ž‘ËÏ\ifx\next@\relax–¿ª\xyerror@RC{##1}\else“\next@“\fi}%ŽŽ¡‘ãŒÃ851Ž‘ mÏ\afterCOORD@}%ŽŽ¡‘ãŒÃ852Ž‘ûKÃÏ\edef\nextii@{{\thematrixprefix@@\the\count@,\the\count@@}}%ŽŽ¡‘ãŒÃ853Ž‘ûKÃÏ\expandafter\next@\nextii@}ŽŽ¦‘ãŒÃ855Ž‘õŒÏ\xydef@\xymatrixCOORD@xx{%ŽŽ¡‘ãŒÃ856Ž‘ûKÃÏ\DN@##1{\xy@@{%ŽŽ¡‘ãŒÃ857Ž‘ËÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@##1\endcsnameŽŽ¡‘ãŒÃ858Ž‘ËÏ\ifx\next@\relax–¿ª\xyerror@RC{##1}\else“\next@\no@@“\fi}%ŽŽ¡‘ãŒÃ859Ž‘ mÏ\afterPLACE\xymatrixCOORD@after}%ŽŽ¡‘ãŒÃ860Ž‘ûKÃÏ\edef\nextii@{{\thematrixprefix@@\the\count@,\the\count@@}}%ŽŽ¡‘ãŒÃ861Ž‘ûKÃÏ\expandafter\next@\nextii@}ŽŽ¦‘ãŒÃ863Ž‘õŒÏ\xydef@\xymatrixCOORD@after{%ŽŽ¡‘ãŒÃ864Ž‘ûKÃÏ\ifx–¿ª]\next“\DN@]{\afterCOORD@}%ŽŽ¡‘ãŒÃ865Ž‘ûKÃÏ\else–¿ª\let\next@=\xymatrixCOORD@error“\fi“\next@}ŽŽ¦‘ãŒÃ867Ž‘õŒÏ\xydef@\xyerror@RC#1{\xyerror@{in–¿ªentry“\string"\the\Row,\the\Col\string":ŽŽ¡‘ãŒÃ868Ž‘#‰iÏNo–¿ª\codeof\thematrixCOORD@@\space(is“\string"#1\string")“from“here}{}}ŽŽŸ!CÈ‘ãŒÞ3.5.3Ž‘ ÌSpacing–€and“rotationŽŸ«ÿ‘㌹Anš²!y–åŸmatrix“can“ha˜v˜e“its“spacing“and“orien˜tation“c˜hanged“b˜y“adding“Çh¹setupÇi“¹`switc˜hes'“bMÞet˜w˜eenŽ¡‘ãŒÏ\xymatrixŽ‘ïy¹and–¦fthe“opMÞening“Ï{Ž‘ f¹.Ž¡‘ôŒThe–¦fdefault“spacing“bMÞet•²!w“een›¦fen“tries˜of˜matrix˜is˜c“hanged˜with˜the˜switc“hesŽ‘ãŒŸœ‰ffã²dŸ ³w’»¦Ï@RÇh¹add–¦fopÇi“h¹dimenÇiŽŽ¡’»¦Ï@CÇh¹add–¦fopÇi“h¹dimenÇiŽŽ¡’»¦Ï@–¦fÇh¹add“opÇi“h¹dimenÇiŽŽŸ©>‰ffã²dŸL‹¹that–Qàcš²!hange“ro˜w“spacing,›|¾column“spacing,˜and“b•MÞoth,˜resp“ectiv²!ely‘ÿe,˜as–Qàindicated“b²!y“the“Çh¹add“opÇi“¹andŽ¡Çh¹dimenÇi¹,‘4ïwhere–‘the“Çh¹dimenÇi“¹ma²!y“bšMÞe“omitted“and“can“b˜e“giv²!en“as“one“of“ÏRŽ› ð̹and“ÏCŽ˜¹to“indicate“the“curren²!tŽ¡v‘ÿdDalue–¦fof“the“parameter“in“question.–ÝÝÔNote:“¹there–¦fis“Ðno‘êêdefault‘ ê¹.ŽŽŽŒ‹cÓ Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ355ŽŽ ¶?? ýh«w‘ôŒIn–¦faddition,‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“can“bMÞe“instructed“to“use“a“` xed“grid'“for“the“matrix“with“the“switc²!hesŽ‘ãŒ© Ãù‰ffã²dŸ ™G’é9³Ï@!RŽŽ¤ ™š’é9³@!CŽŽ¡’é9³@!ŽŽŸ‰ffã²dŸ×,¹that–½ensure“that“the“ro²!w“spacing,›ÂÉcolumn“spacing,˜and“b•MÞoth,˜resp“ectiv²!ely‘ÿe,˜pretending–½that“Ðal‘Fl‘ÞÆ¹en²!triesŽ¡ha•²!v“e–"the“size“of“the“largest“enš²!try“(without“moMÞdifying“the“real“size“of“the“en˜tries,›8Qof“course,˜only“theŽ¡spacing–5”{“to“get“the“enš²!tries“to“Ðr–ÿp¹e“al‘Fly‘-•¹ha˜v˜e–5”the“same“size“use“a“Ï@*Ž‘´è¹.–Ó3.“.‘ÇÇh¹setupÇi–5”¹describšMÞed“in“Çx¹3.5.4“b˜elo²!w).Ž¡The–¦fspMÞecial“v‘ÿdDarian²!tsަ‰ffã²dŸ ™G’Ö]õÏ@!0ŽŽ¡’Ö]õ@!=Çh¹dimenÇiŽŽŸ‰ffã²dŸrè¹pretend–pthat“enš²!tries“ha˜v˜e“zero“or“Çh¹dimenÇi“¹heigh˜t“and“width“for“computing“ro˜w“and“column“spacing;Ž¡as›³abMÞo•²!v“e˜inserting˜ÏRŽ– ùor˜ÏCŽ“¹just˜after˜the˜Ï!Ž“¹mak•²!es˜this˜a ect˜only˜the˜ro“w˜Ðor‘¯n¹column˜spacing,–‰ Ðe¹.Ðg¹.,“Ï@!R0ŽŽ¡¹means–¦fthat“the“roš²!w“spacing“only“is“bMÞet˜w˜een“the“cen˜ters“of“the“ro˜ws.ŽŸ ­Å‘Finally‘ÿe,–¦fthe“spacing“of“things“that“are“t²!ypšMÞeset“can“b˜e“adjusted“separately:ަ‰ffã²dŸ ™G’»¦Ï@MÇh¹add–¦fopÇi“h¹dimenÇiŽŽ¡’»¦Ï@WÇh¹add–¦fopÇi“h¹dimenÇiŽŽ¡’»¦Ï@HÇh¹add–¦fopÇi“h¹dimenÇiŽŽ¡’»¦Ï@LÇh¹add–¦fopÇi“h¹dimenÇiŽŽŸ‰ffã²dŸrè¹will–Ì$adjust“the“enš²!try“margin,‘÷Ëen˜try“width,‘÷Ëen˜try“heigh˜t,‘÷Ëand“labMÞel“separation“used“(the“latter“is“actuallyŽ¡passed–¦fto“the“arro²!w“feature).ޤPˆÃ942Ž‘Ï\xylet@\xymatrix@addop@@=\relaxŽŽ¡Ã944Ž‘Ï\xydef@\xymatrix@at{\def\xymatrix@addop@@{\xymatrix@R\xymatrix@C}%ŽŽ¤ ™šÃ945Ž‘¿ªÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xymatrix@at}%gobble“spacesŽŽ¡Ã946Ž‘¿ªÏ\else\ifx–¿ª!\next“\DN@!{\xyFN@\xymatrix@fix}%ŽŽ¡Ã947Ž‘¿ªÏ\else\addPLUS@\ifx–¿ª\next“\let\next@=\xymatrix@addopŽŽ¡Ã948Ž‘¿ªÏ\else\addDASH@\ifx–¿ª\next“\let\next@=\xymatrix@addopŽŽ¡Ã949Ž‘¿ªÏ\else\addEQ@\ifx–¿ª\next“\let\next@=\xymatrix@addopŽŽ¡Ã950Ž‘¿ªÏ\else\ifx–¿ª1\next“\DN@1{\def\everyentry@{\vphantom(}%)ŽŽ¡Ã951Ž‘TÏ\let\objectmargin@=\p@‘¿ª\xyFN@\xymatrix@setup}%ŽŽ¡Ã952Ž‘¿ªÏ\else\ifx–¿ªR\next“\def\xymatrix@addop@@{\xymatrix@R}\DN@“R{\xymatrix@addop}%ŽŽ¡Ã953Ž‘¿ªÏ\else\ifx–¿ªC\next“\def\xymatrix@addop@@{\xymatrix@C}\DN@“C{\xymatrix@addop}%ŽŽ¡Ã954Ž‘¿ªÏ\else\ifx–¿ªM\next“\def\xymatrix@addop@@{\xymatrix@M}\DN@“M{\xymatrix@addop}%ŽŽ¡Ã955Ž‘¿ªÏ\else\ifx–¿ªL\next“\def\xymatrix@addop@@{\xymatrix@L}\DN@“L{\xymatrix@addop}%ŽŽ¡Ã956Ž‘¿ªÏ\else\ifx–¿ªH\next“\def\xymatrix@addop@@{\xymatrix@H}\DN@“H{\xymatrix@addop}%ŽŽ¡Ã957Ž‘¿ªÏ\else\ifx–¿ªW\next“\def\xymatrix@addop@@{\xymatrix@W}\DN@“W{\xymatrix@addop}%ŽŽ¡Ã958Ž‘¿ªÏ\else\ifx–¿ª*\next“\DN@*{\xyFN@\xymatrix@mods}%ŽŽ¡Ã959Ž‘¿ªÏ\else‘¿ª\DN@{\afterDIRECTIONorEMPTYŽŽ¡Ã960Ž‘(þ¨Ï{\xymatrix@rotation‘¿ª\xyFN@\xymatrix@setup}{%ŽŽ¡Ã961Ž‘.¾RÏ\xyerror@{–¿ªor““or“one“of“RCMLHW*!“expected}{}%ŽŽ¡Ã962Ž‘.¾RÏ\xyFN@\xymatrix@setup}}%ŽŽ¡Ã963Ž‘¿ªÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽŸPˆÃ965Ž‘Ï\xydef@\xymatrix@fix{%ŽŽ¡Ã966Ž‘¿ªÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xymatrix@fix}%gobble“spacesŽŽŽŽŒ‹dß} Á à ý*tj‘㌹356’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ967Ž‘ûKÃÏ\else\ifx–¿ªR\next“\let\mkHrow@=\Hrow@max“\DN@“R{\xyFN@\xymatrix@fix@}%ŽŽ¤ ™š‘ãŒÃ968Ž‘ûKÃÏ\else\ifx–¿ªC\next“\let\mkWcol@=\Wcol@max“\DN@“C{\xyFN@\xymatrix@fix@}%ŽŽ¡‘ãŒÃ969Ž‘ûKÃÏ\else–¿ª\let\mkHrow@=\Hrow@HWmax“\let\mkWcol@=\Wcol@HWmaxŽŽ¡‘ãŒÃ970Ž‘ mÏ\let\next@=\xymatrix@fix@ŽŽ¡‘ãŒÃ971Ž‘ûKÃÏ\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ973Ž‘õŒÏ\xydef@\xymatrix@fix@{%ŽŽ¡‘ãŒÃ974Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xymatrix@fix@}%gobble“spacesŽŽ¡‘ãŒÃ975Ž‘ûKÃÏ\else\ifx–¿ª0\next“\def\mkHWmax@{\HWmax@set\z@}\DN@“0{\xyFN@\xymatrix@setup}%ŽŽ¡‘ãŒÃ976Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\addEQ@\DN@{\afterassignment\xymatrix@fix@x\dimen@ii=}%ŽŽ¡‘ãŒÃ977Ž‘ûKÃÏ\else–¿ª\let\mkHWmax@=\HWmax@max“\let\next@=\xymatrix@setup“\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ979Ž‘õŒÏ\xydef@\xymatrix@fix@x{%ŽŽ¡‘ãŒÃ980Ž‘ûKÃÏ\edef\mkHWmax@{\noexpand\HWmax@set{\the\dimen@ii}}\xyFN@\xymatrix@setup}ŽŽ¦‘ãŒÃ982Ž‘õŒÏ\xydef@\xymatrix@addop{\afterADDOP{\xyFN@\xymatrix@addop@}}ŽŽ¡‘ãŒÃ983Ž‘õŒÏ\xydef@\xymatrix@addop@{%ŽŽ¡‘ãŒÃ984Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xymatrix@addop@}%gobble“spacesŽŽ¡‘ãŒÃ985Ž‘ûKÃÏ\else\ifx–¿ªR\next“\DN@“R{\xy@{R}{}\dimen@ii=\xymatrixrowsep@\xymatrix@addop@x}%ŽŽ¡‘ãŒÃ986Ž‘ûKÃÏ\else\ifx–¿ªC\next“\DN@“C{\xy@{C}{}\dimen@ii=\xymatrixcolsep@\xymatrix@addop@x}%ŽŽ¡‘ãŒÃ987Ž‘ûKÃÏ\else–¿ª\DN@{\afterassignment\xymatrix@addop@x\dimen@ii=}\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ989Ž‘õŒÏ\xydef@\xymatrix@addop@x{\expandafter\xy@\expandafter{\the\dimen@ii}{}%ŽŽ¡‘ãŒÃ990Ž‘ûKÃÏ\xymatrix@addop@@‘¿ª\xyFN@\xymatrix@setup}ŽŽ¦‘ãŒÃ992Ž‘õŒÏ\xydef@\xymatrix@R{\Addop@@\xymatrixrowsep@\dimen@ii}ŽŽ¡‘ãŒÃ993Ž‘õŒÏ\xydef@\xymatrix@C{\Addop@@\xymatrixcolsep@\dimen@ii}ŽŽ¦‘ãŒÃ995Ž‘õŒÏ\xydef@\xymatrix@M{\Addop@@\objectmargin@\dimen@ii}ŽŽ¡‘ãŒÃ996Ž‘õŒÏ\xydef@\xymatrix@L{\Addop@@\labelmargin@\dimen@ii}ŽŽ¦‘ãŒÃ998Ž‘õŒÏ\xydef@\xymatrix@H{\Addop@@\objectheight@\dimen@ii}ŽŽ¡‘ãŒÃ999Ž‘õŒÏ\xydef@\xymatrix@W{\Addop@@\objectwidth@\dimen@ii}ŽŽŸÍp‘ôŒ¹The–¦fspacing“can“also“bMÞe“cš²!hanged“for“en“en˜tire“T‘þ,³Ÿ[wEŽ‘B X“group“b˜y“the“declarationsŽ‘ãŒŸ8–‰ffã²dŸ’•ÊøÏ\xymatrixrowsepŽ’ï¬TÇh¹add–¦fopÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽ¡’•Êø\xymatrixcolsepŽ’ï¬TÇh¹add–¦fopÇi“Ï{Ž‘ fÇh¹dimenÇiÏ}ŽŽŽŸ÷ˉffã²dŸc¹The–¦fdefault“spacing“for“bMÞoth“is“Ï2pcŽ‘åd¹.ަÃ1014Ž‘Ï\xydef@\xymatrixrowsep@{2pc}ŽŽ¡Ã1015Ž‘Ï\xydef@\xymatrixcolsep@{2pc}ŽŽ¦Ã1017Ž‘Ï\xydef@\xymatrixrowsep{\afterADDOP{\Addop@@\xymatrixrowsep@}}ŽŽ¡Ã1018Ž‘Ï\xydef@\xymatrixcolsep{\afterADDOP{\Addop@@\xymatrixcolsep@}}ŽŽŸÍp‘ÔT‘þó\o‘2Do:‘Ýݹoptimize–¦fproMÞcessing“of“matrices“with“constan²!t“grid.Ž©‚‘An–¦fenš²!tire“matrix“can“bMÞe“rotated“b˜y“adding“a“rotation“Çh¹setupÇi“¹of“the“formŽŸ™ë‰ffã²dŸ’Õ¶‡Ï@Ž’Ûv1Çh¹directionÇiŽŽŸ÷ˉffã²dŸ­¹This–„$will“set“the“orienš²!tation“of“the“ro˜ws“to“Çh¹directionÇi“¹(the“default“correspMÞonds“to“ÏrŽ‘ Cι,–»“Ði¹.Ðe¹.,“ro˜ws‘„$areŽ¡orienš²!ted–¦fleft“to“righ˜t).ަ‘The–ÉãcošMÞde“is“the“ rst“pro˜cedure“of“the“main“matrix“co˜de“ab˜o•²!v“e–Éã(Ãl.306Ž‘8Õ¹);‘dfactors“are“used“b²!y“Ï\pre@emitŽ‘6†Ý¹.ŽŽŽŒ‹eì Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ357ŽŽ ¶?? ýh«w‘ãŒÞ3.5.4Ž‘ ÌEn triesŽŸ«ÿ‘㌹The–¦fappšMÞearance“of“a“single“en²!try“can“b˜e“mo˜di ed“bš²!y“en˜tering“it“asŽ‘ãŒŸ ª‰ffã²d© pú’¹DÏ*–¦fÇh¹ob‘›»jectÇi“h¹pMÞosÇi“h¹decorÇiŽŽŸfÁ‰ffã²dŸ!ݹThis–p‰makš²!es“the“particular“en˜try“ignore“the“en˜try“moMÞdi ers“and“t˜ypMÞeset“as“a“k˜ernel“ob‘›»ject“with“theޤ ™šsame–¦freference“pMÞoinš²!t“as“the“(cen˜ter“of‘Ú)“the“default“ob‘›»ject“w˜ould“ha˜v˜e“had.Ž¡‘Additional–¦fob‘›»ject“Çh¹mošMÞdi erÇi¹s“ma²!y“b˜e“added“to“an“otherwise“ordinary“enš²!try“b˜y“using“the“formsŽŸ ªe‰ffã²d¦’¹&ÝÏ**[Ž‘¿ªÇh¹shapMÞeÇiÏ]Ž‘ fÇh¹en²!tryÇiŽŽ¡’¹&ÝÏ**{Ž’ÊeÛÇh¹moMÞdi erÇi¹*Ï}Ž‘ fÇh¹en²!tryÇiŽŽŸfÁ‰ffã²dŸ½™¹The–Òj rst“sets“the“default“Çh¹shapMÞeÇi“¹for“ob‘›»jects“(Ðcf¹.“note“1.4j),‘]jthe“second“a“default“size“(c²!hange,Ž¡Ðcf¹.–Îûnote“1.4g),‘and“the“last“makš²!es“it“pMÞossible“to“add“an˜y“Çh¹ob‘›»jectÇi“¹moMÞdi er“of“Çx¹1.4,–Ðe¹.Ðg¹.,“for‘Îûrecen-Ž¡tering–Øenš²!tries“after“the“default“en˜try“form“whic˜h“is“equiv‘ÿdDalen˜t“to“`Ï!CŽ‘ƒ,+<Ž‘€¹2–­8Ç“Ðobje‘ÿp¹ctŽŽ‘Ûåmar‘ÿp¹ginŽŽ‘@ÛçÏ>Ž‘F›‘¹'–Ø(with“theŽ¡e ect–¦fof“cen²!tering“the“ob‘›»ject“and“add“the“Ðobje–ÿp¹ct‘ êmar“gin‘× ¹)–¦fto“all“sides.ŽŸÙ#ÔExercise‘23.9:‘ ó5¹Tš²!ypMÞeset–¦fthe“follo˜wing“diagram:ŽŸ@’˜Xïps: SDict begin xyc end‘Ÿ±%ÄA–nìÇ“ÄBŽŽŽŽŽŽŽ‘$shŸýh0ï" {0.0 0.0 l}xyŽŽŽ‘*.XŸøh0Å=‡AŽŽŽŽŽŽŽŽŽ‘:5¾Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘:5¾Ÿýh0ï" {21.75912 0.0 l}xyŽŽŽ‘:5¾Ÿýh0ï" {0.0 0.0 l}xyŽŽŽŸýh0‘@ÚŸ2ï" {0.0 0.0 l}xyŽŽŽ‘2˜Ÿh0=BŽŽŽŽŽŽŽŽŽ‘@ÚŸý†ï" {1024 10 /xy AB}xyŽŽŽŽŸýh0‘@ÚŸ•Vï" {0.0 -22.38585 l}xyŽŽŽŸýh0‘@ÚŸ•Vï" {0.0 0.0 l}xyŽŽŽ‘<ÓhŸ%òÄBŽŽŽŽŽŽŸýh0‘A@ÚŸ½Âï" {0.0 0.0 l}xyŽŽŽ‘D@ÚŸ¹@ÈÅAŽŽŽŽŽŽŽŽŽ‘A@ÚŸ’Üï" {1024 10 /xy AB}xyŽŽŽŽŸýh0‘A@ÚŸ*¬ï" {0.0 -22.42545 l}xyŽŽŽŸýh0‘A@ÚŸ*¬ï" {0.0 0.0 l}xyŽŽŽ‘%§Ÿ%%òÄAŽŽŽŽŽŽ‘$\Ÿ!h0ï" {0.0 0.0 l}xyŽŽŽ‘(‹Ÿ)ß§ÅBdúÈŽŽŽŽŽŽŽŽŽ‘:k†Ÿ!h0ï" {3072 10 /xy AB}xyŽŽŽŽ‘:k†Ÿ!h0ï" {22.06042 0.0 l}xyŽŽŽ‘:k†Ÿ!h0ï" {0.0 0.0 l}xyŽŽŽ‘=LŸ$±%ÄB‘ûÇ‘nìÄAŽŽŽŽŽŽŽŽŽŽŽŸ9<2¡‘¹It–¦fis“also“pšMÞossible“to“use“these“Ï@Ž‘ fÇh¹setupÇi¹s“(as“usual“b˜et•²!w“een‘¦fÏ\xymatrixŽ‘; ƹand–¦fthe“leading“Ï{Ž‘ f¹):ŽŸ ªe‰ffã²d¦’ÆöÏ@*[Ž‘¿ªÇh¹shapMÞeÇiÏ]ŽŽŽ¡’Æö@*Ž’ÖºÇh¹add–¦fopÇi“h¹sizeÇiŽŽŸfÁ‰ffã²dŸ!ݹwhicš²!h–fäare“equiv‘ÿdDalen˜t“to“c˜hanging“all“en˜tries“to“bMÞeha˜v˜e“as“if“they“had“started“with“the“similar“Ï**Ž‘æ8¹-form.Ž¡ÔT‘þó\o‘2Do:‘ÝݹAlloš²!w‘¦fÏ**Ž‘%ºÇh¹add–¦fopÇih¹sizeÇi“h¹en˜tryÇi“¹for“en˜tries.Ž¡‘If–¼ the“default“set“of“en²!try“mošMÞdi ers“should“b˜e“cš²!hanged“then“the“follo˜wing“declaration“m˜ust“bMÞe“issuedŽ¡bMÞefore––the“Ï\xymatrixŽ‘;à&¹command;‘G.this“is“the“only“w•²!a“y––to“actually“switcš²!h“the“initial“default“cen˜teringŽ¡and–¦fspacing“o :ŽŸ ª‰ffã²d¦’ŸÔ•Ï\entrymodifiers={Ž‘%ºÇh¹moMÞdi erÇi¹*Ž‘ Ï}ŽŽŽŸfÁ‰ffã²dŸ ‡3ŸÙ#ÔExercise‘23.10:‘ ó5¹Hoš²!w–¦fdid“the“author“t˜ypMÞeset“the“follo˜wing“matrix?ŽŸ38Œ’Îàºïps: SDict begin xyc endŸý4ý‘ï" {6.0 6.0 6.0 6.0 ox}xyŽŽŽŽ‘äÍŸ%òÄAŽŽŽŽŸýh0‘ºZŸçE¦ï" {20.48529 20.48529 l}xyŽŽŽ‘9ððŸýh0ï" {45.94116 0.0 l}xyŽŽŽ‘ºZŸ"Šï" {20.48529 -20.48529 l}xyŽŽŽŸà<…‘"øxï" {6.0 6.0 6.0 6.0 ox}xyŽŽŽŽ‘‹Ÿä-zBŽŽŽŽŸ-u‘"øxï" {6.0 6.0 6.0 6.0 ox}xyŽŽŽŽ‘ªwŸjCŽŽŽŽŸý4ý‘?ððï" {6.0 6.0 6.0 6.0 ox}xyŽŽŽŽ‘;A™Ÿ%òDŽŽŽŽŽŽŽŽŸ+çÛ¡‘ÔBug:‘á.¹The–(four“constructions“Ï@*[Ž‘g ¹.–Ó3.“.“Ï]Ž›’ݹ,‘HxÏ**[Ž‘‡v¹.“.“.“Ï]Ž˜¹,‘HxÏ@*Ž‘ïÛÇh¹add–(opÇi“h¹sizeÇi¹,–Hxand,“Ï**{Ž‘‡v¹.–Ó3.“.“Ï}Ž˜¹,‘HxÐac‘ÿp¹cumulate‘b3inŽ¡r–ÿp¹everse‘)>or“der‘-»¹.‘©Only–ê&enš²!tries“starting“with“a“single“Ï*Ž‘ “ö¹completely“o˜v˜erride“the“moMÞdi ers“Çh¹setupÇi“¹with“aŽ¡Ï@*Ž‘ T¹-construction.ŽŽŽŒ‹fùt Á à ý*tj‘㌹358’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1143Ž‘õŒÏ\xydef@\xymatrix@mods{%ŽŽ¤ ™š‘ãŒÃ1144Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\xymatrix@mods}%gobble“spacesŽŽ¡‘ãŒÃ1145Ž‘ûKÃÏ\else\ifx‘¿ª[\nextŽŽ¡‘ãŒÃ1146Ž‘ mÏ\DN@‘¿ª[##1]{\xy@{[##1]}{}\DN@####1{\def\entrymodifiers@{[##1]####1}}%ŽŽ¡‘ãŒÃ1147Ž‘ ŠÁÏ\expandafter\next@\expandafter{\entrymodifiers@}\xyFN@\xymatrix@setup}%]ŽŽ¡‘ãŒÃ1148Ž‘ûKÃÏ\else\addPLUS@\ifx–¿ª\next“\DN@##1{\DNii@{##1}\xyFN@\xymatrix@change}%ŽŽ¡‘ãŒÃ1149Ž‘ûKÃÏ\else\addDASH@\ifx–¿ª\next“\DN@##1{\DNii@{##1}\xyFN@\xymatrix@change}%ŽŽ¡‘ãŒÃ1150Ž‘ûKÃÏ\else\addEQ@\ifx–¿ª\next“\DN@##1{\DNii@{##1}\xymatrix@set}%ŽŽ¡‘ãŒÃ1151Ž‘ûKÃÏ\else–¿ª\let\next@=\xymatrix@mods@error“\fi\fi\fi\fi\fi“\next@}ŽŽ©Pˆ‘ãŒÃ1153Ž‘õŒÏ\xydef@\xymatrix@set{%ŽŽ¡‘ãŒÃ1154Ž‘ûKÃÏ\begingroup‘¿ª\plainxy@ŽŽ¡‘ãŒÃ1155Ž‘ûKÃÏ\afterVECTORorEMPTY\xymatrix@mods@x\xymatrix@mods@error}ŽŽ¦‘ãŒÃ1157Ž‘õŒÏ\xydef@\xymatrix@change{%ŽŽ¡‘ãŒÃ1158Ž‘ûKÃÏ\addEQ@\ifx\next‘¿ª\DN@##1{\expandafter\DNii@\expandafter{\nextii@##1}%ŽŽ¡‘ãŒÃ1159Ž‘ËÏ\expandafter\xy@\expandafter{\nextii@}{}\begingroup‘¿ª\plainxy@ŽŽ¡‘ãŒÃ1160Ž‘ËÏ\afterVECTORorEMPTY\xymatrix@mods@x\xymatrix@mods@xx}%ŽŽ¡‘ãŒÃ1161Ž‘ûKÃÏ\else–¿ª\DN@{\expandafter\xy@\expandafter{\nextii@}{}\begingroup“\plainxy@ŽŽ¡‘ãŒÃ1162Ž‘ËÏ\afterVECTORorEMPTY\xymatrix@mods@x\xymatrix@mods@xx}\fiŽŽ¡‘ãŒÃ1163Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ1165Ž‘õŒÏ\xydef@\xymatrix@mods@x{\expandafter\xy@\expandafter{\nextii@}{}%ŽŽ¡‘ãŒÃ1166Ž‘ûKÃÏ\def\next@##1##2##3{\def\nextii@####1{##1##2####1##3}}%ŽŽ¡‘ãŒÃ1167Ž‘ûKÃÏ\addGT@{\addLT@{\expandafter\next@\expandafter{\nextii@}}}%ŽŽ¡‘ãŒÃ1168Ž‘ûKÃÏ\DN@##1{\gdef\tmp@@@{{##1}}}%ŽŽ¡‘ãŒÃ1169Ž‘ûKÃÏ\edef\nextiii@{{\the\X@c,\the\Y@c}}%ŽŽ¡‘ãŒÃ1170Ž‘ûKÃÏ\expandafter\expandafter\expandafter\next@ŽŽ¡‘ãŒÃ1171Ž‘ mÏ\expandafter\expandafter\expandafter{\expandafter\nextii@\nextiii@}%ŽŽ¡‘ãŒÃ1172Ž‘ûKÃÏ\endgroupŽŽ¡‘ãŒÃ1173Ž‘ûKÃÏ\DN@##1{\xy@{##1}{}\DN@####1{\def\entrymodifiers@{##1####1}}%ŽŽ¡‘ãŒÃ1174Ž‘ËÏ\expandafter\next@\expandafter{\entrymodifiers@}\xyFN@\xymatrix@setup}%ŽŽ¡‘ãŒÃ1175Ž‘ûKÃÏ\expandafter\next@\tmp@@@}ŽŽ¦‘ãŒÃ1177Ž‘õŒÏ\xydef@\xymatrix@mods@xx{\expandafter\xy@\expandafter{\nextii@}{}%ŽŽ¡‘ãŒÃ1178Ž‘ûKÃÏ\expandafter\gdef\expandafter\tmp@@@\expandafter{\expandafter{\nextii@}}%ŽŽ¡‘ãŒÃ1179Ž‘ûKÃÏ\endgroupŽŽ¡‘ãŒÃ1180Ž‘ûKÃÏ\DN@##1{\xy@{##1}{}\DN@####1{\def\entrymodifiers@{##1####1}}%ŽŽ¡‘ãŒÃ1181Ž‘ËÏ\expandafter\next@\expandafter{\entrymodifiers@}\xyFN@\xymatrix@setup}%ŽŽ¡‘ãŒÃ1182Ž‘ûKÃÏ\expandafter\next@\tmp@@@}ŽŽ¦‘ãŒÃ1184Ž‘õŒÏ\xydef@\xymatrix@mods@error{\endgroupŽŽ¡‘ãŒÃ1185Ž‘ûKÃÏ\xyerror@{Impossible–¿ª@*.}{}\xyFN@\xymatrix@setup}ŽŽ¦‘ãŒÃ1187Ž‘õŒÏ\xywarnifdefined\entrymodifiersŽŽ¡‘ãŒÃ1188Ž‘õŒÏ\expandafter\def\addEQ@\entrymodifiers#1{\def\entrymodifiers@{#1}\ignorespaces}ŽŽ¦‘ãŒÃ1190Ž‘õŒÏ\xydef@\entrymodifiers@{\entrybox}ŽŽ¦‘ãŒÃ1192Ž‘õŒÏ\xydef@\entrybox#1{\hbox{\setbox\z@=\objectbox{#1}%ŽŽ¡‘ãŒÃ1193Ž‘ mÏ\L@p=\wdz@–¿ª\D@p=\ht\z@“\advance\D@p\dp\z@ŽŽ¡‘ãŒÃ1194Ž‘ mÏ\dimen@=\objectwidth@‘¿ª\advance\dimen@-\L@pŽŽ¡‘ãŒÃ1195Ž‘ mÏ\ifdim\dimen@>\z@–¿ª\advance\L@p\dimen@“\R@p=.5\dimen@“\else“\R@p=\z@“\fiŽŽ¡‘ãŒÃ1196Ž‘ mÏ\dimen@=\objectheight@‘¿ª\advance\dimen@-\D@pŽŽ¡‘ãŒÃ1197Ž‘ mÏ\ifdim\dimen@>\z@–¿ª\advance\D@p\dimen@“\fiŽŽŽŽŒ‹gð Á à ý*tj‘ãŒÑ3.5.‘„CMA–ÿeTRIX‘¦fFEA“TURE’SŹ359ŽŽ ¶?? ýh«w‘ãŒÃ1198Ž‘ mÏ\dimen@=\objectmargin@–¿ª\advance\L@p2\dimen@“\advance\D@p2\dimen@ŽŽ¤ ™š‘ãŒÃ1199Ž‘ mÏ\U@p=-.5\ht\z@–¿ª\advance\U@p.5\dp\z@“\advance\R@p\objectmargin@ŽŽ¡‘ãŒÃ1200Ž‘ mÏ\setboxz@h{\kern\R@p‘¿ª\raise\U@p\boxz@}%ŽŽ¡‘ãŒÃ1201Ž‘ mÏ\wdz@=\L@p–¿ª\ht\z@=.5\D@p“\dp\z@=.5\D@p“\boxz@}}ŽŽŸpá‘ôŒ¹Finally‘ÿe,–¦fthe“follo²!wing“is“spMÞecially“suited“for“`one-line'“matrices“included“in“text:Ž‘ãŒ©肉ffã²dŸ ¥u’ìˆÏ@1ŽŽŸ›<‰ffã²dŸ—q¹will–¦finsert“a“`math“strut'“(Ï\vphantom(Ž‘9|¤¹)“inš²!to“eac˜h“en˜try“to“mak˜e“its“cen˜tering“appropriate“for“text.ŽŸ¹ó‘This–Åis“just“an“abbreviation“using“the“folloš²!wing“declaration“whic˜h“will“setup“Çh¹decorÇi“¹that“shouldŽ¡bšMÞe–¦finserted“b˜efore“evš²!erything“else“in“eac˜h“en˜try‘ÿe.‘ÝÝInitially“it“is“empt˜y“butަ‰ffã²dŸ ¥u’´è·Ï\everyentry={Ž‘%ºÇh¹decorÇi‘¦fÏ}ŽŽŽŸ›<‰ffã²dŸ—q¹will–M‡insert“Çh¹decorÇi“¹ rst“in“eacš²!h“en˜try;‘k'inside“the“coun˜ter“registers“Ï\Row“¹and“Ï\Col“¹are“set“to“the“curren˜tŽ¡en•²!try's›¦fro“w˜and˜column,˜respMÞectiv“ely–ÿe.‘ÝÝF“or˜example,Ž©PˆÏ\everyentry={{\the\Row,\the\Col}}ŽŽ¡\xymatrix–¿ª@*[F]@*[o]“{ŽŽ¡–¿ª{}“\POS[];[r]**\dir{..}“&“\\ŽŽ¡–¿ª{}“\POS[];[ur]**\dir{--}ŽŽ¡}ŽŽŸpá¹will‘¦ft²!ypMÞesetŽŸú¥’зÇïps: SDict begin xyc endŸý4ý‘ èˆï(" {7.5929 7.5929 10.90833 10.90833 ox}xyŽŽŽŽ‘žÞè1Ä;‘Ó1¹1ŽŽŽŽŽŽŽŽ‘-»Ÿýh0ï" {23.97119 0.0 dt}xyŽŽŽŸý4ý‘7ZNï(" {7.5929 7.5929 10.90833 10.90833 ox}xyŽŽŽŽ‘/qÆžÞè1Ä;‘Ó1¹2ŽŽŽŽŽŽŽŸ#˜‹‘ èˆï(" {7.5929 7.5929 10.90833 10.90833 ox}xyŽŽŽŽ‘Ÿ&Bv2Ä;‘Ó1¹1ŽŽŽŽŽŽŽŽ‘0ó#Ÿ ï" {31.63843 27.18234 dd}xyŽŽŽŽŽŽŽŸC&VÃ1243Ž‘Ï\xywarnifdefined\everyentryŽŽ¡Ã1244Ž‘Ï\expandafter\def\addEQ@\everyentry#1{\def\everyentry@{#1}\ignorespaces}ŽŽ¦Ã1246Ž‘Ï\xylet@\everyentry@=\emptyŽŽŸpáÔNote:‘ÐѹWhen–Ÿàusing“compilation,‘Þ>c²!hanges“to“Ï\everyentryŽ‘H|¹and“Ï\entrymodifiersŽ‘_z¶¹will“Ðnot‘©Ê¹result“inŽ¡recompilation–Ýevš²!en“when“the“constructed“matrix“c˜hanges“{“y˜ou“ma˜y“ha˜v˜e“to“remo˜v˜e“the“Ï.xycŽ‘ ¸®¹ leŽ¡man²!ually‘ÿe.ŽŸ#[çÔExercise‘23.11:‘ ó5¹Hoš²!w–¦fdid“the“author“t˜ypMÞeset“the“follo˜wing“diagram?ŽŸ#x’½D%ïps: SDict begin xyc endŸýh0‘9*ï " {0.0 21.0 -9.0 -21.0 9.0 ov}xyŽŽŽ‘7¤ÄžÃ§:ŽŽŽŽŽŽŽŸôÆIÐr–ÿp¹o“otŽŽŽŽ‘T5Ÿó¼mï" {0.0 -0.04689 l}xyŽŽŽ‘$*Ÿø-pï" {2816 10 /xy AB}xyŽŽŽŽ‘$*Ÿø-pï" {17.83553 -4.48834 l}xyŽŽŽ‘$*Ÿø-pï" {0.0 -0.04688 l}xyŽŽŽŸh0‘9*ï " {0.0 21.0 -9.0 -21.0 9.0 ov}xyŽŽŽ‘6mMŸ×ÇŽŽŽŽŽŽŽ‘_*Ÿgðï" {10.0 0 90 o}xyŽŽŽŽ‘9*Ÿgðï" {0.0 0.00098 l}xyŽŽŽ‘_*Ÿgðï" {38.0 0.00098 l}xyŽŽŽ‘_)šŸ)h0ï" {10.0 -90 0 o}xyŽŽŽŽŸýh0‘i)šŸ,ï" {-0.00195 -16.00098 l}xyŽŽŽ‘N*Ÿ3h0ï" {-1024 10 /xy AB}xyŽŽŽŽ‘N*Ÿ3h0ï" {-16.99805 0.0 l}xyŽŽŽ‘N*Ÿ3h0ï" {0.0 0.0 l}xyŽŽŽŸ!h0‘9*ï " {0.0 21.0 -9.0 -21.0 9.0 ov}xyŽŽŽ‘6mMŸ#×ŽŽŽŽŽŽŽ‘S*Ÿ+h°ï" {10.0 0 90 o}xyŽŽŽŽ‘9*Ÿ!h°ï" {0.0 -0.00195 l}xyŽŽŽ‘S*Ÿ!h°ï" {26.0 -0.00195 l}xyŽŽŽ‘S*ZŸAh0ï" {10.0 -90 0 o}xyŽŽŽŽŸýh0‘]*ZŸDï" {0.00098 -21.99805 l}xyŽŽŽ‘*ŸAg°ï" {10.0 -180 -90 o}xyŽŽŽŽ‘*ŸKg°ï" {-52.00098 0.00195 l}xyŽŽŽ‘)ÚŸh0ï" {10.0 90 180 o}xyŽŽŽŽŸýh0‘)ÚŸ ï" {-0.00098 57.99805 l}xyŽŽŽ‘$*Ÿýh0ï" {3072 10 /xy AB}xyŽŽŽŽ‘$*Ÿýh0ï" {5.00098 0.0 l}xyŽŽŽ‘$*Ÿýh0ï" {0.0 0.0 l}xyŽŽŽŸ3h0‘9*ï " {0.0 21.0 -9.0 -21.0 9.0 ov}xyŽŽŽ‘6mMŸ6ïp¹1ŽŽŽŽŽŽŽŽŽŽŸbcåÐHints‘æ¹:‘ˆ[The–ûaarroš²!w“feature“w˜as“used“to“mak˜e“the“bMÞending“arro˜ws“and“the“frame“extension“for“the“framesŽ¡around–¦feac²!h“cell.ŽŽŽŒ‹h‡ Á à ý*tj‘㌹360’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÞEnd–€&“logŽŸše‘ãŒÃ1291Ž‘õŒÏ\xyendinputŽŽŸPˆ‘ãŒÃ1293Ž‘õŒÏ%–¿ª$Log:“xymatrix.doc,v“$ŽŽ¤ ™š‘ãŒÃ1294Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:14:25˜krisroseŽŽ¡‘ãŒÃ1295Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ1296Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1297Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ1298Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ1299Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1300Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:31:32“krisŽŽ¡‘ãŒÃ1301Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ1302Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1303Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ1304Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1305Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1306Ž‘õŒÏ%–¿ªRevision“2.14– T1995/07/06“02:56:02“krisŽŽ¡‘ãŒÃ1307Ž‘õŒÏ%‘¿ªBuglets...ŽŽ¡‘ãŒÃ1308Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1309Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ1310Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ1311Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1312Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ1313Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ1314Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1315Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“10:37:32“krisŽŽ¡‘ãŒÃ1316Ž‘õŒÏ%–¿ªThird“3beta“release“[bug“fixes].ŽŽ¡‘ãŒÃ1317Ž‘õŒÏ%–¿ªExperimental“graph“feature“included“(for“ECCT-94“presentation).ŽŽ¡‘ãŒÃ1318Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1319Ž‘õŒÏ%–¿ªRevision“2.9– T1994/06/09“15:02:49“krisŽŽ¡‘ãŒÃ1320Ž‘õŒÏ%–¿ªRelease“3beta.ŽŽ¡‘ãŒÃ1321Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1322Ž‘õŒÏ%–¿ªRevision“2.8– T1994/04/08“04:30:00“krisŽŽ¡‘ãŒÃ1323Ž‘õŒÏ%–¿ªSecond“(bug“fix)“3alpha“release.ŽŽ¡‘ãŒÃ1324Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1325Ž‘õŒÏ%–¿ªRevision“2.7– T1994/03/08“02:06:01“krisŽŽ¡‘ãŒÃ1326Ž‘õŒÏ%–¿ªRelease“3alpha.ŽŽ¡‘ãŒÃ1327Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1328Ž‘õŒÏ%–¿ªRevision“2.6.9.1– T1994/03/07“04:22:46“krisŽŽ¡‘ãŒÃ1329Ž‘õŒÏ%–¿ªLast“internal“3alpha“and“pre-2.7“release.ŽŽ¡‘ãŒÃ1330Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1331Ž‘õŒÏ%–¿ªNEW“for“version“2.7“extracted“from“diagram“code“in“xypic.doc“2.6.1.1.ŽŽŸgj‘ãŒÝ3.6Ž‘r|Graph‘fffeatureŽŸãבãŒæV‘ÿ «ers.‘p3.7–ÕTb®9y“Kristo er“H.“Rose“¸h²krisrose@brics.dk¸iŽŽŸK‘㌹This–/Hoption“implemen²!ts“`‘þçªX‘ü·ŸâÃYŽŽ‘ g -graph',‘Ga“spMÞecial“Ðc–ÿp¹ombinatoric›}Tdr“awing˜language‘é¹suitable–/Hfor“diagrams“lik²!eŽ¡‘㌠o•²!w›=¦c“harts,–cvdirected˜graphs,“and˜v‘ÿdDarious˜forms˜of˜trees.‘£The˜base˜of˜the˜language˜is˜reminiscen²!t˜ofŽ¡‘ãŒthe–ÿMPIC“[5Ž‘yš]“language“bšMÞecause“it“uses“a“notion“of“the“`curren²!t“lo˜cation'“and“is“based“on“`mo•²!v“es'.‘è“ButŽŽŽŒ‹i$ø Á à ý*tj‘ãŒÑ3.6.‘„CGRAPH‘¦fFEA‘ÿeTURE’X¹361ŽŽ ¶?? ýh«w‘ãŒthe–¦fcenš²!tral“construction“is“a“`map'“com˜binator“that“is“bMÞorro˜w˜ed“from“functional“programming.ŽŸ °‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xygraph.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¤ ™š‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Graph“Combinator“feature''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1994-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{graph}{Graph–¿ªfeature}{\stripRCS$Revision:“3.7“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Kristoffer‘¿ªH.~Rose}{krisrose@brics.dk}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{BRICS/Computer–¿ªScience,“University“of“Aarhus,“Ny“Munkegade,“building“540,ŽŽ¡‘ãŒÃ29Ž‘ mÏDK--8000‘¿ªAarhus~C}ŽŽŸ­×‘ósùX‘ü·ŸâÃYŽŽ‘þó#-graph–¦fmakš²!es“use“of“facilities“of“the“`arro˜w'“feature“option“of“Çx¹3.3,“whic˜h“is“therefore“required.ަ‘ãŒÃ50Ž‘õŒÏ\xyrequire{arrow}\xycatcodesŽŽŸÝS‘ôŒ¹Figure–ß²3.5“summarises“the“synš²!tax“of“a“Çh¹graphÇi“¹with“notes“bMÞelo˜w.‘‰ÁA‘ߣÇh¹graphÇi“¹can“appMÞear“either“inŽ¡‘ãŒan‘4ðX‘ü·ŸâÃYŽŽ‘´P-picture–MF(as“Çh¹decorÇi¹)“or“\stand-alone".Ÿü¾Â3ŽŽ‘ ’€ÔNote:‘+¹If“y²!ou“use“Ï\xygraph{Ž‘¿ª¹.–Ó3.“.“Ï}Ž‘ à#¹inside‘MFconstructionsŽ¡‘ãŒwhere‘1îÏ&Ž‘ #†¹is–1îsigni canš²!t“(lik˜e“plain“T‘þ,³Ÿ[wEŽ›B X's“Ï\halign“¹or“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ˜X's“Ïarray“¹en•²!vironmen“t)–1îthen“mak²!e“sure“to“addŽ¡‘ãŒan–¦fextra“lev²!el“of“braces“around“it.ŽŸ °‘ãŒÔP¦tarsing:‘ ó5¹The–¨qparser“došMÞes“almost“ev²!erything“that“this“feature“do˜es“b˜ecause“it“is“all“implemen²!tedŽ¡‘ãŒdirectly–¦fon“top“of“other“constructions,“notably“the“kš²!ernel“stac˜k“and“the“Çh¹arro˜wÇi“¹construction.ŽŸ&e‘ôŒThe–Âgraph“state“alw•²!a“ys–Âhas“the“currenš²!t“v‘ÿdDalue“of“Ï?Ž‘ß.¹bMÞoth“as“the“stac˜ktop“and“in“the“spMÞecial“Çh¹idÇiŽ¡‘ãŒÏ"?NODE"Ž‘ É¿¹.ަ‘ãŒÃ162Ž‘õŒÏ\xydef@\xygraph#1{\relax\graph#1\endgraph}ŽŽ¦‘ãŒÃ164Ž‘õŒÏ\xydef@\graph{\if\inxy@‘¿ª\DN@{\xy@@{\nter@{}}}%ŽŽ‘㌟ €‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã3ŽŽŽ‘¦aÖIn–Tfact“LŸýó5‘ü«‡ÃAŽŽ‘© ÖT‘þuAŸïÿEŽ‘˜ŸX“users“can“use“a“àgraphŽ‘Ê–Öen•¾9vironmen“t.ŽŽŽŒ‹j/@ Á à ý*tj‘㌹362’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ165Ž‘ûKÃÏ\else–¿ª\DN@{\xy“\xy@\xy{\nter@\endxy}}\fi“\next@ŽŽ¤ ™š‘ãŒÃ166Ž‘ûKÃÏ\xy@\xygraph{\senter@‘¿ª\idfromc@{?NODE}\spushc@ŽŽ¡‘ãŒÃ167Ž‘ mÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@graphbase\endcsnameŽŽ¡‘ãŒÃ168Ž‘ mÏ\ifx\next@\relax‘¿ª\setbase@\z@\z@{3pc}\z@ŽŽ¡‘ãŒÃ169Ž‘ mÏ\else–¿ª\expandafter\next@“\fi}%ŽŽ¡‘ãŒÃ170Ž‘ûKÃÏ\GRAPH[]}ŽŽ¤Pˆ‘ãŒÃ172Ž‘õŒÏ\xydef@\endgraph{\ignorespaces}ŽŽ¡‘ãŒÃ174Ž‘õŒÏ\xydef@\GRAPH{\xyFN@\GRAPH@}ŽŽ¡‘ãŒÃ176Ž‘õŒÏ\xydef@\GRAPH@{%ŽŽ¤ ™š‘ãŒÃ177Ž‘õŒÏ%ŽŽ¡‘ãŒÃ178Ž‘õŒÏ%\W@{GRAPH:‘¿ªnext=\meaning\next}%ŽŽ¡‘ãŒÃ179Ž‘õŒÏ%ŽŽ¡‘ãŒÃ180Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\GRAPH@}%ŽŽ¡‘ãŒÃ181Ž‘ûKÃÏ\else\ifx–¿ª:\next“\DN@:{\xy@:{}\expandafter\GRAPHar@\GRAPHeveryarrow@@}%ŽŽ¡‘ãŒÃ182Ž‘ûKÃÏ\else\addDASH@\ifx\nextŽŽ¡‘ãŒÃ183Ž‘ mÏ\addDASH@\DN@{\xy@-{}\expandafter\GRAPHar@\GRAPHeveryline@@}%ŽŽ¡‘ãŒÃ184Ž‘ûKÃÏ\else\ifx‘¿ª(\nextŽŽ¡‘ãŒÃ185Ž‘ mÏ\DN@({\xy@({\spushid@{?NODE}\idfromc@{?NODE}}\xyFN@\GRAPH@}%ŽŽ¡‘ãŒÃ186Ž‘ûKÃÏ\else\ifx‘¿ª,\nextŽŽ¡‘ãŒÃ187Ž‘ mÏ\DN@,{\xy@,{\cfromid@{?NODE}}\xyFN@\GRAPH@}%ŽŽ¡‘ãŒÃ188Ž‘ûKÃÏ\else\ifx‘¿ª)\nextŽŽ¡‘ãŒÃ189Ž‘ mÏ\DN@){\xy@){\cfromid@{?NODE}%ŽŽ¡‘ãŒÃ190Ž‘ ŠÁÏ\tests@\z@{\idfroms@{?NODE}\z@–¿ª\spop@}{\xyerror@{)“without“(}{}}}%ŽŽ¡‘ãŒÃ191Ž‘ËÏ\xyFN@\GRAPH@}%ŽŽ¡‘ãŒÃ192Ž‘ûKÃÏ%–¿ªHACK:“ONLY“POP“WHEN“NONEMPTY...WHY“EVER“NONEMPTY?ŽŽ¡‘ãŒÃ193Ž‘ûKÃÏ\else\ifx–¿ª\endgraph\next“\DN@{\xy@@{\tests@\z@\spop@\sleave@\leave@}}%ŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\else\ifx–¿ª\end\next“\DN@{\xy@@{\tests@\z@\spop@\sleave@\leave@}}%ŽŽ¡‘ãŒÃ195Ž‘ûKÃÏ\else\ifx‘¿ª~\nextŽŽ¡‘ãŒÃ196Ž‘ mÏ\DN@~{\xy@@{\enter@\cfromthec@}\afterNODE{\leave@‘¿ª\xyFN@\GRAPH@}!}%ŽŽ¡‘ãŒÃ197Ž‘ûKÃÏ\else‘¿ª\DN@{\afterNODE{\xyFN@\GRAPH@}}%ŽŽ¡‘ãŒÃ198Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ200Ž‘õŒÏ\xylet@\GRAPHsaved@PATHafterPOS=\PATHafterPOSŽŽ¡‘ãŒÃ201Ž‘õŒÏ\xylet@\GRAPHsaved@afterar@@=\afterar@@ŽŽ¦‘ãŒÃ203Ž‘õŒÏ\xydef@\GRAPHar@{%ŽŽ¡‘ãŒÃ204Ž‘ûKÃÏ\let\PATHafterPOS=\afterNODE–¿ª\let\afterar@@=\GRAPHafterar@“\ar}ŽŽ¦‘ãŒÃ206Ž‘õŒÏ\xydef@\GRAPHafterar@{%ŽŽ¡‘ãŒÃ207Ž‘ûKÃÏ\let\PATHafterPOS=\GRAPHsaved@PATHafterPOSŽŽ¡‘ãŒÃ208Ž‘ûKÃÏ\let\afterar@@=\GRAPHsaved@afterar@@ŽŽ¡‘ãŒÃ209Ž‘ûKÃÏ\xy@@{\cfromid@{}}\xyFN@\GRAPH@}ŽŽ¦‘ãŒÃ211Ž‘õŒÏ\xylet@\afterNODE@@=\emptyŽŽ¦‘ãŒÃ213Ž‘õŒÏ\xydef@\afterNODE#1{\xy@@{\enter@\pfromthep@}%ŽŽ¡‘ãŒÃ214Ž‘ûKÃÏ\DN@##1{\def\afterNODE@@{\xy@@\leave@‘¿ª\def\afterNODE@@{##1}#1}}%ŽŽ¡‘ãŒÃ215Ž‘ûKÃÏ\expandafter\next@\expandafter{\afterNODE@@}%ŽŽ¡‘ãŒÃ216Ž‘ûKÃÏ\xyFN@\NODE@}ŽŽ¦‘ãŒÃ218Ž‘õŒÏ\xylet@\theMOVE@@=\relaxŽŽ¦‘ãŒÃ220Ž‘õŒÏ\xydef@\NODE@{%ŽŽŽŽŒ‹k= Á à ý*tj‘ãŒÑ3.6.‘„CGRAPH‘¦fFEA‘ÿeTURE’X¹363ŽŽ ¶?? ýh«w‘ãŒÃ221Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\NODE@}%ŽŽ¤ ™š‘ãŒÃ222Ž‘ûKÃÏ\else\ifx–¿ª[\next“\DN@[##1]{\xy@{[##1]}{}%ŽŽ¡‘ãŒÃ223Ž‘ËÏ\def\theMOVE@@{[##1]}\xyFN@\MOVE@##1]}%ŽŽ¡‘ãŒÃ224Ž‘ûKÃÏ\else\ifx–¿ª"\next“\DN@“"##1"{%ŽŽ¡‘ãŒÃ225Ž‘ËÏ\xy@{"##1"}{\cfromid@{##1}}\def\theMOVE@@{"##1"}\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ226Ž‘ûKÃÏ\else\ifx–¿ª?\next“\DN@“?{%ŽŽ¡‘ãŒÃ227Ž‘ËÏ\xy@?{\cfromid@{?NODE}}\def\theMOVE@@{?}\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ228Ž‘ûKÃÏ\else\ifx–¿ª!\next“\def\theMOVE@@{[]}\let\next@=\NODE@iŽŽ¡‘ãŒÃ229Ž‘ûKÃÏ\else‘¿ª\testAND@\iffalseŽŽ¡‘ãŒÃ230Ž‘ mÏ\DN@##1{\xy@{}{\pfromc@–¿ª\advance\X@c\X@xbase“\advance\Y@c\Y@xbaseŽŽ¡‘ãŒÃ231Ž‘ ŠÁÏ\czeroEdge@}\jumpMOVE@‘¿ª\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ232Ž‘ûKÃÏ\else\ifx‘¿ª\\\nextŽŽ¡‘ãŒÃ233Ž‘ mÏ\DN@\\{\xy@\\{\pfromc@–¿ª\advance\X@c\X@xbase“\advance\Y@c\Y@xbaseŽŽ¡‘ãŒÃ234Ž‘ ŠÁÏ\R@c=\X@ybase–¿ª\U@c=\Y@ybase“\intersect@ŽŽ¡‘ãŒÃ235Ž‘ ŠÁÏ\advance\X@c-\X@ybase‘¿ª\advance\Y@c-\Y@ybaseŽŽ¡‘ãŒÃ236Ž‘ ŠÁÏ\czeroEdge@}\def\theMOVE@@{\\}\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ237Ž‘ûKÃÏ\else–¿ª\xyerror@{Illegal“:“\string`\meaning\next\string'“unexpected}{}%ŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ©Pˆ‘ãŒÃ240Ž‘õŒÏ\xydef@\jumpMOVE@@{&}ŽŽ¡‘ãŒÃ241Ž‘õŒÏ\xydef@\jumpMOVE@{\let\theMOVE@@=\jumpMOVE@@}ŽŽ¦‘ãŒÃ243Ž‘õŒÏ\xydef@\MOVE@{\xy@@{\count@=\z@‘¿ª\count@@=\z@}%ŽŽ¡‘ãŒÃ244Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\MOVE@}%ŽŽ¡‘ãŒÃ245Ž‘ûKÃÏ\else\ifcat–¿ªA\noexpand\next“\let\next@=\MOVE@letterŽŽ¡‘ãŒÃ246Ž‘ûKÃÏ\else–¿ª\let\next@=\MOVE@x“\fi\fi“\next@}ŽŽ¦‘ãŒÃ248Ž‘õŒÏ\xydef@\MOVE@letter{%ŽŽ¡‘ãŒÃ249Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\MOVE@letter}%ŽŽ¡‘ãŒÃ250Ž‘ûKÃÏ\else\ifx–¿ªu\next“\DN@“u{\xy@@{\advance\count@\@ne}\xyFN@\MOVE@letter}%ŽŽ¡‘ãŒÃ251Ž‘ûKÃÏ\else\ifx–¿ªd\next“\DN@“d{\xy@@{\advance\count@\m@ne}\xyFN@\MOVE@letter}%ŽŽ¡‘ãŒÃ252Ž‘ûKÃÏ\else\ifx–¿ªl\next“\DN@“l{\xy@@{\advance\count@@\m@ne}\xyFN@\MOVE@letter}%ŽŽ¡‘ãŒÃ253Ž‘ûKÃÏ\else\ifx–¿ªr\next“\DN@“r{\xy@@{\advance\count@@\@ne}\xyFN@\MOVE@letter}%ŽŽ¡‘ãŒÃ254Ž‘ûKÃÏ\else–¿ª\let\next@=\MOVE@x“\fi\fi\fi\fi\fi“\next@}ŽŽ¦‘ãŒÃ256Ž‘õŒÏ\xydef@\MOVE@x{%[[ŽŽ¡‘ãŒÃ257Ž‘ûKÃÏ\ifx–¿ª]\next“\DN@“]{\MOVE@hop“\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ258Ž‘ûKÃÏ\else\ifx–¿ª(\next“\DN@{\MOVE@hop“\xyFN@\MOVE@place}%)ŽŽ¡‘ãŒÃ259Ž‘ûKÃÏ\else\ifx–¿ª!\next“\DN@{\MOVE@hop“\xyFN@\MOVE@place}%ŽŽ¡‘ãŒÃ260Ž‘ûKÃÏ\else\ifx–¿ª/\next“\DN@{\MOVE@hop“\xyFN@\MOVE@place}%ŽŽ¡‘ãŒÃ261Ž‘ûKÃÏ\else\addLT@\ifx\next–¿ª\DN@{\MOVE@hop“\xyFN@\MOVE@place}%ŽŽ¡‘ãŒÃ262Ž‘ûKÃÏ\else\addGT@\ifx\next–¿ª\DN@{\MOVE@hop“\xyFN@\MOVE@place}%ŽŽ¡‘ãŒÃ263Ž‘ûKÃÏ\else\addDASH@\ifx\next–¿ª\addDASH@\DN@{\xyerror@{-“not“implemented“yet}{}}%ŽŽ¡‘ãŒÃ264Ž‘ûKÃÏ\else–¿ª\xyerror@{illegal“:“\codeof\theMOVE@@}{}\let\next@=\NODE@iŽŽ¡‘ãŒÃ265Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ267Ž‘õŒÏ\xydef@\MOVE@hop{\xy@@{\pfromc@‘¿ª\czeroEdge@ŽŽ¡‘ãŒÃ268Ž‘ mÏ\edef\next@{\the\count@@,\the\count@‘¿ª@}\expandafter\vfromcartesian@@\next@ŽŽ¡‘ãŒÃ269Ž‘ mÏ\advance\X@c-\X@origin‘¿ª\advance\Y@c-\Y@originŽŽ¡‘ãŒÃ270Ž‘ mÏ\advance\X@c\X@p‘¿ª\advance\Y@c\Y@p}}ŽŽ¦‘ãŒÃ272Ž‘õŒÏ\xydef@\MOVE@place{\xy@@\no@@‘¿ª\afterPLACE{\xyFN@\MOVE@}}ŽŽ¦‘ãŒÃ274Ž‘õŒÏ\xydef@\NODE@i{\let\next@=\NODE@xŽŽŽŽŒ‹lH Á à ý*tj‘㌹364’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ275Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ276Ž‘õŒÏ%\W@{NODE@i:‘¿ªnext=\meaning\next}%ŽŽ¡‘ãŒÃ277Ž‘õŒÏ%ŽŽ¡‘ãŒÃ278Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ279Ž‘ûKÃÏ\else\addEQ@\ifx‘¿ª\nextŽŽ¡‘ãŒÃ280Ž‘ mÏ\addEQ@\DN@"##1"{\xy@{="##1"}{\idfromc@{##1}}\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ281Ž‘ûKÃÏ\else\ifx–¿ª!\next“\DN@!{\xyFN@\NODE@escape}%ŽŽ¡‘ãŒÃ282Ž‘ûKÃÏ\else\ifx‘¿ª:\nextŽŽ¡‘ãŒÃ283Ž‘ûKÃÏ\else\addDASH@\ifx\nextŽŽ¡‘ãŒÃ284Ž‘ûKÃÏ\else\ifx‘¿ª(\nextŽŽ¡‘ãŒÃ285Ž‘ûKÃÏ\else\ifx‘¿ª,\nextŽŽ¡‘ãŒÃ286Ž‘ûKÃÏ\else\ifx‘¿ª)\nextŽŽ¡‘ãŒÃ287Ž‘ûKÃÏ\else\ifx‘¿ª~\nextŽŽ¡‘ãŒÃ288Ž‘ûKÃÏ\else\ifx‘¿ª[\nextŽŽ¡‘ãŒÃ289Ž‘ûKÃÏ\else\ifx‘¿ª"\nextŽŽ¡‘ãŒÃ290Ž‘ûKÃÏ\else\ifx‘¿ª?\nextŽŽ¡‘ãŒÃ291Ž‘õŒÏ%ŽŽ¡‘ãŒÃ292Ž‘ûKÃÏ\else\ifx‘¿ª^\nextŽŽ¡‘ãŒÃ293Ž‘ûKÃÏ\else\ifx‘¿ª_\nextŽŽ¡‘ãŒÃ294Ž‘ûKÃÏ\else\ifx‘¿ª|\nextŽŽ¡‘ãŒÃ295Ž‘ûKÃÏ\else\addLQ@\ifx\nextŽŽ¡‘ãŒÃ296Ž‘ûKÃÏ\else\addRQ@\ifx\nextŽŽ¡‘ãŒÃ297Ž‘õŒÏ%ŽŽ¡‘ãŒÃ298Ž‘ûKÃÏ\else–¿ª\testAND@“\iffalseŽŽ¡‘ãŒÃ299Ž‘ûKÃÏ\else\ifx‘¿ª\\\nextŽŽ¡‘ãŒÃ300Ž‘õŒÏ%ŽŽ¡‘ãŒÃ301Ž‘ûKÃÏ\else\ifx‘¿ª\endgraph\nextŽŽ¡‘ãŒÃ302Ž‘ûKÃÏ\else\ifx‘¿ª\end\nextŽŽ¡‘ãŒÃ303Ž‘õŒÏ%ŽŽ¡‘ãŒÃ304Ž‘ûKÃÏ\else‘¿ª\let\next@=\NODE@itŽŽ¡‘ãŒÃ305Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ¤Pˆ‘ãŒÃ307Ž‘õŒÏ\xydef@\NODE@x{\xy@@{\idfromc@{}}\afterNODE@@}ŽŽ¡‘ãŒÃ309Ž‘õŒÏ\xydef@\NODE@it{\let\PATHlabelit@@=\NODEit@‘¿ª\PATHit@}ŽŽ¡‘ãŒÃ311Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{+}}ŽŽ© ™š‘ãŒÃ312Ž‘õŒÏ\xylet@\GRAPHnodemodifiers@@=\nextŽŽ¡‘ãŒÃ314Ž‘õŒÏ\xydef@\NODEit@#1{%ŽŽ¦‘ãŒÃ315Ž‘ûKÃÏ\DN@{#1}\ifx\next@\emptyŽŽ¦‘ãŒÃ316Ž‘ mÏ\DN@{\expandafter\NODEit@i\expandafter{\GRAPHnodemodifiers@@}}%ŽŽ¦‘ãŒÃ317Ž‘ûKÃÏ\else–¿ª\DN@{\NODEit@i{#1}}\fi“\next@}ŽŽ¡‘ãŒÃ319Ž‘õŒÏ\def\NODEit@i#1#2{\xy@{*#1{#2}}{\drop@{#1}{#2}}%ŽŽ¦‘ãŒÃ320Ž‘ûKÃÏ\DN@{\addEQ@\ifx\next\else–¿ª\xy@@{\idfromc@{#2}}\fi“\NODE@i}%ŽŽ¦‘ãŒÃ321Ž‘ûKÃÏ\xyFN@\next@}ŽŽŸ$5®‘ãŒÔNotesŽŸ‹ì‘㌹3.6a.ŽŽ=A–¦fÐmove‘y¹is“to“establish“a“new“Ðcurr–ÿp¹ent‘êêno“de‘Ò¡¹.ŽŸfž‘ãŒ3.6b.ŽŽ‘©ùT‘ÿeo–@Ðdr‘ÿp¹aw‘Fû¹something“is“simply“to“draš²!w“a“line“or“the“spMÞeci ed“Çh¹arro˜wÇi“¹from“the“curren˜t“noMÞde“toŽŽŽŒ‹mUo Á à ý*tj‘ãŒÑ3.6.‘„CGRAPH‘¦fFEA‘ÿeTURE’X¹365ŽŽ ¶?? ýh«w‘õŒthe–×spšMÞeci ed“target“no˜de.‘ó1The“target“then“b˜ecomes“the“curren²!t“no˜de.‘ó1All“the“features“of“arro²!wsޤ ™š‘õŒas–FdescribšMÞed“in“Çx¹3.3“can“b˜e“used,‘Y¯in“particular“arro²!ws“can“b˜e“lab˜elled“and“segmen²!ted,‘Y¯but“with“theŽ¡‘õŒc²!hange–¦fthat“Çh¹path-pšMÞosÇi“¹means“Çh¹no˜deÇi“¹as“explained“in“note“Çx¹3.3e.Ž©z‘ãŒ3.6c.ŽŽ‘ÿrT‘ÿeo›º™Ðmap–éover“a“list‘ă¹is˜simply˜to˜sa•²!v“e˜the˜curren“t˜noMÞde˜and˜then˜in“terpret˜the˜Çh¹listÇi˜¹with˜theŽ¡‘õŒfollo•²!wing‘¦fcon“v“en“tion:ަ‘)‹ÇŽŽŽ‘ £%¹Start–´Åeacš²!h“elemen˜t“of“the“list“with“the“curren˜t“noMÞde“as“sa˜v˜ed“and“Äp“¹as“the“previous“list“elemen˜t,Ž¡‘ £%andŽŸ׊‘)‹ÇŽŽŽ‘ £%¹let–¦fthe“Ï?Ž‘ vÇh¹noMÞdeÇi“¹refer“to“the“sa•²!v“ed›¦fcurren“t˜noMÞde˜explicitly‘ÿe.ަ‘ãŒ3.6d.ŽŽ‘©ùThe‘ð$Ï&Ž‘ Ÿò¹and‘ð$Ï\\Ž‘_œ¹spMÞecial›ð$mo•²!v“es˜are˜included˜to˜mak“e˜it˜simple˜to˜en“ter˜`matrix-lik“e'˜things˜as˜graphsŽ¡‘õŒ{– ƒnote“that“they“will“not“bMÞe“automatically“aligned,›;Jho•²!w“ev“er,˜for– ƒthat“y²!ou“should“use“the“Ï!MŽ‘ÀZ¹escapMÞe.Ž©WŠ‘õŒÏ&Ž‘þßÕ¹is–”the“same“as“Ï[r]Ž‘g"¹and“Ï\\Ž‘§x¹is“the“same“as“Ï[r]!{y+(0,-1)-(0,0)}Ž‘z!l¹whicš²!h“uses“a“k˜ernel“escapMÞe“toŽ¡‘õŒmo•²!v“es–áâto“the“ rst“column“in“the“next“roš²!w“(where“the“ rst“column“is“on“the“Äyd“¹-axis“of“the“curren˜tŽ¡‘õŒcoMÞordinate‘¦fsystem).ަ‘õŒÔNote:‘ý©¹If–¶Lyš²!ou“use“the“form“Ï*{Ž‘5 ¹.–Ó3.“.“Ï}Ž‘ I)¹for–¶LnoMÞdes“then“y˜ou“don't“ha˜v˜e“to“c˜hange“them“if“y˜ou“decide“toŽ¡‘õŒuse‘¦fan‘ŽX‘ü·ŸâÃYŽŽ‘ p-matrix.ŽŸz‘ãŒ3.6e.ŽŽ‘ÿrTš²!ypMÞeset–IÇh¹itÇi“¹and“mak˜e“it“the“curren˜t“noMÞde.‘¾åAlso“sa˜v˜es“Çh¹itÇi“¹for“later“reference“using“Ï"Ž‘ )Çh¹idÇiÏ"Ž‘¿ª¹:‘¯iif“Çh¹itÇiŽ¡‘õŒ¹is–ða“simple“letter,›:“or“digit,˜then“just“as“Ï"Ž› ÜšÇh¹itÇiÏ"Ž‘¿ª¹;‘X5if“Çh¹itÇi“¹is“of“the“form“Ï{Ž˜Ðtext‘ êÏ}Ž‘ 愹or“Ï*Ž˜¹.–Ó3.“.“Ï{Ž‘’ÝÐtext‘ êÏ}Ž‘ 愹then‘ðasŽ¡‘õŒÏ"Ž‘ûKÃÐtext‘ êÏ"ޑɔ¹.ަ‘õŒWith–Ȧthe“Ï=Ž‘ Pö¹addition“it“is“pšMÞossible“to“sa•²!v“e–Ȧexplicitly“in“case“sev²!eral“no˜des“ha•²!v“e–Ȧthe“same“text“or“aŽ¡‘õŒnoMÞde–ì³has“a“text“that“it“is“impractical“to“use“for“reference.‘°ÅIn“fact“using“the“form“Çh¹itÇiÏ="Ž‘ TÇh¹idÇiÏ"Ž‘ ¬]¹willŽ¡‘õŒÐonly‘z1¹sa•²!v“e–‚0the“nošMÞde“as“Ï"Ž– AÚÇh¹idÇiÏ"Ž“¹and–‚0Ðnot‘Œ¹as“Ï"Ž‘ AÚÇh¹itÇiÏ"Ž‘¿ª¹!‘ÑËAs“a“sp˜ecial“con•²!v“enience‘‚0Ï""Ž‘ƒ´¹(th“us–‚0the“empt²!y“Çh¹idÇi¹)Ž¡‘õŒalw•²!a“ys–æOrefers“to“the“last“completed“nošMÞde,‘öIso“adding“Ï=""Ž‘ œ¹after“a“no˜de“merely“means“it“should“ÐnotŽ¡‘õŒ¹bMÞe›¦fsa•²!v“ed˜under˜its˜propMÞer˜name.ŽŸ"<‘õŒÔExercise‘23.12:‘ ó5¹Hoš²!w–¦fdid“the“author“t˜ypMÞeset“this?ޤö‚’³Jïps: SDict begin xyc end‘Ÿ%òÄAŽŽŽŽ‘'Ÿ%òAŽŽŽŽ‘3Ÿýh0ï3" {mark 36.0 0.0 18.0 12.0 0.0 0.0 1.0 0.19751 q}xyŽŽŽ‘$ŸùšÑï" {2660 10 /xy AB}xyŽŽŽŽ‘3Ÿýh0ï7" {mark 36.0 0.0 18.0 12.0 0.0 0.0 0.19751 0.80261 q}xyŽŽŽ‘3Ÿýh0ï3" {mark 36.0 0.0 18.0 12.0 0.0 0.0 1.0 0.80261 q}xyŽŽŽ‘KŸ%òAŽŽŽŽ‘3Ÿýh0ï4" {mark 72.0 0.0 54.0 12.0 36.0 0.0 1.0 0.19751 q}xyŽŽŽ‘HŸùšÑï" {2660 10 /xy AB}xyŽŽŽŽ‘3Ÿýh0ï8" {mark 72.0 0.0 54.0 12.0 36.0 0.0 0.19751 0.80261 q}xyŽŽŽ‘3Ÿýh0ï4" {mark 72.0 0.0 54.0 12.0 36.0 0.0 1.0 0.80261 q}xyŽŽŽ‘3Ÿýh0ï4" {mark 0.0 0.0 36.0 -12.0 72.0 0.0 1.0 0.09863 q}xyŽŽŽ‘53žŠkï" {-1298 10 /xy AB}xyŽŽŽŽ‘3Ÿýh0ï8" {mark 0.0 0.0 36.0 -12.0 72.0 0.0 0.09863 0.90137 q}xyŽŽŽ‘3Ÿýh0ï3" {mark 0.0 0.0 36.0 -12.0 72.0 0.0 1.0 0.9013 q}xyŽŽŽŽŽŽŽ¡Ÿz‘㌹3.6f.ŽŽ‘ýí,Mo•²!ving›nïb“y˜a˜series˜of˜Ðhops‘U¹is˜simply˜mo“ving˜in˜a˜grid˜as˜the˜sequence˜of˜ÏdulrŽ‘܆¹(for˜do“wn/up/left/righ“t)ޤ ™š‘õŒindicates.‘‰øThe–Šogrid“is“a“standard“cartesian“cošMÞordinate“system“with“3p˜c“unit“unless“the“curren²!tŽ¡‘õŒbase–¸†is“rede ned“using“Ï[]!{Ž‘·.¹.–Ó3.“.“Ï}Ž‘ Kc¹with–¸†an“appropriate“Çh¹pšMÞosÇi¹ition“con²!taining“Ï:Ž‘ 0¶¹and“Ï::Ž‘ð`¹as“describ˜edŽ¡‘õŒin–¦fnote“1.3d.ަ‘õŒÔT‘þó\o‘ ¢Do:‘]¤¹DescribšMÞe–¥óthe“use“of“Çh¹mo•²!v“eÇi¹s–¥ówith“Çh¹placeÇi¹s“in“detail“.–Ó3.“.‘y&in–¥óparticular“(1)“`un²!til“p˜erp˜endicularŽ¡‘õŒto›¦f.–Ó3.“.“'‘ÝÝand˜(2)˜`un•²!til˜in“tercepts˜with˜.–Ó3.“.“'‘ÝÝcan˜b•MÞe˜co“ded.–Ó3.“.ŽŸz‘ãŒ3.6g.ŽŽ=This–ûV`escapMÞes'“inš²!to“the‘ãX‘ü·ŸâÃYŽŽ‘ b`-pic“k˜ernel“language“and“in˜terprets“the“Çh¹pMÞosÇi“h¹decorÇi¹.‘¤ØThe“curren˜t“noMÞdeŽ¡‘õŒis–¦fthen“set“to“the“resulting“Äc“¹ob‘›»ject“and“the“grid“from“the“resulting“Ðb‘ÿp¹ase‘Ò¡¹.ަ‘õŒThe–ß"e ect“of“the“Çh¹pšMÞosÇi“h¹decorÇi“¹can“b˜e“completely“hidden“from‘ÆÌX‘ü·ŸâÃYŽŽ‘F,-graph“bš²!y“en˜tering“it“as“Ï{\saveŽŽ¡‘õŒÇh¹pMÞosÇi–¦fh¹decorÇi“Ï\restore}Ž‘7c`¹.ŽŸPˆ‘ãŒÃ430Ž‘õŒÏ\xydef@\NODE@escape{%ŽŽ¡‘ãŒÃ431Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\NODE@escape}%ŽŽ¡‘ãŒÃ432Ž‘ûKÃÏ\else\ifcat–¿ªA\noexpand\next“\DN@##1{\rungraphescape@{##1}}%ŽŽ¡‘ãŒÃ433Ž‘ûKÃÏ\else\ifcat–¿ª!\noexpand\next“\DN@##1{\rungraphescape@{##1}}%ŽŽŽŽŒ‹n^¡ Á à ý*tj‘㌹366’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ434Ž‘ûKÃÏ\else\ifx–¿ª\bgroup\next“\DN@##1{\xy@{!{##1}}{}\POS##1\relax“\xyFN@\NODE@i}%ŽŽ¤ ™š‘ãŒÃ435Ž‘ûKÃÏ\else\ifx–¿ª~\next“\let\next@=\graphsetup@ŽŽ¡‘ãŒÃ436Ž‘ûKÃÏ\else–¿ª\DN@{\xyerror@{Unknown“graph“}{}\xyFN@\NODE@i}%ŽŽ¡‘ãŒÃ437Ž‘ûKÃÏ\fi\fi\fi\fi\fi‘¿ª\next@}ŽŽ©ƨ‘㌹3.6h.ŽŽ‘©ùIt–·bis“pšMÞossible“to“insert“a“Çh¹matrixÇi“¹in“a“graph“pro²!vided“the“`matrix'“option“describ˜ed“in“Çx¹3.5“hasŽ¡‘õŒbšMÞeen–Õgloaded:‘;àit“o•²!v“erwrites–Õgthe“no˜de“with“the“result“of“Ï\xymatrixŽ‘7’aÇh¹matrixÇi¹.‘jáAfterw²!ards“the“graphŽ¡‘õŒgrid–ôis“set“as“the“top“left“`square'“of“the“matrix,–ˆÐi¹.Ðe¹.,“with‘ôÏ[d]Ž–'4¹and‘ôÏ[r]Ž“¹adjusted–ôas“they“w²!ork“inŽ¡‘õŒthe–¦ftop“left“en²!try‘ÿe.ŽŸÔª‘õŒÔBug:‘¤Ï[dr]ޑՒ¹immediately–2Õafter“the“matrix“will“wš²!ork“as“expMÞected,–IòÐe¹.Ðg¹.,“mak˜e–2Õthe“cen˜ter“of“Ï"2,2"Ž‘##ü¹theŽ¡‘õŒcurrenš²!t–ìÅnoMÞde,‘þ]but“others“migh˜t“not,–þ]Ðe¹.Ðg¹.,“Ï[rr]Ž‘éʹwill–ìÅnot“necessarily“place“the“curren˜t“noMÞde“on“topŽ¡‘õŒof‘¦fÏ"1,3"Ž‘ d¸¹.ޤPˆ‘ãŒÃ455Ž‘õŒÏ\xydefcsname@{graph‘¿ª!M}#1#{\NODE@matrix{#1}}ŽŽ¡‘ãŒÃ457Ž‘õŒÏ\xydef@\NODE@matrix#1#2{\xyerror@{matrix–¿ªfeature“not“loaded}{}\xyFN@\GRAPH@}ŽŽ¡‘ãŒÃ459Ž‘õŒÏ\xydef@\NODE@matrix@#1#2{\xy@{!M#1{#2}}{}%ŽŽ¤ ™š‘ãŒÃ460Ž‘ûKÃÏ\def\everyentry@{\GRAPHeveryentry}%ŽŽ¡‘ãŒÃ461Ž‘ûKÃÏ\xymatrix#1{#2}%ŽŽ¡‘ãŒÃ462Ž‘ûKÃÏ\let\everyentry@=\empty–¿ª\insertmatrixingraph@“\xyFN@\NODE@i}ŽŽ¤Pˆ‘ãŒÃ464Ž‘õŒÏ\xydef@\GRAPHeveryentry{\def\:{\ar}\def\="##1"{\xy@@{\idfromc@{##1}}}}ŽŽ¡‘ãŒÃ466Ž‘õŒÏ\xywithoption{matrix}{\let\NODE@matrix=\NODE@matrix@}ŽŽ¡‘ãŒÃ468Ž‘õŒÏ\xydef@\insertmatrixingraph@{%ŽŽ¤ ™š‘ãŒÃ469Ž‘ûKÃÏ\xy@@{\enter@{\cfromthec@‘¿ª\pfromthep@}%ŽŽ¡‘ãŒÃ470Ž‘ûKÃÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@1,1\endcsnameŽŽ¡‘ãŒÃ471Ž‘ûKÃÏ\ifx\next@\relax\elseŽŽ¡‘ãŒÃ472Ž‘ mÏ\next@‘¿ª\swap@ŽŽ¡‘ãŒÃ473Ž‘ mÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@1,2\endcsnameŽŽ¡‘ãŒÃ474Ž‘ mÏ\ifx\next@\relax\else–¿ª\next@“\setbase@\X@p\Y@p\X@c\Y@cŽŽ¡‘ãŒÃ475Ž‘ËÏ\expandafter\let\expandafter\next@\csname‘¿ªQ@2,1\endcsnameŽŽ¡‘ãŒÃ476Ž‘ËÏ\ifx\next@\relax\elseŽŽ¡‘ãŒÃ477Ž‘ ŠÁÏ\next@‘¿ª\setbase@@{-\X@c}{-\Y@c}\fi\fi\fiŽŽ¡‘ãŒÃ478Ž‘ûKÃÏ\leave@}}ŽŽ¦‘㌹3.6i.ŽŽ‘ýŸNIt–‹àis“pšMÞossible“to“insert“a“Çh¹p˜olygonÇi“¹or“an“Çh¹ellipseÇi“¹in“a“graph“pro²!vided“the“ÏpolyŽ‘h¹option“describ˜edŽ¡‘õŒin–›ØÇx¹3.7“or“the“ÏarcŽ‘v®¹option“describšMÞed“in“Çx¹3.9“has“b˜een“loaded,‘Ù4resp˜ectivš²!ely:‘ÈÁit“will“ha˜v˜e“Äc“¹as“theŽ¡‘õŒcurren²!t–”+noMÞde,›—ÑÄp“¹as“the“previous“one,˜and“the“the“curren²!t“base“has“the“Çh¹hopÇi¹s“Ï[r]Ž›gT¹and“Ï[u]Ž˜¹as“baseŽ¡‘õŒv²!ectors.ŽŸÔª‘õŒÔNote:‘“o¹lattices,–/Oknots,“Ðetc¹.,“can–Šalso“bšMÞe“used“but“no“sp˜ecial“synš²!tax“is“useful“since“the“Ï!{Ž‘Þ¹.–Ó3.“.“Ï}Ž‘ ¤g¹syn˜taxŽ¡‘õŒis‘¦fadequate.Ž©Pˆ‘ãŒÃ495Ž‘õŒÏ\xydefcsname@{graph‘¿ª!P}#1#{\NODE@poly{#1}}ŽŽ¡‘ãŒÃ496Ž‘õŒÏ\xydef@\NODE@poly#1#2{\xyerror@{poly(gon)–¿ªfeature“not“loaded}{}\xyFN@\GRAPH@}ŽŽ¡‘ãŒÃ497Ž‘õŒÏ\xydef@\NODE@poly@#1#2{\xy@{!P#1{#2}}{}\xypoly@#1{#2}\xyFN@\NODE@i}ŽŽ¡‘ãŒÃ498Ž‘õŒÏ\xywithoption{poly}{\let\NODE@poly=\NODE@poly@}ŽŽ¦‘ãŒÃ500Ž‘õŒÏ\xydefcsname@{graph‘¿ª!E}#1#{\NODE@arc{#1}!}ŽŽ¡‘ãŒÃ501Ž‘õŒÏ\xydef@\NODE@arc#1#2{\xyerror@{(ellipse+)arc–¿ªfeature“not“loaded}{}%ŽŽ¡‘ãŒÃ502Ž‘ûKÃÏ\xyFN@\GRAPH@}ŽŽ¡‘ãŒÃ503Ž‘õŒÏ\xydef@\NODE@arc@#1#2{\xy@{!E#1{#2}}{}\ellipse#1{#2}\xyFN@\NODE@i}ŽŽŽŽŒ‹orY Á à ý*tj‘ãŒÑ3.6.‘„CGRAPH‘¦fFEA‘ÿeTURE’X¹367ŽŽ ¶?? ýh«w‘ãŒÃ504Ž‘õŒÏ\xywithoption{arc}{\let\NODE@arc=\NODE@arc@}ŽŽŸ&t‘㌹3.6j.ŽŽ‘ýí,This–¦falloš²!ws“setting“of“some“parameters“of“the“graph:‘ÝÝÏ!~Ž‘]1Çh¹setupÇi“¹should“bMÞe“one“of“the“follo˜wing:ŽŸ ¤ø‘õŒ„ffѲdŽŸ ð‘0“³Ï!~:{Ž‘K8ÁÇh¹arro²!wÇi‘¦fÏ}ŽŽ’š]²¹include–¦fwith“evš²!ery“Ï:Ž‘ v¹arro˜wŽŽŽŽ¤ ™š‘0“³Ï!~-{Ž‘K8ÁÇh¹arro²!wÇi‘¦fÏ}ŽŽ’š]²¹include–¦fwith“ev²!ery“Ï-Ž‘ v¹lineŽŽŽŽ¡‘0“³Ï!~*{Ž‘K8ÁÇh¹moMÞdi ersÇi‘¦fÏ}ŽŽ’š]²¹include–¦fwith“ev²!ery“non-Ï*Ž‘ f¹noMÞdeŽŽŽŽ¡‘0“³Ï!~Ž‘<Çh¹letterÇiÏ{Ž‘ fÇh¹graphÇi‘¦fÏ}ŽŽ’š]²¹de ne–¦fnew“graph“escapMÞe“Ï!Ž‘ fÇh¹letterÇiŽŽŽŽŸåÙ‘õŒ„ffѲdŽŸp‘õŒ¹These–’îare“destructivš²!e:‘Ô!the“previous“v‘ÿdDalue“is“lost;‘™kthe“default“is“established“b˜y“the“sequence“Ï!~:{}ŽŽ¡‘õŒ!~-{@{-}}Ž‘-!~*{+}Ž‘Se¹making‘ÏÏ:Ž‘ ]ª¹create–Ïsimple“arro²!ws,‘Ù&Ï-Ž‘ gйplain“lines,‘Ù&and“formatting“default“noMÞdes“inŽ¡‘õŒmath–¦fmoMÞde“with“the“default“ob‘›»jectmargin.ޤPˆ‘ãŒÃ530Ž‘õŒÏ\xylet@\GRAPHeveryarrow@@=\emptyŽŽ¡‘ãŒÃ532Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{@{-}}}ŽŽ© ™š‘ãŒÃ533Ž‘õŒÏ\xylet@\GRAPHeveryline@@=\nextŽŽ¡‘ãŒÃ535Ž‘õŒÏ\xydef@\graphsetup@~{\xyFN@\graphsetup@i}ŽŽ¡‘ãŒÃ537Ž‘õŒÏ\xydef@\graphsetup@i{%ŽŽ¦‘ãŒÃ538Ž‘ûKÃÏ\ifx–¿ª:\next“\DN@:##1{\def\GRAPHeveryarrow@@{##1}\xyFN@\NODE@i}%ŽŽ¦‘ãŒÃ539Ž‘ûKÃÏ\else\addDASH@\ifx\nextŽŽ¦‘ãŒÃ540Ž‘ mÏ\addDASH@\DN@##1{\def\GRAPHeveryline@@{##1}\xyFN@\NODE@i}%ŽŽ¦‘ãŒÃ541Ž‘ûKÃÏ\else\ifx–¿ª*\next“\DN@*##1{\def\GRAPHnodemodifiers@@{##1}\xyFN@\NODE@i}%ŽŽ¦‘ãŒÃ542Ž‘ûKÃÏ\else\ifcat–¿ªA\next“\DN@##1##2{\newgraphescape{##1}{##2}\xyFN@\NODE@i}%ŽŽ¦‘ãŒÃ543Ž‘ûKÃÏ\else–¿ª\DN@{\xyerror@{illegal“graph“setup“\codeof\next@}{}\xyFN@\NODE@i}%ŽŽ¦‘ãŒÃ544Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽŸ;~‘õŒ¹The–¦flast“pMÞossibilitš²!y“is“also“a˜v‘ÿdDailable“as“a“commandŽŸ =‘õŒ„ffѲdŽŸ ð’„ÆÏ\newgraphescape{Ž‘¿ªÇh¹letterÇiÏ}{Ž‘ TÇh¹graphÇiÏ}ŽŽŽŸåÙ‘õŒ„ffѲdŽŸ¸,‘õŒ¹that–±-mak²!es“the“spšMÞeci ed“escap˜e“generate“the“Çh¹graphÇi“¹as“a“macro;‘6‘with“it“it“is“p˜ossible“to“passަ‘õŒargumen²!ts–¦fto“the“Çh¹graphÇi“¹using“the“standard“T‘þ,³Ÿ[wEŽ‘B X“Ï\defŽ‘Kt¹methošMÞd:‘ÝÝThe“declaration“co˜deŽ¡‘õŒÏ\newgraphescape{i}#1#2{ŽŽ¦‘ûKÃ[]!{+0="o#2"*=<10pt>{};p!#1**{},"o#2"ŽŽ¦‘ m-/4pt/*!E\cir<2pt>{}ŽŽ¦‘ m+0;p-/:a(-30)24pt/**\dir{-}="X2"ŽŽ¦‘ m;p-/:a(-60)24pt/="X1"**\dir{-}ŽŽ¦‘ m;?(.5),="i#2",ŽŽ¦‘ mp-/:a(-60)24pt/**\dir{-},ŽŽ¦‘ m"o#2"."i#2"."X1"."X2"}}ŽŽŸ;~‘õŒ¹is–2(rather“complicated“kš²!ernel“coMÞde)“that“mak˜es“the“nošMÞde“escap˜e“Ï!iŽ‘†Ädn“¹t²!yp˜eset“an“`in•²!v“erter'‘2orien“tedަ‘õŒwith–B›the“Äd“¹corner“as“the“output“with“input“named“Ï"iŽ›ÁïÄnÏ"Ž‘ E¹and“output“named“Ï"oŽ˜ÄnÏ"Ž‘ E¹suc²!h“that“theަ‘õŒgraphŽ¡‘õŒÏ\xygraph{–¿ª[]!iR1“("i1"[l]x“-“"i1")“-“[r]z“}ŽŽŸ;~‘õŒ¹will‘¦ft²!ypMÞesetŽŸ|!’§úŠïps: SDict begin xyc end‘A Ÿýh0ï" {2.0 0 360 o}xyŽŽŽŽŽ‘*! Ÿñ¤ðï" {-20.91797 11.7627 l}xyŽŽŽŸýh0‘*! Ÿ <Àï" {0.0 -24.0 l}xyŽŽŽ‘? MŸýá°ï" {20.91504 11.7627 l}xyŽŽŽ‘gÄxŽŽŽŽ‘ BŸý¤ðï" {0.0 0.0 l}xyŽŽŽ‘*! Ÿý¤ðï" {29.87088 0.0 l}xyŽŽŽ‘*! Ÿý¤ðï" {0.0 0.0 l}xyŽŽŽ‘dB™žÃ§zŽŽŽŽ‘C Ÿýh0ï" {0.0 0.0 l}xyŽŽŽ‘aB™Ÿýh0ï" {30.21307 0.0 l}xyŽŽŽ‘aB™Ÿýh0ï" {0.0 0.0 l}xyŽŽŽŽŽŽŽŸ‡/‘õŒ¹The–—3Ï\newgraphescapeÇh¹letterÇi“¹declaration“de nes“a“macro“with“name“Ï\graph‘¿ª!Ž‘3”ƒÇh¹letterÇi¹.‘ °DIt“isަ‘õŒslighš²!tly–£Ücomplicated“b˜y“the“fact“that“w˜e“accept“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X-st˜yle“Ï[n]Ž‘†¶¹argumen˜ts“(when“using“LŸýûó‘üÙÂAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X,ŽŽŽŒ‹p€\ Á à ý*tj‘㌹368’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘õŒ¹that–´5is“Ç Ž‘!ÂŽ‘Å^ŽŽŽ‘ ¹).‘KThš²!us“an“in˜ternal“macro“named“Ï\G!Ž‘ó3Çh¹letterÇi“¹is“de ned“using“the“appropriate“commandޤ ™š‘õŒde nition–5primitvš²!e;‘ZÒthis“is“in“turn“in˜v˜ok˜ed“b˜y“Ï\graph‘¿ª!Ž‘12WÇh¹letterÇi“¹after“activ‘ÿdDating“the“Çh¹graphÇi“¹parser.Ž©Pˆ‘ãŒÃ598Ž‘õŒÏ\xydef@\newgraphescape#1{%ŽŽ¡‘ãŒÃ599Ž‘ûKÃÏ\expandafter\let\expandafter\next\csname–¿ªgraph“!#1\endcsnameŽŽ¡‘ãŒÃ600Ž‘ûKÃÏ\ifx\next\relax\else–¿ª\expandafter\let\csname“G!#1\endcsname=\undefinedŽŽ¡‘ãŒÃ601Ž‘ mÏ\xywarning@{Redefining–¿ªgraph““!#1}\fiŽŽ¡‘ãŒÃ602Ž‘ûKÃÏ\expandafter\gdef\csname–¿ªgraph“!#1\endcsname{%ŽŽ¡‘ãŒÃ603Ž‘ mÏ\expandafter\let\expandafter\next\csname‘¿ªG!#1\endcsnameŽŽ¡‘ãŒÃ604Ž‘ mÏ\expandafter\xyFN@\expandafter\NODE@\next}%ŽŽ¡‘ãŒÃ605Ž‘ûKÃÏ\DN@{\newgraphescape@{#1}}\xyFN@\next@}ŽŽ¦‘ãŒÃ607Ž‘õŒÏ\xydef@\newgraphescape@#1{%ŽŽ¡‘ãŒÃ608Ž‘ûKÃÏ\ifx–¿ª[\next“%]ŽŽ¡‘ãŒÃ609Ž‘ mÏ\ifx\newcommand\undefined–¿ª\xyerror@{[n]“only“with“LaTeX}%ŽŽ¡‘ãŒÃ610Ž‘ mÏ\elseŽŽ¡‘ãŒÃ611Ž‘ËÏ\def\nextiv@{\expandafter\newcommand\expandafter{\csname‘¿ªG!#1\endcsname}}\fiŽŽ¡‘ãŒÃ612Ž‘ûKÃÏ\else–¿ª\def\nextiv@{\expandafter\gdef\csname“G!#1\endcsname}\fi“\nextiv@}ŽŽ¦‘ãŒÃ614Ž‘õŒÏ\xydef@\rungraphescape@#1{%ŽŽ¡‘ãŒÃ615Ž‘ûKÃÏ\expandafter\let\expandafter\next\csname–¿ªgraph“!#1\endcsnameŽŽ¡‘ãŒÃ616Ž‘ûKÃÏ\ifx\next\relax–¿ª\xyerror@{Undefined“graph““!#1}\fi“\next}ŽŽŸ‡‘ôŒ¹The–¦f nal“exercise“illustrates“m•²!uc“h–¦fof“the“abMÞo•²!v“e.ŽŸ¹×‘ãŒÔExercise‘23.13:‘ ó5¹T²!ypMÞesetŽŸ™’¬ò•ïps: SDict begin xyc end‘1ëžÃ§ÄwŽŽŽŽ‘@MÒŸ“;xŸ¤zÂ1ŽŽŽŽŽŽ‘8‹ÙŸÆ"ï" {0.01625 -0.00969 l}xyŽŽŽ‘=}øŸ¹ï" {2048 10 /cm AB}xyŽŽŽŽ‘=€ Ÿ»-ï" {4.97017 -4.96689 l}xyŽŽŽ‘A¢9Ÿ ÜMï" {4.14975 -4.14566 l}xyŽŽŽ‘A¢9Ÿ ÜMï" {0.01627 -0.00809 l}xyŽŽŽ‘«@Ÿ|ÄzŽŽŽŽŸýh0‘1Ñ™Ÿ[wï" {0.0 0.0 l}xyŽŽŽ‘'PëŸ DUï" {0 10 /cm AB}xyŽŽŽŽŸýh0‘'PëŸ Ü%ï" {-10.50266 -10.50266 l}xyŽŽŽŸýh0‘Ð+Ÿ\åï" {-10.50293 -10.50293 l}xyŽŽŽŸýh0‘Ð+Ÿ\åï" {0.0 0.0 l}xyŽŽŽ‘2K™Ÿ6#×yŽŽŽŽ‘ÖCŸDï" {0.02708 -0.02052 l}xyŽŽŽ‘'PÙŸ&ü±ï" {2048 10 /cm AB}xyŽŽŽŽ‘'TQŸ')ï" {10.51949 -10.5162 l}xyŽŽŽ‘1K™Ÿ0øjï" {9.99304 -9.99684 l}xyŽŽŽ‘1K™Ÿ0øjï" {0.01949 -0.02708 l}xyŽŽŽ‘@MÒŸ%ÀQxŸ¤zÂ2ŽŽŽŽŽŽŸýh0‘9‡Ÿ3Aï" {0.0 0.0 l}xyŽŽŽ‘=}øŸ,ˆï" {4096 10 /cm AB}xyŽŽŽŽŸýh0‘=}øŸ/Ðï" {4.43532 4.43532 l}xyŽŽŽŸýh0‘A¡-Ÿ*ü›ï" {4.13753 4.13753 l}xyŽŽŽŸýh0‘A¡-Ÿ*ü›ï" {0.0 0.0 l}xyŽŽŽŸýh0‘EÎáŸ"¡3ï" {0.0 0.0 l}xyŽŽŽ‘EÎ០Œï" {-3072 10 /cm AB}xyŽŽŽŽŸýh0‘EÎ៸\ï" {0.0 6.90953 l}xyŽŽŽŸýh0‘EÎáŸÏ…ï" {0.0 6.90953 l}xyŽŽŽŸýh0‘EÎáŸÏ…ï" {0.0 0.0 l}xyŽŽŽ‘?MÒŸªEï" {0.0 -0.00002 l}xyŽŽŽ‘/¡ËŸ•Fï" {-768 10 /cm AB}xyŽŽŽŽ‘/¡ËŸ•Gï" {-15.67198 -3.91801 l}xyŽŽŽ‘>)Ÿ./ï" {-18.38922 -4.5973 l}xyŽŽŽ‘>)Ÿ./ï" {0.0 0.0 l}xyŽŽŽ‘5-Ÿýh0ïh" {mark -27.72015 -27.72015 -53.17603 -53.17603 -53.17603 -2.26428 -27.72015 -27.72015 1.0 0.05176 bz}xyŽŽŽ‘]-Ÿ Œï" {-3072 10 /cm AB}xyŽŽŽŽ‘5-Ÿýh0ïh" {mark -27.72015 -27.72015 -53.17603 -53.17603 -53.17603 -2.26428 -27.72015 -27.72015 0.05176 0.5 bz}xyŽŽŽ‘5-Ÿýh0ïh" {mark -27.72015 -27.72015 -53.17603 -53.17603 -53.17603 -2.26428 -27.72015 -27.72015 0.5 0.94824 bz}xyŽŽŽ‘5-Ÿýh0ïg" {mark -27.72015 -27.72015 -53.17603 -53.17603 -53.17603 -2.26428 -27.72015 -27.72015 1.0 0.9483 bz}xyŽŽŽ‘>)Ÿï" {0.0 -0.04333 l}xyŽŽŽ‘/¡ÊŸ«Ñï" {2816 10 /cm AB}xyŽŽŽŽ‘/£,Ÿ±]ï" {18.39458 -4.62267 l}xyŽŽŽ‘?MÒŸ"˜tï" {15.67744 -3.94601 l}xyŽŽŽ‘?MÒŸ"˜tï" {0.0 -0.04332 l}xyŽŽŽŽŽŽŽŸABçŸ =‘ãŒÞEnd–€&“logŽŸ„Þ‘ãŒÃ662Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ664Ž‘õŒÏ%–¿ª$Log:“xygraph.doc,v“$ŽŽ¡‘ãŒÃ665Ž‘õŒÏ%–¿ªRevision“3.7› T1999/02/16“15:12:50˜krisroseŽŽ¡‘ãŒÃ666Ž‘õŒÏ%–¿ªInterim“release“(Y&Y“fonts“now“free).ŽŽ¡‘ãŒÃ667Ž‘õŒÏ%ŽŽ¡‘ãŒÃ668Ž‘õŒÏ%–¿ªRevision“3.6› T1998/03/06“01:28:05˜krisroseŽŽ¡‘ãŒÃ669Ž‘õŒÏ%–¿ªReleasing“(with“Y&Y“fonts).ŽŽ¡‘ãŒÃ670Ž‘õŒÏ%ŽŽ¡‘ãŒÃ671Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:14:25˜krisroseŽŽ¡‘ãŒÃ672Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ673Ž‘õŒÏ%ŽŽ¡‘ãŒÃ674Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/19“03:31:56˜krisroseŽŽ¡‘ãŒÃ675Ž‘õŒÏ%–¿ªMaintenance“releaseŽŽ¡‘ãŒÃ676Ž‘õŒÏ%ŽŽ¡‘ãŒÃ677Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:22:27“krisŽŽ¡‘ãŒÃ678Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽŽŽŒ‹qŽØ Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹369ŽŽ ¶?? ýh«w‘ãŒÃ679Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ680Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:31:32“krisŽŽ¡‘ãŒÃ681Ž‘õŒÏ%‘¿ªReleasing!ŽŽ¡‘ãŒÃ682Ž‘õŒÏ%ŽŽ¡‘ãŒÃ683Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:14:21“krisŽŽ¡‘ãŒÃ684Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ685Ž‘õŒÏ%ŽŽ¡‘ãŒÃ686Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:11:17“krisŽŽ¡‘ãŒÃ687Ž‘õŒÏ%–¿ªReady“to“release“v3?ŽŽ¡‘ãŒÃ688Ž‘õŒÏ%ŽŽ¡‘ãŒÃ689Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“11:34:25“krisŽŽ¡‘ãŒÃ690Ž‘õŒÏ%–¿ªInterim“release“just“before“v3“[works“with“AMS-LaTeX“1.2]...ŽŽ¡‘ãŒÃ691Ž‘õŒÏ%ŽŽ¡‘ãŒÃ692Ž‘õŒÏ%–¿ªRevision“2.11– T1994/07/05“10:37:32“krisŽŽ¡‘ãŒÃ693Ž‘õŒÏ%–¿ªThird“3beta“release“[bug“fixes].ŽŽ¡‘ãŒÃ694Ž‘õŒÏ%–¿ªExperimental“graph“feature“included“(for“ECCT-94“presentation).ŽŽ¡‘ãŒÃ695Ž‘õŒÏ%ŽŽ¡‘ãŒÃ696Ž‘õŒÏ%–¿ªNew“for“v3...ŽŽŸˆ¿‘ãŒÝ3.7Ž‘r|PŒÌolygon‘fffeatureŽŸq‹‘ãŒæV‘ÿ «ers.‘p3.7–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ«ÿ‘㌹This–kfeature“pro²!vides“a“means“for“spšMÞecifying“the“lo˜cations“of“v²!ertices“for“regular“p˜olygons,‘3¬with“an²!yŽ¡‘ãŒn•²!um“bšMÞer–a(Ç‘A©¹3)“of“sides.‘ °P²!olygons“can“b˜e“easily“draš²!wn“and/or“the“v˜ertex“pMÞositions“used“to“constuctŽ¡‘ãŒcomplex– ~graphics“within“an‘(X‘ü·ŸâÃYŽŽ‘‡ˆ-picture.‘ L$Man²!y“non-regular“pšMÞolygons“can“b˜e“sp˜eci ed“b²!y“setting“aŽ¡‘ãŒnon-square‘¦fbasis.ŽŸ]¨‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xypoly.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Polygon''“feature.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1994-1997“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“macro“package;“if“not,“write“to“the“Free“Software“Foundation,ŽŽŽŽŒ‹r e Á à ý*tj‘㌹370’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ22Ž‘õŒÏ%%–¿ªInc.,“675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¤ ™š‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{poly}{Polygon–¿ªfeature}{\stripRCS$Revision:“3.7“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸô»‘ôŒ¹Some–¦fof“the“e ects“use“Ï\arŽ‘‹Ê¹so“makš²!e“sure“the“`arro˜w'“feature“is“loaded.ަ‘ãŒÃ45Ž‘õŒÏ\xyrequire{arrow}\xycatcodesŽŽŸv‘ãŒÃ51Ž‘õŒÏ\message{polygons,}ŽŽŸ=Í‘ôŒ¹A–¦fpšMÞolygon“is“most“easily“sp˜eci ed“using“.–Ó3.“.Ž‘ãŒŸ OG‰ffã²d© {¿‘=R·Ï\xypolygonŽ‘vÏ[Çh¹n•²!um“bMÞerÇiÏ{}ŽŽ’¿y±¹with›¦fÇh¹n•²!um“bMÞerÇi˜¹sides;ŽŽŽŽ¡‘=R·Ï\xypolygonŽ‘vÏ[Çh¹n•²!um“bMÞerÇiÏ{Ž‘¿ªÇh¹tokÇiÏ}ŽŽ’ÊlæÇh¹tokÇi–¦f¹at“v²!ertices;ŽŽŽŽ¡‘=R·Ï\xypolygonŽ‘vÏ[Çh¹n•²!um“bMÞerÇiÏ{Ž‘¿ªÇh¹ob‘›»jectÇiÏ}ŽŽŽ¡‘V߇¹with–¦fa“general“Çh¹ob‘›»jectÇi“¹at“eacš²!h“v˜ertex;ŽŽŸÕ‰ffã²dŸþ6Here›X Çh¹n•²!um“bMÞerÇi˜¹is˜a˜sequence˜of˜digits,‘„vgiving˜the˜n“um“bMÞer˜of˜sides.‘òÑIf˜used˜within˜an˜Ï\xyŽ‘— ¹.–Ó3.“.“Ï\endxyŽŽ¡¹en•²!vironmen“t– then“the“pšMÞolygon“will“b˜e“cenš²!tred“on“Äc¹,‘>‚the“curren˜t“Çh¹pMÞosÇi¹.‘JîHo˜w˜ev˜er“an“Ï\xypolygonŽ‘A¼Ð¹canŽ¡bMÞe–ÞŠused“outside“sucš²!h“an“en˜vironmen˜t,‘ì“as“\stand-alone"“pMÞolygon;‘úœthe“whole“picture“m˜ust“bšMÞe“sp˜eci edŽ¡within–¦fthe“Ï\xypolygonŽ‘@Ép¹command.Ž¡‘In–§šeither“case“the“shapMÞe“is“obtained“bš²!y“spacing“v˜ertices“equally“around“the“\unit“circle"“with“respMÞectŽ¡to–ô the“currenš²!t“basis.‘ÆÆIf“this“basis“is“non-square“then“the“v˜ertices“will“lie“on“an“ellipse.‘ÆÆNormally“theŽ¡pMÞolygon,›Swith–>Nat“most“12“v²!ertices,˜is“orienš²!ted“so“as“to“ha˜v˜e“a“ at“base“when“spMÞeci ed“using“a“standardŽ¡square–Ïbasis.‘W¾With“more“than“12“vš²!ertices“the“orien˜tation“is“suc˜h“that“the“line“from“the“cen˜tre“to“theŽ¡ rst– rvš²!ertex“is“horizon˜tal,‘%õpMÞoin˜ting“to“the“righ˜t.‘An˜y“other“desired“orien˜tation“can“bMÞe“obtained,‘%õwithŽ¡an•²!y›¦fn“um“bMÞer˜of˜v“ertices,˜b“y˜using˜the˜Ï~={Ž‘åd¹.–Ó3.“.“Ï}Ž‘ 9C¹as˜describ•MÞed˜b“elo²!w.ޤ†ß‘The–¦fgeneral“form“for“Ï\xypolygonŽ‘@Ép¹is“.–Ó3.“.ŽŸ %‰ffã²d¦’‚0nÏ\xypolygonŽ’»­Çh¹n•²!um“bMÞerÇiÏ"Ž‘¿ªÇh¹pre xÇiÏ"{Ž‘ TÇh¹switc“hesÇi¹.–Ó3.“.“Ï}ŽŽŽŸq†‰ffã²dŸþ6¹where–¦fthe“Ï"Ž– fÇh¹pre xÇiÏ"Ž“¹and–¦fÇh¹switc²!hesÇi“¹are“optional.‘ÝÝTheir“uses“will“bšMÞe“describ˜ed“shortly‘ÿe.Ž¡‘A‘q]Ï\xypolygonŽ‘@_k¹establishes–qjpšMÞositions“for“the“v²!ertices“of“a“p˜olygon.‘Ì4A²!t“the“same“time“v‘ÿdDarious“thingsޤ ™šmaš²!y–DÿbMÞe“t˜ypšMÞeset,‘l¥according“to“the“sp˜eci ed“Çh¹switcš²!hesÇi¹.‘¹©An“Çh¹ob‘›»jectÇi“¹ma˜y“bšMÞe“dropp˜ed“at“eacš²!h“v˜ertex,Ž¡\spMÞok•²!es"›¢édra“wn˜to˜the˜cen“tre˜and˜successiv“e˜v“ertices˜ma“y˜b•MÞe˜connected˜as˜the˜p“olygon's˜\sides".‘‡^Lab“elsŽ¡and–¦fbreaks“can“bšMÞe“sp˜eci ed“along“the“sp˜ok²!es“and“sides.Ž¡‘Eac•²!h›v“ertex˜is˜automatically˜named:‘K2Ï"1"Ž‘Š0¹,‘»¹Ï"2"Ž‘ú·¹,›»¹.–Ó3.“.“,˜Ï"Ž‘{cÇh¹n•²!um“bMÞerÇiÏ"Ž‘@¸¹with‘Ï"0"Ž‘A¹as›cen“tre.‘|When˜a˜Çh¹pre xÇiŽ¡¹has–5)bMÞeen“giv²!en,›˜Ùnames“Ï"Ž‘ ôÓÇh¹pre xÇiÏ0"Ž‘ T¹,˜.–Ó3.“.“,˜Ï"Ž‘ XƒÇh¹pre xÇih¹n•²!um“bšMÞerÇiÏ"Ž‘ ôÓ¹are–5)used“instead.‘ Š%While“the“p˜olygonŽ¡is–eCbšMÞeing“constructed“the“macro“Ï\xypolynumŽ‘DG*¹expands“to“the“n•²!um“b˜er–eCof“sides,‘Ôúwhile“Ï\xypolynodeŽŽ¡¹expands–¼)to“the“n•²!um“bMÞer–¼)of“eacš²!h“v˜ertex,‘šspMÞok˜e“and“side“at“the“time“it“is“prošMÞcessed.‘'This“o˜ccurs“inŽ¡the–sLfollo²!wing“order:‘w¨Ðvertex–Ó1¹1,›¦…Ðsp‘ÿp¹oke“¹1,˜Ðvertex“¹2,˜Ðsp‘ÿp¹oke“¹2,˜Ðside“¹1,˜Ðvertex“¹3,˜Ðsp‘ÿp¹oke“¹3,˜Ðside“¹2,˜.–Ó3.“.“,˜Ðvertex‘`$Än¹,Ž¡Ðsp‘ÿp¹oke– §Än¹,›¦fÐside“Än–nìÇ“¹1,˜Ðside‘ §Än˜¹where˜the˜ nal˜side˜joins˜the˜last˜v²!ertex˜to˜the˜ rst.Ž¡‘The–ˆÌmacro“Ï\xypolynameŽ‘FMæ¹holds“the“name“of“the“pMÞolygon,‘Ž·whic²!h“is“Çh¹pre xÇi“¹if“supplied.‘ÓÿIn“this“caseŽ¡the–¦fv‘ÿdDalue“of“Ï\xypolynumŽ‘@Ép¹is“also“stored“as“Ï\Ž‘ fÇh¹pre xÇiÏNUMSIDESŽ‘-ýP¹,“accessible“outside“the“pMÞolygon.Ž¡‘As–9¹stated“abšMÞo•²!v“e,‘Oua–9¹p˜olygon“with“up“to“12“vš²!ertices“is“orien˜ted“so“as“to“ha˜v˜e“a“ at“base,‘Ouwhen“dra˜wnŽ¡using–býa“standard“square“basis.‘¢Its“vš²!ertices“are“n˜um˜bMÞered“in“an˜ti-cloMÞc˜kwise“order,‘’#commencing“withŽ¡the–Þone“at“horizon•²!tal-righ“t–Þof“cenš²!tre,‘+íor“the“smallest“angle“abMÞo˜v˜e“this“(see“example“bMÞelo˜w).‘„¼WithŽŽŽŒ‹s¬$ Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹371ŽŽ ¶?? ýh«w‘ãŒmore–l)than“12“vš²!ertices“then“v˜ertex“Ï"1"Ž‘P¹is“loMÞcated“on“the“horizon˜tal,‘wÏextending“to“the“righ˜t“from“cen˜treޤ ™š‘ãŒ(assuming–ýa“standard“square“basis).‘8¡By“proš²!viding“a“switc˜h“of“the“form“Ï~={Ž‘XûÇh¹angleÇiÏ}Ž‘ Ù§¹then“the“v˜ertexŽ¡‘ãŒÏ"1"Ž‘øµ—¹will–ê€bšMÞe“lo˜cated“on“the“unit“circle“at“Çh¹angleÇiŸü¾ÈŽ‘ª„¹an•²!ti-clo˜c“kwise–ê€from“\horizon²!tal"“|“more“correctly‘ÿe,Ž¡‘ãŒfrom–ÿxthe“ÄX‘Ûø¹-direction“in“the“basis“to“bšMÞe“used“when“setting“the“p˜olygon,‘ Ûwhicš²!h“ma˜y“bMÞe“established“usingŽ¡‘ãŒa‘¦fÏ~:{Ž‘åd¹.–Ó3.“.“Ï}Ž‘ 9C¹switc²!h.ޤ §nŸ+Ÿ*‘oïŽïps: SDict begin xyc end‘ˆÝŸæÖhÉŽŽŽŽŽ‘¿ýŸ ÖhŽŽŽŽŽŸýh0‘ ª§Ÿ ï" {-20.78467 -36.0 l}xyŽŽŽ‘1Q½Ÿ ÖhŽŽŽŽŽ‘3{}}},ŽŽ¡‘ãŒ{\xypolygon5"C"{~:{(-2.95,0):}~>{}}},ŽŽ¡‘ãŒ{\xypolygon5"D"{~:{(-3.75,0):}}},ŽŽ¡‘ãŒ{"A1"\PATH~={**@{-}}'"B1"'"C4"'"B2"},ŽŽ¡‘ãŒ{"A2"\PATH~={**@{-}}'"B2"'"C5"'"B3"},ŽŽ¡‘ãŒ{"A3"\PATH~={**@{-}}'"B3"'"C1"'"B4"},ŽŽ¡‘ãŒ{"A4"\PATH~={**@{-}}'"B4"'"C2"'"B5"},ŽŽ¡‘ãŒ{"A5"\PATH~={**@{-}}'"B5"'"C3"'"B1"},ŽŽ¡‘ãŒ"C1";"D1"**@{-},"C2";"D2"**@{-},ŽŽ¡‘ãŒ"C3";"D3"**@{-},"C4";"D4"**@{-},ŽŽ¡‘ãŒ"C5";"D5"**@{-}‘¿ª\endxyŽŽŸ^\‘㌹Next–a¨a“hexagonal“pš²!yramid,‘oha“rectangular“bMÞo˜x“and“an“ošMÞctahedral“crystal“sp˜eci ed“as“a“triangular“an²!ti-Ž¡‘ãŒprism.‘e›Notice–Ó¥hoš²!w“the“Ï~:{Ž‘£¹.–Ó3.“.“Ï}Ž‘ f‚¹switc˜h–Ó¥is“used“to“create“non-square“bases,‘õallo˜wing“the“illusion“ofŽ¡‘ãŒ3D-p•MÞersp“ectiv²!e–¦fin“the“resulting“diagrams:ަŸ(Vm‘éIïps: SDict begin xyc endŸýh0‘ÌÈŸÜï" {-19.20007 38.40015 l}xyŽŽŽŸýh0‘ÌÈŸÜï" {-7.88599 30.3411 l}xyŽŽŽ‘$¯˜Ÿ÷¿‚ï" {-11.31409 8.05905 l}xyŽŽŽŸýh0‘ÌÈŸÜï" {16.11401 27.94095 l}xyŽŽŽ‘ ¯˜ŸõYï" {-24.0 2.40015 l}xyŽŽŽŸýh0‘ÌÈŸÜï" {28.79993 33.59985 l}xyŽŽŽŸûÀï" {-12.68591 -5.6589 l}xyŽŽŽŸýh0‘ÌÈŸÜï" {17.48584 41.6589 l}xyŽŽŽ‘ PhŸÞï" {11.31409 -8.05905 l}xyŽŽŽŸýh0‘ÌÈŸÜï" {-6.51416 44.05905 l}xyŽŽŽ‘#PhŸwNï" {24.0 -2.40015 l}xyŽŽŽ‘0žÎ ï" {12.68591 5.6589 l}xyŽŽŽŽŽŽ’ºÜ~ïps: SDict begin xyc endŸñ‡ï" {-33.94116 0.0 l}xyŽŽŽŸýh0Ÿ áï" {0.0 -23.7587 l}xyŽŽŽ‘!ððŸ IMï" {33.94116 0.0 l}xyŽŽŽŸýh0‘!ððŸôãï" {0.0 23.7587 l}xyŽŽŽ‘1ªŸØÓï" {-27.15302 0.0 l}xyŽŽŽŸýh0‘1ªŸïÈ@ï" {0.0 -20.36475 l}xyŽŽŽ‘/XÖŸí0pï" {27.15302 0.0 l}xyŽŽŽŸýh0‘/XÖŸÛjàï" {0.0 20.36475 l}xyŽŽŽŸýh0‘/XÖŸÛjàï" {13.40585 24.70317 dt}xyŽŽŽŸýh0‘1ªŸÛjàï" {20.194 24.70317 dt}xyŽŽŽŸýh0‘1ªŸïÈ@ï" {20.194 28.09712 dt}xyŽŽŽŸýh0‘/XÖŸïÈ@ï" {13.40585 28.09712 dt}xyŽŽŽŽŽŽ’õ(‰ïps: SDict begin xyc endŸýh0Ÿfdï" {-20.78467 -25.19989 l}xyŽŽŽ‘)‘ÀŸΔï" {41.56934 0.0 l}xyŽŽŽŸýh0‘ÈàŸï38ï" {-20.78467 25.19989 l}xyŽŽŽŸýh0‘5¸ÄŸÝp•ï" {13.07726 24.48026 l}xyŽŽŽ‘c8ŸÚØÅï" {-35.33417 0.0 l}xyŽŽŽŸýh0‘(¤ýŸõë‡ï" {22.25691 -24.48026 l}xyŽŽŽ‘5¸ÄŸÚØÅï" {32.93707 17.7603 dt}xyŽŽŽŸýh0‘)‘ÀŸfdï" {-12.1524 -42.96019 dt}xyŽŽŽŸýh0‘(¤ýŸõë‡ï" {-0.92485 18.47993 dt}xyŽŽŽŸΔï" {-40.64449 -18.47993 dt}xyŽŽŽŸýh0‘c8ŸÝp•ï" {18.38757 42.96019 dt}xyŽŽŽŸýh0‘ÈàŸï38ï" {2.3971 -17.7603 dt}xyŽŽŽŸýh0‘ÈàŸï38ï" {0.0 0.0 dt}xyŽŽŽŽŽŽŽŽŸKL‘ãŒÏ\xy/r2pc/:–¿ª="A",“+(.2,1.5)="B","A",ŽŽ¡‘ãŒ{\xypolygon6{~:{(1,-.1):(0,.33)::}ŽŽŽŽŒ‹t¾! Á à ý*tj‘㌹372’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘éKÃÏ~<>{;"B"**@{-}}}}\endxyŽŽ¤ ™š‘ãŒ\quad–¿ª\xy“/r2pc/:ŽŽ¡‘ãŒ{\xypolygon4"A"{~:{(0,.7)::}}},+(.7,1.1),ŽŽ¡‘ãŒ{\xypolygon4"B"{~:{(.8,0):(0,.75)::}}},ŽŽ¡‘ãŒ"A1";"B1"**@{.},"A2";"B2"**@{.},ŽŽ¡‘ãŒ"A3";"B3"**@{.},"A4";"B4"**@{.}ŽŽ¡‘ãŒ\endxy\quad–¿ª\xy“/r2pc/:ŽŽ¡‘ãŒ{\xypolygon3"A"{~:{(0,.7)::}}},+(.7,1.1),ŽŽ¡‘ãŒ{\xypolygon3"B"{~:{(-.85,0):(-.15,.8)::}}}ŽŽ¡‘ãŒ,"A1"\PATH~={**@{.}}'"B2"'"A3"'"B1"ŽŽ¡‘ãŒ'"A2"'"B3"'"A1"‘¿ª\endxyŽŽŸGæ‘ôŒ\xypolynodeŽ‘7z¹simply–±´reads“the“v‘ÿdDalue“of“a“coun²!ter“called“Ï\xypolynode@Ž‘H­¬¹.‘ÿÇIt“is“set“initially“at“-1,‘´‡toŽ¡‘ãŒindicate–¦fno“pšMÞolygon“y²!et.‘ÝÝThis“is“used“to“establish“the“default“naming“in“case“p˜olygons“are“nested.Ž©Pˆ‘ãŒÃ211Ž‘õŒÏ\xynew@{count}\xypolynode@\xypolynode@=\m@neŽŽ¡‘ãŒÃ212Ž‘õŒÏ\xydef@\xypolynode{\the\xypolynode@}ŽŽ¦‘ãŒÃ214Ž‘õŒÏ\xydef@\xypolyNUMSIDES@{}ŽŽ¡‘ãŒÃ215Ž‘õŒÏ\xydef@\xypolynum{\xypolyNUMSIDES@}ŽŽŸGæ‘ôŒ¹T‘ÿeo–Išalloš²!w“recursion“the“v‘ÿdDalues“of“Ï\xypolyNUMSIDES@Ž‘dÔ¹and“Ï\xypolynode@Ž‘M,¹are“sa˜v˜ed“upMÞon“en˜teringŽ¡‘ãŒan‘¦fÏ\xypolygonŽ‘=# ¹,–¦fto“bMÞe“restored“at“the“end.ަ‘ãŒÃ222Ž‘õŒÏ\xydef@\xypolygon{\xypoly@}%ŽŽ¦‘ãŒÃ224Ž‘õŒÏ\xydef@\xypoly@{%ŽŽ¡‘ãŒÃ225Ž‘ûKÃÏ\if\inxy@ŽŽ¡‘ãŒÃ226Ž‘ mÏ\if\inxypoly@ŽŽ¡‘ãŒÃ227Ž‘ËÏ\edef\next@{\noexpand\xy@@{\noexpand\nter@{\xypolynode@=\the\xypolynode@ŽŽ¡‘ãŒÃ228Ž‘ ŠÁÏ\noexpand\def\noexpand\xypolyNUMSIDES@{\xypolyNUMSIDES@}}}}%ŽŽ¡‘ãŒÃ229Ž‘ mÏ\elseŽŽ¡‘ãŒÃ230Ž‘ËÏ\DN@{\xy@@{\def\inxypoly@{TT}%ŽŽ¡‘ãŒÃ231Ž‘ ŠÁÏ\nter@{\def\inxypoly@{TF}\xypolynode@=\m@ne}}}%ŽŽ¡‘ãŒÃ232Ž‘ mÏ\fiŽŽ¡‘ãŒÃ233Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ234Ž‘ mÏ\if\inxypoly@ŽŽ¡‘ãŒÃ235Ž‘ËÏ\edef\next@{\noexpand\xyŽŽ¡‘ãŒÃ236Ž‘ ŠÁÏ\noexpand\xy@@{\noexpand\nter@{\xypolyside=\the\xypolysideŽŽ¡‘ãŒÃ237Ž‘JkÏ\noexpand\def\noexpand\xypolyNUMSIDES@{\xypolyNUMSIDES@}\endxy}}}%ŽŽ¡‘ãŒÃ238Ž‘ mÏ\elseŽŽ¡‘ãŒÃ239Ž‘ËÏ\DN@{\xy‘¿ª\xy@@{\def\inxypoly@{TT}%ŽŽ¡‘ãŒÃ240Ž‘ ŠÁÏ\nter@{\def\inxypoly@{TF}\xypolynode@=\m@ne‘¿ª\endxy}}}%ŽŽ¡‘ãŒÃ241Ž‘ mÏ\fiŽŽ¡‘ãŒÃ242Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ243Ž‘ûKÃÏ\next@–¿ª\count@=\z@“\xyFN@\xypoly@n}ŽŽ¦‘ãŒÃ245Ž‘õŒÏ\xydef@\inxypoly@{TF}%ŽŽ¡‘ãŒÃ246Ž‘õŒÏ\xydef@\xypoly@x{\xy@@{\leave@\leave@}}ŽŽŸGæ‘ôŒ¹Read–¦fthe“n•²!um“bMÞer–¦fof“vš²!ertices“b˜y“parsing“digits.ަ‘ãŒÃ252Ž‘õŒÏ\xydef@\xypoly@n{%ŽŽ¡‘ãŒÃ253Ž‘ûKÃÏ\DN@##1{\multiply\count@10\relax–¿ª\advance\count@##1\relax“\xyFN@\xypoly@n}%ŽŽ¡‘ãŒÃ254Ž‘ûKÃÏ\ifx‘¿ª\space@\nextŽŽŽŽŒ‹uÙD Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹373ŽŽ ¶?? ýh«w‘ãŒÃ255Ž‘ mÏ\ifnum\count@>\z@‘¿ª\expandafter\DN@\space@{\xyFN@\xypoly@i}%ŽŽ¤ ™š‘ãŒÃ256Ž‘ mÏ\else‘¿ª\expandafter\DN@\space@{\xyFN@\xypoly@n}\fiŽŽ¡‘ãŒÃ257Ž‘ûKÃÏ\else\ifx–¿ª0\next“\else\ifx“1\next“\else\ifx“2\next“\else\ifx“3\nextŽŽ¡‘ãŒÃ258Ž‘ûKÃÏ\else\ifx–¿ª4\next“\else\ifx“5\next“\else\ifx“6\next“\else\ifx“7\nextŽŽ¡‘ãŒÃ259Ž‘ûKÃÏ\else\ifx–¿ª8\next“\else\ifx“9\nextŽŽ¡‘ãŒÃ260Ž‘ûKÃÏ\else–¿ª\let\next@=\xypoly@i“\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi“\next@}ŽŽ©Pˆ‘ãŒÃ262Ž‘õŒÏ\xydef@\xypoly@i{\edef\xypolyNUMSIDES@{\the\count@}\xyFN@\xygetpolyprefix@}ŽŽŸGæ‘ôŒ¹Next–ŸÜwš²!e“c˜hec˜k“whether“a“pre x“has“bMÞeen“supplied“for“creating“the“v˜ertex“names.‘Û¯If“so“it“is“storedŽ¡‘ãŒas‘žXÏ\xypolyPREFIX@Ž‘T¤¹,‘Ÿôwhicš²!h–žXotherwise“expands“to“empt˜y‘ÿe.‘Û.The“n˜um˜bMÞer“of“sides“is“also“stored“using“theŽ¡‘ãŒpre x.ަ‘ãŒÃ270Ž‘õŒÏ\xydef@\xypolyPREFIX@{}%ŽŽ¡‘ãŒÃ271Ž‘õŒÏ\xydef@\xypolyPREFIX@@{}%ŽŽ¡‘ãŒÃ272Ž‘õŒÏ\xydef@\xypolyname{\xypolyPREFIX@}%ŽŽ¦‘ãŒÃ274Ž‘õŒÏ\xydef@\xygetpolyprefix@{%ŽŽ¡‘ãŒÃ275Ž‘ûKÃÏ\ifx\next"\DN@"##1"{\def\xypolyPREFIX@@{##1}\expandafterŽŽ¡‘ãŒÃ276Ž‘ mÏ\edef\csname\xypolyPREFIX@@‘¿ªNUMSIDES\endcsname{\xypolyNUMSIDES@}%ŽŽ¡‘ãŒÃ277Ž‘ mÏ\xypolyprefix@@‘¿ª}%ŽŽ¡‘ãŒÃ278Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ279Ž‘ mÏ\ifnum\xypolynode@<\z@\def\xypolyPREFIX@@{}%ŽŽ¡‘ãŒÃ280Ž‘ mÏ\elseŽŽ¡‘ãŒÃ281Ž‘ËÏ\edef\xypolyPREFIX@@{\xypolyPREFIX@\the\xypolynode@,}%ŽŽ¡‘ãŒÃ282Ž‘ mÏ\fi‘¿ª\DN@{\xypolyprefix@@}%ŽŽ¡‘ãŒÃ283Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ285Ž‘õŒÏ\xydef@\xypolyprefix@@{%ŽŽ¡‘ãŒÃ286Ž‘ûKÃÏ\expandafter\toks@\expandafter{\addEQ@\POS"}%ŽŽ¡‘ãŒÃ287Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\xypolyPREFIX@@0"\relax}%ŽŽ¡‘ãŒÃ288Ž‘ûKÃÏ\the\toks@ŽŽ¡‘ãŒÃ289Ž‘ûKÃÏ\ifnum\xypolynode@<\z@ŽŽ¡‘ãŒÃ290Ž‘ mÏ\expandafter\def\expandafter\xypolyPREFIX@\expandafter{\xypolyPREFIX@@}%ŽŽ¡‘ãŒÃ291Ž‘ mÏ\xy@@{\enter@{\xypolynode@=\the\xypolynode@ŽŽ¡‘ãŒÃ292Ž‘ËÏ\noexpand\def\noexpand\xypolyPREFIX@{\xypolyPREFIX@}}\xypolynode@=\z@‘¿ª}%ŽŽ¡‘ãŒÃ293Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ294Ž‘ mÏ\xy@@{\enter@{\xypolynode@=\the\xypolynode@ŽŽ¡‘ãŒÃ295Ž‘ËÏ\noexpand\def\noexpand\xypolyPREFIX@{\xypolyPREFIX@}}\xypolynode@=\z@‘¿ª}%ŽŽ¡‘ãŒÃ296Ž‘ mÏ\expandafter\def\expandafter\xypolyPREFIX@\expandafter{\xypolyPREFIX@@}%ŽŽ¡‘ãŒÃ297Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ298Ž‘ûKÃÏ\xypoly@@i‘¿ª}ŽŽŸGæ‘ôŒ¹Curren•²!tly›ŒÉan“y˜tok“ens˜remaining˜b•MÞefore˜the˜op“ening˜brace˜are˜discarded,‘Æawith˜an˜accompan²!yingŽ¡‘ãŒmessage.ަ‘ãŒÃ305Ž‘õŒÏ\xydef@\xypoly@@i#1#{\begingroupŽŽ¡‘ãŒÃ306Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\elseŽŽ¡‘ãŒÃ307Ž‘ûKÃÏ\xywarning@{discarding–¿ªunused“tokens:“#1}\fi“\xypoly@@“}ŽŽŸGæ‘ôŒ¹Next–Ígit“is“time“to“analyse“the“braced“information,‘×'e.g.›Ràto“set“switc²!hes“and/or“adjust“the“scale.˜IfŽ¡‘ãŒthis–¦finformation“is“empt²!y“Ï{}Ž‘Ì ¹then“the“default“v‘ÿdDalues“are“used.ަ‘ãŒÃ316Ž‘õŒÏ\xydef@\xypoly@@#1{\xypolydefaults@ŽŽ¡‘ãŒÃ317Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\DN@{\xypoly@@@}%ŽŽŽŽŒ‹vã} Á à ý*tj‘㌹374’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ318Ž‘ûKÃÏ\else–¿ª\DN@{\xyFN@\xypolyparams@#1~!}\fi“\next@}ŽŽ©Pˆ‘ãŒÃ320Ž‘õŒÏ\xydef@\xypolydefaults@{\def\xypolySCALE@{}%ŽŽ¤ ™š‘ãŒÃ321Ž‘ûKÃÏ\def\xypolySPOKES@{{}}\def\xypostSPOKES@{}\let\xypreSPOKES@\relaxŽŽ¡‘ãŒÃ322Ž‘ûKÃÏ\def\xypolySIDES@{{-}}\def\xypostSIDES@{}\let\xypreSIDES@\relaxŽŽ¡‘ãŒÃ323Ž‘ûKÃÏ\def\xypolyVERTEX@{}\def\xypolyALIGN@{}}ŽŽŸ$Ì3‘ãŒÔV‘þó\ertex‘húob‘³ject:‘ ó5¹Unless–Õºthe“ rst“cš²!haracter“is“Ï~Ž‘ •d¹,‘áŽsignifying“a“\switc˜h",‘áŽthen“the“whole“of“the“bracedŽ¡‘ãŒmaterial–w$is“takš²!en“as“spMÞecifying“the“Çh¹ob‘›»jectÇi“¹for“eac˜h“v˜ertex.‘PIt“will“bMÞe“t˜ypMÞeset“with“a“circular“edgeŽ¡‘ãŒusing‘”Ï\drop[o]...Ž‘DLâ¹,‘kexcept–”when“there“is“just“a“single“tok²!en“Çh¹tokÇi¹.‘ gIn“this“case“it“is“droppMÞed“asŽ¡‘ãŒÏ\drop=0{Ž‘‰iÇh¹tokÇiÏ}Ž‘¿ª¹,‘óƒha²!ving–°äzero“size.‘ýXAn“ob‘›»ject“can“also“bšMÞe“dropp˜ed“at“eacš²!h“v˜ertex“using“the“switc˜hŽ¡‘ãŒÏ~*{Ž‘ô˹.–Ó3.“.“Ï}Ž‘’ݹ,–¦fin“whicš²!h“case“it“will“bMÞe“circular,“with“the“curren˜t“Ðobje–ÿp¹ctmar“gin‘}q¹applied.ޤ'2‘ôŒThe–¦fnext“example“illustrates“three“di erenš²!t“w˜a˜ys“of“spMÞecifying“a“Ï\circŽ‘$ ¹at“the“v˜ertices.Ž¡Ÿ ÛÏ‘Ùmïps: SDict begin xyc end‘+ ƒŸù ïÇŽŽŽŽŽ‘%jSŸîÞ§ŽŽŽŽŽŸýh0‘(' Ÿïˆï" {-6.21167 10.75891 l}xyŽŽŽ‘¨ Ÿè¨wŽŽŽŽŽ‘dØŸæ9ˆï" {-10.75891 6.21167 l}xyŽŽŽ‘;«Ÿè¨wŽŽŽŽŽ‘øxŸæ9ˆï" {-12.42334 0.0 l}xyŽŽŽ‘ycŸîÞ§ŽŽŽŽŽ‘60Ÿìo¸ï" {-10.75891 -6.21167 l}xyŽŽŽ‘ýC3Ÿù ïŽŽŽŽŽŸýh0ŸùÉÐï" {-6.21167 -10.75891 l}xyŽŽŽ‘ýC3Ÿ OŽŽŽŽŽŸýh0Ÿ60ï" {0.0 -12.42334 l}xyŽŽŽ‘ycŸÏ—ŽŽŽŽŽŸýh0‘60Ÿøxï" {6.21167 -10.75891 l}xyŽŽŽ‘;«ŸÇŽŽŽŽŽ‘øxŸ–Øï" {10.75891 -6.21167 l}xyŽŽŽ‘¨ ŸÇŽŽŽŽŽ‘dØŸ–Øï" {12.42334 0.0 l}xyŽŽŽ‘%jSŸÏ—ŽŽŽŽŽ‘(' Ÿ`¨ï" {10.75891 6.21167 l}xyŽŽŽ‘+ ƒŸ OŽŽŽŽŽŸýh0‘.]PŸ60ï" {6.21167 10.75891 l}xyŽŽŽŸýh0‘.]PŸùÉÐï" {0.0 12.42334 l}xyŽŽŽ‘hqÛž×ŽŽŽŽŽ‘hqÛŸýh0ï" {21.2625 0.0 l}xyŽŽŽ‘cÜ{Ÿñ»ÇŽŽŽŽŽ‘dy`ŸðÕ“ï" {17.29187 12.57271 l}xyŽŽŽ‘WÜ{ŸéßŽŽŽŽŽŸýh0‘YÛŠŸë„Dï" {6.67532 20.48334 l}xyŽŽŽ‘I;ŸéßŽŽŽŽŽŸýh0‘L°Ÿë„Dï" {-6.67566 20.48334 l}xyŽŽŽ‘=;Ÿñ»ÇŽŽŽŽŽ‘AãÚŸðÕ“ï" {-17.2922 12.57271 l}xyŽŽŽ‘8qÛž×ŽŽŽŽŽ‘=ëuŸýh0ï" {-21.2625 0.0 l}xyŽŽŽ‘=;Ÿ òwŽŽŽŽŽ‘AãÚŸ úàï" {-17.2922 -12.573 l}xyŽŽŽ‘I;Ÿª_ŽŽŽŽŽŸýh0‘L°Ÿ{Ðï" {-6.67566 -20.48364 l}xyŽŽŽ‘WÜ{Ÿª_ŽŽŽŽŽŸýh0‘YÛŠŸ{Ðï" {6.67532 -20.48364 l}xyŽŽŽ‘cÜ{Ÿ òwŽŽŽŽŽ‘dy`Ÿ úàï" {17.29187 -12.573 l}xyŽŽŽ’¢ž#Ÿö§ßŽŽŽŽŽ’Ÿ¸úŸõyƒï" {16.91664 7.00583 l}xyŽŽŽŽ’ y¨Ÿ÷Sáï" {16.91664 7.00583 l}xyŽŽŽŽŽ’•¡Ÿéª×ŽŽŽŽŽŸýÙ’•mŸîêgï" {7.17029 17.08437 l}xyŽŽŽŽŸýȇ’—GoŸîêgï" {7.17029 17.08437 l}xyŽŽŽŽŽ’œJSŸë2áï" {-5.14069 5.0596 l}xyŽŽŽ’ƒB›Ÿéª×ŽŽŽŽŽŸýÈ’‡³Ÿîêgï" {-7.17099 17.08437 l}xyŽŽŽŽŸýá’ˆðŸîêgï" {-7.17099 17.08437 l}xyŽŽŽŽŽ’‹¼5Ÿç;èï" {-6.89413 0.0 l}xyŽŽŽ‘vE“Ÿö§ßŽŽŽŽŽ‘}ãzŸ÷SÙï" {-16.91734 7.00583 l}xyŽŽŽŽ‘~¤(Ÿõy‹ï" {-16.91734 7.00583 l}xyŽŽŽŽŽŸýh0‘|îËŸòÙóï" {-5.14069 -5.0596 l}xyŽŽŽ‘vE“Ÿ _ŽŽŽŽŽ‘~¤ ŸWï" {-16.91734 -7.0065 l}xyŽŽŽŽ‘}ゟ|³ï" {-16.91734 -7.0065 l}xyŽŽŽŽŽŸýh0‘y`Ÿ¿èï" {0.0 -7.49927 l}xyŽŽŽ’ƒB›ŸgŽŽŽŽŽŸýÈ’ˆð ŸÄï" {-7.17099 -17.08502 l}xyŽŽŽŽŸýá’‡»ŸÄï" {-7.17099 -17.08502 l}xyŽŽŽŽŽ’‚ÏŸ«ï" {5.14069 -5.0596 l}xyŽŽŽ’•¡ŸgŽŽŽŽŽŸýÙ’—GgŸÄï" {7.17029 -17.08502 l}xyŽŽŽŽŸýȇ’•mŸÄï" {7.17029 -17.08502 l}xyŽŽŽŽŽ’’¡Ÿ”xï" {6.89413 0.0 l}xyŽŽŽ’¢ž#Ÿ _ŽŽŽŽŽ’ y Ÿ|«ï" {16.91664 -7.0065 l}xyŽŽŽŽ’Ÿ¹ŸW ï" {16.91664 -7.0065 l}xyŽŽŽŽŽŸýh0’¡nWŸ &9ï" {5.14069 5.0596 l}xyŽŽŽŸýh0’¥ZðŸü@ï" {0.0 7.49927 l}xyŽŽŽŽŽŽŽŸ.Ä“‘ãŒÏ\xy/r2pc/:‘¿ª{\xypolygon12{\circ}},ŽŽ¤ ™š‘ãŒ+/r5pc/,{\xypolygon10{~<{-}~>{}{\circ}}},ŽŽ¡‘ãŒ+/r5pc/,{\xypolygon8{~*{\circ}~<=}}\endxyŽŽŸv‘ãŒÃ352Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*=0}}ŽŽ¡‘ãŒÃ353Ž‘õŒÏ\xylet@\xypolynullvertex@=\nextŽŽ¦‘ãŒÃ355Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*[o]}}ŽŽ¡‘ãŒÃ356Ž‘õŒÏ\xylet@\xypolyvertex@=\nextŽŽ¦‘ãŒÃ358Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*+[o]}}ŽŽ¡‘ãŒÃ359Ž‘õŒÏ\xylet@\xypolywidevertex@=\nextŽŽ¦‘ãŒÃ361Ž‘õŒÏ\xydef@\xypolyparams@{%ŽŽ¡‘ãŒÃ362Ž‘ûKÃÏ\ifx\space@\next‘¿ª\expandafter\DN@\space{\xyFN@\xypolyparams@}%ŽŽ¡‘ãŒÃ363Ž‘ûKÃÏ\else\ifx\next~\DN@~{\xyFN@\xypolywhich@}%ŽŽ¡‘ãŒÃ364Ž‘ûKÃÏ\else\ifx\next\bgroup\DN@##1~!{%ŽŽ¡‘ãŒÃ365Ž‘õŒÏ%‘ T\ifx\empty\xypolyVERTEX@\def\xypolyVERTEX@{*[o]{##1}}%ŽŽ¡‘ãŒÃ366Ž‘ mÏ\ifx\empty\xypolyVERTEX@\expandafterŽŽ¡‘ãŒÃ367Ž‘ËÏ\def\expandafter\xypolyVERTEX@\expandafter{\xypolyvertex@{##1}}%ŽŽ¡‘ãŒÃ368Ž‘ mÏ\else\xypolyVERTEXerror@{##1}\fi‘¿ª\xypoly@@@}%ŽŽ¡‘ãŒÃ369Ž‘ûKÃÏ\else\DN@##1~!{\DN@{##1}\ifx\next@\empty\elseŽŽ¡‘ãŒÃ370Ž‘ËÏ\ifx\empty\xypolyVERTEX@\def\xypolyVERTEX@{*##1}%ŽŽ¡‘ãŒÃ371Ž‘õŒÏ%‘þ¨\checkpolytok@\xypolyVERTEX@{*=0}##1@@!\relaxŽŽ¡‘ãŒÃ372Ž‘ ŠÁÏ\expandafter\checkpolytok@\expandafter\xypolyVERTEX@ŽŽ¡‘ãŒÃ373Ž‘JkÏ\expandafter{\xypolynullvertex@}##1@@!\relaxŽŽ¡‘ãŒÃ374Ž‘ËÏ\else\xypolyVERTEXerror@{##1}\fi\fi‘¿ª\xypoly@@@}%ŽŽ¡‘ãŒÃ375Ž‘ûKÃÏ\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ377Ž‘õŒÏ\xydef@\xypolyVERTEXerror@#1{\xywarning@{%ŽŽ¡‘ãŒÃ378Ž‘ûKÃÏvertex–¿ªalready“specified,“discarding“unused“tokens:#1}}ŽŽŸ$Ì3‘ãŒÔSwitc¦thesŽŽŽŒ‹wï± Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹375ŽŽ ¶?? ýh«w‘ãŒThe›¦fallo•²!w“able˜switc“hes˜are˜giv“en˜in˜the˜follo“wing˜table:Ž‘ãŒŸîñ‰ffã²dŸ üï‘Uý¥Ï~:{Ž‘g<£¹.–Ó3.“.“Ï}ŽŽ’›Û¹useful–¦ffor“rescaling.ŽŽŽŽ¤ ™š‘Uý¥Ï~*{Ž‘g<£Çh¹ob‘›»jectÇiÏ}ŽŽ’›ÛÇh¹ob‘›»jectÇi–¦f¹at“eacš²!h“v˜ertex.ŽŽŽŽ¡‘Uý¥Ï~={Ž‘g<£Çh¹angleÇiÏ}ŽŽ’›Û¹align–¦f rst“v²!ertex.ŽŽŽŽ¡‘Uý¥Ï~<{Ž‘g<£¹.–Ó3.“.“Ï}ŽŽ’›Û¹directional–¦ffor“\spMÞok²!es";ŽŽŽŽ¡‘Uý¥Ï~<<{Ž‘lüMÇh¹arro²!wÇiÏ}ŽŽ’›Û¹use–¦fÇh¹arroš²!wÇi“¹for“spMÞok˜es;ŽŽŽŽ¡‘Uý¥Ï~<>{Ž‘lüM¹.–Ó3.“.“Ï}ŽŽ’›Û¹labšMÞels–¦f&“breaks“on“sp˜ok²!es.ŽŽŽŽ¡‘Uý¥Ï~>{Ž‘g<£¹.–Ó3.“.“Ï}ŽŽ’›Û¹directional–¦ffor“\sides";ŽŽŽŽ¡‘Uý¥Ï~><{Ž‘lüMÇh¹arro²!wÇiÏ}ŽŽ’›Û¹use–¦fÇh¹arro²!wÇi“¹for“sides;ŽŽŽŽ¡‘Uý¥Ï~>>{Ž‘lüM¹.–Ó3.“.“Ï}ŽŽ’›Û¹labMÞels–¦f&“breaks“on“sides.ŽŽŽŽŸò¶‰ffã²dŸà–?Using“Ï~<<{Ž›çÇh¹arro²!wÇiÏ}Ž‘ Né¹or“Ï~><{Ž˜Çh¹arroš²!wÇiÏ}Ž‘ Né¹is“most“appropriate“when“arro˜wheads“are“required“on“the“sidesŽ¡or–¢spšMÞok²!es,‘'cor“when“lab˜els/breaks“are“required.‘¨ñHere“Çh¹arro²!wÇi“¹is“as“in“ gure“3.2,‘'cso“it“can“b˜e“used“simplyŽ¡to–ospšMÞecify“the“st²!yle“of“directional“to“b˜e“used.‘ËpThš²!us“Ï~<<{}Ž‘#œŽ¹sets“eac˜h“spMÞok˜e“as“a“default“arro˜w,‘z,pMÞoin˜tingŽ¡out•²!w“ards–Gfrom“the“cenš²!tre;‘fÚÏ~<<{@{-}}Ž‘:jè¹suppresses“the“arro˜whead,‘Z$while“Ï~><{@{}}Ž‘4‹x¹uses“an“empt˜y“arro˜wŽ¡along–Lthe“sides.‘¿¾LabšMÞels“and“breaks“are“sp˜eci ed“with“Ï~<>{Ž›J°¹.–Ó3.“.“Ï}Ž‘ Þå¹and‘LÏ~>>{Ž˜¹.“.“.“Ï}Ž‘’ݹ,‘^where–Lthe“Ï{Ž‘ ²¹.–Ó3.“.“Ï}Ž‘ Þå¹use‘LtheŽ¡notation–¦ffor“a“Çh¹labMÞelÇi¹,“as“in“ gure“3.1.Ž©m‘When–Kno“tips“or“breaks“are“required“then“the“switc²!hes“Ï~<{Ž›ÜI¹.–Ó3.“.“Ï}Ž‘ 0(¹and‘KÏ~>{Ž˜¹.“.“.“Ï}Ž‘ 0(¹are–Ksomewhat“faster,Ž¡since–~Vless“prošMÞcessing“is“needed.‘e­Lab˜els“can“still“b˜e“sp˜eci ed“with“Ï~<>{Ž›|þ¹.–Ó3.“.“Ï}Ž‘ 3¹and‘~VÏ~>>{Ž˜¹.“.“.“Ï}Ž‘’ݹ,‘´Rbut‘~Vno²!wŽ¡using–øêthe“kš²!ernel's“Çh¹placeÇi“¹notation“of“ gure“1.1.‘ÕjIn“fact“an˜y“k˜ernel“cošMÞde“can“b˜e“included“using“theseŽ¡switc•²!hes.‘´With‘˜yÏ~<>Ž‘oð¹the›˜ycurren“t˜Äp˜¹and˜Äc˜¹are˜the˜cen“tre˜and˜v“ertex˜respMÞectiv“ely‘ÿe,‘Ôýwhile˜for˜Ï~>>Ž‘oð¹theyŽ¡are–Qàthe“currenš²!t“v˜ertex“and“the“previous“v˜ertex.‘àK(The“connection“from“v˜ertex“Ï"Ž– ŠÇh¹n˜um˜bMÞerÇiÏ"Ž“¹to‘Qàv˜ertexŽ¡Ï"1"Ž‘÷¹is–¸done“last.)‘ The“pš²!yramid“abMÞo˜v˜e“is“an“example“of“ho˜w“this“can“bMÞe“used.‘ Both“Ï~<{Ž‘÷¹.–Ó3.“.“Ï}Ž‘ Jü¹andŽ¡Ï~<<{Ž‘þ¨Çh¹arro²!wÇiÏ}Ž‘ ‡Ý¹can–È3bšMÞe“sp˜eci ed“together,‘Цbut“only“the“last“will“actually“b˜e“used;‘Ùsimilarly“for“Ï~>{Ž‘1¹.–Ó3.“.“Ï}ŽŽ¡¹and‘¦fÏ~><{Ž‘¥Çh¹arro²!wÇiÏ}Ž‘¿ª¹.ަŸ/½ ’˜C"ïps: SDict begin xyc end‘|Ÿñï" {-61.40643 -10.82813 l}xyŽŽŽŸýh0‘*- Ÿ#sðï" {40.08032 -47.76581 l}xyŽŽŽŸýh0‘?€ˆŸèÛäï" {21.32611 58.59393 l}xyŽŽŽ‘ È ŸáÔdï" {-50.71838 4.43628 dd}xyŽŽŽŸýh0‘XðŸ$ï" {-4.43628 -50.71838 dd}xyŽŽŽ‘;ØŸûüï" {50.71838 -4.43628 dd}xyŽŽŽŸýh0‘?€ˆŸèÛäï" {4.43628 50.71838 dd}xyŽŽŽ‘pŸÜdï" {-41.06415 10.23706 l}xyŽŽŽŸýh0 HŸÕï" {-22.40167 -36.21039 l}xyŽŽŽŸýh0‘7 Ÿ"îXï" {27.17908 -32.09875 l}xyŽŽŽ‘Bt@Ÿ|ï" {39.23877 15.85327 l}xyŽŽŽŸýh0‘?€ˆŸèÛäï" {-2.95203 42.21881 l}xyŽŽŽ‘¬lŸÙô@ï" {-33.82855 12.31183 dd}xyŽŽŽ‘|Ÿñï" {-27.57788 -23.13995 dd}xyŽŽŽŸýh0‘XðŸ$ï" {6.25177 -35.45398 dd}xyŽŽŽ‘*- Ÿ Ü ï" {33.82855 -12.31183 dd}xyŽŽŽ‘EÀüŸ ¸Lï" {27.57788 23.13995 dd}xyŽŽŽŸýh0‘?€ˆŸèÛäï" {-6.25177 35.45398 dd}xyŽŽŽ‘.LŸÛàï" {-16.88763 11.23517 l}xyŽŽŽ‘TÜŸÚµ0ï" {-20.28296 0.323 l}xyŽŽŽ‘ TŸågLï" {-17.23645 -10.69574 l}xyŽŽŽŸýh0`TŸúOøï" {-8.71875 -18.31586 l}xyŽŽŽŸýh0‘ñäŸo4ï" {2.5686 -20.12201 l}xyŽŽŽŸýh0‘ûèŸù4ï" {13.03912 -15.53906 l}xyŽŽŽ‘#Z Ÿ!gï" {19.37 -6.02216 l}xyŽŽŽ‘6çÀŸÿ,ï" {19.55127 5.40582 l}xyŽŽŽŸýh0‘DnŸy ï" {13.52472 15.11664 l}xyŽŽŽŸýh0‘G¢|Ÿûqï" {3.20471 20.03137 l}xyŽŽŽŸýh0‘?€ˆŸèÛäï" {-8.13263 18.58282 l}xyŽŽŽŸýh0‘dŸðæ\ï" {-2.15167 -3.9776 dt}xyŽŽŽŸýh0‘œ,Ÿõï" {-1.63367 -4.2138 dt}xyŽŽŽŸýh0‘„ Ÿù€hï" {-1.09424 -4.38794 dt}xyŽŽŽŸýh0Ÿý«0ï" {-0.51581 -4.16711 dt}xyŽŽŽŸýh0 HŸÕï" {0.03625 -5.16357 dt}xyŽŽŽŸýh0‘œ<Ÿþï" {0.57404 -4.15997 dt}xyŽŽŽŸýh0‘ÃÔŸ \øï" {1.15466 -4.37091 dt}xyŽŽŽŸýh0‘u„ŸŽ8ï" {1.69409 -4.19238 dt}xyŽŽŽŸýh0‘©üŸ€0ï" {2.20496 -3.94519 dt}xyŽŽŽŸýh0‘XÌŸ$ï" {2.68286 -3.64032 dt}xyŽŽŽŸýh0‘ vüŸjï" {3.11792 -3.27338 dt}xyŽŽŽ‘÷œŸ­¬ï" {3.50244 -2.857 dt}xyŽŽŽ‘Í,Ÿï" {3.83423 -2.39612 dt}xyŽŽŽ‘çìŸø¨ï" {4.10449 -1.89679 dt}xyŽŽŽ‘6üŸ Vdï" {4.30884 -1.36615 dt}xyŽŽŽ‘© Ÿ!'€ï" {4.44781 -0.81683 dt}xyŽŽŽ‘$-Ÿ!h ï" {4.51318 -0.25214 dt}xyŽŽŽ‘(¯ÐŸ!0ï" {4.51099 0.31586 dt}xyŽŽŽ‘-Ÿ 6xï" {4.43463 0.8778 dt}xyŽŽŽ‘1i\ŸÈüï" {4.29016 1.42767 dt}xyŽŽŽ‘5|ðŸÕï" {4.07648 1.95282 dt}xyŽŽŽ‘9I¤ŸbLï" {3.79962 2.4483 dt}xyŽŽŽ‘<ÀlŸz@ï" {3.46399 2.90643 dt}xyŽŽŽŸýh0‘?Ò¨ŸÀÔï" {3.07123 3.31732 dt}xyŽŽŽŸýh0‘Bt@Ÿèï" {2.63123 3.67548 dt}xyŽŽŽŸýh0‘D›Ÿ¤ï" {2.15167 3.9776 dt}xyŽŽŽŸýh0‘F=LŸ âèï" {1.63367 4.2138 dt}xyŽŽŽŸýh0‘GUlŸ˜ï" {1.09424 4.38794 dt}xyŽŽŽŸýh0‘GÙxŸTÐï" {0.51581 4.16711 dt}xyŽŽŽŸýh0‘GÐ0Ÿý*ðï" {-0.03625 5.16357 dt}xyŽŽŽŸýh0‘G=<Ÿùüï" {-0.57404 4.15997 dt}xyŽŽŽŸýh0‘F¤Ÿô£ï" {-1.15466 4.37091 dt}xyŽŽŽŸýh0‘DcôŸðqÈï" {-1.69409 4.19238 dt}xyŽŽŽŸýh0‘B/|ŸìÐï" {-2.20496 3.94519 dt}xyŽŽŽŸýh0‘?€ˆŸèÛäï" {-2.68341 3.64032 dt}xyŽŽŽ’›öáŸê³ÞÄAŽŽŽŽ’ƒí Ÿýh0ï" {0.00117 0.0 l}xyŽŽŽ’‘ÿhŸò/&ï" {-3178 st}xyŽŽŽŽ’‘ìŸô¬Vï" {-3178 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’‘ÿŸò/&ï" {14.07353 11.22281 l}xyŽŽŽ’š«„ŸëE0ï" {8.6729 6.91391 l}xyŽŽŽ’š«„ŸëYxï" {0.10284 0.0 l}xyŽŽŽ‘JŸÝ%òBŽŽŽŽŸýh0’ƒì¼ï" {0.0 0.0 l}xyŽŽŽ’ƒì¼Ÿëh0ï" {-2048 st}xyŽŽŽŽ’‚(/Ÿé££ï" {-2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽŸýh0’ƒì¼Ÿîï" {0.0 18.0 l}xyŽŽŽŸýh0’ƒì¼Ÿâ½ ï" {0.0 11.26157 l}xyŽŽŽŸýh0’ƒì¼Ÿâ½ ï" {0.0 0.0 l}xyŽŽŽ’™±fŸãÝ­ï" {-0.17332 0.10568 l}xyŽŽŽ’ðHŸÚŠ{Å Ÿ¤«Ã1ŽŽŽŽŽŽŽŽŽŽŽ’Š{ÑŸÜ‘nï" {-1517 10 /xy AB}xyŽŽŽŽ’Š{ÑŸÜŽïï" {-15.38263 7.41327 l}xyŽŽŽ’Š{ÑŸÜ‘nï" {-0.01888 0.02142 l}xyŽŽŽ‘cycŸê³ÞÄCŽŽŽŽ’ƒæÒŸýcÞï" {-0.0231 0.01688 l}xyŽŽŽ‘uÚŸò/&ï " {-918 st}xyŽŽŽŽ‘s\ÛŸòjÖï" {-918 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘uןò,ýï" {-14.08449 11.23125 l}xyŽŽŽ‘mFuŸëW]ï" {-8.58813 6.85135 l}xyŽŽŽ‘mFuŸëfŸï" {-0.08913 0.0 l}xyŽŽŽ‘}[kŸÜ‘¡ï" {-0.00873 -0.00414 l}xyŽŽŽ‘mE ŸÚŠ{Å Ÿ¤«Ã2ŽŽŽŽŽŽŽŽŽŽŽ‘nO¶Ÿãòvï" {-531 10 /xy AB}xyŽŽŽŽ‘n wŸãòvï" {-15.32796 -7.38194 l}xyŽŽŽ‘nO¶Ÿãòvï" {0.0 -0.13448 l}xyŽŽŽ‘\$qŸ (®ÄDŽŽŽŽ’ƒëŸýh0ï" {-0.00381 0.0 l}xyŽŽŽ‘r`BŸiŽï " {368 st}xyŽŽŽŽ‘q Ÿˆ6ï " {368 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘r_ÅŸiŽï" {-17.55064 -4.00534 l}xyŽŽŽ‘gùRŸÉMï" {-10.404 -2.37401 l}xyŽŽŽ‘hIeŸÉMï" {0.0 -0.06363 l}xyŽŽŽŸýh0‘fEÛŸð.)ï" {-0.16045 -0.73128 l}xyŽŽŽ‘W­XŸõ5‚Å Ÿ¤«Ã3ŽŽŽŽŽŽŽŽŽŽŽ‘bFšŸþËQï" {790 10 /xy AB}xyŽŽŽŽŸýh0‘bFšŸª:ï" {-4.15665 -18.21202 l}xyŽŽŽŸýh0‘bFšŸc!ï" {-0.05692 0.0 l}xyŽŽŽ‘oò Ÿ!•JÄEŽŽŽŽŸýh0’ƒë«žjï" {-0.00417 -0.00552 l}xyŽŽŽ‘|fŸ ŸÜï " {1394 st}xyŽŽŽŽ‘{<¯Ÿ H¸ï" {1394 F d}xyŽŽŽŽŽŽŽŽŽŽŽŸýh0‘|ÝŸ8aï" {-7.812 -16.22023 l}xyŽŽŽŸýh0‘w5ÅŸgHï" {-4.90689 -10.18874 l}xyŽŽŽŸýh0‘w5ÅŸ{{--}}}},ŽŽ¡{\xypolygon5{~={40}}},ŽŽ¡{\xypolygon6{~={40}~>{{--}}}},ŽŽ¡{\xypolygon11{~={40}}},ŽŽ¡{\xypolygon50{~={40}~>.}},‘¿ª+/r8pc/,ŽŽ¡{\xypolygon7{~<<{@{-}}~><{}ŽŽ¡‘¿ª~<>{|*@{x}}~*{\alphanum}ŽŽ¡‘¿ª~>>{_{\alpha_\xypolynode^{}}}}}ŽŽ¡\endxyŽŽŸÈ[‘¹Use–²Hof“the“Ï~={Ž‘ñF¹.–Ó3.“.“Ï}Ž‘ E%¹switc•²!h›²Hw“as˜describMÞed˜earlier.‘‚When˜using˜the˜Ï~:{Ž‘ñF¹.–Ó3.“.“Ï}Ž‘ E%¹more˜can˜bMÞe˜done˜thanŽ¡just–þèsetting“the“base.‘çbIn“fact“anš²!y“k˜ernel“cošMÞde“can“b˜e“supplied“here.‘çbIt“is“pro˜cessed“prior“to“an²!yŽ¡other–0opart“of“the“pšMÞolygon.‘{øThe“graphics“state“has“Äc“¹at“the“cen²!tre“of“the“p˜olygon,‘RñÄp“¹at“the“origin“ofŽŽŽŒ‹x  Á à ý*tj‘㌹376’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌹cošMÞordinates–+”within“the“picture“and“has“basis“unc²!hanged“from“what“has“previously“b˜een“established.ޤ ™š‘ãŒThe–¦fcurrenš²!t“pMÞoin˜t“Äc“¹will“bMÞe“reset“to“the“cen˜tre“follo˜wing“an˜y“coMÞde“in˜terpreted“using“this“switc˜h.ŽŸ É$‘ôŒNote–~‘that“Ï~!Ž‘|v¹wš²!as“appMÞended“b˜y“Ï\xypoly@@Ž‘7;‹¹,‘†ˆin“order“to“indicate“the“end“of“the“braced“tok˜ens.‘ЖTheŽ¡‘ãŒmacro‘‡·Ï\xypolywhich@Ž‘Q˹is–‡·the“main“parser,‘Úwith“Ï\xypoly@SPOKES@Ž‘]Jd¹and“Ï\xypoly@SIDES@Ž‘WŠº¹handling“theŽ¡‘ãŒsubMÞcases–¦ffor“Ï~<Ž‘Ì ¹and“Ï~>Ž‘%º¹.Ž©Pˆ‘ãŒÃ463Ž‘õŒÏ\xydef@\xypolywhich@{%ŽŽ¡‘ãŒÃ464Ž‘FeÏ\ifx\next!\DN@!{\xypoly@@@}%ŽŽ¡‘ãŒÃ465Ž‘ûKÃÏ\else–¿ª\addLT@\ifx\next“\addLT@\DN@{\xyFN@\xypoly@SPOKES@}%ŽŽ¡‘ãŒÃ466Ž‘ûKÃÏ\else–¿ª\addGT@\ifx\next“\addGT@\DN@{\xyFN@\xypoly@SIDES@}%ŽŽ¡‘ãŒÃ467Ž‘ûKÃÏ\else–¿ª\addEQ@\ifx\next“\addEQ@\DN@##1{%ŽŽ¡‘ãŒÃ468Ž‘ mÏ\def\xypolyALIGN@{##1}\xyFN@\xypolyparams@‘¿ª}%ŽŽ¡‘ãŒÃ469Ž‘ûKÃÏ\else–¿ª\ifx“:\next“\DN@:##1{%ŽŽ¡‘ãŒÃ470Ž‘ mÏ\def\xypolySCALE@{##1}\xyFN@\xypolyparams@‘¿ª}%ŽŽ¡‘ãŒÃ471Ž‘õŒÏ%‘¿ª\else\ifx\next*\DN@*##1{\def\xypolyVERTEX@{*+[o]{##1}}\xyFN@\xypolyparams@}%ŽŽ¡‘ãŒÃ472Ž‘ûKÃÏ\else\ifx\next*\DN@*##1{\expandafterŽŽ¡‘ãŒÃ473Ž‘ËÏ\def\expandafter\xypolyVERTEX@\expandafter{\xypolywidevertex@{##1}}%ŽŽ¡‘ãŒÃ474Ž‘ mÏ\xyFN@\xypolyparams@}%ŽŽ¡‘ãŒÃ475Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ477Ž‘õŒÏ\xydef@\xypoly@SPOKES@{%ŽŽ¡‘ãŒÃ478Ž‘É¿Ï\addLT@\ifx\next‘¿ª\addLT@\DN@##1{%ŽŽ¡‘ãŒÃ479Ž‘ mÏ\def\xypreSPOKES@{##1}\def\xypolySPOKES@{}\xyFN@\xypolyparams@‘¿ª}%ŽŽ¡‘ãŒÃ480Ž‘ûKÃÏ\else–¿ª\addGT@\ifx\next“\addGT@\DN@##1{%ŽŽ¡‘ãŒÃ481Ž‘ mÏ\def\xypostSPOKES@{##1}\xyFN@\xypolyparams@‘¿ª}%ŽŽ¡‘ãŒÃ482Ž‘ûKÃÏ\else–¿ª\ifx\next\bgroup“\DN@##1{%ŽŽ¡‘ãŒÃ483Ž‘ mÏ\def\xypolySPOKES@{##1}\let\xypreSPOKES@\relaxŽŽ¡‘ãŒÃ484Ž‘ mÏ\checkpolytok@\xypolySPOKES@{}##1@@!{\xyFN@\xypolyparams@}}%ŽŽ¡‘ãŒÃ485Ž‘ûKÃÏ\else‘¿ª\DN@##1{%ŽŽ¡‘ãŒÃ486Ž‘ mÏ\let\xypreSPOKES@\relax‘¿ª\def\xypolySPOKES@{{##1}}\xyFN@\xypolyparams@}%ŽŽ¡‘ãŒÃ487Ž‘ûKÃÏ\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ489Ž‘õŒÏ\xydef@\xypoly@SIDES@{%ŽŽ¡‘ãŒÃ490Ž‘É¿Ï\addLT@\ifx\next‘¿ª\addLT@\DN@##1{%ŽŽ¡‘ãŒÃ491Ž‘ mÏ\def\xypreSIDES@{##1}\def\xypolySIDES@{}\xyFN@\xypolyparams@‘¿ª}%ŽŽ¡‘ãŒÃ492Ž‘ûKÃÏ\else–¿ª\addGT@\ifx\next“\addGT@\DN@“##1{%ŽŽ¡‘ãŒÃ493Ž‘ mÏ\def\xypostSIDES@{##1}\xyFN@\xypolyparams@‘¿ª}%ŽŽ¡‘ãŒÃ494Ž‘ûKÃÏ\else–¿ª\ifx\next\bgroup“\DN@##1{%ŽŽ¡‘ãŒÃ495Ž‘ mÏ\def\xypolySIDES@{##1}\let\xypreSIDES@\relaxŽŽ¡‘ãŒÃ496Ž‘ mÏ\checkpolytok@\xypolySIDES@{}##1@@!{\xyFN@\xypolyparams@}}%ŽŽ¡‘ãŒÃ497Ž‘ûKÃÏ\else‘¿ª\DN@##1{%ŽŽ¡‘ãŒÃ498Ž‘ mÏ\let\xypreSIDES@\relax‘¿ª\def\xypolySIDES@{{##1}}\xyFN@\xypolyparams@}%ŽŽ¡‘ãŒÃ499Ž‘ûKÃÏ\fi\fi\fi–¿ª\next@“}ŽŽŸ€‘ôŒ¹A‘™—further–™šsimpli cation“exists“for“sides“and“spMÞokš²!es“without“Çh¹arro˜wÇi¹s.‘Ù™If“Çh¹tokÇi“¹is“a“single“c˜haracterŽ¡‘ãŒthen‘{ÝÏ~>Ž–û1Çh¹tokÇi¹,‘±;Ï~>{Ž‘ð9Çh¹tokÇiÏ}Ž›¿ª¹,‘±;Ï~>{{Ž‘¯ãÇh¹tokÇiÏ}}Ž“¹all–{ÝspMÞecify“the“directional“Ï\dir{Ž‘!:/Çh¹tokÇiÏ}Ž˜¹;‘æ˜similarly“with“the“Ï~<ŽŽ¡‘㌹switc²!h.‘‘#On–À7the“other“hand,›î@compMÞound“directionals“require“all“the“braces,˜e.g.‘‘#Ï~>{{--}}Ž‘5Nª¹and“Ï~>{2{.}}Ž‘0½‡¹.ŽŸ É$‘ôŒThis–D¾is“ac•²!hiev“ed–D¾with“the“macro“Ï\checkpolytok@#1#2#3#4@!#5Ž’œÀ¹whic²!h“handles“the“bare“Çh¹tokÇi“¹caseŽ¡‘ãŒbš²!y–û:adding“braces“around“Çh¹tokÇi“¹whic˜h“has“bMÞeen“passed“as“Ï#3Ž›z޹,‘vpreceeding“it“with“Ï#2Ž˜¹.‘¤ÏThis“is“then“Ï\defŽ‘ùâ¹'dŽ¡‘ãŒto–¦fthe“conš²!trol-sequence“name“passed“as“Ï#1Ž‘%º¹.‘ÝÝFinally“con˜tin˜ue“with“the“command“passed“as“Ï#5Ž‘%º¹.ަ‘ãŒÃ519Ž‘õŒÏ\xydef@\checkpolytok@#1#2#3#4@!#5{\DNii@{#1}\DN@{#4}%ŽŽ¡‘ãŒÃ520Ž‘ûKÃÏ\ifx\next@\empty\expandafter\def\nextii@{{}}%ŽŽŽŽŒ‹y- Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹377ŽŽ ¶?? ýh«w‘ãŒÃ521Ž‘ûKÃÏ\else\ifx#4@\expandafter\def\nextii@{#2{#3}}\fi\fi‘¿ª#5}ŽŽŸSÿ‘ôŒ¹After–cpall“switcš²!hes“ha˜v˜e“bšMÞeen“pro˜cessed,‘Ò²remaining“tok²!ens“are“used“to“sp˜ecify“the“Çh¹ob‘›»jectÇi“¹forޤ ™š‘ãŒeac•²!h›Öv“ertex.‘.Suc“h˜tok“ens˜will˜b•MÞe˜used˜directly˜after˜a˜Ï\dropŽ‘ Ç(¹,‘!rso˜can˜include˜ob‘›»ject˜Çh¹mo“di erÇi¹s˜as˜inŽ¡‘㌠gure–áy1.5.‘If“an“Çh¹ob‘›»jectÇi“¹has“already“bšMÞeen“sp˜eci ed,›ð>using“the“Ï~*Ž‘BF¹switc²!h,˜then“the“follo²!wing“messageŽ¡‘ãŒwill–¦fbMÞe“written“to“the“T‘þ,³Ÿ[wEŽ‘B X“log:Ž©# ˆ‘ð·ÏXy-pic–¿ªWarning:‘ Tvertex“already“specified,“discarding“unused“tokens:ŽŸ!ô¶‘㌹with–¦tokš²!ens“at“the“end“indicating“what“remains“unproMÞcessed.‘ݽSimilarly“extra“tok˜ens“bMÞefore“the“Ï{Ž‘ e¯¹.–Ó3.“.“Ï}ŽŽ¡‘㌹generate–¦fa“message:ަ‘\¬YÏXy-pic–¿ªWarning:“discarding“unused“tokens:ŽŽŸ&xð‘ãŒÔNested‘2P¦tolygonsŽ©El‘㌹When‘t÷Ï\xypolygonŽ‘@f’¹is–t÷spMÞeci ed“within“either“a“Ï~<>{Ž›sŸ¹.–Ó3.“.“Ï}Ž‘ Ô¹or‘t÷Ï~>>{Ž˜¹.“.“.“Ï}Ž‘ Ô¹switc²!h–t÷for“another“pMÞolygon,‘~ÚthenŽ¡‘ãŒthe–{öinner“pšMÞolygon“inherits“a“name“whic²!h“incorp˜orates“also“the“n•²!um“b˜er–{öof“the“part“on“whic²!h“it“o˜ccurs,Ž¡‘ãŒas–61givš²!en“b˜y“Ï\xypolynodeŽ›Cr¹.‘>This“name“is“accessed“using“Ï\xypolynameŽ˜¹.‘>In“the“follo²!wing“example“theŽ¡‘ãŒinner–¸lpMÞolygon“is“placed“using“Ï~<>Ž‘¯Ö¹in“order“to“easily“adjust“its“orienš²!tation“to“the“out˜w˜ard“direction“ofŽ¡‘ãŒthe‘¦fspMÞok²!es.ަŸR >’ˆ•ïps: SDict begin xyc end‘uŸÖ‚E1ŽŽŽŽŸÒÇÑ‘wÂâï " {8.0 ox}xyŽŽŽŽ‘oÚZŸíq¾1Ä;‘Ó1¹1ŽŽŽŽŽ’‡Ú\ŸÕq¼1Ä;‘Ó1¹2ŽŽŽŽŽŸýh0’‰”ØŸÛÕ4ï" {11.64162 11.48239 l}xyŽŽŽ‘oÚZŸ½qº1Ä;‘Ó1¹3ŽŽŽŽŽ‘}ð—ŸÁ=bï" {-11.64162 11.48239 l}xyŽŽŽ‘WÚXŸÕq¼1Ä;‘Ó1¹4ŽŽŽŽŽŸýh0‘eð•ŸÏP°ï" {-11.64162 -11.48239 l}xyŽŽŽ‘q”ÖŸä¸âï" {11.64162 -11.48239 l}xyŽŽŽ‘ +½ŸÖ‚E2ŽŽŽŽŸÒÇÑ‘"èŠï " {8.0 ox}xyŽŽŽŽ‘3ŸÕq¼2Ä;‘Ó1¹1ŽŽŽŽŽ‘Ÿ½qº2Ä;‘Ó1¹2ŽŽŽŽŽ‘)?ŸÁ=bï" {-11.64162 11.48239 l}xyŽŽŽ‘ŸÕq¼2Ä;‘Ó1¹3ŽŽŽŽŽŸýh0‘=ŸÏP°ï" {-11.64162 -11.48239 l}xyŽŽŽ‘Ÿíq¾2Ä;‘Ó1¹4ŽŽŽŽŽ‘º~Ÿä¸âï" {11.64162 -11.48239 l}xyŽŽŽŸýh0‘4º€ŸÛÕ4ï" {11.64162 11.48239 l}xyŽŽŽ‘@芟Òûï" {-24.8529 0.0 l}xyŽŽŽ‘ +½Ÿ+\3ŽŽŽŽŸ'¢)‘"èŠï " {8.0 ox}xyŽŽŽŽ‘ŸL3Ä;‘Ó1¹1ŽŽŽŽŽ‘Ÿ*L3Ä;‘Ó1¹2ŽŽŽŽŽŸýh0‘=Ÿ$+ï" {-11.64162 -11.48239 l}xyŽŽŽ‘ŸBL3Ä;‘Ó1¹3ŽŽŽŽŽ‘º~Ÿ9“:ï" {11.64162 -11.48239 l}xyŽŽŽ‘3Ÿ*L3Ä;‘Ó1¹4ŽŽŽŽŽŸýh0‘4º€Ÿ0¯Œï" {11.64162 11.48239 l}xyŽŽŽ‘)?Ÿºï" {-11.64162 11.48239 l}xyŽŽŽŸýh0‘"芟 m,ï" {0.0 -24.8529 l}xyŽŽŽ‘uŸ+\4ŽŽŽŽŸ'¢)‘wÂâï " {8.0 ox}xyŽŽŽŽ‘WÚXŸ*L4Ä;‘Ó1¹1ŽŽŽŽŽ‘oÚZŸBL4Ä;‘Ó1¹2ŽŽŽŽŽ‘q”ÖŸ9“:ï" {11.64162 -11.48239 l}xyŽŽŽ’‡Ú\Ÿ*L4Ä;‘Ó1¹3ŽŽŽŽŽŸýh0’‰”ØŸ0¯Œï" {11.64162 11.48239 l}xyŽŽŽ‘oÚZŸL4Ä;‘Ó1¹4ŽŽŽŽŽ‘}𗟺ï" {-11.64162 11.48239 l}xyŽŽŽŸýh0‘eð•Ÿ$+ï" {-11.64162 -11.48239 l}xyŽŽŽ‘YÂâŸ'Õ\ï" {24.8529 0.0 l}xyŽŽŽŸýh0‘wÂâŸó’Ôï" {0.0 24.8529 l}xyŽŽŽŽŽŽŽŸa ‘ãŒÏ\xypolygon4{~:{/r5pc/:}ŽŽ¡‘éKÃ~<>{*\frm<8pt>{o}\xypolygon4{~:{/-2pc/:}ŽŽ¡‘ôË~*{\xypolyname\xypolynode}}}ŽŽ¡‘éKÃ[o]=<5pc>{\xypolynode}}ŽŽŸüZ‘ôŒ¹Notice–w_ho²!w“nested“pMÞolygons“inherit“names“Ï"1,1"Ž‘ 5±¹,‘€ÇÏ"1,2"Ž‘ ?¹,›€Ç.–Ó3.“.“,˜Ï"4,1"Ž‘ ?¹,˜.“.“.“,˜Ï"4,4"Ž‘#¶x¹for–w_their“v²!ertices.Ž¡‘ãŒIf–dña“Çh¹pre xÇi“¹is“supplied“at“the“outermost“lev²!el“then“the“names“b•MÞecome:‘ZóÏ"Ž‘ Çh¹pre xÇiÄi;‘Ó1j‘ vÏ"Ž‘` ¹.‘~Sp“ecifying‘dñaŽ¡‘ãŒÇh¹pre xÇi–×¹for“the“inner“pMÞolygon“o•²!v“errides–×this“naming“scš²!heme.‘oÿThe“same“names“ma˜y“then“bšMÞe“rep˜eatedŽ¡‘ãŒfor–ÈNeacš²!h“of“the“inner“pMÞolygons,‘ô¹allo˜wing“access“afterw˜ards“only“to“the“last|pMÞossibly“useful“as“a“memoryŽ¡‘ãŒsaš²!ving–¦ffeature“when“the“v˜ertices“are“not“required“subsequen˜tly‘ÿe.ަ‘ôŒF‘ÿeour–@ºlevš²!els“of“nesting“giv˜es“a“quite“acceptable“\Sierpinski“gask˜et".‘ ¬ÙThe“innermost“triangle“isŽ¡‘ãŒpro•²!vided›4³b“y˜Ï\blacktriangleŽ‘Vä²¹from˜the˜ÇA‘þ,³Ÿ[wMŽ‘ ô©S˜¹sym“bMÞol˜fon“t˜Ïmsam5Ž‘ó¹,‘Kqat˜5-pMÞoin“t˜size.‘·÷F‘ÿeurther˜lev“els˜can˜bMÞeŽ¡‘ãŒac•²!hiev“ed–A†using“the“ÕPostScript“¹bac•²!k“end,‘hNotherwise–A†line“segmen²!ts“bšMÞecome“to˜o“small“to“b˜e“renderedŽ¡‘ãŒusing‘ŽX‘ü·ŸâÃYŽŽ‘ p-fon²!ts.ŽŽŽŒ‹z{}~<>{?\xypolygon3"a"{~:{(.5,0):}ŽŽ¡‘éKÃ~>{}~<>{?\xypolygon3"b"{~:{(.5,0):}ŽŽ¡‘éKÃ~>{}~<>{?\xypolygon3"c"{~:{(.5,0):}ŽŽ¡‘éKÃ~>{}~<>{?\xypolygon3"d"{~:{(.5,0):}ŽŽ¡‘ãŒ~<>{?*!/d.5pt/=0\hbox{\blacktriangle}}ŽŽ¡‘ãŒ}}–¿ª}}“}}“}}“}ŽŽŸÓ‘㌹Note–ƒthe“use“of“naming“in“this“example;‘ŽÖwhen“proMÞcessing“this“manš²!ual“it“sa˜v˜es“13,000+“w˜ords“of“mainŽ¡‘ãŒmemory–¦fand“10,000+“string“cš²!haracters“as“w˜ell“as“122“strings“and“319“m˜ulti-letter“con˜trol“sequences.ޤPˆ‘ãŒÃ661Ž‘õŒÏ\xydef@\xytrigerror@#1#2{\string#1–¿ªonly“works“from“0“to“12}ŽŽ¡‘ãŒÃ663Ž‘õŒÏ\xydef@\cosPIon#1{\ifcase#1‘¿ª1\or-1\or0\or.5\or\halfroottwo\orŽŽ¤ ™š‘ãŒÃ664Ž‘ûKÃÏ.809017\or\halfrootthree\or.900969\or.92388\or.939693\or.951057\orŽŽ¡‘ãŒÃ665Ž‘ûKÃÏ.959493\or.965926\else1\xytrigerror@\cosPIon{#1}\fi}ŽŽ¡‘ãŒÃ666Ž‘õŒÏ\xydef@\sinPIon#1{\ifcase#1‘¿ª0\or0\or1\or\halfrootthree\or\halfroottwo\orŽŽ¡‘ãŒÃ667Ž‘ûKÃÏ.587785\or.5\or.433884\or.382683\or.34202\or.309017\orŽŽ¡‘ãŒÃ668Ž‘ûKÃÏ.281733\or.258819\else0\xytrigerror@\sinPIon{#1}\fi}ŽŽ©Pˆ‘ãŒÃ670Ž‘õŒÏ\xydef@\cosTwoPIon#1{\ifcase#1‘¿ª1\or1\or-1\or-\cosPIon3\or\cosPIon2\orŽŽ¡‘ãŒÃ671Ž‘ûKÃÏ\sinPIon{10}\or\cosPIon3\or.62349\or\cosPIon4\orŽŽ¡‘ãŒÃ672Ž‘ûKÃÏ.766044\or\cosPIon5\or.841254\or\cosPIon6%ŽŽ¡‘ãŒÃ673Ž‘ûKÃÏ\else1\xytrigerror@\cosTwoPIon{#1}\fi}ŽŽ¡‘ãŒÃ674Ž‘õŒÏ\xydef@\sinTwoPIon#1{\ifcase#1‘¿ª0\or0\or0\or-\sinPIon3\or\sinPIon2\orŽŽ¡‘ãŒÃ675Ž‘ûKÃÏ\cosPIon{10}\or\sinPIon3\or.781831\or\sinPIon4\orŽŽ¡‘ãŒÃ676Ž‘ûKÃÏ.642788\or\sinPIon5\or.540641\or\sinPIon6%ŽŽ¡‘ãŒÃ677Ž‘ûKÃÏ\else0\xytrigerror@\sinTwoPIon{#1}\fi}ŽŽ¦‘ãŒÃ679Ž‘õŒÏ\xydef@\cosThreePIon#1{\ifcase#1‘¿ª1\or-1\or0\or-1\or-\cosPIon4\orŽŽ¡‘ãŒÃ680Ž‘ûKÃÏ-\cosPIon5\or\cosPIon2\or.222521\or\sinPIon8\or\cosPIon3\orŽŽ¡‘ãŒÃ681Ž‘ûKÃÏ\sinTwoPIon5\or.654861\or\cosPIon4%ŽŽ¡‘ãŒÃ682Ž‘ûKÃÏ\else1\xytrigerror@\cosThreePIon{#1}\fi}ŽŽ¡‘ãŒÃ683Ž‘õŒÏ\xydef@\sinThreePIon#1{\ifcase#1‘¿ª0\or0\or1\or0\or\sinPIon4\orŽŽ¡‘ãŒÃ684Ž‘ûKÃÏ\sinTwoPIon5\or\sinPIon2\or.974928\or\cosPIon8\or\sinPIon3\orŽŽ¡‘ãŒÃ685Ž‘ûKÃÏ\cosTwoPIon5\or.75575\or\sinPIon4%ŽŽ¡‘ãŒÃ686Ž‘ûKÃÏ\else0\xytrigerror@\sinThreePIon{#1}\fi}ŽŽ¦‘ãŒÃ688Ž‘õŒÏ\xydef@\cosFourPIon#1{\ifcase#1‘¿ª1\or1\or1\or-\cosPIon3\or-1\or-\cosPIon5\orŽŽ¡‘ãŒÃ689Ž‘ûKÃÏ\cosTwoPIon3\or-\cosThreePIon7\or0\or.173648\or\cosTwoPIon5\orŽŽ¡‘ãŒÃ690Ž‘ûKÃÏ.415415\or\cosPIon3%ŽŽ¡‘ãŒÃ691Ž‘ûKÃÏ\else1\xytrigerror@\cosFourPIon{#1}\fi}ŽŽŽŽŒ‹{Mr Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹379ŽŽ ¶?? ýh«w‘ãŒÃ692Ž‘õŒÏ\xydef@\sinFourPIon#1{\ifcase#1‘¿ª0\or0\or0\or-\sinPIon3\or0\or\sinPIon5\orŽŽ¤ ™š‘ãŒÃ693Ž‘ûKÃÏ\sinTwoPIon3\or\sinThreePIon7\or1\or.984808\or\sinTwoPIon5\orŽŽ¡‘ãŒÃ694Ž‘ûKÃÏ.909632\or\sinPIon3%ŽŽ¡‘ãŒÃ695Ž‘ûKÃÏ\else0\xytrigerror@\sinFourPIon{#1}\fi}ŽŽ©Pˆ‘ãŒÃ697Ž‘õŒÏ\xydef@\cosFivePIon#1{\ifcase#1‘¿ª1\or-1\or0\or\cosPIon3\or-\cosPIon4\orŽŽ¡‘ãŒÃ698Ž‘ûKÃÏ-1\or-\cosPIon6\or-\cosTwoPIon7\or-\cosThreePIon8\or-\cosFourPIon9\orŽŽ¡‘ãŒÃ699Ž‘ûKÃÏ0\or.142315\or\sinPIon{12}%ŽŽ¡‘ãŒÃ700Ž‘ûKÃÏ\else1\xytrigerror@\cosFivePIon{#1}\fi}ŽŽ¡‘ãŒÃ701Ž‘õŒÏ\xydef@\sinFivePIon#1{\ifcase#1‘¿ª0\or0\or1\or-\sinPIon3\or-\sinPIon4\orŽŽ¡‘ãŒÃ702Ž‘ûKÃÏ0\or\sinPIon6\or\sinTwoPIon7\or\sinThreePIon8\or\sinFourPIon9\or1\orŽŽ¡‘ãŒÃ703Ž‘ûKÃÏ.989821\or\cosPIon{12}%ŽŽ¡‘ãŒÃ704Ž‘ûKÃÏ\else0\xytrigerror@\sinFivePIon{#1}\fi}ŽŽ¦‘ôŒ¹CoMÞordinates–¦ffor“the“vš²!ertices“are“read“from“trigonometry“tables“using“con˜trol“sequencesŽ‘ãŒŸ ,Ήffã²d© KU‘Mˆ±Ï\cosPIonŽ‘{†ÄnŽ’¤PÏ\sinPIonŽ’ÒMÑÄnŽŽŽŽ¡‘Mˆ±Ï\cosTwoPIonŽ’ŒÄÿÄnŽ’¤PÏ\sinTwoPIonŽ’ãŒÏÄnŽŽŽŽ¡‘Mˆ±Ï\cosThreePIonŽ’˜DSÄnŽ’¤PÏ\sinThreePIonŽ’ï #ÄnŽŽŽŽ¡‘Mˆ±Ï\cosFourPIonŽ’’„©ÄnŽ’¤PÏ\sinFourPIonŽ’éLyÄnŽŽŽŽ¡‘Mˆ±Ï\cosFivePIonŽ’’„©ÄnŽ’¤PÏ\sinFivePIonŽ’éLyÄnŽŽŽŽŸA‰ffã²dŸß¹whic²!h–!ãexpand“to“the“v‘ÿdDalues“of“cosŽŸû°K‘ÑtÅŽ‘ÑtŸÆ‰fe+ ŸPA]nŽŽŽŽ‘/±¹,‘{...}ŽŽŽŽŽ¡‘pp"#6ŽŽ’i¹pre-edge/arroš²!w,–¦fset“b˜y“Ï~><{...}ŽŽŽŽŽ¡‘pp"#7ŽŽ’i¹pMÞost-edge:‘ÝÝempt²!y–¦fwith“Ï\arsŽ‘Kt¹else“Ï**@{...}ŽŽŽŽŽ¡’ˆµÜ¹where‘¦fÏ{...}Ž‘$ ¹is–¦fset“b²!y“Ï~>{...}ŽŽŽŽŽ¡‘pp"#8ŽŽ’i¹pMÞost-arroš²!w/edge,–¦fset“b˜y“Ï~>>{...}ŽŽŽŽŽŸA‰ffã²dŸ ¥W¡‘¹The–œÎorganisation“of“this“information“is“done“bš²!y“Ï\xyPolygon@@@#1Ž‘[t’¹whic˜h“tak˜es“as“a“single“parameterŽ¡a–¦fmacro“appropriate“to“the“n•²!um“bMÞer–¦fof“sides,“supplied“b²!y“Ï\xypoly@@@Ž‘=# ¹.ŽŸPˆÃ751Ž‘Ï\xydef@\xypoly@@@{\count@=\xypolyNUMSIDES@\relaxŽŽ¡Ã752Ž‘¿ªÏ\ifx\xypolyALIGN@\emptyŽŽ¡Ã753Ž‘TÏ\ifnum\count@<\thr@@\relax\DN@{\xypolytoosmall@{\the\count@}}%ŽŽ¡Ã754Ž‘TÏ\else‘¿ª\advance\count@-\thr@@ŽŽ¡Ã755Ž‘#>þÏ\ifcase\count@‘¿ª\DN@{\xyPolygon@@@\xytriangle@@}%ŽŽ¡Ã756Ž‘#>þÏ\or‘¿ª\DN@{\xyPolygon@@@\xysquare@@}%ŽŽ¡Ã757Ž‘#>þÏ\or‘¿ª\DN@{\xyPolygon@@@\xypentagon@@}%ŽŽ¡Ã758Ž‘#>þÏ\or‘¿ª\DN@{\xyPolygon@@@\xyhexagon@@}%ŽŽŽŽŒ‹|Ž„ Á à ý*tj‘㌹380’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ759Ž‘ËÏ\or‘¿ª\DN@{\xyPolygon@@@\xyheptagon@@}%ŽŽ¤ ™š‘ãŒÃ760Ž‘ËÏ\or‘¿ª\DN@{\xyPolygon@@@\xyoctagon@@}%ŽŽ¡‘ãŒÃ761Ž‘ËÏ\or‘¿ª\DN@{\xyPolygon@@@\xynonagon@@}%ŽŽ¡‘ãŒÃ762Ž‘ËÏ\or‘¿ª\DN@{\xyPolygon@@@\xydecagon@@}%ŽŽ¡‘ãŒÃ763Ž‘ËÏ\or‘¿ª\DN@{\xyPolygon@@@\xyundecagon@@}%ŽŽ¡‘ãŒÃ764Ž‘ËÏ\or‘¿ª\DN@{\xyPolygon@@@\xydodecagon@@}%ŽŽ¡‘ãŒÃ765Ž‘ËÏ\else‘¿ª\DN@{\xylargePolygon@{0}{\xypolyNUMSIDES@}}%ŽŽ¡‘ãŒÃ766Ž‘ mÏ\fi\fiŽŽ¡‘ãŒÃ767Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ768Ž‘ mÏ\DN@{\xylargePolygon@{\xypolyALIGN@}{\xypolyNUMSIDES@}}%ŽŽ¡‘ãŒÃ769Ž‘ûKÃÏ\fi–¿ª\next@“\xypoly@@@x}ŽŽ¤Pˆ‘ãŒÃ771Ž‘õŒÏ\xydef@\xypoly@@@x{\restore\xypoly@x}ŽŽ¡‘ãŒÃ773Ž‘õŒÏ\xydef@\xypolytoosmall@#1{\xyerror@{#1–¿ªsides“is“too“few“for“a“polygon}}ŽŽŸ–‘ôŒ¹Here–_12\addtotoks@{{0}}\fiŽŽ¡‘ãŒÃ822Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ823Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter{\xypolyALIGN@}}%ŽŽ¡‘ãŒÃ824Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ825Ž‘ûKÃÏ\expandafter\DN@\expandafter{\expandafter\endgroup\the\toks@‘¿ª}%ŽŽ¡‘ãŒÃ826Ž‘ûKÃÏ\next@}ŽŽ©Pˆ‘ôŒ¹Note–±¦hoš²!w“Ï\endgroupŽ‘= F¹closes“the“grouping.‘ÿœAll“the“information“for“the“la˜y˜out“of“the“pMÞolygon“isŽ¡‘ãŒcon²!tained–¦fin“Ï\xypolyNUMSIDES@Ž‘cGl¹and“the“spšMÞeci c“p˜olygon“macro“con²!tained“in“the“ nal“Ï\next@Ž‘&$b¹.ŽŸß%‘ôŒHere–¦fis“where“the“pMÞolygons“are“de ned,“individually‘ÿe.ަ‘ãŒÃ839Ž‘õŒÏ\xydef@\xytriangle@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ840Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ841Ž‘ûKÃÏ\POS#1"#30"+(0,1)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ842Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ843Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\cosPIon6,‘¿ª-.5)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ844Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ845Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ846Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ847Ž‘ûKÃÏ\POS"#30"#1"#30"+(\cosPIon6,-.5)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ848Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ849Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ850Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ851Ž‘ûKÃÏ\POS"#33"#6"#31"#7#8\relax‘¿ª}ŽŽ¦‘ãŒÃ853Ž‘õŒÏ\xydef@\xysquare@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ854Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ855Ž‘ûKÃÏ\POS#1"#30"+(\halfroottwo,\halfroottwo)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ856Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ857Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\halfroottwo,\halfroottwo)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ858Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ859Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ860Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ861Ž‘ûKÃÏ\POS"#30"#1"#30"-(\halfroottwo,\halfroottwo)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ862Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ863Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ864Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ865Ž‘ûKÃÏ\POS"#30"#1"#30"-(-\halfroottwo,\halfroottwo)#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ866Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ867Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ868Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ869Ž‘ûKÃÏ\POS"#34"#6"#31"#7#8\relax‘¿ª}ŽŽ¦‘ãŒÃ871Ž‘õŒÏ\xydef@\xypentagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ872Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ873Ž‘ûKÃÏ\POS#1"#30"+(\cosPIon{10},\sinPIon{10})#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ874Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽŽŽŒ‹~¨n Á à ý*tj‘㌹382’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ875Ž‘ûKÃÏ\POS"#30"#1"#30"+(0,1)#2="#32"#4#5\relaxŽŽ¤ ™š‘ãŒÃ876Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ877Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ878Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ879Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\cosPIon{10},\sinPIon{10})#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ880Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ881Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ882Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ883Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon5,\cosPIon5)#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ884Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ885Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ886Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ887Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon5,-\cosPIon5)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ888Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ889Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ890Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ891Ž‘ûKÃÏ\POS"#35"#6"#31"#7#8\relax‘¿ª}ŽŽ©Pˆ‘ãŒÃ893Ž‘õŒÏ\xydef@\xyhexagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ894Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ895Ž‘ûKÃÏ\POS#1"#30"+(1,0)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ896Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ897Ž‘ûKÃÏ\POS"#30"#1"#30"+(.5,\halfrootthree)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ898Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ899Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ900Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ901Ž‘ûKÃÏ\POS"#30"#1"#30"+(-.5,\halfrootthree)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ902Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ903Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ904Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ905Ž‘ûKÃÏ\POS"#30"#1"#30"-(1,0)#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ906Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ907Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ908Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ909Ž‘ûKÃÏ\POS"#30"#1"#30"-(.5,\halfrootthree)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ910Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ911Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ912Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ913Ž‘ûKÃÏ\POS"#30"#1"#30"-(-.5,\halfrootthree)#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ914Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ915Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ916Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ917Ž‘ûKÃÏ\POS"#36"#6"#31"#7#8\relax‘¿ª}ŽŽ¦‘ãŒÃ919Ž‘õŒÏ\xydef@\xyheptagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ920Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ921Ž‘ûKÃÏ\POS#1"#30"+(\sinTwoPIon7,\cosTwoPIon7)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ922Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ923Ž‘ûKÃÏ\POS"#30"#1"#30"+(0,1)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ924Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ925Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽŽŽŒ‹´ Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹383ŽŽ ¶?? ýh«w‘ãŒÃ926Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¤ ™š‘ãŒÃ927Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\sinTwoPIon7,\cosTwoPIon7)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ928Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ929Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ930Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ931Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinThreePIon7,\cosThreePIon7)#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ932Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ933Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ934Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ935Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon7,\cosPIon7)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ936Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ937Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ938Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ939Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon7,-\cosPIon7)#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ940Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ941Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ942Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ943Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinThreePIon7,-\cosThreePIon7)#2="#37"#4#5\relaxŽŽ¡‘ãŒÃ944Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ945Ž‘ûKÃÏ\POS"#36"#6"#37"#7#8\relaxŽŽ¡‘ãŒÃ946Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ947Ž‘ûKÃÏ\POS"#37"#6"#31"#7#8\relax‘¿ª}ŽŽŸPˆ‘ãŒÃ949Ž‘õŒÏ\xydef@\xyoctagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ950Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ951Ž‘ûKÃÏ\POS#1"#30"+(\cosPIon8,\sinPIon8)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ952Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ953Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon8,\cosPIon8)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ954Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ955Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ956Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ957Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon8,-\cosPIon8)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ958Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ959Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ960Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ961Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon8,-\sinPIon8)#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ962Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ963Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ964Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ965Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon8,\sinPIon8)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ966Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ967Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ968Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ969Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon8,\cosPIon8)#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ970Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ971Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ972Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ973Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon8,-\cosPIon8)#2="#37"#4#5\relaxŽŽ¡‘ãŒÃ974Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ975Ž‘ûKÃÏ\POS"#36"#6"#37"#7#8\relaxŽŽŽŽŒ‹€¿) Á à ý*tj‘㌹384’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ976Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¤ ™š‘ãŒÃ977Ž‘ûKÃÏ\POS"#30"#1"#30"+(\cosPIon8,-\sinPIon8)#2="#38"#4#5\relaxŽŽ¡‘ãŒÃ978Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ979Ž‘ûKÃÏ\POS"#37"#6"#38"#7#8\relaxŽŽ¡‘ãŒÃ980Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ981Ž‘ûKÃÏ\POS"#38"#6"#31"#7#8\relax‘¿ª}ŽŽ©Pˆ‘ãŒÃ983Ž‘õŒÏ\xydef@\xynonagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ984Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ985Ž‘ûKÃÏ\POS#1"#30"+(\sinFourPIon9,\cosFourPIon9)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ986Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ987Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinTwoPIon9,\cosTwoPIon9)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ988Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ989Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ990Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ991Ž‘ûKÃÏ\POS"#30"#1"#30"+(0,1)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ992Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ993Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ994Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ995Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\sinTwoPIon9,\cosTwoPIon9)#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ996Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ997Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ998Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ999Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\sinFourPIon9,\cosFourPIon9)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ1000Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1001Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ1002Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1003Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon6,\sinPIon6)#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ1004Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1005Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ1006Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1007Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon9,\cosPIon9)#2="#37"#4#5\relaxŽŽ¡‘ãŒÃ1008Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1009Ž‘ûKÃÏ\POS"#36"#6"#37"#7#8\relaxŽŽ¡‘ãŒÃ1010Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1011Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon9,-\cosPIon9)#2="#38"#4#5\relaxŽŽ¡‘ãŒÃ1012Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1013Ž‘ûKÃÏ\POS"#37"#6"#38"#7#8\relaxŽŽ¡‘ãŒÃ1014Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1015Ž‘ûKÃÏ\POS"#30"#1"#30"+(\cosPIon6,-\sinPIon6)#2="#39"#4#5\relaxŽŽ¡‘ãŒÃ1016Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1017Ž‘ûKÃÏ\POS"#38"#6"#39"#7#8\relaxŽŽ¡‘ãŒÃ1018Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1019Ž‘ûKÃÏ\POS"#39"#6"#31"#7#8\relax‘¿ª}ŽŽ¦‘ãŒÃ1021Ž‘õŒÏ\xydef@\xydecagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ1022Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ1023Ž‘ûKÃÏ\POS#1"#30"+(1,0)#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ1024Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1025Ž‘ûKÃÏ\POS"#30"#1"#30"+(\cosPIon5,\sinPIon5)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ1026Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽŽŽŒ‹Êš Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹385ŽŽ ¶?? ýh«w‘ãŒÃ1027Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¤ ™š‘ãŒÃ1028Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1029Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon{10},\cosPIon{10})#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ1030Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1031Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ1032Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1033Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon{10},-\cosPIon{10})#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ1034Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1035Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ1036Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1037Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon5,-\sinPIon5)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ1038Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1039Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ1040Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1041Ž‘ûKÃÏ\POS"#30"#1"#30"-(1,0)#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ1042Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1043Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ1044Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1045Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon5,\sinPIon5)#2="#37"#4#5\relaxŽŽ¡‘ãŒÃ1046Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1047Ž‘ûKÃÏ\POS"#36"#6"#37"#7#8\relaxŽŽ¡‘ãŒÃ1048Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1049Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon{10},\cosPIon{10})#2="#38"#4#5\relaxŽŽ¡‘ãŒÃ1050Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1051Ž‘ûKÃÏ\POS"#37"#6"#38"#7#8\relaxŽŽ¡‘ãŒÃ1052Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1053Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon{10},-\cosPIon{10})#2="#39"#4#5\relaxŽŽ¡‘ãŒÃ1054Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1055Ž‘ûKÃÏ\POS"#38"#6"#39"#7#8\relaxŽŽ¡‘ãŒÃ1056Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1057Ž‘ûKÃÏ\POS"#30"#1"#30"+(\cosPIon5,-\sinPIon5)#2="#310"#4#5\relaxŽŽ¡‘ãŒÃ1058Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1059Ž‘ûKÃÏ\POS"#39"#6"#310"#7#8\relaxŽŽ¡‘ãŒÃ1060Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1061Ž‘ûKÃÏ\POS"#310"#6"#31"#7#8\relax‘¿ª}ŽŽŸPˆ‘ãŒÃ1063Ž‘õŒÏ\xydef@\xyundecagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ1064Ž‘ûKÃÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ1065Ž‘ûKÃÏ\POS#1"#30"+(\sinFourPIon{11},\cosFourPIon{11})#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ1066Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1067Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinTwoPIon{11},\cosTwoPIon{11})#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ1068Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1069Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ1070Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1071Ž‘ûKÃÏ\POS"#30"#1"#30"+(0,1)#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ1072Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1073Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ1074Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1075Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\sinTwoPIon{11},\cosTwoPIon{11})#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ1076Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽŽŽŒ‹‚Ö Á à ý*tj‘㌹386’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1077Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¤ ™š‘ãŒÃ1078Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1079Ž‘ûKÃÏ\POS"#30"#1"#30"+(-\sinFourPIon{11},\cosFourPIon{11})#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ1080Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1081Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¡‘ãŒÃ1082Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1083Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinFivePIon{11},\cosFivePIon{11})#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ1084Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1085Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ1086Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1087Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinThreePIon{11},\cosThreePIon{11})#2="#37"#4#5\relaxŽŽ¡‘ãŒÃ1088Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1089Ž‘ûKÃÏ\POS"#36"#6"#37"#7#8\relaxŽŽ¡‘ãŒÃ1090Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1091Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon{11},\cosPIon{11})#2="#38"#4#5\relaxŽŽ¡‘ãŒÃ1092Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1093Ž‘ûKÃÏ\POS"#37"#6"#38"#7#8\relaxŽŽ¡‘ãŒÃ1094Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1095Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon{11},-\cosPIon{11})#2="#39"#4#5\relaxŽŽ¡‘ãŒÃ1096Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1097Ž‘ûKÃÏ\POS"#38"#6"#39"#7#8\relaxŽŽ¡‘ãŒÃ1098Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1099Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinThreePIon{11},-\cosThreePIon{11})#2="#310"#4#5\relaxŽŽ¡‘ãŒÃ1100Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1101Ž‘ûKÃÏ\POS"#39"#6"#310"#7#8\relaxŽŽ¡‘ãŒÃ1102Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1103Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinFivePIon{11},-\cosFivePIon{11})#2="#311"#4#5\relaxŽŽ¡‘ãŒÃ1104Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1105Ž‘ûKÃÏ\POS"#310"#6"#311"#7#8\relaxŽŽ¡‘ãŒÃ1106Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1107Ž‘ûKÃÏ\POS"#311"#6"#31"#7#8\relax‘¿ª}ŽŽŸPˆ‘ãŒÃ1109Ž‘õŒÏ\xydef@\xydodecagon@@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ1110Ž‘ mÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ1111Ž‘ûKÃÏ\POS#1"#30"+(\cosPIon{12},\sinPIon{12})#2="#31"#4#5\relaxŽŽ¡‘ãŒÃ1112Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1113Ž‘ûKÃÏ\POS"#30"#1"#30"+(\halfroottwo,\halfroottwo)#2="#32"#4#5\relaxŽŽ¡‘ãŒÃ1114Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1115Ž‘ûKÃÏ\POS"#31"#6"#32"#7#8\relaxŽŽ¡‘ãŒÃ1116Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1117Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon{12},\cosPIon{12})#2="#33"#4#5\relaxŽŽ¡‘ãŒÃ1118Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1119Ž‘ûKÃÏ\POS"#32"#6"#33"#7#8\relaxŽŽ¡‘ãŒÃ1120Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1121Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon{12},-\cosPIon{12})#2="#34"#4#5\relaxŽŽ¡‘ãŒÃ1122Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1123Ž‘ûKÃÏ\POS"#33"#6"#34"#7#8\relaxŽŽ¡‘ãŒÃ1124Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1125Ž‘ûKÃÏ\POS"#30"#1"#30"-(\halfroottwo,-\halfroottwo)#2="#35"#4#5\relaxŽŽ¡‘ãŒÃ1126Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽŽŽŒ‹ƒá± Á à ý*tj‘ãŒÑ3.7.‘„CPOL–ÿeYGON‘¦fFEA“TURE’IŸ¹387ŽŽ ¶?? ýh«w‘ãŒÃ1127Ž‘ûKÃÏ\POS"#34"#6"#35"#7#8\relaxŽŽ¤ ™š‘ãŒÃ1128Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1129Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon{12},-\sinPIon{12})#2="#36"#4#5\relaxŽŽ¡‘ãŒÃ1130Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1131Ž‘ûKÃÏ\POS"#35"#6"#36"#7#8\relaxŽŽ¡‘ãŒÃ1132Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1133Ž‘ûKÃÏ\POS"#30"#1"#30"-(\cosPIon{12},\sinPIon{12})#2="#37"#4#5\relaxŽŽ¡‘ãŒÃ1134Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1135Ž‘ûKÃÏ\POS"#36"#6"#37"#7#8\relaxŽŽ¡‘ãŒÃ1136Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1137Ž‘ûKÃÏ\POS"#30"#1"#30"-(\halfroottwo,\halfroottwo)#2="#38"#4#5\relaxŽŽ¡‘ãŒÃ1138Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1139Ž‘ûKÃÏ\POS"#37"#6"#38"#7#8\relaxŽŽ¡‘ãŒÃ1140Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1141Ž‘ûKÃÏ\POS"#30"#1"#30"-(\sinPIon{12},\cosPIon{12})#2="#39"#4#5\relaxŽŽ¡‘ãŒÃ1142Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1143Ž‘ûKÃÏ\POS"#38"#6"#39"#7#8\relaxŽŽ¡‘ãŒÃ1144Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1145Ž‘ûKÃÏ\POS"#30"#1"#30"+(\sinPIon{12},-\cosPIon{12})#2="#310"#4#5\relaxŽŽ¡‘ãŒÃ1146Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1147Ž‘ûKÃÏ\POS"#39"#6"#310"#7#8\relaxŽŽ¡‘ãŒÃ1148Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1149Ž‘ûKÃÏ\POS"#30"#1"#30"+(\halfroottwo,-\halfroottwo)#2="#311"#4#5\relaxŽŽ¡‘ãŒÃ1150Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1151Ž‘ûKÃÏ\POS"#310"#6"#311"#7#8\relaxŽŽ¡‘ãŒÃ1152Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\tw@}%ŽŽ¡‘ãŒÃ1153Ž‘ûKÃÏ\POS"#30"#1"#30"+(\cosPIon{12},-\sinPIon{12})#2="#312"#4#5\relaxŽŽ¡‘ãŒÃ1154Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1155Ž‘ûKÃÏ\POS"#311"#6"#312"#7#8\relaxŽŽ¡‘ãŒÃ1156Ž‘ûKÃÏ\xy@@{\advance\xypolynode@\@ne}%ŽŽ¡‘ãŒÃ1157Ž‘ûKÃÏ\POS"#312"#6"#31"#7#8\relax‘¿ª}ŽŽŸv‘ãŒÃ1161Ž‘õŒÏ\xydef@\xylargePolygon@#1#2{%ŽŽ¡‘ãŒÃ1162Ž‘ûKÃÏ\dimen@=#1\p@ŽŽ¡‘ãŒÃ1163Ž‘ûKÃÏ\xyPolygon@@@\xypolygon@@}ŽŽ¡‘ãŒÃ1164Ž‘õŒÏ%–¿ª\xyerror@{Sorry,“polygons“with“#2“sides“are“not“implemented;“maximum“12.}{}}ŽŽ© -‘ôŒ¹W‘ÿee–¦fneed“a“loMÞoping“construction“that“will“not“inš²!terfere“with“others“used“at“a“high“lev˜el.ŽŸPˆ‘ãŒÃ1171Ž‘õŒÏ\xydef@\xypolyrepeat@{\fi}ŽŽ¡‘ãŒÃ1172Ž‘õŒÏ\xydef@\xypolybody@{}ŽŽ¡‘ãŒÃ1173Ž‘õŒÏ\xydef@\xypolyiterate@{\xypolybody@\expandafter\xypolyiterate@\else\fi}ŽŽ¡‘ãŒÃ1174Ž‘õŒÏ\xydef@\xypolyloop@#1\xypolyrepeat@{\def\xypolybody@{#1}\xypolyiterate@}ŽŽ¦‘ôŒ¹The–´›counš²!ter“Ï\xypolynode@Ž‘Le.¹k˜eeps“trac˜k“of“the“curren˜t“v˜ertex,‘¸(spMÞok˜e“and“side.‘{Since“the“user“ma˜yŽ¡‘ãŒcš²!hoMÞose–Weto“place“another“Ï\xypolygonŽ‘B+n¹along“an˜y“suc˜h“piece,‘ƒ¤it“is“necessary“to“calculate“the“angle“forŽ¡‘ãŒeac•²!h›¦fv“ertex˜afresh,˜using˜only˜information˜passed˜via˜the˜parameters˜Ï#1Ž‘%º¹,.–Ó3.“.“,Ï#9Ž‘ T¹.ŽŸPˆ‘ãŒÃ1183Ž‘õŒÏ\xydef@\xypolygon@@#1#2#3#4#5#6#7#8#9{\saveŽŽ¡‘ãŒÃ1184Ž‘ûKÃÏ\vfromcartesianangle@{#9}\edef\next@{\the\X@c,\the\Y@c\addGT@\empty}%ŽŽ¡‘ãŒÃ1185Ž‘ mÏ\xy@@{\xypolynode@=\@ne}%ŽŽ¡‘ãŒÃ1186Ž‘ mÏ\toks@={\POS#1"#30"+}%ŽŽŽŽŒ‹„í³ Á à ý*tj‘㌹388’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1187Ž‘ mÏ\expandafter\expandafter\expandafter\addtotoks@\expandafterŽŽ¤ ™š‘ãŒÃ1188Ž‘ËÏ\expandafter\expandafter{\addLT@\empty}%ŽŽ¡‘ãŒÃ1189Ž‘ mÏ\expandafter\addtotoks@\expandafter{\next@#2="#31"#4#5\relax}%ŽŽ¡‘ãŒÃ1190Ž‘ mÏ\xy@@\dontleave@‘¿ª\the\toks@ŽŽ¡‘ãŒÃ1191Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1192Ž‘ûKÃÏ\xypolyloop@ŽŽ¡‘ãŒÃ1193Ž‘ mÏ\dimen@=360\p@–¿ª\count@@=\xypolyNUMSIDES@\relax“\advance\dimen@“.5\count@@ŽŽ¡‘ãŒÃ1194Ž‘ mÏ\divide\dimen@–¿ª\xypolyNUMSIDES@“\relaxŽŽ¡‘ãŒÃ1195Ž‘ mÏ\multiply\dimen@\xypolynode@–¿ª\relax“\advance\dimen@“#9\p@ŽŽ¡‘ãŒÃ1196Ž‘ mÏ\edef\tmp@{%ŽŽ¡‘ãŒÃ1197Ž‘ ŠÁÏ\noexpand\vfromcartesianangle@{\expandafter\removePT@\the\dimen@}}%ŽŽ¡‘ãŒÃ1198Ž‘ mÏ\tmp@‘¿ª\edef\next@{\the\X@c,\the\Y@c\addGT@\empty}%ŽŽ¡‘ãŒÃ1199Ž‘ mÏ\xy@@{\advance\xypolynode@\@ne}\count@=\xypolynode@ŽŽ¡‘ãŒÃ1200Ž‘ mÏ\toks@={\POS"#30"#1"#30"+}\edef\nextii@{\the\count@}%ŽŽ¡‘ãŒÃ1201Ž‘ mÏ\expandafter\expandafter\expandafter\addtotoks@\expandafterŽŽ¡‘ãŒÃ1202Ž‘ËÏ\expandafter\expandafter{\addLT@\space}%ŽŽ¡‘ãŒÃ1203Ž‘ mÏ\expandafter\addtotoks@\expandafter{\next@#2="#3}%ŽŽ¡‘ãŒÃ1204Ž‘ mÏ\expandafter\addtotoks@\expandafter{\nextii@"#4#5\relax}%ŽŽ¡‘ãŒÃ1205Ž‘ mÏ\the\toks@ŽŽ¡‘ãŒÃ1206Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1207Ž‘ mÏ\count@=\xypolynode@‘¿ª\xy@@{\advance\xypolynode@\m@ne}%ŽŽ¡‘ãŒÃ1208Ž‘ mÏ\toks@={\POS"#3}\expandafter\addtotoks@\expandafter{\the\xypolynode@"#6"#3}%ŽŽ¡‘ãŒÃ1209Ž‘ mÏ\expandafter\addtotoks@\expandafter{\the\count@"#7#8\relax}%ŽŽ¡‘ãŒÃ1210Ž‘ mÏ\the\toks@ŽŽ¡‘ãŒÃ1211Ž‘ mÏ\xy@@{\advance\xypolynode@\@ne}\count@=\xypolyNUMSIDES@‘¿ª\relaxŽŽ¡‘ãŒÃ1212Ž‘ mÏ\ifnum\xypolynode@<\count@–¿ª\relax“\xypolyrepeat@ŽŽ¡‘ãŒÃ1213Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1214Ž‘ mÏ\toks@={\POS"#3}%ŽŽ¡‘ãŒÃ1215Ž‘ mÏ\expandafter\addtotoks@\expandafter{\xypolyNUMSIDES@"#6"#31"#7#8\relax}%ŽŽ¡‘ãŒÃ1216Ž‘ mÏ\the\toks@–¿ª\restore“}ŽŽŸ(«Š‘ãŒÔThe–2end“&“LogŽŸÔ¬‘ôŒ¹DOCMODE3Ž©Pˆ‘ãŒÃ1226ŽŽ¡‘ãŒ1227Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ1229Ž‘õŒÏ%–¿ª$Log:“xypoly.doc,v“$ŽŽ¡‘ãŒÃ1230Ž‘õŒÏ%–¿ªRevision“3.7› T1999/02/16“15:12:50˜krisroseŽŽ¡‘ãŒÃ1231Ž‘õŒÏ%–¿ªInterim“release“(Y&Y“fonts“now“free).ŽŽ¡‘ãŒÃ1232Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1233Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¡‘ãŒÃ1234Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¡‘ãŒÃ1235Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1236Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:28:35“rossŽŽ¡‘ãŒÃ1237Ž‘õŒÏ%–¿ªcosmetic“changes“in“documentationŽŽ¡‘ãŒÃ1238Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1239Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:28:57“rossŽŽ¡‘ãŒÃ1240Ž‘õŒÏ%–¿ªReleasing“version“3.1!ŽŽ¡‘ãŒÃ1241Ž‘õŒÏ%ŽŽŽŽŒ‹…ú( Á à ý*tj‘ãŒÑ3.8.‘„CLA›ÿeTTICE–¦fAND“WEB“FEA˜TURE’¶¹389ŽŽ ¶?? ýh«w‘ãŒÃ1242Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¤ ™š‘ãŒÃ1243Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1244Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1245Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ1246Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ1247Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1248Ž‘õŒÏ%–¿ªRevision“2.12– T1994/10/25“03:01:14“rossŽŽ¡‘ãŒÃ1249Ž‘õŒÏ%–¿ªFinal“3beta“release“[bug“fixes“&“AMS-LaTeX“fitting].ŽŽ¡‘ãŒÃ1250Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1251Ž‘õŒÏ%–¿ªCreated“by“Ross“Moore,“September“1994.ŽŽŸ8Ž<‘ãŒÝ3.8Ž‘r|Lattice–ffand“wŒÌeb“featureŽŸµ‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸW)‘㌹This–ô¶feature“proš²!vides“macros“to“facilitate“t˜ypMÞesetting“of“arrangemen˜ts“of“pMÞoin˜ts“within“a“2-dimensionalŽ¡‘ãŒlattice–¦for“\w•²!eb-lik“e"‘¦fstructure.ŽŸ!Ô†‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyweb.doc,v“3.3“1996/12/18“09:52:11“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Lattice“and“web''“feature.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1994-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{web}{Lattice–¿ªand“web“feature}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŽŽŒ‹†Ï Á à ý*tj‘㌹390’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ42Ž‘õŒÏ\message{lattices,}ŽŽ¤Pˆ‘ôŒ¹W‘ÿee–¦fneed“t•²!w“o›¦fcoun“ters˜and˜macros˜to˜access˜their˜v‘ÿdDalues.Ž¡‘ãŒÃ50Ž‘õŒÏ\xynew@{count}\lattice@AŽŽ¤ ™š‘ãŒÃ51Ž‘õŒÏ\xynew@{count}\lattice@BŽŽ¡‘ãŒÃ52Ž‘õŒÏ\xydef@\latticeA{\lattice@A}ŽŽ¡‘ãŒÃ53Ž‘õŒÏ\xydef@\latticeB{\lattice@B}ŽŽ©Pˆ‘ôŒ¹Currenš²!tly–¤úthe“only“routines“implemen˜ted“with“this“feature“are“some“\quic˜k“and“dirt˜y"“macros“forŽ¡‘ãŒdropping–äob‘›»jects“at“the“pMÞoinš²!ts“of“an“in˜teger“lattice.‘–¾ÔT‘þó\o‘ŸÑDo:‘Y¹More“sophisticated“routines“will“bMÞeŽ¡‘ãŒdevš²!elopMÞed–¦ffor“later“v˜ersions“of‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic,“as“the“need“arises.Ž¡‘ôŒMathematically–»¿spšMÞeaking,‘let‘—”Ä~Ž“uŽŽ‘¼4¹and‘NæÄ~Ž“vŽŽ‘*عb˜e“v²!ectors“p˜oin²!ting“in“indep˜enden²!t“directions“within“theŽ¡‘ãŒplane.‘ÝÝThen–¦fthe“lattice“spanned“bš²!y‘‚;Ä~Ž“uŽŽ‘ ‘‚¹and‘9Ä~Ž“vŽŽ‘ &¹is“the“in nite“set“of“pMÞoin˜ts“ÄL“¹giv˜en“b˜y:ޤ„ê‘"ÄL–N¹=“ÇfŽŽŽ‘ ŽèÄa‘¯~Ž‘Ó1uŽŽ‘ †Ó¹+‘nìÄb‘fX~Ž‘Ó1vŽŽ‘ ‘2¹;‘„>for–¦fÄa¹,“Äb“¹in²!tegersŽ‘S.ÇgŽŽŽ‘ZLùÄ:Ž¡‘㌹Within‘iÁX‘ü·ŸâÃYŽŽ‘é!-pic–‚the“vš²!ectors‘]ìÄ~Ž“uŽŽ‘Hä¹and‘>Ä~Ž“vŽŽ‘·ˆ¹can“bMÞe“established“as“the“curren˜t“coMÞordinate“basis“v˜ectors.‘pðTheޤ ™š‘ãŒfolloš²!wing–¦fmacros“t˜ypMÞeset“a“ nite“subset“of“an“abstract“lattice.Ž‘ãŒŸ rljffã²dŸ ©‘;´€Ï\xylattice#1#2#3#4ŽŽ’¶$²¹pMÞoin²!ts–¦fin“latticeŽŽŽŽ¡‘;´€Ï\croplattice#1#2#3#4#5#6#7#8ŽŽŽ¡’¶$²¹.–Ó3.“.“in–¦fspMÞeci c“rectangle.ŽŽŽŽŸwp‰ffã²dŸ…ú––;The“parameters“Ï#1Ž‘«Ê¹.–Ó3.“.“Ï#4Ž‘è¹are––;to“bMÞe“in²!tegers“ÄaŸ¤zÂminŽ‘ª¸¹,–Ò0ÄaŸ¤zÂmaxŽ›QÖ¹,“ÄbŸ¤zÂminŽ‘@ó¹and‘–;ÄbŸ¤zÂmaxŽ˜¹,“so––;that“the“pMÞortion“of“theŽ¡lattice–•‰to“bšMÞe“t²!yp˜eset“is“that“collection“of“vš²!ectors“in“ÄL“¹for“whic˜h“ÄaŸ¤zÂminŽ›µ_Ç– §Äa“Ç“ÄaŸ¤zÂmaxŽ‘ç_¹and‘•‰ÄbŸ¤zÂminŽ˜Ç“Äb“Ç“ÄbŸ¤zÂmaxŽ‘QÖ¹.ŽŸdmî’“Sÿïps: SDict begin xyc endŸA8«ÇŽŽŽŽŽ‘ØcŸ/8«ŽŽŽŽŽ‘°ÆŸ8«ŽŽŽŽŽ‘‰)Ÿ 8«ŽŽŽŽŽ‘ aŒŸù8«ŽŽŽŽŽ‘9ïŸç8«ŽŽŽŽŽ‘RŸÕ8«ŽŽŽŽŽ‘Ÿ>`HŽŽŽŽŽ‘ØcŸ,`HŽŽŽŽŽ‘°ÆŸ`HŽŽŽŽŽ‘‰)Ÿ`HŽŽŽŽŽ‘aŒŸö`HŽŽŽŽŽ‘ 9ïŸä`HŽŽŽŽŽ‘#RŸÒ`HŽŽŽŽŽ‘$Ÿ;‡åŽŽŽŽŽ‘&ØcŸ)‡åŽŽŽŽŽ‘)°ÆŸ‡åŽŽŽŽŽ‘,‰)Ÿ‡åŽŽŽŽŽ‘/aŒŸó‡åŽŽŽŽŽ‘29ïŸá‡åŽŽŽŽŽ‘5RŸÏ‡åŽŽŽŽŽ‘6Ÿ8¯‚ŽŽŽŽŽ‘8ØcŸ&¯‚ŽŽŽŽŽ‘;°ÆŸ¯‚ŽŽŽŽŽ‘>‰)Ÿ¯‚ŽŽŽŽŽ‘AaŒŸð¯‚ŽŽŽŽŽ‘D9ïŸÞ¯‚ŽŽŽŽŽ‘GRŸÌ¯‚ŽŽŽŽŽ‘HŸ5×ŽŽŽŽŽ‘JØcŸ#×ŽŽŽŽŽ‘M°ÆŸ×ŽŽŽŽŽ‘P‰)ž×ŽŽŽŽŽ‘SaŒŸí×ŽŽŽŽŽ‘V9ïŸÛ×ŽŽŽŽŽ‘YRŸÉ×ŽŽŽŽŽ‘ZŸ2þ¼ŽŽŽŽŽ‘\ØcŸ þ¼ŽŽŽŽŽ‘b‰)Ÿüþ¼ŽŽŽŽŽ‘eaŒŸêþ¼ŽŽŽŽŽ‘h9ïŸØþ¼ŽŽŽŽŽ‘kRŸÆþ¼ŽŽŽŽŽ‘lŸ0&YŽŽŽŽŽ‘nØcŸ&YŽŽŽŽŽ‘q°ÆŸ &YŽŽŽŽŽ‘t‰)Ÿú&YŽŽŽŽŽ‘waŒŸè&YŽŽŽŽŽ‘z9ïŸÖ&YŽŽŽŽŽ‘}RŸÄ&YŽŽŽŽŽ‘~Ÿ-MöŽŽŽŽŽ’€ØcŸMöŽŽŽŽŽ’ƒ°ÆŸ MöŽŽŽŽŽ’†‰)Ÿ÷MöŽŽŽŽŽ’‰aŒŸåMöŽŽŽŽŽ’Œ9ïŸÓMöŽŽŽŽŽ’RŸÁMöŽŽŽŽŽ’Ÿ*u“ŽŽŽŽŽ’’ØcŸu“ŽŽŽŽŽ’•°ÆŸu“ŽŽŽŽŽ’˜‰)Ÿôu“ŽŽŽŽŽ’›aŒŸâu“ŽŽŽŽŽ’ž9ïŸÐu“ŽŽŽŽŽ’¡RŸ¾u“ŽŽŽŽŽ‘_°ÆŸþ¼ŽŽŽŽŽ‘cm“ŸF»ÄaŽŽŽŽŸî@“‘DÀž™„3232ŽŽŽ‘EU±‘ÿúž™„3232ŽŽ–Pî‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘PÜž™„3232ŽŽŽŸTZ‘Cë'Ÿãá ™ž™„3232ŽŽ¤7™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘bm”Ÿãá ™ž™„3232ŽŽ¤7™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘DÀž™„3232ŽŽ‘EU±‘ÿúž™„3232ŽŽ–Pî‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘PÜž™„3232ŽŽŽŽŽŽŽŽŽŽŽ’©‹ìŸdÑsŸü¾Â(1)ŽŽŽŽŽŽŸýh0ï" {0.0 0.0 l}xyŽŽŽ’¦‹ìŸýh0ï" {3072 10 /xy AB}xyŽŽŽŽ’¦‹ìŸýh0ï" {166.54657 0.0 l}xyŽŽŽ’¦‹ìŸýh0ï" {0.0 0.0 l}xyŽŽŽ‘K¹Ÿ¶—µÄsŸü¾Â(2)ŽŽŽŽŽŽŸýh0‘SEöŸCÐ{ï" {0.0 0.0 l}xyŽŽŽ‘SEöŸ¹—µï" {-3072 10 /xy AB}xyŽŽŽŽŸýh0‘SEöŸ¼/…ï" {0.0 135.62875 l}xyŽŽŽŸýh0‘SEöŸ¼/…ï" {0.0 0.0 l}xyŽŽŽŽŽŽŽŸYu“Ï\def\latticebody{%ŽŽ¡\ifnum\latticeA=1–¿ª\ifnum\latticeB=-1“%ŽŽ¡\else\drop{\circ}\fi\else\drop{\circ}\fi}ŽŽ¡\xy‘¿ª*\xybox{0;<1.5pc,1mm>:<1mm,1.5pc>::ŽŽ¡,0,{\xylattice{-4}4{-3}3}ŽŽ¡‘¿ª,(1,-1)="a"*{\bullet}*+<2pt>!UL{a}ŽŽ¡‘¿ª,(-1,1)."a"*\frm{.}}="L"ŽŽ¡,{"L"+L–¿ª\ar“"L"+R*+!L{s^{(1)}}}ŽŽ¡,{"L"+D–¿ª\ar“"L"+U*+!D{s^{(2)}}}ŽŽ¡\endxyŽŽ¦‘¹In–Ï the“abšMÞo•²!v“e–Ï co˜de,‘únotice“hoš²!w“the“basis“is“ rst“established“then“the“Ï\xylatticeŽ‘?¼¹t˜ypMÞeset.‘–Doing“thisŽ¡within–àan“Ï\xyboxŽ‘(‹¼¹allo²!ws“axes“to“bšMÞe“sized“and“placed“appropriately‘ÿe.‘¨±Since“lattice“p˜oin²!ts“are“determinedŽ¡bš²!y–®@their“(in˜teger)“coMÞordinate“displacemen˜ts,‘ßáthey“can“bMÞe“revisited“to“add“extra“Çh¹ob‘›»jectÇi¹s“in˜to“the“o˜v˜erallŽŽŽŒ‹‡Ì Á à ý*tj‘ãŒÑ3.8.‘„CLA›ÿeTTICE–¦fAND“WEB“FEA˜TURE’¶¹391ŽŽ ¶?? ýh«w‘ãŒpicture.‘¸@More–5generally‘ÿe,‘L the“origin“for“lattice-cošMÞordinates“is“the“curren²!t“Çh¹p˜osÇi“Äc¹,‘L when“the“Ï\xylatticeŽŽ¤ ™š‘㌹command–¦fis“encounš²!tered.‘ÝÝEasy“accessibilit˜y“is“main˜tained,“as“seen“in“the“next“example.ŽŸ¼æ‘ôŒWhen–>the“basis“vš²!ectors‘éÄ~Ž“uŽŽ‘ÀÞ¹and‘Ñ;Ä~Ž“vŽŽ‘/‚¹are“not“p•MÞerp“endicular–>the“collection“of“pMÞoin˜ts“with“Äa;‘Ó1b“¹in“theseŽ¡‘ãŒranges–NHwill“ ll“out“a“skš²!ew“parallelogram.‘À~Generally“it“is“useful“to“plot“only“those“pMÞoin˜ts“lying“within“aŽ¡‘㌠xed–=rectangle.‘ºÃThis“is“the“purpMÞose“of“Ï\croplatticeŽ‘H9¹,‘R'with“its“extra“parameters“Ï#5Ž‘ù‚¹.–Ó3.“.“Ï#8Ž‘ž¹determiningŽ¡‘ãŒthe–ÔÒ`cropping'“rectangle“within“whicš²!h“lattice“pMÞoin˜ts“will“bMÞe“t˜ypšMÞeset.‘i Other“p˜oin²!ts“will“not“b˜e“t²!yp˜esetŽ¡‘ãŒevš²!en–sAwhen“Äa“¹and“Äb“¹are“within“the“spMÞeci ed“ranges.‘DoExplicitly“the“horizon˜tal“range“of“the“croppingŽ¡‘ãŒrectangle–¯ is“ÄXŸ¤zÂminŽ›YĹto“ÄXŸ¤zÂmaxŽ‘QÖ¹,‘ñ5with“ÄXŸ¤zÂminŽ˜¹bšMÞeing“the“ÄX‘Ûø¹-co˜ordinate“of“the“v²!ector“Ï#5Ž‘MºÇ‘û/Ä~Ž‘ZuŽŽ‘ d¹,‘ñ5where“Ï#5Ž‘Ýl¹is“aŽ¡‘ãŒÇh¹n•²!um“bšMÞerÇi–tb¹(not“necessarily“an“in²!teger).‘GÒSimilarly“ÄXŸ¤zÂmaxŽ‘Æ8¹is“the“ÄX‘Ûø¹-co˜ordinate“of“Ï#6Ž‘ëôÇ‘ÔÄ~Ž‘ø>uŽŽ‘ <ô¹.‘GÒThe“v²!erticalŽ¡‘ãŒextenš²!ts–¦fare“ÄYŸ¤zÂminŽ‘Q¹and“ÄYŸ¤zÂmaxŽ‘QÖ¹,“giv˜en“b˜y“the“ÄY‘nï¹-coMÞordinates“of“Ï#7Ž›”¦Ç‘Ä~Ž‘nìvŽŽ‘ Ȭ¹and“Ï#8Ž˜Ç‘Ä~Ž‘nìvŽŽ‘ Ȭ¹respMÞectiv²!ely‘ÿe.ŽŸ_1«‘lŒfïps: SDict begin xyc end$‹Ÿß\ÇŽŽŽŽŽ‘ÈcŸË;ŽŽŽŽŽ‘•+Ÿ*JŽŽŽŽŽŽ‘ 9Ÿ}ÆŽŽŽŽŽ‘ÜÛŸ°þŽŽŽŽŽ‘€³Ÿîä6ŽŽŽŽŽ‘$$‹ŸÛnŽŽŽŽŽ‘,ÈcŸÇJ¦ŽŽŽŽŽ‘%•+Ÿ&ùŽŽŽŽŽ‘.9Ÿ91ŽŽŽŽŽ‘6ÜÛŸþliŽŽŽŽŽ‘?€³ŸêŸ¡ŽŽŽŽŽ‘H$‹ŸÖÒÙŽŽŽŽŽ‘PÈcŸÃŽŽŽŽŽ‘@ñSŸ5Ž,ŽŽŽŽŽ‘I•+Ÿ!ÁdŽŽŽŽŽ‘R9Ÿ ôœŽŽŽŽŽ‘ZÜÛŸú'ÔŽŽŽŽŽ‘l$‹ŸÒŽDŽŽŽŽŽ‘tÈcŸ¾Á|ŽŽŽŽŽ‘dñSŸ1I—ŽŽŽŽŽ‘m•+Ÿ|ÏŽŽŽŽŽ‘~ÜÛŸõã?ŽŽŽŽŽ’‡€³ŸâwŽŽŽŽŽ’$‹ŸÎI¯ŽŽŽŽŽ’ˆñSŸ-ŽŽŽŽŽ’‘•+Ÿ8:ŽŽŽŽŽ’š9ŸkrŽŽŽŽŽ’¢ÜÛŸñžªŽŽŽŽŽ’«€³ŸÝÑâŽŽŽŽŽ’´$‹ŸÊŽŽŽŽŽ’¬ñSŸ(ÀmŽŽŽŽŽ’µ•+Ÿó¥ŽŽŽŽŽ‘c€³Ÿæ[ ŽŽŽŽŽ‘b·µŸàìÄ ŽŽŽŽ‘v9Ÿ °ÇŽŽŽŽŽ‘{õП ýåÄ ŽŽŽŽŸýi«‘f=€Ÿæ‚rï" {0.0 39.59985 dt}xyŽŽŽŸýi«‘TõПï" {0.0 -39.59985 dt}xyŽŽŽ‘xõПAï" {54.71997 0.0 dt}xyŽŽŽ‘B=€Ÿè0²ï" {-54.71997 0.0 dt}xyŽŽŽŸãì‘B—ž™„3232ŽŽŽ‘Ce,‘ÿúž™„3232ŽŽ–EŒ‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘E€ž™„3232ŽŽŽŸ'ž°‘BþŸÚ§¥™ž™„3232ŽŽ¤"™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽ‘xñŸÚ§¥™ž™„3232ŽŽ¤"™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽ¡™ž™„3232ŽŽŽŽž32‘B—ž™„3232ŽŽ‘Ce,‘ÿúž™„3232ŽŽ–EŒ‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ“‘ÿúž™„3232ŽŽ‘E€ž™„3232ŽŽŽŽŽŽŽŽŽŽŽ’¾3PŸü´ sŸü¾Â(1)ŽŽŽŽŽŽŸ÷·jï" {0.0 0.0 l}xyŽŽŽ’»3PŸ÷·jï" {3072 10 /xy AB}xyŽŽŽŽ’»3PŸ÷·jï" {187.20044 0.0 l}xyŽŽŽ’»3PŸ÷·jï" {0.0 0.0 l}xyŽŽŽ‘U`cŸ¹RÄsŸü¾Â(2)ŽŽŽŽŽŽŸýh0‘]Ÿ Ÿ5· ï" {0.0 0.0 l}xyŽŽŽ‘]Ÿ Ÿ¼Rï" {-3072 10 /xy AB}xyŽŽŽŽŸýh0‘]Ÿ Ÿ¾ê]ï" {0.0 118.79956 l}xyŽŽŽŸýh0‘]Ÿ Ÿ¾ê]ï" {0.0 0.0 l}xyŽŽŽŽŽŽŽŸHÚº‘ãŒÏ\def\latticebody{%ŽŽ¡‘ãŒ\ifnum\latticeA=1–¿ª\ifnum\latticeB=-1“%ŽŽ¡‘ãŒ\else‘¿ª\drop{\circ}\fi\elseŽŽ¡‘ãŒ\ifnum\latticeA=0‘¿ª\ifnum\latticeB=1\elseŽŽ¡‘ãŒ\drop{\circ}\fi\else\drop{\circ}\fi\fi}ŽŽ¡‘ãŒ\xy‘¿ª+(2,2)="o",0*\xybox{%ŽŽ¡‘éKÃ0;<3pc,1.5mm>:<0.72pc,1.65pc>::,{"o"ŽŽ¡‘éKÃ\croplattice{-4}4{-4}4{-2.6}{2.6}{-3}3}ŽŽ¡‘éKÃ,"o"+(0,1)="a"*{\bullet}*+!D{\alpha}ŽŽ¡‘éKÃ,"o"+(1,-1)="b"*{\bullet}*+!L{\beta}ŽŽ¡‘éKÃ,"o"+(0,-1)="c","o"+(-1,1)="d"ŽŽ¡‘éKÃ,"a"."c"="e",!DR*{};"a"**\dir{.}ŽŽ¡‘éKÃ,"e",!UL*{};"c"**\dir{.}ŽŽ¡‘éKÃ,"b"."d"="f",!DL*{};"b"**\dir{.}ŽŽ¡‘éKÃ,"f",!UR*{};"d"**\dir{.}ŽŽ¡‘éKÃ,"e"."f"*\frm{.}}="L","o"."L"="L"ŽŽ¡‘éKÃ,{"L"+L–¿ª\ar“"L"+R*+!L{s^{(1)}}}ŽŽ¡‘éKÃ,{"L"+D–¿ª\ar“"L"+U*+!D{s^{(2)}}}ŽŽ¡‘ãŒ\endxyŽŽ©Pˆ‘ôŒ¹The–%æroutines“Ï\xylatticeŽ‘AÈp¹and“Ï\croplatticeŽ‘MGĹsimply“cycle“through“the“allo•²!w“able–%ærange“of“v‘ÿdDaluesŽ¡‘ãŒfor‘¦fÏ\lattice@AŽ›@Ép¹and‘¦fÏ\lattice@BŽ‘=# ¹,–¦fwith“Ï\lattice@BŽ˜¹v‘ÿdDarying“within“the“inner“loMÞop.ަ‘ãŒÃ161Ž‘õŒÏ\xydef@\xylattice#1#2#3#4{\xy@{LATTICE}{\xylattice@{#1}{#2}{#3}{#4}}}%ŽŽ¦‘ãŒÃ163Ž‘õŒÏ\xydef@\xylattice@#1#2#3#4{%ŽŽ¡‘ãŒÃ164Ž‘ûKÃÏ\lattice@A=#1\relaxŽŽ¡‘ãŒÃ165Ž‘ûKÃÏ\loop‘¿ª\bgroup\lattice@B=#3\relaxŽŽ¡‘ãŒÃ166Ž‘ mÏ\innerlatticeloop@{#4}%ŽŽ¡‘ãŒÃ167Ž‘ mÏ\edef\tmp@{\egroupŽŽŽŽŒ‹ˆ%¼ Á à ý*tj‘㌹392’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ168Ž‘ËÏ\X@min=\the\X@min‘¿ª\X@max=\the\X@maxŽŽ¤ ™š‘ãŒÃ169Ž‘ËÏ\Y@min=\the\Y@min‘¿ª\Y@max=\the\Y@maxŽŽ¡‘ãŒÃ170Ž‘ mÏ}\tmp@–¿ª\ifnum\lattice@A<#2\relax“\advance\lattice@A\@neŽŽ¡‘ãŒÃ171Ž‘ûKÃÏ\repeat‘¿ª}ŽŽ©Pˆ‘ãŒÃ173Ž‘õŒÏ\xydef@\innerlatticeloop@#1{%ŽŽ¡‘ãŒÃ174Ž‘ûKÃÏ\loop‘¿ª\enter@{\cfromthec@}\enter@{\cplusthec@}%ŽŽ¡‘ãŒÃ175Ž‘ mÏ\vfromcartesian@@–¿ª\the\lattice@A,\the\lattice@B“@%ŽŽ¡‘ãŒÃ176Ž‘ mÏ\edef\latticeX{\expandafter\removePT@\the\X@c}%ŽŽ¡‘ãŒÃ177Ž‘ mÏ\edef\latticeY{\expandafter\removePT@\the\Y@c}%ŽŽ¡‘ãŒÃ178Ž‘ mÏ\leave@–¿ª\latticebody“\leave@ŽŽ¡‘ãŒÃ179Ž‘ûKÃÏ\ifnum\lattice@B<#1\relax‘¿ª\advance\lattice@B\@neŽŽ¡‘ãŒÃ180Ž‘ûKÃÏ\repeat‘¿ª}ŽŽŸß%‘ôŒ¹With‘{ÆÏ\xylatticeŽ‘Bt0¹getting–{Æthe“picture“size“correct“is“simply“a“matter“of“passing“Ï\X@minŽ‘&ù¹,‘±ÏX@maxŽ‘!op¹,Ž¡‘ãŒetc.›r£outside–×ýof“the“inner“group.˜Ho•²!w“ev“er–×ýwith“Ï\croplatticeŽ‘L«ò¹these“are“ rst“set“to“correspMÞond“to“theŽ¡‘ãŒ`cropping–¦frectangle'“then“subsequen²!tly“merged“with“their“original“v‘ÿdDalues.ަ‘ãŒÃ190Ž‘õŒÏ\xydef@\croplattice#1#2#3#4#5#6#7#8{\xy@{LATTICE}%ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ{\xycroplattice@{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}}%ŽŽ¦‘ãŒÃ193Ž‘õŒÏ\xydef@\xycroplattice@#1#2#3#4#5#6#7#8{%ŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\enter@{\X@min=\the\X@min‘¿ª\X@max=\the\X@maxŽŽ¡‘ãŒÃ195Ž‘ mÏ\Y@min=\the\Y@min‘¿ª\Y@max=\the\Y@max}%ŽŽ¡‘ãŒÃ196Ž‘ûKÃÏ\enter@{\cfromthec@}\enter@{\cplusthec@}%ŽŽ¡‘ãŒÃ197Ž‘ mÏ\vfromcartesian@@–¿ª#5,0“@\leave@“\X@min=\X@c“\leave@ŽŽ¡‘ãŒÃ198Ž‘ûKÃÏ\enter@{\cfromthec@}\enter@{\cplusthec@}%ŽŽ¡‘ãŒÃ199Ž‘ mÏ\vfromcartesian@@–¿ª#6,0“@\leave@“\X@max=\X@c“\leave@ŽŽ¡‘ãŒÃ200Ž‘ûKÃÏ\enter@{\cfromthec@}\enter@{\cplusthec@}%ŽŽ¡‘ãŒÃ201Ž‘ mÏ\vfromcartesian@@–¿ª0,#7“@\leave@“\Y@min=\Y@c“\leave@ŽŽ¡‘ãŒÃ202Ž‘ûKÃÏ\enter@{\cfromthec@}\enter@{\cplusthec@}%ŽŽ¡‘ãŒÃ203Ž‘ mÏ\vfromcartesian@@–¿ª0,#8“@\leave@“\Y@max=\Y@c“\leave@ŽŽ¡‘ãŒÃ204Ž‘ûKÃÏ\lattice@A=#1\relaxŽŽ¡‘ãŒÃ205Ž‘ûKÃÏ\loopŽŽ¡‘ãŒÃ206Ž‘ mÏ\bgroup\lattice@B=#3\relaxŽŽ¡‘ãŒÃ207Ž‘ËÏ\enter@{\cfromthec@}\innercroplatticeloop@{#4}\leave@ŽŽ¡‘ãŒÃ208Ž‘ mÏ\egroupŽŽ¡‘ãŒÃ209Ž‘ mÏ\ifnum\lattice@A<#2\relax‘¿ª\advance\lattice@A\@neŽŽ¡‘ãŒÃ210Ž‘ûKÃÏ\repeat–¿ª\mergecropextents@“}ŽŽ¦‘ãŒÃ212Ž‘õŒÏ\xydef@\innercroplatticeloop@#1{%ŽŽ¡‘ãŒÃ213Ž‘ûKÃÏ\loopŽŽ¡‘ãŒÃ214Ž‘ mÏ\enter@{\cfromthec@}\enter@{\cplusthec@}%ŽŽ¡‘ãŒÃ215Ž‘ËÏ\vfromcartesian@@–¿ª\the\lattice@A,\the\lattice@B“@%ŽŽ¡‘ãŒÃ216Ž‘ËÏ\edef\latticeX{\expandafter\removePT@\the\X@c}%ŽŽ¡‘ãŒÃ217Ž‘ËÏ\edef\latticeY{\expandafter\removePT@\the\Y@c}%ŽŽ¡‘ãŒÃ218Ž‘ mÏ\leave@‘¿ª\DN@{\latticebody}%ŽŽ¡‘ãŒÃ219Ž‘ mÏ\ifdim\X@c<\X@min\DN@{}%ŽŽ¡‘ãŒÃ220Ž‘ mÏ\else\ifdim\X@c>\X@max\DN@{}%ŽŽ¡‘ãŒÃ221Ž‘ mÏ\else\ifdim\Y@c<\Y@min\DN@{}%ŽŽ¡‘ãŒÃ222Ž‘ mÏ\else\ifdim\Y@c>\Y@max\DN@{}%ŽŽ¡‘ãŒÃ223Ž‘ mÏ\fi\fi\fi\fi–¿ª\next@“\leave@ŽŽ¡‘ãŒÃ224Ž‘ûKÃÏ\ifnum\lattice@B<#1\relax‘¿ª\advance\lattice@B\@neŽŽŽŽŒ‹‰=b Á à ý*tj‘ãŒÑ3.8.‘„CLA›ÿeTTICE–¦fAND“WEB“FEA˜TURE’¶¹393ŽŽ ¶?? ýh«w‘ãŒÃ225Ž‘ûKÃÏ\repeat‘¿ª}ŽŽ©Pˆ‘ãŒÃ227Ž‘õŒÏ\xydef@\mergecropextents@{%ŽŽ¤ ™š‘ãŒÃ228Ž‘ûKÃÏ\edef\tmp@{%ŽŽ¡‘ãŒÃ229Ž‘ mÏ\noexpand\ifdim\X@min>\the\X@min‘¿ª\X@min=\the\X@min\noexpand\fiŽŽ¡‘ãŒÃ230Ž‘ mÏ\noexpand\ifdim\X@max<\the\X@max‘¿ª\X@max=\the\X@max\noexpand\fiŽŽ¡‘ãŒÃ231Ž‘ mÏ\noexpand\ifdim\Y@min>\the\Y@min‘¿ª\Y@min=\the\Y@min\noexpand\fiŽŽ¡‘ãŒÃ232Ž‘ mÏ\noexpand\ifdim\Y@max<\the\Y@max‘¿ª\Y@max=\the\Y@max\noexpand\fi}%ŽŽ¡‘ãŒÃ233Ž‘ûKÃÏ\leave@–¿ª\tmp@“}ŽŽŸ!sΑãŒÔThe‘íÏ\latticebodyŽ‘LÖ.Ômacro.‘ ó5¹A•²!t›jeac“h˜lattice˜pMÞoin“t˜within˜the˜spMÞeci ed˜range˜for˜Äa;‘Ó1b˜¹(and˜within˜theŽ¡‘ãŒcropping–ùÕrectangle“when“Ï\croplatticeŽ›Lis“used),‘°a“macro“called“Ï\latticebodyŽ˜¹is“expanded.‘Ø)This“isŽ¡‘ãŒmean²!t–qóto“bšMÞe“user-de nable,‘¤Õso“as“to“b˜e“able“to“adapt“to“an²!y“sp˜eci c“requiremen²!t.‘@ƒIt“has“a“defaultŽ¡‘ãŒexpansion–¦fgivš²!en“b˜y“.–Ó3.“.Ž¡‘vû½Ï\def\latticebody{\drop{\bullet}}Ž’0Ä.Ä:ŽŸƒH‘㌹The–¦ffolloš²!wing“macros“ma˜y“bšMÞe“useful“when“sp˜ecifying“what“to“do“at“eac²!h“p˜oin²!t“of“the“lattice.Ž‘ãŒŸ ZÓ‰ffã²dŸ S‘I’ýÏ\latticebodyŽŽ’¨F5¹expanded–¦fat“lattice“pMÞoin²!tsŽŽŽŽ¡‘I’ýÏ\defaultlatticebodyŽŽ’¼F5¹resets–¦fto“defaultŽŽŽŽ¡‘I’ýÏ\latticeAŽŽ’¨F5Äa¹-v‘ÿdDalue–¦fof“lattice“pMÞoin²!tŽŽŽŽ¡‘I’ýÏ\latticeBŽŽ’¨F5Äb¹-v‘ÿdDalue–¦fof“lattice“pMÞoin²!tŽŽŽŽ¡‘I’ýÏ\latticeXŽŽ’¨F5ÄX‘Ûø¹-coMÞord,–¦fo set“in“ÏptŽ‘%º¹s.–Ó3.“.ŽŽŽŽ¡‘I’ýÏ\latticeYŽŽ’¨F5ÄY‘nï¹-coMÞord,›¦f.–Ó3.“.“from˜lattice˜origin.ŽŽŽŽŸHȉffã²dŸn–ž7As“in“the“examples“presenš²!ted“abMÞo˜v˜e,‘ŸÚthe“ob‘›»ject“droppšMÞed“at“the“lattice“p˜oin²!t“can“b˜e“v‘ÿdDaried“accordingŽ¡to–¦fits“loMÞcation,“or“omitted“altogether.Ž¡‘The–¦fdefault“Ï\latticebodyŽ‘LHĹmacro“.–Ó3.“.ަÃ266Ž‘Ï\xydef@\deflatticebody@{\def\latticebody{\drop{\bullet}}}ŽŽ¡Ã267Ž‘Ï\xydef@\defaultlatticebody{\deflatticebody@}ŽŽ¡Ã268Ž‘Ï\deflatticebody@ŽŽ¦‘¹In– Ðthe“ nal“example“the“Ï\latticebodyŽ‘K˜¹macro“pšMÞerforms“a“calculation“to“decide“whic²!h“lattice“p˜oin²!tsŽ¡should–¦fbMÞe“emphasised:Ž –e&‘}q\ïps: SDict begin xyc end‘(ËŸ»‰-Ä:ŽŽŽŽ‘ Ÿ ‰-:ŽŽŽŽ‘ÿQ»Ÿ 95:ŽŽŽŽ‘ GŸ95:ŽŽŽŽ‘=CŸê95:ŽŽŽŽ‘3ŸÏ95:ŽŽŽŽ‘'(ËŸ´95:ŽŽŽŽ‘/矛2ÇŽŽŽŽŽ‘f3ŸNé=Ä:ŽŽŽŽ‘[÷Ÿ3é=:ŽŽŽŽ‘#Q»Ÿé=:ŽŽŽŽ‘-GŸýé=:ŽŽŽŽ‘6ËŸäÄ:ÇŽŽŽŽŽ‘A3ŸÇé=Ä:ŽŽŽŽ‘K(ËŸ¬é=:ŽŽŽŽ‘UŸ‘é=:ŽŽŽŽ‘2.»ŸItBÇŽŽŽŽŽ‘=[÷Ÿ,™EÄ:ŽŽŽŽ‘FCŸtBÇŽŽŽŽŽ‘PŸøtBŽŽŽŽŽ‘[=CŸÛ™EÄ:ŽŽŽŽ‘e3ŸÀ™E:ŽŽŽŽ‘o(ËŸ¥™E:ŽŽŽŽ‘yŸŠ™E:ŽŽŽŽ‘Wf3Ÿ@IM:ŽŽŽŽ‘a[÷Ÿ%IM:ŽŽŽŽ‘kQ»Ÿ IM:ŽŽŽŽ‘uGŸïIM:ŽŽŽŽ‘=CŸÔIM:ŽŽŽŽ’‰3Ÿ¹IM:ŽŽŽŽ’“(ËŸžIM:ŽŽŽŽ‘qpoŸSùU:ŽŽŽŽ‘{f3Ÿ8ùU:ŽŽŽŽ’…[÷ŸùU:ŽŽŽŽ’ŽCŸÔRÇŽŽŽŽŽ’™GŸçùUÄ:ŽŽŽŽ’£=CŸÌùU:ŽŽŽŽ’­3Ÿ±ùU:ŽŽŽŽ’·(ËŸ–ùU:ŽŽŽŽ’•poŸL©]:ŽŽŽŽ’Ÿf3Ÿ1©]:ŽŽŽŽ’©[÷Ÿ©]:ŽŽŽŽ’²CŸý„ZÇŽŽŽŽŽ’½GŸà©]Ä:ŽŽŽŽ’Ç=CŸÅ©]:ŽŽŽŽ’¹poŸEYe:ŽŽŽŽ’Ãf3Ÿ*Ye:ŽŽŽŽ’Í[÷ŸYe:ŽŽŽŽŽŽŽŽŽŽ’ÓÌÔŸdÑd“Ÿü¾Â(1)ŽŽŽŽŽŽŸýh0ï" {0.0 0.0 l}xyŽŽŽ’ÐÌÔŸýh0ï" {3072 10 /xy AB}xyŽŽŽŽ’ÐÌÔŸýh0ï" {208.80011 0.0 l}xyŽŽŽ’ÐÌÔŸýh0ï" {0.0 0.0 l}xyŽŽŽ‘%䕟ƒˆ‰Äd“Ÿü¾Â(2)ŽŽŽŽŽŽŸýh0‘.æŸ[¹Ýï" {0.0 0.0 l}xyŽŽŽ‘.柆ˆ‰ï" {-3072 10 /xy AB}xyŽŽŽŽŸýh0‘.柉 Yï" {0.0 210.59967 l}xyŽŽŽŸýh0‘.柉 Yï" {0.0 0.0 l}xyŽŽŽŽŽŽŽŽŽŒ‹ŠIt Á à ý*tj‘㌹394’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÏ\def\latticebody{\dimen0=\latticeX‘¿ªptŽŽ¤ ™š‘éKÃ\ifdim\dimen0>0pt–¿ª\divide\dimen0“by“64ŽŽ¡‘éKÃ\dimen0=\latticeY\dimen0‘¿ª\relaxŽŽ¡‘éKÃ\ifdim–¿ª0pt>\dimen0“\dimen0=-\dimen0“\fiŽŽ¡‘éKÃ\ifdim–¿ª10pt>\dimen0“\drop{\bullet}%ŽŽ¡‘éKÃ\else\drop{.}\fi‘¿ª\else\drop{.}\fi}ŽŽ¡‘ãŒ\xy*\xybox{0;<3pc,2.57mm>:<.83pc,2.25pc>::ŽŽ¡‘ãŒ,0,{\croplattice{-3}5{-5}5ŽŽ¡‘ï m{-1.3}{4.5}{-3.4}{4.4}}}="L"ŽŽ¡‘ãŒ,{"L"+L–¿ª\ar“"L"+!R*+!L{\sigma^{(1)}}}ŽŽ¡‘ãŒ,{"L"+D–¿ª\ar“"L"+!U*+!D{\sigma^{(2)}}}ŽŽ¡‘ãŒ\endxyŽŽŸ#*m‘ãŒÔThe–2end“&“LogŽ© Þ‘ôŒ¹DOCMODE3ޤPˆ‘ãŒÃ302Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ304Ž‘õŒÏ%–¿ª$Log:“xyweb.doc,v“$ŽŽ¤ ™š‘ãŒÃ305Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:52:11“rossŽŽ¡‘ãŒÃ306Ž‘õŒÏ%–¿ªno“changesŽŽ¡‘ãŒÃ307Ž‘õŒÏ%ŽŽ¡‘ãŒÃ308Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:36:33˜rossŽŽ¡‘ãŒÃ309Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ310Ž‘õŒÏ%ŽŽ¡‘ãŒÃ311Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ312Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ313Ž‘õŒÏ%ŽŽ¡‘ãŒÃ314Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/05“10:36:22“rossŽŽ¡‘ãŒÃ315Ž‘õŒÏ%–¿ªReady“for“v3“release?ŽŽ¡‘ãŒÃ316Ž‘õŒÏ%ŽŽ¡‘ãŒÃ317Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ/Gˆ‘ãŒÝ3.9Ž‘r|Circle,–ffEllipse,“Arc“featureŽŸö›‘ãŒæV‘ÿ «ers.‘p3.4–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ1‘㌹This–´£feature“proš²!vides“a“means“to“a“spMÞecify“circles“of“arbitrary“radius,‘äýdra˜wn“with“a“v‘ÿdDariet˜y“of“line“st˜yles.Ž¡‘ãŒSimilarly–…µellipses“ma²!y“bšMÞe“sp˜eci ed,‘½ˆhaš²!ving“arbitrary“ma‘›»jor/minor“axes“aligned“in“an˜y“direction.‘{ÊAŽ¡‘ãŒcircular–¦farc“joining“t•²!w“o›¦fpMÞoin“ts˜can˜b•MÞe˜constructed˜with˜sp“eci ed˜tangen²!t˜direction˜at˜one˜end.ަ‘ôŒAll–uthe“curv²!es“describMÞed“here|circles,‘hxellipses“and“sectors“of“these|are“constructed“using“theŽ¡‘ãŒcurvš²!es–ÿàfrom“the“ÏxycurveŽ‘0=f¹extension.‘êJAs“suc˜h“an˜y“commen˜ts“giv˜en“there“concerning“memory“require-Ž¡‘ãŒmenš²!ts–Ÿ²are“equally“v‘ÿdDalid“here,‘¡ pMÞerhaps“ev˜en“more“so.‘Û¡Use“of“the“ÏxypsŽ‘> ÕPostScript“¹bac˜k-end“is“highlyŽ¡‘ãŒrecommended.ŽŸs‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyarc.doc,v“3.4“1997/05/18“01:13:24“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Circles,“Ellipses“and“Arcs''“feature.ŽŽŽŽŒ‹‹W3 Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹395ŽŽ ¶?? ýh«w‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1997“Ross“Moore“ŽŽ¤ ™š‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“XY-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“XY-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{arc}{Circle,–¿ªEllipse,“Arc“feature}{\stripRCS$Revision:“3.4“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ6¡‘ôŒ¹The–ä~arcs“are“not“truly“circular“or“elliptical,‘ Fbut“are“approš²!ximations“giv˜en“b˜y“cubic“B²"‘úÔDezier“segmen˜ts.Ž¡‘ãŒHence–¦fthe“ÏxycurveŽ‘/Šr¹feature“m²!ust“bMÞe“loaded.ަ‘ãŒÃ53Ž‘õŒÏ\xyrequire{curve}ŽŽ¡‘ãŒÃ54Ž‘õŒÏ\xycatcodesŽŽ¦‘ôŒ¹The–i'basic“Çh¹ob‘›»jectÇi“¹de ned“here“is“Ï\arcŽ‘gϹ.‘& So“far“it“is“only“implemen²!ted“as“a“Çh¹decorÇi¹ation,‘™×calledŽ¡‘ãŒÏ\ellipseŽ‘‰i¹.ަ‘ãŒÃ62Ž‘õŒÏ\xydef@\ellipse#1#{\xy@{ELLIPSE}{\hbox\bgroup\save@}%ŽŽ¡‘ãŒÃ63Ž‘ûKÃÏ\let\endarc@=\endellipse@@–¿ª\xyFN@\preARC@“#1@}ŽŽ¦‘ãŒÃ65Ž‘õŒÏ\xydef@\endellipse@@{\xy@{endELLIPSE}{\leave@\origDirection@ŽŽ¡‘ãŒÃ66Ž‘ûKÃÏ\edef\next@{\egroup–¿ª\X@min=\the\X@min“\X@max=\the\X@maxŽŽ¡‘ãŒÃ67Ž‘ mÏ\Y@min=\the\Y@min–¿ª\Y@max=\the\Y@max“}\next@}\let\bstartPLACE@=\relax}ŽŽ¦‘ãŒÃ69Ž‘õŒÏ\xydef@\preARC@{%ŽŽ¡‘ãŒÃ70Ž‘ûKÃÏ\ifx\next\space@‘¿ª\expandafter\DN@\space{\xyFN@\preARC@}%ŽŽ¡‘ãŒÃ71Ž‘ûKÃÏ\else\ifx\next–¿ª@\DN@{\xy@{ellipseARC}\ellipticARC@“\arc@}%ŽŽ¡‘ãŒÃ72Ž‘ûKÃÏ\else\ifx\next‘¿ª~\DN@~##1{\tildeARC@{##1}}%ŽŽ¡‘ãŒÃ73Ž‘ûKÃÏ\else\DN@{\xy@{ellipticARC}\ellipticARC@‘¿ª\arc@}%ŽŽ¡‘ãŒÃ74Ž‘ûKÃÏ\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ76Ž‘õŒÏ%\xydef@\arc#1#{\xy@{ARC}{\hbox\bgroup\save@}%ŽŽ¡‘ãŒÃ77Ž‘õŒÏ%‘ T\let\endarc@=\endarc@@\arc@{#1}}ŽŽ¡‘ãŒÃ78Ž‘õŒÏ%\xydef@\endarc@@{\xy@{endARC}{\leave@\origDirection@ŽŽ¦‘ôŒ¹W‘ÿee–_(start“bš²!y“recording“the“curv˜e“Çh¹st˜yleÇi“¹and“initialising“some“methošMÞds“and“Çh¹p˜osÇi“¹names,‘mhto“b˜e“ableŽ¡‘ãŒto–¦feasily“access“impšMÞortan²!t“Çh¹p˜osÇi“¹and“Çh¹directionÇi“¹information.ŽŽŽŒ‹Œ`§ Á à ý*tj‘㌹396’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ôŒ¹When–²¶the“Ï...Ž‘¤j¹in“Ï\arc...{Ž‘2°Çh¹stš²!yleÇiÏ}Ž‘ r`¹is“particularly“simple,‘õÊe.g.‘ÎÇh¹empt˜yÇi“¹or“Ï^Ž‘%¹or“Ï_Ž‘ r`¹,‘õÊthen“w˜e“canޤ ™š‘ãŒbranc²!h–¦fimmediately“to“Ï\fullCircle@Ž‘H¢^¹.‘ÝÝOtherwise“more“parsing“is“required.Ž©Pˆ‘ãŒÃ91Ž‘õŒÏ\xydef@\arc@#1@#2{\DN@{#2}%ŽŽ¡‘ãŒÃ92Ž‘ûKÃÏ\ifx\next@\empty‘¿ª\xy@{arcSTYLE}{\def\arcSTYLE{-}}%ŽŽ¡‘ãŒÃ93Ž‘ûKÃÏ\else–¿ª\xy@{arcSTYLE}{\def\arcSTYLE{#2}}\fi“\arc@iŽŽ¡‘ãŒÃ94Ž‘ûKÃÏ\DNii@{#1}%ŽŽ¡‘ãŒÃ95Ž‘ûKÃÏ\ifx\nextii@\empty‘¿ª\DN@{\fullCircle@}%ŽŽ¡‘ãŒÃ96Ž‘ûKÃÏ\else‘¿ª\DN@{_}%ŽŽ¡‘ãŒÃ97Ž‘ mÏ\ifx\next@\nextii@‘¿ª\xy@{_}{\def\arcOrient@@{_}}%ŽŽ¡‘ãŒÃ98Ž‘ËÏ\let\arcOrient@@=\next@‘¿ª\DN@{\fullCircle@}%ŽŽ¡‘ãŒÃ99Ž‘ûKÃÏ\else‘¿ª\DN@{^}%ŽŽ¡‘ãŒÃ100Ž‘ mÏ\ifx\next@\nextii@‘¿ª\xy@{^}{\def\arcOrient@@{^}}%ŽŽ¡‘ãŒÃ101Ž‘ËÏ\let\arcOrient@@=\next@‘¿ª\DN@{\fullCircle@}%ŽŽ¡‘ãŒÃ102Ž‘ûKÃÏ\else‘¿ª\DN@{\def\afterARCextents@@{%ŽŽ¡‘ãŒÃ103Ž‘ËÏ\xy@{aftARCext}{\let\doCircleArc@=\doCircleArc@@}%ŽŽ¡‘ãŒÃ104Ž‘ËÏ\ellipseArc@–¿ª\xy@{doCircARCs}{\doCircleArcs@}\endarc@“}%ŽŽ¡‘ãŒÃ105Ž‘õŒÏ%‘>þ\xy@{doCircARCs}{\leave@–¿ª\doCircleArcs@}\endarc@“}%ŽŽ¡‘ãŒÃ106Ž‘ mÏ\xyFN@\getarcparams@#1@}\fi\fi\fiŽŽ¡‘ãŒÃ107Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ¤‘ôŒ¹When–>Ðfurther“parsing“is“required,›Sˆusing“Ï\getarcparams@Ž‘Sº¹,˜then“an“Ï@Ž‘ =J¹tok²!en“is“used“to“mark“the“endŽ¡‘ãŒof–¦fthe“relev‘ÿdDanš²!t“tok˜ens.ŽŸÙ¶‘ôŒBefore–¼‡anš²!y“parsing“at“all“the“curren˜t“Äp“¹and“Äc“¹are“recorded“as“named“Çh¹pMÞosÇi¹itions“Ð0@p‘my¹and“Ð0@c‘žu¹,‘ÂasŽ¡‘ãŒwš²!ell–4Nas“a“pMÞoin˜t“Ð0@m‘ Y¹along“the“line“in“the“curren˜t“direction“from“Äp¹.‘‡–A‘4*methoMÞd“Ï\origDirection@Ž‘^£’¹isŽ¡‘ãŒde ned–Íüto“arti cially“re-impšMÞose“this“direction“indep˜endenš²!t“of“the“Äp“¹and“Äc“¹that“ma˜y“bMÞe“curren˜t“at“theŽ¡‘ãŒtime.‘o9Ï\startDirection@Ž‘f–¹is–,/initialised“to“this“methoMÞd,‘M¢though“parsing“maš²!y“c˜hange“its“v‘ÿdDalue.‘o9OtherŽ¡‘ãŒmethošMÞds–Úare“initialised,‘win“particular“the“default“orien²!tation;‘.their“v‘ÿdDalues“can“b˜e“exp˜ected“to“c²!hangeŽ¡‘ãŒwith–¦fsubsequen²!t“parsing.ަ‘ãŒÃ123Ž‘õŒÏ\xydef@\arc@i{\xy@{ARCi}{%ŽŽ¡‘ãŒÃ124Ž‘ûKÃÏ\save@\idfromc@{0@c}\cfromp@\idfromc@{0@p}%ŽŽ¡‘ãŒÃ125Ž‘ûKÃÏ\enter@\cplusthec@‘¿ª\enter@\relax\begingroup\vfromslide@i{}@\czeroEdge@ŽŽ¡‘ãŒÃ126Ž‘ûKÃÏ\leave@\idfromc@{0@m}\leave@‘¿ª\zeroDivideLimit@{50}%ŽŽ¡‘ãŒÃ127Ž‘ûKÃÏ\edef\origDirection@{\Direction=\the\DirectionŽŽ¡‘ãŒÃ128Ž‘ mÏ\relax\noexpand\imposeDirection@}%ŽŽ¡‘ãŒÃ129Ž‘ûKÃÏ\let\startDirection@=\origDirection@‘¿ª\def\startDirection@@{}%ŽŽ¡‘ãŒÃ130Ž‘ûKÃÏ\def\endDirection@{}\def\endDirection@@{}\def\arcOrient@@{^}}%ŽŽ¡‘ãŒÃ131Ž‘ûKÃÏ\def\arcOrient@@{^}\let\processDirections@=\checkstartDirection@ŽŽ¡‘ãŒÃ132Ž‘ûKÃÏ\def\arcRadius@{}\def\ellipseRatio@{}\def\arcScale@{\arcScale@@}}ŽŽŸv‘ãŒÃ138Ž‘õŒÏ\message{circles,}ŽŽŸ:Sˆ‘ãŒÞ3.9.1Ž‘ ÌF‘þàull‘€CirclesŽŸî‘㌹The‘ýÏxyarcŽ‘$ÄL¹feature–ýalloš²!ws“a“m˜uc˜h“wider“range“of“pMÞossibilities“for“t˜ypMÞesetting“circles“than“is“a˜v‘ÿdDailableŽ¡‘ãŒwith‘žŸÏ\cirŽ‘G¹.›ÛEFirstly–žŸthe“radius“is“no“longer“restricted“to“a“ nite“collection“of“sizes.˜Secondly“fancy“lineŽ¡‘ãŒ(curv•²!e)›%Dst“yles˜are˜a“v‘ÿdDailable,‘Düas˜with˜curv“ed˜arro“ws.‘ZxFinally˜there˜are˜a˜v‘ÿdDariet“y˜of˜w“a“ys˜of˜spMÞecifyingŽ¡‘ãŒthe–¦fdesired“radius,“relativš²!e“to“other“parts“of“the“picture“bMÞeing“built,“as“in“the“follo˜wing“example.ŽŽŽŒ‹n Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹397ŽŽ ¶?? ýh«wŸSœ’¦×ïps: SDict begin xyc end‘ÀïŸÿ4ýÈŽŽŽŽŽŽ‘ `ŸøGÄpŽŽŽŽ‘,ÀïŸ4ýÈŽŽŽŽŽŽ‘7¼ŸçÄcŽŽŽŽ‘.¼Ÿh0ï" {30.0 -30.0 l}xyŽŽŽ‘kzŸAåï" {p}xyŽŽŽŽŽŽ‘ Þ,žÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘ õ:Ÿ›ï" {p}xyŽŽŽŽŽŽ‘ I<Ÿ‚£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘ ߟ$=ï" {p}xyŽŽŽŽŽŽ‘èŸ4ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+*Ÿ Ð]ï" {p}xyŽŽŽŽŽŽ‘PÜŸ ¿ï" {p}xyŽŽŽŽŽŽŽŽŽ‘ØÊŸ˜;ï" {p}xyŽŽŽŽŽŽ‘ëüŸ ­ï" {p}xyŽŽŽŽŽŽŽŽŽ‘嫟|Bï" {p}xyŽŽŽŽŽŽ‘î}Ÿôï" {p}xyŽŽŽŽŽŽŽŽŽ‘SðŸn¤ï" {p}xyŽŽŽŽŽŽ‘VBŸ>æï" {p}xyŽŽŽŽŽŽŽŽŽ‘#fŸh0ï" {p}xyŽŽŽŽŽŽ‘#xŸh0ï" {p}xyŽŽŽŽŽŽŽŽŽ‘SðŸa¶ï" {p}xyŽŽŽŽŽŽ‘VBŸ‘„ï" {p}xyŽŽŽŽŽŽŽŽŽ‘嫟#Tï" {p}xyŽŽŽŽŽŽ‘î}Ÿ#²vï" {p}xyŽŽŽŽŽŽŽŽŽ‘ØÊŸ'8!ï" {p}xyŽŽŽŽŽŽ‘ëüŸ'¿ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+*Ÿ*ÿýï" {p}xyŽŽŽŽŽŽ‘PÜŸ+À«ï" {p}xyŽŽŽŽŽŽŽŽŽ‘ ߟ.¬ï" {p}xyŽŽŽŽŽŽ‘èŸ/œLï" {p}xyŽŽŽŽŽŽŽŽŽ‘ õ:Ÿ24Ùï" {p}xyŽŽŽŽŽŽ‘ I<Ÿ3MÇï" {p}xyŽŽŽŽŽŽŽŽŽ‘kzŸ5Žvï" {p}xyŽŽŽŽŽŽ‘ Þ,Ÿ6ÑTï" {p}xyŽŽŽŽŽŽŽŽŽ‘B»Ÿ8³)ï" {p}xyŽŽŽŽŽŽ‘ؽŸ:7ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘صŸ:/ï" {p}xyŽŽŽŽŽŽ‘Bß8³1ï" {p}xyŽŽŽŽŽŽŽŽŽ‘gqŸ;Šlï" {p}xyŽŽŽŽŽŽ‘$£Ÿ=Êï" {p}xyŽŽŽŽŽŽŽŽŽ‘Á Ÿ>¬ï" {p}xyŽŽŽŽŽŽ‘¨/Ÿ?¬ºï" {p}xyŽŽŽŽŽŽŽŽŽ‘IÉŸ@âï" {p}xyŽŽŽŽŽŽ‘Y«ŸAÛï" {p}xyŽŽŽŽŽŽŽŽŽ‘õéŸAÊ»ï" {p}xyŽŽŽŽŽŽ‘5KŸC¥ï" {p}xyŽŽŽŽŽŽŽŽŽ‘"½ÇŸCï" {p}xyŽŽŽŽŽŽ‘"39ŸE úï" {p}xyŽŽŽŽŽŽŽŽŽ‘&¡ÎŸD:ï" {p}xyŽŽŽŽŽŽ‘&C€ŸFxï" {p}xyŽŽŽŽŽŽŽŽŽ‘*”0ŸD¡öï" {p}xyŽŽŽŽŽŽ‘*drŸFŸ´ï" {p}xyŽŽŽŽŽŽŽŽŽ‘.¼ŸDÒ~ï" {p}xyŽŽŽŽŽŽ‘.¼ŸFÒ|ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2‡BŸD¡öï" {p}xyŽŽŽŽŽŽ‘2·ŸFŸ´ï" {p}xyŽŽŽŽŽŽŽŽŽ‘6y¤ŸD:ï" {p}xyŽŽŽŽŽŽ‘6ØŸFxï" {p}xyŽŽŽŽŽŽŽŽŽ‘:]­ŸCï" {p}xyŽŽŽŽŽŽ‘:èKŸE úï" {p}xyŽŽŽŽŽŽŽŽŽ‘>%‰ŸAÊ»ï" {p}xyŽŽŽŽŽŽ‘>æ7ŸC¥ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AѪŸ@âï" {p}xyŽŽŽŽŽŽ‘BÁØŸAÛï" {p}xyŽŽŽŽŽŽŽŽŽ‘EZeŸ>¬ï" {p}xyŽŽŽŽŽŽ‘FsSŸ?¬ºï" {p}xyŽŽŽŽŽŽŽŽŽ‘H´Ÿ;Šlï" {p}xyŽŽŽŽŽŽ‘IöàŸ=Êï" {p}xyŽŽŽŽŽŽŽŽŽ‘KصŸ8³)ï" {p}xyŽŽŽŽŽŽ‘MBß:7ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘MB»Ÿ:/ï" {p}xyŽŽŽŽŽŽ‘KؽŸ8³1ï" {p}xyŽŽŽŽŽŽŽŽŽ‘N¯øŸ5Žvï" {p}xyŽŽŽŽŽŽ‘P=VŸ6ÑTï" {p}xyŽŽŽŽŽŽŽŽŽ‘Q&8Ÿ24Ùï" {p}xyŽŽŽŽŽŽ‘RÒFŸ3MÇï" {p}xyŽŽŽŽŽŽŽŽŽ‘Sæï" {p}xyŽŽŽŽŽŽŽŽŽ‘W5ÆŸ|Bï" {p}xyŽŽŽŽŽŽ‘Y-Ÿôï" {p}xyŽŽŽŽŽŽŽŽŽ‘VB¨Ÿ˜;ï" {p}xyŽŽŽŽŽŽ‘X/†Ÿ ­ï" {p}xyŽŽŽŽŽŽŽŽŽ‘TðGŸ Ð]ï" {p}xyŽŽŽŽŽŽ‘VÊ¥Ÿ ¿ï" {p}xyŽŽŽŽŽŽŽŽŽ‘S%‰Ÿõï" {p}xyŽŽŽŽŽŽ‘>æ7Ÿó+Oï" {p}xyŽŽŽŽŽŽŽŽŽ‘:]­Ÿó³<ï" {p}xyŽŽŽŽŽŽ‘:èKŸñÆnï" {p}xyŽŽŽŽŽŽŽŽŽ‘6y¤ŸòÀï" {p}xyŽŽŽŽŽŽ‘6ØŸðÈðï" {p}xyŽŽŽŽŽŽŽŽŽ‘2‡BŸò.bï" {p}xyŽŽŽŽŽŽ‘2·Ÿð0´ï" {p}xyŽŽŽŽŽŽŽŽŽ‘.¼ŸñýÚï" {p}xyŽŽŽŽŽŽ‘.¼Ÿïýìï" {p}xyŽŽŽŽŽŽŽŽŽ‘*”0Ÿò.bï" {p}xyŽŽŽŽŽŽ‘*drŸð0´ï" {p}xyŽŽŽŽŽŽŽŽŽ‘&¡ÎŸòÀï" {p}xyŽŽŽŽŽŽ‘&C€ŸðÈðï" {p}xyŽŽŽŽŽŽŽŽŽ‘"½ÇŸó³<ï" {p}xyŽŽŽŽŽŽ‘"39ŸñÆnï" {p}xyŽŽŽŽŽŽŽŽŽ‘õéŸõï" {p}xyŽŽŽŽŽŽ‘5KŸó+Oï" {p}xyŽŽŽŽŽŽŽŽŽ‘IÉŸö¹vï" {p}xyŽŽŽŽŽŽ‘Y«ŸôõXï" {p}xyŽŽŽŽŽŽŽŽŽ‘Á ŸøÏ¬ï" {p}xyŽŽŽŽŽŽ‘¨/Ÿ÷#®ï" {p}xyŽŽŽŽŽŽŽŽŽ‘gqŸûEìï" {p}xyŽŽŽŽŽŽ‘$£Ÿù¸žï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘Ô¼Ÿýh0ïH" {mark 120.0 -30.0 120.0 -13.44635 106.55365 0.0 90.0 0.0 0.0 1.0 bz}xyŽŽŽ‘Ô¼Ÿýh0ïE" {mark 90.0 0.0 73.44635 0.0 60.0 -13.44635 60.0 -30.0 0.0 1.0 bz}xyŽŽŽ‘Ô¼Ÿýh0ïI" {mark 60.0 -30.0 60.0 -46.55365 73.44635 -60.0 90.0 -60.0 0.0 1.0 bz}xyŽŽŽ‘Ô¼Ÿýh0ïL" {mark 90.0 -60.0 106.55365 -60.0 120.0 -46.55365 120.0 -30.0 0.0 1.0 bz}xyŽŽŽŽ‘Ô¼Ÿýh0ïQ" {mark 120.0 -30.0 128.27682 -21.72318 121.55365 -15.0 105.0 -15.0 0.0 1.0 bt}xyŽŽŽ‘Ô¼Ÿýh0ïN" {mark 105.0 -15.0 88.44635 -15.0 68.27682 -21.72318 60.0 -30.0 0.0 1.0 bt}xyŽŽŽ‘Ô¼Ÿýh0ïM" {mark 60.0 -30.0 51.72318 -38.27682 58.44635 -45.0 75.0 -45.0 0.0 1.0 bt}xyŽŽŽ‘Ô¼Ÿýh0ïO" {mark 75.0 -45.0 91.55365 -45.0 111.72318 -38.27682 120.0 -30.0 0.0 1.0 bt}xyŽŽŽŽ‘*OœŸ*ï" {p}xyŽŽŽŽŽŽ‘+¹ªŸ”ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+”🺮ï" {p}xyŽŽŽŽŽŽ‘*¢Ÿbðï" {p}xyŽŽŽŽŽŽŽŽŽ‘+sŸá¤ï" {p}xyŽŽŽŽŽŽ‘)æ3ŸžÖï" {p}xyŽŽŽŽŽŽŽŽŽ‘+R Ÿ Ôï" {p}xyŽŽŽŽŽŽ‘)¸’ŸÙ¶ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+6ß46ï" {p}xyŽŽŽŽŽŽ‘)ŠÅŸXï" {p}xyŽŽŽŽŽŽŽŽŽ‘+5Ÿ`Rï" {p}xyŽŽŽŽŽŽ‘)cŸ[ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+sŸŒÝï" {p}xyŽŽŽŽŽŽ‘)>UŸœ¿ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ì_Ÿ¹¶ï" {p}xyŽŽŽŽŽŽ‘)ÑŸàxï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ØÞŸæµï" {p}xyŽŽŽŽŽŽ‘(þŸ&ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ÇÔŸÐï" {p}xyŽŽŽŽŽŽ‘(ã¶Ÿmrï" {p}xyŽŽŽŽŽŽŽŽŽ‘*¹'Ÿ@îï" {p}xyŽŽŽŽŽŽ‘(ÌYŸ¶`ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ª÷Ÿulï" {p}xyŽŽŽŽŽŽ‘(ºYŸùNï" {p}xyŽŽŽŽŽŽŽŽŽ‘*¡Ÿ¢Ëï" {p}xyŽŽŽŽŽŽ‘(©åŸD}ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*˜%Ÿ×àï" {p}xyŽŽŽŽŽŽ‘(žWŸˆâï" {p}xyŽŽŽŽŽŽŽŽŽ‘*’ÄŸTï" {p}xyŽŽŽŽŽŽ‘(•ŸÕ–ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*Ÿ:³ï" {p}xyŽŽŽŽŽŽ‘(ŸÕï" {p}xyŽŽŽŽŽŽŽŽŽ‘*Ž Ÿh0ï" {p}xyŽŽŽŽŽŽ‘(ŽŸh0ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*Ÿ•§ï" {p}xyŽŽŽŽŽŽ‘(Ÿµ•ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*’ÄŸËï" {p}xyŽŽŽŽŽŽ‘(•ŸúÔï" {p}xyŽŽŽŽŽŽŽŽŽ‘*˜%Ÿø{ï" {p}xyŽŽŽŽŽŽ‘(žWŸG‰ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*¡Ÿ-ï" {p}xyŽŽŽŽŽŽ‘(©åŸ‹íï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ª÷ŸZðï" {p}xyŽŽŽŽŽŽ‘(ºYŸ×ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*¹'Ÿnï" {p}xyŽŽŽŽŽŽ‘(ÌYŸ ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ÇÔŸ¼Œï" {p}xyŽŽŽŽŽŽ‘(ã¶Ÿbúï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ØÞŸé¥ï" {p}xyŽŽŽŽŽŽ‘(þŸªSï" {p}xyŽŽŽŽŽŽŽŽŽ‘*ì_Ÿ¦ï" {p}xyŽŽŽŽŽŽ‘)ÑŸïôï" {p}xyŽŽŽŽŽŽŽŽŽ‘+sŸC~ï" {p}xyŽŽŽŽŽŽ‘)>UŸ3¬ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+5Ÿp ï" {p}xyŽŽŽŽŽŽ‘)cŸuiï" {p}xyŽŽŽŽŽŽŽŽŽ‘+6ßœ$ï" {p}xyŽŽŽŽŽŽ‘)ŠÅŸµï" {p}xyŽŽŽŽŽŽŽŽŽ‘+R ŸÈï" {p}xyŽŽŽŽŽŽ‘)¸’Ÿö¶ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+sŸî¶ï" {p}xyŽŽŽŽŽŽ‘)æ3Ÿ1”ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+”ðŸ¬ï" {p}xyŽŽŽŽŽŽ‘*¢Ÿmzï" {p}xyŽŽŽŽŽŽŽŽŽ‘+¹¢Ÿ{:}},{\ellipse(.5){}}ŽŽ¡‘ãŒ,0;(.5,.5)::,"p";"c",{\ellipse(.5){.}}ŽŽ¡‘ãŒ,{\ellipse<5pt>{=}}\endxyŽŽŸ_ã‘ôŒ¹The–¦ffolloš²!wing“giv˜e“circles“cen˜tred“at“Äc¹.Ž‘ãŒŸ µ‡‰ffã²dŸ ”w‘5´&Ï\ellipse<>{Ž‘tðtÇh¹st²!yleÇiÏ}ŽŽ’¼% ¹radius‘¦f=‘ §distŽ‘¾€(Äp;‘Ó1c¹)ŽŽŽŽ¡‘5´&Ï\ellipse<Ž‘iq Çh¹dimenÇiÏ>{..}ŽŽ’¼% ¹radius–¦fis“the“Çh¹dimenÇiŽŽŽŽ¡‘5´&Ï\ellipse(Ž‘iq Çh¹n•²!umÇiÏ){Ž‘ TÇh¹st“yleÇiÏ}ŽŽ’¼% ¹unit–¦fcircle“scaled“Çh¹n²!umÇi¹,Ž¡’¼% in–¦fthe“curren²!t“basis.ŽŽŽŽŸ[‰ffã²dŸdvNote–othat“if“the“currenš²!t“basis“is“not“square“then“the“latter“v‘ÿdDarian˜t,‘¡/namely“Ï\ellipse(Ž‘8,Çh¹n˜umÇiÏ)Ž‘¿ª¹,‘¡/willŽ¡tš²!ypMÞeset–&Ñan“ellipse“rather“than“a“circle.‘_On“the“other“hand“the“ rst“t˜w˜o“v‘ÿdDarian˜ts“alw˜a˜ys“spMÞecify“trueŽ¡circles.›Ç)In–bJthe“2nd“case,‘oéi.e.˜when“Çh¹dimenÇi“¹is“Çh¹emptš²!yÇi¹,‘oéthe“size“of“the“ob‘›»ject“at“Äp“¹is“tak˜en“in˜to“accoun˜tŽ¡when–¦fdraš²!wing“the“circle;“if“this“is“not“desired“then“kill“the“size“using“a“n˜ull“ob‘›»ject,“e.g.‘ÝÝÏ;*{};Ž‘!œ/¹.Ž© ¨õ‘Currenš²!tly–Óthe“Ï\ellipseŽ‘4ö¹macro“w˜orks“only“as“a“Çh¹decorÇi¹.‘¬In“future“v˜ersions“there“will“bMÞe“an“Çh¹ob‘›»jectÇiŽ¡¹called‘CFÏ\arcŽ‘…4¹ha²!ving–CFelliptical“shapšMÞe,‘j}via“Ï\circleEdgeŽ‘GÂÚ¹with“p˜ossibly“unequal“exten²!ts.‘´|Also“it“will“b˜eŽ¡pMÞossible–º´to“Ï\connect\arcŽ‘H¶¬¹,‘¿Èwhicš²!h“will“set“the“curren˜t“connection“so“that“an˜y“place“on“the“full“ellipse,Ž¡not–¦fjust“the“visible“sector,“will“bMÞe“accessible“using“an“extension“to“the“usual“Çh¹placeÇi“¹mec²!hanism.ަ‘ÔT‘þó\o‘2Do:‘Ýݹmak²!e–¦fthis“bMÞe!!ަ‘The–¦fsimplest“cases“of“full“circles“go“straigh²!t“to“Ï\circleArc@Ž‘Bâ´¹.Ž©PˆÃ191Ž‘Ï\xydef@\fullCircle@{\xy@{fullCIRC}{\let\endDirection@=\relaxŽŽ¡Ã192Ž‘¿ªÏ\let\doCircleArc@=\doMergeEndArc@@}\circleArc@‘¿ª}%ŽŽŸ_㑹If–Ásthe“ rst“non-space“tokš²!en“follo˜wing“Ï\arcŽ‘ ޹is“Ï<Ž‘B¹then“the“curren˜t“Äc“¹is“tak˜en“to“bMÞe“the“cen˜tre“ofŽ¡the–Dÿcircle“or“ellipse,‘l¥or“sector“thereof.‘¹©The“ rst“parsing“is“done“to“in²!terpret“information“concerningŽ¡the–äÕradius,‘ôq(or“axes“of“an“ellipse)“along“with“an“orien²!tation.‘™*This“can“bšMÞe“sp˜eci ed“either“as“absoluteŽ¡dimensions,›±enclosed–®ãin“Ï<Ž‘ n¹.–Ó3.“.“Ï>Ž‘’ݹ,˜or–®ãrelativš²!e“to“the“curren˜t“basis“b˜y“Ï(Ž‘ n¹.–Ó3.“.“Ï)Ž‘’ݹ,‘±or–®ãbased“on“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘<¹usingŽ¡Ï<>Ž–%º¹or‘¦fÏ<,Ž“Çh¹dimenÇiÏ>Ž‘ f¹or‘¦fÏ(,Ž“Çh¹n²!umÇiÏ)Ž‘¿ª¹.ަÃ204Ž‘Ï\xydef@\getarcparams@{%ŽŽ¡Ã205Ž‘¿ªÏ\ifx\space@\next–¿ª\expandafter\DN@\space{\xyFN@\getarcparams@}%gobble“spacesŽŽ¡Ã206Ž‘¿ªÏ\else\addLT@\ifx–¿ª\next“\xy@{<}{}%ŽŽ¡Ã207Ž‘TÏ\addGT@{\addLT@\DN@##1}{\splitRadius@dim##1,,@}%ŽŽ¡Ã208Ž‘Ï%–¿ª\else\ifx“\next“(\xy@{(}{}\DN@(##1){\splitRadius@##1,,@}%ŽŽ¡Ã209Ž‘¿ªÏ\else\ifx\next‘¿ª(\DN@({\xyFN@\checkRadOpen@}%ŽŽ¡Ã210Ž‘¿ªÏ\else\ifx\next–¿ª@\xy@{@}{}\DN@“@{\fullEllipse@}%ŽŽ¡Ã211Ž‘¿ªÏ\else–¿ª\addLQ@\ifx“\next“\addLQ@\DN@{\xy@`{}\ARCturn@}%ŽŽ¡Ã212Ž‘¿ªÏ\else‘¿ª\DN@{\getarcExtents@}%ŽŽ¡Ã213Ž‘¿ªÏ\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽ¦Ã215Ž‘Ï\xydef@\checkRadOpen@{%ŽŽŽŽŒ‹Ž| Á à ý*tj‘㌹398’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ216Ž‘ûKÃÏ\ifx\next–¿ª*\DN@{\xyFN@\getarcExtents@“(}%ŽŽ¤ ™š‘ãŒÃ217Ž‘ûKÃÏ\else‘¿ª\xy@{(}{}\DN@##1){\splitRadius@##1,,@}%ŽŽ¡‘ãŒÃ218Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŸ¬‘ôŒ¹The–­Ûcenš²!tre“is“no˜w“stored“as“Ï"0@0"Ž‘ l-¹,‘¯¹since“the“v‘ÿdDalue“of“Ï"0@c"Ž‘$¹will“bMÞe“c˜hanged“to“agree“with“Ï"0@p"Ž‘ l-¹.Ž¡‘ãŒThis–ªžis“so“that“start/ nish“directions“will“agree,‘«¬ensuring“all“four“quadranš²!ts“bMÞe“dra˜wn.‘ê†The“follo˜wingŽ¡‘ãŒmethošMÞd–¦fis“actually“executed“after“all“the“radius/axes“information“has“b˜een“parsed.Ž©Pˆ‘ãŒÃ228Ž‘õŒÏ\xydef@\fixedRadiusArc@{%ŽŽ¡‘ãŒÃ229Ž‘ûKÃÏ\xy@{fixRadArc}{\save@‘¿ª\idfromc@{0@0}\cfromp@\idfromc@{0@c}\leave@}%ŽŽ¡‘ãŒÃ230Ž‘ûKÃÏ\xyFN@\fixedRadiusArc@i‘¿ª}ŽŽ¦‘ãŒÃ232Ž‘õŒÏ\xydef@\fixedRadiusArc@i{%ŽŽ¡‘ãŒÃ233Ž‘ûKÃÏ\ifx\next\space@‘¿ª\expandafter\DN@\space{\xyFN@\fixedRadiusArc@i}%ŽŽ¡‘ãŒÃ234Ž‘ûKÃÏ\else\ifx\next–¿ª@\xy@{@}{}\DN@“@{\fullEllipse@}%ŽŽ¡‘ãŒÃ235Ž‘ûKÃÏ\else\DN@{\let\processDirections@=\processArcDirections@ŽŽ¡‘ãŒÃ236Ž‘ mÏ\def\afterARCextents@@{\xy@{aftARCext}{\let\doCircleArc@=\doCircleArc@@ŽŽ¡‘ãŒÃ237Ž‘ ŠÁÏ\ellipseSector@}}\xyFN@\getarcExtents@}%ŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\fi\fi–¿ª\next@“}ŽŽŸ¬‘ôŒ¹When–j$a“full“circle“or“ellipse“is“required“then“there“are“three“methoMÞds“whicš²!h“m˜ust“bMÞe“in˜v˜ok˜ed“whenŽ¡‘ãŒestablishing–¦fthe“loMÞcal“basis“c²!hange.ŽŸcˆ‘¿õßÏ\arcScale@ŽŽŽŽ‘þì¹Initially–Aîthis“has“v‘ÿdDalue“Ï\arcScale@@Ž‘IÀ*¹whicš²!h“is“based“on“Ÿúã‰fe ?vŸêÄpcŽŽ‘d¹.‘ °tIt“is“c˜hanged“only“b˜y“Ï(Ž‘ ˜Çh¹n˜umÇiÏ)ŽŽ¡‘þì¹and‘½MÏ(Ž‘ |÷Çh¹n•²!umÇiÏ,Ž›¿ªÇh¹n“umÇiÏ)Ž˜¹;‘ÈÀsee–½Mthe“cošMÞde“for“Ï\splitRadius@Ž‘R6<¹b˜elo²!w.‘"‘When“executed,‘Ãthis“metho˜d“willŽ¡‘þìestablish–¦fthe“required“basis,“at“least“partially‘ÿe.ަ‘ãŒÃ252Ž‘õŒÏ\xydef@\arcScale@@{\xy@{arcSCALE@@}{\save@ŽŽ¡‘ãŒÃ253Ž‘ûKÃÏ\cfromid@{0@0}\pfromc@\cfromid@{0@p}\setbase@\X@p\Y@p\X@c\Y@c}}ŽŽŸ¾à‘º65\arcRadius@ŽŽŽŽ‘þì¹Initially–ô¹Çh¹emptš²!yÇi¹,‘Bthis“c˜hanges“with“Ï<Ž–´cÇh¹dimenÇiÏ,Ž‘¿ªÇh¹dimenÇiÏ>Ž“¹and‘ô¹Ï<Ž“Çh¹dimenÇiÏ>Ž“¹to‘ô¹Ï\arcScale@dimŽ‘P¥¹whic˜hŽ¡‘þìgets–¦fthe“radius“bš²!y“a“Çh¹slideÇi“¹of“giv˜en“Çh¹dimenÇi“¹along“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘ åܹ.ަ‘ãŒÃ262Ž‘õŒÏ\xydef@\arcScale@dim#1{\xy@{arcSCALEdim}{\save@ŽŽ¡‘ãŒÃ263Ž‘ûKÃÏ\cfromid@{0@0}\pfromc@‘¿ª\cfromid@{0@p}\setupDirection@\cfromp@ŽŽ¡‘ãŒÃ264Ž‘ûKÃÏ\enter@\cplusthec@‘¿ª\begingroup\vfromslide@i#1@%ŽŽ¡‘ãŒÃ265Ž‘ûKÃÏ\setbase@\X@p\Y@p\X@c\Y@c‘¿ª\idfromc@{0@p}}}ŽŽŸ¾à‘¨÷7\ellipseRatio@ŽŽŽŽ‘þì¹Initially–Çh¹emptš²!yÇi¹,‘/Àthis“c˜hanges“with“Ï<Ž–ÑÀÇh¹dimenÇiÏ,Ž‘¿ªÇh¹dimenÇiÏ>Ž“¹to‘Ï\ellipseScale@dimŽ‘gÞv¹whic˜h‘establishsŽ¡‘þìthe–”s(Ï\X@baseyŽ‘-ýPÄ;‘Ó1Ï\Y@baseyŽ‘/й)“b²!y“a“Çh¹slideÇi“¹p•MÞerp“endicular–”sto“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘ Óé¹,‘˜ or“to“Ï\ellipseScale@Ž‘W¤2¹withŽ¡‘þìÏ(,Ž‘ kqÇh¹nš²!umÇiÏ)Ž‘ f¹to–¦fsimply“set“the“p•MÞerp“endicular–¦fbasis“direction“using“Çh¹n˜umÇi“¹as“a“coMÞordinate.ަ‘ãŒÃ277Ž‘õŒÏ\xydef@\ellipseScale@dim#1{\xy@{ellSCALEdim}{\setupDirection@\cfromp@ŽŽ¡‘ãŒÃ278Ž‘ûKÃÏ\enter@\cplusthec@–¿ª\aboveDirection@\xydashl@“\vfromslide@{#1}\leave@ŽŽ¡‘ãŒÃ279Ž‘ûKÃÏ\setbase@@\X@c\Y@c}}ŽŽ¦‘ãŒÃ281Ž‘õŒÏ\xydef@\ellipseScale@#1{\xy@{ellSCALE@}%ŽŽ¡‘ãŒÃ282Ž‘ûKÃÏ{\vfromcartesian@@0,#1@\setbase@@\X@c\Y@c}}ŽŽŸ v‘ôŒ¹The–nïmethoMÞds“Ï\splitRadius@dimŽ‘`Ø~¹and“Ï\splitRadius@Ž‘O™€¹complete“the“in²!terpretation“of“the“radius/axesŽ¡‘ãŒspMÞeci cation.‘¯hThey–mš²!ust“determine“whether“one“or“t˜w˜o“pieces“of“information“ha˜v˜e“bMÞeen“explicitly“pro-Ž¡‘ãŒvided,–¦fand“act“accordingly‘ÿe.ަ‘ãŒÃ293Ž‘õŒÏ\xydef@\splitRadius@dim#1,#2,#3@{%ŽŽ¡‘ãŒÃ294Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\dimen@=\z@\else\dimen@=#1\relax%\splinetracingŽŽŽŽŒ‹¾O Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹399ŽŽ ¶?? ýh«w‘ãŒÃ295Ž‘ mÏ\expandafter\def\expandafter\arcRadius@ŽŽ¤ ™š‘ãŒÃ296Ž‘ËÏ\expandafter{\arcScale@dim{#1}}\fiŽŽ¡‘ãŒÃ297Ž‘ûKÃÏ\DN@{#2}\ifx\next@\empty\dimen@ii=\z@\def\ellipseRatio@{}%ŽŽ¡‘ãŒÃ298Ž‘ûKÃÏ\else\dimen@ii=#2\relax‘¿ª\expandafterŽŽ¡‘ãŒÃ299Ž‘ mÏ\def\expandafter\ellipseRatio@\expandafter{\ellipseScale@dim{#2}}%ŽŽ¡‘ãŒÃ300Ž‘ûKÃÏ\fi–¿ª\fixedRadiusArc@“}ŽŽ©Pˆ‘ãŒÃ302Ž‘õŒÏ\xydef@\splitRadius@#1,#2,#3@{%ŽŽ¡‘ãŒÃ303Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\dimen@=\z@\else\dimen@=#1\p@\relax\fiŽŽ¡‘ãŒÃ304Ž‘ûKÃÏ\DN@{#2}\ifx\next@\empty\dimen@ii=\z@\else\dimen@ii=#2\p@\relax\fiŽŽ¡‘ãŒÃ305Ž‘ûKÃÏ\ifdim\dimen@=\z@–¿ª\ifdim\dimen@ii=\z@\else“\expandafterŽŽ¡‘ãŒÃ306Ž‘ mÏ\def\expandafter\ellipseRatio@\expandafter{\ellipseScale@{#2}}\fiŽŽ¡‘ãŒÃ307Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ308Ž‘ mÏ\ifdim\dimen@ii=\z@ŽŽ¡‘ãŒÃ309Ž‘ËÏ\def\arcScale@{\xy@{arcSCALE@}{\save@\cfromid@{0@0}%ŽŽ¡‘ãŒÃ310Ž‘ ŠÁÏ\X@origin=\X@c‘¿ª\Y@origin=\Y@cŽŽ¡‘ãŒÃ311Ž‘ ŠÁÏ\X@xbase=#1\X@xbase‘¿ª\Y@xbase=#1\Y@xbaseŽŽ¡‘ãŒÃ312Ž‘ ŠÁÏ\X@ybase=#1\X@ybase‘¿ª\Y@ybase=#1\Y@ybaseŽŽ¡‘ãŒÃ313Ž‘ ŠÁÏ\advance\X@c\X@xbase–¿ª\advance\Y@c\Y@xbase“\czeroEdge@ŽŽ¡‘ãŒÃ314Ž‘ ŠÁÏ\idfromc@{0@p}\idfromc@{0@c}}}%ŽŽ¡‘ãŒÃ315Ž‘ mÏ\elseŽŽ¡‘ãŒÃ316Ž‘ËÏ\def\arcScale@{\xy@{arcSCALE@}{\save@\cfromid@{0@0}%ŽŽ¡‘ãŒÃ317Ž‘ ŠÁÏ\X@origin=\X@c‘¿ª\Y@origin=\Y@cŽŽ¡‘ãŒÃ318Ž‘ ŠÁÏ\X@xbase=#1\X@xbase‘¿ª\Y@xbase=#1\Y@xbaseŽŽ¡‘ãŒÃ319Ž‘ ŠÁÏ\X@ybase=#2\X@ybase‘¿ª\Y@ybase=#2\Y@ybaseŽŽ¡‘ãŒÃ320Ž‘ ŠÁÏ\advance\X@c\X@xbase–¿ª\advance\Y@c\Y@xbase“\czeroEdge@ŽŽ¡‘ãŒÃ321Ž‘ ŠÁÏ\idfromc@{0@p}\idfromc@{0@c}}}%ŽŽ¡‘ãŒÃ322Ž‘ mÏ\fiŽŽ¡‘ãŒÃ323Ž‘ûKÃÏ\fi–¿ª\fixedRadiusArc@“}ŽŽ¦‘ãŒÃ325Ž‘õŒÏ\xydef@\baseOrient@{\DN@{_}\ifx\next@\arcOrient@@ŽŽ¡‘ãŒÃ326Ž‘ûKÃÏ\X@ybase=-\X@ybase–¿ª\Y@ybase=-\Y@ybase“\fi“}ŽŽŸv‘ãŒÃ333Ž‘õŒÏ\message{ellipses,}ŽŽŸ%þ‘ãŒÞ3.9.2Ž‘ ÌEllipsesŽŸB‘㌹There–are“sevš²!eral“w˜a˜ys“to“spšMÞecify“an“ellipse,‘·½apart“from“the“metho˜d“illustrated“ab˜o•²!v“e–in“whic²!h“theŽ¡‘ãŒbasis–Zñmš²!ust“bMÞe“c˜hanged“from“square.‘û}Basically“w˜e“m˜ust“spMÞecify“the“lengths“of“the“ma‘›»jor“and“minorŽ¡‘ãŒaxes.‘ÝÝAlso–¦fit“is“necessary“to“spMÞecify“an“alignmen²!t“for“one“axis.ŽŸ­-‘ôŒIn–öôthe“folloš²!wing,‘ the“ellipse“is“cen˜tred“on“Äc“¹and“one“axis“is“aligned“along“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘6j¹,‘ except“withŽ¡‘ãŒthe–Œ€ nal“v‘ÿdDarianš²!t“where“it“aligns“with“the“curren˜t“basis.‘Õ;When“used“Çh¹n˜umÇi“¹is“treated“as“a“scale“factor,Ž¡‘ãŒm²!ultiplying–¦fan“appropriate“length.Ž‘ãŒŸ› ‰ffã²dŸ 6M‘(ÔÏ\ellipse<Ž‘[ÌÎÇh¹dimenÇiÏ,Ž‘¿ªÇh¹dimenÇiÏ>{Ž‘ T¹..Ï}ŽŽ’ÉÉ^¹giv²!en–¦faxes“lengthsŽŽŽŽ¡‘(ÔÏ\ellipse<,Ž‘aŒxÇh¹dimenÇiÏ>{Ž‘ TÇh¹st²!yleÇiÏ}ŽŽ’ÉÉ^¹one–¦faxis“is“Ÿúã‰fe ?vŸêÄpcŽŽŽŽŽŽ¡‘(ÔÏ\ellipse(,Ž‘aŒxÇh¹n•²!umÇiÏ){Ž‘ TÇh¹st“yleÇiÏ}ŽŽ’ÉÉ^¹...pMÞerp.‘ÝÝaxis‘¦fscaledŽŽŽŽ¡‘(ÔÏ\ellipse(Ž‘[ÌÎÇh¹n•²!umÇiÏ,Ž‘¿ªÇh¹n“umÇiÏ){Ž‘ T¹..Ï}ŽŽ’ÉÉ^¹scaled–¦faxes“alignedŽ¡’ÉÉ^with‘¦fbasis.ŽŽŽŽŸ±1‰ffã²dŸ “ŽŽŒ‹Í€ Á à ý*tj‘㌹400’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ôŒ¹In–jÐthe“latter“v‘ÿdDarianš²!t,‘v»if“the“second“Çh¹n˜umÇi“¹is“Çh¹empt˜yÇi“¹then“this“is“equiv‘ÿdDalen˜t“to“bMÞoth“Çh¹n˜umÇi¹s“ha˜vingޤ ™š‘ãŒthe–¦fsame“v›ÿdDalue,“whic²!h“is“in“turn“equiv˜alen²!t“to“the“ nal“v˜arian²!t“for“circles.Ž¡Ÿ¹Ï’™eKïps: SDict begin xyc end‘33Ÿÿ4ýÈŽŽŽŽŽŽ‘Þ;ŸùýÄpŽŽŽŽŸýh0‘ï." {0.0 4.3773 -4.71094 -13.13191 14.1328 ov}xyŽŽŽ‘:33Ÿ4ýÈŽŽŽŽŽŽ‘<Ÿh0ï" {25.6227 -25.62698 l}xyŽŽŽ‘?Ÿ#ÄcŽŽŽŽ‘xÿ÷Ÿh0ï" {p}xyŽŽŽŽŽŽ‘w Ÿh0ï" {p}xyŽŽŽŽŽŽŽŽŽ‘v¸GŸ2“ï" {p}xyŽŽŽŽŽŽ‘x¨õŸ¶uï" {p}xyŽŽŽŽŽŽŽŽŽ‘u⪟Rï" {p}xyŽŽŽŽŽŽ‘w¬˜Ÿ dï" {p}xyŽŽŽŽŽŽŽŽŽ‘tƒ Ÿãàï" {p}xyŽŽŽŽŽŽ‘v‹Ÿ¨Âï" {p}xyŽŽŽŽŽŽŽŽŽ‘r˜ÆŸ̵ï" {p}xyŽŽŽŽŽŽ‘söôŸWGï" {p}xyŽŽŽŽŽŽŽŽŽ‘p'ŸÅÆï" {p}xyŽŽŽŽŽŽ‘qZ1Ÿ,8ï" {p}xyŽŽŽŽŽŽŽŽŽ‘m<ŸÚ‚ï" {p}xyŽŽŽŽŽŽ‘nAnŸ "Tï" {p}xyŽŽŽŽŽŽŽŽŽ‘iÝjŸ %ï" {p}xyŽŽŽŽŽŽ‘j¶¸Ÿ =—ï" {p}xyŽŽŽŽŽŽŽŽŽ‘f öŸ ^ï" {p}xyŽŽŽŽŽŽ‘fʤŸ ƒÉï" {p}xyŽŽŽŽŽŽŽŽŽ‘cúÓŸ •ï" {p}xyŽŽŽŽŽŽ‘d®‘ŸµÈï" {p}xyŽŽŽŽŽŽŽŽŽ‘aÔŸ ÖNï" {p}xyŽŽŽŽŽŽ‘bzpŸò0ï" {p}xyŽŽŽŽŽŽŽŽŽ‘_–~Ÿ "ï" {p}xyŽŽŽŽŽŽ‘`/<Ÿ9uï" {p}xyŽŽŽŽŽŽŽŽŽ‘]CDŸxÇï" {p}xyŽŽŽŽŽŽ‘]Í⟋ùï" {p}xyŽŽŽŽŽŽŽŽŽ‘ZÛ@ŸÚÉï" {p}xyŽŽŽŽŽŽ‘[WnŸê+ï" {p}xyŽŽŽŽŽŽŽŽŽ‘X_fŸHï" {p}xyŽŽŽŽŽŽ‘XÌÔŸTaï" {p}xyŽŽŽŽŽŽŽŽŽ‘UвŸÂAï" {p}xyŽŽŽŽŽŽ‘V/ŸËï" {p}xyŽŽŽŽŽŽŽŽŽ‘S0ŸHoï" {p}xyŽŽŽŽŽŽ‘SŸN¡ï" {p}xyŽŽŽŽŽŽŽŽŽ‘PvµŸÚXï" {p}xyŽŽŽŽŽŽ‘PÅßàŠï" {p}xyŽŽŽŽŽŽŽŽŽ‘MµŸzÃï" {p}xyŽŽŽŽŽŽ‘MôƒŸ~Åï" {p}xyŽŽŽŽŽŽŽŽŽ‘JäCŸ(¿ï" {p}xyŽŽŽŽŽŽ‘KŸ+ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Gý}Ÿäï" {p}xyŽŽŽŽŽŽ‘H-KŸæeï" {p}xyŽŽŽŽŽŽŽŽŽ‘EuŸ®žï" {p}xyŽŽŽŽŽŽ‘E1cŸ¯°ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B9Ÿ‡áï" {p}xyŽŽŽŽŽŽ‘B)7Ÿˆ3ï" {p}xyŽŽŽŽŽŽŽŽŽ‘? ßp ï" {p}xyŽŽŽŽŽŽ‘?ÁŸprï" {p}xyŽŽŽŽŽŽŽŽŽ‘<Ÿh?ï" {p}xyŽŽŽŽŽŽ‘<ŸhQï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘<ŸhIï" {p}xyŽŽŽŽŽŽ‘<ŸhGï" {p}xyŽŽŽŽŽŽŽŽŽ‘8ò8Ÿp ï" {p}xyŽŽŽŽŽŽ‘8âJŸprï" {p}xyŽŽŽŽŽŽŽŽŽ‘5æÁŸ‡áï" {p}xyŽŽŽŽŽŽ‘5ÖÓŸˆ3ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2®žï" {p}xyŽŽŽŽŽŽ‘2ΨŸ¯°ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0}Ÿäï" {p}xyŽŽŽŽŽŽ‘/Ò¿Ÿæeï" {p}xyŽŽŽŽŽŽŽŽŽ‘-¸Ÿ(¿ï" {p}xyŽŽŽŽŽŽ‘,ëúŸ+ï" {p}xyŽŽŽŽŽŽŽŽŽ‘*JõŸzÃï" {p}xyŽŽŽŽŽŽ‘* ‡Ÿ~Åï" {p}xyŽŽŽŽŽŽŽŽŽ‘'‰FŸÚXï" {p}xyŽŽŽŽŽŽ‘':HŸàŠï" {p}xyŽŽŽŽŽŽŽŽŽ‘$ÏéŸHoï" {p}xyŽŽŽŽŽŽ‘$€ëŸN¡ï" {p}xyŽŽŽŽŽŽŽŽŽ‘"/IŸÂAï" {p}xyŽŽŽŽŽŽ‘!ÐûŸËï" {p}xyŽŽŽŽŽŽŽŽŽ‘ •ŸHï" {p}xyŽŽŽŽŽŽ‘37ŸTaï" {p}xyŽŽŽŽŽŽŽŽŽ‘$¼ŸÚÉï" {p}xyŽŽŽŽŽŽ‘¨žŸê+ï" {p}xyŽŽŽŽŽŽŽŽŽ‘¼¶ŸxÇï" {p}xyŽŽŽŽŽŽ‘2(Ÿ‹ùï" {p}xyŽŽŽŽŽŽŽŽŽ‘i~Ÿ "ï" {p}xyŽŽŽŽŽŽ‘ÐП9uï" {p}xyŽŽŽŽŽŽŽŽŽ‘+øŸ ÖNï" {p}xyŽŽŽŽŽŽ‘…šŸò0ï" {p}xyŽŽŽŽŽŽŽŽŽ‘(Ÿ •ï" {p}xyŽŽŽŽŽŽ‘QzŸµÈï" {p}xyŽŽŽŽŽŽŽŽŽ‘öŸ ^ï" {p}xyŽŽŽŽŽŽ‘5dŸ ƒÉï" {p}xyŽŽŽŽŽŽŽŽŽ‘(iŸ Mï" {p}xyŽŽŽŽŽŽ‘ C{Ÿ @oï" {p}xyŽŽŽŽŽŽŽŽŽ‘ ÃêŸÚ‚ï" {p}xyŽŽŽŽŽŽ‘ ¾œŸ "Tï" {p}xyŽŽŽŽŽŽŽŽŽ‘ØøŸÅÆï" {p}xyŽŽŽŽŽŽ‘¥ÚŸ,8ï" {p}xyŽŽŽŽŽŽŽŽŽ‘g3Ÿ̵ï" {p}xyŽŽŽŽŽŽ‘ ŸWGï" {p}xyŽŽŽŽŽŽŽŽŽ‘|îŸãàï" {p}xyŽŽŽŽŽŽ‘速¨Âï" {p}xyŽŽŽŽŽŽŽŽŽ‘PŸRï" {p}xyŽŽŽŽŽŽSrŸ dï" {p}xyŽŽŽŽŽŽŽŽŽ‘G³Ÿ2“ï" {p}xyŽŽŽŽŽŽ‘ÿWŸ¶uï" {p}xyŽŽŽŽŽŽŽŽŽ‘ÿ÷Ÿh0ï" {p}xyŽŽŽŽŽŽ‘ÿ Ÿh0ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ÿŸh0ï" {p}xyŽŽŽŽŽŽ‘ÿÿŸh0ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G³ŸÈï" {p}xyŽŽŽŽŽŽ‘ÿWŸöï" {p}xyŽŽŽŽŽŽŽŽŽ‘PŸËï" {p}xyŽŽŽŽŽŽSrŸ °ï" {p}xyŽŽŽŽŽŽŽŽŽ‘|îŸ!ì{ï" {p}xyŽŽŽŽŽŽ‘速#'©ï" {p}xyŽŽŽŽŽŽŽŽŽ‘g3Ÿ$¤ï" {p}xyŽŽŽŽŽŽ‘ Ÿ%y"ï" {p}xyŽŽŽŽŽŽŽŽŽ‘ØøŸ& •ï" {p}xyŽŽŽŽŽŽ‘¥ÚŸ'¤3ï" {p}xyŽŽŽŽŽŽŽŽŽ‘ ÃêŸ'õØï" {p}xyŽŽŽŽŽŽ‘ ¾œŸ)®ï" {p}xyŽŽŽŽŽŽŽŽŽ‘"‘Ÿ)Ã6ï" {p}xyŽŽŽŽŽŽ‘ ISŸ+’Ôï" {p}xyŽŽŽŽŽŽŽŽŽ‘öŸ+rBï" {p}xyŽŽŽŽŽŽ‘5dŸ-L ï" {p}xyŽŽŽŽŽŽŽŽŽ‘(Ÿ,;Eï" {p}xyŽŽŽŽŽŽ‘QzŸ.£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘+øŸ,úï" {p}xyŽŽŽŽŽŽ‘…šŸ.Þ<ï" {p}xyŽŽŽŽŽŽŽŽŽ‘i~Ÿ-®Jï" {p}xyŽŽŽŽŽŽ‘ÐП/–øï" {p}xyŽŽŽŽŽŽŽŽŽ‘¼¶Ÿ.W”ï" {p}xyŽŽŽŽŽŽ‘2(Ÿ0Drï" {p}xyŽŽŽŽŽŽŽŽŽ‘$¼Ÿ.õ”ï" {p}xyŽŽŽŽŽŽ‘¨žŸ0æBï" {p}xyŽŽŽŽŽŽŽŽŽ‘ •Ÿ/‡Üï" {p}xyŽŽŽŽŽŽ‘37Ÿ1| ï" {p}xyŽŽŽŽŽŽŽŽŽ‘"/IŸ0ï" {p}xyŽŽŽŽŽŽ‘!ÐûŸ2Yï" {p}xyŽŽŽŽŽŽŽŽŽ‘$ÏéŸ0‡êï" {p}xyŽŽŽŽŽŽ‘$€ëŸ2Èï" {p}xyŽŽŽŽŽŽŽŽŽ‘'‰FŸ0öï" {p}xyŽŽŽŽŽŽ‘':HŸ2ïâï" {p}xyŽŽŽŽŽŽŽŽŽ‘*JõŸ1U˜ï" {p}xyŽŽŽŽŽŽ‘* ‡Ÿ3Q¦ï" {p}xyŽŽŽŽŽŽŽŽŽ‘-¸Ÿ1§žï" {p}xyŽŽŽŽŽŽ‘,ëúŸ3¥\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0}Ÿ1ìGï" {p}xyŽŽŽŽŽŽ‘/Ò¿Ÿ3êï" {p}xyŽŽŽŽŽŽŽŽŽ‘22!½ï" {p}xyŽŽŽŽŽŽ‘2ΨŸ4 »ï" {p}xyŽŽŽŽŽŽŽŽŽ‘5æÁŸ2Hyï" {p}xyŽŽŽŽŽŽ‘5ÖÓŸ4H7ï" {p}xyŽŽŽŽŽŽŽŽŽ‘8ò8Ÿ2`9ï" {p}xyŽŽŽŽŽŽ‘8âJŸ4_÷ï" {p}xyŽŽŽŽŽŽŽŽŽ‘<Ÿ2hï" {p}xyŽŽŽŽŽŽ‘<Ÿ4hï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘<Ÿ4hï" {p}xyŽŽŽŽŽŽ‘<Ÿ2h!ï" {p}xyŽŽŽŽŽŽŽŽŽ‘? ß2`9ï" {p}xyŽŽŽŽŽŽ‘?ÁŸ4_÷ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B9Ÿ2Hyï" {p}xyŽŽŽŽŽŽ‘B)7Ÿ4H7ï" {p}xyŽŽŽŽŽŽŽŽŽ‘EuŸ2!½ï" {p}xyŽŽŽŽŽŽ‘E1cŸ4 »ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Gý}Ÿ1ìGï" {p}xyŽŽŽŽŽŽ‘H-KŸ3êï" {p}xyŽŽŽŽŽŽŽŽŽ‘JäCŸ1§žï" {p}xyŽŽŽŽŽŽ‘KŸ3¥\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘MµŸ1U˜ï" {p}xyŽŽŽŽŽŽ‘MôƒŸ3Q¦ï" {p}xyŽŽŽŽŽŽŽŽŽ‘PvµŸ0öï" {p}xyŽŽŽŽŽŽ‘PÅß2ïâï" {p}xyŽŽŽŽŽŽŽŽŽ‘S0Ÿ0‡êï" {p}xyŽŽŽŽŽŽ‘SŸ2Èï" {p}xyŽŽŽŽŽŽŽŽŽ‘UвŸ0ï" {p}xyŽŽŽŽŽŽ‘V/Ÿ2Yï" {p}xyŽŽŽŽŽŽŽŽŽ‘X_fŸ/‡Üï" {p}xyŽŽŽŽŽŽ‘XÌÔŸ1| ï" {p}xyŽŽŽŽŽŽŽŽŽ‘ZÛ@Ÿ.õ”ï" {p}xyŽŽŽŽŽŽ‘[WnŸ0æBï" {p}xyŽŽŽŽŽŽŽŽŽ‘]CDŸ.W”ï" {p}xyŽŽŽŽŽŽ‘]ÍâŸ0Drï" {p}xyŽŽŽŽŽŽŽŽŽ‘_–~Ÿ-®Jï" {p}xyŽŽŽŽŽŽ‘`/<Ÿ/–øï" {p}xyŽŽŽŽŽŽŽŽŽ‘aÔŸ,úï" {p}xyŽŽŽŽŽŽ‘bzpŸ.Þ<ï" {p}xyŽŽŽŽŽŽŽŽŽ‘cúÓŸ,;Eï" {p}xyŽŽŽŽŽŽ‘d®‘Ÿ.£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘f öŸ+rBï" {p}xyŽŽŽŽŽŽ‘fʤŸ-L ï" {p}xyŽŽŽŽŽŽŽŽŽ‘i×’Ÿ)Æï" {p}xyŽŽŽŽŽŽ‘j¼Ÿ+üï" {p}xyŽŽŽŽŽŽŽŽŽ‘m<Ÿ'õØï" {p}xyŽŽŽŽŽŽ‘nAnŸ)®ï" {p}xyŽŽŽŽŽŽŽŽŽ‘p'Ÿ& •ï" {p}xyŽŽŽŽŽŽ‘qZ1Ÿ'¤3ï" {p}xyŽŽŽŽŽŽŽŽŽ‘r˜ÆŸ$¤ï" {p}xyŽŽŽŽŽŽ‘söôŸ%y"ï" {p}xyŽŽŽŽŽŽŽŽŽ‘tƒ Ÿ!ì{ï" {p}xyŽŽŽŽŽŽ‘v‹Ÿ#'©ï" {p}xyŽŽŽŽŽŽŽŽŽ‘u⪟Ëï" {p}xyŽŽŽŽŽŽ‘w¬˜Ÿ °ï" {p}xyŽŽŽŽŽŽŽŽŽ‘v¸GŸÈï" {p}xyŽŽŽŽŽŽ‘x¨õŸöï" {p}xyŽŽŽŽŽŽŽŽŽ‘wŸh0ï" {p}xyŽŽŽŽŽŽ‘xÿÿŸh0ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘âŸýh0ïS" {mark 60.0 0.0 47.58476 -12.41524 50.94635 -35.94635 67.5 -52.5 0.11533 1.0 bz}xyŽŽŽ‘âŸýh0ïS" {mark 67.5 -52.5 84.05365 -69.05365 107.58476 -72.41524 120.0 -60.0 0.0 1.0 bz}xyŽŽŽ‘âŸýh0ïT" {mark 120.0 -60.0 132.41524 -47.58476 129.05365 -24.05365 112.5 -7.5 0.0 1.0 bz}xyŽŽŽ‘âŸýh0ïP" {mark 112.5 -7.5 95.94635 9.05365 72.41524 12.41524 60.0 0.0 0.0 0.89227 bz}xyŽŽŽŽ‘0¯®ŸÞï" {p}xyŽŽŽŽŽŽ‘2¼Ÿìï" {p}xyŽŽŽŽŽŽŽŽŽ‘1ñ£Ÿ«‡ï" {p}xyŽŽŽŽŽŽ‘0|5ŸMiï" {p}xyŽŽŽŽŽŽŽŽŽ‘1ÎÌŸÒ‘ï" {p}xyŽŽŽŽŽŽ‘0GŽŸˆsï" {p}xyŽŽŽŽŽŽŽŽŽ‘1«1ŸýŒï" {p}xyŽŽŽŽŽŽ‘0ßÂnï" {p}xyŽŽŽŽŽŽŽŽŽ‘1‰§Ÿ)=ï" {p}xyŽŽŽŽŽŽ‘/éùŸþï" {p}xyŽŽŽŽŽŽŽŽŽ‘1gŸZï" {p}xyŽŽŽŽŽŽ‘/Á?Ÿ8ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1I Ÿ‡Wï" {p}xyŽŽŽŽŽŽ‘/—‚Ÿx ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1.Ÿµï" {p}xyŽŽŽŽŽŽ‘/o៺ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1nŸè½ï" {p}xyŽŽŽŽŽŽ‘/MPŸøŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘0ö¸Ÿï" {p}xyŽŽŽŽŽŽ‘/,ÚŸ8‘ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0௟M(ï" {p}xyŽŽŽŽŽŽ‘/ ±Ÿúï" {p}xyŽŽŽŽŽŽŽŽŽ‘0É»Ÿƒï" {p}xyŽŽŽŽŽŽ‘.ïmŸÂòï" {p}xyŽŽŽŽŽŽŽŽŽ‘0´˜Ÿºåï" {p}xyŽŽŽŽŽŽ‘.ÕJŸ7ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0£—ŸìHï" {p}xyŽŽŽŽŽŽ‘.ºùŸSšï" {p}xyŽŽŽŽŽŽŽŽŽ‘0‘üŸ%$ï" {p}xyŽŽŽŽŽŽ‘.¥.Ÿš–ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0‚'Ÿ^Ûï" {p}xyŽŽŽŽŽŽ‘.‘‰Ÿâ½ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0tŸ™bï" {p}xyŽŽŽŽŽŽ‘.þŸ,ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0gÍŸÔ´ï" {p}xyŽŽŽŽŽŽ‘.pŸŸvfï" {p}xyŽŽŽŽŽŽŽŽŽ‘0]4ŸÊï" {p}xyŽŽŽŽŽŽ‘.cfŸÁÌï" {p}xyŽŽŽŽŽŽŽŽŽ‘0TQŸMŸï" {p}xyŽŽŽŽŽŽ‘.XSŸ1ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0MŸ‹7ï" {p}xyŽŽŽŽŽŽ‘.OkŸ[yï" {p}xyŽŽŽŽŽŽŽŽŽ‘0G–ŸÉ„ï" {p}xyŽŽŽŽŽŽ‘.H¨Ÿ©¦ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0C¹ŸŠï" {p}xyŽŽŽŽŽŽ‘.D Ÿøœï" {p}xyŽŽŽŽŽŽŽŽŽ‘0AcŸPAï" {p}xyŽŽŽŽŽŽ‘.AµŸ@Sï" {p}xyŽŽŽŽŽŽŽŽŽ‘0AŸ°ï" {p}xyŽŽŽŽŽŽ‘.A"Ÿ°ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0BbŸÑÀï" {p}xyŽŽŽŽŽŽ‘.B´Ÿá¾ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0ETŸsï" {p}xyŽŽŽŽŽŽ‘.FfŸ3aï" {p}xyŽŽŽŽŽŽŽŽŽ‘0IæŸUÄï" {p}xyŽŽŽŽŽŽ‘.L8Ÿ…’ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0PôŸ Žï" {p}xyŽŽŽŽŽŽ‘.SFŸÐ\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0YŸäï" {p}xyŽŽŽŽŽŽ‘.] Ÿ#‚ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0b²Ÿ(ï" {p}xyŽŽŽŽŽŽ‘.häŸwï" {p}xyŽŽŽŽŽŽŽŽŽ‘0mÿŸl‘ï" {p}xyŽŽŽŽŽŽ‘.vÑŸÊïï" {p}xyŽŽŽŽŽŽŽŽŽ‘0|oŸ¹-ï" {p}xyŽŽŽŽŽŽ‘.…AŸ‹ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0‹.Ÿþ¡ï" {p}xyŽŽŽŽŽŽ‘.—Ÿlï" {p}xyŽŽŽŽŽŽŽŽŽ‘0›†ŸDï" {p}xyŽŽŽŽŽŽ‘.ªèŸÀ¾ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0­ˆŸŠôï" {p}xyŽŽŽŽŽŽ‘.ÀºŸ’ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0Ã?ŸØÐï" {p}xyŽŽŽŽŽŽ‘.ÖqŸcnï" {p}xyŽŽŽŽŽŽŽŽŽ‘0Ø­Ÿ×ï" {p}xyŽŽŽŽŽŽ‘.🸕ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0?gDï" {p}xyŽŽŽŽŽŽ‘/ žŸ ²ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1 ÖŸµ±ï" {p}xyŽŽŽŽŽŽ‘/&¸Ÿ\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1%MŸý“ï" {p}xyŽŽŽŽŽŽ‘/EÿŸ±Qï" {p}xyŽŽŽŽŽŽŽŽŽ‘1AtŸE»ï" {p}xyŽŽŽŽŽŽ‘/g&Ÿiï" {p}xyŽŽŽŽŽŽŽŽŽ‘1_5ŸŽï" {p}xyŽŽŽŽŽŽ‘/Š7Ÿ[\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1aŸÜËï" {p}xyŽŽŽŽŽŽ‘/¬cŸª ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1¢”Ÿ%hï" {p}xyŽŽŽŽŽŽ‘/ÓŸþ¶ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1ÅgŸn&ï" {p}xyŽŽŽŽŽŽ‘/û‰ŸS$ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1ìÍŸ¼¢ï" {p}xyŽŽŽŽŽŽ‘0" ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2Ÿeï" {p}xyŽŽŽŽŽŽ‘0NñŸõ“ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2:ïŸN*ï" {p}xyŽŽŽŽŽŽ‘0|ÁŸI(ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2dŸ–õï" {p}xyŽŽŽŽŽŽ‘0¬SŸœSï" {p}xyŽŽŽŽŽŽŽŽŽ‘2’ÇŸä²ï" {p}xyŽŽŽŽŽŽ‘0Ú™Ÿêï" {p}xyŽŽŽŽŽŽŽŽŽ‘2¿¹Ÿ-(ï" {p}xyŽŽŽŽŽŽ‘1 ›Ÿ<†ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2îSŸu…ï" {p}xyŽŽŽŽŽŽ‘1BUŸŽsï" {p}xyŽŽŽŽŽŽŽŽŽ‘3žŸ½Âï" {p}xyŽŽŽŽŽŽ‘1xÀŸßÐï" {p}xyŽŽŽŽŽŽŽŽŽ‘3PŽŸÌï" {p}xyŽŽŽŽŽŽ‘1°àŸ 0šï" {p}xyŽŽŽŽŽŽŽŽŽ‘3‡BŸQÌï" {p}xyŽŽŽŽŽŽ‘1生 |šï" {p}xyŽŽŽŽŽŽŽŽŽ‘3¼Ÿ™%ï" {p}xyŽŽŽŽŽŽ‘2#Ÿ ÌSï" {p}xyŽŽŽŽŽŽŽŽŽ‘3óˆŸà3ï" {p}xyŽŽŽŽŽŽ‘2`Ÿ!aï" {p}xyŽŽŽŽŽŽŽŽŽ‘4,%Ÿ &áï" {p}xyŽŽŽŽŽŽ‘2ž×Ÿ!i¿ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4foŸ m/ï" {p}xyŽŽŽŽŽŽ‘2ß1Ÿ!·]ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4¢cŸ ³ ï" {p}xyŽŽŽŽŽŽ‘3!%Ÿ"9ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4àŸ øvï" {p}xyŽŽŽŽŽŽ‘3d´Ÿ"PDï" {p}xyŽŽŽŽŽŽŽŽŽ‘5FŸ!=Tï" {p}xyŽŽŽŽŽŽ‘3©ØŸ"›‚ï" {p}xyŽŽŽŽŽŽŽŽŽ‘5`8Ÿ!§ï" {p}xyŽŽŽŽŽŽ‘3ðŠŸ"ååï" {p}xyŽŽŽŽŽŽŽŽŽ‘5¢ÍŸ!Å[ï" {p}xyŽŽŽŽŽŽ‘48ÏŸ#/iï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘48ÇŸ#/aï" {p}xyŽŽŽŽŽŽ‘5¢ÕŸ!Åcï" {p}xyŽŽŽŽŽŽŽŽŽ‘5感"óï" {p}xyŽŽŽŽŽŽ‘4‚VŸ#w±ï" {p}xyŽŽŽŽŽŽŽŽŽ‘6*ן"Håï" {p}xyŽŽŽŽŽŽ‘4̹Ÿ#¾cï" {p}xyŽŽŽŽŽŽŽŽŽ‘6o·Ÿ"ˆ*ï" {p}xyŽŽŽŽŽŽ‘5ùŸ$ˆï" {p}xyŽŽŽŽŽŽŽŽŽ‘6µ Ÿ"ÅÇï" {p}xyŽŽŽŽŽŽ‘5dŸ$Gï" {p}xyŽŽŽŽŽŽŽŽŽ‘6úþŸ#½ï" {p}xyŽŽŽŽŽŽ‘5°àŸ$‰ ï" {p}xyŽŽŽŽŽŽŽŽŽ‘7AKŸ#<ï" {p}xyŽŽŽŽŽŽ‘5þ}Ÿ$Éeï" {p}xyŽŽŽŽŽŽŽŽŽ‘7‡úŸ#t¤ï" {p}xyŽŽŽŽŽŽ‘6LÜŸ%"ï" {p}xyŽŽŽŽŽŽŽŽŽ‘7ÏŸ#«šï" {p}xyŽŽŽŽŽŽ‘6›çŸ%E8ï" {p}xyŽŽŽŽŽŽŽŽŽ‘8aŸ#àéï" {p}xyŽŽŽŽŽŽ‘6룟%€§ï" {p}xyŽŽŽŽŽŽŽŽŽ‘8b_Ÿ$žï" {p}xyŽŽŽŽŽŽ‘77¡Ÿ%·\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘8ªjŸ$Iï" {p}xyŽŽŽŽŽŽ‘7ˆlŸ%ï}ï" {p}xyŽŽŽŽŽŽŽŽŽ‘8ò¦Ÿ$yØï" {p}xyŽŽŽŽŽŽ‘7ÙÈŸ&%æï" {p}xyŽŽŽŽŽŽŽŽŽ‘9;Ÿ$¨tï" {p}xyŽŽŽŽŽŽ‘8+·Ÿ&Z¢ï" {p}xyŽŽŽŽŽŽŽŽŽ‘9ƒzŸ$Õeï" {p}xyŽŽŽŽŽŽ‘8~,Ÿ&£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘9Ñ7Ÿ%¬ï" {p}xyŽŽŽŽŽŽ‘8ËéŸ&»êï" {p}xyŽŽŽŽŽŽŽŽŽ‘:Ÿ%-;ï" {p}xyŽŽŽŽŽŽ‘9Ÿ&ëyï" {p}xyŽŽŽŽŽŽŽŽŽ‘:bÈŸ%Uï" {p}xyŽŽŽŽŽŽ‘9rªŸ'Lï" {p}xyŽŽŽŽŽŽŽŽŽ‘:«ŠŸ%{_ï" {p}xyŽŽŽŽŽŽ‘9ÆœŸ'EMï" {p}xyŽŽŽŽŽŽŽŽŽ‘:úŸ%¢Çï" {p}xyŽŽŽŽŽŽ‘:Ÿ'lµï" {p}xyŽŽŽŽŽŽŽŽŽ‘;BÄŸ%Řï" {p}xyŽŽŽŽŽŽ‘:i†Ÿ'•6ï" {p}xyŽŽŽŽŽŽŽŽŽ‘;‹cŸ%æÍï" {p}xyŽŽŽŽŽŽ‘:¾5Ÿ'»Ûï" {p}xyŽŽŽŽŽŽŽŽŽ‘;ÚŸ&øï" {p}xyŽŽŽŽŽŽ‘; âŸ'Þï" {p}xyŽŽŽŽŽŽŽŽŽ‘<"rŸ&&ºï" {p}xyŽŽŽŽŽŽ‘;aÔŸ(ï" {p}xyŽŽŽŽŽŽŽŽŽ‘#œŸ&̦ï" {p}xyŽŽŽŽŽŽ‘=§~Ÿ(½Tï" {p}xyŽŽŽŽŽŽŽŽŽ‘>i‹Ÿ&Üÿï" {p}xyŽŽŽŽŽŽ‘=ü-Ÿ(Ñ-ï" {p}xyŽŽŽŽŽŽŽŽŽ‘>®ýŸ&ë»ï" {p}xyŽŽŽŽŽŽ‘>P¯Ÿ(âùï" {p}xyŽŽŽŽŽŽŽŽŽ‘>û›Ÿ&ú.ï" {p}xyŽŽŽŽŽŽ‘>MŸ(ñlï" {p}xyŽŽŽŽŽŽŽŽŽ‘?@*Ÿ'zï" {p}xyŽŽŽŽŽŽ‘>ñ,Ÿ(ÿXï" {p}xyŽŽŽŽŽŽŽŽŽ‘?„(Ÿ'&ï" {p}xyŽŽŽŽŽŽ‘?DºŸ) 4ï" {p}xyŽŽŽŽŽŽŽŽŽ‘?ÇŸ'7ï" {p}xyŽŽŽŽŽŽ‘?—ߟ)õï" {p}xyŽŽŽŽŽŽŽŽŽ‘@jŸ'Gï" {p}xyŽŽŽŽŽŽ‘?⬟)ï" {p}xyŽŽŽŽŽŽŽŽŽ‘@T¹Ÿ'"Øï" {p}xyŽŽŽŽŽŽ‘@4ÛŸ)!Öï" {p}xyŽŽŽŽŽŽŽŽŽ‘@–mŸ'%Ëï" {p}xyŽŽŽŽŽŽ‘@†Ÿ)%‰ï" {p}xyŽŽŽŽŽŽŽŽŽ‘@׃Ÿ''ï" {p}xyŽŽŽŽŽŽ‘@׃Ÿ)'ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AìŸ'&Ëï" {p}xyŽŽŽŽŽŽ‘A'êŸ)&‰ï" {p}xyŽŽŽŽŽŽŽŽŽ‘A_£Ÿ'$tï" {p}xyŽŽŽŽŽŽ‘Ao¡Ÿ)$2ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AžªŸ' ˜ï" {p}xyŽŽŽŽŽŽ‘A¾˜Ÿ)–ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AÜõŸ'ï" {p}xyŽŽŽŽŽŽ‘B ß)Ðï" {p}xyŽŽŽŽŽŽŽŽŽ‘BŸ'Üï" {p}xyŽŽŽŽŽŽ‘BZ Ÿ)êï" {p}xyŽŽŽŽŽŽŽŽŽ‘BWbŸ' ùï" {p}xyŽŽŽŽŽŽ‘B¦pŸ)×ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B“yŸ'`ï" {p}xyŽŽŽŽŽŽ‘Bñן(÷žï" {p}xyŽŽŽŽŽŽŽŽŽ‘BÎÈŸ&ôï" {p}xyŽŽŽŽŽŽ‘C<6Ÿ(è<ï" {p}xyŽŽŽŽŽŽŽŽŽ‘C QŸ&æï" {p}xyŽŽŽŽŽŽ‘C…Ÿ(Ö³ï" {p}xyŽŽŽŽŽŽŽŽŽ‘CCŸ&Ö/ï" {p}xyŽŽŽŽŽŽ‘CͦŸ(à ï" {p}xyŽŽŽŽŽŽŽŽŽ‘C{æŸ&Ä•ï" {p}xyŽŽŽŽŽŽ‘D¤Ÿ(­Cï" {p}xyŽŽŽŽŽŽŽŽŽ‘C­FŸ&³“ï" {p}xyŽŽŽŽŽŽ‘DaŸ(’ñï" {p}xyŽŽŽŽŽŽŽŽŽ‘CäŸ&žrï" {p}xyŽŽŽŽŽŽ‘D¥KŸ(xÐï" {p}xyŽŽŽŽŽŽŽŽŽ‘DŸ&‡|ï" {p}xyŽŽŽŽŽŽ‘DèBŸ(\Šï" {p}xyŽŽŽŽŽŽŽŽŽ‘DJ­Ÿ&qsï" {p}xyŽŽŽŽŽŽ‘E/«Ÿ(;aï" {p}xyŽŽŽŽŽŽŽŽŽ‘DmŸ&V»ï" {p}xyŽŽŽŽŽŽ‘Eo›Ÿ(éï" {p}xyŽŽŽŽŽŽŽŽŽ‘D³'Ÿ&:ï" {p}xyŽŽŽŽŽŽ‘E®%Ÿ'ø[ï" {p}xyŽŽŽŽŽŽŽŽŽ‘DàÔŸ&‹ï" {p}xyŽŽŽŽŽŽ‘Eð2Ÿ'йï" {p}xyŽŽŽŽŽŽŽŽŽ‘EŸ&ï" {p}xyŽŽŽŽŽŽ‘F0Ÿ'¦üï" {p}xyŽŽŽŽŽŽŽŽŽ‘E:½Ÿ%á“ï" {p}xyŽŽŽŽŽŽ‘FmëŸ'{1ï" {p}xyŽŽŽŽŽŽŽŽŽ‘EjŸŸ%¼úï" {p}xyŽŽŽŽŽŽ‘F¥ÍŸ'Pxï" {p}xyŽŽŽŽŽŽŽŽŽ‘E’Ÿ%œ^ï" {p}xyŽŽŽŽŽŽ‘FãGŸ'¬ï" {p}xyŽŽŽŽŽŽŽŽŽ‘E¼¤Ÿ%vˆï" {p}xyŽŽŽŽŽŽ‘GÒŸ&ìï" {p}xyŽŽŽŽŽŽŽŽŽ‘EæDŸ%Ntï" {p}xyŽŽŽŽŽŽ‘GPRŸ&¸‚ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘GPJŸ&¸zï" {p}xyŽŽŽŽŽŽ‘EæLŸ%N|ï" {p}xyŽŽŽŽŽŽŽŽŽ‘FXŸ%$Ôï" {p}xyŽŽŽŽŽŽ‘GƒÖŸ&ƒï" {p}xyŽŽŽŽŽŽŽŽŽ‘F1.Ÿ$ýÉï" {p}xyŽŽŽŽŽŽ‘G¸|Ÿ&G÷ï" {p}xyŽŽŽŽŽŽŽŽŽ‘FTÊŸ$ÒÏï" {p}xyŽŽŽŽŽŽ‘GèHŸ& ýï" {p}xyŽŽŽŽŽŽŽŽŽ‘FvSŸ$§ï" {p}xyŽŽŽŽŽŽ‘HŸ%Ñëï" {p}xyŽŽŽŽŽŽŽŽŽ‘F˜ÞŸ$v@ï" {p}xyŽŽŽŽŽŽ‘H>ÌŸ%˜Nï" {p}xyŽŽŽŽŽŽŽŽŽ‘F¶[Ÿ$Iï" {p}xyŽŽŽŽŽŽ‘Hh‰Ÿ%Xbï" {p}xyŽŽŽŽŽŽŽŽŽ‘FÑíŸ$Wï" {p}xyŽŽŽŽŽŽ‘H+Ÿ%Uï" {p}xyŽŽŽŽŽŽŽŽŽ‘F#çï" {p}xyŽŽŽŽŽŽ‘H²¹Ÿ$×Ëï" {p}xyŽŽŽŽŽŽŽŽŽ‘G CŸ#²Ýï" {p}xyŽŽŽŽŽŽ‘HÓ1Ÿ$—Ûï" {p}xyŽŽŽŽŽŽŽŽŽ‘GLŸ#ƒ4ï" {p}xyŽŽŽŽŽŽ‘HôZŸ$Prï" {p}xyŽŽŽŽŽŽŽŽŽ‘G6BŸ#LÍï" {p}xyŽŽŽŽŽŽ‘I Ÿ$ {ï" {p}xyŽŽŽŽŽŽŽŽŽ‘GKcŸ#vï" {p}xyŽŽŽŽŽŽ‘I*ÁŸ#É4ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G\eŸ"äï" {p}xyŽŽŽŽŽŽ‘IEŸ#|Ôï" {p}xyŽŽŽŽŽŽŽŽŽ‘GmÿŸ"«8ï" {p}xyŽŽŽŽŽŽ‘IZÝŸ#5Öï" {p}xyŽŽŽŽŽŽŽŽŽ‘G}ÕŸ"qï" {p}xyŽŽŽŽŽŽ‘InƒŸ"í¯ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G‹ÞŸ"6øï" {p}xyŽŽŽŽŽŽ‘I€ Ÿ"¤fï" {p}xyŽŽŽŽŽŽŽŽŽ‘G˜0Ÿ!û©ï" {p}xyŽŽŽŽŽŽ‘InŸ"Zï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¢ÉŸ!¿’ï" {p}xyŽŽŽŽŽŽ‘Iœ§Ÿ" ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G«¬Ÿ!‚¿ï" {p}xyŽŽŽŽŽŽ‘I§ºŸ!Â=ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G²âŸ!E%ï" {p}xyŽŽŽŽŽŽ‘I° Ÿ!tóï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¸hŸ!Úï" {p}xyŽŽŽŽŽŽ‘I·fŸ!&Èï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¼DŸ ÇÓï" {p}xyŽŽŽŽŽŽ‘I¼Ÿ ×Ñï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¾›Ÿ €ï" {p}xyŽŽŽŽŽŽ‘I¾YŸ ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¾ëŸ ?³ï" {p}xyŽŽŽŽŽŽ‘I¾éŸ ?³ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G½›Ÿþï" {p}xyŽŽŽŽŽŽ‘I½YŸî¯ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Gº¨Ÿ¼éï" {p}xyŽŽŽŽŽŽ‘I¹¦Ÿ ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¶Ÿzšï" {p}xyŽŽŽŽŽŽ‘I³ÕŸJÜï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¯Ÿ/Íï" {p}xyŽŽŽŽŽŽ‘I¬ÅŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘G¦öŸìXï" {p}xyŽŽŽŽŽŽ‘I£Ÿ¬êï" {p}xyŽŽŽŽŽŽŽŽŽ‘GJŸ¨Zï" {p}xyŽŽŽŽŽŽ‘I—(ŸY\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G‘þŸcËï" {p}xyŽŽŽŽŽŽ‘I‰<Ÿ}ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Gƒ‹Ÿ-ï" {p}xyŽŽŽŽŽŽ‘IzÉŸ¸ßï" {p}xyŽŽŽŽŽŽŽŽŽ‘GtÏŸÑ»ï" {p}xyŽŽŽŽŽŽ‘IhýŸd]ï" {p}xyŽŽŽŽŽŽŽŽŽ‘GdvŸ‹Ìï" {p}xyŽŽŽŽŽŽ‘IU$Ÿ®ï" {p}xyŽŽŽŽŽŽŽŽŽ‘GRuŸEjï" {p}xyŽŽŽŽŽŽ‘I?SŸºÜï" {p}xyŽŽŽŽŽŽŽŽŽ‘G<¼Ÿ÷Œï" {p}xyŽŽŽŽŽŽ‘I)šŸlþï" {p}xyŽŽŽŽŽŽŽŽŽ‘G'QŸ°‡ï" {p}xyŽŽŽŽŽŽ‘IÿŸÙï" {p}xyŽŽŽŽŽŽŽŽŽ‘GAŸiï" {p}xyŽŽŽŽŽŽ‘HôoŸ»ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Fõ(Ÿ¬ï" {p}xyŽŽŽŽŽŽ‘HÙVŸtNï" {p}xyŽŽŽŽŽŽŽŽŽ‘FÚ¯ŸÒÈï" {p}xyŽŽŽŽŽŽ‘Hº Ÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘F¾ŠŸŠ¢ï" {p}xyŽŽŽŽŽŽ‘H˜èŸÊï" {p}xyŽŽŽŽŽŽŽŽŽ‘F ÈŸB@ï" {p}xyŽŽŽŽŽŽ‘HuÖŸuï" {p}xyŽŽŽŽŽŽŽŽŽ‘F~Ÿó“ï" {p}xyŽŽŽŽŽŽ‘HS«Ÿ&eï" {p}xyŽŽŽŽŽŽŽŽŽ‘F]hŸªôï" {p}xyŽŽŽŽŽŽ‘H-ŸѶï" {p}xyŽŽŽŽŽŽŽŽŽ‘F:—Ÿb7ï" {p}xyŽŽŽŽŽŽ‘H…Ÿ}Iï" {p}xyŽŽŽŽŽŽŽŽŽ‘F/Ÿºï" {p}xyŽŽŽŽŽŽ‘GÝŸ.Ìï" {p}xyŽŽŽŽŽŽŽŽŽ‘EìîŸÊøï" {p}xyŽŽŽŽŽŽ‘G±ŸÚÚï" {p}xyŽŽŽŽŽŽŽŽŽ‘EÅ Ÿ‚0ï" {p}xyŽŽŽŽŽŽ‘GƒIŸ‡Bï" {p}xyŽŽŽŽŽŽŽŽŽ‘E›|Ÿ9gï" {p}xyŽŽŽŽŽŽ‘GSºŸ4ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Em5Ÿëªï" {p}xyŽŽŽŽŽŽ‘G%sŸæ\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘E@DŸ£5ï" {p}xyŽŽŽŽŽŽ‘FòrŸ“çï" {p}xyŽŽŽŽŽŽŽŽŽ‘E¨ŸZÖï" {p}xyŽŽŽŽŽŽ‘F½¶ŸAøï" {p}xyŽŽŽŽŽŽŽŽŽ‘Dá_Ÿšï" {p}xyŽŽŽŽŽŽ‘F‡MŸðœï" {p}xyŽŽŽŽŽŽŽŽŽ‘D¯nŸÊï" {p}xyŽŽŽŽŽŽ‘FO,ŸŸÑï" {p}xyŽŽŽŽŽŽŽŽŽ‘Dx¹Ÿ~‘ï" {p}xyŽŽŽŽŽŽ‘FwŸSÓï" {p}xyŽŽŽŽŽŽŽŽŽ‘DCjŸ75ï" {p}xyŽŽŽŽŽŽ‘EÝŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘D tŸð*ï" {p}xyŽŽŽŽŽŽ‘EŸòŸµ ï" {p}xyŽŽŽŽŽŽŽŽŽ‘CÓן©{ï" {p}xyŽŽŽŽŽŽ‘Ea5Ÿf­ï" {p}xyŽŽŽŽŽŽŽŽŽ‘C™Ÿc.ï" {p}xyŽŽŽŽŽŽ‘E ÛŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘C]—ŸPï" {p}xyŽŽŽŽŽŽ‘DÞåŸÌ2ï" {p}xyŽŽŽŽŽŽŽŽŽ‘CúŸ×çï" {p}xyŽŽŽŽŽŽ‘D›XŸ€)ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Bൟ“ï" {p}xyŽŽŽŽŽŽ‘DV3Ÿ4éï" {p}xyŽŽŽŽŽŽŽŽŽ‘BŸÃŸN´ï" {p}xyŽŽŽŽŽŽ‘DŸê†ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B]+Ÿ ýï" {p}xyŽŽŽŽŽŽ‘CÇ9Ÿ ÿï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘CÇ1Ÿ ÷ï" {p}xyŽŽŽŽŽŽ‘B]3Ÿ ï" {p}xyŽŽŽŽŽŽŽŽŽ‘BwŸÈhï" {p}xyŽŽŽŽŽŽ‘C}µŸXºï" {p}xyŽŽŽŽŽŽŽŽŽ‘AÕ$Ÿ‡vï" {p}xyŽŽŽŽŽŽ‘C3RŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘AFŸH2ï" {p}xyŽŽŽŽŽŽ‘BèŸÌäï" {p}xyŽŽŽŽŽŽŽŽŽ‘AJÛŸ “ï" {p}xyŽŽŽŽŽŽ‘Bœ Ÿ‰Uï" {p}xyŽŽŽŽŽŽŽŽŽ‘AÿŸΟï" {p}xyŽŽŽŽŽŽ‘BO-ŸGaï" {p}xyŽŽŽŽŽŽŽŽŽ‘@¾±Ÿ”Uï" {p}xyŽŽŽŽŽŽ‘BŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘@xŸ[¸ï" {p}xyŽŽŽŽŽŽ‘A³1ŸÈJï" {p}xyŽŽŽŽŽŽŽŽŽ‘@0õŸ$Àï" {p}xyŽŽŽŽŽŽ‘Ad#Ÿ‹2ï" {p}xyŽŽŽŽŽŽŽŽŽ‘?霟ïrï" {p}xyŽŽŽŽŽŽ‘AjŸOÄï" {p}xyŽŽŽŽŽŽŽŽŽ‘?œŸ¸¾ï" {p}xyŽŽŽŽŽŽ‘@ÈjŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘?U’Ÿ†Îï" {p}xyŽŽŽŽŽŽ‘@w Ÿàðï" {p}xyŽŽŽŽŽŽŽŽŽ‘? UŸVƒï" {p}xyŽŽŽŽŽŽ‘@&CŸª…ï" {p}xyŽŽŽŽŽŽŽŽŽ‘>ÄøŸ'éï" {p}xyŽŽŽŽŽŽ‘?ÔVŸuËï" {p}xyŽŽŽŽŽŽŽŽŽ‘>|‚Ÿú÷ï" {p}xyŽŽŽŽŽŽ‘?àŸBÉï" {p}xyŽŽŽŽŽŽŽŽŽ‘>.ÅŸ̱ï" {p}xyŽŽŽŽŽŽ‘?4#Ÿƒï" {p}xyŽŽŽŽŽŽŽŽŽ‘=åúŸ£ï" {p}xyŽŽŽŽŽŽ‘>àøŸäñï" {p}xyŽŽŽŽŽŽŽŽŽ‘=5Ÿ{?ï" {p}xyŽŽŽŽŽŽ‘>cŸ·!ï" {p}xyŽŽŽŽŽŽŽŽŽ‘=TrŸTýï" {p}xyŽŽŽŽŽŽ‘>9pŸ‹ï" {p}xyŽŽŽŽŽŽŽŽŽ‘=öŸ-—ï" {p}xyŽŽŽŽŽŽ‘=êôŸc¹ï" {p}xyŽŽŽŽŽŽŽŽŽ‘<½8Ÿ Äï" {p}xyŽŽŽŽŽŽ‘=–†Ÿ;6ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Ÿ>¡ï" {p}xyŽŽŽŽŽŽŽŽŽ‘:"ÄŸ¸ï" {p}xyŽŽŽŽŽŽ‘:­bŸ(êï" {p}xyŽŽŽŽŽŽŽŽŽ‘9Ü`Ÿ¶ï" {p}xyŽŽŽŽŽŽ‘:XŽŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘9–qŸó^ï" {p}xyŽŽŽŽŽŽ‘:ߟ ÿ@ï" {p}xyŽŽŽŽŽŽŽŽŽ‘9PýŸäŸï" {p}xyŽŽŽŽŽŽ‘9¯[Ÿ íqï" {p}xyŽŽŽŽŽŽŽŽŽ‘9aŸÖ/ï" {p}xyŽŽŽŽŽŽ‘9b¿Ÿ ßï" {p}xyŽŽŽŽŽŽŽŽŽ‘8¿ÒŸÊâï" {p}xyŽŽŽŽŽŽ‘9àŸ Ñï" {p}xyŽŽŽŽŽŽŽŽŽ‘8{ÔŸÁ7ï" {p}xyŽŽŽŽŽŽ‘8»RŸ Å9ï" {p}xyŽŽŽŽŽŽŽŽŽ‘88^Ÿ¹$ï" {p}xyŽŽŽŽŽŽ‘8h,Ÿ »vï" {p}xyŽŽŽŽŽŽŽŽŽ‘7픟²ï" {p}xyŽŽŽŽŽŽ‘8bŸ ´hï" {p}xyŽŽŽŽŽŽŽŽŽ‘7«CŸ­„ï" {p}xyŽŽŽŽŽŽ‘7Ë1Ÿ ®–ï" {p}xyŽŽŽŽŽŽŽŽŽ‘7iŸª’ï" {p}xyŽŽŽŽŽŽ‘7yŽŸ ªäï" {p}xyŽŽŽŽŽŽŽŽŽ‘7(€Ÿ©@ï" {p}xyŽŽŽŽŽŽ‘7(€Ÿ ©Rï" {p}xyŽŽŽŽŽŽŽŽŽ‘6蟩“ï" {p}xyŽŽŽŽŽŽ‘6Ø#Ÿ ©åï" {p}xyŽŽŽŽŽŽŽŽŽ‘6 ZŸ«éï" {p}xyŽŽŽŽŽŽ‘6lŸ ¬;ï" {p}xyŽŽŽŽŽŽŽŽŽ‘6aTŸ¯Æï" {p}xyŽŽŽŽŽŽ‘6AvŸ °Øï" {p}xyŽŽŽŽŽŽŽŽŽ‘6#ŸµIï" {p}xyŽŽŽŽŽŽ‘5óIŸ ·›ï" {p}xyŽŽŽŽŽŽŽŽŽ‘5åoŸ¼ï" {p}xyŽŽŽŽŽŽ‘5¦Ÿ Àƒï" {p}xyŽŽŽŽŽŽŽŽŽ‘5¨šŸÅdï" {p}xyŽŽŽŽŽŽ‘5YœŸ Ë–ï" {p}xyŽŽŽŽŽŽŽŽŽ‘5l„ŸÏýï" {p}xyŽŽŽŽŽŽ‘56Ÿ ØÏï" {p}xyŽŽŽŽŽŽŽŽŽ‘512ŸÜLï" {p}xyŽŽŽŽŽŽ‘4ÃÔŸ è.ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4ö«ŸêWï" {p}xyŽŽŽŽŽŽ‘4zŸ ù¹ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4¼ôŸú,ï" {p}xyŽŽŽŽŽŽ‘42fŸ ^ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4„Ÿ Çï" {p}xyŽŽŽŽŽŽ‘3ëjŸ#)ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4RµŸÈï" {p}xyŽŽŽŽŽŽ‘3ŸŸ=zï" {p}xyŽŽŽŽŽŽŽŽŽ‘4`Ÿ1ëï" {p}xyŽŽŽŽŽŽ‘3ZŸWï" {p}xyŽŽŽŽŽŽŽŽŽ‘3äøŸHßï" {p}xyŽŽŽŽŽŽ‘3ÊŸsáï" {p}xyŽŽŽŽŽŽŽŽŽ‘3µOŸ^èï" {p}xyŽŽŽŽŽŽ‘2ÐaŸ• ï" {p}xyŽŽŽŽŽŽŽŽŽ‘3€Ÿyžï" {p}xyŽŽŽŽŽŽ‘2oŸµ€ï" {p}xyŽŽŽŽŽŽŽŽŽ‘3LÕŸ–?ï" {p}xyŽŽŽŽŽŽ‘2QçŸØï" {p}xyŽŽŽŽŽŽŽŽŽ‘3'Ÿ±Ðï" {p}xyŽŽŽŽŽŽ‘2ÙŸÿ²ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2ñíŸÏMï" {p}xyŽŽŽŽŽŽ‘1ÏïŸ)oï" {p}xyŽŽŽŽŽŽŽŽŽ‘2Å=ŸîÇï" {p}xyŽŽŽŽŽŽ‘1’ŸU9ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2•\Ÿaï" {p}xyŽŽŽŽŽŽ‘1Z>Ÿóï" {p}xyŽŽŽŽŽŽŽŽŽ‘2máŸ3üï" {p}xyŽŽŽŽŽŽ‘1ß²¾ï" {p}xyŽŽŽŽŽŽŽŽŽ‘2CWŸYÓï" {p}xyŽŽŽŽŽŽ‘0å9Ÿäeï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘âŸýh0ïV" {mark 60.0 0.0 56.09827 -3.90173 66.37527 -20.51743 82.92892 -37.07108 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ï[" {mark 82.92892 -37.07108 99.48257 -53.62473 116.09827 -63.90173 120.0 -60.0 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ï\" {mark 120.0 -60.0 123.90173 -56.09827 113.62473 -39.48257 97.07108 -22.92892 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ïT" {mark 97.07108 -22.92892 80.51743 -6.37527 63.90173 3.90173 60.0 0.0 0.0 1.0 bt}xyŽŽŽŽŽŽŽŽŸVîm‘ãŒÏ\xy‘¿ª0;/r5pc/:*\dir{*},*++!DR(.5){p}ŽŽ¡‘ãŒ*\frm{-};p+(.5,-.5)*\dir{*}="c",ŽŽ¡‘ãŒ**\dir{-},*+!UL{c},"c",ŽŽ¡‘ãŒ,{\ellipse(1,.4){:}},{\ellipse(,.75){}}ŽŽ¡‘ãŒ,{\ellipse<15pt,10pt>{=}}ŽŽ¡‘ãŒ;*{};{\ellipse<,10pt>{.}}\endxyŽŽ¤Pˆ‘ôŒ¹As–¦fwith“full“circles,“full“ellipses“require“little“preparation.Ž¡‘ãŒÃ377Ž‘õŒÏ\xydef@\fullEllipse@{\xy@{fullELLIPSE}%ŽŽ¤ ™š‘ãŒÃ378Ž‘ûKÃÏ{\def\startDirection@{}\let\doCircleArc@=\doMergeEndArc@@}%ŽŽ¡‘ãŒÃ379Ž‘ûKÃÏ\ellipseArc@ŽŽ¡‘ãŒÃ380Ž‘ûKÃÏ\xy@{doCIRCarcs}{\leave@–¿ª\doCircleArcs@}\endarc@“}ŽŽŸ!¶¬‘ãŒÞ3.9.3Ž‘ ÌDra wing‘€arcsŽŸ«ÿ‘㌹This–’"methošMÞd“is“common“to“full“circles,‘ ellipses“and“circular“arcs.‘ ¡It“ rst“executes“the“metho˜dsŽ¡‘ãŒÏ\arcScale@Ž‘½¹,‘ûDÏ\arcRadius@Ž‘D7’¹,‘ûDÏ\ellipseRatio@Ž‘Z-¨¹where–·necessary‘ÿe,‘ûDthen“examines“Ï\arcOrient@@Ž‘Nj(¹to“de-Ž¡‘ãŒcide–¦fif“the“arc“is“to“bšMÞe“t²!yp˜eset“clo˜cš²!kwise“or“coun˜ter-cloMÞc˜kwise.Ž©Pˆ‘ãŒÃ393Ž‘õŒÏ\xydef@\ellipseArc@{%ŽŽ¡‘ãŒÃ394Ž‘ûKÃÏ\arcScale@–¿ª\arcRadius@“\ellipseRatio@ŽŽ¡‘ãŒÃ395Ž‘ûKÃÏ\xy@{arcCONTROLS}{\baseOrient@–¿ª\arcControls@“\let\bstartPLACE@=\relax“}}ŽŽ¦‘ôŒ¹Here–Wis“where“the“\conš²!trol“pMÞoin˜ts"“are“de ned,‘4Ôfor“eac˜h“of“the“four“B²"‘úÔDezier“cubic“segmen˜ts,‘4ÔusingŽ¡‘ãŒcošMÞordinates–éwin“the“constructed“basis.‘§The“endp˜oinš²!ts“of“the“segmen˜ts|though,‘ú;not“necessarily“of“theŽ¡‘ãŒarc|are–¦fstored“as“Ð0p‘°ò¹,“Ð1c›žu¹,“Ð2c˜¹,“Ð3c‘DÛ¹and“the“tangenš²!tial“con˜trol“pMÞoin˜ts“are“stored“as“Ð1m›× ¹,“Ð2m˜¹,“.–Ó3.“.“,‘¦fÐ8m˜¹.ަ‘ãŒÃ405Ž‘õŒÏ\xydef@\cubicARCcontrols@@{\czeroEdge@ŽŽ¡‘ãŒÃ406Ž‘ûKÃÏ\vfromcartesian@@0,1@\idfromc@{1@c}%ŽŽ¡‘ãŒÃ407Ž‘ûKÃÏ\vfromcartesian@@-1,0@\idfromc@{2@c}%ŽŽ¡‘ãŒÃ408Ž‘ûKÃÏ\vfromcartesian@@0,-1@\idfromc@{3@c}%ŽŽ¡‘ãŒÃ409Ž‘ûKÃÏ\vfromcartesian@@1,\arcparam@‘¿ª@\idfromc@{1@m}%ŽŽ¡‘ãŒÃ410Ž‘ûKÃÏ\vfromcartesian@@\arcparam@,1@\idfromc@{2@m}%ŽŽ¡‘ãŒÃ411Ž‘ûKÃÏ\vfromcartesian@@-\arcparam@,1@\idfromc@{3@m}%ŽŽ¡‘ãŒÃ412Ž‘ûKÃÏ\vfromcartesian@@-1,\arcparam@‘¿ª@\idfromc@{4@m}%ŽŽ¡‘ãŒÃ413Ž‘ûKÃÏ\vfromcartesian@@-1,-\arcparam@‘¿ª@\idfromc@{5@m}%ŽŽ¡‘ãŒÃ414Ž‘ûKÃÏ\vfromcartesian@@-\arcparam@,-1@\idfromc@{6@m}%ŽŽ¡‘ãŒÃ415Ž‘ûKÃÏ\vfromcartesian@@\arcparam@,-1@\idfromc@{7@m}%ŽŽ¡‘ãŒÃ416Ž‘ûKÃÏ\vfromcartesian@@1,-\arcparam@‘¿ª@\idfromc@{8@m}%ŽŽ¡‘ãŒÃ417Ž‘ûKÃÏ}ŽŽ¦‘ôŒ¹Draš²!wing–!Ñthe“circle/ellipse/arc“means“tracing“along“the“requisite“cubic“segmen˜ts.‘ PThe“methoMÞdŽ¡‘ãŒÏ\doCircleArc@@Ž‘9p¹is–hªused“for“full“circles/ellipses“when“complete“segmenš²!ts“are“to“bMÞe“t˜ypMÞeset.‘ $ªTheŽŽŽŒ‹‘Ùà Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹401ŽŽ ¶?? ýh«w‘ãŒmethoMÞds‘õêÏ\doMergeStartArc@Ž‘e°4¹,‘ ÊÏ\doMergeEndArc@@Ž‘cúT¹and‘õêÏ\doMergeBothArc@Ž‘cæt¹are–õêused“when“a“segmen²!tޤ ™š‘ãŒis–wxnot“complete.‘ QThe“wš²!ork“b˜y“\merging"“the“initial/ nal“pMÞoin˜t“of“the“curv˜ed“segmen˜t“with“theŽ¡‘ãŒappropriate–BípšMÞoin²!t“required“to“b˜e“at“the“extremitš²!y“of“the“arc.‘¼µT˜ypMÞesetting“of“the“curv˜e“should“not“tak˜eŽ¡‘ãŒplace–¦fwithin“the“region“co•²!v“ered›¦fb“y˜this˜merged˜ob‘›»ject.ŽŸ ã‘ôŒT‘ÿeo›èÑo•²!v“ercome˜the˜dicult“y˜of˜the˜curv“e˜lea“ving˜then˜re-en“tering˜this˜region,‘9ka˜second˜merge˜isŽ¡‘ãŒpšMÞerformed–(Æto“extend“it“suitably‘ÿe.‘dýThis“is“the“purp˜ose“of“Ï\cfromcontrols@Ž‘Zc¼¹.‘dýDue“to“the“\con•²!v“ex-h“ullŽ¡‘ãŒpropMÞertš²!y"–Q¡of“the“B²"‘úÔDezier“cubic“segmen˜t,‘|oa“pMÞoin˜t“can“bšMÞe“constructed“from“the“end-p˜oinš²!ts“and“con˜trolŽ¡‘ãŒpMÞoin•²!ts›¦fwhic“h˜can˜bMÞe˜used˜to˜extend˜the˜rectangle˜to˜co“v“er˜a˜suitable˜pMÞortion˜of˜the˜curv“e.Ž©Pˆ‘ãŒÃ437Ž‘õŒÏ\xydef@\doCircleArc@@#1#2{\save@‘¿ª\ifcase#2\relaxŽŽ¡‘ãŒÃ438Ž‘ûKÃÏ\doCircleArc@@@{0@p}{1@m}{2@m}{1@c}{#1}\orŽŽ¡‘ãŒÃ439Ž‘ûKÃÏ\doCircleArc@@@{1@c}{3@m}{4@m}{2@c}{#1}\orŽŽ¡‘ãŒÃ440Ž‘ûKÃÏ\doCircleArc@@@{2@c}{5@m}{6@m}{3@c}{#1}\orŽŽ¡‘ãŒÃ441Ž‘ûKÃÏ\doCircleArc@@@{3@c}{7@m}{8@m}{0@p}{#1}\orŽŽ¡‘ãŒÃ442Ž‘ûKÃÏ\doCircleArc@@@{0@p}{1@m}{2@m}{1@c}{#1}\orŽŽ¡‘ãŒÃ443Ž‘ûKÃÏ\doCircleArc@@@{1@c}{3@m}{4@m}{2@c}{#1}\orŽŽ¡‘ãŒÃ444Ž‘ûKÃÏ\doCircleArc@@@{2@c}{5@m}{6@m}{3@c}{#1}\orŽŽ¡‘ãŒÃ445Ž‘ûKÃÏ\doCircleArc@@@{3@c}{7@m}{8@m}{0@p}{#1}\fi–¿ª\leave@“}ŽŽ¦‘ãŒÃ447Ž‘õŒÏ\xydef@\doCircleArc@@@#1#2#3#4#5{%ŽŽ¡‘ãŒÃ448Ž‘ûKÃÏ\cfromid@{#1}\pfromc@\senter@ŽŽ¡‘ãŒÃ449Ž‘ûKÃÏ\cfromid@{#2}\spushc@\cfromid@{#3}\spushc@\cfromid@{#4}%ŽŽ¡‘ãŒÃ450Ž‘ûKÃÏ\connect@\crvs{#5}\relax\sinit@\sleave@}ŽŽ¦‘ãŒÃ452Ž‘õŒÏ\xydef@\doMergeEndArc@@#1#2{\save@\ifcase#2\relaxŽŽ¡‘ãŒÃ453Ž‘ûKÃÏ\doMergeEnd@@@{0@p}{1@m}{2@m}{1@c}{#1}\relax\orŽŽ¡‘ãŒÃ454Ž‘ûKÃÏ\doMergeEnd@@@{1@c}{3@m}{4@m}{2@c}{#1}\relax\orŽŽ¡‘ãŒÃ455Ž‘ûKÃÏ\doMergeEnd@@@{2@c}{5@m}{6@m}{3@c}{#1}\relax\orŽŽ¡‘ãŒÃ456Ž‘ûKÃÏ\doMergeEnd@@@{3@c}{7@m}{8@m}{0@p}{#1}@\fi–¿ª\leave@“}ŽŽ¦‘ãŒÃ458Ž‘õŒÏ\xydef@\doMergeEnd@@@#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ459Ž‘ûKÃÏ\cfromid@{#1}\pfromc@\senter@ŽŽ¡‘ãŒÃ460Ž‘ûKÃÏ\cfromid@{#2}\spushc@\cfromid@{#3}\spushc@\cfromid@{#4}%ŽŽ¡‘ãŒÃ461Ž‘ûKÃÏ\ifx#6\relaxŽŽ¡‘ãŒÃ462Ž‘ mÏ\L@c=.1\p@–¿ª\R@c=\L@c“\U@c=\L@c“\D@c=\L@c“\Edge@c={\rectangleEdge}\fiŽŽ¡‘ãŒÃ463Ž‘ûKÃÏ\enter@\cmergethec@\cfromid@{0@c}\leave@ŽŽ¡‘ãŒÃ464Ž‘ûKÃÏ\enter@\cmergethec@\cfromcontrols@{#1}{#2}{#3}{#4}\leave@ŽŽ¡‘ãŒÃ465Ž‘ûKÃÏ\connect@\crvs{#5}\relaxŽŽ¡‘ãŒÃ466Ž‘ûKÃÏ\sinit@\sleave@}ŽŽ¦‘ãŒÃ468Ž‘õŒÏ\xydef@\doMergeStartArc@#1#2{\save@\ifcase#2\relaxŽŽ¡‘ãŒÃ469Ž‘ûKÃÏ\doMergeStart@@{0@p}{1@m}{2@m}{1@c}{#1}@\orŽŽ¡‘ãŒÃ470Ž‘ûKÃÏ\doMergeStart@@{1@c}{3@m}{4@m}{2@c}{#1}\relax\orŽŽ¡‘ãŒÃ471Ž‘ûKÃÏ\doMergeStart@@{2@c}{5@m}{6@m}{3@c}{#1}\relax\orŽŽ¡‘ãŒÃ472Ž‘ûKÃÏ\doMergeStart@@{3@c}{7@m}{8@m}{0@p}{#1}\relax\fi–¿ª\leave@“}ŽŽ¦‘ãŒÃ474Ž‘õŒÏ\xydef@\doMergeStart@@#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ475Ž‘ûKÃÏ\cfromid@{#1}\ifx#6\relaxŽŽ¡‘ãŒÃ476Ž‘ mÏ\L@c=.1\p@–¿ª\R@c=\L@c“\U@c=\L@c“\D@c=\L@c“\Edge@c={\rectangleEdge}\fiŽŽ¡‘ãŒÃ477Ž‘ûKÃÏ\enter@\cmergethec@\cfromid@{0@x}\leave@ŽŽ¡‘ãŒÃ478Ž‘ûKÃÏ\enter@\cmergethec@\cfromcontrols@{#4}{#3}{#2}{#1}\leave@ŽŽ¡‘ãŒÃ479Ž‘ûKÃÏ\pfromc@ŽŽ¡‘ãŒÃ480Ž‘ûKÃÏ\senter@‘¿ª\cfromid@{#2}\spushc@\cfromid@{#3}\spushc@\cfromid@{#4}%ŽŽŽŽŒ‹’C„ Á à ý*tj‘㌹402’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ481Ž‘ûKÃÏ\connect@\crvs{#5}\relax\sinit@\sleave@}ŽŽ©Pˆ‘ãŒÃ483Ž‘õŒÏ\xydef@\doMergeBothArc@#1#2{\save@\ifcase#2\relaxŽŽ¤ ™š‘ãŒÃ484Ž‘ûKÃÏ\doMergeBoth@@{0@p}{1@m}{2@m}{1@c}{#1}@\orŽŽ¡‘ãŒÃ485Ž‘ûKÃÏ\doMergeBoth@@{1@c}{3@m}{4@m}{2@c}{#1}\relax\orŽŽ¡‘ãŒÃ486Ž‘ûKÃÏ\doMergeBoth@@{2@c}{5@m}{6@m}{3@c}{#1}\relax\orŽŽ¡‘ãŒÃ487Ž‘ûKÃÏ\doMergeBoth@@{3@c}{7@m}{8@m}{0@p}{#1}\relax\fi–¿ª\leave@“}ŽŽ¦‘ãŒÃ489Ž‘õŒÏ\xydef@\doMergeBoth@@#1#2#3#4#5#6{%ŽŽ¡‘ãŒÃ490Ž‘ûKÃÏ\cfromid@{#1}\ifx#6\relaxŽŽ¡‘ãŒÃ491Ž‘ mÏ\L@c=.1\p@–¿ª\R@c=\L@c“\U@c=\L@c“\D@c=\L@c“\Edge@c={\rectangleEdge}\fiŽŽ¡‘ãŒÃ492Ž‘ûKÃÏ\enter@\cmergethec@\cfromid@{0@x}\leave@ŽŽ¡‘ãŒÃ493Ž‘ûKÃÏ\enter@\cmergethec@\cfromcontrols@{#4}{#3}{#2}{#1}\leave@ŽŽ¡‘ãŒÃ494Ž‘ûKÃÏ\pfromc@ŽŽ¡‘ãŒÃ495Ž‘ûKÃÏ\senter@‘¿ª\cfromid@{#2}\spushc@\cfromid@{#3}\spushc@\cfromid@{#4}%ŽŽ¡‘ãŒÃ496Ž‘ûKÃÏ\enter@\cmergethec@\cfromid@{0@c}\leave@ŽŽ¡‘ãŒÃ497Ž‘ûKÃÏ\enter@\cmergethec@\cfromcontrols@{#1}{#2}{#3}{#4}\leave@ŽŽ¡‘ãŒÃ498Ž‘ûKÃÏ\connect@\crvs{#5}\relax\sinit@\sleave@}ŽŽ¦‘ãŒÃ500Ž‘õŒÏ\xydef@\doMergeEndArc@#1#2{\count@@=#2\relaxŽŽ¡‘ãŒÃ501Ž‘ûKÃÏ\ifnum\count@@>\thr@@‘¿ª\advance\count@@-4\fi\relaxŽŽ¡‘ãŒÃ502Ž‘ûKÃÏ\doMergeEndArc@@{#1}\count@@‘¿ª}ŽŽ¦‘ãŒÃ504Ž‘õŒÏ\xydef@\doStraightArc@@#1{\xy@{STRAITarc}{\save@ŽŽ¡‘ãŒÃ505Ž‘ûKÃÏ\cfromid@{0@p}\pfromc@\cfromid@{0@c}%ŽŽ¡‘ãŒÃ506Ž‘ûKÃÏ\senter@\connect@\crvs{#1}\sinit@\sleave@\leave@}}ŽŽ¦‘ãŒÃ508Ž‘õŒÏ\xydef@\cfromcontrols@#1#2#3#4{\bgroupŽŽ¡‘ãŒÃ509Ž‘ mÏ\cfromid@{#1}\L@p=\X@c‘¿ª\U@p=\Y@cŽŽ¡‘ãŒÃ510Ž‘ mÏ\cfromid@{#4}\R@p=\X@c‘¿ª\D@p=\Y@cŽŽ¡‘ãŒÃ511Ž‘ mÏ\cfromid@{#3}\A@=\X@c–¿ª\B@=\Y@c“\cfromid@{#2}%ŽŽ¡‘ãŒÃ512Ž‘ mÏ\ifdim\R@p>\L@p–¿ª\ifdim\A@>\R@p“\R@p=\A@ŽŽ¡‘ãŒÃ513Ž‘ ŠÁÏ\ifdim\X@c>\R@p‘¿ª\R@p=\X@c\fi\fiŽŽ¡‘ãŒÃ514Ž‘ mÏ\else–¿ª\ifdim\A@<\R@p“\R@p=\A@ŽŽ¡‘ãŒÃ515Ž‘ ŠÁÏ\ifdim\X@c<\R@p‘¿ª\R@p=\X@c\fi\fiŽŽ¡‘ãŒÃ516Ž‘ mÏ\fiŽŽ¡‘ãŒÃ517Ž‘ mÏ\ifdim\D@p>\U@p–¿ª\ifdim\B@>\D@p“\D@p=\B@ŽŽ¡‘ãŒÃ518Ž‘ ŠÁÏ\ifdim\Y@p>\D@p‘¿ª\D@p=\Y@p\fi\fiŽŽ¡‘ãŒÃ519Ž‘ mÏ\else–¿ª\ifdim\B@<\D@p“\D@p=\B@ŽŽ¡‘ãŒÃ520Ž‘ ŠÁÏ\ifdim\Y@p<\D@p‘¿ª\D@p=\Y@p\fi\fiŽŽ¡‘ãŒÃ521Ž‘ mÏ\fiŽŽ¡‘ãŒÃ522Ž‘ mÏ\edef\next@{\egroup–¿ª\X@c=\the\R@p“\Y@c=\the\D@p}\next@“}ŽŽŸvK‘ôŒ¹The–@ next“methoMÞd“conš²!trols“whic˜h“segmen˜ts“are“t˜ypMÞeset.‘»¿It“is“rather“primitiv˜e“and“could“w˜ell“bMÞe“im-Ž¡‘ãŒpro•²!v“ed;‘„¢e.g.‘Ìûto–sÁbMÞe“more“lik²!e“Ï\doEllipseSectors@Ž‘nav¹with“Ï\forwardSectors@Ž‘bâ"¹and“Ï\backwardSectors@Ž‘e. ¹.Ž©¿]‘ôŒFirst–G:it“calculates“the“Ï\startDirection@@Ž‘hH¾¹as“a“n•²!um“bMÞer,‘ZCusing–G:the“curren²!t“base.‘¾$Next“it“calculatesŽ¡‘ãŒÏ\quadDirection@Ž‘>A¹whicš²!h–yÿrecords“the“angle“of“the“Äyd“¹-axis“in“the“curren˜t“base.‘X©DepMÞending“on“the“re-Ž¡‘ãŒquired–Ø~orien²!tation,›­read“from“Ï\arcOrient@@Ž‘GÔv¹,˜this“latter“n•²!um“bšMÞer–Ø~is“adjusted“to“b˜e“minimal“greater“thanŽ¡‘ãŒÏ\startDirection@@Ž‘Iú¹for–G—a“coun•²!ter-clošMÞc“kwise–G—arc,‘oâor“maximal“less“than“it“for“a“clo˜c²!kwise“one.‘ÁoSimi-Ž¡‘ãŒlarly–rVthe“v‘ÿdDalue“of“Ï\endDirection@@Ž‘]¢¹is“made“larger“or“smaller“than“Ï\startDirection@@Ž‘e, ¹,‘|Àaccording“toŽ¡‘ãŒorien•²!tation,›¦fb“y˜adding˜Ç¹8192˜if˜necessary‘ÿe.ަ‘ôŒEacš²!h–oðrequired“segmen˜t“is“t˜ypMÞeset“using“Ï\doCircleArc@@Ž‘Y[,¹except“that“the“ nal“segmen˜t“uses“theŽ¡‘ãŒv›ÿdDalue–Âíof“Ï\doCircleArc@Ž‘N~¹.‘3sWhen“the“end-pMÞoin²!t“is“the“original“Äc“¹then“this“v˜alue“is“Ï\doMergeEndArc@@Ž‘_½¹,ŽŽŽŒ‹“Qƒ Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹403ŽŽ ¶?? ýh«w‘ãŒso–¦fthat“the“arc“will“stop“at“the“edge“of“this“Çh¹pMÞosÇi¹,“otherwise“Ï\doCircleArc@@Ž‘Wȹis“used.ŽŸjU‘ôŒ(The–ÀÍfolloš²!wing“macro“can“bMÞe“shortened“b˜y“making“use“of“the“methoMÞds“Ï\forwardSectors@Ž‘e|:¹andޤ ™š‘ãŒÏ\backwardSectors@Ž‘EFc¹,–¦fas“in“Ï\doEllipseSectors@Ž‘k Z¹.ŽŸPˆ‘ãŒÃ548Ž‘õŒÏ\xydef@\doCircleArcs@{\save@ŽŽ¡‘ãŒÃ549Ž‘ûKÃÏ\cfromid@{0@0}\pfromc@\cfromid@{0@p}\setupDirection@ŽŽ¡‘ãŒÃ550Ž‘ûKÃÏ\startDirection@‘¿ª\edef\startDirection@@{\the\Direction}%ŽŽ¡‘ãŒÃ551Ž‘ûKÃÏ\cfromid@{1@c}\setupDirection@‘¿ª\edef\quadDirection@{\the\Direction}\relaxŽŽ¡‘ãŒÃ552Ž‘ûKÃÏ\count@=\quadDirection@‘¿ª\relax\def\nextii@{^}%ŽŽ¡‘ãŒÃ553Ž‘ûKÃÏ\let\preDirection@@=\startDirection@@ŽŽ¡‘ãŒÃ554Ž‘ûKÃÏ\ifx\nextii@\arcOrient@@ŽŽ¡‘ãŒÃ555Ž‘ mÏ\ifnum\quadDirection@>\startDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ556Ž‘ mÏ\else–¿ª\advance\count@“by8192“\relax\edef\quadDirection@{\the\count@}\fiŽŽ¡‘ãŒÃ557Ž‘ mÏ\ifx\endDirection@@\emptyŽŽ¡‘ãŒÃ558Ž‘ËÏ\ifx\endDirection@\relaxŽŽ¡‘ãŒÃ559Ž‘ ŠÁÏ\bgroup\cfromid@{0@c}\setupDirection@ŽŽ¡‘ãŒÃ560Ž‘JkÏ\edef\next@{\egroup–¿ª\count@@=\the\Direction}\next@“\relaxŽŽ¡‘ãŒÃ561Ž‘ ŠÁÏ\ifnum\count@@<\startDirection@@–¿ª\advance\count@@“8192“\fiŽŽ¡‘ãŒÃ562Ž‘ ŠÁÏ\edef\endDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ563Ž‘ËÏ\elseŽŽ¡‘ãŒÃ564Ž‘ ŠÁÏ\count@@=\startDirection@@ŽŽ¡‘ãŒÃ565Ž‘ ŠÁÏ\advance\count@@–¿ªby8192“\edef\endDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ566Ž‘ËÏ\fiŽŽ¡‘ãŒÃ567Ž‘ mÏ\elseŽŽ¡‘ãŒÃ568Ž‘ËÏ\count@@=\endDirection@@–¿ª\relax\ifnum\count@@<\startDirection@@“\relaxŽŽ¡‘ãŒÃ569Ž‘ ŠÁÏ\advance\count@@–¿ªby8192“\edef\endDirection@@{\the\count@@}\fiŽŽ¡‘ãŒÃ570Ž‘ mÏ\fi–¿ª%“\forwardSectors@ŽŽ¡‘ãŒÃ571Ž‘ûKÃÏ\ifnum\endDirection@@>\quadDirection@ŽŽ¡‘ãŒÃ572Ž‘ mÏ\DN@{\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{0}}%ŽŽ¡‘ãŒÃ573Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ574Ž‘ mÏ\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{0}}%ŽŽ¡‘ãŒÃ575Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ576Ž‘õŒÏ%ŽŽ¡‘ãŒÃ577Ž‘ûKÃÏ\else–¿ª%“\arcOrient@@“=“_ŽŽ¡‘ãŒÃ578Ž‘õŒÏ%ŽŽ¡‘ãŒÃ579Ž‘ mÏ\ifnum\count@<\startDirection@@\relax\else\advance\count@–¿ªby-8192“\relaxŽŽ¡‘ãŒÃ580Ž‘ mÏ\edef\quadDirection@{\the\count@}\fiŽŽ¡‘ãŒÃ581Ž‘ mÏ\ifx\endDirection@@\emptyŽŽ¡‘ãŒÃ582Ž‘ËÏ\ifx\endDirection@\relaxŽŽ¡‘ãŒÃ583Ž‘ ŠÁÏ\bgroup\cfromid@{0@c}\setupDirection@ŽŽ¡‘ãŒÃ584Ž‘JkÏ\edef\next@{\egroup–¿ª\count@@=\the\Direction}\next@“\relaxŽŽ¡‘ãŒÃ585Ž‘ ŠÁÏ\ifnum\count@@>\startDirection@@–¿ª\advance\count@@-8192“\fiŽŽ¡‘ãŒÃ586Ž‘ ŠÁÏ\edef\endDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ587Ž‘ËÏ\elseŽŽ¡‘ãŒÃ588Ž‘ ŠÁÏ\count@@=\startDirection@@ŽŽ¡‘ãŒÃ589Ž‘ ŠÁÏ\advance\count@@–¿ªby-8192“\edef\endDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ590Ž‘ËÏ\fiŽŽ¡‘ãŒÃ591Ž‘ mÏ\elseŽŽ¡‘ãŒÃ592Ž‘ËÏ\count@@=\endDirection@@–¿ª\relax“\ifnum\count@@>\startDirection@@ŽŽ¡‘ãŒÃ593Ž‘ ŠÁÏ\advance\count@@–¿ªby-8192“\edef\endDirection@@{\the\count@@}\fiŽŽŽŽŒ‹”_› Á à ý*tj‘㌹404’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ594Ž‘ mÏ\fi‘¿ª%\backwardSectors@ŽŽ¤ ™š‘ãŒÃ595Ž‘ mÏ\ifnum\endDirection@@<\quadDirection@ŽŽ¡‘ãŒÃ596Ž‘ËÏ\DN@{\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{0}}%ŽŽ¡‘ãŒÃ597Ž‘ mÏ\else‘¿ª\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{0}}\fiŽŽ¡‘ãŒÃ598Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ599Ž‘ûKÃÏ\next@‘¿ª\relaxŽŽ¡‘ãŒÃ600Ž‘õŒÏ%ŽŽ¡‘ãŒÃ601Ž‘ûKÃÏ\count@=\quadDirection@‘¿ª\relax\def\nextii@{^}\DN@{}%ŽŽ¡‘ãŒÃ602Ž‘ûKÃÏ\ifx\nextii@\arcOrient@@ŽŽ¡‘ãŒÃ603Ž‘ mÏ\count@@=\startDirection@@–¿ª\advance\count@@“by4096“\relaxŽŽ¡‘ãŒÃ604Ž‘ûKÃÏ\ifnum–¿ª\count@<\endDirection@@“\relaxŽŽ¡‘ãŒÃ605Ž‘ûKÃÏ\ifnum\endDirection@@>\count@@ŽŽ¡‘ãŒÃ606Ž‘ mÏ\DN@{\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{1}}%ŽŽ¡‘ãŒÃ607Ž‘ûKÃÏ\else‘¿ª\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{1}}\fiŽŽ¡‘ãŒÃ608Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ609Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ610Ž‘ mÏ\count@@=\startDirection@@–¿ª\advance\count@@“by-4096“\relaxŽŽ¡‘ãŒÃ611Ž‘ûKÃÏ\ifnum–¿ª\count@>\endDirection@@“\relaxŽŽ¡‘ãŒÃ612Ž‘ûKÃÏ\ifnum\endDirection@@<\count@@ŽŽ¡‘ãŒÃ613Ž‘ mÏ\DN@{\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{1}}%ŽŽ¡‘ãŒÃ614Ž‘ûKÃÏ\else‘¿ª\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{1}}\fiŽŽ¡‘ãŒÃ615Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ616Ž‘ûKÃÏ\next@‘¿ª\relaxŽŽ¡‘ãŒÃ617Ž‘õŒÏ%ŽŽ¡‘ãŒÃ618Ž‘ûKÃÏ\ifx\next@\empty–¿ª\else“\relaxŽŽ¡‘ãŒÃ619Ž‘ûKÃÏ\count@=\startDirection@@‘¿ª\relax\def\nextii@{^}\DN@{}%ŽŽ¡‘ãŒÃ620Ž‘ûKÃÏ\ifx\nextii@\arcOrient@@–¿ª\advance\count@“by4096“\relaxŽŽ¡‘ãŒÃ621Ž‘ mÏ\count@@=\quadDirection@–¿ª\advance\count@@“by4096“\relaxŽŽ¡‘ãŒÃ622Ž‘ûKÃÏ\ifnum‘¿ª\count@<\endDirection@@ŽŽ¡‘ãŒÃ623Ž‘ûKÃÏ\ifnum\endDirection@@>\count@@ŽŽ¡‘ãŒÃ624Ž‘ mÏ\DN@{\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{2}}%ŽŽ¡‘ãŒÃ625Ž‘ûKÃÏ\else‘¿ª\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{2}}\fiŽŽ¡‘ãŒÃ626Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ627Ž‘ûKÃÏ\else–¿ª\advance\count@“by-4096“\relaxŽŽ¡‘ãŒÃ628Ž‘ mÏ\count@@=\quadDirection@–¿ª\advance\count@@“by-4096“\relaxŽŽ¡‘ãŒÃ629Ž‘ûKÃÏ\ifnum–¿ª\count@>\endDirection@@“\relaxŽŽ¡‘ãŒÃ630Ž‘ûKÃÏ\ifnum\endDirection@@<\count@@ŽŽ¡‘ãŒÃ631Ž‘ mÏ\DN@{\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{2}}%ŽŽ¡‘ãŒÃ632Ž‘ûKÃÏ\else‘¿ª\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{2}}\fiŽŽ¡‘ãŒÃ633Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ634Ž‘ûKÃÏ\next@‘¿ª\relaxŽŽ¡‘ãŒÃ635Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ636Ž‘õŒÏ%ŽŽ¡‘ãŒÃ637Ž‘ûKÃÏ\ifx\next@\empty–¿ª\else“\relaxŽŽ¡‘ãŒÃ638Ž‘ûKÃÏ\count@=\quadDirection@‘¿ª\def\nextii@{^}\DN@{}%ŽŽ¡‘ãŒÃ639Ž‘ûKÃÏ\ifx\nextii@\arcOrient@@–¿ª\advance\count@“by4096“\relaxŽŽ¡‘ãŒÃ640Ž‘ûKÃÏ\ifnum‘¿ª\count@<\endDirection@@ŽŽ¡‘ãŒÃ641Ž‘ûKÃÏ\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{3}}\fiŽŽ¡‘ãŒÃ642Ž‘ûKÃÏ\else–¿ª\advance\count@“by-4096“\relaxŽŽŽŽŒ‹•k« Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹405ŽŽ ¶?? ýh«w‘ãŒÃ643Ž‘ûKÃÏ\ifnum‘¿ª\count@>\endDirection@@ŽŽ¤ ™š‘ãŒÃ644Ž‘ûKÃÏ\DN@{\expandafter\doCircleArc@\expandafter{\arcSTYLE}{3}}\fiŽŽ¡‘ãŒÃ645Ž‘ûKÃÏ\fi–¿ª\next@“\relaxŽŽ¡‘ãŒÃ646Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ647Ž‘õŒÏ%ŽŽ¡‘ãŒÃ648Ž‘ûKÃÏ\leave@‘¿ª}ŽŽŸv‘ãŒÃ654Ž‘õŒÏ\message{elliptical‘¿ªarcs,}ŽŽŸ"3‘ãŒÞ3.9.4Ž‘ ÌCircular–€and“Elliptical“ArcsŽ©«ÿ‘㌹The‘sUÏxyarcŽ‘%¤ü¹feature–sUhandles“arcs“to“bšMÞe“sp˜eci ed“in“t•²!w“o›sUessen“tially˜di eren“t˜w“a“ys,‘¦‘according˜to˜whatŽ¡‘ãŒinformation–ãÕis“proš²!vided“b˜y“the“user.‘–+W‘ÿee“call“these“the“\radius-unkno˜wn/end-pMÞoin˜ts“kno˜wn"“and“theŽ¡‘ãŒ\radius-kno•²!wn/end-pMÞoin“ts›¦funkno“wn"˜cases.ŽŸêß‘ãŒÔradius–2unknoš¦twn,“end-pY‹oin˜ts“kno˜wnަ‘㌹The–GÉsimplest“case,›Zµthough“not“necessarily“the“most“common,˜is“that“of“a“circular“arc“from“Äp“¹to“Äc¹,˜withŽ¡‘ãŒradius–and“cen²!tre“unspšMÞeci ed.‘ôT‘ÿeo“uniquely“sp˜ecify“the“arc,‘Mthe“tangenš²!t“direction“at“Äp“¹is“tak˜en“to“bMÞeŽ¡‘ãŒalong–¾%the“currenš²!t“direction,‘Ägiv˜en“b˜y“Ï\DirectionŽ‘=:ɹ,‘Äas“set“b˜y“the“latest“Çh¹connectÇi¹ion.‘%If“no“connectionŽ¡‘ãŒhas–¦fbMÞeen“used,“then“the“default“Çh¹directionÇi“¹is“\up".Ž‘ãŒŸ@‰ffã²dŸ ƒÉ‘GT…Ï\ellipse_{Ž’€Ñ)Çh¹st²!yleÇiÏ}ŽŽ’ª„®¹cloMÞc²!kwise–¦farc“from“Äp“¹to“ÄcŽŽŽŽ¡‘GT…Ï\ellipse^{Ž’€Ñ)Çh¹st²!yleÇiÏ}ŽŽ’ª„®¹coun•²!ter-cloMÞc“kwise‘¦farcŽŽŽŽ¡‘GT…Ï\ellipse{Ž‘{Çh¹st²!yleÇiÏ}ŽŽ’ª„®¹also‘¦fcoun•²!ter-cloMÞc“kwiseŽŽŽŽŸy‰ffã²dŸ’¸–á²With“this“information“only‘ÿe,‘ a“unique“circle“can“bšMÞe“found“whose“radius“and“cen²!tre“need“not“b˜e“sp˜eci edŽ¡in–¦fadv‘ÿdDance.‘ÝÝF‘ÿeor“a“unique“arc“it“is“sucienš²!t“to“spMÞecify“the“orien˜tation“around“the“circle.Ž¡‘The–¹rexception“is“when“the“currenš²!t“direction“is“from“Äp“¹to“Äc¹,‘¾4in“whic˜h“case“no“circle“exists.‘InsteadŽ¡a–¦fstraighš²!t“line“is“t˜ypMÞeset“accompanied“b˜y“the“follo˜wing“message:ޤ‘¨‘|ÏXy-pic–¿ªWarning:“straight“arc“encounteredŽŽ¡‘¹The–Ùwfolloš²!wing“example“sho˜ws“ho˜w,‘&;giv˜en“three“pMÞoin˜ts“Äo¹,›&;Äp“¹and“Äc¹,˜to“con•²!tin“ue–Ùwthe“line“Ÿúã‰fe Ñ"ŸêÄopŽŽ‘„¹b²!y“aޤ ™šcircular–¦farc“to“Äc“¹joining“smoMÞothly“at“Äp¹.Ž¡Ÿ$F›’¨Ïjïps: SDict begin xyc end‘ µŸÿ4ýÈŽŽŽŽŽŽ‘ŸÄpŽŽŽŽ‘'µŸ4ýÈŽŽŽŽŽŽ‘,‚\Ÿ#ÄoŽŽŽŽ‘'µŸì›mÈŽŽŽŽŽŽŸêΠ‘)‚\ï"" {0.0 3.05 -3.05 -3.05 3.05 ov}xyŽŽŽ‘,‚\ŸçΠÄcŽŽŽŽ‘)‚\Ÿh0ï" {30.0 -30.0 l}xyŽŽŽ‘Ï‚\Ÿýh0ïV" {mark 60.0 0.0 52.93272 7.06697 52.93246 18.5481 59.99944 25.61537 0.00003 1.0 bz}xyŽŽŽ‘Ï‚\Ÿýh0ïZ" {mark 59.99944 25.61537 67.0664 32.68265 78.54753 32.6829 85.6148 25.61594 0.0 1.0 bz}xyŽŽŽ‘Ï‚\Ÿýh0ï^" {mark 85.6148 25.61594 92.68208 18.54897 92.68234 7.06784 85.61537 0.00056 0.0 0.17096 bz}xyŽŽŽŽ‘Ï‚\Ÿýh0ïV" {mark 60.0 0.0 67.06728 -7.06697 78.5484 -7.06671 85.61537 0.00056 0.00003 1.0 bt}xyŽŽŽ‘Ï‚\Ÿýh0ï^" {mark 85.61537 0.00056 92.68234 7.06784 92.68208 18.54897 85.6148 25.61594 0.0 0.59888 bt}xyŽŽŽŽ’µŸ5 ÈŽŽŽŽŽŽ’†‚\Ÿ*ÄaŽŽŽŽ‘Ï‚\Ÿýh0ï\" {mark 90.0 -30.0 118.84901 -1.15007 165.71727 -1.1493 194.5672 -29.99832 0.0 0.84515 bz}xyŽŽŽŽŽŽŽŽŸ9ì½Ï\xy‘¿ª0;/r5pc/:*=+\dir{*}*+!UR{p};ŽŽ¡p+(.5,-.5)*\dir{*}="o",*+!UL{o}ŽŽ¡,+(0,.81)*=<6.1pt>\dir{*}*\frm{-}="c"ŽŽ¡,*+!DL{c},"o",**\dir{-},ŽŽ¡"c",{\ellipse_{}},{\ellipse^{.}}ŽŽ¡%ŽŽ¡,"o"+(1.5,.2)*\dir{*}="a"*+!UL{a}ŽŽ¡,"o";p+/_1pc/,**{},"a",{\ellipse_{}}ŽŽ¡\endxyŽŽŽŽŒ‹–w Á à ý*tj‘㌹406’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌹Note–¤êho²!w“the“remainder“of“the“circle“can“bšMÞe“sp˜eci ed“separately‘ÿe.‘ÙiThe“example“also“shoš²!ws“ho˜w“toޤ ™š‘ãŒspMÞecify–¦fan“arc“whicš²!h“lea˜v˜es“a“particular“pMÞoin˜t“p•MÞerp“endicular–¦fto“a“spMÞeci c“direction.ŽŸçK‘ôŒSlighš²!tly–@Ãmore“complicated“is“when“the“tangen˜t“direction“at“Äp“¹is“spMÞeci ed,‘gZbut“di eren˜t“from“theŽ¡‘ãŒcurren²!t–,direction;‘®Ža“unique“circular“arc“can“still“bšMÞe“de ned.‘î/More“complicated“is“when“a“sp˜eci cŽ¡‘ãŒtangenš²!t–fÏdirection“is“required“also“at“Äc¹.‘È«In“this“case“the“arc“proMÞduced“is“a“segmen˜t“of“an“ellipse.‘È«(If“theŽ¡‘ãŒrequired–(tangenš²!t“at“Äp“¹pMÞoin˜ts“to“Äc“¹then“a“straigh˜t“segmen˜t“is“dra˜wn,‘as“in“the“circular“case“describMÞedŽ¡‘ãŒabMÞo•²!v“e.)Ž‘ãŒŸ D‰ffã²dŸ +ô‘„mÏ\ellipseŽ‘L½Çh¹dirÇiŸ¤zÅpŽ‘Ç]Ï,Ž‘ ‡Çh¹orien²!tÇiÏ{..}ŽŽ’ÓTŹcircularŽŽŽŽ¡‘„mÏ\ellipseŽ‘L½Çh¹dirÇiŸ¤zÅpŽ‘Ç]Ï,Ž‘ ‡Çh¹orien²!tÇiÏ,Ž‘¿ªÇh¹dirÇiŸ¤zÅcŽ‘.yÏ{..}ŽŽ’ÓTŹellipticalŽŽŽŽ¡‘„mÏ\ellipseŽ‘L½Çh¹dirÇiŸ¤zÅpŽ‘Ç]Ï,Ž‘ ‡Çh¹orien²!tÇih¹dirÇiŸ¤zÅcŽ‘.yÏ{..}ŽŽ’ÓTŹellipticalŽŽŽŽ¡‘„mÏ\ellipseŽ‘L½Çh¹dirÇiŸ¤zÅpŽ‘Ç]Ï,Ž‘ ‡Çh¹orien²!tÇi¹,=Çh¹dirÇiŸ¤zÅcŽ‘.yÏ{..}ŽŽ’ÓTŹellipticalŽŽŽŽ¡‘„mÏ\ellipse`Ž‘RAgÇh¹coMÞordÇih¹orien²!tÇiÏ{..}ŽŽ’ÓTŹellipticalŽŽŽŽŸ!»‰ffã²dŸx–ÚÇIn“these“cases“Çh¹dirÇiŸ¤zÅpŽ‘¢$¹and“Çh¹dirÇiŸ¤zÅcŽ‘ @¹are“Çh¹directionÇi“¹spMÞeci cations,›€as“in“ gure“1.5“and“note“1.4l,˜and“Çh¹orien²!tÇiŽ¡¹m²!ust–Œ†bMÞe“either“Ï^Ž›ض¹or“Ï_Ž˜¹for“an•²!ti-/clošMÞc“kwise‘Œ†resp˜ectiv“ely‘ÿe,‘Ædefaulting–Œ†to“Ï^Ž‘ض¹if“Çh¹empt•²!yÇi¹.‘=Bew“are–Œ†that“theŽ¡Ï(*Ž‘ TÇh¹p•MÞosÇih¹decorÇiÏ*)Ž‘%º¹form›¦fÐmust‘°P¹b“e˜used˜for˜this˜Çh¹directionÇi˜¹v‘ÿdDarian²!t,˜as˜if˜an˜ob‘›»ject˜mo“di er.Ž¡‘The–/¹second“and“third“cases“in“the“abMÞo•²!v“e–/¹table“generally“givš²!e“iden˜tical“results.‘y×The“second“`Ï,Ž‘¿ª¹'“isŽ¡thš²!us–¦foptional,“except“in“t˜w˜o“spMÞeci c“situations:ŽŸÛÓ‘ b%1.ŽŽŽ‘`Çh¹orienš²!tÇi–¦f¹is“empt˜y“and“Çh¹dirÇiŸ¤zÅcŽ‘Ôß¹has“Ï^Ž› v¹or“Ï_Ž˜¹as“the“ rst“tok²!en;ŽŸçJ‘ b%2.ŽŽŽ‘`Çh¹orien²!tÇi–\à¹is“Ï^Ž› yj¹and“Çh¹dirÇiŸ¤zÅcŽ‘‹Y¹has“Ï^Ž˜¹as“ rst“tok²!en.‘Å[Without“the“Ï,Ž˜¹then“Ï^Ž‘ Š^Ž‘9¹wš²!ould“bMÞe“in˜terpreted“b˜y“T‘þ,³Ÿ[wEŽ‘B XŽ¡‘`as–¦fpart“of“a“spšMÞecial“ligature“for“a“hexadecimal“c²!haracter“co˜de.ŽŸÛÔIf–¦fbMÞoth“Çh¹orienš²!tÇi“¹and“Çh¹dirÇiŸ¤zÅcŽ‘Ôß¹are“Çh¹empt˜yÇi“¹then“ev˜en“the“ rst“`Ï,Ž‘¿ª¹'“can“bMÞe“omitted.ŽŸIäð’»Mïps: SDict begin xyc end‘= äŸÿ4ýÈŽŽŽŽŽŽŸýh0‘>Ö±ï"" {0.0 4.05 -4.05 -4.05 4.05 ov}xyŽŽŽ‘<ƒŸÄpŽŽŽŽ‘[ äŸ4ýÈŽŽŽŽŽŽ‘_Ö±Ÿ#ÄoŽŽŽŽ‘[ äŸì›mÈŽŽŽŽŽŽŸêΠ‘\Ö±ï"" {0.0 4.05 -4.05 -4.05 4.05 ov}xyŽŽŽ‘bÖ±Ÿí*ÄcŽŽŽŽ‘\Ö±Ÿh0ï" {30.0 -30.0 l}xyŽŽŽ‘>¾ÊŸüiQï" {p}xyŽŽŽŽŽŽ‘>þgï" {p}xyŽŽŽŽŽŽŽŽŽ‘<™Ÿþ™²ï" {p}xyŽŽŽŽŽŽ‘Ÿå˜eï" {p}xyŽŽŽŽŽŽ‘ y<ŸçbSï" {p}xyŽŽŽŽŽŽŽŽŽ‘ =`Ÿäi;ï" {p}xyŽŽŽŽŽŽ‘ þŸæC™ï" {p}xyŽŽŽŽŽŽŽŽŽ‘;(ŸãS-ï" {p}xyŽŽŽŽŽŽ‘á–Ÿå7[ï" {p}xyŽŽŽŽŽŽŽŽŽ‘„ŸâUæï" {p}xyŽŽŽŽŽŽ‘"ŸäBÄï" {p}xyŽŽŽŽŽŽŽŽŽ‘6~Ÿásèï" {p}xyŽŽŽŽŽŽ‘£ìŸãhï" {p}xyŽŽŽŽŽŽŽŽŽ‘$rŸà±ï" {p}xyŽŽŽŽŽŽ‘‚Пâ¨Mï" {p}xyŽŽŽŽŽŽŽŽŽ‘dyŸà Àï" {p}xyŽŽŽŽŽŽ‘£÷ŸâÎï" {p}xyŽŽŽŽŽŽŽŽŽ‘!ã2Ÿß‹Óï" {p}xyŽŽŽŽŽŽ‘"Ÿá‰‘ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘"øŸá‰‰ï" {p}xyŽŽŽŽŽŽ‘!ã:Ÿß‹Ûï" {p}xyŽŽŽŽŽŽŽŽŽ‘$8¿ŸßY(ï" {p}xyŽŽŽŽŽŽ‘$X­ŸáX&ï" {p}xyŽŽŽŽŽŽŽŽŽ‘&ˆ3Ÿß1Nï" {p}xyŽŽŽŽŽŽ‘&¨!Ÿá0Lï" {p}xyŽŽŽŽŽŽŽŽŽ‘(à†Ÿßï" {p}xyŽŽŽŽŽŽ‘(ð„ŸáÖï" {p}xyŽŽŽŽŽŽŽŽŽ‘+0ÒŸÞÿï" {p}xyŽŽŽŽŽŽ‘+@ПàþÛï" {p}xyŽŽŽŽŽŽŽŽŽ‘-ˆŸÞô±ï" {p}xyŽŽŽŽŽŽ‘-ˆŸàô¯ï" {p}xyŽŽŽŽŽŽŽŽŽ‘/ÕsŸÞóëï" {p}xyŽŽŽŽŽŽ‘/ÕsŸàóéï" {p}xyŽŽŽŽŽŽŽŽŽ‘2'ÙŸÞü¡ï" {p}xyŽŽŽŽŽŽ‘2ëŸàü_ï" {p}xyŽŽŽŽŽŽŽŽŽ‘4njŸßgï" {p}xyŽŽŽŽŽŽ‘4^|Ÿá%ï" {p}xyŽŽŽŽŽŽŽŽŽ‘8ô'ŸßM:ï" {p}xyŽŽŽŽŽŽ‘8ÔIŸáL8ï" {p}xyŽŽŽŽŽŽŽŽŽ‘=_Ÿß¯ï" {p}xyŽŽŽŽŽŽ‘=/FŸá¬Ñï" {p}xyŽŽŽŽŽŽŽŽŽ‘A§WŸà2•ï" {p}xyŽŽŽŽŽŽ‘AgéŸâ.£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘EÍ3Ÿàׯï" {p}xyŽŽŽŽŽŽ‘EnåŸâÏï" {p}xyŽŽŽŽŽŽŽŽŽ‘I¹€Ÿášßï" {p}xyŽŽŽŽŽŽ‘IL"Ÿã ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Ml_Ÿâ{¨ï" {p}xyŽŽŽŽŽŽ‘LðAŸälVï" {p}xyŽŽŽŽŽŽŽŽŽ‘PåGŸãzÓï" {p}xyŽŽŽŽŽŽ‘PL™Ÿåcï" {p}xyŽŽŽŽŽŽŽŽŽ‘TêŸä•vï" {p}xyŽŽŽŽŽŽ‘Sa<ŸætÔï" {p}xyŽŽŽŽŽŽŽŽŽ‘VùÁŸåÌËï" {p}xyŽŽŽŽŽŽ‘V ƒŸçœiï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘Ö±Ÿýh0ïR" {mark 60.0 0.0 43.44846 4.65315 30.00551 20.54924 30.0076 35.46558 0.0 1.0 bz}xyŽŽŽ‘Ö±Ÿýh0ï[" {mark 30.0076 35.46558 30.00969 50.38191 43.45605 58.71858 60.0076 54.06543 0.0 1.0 bz}xyŽŽŽ‘Ö±Ÿýh0ï\" {mark 60.0076 54.06543 76.55914 49.41228 90.00209 33.51619 90.0 18.59985 0.0 0.90985 bz}xyŽŽŽŽ‘Ö±Ÿýh0ïS" {mark 60.0 0.0 44.02472 1.49931 32.26604 15.69376 33.76535 31.66904 0.0 1.0 bt}xyŽŽŽ‘Ö±Ÿýh0ïZ" {mark 33.76535 31.66904 35.26466 47.64432 49.4591 59.403 65.43439 57.90369 0.0 1.0 bt}xyŽŽŽ‘Ö±Ÿýh0ï]" {mark 65.43439 57.90369 81.40967 56.40437 93.16835 42.20993 91.66904 26.23465 0.0 1.0 bt}xyŽŽŽ‘Ö±Ÿýh0ïX" {mark 91.66904 26.23465 90.16972 10.25937 75.97528 -1.49931 60.0 0.0 0.0 0.07648 bt}xyŽŽŽŽ‘>j ŸþO÷ï" {p}xyŽŽŽŽŽŽ‘?CXŸü€iï" {p}xyŽŽŽŽŽŽŽŽŽ‘?w9Ÿü˜ ï" {p}xyŽŽŽŽŽŽ‘>ª Ÿþm.ï" {p}xyŽŽŽŽŽŽŽŽŽ‘?«:Ÿü®¼ï" {p}xyŽŽŽŽŽŽ‘>ꜟþ‰ï" {p}xyŽŽŽŽŽŽŽŽŽ‘?åÜŸüÆÎï" {p}xyŽŽŽŽŽŽ‘?%>Ÿþ¡,ï" {p}xyŽŽŽŽŽŽŽŽŽ‘@YŸüÛ.ï" {p}xyŽŽŽŽŽŽ‘?f«ŸþºŒï" {p}xyŽŽŽŽŽŽŽŽŽ‘@NýŸüîyï" {p}xyŽŽŽŽŽŽ‘?¨ŸŸþÒ§ï" {p}xyŽŽŽŽŽŽŽŽŽ‘@Š™Ÿýûï" {p}xyŽŽŽŽŽŽ‘?ä;Ÿþç)ï" {p}xyŽŽŽŽŽŽŽŽŽ‘@¿®Ÿýï" {p}xyŽŽŽŽŽŽ‘@'Ÿþü¿ï" {p}xyŽŽŽŽŽŽŽŽŽ‘@ôØŸý$"ï" {p}xyŽŽŽŽŽŽ‘@jJŸÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘A1`Ÿý5#ï" {p}xyŽŽŽŽŽŽ‘@¦ÒŸÿ"ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AfùŸýCï" {p}xyŽŽŽŽŽŽ‘@êÛŸÿ3¾ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Aœ³ŸýOýï" {p}xyŽŽŽŽŽŽ‘A/UŸÿD+ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AÚŸý]ƒï" {p}xyŽŽŽŽŽŽ‘Al´ŸÿQ±ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B/Ÿýh\ï" {p}xyŽŽŽŽŽŽ‘A±áŸÿ_šï" {p}xyŽŽŽŽŽŽŽŽŽ‘BFnŸýrFï" {p}xyŽŽŽŽŽŽ‘A÷pŸÿl$ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B„–Ÿý|_ï" {p}xyŽŽŽŽŽŽ‘B5˜Ÿÿv=ï" {p}xyŽŽŽŽŽŽŽŽŽ‘B»2Ÿý„;ï" {p}xyŽŽŽŽŽŽ‘B{Äž€Iï" {p}xyŽŽŽŽŽŽŽŽŽ‘BùÖŸýŒï" {p}xyŽŽŽŽŽŽ‘Bºhžˆï" {p}xyŽŽŽŽŽŽŽŽŽ‘C0ÛŸý‘îï" {p}xyŽŽŽŽŽŽ‘Cž¬ï" {p}xyŽŽŽŽŽŽŽŽŽ‘CoòŸý—…ï" {p}xyŽŽŽŽŽŽ‘C@4ž•Cï" {p}xyŽŽŽŽŽŽŽŽŽ‘C§NŸý›\ï" {p}xyŽŽŽŽŽŽ‘C‡pžšZï" {p}xyŽŽŽŽŽŽŽŽŽ‘CÞÙŸýžYï" {p}xyŽŽŽŽŽŽ‘CÎëžžï" {p}xyŽŽŽŽŽŽŽŽŽ‘DŸý ™ï" {p}xyŽŽŽŽŽŽ‘DŸž Wï" {p}xyŽŽŽŽŽŽŽŽŽ‘DV|Ÿý¡¡ï" {p}xyŽŽŽŽŽŽ‘DV|ž¡Ÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘D–Ÿý¡®ï" {p}xyŽŽŽŽŽŽ‘D–ž¡¬ï" {p}xyŽŽŽŽŽŽŽŽŽ‘DÎÔŸý Æï" {p}xyŽŽŽŽŽŽ‘DÞÒž „ï" {p}xyŽŽŽŽŽŽŽŽŽ‘EBŸýž§ï" {p}xyŽŽŽŽŽŽ‘E@žžeï" {p}xyŽŽŽŽŽŽŽŽŽ‘EGáŸý›Óï" {p}xyŽŽŽŽŽŽ‘EgÏžšÑï" {p}xyŽŽŽŽŽŽŽŽŽ‘EˆžŸý—‰ï" {p}xyŽŽŽŽŽŽ‘E¨Œž–‡ï" {p}xyŽŽŽŽŽŽŽŽŽ‘EÁ’Ÿý’Îï" {p}xyŽŽŽŽŽŽ‘Eñ`žŒï" {p}xyŽŽŽŽŽŽŽŽŽ‘F˜ŸýŒaï" {p}xyŽŽŽŽŽŽ‘F2fžŠï" {p}xyŽŽŽŽŽŽŽŽŽ‘F;éŸý…¼ï" {p}xyŽŽŽŽŽŽ‘F{gžÊï" {p}xyŽŽŽŽŽŽŽŽŽ‘F}/Ÿý}/ï" {p}xyŽŽŽŽŽŽ‘F¼­Ÿÿy=ï" {p}xyŽŽŽŽŽŽŽŽŽ‘F¶ÎŸýt¯ï" {p}xyŽŽŽŽŽŽ‘GÜŸÿnï" {p}xyŽŽŽŽŽŽŽŽŽ‘FøPŸýjï" {p}xyŽŽŽŽŽŽ‘GG^Ÿÿcæï" {p}xyŽŽŽŽŽŽŽŽŽ‘G2CŸý_§ï" {p}xyŽŽŽŽŽŽ‘G¡ŸÿVåï" {p}xyŽŽŽŽŽŽŽŽŽ‘GsöŸýRêï" {p}xyŽŽŽŽŽŽ‘GÒTŸÿJ(ï" {p}xyŽŽŽŽŽŽŽŽŽ‘G®8ŸýF­ï" {p}xyŽŽŽŽŽŽ‘H¦Ÿÿ:Ûï" {p}xyŽŽŽŽŽŽŽŽŽ‘GðŸý7àï" {p}xyŽŽŽŽŽŽ‘H]‚Ÿÿ,ï" {p}xyŽŽŽŽŽŽŽŽŽ‘H*£Ÿý)Íï" {p}xyŽŽŽŽŽŽ‘H¦ÑŸÿ{ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Hl¡Ÿýòï" {p}xyŽŽŽŽŽŽ‘HèÏŸÿ  ï" {p}xyŽŽŽŽŽŽŽŽŽ‘H§wŸýþï" {p}xyŽŽŽŽŽŽ‘I2ŸþõÜï" {p}xyŽŽŽŽŽŽŽŽŽ‘HéŸüöï" {p}xyŽŽŽŽŽŽ‘It.Ÿþâûï" {p}xyŽŽŽŽŽŽŽŽŽ‘I$¥ŸüäSï" {p}xyŽŽŽŽŽŽ‘I½cŸþÍï" {p}xyŽŽŽŽŽŽŽŽŽ‘IfÏŸüÏoï" {p}xyŽŽŽŽŽŽ‘IÿŸþ¸ï" {p}xyŽŽŽŽŽŽŽŽŽ‘I¢*Ÿü»Íï" {p}xyŽŽŽŽŽŽ‘JH˜ŸþŸûï" {p}xyŽŽŽŽŽŽŽŽŽ‘Iä`Ÿü¤ìï" {p}xyŽŽŽŽŽŽ‘JŠÎŸþ‰ï" {p}xyŽŽŽŽŽŽŽŽŽ‘JñŸüvï" {p}xyŽŽŽŽŽŽ‘JÓ¯ŸþnÔï" {p}xyŽŽŽŽŽŽŽŽŽ‘Jb*Ÿüv›ï" {p}xyŽŽŽŽŽŽ‘KèŸþUùï" {p}xyŽŽŽŽŽŽŽŽŽ‘JìŸü_Eï" {p}xyŽŽŽŽŽŽ‘K^šŸþ9£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Jà!ŸüDwï" {p}xyŽŽŽŽŽŽ‘K ÏŸþÕï" {p}xyŽŽŽŽŽŽŽŽŽ‘K Ÿü+Xï" {p}xyŽŽŽŽŽŽ‘KéGŸþfï" {p}xyŽŽŽŽŽŽŽŽŽ‘K^1Ÿüœï" {p}xyŽŽŽŽŽŽ‘L+oŸýãªï" {p}xyŽŽŽŽŽŽŽŽŽ‘KšIŸûó ï" {p}xyŽŽŽŽŽŽ‘Ls—ŸýÃ>ï" {p}xyŽŽŽŽŽŽŽŽŽ‘KÜ]ŸûÔùï" {p}xyŽŽŽŽŽŽ‘Lµ«Ÿý¤—ï" {p}xyŽŽŽŽŽŽŽŽŽ‘LŸû¸6ï" {p}xyŽŽŽŽŽŽ‘Lý‹Ÿý‚$ï" {p}xyŽŽŽŽŽŽŽŽŽ‘LZ„Ÿû—«ï" {p}xyŽŽŽŽŽŽ‘M?‚Ÿýa™ï" {p}xyŽŽŽŽŽŽŽŽŽ‘LœlŸûv,ï" {p}xyŽŽŽŽŽŽ‘MjŸý@ï" {p}xyŽŽŽŽŽŽŽŽŽ‘LØ©ŸûVžï" {p}xyŽŽŽŽŽŽ‘MÈןýÌï" {p}xyŽŽŽŽŽŽŽŽŽ‘MiŸû3Aï" {p}xyŽŽŽŽŽŽ‘N —Ÿü÷oï" {p}xyŽŽŽŽŽŽŽŽŽ‘MVªŸûðï" {p}xyŽŽŽŽŽŽ‘NQ¨ŸüÐ.ï" {p}xyŽŽŽŽŽŽŽŽŽ‘M˜;Ÿúì¸ï" {p}xyŽŽŽŽŽŽ‘N“9Ÿüªöï" {p}xyŽŽŽŽŽŽŽŽŽ‘MÔŸúɘï" {p}xyŽŽŽŽŽŽ‘NÙߟüÖï" {p}xyŽŽŽŽŽŽŽŽŽ‘NÛŸú¢Œï" {p}xyŽŽŽŽŽŽ‘O9ŸüZÊï" {p}xyŽŽŽŽŽŽŽŽŽ‘NRŸú}¢ï" {p}xyŽŽŽŽŽŽ‘OasŸü/Ðï" {p}xyŽŽŽŽŽŽŽŽŽ‘N“1ŸúTÅï" {p}xyŽŽŽŽŽŽ‘O¢Ÿüóï" {p}xyŽŽŽŽŽŽŽŽŽ‘NÏaŸú.ï" {p}xyŽŽŽŽŽŽ‘OèOŸûÚ"ï" {p}xyŽŽŽŽŽŽŽŽŽ‘O6Ÿúmï" {p}xyŽŽŽŽŽŽ‘P)$Ÿû¯{ï" {p}xyŽŽŽŽŽŽŽŽŽ‘OLTŸùÚôï" {p}xyŽŽŽŽŽŽ‘PnbŸû€âï" {p}xyŽŽŽŽŽŽŽŽŽ‘OŒÛŸù®†ï" {p}xyŽŽŽŽŽŽ‘P®éŸûTtï" {p}xyŽŽŽŽŽŽŽŽŽ‘OÈÖŸù„Pï" {p}xyŽŽŽŽŽŽ‘Pó¤Ÿû$ï" {p}xyŽŽŽŽŽŽŽŽŽ‘P ŸùV"ï" {p}xyŽŽŽŽŽŽ‘Q3ÔŸúõàï" {p}xyŽŽŽŽŽŽŽŽŽ‘PDןù*&ï" {p}xyŽŽŽŽŽŽ‘QxŸúÃÄï" {p}xyŽŽŽŽŽŽŽŽŽ‘P„«Ÿøú9ï" {p}xyŽŽŽŽŽŽ‘Q·ÙŸú“×ï" {p}xyŽŽŽŽŽŽŽŽŽ‘PÀKŸøÌï" {p}xyŽŽŽŽŽŽ‘QûyŸú_ÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘Pÿ·ŸøšÝï" {p}xyŽŽŽŽŽŽ‘R:åŸú.[ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Q;Ÿøkqï" {p}xyŽŽŽŽŽŽ‘R}óŸùøÏï" {p}xyŽŽŽŽŽŽŽŽŽ‘QzŸø8ï" {p}xyŽŽŽŽŽŽ‘R¼óŸùÅxï" {p}xyŽŽŽŽŽŽŽŽŽ‘Qµ2Ÿøõï" {p}xyŽŽŽŽŽŽ‘Rÿ`ŸùŽCï" {p}xyŽŽŽŽŽŽŽŽŽ‘Qó¼Ÿ÷Ñðï" {p}xyŽŽŽŽŽŽ‘S=êŸùY>ï" {p}xyŽŽŽŽŽŽŽŽŽ‘R.‡Ÿ÷Ÿï" {p}xyŽŽŽŽŽŽ‘SµŸù eï" {p}xyŽŽŽŽŽŽŽŽŽ‘RiEŸ÷k_ï" {p}xyŽŽŽŽŽŽ‘SÁŸøæ½ï" {p}xyŽŽŽŽŽŽŽŽŽ‘R§Ÿ÷3Þï" {p}xyŽŽŽŽŽŽ‘Sþߟø¯<ï" {p}xyŽŽŽŽŽŽŽŽŽ‘RájŸöþ{ï" {p}xyŽŽŽŽŽŽ‘T?˜Ÿøsùï" {p}xyŽŽŽŽŽŽŽŽŽ‘S­ŸöÅXï" {p}xyŽŽŽŽŽŽ‘T|ÛŸø:Öï" {p}xyŽŽŽŽŽŽŽŽŽ‘SX¢ŸöŽDï" {p}xyŽŽŽŽŽŽ‘T¼àŸ÷þï" {p}xyŽŽŽŽŽŽŽŽŽ‘S•TŸöSƒï" {p}xyŽŽŽŽŽŽ‘Tù’Ÿ÷ÃAï" {p}xyŽŽŽŽŽŽŽŽŽ‘SÎÕŸöÍï" {p}xyŽŽŽŽŽŽ‘U8ãŸ÷„Ûï" {p}xyŽŽŽŽŽŽŽŽŽ‘T ïŸõÞtï" {p}xyŽŽŽŽŽŽ‘UtýŸ÷H‚ï" {p}xyŽŽŽŽŽŽŽŽŽ‘TCäŸõ¤6ï" {p}xyŽŽŽŽŽŽ‘U³¢Ÿ÷tï" {p}xyŽŽŽŽŽŽŽŽŽ‘T|ŸõiPï" {p}xyŽŽŽŽŽŽ‘UñýŸöÇ~ï" {p}xyŽŽŽŽŽŽŽŽŽ‘T·§Ÿõ*™ï" {p}xyŽŽŽŽŽŽ‘V-%ŸöˆÇï" {p}xyŽŽŽŽŽŽŽŽŽ‘TôîMï" {p}xyŽŽŽŽŽŽ‘VjèŸöFï" {p}xyŽŽŽŽŽŽŽŽŽ‘U*Ÿô® ï" {p}xyŽŽŽŽŽŽ‘V¥fŸöØï" {p}xyŽŽŽŽŽŽŽŽŽ‘Ua4ŸôpSï" {p}xyŽŽŽŽŽŽ‘V₟õÁï" {p}xyŽŽŽŽŽŽŽŽŽ‘UšþŸô.ˆï" {p}xyŽŽŽŽŽŽ‘WLŸõ¶ï" {p}xyŽŽŽŽŽŽŽŽŽ‘UÑjŸóï}ï" {p}xyŽŽŽŽŽŽ‘WX¸Ÿõ9«ï" {p}xyŽŽŽŽŽŽŽŽŽ‘V zŸó¬.ï" {p}xyŽŽŽŽŽŽ‘W‘ÈŸôö\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘V@!ŸókÈï" {p}xyŽŽŽŽŽŽ‘WÍŸô®¦ï" {p}xyŽŽŽŽŽŽŽŽŽ‘VxnŸó&ûï" {p}xyŽŽŽŽŽŽ‘XÌŸôiÙï" {p}xyŽŽŽŽŽŽŽŽŽ‘V­EŸòåKï" {p}xyŽŽŽŽŽŽ‘X@ßô yï" {p}xyŽŽŽŽŽŽŽŽŽ‘VäÈŸòŸï" {p}xyŽŽŽŽŽŽ‘XxFŸóÚ2ï" {p}xyŽŽŽŽŽŽŽŽŽ‘WâŸòXï" {p}xyŽŽŽŽŽŽ‘X¯`Ÿó“2ï" {p}xyŽŽŽŽŽŽŽŽŽ‘WO‚ŸòIï" {p}xyŽŽŽŽŽŽ‘Xé ŸóGwï" {p}xyŽŽŽŽŽŽŽŽŽ‘W…ÅŸñËØï" {p}xyŽŽŽŽŽŽ‘YcŸòÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘W¸ŒŸñ†Ýï" {p}xyŽŽŽŽŽŽ‘YXJŸò±«ï" {p}xyŽŽŽŽŽŽŽŽŽ‘WíòŸñ<ýï" {p}xyŽŽŽŽŽŽ‘Y°ŸògËï" {p}xyŽŽŽŽŽŽŽŽŽ‘XΟðöÇï" {p}xyŽŽŽŽŽŽ‘YżŸòÕï" {p}xyŽŽŽŽŽŽŽŽŽ‘XTNŸð«ï" {p}xyŽŽŽŽŽŽ‘Yú<ŸñÍï" {p}xyŽŽŽŽŽŽŽŽŽ‘XˆYŸð_ƒï" {p}xyŽŽŽŽŽŽ‘Z.GŸñ‘ï" {p}xyŽŽŽŽŽŽŽŽŽ‘X¸ÛŸðgï" {p}xyŽŽŽŽŽŽ‘ZdéŸñ0Uï" {p}xyŽŽŽŽŽŽŽŽŽ‘XëõŸïÊ ï" {p}xyŽŽŽŽŽŽ‘Z˜Ÿðâøï" {p}xyŽŽŽŽŽŽŽŽŽ‘Y’Ÿï{ÿï" {p}xyŽŽŽŽŽŽ‘ZÊ Ÿð”íï" {p}xyŽŽŽŽŽŽŽŽŽ‘YM¤Ÿï2 ï" {p}xyŽŽŽŽŽŽ‘ZÿÒŸðAkï" {p}xyŽŽŽŽŽŽŽŽŽ‘YEŸîâ¦ï" {p}xyŽŽŽŽŽŽ‘[1sŸïòï" {p}xyŽŽŽŽŽŽŽŽŽ‘Y­^Ÿî—”ï" {p}xyŽŽŽŽŽŽ‘[eœŸïœòï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŸ\dir{*}="p",*\frm{-}ŽŽ¡,*++!U{p},"p";p+(.5,-.5)*+\dir{*}="o"ŽŽ¡,*+!UL{o},+(0,.81)*=<8.1pt>\dir{*}="c"ŽŽ¡,*\frm{-},*++!L{c},"o"**\dir{-},"c"ŽŽ¡,{\ellipse‘¿ª:a(50),_:0{:}}ŽŽ¡,{\ellipse‘¿ª:a(30),_:a(-45){}}ŽŽ¡,{\ellipse‘¿ª:a(40),_{.}},ŽŽ¡;*{};{\ellipse‘¿ª:a(20),^=_{=}}\endxyŽŽŸPˆ‘¹Note–¦fthat“only“the“slopMÞe“of“Çh¹dirÇiŸ¤zÅpŽ‘mùand“Çh¹dirÇiŸ¤zÅcŽ‘Ôß¹is“signi canš²!t;“rotations“b˜y“180Ÿü¾ÈŽ‘fj¹bMÞeing“immaterial.Ž¡Ÿ2N¾’±Àkïps: SDict begin xyc end‘ µŸÿ4ýÈŽŽŽŽŽŽ‘ŸÄpŽŽŽŽ‘'µŸ4ýÈŽŽŽŽŽŽ‘/‚\ŸçÄoŽŽŽŽ‘)‚\Ÿh0ï" {30.0 -30.0 l}xyŽŽŽ‘'µŸá4ýÈŽŽŽŽŽŽ‘'#ÏŸÙh0ÄcŽŽŽŽ‘cµŸÛ4åÈŽŽŽŽŽŽ‘k‚\ŸÚ³ÄqŽŽŽŽ‘e‚\ŸÙhï" {60.0 6.00037 l}xyŽŽŽ‘Ï‚\Ÿýh0ïM" {mark 60.0 0.0 46.28673 13.71564 59.73308 27.162 90.0 30.0 0.0 0.9989 bz}xyŽŽŽŽ‘Ï‚\Ÿýh0ïY" {mark 60.0 0.0 73.71098 -13.71335 109.43193 -22.54543 139.69656 -19.70514 0.0 1.0 bt}xyŽŽŽ‘Ï‚\Ÿýh0ïb" {mark 139.69656 -19.70514 169.9612 -16.86485 183.40755 -3.41849 169.69656 10.29486 0.0 1.0 bt}xyŽŽŽ‘Ï‚\Ÿýh0ï[" {mark 169.69656 10.29486 155.98558 24.00821 120.26463 32.84029 90.0 30.0 0.0 0.9989 bt}xyŽŽŽŽŽŽŽŽŽŽŒ‹—„ÿ Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹407ŽŽ ¶?? ýh«w‘ãŒÏ\xy‘¿ª0;/r5pc/:*\dir{*}="p",*+!UR{p}ŽŽ¤ ™š‘ãŒ;p+(.5,-.5)*\dir{*}="o",*++!L{o}**\dir{-}ŽŽ¡‘ãŒ,p+(.5,.5)*\dir{*}="c",*++!D{c},"c"ŽŽ¡‘ãŒ;p+(1,.1)*\dir{*}="q",*++!L{q}**\dir{-}ŽŽ¡‘ãŒ,"o";"p",**{};"c"ŽŽ¡‘ãŒ,{\ellipse![["o";"p"]],_![["q";"c"]]{}}ŽŽ¡‘ãŒ,{\ellipse![["o";"p"]],![["c";"q"]]{.}}ŽŽ¡‘ãŒ\endxyŽŽ©ø‘ôŒ¹The‘ÇôÏ=Ž‘ O’¹v‘ÿdDarian²!t–Çôestablishes“the“Çh¹directionÇi“¹parsing“to“bMÞegin“with“the“direction“resulting“from“Çh¹dirÇiŸ¤zÅpŽŽ¡‘㌹instead–aof“the“original“direction.›®1If“Çh¹dirÇiŸ¤zÅcŽ‘EÚ¹is“required“to“bMÞe“the“original“direction“then“use“Ï:0Ž‘–µ¹.˜It“cannotŽ¡‘ãŒbMÞe–õgÇh¹emptš²!yÇi“¹since“this“is“in˜terpreted“as“requiring“a“circular“arc“with“unspMÞeci ed“tangen˜t“at“Äc¹;‘çsee“theŽ¡‘ãŒexample›÷€abMÞo•²!v“e.‘£‘Ho“w“ev“er˜when˜Çh¹dirÇiŸ¤zÅpŽ‘¾Ý¹and˜Çh¹dirÇiŸ¤zÅcŽ‘%ù¹are˜parallel˜there˜is˜a˜whole˜familyŸü¾Â4ŽŽ‘·„¹of˜pMÞossible˜ellipsesŽ¡‘ãŒwith–¦fthe“spMÞeci ed“tangen²!ts.ŽŸ É ‘ôŒWith–b@no“further“hinš²!t“a˜v‘ÿdDailable,‘‘7a“c˜hoice“is“made“based“on“the“distance“bMÞet˜w˜een“Äp“¹and“Äc¹.‘lIf“theŽ¡‘ãŒrequired–'direction“is“p•MÞerp“endicular–'to“Ÿúã‰fe ?vŸêÄpcŽŽ‘˜¹this“c²!hoice“results“in“a“circular“arc.‘_ÝThe“optional“factor“inŽ¡‘ãŒÏ=(Ž‘ï mÇh¹nš²!umÇiÏ)Ž‘ úÁ¹is–;used“to“alter“this“c˜hoice;‘…othe“default“Ï(1)Ž‘µ,¹is“assumed“when“nothing“follo˜ws“the“Ï=Ž‘ úÁ¹.‘›ðThisŽ¡‘ãŒfactor–¸éis“used“to“\stretcš²!h"“the“ellipse“along“the“spMÞeci ed“direction.‘Ž´F‘ÿeor“a“negativ˜e“Çh¹n˜umÇi“¹the“orien˜tationŽ¡‘ãŒrev²!erses.ŽŸ'v’¥"#ïps: SDict begin xyc end‘£6Ÿÿ4ýÈŽŽŽŽŽŽŸýh0‘pï"" {0.0 5.05 -5.05 -5.05 5.05 ov}xyŽŽŽ‘ í§ŸÄpŽŽŽŽ‘4£6Ÿ4ýÈŽŽŽŽŽŽ‘6pŸh0ï" {30.0 -30.0 l}xyŽŽŽ‘9pŸ#ÄoŽŽŽŽ‘4£6Ÿì›mÈŽŽŽŽŽŽŸêΠ‘6pï"" {0.0 4.05 -4.05 -4.05 4.05 ov}xyŽŽŽ‘\dir{*}="p";p*\frm{-}ŽŽ¡‘ãŒ,*++!UR{p},p+(.5,-.5)*\dir{*}="o",**\dir{-}ŽŽ¡‘ãŒ,*+!UL{o},+(0,.81)*=<8.1pt>\dir{*}="c"ŽŽ¡‘ãŒ,*\frm{-},*++!DL{c},"c"ŽŽ¡‘ãŒ,{\ellipse–¿ªr,={}},{\ellipse“r,=(2){.}}ŽŽ¡‘ãŒ,{\ellipse–¿ªr,^=(3){.}},{\ellipse“r,=(-2){}}ŽŽ¡‘ãŒ,{\ellipse‘¿ªr,=(-1){.}}\endxyŽŽ¦‘ôŒ¹The–{ nal“v‘ÿdDarianš²!t“uses“the“directions“from“Äp“¹and“Äc“¹to“the“giv˜en“Çh¹coMÞordÇi¹.‘ÏkIf“Çh¹orien˜tÇi“¹is“Çh¹empt˜yÇi“¹thenŽ¡‘ãŒthe–uorienš²!tation“is“determined“to“giv˜e“the“shortest“path“along“the“ellipse.‘1 SpMÞecifying“an“Çh¹orien˜tÇi“¹of“Ï^ŽŽ¡‘㌹or‘“”Ï_Ž‘æÒ¹will–“”force“the“orien•²!tation,‘Îßev“en–“”if“this“means“tra•²!v“elling–“”`the“long“w•²!a“y'–“”around“the“ellipse.‘¥hF‘ÿeorŽ¡‘ãŒexample,–¦fsee“next“ gure.ŽŸû4‘ãŒÔAlternativ•¦te‘'—curv“es‘ ó5¹In–{zsome“cases“the“circular“or“elliptic“curvš²!e“can“bMÞe“replaced“b˜y“a“curv˜e“withŽ¡‘ãŒdi eren•²!t›†XshapMÞe,‘¾Tha“ving˜the˜same˜tangen“t˜directions˜at˜the˜end-pMÞoin“ts.‘}²When˜a˜full˜circle/ellipse˜isŽ¡‘ãŒspMÞeci ed–”©then“one“gets“instead“a“closed“curvš²!e“constructed“from“4“spline“segmen˜ts.‘×óOther“v‘ÿdDarian˜ts“useŽ¡‘ãŒa–icsingle“segmenš²!t,‘š"2“or“3“segmen˜ts,‘š"or“some“pMÞortion“of“all“4“segmen˜ts.‘&ÕP˜ossibilities“are“giv˜en“in“theŽ¡‘ãŒfollo²!wing‘¦ftable.Ž‘ãŒŸƉffã²dŸ ´Œ‘9EOÏ\ellipse~e‘¿ª...{Ž’€EÇh¹..ÇiÏ}ŽŽ’¸“ã¹elliptical,–¦fas“abMÞo•²!v“eŽŽŽŽ¡‘9EOÏ\ellipse~q‘¿ª...{Ž’€EÇh¹..ÇiÏ}ŽŽ’¸“ã¹parabMÞolic‘¦fsegmen²!tsŽŽŽŽ¡‘9EOÏ\ellipse~c‘¿ª...{Ž’€EÇh¹..ÇiÏ}ŽŽ’¸“ã¹cubic‘¦fsegmen²!tsŽŽŽŽ¡‘9EOÏ\ellipse~i‘¿ª...{Ž’€EÇh¹..ÇiÏ}ŽŽ’¸“ã¹in²!terpMÞolating‘¦fcubicŽŽŽŽ¡‘9EOÏ\ellipse~p‘¿ª...{Ž’€EÇh¹..ÇiÏ}ŽŽ’¸“ã¹cuspidal‘¦fcubicŽŽŽŽŸ 8¢‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã4ŽŽŽ‘¦aÖIndeed–Tthis“is“alw•¾9a“ys–Tso.‘pThe“algorithm“used“for“the“general“case“tends“to•¾9w“ard–Tparallel“lines|clearly“unsuitable.ŽŽŽŒ‹˜Á÷ Á à ý*tj‘㌹408’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ÑhÏ\ellipse~c(Ž‘\ ¶Çh¹n²!umÇiÏ)...{Ž‘¾RÇh¹..ÇiÏ}ŽŽ’°ü¹cubic‘¦fsegmen²!ts,ŽŸ ™š’œüwith‘¦f\loMÞoseness"ŽŽŽŽ‘㌟~‡‰ffã²dŸ±ûIn–òºthe“latter“case“the“Çh¹n•²!umÇi¹,‘Ït“ypically›òºbMÞet“w“een˜0˜and˜1,‘Ïcon“trols˜ho“w˜soMÞon˜the˜curv“e˜b•MÞegins˜to˜b“endޤ ™ša•²!w“a“y–²mfrom“the“tangenš²!t“direction.‘óSmaller“v‘ÿdDalues“giv˜e“tigh˜ter“curv˜es“|“0“for“straigh˜t“lines“|“with“Ï~cŽŽ¡¹bMÞeing–¦fthe“same“as“Ï~c(1)Ž‘$ ¹and“Ï~qŽ‘Ì ¹is“Ï~c(.66667)Ž‘=# ¹,“that“is“Çh¹n²!umÇi¹=Ÿû°K‘=ÚÂ2Ž‘=ڟƉfe@ŸPA3ŽŽŽŽ‘ ±¹.Ž©!‘The–D2curvš²!e“proMÞduced“b˜y“the“\in˜terpMÞolating"“v‘ÿdDarian˜t“Ï~iŽ‘¸¹actually“passes“through“the“con˜trol“pMÞoin˜tŽ¡Ï"x"Ž‘>þ¹,‘Oøwith–:\slopšMÞe“parallel“to“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘ yÒ¹.‘¹ÚSince“the“tangen²!ts“at“Äp“¹and“Äc“¹p˜oinš²!t“to˜w˜ard“Ï"x"Ž‘³¶¹the“curv‘ÿdDature“isŽ¡quite–Ðgenš²!tle“un˜til“near“Ï"x"Ž‘Lž¹where“the“curv˜e“bMÞends“rapidly‘ÿe,‘&»y˜et“smoMÞothly‘ÿe.‘¨«This“is“obtained“also“b˜y“usingŽ¡Ï~c(1.33333)Ž‘?Ž‘$mNÄ>‘©\¹1“the“\con˜v˜ex“h˜ull“propMÞert˜y"“doMÞes“not“hold;‘5Ž‘#JUÄ>‘ §¹2“the“curv²!e“is“soŽ¡\lošMÞose"–fthat“it“exhibits“lo˜ops.‘Þ(The“author“o ers“no“guaranš²!tees“on“the“usefulness“of“suc˜h“curv˜es“forŽ¡anš²!y–¦fparticular“purpMÞose;“ho˜w˜ev˜er“they“do“loMÞok“nice.“Ç Ž‘5ÂŽ‘ó3Å^ŽŽŽ‘ s;¹)ަŸ)d¸‘qß…ïps: SDict begin xyc end’޵OŸÿ4ýÈŽŽŽŽŽŽ’‡ÿÀŸÄpŽŽŽŽ’²µOŸ#4ýÈŽŽŽŽŽŽ’·‚Ÿ)ÄcŽŽŽŽ’ËètŸh0ï" {-3072 st}xyŽŽŽŽ’ËètŸ è0ï" {-3072 T d}xyŽŽŽŽŽŽŽŽŽŽŽ‘H‚Ÿýh0ïU" {mark 72.0 0.0 104.34972 -10.10747 120.48534 -26.2431 108.0 -36.0 0.0 0.90326 bz}xyŽŽŽŽ‘H‚Ÿýh0ïR" {mark 72.0 0.0 32.91501 12.21187 5.83069 12.42365 -9.25412 0.63535 0.0 1.0 bt}xyŽŽŽ‘H‚Ÿýh0ïa" {mark -9.25412 0.63535 -24.33893 -11.15295 -12.33911 -23.15279 26.74588 -35.36465 0.0 1.0 bt}xyŽŽŽ‘H‚Ÿýh0ï]" {mark 26.74588 -35.36465 65.83087 -47.57652 92.91519 -47.7883 108.0 -36.0 0.0 0.93689 bt}xyŽŽŽŽ‘H‚Ÿýh0ïS" {mark 72.0 0.0 130.62706 -18.31767 130.62706 -18.31767 108.0 -36.0 0.0 0.94 bt}xyŽŽŽŽ’ÎsŸüsÙï" {p}xyŽŽŽŽŽŽ’5ÅŸþ\‡ï" {p}xyŽŽŽŽŽŽŽŽŽ’ŒŽáŸýi©ï" {p}xyŽŽŽŽŽŽ’ŒüOŸûu‹ï" {p}xyŽŽŽŽŽŽŽŽŽ’Šj:ŸüúXï" {p}xyŽŽŽŽŽŽ’ŠÈ˜Ÿû*ï" {p}xyŽŽŽŽŽŽŽŽŽ’ˆTŸü’}ï" {p}xyŽŽŽŽŽŽ’ˆfbŸú˜¯ï" {p}xyŽŽŽŽŽŽŽŽŽ’…šbŸü2ï" {p}xyŽŽŽŽŽŽ’…ÙàŸú6ï" {p}xyŽŽŽŽŽŽŽŽŽ’‚﫟ûØdï" {p}xyŽŽŽŽŽŽ’ƒ/)ŸùÜfï" {p}xyŽŽŽŽŽŽŽŽŽ’€+Ÿû‡Iï" {p}xyŽŽŽŽŽŽ’€ZÏŸù‰›ï" {p}xyŽŽŽŽŽŽŽŽŽ‘}@âŸû=$ï" {p}xyŽŽŽŽŽŽ‘}p°Ÿù?vï" {p}xyŽŽŽŽŽŽŽŽŽ‘z=[ŸúúÔï" {p}xyŽŽŽŽŽŽ‘zm)Ÿøý&ï" {p}xyŽŽŽŽŽŽŽŽŽ‘w,ˆŸúÁï" {p}xyŽŽŽŽŽŽ‘wLvŸøÂï" {p}xyŽŽŽŽŽŽŽŽŽ‘t¼ŸúŽ{ï" {p}xyŽŽŽŽŽŽ‘t"ªŸøï" {p}xyŽŽŽŽŽŽŽŽŽ‘pÔŸúdCï" {p}xyŽŽŽŽŽŽ‘pä Ÿød•ï" {p}xyŽŽŽŽŽŽŽŽŽ‘m”ÁŸúA¡ï" {p}xyŽŽŽŽŽŽ‘m¤¿ŸøAóï" {p}xyŽŽŽŽŽŽŽŽŽ‘jPúŸú'ï" {p}xyŽŽŽŽŽŽ‘j`øŸø'Sï" {p}xyŽŽŽŽŽŽŽŽŽ‘g ìŸújï" {p}xyŽŽŽŽŽŽ‘gêŸø¼ï" {p}xyŽŽŽŽŽŽŽŽŽ‘cÔÆŸú ï" {p}xyŽŽŽŽŽŽ‘cÔÆŸø ï" {p}xyŽŽŽŽŽŽŽŽŽ‘`œ¼Ÿú–ï" {p}xyŽŽŽŽŽŽ‘`œ¼Ÿø¨ï" {p}xyŽŽŽŽŽŽŽŽŽ‘]pûŸú Kï" {p}xyŽŽŽŽŽŽ‘]pûŸø ]ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Z]¬Ÿú ï" {p}xyŽŽŽŽŽŽ‘ZM¾Ÿø\ï" {p}xyŽŽŽŽŽŽŽŽŽ‘WWŸú1ï" {p}xyŽŽŽŽŽŽ‘WG#Ÿø1pï" {p}xyŽŽŽŽŽŽŽŽŽ‘TqKŸúO ï" {p}xyŽŽŽŽŽŽ‘TQmŸøPï" {p}xyŽŽŽŽŽŽŽŽŽ‘Q ˜Ÿúuœï" {p}xyŽŽŽŽŽŽ‘Q€ºŸøv®ï" {p}xyŽŽŽŽŽŽŽŽŽ‘Nñ#Ÿú¤xï" {p}xyŽŽŽŽŽŽ‘NÑEŸø¥Šï" {p}xyŽŽŽŽŽŽŽŽŽ‘Lo ŸúÛ ï" {p}xyŽŽŽŽŽŽ‘L?LŸøÝ]ï" {p}xyŽŽŽŽŽŽŽŽŽ‘JxŸûÀï" {p}xyŽŽŽŽŽŽ‘I× ŸùÂï" {p}xyŽŽŽŽŽŽŽŽŽ‘G룟û`›ï" {p}xyŽŽŽŽŽŽ‘Gœ¥ŸùfÍï" {p}xyŽŽŽŽŽŽŽŽŽ‘D/ÉŸüûï" {p}xyŽŽŽŽŽŽ‘CÂkŸúÝï" {p}xyŽŽŽŽŽŽŽŽŽ‘AqhŸüÇÃï" {p}xyŽŽŽŽŽŽ‘@½ºŸúèuï" {p}xyŽŽŽŽŽŽŽŽŽ‘?ÞŸýAï" {p}xyŽŽŽŽŽŽ‘>£ŸûûÓï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽ‘>£wŸûûËï" {p}xyŽŽŽŽŽŽ‘?Þ¥ŸýIï" {p}xyŽŽŽŽŽŽŽŽŽ‘? èžÇï" {p}xyŽŽŽŽŽŽ‘=!úž­µï" {p}xyŽŽŽŽŽŽŽŽŽ‘@lÏŸd‰ï" {p}xyŽŽŽŽŽŽ‘>¨±ŸT·ï" {p}xyŽŽŽŽŽŽŽŽŽ‘AàŸÌlï" {p}xyŽŽŽŽŽŽ‘@:¯Ÿîzï" {p}xyŽŽŽŽŽŽŽŽŽ‘CÏãŸmÎï" {p}xyŽŽŽŽŽŽ‘B4096‘¿ª\def\arcOrient@@{_}%ŽŽ¡‘ãŒÃ982Ž‘ mÏ\else\ifnum\count@<-4096‘¿ª\def\arcOrient@@{^}%ŽŽ¡‘ãŒÃ983Ž‘ mÏ\else\ifnum\count@>\z@‘¿ª\def\arcOrient@@{^}%ŽŽ¡‘ãŒÃ984Ž‘ mÏ\else\def\arcOrient@@{_}\fi\fi\fiŽŽ¡‘ãŒÃ985Ž‘ûKÃÏ\fi‘¿ª}ŽŽŸv‘ãŒÃ991Ž‘õŒÏ\xydef@\circleArc@{%ŽŽ¡‘ãŒÃ992Ž‘ûKÃÏ\xy@{circARC@}{\cfromid@{0@p}\pfromc@\cfromp@\startDirection@ŽŽ¡‘ãŒÃ993Ž‘ mÏ\arcCenter@\idfromc@{0@0}%ŽŽ¡‘ãŒÃ994Ž‘ mÏ\def\startDirection@{\bgroupŽŽ¡‘ãŒÃ995Ž‘ ŠÁÏ\cfromid@{0@0}\pfromc@\cfromid@{0@p}\setupDirection@ŽŽ¡‘ãŒÃ996Ž‘ ŠÁÏ\edef\next@{\egroup‘¿ª\Direction=\the\Direction}\next@ŽŽ¡‘ãŒÃ997Ž‘ËÏ\relax\imposeDirection@}}%ŽŽ¡‘ãŒÃ998Ž‘ûKÃÏ\ifx\endDirection@@\emptyŽŽ¡‘ãŒÃ999Ž‘ mÏ\ifx\arcRadius@\empty‘¿ª\ifx\ellipseRatio@\empty\elseŽŽ¡‘ãŒÃ1000Ž‘ËÏ\DN@{\arcScale@@}\ifx\arcScale@\next@\elseŽŽ¡‘ãŒÃ1001Ž‘ËÏ\xy@@{\bgroup\cfromid@{0@0}\pfromc@\cfromid@{0@c}\setupDirection@ŽŽ¡‘ãŒÃ1002Ž‘JkÏ\edef\next@{\egroup‘¿ª\Direction=\the\Direction}\next@ŽŽ¡‘ãŒÃ1003Ž‘ËÏ\edef\endDirection@@{\the\Direction}}\fi\fi\fi\fiŽŽ¡‘ãŒÃ1004Ž‘ûKÃÏ\ellipseArc@–¿ª\xy@@{\leave@“\doCircleArcs@}\endarc@“}ŽŽ¡‘ãŒÃ1005Ž‘õŒÏ%–¿ª\ellipseArc@“\xy@@{\doCircleArcs@}\endarc@“}ŽŽŸÁÑ‘ôŒ¹The–òfolloš²!wing“methoMÞds“calculate“the“cen˜tre“of“a“circle“using“the“p•MÞerp“endicular–òto“the“required“angleŽ¡‘ãŒat–¦fÄp“¹and“the“p•MÞerp“endicular–¦fbisector“of“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘ åܹ.Ž©Pˆ‘ãŒÃ1013Ž‘õŒÏ\xydef@\arcbisector{%ŽŽ¡‘ãŒÃ1014Ž‘ûKÃÏ\cfromid@{0@p}\pfromc@\cfromid@{0@c}\setupDirection@ŽŽ¡‘ãŒÃ1015Ž‘ûKÃÏ\advance\X@c\X@p\divide\X@c\tw@ŽŽ¡‘ãŒÃ1016Ž‘ûKÃÏ\advance\Y@c\Y@p\divide\Y@c\tw@–¿ª\czeroEdge@“\pfromc@ŽŽ¡‘ãŒÃ1017Ž‘ûKÃÏ\enter@\cplusthec@‘¿ª\enter@\relax\begingroupŽŽ¡‘ãŒÃ1018Ž‘ mÏ\aboveDirection@\xydashl@–¿ª\vfromslide@i{}@\leave@“}ŽŽ¦‘ãŒÃ1020Ž‘õŒÏ\xydef@\arcCenter@{%ŽŽ¡‘ãŒÃ1021Ž‘ûKÃÏ\cfromid@{0@p}\pfromc@\cfromid@{0@m}\setupDirection@ŽŽ¡‘ãŒÃ1022Ž‘ûKÃÏ\cfromp@\enter@\cplusthec@‘¿ª\enter@\relax\begingroupŽŽ¡‘ãŒÃ1023Ž‘ mÏ\aboveDirection@\xydashl@‘¿ª\vfromslide@i{}@\leave@\no@@ŽŽ¡‘ãŒÃ1024Ž‘ûKÃÏ\arcCenter@i‘¿ª}ŽŽ¦‘ãŒÃ1026Ž‘õŒÏ\xydef@\arcCenter@i{%ŽŽ¡‘ãŒÃ1027Ž‘ûKÃÏ\enter@{\pfromthep@}\setupDirection@‘¿ª\Creset@@ŽŽ¡‘ãŒÃ1028Ž‘ mÏ\let\PLACEedgep@@=\PLACEedgep@‘¿ª\let\PLACEedgec@@=\PLACEedgec@ŽŽ¡‘ãŒÃ1029Ž‘ mÏ\enter@{\pfromthep@\basefromthebase@}\bgroupŽŽŽŽŒ‹› ? Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹411ŽŽ ¶?? ýh«w‘ãŒÃ1030Ž‘ËÏ\arcbisector‘¿ª\edef\next@{\egroupŽŽ¤ ™š‘ãŒÃ1031Ž‘JkÏ\X@c–¿ª=\the\X@c“\Y@c=\the\Y@c“\X@p=\the\X@p“\Y@p=\the\Y@p“}%ŽŽ¡‘ãŒÃ1032Ž‘JkÏ\next@–¿ª\Cintercept@@“\leave@\leave@“}ŽŽŸ!Ìt‘ãŒÔradius–2knoš¦twn,“end-pY‹oin˜ts“unkno˜wnŽŸº‘㌹The–¨Nlanguage“for“these“is“a“comš²!bination“of“most“of“that“used“abMÞo˜v˜e,‘èÈbut“the“in˜terpretation“of“theŽ¡‘ãŒÇh¹directionÇi¹s–¦fis“di eren²!t...Ž‘ãŒŸ8î‰ffã²dŸ Œ[’IsÏ\ellipse<Ž’µmÇh¹radiusÇiÏ>Ž–¿ªÇh¹dirÇiŸ¤zÂ1Ž‘ÀÏ,Ž‘ ®Çh¹orien²!tÇiÏ,Ž“Çh¹dirÇiŸ¤zÂ2Ž‘ÀÏ{..}ŽŽŽ¡’Is\ellipse<Ž’µmÇh¹radiusÇiÏ>Ž‘¿ªÇh¹dirÇiŸ¤zÂ1Ž‘ÀÏ,Ž‘ ®Çh¹orien²!tÇiÏ,=Ž‘ TÇh¹dirÇiŸ¤zÂ2Ž‘ÀÏ{..}ŽŽŽŸ‚"‰ffã²dŸL"–iæ¹where“Çh¹radiusÇi“¹is“one“of“the“forms“used“abšMÞo•²!v“e–iæto“describ˜e“a“circle“or“ellipse.‘(\Not“all“of“the“ellipseŽ¡will–§ÕbšMÞe“t²!yp˜eset|only“that“arc“starting“with“Çh¹dirÇiŸ¤zÂ1Ž‘ gÙ¹as“tangenš²!t“v˜ector,‘è0tracing“via“Çh¹orien˜tÇi“¹un˜til“theŽ¡tangen•²!t›gÕpMÞoin“ts˜in˜direction˜Çh¹dirÇiŸ¤zÂ2Ž‘À¹.‘ÉThis˜e ectiv“ely˜extends˜the˜notation˜used˜with˜Ï\cirŽ‘ÎR¹in˜1.6.2.‘ÉNoteŽ¡that–ÛÞrotating“a“givš²!en“Çh¹dirÇiŸ¤zÅiŽ‘@¸¹b˜y“180Ÿü¾ÈŽ‘›â¹spMÞeci es“a“di eren˜t“arc“on“the“same“ellipse/circle.‘~ERev˜ersing“theŽ¡Çh¹orienš²!tÇi–¦f¹no“longer“giv˜es“the“complemen˜tary“arc,“but“this“complemen˜t“rotated“180Ÿü¾ÈŽ‘À¹.ŽŸ!ø’µÙ2ïps: SDict begin xyc end‘33Ÿÿ4ýÈŽŽŽŽŽŽ‘}¤ŸøGÄpŽŽŽŽ‘:33Ÿ4ýÈŽŽŽŽŽŽ‘?Ÿ#ÄcŽŽŽŽ‘<Ÿh0ï" {30.0 -30.0 l}xyŽŽŽ‘1ÚKŸÂÞï" {p}xyŽŽŽŽŽŽ‘0dÝŸdÀï" {p}xyŽŽŽŽŽŽŽŽŽ‘1šKŸëï" {p}xyŽŽŽŽŽŽ‘0ýŸ°-ï" {p}xyŽŽŽŽŽŽŽŽŽ‘1_…ŸJ¡ï" {p}xyŽŽŽŽŽŽ‘/ØGŸƒï" {p}xyŽŽŽŽŽŽŽŽŽ‘1#ÿŸ‘¼ï" {p}xyŽŽŽŽŽŽ‘/–±ŸNîï" {p}xyŽŽŽŽŽŽŽŽŽ‘0ê¶ŸÙÜï" {p}xyŽŽŽŽŽŽ‘/WHŸž¾ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0³œŸ"ûï" {p}xyŽŽŽŽŽŽ‘/ŸïÝï" {p}xyŽŽŽŽŽŽŽŽŽ‘0ÍŸh§ï" {p}xyŽŽŽŽŽŽ‘.ÛïŸF©ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0OŸ³dï" {p}xyŽŽŽŽŽŽ‘.£Ÿš†ï" {p}xyŽŽŽŽŽŽŽŽŽ‘0•Ÿþòï" {p}xyŽŽŽŽŽŽ‘.lwŸï¤ï" {p}xyŽŽŽŽŽŽŽŽŽ‘/ð;ŸKDï" {p}xyŽŽŽŽŽŽ‘.8 ŸEöï" {p}xyŽŽŽŽŽŽŽŽŽ‘/Ä Ÿ˜Wï" {p}xyŽŽŽŽŽŽ‘.ÝŸiï" {p}xyŽŽŽŽŽŽŽŽŽ‘/šŸæï" {p}xyŽŽŽŽŽŽ‘-ÕçŸõùï" {p}xyŽŽŽŽŽŽŽŽŽ‘/rŸ4„ï" {p}xyŽŽŽŽŽŽ‘-¨<ŸO–ï" {p}xyŽŽŽŽŽŽŽŽŽ‘/LWŸƒï" {p}xyŽŽŽŽŽŽ‘-|ÉŸªCï" {p}xyŽŽŽŽŽŽŽŽŽ‘/(¦ŸÓï" {p}xyŽŽŽŽŽŽ‘-S¨Ÿæï" {p}xyŽŽŽŽŽŽŽŽŽ‘/Ÿ#ï" {p}xyŽŽŽŽŽŽ‘-,ÈŸbï" {p}xyŽŽŽŽŽŽŽŽŽ‘.ç’Ÿs­ï" {p}xyŽŽŽŽŽŽ‘-DŸ¿ÿï" {p}xyŽŽŽŽŽŽŽŽŽ‘.Ê(ŸÄ­ï" {p}xyŽŽŽŽŽŽ‘,æ ŸOï" {p}xyŽŽŽŽŽŽŽŽŽ‘.®ÇŸï" {p}xyŽŽŽŽŽŽ‘,Æ)Ÿ}iï" {p}xyŽŽŽŽŽŽŽŽŽ‘.•oŸg×ï" {p}xyŽŽŽŽŽŽ‘,¨¡ŸÝIï" {p}xyŽŽŽŽŽŽŽŽŽ‘.|3ŸÁ,ï" {p}xyŽŽŽŽŽŽ‘,eŸ6žï" {p}xyŽŽŽŽŽŽŽŽŽ‘.gŸÁï" {p}xyŽŽŽŽŽŽ‘,vqŸ—£ï" {p}xyŽŽŽŽŽŽŽŽŽ‘.SöŸfœï" {p}xyŽŽŽŽŽŽ‘,_ØŸù>ï" {p}xyŽŽŽŽŽŽŽŽŽ‘.BÕŸ¹°ï" {p}xyŽŽŽŽŽŽ‘,K§Ÿ[bï" {p}xyŽŽŽŽŽŽŽŽŽ‘.3°Ÿ þï" {p}xyŽŽŽŽŽŽ‘,9⟾ï" {p}xyŽŽŽŽŽŽŽŽŽ‘.%lŸh@ï" {p}xyŽŽŽŽŽŽ‘,+žŸBï" {p}xyŽŽŽŽŽŽŽŽŽ‘.rŸ»üï" {p}xyŽŽŽŽŽŽ‘,tŸ|Žï" {p}xyŽŽŽŽŽŽŽŽŽ‘.iŸÝï" {p}xyŽŽŽŽŽŽ‘,»Ÿàï" {p}xyŽŽŽŽŽŽŽŽŽ‘. [ŸcÔï" {p}xyŽŽŽŽŽŽ‘, mŸCöï" {p}xyŽŽŽŽŽŽŽŽŽ‘.ÞŸ¿Ûï" {p}xyŽŽŽŽŽŽ‘,ðŸŸýï" {p}xyŽŽŽŽŽŽŽŽŽ‘.óŸï" {p}xyŽŽŽŽŽŽ‘,EŸï" {p}xyŽŽŽŽŽŽŽŽŽ‘.ùŸh0ï" {p}xyŽŽŽŽŽŽ‘, Ÿh0ï" {p}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘âŸýh0ïT" {mark 120.0 0.0 103.44635 16.55365 76.55365 16.55365 60.0 0.0 0.00198 0.3227 bz}xyŽŽŽŽ‘âŸýh0ïP" {mark 150.0 -30.0 150.0 -16.7573 123.1073 -6.00037 90.0 -6.00037 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ïM" {mark 90.0 -6.00037 56.8927 -6.00037 30.0 -16.7573 30.0 -30.0 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ïO" {mark 30.0 -30.0 30.0 -43.2427 56.8927 -53.99963 90.0 -53.99963 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ïR" {mark 90.0 -53.99963 123.1073 -53.99963 150.0 -43.2427 150.0 -30.0 0.0 1.0 bt}xyŽŽŽŽ‘âŸýh0ïQ" {mark 90.0 -6.00037 56.8927 -6.00037 30.0 -16.7573 30.0 -30.0 0.75845 1.0 bz}xyŽŽŽ‘âŸýh0ïS" {mark 30.0 -30.0 30.0 -43.2427 56.8927 -53.99963 90.0 -53.99963 0.0 0.61926 bz}xyŽŽŽŽ‘âŸýh0ïS" {mark 60.0 0.0 47.58476 -12.41524 50.94635 -35.94635 67.5 -52.5 0.00003 1.0 bt}xyŽŽŽ‘âŸýh0ïS" {mark 67.5 -52.5 84.05365 -69.05365 107.58476 -72.41524 120.0 -60.0 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ïT" {mark 120.0 -60.0 132.41524 -47.58476 129.05365 -24.05365 112.5 -7.5 0.0 1.0 bt}xyŽŽŽ‘âŸýh0ïL" {mark 112.5 -7.5 95.94635 9.05365 72.41524 12.41524 60.0 0.0 0.0 1.0 bt}xyŽŽŽŽ‘âŸýh0ïS" {mark 60.0 0.0 47.58476 -12.41524 50.94635 -35.94635 67.5 -52.5 0.00003 1.0 bz}xyŽŽŽ‘âŸýh0ïW" {mark 67.5 -52.5 84.05365 -69.05365 107.58476 -72.41524 120.0 -60.0 0.0 0.99738 bz}xyŽŽŽŽŽŽŽŽŸ\‹‰Ï\xy‘¿ª0;/r5pc/:*\dir{*}="p",*+!DR{p};ŽŽ¡p+(.5,-.5)*\dir{*}="c",*+!UL{c}**\dir{-}ŽŽ¡,"c",{\ellipse<15pt>_,=:a(45){=}}ŽŽ¡‘ T,{\ellipse<>__,=:a(30){-}}ŽŽ¡,{\ellipse(1,.4){.}}ŽŽ¡‘ T,{\ellipse(1,.4)_,=:a(120){-}}ŽŽ¡,{\ellipse(,.75){.}}ŽŽ¡‘ T,{\ellipse(,.75)_,^,^{-}}\endxyŽŽŸ&|#Ã1075Ž‘Ï\xydef@\getarcExtents@{%ŽŽ¡Ã1076Ž‘¿ªÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\getarcExtents@}%ŽŽ¡Ã1077Ž‘¿ªÏ\else\ifx\next–¿ª@\xy@{@}{}\DN@“@{\fullEllipse@}%ŽŽ¡Ã1078Ž‘¿ªÏ\else\DN@{\xy@{arcEXTENTs}{\save@ŽŽ¡Ã1079Ž‘#>þÏ\def\startDirection@{\Direction=\startDirection@@‘¿ª\imposeDirection@}}%ŽŽ¡Ã1080Ž‘TÏ\xyFN@\getarcExtents@ii}\fi\fi–¿ª\next@“}ŽŽ©PˆÃ1082Ž‘Ï\xydef@\getarcExtents@ii{%ŽŽ¡Ã1083Ž‘¿ªÏ\ifx\next!\xy@{![[}{}\DN@![[##1]]{\getxyDirection@{##1}\getarcExtents@iv}%ŽŽ¡Ã1084Ž‘¿ªÏ\else\DN@{\getarcExtents@iv}\fi–¿ª\next@“}ŽŽ¦Ã1086Ž‘Ï\xydef@\getarcExtents@iv{\afterDIRECTIONorEMPTYŽŽ¡Ã1087Ž‘TÏ{\xy@{startDIR}{\edef\startDirection@@{\the\Direction}\leave@}%ŽŽ¡Ã1088Ž‘#>þÏ\xyFN@\getarcOrientation@}%ŽŽ¡Ã1089Ž‘TÏ{\xy@{startDIR}{\edef\startDirection@@{\the\Direction}\leave@}%ŽŽ¡Ã1090Ž‘#>þÏ\xyFN@\getarcOrientation@}}ŽŽŽŽŒ‹œ' Á à ý*tj‘㌹412’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1092Ž‘õŒÏ\xydef@\getarcOrientation@{%ŽŽ¤ ™š‘ãŒÃ1093Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\getarcOrientation@}%ŽŽ¡‘ãŒÃ1094Ž‘ûKÃÏ\else\ifx\next‘¿ª@\xy@{@}{}\DN@{\getEndDirection@x}%ŽŽ¡‘ãŒÃ1095Ž‘ûKÃÏ\else\ifx\next,\xy@{,}{}\DN@,{\xyFN@\getarcOrientation@i}%ŽŽ¡‘ãŒÃ1096Ž‘ûKÃÏ\else\DN@{\getarcOrientation@i}\fi\fi\fi–¿ª\next@“}%ŽŽ©Pˆ‘ãŒÃ1098Ž‘õŒÏ\xydef@\getarcOrientation@i{%ŽŽ¡‘ãŒÃ1099Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\getarcOrientation@i}%ŽŽ¡‘ãŒÃ1100Ž‘ûKÃÏ\else\ifx\next‘¿ª@\xy@{@}{}\DN@{\getEndDirection@x}%ŽŽ¡‘ãŒÃ1101Ž‘ûKÃÏ\else\ifx\next^{}\DN@##1{\xy@{^}{\def\arcOrient@@{^}}%ŽŽ¡‘ãŒÃ1102Ž‘ mÏ\def\arcOrient@@{^}\xyFN@\getEndDirection@}%ŽŽ¡‘ãŒÃ1103Ž‘ûKÃÏ\else\ifx\next_\DN@##1{\xy@{_}{\def\arcOrient@@{_}}%ŽŽ¡‘ãŒÃ1104Ž‘ËÏ\def\arcOrient@@{_}\xyFN@\getEndDirection@}%ŽŽ¡‘ãŒÃ1105Ž‘ûKÃÏ\else\DN@{\xyFN@\getEndDirection@}%ŽŽ¡‘ãŒÃ1106Ž‘ûKÃÏ\fi\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ1108Ž‘õŒÏ\xydef@\getEndDirection@{%ŽŽ¡‘ãŒÃ1109Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\getEndDirection@}%ŽŽ¡‘ãŒÃ1110Ž‘ûKÃÏ\else\ifx\next,\DN@,{\xy@{,}{}\xyFN@\getEndDirection@}%ŽŽ¡‘ãŒÃ1111Ž‘ûKÃÏ\else\addEQ@\ifx\next\addEQ@\DN@{\xy@{=}{\save@\startDirection@}%ŽŽ¡‘ãŒÃ1112Ž‘ mÏ\xyFN@\getEqDirection@}%ŽŽ¡‘ãŒÃ1113Ž‘ûKÃÏ\else‘¿ª\ifx\next!\DN@![[##1]]{\xy@{![[}{\save@}\getxyDirection@{##1}%ŽŽ¡‘ãŒÃ1114Ž‘ËÏ\xy@{endDIR}{\edef\endDirection@@{\the\Direction}}%ŽŽ¡‘ãŒÃ1115Ž‘ mÏ\xyFN@\getEndDirection@i}%ŽŽ¡‘ãŒÃ1116Ž‘ûKÃÏ\else‘¿ª\DN@{\xy@{origDIR}{\save@\origDirection@}\getEndDirection@i}%ŽŽ¡‘ãŒÃ1117Ž‘ûKÃÏ\fi\fi\fi\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ1119Ž‘õŒÏ\xydef@\getEqDirection@{%ŽŽ¡‘ãŒÃ1120Ž‘ûKÃÏ\ifx\space@\next\expandafter\DN@\space{\xyFN@\getEqDirection@}%ŽŽ¡‘ãŒÃ1121Ž‘ûKÃÏ\else\ifx\next–¿ª@\xy@{@}{}\DN@“@{%ŽŽ¡‘ãŒÃ1122Ž‘ mÏ\xy@{sameDIR}{\edef\endDirection@@{\startDirection@@}\leave@}%ŽŽ¡‘ãŒÃ1123Ž‘ mÏ\parEllipse@{1}{}}%ŽŽ¡‘ãŒÃ1124Ž‘õŒÏ%–¿ª\else\ifx\next“(\DN@(##1)##2@{\xy@{()}{\leave@}\parEllipse@{##1}{##2}}%ŽŽ¡‘ãŒÃ1125Ž‘ûKÃÏ\else\ifx\next‘¿ª(\DN@({\xyFN@\checkEqOpen@}%ŽŽ¡‘ãŒÃ1126Ž‘ûKÃÏ\else–¿ª\DN@{\getEndDirection@i}\fi\fi\fi“\next@“}ŽŽ¦‘ãŒÃ1128Ž‘õŒÏ\xydef@\checkEqOpen@{%ŽŽ¡‘ãŒÃ1129Ž‘ûKÃÏ\ifx\next–¿ª*\DN@{\getEndDirection@i“(}%ŽŽ¡‘ãŒÃ1130Ž‘ûKÃÏ\else–¿ª\DN@##1)##2@{\xy@{()}\leave@“\parEllipse@{##1}{##2}}%ŽŽ¡‘ãŒÃ1131Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ1133Ž‘õŒÏ\xydef@\getEndDirection@i{\afterDIRECTIONorEMPTYŽŽ¡‘ãŒÃ1134Ž‘ mÏ{\xy@{endDIR}{\edef\endDirection@@{\the\Direction}\leave@}%ŽŽ¡‘ãŒÃ1135Ž‘ËÏ\getEndDirection@x‘¿ª}%ŽŽ¡‘ãŒÃ1136Ž‘ mÏ{\xy@{endDIR}\leave@–¿ª\getEndDirection@x“}}ŽŽ¦‘ãŒÃ1138Ž‘õŒÏ\xydef@\getEndDirection@x#1@{%ŽŽ¡‘ãŒÃ1139Ž‘ûKÃÏ\DN@{#1}\ifx\next@\empty\relax‘¿ª\else\xywarning@{\omittingTokens@}\fiŽŽ¡‘ãŒÃ1140Ž‘ûKÃÏ\processDirections@‘¿ª}ŽŽ¦‘ãŒÃ1142Ž‘õŒÏ\xydef@\omittingTokens@{omitting–¿ªunused“tokens:“\codeof\next@“}ŽŽŸv‘ãŒÃ1146Ž‘õŒÏ\xydef@\processDirections@@{%ŽŽ¡‘ãŒÃ1147Ž‘ûKÃÏ\ifx\endDirection@@\empty‘¿ª\skewCircle@ŽŽŽŽŒ‹.S Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹413ŽŽ ¶?? ýh«w‘ãŒÃ1148Ž‘ûKÃÏ\else–¿ª\skewEllipse@“\expandafter“\afterARCextents@@“\fi“}ŽŽ©Pˆ‘ãŒÃ1150Ž‘õŒÏ\xydef@\processArcDirections@{%ŽŽ¤ ™š‘ãŒÃ1151Ž‘ûKÃÏ\xy@{ARCdirs}{\ifx\endDirection@@\emptyŽŽ¡‘ãŒÃ1152Ž‘ËÏ\origDirection@‘¿ª\edef\endDirection@@{\the\Direction}\fi}%ŽŽ¡‘ãŒÃ1153Ž‘ûKÃÏ\ellipseArc@ŽŽ¡‘ãŒÃ1154Ž‘ûKÃÏ\xy@{procARCdirs}\processArcDirections@@ŽŽ¡‘ãŒÃ1155Ž‘ûKÃÏ\let\arcScale@\ellsave@–¿ª\let\arcRadius@\ellsave@“\def\ellipseRatio@{}%ŽŽ¡‘ãŒÃ1156Ž‘ûKÃÏ\xy@{circSECTORS}{\doCircleSectors@}\endarc@‘¿ª}ŽŽ¦‘ãŒÃ1158Ž‘õŒÏ\xydef@\ellsave@{\xy@@{\save@}}ŽŽ¦‘ãŒÃ1160Ž‘õŒÏ\xydef@\processArcDirections@@{\save@ŽŽ¡‘ãŒÃ1161Ž‘ûKÃÏ\bgroup–¿ª\cfromid@{0@0}\pfromc@“\Direction=\startDirection@@ŽŽ¡‘ãŒÃ1162Ž‘ mÏ\DN@{_}\ifx\next@\arcOrient@@ŽŽ¡‘ãŒÃ1163Ž‘ËÏ\advance\Direction–¿ª\ifnum\Direction<\z@-\fi“4096“\relax\fiŽŽ¡‘ãŒÃ1164Ž‘ mÏ\imposeDirection@ŽŽ¡‘ãŒÃ1165Ž‘ mÏ\d@X=\cosDirection\Y@ybase‘¿ª\advance\d@X-\sinDirection\X@ybaseŽŽ¡‘ãŒÃ1166Ž‘ mÏ\d@Y=-\cosDirection\Y@xbase‘¿ª\advance\d@Y\sinDirection\X@xbaseŽŽ¡‘ãŒÃ1167Ž‘ mÏ\setupDirection@iŽŽ¡‘ãŒÃ1168Ž‘ mÏ\d@X=-\cosDirection\X@ybase‘¿ª\advance\d@X\sinDirection\X@xbaseŽŽ¡‘ãŒÃ1169Ž‘ mÏ\d@Y=-\cosDirection\Y@ybase‘¿ª\advance\d@Y\sinDirection\Y@xbaseŽŽ¡‘ãŒÃ1170Ž‘ mÏ\enter@\cplusthec@\X@c=\d@X–¿ª\Y@c=\d@Y“\leave@“\czeroEdge@ŽŽ¡‘ãŒÃ1171Ž‘ mÏ\setupDirection@iŽŽ¡‘ãŒÃ1172Ž‘ mÏ\czeroEdge@ŽŽ¡‘ãŒÃ1173Ž‘ûKÃÏ\edef\next@{\egroup–¿ª\cfromthec@“\count@=\the\Direction}\next@ŽŽ¡‘ãŒÃ1174Ž‘ûKÃÏ\edef\startDirection@@{\the\count@}\idfromc@{0@x}%ŽŽ¡‘ãŒÃ1175Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1176Ž‘ûKÃÏ\bgroup–¿ª\cfromid@{0@0}\pfromc@“\Direction=\endDirection@@ŽŽ¡‘ãŒÃ1177Ž‘ûKÃÏ\DN@{_}\ifx\next@\arcOrient@@ŽŽ¡‘ãŒÃ1178Ž‘ mÏ\advance\Direction–¿ª\ifnum\Direction<\z@-\fi“4096“\relax\fiŽŽ¡‘ãŒÃ1179Ž‘ûKÃÏ\imposeDirection@ŽŽ¡‘ãŒÃ1180Ž‘ mÏ\d@X=\cosDirection\Y@ybase‘¿ª\advance\d@X-\sinDirection\X@ybaseŽŽ¡‘ãŒÃ1181Ž‘ mÏ\d@Y=-\cosDirection\Y@xbase‘¿ª\advance\d@Y\sinDirection\X@xbaseŽŽ¡‘ãŒÃ1182Ž‘ mÏ\setupDirection@iŽŽ¡‘ãŒÃ1183Ž‘ mÏ\d@X=-\cosDirection\X@ybase‘¿ª\advance\d@X\sinDirection\X@xbaseŽŽ¡‘ãŒÃ1184Ž‘ mÏ\d@Y=-\cosDirection\Y@ybase‘¿ª\advance\d@Y\sinDirection\Y@xbaseŽŽ¡‘ãŒÃ1185Ž‘ mÏ\enter@\cplusthec@\X@c=\d@X–¿ª\Y@c=\d@Y“\leave@ŽŽ¡‘ãŒÃ1186Ž‘ûKÃÏ\czeroEdge@ŽŽ¡‘ãŒÃ1187Ž‘ mÏ\setupDirection@iŽŽ¡‘ãŒÃ1188Ž‘ mÏ\edef\next@{\egroup–¿ª\cfromthec@“\count@=\the\Direction}\next@ŽŽ¡‘ãŒÃ1189Ž‘ûKÃÏ\edef\endDirection@@{\the\count@}\idfromc@{0@c}%ŽŽ¡‘ãŒÃ1190Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1191Ž‘ûKÃÏ\count@=\startDirection@@–¿ª\relax“\count@@=\endDirection@@“\relaxŽŽ¡‘ãŒÃ1192Ž‘ûKÃÏ\DN@{^}\ifx\arcOrient@@\next@ŽŽ¡‘ãŒÃ1193Ž‘ mÏ\ifnum\count@@>\count@–¿ª\else\advance\count@@“8192“\relax\fiŽŽ¡‘ãŒÃ1194Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1195Ž‘ mÏ\ifnum\count@@<\count@–¿ª\else\advance\count@@-8192“\relax\fi\fiŽŽ¡‘ãŒÃ1196Ž‘ûKÃÏ\edef\startDirection@@{\the\count@}%ŽŽ¡‘ãŒÃ1197Ž‘ûKÃÏ\edef\endDirection@@{\the\count@@}}%ŽŽ¦‘ãŒÃ1199Ž‘õŒÏ\xydef@\doCircleSectors@{%ŽŽŽŽŒ‹ž:Á Á à ý*tj‘㌹414’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1200Ž‘ûKÃÏ\let\doCircleArc@=\doMergeEndArc@@–¿ª\leave@“\leave@ŽŽ¤ ™š‘ãŒÃ1201Ž‘ûKÃÏ\cfromid@{0@0}\pfromc@\cfromid@{0@p}\setupDirection@ŽŽ¡‘ãŒÃ1202Ž‘ûKÃÏ\count@=\Direction‘¿ª\DN@{^}\ifx\arcOrient@@\next@ŽŽ¡‘ãŒÃ1203Ž‘ mÏ\ifnum\count@>\startDirection@@–¿ª\advance\count@-8192“\fi\relaxŽŽ¡‘ãŒÃ1204Ž‘ mÏ\count@@=\count@–¿ª\advance\count@@“8192“\relaxŽŽ¡‘ãŒÃ1205Ž‘ mÏ\ifnum\count@@<\endDirection@@–¿ª\advance\count@@“8192“\fi\relaxŽŽ¡‘ãŒÃ1206Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1207Ž‘ mÏ\ifnum\count@<\startDirection@@–¿ª\advance\count@“8192“\fi\relaxŽŽ¡‘ãŒÃ1208Ž‘ mÏ\count@@=\count@–¿ª\advance\count@@-8192“\relaxŽŽ¡‘ãŒÃ1209Ž‘ mÏ\ifnum\count@@>\endDirection@@–¿ª\advance\count@@-8192“\fi\relaxŽŽ¡‘ãŒÃ1210Ž‘ûKÃÏ\fi‘¿ª\relaxŽŽ¡‘ãŒÃ1211Ž‘ûKÃÏ\edef\preDirection@@{\the\count@}\edef\postDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ1212Ž‘ûKÃÏ\cfromid@{1@c}\setupDirection@‘¿ª\count@=\DirectionŽŽ¡‘ãŒÃ1213Ž‘ûKÃÏ\def\nextii@{^}\ifx\nextii@\arcOrient@@ŽŽ¡‘ãŒÃ1214Ž‘ mÏ\DN@{\forwardSectors@\doEllipseSectors@}%ŽŽ¡‘ãŒÃ1215Ž‘ mÏ\ifnum\count@<\preDirection@@–¿ª\advance\count@“8192“\relaxŽŽ¡‘ãŒÃ1216Ž‘ mÏ\else–¿ª\count@@=\count@\advance\count@-8192“\relaxŽŽ¡‘ãŒÃ1217Ž‘ËÏ\ifnum\count@@<\preDirection@@–¿ª\else\count@=\count@@“\fi\fiŽŽ¡‘ãŒÃ1218Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1219Ž‘ mÏ\DN@{\backwardSectors@\doEllipseSectors@}%ŽŽ¡‘ãŒÃ1220Ž‘ mÏ\ifnum\count@>\preDirection@@–¿ª\advance\count@-8192“\relaxŽŽ¡‘ãŒÃ1221Ž‘ mÏ\else–¿ª\count@@=\count@\advance\count@“8192“\relaxŽŽ¡‘ãŒÃ1222Ž‘ËÏ\ifnum\count@@>\preDirection@@–¿ª\else\count@=\count@@“\fi\fiŽŽ¡‘ãŒÃ1223Ž‘ûKÃÏ\fi‘¿ª\edef\quadDirection@{\the\count@}%ŽŽ¡‘ãŒÃ1224Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸPˆ‘ãŒÃ1226Ž‘õŒÏ\xydef@\forwardSectors@{%ŽŽ¡‘ãŒÃ1227Ž‘ûKÃÏ\ifnum–¿ª\startDirection@@<\quadDirection@“\def\startSector@@{0}%ŽŽ¡‘ãŒÃ1228Ž‘ûKÃÏ\else\count@=\preDirection@@–¿ª\advance\count@“4096“\relaxŽŽ¡‘ãŒÃ1229Ž‘ mÏ\ifnum–¿ª\startDirection@@<\count@“\def\startSector@@{1}%ŽŽ¡‘ãŒÃ1230Ž‘ mÏ\else\count@=\quadDirection@–¿ª\advance\count@“4096“\relaxŽŽ¡‘ãŒÃ1231Ž‘ËÏ\ifnum\startDirection@@<\count@‘¿ª\def\startSector@@{2}%ŽŽ¡‘ãŒÃ1232Ž‘ËÏ\else‘¿ª\def\startSector@@{3}\fi\fi\fiŽŽ¡‘ãŒÃ1233Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1234Ž‘ûKÃÏ\ifnum\quadDirection@–¿ª<\endDirection@@“\relaxŽŽ¡‘ãŒÃ1235Ž‘ mÏ\count@=\preDirection@@–¿ª\advance\count@“4096“\relaxŽŽ¡‘ãŒÃ1236Ž‘ mÏ\ifnum\count@<\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1237Ž‘ËÏ\count@=\quadDirection@–¿ª\advance\count@“4096“\relaxŽŽ¡‘ãŒÃ1238Ž‘ËÏ\ifnum\count@<\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1239Ž‘ ŠÁÏ\count@=\preDirection@@–¿ª\advance\count@“8192“\relaxŽŽ¡‘ãŒÃ1240Ž‘ ŠÁÏ\ifnum\count@<\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1241Ž‘JkÏ\count@=\quadDirection@–¿ª\advance\count@“8192“\relaxŽŽ¡‘ãŒÃ1242Ž‘JkÏ\ifnum\count@<\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1243Ž‘ Ï\count@=\preDirection@@–¿ª\advance\count@“12288“\relaxŽŽ¡‘ãŒÃ1244Ž‘ Ï\ifnum\count@<\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1245Ž‘É¿Ï\count@=\quadDirection@–¿ª\advance\count@“12288“\relaxŽŽ¡‘ãŒÃ1246Ž‘É¿Ï\ifnum\count@<\endDirection@@‘¿ª\def\endSector@@{7}%ŽŽ¡‘ãŒÃ1247Ž‘É¿Ï\else‘¿ª\def\endSector@@{6}\fiŽŽ¡‘ãŒÃ1248Ž‘ Ï\else‘¿ª\def\endSector@@{5}\fiŽŽ¡‘ãŒÃ1249Ž‘JkÏ\else‘¿ª\def\endSector@@{4}\fiŽŽŽŽŒ‹ŸG- Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹415ŽŽ ¶?? ýh«w‘ãŒÃ1250Ž‘ ŠÁÏ\else‘¿ª\def\endSector@@{3}\fiŽŽ¤ ™š‘ãŒÃ1251Ž‘ËÏ\else‘¿ª\def\endSector@@{2}\fiŽŽ¡‘ãŒÃ1252Ž‘ mÏ\else‘¿ª\def\endSector@@{1}\fiŽŽ¡‘ãŒÃ1253Ž‘ûKÃÏ\else–¿ª\def\endSector@@{0}\fi“}ŽŽ©Pˆ‘ãŒÃ1255Ž‘õŒÏ\xydef@\backwardSectors@{%ŽŽ¡‘ãŒÃ1256Ž‘ûKÃÏ\ifnum–¿ª\startDirection@@>\quadDirection@“\def\startSector@@{0}%ŽŽ¡‘ãŒÃ1257Ž‘ûKÃÏ\else\count@=\preDirection@@–¿ª\advance\count@-4096“\relaxŽŽ¡‘ãŒÃ1258Ž‘ mÏ\ifnum–¿ª\startDirection@@>\count@“\def\startSector@@{1}%ŽŽ¡‘ãŒÃ1259Ž‘ mÏ\else\count@=\quadDirection@–¿ª\advance\count@-4096“\relaxŽŽ¡‘ãŒÃ1260Ž‘ËÏ\ifnum\startDirection@@>\count@‘¿ª\def\startSector@@{2}%ŽŽ¡‘ãŒÃ1261Ž‘ËÏ\else‘¿ª\def\startSector@@{3}\fi\fi\fiŽŽ¡‘ãŒÃ1262Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1263Ž‘ûKÃÏ\ifnum\quadDirection@>\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1264Ž‘ mÏ\count@=\preDirection@@–¿ª\advance\count@-4096“\relaxŽŽ¡‘ãŒÃ1265Ž‘ mÏ\ifnum\count@>\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1266Ž‘ËÏ\count@=\quadDirection@–¿ª\advance\count@-4096“\relaxŽŽ¡‘ãŒÃ1267Ž‘ËÏ\ifnum\count@>\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1268Ž‘ ŠÁÏ\count@=\preDirection@@–¿ª\advance\count@-8192“\relaxŽŽ¡‘ãŒÃ1269Ž‘ ŠÁÏ\ifnum\count@>\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1270Ž‘JkÏ\count@=\quadDirection@–¿ª\advance\count@-8192“\relaxŽŽ¡‘ãŒÃ1271Ž‘JkÏ\ifnum\count@>\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1272Ž‘ Ï\count@=\preDirection@@–¿ª\advance\count@-12288“\relaxŽŽ¡‘ãŒÃ1273Ž‘ Ï\ifnum\count@>\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1274Ž‘É¿Ï\count@=\quadDirection@–¿ª\advance\count@-12288“\relaxŽŽ¡‘ãŒÃ1275Ž‘É¿Ï\ifnum\count@>\endDirection@@‘¿ª\def\endSector@@{7}%ŽŽ¡‘ãŒÃ1276Ž‘É¿Ï\else‘¿ª\def\endSector@@{6}\fiŽŽ¡‘ãŒÃ1277Ž‘ Ï\else‘¿ª\def\endSector@@{5}\fiŽŽ¡‘ãŒÃ1278Ž‘JkÏ\else‘¿ª\def\endSector@@{4}\fiŽŽ¡‘ãŒÃ1279Ž‘ ŠÁÏ\else‘¿ª\def\endSector@@{3}\fiŽŽ¡‘ãŒÃ1280Ž‘ËÏ\else‘¿ª\def\endSector@@{2}\fiŽŽ¡‘ãŒÃ1281Ž‘ mÏ\else‘¿ª\def\endSector@@{1}\fiŽŽ¡‘ãŒÃ1282Ž‘ûKÃÏ\else–¿ª\def\endSector@@{0}\fi“}ŽŽ¦‘ãŒÃ1284Ž‘õŒÏ\xydef@\doEllipseSectors@{%ŽŽ¡‘ãŒÃ1285Ž‘ûKÃÏ\ifx\startSector@@\endSector@@ŽŽ¡‘ãŒÃ1286Ž‘ mÏ\DN@{\expandafter\doMergeBothArc@\expandafter{\arcSTYLE}{\endSector@@}}%ŽŽ¡‘ãŒÃ1287Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1288Ž‘ËÏ\expandafter\doMergeStartArc@\expandafter{\arcSTYLE}{\startSector@@}%ŽŽ¡‘ãŒÃ1289Ž‘ mÏ\edef\countArcs@@{\startSector@@}%ŽŽ¡‘ãŒÃ1290Ž‘ mÏ\loop@–¿ª\count@=\countArcs@@“\relax“\advance\count@\@neŽŽ¡‘ãŒÃ1291Ž‘ËÏ\ifnum–¿ª\count@“<“\endSector@@“\edef\countArcs@@{\the\count@}%ŽŽ¡‘ãŒÃ1292Ž‘ ŠÁÏ\bgroup\expandafter\doCircleArc@@\expandafter{\arcSTYLE}{\countArcs@@}%ŽŽ¡‘ãŒÃ1293Ž‘ ŠÁÏ\egroupŽŽ¡‘ãŒÃ1294Ž‘ mÏ\repeat@ŽŽ¡‘ãŒÃ1295Ž‘ mÏ\DN@{\expandafter\doMergeEndArc@\expandafter{\arcSTYLE}{\endSector@@}}%ŽŽ¡‘ãŒÃ1296Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŸ–‘ãŒÔparsing––Aof“directions‘ ó5¹When–ýthe“starting“direction“is“along“the“line“Ÿúã‰fe ?vŸêÄpcŽŽ‘9¨¹then“a“straighš²!t“segmen˜t“isŽ¡‘ãŒtš²!ypMÞeset,–¦fignoring“an˜y“requested“ending“direction.ަ‘ãŒÃ1303Ž‘õŒÏ\xydef@\checkstartDirection@{%ŽŽŽŽŒ‹ T} Á à ý*tj‘㌹416’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1304Ž‘ûKÃÏ\bgroup\no@@‘¿ª\edef\next@{\egroup\count@@=\the\Direction}\next@\relaxŽŽ¤ ™š‘ãŒÃ1305Ž‘ûKÃÏ\ifnum\count@@=\startDirection@@–¿ª\relax“\DN@{\straightArc@}%ŽŽ¡‘ãŒÃ1306Ž‘ûKÃÏ\else–¿ª\advance\count@@-\startDirection@@“\relaxŽŽ¡‘ãŒÃ1307Ž‘ mÏ\ifnum\count@@=\ifnum\count@@<\z@-\fi–¿ª4096“\relax“\DN@{\straightArc@}%ŽŽ¡‘ãŒÃ1308Ž‘ mÏ\else–¿ª\DN@{\processDirections@@}\fi\fi“\next@“}ŽŽ©Pˆ‘ãŒÃ1310Ž‘õŒÏ\xydef@\straightArc@{\xywarning@{straight–¿ªarc“encountered}%ŽŽ¡‘ãŒÃ1311Ž‘ûKÃÏ\xy@@{\let\bstartPLACE@=\relaxŽŽ¡‘ãŒÃ1312Ž‘ mÏ\expandafter\doStraightArc@@\expandafter{\arcSTYLE}}\endarc@‘¿ª}%ŽŽŸv‘ãŒÃ1318Ž‘õŒÏ\xydef@\skewEllipse@{\xy@@{\doskewEllipse@}%ŽŽ¡‘ãŒÃ1319Ž‘ûKÃÏ\def\afterARCextents@@{\xy@{aftARCext}{\let\doCircleArc@=\doMergeEndArc@@}%ŽŽ¡‘ãŒÃ1320Ž‘ mÏ\ellipseArc@–¿ª\xy@{doCircARCs}{\doCircleArcs@}\endarc@“}%ŽŽ¡‘ãŒÃ1321Ž‘ûKÃÏ\let\arcScale@=\relax‘¿ª\def\arcRadius@{}\def\ellipseRatio@{}}ŽŽ¦‘ãŒÃ1323Ž‘õŒÏ\xydef@\skewCircle@{\xy@@{\setupDirection@}%ŽŽ¡‘ãŒÃ1324Ž‘ûKÃÏ\ifnum\Direction=\startDirection@@\relax\DN@{\halfEllipse@{1}}%ŽŽ¡‘ãŒÃ1325Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1326Ž‘ mÏ\xy@@{\def\startDirection@{\Direction=\startDirection@@\imposeDirection@}%ŽŽ¡‘ãŒÃ1327Ž‘ËÏ\cfromid@{0@p}\enter@\cplusthec@‘¿ª\startDirection@ŽŽ¡‘ãŒÃ1328Ž‘ËÏ\enter@\relax\begingroup\vfromslide@i{}@\czeroEdge@\leave@\idfromc@{0@m}%ŽŽ¡‘ãŒÃ1329Ž‘ËÏ\let\endDirection@=\relax‘¿ª\let\doCircleArc@=\doMergeEndArc@@}%ŽŽ¡‘ãŒÃ1330Ž‘ mÏ\DN@{\circleArc@}%ŽŽ¡‘ãŒÃ1331Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ1333Ž‘õŒÏ\xydef@\doskewEllipse@{%ŽŽ¡‘ãŒÃ1334Ž‘ûKÃÏ\def\startDirection@{\Direction=\startDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1335Ž‘ mÏ\imposeDirection@}\startDirection@‘¿ª\cfromid@{0@p}%ŽŽ¡‘ãŒÃ1336Ž‘ûKÃÏ\enter@\cplusthec@‘¿ª\enter@\relax\begingroup\vfromslide@i{}@\leave@ŽŽ¡‘ãŒÃ1337Ž‘ûKÃÏ\idfromc@{0@x}%ŽŽ¡‘ãŒÃ1338Ž‘ûKÃÏ\ifx\endDirection@@\empty‘¿ª\parallelDirection@ŽŽ¡‘ãŒÃ1339Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1340Ž‘ mÏ\def\endDirection@{\Direction=\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1341Ž‘ËÏ\imposeDirection@–¿ª}\endDirection@“\skewEllB@ŽŽ¡‘ãŒÃ1342Ž‘ mÏ\bgroup\setupDirection@\edef\next@{\egroup\count@@=\the\Direction}\next@ŽŽ¡‘ãŒÃ1343Ž‘ mÏ\edef\endDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ1344Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ1345Ž‘ûKÃÏ\cfromid@{0@p}\bgroup‘¿ª\setupDirection@ŽŽ¡‘ãŒÃ1346Ž‘ mÏ\edef\next@{\egroup‘¿ª\count@@=\the\Direction}\next@ŽŽ¡‘ãŒÃ1347Ž‘ûKÃÏ\edef\startDirection@@{\the\count@@}}ŽŽ¦‘ãŒÃ1349Ž‘õŒÏ\xydef@\halfEllipse@#1{\xy@@{%ŽŽ¡‘ãŒÃ1350Ž‘ûKÃÏ\cfromid@{0@p}\pfromc@\cfromid@{0@c}\no@@ŽŽ¡‘ãŒÃ1351Ž‘ûKÃÏ\edef\endDirection@@{\the\Direction}%ŽŽ¡‘ãŒÃ1352Ž‘ûKÃÏ\advance\X@c\X@p–¿ª\divide\X@c\tw@“\advance\Y@c\Y@p“\divide\Y@c\tw@ŽŽ¡‘ãŒÃ1353Ž‘ûKÃÏ\idfromc@{0@0}\pfromc@‘¿ª\cfromid@{0@p}\setbase@\X@p\Y@p\X@c\Y@cŽŽ¡‘ãŒÃ1354Ž‘ûKÃÏ\dimen@=\X@origin–¿ª\advance\dimen@-\X@c“\dimen@ii=\cosDirection\dimen@ŽŽ¡‘ãŒÃ1355Ž‘ûKÃÏ\dimen@=\Y@origin–¿ª\advance\dimen@-\Y@c“\advance\dimen@ii“\sinDirection\dimen@ŽŽ¡‘ãŒÃ1356Ž‘ûKÃÏ\X@c=\X@origin–¿ª\Y@c=\Y@origin“\enter@\cplusthec@ŽŽ¡‘ãŒÃ1357Ž‘ûKÃÏ\dimen@=#1\p@–¿ª\ifdim\dimen@<\z@“\DN@{^}\dimen@ii=-#1\dimen@iiŽŽ¡‘ãŒÃ1358Ž‘ mÏ\ifx\next@\arcOrient@@\def\arcOrient@@{_}\else\def\arcOrient@@{^}\fiŽŽ¡‘ãŒÃ1359Ž‘ûKÃÏ\else‘¿ª\dimen@ii=#1\dimen@ii\fiŽŽŽŽŒ‹¡a Á à ý*tj‘ãŒÑ3.9.‘„CCIRš²!CLE,–¦fELLIPSE,“AR˜C“FEA‘ÿeTURE’_±¹417ŽŽ ¶?? ýh«w‘ãŒÃ1360Ž‘ûKÃÏ\startDirection@‘¿ª\enter@\relax\begingroup\expandafterŽŽ¤ ™š‘ãŒÃ1361Ž‘ mÏ\vfromslide@i\expandafter{\the\dimen@ii}@\leave@ŽŽ¡‘ãŒÃ1362Ž‘ûKÃÏ\idfromc@{1@c}\setbase@@–¿ª\X@c“\Y@c“\adjustBaseOrient@ŽŽ¡‘ãŒÃ1363Ž‘ûKÃÏ\count@@=\endDirection@@‘¿ª\relaxŽŽ¡‘ãŒÃ1364Ž‘ûKÃÏ\DN@{^}\advance\count@@\ifx\arcOrient@@\next@\else-\fi–¿ª4096“\relaxŽŽ¡‘ãŒÃ1365Ž‘ûKÃÏ\edef\startDirection@@{\the\count@@}%ŽŽ¡‘ãŒÃ1366Ž‘ûKÃÏ\def\startDirection@{\Direction=\startDirection@@–¿ª\imposeDirection@“}%ŽŽ¡‘ãŒÃ1367Ž‘ûKÃÏ\let\doCircleArc@=\doMergeEndArc@@‘¿ª}%ŽŽ¡‘ãŒÃ1368Ž‘ûKÃÏ\let\arcScale@=\relax‘¿ª\ellipseArc@ŽŽ¡‘ãŒÃ1369Ž‘õŒÏ%–¿ª\xy@@{\leave@“\doCircleArcs@}\endarc@“}ŽŽ¡‘ãŒÃ1370Ž‘ûKÃÏ\xy@@{\doCircleArcs@}\endarc@‘¿ª}ŽŽ¤Pˆ‘ãŒÃ1372Ž‘õŒÏ\xydef@\parallelDirection@{\show\parallelDirection@}%ŽŽ¡‘ãŒÃ1374Ž‘õŒÏ\xydef@\parEllipse@#1#2{\DN@{#2}\ifx\next@\emptyŽŽ© ™š‘ãŒÃ1375Ž‘ûKÃÏ\else\xywarning@{\omittingTokens@–¿ª}\fi“\halfEllipse@{#1}}ŽŽ¡‘ãŒÃ1377Ž‘õŒÏ\xydef@\skewEllB@{\cfromid@{0@c}\pfromc@\enter@\cplusthec@ŽŽ¦‘ãŒÃ1378Ž‘ûKÃÏ\enter@\relax\begingroup\vfromslide@i{}@\leave@ŽŽ¦‘ãŒÃ1379Ž‘ûKÃÏ\enter@{\pfromthep@\basefromthebase@}\no@@ŽŽ¦‘ãŒÃ1380Ž‘ûKÃÏ\bgroup‘¿ª\cfromid@{0@p}\pfromc@\cfromid@{0@x}\edef\next@{\egroupŽŽ¦‘ãŒÃ1381Ž‘ mÏ\X@c–¿ª=\the\X@c“\Y@c=\the\Y@c“\X@p=\the\X@p“\Y@p=\the\Y@p“}\next@ŽŽ¦‘ãŒÃ1382Ž‘ûKÃÏ\Cintercept@@\leave@‘¿ª\idfromc@{0@x}\cfromid@{0@p}\enter@\cplusthec@ŽŽ¦‘ãŒÃ1383Ž‘ûKÃÏ\cfromid@{0@c}\leave@–¿ª\enter@\cplusthec@“\cfromid@{0@x}%ŽŽ¦‘ãŒÃ1384Ž‘ûKÃÏ\X@c=-\X@c–¿ª\Y@c=-\Y@c“\leave@“\idfromc@{0@0}\pfromc@\cfromid@{0@p}%ŽŽ¦‘ãŒÃ1385Ž‘ûKÃÏ\setbase@\X@p\Y@p\X@c\Y@c‘¿ª\cfromid@{0@c}\setbase@@\X@c\Y@cŽŽ¦‘ãŒÃ1386Ž‘ûKÃÏ\adjustBaseOrient@‘¿ª}ŽŽ¡‘ãŒÃ1388Ž‘õŒÏ\xydef@\adjustBaseOrient@{%ŽŽ¦‘ãŒÃ1389Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\X@xbase}\dimen@=\Y@ybaseŽŽ¦‘ãŒÃ1390Ž‘ûKÃÏ\divide\dimen@–¿ª64“\relax“\dimen@ii=\tmp@\dimen@ŽŽ¦‘ãŒÃ1391Ž‘ûKÃÏ\edef\tmp@{\expandafter\removePT@\the\X@ybase}\dimen@=\Y@xbaseŽŽ¦‘ãŒÃ1392Ž‘ûKÃÏ\divide\dimen@–¿ª64“\relax“\dimen@=\tmp@\dimen@ŽŽ¦‘ãŒÃ1393Ž‘ûKÃÏ\ifdim\dimen@>\dimen@ii–¿ª\X@ybase=-\X@ybase“\Y@ybase=-\Y@ybase“\fi“}ŽŽŸ$¤}‘ãŒÔThe–2end“&“LogŽ¡‘ãŒÃ1409Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ1411Ž‘õŒÏ%–¿ª$Log:“xyarc.doc,v“$ŽŽ¦‘ãŒÃ1412Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¦‘ãŒÃ1413Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽ¦‘ãŒÃ1414Ž‘õŒÏ%ŽŽ¦‘ãŒÃ1415Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/18“14:21:23˜rossŽŽ¦‘ãŒÃ1416Ž‘õŒÏ%–¿ªRoss's“versionŽŽ¦‘ãŒÃ1417Ž‘õŒÏ%ŽŽ¦‘ãŒÃ1418Ž‘õŒÏ%–¿ªRevision“3.3.1.1– T1996/12/18“08:50:58“rossŽŽ¦‘ãŒÃ1419Ž‘õŒÏ%–¿ª***“empty“log“message“***ŽŽ¦‘ãŒÃ1420Ž‘õŒÏ%ŽŽ¦‘ãŒÃ1421Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:20:20“rossŽŽ¦‘ãŒÃ1422Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¦‘ãŒÃ1423Ž‘õŒÏ%ŽŽ¦‘ãŒÃ1424Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽŽŽŒ‹¢n„ Á à ý*tj‘㌹418’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1425Ž‘õŒÏ%‘¿ªRelease!ŽŽ¤ ™š‘ãŒÃ1426Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1427Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ1428Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ1429Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1430Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ1431Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ1432Ž‘õŒÏ%ŽŽ¡‘ãŒÃ1433Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ,F‘ãŒÝ3.10Ž‘ŒKnots–ffand“Links“featureŽŸq‹‘ãŒæV‘ÿ «ers.‘p3.4–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ«ÿ‘㌹This–/Áfeature“proš²!vides“a“language“for“spMÞecifying“knots,‘’links“and“general“arrangemen˜ts“of“crossingŽ¡‘ãŒstrings.ŽŸô‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyknot.doc,v“3.4“1997/05/18“01:13:24“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Knots“and“Links''“feature.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1994-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“macro“package;“if“not,“write“to“the“Free“Software“Foundation,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ªInc.,“675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{knot}{Knots–¿ªand“Links“feature}{\stripRCS$Revision:“3.4“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ?¸‘ôŒÔT‘þó\o‘2Do:‘ÝݹDoMÞcumen²!t–¦fthis“feature!ަ‘ãŒÃ44Ž‘õŒÏ\message{knots–¿ªand“links,}ŽŽŽŽŒ‹£zl Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹419ŽŽ ¶?? ýh«w‘ôŒThis‘ùmÏknotŽ‘ñ‚¹feature–ùmis“really“a“`construction“kit',‘proš²!viding“pieces“whic˜h“ma˜y“bMÞe“placed“appropriatelyޤ ™š‘ãŒto–µéform“knots“and“links.‘ fThe“tš²!ypMÞes“of“pieces“pro˜vided“are“of“t˜w˜o“kinds:‘üãthe“\crossings",‘¹Êrepresen˜tingŽ¡‘ãŒone–ô£string“crossing“o•²!v“er–ô£or“under“another;‘/åand“\joins"“whicš²!h“are“used“to“connect“what“w˜ould“otherwiseŽ¡‘ãŒb•MÞe›¬lo“ose˜ends.‘«ŸSev•²!eral˜t“ypMÞes˜of˜eac“h˜are˜pro“vided,‘-Ñalong˜with˜a˜simple˜w“a“y˜of˜spMÞecifying˜where˜to˜placeŽ¡‘ãŒarro²!wheads–¦fand“labMÞels.Ž© ‘‘ôŒAll–†°the“pieces“ultimately“use“curv²!es“from“the“ÏcurveŽ‘%˲¹extension,‘¾Ãusually“indirectly“via“the“ÏarrowŽŽ¡‘㌹feature.‘«As–@&suc²!h,‘f•prošMÞcessing“can“b˜e“memory-in•²!tensiv“e–@&and“maš²!y“seem“rather“slo˜w.‘«All“the“w˜arningsŽ¡‘ãŒand– yadvice“givš²!en“elsewhere“on“tec˜hniques“to“handle“pages“and“individual“diagrams“with“man˜y“curv˜esŽ¡‘ãŒare–¦fespMÞecially“applicable“when“using“this“feature.ަ‘ôŒMost–¦fconstructions“use“Ï\arŽ‘‹Ê¹so“mak²!e“sure“this“feature“is“loaded.ŽŸPˆ‘ãŒÃ158Ž‘õŒÏ\xyrequire{arrow}\xycatcodesŽŽŸSàŸŸØE>‘&¯Vïps: SDict begin xyc end‘ïE" {mark 18.0 0.0 22.5 0.0 25.875 -1.125 28.3125 -2.4375 0.0 0.0 bz}xyïM" {mark 28.3125 -2.4375 30.75 -3.75 32.25 -5.25 33.5625 -7.6875 0.0 0.0 bz}xyïJ" {mark 33.5625 -7.6875 34.875 -10.125 36.0 -13.5 36.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘ïE" {mark 18.0 0.0 22.5 0.0 25.875 -1.125 28.3125 -2.4375 0.0 1.0 bz}xyïM" {mark 28.3125 -2.4375 30.75 -3.75 32.25 -5.25 33.5625 -7.6875 0.0 1.0 bz}xyïJ" {mark 33.5625 -7.6875 34.875 -10.125 36.0 -13.5 36.0 -18.0 0.0 1.0 bz}xyŽŽŽ‘ïE" {mark 18.0 0.0 22.5 0.0 25.875 -1.125 28.3125 -2.4375 1.0 1.0 bz}xyïM" {mark 28.3125 -2.4375 30.75 -3.75 32.25 -5.25 33.5625 -7.6875 1.0 1.0 bz}xyïJ" {mark 33.5625 -7.6875 34.875 -10.125 36.0 -13.5 36.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘ïJ" {mark 18.0 -18.0 18.0 -13.5 19.125 -10.125 20.4375 -7.6875 0.0 0.0 bz}xyïM" {mark 20.4375 -7.6875 21.75 -5.25 23.25 -3.75 25.6875 -2.4375 0.0 0.0 bz}xyïE" {mark 25.6875 -2.4375 28.125 -1.125 31.5 0.0 36.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ïJ" {mark 18.0 -18.0 18.0 -13.5 19.125 -10.125 20.4375 -7.6875 0.0 1.0 bz}xyïQ" {mark 20.4375 -7.6875 21.75 -5.25 23.25 -3.75 25.6875 -2.4375 0.0 0.83513 bz}xyïE" {mark 25.6875 -2.4375 28.125 -1.125 31.5 0.0 36.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ïJ" {mark 18.0 -18.0 18.0 -13.5 19.125 -10.125 20.4375 -7.6875 1.0 1.0 bz}xyïM" {mark 20.4375 -7.6875 21.75 -5.25 23.25 -3.75 25.6875 -2.4375 1.0 1.0 bz}xyïI" {mark 25.6875 -2.4375 28.125 -1.125 31.5 0.0 36.0 0.0 0.44899 1.0 bz}xyŽŽŽ‘ïJ" {mark 18.0 -18.0 18.0 -13.5 19.125 -10.125 20.4375 -7.6875 1.0 1.0 bz}xyïM" {mark 20.4375 -7.6875 21.75 -5.25 23.25 -3.75 25.6875 -2.4375 1.0 1.0 bz}xyïE" {mark 25.6875 -2.4375 28.125 -1.125 31.5 0.0 36.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ï:" {mark 18.0 0.0 9.0 0.0 4.5 -4.5 2.25 -9.75 0.0 0.0 bz}xyï@" {mark 2.25 -9.75 0.0 -15.0 0.0 -21.0 2.25 -26.25 0.0 0.0 bz}xyï@" {mark 2.25 -26.25 4.5 -31.5 9.0 -36.0 18.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘¢íŸ Gï" {-3372 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ï:" {mark 18.0 0.0 9.0 0.0 4.5 -4.5 2.25 -9.75 0.0 1.0 bz}xyï@" {mark 2.25 -9.75 0.0 -15.0 0.0 -21.0 2.25 -26.25 0.0 1.0 bz}xyï@" {mark 2.25 -26.25 4.5 -31.5 9.0 -36.0 18.0 -36.0 0.0 1.0 bz}xyŽŽŽ‘ï:" {mark 18.0 0.0 9.0 0.0 4.5 -4.5 2.25 -9.75 1.0 1.0 bz}xyï@" {mark 2.25 -9.75 0.0 -15.0 0.0 -21.0 2.25 -26.25 1.0 1.0 bz}xyï@" {mark 2.25 -26.25 4.5 -31.5 9.0 -36.0 18.0 -36.0 1.0 1.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -36.0 31.5 -36.0 28.125 -34.875 25.6875 -33.5625 0.0 0.0 bz}xyïQ" {mark 25.6875 -33.5625 23.25 -32.25 21.75 -30.75 20.4375 -28.3125 0.0 0.0 bz}xyïK" {mark 20.4375 -28.3125 19.125 -25.875 18.0 -22.5 18.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -36.0 31.5 -36.0 28.125 -34.875 25.6875 -33.5625 0.0 1.0 bz}xyïQ" {mark 25.6875 -33.5625 23.25 -32.25 21.75 -30.75 20.4375 -28.3125 0.0 1.0 bz}xyïK" {mark 20.4375 -28.3125 19.125 -25.875 18.0 -22.5 18.0 -18.0 0.0 1.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -36.0 31.5 -36.0 28.125 -34.875 25.6875 -33.5625 1.0 1.0 bz}xyïQ" {mark 25.6875 -33.5625 23.25 -32.25 21.75 -30.75 20.4375 -28.3125 1.0 1.0 bz}xyïK" {mark 20.4375 -28.3125 19.125 -25.875 18.0 -22.5 18.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -18.0 36.0 -22.5 34.875 -25.875 33.5625 -28.3125 0.0 0.0 bz}xyïQ" {mark 33.5625 -28.3125 32.25 -30.75 30.75 -32.25 28.3125 -33.5625 0.0 0.0 bz}xyïK" {mark 28.3125 -33.5625 25.875 -34.875 22.5 -36.0 18.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -18.0 36.0 -22.5 34.875 -25.875 33.5625 -28.3125 0.0 1.0 bz}xyïU" {mark 33.5625 -28.3125 32.25 -30.75 30.75 -32.25 28.3125 -33.5625 0.0 0.83513 bz}xyïK" {mark 28.3125 -33.5625 25.875 -34.875 22.5 -36.0 18.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -18.0 36.0 -22.5 34.875 -25.875 33.5625 -28.3125 1.0 1.0 bz}xyïQ" {mark 33.5625 -28.3125 32.25 -30.75 30.75 -32.25 28.3125 -33.5625 1.0 1.0 bz}xyïO" {mark 28.3125 -33.5625 25.875 -34.875 22.5 -36.0 18.0 -36.0 0.44899 1.0 bz}xyŽŽŽ‘ïK" {mark 36.0 -18.0 36.0 -22.5 34.875 -25.875 33.5625 -28.3125 1.0 1.0 bz}xyïQ" {mark 33.5625 -28.3125 32.25 -30.75 30.75 -32.25 28.3125 -33.5625 1.0 1.0 bz}xyïK" {mark 28.3125 -33.5625 25.875 -34.875 22.5 -36.0 18.0 -36.0 1.0 1.0 bz}xyŽŽŽ‘ïC" {mark 36.0 -36.0 45.0 -36.0 49.5 -31.5 51.75 -26.25 0.0 0.0 bz}xyïD" {mark 51.75 -26.25 54.0 -21.0 54.0 -15.0 51.75 -9.75 0.0 0.0 bz}xyï=" {mark 51.75 -9.75 49.5 -4.5 45.0 0.0 36.0 0.0 0.0 0.0 bz}xyŽŽŽ‘F禟 3ïï" {1316 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ïC" {mark 36.0 -36.0 45.0 -36.0 49.5 -31.5 51.75 -26.25 0.0 1.0 bz}xyïD" {mark 51.75 -26.25 54.0 -21.0 54.0 -15.0 51.75 -9.75 0.0 1.0 bz}xyï=" {mark 51.75 -9.75 49.5 -4.5 45.0 0.0 36.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ïC" {mark 36.0 -36.0 45.0 -36.0 49.5 -31.5 51.75 -26.25 1.0 1.0 bz}xyïD" {mark 51.75 -26.25 54.0 -21.0 54.0 -15.0 51.75 -9.75 1.0 1.0 bz}xyï=" {mark 51.75 -9.75 49.5 -4.5 45.0 0.0 36.0 0.0 1.0 1.0 bz}xyŽŽŽŽŽŽŽ¡‘@<&²simple‘UUlinkŽŽŸêE>’À,-ïps: SDict begin xyc endïA" {mark 36.0 18.0 36.0 31.5 33.75 36.0 31.125 38.25 0.0 0.0 bz}xyïC" {mark 31.125 38.25 28.5 40.5 25.5 40.5 22.875 38.25 0.0 0.0 bz}xyïA" {mark 22.875 38.25 20.25 36.0 18.0 31.5 18.0 18.0 0.0 0.0 bz}xyŽŽŽïE" {mark 36.0 18.0 36.0 31.5 33.75 36.0 31.125 38.25 0.0 0.11824 bz}xyïC" {mark 31.125 38.25 28.5 40.5 25.5 40.5 22.875 38.25 0.0 0.0 bz}xyïA" {mark 22.875 38.25 20.25 36.0 18.0 31.5 18.0 18.0 0.0 0.0 bz}xyŽŽŽïE" {mark 36.0 18.0 36.0 31.5 33.75 36.0 31.125 38.25 0.28189 1.0 bz}xyïC" {mark 31.125 38.25 28.5 40.5 25.5 40.5 22.875 38.25 0.0 0.5 bz}xyïA" {mark 22.875 38.25 20.25 36.0 18.0 31.5 18.0 18.0 0.0 0.0 bz}xyŽŽŽïA" {mark 36.0 18.0 36.0 31.5 33.75 36.0 31.125 38.25 1.0 1.0 bz}xyïC" {mark 31.125 38.25 28.5 40.5 25.5 40.5 22.875 38.25 0.5 1.0 bz}xyïA" {mark 22.875 38.25 20.25 36.0 18.0 31.5 18.0 18.0 0.0 1.0 bz}xyŽŽŽïA" {mark 36.0 18.0 36.0 31.5 33.75 36.0 31.125 38.25 1.0 1.0 bz}xyïC" {mark 31.125 38.25 28.5 40.5 25.5 40.5 22.875 38.25 1.0 1.0 bz}xyïA" {mark 22.875 38.25 20.25 36.0 18.0 31.5 18.0 18.0 1.0 1.0 bz}xyŽŽŽïE" {mark 18.0 18.0 18.0 13.5 21.375 11.25 23.8125 10.125 0.0 0.0 bz}xyïF" {mark 23.8125 10.125 26.25 9.0 27.75 9.0 30.1875 7.875 0.0 0.0 bz}xyïA" {mark 30.1875 7.875 32.625 6.75 36.0 4.5 36.0 0.0 0.0 0.0 bz}xyŽŽŽïE" {mark 18.0 18.0 18.0 13.5 21.375 11.25 23.8125 10.125 0.0 1.0 bz}xyïJ" {mark 23.8125 10.125 26.25 9.0 27.75 9.0 30.1875 7.875 0.0 0.09744 bz}xyïA" {mark 30.1875 7.875 32.625 6.75 36.0 4.5 36.0 0.0 0.0 0.0 bz}xyŽŽŽïE" {mark 18.0 18.0 18.0 13.5 21.375 11.25 23.8125 10.125 1.0 1.0 bz}xyïJ" {mark 23.8125 10.125 26.25 9.0 27.75 9.0 30.1875 7.875 0.90256 1.0 bz}xyïA" {mark 30.1875 7.875 32.625 6.75 36.0 4.5 36.0 0.0 0.0 1.0 bz}xyŽŽŽïE" {mark 18.0 18.0 18.0 13.5 21.375 11.25 23.8125 10.125 1.0 1.0 bz}xyïF" {mark 23.8125 10.125 26.25 9.0 27.75 9.0 30.1875 7.875 1.0 1.0 bz}xyïA" {mark 30.1875 7.875 32.625 6.75 36.0 4.5 36.0 0.0 1.0 1.0 bz}xyŽŽŽïA" {mark 18.0 0.0 18.0 4.5 21.375 6.75 23.8125 7.875 0.0 0.0 bz}xyïF" {mark 23.8125 7.875 26.25 9.0 27.75 9.0 30.1875 10.125 0.0 0.0 bz}xyïE" {mark 30.1875 10.125 32.625 11.25 36.0 13.5 36.0 18.0 0.0 0.0 bz}xyŽŽŽïA" {mark 18.0 0.0 18.0 4.5 21.375 6.75 23.8125 7.875 0.0 1.0 bz}xyïF" {mark 23.8125 7.875 26.25 9.0 27.75 9.0 30.1875 10.125 0.0 1.0 bz}xyïE" {mark 30.1875 10.125 32.625 11.25 36.0 13.5 36.0 18.0 0.0 1.0 bz}xyŽŽŽïA" {mark 18.0 0.0 18.0 4.5 21.375 6.75 23.8125 7.875 1.0 1.0 bz}xyïF" {mark 23.8125 7.875 26.25 9.0 27.75 9.0 30.1875 10.125 1.0 1.0 bz}xyïE" {mark 30.1875 10.125 32.625 11.25 36.0 13.5 36.0 18.0 1.0 1.0 bz}xyŽŽŽïK" {mark 36.0 -18.0 31.5 -18.0 28.125 -16.875 25.6875 -15.5625 0.0 0.0 bz}xyïQ" {mark 25.6875 -15.5625 23.25 -14.25 21.75 -12.75 20.4375 -10.3125 0.0 0.0 bz}xyïG" {mark 20.4375 -10.3125 19.125 -7.875 18.0 -4.5 18.0 0.0 0.0 0.0 bz}xyŽŽŽïO" {mark 36.0 -18.0 31.5 -18.0 28.125 -16.875 25.6875 -15.5625 0.0 0.55101 bz}xyïQ" {mark 25.6875 -15.5625 23.25 -14.25 21.75 -12.75 20.4375 -10.3125 0.0 0.0 bz}xyïG" {mark 20.4375 -10.3125 19.125 -7.875 18.0 -4.5 18.0 0.0 0.0 0.0 bz}xyŽŽŽïK" {mark 36.0 -18.0 31.5 -18.0 28.125 -16.875 25.6875 -15.5625 1.0 1.0 bz}xyïU" {mark 25.6875 -15.5625 23.25 -14.25 21.75 -12.75 20.4375 -10.3125 0.16487 1.0 bz}xyïG" {mark 20.4375 -10.3125 19.125 -7.875 18.0 -4.5 18.0 0.0 0.0 1.0 bz}xyŽŽŽïK" {mark 36.0 -18.0 31.5 -18.0 28.125 -16.875 25.6875 -15.5625 1.0 1.0 bz}xyïQ" {mark 25.6875 -15.5625 23.25 -14.25 21.75 -12.75 20.4375 -10.3125 1.0 1.0 bz}xyïG" {mark 20.4375 -10.3125 19.125 -7.875 18.0 -4.5 18.0 0.0 1.0 1.0 bz}xyŽŽŽïG" {mark 36.0 0.0 36.0 -4.5 34.875 -7.875 33.5625 -10.3125 0.0 0.0 bz}xyïQ" {mark 33.5625 -10.3125 32.25 -12.75 30.75 -14.25 28.3125 -15.5625 0.0 0.0 bz}xyïK" {mark 28.3125 -15.5625 25.875 -16.875 22.5 -18.0 18.0 -18.0 0.0 0.0 bz}xyŽŽŽïG" {mark 36.0 0.0 36.0 -4.5 34.875 -7.875 33.5625 -10.3125 0.0 1.0 bz}xyïQ" {mark 33.5625 -10.3125 32.25 -12.75 30.75 -14.25 28.3125 -15.5625 0.0 1.0 bz}xyïK" {mark 28.3125 -15.5625 25.875 -16.875 22.5 -18.0 18.0 -18.0 0.0 1.0 bz}xyŽŽŽïG" {mark 36.0 0.0 36.0 -4.5 34.875 -7.875 33.5625 -10.3125 1.0 1.0 bz}xyïQ" {mark 33.5625 -10.3125 32.25 -12.75 30.75 -14.25 28.3125 -15.5625 1.0 1.0 bz}xyïK" {mark 28.3125 -15.5625 25.875 -16.875 22.5 -18.0 18.0 -18.0 1.0 1.0 bz}xyŽŽŽï1" {mark 0.0 0.0 0.0 -18.0 18.0 -18.0 0.0 0.0 q}xyŽŽŽï1" {mark 0.0 0.0 0.0 -18.0 18.0 -18.0 0.0 1.0 q}xyŽŽŽï1" {mark 0.0 0.0 0.0 -18.0 18.0 -18.0 1.0 1.0 q}xyŽŽŽïB" {mark 54.0 0.0 54.0 13.5 47.25 20.25 39.375 23.625 0.0 0.0 bz}xyïE" {mark 39.375 23.625 31.5 27.0 22.5 27.0 14.625 23.625 0.0 0.0 bz}xyï?" {mark 14.625 23.625 6.75 20.25 0.0 13.5 0.0 0.0 0.0 0.0 bz}xyŽŽŽïB" {mark 54.0 0.0 54.0 13.5 47.25 20.25 39.375 23.625 0.0 1.0 bz}xyïI" {mark 39.375 23.625 31.5 27.0 22.5 27.0 14.625 23.625 0.0 0.74385 bz}xyï?" {mark 14.625 23.625 6.75 20.25 0.0 13.5 0.0 0.0 0.0 0.0 bz}xyŽŽŽïB" {mark 54.0 0.0 54.0 13.5 47.25 20.25 39.375 23.625 1.0 1.0 bz}xyïH" {mark 39.375 23.625 31.5 27.0 22.5 27.0 14.625 23.625 0.9481 1.0 bz}xyï?" {mark 14.625 23.625 6.75 20.25 0.0 13.5 0.0 0.0 0.0 1.0 bz}xyŽŽŽïB" {mark 54.0 0.0 54.0 13.5 47.25 20.25 39.375 23.625 1.0 1.0 bz}xyïE" {mark 39.375 23.625 31.5 27.0 22.5 27.0 14.625 23.625 1.0 1.0 bz}xyï?" {mark 14.625 23.625 6.75 20.25 0.0 13.5 0.0 0.0 1.0 1.0 bz}xyŽŽŽï3" {mark 36.0 -18.0 54.0 -18.0 54.0 0.0 0.0 0.0 q}xyŽŽŽï3" {mark 36.0 -18.0 54.0 -18.0 54.0 0.0 0.0 1.0 q}xyŽŽŽï3" {mark 36.0 -18.0 54.0 -18.0 54.0 0.0 1.0 1.0 q}xyŽŽŽŽŽŽŽ¡’À,- gure-8‘UUknotŽŽŸÜgé’Bx³ïps: SDict begin xyc end‘ÑFïB" {mark 15.0 15.0 25.89813 14.99994 36.22105 15.41788 0.0 0.0 q}xyŽŽŽ‘ÑFïE" {mark 15.0 15.0 25.89813 14.99994 36.22105 15.41788 0.0 0.3818 q}xyŽŽŽ‘ÑFïF" {mark 15.0 15.0 25.89813 14.99994 36.22105 15.41788 0.61746 1.0 q}xyŽŽŽ‘ÑFïB" {mark 15.0 15.0 25.89813 14.99994 36.22105 15.41788 1.0 1.0 q}xyŽŽŽ‘ÑFïI" {mark 29.26575 4.63531 25.89813 14.99994 23.10577 24.94655 0.0 0.0 q}xyŽŽŽ‘ÑFïI" {mark 29.26575 4.63531 25.89813 14.99994 23.10577 24.94655 0.0 1.0 q}xyŽŽŽ‘ÑFïI" {mark 29.26575 4.63531 25.89813 14.99994 23.10577 24.94655 1.0 1.0 q}xyŽŽŽ‘ÑFïF" {mark 0.73425 4.63531 4.10185 14.99992 6.89423 24.94655 0.0 0.0 q}xyŽŽŽ‘ÑFïJ" {mark 0.73425 4.63531 4.10185 14.99992 6.89423 24.94655 0.0 0.37662 q}xyŽŽŽ‘ÑFïJ" {mark 0.73425 4.63531 4.10185 14.99992 6.89423 24.94655 0.62277 1.0 q}xyŽŽŽ‘ÑFïF" {mark 0.73425 4.63531 4.10185 14.99992 6.89423 24.94655 1.0 1.0 q}xyŽŽŽ‘ÑFïA" {mark 15.0 15.0 4.10185 14.99992 -6.22105 15.41788 0.0 0.0 q}xyŽŽŽ‘ÑFïA" {mark 15.0 15.0 4.10185 14.99992 -6.22105 15.41788 0.0 1.0 q}xyŽŽŽ‘ÑFïA" {mark 15.0 15.0 4.10185 14.99992 -6.22105 15.41788 1.0 1.0 q}xyŽŽŽ‘ÑFïF" {mark 6.18324 -12.13531 -2.63351 -5.72946 -11.23055 0.0 0.0 0.0 q}xyŽŽŽ‘ÑFïJ" {mark 6.18324 -12.13531 -2.63351 -5.72946 -11.23055 0.0 0.0 0.35617 q}xyŽŽŽ‘ÑFïJ" {mark 6.18324 -12.13531 -2.63351 -5.72946 -11.23055 0.0 0.64328 1.0 q}xyŽŽŽ‘ÑFïF" {mark 6.18324 -12.13531 -2.63351 -5.72946 -11.23055 0.0 1.0 1.0 q}xyŽŽŽ‘ÑFïI" {mark 0.73425 4.63531 -2.63351 -5.72946 -6.22105 -15.41788 0.0 0.0 q}xyŽŽŽ‘ÑFïI" {mark 0.73425 4.63531 -2.63351 -5.72946 -6.22105 -15.41788 0.0 1.0 q}xyŽŽŽ‘ÑFïI" {mark 0.73425 4.63531 -2.63351 -5.72946 -6.22105 -15.41788 1.0 1.0 q}xyŽŽŽ‘ÑFïH" {mark 23.81676 -12.13531 15.0 -18.54092 6.89423 -24.94655 0.0 0.0 q}xyŽŽŽ‘ÑFïL" {mark 23.81676 -12.13531 15.0 -18.54092 6.89423 -24.94655 0.0 0.35135 q}xyŽŽŽ‘ÑFïL" {mark 23.81676 -12.13531 15.0 -18.54092 6.89423 -24.94655 0.64682 1.0 q}xyŽŽŽ‘ÑFïH" {mark 23.81676 -12.13531 15.0 -18.54092 6.89423 -24.94655 1.0 1.0 q}xyŽŽŽ‘ÑFïH" {mark 6.18324 -12.13531 15.0 -18.54092 23.10577 -24.94655 0.0 0.0 q}xyŽŽŽ‘ÑFïH" {mark 6.18324 -12.13531 15.0 -18.54092 23.10577 -24.94655 0.0 1.0 q}xyŽŽŽ‘ÑFïH" {mark 6.18324 -12.13531 15.0 -18.54092 23.10577 -24.94655 1.0 1.0 q}xyŽŽŽ‘ÑFïJ" {mark 29.26575 4.63531 32.63353 -5.72946 36.22105 -15.41788 0.0 0.0 q}xyŽŽŽ‘ÑFïN" {mark 29.26575 4.63531 32.63353 -5.72946 36.22105 -15.41788 0.0 0.37479 q}xyŽŽŽ‘ÑFïN" {mark 29.26575 4.63531 32.63353 -5.72946 36.22105 -15.41788 0.62418 1.0 q}xyŽŽŽ‘ÑFïJ" {mark 29.26575 4.63531 32.63353 -5.72946 36.22105 -15.41788 1.0 1.0 q}xyŽŽŽ‘ÑFïF" {mark 23.81676 -12.13531 32.63353 -5.72946 41.23055 0.0 0.0 0.0 q}xyŽŽŽ‘ÑFïF" {mark 23.81676 -12.13531 32.63353 -5.72946 41.23055 0.0 0.0 1.0 q}xyŽŽŽ‘ÑFïF" {mark 23.81676 -12.13531 32.63353 -5.72946 41.23055 0.0 1.0 1.0 q}xyŽŽŽ‘ÑFïS" {mark 41.23055 0.0 46.0032 3.8717 47.08163 6.73958 47.50665 8.52519 0.0 0.0 bz}xyï[" {mark 47.50665 8.52519 47.93167 10.3108 47.70328 11.01418 46.30995 12.20909 0.0 0.0 bz}xyï]" {mark 46.30995 12.20909 44.91663 13.40399 42.35838 15.09044 36.22105 15.41788 0.0 0.0 bz}xyŽŽŽ‘<åéŸþi¸ï" {41 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ÑFïS" {mark 41.23055 0.0 46.0032 3.8717 47.08163 6.73958 47.50665 8.52519 0.0 1.0 bz}xyï[" {mark 47.50665 8.52519 47.93167 10.3108 47.70328 11.01418 46.30995 12.20909 0.0 1.0 bz}xyï]" {mark 46.30995 12.20909 44.91663 13.40399 42.35838 15.09044 36.22105 15.41788 0.0 1.0 bz}xyŽŽŽ‘ÑFïS" {mark 41.23055 0.0 46.0032 3.8717 47.08163 6.73958 47.50665 8.52519 1.0 1.0 bz}xyï[" {mark 47.50665 8.52519 47.93167 10.3108 47.70328 11.01418 46.30995 12.20909 1.0 1.0 bz}xyï]" {mark 46.30995 12.20909 44.91663 13.40399 42.35838 15.09044 36.22105 15.41788 1.0 1.0 bz}xyŽŽŽ‘ÑFïZ" {mark 23.10577 24.94655 20.89816 30.6822 18.50378 32.5941 16.9368 33.55005 0.0 0.0 bz}xyïZ" {mark 16.9368 33.55005 15.3698 34.50598 14.6302 34.50598 13.06322 33.55003 0.0 0.0 bz}xyïY" {mark 13.06322 33.55003 11.49622 32.5941 9.10184 30.6822 6.89423 24.94655 0.0 0.0 bz}xyŽŽŽ‘'ü‰ŸäÍŽï" {1553 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ÑFïZ" {mark 23.10577 24.94655 20.89816 30.6822 18.50378 32.5941 16.9368 33.55005 0.0 1.0 bz}xyïZ" {mark 16.9368 33.55005 15.3698 34.50598 14.6302 34.50598 13.06322 33.55003 0.0 1.0 bz}xyïY" {mark 13.06322 33.55003 11.49622 32.5941 9.10184 30.6822 6.89423 24.94655 0.0 1.0 bz}xyŽŽŽ‘ÑFïZ" {mark 23.10577 24.94655 20.89816 30.6822 18.50378 32.5941 16.9368 33.55005 1.0 1.0 bz}xyïZ" {mark 16.9368 33.55005 15.3698 34.50598 14.6302 34.50598 13.06322 33.55003 1.0 1.0 bz}xyïY" {mark 13.06322 33.55003 11.49622 32.5941 9.10184 30.6822 6.89423 24.94655 1.0 1.0 bz}xyŽŽŽ‘ÑFï`" {mark -6.22105 15.41788 -12.35838 15.09044 -14.91663 13.40399 -16.30995 12.20909 0.0 0.0 bz}xyï_" {mark -16.30995 12.20909 -17.70326 11.01418 -17.93167 10.3108 -17.50665 8.52519 0.0 0.0 bz}xyïW" {mark -17.50665 8.52519 -17.08163 6.73958 -16.0032 3.8717 -11.23055 0.0 0.0 0.0 bz}xyŽŽŽ‘ *ŸðÄFï" {3251 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ÑFï`" {mark -6.22105 15.41788 -12.35838 15.09044 -14.91663 13.40399 -16.30995 12.20909 0.0 1.0 bz}xyï_" {mark -16.30995 12.20909 -17.70326 11.01418 -17.93167 10.3108 -17.50665 8.52519 0.0 1.0 bz}xyïW" {mark -17.50665 8.52519 -17.08163 6.73958 -16.0032 3.8717 -11.23055 0.0 0.0 1.0 bz}xyŽŽŽ‘ÑFï`" {mark -6.22105 15.41788 -12.35838 15.09044 -14.91663 13.40399 -16.30995 12.20909 1.0 1.0 bz}xyï_" {mark -16.30995 12.20909 -17.70326 11.01418 -17.93167 10.3108 -17.50665 8.52519 1.0 1.0 bz}xyïW" {mark -17.50665 8.52519 -17.08163 6.73958 -16.0032 3.8717 -11.23055 0.0 1.0 1.0 bz}xyŽŽŽ‘ÑFï`" {mark -6.22105 -15.41788 -7.80614 -21.35535 -6.99272 -24.3094 -6.28674 -26.00398 0.0 0.0 bz}xyïa" {mark -6.28674 -26.00398 -5.58078 -27.69856 -4.98225 -28.13368 -3.15266 -28.28148 0.0 0.0 bz}xyï^" {mark -3.15266 -28.28148 -1.32306 -28.42928 1.7376 -28.28976 6.89423 -24.94655 0.0 0.0 bz}xyŽŽŽ‘ ןÊ–ï" {-3218 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ÑFï`" {mark -6.22105 -15.41788 -7.80614 -21.35535 -6.99272 -24.3094 -6.28674 -26.00398 0.0 1.0 bz}xyïa" {mark -6.28674 -26.00398 -5.58078 -27.69856 -4.98225 -28.13368 -3.15266 -28.28148 0.0 1.0 bz}xyï^" {mark -3.15266 -28.28148 -1.32306 -28.42928 1.7376 -28.28976 6.89423 -24.94655 0.0 1.0 bz}xyŽŽŽ‘ÑFï`" {mark -6.22105 -15.41788 -7.80614 -21.35535 -6.99272 -24.3094 -6.28674 -26.00398 1.0 1.0 bz}xyïa" {mark -6.28674 -26.00398 -5.58078 -27.69856 -4.98225 -28.13368 -3.15266 -28.28148 1.0 1.0 bz}xyï^" {mark -3.15266 -28.28148 -1.32306 -28.42928 1.7376 -28.28976 6.89423 -24.94655 1.0 1.0 bz}xyŽŽŽ‘ÑFï`" {mark 23.10577 -24.94655 28.2624 -28.28976 31.32306 -28.42928 33.15265 -28.28148 0.0 0.0 bz}xyïa" {mark 33.15265 -28.28148 34.98224 -28.13367 35.58078 -27.69856 36.28676 -26.00398 0.0 0.0 bz}xyï`" {mark 36.28676 -26.00398 36.99272 -24.3094 37.80614 -21.35535 36.22105 -15.41788 0.0 0.0 bz}xyŽŽŽ‘+ÿŸ5fï" {-1526 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ÑFï`" {mark 23.10577 -24.94655 28.2624 -28.28976 31.32306 -28.42928 33.15265 -28.28148 0.0 1.0 bz}xyïa" {mark 33.15265 -28.28148 34.98224 -28.13367 35.58078 -27.69856 36.28676 -26.00398 0.0 1.0 bz}xyï`" {mark 36.28676 -26.00398 36.99272 -24.3094 37.80614 -21.35535 36.22105 -15.41788 0.0 1.0 bz}xyŽŽŽ‘ÑFï`" {mark 23.10577 -24.94655 28.2624 -28.28976 31.32306 -28.42928 33.15265 -28.28148 1.0 1.0 bz}xyïa" {mark 33.15265 -28.28148 34.98224 -28.13367 35.58078 -27.69856 36.28676 -26.00398 1.0 1.0 bz}xyï`" {mark 36.28676 -26.00398 36.99272 -24.3094 37.80614 -21.35535 36.22105 -15.41788 1.0 1.0 bz}xyŽŽŽŽŽŽŽ¡’QNcinquefoilŽŽŽŸ*³‘ãŒÞCrossingsŽ©…ˆ‘㌹A‘÷\crossing"–Qis“inš²!tended“to“represen˜t“t˜w˜o“strings“passing“close“b˜y‘ÿe,‘] but“not“meeting.‘úThe“macrosŽ¡‘ãŒproš²!vided– TspMÞecify“t˜ypšMÞesetting“within“a“square“cell“of“co˜ordinate“v‘ÿdDalues;‘¢Zusing“a“non-square“basis“altersŽ¡‘ãŒthis–rshapšMÞe,‘|àbut“see“also“note“3.10c“b˜eloš²!w,‘|àfor“the“tec˜hnique“that“w˜as“used“in“the“\cinquefoil"“exampleŽ¡‘ãŒabMÞo•²!v“e.ŽŸkô‘ãŒÔNotesަ‘㌹3.10a.ŽŽ‘‡×Sevš²!eral–ôífamilies“of“crossing“are“pro˜vided.‘¢µThose“ha˜ving“names“as“Ï\v...Ž›"¨,¹and“Ï\h...Ž˜¹are“designedŽ¡‘õŒto–ý^stacš²!k“respMÞectiv˜ely“v˜ertically“and“horizon˜tally‘ÿe.‘¥…More“precisely“the“curren˜t“Çh¹pMÞosÇi“¹starts“at“the“top-Ž¡‘õŒleft–ªôcorner“and“ nishes“at“either“the“bMÞottom-left“or“top-righ•²!t.‘Š Sa“y–ªôthat“a“crossing“is“either“a“`v²!erticalŽ¡‘õŒcrossing'–¦for“`horizonš²!tal“crossing'“respMÞectiv˜ely‘ÿe.Ž©ùˆ‘õŒThis–²|certainly“applies“to“the“Ï\..cross..Ž›B᜹and“Ï\..twist..Ž˜¹families,‘õsee“ gure“3.8“in“whic²!h“theŽ¡‘õŒstrings–¢enš²!ter“and“lea˜v˜e“the“square“all“with“v˜ertical“tangen˜ts“or“all“with“horizon˜tal“tangen˜ts.‘¯œIndeedŽ¡‘õŒÐal‘Fl–Ã6¹crossings“are“either“vš²!ertical“or“horizon˜tal,‘ð¦with“the“ nal“letter“indicating“whic˜h“for“the“Ï\xover..ŽŽ¡‘õŒ¹families.ަ‘õŒF‘ÿeurthermore–Øúthere“is“a“natural“Ðorientation‘°¹for“eacš²!h“crossing,‘as“w˜ell“as“along“eac˜h“strand.‘™dThis“cor-Ž¡‘õŒrespMÞonds–¤îto“the“order“in“whicš²!h“ink“is“applied“to“the“prin˜ted“page,‘Ølfollo˜wing“the“natural“parametriza-Ž¡‘õŒtion–¦Õof“eacš²!h“strand“as“a“curv˜ed“connection“or“arro˜w.‘ˆ­This“orien˜tation“determines“whether“a“crossingŽ¡‘õŒis›VÔ`o•²!v“er'˜(mathematically‘ÿe,‘‚ïpMÞositiv“e˜or˜righ“t-handed)˜or˜`under'˜(mathematically‘ÿe,‘‚ïnegativ“e˜or˜left-Ž¡‘õŒhanded).‘%®It–¬is“used“in“determining“the“lošMÞcation“of“lab˜els“and“the“direction“of“arro²!wheads“placedŽ¡‘õŒalong–ƒÈthe“strings.‘ÒSNote“that“Ï\..cross..Ž›@„4¹and“Ï\..twist..Ž˜¹crossings“maš²!y“set“the“same“curv˜es,‘Š´butŽ¡‘õŒwith–¦fdi erenš²!t“orien˜tation“and“lab•MÞel-p“ositioning.ަ‘õŒFigure–Á3.8“displaš²!ys“the“orien˜tation“on“all“the“crossings,‘îïgrouping“them“in˜to“subfamilies“consisting“ofŽ¡‘õŒrigh²!t-handed,‘ôÉleft-handed–Èband“non-crossings.‘“ÜAlso“indicated“are“the“default“pšMÞositions“for“lab˜els“andŽ¡‘õŒarro•²!w-tips;›¦feac“h˜piece˜uses˜the˜same˜co•MÞde˜for˜tips˜and˜lab“els,˜e.g.‘ÝÝÏ\vover<>Ž‘2Û-|Ž‘8š×>>><{x}Ž‘`Ø}|Ž‘f˜'{y}>{z}Ž’ŽÕ͹.ަ‘õŒThe‘{Ï\x...Ž‘"éH¹crossings–{do“not“stacš²!k“easily“since“their“tangen˜ts“are“at“45Ÿü¾Èޑչto“the“coMÞordinate“axes.‘­It“isŽ¡‘õŒthe–ƒelast“letter“in“the“name“whicš²!h“denotes“whether“the“particular“crossing“is“v˜ertical“or“horizon˜tal.ŽŽŽŒ‹¤…$ Á à ý*tj‘㌹420’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘õŒ¹On–»âthe“other“hand“Ï\voverŽ‘) ¹,‘@Ï\vunderŽ‘1úȹetc.‘Pstacš²!k“v˜ertically“on“top“of“a“Ï\vcrossŽ‘.Ì¿¹,‘@Ï\vtwistŽ‘1úȹetc.;ŽŸ ™š‘õŒsimilarly‘¦fÏ\hoverŽ‘)Êȹstac²!ks–¦fat“the“left“of“Ï\hcrossŽ‘-·C¹,“Ï\htwistŽ‘/Šr¹etc.ŽŸÍTŸ§2’ž9×ïps: SDict begin xyc end‘ôŸýh0ïA" {mark 12.0 0.0 15.0 0.0 17.25 -0.75 18.875 -1.625 0.0 0.0 bz}xyïE" {mark 18.875 -1.625 20.5 -2.5 21.5 -3.5 22.375 -5.125 0.0 0.0 bz}xyïD" {mark 22.375 -5.125 23.25 -6.75 24.0 -9.0 24.0 -12.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 0.0 15.0 0.0 17.25 -0.75 18.875 -1.625 0.0 0.42998 bz}xyïE" {mark 18.875 -1.625 20.5 -2.5 21.5 -3.5 22.375 -5.125 0.0 0.0 bz}xyïD" {mark 22.375 -5.125 23.25 -6.75 24.0 -9.0 24.0 -12.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïA" {mark 12.0 0.0 15.0 0.0 17.25 -0.75 18.875 -1.625 1.0 1.0 bz}xyïI" {mark 18.875 -1.625 20.5 -2.5 21.5 -3.5 22.375 -5.125 0.37434 1.0 bz}xyïD" {mark 22.375 -5.125 23.25 -6.75 24.0 -9.0 24.0 -12.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïA" {mark 12.0 0.0 15.0 0.0 17.25 -0.75 18.875 -1.625 1.0 1.0 bz}xyïE" {mark 18.875 -1.625 20.5 -2.5 21.5 -3.5 22.375 -5.125 1.0 1.0 bz}xyïD" {mark 22.375 -5.125 23.25 -6.75 24.0 -9.0 24.0 -12.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïD" {mark 12.0 -12.0 12.0 -9.0 12.75 -6.75 13.625 -5.125 0.0 0.0 bz}xyïE" {mark 13.625 -5.125 14.5 -3.5 15.5 -2.5 17.125 -1.625 0.0 0.0 bz}xyïA" {mark 17.125 -1.625 18.75 -0.75 21.0 0.0 24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïD" {mark 12.0 -12.0 12.0 -9.0 12.75 -6.75 13.625 -5.125 0.0 1.0 bz}xyïE" {mark 13.625 -5.125 14.5 -3.5 15.5 -2.5 17.125 -1.625 0.0 1.0 bz}xyïA" {mark 17.125 -1.625 18.75 -0.75 21.0 0.0 24.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïD" {mark 12.0 -12.0 12.0 -9.0 12.75 -6.75 13.625 -5.125 1.0 1.0 bz}xyïE" {mark 13.625 -5.125 14.5 -3.5 15.5 -2.5 17.125 -1.625 1.0 1.0 bz}xyïA" {mark 17.125 -1.625 18.75 -0.75 21.0 0.0 24.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 24.0 -12.0 24.0 -15.0 21.75 -16.5 20.125 -17.25 0.0 0.0 bz}xyïG" {mark 20.125 -17.25 18.5 -18.0 17.5 -18.0 15.875 -18.75 0.0 0.0 bz}xyïE" {mark 15.875 -18.75 14.25 -19.5 12.0 -21.0 12.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 24.0 -12.0 24.0 -15.0 21.75 -16.5 20.125 -17.25 0.0 1.0 bz}xyïG" {mark 20.125 -17.25 18.5 -18.0 17.5 -18.0 15.875 -18.75 0.0 1.0 bz}xyïE" {mark 15.875 -18.75 14.25 -19.5 12.0 -21.0 12.0 -24.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 24.0 -12.0 24.0 -15.0 21.75 -16.5 20.125 -17.25 1.0 1.0 bz}xyïG" {mark 20.125 -17.25 18.5 -18.0 17.5 -18.0 15.875 -18.75 1.0 1.0 bz}xyïE" {mark 15.875 -18.75 14.25 -19.5 12.0 -21.0 12.0 -24.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 -12.0 12.0 -15.0 14.25 -16.5 15.875 -17.25 0.0 0.0 bz}xyïG" {mark 15.875 -17.25 17.5 -18.0 18.5 -18.0 20.125 -18.75 0.0 0.0 bz}xyïE" {mark 20.125 -18.75 21.75 -19.5 24.0 -21.0 24.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 12.0 -12.0 12.0 -15.0 14.25 -16.5 15.875 -17.25 0.0 0.925 bz}xyïG" {mark 15.875 -17.25 17.5 -18.0 18.5 -18.0 20.125 -18.75 0.0 0.0 bz}xyïE" {mark 20.125 -18.75 21.75 -19.5 24.0 -21.0 24.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 -12.0 12.0 -15.0 14.25 -16.5 15.875 -17.25 1.0 1.0 bz}xyïG" {mark 15.875 -17.25 17.5 -18.0 18.5 -18.0 20.125 -18.75 1.0 1.0 bz}xyïG" {mark 20.125 -18.75 21.75 -19.5 24.0 -21.0 24.0 -24.0 0.075 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 -12.0 12.0 -15.0 14.25 -16.5 15.875 -17.25 1.0 1.0 bz}xyïG" {mark 15.875 -17.25 17.5 -18.0 18.5 -18.0 20.125 -18.75 1.0 1.0 bz}xyïE" {mark 20.125 -18.75 21.75 -19.5 24.0 -21.0 24.0 -24.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 24.0 -24.0 24.0 -27.0 21.75 -28.5 20.125 -29.25 0.0 0.0 bz}xyïG" {mark 20.125 -29.25 18.5 -30.0 17.5 -30.0 15.875 -30.75 0.0 0.0 bz}xyïE" {mark 15.875 -30.75 14.25 -31.5 12.0 -33.0 12.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 24.0 -24.0 24.0 -27.0 21.75 -28.5 20.125 -29.25 0.0 1.0 bz}xyïG" {mark 20.125 -29.25 18.5 -30.0 17.5 -30.0 15.875 -30.75 0.0 1.0 bz}xyïE" {mark 15.875 -30.75 14.25 -31.5 12.0 -33.0 12.0 -36.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 24.0 -24.0 24.0 -27.0 21.75 -28.5 20.125 -29.25 1.0 1.0 bz}xyïG" {mark 20.125 -29.25 18.5 -30.0 17.5 -30.0 15.875 -30.75 1.0 1.0 bz}xyïE" {mark 15.875 -30.75 14.25 -31.5 12.0 -33.0 12.0 -36.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 -24.0 12.0 -27.0 14.25 -28.5 15.875 -29.25 0.0 0.0 bz}xyïG" {mark 15.875 -29.25 17.5 -30.0 18.5 -30.0 20.125 -30.75 0.0 0.0 bz}xyïE" {mark 20.125 -30.75 21.75 -31.5 24.0 -33.0 24.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 12.0 -24.0 12.0 -27.0 14.25 -28.5 15.875 -29.25 0.0 0.925 bz}xyïG" {mark 15.875 -29.25 17.5 -30.0 18.5 -30.0 20.125 -30.75 0.0 0.0 bz}xyïE" {mark 20.125 -30.75 21.75 -31.5 24.0 -33.0 24.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 -24.0 12.0 -27.0 14.25 -28.5 15.875 -29.25 1.0 1.0 bz}xyïG" {mark 15.875 -29.25 17.5 -30.0 18.5 -30.0 20.125 -30.75 1.0 1.0 bz}xyïG" {mark 20.125 -30.75 21.75 -31.5 24.0 -33.0 24.0 -36.0 0.075 1.0 bz}xyŽŽŽ‘ôŸýh0ïE" {mark 12.0 -24.0 12.0 -27.0 14.25 -28.5 15.875 -29.25 1.0 1.0 bz}xyïG" {mark 15.875 -29.25 17.5 -30.0 18.5 -30.0 20.125 -30.75 1.0 1.0 bz}xyïE" {mark 20.125 -30.75 21.75 -31.5 24.0 -33.0 24.0 -36.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 24.0 -48.0 21.0 -48.0 18.75 -47.25 17.125 -46.375 0.0 0.0 bz}xyïI" {mark 17.125 -46.375 15.5 -45.5 14.5 -44.5 13.625 -42.875 0.0 0.0 bz}xyïG" {mark 13.625 -42.875 12.75 -41.25 12.0 -39.0 12.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïK" {mark 24.0 -48.0 21.0 -48.0 18.75 -47.25 17.125 -46.375 0.0 0.42998 bz}xyïI" {mark 17.125 -46.375 15.5 -45.5 14.5 -44.5 13.625 -42.875 0.0 0.0 bz}xyïG" {mark 13.625 -42.875 12.75 -41.25 12.0 -39.0 12.0 -36.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 24.0 -48.0 21.0 -48.0 18.75 -47.25 17.125 -46.375 1.0 1.0 bz}xyïM" {mark 17.125 -46.375 15.5 -45.5 14.5 -44.5 13.625 -42.875 0.37434 1.0 bz}xyïG" {mark 13.625 -42.875 12.75 -41.25 12.0 -39.0 12.0 -36.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 24.0 -48.0 21.0 -48.0 18.75 -47.25 17.125 -46.375 1.0 1.0 bz}xyïI" {mark 17.125 -46.375 15.5 -45.5 14.5 -44.5 13.625 -42.875 1.0 1.0 bz}xyïG" {mark 13.625 -42.875 12.75 -41.25 12.0 -39.0 12.0 -36.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 24.0 -36.0 24.0 -39.0 23.25 -41.25 22.375 -42.875 0.0 0.0 bz}xyïI" {mark 22.375 -42.875 21.5 -44.5 20.5 -45.5 18.875 -46.375 0.0 0.0 bz}xyïG" {mark 18.875 -46.375 17.25 -47.25 15.0 -48.0 12.0 -48.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 24.0 -36.0 24.0 -39.0 23.25 -41.25 22.375 -42.875 0.0 1.0 bz}xyïI" {mark 22.375 -42.875 21.5 -44.5 20.5 -45.5 18.875 -46.375 0.0 1.0 bz}xyïG" {mark 18.875 -46.375 17.25 -47.25 15.0 -48.0 12.0 -48.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 24.0 -36.0 24.0 -39.0 23.25 -41.25 22.375 -42.875 1.0 1.0 bz}xyïI" {mark 22.375 -42.875 21.5 -44.5 20.5 -45.5 18.875 -46.375 1.0 1.0 bz}xyïG" {mark 18.875 -46.375 17.25 -47.25 15.0 -48.0 12.0 -48.0 1.0 1.0 bz}xyŽŽŽŽŽŽ’ëíïps: SDict begin xyc end‘õQÓŸýh0ïG" {mark 12.0 -30.0 12.0 -27.0 12.75 -24.75 13.625 -23.125 0.0 0.0 bz}xyïI" {mark 13.625 -23.125 14.5 -21.5 15.5 -20.5 17.125 -19.625 0.0 0.0 bz}xyïG" {mark 17.125 -19.625 18.75 -18.75 21.0 -18.0 24.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 12.0 -30.0 12.0 -27.0 12.75 -24.75 13.625 -23.125 0.0 1.0 bz}xyïI" {mark 13.625 -23.125 14.5 -21.5 15.5 -20.5 17.125 -19.625 0.0 1.0 bz}xyïG" {mark 17.125 -19.625 18.75 -18.75 21.0 -18.0 24.0 -18.0 0.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 12.0 -30.0 12.0 -27.0 12.75 -24.75 13.625 -23.125 1.0 1.0 bz}xyïI" {mark 13.625 -23.125 14.5 -21.5 15.5 -20.5 17.125 -19.625 1.0 1.0 bz}xyïG" {mark 17.125 -19.625 18.75 -18.75 21.0 -18.0 24.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 24.0 -30.0 21.0 -30.0 18.75 -29.25 17.125 -28.375 0.0 0.0 bz}xyïI" {mark 17.125 -28.375 15.5 -27.5 14.5 -26.5 13.625 -24.875 0.0 0.0 bz}xyïG" {mark 13.625 -24.875 12.75 -23.25 12.0 -21.0 12.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 24.0 -30.0 21.0 -30.0 18.75 -29.25 17.125 -28.375 0.0 1.0 bz}xyïM" {mark 17.125 -28.375 15.5 -27.5 14.5 -26.5 13.625 -24.875 0.0 0.62566 bz}xyïG" {mark 13.625 -24.875 12.75 -23.25 12.0 -21.0 12.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 24.0 -30.0 21.0 -30.0 18.75 -29.25 17.125 -28.375 1.0 1.0 bz}xyïI" {mark 17.125 -28.375 15.5 -27.5 14.5 -26.5 13.625 -24.875 1.0 1.0 bz}xyïK" {mark 13.625 -24.875 12.75 -23.25 12.0 -21.0 12.0 -18.0 0.57002 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 24.0 -30.0 21.0 -30.0 18.75 -29.25 17.125 -28.375 1.0 1.0 bz}xyïI" {mark 17.125 -28.375 15.5 -27.5 14.5 -26.5 13.625 -24.875 1.0 1.0 bz}xyïG" {mark 13.625 -24.875 12.75 -23.25 12.0 -21.0 12.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 24.0 -30.0 27.0 -30.0 28.5 -27.75 29.25 -26.125 0.0 0.0 bz}xyïG" {mark 29.25 -26.125 30.0 -24.5 30.0 -23.5 30.75 -21.875 0.0 0.0 bz}xyïE" {mark 30.75 -21.875 31.5 -20.25 33.0 -18.0 36.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 24.0 -30.0 27.0 -30.0 28.5 -27.75 29.25 -26.125 0.0 1.0 bz}xyïG" {mark 29.25 -26.125 30.0 -24.5 30.0 -23.5 30.75 -21.875 0.0 1.0 bz}xyïE" {mark 30.75 -21.875 31.5 -20.25 33.0 -18.0 36.0 -18.0 0.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 24.0 -30.0 27.0 -30.0 28.5 -27.75 29.25 -26.125 1.0 1.0 bz}xyïG" {mark 29.25 -26.125 30.0 -24.5 30.0 -23.5 30.75 -21.875 1.0 1.0 bz}xyïE" {mark 30.75 -21.875 31.5 -20.25 33.0 -18.0 36.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 36.0 -30.0 33.0 -30.0 31.5 -27.75 30.75 -26.125 0.0 0.0 bz}xyïG" {mark 30.75 -26.125 30.0 -24.5 30.0 -23.5 29.25 -21.875 0.0 0.0 bz}xyïE" {mark 29.25 -21.875 28.5 -20.25 27.0 -18.0 24.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïI" {mark 36.0 -30.0 33.0 -30.0 31.5 -27.75 30.75 -26.125 0.0 0.92505 bz}xyïG" {mark 30.75 -26.125 30.0 -24.5 30.0 -23.5 29.25 -21.875 0.0 0.0 bz}xyïE" {mark 29.25 -21.875 28.5 -20.25 27.0 -18.0 24.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 36.0 -30.0 33.0 -30.0 31.5 -27.75 30.75 -26.125 1.0 1.0 bz}xyïG" {mark 30.75 -26.125 30.0 -24.5 30.0 -23.5 29.25 -21.875 1.0 1.0 bz}xyïI" {mark 29.25 -21.875 28.5 -20.25 27.0 -18.0 24.0 -18.0 0.07504 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 36.0 -30.0 33.0 -30.0 31.5 -27.75 30.75 -26.125 1.0 1.0 bz}xyïG" {mark 30.75 -26.125 30.0 -24.5 30.0 -23.5 29.25 -21.875 1.0 1.0 bz}xyïE" {mark 29.25 -21.875 28.5 -20.25 27.0 -18.0 24.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 36.0 -30.0 39.0 -30.0 40.5 -27.75 41.25 -26.125 0.0 0.0 bz}xyïG" {mark 41.25 -26.125 42.0 -24.5 42.0 -23.5 42.75 -21.875 0.0 0.0 bz}xyïE" {mark 42.75 -21.875 43.5 -20.25 45.0 -18.0 48.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 36.0 -30.0 39.0 -30.0 40.5 -27.75 41.25 -26.125 0.0 1.0 bz}xyïG" {mark 41.25 -26.125 42.0 -24.5 42.0 -23.5 42.75 -21.875 0.0 1.0 bz}xyïE" {mark 42.75 -21.875 43.5 -20.25 45.0 -18.0 48.0 -18.0 0.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 36.0 -30.0 39.0 -30.0 40.5 -27.75 41.25 -26.125 1.0 1.0 bz}xyïG" {mark 41.25 -26.125 42.0 -24.5 42.0 -23.5 42.75 -21.875 1.0 1.0 bz}xyïE" {mark 42.75 -21.875 43.5 -20.25 45.0 -18.0 48.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 48.0 -30.0 45.0 -30.0 43.5 -27.75 42.75 -26.125 0.0 0.0 bz}xyïG" {mark 42.75 -26.125 42.0 -24.5 42.0 -23.5 41.25 -21.875 0.0 0.0 bz}xyïE" {mark 41.25 -21.875 40.5 -20.25 39.0 -18.0 36.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïI" {mark 48.0 -30.0 45.0 -30.0 43.5 -27.75 42.75 -26.125 0.0 0.92505 bz}xyïG" {mark 42.75 -26.125 42.0 -24.5 42.0 -23.5 41.25 -21.875 0.0 0.0 bz}xyïE" {mark 41.25 -21.875 40.5 -20.25 39.0 -18.0 36.0 -18.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 48.0 -30.0 45.0 -30.0 43.5 -27.75 42.75 -26.125 1.0 1.0 bz}xyïG" {mark 42.75 -26.125 42.0 -24.5 42.0 -23.5 41.25 -21.875 1.0 1.0 bz}xyïI" {mark 41.25 -21.875 40.5 -20.25 39.0 -18.0 36.0 -18.0 0.07504 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïE" {mark 48.0 -30.0 45.0 -30.0 43.5 -27.75 42.75 -26.125 1.0 1.0 bz}xyïG" {mark 42.75 -26.125 42.0 -24.5 42.0 -23.5 41.25 -21.875 1.0 1.0 bz}xyïE" {mark 41.25 -21.875 40.5 -20.25 39.0 -18.0 36.0 -18.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 60.0 -18.0 60.0 -21.0 59.25 -23.25 58.375 -24.875 0.0 0.0 bz}xyïI" {mark 58.375 -24.875 57.5 -26.5 56.5 -27.5 54.875 -28.375 0.0 0.0 bz}xyïG" {mark 54.875 -28.375 53.25 -29.25 51.0 -30.0 48.0 -30.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 60.0 -18.0 60.0 -21.0 59.25 -23.25 58.375 -24.875 0.0 1.0 bz}xyïI" {mark 58.375 -24.875 57.5 -26.5 56.5 -27.5 54.875 -28.375 0.0 1.0 bz}xyïG" {mark 54.875 -28.375 53.25 -29.25 51.0 -30.0 48.0 -30.0 0.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 60.0 -18.0 60.0 -21.0 59.25 -23.25 58.375 -24.875 1.0 1.0 bz}xyïI" {mark 58.375 -24.875 57.5 -26.5 56.5 -27.5 54.875 -28.375 1.0 1.0 bz}xyïG" {mark 54.875 -28.375 53.25 -29.25 51.0 -30.0 48.0 -30.0 1.0 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 48.0 -18.0 51.0 -18.0 53.25 -18.75 54.875 -19.625 0.0 0.0 bz}xyïI" {mark 54.875 -19.625 56.5 -20.5 57.5 -21.5 58.375 -23.125 0.0 0.0 bz}xyïG" {mark 58.375 -23.125 59.25 -24.75 60.0 -27.0 60.0 -30.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 48.0 -18.0 51.0 -18.0 53.25 -18.75 54.875 -19.625 0.0 1.0 bz}xyïM" {mark 54.875 -19.625 56.5 -20.5 57.5 -21.5 58.375 -23.125 0.0 0.62566 bz}xyïG" {mark 58.375 -23.125 59.25 -24.75 60.0 -27.0 60.0 -30.0 0.0 0.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 48.0 -18.0 51.0 -18.0 53.25 -18.75 54.875 -19.625 1.0 1.0 bz}xyïI" {mark 54.875 -19.625 56.5 -20.5 57.5 -21.5 58.375 -23.125 1.0 1.0 bz}xyïK" {mark 58.375 -23.125 59.25 -24.75 60.0 -27.0 60.0 -30.0 0.57002 1.0 bz}xyŽŽŽ‘õQÓŸýh0ïG" {mark 48.0 -18.0 51.0 -18.0 53.25 -18.75 54.875 -19.625 1.0 1.0 bz}xyïI" {mark 54.875 -19.625 56.5 -20.5 57.5 -21.5 58.375 -23.125 1.0 1.0 bz}xyïG" {mark 58.375 -23.125 59.25 -24.75 60.0 -27.0 60.0 -30.0 1.0 1.0 bz}xyŽŽŽŽŽŽŽŸCÆ%‘õŒÏ$$\xy‘¿ª0;/r1pc/:ŽŽ¤ ™š‘ûKÃ,{\vunder\vtwist\vtwist\vunder-}\endxyŽŽ¡‘õŒ\qquad\qquad\qquad–¿ª\xy“0;/r1pc/:+(0,-1.5)ŽŽ¡‘ûKÃ,{\hover\hcross\hcross\hover-}\endxy$$ŽŽŸ(~s‘õŒÔP¦tarsingŽŸ·¨‘ãŒÃ324Ž‘õŒÏ\xydef@\xykparsecross@{%ŽŽ¡‘ãŒÃ325Ž‘ûKÃÏ\def\xykSCALE@@{}\edef\xyknotPLACE{\xykmidPLACE@}%ŽŽ¡‘ãŒÃ326Ž‘ûKÃÏ\let\xykparser@=\xykparsecross@@ŽŽ¡‘ãŒÃ327Ž‘ûKÃÏ\def\xykdefaultbreak@{\let\xykbreak@=\xykforetemp@ŽŽ¡‘ãŒÃ328Ž‘ mÏ\def\xyknotPLACE{(.5)}\appendtoholder@}%ŽŽ¡‘ãŒÃ329Ž‘ûKÃÏ\xyFN@\xykparsescale@‘¿ª}ŽŽ©Pˆ‘ãŒÃ331Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ332Ž‘õŒÏ\gdef\next{%ŽŽ¡‘ãŒÃ333Ž‘ûKÃÏ\ifx\space@\next‘¿ª\expandafter\DN@\space{\xyFN@\xykparsecross@@}%ŽŽ¡‘ãŒÃ334Ž‘ûKÃÏ\else\addLT@\ifx\next‘¿ª\addLT@\DN@{\xyprecross@}%ŽŽ¡‘ãŒÃ335Ž‘ûKÃÏ\else\addGT@\ifx\next‘¿ª\addGT@\DN@{\xypostcross@}%ŽŽ¡‘ãŒÃ336Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\addEQ@\DN@{\xyFN@\xykparsetips@@}%ŽŽ¡‘ãŒÃ337Ž‘ûKÃÏ\else\ifx|\next\DN@|{\xymidcross@}%ŽŽ¡‘ãŒÃ338Ž‘ûKÃÏ\else\addAT@\ifx\next‘¿ª\addAT@\DN@(##1){%ŽŽ¡‘ãŒÃ339Ž‘ mÏ\xyadjustBREAK@i##1@@\xyFN@\xykparsecross@@}%ŽŽ¡‘ãŒÃ340Ž‘ûKÃÏ\else\DN@{\afterknot@}%ŽŽ¡‘ãŒÃ341Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi–¿ª\next@“}}ŽŽ¡‘ãŒÃ342Ž‘õŒÏ\xylet@\xykparsecross@@=\nextŽŽŸv‘ãŒÃ346Ž‘õŒÏ\xydef@\xyprecross@{%ŽŽ¡‘ãŒÃ347Ž‘ûKÃÏ\def\xykholder@{\xykprebreak@@}%ŽŽ¡‘ãŒÃ348Ž‘ûKÃÏ\edef\xyknotPLACE{\xykprePLACE@}%ŽŽ¡‘ãŒÃ349Ž‘ûKÃÏ\xyFN@\xykparsebreak@}ŽŽ¦‘ãŒÃ351Ž‘õŒÏ\xydef@\xypostcross@{%ŽŽ¡‘ãŒÃ352Ž‘ûKÃÏ\def\xykholder@{\xykpostbreak@@}%ŽŽ¡‘ãŒÃ353Ž‘ûKÃÏ\edef\xyknotPLACE{\xykpostPLACE@}%ŽŽ¡‘ãŒÃ354Ž‘ûKÃÏ\xyFN@\xykparsebreak@}ŽŽ¦‘ãŒÃ356Ž‘õŒÏ\xydef@\xymidcross@{%ŽŽ¡‘ãŒÃ357Ž‘ûKÃÏ\def\xykholder@{\xykmidbreak@@}%ŽŽ¡‘ãŒÃ358Ž‘ûKÃÏ\edef\xyknotPLACE{\xykmidPLACE@}%ŽŽ¡‘ãŒÃ359Ž‘ûKÃÏ\xyFN@\xykparsebreak@}ŽŽŸ„B‘õŒ¹These–¦fmacros“are“common“to“most“crossings.ŽŽŽŒ‹¥Úõ Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹421ŽŽ ¶?? ýh«w‘ãŒÃ365Ž‘õŒÏ\xydef@\xykcross@#1{\xykcheckTIPS@ŽŽ¤ ™š‘ãŒÃ366Ž‘ûKÃÏ\expandafter\toks@\expandafter{\expandafter#1\knotSTYLE}}ŽŽ©Pˆ‘ãŒÃ368Ž‘õŒÏ\xydef@\xykoverstring@{\addtotoks@{{}}\xykmidbreak@‘¿ª\xyknottips@}ŽŽ¡‘ãŒÃ369Ž‘õŒÏ\xydef@\xykunderstring@{\xykprebreak@–¿ª\xykpostbreak@“\xyknottips@}ŽŽŸ+_i‘õŒÔ\cross"‘2crossings:ŽŸwt‘õŒ¹The‘¦finitialisation.–Ó3.“.ަ‘ãŒÃ381Ž‘õŒÏ\xydef@\vcross{\begingroup\def\afterknot@{\xyvcross}%ŽŽ¡‘ãŒÃ382Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ383Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ384Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ385Ž‘õŒÏ\xydef@\hcross{\begingroup\def\afterknot@{\xyhcross}%ŽŽ¡‘ãŒÃ386Ž‘ mÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ387Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ388Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ389Ž‘õŒÏ\xydef@\vcrossneg{\begingroup\def\afterknot@{\xyvcrossneg}%ŽŽ¡‘ãŒÃ390Ž‘ mÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ391Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ392Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ393Ž‘õŒÏ\xydef@\hcrossneg{\begingroup\def\afterknot@{\xyhcrossneg}%ŽŽ¡‘ãŒÃ394Ž‘ mÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ395Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ396Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ397Ž‘õŒÏ\xydef@\vuncross{\begingroup\def\afterknot@{\xyvuncross}%ŽŽ¡‘ãŒÃ398Ž‘ mÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ399Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ400Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ401Ž‘õŒÏ\xydef@\huncross{\begingroup\def\afterknot@{\xyhuncross}%ŽŽ¡‘ãŒÃ402Ž‘ mÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ403Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ404Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽŸ_Å‘õŒ¹The‘¦fin²!terface.–Ó3.“.ަ‘ãŒÃ410Ž‘õŒÏ\xydef@\xyvcross{\xykcross@\xykcrossvŽŽ¡‘ãŒÃ411Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ413Ž‘õŒÏ\xydef@\xyhcross{\xykcross@\xykcrosshŽŽ¡‘ãŒÃ414Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ416Ž‘õŒÏ\xydef@\xyvcrossneg{\xykcross@\xykcrossvŽŽ¡‘ãŒÃ417Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ419Ž‘õŒÏ\xydef@\xyhcrossneg{\xykcross@\xykcrosshŽŽ¡‘ãŒÃ420Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ422Ž‘õŒÏ\xydef@\xyvuncross{\xykcross@\xykuncrossvŽŽ¡‘ãŒÃ423Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ425Ž‘õŒÏ\xydef@\xyhuncross{\xykcross@\xykuncrosshŽŽ¡‘ãŒÃ426Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽŽŽŒ‹¦´ Á à ý*tj‘㌹422’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘õŒ¹The–¦fdra²!wing“coMÞde.–Ó3.“.Ž©Pˆ‘ãŒÃ432Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¤ ™š‘ãŒÃ433Ž‘ûKÃÏ"^<",{\xykz_\ar‘¿ª#1@'{"_<"**{}?(.25)@+,?+(.375,0)@+,ŽŽ¡‘ãŒÃ434Ž‘ mÏ"_>";"^>"**{}?-(.375,0)@+,?(.25)@+}"_>"#3#4#5},ŽŽ¡‘ãŒÃ435Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"^<"**{}?(.25)@+,?+(.375,0)@+,ŽŽ¡‘ãŒÃ436Ž‘ mÏ"^>";"_>"**{}?-(.375,0)@+,?(.25)@+}"^>"#6#7#8}ŽŽ¡‘ãŒÃ437Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ438Ž‘õŒÏ\xylet@\xykcrossv=\nextŽŽ¦‘ãŒÃ440Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ441Ž‘ûKÃÏ"_<",{\xykz_\ar‘¿ª#1@'{"_>"**{}?(.25)@+,?+(0,.375)@+,ŽŽ¡‘ãŒÃ442Ž‘ mÏ"^>";"^<"**{}?-(0,.375)@+,?(.25)@+}"^>"#3#4#5},ŽŽ¡‘ãŒÃ443Ž‘ûKÃÏ"_>",{\xykz^\ar‘¿ª#2@'{"_<"**{}?(.25)@+,?+(0,.375)@+,ŽŽ¡‘ãŒÃ444Ž‘ mÏ"^<";"^>"**{}?-(0,.375)@+,?(.25)@+}"^<"#6#7#8}ŽŽ¡‘ãŒÃ445Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ446Ž‘õŒÏ\xylet@\xykcrossh=\nextŽŽ¦‘ãŒÃ448Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ449Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#1@'{"_<"**{}?(.25)@+,?(.375)+(.375,0)@+,ŽŽ¡‘ãŒÃ450Ž‘ mÏ"^>";"_>"**{}?(.375)-(.375,0)@+,?(.25)@+}"^>"#3#4#5},ŽŽ¡‘ãŒÃ451Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"^<"**{}?(.25)@+,?(.375)+(.375,0)@+,ŽŽ¡‘ãŒÃ452Ž‘ mÏ"_>";"^>"**{}?(.375)-(.375,0)@+,?(.25)@+}"_>"#6#7#8}ŽŽ¡‘ãŒÃ453Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ454Ž‘õŒÏ\xylet@\xykuncrossv=\nextŽŽ¦‘ãŒÃ456Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ457Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#1@'{"_>"**{}?(.25)@+,?(.375)+(0,.375)@+,ŽŽ¡‘ãŒÃ458Ž‘ mÏ"^<";"^>"**{}?(.375)-(0,.375)@+,?(.25)@+}"^<"#3#4#5},ŽŽ¡‘ãŒÃ459Ž‘ûKÃÏ"_>",{\xykz^\ar‘¿ª#2@'{"_<"**{}?(.25)@+,?(.375)+(0,.375)@+,ŽŽ¡‘ãŒÃ460Ž‘ mÏ"^>";"^<"**{}?(.375)-(0,.375)@+,?(.25)@+}"^>"#6#7#8}ŽŽ¡‘ãŒÃ461Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ462Ž‘õŒÏ\xylet@\xykuncrossh=\nextŽŽŸ)hn‘õŒÔ\o•¦tv“er"‘2crossings:ŽŸ›‘õŒ¹The‘¦finitialisation.–Ó3.“.ަ‘ãŒÃ474Ž‘õŒÏ\xydef@\vover{\begingroup\def\afterknot@{\xyvover}%ŽŽ¡‘ãŒÃ475Ž‘ûKÃÏ\def\xykprePLACE@{(.2)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ476Ž‘ûKÃÏ\def\xykmidPLACE@{(.8)}\def\xykpostbreak@@{|(.725)\knothole}%ŽŽ¡‘ãŒÃ477Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ479Ž‘õŒÏ\xydef@\hover{\begingroup\def\afterknot@{\xyhover}%ŽŽ¡‘ãŒÃ480Ž‘ûKÃÏ\def\xykprePLACE@{(.2)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ481Ž‘ûKÃÏ\def\xykmidPLACE@{(.8)}\def\xykpostbreak@@{|(.725)\knothole}%ŽŽ¡‘ãŒÃ482Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ484Ž‘õŒÏ\xydef@\vunder{\begingroup\def\afterknot@{\xyvunder}%ŽŽ¡‘ãŒÃ485Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.8)}%ŽŽ¡‘ãŒÃ486Ž‘ûKÃÏ\def\xykmidPLACE@{(.2)}\def\xykpostbreak@@{|(.275)\knothole}%ŽŽ¡‘ãŒÃ487Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ489Ž‘õŒÏ\xydef@\hunder{\begingroup\def\afterknot@{\xyhunder}%ŽŽŽŽŒ‹§"? Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹423ŽŽ ¶?? ýh«w‘ãŒÃ490Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.8)}%ŽŽ¤ ™š‘ãŒÃ491Ž‘ûKÃÏ\def\xykmidPLACE@{(.2)}\def\xykpostbreak@@{|(.275)\knothole}%ŽŽ¡‘ãŒÃ492Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ©Pˆ‘ãŒÃ494Ž‘õŒÏ\xydef@\vunover{\begingroup\def\afterknot@{\xyvunover}%ŽŽ¡‘ãŒÃ495Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ496Ž‘ûKÃÏ\def\xykmidPLACE@{(.8)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ497Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ499Ž‘õŒÏ\xydef@\hunover{\begingroup\def\afterknot@{\xyhunover}%ŽŽ¡‘ãŒÃ500Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ501Ž‘ûKÃÏ\def\xykmidPLACE@{(.8)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ502Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽŸv‘ãŒÃ505Ž‘õŒÏ\xydef@\xoverv{\begingroup\def\afterknot@{\xyxoverv}%ŽŽ¡‘ãŒÃ506Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ507Ž‘ûKÃÏ\def\xykmidPLACE@{(.15)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ508Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ510Ž‘õŒÏ\xydef@\xunderv{\begingroup\def\afterknot@{\xyxunderv}%ŽŽ¡‘ãŒÃ511Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ512Ž‘ûKÃÏ\def\xykmidPLACE@{(.15)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ513Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ515Ž‘õŒÏ\xydef@\xoverh{\begingroup\def\afterknot@{\xyxoverh}%ŽŽ¡‘ãŒÃ516Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ517Ž‘ûKÃÏ\def\xykmidPLACE@{(.15)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ518Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ520Ž‘õŒÏ\xydef@\xunderh{\begingroup\def\afterknot@{\xyxunderh}%ŽŽ¡‘ãŒÃ521Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ522Ž‘ûKÃÏ\def\xykmidPLACE@{(.85)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ523Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ525Ž‘õŒÏ\xydef@\xunover{\begingroup\def\afterknot@{\xyxunover}%ŽŽ¡‘ãŒÃ526Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ527Ž‘ûKÃÏ\def\xykmidPLACE@{(.15)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ528Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ530Ž‘õŒÏ\xydef@\xunoverv{\begingroup\def\afterknot@{\xyxunoverv}%ŽŽ¡‘ãŒÃ531Ž‘ûKÃÏ\def\xykprePLACE@{(.2)}\def\xykpostPLACE@{(.8)}%ŽŽ¡‘ãŒÃ532Ž‘ûKÃÏ\def\xykmidPLACE@{(.2)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ533Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¦‘ãŒÃ535Ž‘õŒÏ\xydef@\xunoverh{\begingroup\def\afterknot@{\xyxunoverh}%ŽŽ¡‘ãŒÃ536Ž‘ûKÃÏ\def\xykprePLACE@{(.2)}\def\xykpostPLACE@{(.8)}%ŽŽ¡‘ãŒÃ537Ž‘ûKÃÏ\def\xykmidPLACE@{(.8)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ538Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽŸ#Ž‘õŒ¹The‘¦fin²!terface.–Ó3.“.ަ‘ãŒÃ544Ž‘õŒÏ\xydef@\xyvover{\xykcross@\xykovervŽŽ¡‘ãŒÃ545Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ547Ž‘õŒÏ\xydef@\xyhover{\xykcross@\xykoverhŽŽ¡‘ãŒÃ548Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽŽŽŒ‹¨-¡ Á à ý*tj‘㌹424’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ550Ž‘õŒÏ\xydef@\xyvunder{\xykcross@\xykovervŽŽ¤ ™š‘ãŒÃ551Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(0,-1)}}ŽŽ©Pˆ‘ãŒÃ553Ž‘õŒÏ\xydef@\xyhunder{\xykcross@\xykoverhŽŽ¡‘ãŒÃ554Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ556Ž‘õŒÏ\xydef@\xyvunover{\xykcross@\xykunovervŽŽ¡‘ãŒÃ557Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ559Ž‘õŒÏ\xydef@\xyhunover{\xykcross@\xykunoverhŽŽ¡‘ãŒÃ560Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽŸv‘ãŒÃ563Ž‘õŒÏ\xydef@\xyxoverv{\xykcross@\xykxovervŽŽ¡‘ãŒÃ564Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ566Ž‘õŒÏ\xydef@\xyxunderv{\xykcross@\xykxovervŽŽ¡‘ãŒÃ567Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ569Ž‘õŒÏ\xydef@\xyxoverh{\xykcross@\xykxoverhŽŽ¡‘ãŒÃ570Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ572Ž‘õŒÏ\xydef@\xyxunderh{\xykcross@\xykxoverhŽŽ¡‘ãŒÃ573Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ575Ž‘õŒÏ\xydef@\xyxunover{\xykcross@\xykxovervŽŽ¡‘ãŒÃ576Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ578Ž‘õŒÏ\xydef@\xyxunoverv{\xykcross@\xykxunovervŽŽ¡‘ãŒÃ579Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ581Ž‘õŒÏ\xydef@\xyxunoverh{\xykcross@\xykxunoverhŽŽ¡‘ãŒÃ582Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽŸ#í‘õŒ¹The–¦fdra²!wing“coMÞde.–Ó3.“.ަ‘ãŒÃ589Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ590Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#1@'{"^>"**{}?(.25)@+,?(.625)+(0,-.125)@+,ŽŽ¡‘ãŒÃ591Ž‘ mÏ"_>";"^>"**{}?(.625)-(.125,0)@+,?(.25)@+}"_>"#3#4#5},ŽŽ¡‘ãŒÃ592Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"^<"**{}?(.25)@+,?(.625)+(.125,0)@+,ŽŽ¡‘ãŒÃ593Ž‘ mÏ"^>";"^<"**{}?(.625)-(0,.125)@+,?(.25)@+}"^>"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ594Ž‘õŒÏ\xylet@\xykoverv=\nextŽŽ¦‘ãŒÃ596Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ597Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#1@'{"^<"**{}?(.25)@+,?(.625)+(.125,0)@+,ŽŽ¡‘ãŒÃ598Ž‘ mÏ"^>";"^<"**{}?(.625)-(0,.125)@+,?(.25)@+}"^>"#3#4#5},ŽŽ¡‘ãŒÃ599Ž‘ûKÃÏ"_>",{\xykz^\ar‘¿ª#2@'{"_<"**{}?(.25)@+,?(.625)+(0,.125)@+,ŽŽ¡‘ãŒÃ600Ž‘ mÏ"^<";"_<"**{}?(.625)+(.125,0)@+,?(.25)@+}"^<"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ601Ž‘õŒÏ\xylet@\xykoverh=\nextŽŽ¦‘ãŒÃ603Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ604Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#1@'{"^>"**{}?(.25)@+,?-(0,.175)@+,?(.75)@+}ŽŽ¡‘ãŒÃ605Ž‘ mÏ"^>"#3#4#5},ŽŽ¡‘ãŒÃ606Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"^<"**{}?(.25)@+,?+(.125,0)@+,ŽŽ¡‘ãŒÃ607Ž‘ËÏ"_>"**{}?+(0,.7)@+,"_>";"^>"**{}?-(.125,0)@+,?(.25)@+}ŽŽ¡‘ãŒÃ608Ž‘ mÏ"_>"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ609Ž‘õŒÏ\xylet@\xykunoverv=\nextŽŽ¦‘ãŒÃ611Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽŽŽŒ‹©9K Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹425ŽŽ ¶?? ýh«w‘ãŒÃ612Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#1@'{"^<"**{}?(.25)@+,?+(.175,0)@+,?(.75)@+}ŽŽ¤ ™š‘ãŒÃ613Ž‘ mÏ"^<"#3#4#5},ŽŽ¡‘ãŒÃ614Ž‘ûKÃÏ"_>",{\xykz^\ar‘¿ª#2@'{"_<"**{}?(.25)@+,?+(0,.125)@+,ŽŽ¡‘ãŒÃ615Ž‘ËÏ"^>"**{}?-(.7,0)@+,"^>";"^<"**{}?-(0,.125)@+,?(.25)@+}ŽŽ¡‘ãŒÃ616Ž‘ mÏ"^>"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ617Ž‘õŒÏ\xylet@\xykunoverh=\nextŽŽ©Pˆ‘ãŒÃ619Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ620Ž‘ûKÃÏ"^<";"^>"**{}?="^_","_<";"_>"**{}?;"^_",**{}?="^_",ŽŽ¡‘ãŒÃ621Ž‘ûKÃÏ"^>",{\xykz^\ar‘¿ª#1@'{"^_"@+}"_<"#3#4#5},ŽŽ¡‘ãŒÃ622Ž‘ûKÃÏ"^<",{\xykz_\ar‘¿ª#2@'{"^_"@+}"_>"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ623Ž‘õŒÏ\xylet@\xykxoverv=\nextŽŽ¦‘ãŒÃ625Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ626Ž‘ûKÃÏ"^<";"_<"**{}?="^_","^>";"_>"**{}?;"^_",**{}?="^_",ŽŽ¡‘ãŒÃ627Ž‘ûKÃÏ"^<",{\xykz_\ar‘¿ª#1@'{"^_"@+}"_>"#3#4#5},ŽŽ¡‘ãŒÃ628Ž‘ûKÃÏ"_<",{\xykz_\ar‘¿ª#2@'{"^_"@+}"^>"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ629Ž‘õŒÏ\xylet@\xykxoverh=\nextŽŽ¦‘ãŒÃ631Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ632Ž‘ûKÃÏ"^<";"^>"**{}?="^_","_<";"_>"**{}?;"^_",**{}?="^_",ŽŽ¡‘ãŒÃ633Ž‘ûKÃÏ"^>",{\xykz^\ar‘¿ª#1@'{"^_"@+}"_>"#3#4#5},ŽŽ¡‘ãŒÃ634Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#2@'{"^_"@+}"_<"#6#7#8},\restore\POS#9}}ŽŽ¡‘ãŒÃ635Ž‘õŒÏ\xylet@\xykxunoverv=\nextŽŽ¦‘ãŒÃ637Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ638Ž‘ûKÃÏ"^<";"_<"**{}?="^_","^>";"_>"**{}?;"^_",**{}?="^_",ŽŽ¡‘ãŒÃ639Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#1@'{"^_"@+}"^>"#3#4#5},ŽŽ¡‘ãŒÃ640Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"^_"@+}"_>"#6#7#8},ŽŽ¡‘ãŒÃ641Ž‘ mÏ\restore\POS#9}}ŽŽ¡‘ãŒÃ642Ž‘õŒÏ\xylet@\xykxunoverh=\nextŽŽŸ)É4‘õŒÔ\t¦twist"‘2crossings:ŽŸÅk‘õŒ¹The‘¦finitialisation.–Ó3.“.ަ‘ãŒÃ654Ž‘õŒÏ\xydef@\vtwist{\begingroup\def\afterknot@{\xyvtwist}%ŽŽ¡‘ãŒÃ655Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ656Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ657Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ658Ž‘õŒÏ\xydef@\htwist{\begingroup\def\afterknot@{\xyhtwist}%ŽŽ¡‘ãŒÃ659Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ660Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ661Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ662Ž‘õŒÏ\xydef@\vtwistneg{\begingroup\def\afterknot@{\xyvtwistneg}%ŽŽ¡‘ãŒÃ663Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ664Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ665Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ666Ž‘õŒÏ\xydef@\htwistneg{\begingroup\def\afterknot@{\xyhtwistneg}%ŽŽ¡‘ãŒÃ667Ž‘ûKÃÏ\def\xykprePLACE@{(.1)}\def\xykpostPLACE@{(.9)}%ŽŽ¡‘ãŒÃ668Ž‘ûKÃÏ\def\xykmidPLACE@{(.9)}\def\xykpostbreak@@{|\knothole}%ŽŽ¡‘ãŒÃ669Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽŽŽŒ‹ªE3 Á à ý*tj‘㌹426’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ670Ž‘õŒÏ\xydef@\vuntwist{\begingroup\def\afterknot@{\xyvuntwist}%ŽŽ¤ ™š‘ãŒÃ671Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ672Ž‘ûKÃÏ\def\xykmidPLACE@{(.85)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ673Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽ¡‘ãŒÃ674Ž‘õŒÏ\xydef@\huntwist{\begingroup\def\afterknot@{\xyhuntwist}%ŽŽ¡‘ãŒÃ675Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.85)}%ŽŽ¡‘ãŒÃ676Ž‘ûKÃÏ\def\xykmidPLACE@{(.85)}\def\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ677Ž‘ûKÃÏ\xyFN@\xykparsecross@‘¿ª}%ŽŽŸ}ü‘õŒ¹The‘¦fin²!terface.–Ó3.“.Ž©Pˆ‘ãŒÃ683Ž‘õŒÏ\xydef@\xyvtwist{\xykcross@\xyktwistvŽŽ¡‘ãŒÃ684Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ686Ž‘õŒÏ\xydef@\xyvtwistneg{\xykcross@\xyktwistvŽŽ¡‘ãŒÃ687Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ689Ž‘õŒÏ\xydef@\xyvuntwist{\xykcross@\xykuntwistvŽŽ¡‘ãŒÃ690Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(0,-1)}}ŽŽ¦‘ãŒÃ692Ž‘õŒÏ\xydef@\xyhtwist{\xykcross@\xyktwisthŽŽ¡‘ãŒÃ693Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ695Ž‘õŒÏ\xydef@\xyhuntwist{\xykcross@\xykuntwisthŽŽ¡‘ãŒÃ696Ž‘ûKÃÏ\xykoverstring@–¿ª\xykunderstring@“\xykhvobject@{+(1,0)}}ŽŽ¦‘ãŒÃ698Ž‘õŒÏ\xydef@\xyhtwistneg{\xykcross@\xyktwisthŽŽ¡‘ãŒÃ699Ž‘ûKÃÏ\xykunderstring@–¿ª\xykoverstring@“\xykhvobject@{+(1,0)}}ŽŽŸ}ü‘õŒ¹The–¦fdra²!wing“coMÞde.–Ó3.“.ަ‘ãŒÃ705Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ706Ž‘ûKÃÏ"^>",{\xykz_\ar‘¿ª#1@'{"_>"**{}?(.25)@+,?-(.375,0)@+,ŽŽ¡‘ãŒÃ707Ž‘ mÏ"_<";"^<"**{}?+(.375,0)@+,?(.25)@+}"_<"#3#4#5},ŽŽ¡‘ãŒÃ708Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#2@'{"_<"**{}?(.25)@+,?+(.375,0)@+,ŽŽ¡‘ãŒÃ709Ž‘ mÏ"_>";"^>"**{}?+(-.375,0)@+,?(.25)@+}"_>"#6#7#8}ŽŽ¡‘ãŒÃ710Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ711Ž‘õŒÏ\xylet@\xyktwistv=\nextŽŽ¦‘ãŒÃ713Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ714Ž‘ûKÃÏ"^>",{\xykz^\ar‘¿ª#1@'{"_>"**{}?(.125)@+,?(.375)-(.25,0)@+,ŽŽ¡‘ãŒÃ715Ž‘ mÏ?(.625)-(.25,0)@+,?(.875)@+}"_>"#3#4#5},ŽŽ¡‘ãŒÃ716Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#2@'{"_<"**{}?(.125)@+,?(.375)+(.25,0)@+,ŽŽ¡‘ãŒÃ717Ž‘ mÏ?(.625)+(.25,0)@+,?(.875)@+}"_<"#6#7#8}ŽŽ¡‘ãŒÃ718Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ719Ž‘õŒÏ\xylet@\xykuntwistv=\nextŽŽ¦‘ãŒÃ721Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ722Ž‘ûKÃÏ"^<",{\xykz_\ar‘¿ª#1@'{"^>"**{}?(.25)@+,?+(0,-.375)@+,ŽŽ¡‘ãŒÃ723Ž‘ mÏ"_>";"_<"**{}?+(0,.375)@+,?(.25)@+}"_>"#3#4#5},ŽŽ¡‘ãŒÃ724Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"_>"**{}?(.25)@+,?+(0,.375)@+,ŽŽ¡‘ãŒÃ725Ž‘ mÏ"^>";"^<"**{}?-(0,.375)@+,?(.25)@+}"^>"#6#7#8}ŽŽ¡‘ãŒÃ726Ž‘ûKÃÏ\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ727Ž‘õŒÏ\xylet@\xyktwisth=\nextŽŽ¦‘ãŒÃ729Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\save,ŽŽ¡‘ãŒÃ730Ž‘ûKÃÏ"^<",{\xykz^\ar‘¿ª#1@'{"^>",**{}?(.125)@+,?(.375)+(0,-.25)@+,ŽŽŽŽŒ‹«PÉ Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹427ŽŽ ¶?? ýh«w‘ãŒÃ731Ž‘ mÏ?(.625)+(0,-.25)@+,?(.875)@+}"^>"#3#4#5},ŽŽ¤ ™š‘ãŒÃ732Ž‘ûKÃÏ"_<",{\xykz^\ar‘¿ª#2@'{"_>",**{}?(.125)@+,?(.375)+(0,.25)@+,ŽŽ¡‘ãŒÃ733Ž‘ mÏ?(.625)+(0,.25)@+,?(.875)@+}"_>"#6#7#8},\restore\POS‘¿ª#9}}ŽŽ¡‘ãŒÃ734Ž‘õŒÏ\xylet@\xykuntwisth=\nextŽŽŸ!Áì‘㌹3.10b.ŽŽ‘#“The›ýabMÞo•²!v“e˜examples˜also˜sho“w˜ho“w˜to˜use˜Ï-Ž‘ ¹Î¹to˜get˜the˜mirror-image˜of˜a˜particular˜crossing.Ž¡‘õŒAn•²!y›}§n“umerical˜scale˜factor˜can˜bMÞe˜used˜b“y˜enclosing˜it˜within˜Ï[..]Ž‘ùö¹e.g.‘c Ï[2.3]Ž‘(Ÿ™¹scaling˜a˜singleŽ¡‘õŒpiece–T#without“a ecting“the“rest“of“the“picture.‘ çThe“scale-factor“Ðmust‘^ ¹ošMÞccur“b˜efore“an²!y“lab˜elŽ¡‘õŒor–,Carro²!w-tip“spšMÞeci ers,‘M¹see“b˜eloš²!w).‘osV‘ÿeertical“crossings“remain“v˜ertical“under“scalings;‘o1the“curren˜tŽ¡‘õŒÇh¹pMÞosÇi–Ïѹstill“mo•²!v“es›ÏÑb“y˜1˜coMÞordinate˜unit˜in˜the˜`do“wn'˜direction.‘–VSimilarly˜horizon“tal˜crossings˜remainŽ¡‘õŒhorizonš²!tal.‘õThe–6nsingle“c˜haracter“Ï-Ž‘,†¹is“a“shorthand“v˜ersion“for“Ï[-1]Ž‘5¹,‘Zpe ectiv˜ely“giving“a“half-turnŽ¡‘õŒrotation–¦fin“a“rectangular“basis.Ž©Pˆ‘ãŒÃ754Ž‘õŒÏ\xydef@\xykparsescale@{%ŽŽ¡‘ãŒÃ755Ž‘ûKÃÏ\ifx\space@\next‘¿ª\expandafter\DN@\space{\xyFN@\xykparsescale@}%ŽŽ¡‘ãŒÃ756Ž‘ûKÃÏ\else\addDASH@\ifx\next‘¿ª\addDASH@\DN@{\def\xykSCALE@@{-1}%ŽŽ¡‘ãŒÃ757Ž‘ mÏ\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ758Ž‘ûKÃÏ\else\ifx[\next‘¿ª\DN@[##1]{\dimen@=##1\p@ŽŽ¡‘ãŒÃ759Ž‘ mÏ\ifdim\dimen@=\z@\xywarning@{\xykscaleerror@}%ŽŽ¡‘ãŒÃ760Ž‘ mÏ\else\edef\xykSCALE@@{\expandafter\removePT@\the\dimen@}\fiŽŽ¡‘ãŒÃ761Ž‘ mÏ\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ762Ž‘ûKÃÏ\else\ifx~\next‘¿ª\DN@~##1##2##3##4{%ŽŽ¡‘ãŒÃ763Ž‘ mÏ\def\xykSCALE@@{@{##1}{##2}{##3}{##4}}\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ764Ž‘ûKÃÏ\else\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ765Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ767Ž‘õŒÏ\xydef@\xykscaleerror@{Ignoring–¿ªzero“scale“factor}ŽŽŸ þ‘㌹3.10c.ŽŽ‘ìA‘ðòknot-piece–ñ need“not“bšMÞe“rectangular.‘¡qBy“sp˜ecifying“Ï~Ž‘°ÊÇh¹p˜osÇiŸ¤zÂ1Ž–ÀÇh¹p˜osŸ¤zÂ2Ž“Çih¹p˜osŸ¤zÂ3Ž“Çih¹p˜osŸ¤zÂ4Ž“Çi–ñ ¹the“four“cornersŽ¡‘õŒÏULŽ‘ m¹,‘¦fÏURŽ–%º¹,‘¦fÏDLŽ“¹,‘¦fÏDRŽ‘Ì ¹are–¦fset“to“the“giv²!en“Çh¹pšMÞosÇi¹s“resp˜ectiv²!ely‘ÿe.‘ÝÝThe“lo˜cal“basis“is“established“so“thatŽŸår‘kN(ÄrMÞ¹{hopŽŽŽ’Ž4Ç$ŽŽŸû°K’ „:Â1Ž’ „:ŸÆ‰fe@ŸPA2ŽŽŽŽŽ’¥÷q¹(ŽŽŽ’ª9”Çh¹pMÞosŸ¤zÂ2Ž‘ÀÇiŽ’ÊM‘nìh¹pMÞosŸ¤zÂ1Ž‘ÀÇiŽ–"P¥¹+‘nìÇh¹pMÞosŸ¤zÂ4Ž‘ÀÇiŽ“‘nìh¹pMÞosŸ¤zÂ3Ž‘ÀÇiŽ‘á¹¹)ŽŽŽŽŽŽŸ™š‘jHÄu¹{hopŽŽŽ’Ž4Ç$ŽŽŸû°K’ „:Â1Ž’ „:ŸÆ‰fe@ŸPA2ŽŽŽŽŽ’¥÷q¹(ŽŽŽ’ª9”Çh¹pMÞosŸ¤zÂ1Ž‘ÀÇiŽ’ÊM‘nìh¹pMÞosŸ¤zÂ3Ž‘ÀÇiŽ–"P¥¹+‘nìÇh¹pMÞosŸ¤zÂ2Ž‘ÀÇiŽ“‘nìh¹pMÞosŸ¤zÂ1Ž‘ÀÇiŽ‘á¹¹)ŽŽŽ‘'.ƒÄ:ŽŽŽŸB­‘㌹3.10d.ŽŽ‘#“With– a“non-rectangularly“shapšMÞed“piece“it“will“usually“b˜e“necessary“to“adjust“the“place“whereŽ¡‘õŒthe–Ëù`hole'“ošMÞccurs“in“the“`under'“string.‘N•This“is“done“b²!y“sp˜ecifying“Ï@(Ž‘KMÇh¹nš²!umÇiÏ)Ž‘¿ª¹,‘Õ]with“0–IFÇ“h¹n˜umÇiŽ‘$ “¹1Ž¡‘õŒbšMÞeing–¦fthe“parameter“v‘ÿdDalue“of“the“new“lo˜cation“for“the“hole.ަ‘ãŒÃ795Ž‘õŒÏ%\xydef@\xykobject@{%ŽŽ¡‘ãŒÃ796Ž‘õŒÏ%‘¿ª\ifx\xykSCALE@@\empty\DN@{\xykkeepscale@}%ŽŽ¡‘ãŒÃ797Ž‘õŒÏ%–¿ª\else“\DN@{\xyksavescale@{}}%ŽŽ¡‘ãŒÃ798Ž‘õŒÏ%–¿ª\fi“\next@“}ŽŽ¦‘ãŒÃ800Ž‘õŒÏ\xydef@\xykhobject@{\aftergroup\xykhadjust@ŽŽ¡‘ãŒÃ801Ž‘ûKÃÏ\ifx\xykSCALE@@\empty\DN@{\xykkeepscale@}%ŽŽ¡‘ãŒÃ802Ž‘ûKÃÏ\else‘¿ª\DN@{\xyksavescale@{}}%ŽŽ¡‘ãŒÃ803Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ¦‘ãŒÃ805Ž‘õŒÏ\xydef@\xykvobject@{\aftergroup\xykvadjust@ŽŽ¡‘ãŒÃ806Ž‘ûKÃÏ\ifx\xykSCALE@@\empty\DN@{\xykkeepscale@}%ŽŽ¡‘ãŒÃ807Ž‘ûKÃÏ\else‘¿ª\DN@{\xyksavescale@{}}%ŽŽ¡‘ãŒÃ808Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŽŽŒ‹¬\” Á à ý*tj‘㌹428’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ810Ž‘õŒÏ\xydef@\xykhvobject@{\aftergroup\xykhvadjust@ŽŽ¤ ™š‘ãŒÃ811Ž‘ûKÃÏ\ifx\xykSCALE@@\empty\DN@{\xykkeepscale@}%ŽŽ¡‘ãŒÃ812Ž‘ûKÃÏ\else‘¿ª\DN@{\xyksavescale@{}}%ŽŽ¡‘ãŒÃ813Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ815Ž‘õŒÏ\xydef@\xykhuobject@{\aftergroup\xykhuadjust@ŽŽ¡‘ãŒÃ816Ž‘ûKÃÏ\ifx\xykSCALE@@\empty\DN@{\xykkeepscale@}%ŽŽ¡‘ãŒÃ817Ž‘ûKÃÏ\else‘¿ª\DN@{\xyksavescale@{}}%ŽŽ¡‘ãŒÃ818Ž‘ûKÃÏ\fi–¿ª\next@“}ŽŽŸv‘ãŒÃ822Ž‘õŒÏ\xydef@\xyksavescale@#1#2{%ŽŽ¡‘ãŒÃ823Ž‘ûKÃÏ\expandafter\ifx\the\Edge@c\zeroEdge\relax‘¿ª\def\xyksaveEdgec{}%ŽŽ¡‘ãŒÃ824Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ825Ž‘ mÏ\edef\xyksaveEdgec{\noexpand\Edge@c={\expandafter\noexpand\the\Edge@c}%ŽŽ¡‘ãŒÃ826Ž‘ËÏ\L@c=\the\L@c–¿ª\R@c=\the\R@c“\D@c=\the\D@c“\U@c=\the\U@c}%ŽŽ¡‘ãŒÃ827Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ828Ž‘õŒÏ%ŽŽ¡‘ãŒÃ829Ž‘ûKÃÏ\edef\next@##1##2{\endgroupŽŽ¡‘ãŒÃ830Ž‘ mÏ\def\noexpand\xyksaveEdgec{}%ŽŽ¡‘ãŒÃ831Ž‘ mÏ\def\noexpand\xykSCALE@@\noexpand{##1}%ŽŽ¡‘ãŒÃ832Ž‘ mÏ\def\noexpand\xykjoincontrol\noexpand{\xykjoincontrol}%ŽŽ¡‘ãŒÃ833Ž‘ mÏ\noexpand\toks@\noexpand{##2}%ŽŽ¡‘ãŒÃ834Ž‘ mÏ\noexpand\xy@@{\def\noexpand\xyksaveEdgec{}%ŽŽ¡‘ãŒÃ835Ž‘ËÏ\def\noexpand\xykSCALE@@{##1}%ŽŽ¡‘ãŒÃ836Ž‘ËÏ\def\noexpand\xykjoincontrol{\xykjoincontrol}}}%ŽŽ¡‘ãŒÃ837Ž‘ûKÃÏ\expandafter\expandafter\expandafter\next@ŽŽ¡‘ãŒÃ838Ž‘ûKÃÏ\expandafter\expandafter\expandafter{\expandafter\xykSCALE@@\expandafter}%ŽŽ¡‘ãŒÃ839Ž‘ûKÃÏ\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ840Ž‘õŒÏ%ŽŽ¡‘ãŒÃ841Ž‘ûKÃÏ\xykrescale@‘¿ª#1\the\toks@\restore\POS#2}ŽŽ¦‘ãŒÃ843Ž‘õŒÏ\xydef@\xykkeepscale@{%ŽŽ¡‘ãŒÃ844Ž‘ûKÃÏ\edef\next@##1{\endgroup‘¿ª\noexpand\toks@={##1}%ŽŽ¡‘ãŒÃ845Ž‘ mÏ\def\noexpand\xykjoincontrol{\xykjoincontrol}}%ŽŽ¡‘ãŒÃ846Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}%ŽŽ¡‘ãŒÃ847Ž‘ûKÃÏ\def\xykSCALE@@{}\def\xyksaveEdgec{}%ŽŽ¡‘ãŒÃ848Ž‘ûKÃÏ\xy@@{\def\xykSCALE@@{}\def\xyksaveEdgec{}}%ŽŽ¡‘ãŒÃ849Ž‘ûKÃÏ\edef\next@{\def\noexpand\xykjoincontrol{\xykjoincontrol}}%ŽŽ¡‘ãŒÃ850Ž‘ûKÃÏ\expandafter\xy@@\expandafter{\next@}%ŽŽ¡‘ãŒÃ851Ž‘ûKÃÏ\xyknoflexscale@‘¿ª\the\toks@}ŽŽŸv‘ãŒÃ855Ž‘õŒÏ\xydef@\xykrescale@{\expandafter\xykcheckscale@\xykSCALE@@‘¿ª!}%ŽŽ¦‘ãŒÃ857Ž‘õŒÏ\xydef@\xykcheckscale@#1#2!{%ŽŽ¡‘ãŒÃ858Ž‘ûKÃÏ\expandafter\DN@\expandafter{\codeof{#1}}%ŽŽ¡‘ãŒÃ859Ž‘ûKÃÏ\expandafter\DNii@\expandafter{\codeof{@}}%ŽŽ¡‘ãŒÃ860Ž‘ûKÃÏ\ifx\next@\nextii@\relax\DN@{\xykflexiscale@#2%ŽŽ¡‘ãŒÃ861Ž‘ûKÃÏ\xy@@{\divide\X@xbase2\divide\X@ybase2\divide\Y@xbase2\divide\Y@ybase2%ŽŽ¡‘ãŒÃ862Ž‘ mÏ\def\xykSCALE@@{}}\def\xykSCALE@@{}%ŽŽ¡‘ãŒÃ863Ž‘ mÏ\expandafter\toks@\expandafter{\afterFLEX@}}%ŽŽ¡‘ãŒÃ864Ž‘ûKÃÏ\else\DN@{\save–¿ª\xykrescale@@}\fi“\next@“}ŽŽ¦‘ãŒÃ866Ž‘õŒÏ\xydef@\xykflexiscale@{%ŽŽŽŽŒ‹­k› Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹429ŽŽ ¶?? ýh«w‘ãŒÃ867Ž‘ûKÃÏ\expandafter\def\expandafter\afterFLEX@\expandafter{\the\toks@}%ŽŽ¤ ™š‘ãŒÃ868Ž‘ûKÃÏ\xykflexiscale@@‘¿ª}ŽŽ©Pˆ‘ãŒÃ870Ž‘õŒÏ\xydef@\xykrescale@@{%ŽŽ¡‘ãŒÃ871Ž‘ûKÃÏ\edef\next@{\X@xbase=\xykSCALE@@\X@xbase‘¿ª\X@ybase=\xykSCALE@@\X@ybaseŽŽ¡‘ãŒÃ872Ž‘ mÏ\Y@xbase=\xykSCALE@@\Y@xbase‘¿ª\Y@ybase=\xykSCALE@@\Y@ybase}%ŽŽ¡‘ãŒÃ873Ž‘ûKÃÏ\expandafter\xy@@\expandafter{\next@}%ŽŽ¡‘ãŒÃ874Ž‘ûKÃÏ\ifdim\xykSCALE@@\p@<\z@\relax‘¿ª\DN@{\xyknegflexscale@}%ŽŽ¡‘ãŒÃ875Ž‘ûKÃÏ\else\DN@{\xyknoflexscale@}\fi–¿ª\next@“}ŽŽŸv‘ãŒÃ880Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4{\save="@",ŽŽ¡‘ãŒÃ881Ž‘ mÏ#1,="^<",\POS"@",#2,="^>",\POS"@",#3,="_<",\POS"@",#4,="_>",ŽŽ¡‘ãŒÃ882Ž‘ûKÃÏ(0,0);"^>"-"^<"+"_>"-"_<":"^<"-"_<"+"^>"-"_>"::}}ŽŽ¡‘ãŒÃ883Ž‘õŒÏ\xylet@\xykflexiscale@@=\nextŽŽ¦‘ãŒÃ885Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next{\save“="^<",ŽŽ¡‘ãŒÃ886Ž‘ûKÃÏ+(1,0)="^>",-(1,1)="_<",+(1,0)="_>"\restore‘¿ª}}ŽŽ¡‘ãŒÃ887Ž‘õŒÏ\xylet@\xyknoflexscale@@=\nextŽŽ¡‘ãŒÃ888Ž‘õŒÏ\xylet@\xyknoflexscale@=\nextŽŽ¦‘ãŒÃ890Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next{\save“="_>",ŽŽ¡‘ãŒÃ891Ž‘ûKÃÏ+(-1,1)="^<",+(1,0)="^>",-(1,1)="_<"\restore‘¿ª}}ŽŽ¡‘ãŒÃ892Ž‘õŒÏ\xylet@\xyknegflexscale@@=\nextŽŽ¡‘ãŒÃ893Ž‘õŒÏ\xylet@\xyknegflexscale@=\nextŽŽ¦‘ãŒÃ895Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next{\save“="_<",ŽŽ¡‘ãŒÃ896Ž‘ûKÃÏ+(1,0)="_>",+(-1,1)="^<",+(1,0)="^>"\restore‘¿ª}}ŽŽ¡‘ãŒÃ897Ž‘õŒÏ\xylet@\xykhscale@@=\nextŽŽ¦‘ãŒÃ899Ž‘õŒÏ{\xyuncatcodes–¿ª\gdef\next{\save“="^>",ŽŽ¡‘ãŒÃ900Ž‘ûKÃÏ-(1,0)="^<",+(1,-1)="_>",-(1,0)="_<"\restore‘¿ª}}ŽŽ¡‘ãŒÃ901Ž‘õŒÏ\xylet@\xykvscale@@=\nextŽŽŸv‘ãŒÃ906Ž‘õŒÏ\xydef@\xykhadjust@{%ŽŽ¡‘ãŒÃ907Ž‘ûKÃÏ\let\xyknoflexscale@=\xykhscale@@ŽŽ¡‘ãŒÃ908Ž‘ûKÃÏ\let\xyknegflexscale@=\xyknegflexscale@@‘¿ª}ŽŽ¦‘ãŒÃ910Ž‘õŒÏ\xydef@\xykvadjust@{%ŽŽ¡‘ãŒÃ911Ž‘ûKÃÏ\let\xyknoflexscale@=\xyknoflexscale@@ŽŽ¡‘ãŒÃ912Ž‘ûKÃÏ\let\xyknegflexscale@=\xykhscale@@‘¿ª}ŽŽ¦‘ãŒÃ914Ž‘õŒÏ\xydef@\xykhvadjust@{%ŽŽ¡‘ãŒÃ915Ž‘ûKÃÏ\let\xyknoflexscale@=\xyknoflexscale@@ŽŽ¡‘ãŒÃ916Ž‘ûKÃÏ\let\xyknegflexscale@=\xyknegflexscale@@‘¿ª}ŽŽ¦‘ãŒÃ918Ž‘õŒÏ\xydef@\xykhuadjust@{%ŽŽ¡‘ãŒÃ919Ž‘ûKÃÏ\let\xyknoflexscale@=\xykhscale@@ŽŽ¡‘ãŒÃ920Ž‘ûKÃÏ\let\xyknegflexscale@=\xykvscale@@‘¿ª}ŽŽŸ@‘㌹3.10e.ŽŽ‘ìThe‘ÞæÏknotŽ‘¼t¹feature–Þæalloš²!ws“for“the“easy“placemen˜t“of“the“follo˜wing“ob‘›»jects“along“the“strings“of“aŽ¡‘õŒcrossing:ŽŸ€ù‘)‹ÇŽŽŽ‘ £%¹labMÞels–¦fon“the“strings;ޤ‰.‘)‹ÇŽŽŽ‘ £%¹arroš²!wheads–¦ffor“direction“or“orien˜tation;Ž¡‘)‹ÇŽŽŽ‘ £%¹holes–¦fin“strings,“alloš²!wing“another“string“to“bMÞe“dra˜wn“passing“o˜v˜er.ŽŽŽŒ‹®vÖ Á à ý*tj‘㌹430’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘㌹3.10f.ŽŽ‘fÆThe–Ôcš²!haracters“Ï<Ž‘ A~¹,‘‰$Ï>Ž‘ Ê¢¹and“Ï|Ž‘ ÃR¹are“used“to“indicate“to“whic˜h“string“pšMÞortion“the“ob‘›»ject“is“asso˜ciated;ޤ ™š‘õŒwith‘ì’Ï|Ž›˜Î¹denoting–ì’the“string“whic²!h“crosses“the“other,‘>while“Ï<Ž˜¹and“Ï>Ž˜¹denote“the“initial“and“ nalŽ¡‘õŒpMÞortions–¦fof“the“`crossed'“string.Ž©Pˆ‘ãŒÃ945Ž‘õŒÏ\xydef@\xykprebreak@{%ŽŽ¡‘ãŒÃ946Ž‘ûKÃÏ\ifx\xykprebreak@@\empty\addtotoks@{{}}\elseŽŽ¡‘ãŒÃ947Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter{\xykprebreak@@}}\fi}ŽŽ¦‘ãŒÃ949Ž‘õŒÏ\xydef@\xykpostbreak@{%ŽŽ¡‘ãŒÃ950Ž‘ûKÃÏ\ifx\xykpostbreak@@\empty\addtotoks@{{}}\elseŽŽ¡‘ãŒÃ951Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter{\xykpostbreak@@}}\fi}ŽŽ¦‘ãŒÃ953Ž‘õŒÏ\xydef@\xykmidbreak@{%ŽŽ¡‘ãŒÃ954Ž‘ûKÃÏ\ifx\xykmidbreak@@\empty\addtotoks@{{}}\elseŽŽ¡‘ãŒÃ955Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter{\xykmidbreak@@}}\fi}ŽŽŸNˆ‘㌹3.10g.ŽŽ‘‡×A‘~#simple–~ZlabMÞel“enclosed“in“braces,›´Wfor“example“Ï\vcross>{x}Ž‘Cº¨¹,˜is“set“in“math-moMÞde“using“theŽ¡‘õŒÏ\labelstyleŽ‘4Èg¹,›_at–Óûa“pre-determined“place“on“the“string“pMÞortion,˜shifted“in“either“the“`abMÞo•²!v“e'‘ÓûorŽ¡‘õŒ`bMÞeloš²!w'–1òdirection“from“the“curv˜e“at“this“pMÞoin˜t.‘ €‚(F‘ÿeor“eac˜h“crossing“depicted“in“ gure“3.8“onlyŽ¡‘õŒdefault–¦fv‘ÿdDalues“are“used“for“the“place“and“shift-direction.)Ž©—š‘ãŒ3.10h.ŽŽ‘#“If–Á,the“ rst“c²!haracter“within“the“braces“Ï{..}Ž‘ ¹is“Ï*Ž‘B¹e.g.‘.0Ï\htwist>{*Ž‘AªÔÇh¹ob‘›»jectÇiÏ}Ž‘¿ª¹,‘Þthen“a“generalŽ¡‘õŒÇh¹ob‘›»jectÇi–ß‹¹ma²!y“bšMÞe“placed“as“a“lab˜el.‘‰KF‘ÿeurthermore“if“the“ rst“c²!haracter“is“Ï^Ž›~À¹or“Ï_Ž˜¹or“Ï|Ž‘ Ÿ5¹,‘-Óthen“theŽ¡‘õŒin•²!terpretation‘%is,›Ôe.g.‘îÏ\vtwist<{^Ž‘?j½Çh¹anc“horÇih¹itÇiÏ}Ž‘¿ª¹,˜as–%in“3.2“to“place“Çh¹itÇi“¹as“a“labMÞel“along“an“Ï\arŽ‘AH¹ofŽ¡‘õŒthe‘¦fÏarrowŽ‘$ ¹feature.ަ‘ãŒ3.10i.ŽŽ‘èA‘ÂXsecond–Â’c²!haracter“Ï<Ž› Dιor“Ï>Ž˜¹spšMÞeci es“that“an“arro²!whead“should“app˜ear“at“the“pre-determined“placeŽ¡‘õŒon–›²the“cš²!hosen“string.‘ÚLHere“Ï>Ž‘ ÷¹denotes“an“arro˜whead“pMÞoin˜ting“with“the“natural“orien˜tation,‘Öwhile“Ï<ŽŽ¡‘õŒ¹pšMÞoin²!ts–0/against.‘¶uDue“to“the“curv‘ÿdDature“of“the“strings,‘GÔit“is“usually“b˜est“to“Ï\UseComputerModernTipsŽŽ¡‘õŒ¹rather–¦fthan“normal“arro²!w-tips.ަ‘ãŒ3.10j.ŽŽ‘fÆT‘ÿeo–‚Øgenerate“a“`hole'“use“Ï\knotholeŽ‘8?Ò¹,›¹ôor“simply“Ï\kholeŽ‘'Ô¹,˜as“folloš²!wing“tok˜en.‘s2This“generates“aŽ¡‘õŒ`break',‘ìgin–½çthe“sense“of“3.3j.‘^Indeed“sucš²!h“a“`hole'“is“used“to“separate“the“t˜w˜o“pMÞortions“of“the“`crossed'Ž¡‘õŒstring.‘ÝŽDefault–¥ysize“for“the“hole“is“5pt,‘¥©whic²!h“is“alterable“via“Ï\knotholesize{Ž‘T ÅÇh¹dimenÇiÏ}Ž‘¿ª¹;‘¥ÈnormallyŽ¡‘õŒused–¦fto“set“the“size“for“Ðal‘Fl‘ȹholes“in“a“diagram.ަ‘ãŒ3.10k.ŽŽ‘Õ¶If–Jthe“resulting“Ï\kholeŽ‘,²¹is“either“tošMÞo“large“or“p˜erhaps“non-existen²!t,‘wCthis“could“b˜e“due“to“aŽ¡‘õŒtec•²!hnicalit“y–¥Éin“the“w•²!a“y–¥Ébreaks“in“curv²!es“are“handled.‘ÜThis“problem“should“not“oMÞccur“with“theŽ¡‘õŒstandard–Iôcrossings,›r×using“a“rectangular“basis,˜but“it“ma²!y“oMÞccur“with“non-rectangular“bases.‘ȆAnŽ¡‘õŒeasy–I¸` x'“is“to“include“an“extra“Ðnul‘Fl-br–ÿp¹e“ak–I¸¹on“the“string,›\Ausing“Ï<Ž‘ b|Ž‘É ¹,˜Ï>Ž‘ ë|Ž‘%M¹or“Ï|Ž‘ b|Ž‘É ¹,˜whic²!h“should“place“theŽ¡‘õŒzero-sized–Wfbreak“at“parameter“v‘ÿdDalue“.5“on“the“curv²!e.‘ÈThe“spMÞeci cation“should“precede“a“Ï\kholeŽ‘),ȹatŽ¡‘õŒa–¦fhigher“parameter“v›ÿdDalue,“or“come“after“one“at“a“lo•²!w“er‘¦fv˜alue.ŽŸ˜š‘õŒThe–ýaim“of“the“abšMÞo•²!v“e–ý` x'“is“to“p˜osition“the“n²!ull-break“as“close“as“p˜ossible“to“where“the“curv²!e“isŽ¡‘õŒfarthest–¦ffrom“the“line“joining“its“end-pMÞoinš²!ts,“whic˜h“is“usually“at“parameter“v‘ÿdDalue“Ï(.5)Ž‘¥¹.ŽŸPˆ‘ãŒÃ1008Ž‘õŒÏ\xydef@\xykparsebreak@{%ŽŽ¡‘ãŒÃ1009Ž‘ûKÃÏ\ifx\space@\next‘¿ª\expandafter\DN@\space{\xyFN@\xykparsebreak@}%ŽŽ¡‘ãŒÃ1010Ž‘ûKÃÏ\else‘¿ª\addLT@\ifx\nextŽŽ¡‘ãŒÃ1011Ž‘ mÏ\expandafter\appendtoholder@\xykbacktemp@\next@ŽŽ¡‘ãŒÃ1012Ž‘ mÏ\addLT@\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1013Ž‘ûKÃÏ\else‘¿ª\addGT@\ifx\nextŽŽ¡‘ãŒÃ1014Ž‘ mÏ\expandafter\appendtoholder@\xykforetemp@\next@ŽŽ¡‘ãŒÃ1015Ž‘ mÏ\addGT@\DN@{\xyFN@\xykparser@}%ŽŽŽŽŒ‹¯¦ Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹431ŽŽ ¶?? ýh«w‘ãŒÃ1016Ž‘ûKÃÏ\else‘¿ª\ifx|\nextŽŽ¤ ™š‘ãŒÃ1017Ž‘ mÏ\expandafter\appendtoholer@\xyknulltemp@\next@ŽŽ¡‘ãŒÃ1018Ž‘ mÏ\DN@|{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1019Ž‘ûKÃÏ\else–¿ª\ifx\next“\bgroup\DN@##1{\checkgroupbreak@##1@}%ŽŽ¡‘ãŒÃ1020Ž‘ûKÃÏ\else–¿ª\ifx“(\next\DN@(##1){\xyadjustknotPLACE@i##1@@%ŽŽ¡‘ãŒÃ1021Ž‘ mÏ\xyFN@\xykparsebreak@}%ŽŽ¡‘ãŒÃ1022Ž‘ûKÃÏ\else–¿ª\ifx\next“\knothole@\DN@##1{\expandafter\appendtoholder@@ŽŽ¡‘ãŒÃ1023Ž‘ËÏ\expandafter{\expandafter|\xyknotPLACE\knothole}\next@ŽŽ¡‘ãŒÃ1024Ž‘ mÏ\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1025Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1026Ž‘ mÏ\expandafter\xykdefaultbreak@\xykbreak@\next@ŽŽ¡‘ãŒÃ1027Ž‘ mÏ\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1028Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽŸÔ‘õŒ¹T‘ÿeemplates–¦ffor“arro²!wheads.Ž©Pˆ‘ãŒÃ1034Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{^>*\dir{>}}}ŽŽ¡‘ãŒÃ1035Ž‘õŒÏ\xylet@\xykforetips@=\nextŽŽ¦‘ãŒÃ1037Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{^<*\dir{<}}}ŽŽ¡‘ãŒÃ1038Ž‘õŒÏ\xylet@\xykbacktips@=\nextŽŽ¦‘ãŒÃ1040Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*!/-1pt/=0\dir{>}}}ŽŽ¡‘ãŒÃ1041Ž‘õŒÏ\xylet@\xykforetemp@=\nextŽŽ¦‘ãŒÃ1043Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*!/1pt/=0\dir{<}}}ŽŽ¡‘ãŒÃ1044Ž‘õŒÏ\xylet@\xykbacktemp@=\nextŽŽ¦‘ãŒÃ1046Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*=<\xykholesize>[o]{}}}ŽŽ¡‘ãŒÃ1047Ž‘õŒÏ\xylet@\xykholetemp@=\nextŽŽ¡‘ãŒÃ1048Ž‘õŒÏ\xydef@\knothole@{\hbox‘¿ªto\xykholesize{%ŽŽ¡‘ãŒÃ1049Ž‘ûKÃÏ\dimen@=\xykholesize‘¿ª\divide\dimen@\tw@ŽŽ¡‘ãŒÃ1050Ž‘ûKÃÏ\hfill–¿ª\vrule“height\dimen@“depth\dimen@“width\z@“}}ŽŽ¡‘ãŒÃ1051Ž‘õŒÏ\xylet@\knothole=\knothole@ŽŽ¡‘ãŒÃ1052Ž‘õŒÏ\xylet@\khole=\knothole@ŽŽ¦‘ãŒÃ1054Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{*=<0pt>{}}}ŽŽ¡‘ãŒÃ1055Ž‘õŒÏ\xylet@\xyknulltemp@=\nextŽŽ¡‘ãŒÃ1056Ž‘õŒÏ\xylet@\xykbreak@=\xyknulltemp@ŽŽŸÔ‘õŒ¹When–u=the“next“tokš²!en“is“a“bMÞegin-group“c˜haracter“Ï{Ž‘ ª$¹then“loMÞok“at“the“ rst“tok˜en“inside“the“group.‘ÍzIfŽ¡‘õŒit–ܹis“Ï^Ž– œc¹,Ï_Ž“¹or‘ܹÏ|Ž‘ y¹then–ܹthe“group“con•²!ten“ts–ܹwill“bMÞe“an“Çh¹ancš²!horÇi“¹for“user-c˜hosen“places“along“the“string.Ž¡‘õŒOtherwise–ê¶the“place“is“tak²!en“to“bšMÞe“the“already“sp˜eci ed“Ï\xyknotPLACEŽ‘LÑd¹and“the“group“con²!tains“aŽ¡‘õŒlab•MÞel,‘x2to›l¥b“e˜set˜in˜the˜usual˜w•²!a“y˜for˜labMÞels,‘x2using˜Ï_Ž‘ ˜ô¹due˜to˜the˜orien“tation˜of˜the˜curv“e.‘ÊHo“w“ev“er˜ifŽ¡‘õŒthe–ÑO rst“tokš²!en“is“Ï*Ž‘ bH¹then“the“user“is“assumed“to“bMÞe“dropping“his“o˜wn“lab•MÞel,‘Ü p“ossibly–ÑOwith“Çh¹ob‘›»jectÇiŽ¡‘õŒ¹moMÞdi ers.ަ‘ãŒÃ1069Ž‘õŒÏ\xydef@\checkgroupbreak@#1#2@{%ŽŽ¡‘ãŒÃ1070Ž‘ûKÃÏ\ifx|#1\DN@{\appendtoholder@@#1#2\next@‘¿ª\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1071Ž‘ûKÃÏ\else–¿ª\ifx_#1\DN@{\appendtoholder@@_#2\next@“\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1072Ž‘ûKÃÏ\else–¿ª\ifx^#1\DN@{\appendtoholder@@^#2\next@“\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1073Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1074Ž‘ûKÃÏ\def\next##1\next{\expandafter\DNii@\expandafter{\xyk@@##1}}%ŽŽ¡‘ãŒÃ1075Ž‘ûKÃÏ\expandafter\next\xyknotPLACE\nextŽŽ¡‘ãŒÃ1076Ž‘ûKÃÏ\ifx*#1%ŽŽŽŽŒ‹°’Í Á à ý*tj‘㌹432’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1077Ž‘ mÏ\expandafter\DN@\expandafter{%ŽŽ¤ ™š‘ãŒÃ1078Ž‘ ŠÁÏ\expandafter\appendtoholder@@\nextii@#1#2\next@‘¿ª\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1079Ž‘ûKÃÏ\else‘¿ª%\expandafter\DNii@\expandafter{\expandafter\xyk@@\xyknotPLACE}%ŽŽ¡‘ãŒÃ1080Ž‘ËÏ\expandafter\DN@\expandafter{%ŽŽ¡‘ãŒÃ1081Ž‘ ŠÁÏ\expandafter\appendtoholder@@\nextii@{#1#2}\next@‘¿ª\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1082Ž‘ûKÃÏ\fi\fi\fi\fi–¿ª\next@“}ŽŽŸv‘ãŒÃ1086Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{%ŽŽ¡‘ãŒÃ1087Ž‘ûKÃÏ\expandafter{\expandafter^\xyknotPLACE##1}}}%ŽŽ¡‘ãŒÃ1088Ž‘ûKÃÏ\DN@{\xydef@\xykholder@@##1}\DNii@{\expandafter\toks@}%ŽŽ¡‘ãŒÃ1089Ž‘ûKÃÏ\expandafter\expandafter\expandafter\next@ŽŽ¡‘ãŒÃ1090Ž‘ûKÃÏ\expandafter\expandafter\expandafter{\expandafter\nextii@\next}ŽŽ©Pˆ‘ãŒÃ1092Ž‘õŒÏ\xydef@\appendtoholder@#1\next@{\xykholder@@{#1}%ŽŽ¡‘ãŒÃ1093Ž‘ûKÃÏ\DN@##1{\expandafter\DN@\expandafter{\xykholder@##1}}%ŽŽ¡‘ãŒÃ1094Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}\appendtoholder@@@‘¿ª}ŽŽ¦‘ãŒÃ1096Ž‘õŒÏ\xydef@\appendtoholder@@#1\next@{%ŽŽ¡‘ãŒÃ1097Ž‘ûKÃÏ\DN@##1\next@{\expandafter\DN@\expandafter{\xykholder@##1}}%ŽŽ¡‘ãŒÃ1098Ž‘ mÏ\next@#1\next@‘¿ª\appendtoholder@@@}%ŽŽ¦‘ãŒÃ1100Ž‘õŒÏ\xydef@\appendtoholder@@@{%ŽŽ¡‘ãŒÃ1101Ž‘ûKÃÏ\expandafter\expandafter\expandafter\DN@ŽŽ¡‘ãŒÃ1102Ž‘ mÏ\expandafter\expandafter\expandafter{\next@}%ŽŽ¡‘ãŒÃ1103Ž‘ûKÃÏ\DNii@{\expandafter\def\xykholder@}%ŽŽ¡‘ãŒÃ1104Ž‘ mÏ\expandafter\nextii@\expandafter{\next@}}ŽŽŸv‘ãŒÃ1109Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next{%ŽŽ¡‘ãŒÃ1110Ž‘ûKÃÏ\expandafter{\expandafter|\xyknotPLACE##1}}}%ŽŽ¡‘ãŒÃ1111Ž‘õŒÏ\DN@{\xydef@\xykholer@@##1}\DNii@{\expandafter\toks@}%ŽŽ¡‘ãŒÃ1112Ž‘ûKÃÏ\expandafter\expandafter\expandafter\next@ŽŽ¡‘ãŒÃ1113Ž‘ûKÃÏ\expandafter\expandafter\expandafter{\expandafter\nextii@\next}ŽŽ¦‘ãŒÃ1115Ž‘õŒÏ\xydef@\appendtoholer@#1\next@{\xykholer@@{#1}%ŽŽ¡‘ãŒÃ1116Ž‘ûKÃÏ\DN@##1{\expandafter\DN@\expandafter{\xykholder@##1}}%ŽŽ¡‘ãŒÃ1117Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}\appendtoholder@@@‘¿ª}ŽŽŸûd‘õŒ¹Multiple–²àbreaks,‘ã•arroš²!w-heads“and“labMÞels“ma˜y“bšMÞe“sp˜eci ed“along“the“t•²!w“o–²àstrings“of“a“crossing;‘ simplyŽ¡‘õŒplace–¦ftheir“spMÞeci cations“one“after“another;“e.g.‘ÝÝÏ<>Ž‘]1|Ž‘Û>>><{x}Ž‘>Z|Ž‘D+{y}>{z}Ž‘oþ7¹w²!as“used“in“ gure“3.8.ŽŸDv‘õŒThe–Àtonly“proš²!viso“is“that“all“`breaks'“along“a“single“strand“m˜ust“oMÞccur“with“increasing“order“ofŽ¡‘õŒparameter–5pMÞosition.‘ JOn“the“`crossed'“string“this“includes“the“automatic“`hole'“to“create“spaceŽ¡‘õŒfor–Êthe“other“string.‘H¾Hence“it“is“advisable“to“use“just“the“Ï(+..)Ž›&R^¹and“Ï(-..)Ž˜¹v‘ÿdDarian²!ts“for“smallŽ¡‘õŒadjustmenš²!ts,–¦fand“to“k˜eep“these“correctly“ordered.ަ‘ãŒÃ1136Ž‘õŒÏ\xydef@\xykz#1{\let\xyk@@=#1\xy@@{\let\xyk@@=#1}}ŽŽ¡‘ãŒÃ1137Ž‘õŒÏ{\xyuncatcodes‘¿ª\global\let\next=_}ŽŽ¡‘ãŒÃ1138Ž‘õŒÏ\xylet@\xyk@@=\nextŽŽŸûd‘õŒ¹Adjustmen²!t–ò®of“pšMÞosition“along“the“strings“can“b˜e“ac•²!hiev“ed–ò®using“a“Çh¹factorÇi¹,‘¿as“in“Ï\voverŽ‘&pª|Ž‘,0T(+.1)>Ž‘N®P¹.Ž¡‘õŒAllo•²!w“ed›syn“tax˜is˜Ï(Ž› Æ7Çh¹signÇih¹n“umÇiÏ)Ž˜¹where–Çh¹signÇi“¹is“Ï+Ž› ÌĹor“Ï-Ž˜¹to“incremenš²!t“or“decremen˜t“from“the“pre-Ž¡‘õŒde ned–%‹v‘ÿdDalue.‘²éAlso“allo•²!w“able–%‹are“Ï=Ž‘ À¹or“Çh¹emptš²!yÇi“¹to“set“the“parameter“pMÞosition“to“Çh¹n˜umÇi¹,‘?Pwhic˜h“m˜ustŽ¡‘õŒlie›¦fbMÞet•²!w“een˜0˜and˜1˜to˜ha“v“e˜an“y˜meaning.ŽŸDv‘õŒThis–¦fparses“adjustmen²!ts“of“the“Ï\xyknotPLACEŽ‘H¢^¹.ŽŽŽŒ‹±Ÿ! Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹433ŽŽ ¶?? ýh«w‘ãŒÃ1155Ž‘õŒÏ\xydef@\xyadjustknotPLACE@i{%ŽŽ¤ ™š‘ãŒÃ1156Ž‘ûKÃÏ\ifx\xyknotPLACE\empty\DN@{\dimen@=.5\p@}%ŽŽ¡‘ãŒÃ1157Ž‘ûKÃÏ\else\DN@{\expandafter\xygetknotPLACE@@\xyknotPLACE}%ŽŽ¡‘ãŒÃ1158Ž‘ûKÃÏ\fi–¿ª\next@“\relax“\let\xywhichknotPLACE@@=\xysetknotPLACE@@ŽŽ¡‘ãŒÃ1159Ž‘ûKÃÏ\xyFN@\xyadjustknotPLACE@}ŽŽ©Pˆ‘ãŒÃ1161Ž‘õŒÏ\xydef@\xyadjustknotPLACE@{\expandafter\ifx\space@\nextŽŽ¡‘ãŒÃ1162Ž‘ mÏ\expandafter\DN@\space{\xyFN@\xyadjustknotPLACE@}%ŽŽ¡‘ãŒÃ1163Ž‘ûKÃÏ\else\addDASH@\ifx\next\DN@{\xyadjustknotPLACE@@}%ŽŽ¡‘ãŒÃ1164Ž‘ûKÃÏ\else\addPLUS@\ifx\next\DN@{\xyadjustknotPLACE@@}%ŽŽ¡‘ãŒÃ1165Ž‘ûKÃÏ\else\addEQ@\ifx\next\addEQ@\DN@{\dimen@=\z@‘¿ª\xyadjustknotPLACE@@}%ŽŽ¡‘ãŒÃ1166Ž‘ûKÃÏ\else–¿ª\DN@{\dimen@=\z@“\xyadjustknotPLACE@@}%ŽŽ¡‘ãŒÃ1167Ž‘ûKÃÏ\fi\fi\fi\fi‘¿ª\next@}ŽŽ¦‘ãŒÃ1169Ž‘õŒÏ\xydef@\xyadjustknotPLACE@@#1@@{\advance\dimen@#1\p@ŽŽ¡‘ãŒÃ1170Ž‘ûKÃÏ\expandafter\xysetknotPLACE@\expandafter{\the\dimen@}}ŽŽ¦‘ãŒÃ1172Ž‘õŒÏ\xydef@\xysetknotPLACE@#1{%ŽŽ¡‘ãŒÃ1173Ž‘ûKÃÏ\expandafter\xywhichknotPLACE@@\expandafter{\removePT@#1}}ŽŽ¦‘ãŒÃ1175Ž‘õŒÏ{\xyuncatcodes\gdef\next#1{\def\xyknotPLACE{(#1)}}}%ŽŽ¡‘ãŒÃ1176Ž‘õŒÏ\xylet@\xysetknotPLACE@@=\nextŽŽ¦‘ãŒÃ1178Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1179Ž‘ûKÃÏ\gdef\next(#1){\DN@\next@{#1}\ifx\next@\emptyŽŽ¡‘ãŒÃ1180Ž‘ mÏ\dimen@=\z@\else\dimen@=#1\p@‘¿ª\fi}}%ŽŽ¡‘ãŒÃ1181Ž‘õŒÏ\xylet@\xygetknotPLACE@@=\nextŽŽŸÙt‘õŒ¹These–nïuse“the“same“mec²!hanism“to“adjust“parameters“stored“in“Ï\xykpostbreak@@Ž‘[Ô¹and“Ï\xykjoincontrol@@Ž‘d)9¹.ަ‘ãŒÃ1188Ž‘õŒÏ%\xydef@\xyadjustJOIN@i#1@@{\xykjoincontrol@i{#1}}%ŽŽ¡‘ãŒÃ1189Ž‘õŒÏ\xydef@\xyadjustJOIN@i{%ŽŽ¡‘ãŒÃ1190Ž‘ûKÃÏ\ifx\xykjoincontrol\empty\DN@{\dimen@=.75\p@}%ŽŽ¡‘ãŒÃ1191Ž‘ûKÃÏ\else\DN@{\expandafter\xygetknotPLACE@@\expandafter(\xykjoincontrol)}%ŽŽ¡‘ãŒÃ1192Ž‘ûKÃÏ\fi–¿ª\next@“\relax“\let\xywhichknotPLACE@@=\xysetjoincontrol@ŽŽ¡‘ãŒÃ1193Ž‘ûKÃÏ\xyFN@\xyadjustknotPLACE@}ŽŽ¦‘ãŒÃ1195Ž‘õŒÏ%\xydef@\xyadjustBREAK@i#1@@{\def\xykpostbreak@@{|(##1)\knothole}}%ŽŽ¡‘ãŒÃ1196Ž‘õŒÏ\xydef@\xyadjustBREAK@i{%ŽŽ¡‘ãŒÃ1197Ž‘ûKÃÏ\ifx\xykpostbreak@@\empty\DN@{\dimen@=.5\p@}%ŽŽ¡‘ãŒÃ1198Ž‘ûKÃÏ\else\DN@{\expandafter\xygetpostBREAK@\xykpostbreak@@}%ŽŽ¡‘ãŒÃ1199Ž‘ûKÃÏ\fi–¿ª\next@“\relax“\let\xywhichknotPLACE@@=\xysetpostbreak@ŽŽ¡‘ãŒÃ1200Ž‘ûKÃÏ\xyFN@\xyadjustknotPLACE@}ŽŽ¦‘ãŒÃ1202Ž‘õŒÏ\xydef@\xygetpostBREAK@|#1\knothole{\DN@{#1}%ŽŽ¡‘ãŒÃ1203Ž‘ûKÃÏ\ifx\next@\empty\dimen@=.5\p@\else‘¿ª\xygetknotPLACE@@#1\fi}ŽŽ¦‘ãŒÃ1205Ž‘õŒÏ\xydef@\xysetpostbreak@#1{\def\xykpostbreak@@{|(#1)\knothole}}ŽŽ¡‘ãŒÃ1206Ž‘õŒÏ\xydef@\xysetjoincontrol@#1{\edef\xykjoincontrol{#1}}ŽŽŸÙt‘õŒ¹Arro²!wheads–ÕXcan“also“bšMÞe“placed“at“either,‘áor“b˜oth,‘áends“of“of“the“strings“forming“a“crossing.‘j´ThisŽ¡‘õŒis›ÆÍgo•²!v“erned˜b“y˜a˜pair˜of˜b•MÞo“oleans,‘æinitially˜Ï{FF}Ž‘Åu¹.‘?It˜is˜c•²!hanged˜for˜Ðal‘Fl‘èw¹subsequen“t˜strings˜in˜aŽ¡‘õŒdiagram–bYb²!y“Ï\knottips{..}Ž‘Q€T¹where“the“recognised“v‘ÿdDalues“are“Ï{FF}Ž›a¹,‘oõÏ{FT}Ž‘n¹,‘oõÏ{TF}Ž‘Ðö¹and“Ï{TT}Ž˜¹,‘oõdenotingŽ¡‘õŒtips–IÄ(ÏTŽ›¿ª¹)“or“not“(ÏFŽ˜¹)“at“the“start“and“end“of“eacš²!h“string.‘ÇøT‘ÿeo“add“arro˜wtips“at“the“start“of“stringsŽ¡‘õŒin–·a“particular“crossing,‘ ËappMÞend“the“2-cš²!haracter“com˜bination“Ï=<Ž‘B¹;‘Pàsimilarly“Ï=>Ž‘¹adds“tips“at“theŽ¡‘õŒends,‘šRif–—Lnot“already“requested.‘ØÔThe“com²!binations“Ï==Ž›­ì¹and“Ï=!Ž˜¹spšMÞecify“b˜oth“(Ï{TT}Ž›þ¨¹)“and“none“(Ï{FF}Ž˜¹)ŽŽŽŒ‹²­> Á à ý*tj‘㌹434’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘õŒ¹respMÞectiv•²!ely‘ÿe.‘©jThese› 2-c“haracter˜pairs˜can˜bMÞe˜mixed˜in˜with˜an“y˜sp•MÞeci cations˜for˜lab“els˜and˜breaks,ޤ ™š‘õŒetc.‘ÆâMultiple–Ihpairs“compMÞound“their“e ect;‘šèin“particular“Ï=<=>Ž‘‘x¹giv²!es“the“same“result“as“Ï==Ž‘ȼ¹,‘r(whileŽ¡‘õŒÏ=!=<Ž‘1'¹is–¦fneeded“to“cš²!hange“Ï{FT}Ž‘Kt¹in˜to“Ï{TF}Ž‘¥¹.ŽŸ~1‘õŒThese–¦fare“bMÞest“used“with“single“pieces,“as“in“the“follo²!wing“equation.ŽŸtÅ’“[ÇrŸô©”«hŽŽŽ‘ŒŸûïps: SDict begin xyc end‘ôŸýh0ï?" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 0.0 0.0 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 0.0 0.0 bz}xyïC" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 0.0 0.0 bz}xyŽŽŽ‘ Ÿ h0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ôŸýh0ï?" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 0.0 1.0 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 0.0 1.0 bz}xyïC" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ï?" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 1.0 1.0 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 1.0 1.0 bz}xyïC" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïC" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 0.0 0.0 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 0.0 0.0 bz}xyï?" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïG" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 0.0 0.92505 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 0.0 0.0 bz}xyï?" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ Ÿýh0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ôŸýh0ïC" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 1.0 1.0 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 1.0 1.0 bz}xyïC" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 0.07504 1.0 bz}xyŽŽŽ‘ôŸýh0ïC" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 1.0 1.0 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 1.0 1.0 bz}xyï?" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 1.0 1.0 bz}xyŽŽŽŽŽŽ‘_FŸô©”iŽŽŽŽ’µ:rÇ‘nìrŸô©”«hŽŽŽ‘ŒŸûïps: SDict begin xyc end‘ôŸýh0ï?" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 0.0 0.0 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 0.0 0.0 bz}xyïC" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 0.0 0.0 bz}xyŽŽŽ‘ôŸýh0ïA" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 0.0 0.925 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 0.0 0.0 bz}xyïC" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 0.0 0.0 bz}xyŽŽŽ‘ Ÿ h0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ôŸýh0ï?" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 1.0 1.0 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 1.0 1.0 bz}xyïE" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 0.075 1.0 bz}xyŽŽŽ‘ôŸýh0ï?" {mark 12.0 0.0 15.0 0.0 16.5 -2.25 17.25 -3.875 1.0 1.0 bz}xyïC" {mark 17.25 -3.875 18.0 -5.5 18.0 -6.5 18.75 -8.125 1.0 1.0 bz}xyïC" {mark 18.75 -8.125 19.5 -9.75 21.0 -12.0 24.0 -12.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïC" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 0.0 0.0 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 0.0 0.0 bz}xyï?" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ Ÿýh0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ôŸýh0ïC" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 0.0 1.0 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 0.0 1.0 bz}xyï?" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïC" {mark 12.0 -12.0 15.0 -12.0 16.5 -9.75 17.25 -8.125 1.0 1.0 bz}xyïC" {mark 17.25 -8.125 18.0 -6.5 18.0 -5.5 18.75 -3.875 1.0 1.0 bz}xyï?" {mark 18.75 -3.875 19.5 -2.25 21.0 0.0 24.0 0.0 1.0 1.0 bz}xyŽŽŽŽŽŽ‘_FŸô©”iŽŽŽŽ‘-¼e¹=‘NÇÄz‘NzÇrŸô©”«hŽŽŽ‘ŒŸûïps: SDict begin xyc end‘ôŸýh0ï=" {mark 12.0 0.0 13.5 0.0 15.0 -1.5 16.25 -2.25 0.0 0.0 bz}xyïA" {mark 16.25 -2.25 17.5 -3.0 18.5 -3.0 19.75 -2.25 0.0 0.0 bz}xyï=" {mark 19.75 -2.25 21.0 -1.5 22.5 0.0 24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ Ÿýh0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ôŸýh0ï=" {mark 12.0 0.0 13.5 0.0 15.0 -1.5 16.25 -2.25 0.0 1.0 bz}xyïA" {mark 16.25 -2.25 17.5 -3.0 18.5 -3.0 19.75 -2.25 0.0 1.0 bz}xyï=" {mark 19.75 -2.25 21.0 -1.5 22.5 0.0 24.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ï=" {mark 12.0 0.0 13.5 0.0 15.0 -1.5 16.25 -2.25 1.0 1.0 bz}xyïA" {mark 16.25 -2.25 17.5 -3.0 18.5 -3.0 19.75 -2.25 1.0 1.0 bz}xyï=" {mark 19.75 -2.25 21.0 -1.5 22.5 0.0 24.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïB" {mark 12.0 -12.0 13.5 -12.0 15.0 -10.5 16.25 -9.75 0.0 0.0 bz}xyïA" {mark 16.25 -9.75 17.5 -9.0 18.5 -9.0 19.75 -9.75 0.0 0.0 bz}xyïB" {mark 19.75 -9.75 21.0 -10.5 22.5 -12.0 24.0 -12.0 0.0 0.0 bz}xyŽŽŽ‘ Ÿ h0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ôŸýh0ïB" {mark 12.0 -12.0 13.5 -12.0 15.0 -10.5 16.25 -9.75 0.0 1.0 bz}xyïA" {mark 16.25 -9.75 17.5 -9.0 18.5 -9.0 19.75 -9.75 0.0 1.0 bz}xyïB" {mark 19.75 -9.75 21.0 -10.5 22.5 -12.0 24.0 -12.0 0.0 1.0 bz}xyŽŽŽ‘ôŸýh0ïB" {mark 12.0 -12.0 13.5 -12.0 15.0 -10.5 16.25 -9.75 1.0 1.0 bz}xyïA" {mark 16.25 -9.75 17.5 -9.0 18.5 -9.0 19.75 -9.75 1.0 1.0 bz}xyïB" {mark 19.75 -9.75 21.0 -10.5 22.5 -12.0 24.0 -12.0 1.0 1.0 bz}xyŽŽŽŽŽŽ‘_FŸô©”iŽŽŽŽŽŸ P«‘õŒÏ\UseComputerModernTips‘¿ª\knottips{FT}ŽŽ¡‘õŒ\def\Conway#1{\mathord{\nabla\Bigl[\,ŽŽ¡‘ûKÃ\raise5pt\xybox{0;/r1pc/:#1}\,\Bigr]}}ŽŽ¡‘õŒ$$ŽŽ¡‘õŒ\Conway\htwist–¿ª-“\Conway\htwistnegŽŽ¡‘ûKÃ\;=\;–¿ª-z\,\Conway\huntwist“$$ŽŽŸv‘ãŒÃ1243Ž‘õŒÏ\xydef@\xykparsetips@{%ŽŽ¡‘ãŒÃ1244Ž‘ûKÃÏ\def\xyknotTIPS@@{}\def\xyknotPLACE{}%ŽŽ¡‘ãŒÃ1245Ž‘ûKÃÏ\let\xykparser@=\xykparsetips@@ŽŽ¡‘ãŒÃ1246Ž‘ûKÃÏ\xyFN@\xykparser@‘¿ª}ŽŽ©Pˆ‘ãŒÃ1248Ž‘õŒÏ\xydef@\xykparsetips@@{%ŽŽ¡‘ãŒÃ1249Ž‘ûKÃÏ\ifx\space@\next‘¿ª\expandafter\DN@\space{\xyFN@\xykparsetips@@}%ŽŽ¡‘ãŒÃ1250Ž‘ûKÃÏ\else\addLT@\ifx\nextŽŽ¡‘ãŒÃ1251Ž‘ mÏ\ifx\xyknotTIPS@@\empty‘¿ª\def\xyknotTIPS@@{TF}%ŽŽ¡‘ãŒÃ1252Ž‘ mÏ\else\DN@{FF}\ifx\next@\xyknotTIPS@@‘¿ª\def\xyknotTIPS@@{TF}%ŽŽ¡‘ãŒÃ1253Ž‘ mÏ\else\DN@{FT}\ifx\next@\xyknotTIPS@@‘¿ª\def\xyknotTIPS@@{TT}%ŽŽ¡‘ãŒÃ1254Ž‘ mÏ\fi\fi\fiŽŽ¡‘ãŒÃ1255Ž‘ mÏ\addLT@\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1256Ž‘ûKÃÏ\else\addGT@\ifx\nextŽŽ¡‘ãŒÃ1257Ž‘ mÏ\ifx\xyknotTIPS@@\empty‘¿ª\def\xyknotTIPS@@{FT}%ŽŽ¡‘ãŒÃ1258Ž‘ mÏ\else\DN@{FF}\ifx\next@\xyknotTIPS@@‘¿ª\def\xyknotTIPS@@{FT}%ŽŽ¡‘ãŒÃ1259Ž‘ mÏ\else\DN@{TF}\ifx\next@\xyknotTIPS@@‘¿ª\def\xyknotTIPS@@{TT}%ŽŽ¡‘ãŒÃ1260Ž‘ mÏ\fi\fi\fiŽŽ¡‘ãŒÃ1261Ž‘ mÏ\addGT@\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1262Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\def\xyknotTIPS@@{TT}%ŽŽ¡‘ãŒÃ1263Ž‘ mÏ\addEQ@\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1264Ž‘ûKÃÏ\else–¿ª\ifx!\next“\def\xyknotTIPS@@{FF}\DN@!{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1265Ž‘ûKÃÏ\else\DN@{\xyFN@\xykparser@}%ŽŽ¡‘ãŒÃ1266Ž‘ûKÃÏ\fi\fi\fi\fi\fi–¿ª\next@“}ŽŽŸ5‘õŒ¹This–¦freads“the“setting“for“tips“on“string“ends.ަ‘ãŒÃ1272Ž‘õŒÏ\xydef@\xykcheckTIPS@{%ŽŽ¡‘ãŒÃ1273Ž‘ûKÃÏ\ifx\xyknotTIPS@@\empty‘¿ª\edef\xyknotTIPS@@{\xyknotTIPS@}\fiŽŽ¡‘ãŒÃ1274Ž‘ Ï\DN@{FF}\ifx\next@\xyknotTIPS@@\def\tmp@{}%ŽŽ¡‘ãŒÃ1275Ž‘ûKÃÏ\else\DN@{FT}\ifx\next@\xyknotTIPS@@ŽŽ¡‘ãŒÃ1276Ž‘ mÏ\expandafter\def\expandafter\tmp@\expandafter{\xykforetips@}%ŽŽ¡‘ãŒÃ1277Ž‘ûKÃÏ\else\DN@{TF}\ifx\next@\xyknotTIPS@@ŽŽ¡‘ãŒÃ1278Ž‘ mÏ\expandafter\def\expandafter\tmp@\expandafter{\xykbacktips@}%ŽŽ¡‘ãŒÃ1279Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1280Ž‘ mÏ\DN@##1\next@{\DN@{\xykforetips@##1}}%ŽŽ¡‘ãŒÃ1281Ž‘ËÏ\expandafter\next@\xykbacktips@\next@ŽŽŽŽŒ‹³»x Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹435ŽŽ ¶?? ýh«w‘ãŒÃ1282Ž‘ mÏ\DNii@{\expandafter\def\expandafter\tmp@\expandafter}%ŽŽ¤ ™š‘ãŒÃ1283Ž‘ËÏ\expandafter\nextii@\expandafter{\next@}%ŽŽ¡‘ãŒÃ1284Ž‘ûKÃÏ\fi\fi\fi‘¿ª\def\xyknotTIPS@@{}}ŽŽŸPˆ‘ãŒÃ1286Ž‘õŒÏ\xydef@\xyknottips@{%ŽŽ¡‘ãŒÃ1287Ž‘ûKÃÏ\ifx\tmp@\empty\addtotoks@{{}}\elseŽŽ¡‘ãŒÃ1288Ž‘ mÏ\expandafter\addtotoks@\expandafter{\expandafter{\tmp@}}\fi}ŽŽŸ&…‘õŒÞJoinsŽŸ)¿‘㌹3.10l.ŽŽ‘èThe–>‚\joins"“are“used“to“connect“the“lošMÞose“ends“of“crossing“strings.‘¦1In“particular“\lo˜ops"“andŽ¡‘õŒ\caps"–vare“for“placing“on“ends“of“horizonš²!tal“or“v˜ertical“`t˜wist'“and“`cross'“crossings,‘ª‡lea˜ving“theŽ¡‘õŒcurren²!t– <Çh¹pšMÞosÇi“¹ xed.‘_The“\b˜ends"“join“non-adjacenš²!t“crossings“of“the“same“t˜ypMÞe,‘!ñeither“horizon˜talŽ¡‘õŒor‘¦fv²!ertical.Ž©Z‘õŒThe‘ Ï\xcap..Ž‘0Aæ¹pieces– are“designed“to“join“adjacenš²!t“Ï\xover..Ž‘6¹pieces;‘/ýthey“mo˜v˜e“Äc“¹either“v˜erticallyŽ¡‘õŒor–¥horizonš²!tally‘ÿe,‘tas“appropriate.‘ï™Finally“the“Ï\xbend..Ž‘6š¹pieces“allo˜w“for“smošMÞoth“joins“of“45Ÿü¾ÈŽ‘Á©¹slop˜esŽ¡‘õŒto–— horizonš²!tal“or“v˜ertical“slopšMÞes.‘ؾF‘ÿeor“these“the“actual“p˜ositioning“of“the“piece,›šsee“ gure“3.9,˜is“notŽ¡‘õŒen•²!tirely‘¦fob“vious.ަ‘õŒFigure–H¹3.9“displaš²!ys“the“orien˜tation“on“the“joins.‘¾£Also“indicated“are“default“pšMÞositions“for“lab˜els“andŽ¡‘õŒarro•²!w-tips;‘¶Heac“h–[§piece“uses“the“same“coMÞde,‘ˆ÷e.g.‘ý¡Ï\vloopŽ‘-×D<>Ž‘9V˜|Ž‘?B>>><{x}Ž‘gSè|Ž‘m’{y}>{z}Ž’•Q8¹.‘ý¡F‘ÿeurthermore“theŽ¡‘õŒcurren²!t–ŒÐÇh¹pšMÞosÇi“¹b˜efore“the“piece“is“draš²!wn“is“mark˜ed“using‘—wŸý¾ïps: SDict begin xyc end‘þ33Ÿÿ4ýÈŽŽŽŽŽŽŽŽŽŽ‘ ¢¹;‘•Wthat“afterw˜ards“is“indicated“b˜y‘—wŸý¾ïps: SDict begin xyc endŸýh0ï" {-2048 st}xyŽŽŽŽ‘þ;sŸû££ï" {-2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘.îor‘—wŸý¾ïps: SDict begin xyc endŸýh0ï" {-3072 st}xyŽŽŽŽŸúè0ï" {-3072 T d}xyŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‘ ¢.ަ‘õŒThe–qïabilitš²!y“to“scale“in“size“and“place“arro˜w-tips,–¤Ñbreaks,“labMÞels–qïetc.‘@wapply“also“to“Çh¹joinÇi“¹pieces.Ž¡‘õŒThe–¦fonly“di erence“is.–Ó3.“.ŽŸ•‘ãŒ3.10m.ŽŽ‘ .>The–+3three“places“referred“to“bš²!y“Ï<Ž‘ ¾¹,Ï|Ž‘’á¹,Ï>Ž‘ êݹare“all“on“a“single“string.‘lCIn“particular“Ï|Ž‘¹is“alw˜a˜ys“atŽ¡‘õŒthe–8ímiddle“of“the“Çh¹joinÇi¹,‘]Žwhereas“Ï<Ž›1„¹and“Ï>Ž˜¹are“at“Ðe‘ÿp¹arlier“¹and“Ðlater“¹parameter“v‘ÿdDalues“respMÞectiv²!ely‘ÿe.ŽŸ§Õ‘õŒAn•²!y›¦fadjustmen“tsŸü¾²3.10kŽ‘4¤¹in“v“olving˜breaks˜should˜oMÞccur˜in˜increasing˜parameter˜order.ŽŸ!gÀ‘õŒÔP¦tarsingŽŸbí‘ãŒÃ1391Ž‘õŒÏ\xydef@\xykparsejoin@{%ŽŽ¡‘ãŒÃ1392Ž‘ûKÃÏ\def\xykSCALE@@{}%ŽŽ¡‘ãŒÃ1393Ž‘ûKÃÏ\edef\xyknotPLACE{\xykmidPLACE@}%ŽŽ¡‘ãŒÃ1394Ž‘ûKÃÏ\let\xykparser@=\xykparsejoin@@ŽŽ¡‘ãŒÃ1395Ž‘ûKÃÏ\def\xykdefaultbreak@{\let\xykbreak@=\xykforetemp@ŽŽ¡‘ãŒÃ1396Ž‘ mÏ\def\xyknotPLACE{(.5)}\appendtoholder@}%ŽŽ¡‘ãŒÃ1397Ž‘õŒÏ%‘ T\edef\xyknotPLACE{\xykmidPLACE@}\appendtoholder@}%ŽŽ¡‘ãŒÃ1398Ž‘ûKÃÏ\xyFN@\xykparsescale@‘¿ª}ŽŽŸv‘ãŒÃ1402Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1403Ž‘õŒÏ\gdef\next{%ŽŽ¡‘ãŒÃ1404Ž‘ûKÃÏ\ifx\space@\next‘¿ª\expandafter\DN@\space{\xyFN@\xykparsejoin@@}%ŽŽ¡‘ãŒÃ1405Ž‘ûKÃÏ\else\addLT@\ifx\next‘¿ª\let\xykbreak@=\xykbacktemp@ŽŽ¡‘ãŒÃ1406Ž‘ mÏ\def\xykdefaultbreak@{\def\xyknotPLACE{(.5)}%ŽŽ¡‘ãŒÃ1407Ž‘õŒÏ%‘ T\def\xykdefaultbreak@{\edef\xyknotPLACE{\xykmidPLACE@}%ŽŽ¡‘ãŒÃ1408Ž‘ mÏ\appendtoholder@}\addLT@\DN@{\xyprecross@}%ŽŽ¡‘ãŒÃ1409Ž‘ûKÃÏ\else\addGT@\ifx\next‘¿ª\let\xykbreak@=\xykforetemp@ŽŽ¡‘ãŒÃ1410Ž‘ mÏ\def\xykdefaultbreak@{\def\xyknotPLACE{(.5)}%ŽŽ¡‘ãŒÃ1411Ž‘õŒÏ%‘ T\def\xykdefaultbreak@{\edef\xyknotPLACE{\xykmidPLACE@}%ŽŽŽŽŒ‹´Ùr Á à ý*tj‘㌹436’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1412Ž‘ mÏ\appendtoholder@}\addGT@\DN@{\xypostcross@}%ŽŽ¤ ™š‘ãŒÃ1413Ž‘ûKÃÏ\else\ifx|\next‘¿ª\let\xykbreak@=\xyknulltemp@ŽŽ¡‘ãŒÃ1414Ž‘õŒÏ%–¿ª\else\ifx|\next“\let\xykbreak@=\xykholetemp@ŽŽ¡‘ãŒÃ1415Ž‘ mÏ\def\xykdefaultbreak@{\def\xyknotPLACE{(.5)}%ŽŽ¡‘ãŒÃ1416Ž‘õŒÏ%‘ T\def\xykdefaultbreak@{\edef\xyknotPLACE{\xykmidPLACE@}%ŽŽ¡‘ãŒÃ1417Ž‘ mÏ\appendtoholer@}\DN@|{\xymidcross@}%ŽŽ¡‘ãŒÃ1418Ž‘ûKÃÏ\else\addEQ@\ifx\next‘¿ª\addEQ@\DN@{\xyFN@\xykparsetips@@}%ŽŽ¡‘ãŒÃ1419Ž‘õŒÏ%–¿ª\else\addAT@\ifx\next“\addAT@\DN@{\xykjoincontrol@}%ŽŽ¡‘ãŒÃ1420Ž‘ûKÃÏ\else\addAT@\ifx\next‘¿ª\addAT@\DN@(##1){%ŽŽ¡‘ãŒÃ1421Ž‘ mÏ\xyadjustJOIN@i##1@@\xyFN@\xykparsejoin@@}%ŽŽ¡‘ãŒÃ1422Ž‘ûKÃÏ\else\DN@{\afterknot@}%ŽŽ¡‘ãŒÃ1423Ž‘ûKÃÏ\fi\fi\fi\fi\fi\fi–¿ª\next@“}}ŽŽ¡‘ãŒÃ1424Ž‘õŒÏ\xylet@\xykparsejoin@@=\nextŽŽŸO‘㌹3.10n.ŽŽ‘#“A‘Ïparameter–Ï#can“bMÞe“altered,›ÙRusing“Ï@Ž‘ ŽÍÇh¹adjustÇi¹,˜to“e ect“subtle“adjustmenš²!ts“to“the“shapMÞe“of“an˜yŽ¡‘õŒjoin.‘ D³Within–a“rectangular“basis“the“horizonš²!tal“or“v˜ertical“tangen˜ts“are“preserv˜ed“and“o˜v˜erallŽ¡‘õŒre ection–J2or“rotation“symmetry“is“preserv•²!ed.‘É@Th“us–J2this“parameter“a ects“the“` atness'“of“a“capŽ¡‘õŒor–©SlošMÞop,‘ê or“the“amoun²!t“of“curv‘ÿdDature“is“s-b˜ends“and“z-b˜ends.‘æ£F‘ÿeor“Ï\xcap..Ž‘,æù¹s“and“Ï\xbend..Ž‘2¦£¹s“theŽ¡‘õŒ45Ÿü¾ÈŽ‘ 'ž¹angle–gšis“altered;‘È4this“is“espMÞecially“useful“to“matcš²!h“the“tangen˜ts“when“a“knot-piece“has“bMÞeenŽ¡‘õŒspMÞeci ed–¦fusing“the“tec²!hnique“of“note“3.10c.ŽŸ™‘õŒThe–n™normal“range“for“these“parameters“is“bšMÞet•²!w“een–n™0“and“1.‘ 6vOther“v‘ÿdDalues“can“b˜e“used“withŽ¡‘õŒinš²!teresting–ü»results|the“parameter“determines“the“loMÞcation“of“con˜trol“pMÞoin˜ts“for“a“B²"‘úÔDezier“cubicŽ¡‘õŒcurv²!e.ŽŸ8¼NŸÖÈR‘­ôpieceŽ‘5‰iv‘ÿdDalueŽ‘Z, e ect‘¦fon.–Ó3.“.ŽŽ‘õŒ©zã‰ffðG+Ÿ …‘ ¿ªÏ\..capŽŽ‘EOü¹.25Ž‘d ‡ atness–¦fof“cap;ŽŽ¤ ™™‘ßÕÏ\..loopŽŽ‘EOü¹.75Ž‘d ‡ atness–¦fof“loMÞop;ŽŽ¡‘Ï\sbend..ŽŽ‘EOü¹.75Ž‘d ‡curv‘ÿdDature–¦fin“the“`s';ŽŽ¡‘Ï\zbend..ŽŽ‘EOü¹.75Ž‘d ‡curv‘ÿdDature–¦fin“the“`z';ŽŽ¡‘ßÕÏ\xcap..ŽŽ‘H ɹ.5Ž‘d ‡heigh²!t–¦fof“cap,“slopMÞe“at“base;ŽŽ¡‘Ï\xbend..ŽŽ‘H ɹ.5Ž‘d ‡curv‘ÿdDature,–¦fslopMÞe“at“base.ŽŽ¦‰ffðG+ŽŽŽŸC¥‘ôŒThe–”’folloš²!wing“example“giv˜es“three“w˜a˜ys“of“spMÞecifying“a“`trefoil'“knot,‘Ðusing“the“ÏpolyŽ‘ '̹feature“toŽ¡‘ãŒestablish– ©the“loMÞcation“of“the“vš²!ertices“for“knot-pieces.‘ ¦In“eac˜h“the“Çh¹crossingÇi¹s“are“calculated“to“ tŽ¡‘ãŒtogether–smoMÞothly;‘E¸a“di erenš²!t“w˜a˜y“of“creating“Çh¹joinÇi¹s“is“used“in“eac˜h.‘Also“the“third“displa˜ys“subtleŽ¡‘ãŒcš²!hanges–¦fof“the“Ÿü¾²3.10nŽ‘{À¹join“con˜trol.ŽŸ Ù\ŸV’‡˜Œïps: SDict begin xyc end‘ |RŸýh0ïW" {mark 16.68724 9.16116 17.70978 7.39005 18.112 5.85115 18.31757 4.51248 0.0 0.0 bz}xyïX" {mark 18.31757 4.51248 18.52312 3.1738 18.53204 2.03537 18.34877 0.52795 0.0 0.0 bz}xyïW" {mark 18.34877 0.52795 18.1655 -0.97946 17.79004 -2.85585 16.79425 -4.5 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.68724 9.16116 17.70978 7.39005 18.112 5.85115 18.31757 4.51248 0.0 1.0 bz}xyïX" {mark 18.31757 4.51248 18.52312 3.1738 18.53204 2.03537 18.34877 0.52795 0.0 1.0 bz}xyïW" {mark 18.34877 0.52795 18.1655 -0.97946 17.79004 -2.85585 16.79425 -4.5 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.68724 9.16116 17.70978 7.39005 18.112 5.85115 18.31757 4.51248 1.0 1.0 bz}xyïX" {mark 18.31757 4.51248 18.52312 3.1738 18.53204 2.03537 18.34877 0.52795 1.0 1.0 bz}xyïW" {mark 18.34877 0.52795 18.1655 -0.97946 17.79004 -2.85585 16.79425 -4.5 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 0.0 0.0 bz}xyïX" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 0.0 0.0 bz}xyïX" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 0.0 1.0 bz}xyï\" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 0.0 0.39636 bz}xyïX" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 1.0 1.0 bz}xyïX" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 1.0 1.0 bz}xyï\" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 0.84789 1.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 1.0 1.0 bz}xyïX" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 1.0 1.0 bz}xyïX" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï>" {mark 16.68724 9.16116 9.0 22.5 1.31276 9.16116 0.0 1.0 q}xyŽŽŽ‘ |RŸýh0ïW" {mark -2.7774 2.07664 -1.75487 3.84776 -0.62328 4.96556 0.43326 5.81293 0.0 0.0 bz}xyïT" {mark 0.43326 5.81293 1.48979 6.6603 2.47125 7.23724 3.86836 7.83224 0.0 0.0 bz}xyïL" {mark 3.86836 7.83224 5.26546 8.42725 7.0782 9.04028 9.0 9.0 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark -2.7774 2.07664 -1.75487 3.84776 -0.62328 4.96556 0.43326 5.81293 0.0 1.0 bz}xyïT" {mark 0.43326 5.81293 1.48979 6.6603 2.47125 7.23724 3.86836 7.83224 0.0 1.0 bz}xyïL" {mark 3.86836 7.83224 5.26546 8.42725 7.0782 9.04028 9.0 9.0 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark -2.7774 2.07664 -1.75487 3.84776 -0.62328 4.96556 0.43326 5.81293 1.0 1.0 bz}xyïT" {mark 0.43326 5.81293 1.48979 6.6603 2.47125 7.23724 3.86836 7.83224 1.0 1.0 bz}xyïL" {mark 3.86836 7.83224 5.26546 8.42725 7.0782 9.04028 9.0 9.0 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 0.0 0.0 bz}xyïY" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 0.0 0.0 bz}xyïU" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 0.0 1.0 bz}xyï]" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 0.0 0.53932 bz}xyïU" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 1.0 1.0 bz}xyïY" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 1.0 1.0 bz}xyïY" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 0.72136 1.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 1.0 1.0 bz}xyïY" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 1.0 1.0 bz}xyïU" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïG" {mark -2.7774 2.07664 -10.48563 -11.25 4.90967 -11.23799 0.0 1.0 q}xyŽŽŽ‘ |RŸýh0ï_" {mark 13.09033 -11.23799 11.04517 -11.23799 9.51129 -10.81688 8.24916 -10.32558 0.0 0.0 bz}xyïY" {mark 8.24916 -10.32558 6.98703 -9.83424 5.99664 -9.27275 4.78282 -8.3603 0.0 0.0 bz}xyïQ" {mark 4.78282 -8.3603 3.569 -7.44788 2.13173 -6.1845 1.20575 -4.5 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ï_" {mark 13.09033 -11.23799 11.04517 -11.23799 9.51129 -10.81688 8.24916 -10.32558 0.0 1.0 bz}xyïY" {mark 8.24916 -10.32558 6.98703 -9.83424 5.99664 -9.27275 4.78282 -8.3603 0.0 1.0 bz}xyïQ" {mark 4.78282 -8.3603 3.569 -7.44788 2.13173 -6.1845 1.20575 -4.5 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï_" {mark 13.09033 -11.23799 11.04517 -11.23799 9.51129 -10.81688 8.24916 -10.32558 1.0 1.0 bz}xyïY" {mark 8.24916 -10.32558 6.98703 -9.83424 5.99664 -9.27275 4.78282 -8.3603 1.0 1.0 bz}xyïQ" {mark 4.78282 -8.3603 3.569 -7.44788 2.13173 -6.1845 1.20575 -4.5 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 0.0 0.0 bz}xyï\" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 0.0 0.0 bz}xyï]" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 0.0 1.0 bz}xyï_" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 0.0 0.4822 bz}xyï]" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 1.0 1.0 bz}xyï\" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 1.0 1.0 bz}xyïa" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 0.71078 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 1.0 1.0 bz}xyï\" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 1.0 1.0 bz}xyï]" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïG" {mark 13.09033 -11.23799 28.48563 -11.25 20.7774 2.07664 0.0 1.0 q}xyŽŽŽŽŽŽ’¹„eïps: SDict begin xyc end‘ |RŸýh0ïW" {mark 16.68724 9.16116 17.70978 7.39005 18.112 5.85115 18.31757 4.51248 0.0 0.0 bz}xyïX" {mark 18.31757 4.51248 18.52312 3.1738 18.53204 2.03537 18.34877 0.52795 0.0 0.0 bz}xyïW" {mark 18.34877 0.52795 18.1655 -0.97946 17.79004 -2.85585 16.79425 -4.5 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.68724 9.16116 17.70978 7.39005 18.112 5.85115 18.31757 4.51248 0.0 1.0 bz}xyïX" {mark 18.31757 4.51248 18.52312 3.1738 18.53204 2.03537 18.34877 0.52795 0.0 1.0 bz}xyïW" {mark 18.34877 0.52795 18.1655 -0.97946 17.79004 -2.85585 16.79425 -4.5 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.68724 9.16116 17.70978 7.39005 18.112 5.85115 18.31757 4.51248 1.0 1.0 bz}xyïX" {mark 18.31757 4.51248 18.52312 3.1738 18.53204 2.03537 18.34877 0.52795 1.0 1.0 bz}xyïW" {mark 18.34877 0.52795 18.1655 -0.97946 17.79004 -2.85585 16.79425 -4.5 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 0.0 0.0 bz}xyïX" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 0.0 0.0 bz}xyïX" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 0.0 1.0 bz}xyï\" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 0.0 0.39636 bz}xyïX" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 1.0 1.0 bz}xyïX" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 1.0 1.0 bz}xyï\" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 0.84789 1.0 bz}xyŽŽŽ‘ |RŸýh0ïO" {mark 9.0 9.0 10.9218 9.04028 12.73454 8.42725 14.13165 7.83224 1.0 1.0 bz}xyïX" {mark 14.13165 7.83224 15.52875 7.23724 16.51021 6.6603 17.56674 5.81293 1.0 1.0 bz}xyïX" {mark 17.56674 5.81293 18.62328 4.96556 19.75487 3.84776 20.7774 2.07664 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï[" {mark 16.68724 9.16116 13.99667 13.82983 12.45926 14.83022 11.04994 15.3304 0.0 0.0 bz}xyïX" {mark 11.04994 15.3304 9.64061 15.83058 8.35939 15.83058 6.95007 15.3304 0.0 0.0 bz}xyïW" {mark 6.95007 15.3304 5.54076 14.83022 4.00333 13.82983 1.31276 9.16116 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ï[" {mark 16.68724 9.16116 13.99667 13.82983 12.45926 14.83022 11.04994 15.3304 0.0 1.0 bz}xyïX" {mark 11.04994 15.3304 9.64061 15.83058 8.35939 15.83058 6.95007 15.3304 0.0 1.0 bz}xyïW" {mark 6.95007 15.3304 5.54076 14.83022 4.00333 13.82983 1.31276 9.16116 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï[" {mark 16.68724 9.16116 13.99667 13.82983 12.45926 14.83022 11.04994 15.3304 1.0 1.0 bz}xyïX" {mark 11.04994 15.3304 9.64061 15.83058 8.35939 15.83058 6.95007 15.3304 1.0 1.0 bz}xyïW" {mark 6.95007 15.3304 5.54076 14.83022 4.00333 13.82983 1.31276 9.16116 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark -2.7774 2.07664 -1.75487 3.84776 -0.62328 4.96556 0.43326 5.81293 0.0 0.0 bz}xyïT" {mark 0.43326 5.81293 1.48979 6.6603 2.47125 7.23724 3.86836 7.83224 0.0 0.0 bz}xyïL" {mark 3.86836 7.83224 5.26546 8.42725 7.0782 9.04028 9.0 9.0 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark -2.7774 2.07664 -1.75487 3.84776 -0.62328 4.96556 0.43326 5.81293 0.0 1.0 bz}xyïT" {mark 0.43326 5.81293 1.48979 6.6603 2.47125 7.23724 3.86836 7.83224 0.0 1.0 bz}xyïL" {mark 3.86836 7.83224 5.26546 8.42725 7.0782 9.04028 9.0 9.0 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark -2.7774 2.07664 -1.75487 3.84776 -0.62328 4.96556 0.43326 5.81293 1.0 1.0 bz}xyïT" {mark 0.43326 5.81293 1.48979 6.6603 2.47125 7.23724 3.86836 7.83224 1.0 1.0 bz}xyïL" {mark 3.86836 7.83224 5.26546 8.42725 7.0782 9.04028 9.0 9.0 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 0.0 0.0 bz}xyïY" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 0.0 0.0 bz}xyïU" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 0.0 1.0 bz}xyï]" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 0.0 0.53932 bz}xyïU" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 1.0 1.0 bz}xyïY" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 1.0 1.0 bz}xyïY" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 0.72136 1.0 bz}xyŽŽŽ‘ |RŸýh0ïU" {mark 1.20575 -4.5 0.20996 -2.85585 -0.1655 -0.97946 -0.34877 0.52795 1.0 1.0 bz}xyïY" {mark -0.34877 0.52795 -0.53204 2.03537 -0.52313 3.17381 -0.31757 4.51248 1.0 1.0 bz}xyïU" {mark -0.31757 4.51248 -0.112 5.85115 0.29022 7.39005 1.31276 9.16116 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïX" {mark -2.7774 2.07664 -6.24608 -3.9203 -5.95836 -5.08565 -5.4942 -6.2231 0.0 0.0 bz}xyï[" {mark -5.4942 -6.2231 -5.03004 -7.36055 -4.38945 -8.47011 -3.63647 -9.44083 0.0 0.0 bz}xyï^" {mark -3.63647 -9.44083 -2.88351 -10.41153 -2.01816 -11.2434 4.90967 -11.23799 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïX" {mark -2.7774 2.07664 -6.24608 -3.9203 -5.95836 -5.08565 -5.4942 -6.2231 0.0 1.0 bz}xyï[" {mark -5.4942 -6.2231 -5.03004 -7.36055 -4.38945 -8.47011 -3.63647 -9.44083 0.0 1.0 bz}xyï^" {mark -3.63647 -9.44083 -2.88351 -10.41153 -2.01816 -11.2434 4.90967 -11.23799 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïX" {mark -2.7774 2.07664 -6.24608 -3.9203 -5.95836 -5.08565 -5.4942 -6.2231 1.0 1.0 bz}xyï[" {mark -5.4942 -6.2231 -5.03004 -7.36055 -4.38945 -8.47011 -3.63647 -9.44083 1.0 1.0 bz}xyï^" {mark -3.63647 -9.44083 -2.88351 -10.41153 -2.01816 -11.2434 4.90967 -11.23799 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï_" {mark 13.09033 -11.23799 11.04517 -11.23799 9.51129 -10.81688 8.24916 -10.32558 0.0 0.0 bz}xyïY" {mark 8.24916 -10.32558 6.98703 -9.83424 5.99664 -9.27275 4.78282 -8.3603 0.0 0.0 bz}xyïQ" {mark 4.78282 -8.3603 3.569 -7.44788 2.13173 -6.1845 1.20575 -4.5 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ï_" {mark 13.09033 -11.23799 11.04517 -11.23799 9.51129 -10.81688 8.24916 -10.32558 0.0 1.0 bz}xyïY" {mark 8.24916 -10.32558 6.98703 -9.83424 5.99664 -9.27275 4.78282 -8.3603 0.0 1.0 bz}xyïQ" {mark 4.78282 -8.3603 3.569 -7.44788 2.13173 -6.1845 1.20575 -4.5 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï_" {mark 13.09033 -11.23799 11.04517 -11.23799 9.51129 -10.81688 8.24916 -10.32558 1.0 1.0 bz}xyïY" {mark 8.24916 -10.32558 6.98703 -9.83424 5.99664 -9.27275 4.78282 -8.3603 1.0 1.0 bz}xyïQ" {mark 4.78282 -8.3603 3.569 -7.44788 2.13173 -6.1845 1.20575 -4.5 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 0.0 0.0 bz}xyï\" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 0.0 0.0 bz}xyï]" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 0.0 1.0 bz}xyï_" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 0.0 0.4822 bz}xyï]" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 1.0 1.0 bz}xyï\" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 1.0 1.0 bz}xyïa" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 0.71078 1.0 bz}xyŽŽŽ‘ |RŸýh0ïW" {mark 16.79425 -4.5 15.86827 -6.1845 14.43102 -7.44788 13.2172 -8.36032 1.0 1.0 bz}xyï\" {mark 13.2172 -8.36032 12.00336 -9.27275 11.01297 -9.83426 9.75084 -10.32558 1.0 1.0 bz}xyï]" {mark 9.75084 -10.32558 8.48871 -10.81688 6.95483 -11.23799 4.90967 -11.23799 1.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï`" {mark 13.09033 -11.23799 16.93915 -11.24098 19.34401 -10.41032 20.86673 -9.44022 0.0 0.0 bz}xyï\" {mark 20.86673 -9.44022 22.38945 -8.47011 23.03004 -7.36055 23.1088 -5.55678 0.0 0.0 bz}xyïV" {mark 23.1088 -5.55678 23.18755 -3.753 22.70445 -1.255 20.7774 2.07664 0.0 0.0 bz}xyŽŽŽ‘ |RŸýh0ï`" {mark 13.09033 -11.23799 16.93915 -11.24098 19.34401 -10.41032 20.86673 -9.44022 0.0 1.0 bz}xyï\" {mark 20.86673 -9.44022 22.38945 -8.47011 23.03004 -7.36055 23.1088 -5.55678 0.0 1.0 bz}xyïV" {mark 23.1088 -5.55678 23.18755 -3.753 22.70445 -1.255 20.7774 2.07664 0.0 1.0 bz}xyŽŽŽ‘ |RŸýh0ï`" {mark 13.09033 -11.23799 16.93915 -11.24098 19.34401 -10.41032 20.86673 -9.44022 1.0 1.0 bz}xyï\" {mark 20.86673 -9.44022 22.38945 -8.47011 23.03004 -7.36055 23.1088 -5.55678 1.0 1.0 bz}xyïV" {mark 23.1088 -5.55678 23.18755 -3.753 22.70445 -1.255 20.7774 2.07664 1.0 1.0 bz}xyŽŽŽŽŽŽ’ëp>ïps: SDict begin xyc end‘àæŸýh0ïX" {mark 17.99866 8.99866 18.82208 7.57243 19.0179 6.25926 19.06561 5.04022 0.0 0.0 bz}xyïX" {mark 19.06561 5.04022 19.11333 3.82118 19.01295 2.69629 18.71431 1.1031 0.0 0.0 bz}xyïV" {mark 18.71431 1.1031 18.41568 -0.4901 17.91878 -2.55157 16.79425 -4.5 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïX" {mark 17.99866 8.99866 18.82208 7.57243 19.0179 6.25926 19.06561 5.04022 0.0 1.0 bz}xyïX" {mark 19.06561 5.04022 19.11333 3.82118 19.01295 2.69629 18.71431 1.1031 0.0 1.0 bz}xyïV" {mark 18.71431 1.1031 18.41568 -0.4901 17.91878 -2.55157 16.79425 -4.5 0.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïX" {mark 17.99866 8.99866 18.82208 7.57243 19.0179 6.25926 19.06561 5.04022 1.0 1.0 bz}xyïX" {mark 19.06561 5.04022 19.11333 3.82118 19.01295 2.69629 18.71431 1.1031 1.0 1.0 bz}xyïV" {mark 18.71431 1.1031 18.41568 -0.4901 17.91878 -2.55157 16.79425 -4.5 1.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïO" {mark 9.0 9.0 11.24966 8.99966 13.28342 8.39926 14.81248 7.8613 0.0 0.0 bz}xyïW" {mark 14.81248 7.8613 16.34152 7.32333 17.3659 6.84781 18.39777 6.19696 0.0 0.0 bz}xyïY" {mark 18.39777 6.19696 19.42963 5.54613 20.46896 4.71996 21.29239 3.29373 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïO" {mark 9.0 9.0 11.24966 8.99966 13.28342 8.39926 14.81248 7.8613 0.0 1.0 bz}xyï[" {mark 14.81248 7.8613 16.34152 7.32333 17.3659 6.84781 18.39777 6.19696 0.0 0.40039 bz}xyïY" {mark 18.39777 6.19696 19.42963 5.54613 20.46896 4.71996 21.29239 3.29373 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïO" {mark 9.0 9.0 11.24966 8.99966 13.28342 8.39926 14.81248 7.8613 1.0 1.0 bz}xyïW" {mark 14.81248 7.8613 16.34152 7.32333 17.3659 6.84781 18.39777 6.19696 1.0 1.0 bz}xyï]" {mark 18.39777 6.19696 19.42963 5.54613 20.46896 4.71996 21.29239 3.29373 0.98988 1.0 bz}xyŽŽŽ‘àæŸýh0ïO" {mark 9.0 9.0 11.24966 8.99966 13.28342 8.39926 14.81248 7.8613 1.0 1.0 bz}xyïW" {mark 14.81248 7.8613 16.34152 7.32333 17.3659 6.84781 18.39777 6.19696 1.0 1.0 bz}xyïY" {mark 18.39777 6.19696 19.42963 5.54613 20.46896 4.71996 21.29239 3.29373 1.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïB" {mark 0.00134 8.99866 9.0 19.79715 17.99866 8.99866 0.0 0.0 q}xyŽŽŽ‘àæŸýh0ïB" {mark 0.00134 8.99866 9.0 19.79715 17.99866 8.99866 0.0 1.0 q}xyŽŽŽ‘àæŸýh0ïB" {mark 0.00134 8.99866 9.0 19.79715 17.99866 8.99866 1.0 1.0 q}xyŽŽŽ‘àæŸýh0ïY" {mark -3.29239 3.29373 -2.46896 4.71996 -1.42963 5.54613 -0.39777 6.19698 0.0 0.0 bz}xyïT" {mark -0.39777 6.19698 0.6341 6.84781 1.65848 7.32333 3.18755 7.8613 0.0 0.0 bz}xyïK" {mark 3.18755 7.8613 4.7166 8.39926 6.75034 8.99966 9.0 9.0 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïY" {mark -3.29239 3.29373 -2.46896 4.71996 -1.42963 5.54613 -0.39777 6.19698 0.0 1.0 bz}xyïT" {mark -0.39777 6.19698 0.6341 6.84781 1.65848 7.32333 3.18755 7.8613 0.0 1.0 bz}xyïK" {mark 3.18755 7.8613 4.7166 8.39926 6.75034 8.99966 9.0 9.0 0.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïY" {mark -3.29239 3.29373 -2.46896 4.71996 -1.42963 5.54613 -0.39777 6.19698 1.0 1.0 bz}xyïT" {mark -0.39777 6.19698 0.6341 6.84781 1.65848 7.32333 3.18755 7.8613 1.0 1.0 bz}xyïK" {mark 3.18755 7.8613 4.7166 8.39926 6.75034 8.99966 9.0 9.0 1.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïU" {mark 1.20575 -4.5 0.08122 -2.55157 -0.41568 -0.4901 -0.71432 1.10309 0.0 0.0 bz}xyïY" {mark -0.71432 1.10309 -1.01295 2.69627 -1.11333 3.82118 -1.06561 5.04022 0.0 0.0 bz}xyïW" {mark -1.06561 5.04022 -1.0179 6.25926 -0.82208 7.57243 0.00134 8.99866 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïU" {mark 1.20575 -4.5 0.08122 -2.55157 -0.41568 -0.4901 -0.71432 1.10309 0.0 1.0 bz}xyï[" {mark -0.71432 1.10309 -1.01295 2.69627 -1.11333 3.82118 -1.06561 5.04022 0.0 0.494 bz}xyïW" {mark -1.06561 5.04022 -1.0179 6.25926 -0.82208 7.57243 0.00134 8.99866 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïU" {mark 1.20575 -4.5 0.08122 -2.55157 -0.41568 -0.4901 -0.71432 1.10309 1.0 1.0 bz}xyïY" {mark -0.71432 1.10309 -1.01295 2.69627 -1.11333 3.82118 -1.06561 5.04022 1.0 1.0 bz}xyï[" {mark -1.06561 5.04022 -1.0179 6.25926 -0.82208 7.57243 0.00134 8.99866 0.80788 1.0 bz}xyŽŽŽ‘àæŸýh0ïU" {mark 1.20575 -4.5 0.08122 -2.55157 -0.41568 -0.4901 -0.71432 1.10309 1.0 1.0 bz}xyïY" {mark -0.71432 1.10309 -1.01295 2.69627 -1.11333 3.82118 -1.06561 5.04022 1.0 1.0 bz}xyïW" {mark -1.06561 5.04022 -1.0179 6.25926 -0.82208 7.57243 0.00134 8.99866 1.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïI" {mark 5.70627 -12.29239 -9.7033 -10.79836 -3.29239 3.29373 0.0 0.0 q}xyŽŽŽ‘àæŸýh0ïI" {mark 5.70627 -12.29239 -9.7033 -10.79836 -3.29239 3.29373 0.0 1.0 q}xyŽŽŽ‘àæŸýh0ïI" {mark 5.70627 -12.29239 -9.7033 -10.79836 -3.29239 3.29373 1.0 1.0 q}xyŽŽŽ‘àæŸýh0ï_" {mark 12.29373 -12.29239 10.64687 -12.29239 9.41173 -11.80537 8.33215 -11.23718 0.0 0.0 bz}xyï[" {mark 8.33215 -11.23718 7.25256 -10.66898 6.32857 -10.0196 5.09814 -8.96439 0.0 0.0 bz}xyïU" {mark 5.09814 -8.96439 3.86772 -7.90916 2.33087 -6.44809 1.20575 -4.5 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ï_" {mark 12.29373 -12.29239 10.64687 -12.29239 9.41173 -11.80537 8.33215 -11.23718 0.0 1.0 bz}xyï[" {mark 8.33215 -11.23718 7.25256 -10.66898 6.32857 -10.0196 5.09814 -8.96439 0.0 1.0 bz}xyïU" {mark 5.09814 -8.96439 3.86772 -7.90916 2.33087 -6.44809 1.20575 -4.5 0.0 1.0 bz}xyŽŽŽ‘àæŸýh0ï_" {mark 12.29373 -12.29239 10.64687 -12.29239 9.41173 -11.80537 8.33215 -11.23718 1.0 1.0 bz}xyï[" {mark 8.33215 -11.23718 7.25256 -10.66898 6.32857 -10.0196 5.09814 -8.96439 1.0 1.0 bz}xyïU" {mark 5.09814 -8.96439 3.86772 -7.90916 2.33087 -6.44809 1.20575 -4.5 1.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïX" {mark 16.79425 -4.5 15.66913 -6.44809 14.1323 -7.90916 12.90187 -8.96439 0.0 0.0 bz}xyï^" {mark 12.90187 -8.96439 11.67143 -10.0196 10.74744 -10.66898 9.66786 -11.23717 0.0 0.0 bz}xyï]" {mark 9.66786 -11.23717 8.58829 -11.80537 7.35313 -12.29239 5.70627 -12.29239 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïX" {mark 16.79425 -4.5 15.66913 -6.44809 14.1323 -7.90916 12.90187 -8.96439 0.0 1.0 bz}xyïa" {mark 12.90187 -8.96439 11.67143 -10.0196 10.74744 -10.66898 9.66786 -11.23717 0.0 0.3867 bz}xyï]" {mark 9.66786 -11.23717 8.58829 -11.80537 7.35313 -12.29239 5.70627 -12.29239 0.0 0.0 bz}xyŽŽŽ‘àæŸýh0ïX" {mark 16.79425 -4.5 15.66913 -6.44809 14.1323 -7.90916 12.90187 -8.96439 1.0 1.0 bz}xyï^" {mark 12.90187 -8.96439 11.67143 -10.0196 10.74744 -10.66898 9.66786 -11.23717 1.0 1.0 bz}xyïa" {mark 9.66786 -11.23717 8.58829 -11.80537 7.35313 -12.29239 5.70627 -12.29239 0.81374 1.0 bz}xyŽŽŽ‘àæŸýh0ïX" {mark 16.79425 -4.5 15.66913 -6.44809 14.1323 -7.90916 12.90187 -8.96439 1.0 1.0 bz}xyï^" {mark 12.90187 -8.96439 11.67143 -10.0196 10.74744 -10.66898 9.66786 -11.23717 1.0 1.0 bz}xyï]" {mark 9.66786 -11.23717 8.58829 -11.80537 7.35313 -12.29239 5.70627 -12.29239 1.0 1.0 bz}xyŽŽŽ‘àæŸýh0ïI" {mark 21.29239 3.29373 29.262 -11.69827 12.29373 -12.29239 0.0 0.0 q}xyŽŽŽ‘àæŸýh0ïI" {mark 21.29239 3.29373 29.262 -11.69827 12.29373 -12.29239 0.0 1.0 q}xyŽŽŽ‘àæŸýh0ïI" {mark 21.29239 3.29373 29.262 -11.69827 12.29373 -12.29239 1.0 1.0 q}xyŽŽŽŽŽŽŽŸ'cq‘ãŒÏ\def\TrefoilA{\xygraph{!{0;/r.75pc/:}ŽŽ¡‘éKÃ!P3"a"{~>{}}!P9"b"{~:{(1.3288,0):}~>{}}ŽŽ¡‘éKÃ!P3"c"{~:{(2.5,0):}~>{}}ŽŽ¡‘éKÃ!{\vover~{"b2"}{"b1"}{"a1"}{"a3"}}ŽŽ¡‘éKÃ!{"b4";"b2"**\crv{"c1"}}ŽŽ¡‘éKÃ!{\vover~{"b5"}{"b4"}{"a2"}{"a1"}}ŽŽ¡‘éKÃ!{"b7";"b5"**\crv{"c2"}}ŽŽ¡‘éKÃ!{\vover~{"b8"}{"b7"}{"a3"}{"a2"}}ŽŽ¡‘éKÃ!{"b1";"b8"**\crv{"c3"}}}}ŽŽŽŽŒ‹µèN Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹437ŽŽ ¶?? ýh«w‘ãŒÏ%ŽŽ¤ ™š‘ãŒ\def\TrefoilB{\xygraph{!{0;/r.75pc/:}ŽŽ¡‘éKÃ!P3"a"{~>{}}!P9"b"{~:{(1.3288,0):}~>{}}ŽŽ¡‘éKÃ!P3"c"{~:{(2.5,0):}~>{}}ŽŽ¡‘éKÃ!{\vover~{"b2"}{"b1"}{"a1"}{"a3"}}ŽŽ¡‘éKÃ!{\vcap~{"c1"}{"c1"}{"b4"}{"b2"}@(+.1)}ŽŽ¡‘éKÃ!{\vover~{"b5"}{"b4"}{"a2"}{"a1"}}ŽŽ¡‘éKÃ!{\vcap~{"c2"}{"c2"}{"b7"}{"b5"}@(+.2)}ŽŽ¡‘éKÃ!{\vover~{"b8"}{"b7"}{"a3"}{"a2"}}ŽŽ¡‘éKÃ!{\vcap~{"c3"}{"c3"}{"b1"}{"b8"}}}}ŽŽ¡‘ãŒ%ŽŽ¡‘ãŒ\def\TrefoilC{\xygraph{!{0;/r.75pc/:}ŽŽ¡‘éKÃ!P3"a"{~>{}}ŽŽ¡‘éKÃ!P12"b"{~:{(1.414,0):}~>{}}ŽŽ¡‘éKÃ!{\vover~{"b2"}{"b1"}{"a1"}{"a3"}}ŽŽ¡‘éKÃ!{\save‘¿ª0;"b2"-"b5":"b5",ŽŽ¡‘ôË\xcaph‘¿ª@(+.1)\restore}ŽŽ¡‘éKÃ!{\vover~{"b6"}{"b5"}{"a2"}{"a1"}}ŽŽ¡‘éKÃ!{\save‘¿ª0;"b6"-"b9":"b9",ŽŽ¡‘ôË\xcaph‘¿ª@(+.2)\restore}ŽŽ¡‘éKÃ!{\vover~{"b10"}{"b9"}{"a3"}{"a2"}}ŽŽ¡‘éKÃ!{\save‘¿ª0;"b10"-"b1":"b1",ŽŽ¡‘úŠÁ\xcaph–¿ª@(+.3)\restore}“}}ŽŽ¡‘ãŒ$$\TrefoilA\quad\TrefoilBŽŽ¡‘ôË\quad\TrefoilC$$ŽŽŸv‘ãŒÃ1507Ž‘õŒÏ\xydef@\xykjoincontrol@@{.75}%ŽŽ¡‘ãŒÃ1508Ž‘õŒÏ\xydef@\xyk@joincontrol@#1{\DN@{#1}%ŽŽ¡‘ãŒÃ1509Ž‘ûKÃÏ\ifx\next@\empty\edef\xykjoincontrol@@{.75}%ŽŽ¡‘ãŒÃ1510Ž‘ûKÃÏ\else\dimen@=#1\p@ŽŽ¡‘ãŒÃ1511Ž‘ mÏ\edef\xykjoincontrol@@{\expandafter\removePT@\the\dimen@}\fi}ŽŽ¡‘ãŒÃ1512Ž‘õŒÏ\xylet@\xykjoincontrol\empty‘¿ª%\xyk@joincontrol@ŽŽ©Pˆ‘ãŒÃ1514Ž‘õŒÏ\xydef@\xykjoincontrol@(#1){\DN@{#1}%ŽŽ¡‘ãŒÃ1515Ž‘ûKÃÏ\ifx\next@\empty\edef\xykjoincontrol{\xykjoincontrol@@}%ŽŽ¡‘ãŒÃ1516Ž‘ûKÃÏ\else\dimen@=#1\p@ŽŽ¡‘ãŒÃ1517Ž‘ mÏ\edef\xykjoincontrol{\expandafter\removePT@\the\dimen@}%ŽŽ¡‘ãŒÃ1518Ž‘ûKÃÏ\fi–¿ª\xyFN@\xykparsejoin@@“}ŽŽ¦‘ãŒÃ1520Ž‘õŒÏ\xydef@\xykjoincontrol@i#1{\DN@{#1}%ŽŽ¡‘ãŒÃ1521Ž‘ûKÃÏ\ifx\next@\empty\edef\xykjoincontrol{\xykjoincontrol@@}%ŽŽ¡‘ãŒÃ1522Ž‘ûKÃÏ\else\dimen@=#1\p@ŽŽ¡‘ãŒÃ1523Ž‘ mÏ\edef\xykjoincontrol{\expandafter\removePT@\the\dimen@}\fi}ŽŽŸ+:‘ôŒ¹These–¦fmacros“are“common“to“most“joins.ަ‘ãŒÃ1529Ž‘õŒÏ\xydef@\xykjoin@#1{%ŽŽ¡‘ãŒÃ1530Ž‘ûKÃÏ\expandafter\toks@\expandafter{\expandafter#1\knotSTYLE}}ŽŽ¦‘ãŒÃ1532Ž‘õŒÏ\xydef@\xyksetjoin@{\xykcheckTIPS@ŽŽ¡‘ãŒÃ1533Ž‘ûKÃÏ\xykprebreak@–¿ª\xykmidbreak@“\xykpostbreak@“\xyknottips@“}ŽŽŽŽŒ‹¶Hí Á à ý*tj‘㌹438’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÔ\cap"‘2joins:ŽŸ‘㌹The‘¦finitialisation.–Ó3.“.Ž©Pˆ‘ãŒÃ1545Ž‘õŒÏ\xydef@\hcap{\begingroup\def\afterknot@{\xyhcap}%ŽŽ¤ ™š‘ãŒÃ1546Ž‘ûKÃÏ\def\xykprePLACE@{(.385)}\def\xykpostPLACE@{(.615)}%ŽŽ¡‘ãŒÃ1547Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.25}%ŽŽ¡‘ãŒÃ1548Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1549Ž‘õŒÏ\xydef@\vcap{\begingroup\def\afterknot@{\xyvcap}%ŽŽ¡‘ãŒÃ1550Ž‘ûKÃÏ\def\xykprePLACE@{(.385)}\def\xykpostPLACE@{(.615)}%ŽŽ¡‘ãŒÃ1551Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.25}%ŽŽ¡‘ãŒÃ1552Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1553Ž‘õŒÏ\xydef@\xcapv{\begingroup\def\afterknot@{\xyxcapv}%ŽŽ¡‘ãŒÃ1554Ž‘ûKÃÏ\def\xykprePLACE@{(.2)}\def\xykpostPLACE@{(.8)}%ŽŽ¡‘ãŒÃ1555Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.5}%ŽŽ¡‘ãŒÃ1556Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1557Ž‘õŒÏ\xydef@\xcaph{\begingroup\def\afterknot@{\xyxcaph}%ŽŽ¡‘ãŒÃ1558Ž‘ûKÃÏ\def\xykprePLACE@{(.2)}\def\xykpostPLACE@{(.8)}%ŽŽ¡‘ãŒÃ1559Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.5}%ŽŽ¡‘ãŒÃ1560Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽŸœ+‘ôŒ¹The‘¦fin²!terface.–Ó3.“.ަ‘ãŒÃ1566Ž‘õŒÏ\xydef@\xyvcap{\xykjoin@\xykcapv–¿ª\xyksetjoin@“\xykhobject@{}}ŽŽ¡‘ãŒÃ1567Ž‘õŒÏ\xydef@\xyhcap{\xykjoin@\xykcaph–¿ª\xyksetjoin@“\xykvobject@{}}ŽŽ¡‘ãŒÃ1568Ž‘õŒÏ\xydef@\xyxcapv{\xykjoin@\xykxcapv–¿ª\xyksetjoin@“\xykvobject@{+(0,-1)}}ŽŽ¡‘ãŒÃ1569Ž‘õŒÏ\xydef@\xyxcaph{\xykjoin@\xykxcaph–¿ª\xyksetjoin@“\xykhobject@{+(1,0)}}ŽŽŸœ+‘ôŒ¹The–¦fdra²!wing“coMÞde.–Ó3.“.ަ‘ãŒÃ1575Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1576Ž‘ûKÃÏ"_>",{\xyksaveEdgec},{\xykz_\ar‘¿ª#1@'{"^>"**{}?(\xykjoincontrol)@+ŽŽ¡‘ãŒÃ1577Ž‘ûKÃÏ,?-(.25,0)@+,"_<";"^<"**{}?+(.25,0)@+,?(\xykjoincontrol)@+}ŽŽ¡‘ãŒÃ1578Ž‘ûKÃÏ"_<"#3#4#5#6},\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1579Ž‘õŒÏ\xylet@\xykcapv=\nextŽŽ¦‘ãŒÃ1581Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1582Ž‘ûKÃÏ"_<",{\xyksaveEdgec},{\xykz_\ar‘¿ª#1@'{"_>"**{}?(\xykjoincontrol)@+,ŽŽ¡‘ãŒÃ1583Ž‘ mÏ?+(0,.25)@+,"^<";"^>"**{}?-(0,.25)@+,?(\xykjoincontrol)@+}ŽŽ¡‘ãŒÃ1584Ž‘ûKÃÏ"^<"#3#4#5#6}ŽŽ¡‘ãŒÃ1585Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1586Ž‘õŒÏ\xylet@\xykcaph=\nextŽŽ¦‘ãŒÃ1588Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1589Ž‘ûKÃÏ"^>";"_>"**{}?="^_","^<";"_<"**{}?;"^_",**{}?(\xykjoincontrol)="^_",ŽŽ¡‘ãŒÃ1590Ž‘ûKÃÏ"_<",{\xyksaveEdgec},{\xykz_\ar‘¿ª#1@'{"^_"@+}ŽŽ¡‘ãŒÃ1591Ž‘ mÏ"^<"#3#4#5#6},\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1592Ž‘õŒÏ\xylet@\xykxcapv=\nextŽŽ¦‘ãŒÃ1594Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1595Ž‘ûKÃÏ"^<";"^>"**{}?="^_","_<";"_>"**{}?;"^_",**{}?(\xykjoincontrol)="^_",ŽŽ¡‘ãŒÃ1596Ž‘ûKÃÏ"_>",{\xyksaveEdgec},{\xykz_\ar‘¿ª#1@'{"^_"@+}ŽŽ¡‘ãŒÃ1597Ž‘ mÏ"_<"#3#4#5#6},\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1598Ž‘õŒÏ\xylet@\xykxcaph=\nextŽŽŽŽŒ‹·QÝ Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹439ŽŽ ¶?? ýh«w‘ãŒÔ\loY‹op"‘2joins:ŽŸã7‘㌹The–¦finitialisation“and“in²!terface.–Ó3.“.Ž©Pˆ‘ãŒÃ1608Ž‘õŒÏ\xydef@\hloop{\begingroup\def\afterknot@{\xyhloop}%ŽŽ¤ ™š‘ãŒÃ1609Ž‘ûKÃÏ\def\xykprePLACE@{(.07)}\def\xykpostPLACE@{(.93)}%ŽŽ¡‘ãŒÃ1610Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.75}%ŽŽ¡‘ãŒÃ1611Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1612Ž‘õŒÏ\xydef@\vloop{\begingroup\def\afterknot@{\xyvloop}%ŽŽ¡‘ãŒÃ1613Ž‘ûKÃÏ\def\xykprePLACE@{(.07)}\def\xykpostPLACE@{(.93)}%ŽŽ¡‘ãŒÃ1614Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.75}%ŽŽ¡‘ãŒÃ1615Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¦‘ãŒÃ1617Ž‘õŒÏ\xydef@\xyvloop{\xykjoin@\xykloopv–¿ª\xyksetjoin@“\xykhobject@{}}ŽŽ¡‘ãŒÃ1618Ž‘õŒÏ\xydef@\xyhloop{\xykjoin@\xyklooph–¿ª\xyksetjoin@“\xykvobject@{}}ŽŽŸð·‘ôŒ¹The–¦fdra²!wing“coMÞde.–Ó3.“.ަ‘ãŒÃ1624Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1625Ž‘ûKÃÏ"_>",{\xykz_\ar‘¿ª#1@'{"^>"**{}?(\xykjoincontrol)@+,?(1.25)-(.25,0)@+,ŽŽ¡‘ãŒÃ1626Ž‘ mÏ"_<";"^<"**{}?(1.25)+(.25,0)@+,?(\xykjoincontrol)@+}"_<"#3#4#5#6}ŽŽ¡‘ãŒÃ1627Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1628Ž‘õŒÏ\xylet@\xykloopv=\nextŽŽ¦‘ãŒÃ1630Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1631Ž‘ûKÃÏ"_<",{\xykz_\ar‘¿ª#1@'{"_>"**{}?(\xykjoincontrol)@+,?(1.25)+(0,.25)@+,ŽŽ¡‘ãŒÃ1632Ž‘ mÏ"^<";"^>"**{}?(1.25)+(0,-.25)@+,?(\xykjoincontrol)@+}"^<"#3#4#5#6}ŽŽ¡‘ãŒÃ1633Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1634Ž‘õŒÏ\xylet@\xyklooph=\nextŽŽŸ%6m‘ãŒÔ\bY‹end"‘2joins:ŽŸã7‘㌹The‘¦finitialisation.–Ó3.“.ަ‘ãŒÃ1644Ž‘õŒÏ\xydef@\zbendh{\begingroup\def\afterknot@{\xyzbendh}%ŽŽ¡‘ãŒÃ1645Ž‘ûKÃÏ\def\xykprePLACE@{(.25)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1646Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{\xykjoincontrol@@}%ŽŽ¡‘ãŒÃ1647Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1648Ž‘õŒÏ\xydef@\sbendv{\begingroup\def\afterknot@{\xysbendv}%ŽŽ¡‘ãŒÃ1649Ž‘ûKÃÏ\def\xykprePLACE@{(.25)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1650Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{\xykjoincontrol@@}%ŽŽ¡‘ãŒÃ1651Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1652Ž‘õŒÏ\xydef@\sbendh{\begingroup\def\afterknot@{\xysbendh}%ŽŽ¡‘ãŒÃ1653Ž‘ûKÃÏ\def\xykprePLACE@{(.25)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1654Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{\xykjoincontrol@@}%ŽŽ¡‘ãŒÃ1655Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1656Ž‘õŒÏ\xydef@\zbendv{\begingroup\def\afterknot@{\xyzbendv}%ŽŽ¡‘ãŒÃ1657Ž‘ûKÃÏ\def\xykprePLACE@{(.25)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1658Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{\xykjoincontrol@@}%ŽŽ¡‘ãŒÃ1659Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽŸv‘ãŒÃ1662Ž‘õŒÏ\xydef@\xbendr{\begingroup\def\afterknot@{\xyxbendr}%ŽŽ¡‘ãŒÃ1663Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1664Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.5}%ŽŽŽŽŒ‹¸]• Á à ý*tj‘㌹440’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1665Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¤ ™š‘ãŒÃ1666Ž‘õŒÏ\xydef@\xbendl{\begingroup\def\afterknot@{\xyxbendl}%ŽŽ¡‘ãŒÃ1667Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1668Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.5}%ŽŽ¡‘ãŒÃ1669Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1670Ž‘õŒÏ\xydef@\xbendu{\begingroup\def\afterknot@{\xyxbendu}%ŽŽ¡‘ãŒÃ1671Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1672Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.5}%ŽŽ¡‘ãŒÃ1673Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽ¡‘ãŒÃ1674Ž‘õŒÏ\xydef@\xbendd{\begingroup\def\afterknot@{\xyxbendd}%ŽŽ¡‘ãŒÃ1675Ž‘ûKÃÏ\def\xykprePLACE@{(.15)}\def\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1676Ž‘ûKÃÏ\def\xykmidPLACE@{(.5)}\edef\xykjoincontrol{.5}%ŽŽ¡‘ãŒÃ1677Ž‘ûKÃÏ\xyFN@\xykparsejoin@‘¿ª}%ŽŽŸR?‘ôŒ¹The‘¦fin²!terface.–Ó3.“.Ž©Pˆ‘ãŒÃ1684Ž‘õŒÏ\xydef@\xyzbendh{\xykjoin@\xykzbendh–¿ª\xyksetjoin@“\xykhvobject@{+(1,-1)}}ŽŽ¡‘ãŒÃ1685Ž‘õŒÏ\xydef@\xysbendv{\xykjoin@\xyksbendv–¿ª\xyksetjoin@“\xykhvobject@{+(1,-1)}}ŽŽ¡‘ãŒÃ1686Ž‘õŒÏ\xydef@\xysbendh{\xykjoin@\xyksbendh–¿ª\xyksetjoin@“\xykhuobject@{+(1,1)}}ŽŽ¡‘ãŒÃ1687Ž‘õŒÏ\xydef@\xyzbendv{\xykjoin@\xykzbendv–¿ª\xyksetjoin@“\xykhuobject@{+(1,1)}}ŽŽ¦‘ãŒÃ1689Ž‘õŒÏ\xydef@\xyxbendr{\xykjoin@\xykxbendr–¿ª\xyksetjoin@“\xykhvobject@{+(1,-1)}}ŽŽ¡‘ãŒÃ1690Ž‘õŒÏ\xydef@\xyxbendl{\xykjoin@\xykxbendl–¿ª\xyksetjoin@“\xykhvobject@{+(0,-1)}}ŽŽ¡‘ãŒÃ1691Ž‘õŒÏ\xydef@\xyxbendu{\xykjoin@\xykxbendu–¿ª\xyksetjoin@“\xykhvobject@{+(1,0)}}ŽŽ¡‘ãŒÃ1692Ž‘õŒÏ\xydef@\xyxbendd{\xykjoin@\xykxbendd–¿ª\xyksetjoin@“\xykhvobject@{+(1,-1)}}ŽŽŸR?‘ôŒ¹The‘¦fimplemen²!tation.–Ó3.“.ަ‘ãŒÃ1699Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1700Ž‘ûKÃÏ"^<",{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1701Ž‘ûKÃÏ{\xykz^\ar‘¿ª#1@'{"^>"**{}?(\xykjoincontrol)@+,ŽŽ¡‘ãŒÃ1702Ž‘ mÏ"_>";"_<"**{}?(\xykjoincontrol)@+}"_>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1703Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1704Ž‘õŒÏ\xylet@\xykzbendh=\nextŽŽ¦‘ãŒÃ1706Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1707Ž‘ûKÃÏ"^<",{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1708Ž‘ûKÃÏ{\xykz_\ar‘¿ª#1@'{"_<"**{}?(\xykjoincontrol)@+,ŽŽ¡‘ãŒÃ1709Ž‘ mÏ"_>";"^>"**{}?(\xykjoincontrol)@+}"_>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1710Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1711Ž‘õŒÏ\xylet@\xyksbendv=\nextŽŽ¦‘ãŒÃ1713Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1714Ž‘ûKÃÏ"_<",{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1715Ž‘ûKÃÏ{\xykz_\ar‘¿ª#1@'{"_>"**{}?(\xykjoincontrol)@+,ŽŽ¡‘ãŒÃ1716Ž‘ mÏ"^>";"^<"**{}?(\xykjoincontrol)@+}"^>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1717Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1718Ž‘õŒÏ\xylet@\xyksbendh=\nextŽŽ¦‘ãŒÃ1720Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1721Ž‘ûKÃÏ"_<",{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1722Ž‘ûKÃÏ{\xykz^\ar‘¿ª#1@'{"^<"**{}?(\xykjoincontrol)@+,ŽŽ¡‘ãŒÃ1723Ž‘ mÏ"^>";"_>"**{}?(\xykjoincontrol)@+}"^>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1724Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1725Ž‘õŒÏ\xylet@\xykzbendv=\nextŽŽŽŽŒ‹¹iW Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹441ŽŽ ¶?? ýh«w‘ãŒÃ1728Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¤ ™š‘ãŒÃ1729Ž‘ûKÃÏ"^<"-(0,.5),{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1730Ž‘ûKÃÏ{\xykz_\ar‘¿ª#1@'{"_<";"_>"**{}?(\xykjoincontrol)@+,}"_>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1731Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1732Ž‘õŒÏ\xylet@\xykxbendr=\nextŽŽ©Pˆ‘ãŒÃ1734Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1735Ž‘ûKÃÏ"^>"-(0,.5),{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1736Ž‘ûKÃÏ{\xykz^\ar‘¿ª#1@'{"_>";"_<"**{}?(\xykjoincontrol)@+,}"_<"#3#4#5#6}%ŽŽ¡‘ãŒÃ1737Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1738Ž‘õŒÏ\xylet@\xykxbendl=\nextŽŽ¦‘ãŒÃ1740Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1741Ž‘ûKÃÏ"_<"+(.5,0),{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1742Ž‘ûKÃÏ{\xykz_\ar‘¿ª#1@'{"_>";"^>"**{}?(\xykjoincontrol)@+,}"^>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1743Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1744Ž‘õŒÏ\xylet@\xykxbendu=\nextŽŽ¦‘ãŒÃ1746Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\save,ŽŽ¡‘ãŒÃ1747Ž‘ûKÃÏ"^<"+(.5,0),{\xyksaveEdgec},ŽŽ¡‘ãŒÃ1748Ž‘ûKÃÏ{\xykz^\ar‘¿ª#1@'{"^>";"_>"**{}?(\xykjoincontrol)@+,}"_>"#3#4#5#6}%ŽŽ¡‘ãŒÃ1749Ž‘ûKÃÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1750Ž‘õŒÏ\xylet@\xykxbendd=\nextŽŽŸ'£è‘ãŒÔChanging–2the“string-st¦tyleŽŸ+‘㌹It–P›is“not“necessary“to“use“solid“curv•²!es;‘m4an“y›P›st“yle˜a“v‘ÿdDailable˜to˜curv“es˜and˜arro“ws˜can˜bMÞe˜c“hosen˜using.–Ó3.“.Ž‘ãŒŸ4«‰ffã²dŸ ¾Ø‘.%0Ï\knotstyle{Ž‘ma~Çh¹c²!harÇiÏ}ŽŽ’ô¹use‘¦fÏ\dir{Ž‘ d¸Çh¹c²!harÇiÏ}ŽŽŽŽŽ¡‘.%0\knotstyles{Ž‘s!(Çh¹c•²!harÇiÏ}{Ž‘ TÇh¹c“harÇiÏ}ŽŽ’ô¹t•²!w“o‘¦fst“ylesŽŽŽŽ¡‘.%0Ï\knotSTYLE{Ž‘ma~Çh¹coMÞdeÇiÏ}ŽŽ’ô¹use‘¦fÇh¹coMÞdeÇiŽŽŽŽŸ´Ÿ‰ffã²dŸGÞ–ˆƒ¹In“eacš²!h“case“the“new“st˜yle“applies“to“Ðal‘Fl“¹subsequen˜t“knot“pieces,‘Á except“that“the“t˜w˜o“st˜yles“applyŽ¡only–À;to“crossings.›+\The“latter“case“allo²!ws“use“of“ob‘›»ject“Çh¹moMÞdi erÇi¹s.˜The“Çh¹coMÞdeÇi“¹consists“of“t•²!w“o‘À;groupsŽ¡Ï{..}{..}Ž‘/Ї¹,‘—Ueac•²!h›“con“taining˜Çh¹arro“wÇi˜¹forms,–—Uas˜in˜3.2˜and˜notes˜3.3m,“3.3r.‘×–Only˜the˜ rst˜Çh¹arro²!wÇi˜¹formŽ¡is–ÿused“with“Çh¹joinÇi¹s“whereas“the“t•²!w“o–ÿforms“are“used“respMÞectivš²!ely“with“the“t˜w˜o“strings“of“a“Çh¹crossingÇiŽ¡¹in–¦fthe“order“that“they“are“dra²!wn.ަÃ1780Ž‘Ï{\xyuncatcodes‘¿ª\gdef\next{{@{-}}{@{-}}}}ŽŽ¡Ã1781Ž‘Ï\xylet@\knotSTYLE=\nextŽŽ¦Ã1783Ž‘Ï{\xyuncatcodes‘¿ª\gdef\next#1{\def\knotSTYLE{{@{#1}}{@{#1}}}}}ŽŽ¡Ã1784Ž‘Ï\xylet@\knotstyle=\nextŽŽ¦Ã1786Ž‘Ï{\xyuncatcodes‘¿ª\gdef\next#1#2{\def\knotSTYLE{{@{#1}}{@{#2}}}}}ŽŽ¡Ã1787Ž‘Ï\xylet@\knotstyles=\nextŽŽ¦Ã1789Ž‘Ï{\xyuncatcodes‘¿ª\gdef\next#1{\def\knotSTYLE{#1}}}ŽŽ¡Ã1790Ž‘Ï\xylet@\KNOTstyle=\nextŽŽŸ"ìúÔInitialisation:‘™›¹default–¦fv‘ÿdDalues“for“the“methoMÞds.ަÃ1798Ž‘Ï\xydef@\knotholesize@#1{\def\xykholesize{#1}}ŽŽ¡Ã1799Ž‘Ï\xydef@\xykholesize{5pt}ŽŽŽŽŒ‹ºu¡ Á à ý*tj‘㌹442’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ1800Ž‘õŒÏ\xylet@\knotholesize=\knotholesize@ŽŽ¤ ™š‘ãŒÃ1801Ž‘õŒÏ\xylet@\holesize=\knotholesize@ŽŽ©Pˆ‘ãŒÃ1803Ž‘õŒÏ\xydef@\knottips#1{\def\xyknotTIPS@{#1}}ŽŽ¡‘ãŒÃ1804Ž‘õŒÏ\xydef@\xyknotTIPS@{FF}ŽŽ¡‘ãŒÃ1805Ž‘õŒÏ\xydef@\xyknotTIPS@@{}ŽŽ¦‘ãŒÃ1807Ž‘õŒÏ\xydef@\xykSCALE@@{}ŽŽ¦‘ãŒÃ1809Ž‘õŒÏ%\xydef@\xyknotbreak@@{}%ŽŽ¡‘ãŒÃ1810Ž‘õŒÏ\xydef@\xykprebreak@@{}%ŽŽ¡‘ãŒÃ1811Ž‘õŒÏ\xydef@\xykpostbreak@@{}%ŽŽ¡‘ãŒÃ1812Ž‘õŒÏ\xydef@\xykmidbreak@@{}%ŽŽ¦‘ãŒÃ1814Ž‘õŒÏ\xydef@\xykprePLACE@{(.25)}%ŽŽ¡‘ãŒÃ1815Ž‘õŒÏ\xydef@\xykpostPLACE@{(.75)}%ŽŽ¡‘ãŒÃ1816Ž‘õŒÏ\xydef@\xykmidPLACE@{}%ŽŽ¡‘ãŒÃ1817Ž‘õŒÏ\xylet@\xykPLACE@=\xykmidPLACE@ŽŽ©v‘ãŒÃ1829Ž‘õŒÏ{\gdef\next#1#2#3#4{%\message{#1:#2:#3:#4}%ŽŽ¡‘ãŒÃ1830Ž‘ûKÃÏ\save(0,0);"#2"-"#1"+"#4"-"#3":(.5,0):ŽŽ¡‘ãŒÃ1831Ž‘ûKÃÏ"#3"-"#1"+"#4"-"#2"::(0,.5)::}}ŽŽ¡‘ãŒÃ1832Ž‘õŒÏ\xylet@\xykflexbase@=\nextŽŽ¡‘ãŒÃ1833Ž‘õŒÏ\xylet@\xykflexbase=\xykflexbase@ŽŽ¦‘ãŒÃ1837Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8{\xykflexbase{#1}{#2}{#3}{#4}%ŽŽ¡‘ãŒÃ1838Ž‘õŒÏ%‘¿ª\save(0,0);"#2"-"#1"+"#4"-"#3":(.5,0):ŽŽ¡‘ãŒÃ1839Ž‘õŒÏ%‘¿ª"#3"-"#1"+"#4"-"#2"::(0,.5)::ŽŽ¡‘ãŒÃ1840Ž‘ûKÃÏ"#1",{\ar‘¿ª@{#5}@'{"#1"+(0,.125)@++(.1875,.125)@+,ŽŽ¡‘ãŒÃ1841Ž‘ûKÃÏ"#4"-(.1875,.25)@++(.1875,.125)@+}"#4"‘¿ª#6},ŽŽ¡‘ãŒÃ1842Ž‘ûKÃÏ"#2",{\ar‘¿ª@{#5}@'{"#2"+(0,.125)@++(-.1875,.125)@+,ŽŽ¡‘ãŒÃ1843Ž‘ûKÃÏ"#3"+(.1875,-.25)@++(-.1875,.125)@+}"#3"‘¿ª#7}%ŽŽ¡‘ãŒÃ1844Ž‘õŒÏ\restore‘¿ª\POS#8}}ŽŽ¡‘ãŒÃ1845Ž‘õŒÏ\xylet@\Xtwist=\nextŽŽŸPˆ‘ãŒÃ1847Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8{\xykflexbase{#1}{#2}{#3}{#4}%ŽŽ¡‘ãŒÃ1848Ž‘õŒÏ%‘¿ª\save(0,0);"#2"-"#1"+"#4"-"#3":(.5,0):ŽŽ¡‘ãŒÃ1849Ž‘õŒÏ%‘¿ª"#3"-"#1"+"#4"-"#2"::(0,.5)::ŽŽ¡‘ãŒÃ1850Ž‘ûKÃÏ"#1",{\ar‘¿ª@{#5}@'{"#1"+(0,.0625)@++(.1875,.0625)@+,ŽŽ¡‘ãŒÃ1851Ž‘ûKÃÏ"#3"+(.1875,-.125)@++(-.1875,.0625)@+}"#3"‘¿ª#6},ŽŽ¡‘ãŒÃ1852Ž‘ûKÃÏ"#2",{\ar‘¿ª@{#5}@'{"#2"+(0,.0625)@++(-.1875,.0625)@+,ŽŽ¡‘ãŒÃ1853Ž‘ûKÃÏ"#4"-(.1875,.125)@++(.1875,.0625)@+}"#4"‘¿ª#7}%ŽŽ¡‘ãŒÃ1854Ž‘õŒÏ\restore‘¿ª\POS#8}}ŽŽ¡‘ãŒÃ1855Ž‘õŒÏ\xylet@\Xuntwist=\nextŽŽ¦‘ãŒÃ1862Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\xykflexbase{#1}{#2}{#3}{#4}%ŽŽ¡‘ãŒÃ1863Ž‘õŒÏ%‘¿ª\save(0,0);"#2"-"#1"+"#4"-"#3":(.5,0):ŽŽ¡‘ãŒÃ1864Ž‘õŒÏ%‘¿ª"#3"-"#1"+"#4"-"#2"::(0,.5)::ŽŽ¡‘ãŒÃ1865Ž‘ûKÃÏ"#1",{\ar‘¿ª@{#5}@'{"#1"+(.1875,.0625)@++(.1875,.1875)@+,ŽŽ¡‘ãŒÃ1866Ž‘ûKÃÏ"#4"+(-#9,-.125)@+}"#4"‘¿ª#6},ŽŽ¡‘ãŒÃ1867Ž‘ûKÃÏ"#2",{\ar‘¿ª@{#5}@'{"#2"+(-.1875,.0625)@++(-.1875,.1875)@+,ŽŽ¡‘ãŒÃ1868Ž‘ûKÃÏ"#3"+(#9,-.125)@+}"#3"‘¿ª#7}%ŽŽ¡‘ãŒÃ1869Ž‘õŒÏ\restore‘¿ª\POS#8}}ŽŽŽŽŒ‹»A Á à ý*tj‘ãŒÑ3.10.‘„CKNOTS–¦fAND“LINKS“FEA‘ÿeTURE’ 4¹443ŽŽ ¶?? ýh«w‘ãŒÃ1870Ž‘õŒÏ\xylet@\Xover=\nextŽŽŸPˆ‘ãŒÃ1872Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7#8#9{\xykflexbase{#1}{#2}{#3}{#4}%ŽŽ¤ ™š‘ãŒÃ1873Ž‘õŒÏ%‘¿ª\save(0,0);"#2"-"#1"+"#4"-"#3":(.5,0):ŽŽ¡‘ãŒÃ1874Ž‘õŒÏ%‘¿ª"#3"-"#1"+"#4"-"#2"::(0,.5)::ŽŽ¡‘ãŒÃ1875Ž‘ûKÃÏ"#1",{\ar‘¿ª@{#5}@'{"#1"+(.1875,.0625)@++(.1875,.1875)@+,ŽŽ¡‘ãŒÃ1876Ž‘ûKÃÏ"#2"+(-.1875,.0625)@+}"#2"‘¿ª#6},ŽŽ¡‘ãŒÃ1877Ž‘õŒÏ%–¿ª"#3"+(#9,-.125)@+}"#3"“#6},ŽŽ¡‘ãŒÃ1878Ž‘ûKÃÏ"#3",{\ar‘¿ª@{#5}@'{"#3"+(#9,-.125)@+,"#3"+(.25,-.25)@+,ŽŽ¡‘ãŒÃ1879Ž‘õŒÏ%–¿ª"#2",{\ar“@{#5}@'{"#2"+(-.1875,.0625)@++(-.1875,.1875)@+,ŽŽ¡‘ãŒÃ1880Ž‘ûKÃÏ"#4"+(-#9,-.125)@+}"#4"‘¿ª#7}%ŽŽ¡‘ãŒÃ1881Ž‘õŒÏ\restore‘¿ª\POS#8}}ŽŽ¡‘ãŒÃ1882Ž‘õŒÏ\xylet@\Xunover=\nextŽŽ©v‘ãŒÃ1889Ž‘õŒÏ{\xyuncatcodes‘¿ª\gdef\next#1#2#3#4#5#6#7{\xykflexbase{#1}{#2}{#3}{#4}%ŽŽ¡‘ãŒÃ1890Ž‘õŒÏ%‘¿ª\save(0,0);"#2"-"#1"+"#3"-"#4":(.5,0):ŽŽ¡‘ãŒÃ1891Ž‘õŒÏ%‘¿ª"#4"-"#1"+"#3"-"#2"::(0,.5)::ŽŽ¡‘ãŒÃ1892Ž‘ûKÃÏ"#1",{\ar‘¿ª@{#5}@'{"#1"+(0,.125)@++(.125,.25)@+,ŽŽ¡‘ãŒÃ1893Ž‘ûKÃÏ"#4"+(-.125,.375)@++(.125,-.25)@+}"#4"‘¿ª#6},ŽŽ¡‘ãŒÃ1894Ž‘õŒÏ\restore‘¿ª\POS#7}}ŽŽ¡‘ãŒÃ1895Ž‘õŒÏ\xylet@\Xcap=\nextŽŽ¦‘ãŒÃ1902Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1903Ž‘ûKÃÏ\gdef\next#1#2#3#4#5#6#7#8#9{\dimen@=#1\p@ŽŽ¡‘ãŒÃ1904Ž‘ûKÃÏ\ifdim\dimen@=\z@‘¿ª\DN@{\Xunover{#2}{#3}{#4}{#5}{#8}{#6}{#7}{"#5"}}%ŽŽ¡‘ãŒÃ1905Ž‘ûKÃÏ\else\ifdim\dimen@>\z@ŽŽ¡‘ãŒÃ1906Ž‘ mÏ\DNii@{#6}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1907Ž‘ ŠÁÏ\DN@{\Xover{#2}{#3}{#4}{#5}{#8}{|(.45)\knothole}{#7}{"#5"}}%ŽŽ¡‘ãŒÃ1908Ž‘ËÏ\else‘¿ª\DN@{\Xover{#2}{#3}{#4}{#5}{#8}{#6}{#7}{"#5"}}\fiŽŽ¡‘ãŒÃ1909Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1910Ž‘ mÏ\DNii@{#7}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1911Ž‘ËÏ\DN@{\Xover{#2}{#3}{#4}{#5}{#8}{#6}{|(.45)\knothole}{"#5"}}%ŽŽ¡‘ãŒÃ1912Ž‘ mÏ\else\DN@{\Xover{#2}{#3}{#4}{#5}{#8}{#6}{#7}{"#5"}}\fiŽŽ¡‘ãŒÃ1913Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ1914Ž‘ûKÃÏ\def\tmp@{{#9}}\ifx\tmp@\empty\def\tmp@{{0}}\else\dimen@=#9\p@\fiŽŽ¡‘ãŒÃ1915Ž‘ûKÃÏ\expandafter\next@\tmp@‘¿ª}}ŽŽ¡‘ãŒÃ1916Ž‘õŒÏ\xylet@\XXover=\nextŽŽŸPˆ‘ãŒÃ1918Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1919Ž‘ûKÃÏ\gdef\next#1#2#3#4#5#6#7#8{\dimen@=#1\p@ŽŽ¡‘ãŒÃ1920Ž‘ûKÃÏ\ifdim\dimen@=\z@‘¿ª\DN@{\Xuntwist{#2}{#4}{#3}{#5}{#8}{#6}{#7}{"#5"}}%ŽŽ¡‘ãŒÃ1921Ž‘ûKÃÏ\else\ifdim\dimen@>\z@ŽŽ¡‘ãŒÃ1922Ž‘ mÏ\DNii@{#6}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1923Ž‘ ŠÁÏ\DN@{\Xtwist{#2}{#4}{#3}{#5}{#8}{|(.45)\knothole}{#7}{"#5"}}%ŽŽ¡‘ãŒÃ1924Ž‘ËÏ\else‘¿ª\DN@{\Xtwist{#2}{#4}{#3}{#5}{#8}{#6}{#7}{"#5"}}\fiŽŽ¡‘ãŒÃ1925Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1926Ž‘ mÏ\DNii@{#7}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1927Ž‘ËÏ\DN@{\Xtwist{#2}{#4}{#3}{#5}{#8}{#6}{|(.45)\knothole}{"#5"}}%ŽŽ¡‘ãŒÃ1928Ž‘ mÏ\else\DN@{\Xtwist{#2}{#4}{#3}{#5}{#8}{#6}{#7}{"#5"}}\fiŽŽ¡‘ãŒÃ1929Ž‘ûKÃÏ\fi\fi–¿ª\next@“}}ŽŽ¡‘ãŒÃ1930Ž‘õŒÏ\xylet@\XXtwist=\nextŽŽŽŽŒ‹¼Œ Á à ý*tj‘㌹444’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ôŒ¹simpli ed›¦fswitc•²!h-lik“e˜in“terfaceŽ©Pˆ‘ãŒÃ1941Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¤ ™š‘ãŒÃ1942Ž‘ûKÃÏ\gdef\next#1#2#3#4{\dimen@=#1\p@ŽŽ¡‘ãŒÃ1943Ž‘ûKÃÏ\ifdim\dimen@=\z@‘¿ª\DN@{\xykuncrossv{#4}{#2}{#3}{+(0,-1)}}%ŽŽ¡‘ãŒÃ1944Ž‘ûKÃÏ\else\ifdim\dimen@>\z@ŽŽ¡‘ãŒÃ1945Ž‘ mÏ\DNii@{#2}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1946Ž‘ ŠÁÏ\DN@{\xyktwistv{#4}{|\knothole}{#3}{+(1,0)}}%ŽŽ¡‘ãŒÃ1947Ž‘ËÏ\else‘¿ª\DN@{\xyktwistv{#4}{#2}{#3}{+(1,0)}}\fiŽŽ¡‘ãŒÃ1948Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1949Ž‘ mÏ\DNii@{#3}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1950Ž‘ËÏ\DN@{\xyktwistv{#4}{#2}{|\knothole}{+(0,-1)}}%ŽŽ¡‘ãŒÃ1951Ž‘ mÏ\else\DN@{\xyktwistv{#4}{#2}{#3}{+(0,-1)}}\fiŽŽ¡‘ãŒÃ1952Ž‘ûKÃÏ\fi\fi–¿ª\next@“}}ŽŽ¡‘ãŒÃ1953Ž‘õŒÏ\xylet@\Vcross=\nextŽŽ¦‘ãŒÃ1955Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1956Ž‘ûKÃÏ\gdef\next#1#2#3#4{\dimen@=#1\p@ŽŽ¡‘ãŒÃ1957Ž‘ûKÃÏ\ifdim\dimen@=\z@‘¿ª\DN@{\xykuncrossh{#4}{#2}{#3}{+(0,-1)}}%ŽŽ¡‘ãŒÃ1958Ž‘ûKÃÏ\else\ifdim\dimen@<\z@ŽŽ¡‘ãŒÃ1959Ž‘ mÏ\DNii@{#2}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1960Ž‘ ŠÁÏ\DN@{\xyktwisth{#4}{|\knothole}{#3}{+(1,0)}}%ŽŽ¡‘ãŒÃ1961Ž‘ËÏ\else‘¿ª\DN@{\xyktwisth{#4}{#2}{#3}{+(1,0)}}\fiŽŽ¡‘ãŒÃ1962Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ1963Ž‘ mÏ\DNii@{#3}\ifx\nextii@\emptyŽŽ¡‘ãŒÃ1964Ž‘ËÏ\DN@{\xyktwisth{#4}{}{|\knothole}{+(1,0)}}%ŽŽ¡‘ãŒÃ1965Ž‘ mÏ\else\DN@{\xyktwisth{#4}{#2}{#3}{+(1,0)}}\fiŽŽ¡‘ãŒÃ1966Ž‘ûKÃÏ\fi\fi–¿ª\next@“}}ŽŽ¡‘ãŒÃ1967Ž‘õŒÏ\xylet@\Hcross=\nextŽŽ¦‘ãŒÃ1969Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1970Ž‘ûKÃÏ\gdef\next#1#2#3{\dimen@=#1\p@‘¿ª\saveŽŽ¡‘ãŒÃ1971Ž‘ûKÃÏ\ifdim\dimen@<\z@ŽŽ¡‘ãŒÃ1972Ž‘ mÏ\DN@{\POS="@",p="@@",(0,0);(-1,0):(0,-1)::"@@";"@",}%ŽŽ¡‘ãŒÃ1973Ž‘ûKÃÏ\else\DN@{}\fiŽŽ¡‘ãŒÃ1974Ž‘ûKÃÏ\next@–¿ª\xykcaph{#3}{#2}\restore“}}ŽŽ¡‘ãŒÃ1975Ž‘õŒÏ\xylet@\Hcap=\nextŽŽ¦‘ãŒÃ1977Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ1978Ž‘ûKÃÏ\gdef\next#1#2#3{\dimen@=#1\p@‘¿ª\saveŽŽ¡‘ãŒÃ1979Ž‘ûKÃÏ\ifdim\dimen@<\z@ŽŽ¡‘ãŒÃ1980Ž‘ mÏ\DN@{\POS="@",p="@@",(0,0);(0,-1)::"@@";"@",}%ŽŽ¡‘ãŒÃ1981Ž‘ûKÃÏ\else\DN@{}\fiŽŽ¡‘ãŒÃ1982Ž‘ûKÃÏ\next@–¿ª\xykcapv{#3}{#2}\restore“}}ŽŽ¡‘ãŒÃ1983Ž‘õŒÏ\xylet@\Vcap=\nextŽŽŸ$¤}‘ãŒÔThe–2end“&“Logަ‘ãŒÃ1995Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ1997Ž‘õŒÏ%–¿ª$Log:“xyknot.doc,v“$ŽŽ¡‘ãŒÃ1998Ž‘õŒÏ%–¿ªRevision“3.4› T1997/05/18“01:13:24˜rossŽŽ¡‘ãŒÃ1999Ž‘õŒÏ%–¿ªEssential“bugfixes.ŽŽŽŽŒ‹½—­ Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹445ŽŽ ¶?? ýh«w‘ãŒÃ2000Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ2001Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:20:49“rossŽŽ¡‘ãŒÃ2002Ž‘õŒÏ%–¿ªno“changesŽŽ¡‘ãŒÃ2003Ž‘õŒÏ%ŽŽ¡‘ãŒÃ2004Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:36:33˜rossŽŽ¡‘ãŒÃ2005Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ2006Ž‘õŒÏ%ŽŽ¡‘ãŒÃ2007Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ2008Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ2009Ž‘õŒÏ%ŽŽ¡‘ãŒÃ2010Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ2011Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ2012Ž‘õŒÏ%ŽŽ¡‘ãŒÃ2013Ž‘õŒÏ%–¿ªCreated“by“Ross“Moore,“September“1994.ŽŽŸ1/‹‘ãŒÝ3.11Ž‘ŒSmart–ffPŒÌath“optionŽŸqƒ‘ãŒæV‘ÿ «ers.‘p0.0–ÕTb®9y“George“C.“Necula“¸h²necula@cs.cm¸ãu.edu¸iŽŽŸ«÷‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%‘¿ª$Id$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Smart“Path“feature''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1998‘9|¤George“C.“Necula“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1998› TKristoffer“H.“Rose˜ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{smartpath}{Smart–¿ªPath“option}{\stripRCS$Revision:“0.0“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{George–¿ªC.“Necula}{necula@cs.cmu.edu}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{School–¿ªof“Computer“Science,ŽŽ¡‘ãŒÃ29Ž‘ mÏCarnegie–¿ªMellon“University,ŽŽŽŽŒ‹¾¡i Á à ý*tj‘㌹446’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ30Ž‘ mÏ5000–¿ªForbes“Avenue,ŽŽ¤ ™š‘ãŒÃ31Ž‘ mÏPittsburgh,–¿ªPA“15213-3891,“USA}ŽŽŸzä‘ôŒ¹This–Ïýextends“the“`arroš²!w'“feature,‘Úbwhic˜h“is“therefore“required,‘Úbwith“a“\smart"“Çh¹pathÇi“¹bMÞet˜w˜een“t˜w˜oŽ¡‘ãŒÇh¹pMÞosÇi¹itions.ޤPˆ‘ãŒÃ44Ž‘õŒÏ\xyrequire{arrow}\xycatcodesŽŽ¡‘ôŒ¹The–¦fÇh¹turnÇi“¹syn²!tax“is“extended“with“the“constructionŽ‘ãŒŸ }{‰ffã²dŸ >Ó’ŽÏÊÇh¹turnÇi‘¦fŽŽŽ‘ W{!Ž‘J°Ï`s–¦fÇh¹diagÇi“Ï_Ž‘ vÇh¹diagÇi“h¹turnradiusÇiŽŽŸ4š‰ffã²dŸ¯Ï\arÐin‘× Ï_Ž‘–µÐout‘ êÏ/5ptŽ‘3¬¹whic•²!h›+dra“ws˜a˜connector˜lea“ving˜Äp˜¹in˜the˜Ðin‘%Çh¹diagÇi¹onal˜direction˜and˜arriv“es˜at˜Äc˜¹inޤ ™šthe–kZÐout‘uDÇh¹diagÇi¹onal“direction,‘w)using“Ï5ptŽ‘²¹turns.‘Ê.The“connector“conš²!tains“only“horizon˜tal“or“v˜ertical“linesŽ¡andŸû°K‘Ù™Â1Ž‘Ù™ŸÆ‰fe@ŸPA8ŽŽŽŽ‘ ó6¹sectors–¦fof“circles“of“the“giv²!en“(optional)“Çh¹turnradiusÇi¹.Ž¡‘ÔBug:‘ÝݹAn²!y–¦flabMÞels“are“placed“at“the“end“of“the“connection.ŽŸPˆÃ67Ž‘Ï%–¿ªThe“smart“connection“algorithm“is“as“follows:ŽŽ¡Ã68Ž‘Ï%ŽŽ¡Ã69Ž‘Ï%–¿ªA“smart“connector“consists“only“of“horizontal“and“vertical“straightŽŽ¡Ã70Ž‘Ï%–¿ªsegments“connected“with“1/4“circles.“1/8“circles“might“be“use“at“the“startŽŽ¡Ã71Ž‘Ï%–¿ªand“end“of“the“connector“to“reach“a“horizontal“or“a“vertical.ŽŽ¡Ã72Ž‘Ï%ŽŽ¡Ã73Ž‘Ï%–¿ªAll“possible“connectors“can“be“reduced“to“a“series“of“equivalence“classes,ŽŽ¡Ã74Ž‘Ï%–¿ªwhere“two“connectors“are“considered“equivalent“if“they“are“identical“afterŽŽ¡Ã75Ž‘Ï%–¿ªremoving“from“each“of“them“all“the“horizontal“and“vertical“straightŽŽ¡Ã76Ž‘Ï%–¿ªsegments.“Such“a“connector“is“called“a“representative.ŽŽ¡Ã77Ž‘Ï%ŽŽ¡Ã78Ž‘Ï%–¿ªThe“algorithm“first“computes“10“representatives“that“start“and“end“in“theŽŽ¡Ã79Ž‘Ï%–¿ªgiven“directions“and“have“at“most“one“point“where“the“orientation“isŽŽ¡Ã80Ž‘Ï%–¿ªchanged.“5“of“the“representatives“start“counter-clockwise“and“the“otherŽŽ¡Ã81Ž‘Ï%–¿ª5“start“clockwise.“Among“the“counter-clockwise“representatives,“1“does“notŽŽ¡Ã82Ž‘Ï%–¿ªhave“any“change“in“orientation“(one“arc“of“circle“starting“and“ending“in“theŽŽ¡Ã83Ž‘Ï%–¿ªgiven“directions).“The“other“4“are“obtained“by“changing“the“orientation“inŽŽ¡Ã84Ž‘Ï%–¿ªthe“four“points“where“the“circle“is“tangent“to“a“horizontal“or“a“vertical.ŽŽ¡Ã85Ž‘Ï%ŽŽ¡Ã86Ž‘Ï%–¿ªFor“each“representative“the“algorithm“determines“if“it“can“be“extended“withŽŽ¡Ã87Ž‘Ï%–¿ªhorizontal“and“vertical“segments“to“reach“the“destination“point“whenŽŽ¡Ã88Ž‘Ï%–¿ªstarting“in“the“source“point“(the“directions“are“already“right“byŽŽ¡Ã89Ž‘Ï%–¿ªconstruction).“For“example,“horizontal“straight“lines“could“be“insertedŽŽ¡Ã90Ž‘Ï%–¿ªin“all“the“points“where“the“representative“is“tangent“to“a“horizontal“line.ŽŽ¡Ã91Ž‘Ï%–¿ªIn“each“such“point“a“straight“line“segment“can“be“inserted“to“extend“theŽŽ¡Ã92Ž‘Ï%–¿ªconnector“horizontally“but“only“in“the“same“direction“of“the“connector“atŽŽ¡Ã93Ž‘Ï%–¿ªthat“point“(the“direction“of“the“connetor“in“a“point“is“towards“theŽŽ¡Ã94Ž‘Ï%–¿ªdestination).“For“example,“if“the“horizontal“distance“between“the“source“andŽŽ¡Ã95Ž‘Ï%–¿ªdestination“points“is“Dx“and“the“horizontal“distance“between“the“start“andŽŽ¡Ã96Ž‘Ï%–¿ªthe“end“of“the“representative“connector“is“dx“then“the“distance“``Dx“-“dx''ŽŽ¡Ã97Ž‘Ï%–¿ªmust“be“covered“using“horizontal“straight“lines.“This“distance“isŽŽ¡Ã98Ž‘Ï%–¿ªdistributed“equally“among“all“the“horizontal“extension“points“of“the“rightŽŽ¡Ã99Ž‘Ï%–¿ªdirection.“If“no“such“points“exist,“then“the“representative“is“discarded.ŽŽ¡Ã100Ž‘Ï%–¿ªThe“cost“of“a“connector“is“the“length“of“the“representative“plus“the“totalŽŽ¡Ã101Ž‘Ï%–¿ªlength“of“straight“extension“segments,“i.e.,“|Dx-dx|“+“|Dy-dy|.ŽŽŽŽŒ‹¿«ú Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹447ŽŽ ¶?? ýh«w‘ãŒÃ102Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ103Ž‘õŒÏ%–¿ªThe“algorithm“selects“among“all“the“representatives“that“are“not“discarded,ŽŽ¡‘ãŒÃ104Ž‘õŒÏ%–¿ªthe“one“leading“to“the“shortest“connection.ŽŽ©v‘ãŒÃ107Ž‘õŒÏ%–¿ªChange“the“PATHturn@“to“recognize“`s“as“a“smart“PATH.ŽŽ¡‘ãŒÃ108Ž‘õŒÏ\let\origPATHturn@=\PATHturn@ŽŽ¡‘ãŒÃ109Ž‘õŒÏ\def\PATHturn@{%ŽŽ¡‘ãŒÃ110Ž‘ûKÃÏ\ifx–¿ª\space@\next“\expandafter\DN@\space{\xyFN@\PATHturn@}%gobble“spacesŽŽ¡‘ãŒÃ111Ž‘ûKÃÏ\else\ifx‘¿ªs\nextŽŽ¡‘ãŒÃ112Ž‘ ŠÁÏ\let\origPATHturn@i=\PATHturn@i\let\PATHturn@i=\PATHsmartturn@iŽŽ¡‘ãŒÃ113Ž‘ ŠÁÏ\let\origPATHturn@cir=\PATHturn@cir\let\PATHturn@cir=\PATHsmartturn@cirŽŽ¡‘ãŒÃ114Ž‘ ŠÁÏ\DN@–¿ªs{\xyFN@\origPATHturn@}%“Let“the“original“routines“do“the“parsingŽŽ¡‘ãŒÃ115Ž‘ûKÃÏ\elseŽŽ¡‘ãŒÃ116Ž‘ ŠÁÏ\DN@{\origPATHturn@}%ŽŽ¡‘ãŒÃ117Ž‘ûKÃÏ\fi\fiŽŽ¡‘ãŒÃ118Ž‘ûKÃÏ\next@}ŽŽ¦‘ãŒÃ121Ž‘õŒÏ%–¿ªChanged“PATHturn@cir“to“allow“half“or“full“turnsŽŽ¡‘ãŒÃ122Ž‘õŒÏ\xydef@\PATHsmartturn@cir{%ŽŽ¡‘ãŒÃ123Ž‘ mÏ\edef\next@{{\CIRin@@}{\expandafter\noexpand\CIRorient@@}{\CIRout@@}}%ŽŽ¡‘ãŒÃ124Ž‘ mÏ\expandafter\PATHturn@i\next@}ŽŽ¦‘ãŒÃ127Ž‘õŒÏ%–¿ªThis“is“the“changed“function“for“placing“the“turnŽŽ¡‘ãŒÃ128Ž‘õŒÏ\xydef@\PATHsmartturn@i#1#2#3{%ŽŽ¡‘ãŒÃ129Ž‘ûKÃÏ\DN@##1{%ŽŽ¡‘ãŒÃ130Ž‘ËÏ\def\PATHinit@@{%ŽŽ¡‘ãŒÃ131Ž‘JkÏ\xy@@{%ŽŽ¡‘ãŒÃ132Ž‘#‰iÏ\def\sm@CIRin{#1}\def\sm@CIRout{#3}%–¿ªThe“IN“and“OUT“directions.“IgnoreŽŽ¡‘ãŒÃ133Ž’ì½§Ï%–¿ªthe“orientationŽŽ¡‘ãŒÃ134Ž‘#‰iÏ\ifx\sm@CIRout\empty–¿ª%Only“on“direction“is“given.“Use“it“as“OUT“andŽŽ¡‘ãŒÃ135Ž’œB[Ï%use–¿ªthe“previous“direction“as“INŽŽ¡‘ãŒÃ136Ž‘4ÈgÏ\let\sm@CIRout=\sm@CIRinŽŽ¡‘ãŒÃ137Ž‘4ÈgÏ\let\sm@CIRin=\PATHlastout@@ŽŽ¡‘ãŒÃ138Ž‘#‰iÏ\fiŽŽ¡‘ãŒÃ139Ž‘#‰iÏ##1\relax}%ŽŽ¡‘ãŒÃ140Ž‘JkÏ\xy@@{\enter@{\basefromthebase@}}%ŽŽ¡‘ãŒÃ141Ž‘JkÏ\xy@@{\sm@conn}%–¿ªDraw“the“connectionŽŽ¡‘ãŒÃ142Ž‘JkÏ\xy@@{\X@p=\X@c–¿ª\Y@p=\Y@c“\czeroEdge@%“Save“the“start“of“the“segmentŽŽ¡‘ãŒÃ143Ž‘:ˆÏ\count@=\sm@CIRout\count@=\the\count@%–¿ªMove“forward“a“dash“toŽŽ¡‘ãŒÃ144Ž’;£Ï%–¿ªtouch“the“edgeŽŽ¡‘ãŒÃ145Ž‘:ˆÏ\dimen@=\xydashl@–¿ª\ABfromdiag@“\advance\X@c\A@“\advance\Y@c\B@ŽŽ¡‘ãŒÃ146Ž‘4ÈgÏ\edef\PATHpostpos@@{\X@c=\the\X@c–¿ª\Y@c=\the\Y@c“\noexpand\czeroEdge@ŽŽ¡‘ãŒÃ147Ž’§Á¯Ï\noexpand\PATHomitslide@@true}}%ŽŽ¡‘ãŒÃ148Ž‘JkÏ\xy@@{\leave@‘¿ª%ŽŽ¡‘ãŒÃ149Ž‘4ÈgÏ\edef\PATHlastout@@{\sm@CIRout}%–¿ªStore“the“last“directionŽŽ¡‘ãŒÃ150Ž‘4ÈgÏ\count@=\sm@CIRout–¿ª\dimen@=\xydashl@“\Directionfromdiag@}}}%ŽŽ¡‘ãŒÃ151Ž‘ûKÃÏ\expandafter\next@\expandafter{\the\toks@}\toks@={}%ŽŽ¡‘ãŒÃ152Ž‘ûKÃÏ\let\PATHextra@@=\emptyŽŽ¡‘ãŒÃ153Ž‘ûKÃÏ\def\PATHpost@@{\xy@@\PATHpostpos@@}%ŽŽ¡‘ãŒÃ154Ž‘ûKÃÏ\let\PATHlabelsextra@@=\relaxŽŽŽŽŒ‹À»i Á à ý*tj‘㌹448’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ155Ž‘ûKÃÏ\let\PATHturn@i=\origPATHturn@iŽŽ¤ ™š‘ãŒÃ156Ž‘ûKÃÏ\let\PATHturn@cir=\origPATHturn@cirŽŽ¡‘ãŒÃ157Ž‘ûKÃÏ\xyFN@\PATHturn@ii}ŽŽŸv‘ãŒÃ160Ž‘õŒÏ\xydef@\sm@nil{}ŽŽ¡‘ãŒÃ161Ž‘õŒÏ\xydef@\sm@nnil{\sm@nil}ŽŽ¡‘ãŒÃ162Ž‘õŒÏ\xydef@\sm@maxcost{1000mm}%–¿ªA“very“long“connectorŽŽŸPˆ‘ãŒÃ164Ž‘õŒÏ%–¿ªThis“computes“and“draws“the“connectionŽŽ¡‘ãŒÃ165Ž‘õŒÏ\xydef@\sm@conn{ŽŽ¡‘ãŒÃ166Ž‘õŒÏ%‘ T\xy@showthe–¿ªp{Source}\xy@showthe“c{Dest}%ŽŽ¡‘ãŒÃ167Ž‘õŒÏ%‘ T\W@{Computing–¿ªconnector“from“p“in“\sm@CIRin\space“to“c“in“\sm@CIRoutŽŽ¡‘ãŒÃ168Ž‘õŒÏ%‘"}ü.Radius–¿ªis“\turnradius@}%ŽŽ¡‘ãŒÃ169Ž‘ mÏ%Adjust–¿ªthe“end“points“to“the“edge“of“the“objects“in“the“given“directionsŽŽ¡‘ãŒÃ170Ž‘ mÏ\enter@{\cfromthec@–¿ª\DirectionfromtheDirection@}\cfromp@%“Adjust“pŽŽ¡‘ãŒÃ171Ž‘ mÏ\count@=\sm@CIRin\count@=\the\count@ŽŽ¡‘ãŒÃ172Ž‘ mÏ\dimen@=\xydashl@–¿ª\ABfromdiag@“\advance\X@p\A@\advance\Y@p\B@ŽŽ¡‘ãŒÃ173Ž‘ mÏ\setupDirection@–¿ª\the\Edge@c\z@“\czeroEdge@ŽŽ¡‘ãŒÃ174Ž‘ mÏ\pfromc@ŽŽ¡‘ãŒÃ175Ž‘ mÏ\reverseDirection@ŽŽ¡‘ãŒÃ176Ž‘ mÏ%–¿ªNow“leave“room“for“one“dash“to“start“with“(for“placing“arrow“tails)ŽŽ¡‘ãŒÃ177Ž‘ mÏ\count@=\sm@CIRin\count@=\the\count@ŽŽ¡‘ãŒÃ178Ž‘ mÏ\dimen@=\xydashl@‘¿ª\ABfromdiag@ŽŽ¡‘ãŒÃ179Ž‘ mÏ%–¿ªDrop“the“arrow“tail“in“the“right“placeŽŽ¡‘ãŒÃ180Ž‘ mÏ\edef\tmp@{\noexpand\dir\artail@@}\expandafter\sm@drop@\tmp@ŽŽ¡‘ãŒÃ181Ž‘ mÏ\X@c=\X@p\advance\X@c\A@–¿ª\Y@c=\Y@p\advance\Y@c\B@“\czeroEdge@ŽŽ¡‘ãŒÃ182Ž‘ mÏ%–¿ªDraw“a“straight“connection“from“p“to“cŽŽ¡‘ãŒÃ183Ž‘ mÏ\sm@striŽŽ¡‘ãŒÃ184Ž‘ mÏ%–¿ªSet“p“to“the“end“of“the“connectionŽŽ¡‘ãŒÃ185Ž‘ mÏ\X@p=\X@c‘¿ª\Y@p=\Y@cŽŽ¡‘ãŒÃ186Ž‘ mÏ\leave@ŽŽ¡‘ãŒÃ187Ž‘õŒÏ%‘ T\xy@showthe–¿ªp{After“adjust}%ŽŽ¡‘ãŒÃ188Ž‘ mÏ\enter@{\pfromthep@–¿ª\DirectionfromtheDirection@}\pfromc@%“Adjust“cŽŽ¡‘ãŒÃ189Ž‘ mÏ\count@=\sm@CIRout\count@=\the\count@ŽŽ¡‘ãŒÃ190Ž‘ mÏ\dimen@=\xydashl@–¿ª\ABfromdiag@“\advance\X@p-\A@\advance\Y@p-\B@ŽŽ¡‘ãŒÃ191Ž‘ mÏ\setupDirection@‘¿ª\the\Edge@c\z@ŽŽ¡‘ãŒÃ192Ž‘ mÏ\advance\X@c-\A@\advance\Y@c-\B@%–¿ªLeave“room“for“a“dash“to“terminate“the“segŽŽ¡‘ãŒÃ193Ž‘ mÏ\czeroEdge@‘[ú %–¿ªThe“final“segment“will“be“drawn“by“PATH@segmentŽŽ¡‘ãŒÃ194Ž‘ mÏ%–¿ªClear“the“tail“setting“for“the“last“segmentŽŽ¡‘ãŒÃ195Ž‘ mÏ\def\PATHlabelsnext@@{}%ŽŽ¡‘ãŒÃ196Ž‘ mÏ\leave@ŽŽ¡‘ãŒÃ197Ž‘õŒÏ%‘ T\xy@showthe–¿ªc{After“adjust}%ŽŽ¡‘ãŒÃ198Ž‘ mÏ%–¿ªSet“the“turn“radiusŽŽ¡‘ãŒÃ199Ž‘ mÏ\R@=\turnradius@ŽŽ¡‘ãŒÃ200Ž‘ mÏ\cirrestrict@@%Adjust–¿ªthe“radius“to“fit“the“circlesŽŽ¡‘ãŒÃ201Ž‘ mÏ%–¿ªInitialize“variablesŽŽ¡‘ãŒÃ202Ž‘ mÏ\let\sm@circles=\sm@nilŽŽ¡‘ãŒÃ203Ž‘ mÏ\edef\sm@bestcost{\sm@maxcost}%–¿ªBest“so“far“is“very“badŽŽ¡‘ãŒÃ204Ž‘ mÏ\sm@trycircles‘ T1%Try–¿ªcounter“clockwise“firstŽŽ¡‘ãŒÃ205Ž‘ mÏ\sm@trycircles{-1}%Try–¿ªclockwise“afterŽŽŽŽŒ‹ÁÆ­ Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹449ŽŽ ¶?? ýh«w‘ãŒÃ206Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ207Ž‘õŒÏ%–¿ªNow“check“the“bestŽŽ¡‘ãŒÃ208Ž‘õŒÏ%ŽŽ¡‘ãŒÃ209Ž‘ mÏ\ifdim\sm@bestcost<\sm@maxcostŽŽ¡‘ãŒÃ210Ž‘õŒÏ%‘þ¨\W@{}\W@{Best:‘¿ª\meaning\sm@bestconn}%ŽŽ¡‘ãŒÃ211Ž‘ ŠÁÏ\cfromp@ŽŽ¡‘ãŒÃ212Ž‘õŒÏ%‘þ¨\xy@showthe‘¿ªp{Source}%ŽŽ¡‘ãŒÃ213Ž‘ ŠÁÏ\expandafter\sm@conndraw\sm@bestconnŽŽ¡‘ãŒÃ214Ž‘ mÏ\elseŽŽ¡‘ãŒÃ215Ž‘ ŠÁÏ\xyerror@{Cannot–¿ªdraw“the“smart“connector}{}%ŽŽ¡‘ãŒÃ216Ž‘ mÏ\fiŽŽ¡‘ãŒÃ217Ž‘õŒÏ}ŽŽŸPˆ‘ãŒÃ219Ž‘õŒÏ%–¿ªCompute“and“examine“5“representatives,“for“the“orientation“givenŽŽ¡‘ãŒÃ220Ž‘õŒÏ%–¿ªas“#1“(1“for“counter-clockwise“and“-1“for“clockwise).ŽŽ¡‘ãŒÃ221Ž‘õŒÏ\xydef@\sm@trycircles#1{%ŽŽ¡‘ãŒÃ222Ž‘ mÏ\ifnum–¿ª#1>0%“Compute“the“opposite“orientationŽŽ¡‘ãŒÃ223Ž‘JkÏ\def\sm@CIRorienti{-1}%ŽŽ¡‘ãŒÃ224Ž‘ mÏ\elseŽŽ¡‘ãŒÃ225Ž‘JkÏ\def\sm@CIRorienti{1}%ŽŽ¡‘ãŒÃ226Ž‘ mÏ\fiŽŽ¡‘ãŒÃ227Ž‘ mÏ%–¿ªGenerate“lists“of“triples“(IN,ORIENT,OUT)“so“that“OUT_1=IN_2“andŽŽ¡‘ãŒÃ228Ž‘ mÏ%–¿ªIN=IN_1“and“OUT=OUT_2,“and“such“that“ORIENT_1=#1m“ORIENT_2=-ORIENT_1ŽŽ¡‘ãŒÃ229Ž‘ mÏ%–¿ªThen“try“each“list“in“turn.ŽŽ¡‘ãŒÃ230Ž‘ mÏ%Try–¿ªone“circle“first“(a“singleton“list)ŽŽ¡‘ãŒÃ231Ž‘ mÏ\edef\tmp@{{{\sm@CIRin}{#1}{\sm@CIRout}}}%ŽŽ¡‘ãŒÃ232Ž‘ mÏ\expandafter\sm@trycirclelist\expandafter{\tmp@\sm@nil}%ŽŽ¡‘ãŒÃ233Ž‘ mÏ%Now–¿ªtry“lists“of“two“circles.ŽŽ¡‘ãŒÃ234Ž‘ mÏ%Advance–¿ª"in"“so“that“it“is“a“multiple“of“90“degrees“(that“is,“odd)ŽŽ¡‘ãŒÃ235Ž‘ mÏ\count@@=\sm@CIRin\count@@=\the\count@@\count@=\count@@ŽŽ¡‘ãŒÃ236Ž‘ mÏ\sm@roundcount@{#1}%ŽŽ¡‘ãŒÃ237Ž‘ mÏ\edef\sm@savecount@{\the\count@}%ŽŽ¡‘ãŒÃ238Ž‘ mÏ%–¿ªSee“if“we“need“to“add“a“1/8“starting“circleŽŽ¡‘ãŒÃ239Ž‘ mÏ\ifnum\the\count@=\the\count@@‘¿ª\elseŽŽ¡‘ãŒÃ240Ž‘õŒÏ%ŽŽ¡‘ãŒÃ241Ž‘JkÏ\edef\tmp@{{{\sm@CIRin}{#1}{\the\count@}}%ŽŽ¡‘ãŒÃ242Ž‘Q†¹Ï{{\the\count@}{\sm@CIRorienti}{\sm@CIRout}}}%ŽŽ¡‘ãŒÃ243Ž‘JkÏ\expandafter\sm@trycirclelist\expandafter{\tmp@\sm@nil}%ŽŽ¡‘ãŒÃ244Ž‘ mÏ\fiŽŽ¡‘ãŒÃ245Ž‘õŒÏ%ŽŽ¡‘ãŒÃ246Ž‘ mÏ\count@=\sm@savecount@\count@=\the\count@ŽŽ¡‘ãŒÃ247Ž‘ mÏ\sm@advancecount@–¿ª2{#1}\edef\sm@savecount@{\the\count@}%“Advance“90“deg.ŽŽ¡‘ãŒÃ248Ž‘ mÏ\edef\tmp@{{{\sm@CIRin}{#1}{\the\count@}}%ŽŽ¡‘ãŒÃ249Ž‘@G»Ï{{\the\count@}{\sm@CIRorienti}{\sm@CIRout}}}%ŽŽ¡‘ãŒÃ250Ž‘ mÏ\expandafter\sm@trycirclelist\expandafter{\tmp@\sm@nil}%ŽŽ¡‘ãŒÃ251Ž‘õŒÏ%ŽŽ¡‘ãŒÃ252Ž‘ mÏ\count@=\sm@savecount@\count@=\the\count@ŽŽ¡‘ãŒÃ253Ž‘ mÏ\sm@advancecount@–¿ª2{#1}\edef\sm@savecount@{\the\count@}%“Advance“90“deg.ŽŽ¡‘ãŒÃ254Ž‘ mÏ\edef\tmp@{{{\sm@CIRin}{#1}{\the\count@}}%ŽŽ¡‘ãŒÃ255Ž‘@G»Ï{{\the\count@}{\sm@CIRorienti}{\sm@CIRout}}}%ŽŽŽŽŒ‹ÂÒv Á à ý*tj‘㌹450’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ256Ž‘ mÏ\expandafter\sm@trycirclelist\expandafter{\tmp@\sm@nil}%ŽŽ¤ ™š‘ãŒÃ257Ž‘õŒÏ%ŽŽ¡‘ãŒÃ258Ž‘ mÏ\count@=\sm@savecount@\count@=\the\count@ŽŽ¡‘ãŒÃ259Ž‘ mÏ\sm@advancecount@–¿ª2{#1}\edef\sm@savecount@{\the\count@}%“Advance“90“deg.ŽŽ¡‘ãŒÃ260Ž‘ mÏ\edef\tmp@{{{\sm@CIRin}{#1}{\the\count@}}%ŽŽ¡‘ãŒÃ261Ž‘@G»Ï{{\the\count@}{\sm@CIRorienti}{\sm@CIRout}}}%ŽŽ¡‘ãŒÃ262Ž‘ mÏ\expandafter\sm@trycirclelist\expandafter{\tmp@\sm@nil}%ŽŽ¡‘ãŒÃ263Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ265Ž‘õŒÏ%–¿ªAdvance“the“direction“in“\count@“by“#1“(each“unit“is“45deg)“in“theŽŽ¡‘ãŒÃ266Ž‘õŒÏ%–¿ªdirction“#2,“taking“care“of“wrap-aroundŽŽ¡‘ãŒÃ267Ž‘õŒÏ\xydef@\sm@advancecount@#1#2{%ŽŽ¡‘ãŒÃ268Ž‘õŒÏ%‘ T\W@{Advancing–¿ªcount“from“\the\count@\space“by“#1\spaceŽŽ¡‘ãŒÃ269Ž‘õŒÏ%’%.Þin–¿ª\xy@showorient“#2}%ŽŽ¡‘ãŒÃ270Ž‘ mÏ\ifnum‘¿ª#2>0ŽŽ¡‘ãŒÃ271Ž‘JkÏ\edef\tmp@{#1}%ŽŽ¡‘ãŒÃ272Ž‘ mÏ\elseŽŽ¡‘ãŒÃ273Ž‘JkÏ\edef\tmp@{-#1}%ŽŽ¡‘ãŒÃ274Ž‘ mÏ\fiŽŽ¡‘ãŒÃ275Ž‘ mÏ\advance\count@\tmp@\count@=\the\count@ŽŽ¡‘ãŒÃ276Ž‘ mÏ\ifnum\the\count@<0–¿ª\advance\count@“8\fiŽŽ¡‘ãŒÃ277Ž‘ mÏ\ifnum\the\count@>7–¿ª\advance\count@“-8\fiŽŽ¡‘ãŒÃ278Ž‘ mÏ\count@=\the\count@ŽŽ¡‘ãŒÃ279Ž‘õŒÏ%‘ T\W@{‘þ¨Resulting‘¿ªcount@=\the\count@}%ŽŽ¡‘ãŒÃ280Ž‘õŒÏ}ŽŽ¦‘ãŒÃ282Ž‘õŒÏ%–¿ªRound“counter“to“the“next“odd“element“(multiple“of“90deg)ŽŽ¡‘ãŒÃ283Ž‘õŒÏ%–¿ªin“the“given“directionŽŽ¡‘ãŒÃ284Ž‘õŒÏ\xydef@\sm@roundcount@#1{%ŽŽ¡‘ãŒÃ285Ž‘ mÏ\ifcase\the\count@ŽŽ¡‘ãŒÃ286Ž‘ Ï\advance\count@‘¿ª#1\orŽŽ¡‘ãŒÃ287Ž‘ mÏ\or–¿ª\advance\count@“#1\orŽŽ¡‘ãŒÃ288Ž‘ mÏ\or–¿ª\advance\count@“#1\orŽŽ¡‘ãŒÃ289Ž‘ mÏ\or–¿ª\advance\count@“#1\fiŽŽ¡‘ãŒÃ290Ž‘ mÏ\count@=\the\count@ŽŽ¡‘ãŒÃ291Ž‘ mÏ\ifnum\the\count@<0–¿ª\advance\count@“8\fiŽŽ¡‘ãŒÃ292Ž‘ mÏ\ifnum\the\count@>7–¿ª\advance\count@“-7\fiŽŽ¡‘ãŒÃ293Ž‘ mÏ\count@=\the\count@ŽŽ¡‘ãŒÃ294Ž‘õŒÏ}ŽŽ¦‘ãŒÃ296Ž‘õŒÏ\newif\ifsm@firstsegŽŽ¡‘ãŒÃ297Ž‘õŒÏ\newif\ifsm@acceptableŽŽ¦‘ãŒÃ299Ž‘õŒÏ%–¿ªGiven“a“representative“described“as“a“list“of“triplets“ending“with“sm@nil,ŽŽ¡‘ãŒÃ300Ž‘õŒÏ%–¿ªverify“if“is“can“be“extended“to“the“right“destinationŽŽ¡‘ãŒÃ301Ž‘õŒÏ\xydef@\sm@trycirclelist#1{%ŽŽ¡‘ãŒÃ302Ž‘ mÏ\R@p=\z@\U@p=\R@p%‘[ú Clear–¿ªthe“deltasŽŽ¡‘ãŒÃ303Ž‘ mÏ\def\sm@exthp{0}\def\sm@exthm{0}%ŽŽ¡‘ãŒÃ304Ž‘ mÏ\def\sm@extvp{0}\def\sm@extvm{0}%–¿ªClear“the“extension“pointsŽŽ¡‘ãŒÃ305Ž‘ mÏ\def\sm@dxp{0pt}\def\sm@dxm{0pt}%ŽŽ¡‘ãŒÃ306Ž‘ mÏ\def\sm@dyp{0pt}\def\sm@dym{0pt}%–¿ªReset“the“extensionsŽŽ¡‘ãŒÃ307Ž‘ mÏ\def\sm@segs{}%‘aºJ%–¿ªClear“the“segment“listŽŽŽŽŒ‹ÃÝv Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹451ŽŽ ¶?? ýh«w‘ãŒÃ308Ž‘ mÏ\sm@firstsegtrue‘[ú %–¿ªMark“the“first“segmentŽŽ¤ ™š‘ãŒÃ309Ž‘ mÏ\def\sm@connlen{0pt}%‘?0ptŽŽ¡‘ãŒÃ330Ž‘ ŠÁÏ\ifnum\sm@exthp>0–¿ª\dimen@=\A@“\divide\dimen@\sm@exthpŽŽ¡‘ãŒÃ331Ž‘tµÏ\edef\sm@dxp{\the\dimen@}%ŽŽ¡‘ãŒÃ332Ž‘ ŠÁÏ\else‘ T\sm@acceptablefalse\fi\fiŽŽ¡‘ãŒÃ333Ž‘ mÏ\ifdim\A@<0ptŽŽ¡‘ãŒÃ334Ž‘ ŠÁÏ\ifnum\sm@exthm>0–¿ª\dimen@=\A@“\divide\dimen@\sm@exthmŽŽ¡‘ãŒÃ335Ž‘tµÏ\edef\sm@dxm{\the\dimen@}%ŽŽ¡‘ãŒÃ336Ž‘ ŠÁÏ\else‘ T\sm@acceptablefalse\fiŽŽ¡‘ãŒÃ337Ž‘ ŠÁÏ\A@=-\A@%Make–¿ªit“positiveŽŽ¡‘ãŒÃ338Ž‘ mÏ\fiŽŽ¡‘ãŒÃ339Ž‘ mÏ\ifdim\B@>0ptŽŽ¡‘ãŒÃ340Ž‘ ŠÁÏ\ifnum\sm@extvp>0–¿ª\dimen@=\B@“\divide\dimen@\sm@extvpŽŽ¡‘ãŒÃ341Ž‘tµÏ\edef\sm@dyp{\the\dimen@}%ŽŽ¡‘ãŒÃ342Ž‘ ŠÁÏ\else‘ T\sm@acceptablefalse\fi\fiŽŽ¡‘ãŒÃ343Ž‘ mÏ\ifdim\B@<0ptŽŽ¡‘ãŒÃ344Ž‘ ŠÁÏ\ifnum\sm@extvm>0–¿ª\dimen@=\B@“\divide\dimen@\sm@extvmŽŽ¡‘ãŒÃ345Ž‘tµÏ\edef\sm@dym{\the\dimen@}%ŽŽ¡‘ãŒÃ346Ž‘ ŠÁÏ\else‘ T\sm@acceptablefalse\fiŽŽ¡‘ãŒÃ347Ž‘ ŠÁÏ\B@=-\B@ŽŽ¡‘ãŒÃ348Ž‘ mÏ\fiŽŽ¡‘ãŒÃ349Ž‘ mÏ\ifsm@acceptableŽŽ¡‘ãŒÃ350Ž‘JkÏ%Compute–¿ªthe“cost“of“the“connectorŽŽ¡‘ãŒÃ351Ž‘JkÏ\dimen@=\sm@connlen\advance\dimen@\A@\advance\dimen@\B@ŽŽ¡‘ãŒÃ352Ž‘õŒÏ%‘¾R\W@{–¿ª\space“Cost“is“\the\dimen@}%ŽŽ¡‘ãŒÃ353Ž‘JkÏ%See–¿ªif“it“is“best“so“farŽŽ¡‘ãŒÃ354Ž‘JkÏ\ifdim\dimen@<\sm@bestcostŽŽ¡‘ãŒÃ355Ž‘#‰iÏ\edef\sm@bestcost{\the\dimen@}%ŽŽ¡‘ãŒÃ356Ž‘#‰iÏ\edef\sm@bestconn{{\sm@dxp}{\sm@dxm}{\sm@dyp}{\sm@dym}{\sm@segs}}%ŽŽŽŽŒ‹Äè Á à ý*tj‘㌹452’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ357Ž‘JkÏ\fiŽŽ¤ ™š‘ãŒÃ358Ž‘ mÏ\fiŽŽ¡‘ãŒÃ359Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ361Ž‘õŒÏ\xydef@\sm@showext#1{%ŽŽ¡‘ãŒÃ362Ž‘ mÏ\W@{#1\space‘¿ªhp=\sm@exthp,hm=\sm@exthm,vp=\sm@extvpŽŽ¡‘ãŒÃ363Ž’á>SÏ,vm=\sm@extvm,len=\sm@connlen}}ŽŽ¦‘ãŒÃ365Ž‘õŒÏ%–¿ªProcess“the“next“element“in“the“list“that“describes“the“representativeŽŽ¡‘ãŒÃ366Ž‘õŒÏ%ŽŽ¡‘ãŒÃ367Ž‘õŒÏ\xydef@\sm@trycirclelist@i#1{%ŽŽ¡‘ãŒÃ368Ž‘ mÏ\def\@tmp{#1}%ŽŽ¡‘ãŒÃ369Ž‘ mÏ\ifx–¿ª\@tmp\sm@nnil“\let\sm@tryclcont=\relax\elseŽŽ¡‘ãŒÃ370Ž‘É¿Ï\expandafter\sm@tryclcar\@tmp‘¿ª\fiŽŽ¡‘ãŒÃ371Ž‘ mÏ\sm@tryclcont}ŽŽ¦‘ãŒÃ373Ž‘õŒÏ\xydef@\sm@tryclcar#1#2#3{%ŽŽ¡‘ãŒÃ374Ž‘õŒÏ%‘ T\W@{Trying–¿ªone“turn“in“#1\space“orient“#2\space“out“#3}%ŽŽ¡‘ãŒÃ375Ž‘ mÏ%Compute–¿ªdeltax“in“R@p“and“deltay“in“U@p.“Move“them“to“center“first.ŽŽ¡‘ãŒÃ376Ž‘ mÏ\dimen@=\ifnum–¿ª#2<0“-\fi\R@ŽŽ¡‘ãŒÃ377Ž‘ mÏ\count@=#1\count@=\the\count@‘¿ª\ABfromdiag@ŽŽ¡‘ãŒÃ378Ž‘ mÏ\advance\R@p–¿ª-\B@“\advance\U@p“\A@ŽŽ¡‘ãŒÃ379Ž‘õŒÏ%‘ T\xy@showdim{‘>þAfter‘¿ªcenter}%ŽŽ¡‘ãŒÃ380Ž‘ mÏ%–¿ªMove“them“to“exitŽŽ¡‘ãŒÃ381Ž‘ mÏ\count@=#3\count@=\the\count@‘¿ª\ABfromdiag@ŽŽ¡‘ãŒÃ382Ž‘ mÏ\advance\R@p–¿ª\B@“\advance\U@p“-\A@ŽŽ¡‘ãŒÃ383Ž‘õŒÏ%‘ T\xy@showdim{‘>þAfter‘¿ªturn}%ŽŽ¡‘ãŒÃ384Ž‘õŒÏ%‘ T\xy@showthe‘¿ªp{‘9|¤}%ŽŽ¡‘ãŒÃ385Ž‘ mÏ%–¿ªNow“update“the“extension“pointsŽŽ¡‘ãŒÃ386Ž‘ mÏ\sm@computeext{#1}{#2}{#3}%ŽŽ¡‘ãŒÃ387Ž‘õŒÏ}ŽŽ¦‘ãŒÃ389Ž‘õŒÏ%ŽŽ¡‘ãŒÃ390Ž‘õŒÏ%–¿ªCompute“the“extensionsŽŽ¡‘ãŒÃ391Ž‘õŒÏ%ŽŽ¡‘ãŒÃ392Ž‘õŒÏ\xydef@\sm@computeext#1#2#3{%ŽŽ¡‘ãŒÃ393Ž‘õŒÏ%‘ T\W@{Computing–¿ªextents“for“turn“in“#1\space“orient“#2\space“out“#3}%ŽŽ¡‘ãŒÃ394Ž‘ mÏ\ifsm@firstsegŽŽ¡‘ãŒÃ395Ž‘JkÏ\sm@accumext#1%ŽŽ¡‘ãŒÃ396Ž‘JkÏ\sm@firstsegfalseŽŽ¡‘ãŒÃ397Ž‘ mÏ\fiŽŽ¡‘ãŒÃ398Ž‘ mÏ\count@@=#1\count@@=\the\count@@\count@=\count@@ŽŽ¡‘ãŒÃ399Ž‘ mÏ\dimen@=\sm@connlenŽŽ¡‘ãŒÃ400Ž‘õŒÏ%‘ T\W@{Before–¿ªrounding“count@=\the\count@,“count@@=\the\count@@}%ŽŽ¡‘ãŒÃ401Ž‘ mÏ\sm@roundcount@{#2}%ŽŽ¡‘ãŒÃ402Ž‘õŒÏ%‘ T\W@{After–¿ªrounding“count@=\the\count@,“count@@=\the\count@@}%ŽŽ¡‘ãŒÃ403Ž‘ mÏ\ifnum‘¿ª\count@=\count@@ŽŽ¡‘ãŒÃ404Ž‘ ŠÁÏ\sm@advancecount@–¿ª1{#2}%“Advance“by“90“degrees“if“odd.“By“45“firstŽŽ¡‘ãŒÃ405Ž‘ ŠÁÏ\advance\dimen@–¿ª0.7854\R@%“It“was“incremented“with“1/8“circleŽŽ¡‘ãŒÃ406Ž‘ ŠÁÏ\ifnum–¿ª\count@=#3%“Check“if“doneŽŽ¡‘ãŒÃ407Ž‘ ŠÁÏ\elseŽŽ¡‘ãŒÃ408Ž‘É¿Ï\sm@advancecount@–¿ª1{#2}%“Another“45ŽŽŽŽŒ‹Åó/ Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹453ŽŽ ¶?? ýh«w‘ãŒÃ409Ž‘É¿Ï\advance\dimen@–¿ª0.7854\R@%“It“was“incremented“with“1/8“circleŽŽ¤ ™š‘ãŒÃ410Ž‘ ŠÁÏ\fiŽŽ¡‘ãŒÃ411Ž‘ mÏ\elseŽŽ¡‘ãŒÃ412Ž‘ ŠÁÏ\advance\dimen@–¿ª0.7854\R@%“It“was“incremented“with“1/8“circleŽŽ¡‘ãŒÃ413Ž‘ mÏ\fiŽŽ¡‘ãŒÃ414Ž‘ mÏ\edef\sm@connlen{\the\dimen@}%–¿ªSave“the“connector“lengthŽŽ¡‘ãŒÃ415Ž‘ mÏ\sm@accumext{\the\count@}%ŽŽ¡‘ãŒÃ416Ž‘ mÏ\edef\sm@segs{\sm@segs{{#1}{#2}{\the\count@}}}%Accum‘¿ªsegmentŽŽ¡‘ãŒÃ417Ž‘ mÏ\ifnum\the\count@=#3‘¿ª\elseŽŽ¡‘ãŒÃ418Ž‘ ŠÁÏ\edef\tmp@{{\the\count@}{#2}{#3}}%Recursive‘¿ªcallŽŽ¡‘ãŒÃ419Ž‘ ŠÁÏ\expandafter\sm@computeext\tmp@ŽŽ¡‘ãŒÃ420Ž‘ mÏ\fiŽŽ¡‘ãŒÃ421Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ423Ž‘õŒÏ%ŽŽ¡‘ãŒÃ424Ž‘õŒÏ%–¿ªAccumulate“the“extensionsŽŽ¡‘ãŒÃ425Ž‘õŒÏ%ŽŽ¡‘ãŒÃ426Ž‘õŒÏ\xydef@\sm@accumext#1{%ŽŽ¡‘ãŒÃ427Ž‘õŒÏ%–¿ª\W@{Accumulating“extent“for“#1}%ŽŽ¡‘ãŒÃ428Ž‘õŒÏ%–¿ª\sm@showext{Before“accum:}%ŽŽ¡‘ãŒÃ429Ž‘ûKÃÏ\ifcase‘¿ª#1%ŽŽ¡‘ãŒÃ430Ž‘ËÏ\or‘þ¨\count@@=\sm@extvm\advance\count@@‘¿ªby1%ŽŽ¡‘ãŒÃ431Ž‘/½Ï\edef\sm@extvm{\the\count@@}%–¿ª1“is“V-ŽŽ¡‘ãŒÃ432Ž‘ËÏ\or\or–¿ª\count@@=\sm@exthp\advance\count@@“by1%ŽŽ¡‘ãŒÃ433Ž‘/½Ï\edef\sm@exthp{\the\count@@}%–¿ª3“is“H+ŽŽ¡‘ãŒÃ434Ž‘ËÏ\or\or–¿ª\count@@=\sm@extvp\advance\count@@“by1%ŽŽ¡‘ãŒÃ435Ž‘/½Ï\edef\sm@extvp{\the\count@@}%–¿ª5“is“V+ŽŽ¡‘ãŒÃ436Ž‘ËÏ\or\or–¿ª\count@@=\sm@exthm\advance\count@@“by1%ŽŽ¡‘ãŒÃ437Ž‘/½Ï\edef\sm@exthm{\the\count@@}%–¿ª7“in“H-ŽŽ¡‘ãŒÃ438Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ439Ž‘õŒÏ%–¿ª\sm@showext{After“accum:}%ŽŽ¡‘ãŒÃ440Ž‘õŒÏ}ŽŽŸv‘ãŒÃ443Ž‘õŒÏ%–¿ªDraw“a“computed“connector.ŽŽ¡‘ãŒÃ444Ž‘õŒÏ%–¿ª1,2,3,4“-“dx+,“dx-,“dv+,“dv-“(lengths“of“straight“connectors“in“eachŽŽ¡‘ãŒÃ445Ž‘õŒÏ%’¬uìdirection)ŽŽ¡‘ãŒÃ446Ž‘õŒÏ%–¿ª5‘(=¦-“a“list“of“segments,“each“enclosed“in“a“pair“of“braces.ŽŽ¡‘ãŒÃ447Ž‘õŒÏ\xydef@\sm@conndraw#1#2#3#4#5{%ŽŽ¡‘ãŒÃ448Ž‘ËÏ\def\sm@contlist{\sm@drawseglist}%ŽŽ¡‘ãŒÃ449Ž‘ËÏ\edef\sm@dxp{#1}%ŽŽ¡‘ãŒÃ450Ž‘ËÏ\edef\sm@dxm{#2}%ŽŽ¡‘ãŒÃ451Ž‘ËÏ\edef\sm@dyp{#3}%ŽŽ¡‘ãŒÃ452Ž‘ËÏ\edef\sm@dym{#4}%Save‘¿ªdeltasŽŽ¡‘ãŒÃ453Ž‘ËÏ\sm@drawseglist‘¿ª#5\sm@nil}ŽŽ¡‘ãŒÃ454Ž‘õŒÏ\xydef@\sm@drawseglist#1{%–¿ªGet“the“first“segmentŽŽ¡‘ãŒÃ455Ž‘ mÏ\ifx–¿ª#1\sm@nil“\def\sm@contlist{}\elseŽŽ¡‘ãŒÃ456Ž‘JkÏ\sm@drawseg‘¿ª#1\fiŽŽ¡‘ãŒÃ457Ž‘ mÏ\sm@contlist}ŽŽ¦‘ãŒÃ459Ž‘õŒÏ%ŽŽ¡‘ãŒÃ460Ž‘õŒÏ%–¿ªDraw“a“segmentŽŽŽŽŒ‹Æý^ Á à ý*tj‘㌹454’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ýh«w‘ãŒÃ461Ž‘õŒÏ%ŽŽ¤ ™š‘ãŒÃ462Ž‘õŒÏ\xydef@\sm@drawseg#1#2#3{%–¿ªA“segment“is“CIRin+CIRorient+CIRoutŽŽ¡‘ãŒÃ463Ž‘õŒÏ%‘ T\W@{Drawing–¿ªsegment“in=#1\space“out=\space“#3}\xy@showthe“c{Seg“start}%ŽŽ¡‘ãŒÃ464Ž‘ mÏ\def\CIRin@@{#1}\def\CIRout@@{#3}%ŽŽ¡‘ãŒÃ465Ž‘ mÏ\sm@straight%See–¿ªif“a“straight“line“is“needed“here.“Insert“it“andŽŽ¡‘ãŒÃ466Ž‘FeÏ%reset–¿ªc“if“neededŽŽ¡‘ãŒÃ467Ž‘ mÏ\ifnum\CIRin@@=\CIRout@@‘¿ª\elseŽŽ¡‘ãŒÃ468Ž‘ Ï%–¿ªCompute“the“center“of“the“circleŽŽ¡‘ãŒÃ469Ž‘ Ï\count@=\CIRin@@ŽŽ¡‘ãŒÃ470Ž‘ Ï\dimen@=\ifnum–¿ª#2<0“-\fi\R@ŽŽ¡‘ãŒÃ471Ž‘ Ï\ABfromdiag@ŽŽ¡‘ãŒÃ472Ž‘ Ï\advance\X@c–¿ª-\B@“\advance\Y@c“\A@ŽŽ¡‘ãŒÃ473Ž‘õŒÏ%‘"}ü\xy@showthe–¿ªc{Center“of“circle}%ŽŽ¡‘ãŒÃ474Ž‘õŒÏ%‘"}ü\xy@showdim{Before‘¿ªcenter}%ŽŽ¡‘ãŒÃ475Ž‘ Ï\ifnum–¿ª#2>0“\def\CIRorient@@{\CIRacw@}%ŽŽ¡‘ãŒÃ476Ž‘:ˆÏ\else‘¿ª\def\CIRorient@@{\CIRcw@}\fiŽŽ¡‘ãŒÃ477Ž‘ Ï\drop@\literal@{\hbox\bgroup\cir@i}%–¿ªPlace“the“circleŽŽ¡‘ãŒÃ478Ž‘ Ï%–¿ªNow“move“the“the“end“of“the“arcŽŽ¡‘ãŒÃ479Ž‘ Ï\dimen@=\ifnum–¿ª#2<0“-\fi\R@ŽŽ¡‘ãŒÃ480Ž‘ Ï\count@=\CIRout@@\count@=\count@%Wierd.–¿ªIf“I“remove“this“last“assignmŽŽ¡‘ãŒÃ481Ž‘õŒÏ%’Ô³’%\count@–¿ªis“not“setŽŽ¡‘ãŒÃ482Ž‘ Ï\ABfromdiag@ŽŽ¡‘ãŒÃ483Ž‘õŒÏ%‘"}ü\xy@showthe–¿ªc{Before“advance}%ŽŽ¡‘ãŒÃ484Ž‘õŒÏ%‘"}ü\xy@showdim{Before‘¿ªadvance}%ŽŽ¡‘ãŒÃ485Ž‘ Ï\advance\X@c\B@‘¿ª\advance\Y@c-\A@ŽŽ¡‘ãŒÃ486Ž‘õŒÏ%‘"}ü\xy@showthe–¿ªc{After“circle}%ŽŽ¡‘ãŒÃ487Ž‘õŒÏ%‘"}ü\xy@showdim{After‘¿ªcircle}%ŽŽ¡‘ãŒÃ488Ž‘ mÏ\fiŽŽ¡‘ãŒÃ489Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ491Ž‘õŒÏ\xydef@\sm@straight{%ŽŽ¡‘ãŒÃ492Ž‘ mÏ\U@c=\z@\D@c=\U@c\L@c=\U@c\R@c=\U@cŽŽ¡‘ãŒÃ493Ž‘ mÏ\pfromc@‘rùH%Set–¿ªp“at“the“beginning“of“the“segmentŽŽ¡‘ãŒÃ494Ž‘ mÏ\ifcase–¿ª\CIRin@@“\or%“1“is“V-ŽŽ¡‘ãŒÃ495Ž‘ Ï\A@=\sm@dym\advance–¿ª\Y@c\A@“%Wierd.“I“have“to“use“the“temporary“A@!!ŽŽ¡‘ãŒÃ496Ž‘ mÏ\or\or‘P{L%–¿ª3“is“H+ŽŽ¡‘ãŒÃ497Ž‘ Ï\A@=\sm@dxp\advance‘¿ª\X@c\A@ŽŽ¡‘ãŒÃ498Ž‘ mÏ\or\or‘P{L%–¿ª5“is“V+ŽŽ¡‘ãŒÃ499Ž‘ Ï\A@=\sm@dyp\advance‘¿ª\Y@c\A@ŽŽ¡‘ãŒÃ500Ž‘ mÏ\or\or‘P{L%–¿ª7“is“H-ŽŽ¡‘ãŒÃ501Ž‘ Ï\A@=\sm@dxm\advance–¿ª\X@c\A@“\fiŽŽ¡‘ãŒÃ502Ž‘ mÏ\ifdim\X@c=\X@p\ifdim\Y@c=\Y@p\else–¿ª\sm@stri“\fi\else“\sm@stri“\fiŽŽ¡‘ãŒÃ503Ž‘õŒÏ}ŽŽ¦‘ãŒÃ505Ž‘õŒÏ\xydef@\sm@stri{%ŽŽ¡‘ãŒÃ506Ž‘õŒÏ%‘>þ\W@{Drawing–¿ªstraight“connection}\xy@showthe“p{StrSrc}\xy@showthec{StrDst}%ŽŽ¡‘ãŒÃ507Ž‘ ŠÁÏ\edef\tmp@{\expandafter\noexpand\arstemprefix@@\arstem@@}%ŽŽ¡‘ãŒÃ508Ž‘ ŠÁÏ\expandafter\sm@connect@\tmp@}ŽŽ¡‘ãŒÃ509Ž‘õŒÏ\xydef@\sm@connect@#1#{%ŽŽ¡‘ãŒÃ510Ž‘ ŠÁÏ\DN@##1{\connect@{#1}{##1}}\next@}ŽŽŽŽŒ‹Ç? Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹455ŽŽ ¶?? ýh«w‘ãŒÃ512Ž‘õŒÏ\xydef@\sm@drop@#1#{%ŽŽ¤ ™š‘ãŒÃ513Ž‘ ŠÁÏ\DN@##1{\drop@{#1}{##1}}\next@}ŽŽ©Pˆ‘ãŒÃ515Ž‘õŒÏ%–¿ªCompute“and“draw“a“connector.“External“interfaceŽŽ¡‘ãŒÃ516Ž‘õŒÏ%–¿ª1“-“in“(for“p)ŽŽ¡‘ãŒÃ517Ž‘õŒÏ%–¿ª2“-“out“(for“c)ŽŽ¡‘ãŒÃ518Ž‘õŒÏ%–¿ª3“-“suggested“radiusŽŽ¡‘ãŒÃ519Ž‘õŒÏ\xydef@\smconn#1#2#3{%ŽŽ¡‘ãŒÃ520Ž‘ mÏ\edef\sm@CIRin{#1}\edef\sm@CIRout{#2}%Memorize–¿ªthe“directionsŽŽ¡‘ãŒÃ521Ž‘ mÏ\R@=#3\R@=\the\R@ŽŽ¡‘ãŒÃ522Ž‘ mÏ\sm@conn}ŽŽ¦‘ãŒÃ524Ž‘õŒÏ\xyendinputŽŽ¦‘ôŒÔBug:‘ÝݹThis–¦fcošMÞde“should“probably“b˜e“merged“with“the“`arro²!w'“feature.Ž¡‘ôŒFinally–¦fthe“log.ަ‘ãŒÃ556Ž‘õŒÏ%‘¿ª$Log$ŽŽ¡‘ãŒÃ557Ž‘õŒÏ%–¿ªReceived“from“George.ŽŽŽŽŒ‹È Á à ý*tj‘㌹456’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ÿRØÜ þ©‘㌟ ff‰ffã²dŸ {„‘yš¹Syn²!taxŽ’ú÷ÖActionŽŽŽŽŸ‡w‰ffã²dŸ 6f‘yšÏ\ar–¦fÇh¹arro²!wÇi“h¹pathÇiŽ’ú÷Ö¹mak•²!e›¦fÇh¹arro“wÇi˜¹along˜Çh¹pathÇiŽŽŽŽŸ#2‰ffã²dŸ …‘yšh¹arro²!wÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]h¹formÇi¹*ŽŽ’ú÷ÖÇh¹arro²!wÇi–¦f¹has“the“Çh¹formÇi¹sŽŽŽŽŸ™š‘yšÇh¹formÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]Ï@‘¦fÇh¹v‘ÿdDarian²!tÇiŽ’ú÷Ö¹use–¦fÇh¹v‘ÿdDarianš²!tÇi“¹of“arro˜wŽŽŽŽ¤†‘E¯IÇjŽŽ‘U€]Ï@–¦fÇh¹v‘ÿdDarian²!tÇi“Ï{Ž‘ vÇh¹tipÇi“Ï}ŽŽ’ú÷Ö¹build–Carroš²!wŸü¾²3.3mŽ‘ß}¹using“Çh¹v‘ÿdDarian˜tÇi“¹of“a“standard“stemŽŸ ™š’ú÷Öand–¦fÇh¹tipÇi“¹for“the“headŽŽŽŽŸÁo‘E¯IÇjŽŽ‘U€]Ï@–¦fÇh¹v‘ÿdDarian²!tÇi“Ï{Ž‘ vÇh¹tipÇi“h¹connÇi“h¹tipÇi“Ï}ŽŽ’ú÷Ö¹build–“Yarroš²!wŸü¾²3.3mŽ‘/Ϲusing“Çh¹v‘ÿdDarian˜tÇi“¹of“Çh¹tipÇi¹,‘•Çh¹connÇi¹,ŽŸ ™š’ú÷ÖÇh¹tipÇi–¦f¹as“arro²!w“tail,“stem,“and“head“(in“that“order)ŽŽŽŽŸÛ‚‘E¯IÇjŽŽ‘U€]Ï@‘¦fÇh¹connc²!harÇiŽ’ú÷Ö¹cš²!hange–¦fstem“to“the“indicated“Çh¹connc˜harÇiŽŽŽŽ© ™š‘E¯IjŽŽ‘U€]Ï@!Ž’ú÷Ö¹dash–¦fthe“arroš²!w“stem“b˜y“doubling“itŽŽŽŽ¡‘E¯IÇjŽŽ‘U€]Ï@/–¦fÇh¹directionÇi“h¹distÇi“Ï/ŽŽ’ú÷Ö¹curv•²!eŸü¾²3.3oŽ‘톹arro“w–¦fthe“Çh¹distÇi¹ance“to•²!w“ards‘¦fÇh¹directionÇiŽŽŽŽ¡‘E¯IjŽŽ‘U€]Ï@(–¦fÇh¹directionÇi“Ï,Ž‘ vÇh¹directionÇi“Ï)ŽŽ’ú÷Ö¹curv²!e–¦fto“ t“with“in-out“directionsŸü¾²3.3pŽŽŽŽŽ¡‘E¯IÇjŽŽ‘U€]Ï@`‘¦f{Ž‘ vÇh¹con•²!trol›¦fpMÞoin“t˜listÇi˜Ï}ŽŽ’ú÷Ö¹curvš²!e–¦fsetupŸü¾²3.3qŽ‘4¢¹with“explicit“con˜trol“pMÞoin˜tsŽŽŽŽ¡‘E¯IÇjŽŽ‘U€]Ï@[Ž‘d¦Çh¹shapMÞeÇi‘¦fÏ]ŽŽ’ú÷Ö¹add‘ºÏ[Ž– ×dÇh¹shapšMÞeÇiÏ]Ž“¹to–ºob‘›»ject“Çh¹mo˜di erÇi¹sŸü¾²3.3rŽ‘I„¹for“all“ob-ަ’ú÷ÖjectsŽŽŽŽŸ%´‘E¯IÇjŽŽ‘U€]Ï@*‘¦f{Ž‘ vÇh¹moMÞdi erÇi¹*Ž‘ Ï}ŽŽ’ú÷Ö¹add–¦fob››»ject“Çh¹moMÞdi erÇi¹sŸü¾²3.3rŽ‘Ø0¹for“all“ob˜jectsŽŽŽŽ¡‘E¯IÇjŽŽ‘U€]Ï@<–¦fÇh¹dimenÇi“Ï>ŽŽ’ú÷Ö¹slide–¦farro²!wŸü¾²3.3sŽ‘ßL¹the“Çh¹dimenÇiŽŽŽŽ¦‘E¯IjŽŽ‘U€]Ï|–¦fÇh¹anc²!horÇi“h¹itÇiŽ’ú÷Ö¹break–¦feacš²!h“segmen˜t“at“Çh¹anc˜horÇi“¹with“Çh¹itÇiŽŽŽŽ¦‘E¯IjŽŽ‘U€]Ï^–¦fÇh¹ancš²!horÇi“h¹itÇi‘LÌjŽ‘¤CÏ_“Çh¹anc˜horÇi“h¹itÇiŽ’ú÷Ö¹labMÞel–¦feacš²!h“segmen˜t“at“Çh¹anc˜horÇi“¹with“Çh¹itÇiŽŽŽŽ¡‘E¯IjŽŽ‘U€]Ï@?Ž’ú÷Ö¹revš²!erse–¦fmeaning“of“abMÞo˜v˜e“and“bMÞelo˜wŸü¾²3.3tŽŽŽŽŽ¤™š‘yšÇh¹v‘ÿdDarian²!tÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]h¹empt²!yÇi‘LÌjŽ–¤CÏ^‘LÌÇjŽ“Ï_ŽŽ¦‘Y&ÃÇjŽ‘c~:Ï0‘LÌÇjŽ–¤CÏ1‘LÌÇjŽ“Ï2‘LÌÇjŽ“Ï3Ž’ú÷ÖÇh¹v‘ÿdDarian•²!tÇi¹:‘ÝÝplain,›¦fabMÞo“v“e,˜bMÞelo“w,˜double,˜or˜tripleŽŽŽŽ¡‘yšÇh¹tipÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]h¹tipMÞc²!harÇi¹*ŽŽ’ú÷Ödirectional–¦fnamed“as“the“sequence“of“Çh¹tipMÞc²!harÇi¹sŽŽŽŽŸ†‘E¯IÇjŽŽ‘U€]h¹dirÇiŽ’ú÷Ö¹an²!y‘¦fÇh¹dirÇi¹ectionalŸü¾²3.3nŽŽŽŽŽ¡‘yšÇh¹tipMÞc²!harÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]Ï<Ž‘^æmÇjŽ‘e—~Ï>Ž‘nýŽÇjŽ‘u®ŸÏ(Ž‘¯ÇjŽ’…ÅÀÏ)Ž’+ÐÇjŽ’•ÜáÏ|Ž’ŸBñÇjŽ’¥ôÏ'Ž’¯ZÇjŽ’¶ #Ï`Ž’¿q3ÇjŽ’Æ"DÏ+Ž’ÏˆTÇjŽ’Ö9eÏ/ŽŽ’ú÷Ö¹recognised–¦ftip“c²!haractersŽŽŽŽ¦‘E¯IÇjŽŽ‘U€]h¹letterÇi‘LÌjŽ‘¤Ch¹spaceÇiŽ’ú÷Ö¹more–¦ftip“c²!haractersŽŽŽŽ¡‘yšÇh¹connÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]h¹connc²!harÇi¹*ŽŽ’ú÷Ödirectional–¦fnamed“as“the“sequence“of“Çh¹connc²!harÇi¹sŽŽŽŽŸ†‘E¯IÇjŽŽ‘U€]h¹dirÇiŽ’ú÷Ö¹an²!y‘¦fÇh¹dirÇi¹ectionalŸü¾²3.3nŽŽŽŽŽ¡‘yšÇh¹connc²!harÇiŽ‘>byŽŽŽ‘EŽ!ŽŽ‘U€]Ï-Ž‘^æmÇjŽ‘e—~Ï.Ž‘nýŽÇjŽ‘u®ŸÏ~Ž‘¯ÇjŽ’…ÅÀÏ=Ž’+ÐÇjŽ’•ÜáÏ:ŽŽ’ú÷Ö¹recognised–¦fconnector“c²!haractersŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’ÀüFigure‘¦f3.2:‘ÝÝÇh¹arro²!wÇi¹s.ŽŽŽ ¢ë ÿyŸ8ØlŸÔA‘7;kïps: SDict begin xyc end’…Û3ï" {36.0 0.0 l}xyŽŽŽ‘m^¿ŸütÇÅfŸ¤«Ã3ŽŽŽŽŽŽŽ’…Û3ï" {3072 10 /xy AB}xyŽŽŽŽ’…Û3ï" {3072 10 /xy AB}xyŽŽŽŽ’ˆÛ3Ÿ0jªï" {0.0 -45.41666 l}xyŽŽŽ’ˆÛ3Ÿ0jªï" {1024 10 /xy AB}xyŽŽŽŽ’ˆÛ3Ÿ0jªï" {1024 10 /xy AB}xyŽŽŽŽ’¯Û3ŸJï" {36.0 -20.57813 l}xyŽŽŽ’žŠÿŸ 'ÅfŸ¤«Ã4ŽŽŽŽŽŽŽ’¯Û3ŸJï" {2487 10 /xy AB}xyŽŽŽŽ’¯Û3ŸJï" {2487 10 /xy AB}xyŽŽŽŽ’—_÷Ÿ}ï " {448 F d}xyŽŽŽŽŽŽ’•¡ÉŸ”ï " {448 F d}xyŽŽŽŽŽŽŽ’–&KŸ½9ï " {448 F d}xyŽŽŽŽŽŽ’”hŸÂKï " {448 F d}xyŽŽŽŽŽŽŽ’” ºŸm~ï" {448 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ’ž‚!Ÿ<(Ÿï " {384 F d}xyŽŽŽŽŽŽ’œÐŸ;Qï " {384 F d}xyŽŽŽŽŽŽŽ’.ýŸ>GGï " {384 F d}xyŽŽŽŽŽŽ’›|ߟ=7ùï " {384 F d}xyŽŽŽŽŽŽŽ’›èŸ?ÞHï" {384 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ’ÙÛ3Ÿ1vjï" {36.0 -23.50845 l}xyŽŽŽ’ÈÕן"ûôÅfŸ¤«Ã5ŽŽŽŽŽŽŽ’ÙÛ3Ÿ1vjï" {2404 10 /xy AB}xyŽŽŽŽ’ÙÛ3Ÿ1vjï" {2404 10 /xy AB}xyŽŽŽŽ‘Ÿ7(lÄAŽŽŽŽŽŽ‘-àSŸï" {31.66376 28.01959 l}xyŽŽŽ‘ËŸôßÅfŸ¤«Ã1ŽŽŽŽŽŽŽ‘-àSŸï" {3978 10 /xy AB}xyŽŽŽŽ‘[Û3Ÿ €ï" {45.97998 16.06087 l}xyŽŽŽ‘@«ŸHZÅfŸ¤«Ã2ŽŽŽŽŽŽŽ‘[Û3Ÿ €ï" {3430 10 /xy AB}xyŽŽŽŽ‘2ûŸ wï" {1632 F d}xyŽŽŽŽŽŽ‘0×ÍŸÕï" {1632 F d}xyŽŽŽŽŽŽŽ‘3Ö³Ÿ1³ï" {1632 F d}xyŽŽŽŽŽŽ‘2…Ÿ7ï" {1632 F d}xyŽŽŽŽŽŽŽ‘6ÎÄŸ 'ï" {1632 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ‘3ïE" {mark 87.75 0.0 59.18994 -51.50423 0.0 -51.41666 0.061 0.97046 q}xyŽŽŽ‘]$eŸÿ|ï" {-3676 10 /xy AB}xyŽŽŽŽ‘1Û3ŸM ”ï" {35.64374 -21.36673 l}xyŽŽŽ‘1Û3ŸM ”ï" {2458 10 /xy AB}xyŽŽŽŽ‘$œŸEÓ-ÅgŸ¤«Ã1ŽŽŽŽŽŽŽ‘1Û3ŸM ”ï" {2458 10 /xy AB}xyŽŽŽŽ’¯Û3Ÿõï" {36.0 23.5026 l}xyŽŽŽ’¯Û3Ÿõï" {3740 10 /xy AB}xyŽŽŽŽ’¯Û3Ÿõï" {3740 10 /xy AB}xyŽŽŽŽ’Û3Ÿ3jªï" {36.0 0.0 l}xyŽŽŽ’ìŒùŸ/ßqÅfŸ¤«Ã6ŽŽŽŽŽŽŽ’Û3Ÿ3jªï" {3072 10 /xy AB}xyŽŽŽŽ’Û3Ÿ3jªï" {3072 10 /xy AB}xyŽŽŽŽ‘3ïS" {mark 301.7934 -51.41666 278.7717 -66.41666 255.75 -51.41666 0.06516 0.84705 q}xyŽŽŽ’-ÛqŸ7M°ï" {3515 10 /xy AB}xyŽŽŽŽ’ŬŸ@Q8ÅgŸ¤«Ã4ŽŽŽŽŽŽŽ’àÀŸ)ijï" {1024 F d}xyŽŽŽŽŽŽ’àŸ)ijï" {1024 F d}xyŽŽŽŽŽŽŽ’àÀŸ+éjï" {1024 F d}xyŽŽŽŽŽŽ’àŸ+éjï" {1024 F d}xyŽŽŽŽŽŽŽ’àÁŸ3ijï" {1024 /XT tt}xyŽŽŽŽŽŽŽŽŽŽ’àÁŸjªï" {20.71896 27.0 l}xyŽŽŽ’ M:Ÿ"ËyÅfŸ¤«Ã7ŽŽŽŽŽŽŽ’àÁŸjªï" {-3858 10 /xy AB}xyŽŽŽŽ’/û Ÿ-ï" {18.10269 -23.58334 l}xyŽŽŽ’)4 Ÿ"ËyÅfŸ¤«Ã8ŽŽŽŽŽŽŽ’/û Ÿ-ï" {1810 10 /xy AB}xyŽŽŽŽ’0xÝŸ7(lÄBŽŽŽŽŽŽ’…Û3Ÿ4e*ï" {78.0 25.45963 l}xyŽŽŽ’…Û3Ÿ4e*ï" {3406 10 /xy AB}xyŽŽŽŽ’…Û3Ÿ4e*ï" {3406 10 /xy AB}xyŽŽŽŽ’ŒT§ŸW[ï" {84.47443 -8.23247 l}xyŽŽŽ‘\xŸXy#ÅgŸ¤«Ã2ŽŽŽŽŽŽŽ’ŒT§ŸW[ï" {2972 10 /xy AB}xyŽŽŽŽ’ÙÛ3Ÿ4Ájï" {77.52557 34.6003 l}xyŽŽŽ’²}øŸJ^ÅgŸ¤«Ã3ŽŽŽŽŽŽŽ’ÙÛ3Ÿ4Ájï" {3529 10 /xy AB}xyŽŽŽŽŽŽŽŽŽŽŸKy~’pç¹Figure–¦f3.3:‘ÝÝP²!asting“diagram.ŽŽŽŽŽŒ‹ÉR Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹457ŽŽ ¶??Ÿ«CH þ$ç‘㌟ ff‰ffã²dŸ {„‘yšSyn²!taxŽ’ûÙžActionŽŽŽŽŸ‡w‰ffã²dŸ …‘yšÇh¹t•²!w“oMÞcellÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRh¹2-cellÇih¹switc•²!hesÇih¹Arro“wÇiŽ’ûÙž¹tš²!ypMÞeset–¦fÇh¹2-cellÇi“¹with“the“Çh¹switc˜hesÇi“¹and“Çh¹Arro˜wÇiŽŽŽŽ©™š‘yšh¹2-cellÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRÏ\..twocellŽŽ’ûÙž¹t•²!ypMÞeset›¦ft“w“o˜curv“ed˜arro“wsŽŽŽŽ¤ ™š‘B >ÇjŽŽ‘QñRÏ\..uppertwocellŽŽ’ûÙž¹t²!yp•MÞeset›¦fupp“er˜curv•²!ed˜arro“w˜onlyŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ\..lowertwocellŽŽ’ûÙž¹t•²!ypMÞeset›¦flo“w“er˜curv“ed˜arro“w˜onlyŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ\..compositemapŽŽ’ûÙž¹use–¦fconsecutivš²!e“straigh˜t“arro˜wsŽŽŽŽ¦‘yšÇh¹Arro²!wÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRÏ{Ž‘W°üÇh¹tokÇih¹textÇiÏ}ŽŽ’ûÙž¹spšMÞeci es–¦forien²!tation“and“lab˜elŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ{Ž‘W°üÇh¹n²!udgeÇih¹textÇiÏ}ŽŽ’ûÙž¹adjust–¦fpMÞosition,“use“default“orien²!tationŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ{Ž‘W°üÇh¹textÇiÏ}ŽŽ’ûÙž¹use–¦fdefault“pMÞosition“and“orien²!tationŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ{Ž‘W°üÇh¹tokÇi¹*Çh¹ob‘›»jectÇiÏ}ŽŽ’ûÙž¹use–¦fÇh¹ob‘›»jectÇi“¹as“the“labMÞelŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ{Ž‘W°üÇh¹n²!udgeÇi¹*Çh¹ob–›»jectÇiÏ}Ž‘ vÇjŽ‘½‡Ï{Ž‘}1¹*Çh¹ob“jectÇiÏ}ŽŽŽ¦‘yšÇh¹tokÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRÏ^Ž‘^ýÈÇjŽ‘e®ÙÏ_Ž‘r»OÇjŽ‘yl`Ï=ŽŽ’ûÙž¹orien•²!ted‘¦fan“ti-/cloMÞc“kwise/equalit“yŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ\omitŽŽ’ûÙž¹no–¦fArroš²!w,“default“is“cloMÞc˜kwiseŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ`Ž‘^ýÈÇjŽ‘e®ÙÏ'Ž‘r»OÇjŽ‘yl`Ï"Ž’†xÖÇjŽ’)çÏ!ŽŽ’ûÙž¹no–¦fArroš²!w;“tips“on“t˜w˜o“curv˜ed“arro˜ws“as:Ž¡’ûÙžan•²!ti-/cloMÞc“kwise/double-headed/noneŽŽŽŽŸÛ‚‘yšÇh¹switc²!hesÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRh¹switc•²!hÇih¹switc“hesÇiŽ’ûÙž¹list–¦fof“optional“moMÞdi cationsŽŽŽŽ¦‘yšÇh¹switc²!hÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRh¹empt²!yÇiŽ’ûÙž¹use‘¦fdefaultsŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ^Ž‘[WbÇh¹labMÞelÇiŽ’ûÙž¹place–¦fÇh¹labšMÞelÇi“¹on“the“upp˜er“arro²!wŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ_Ž‘[WbÇh¹labMÞelÇiŽ’ûÙž¹place–¦fÇh¹labMÞelÇi“¹on“the“lo•²!w“er‘¦farro“wŽŽŽŽ¡‘B >ÇjŽŽ‘QñRh¹n²!udgeÇiŽ’ûÙž¹set–¦fthe“curv›ÿdDature,“based“on“Çh¹n²!udgeÇi“¹v˜alueŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ\omitŽŽ’ûÙž¹do–¦fnot“set“the“curvš²!ed“arro˜wsŽŽŽŽ¡‘B >ÇjŽŽ‘U—¸Ï!ŽŽ’ûÙž¹place‘¦fÏ\modmapobjectŽ‘Rn¹midw•²!a“y–¦falong“arro²!wsŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ~Ž‘[WbÇh¹whatÇi‘¦fÏ{Ž‘ vÇh¹ob‘›»jectÇi‘¦fÏ}ŽŽ’ûÙž¹use–¦fÇh¹ob‘›»jectÇi“¹in“place“spMÞeci ed“b²!y“Çh¹whatÇiŽŽŽŽ¦‘yšh¹whatÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRh¹empt²!yÇiŽ’ûÙž¹set–¦fcurv²!es“using“the“spMÞeci ed“Çh¹ob‘›»jectÇiŽŽŽŽ¡‘B >jŽŽ‘QñRÏ^Ž‘^ýÈÇjŽ‘e®ÙÏ_ŽŽ’ûÙž¹use–¦fÇh¹ob‘›»jectÇi“¹with“uppMÞer/lo•²!w“er‘¦fcurv“eŽŽŽŽ¡‘B >ÇjŽŽ‘QñRÏ`Ž‘^ýÈÇjŽ‘e®ÙÏ'ŽŽ’ûÙž¹use–¦fÇh¹ob‘›»jectÇi“¹for“arro²!w“head/tailŽŽŽŽŸ™š‘yšÇh¹labMÞelÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRh¹textÇi‘LÌjŽ‘¤Ch¹n²!udgeÇi‘¦fh¹textÇiŽ’ûÙž¹set–¦fÇh¹textÇi¹,“displaced“bš²!y“Çh¹n˜udgeÇiŽŽŽŽ¡‘B >jŽŽ‘QñR¹*Çh¹ob–›»jectÇi‘LÌjŽ‘¤Ch¹n²!udgeÇi¹*Çh¹ob“jectÇiŽ’ûÙž¹set–¦fÇh¹ob‘›»jectÇi¹,“displaced“bš²!y“Çh¹n˜udgeÇiŽŽŽŽ¦‘yšh¹n²!udgeÇiŽ‘:ÓnŽŽŽ‘A„ƒ!ŽŽ‘QñRÏ<Ž‘W°üÇh¹n•²!um“bMÞerÇiÏ>ŽŽ’ûÙž¹use› 8Çh¹n•²!um“bMÞerÇi˜¹in˜an˜appropriate˜w“a“y‘ÿe,–>¬Ðe¹.Ðg¹.,“to˜pMÞosi-Ž¡’ûÙžtion–¦fob‘›»ject“or“labMÞel“along“a“ xed“axisŽŽŽŽŸ?Ç‘B >ÇjŽŽ‘QñRÏ<\omit>ŽŽ’ûÙž¹do–¦fnot“t²!ypšMÞeset“the“ob‘›»ject/lab˜elŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’¾ pFigure‘¦f3.4:‘ÝÝÇh¹t•²!w“oMÞcellÇi¹sŽŽŽŽŽŒ‹Ê.ΠÁ à ý*tj‘㌹458’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? ÿ +ã þd‡µ‘㌟ ff‰ffã²dŸ {„‘ ö¹Syn²!taxŽ’æ½˜âÆŽ‘>“vŸ£&‰fež7Ÿ¡nŽŽŽŽŽ‘f,ÖsinŽŸüP ‘t3eÃ2ÆŽ‘t3eŸ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’œÁ7ÖcosŽŸüP ’«áŒÃ2ÆŽ’«áŒŸ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’ÓhBÖsinŽŸüP ’á{Ã3ÆŽ’á{Ÿ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’ MÖcosŽŸüP ’/¢Ã3ÆŽ’/¢Ÿ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’@¶XÖsinŽŸüP ’NÏ‘Ã4ÆŽ’NÏ‘Ÿ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’r½eÖcosŽŸüP ’ݺÃ4ÆŽ’ݺŸ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’ $tÖsinŽŸüP ’®=­Ã5ÆŽ’®=­Ÿ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽ’ÖËÖcosŽŸüP ’åëÔÃ5ÆŽ’åëÔŸ£&‰fe>Ÿ¡‘ÏènŽŽŽŽŽŽ¤ ‘åÜÖ0Ž‘ûáj0Ž‘2ˆu1Ž‘i/€0Ž’ŸÖ‹1Ž’Ö}–0Ž’ $¡1Ž’Cˬ0Ž’uÒ¹1Ž’£9È0Ž’ÙàÓ1ŽŽ¡‘åÜ1Ž‘ûáj0Ž‘+V±ØŽ‘2ˆuÖ1Ž‘i/€0Ž’ŸÖ‹1Ž’Ö}–0Ž’òÝØŽ’ $¡Ö1Ž’Cˬ0Ž’uÒ¹1Ž’£9È0Ž’Ò¯ØŽ’ÙàÓÖ1ŽŽ¡‘åÜ2Ž‘ûáj1Ž‘2ˆu0Ž‘i/€0Ž’˜¤ÇØŽ’ŸÖ‹Ö1Ž’Ö}–1Ž’ $¡0Ž’Cˬ0Ž’uÒ¹1Ž’£9È1Ž’ÙàÓ0ŽŽ¡‘åÜ3Ž‘ûáj.8660254Ž‘2ˆu.5Ž‘aý¼ØŽ‘i/€Ö.8660254Ž’˜¤ÇØŽ’ŸÖ‹Ö.5Ž’Ö}–0Ž’òÝØŽ’ $¡Ö1Ž’<™èØŽ’CˬÖ.8660254Ž’n õØŽ’uÒ¹Ö.5Ž’œØŽ’£9ÈÖ.8660254Ž’ÙàÓ.5ŽŽ¡‘åÜ4Ž‘ûáj.70710678Ž‘2ˆu.70710678Ž‘i/€1Ž’ŸÖ‹0Ž’Ö}–.70710678Ž’òÝØŽ’ $¡Ö.70710678Ž’Cˬ0Ž’n õØŽ’uÒ¹Ö1Ž’œØŽ’£9ÈÖ.70710678Ž’Ò¯ØŽ’ÙàÓÖ.70710678ŽŽ¡‘åÜ5Ž‘ûáj.587785Ž‘2ˆu.809017Ž‘i/€.951057Ž’ŸÖ‹.309017Ž’Ö}–.951057Ž’òÝØŽ’ $¡Ö.809017Ž’Cˬ.587785Ž’n õØŽ’uÒ¹Ö.809017Ž’£9È0Ž’Ò¯ØŽ’ÙàÓÖ1ŽŽ¡‘åÜ6Ž‘ûáj.5Ž‘2ˆu.8660254Ž‘i/€.8660254Ž’ŸÖ‹.5Ž’Ö}–1Ž’ $¡0Ž’<™èØŽ’CˬÖ.8660254Ž’n õØŽ’uÒ¹Ö.5Ž’£9È.5Ž’Ò¯ØŽ’ÙàÓÖ.8660254ŽŽ¡‘åÜ7Ž‘ûáj.433884Ž‘2ˆu.900969Ž‘i/€.781831Ž’ŸÖ‹.62349Ž’Ö}–.974928Ž’ $¡.222521Ž’Cˬ.974928Ž’n õØŽ’uÒ¹Ö.222521Ž’£9È.781831Ž’Ò¯ØŽ’ÙàÓÖ.62349ŽŽ¡‘åÜ8Ž‘ûáj.382683Ž‘2ˆu.92388Ž‘i/€.70710678Ž’ŸÖ‹.70710678Ž’Ö}–.92388Ž’ $¡.382683Ž’Cˬ1Ž’uÒ¹0Ž’£9È.92388Ž’Ò¯ØŽ’ÙàÓÖ.382683ŽŽ¡‘åÜ9Ž‘ûáj.34202Ž‘2ˆu.939693Ž‘i/€.642788Ž’ŸÖ‹.766044Ž’Ö}–.8660254Ž’ $¡.5Ž’Cˬ.984808Ž’uÒ¹.173648Ž’£9È.984808Ž’Ò¯ØŽ’ÙàÓÖ.173648ŽŽ¡‘ãŒ10Ž‘ûáj.309017Ž‘2ˆu.951057Ž‘i/€.587785Ž’ŸÖ‹.809017Ž’Ö}–.309017Ž’ $¡.951057Ž’Cˬ.951057Ž’uÒ¹.309017Ž’£9È1Ž’ÙàÓ0ŽŽ¡‘ãŒ11Ž‘ûáj.281733Ž‘2ˆu.959493Ž‘i/€.540641Ž’ŸÖ‹.841254Ž’Ö}–.75575Ž’ $¡.654861Ž’Cˬ.909632Ž’uÒ¹.415415Ž’£9È.989821Ž’ÙàÓ.142315ŽŽ¡‘ãŒ12Ž‘ûáj.258819Ž‘2ˆu.965926Ž‘i/€.5Ž’ŸÖ‹.8660254Ž’Ö}–.70710678Ž’ $¡.70710678Ž’Cˬ.8660254Ž’uÒ¹.5Ž’£9È.965926Ž’ÙàÓ.258819ŽŽŽŽŽŸ]Zª‘U÷¹Figure–¦f3.6:‘ÝÝT‘ÿerigonometry“tables“for“Pš²!olygon“v˜ertices.ŽŽŽŽŽŒ‹Ë<‘ Á à ý*tj‘ãŒÑ3.11.‘„CSMAR–ÿeT›¦fP“A“TH˜OPTION’; L¹459ŽŽ ¶??Ÿ•=å þ3/®‘㌟ ff‰ffã²dŸ {„‘yšSyn²!taxŽ’ ¶ActionŽŽŽŽŸ‡w‰ffã²dŸ …‘yšÇh¹knot-pieceÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘^öh¹pieceÇih¹scaleÇih¹knot-labMÞelsÇiŽ’ ¶¹in²!terpret‘¦fknot-pieceŽŽŽŽ¤ÿ†‘yšÇh¹pieceÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘^öh¹crossingÇi‘¦fjŽ‘ Wwh¹joinÇiŽ’ ¶¹piece–¦fis“a“crossingŸü¾²3.10aŽ‘퇹or“a“joinŸü¾²3.10lŽŽŽŽŽ¡‘yšÇh¹scaleÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘^öh¹empt•²!yÇi‘¦fjŽ‘ ýÝÏ-Ž‘ SÇjŽ‘!»dÏ[Ž‘'{Çh¹n“umÇiÏ]ŽŽ’ ¶¹in•²!v“ert–¦for“scale“the“knot“pieceŸü¾²3.10bŽ‘ÕZ¹;ŽŽŽŽŸ†‘bœmÇjŽ‘iM~Ï~Ž‘o (Çh¹p•MÞosÇih¹p“osÇih¹p“osÇih¹p“osÇiŽ’ ¶¹alter–¦fsize“and“shapšMÞeŸü¾²3.10cŽ‘_M¹using“the“Çh¹p˜osÇi¹sŽŽŽŽŸ™š‘yšÇh¹knot-labMÞelsÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘^öh¹empt²!yÇi‘¦fjŽ‘ Wwh¹knot-tipsÇih¹knot-labMÞelsÇiŽ’ ¶¹arroš²!wtips–¦fat“ends,“aligned“with“orien˜tationŽŽŽŽ¡‘bœmÇjŽ‘iM~h¹whereÇih¹whatÇih¹knot-labMÞelsÇiŽ’ ¶¹listŸü¾²3.10kŽ‘4¤¹of–¦farro²!wtips,“breaks“and“labMÞelsŸü¾²3.10eŽŽŽŽŽ¡‘bœmÇjŽ‘iM~Ï@Ž‘o (Çh¹adjustÇih¹knot-labMÞelsÇiŽ’ ¶¹adjust–¦fholeŸü¾²3.10dŽ‘{À¹pMÞosition“for“a“Çh¹crossingÇi¹;ŽŸ ™š’ ¶adjust–¦fother“parameterŸü¾²3.10nŽ‘{À¹for“a“Çh¹joinÇi¹.ŽŽŽŽ©Ao‘yšÇh¹knot-tipsÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘ié9Ï==Ž‘yóÇjŽ‘ÀÏ=!ŽŽ’ ¶¹arro²!wtipsŸü¾²3.10kŽ‘4¤¹at–¦fbMÞoth/neither“endŽŽŽŽŸÿ†‘bœmÇjŽ‘iM~Ï=<Ž‘xs8ÇjŽ‘$IÏ=>ŽŽ’ ¶¹arro²!wtipsŸü¾²3.10kŽ‘4¤¹also–¦fat“start/ nishŽŽŽŽ¡‘yšÇh¹whereÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘ié9Ï|Ž‘sOIÇjŽ‘zZÏ|Ž‘ÀÇh¹adjustÇiŽ’ ¶¹`o•²!v“er'–¦fstring“on“a“Çh¹crossingÇi¹;Ÿü¾²3.10fŽŽŸ ™š’ ¶¹middleŸü¾²3.10mŽ‘Bݹplace–¦fon“a“Çh¹joinÇi¹.ŽŽŽŽ¤Ao‘bœmÇjŽ‘iM~Ï<Ž‘r³ŽÇjŽ‘ydŸÏ<Ž‘$IÇh¹adjustÇiŽ’ ¶¹initial– qpMÞortion“of“`under'“string“on“a“Çh¹crossingÇi¹;Ÿü¾²3.10fŽŽŸ ™š’ ¶¹earlierŸü¾²3.10mŽ‘Bݹplace–¦fon“a“Çh¹joinÇi¹.ŽŽŽŽ¡‘bœmÇjŽ‘iM~Ï>Ž‘r³ŽÇjŽ‘ydŸÏ>Ž‘$IÇh¹adjustÇiŽ’ ¶¹ nal–¦fpMÞortion“of“`under'“string“on“a“Çh¹crossingÇi¹;Ÿü¾²3.10fŽŽŸ ™š’ ¶¹laterŸü¾²3.10mŽ‘Bݹplace–¦fon“a“Çh¹joinÇi¹.ŽŽŽŽ¦‘yšÇh¹adjustÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘ié9Ï(+Ž‘uhÇh¹n•²!umÇiÏ)Ž‘ fÇjŽ‘!Ï(-Ž‘–uÇh¹n“umÇiÏ)ŽŽ’ ¶¹adjustmen•²!tŸü¾²3.10kŽ‘4¤¹from›¦fcurren“t˜v‘ÿdDalue˜of˜parameterŽŽŽŽ¤ÿ†‘bœmÇjŽ‘iM~Ï(=Ž‘tÌÒÇh¹n•²!umÇiÏ)Ž‘ fÇjŽ‘!Ï(Ž‘ÖËÇh¹n“umÇiÏ)ŽŽ’ ¶¹set–¦fparameter“v‘ÿdDalueŸü¾²3.10kŽŽŽŽŽŸ»w‘yšÇh¹whatÇiŽ‘GØ#ŽŽŽ‘N‰8!ŽŽ‘ié9Ï>Ž‘sOIÇjŽ‘zZÏ<ŽŽ’ ¶¹arroš²!whead–¦faligned“with/against“orien˜tationŸü¾²3.10iŽŽŽŽŽŸ»w‘bœmÇjŽ‘iM~Ï\knotholeŽ’ °ÞÇjŽ’§aïÏ\kholeŽŽ’ ¶¹lea•²!v“e–¦fhole“in“the“stringŸü¾²3.10jŽŽŽŽŽŸ†‘bœmÇjŽ‘iM~Ï{Ž‘o (Çh¹textÇiÏ}ŽŽ’ ¶¹setŸü¾²3.10gŽ‘í‡Çh¹textÇi–¦f¹as“labMÞel,“using“Ï\labelstyleŽŽŽŽŽ¡‘bœmÇjŽ‘iM~Ï{*Ž‘tÌÒÇh¹ob‘›»jectÇiÏ}ŽŽ’ ¶¹drop‘¦fÇh¹ob‘›»jectÇiŸü¾²3.10hŽŽŽŽŽ¡‘bœmÇjŽ‘iM~Ï{Ž‘o (Çh¹anc²!horÇih¹itÇiÏ}ŽŽ’ ¶Çh¹breakÇi–¦f¹or“labMÞelŸü¾²3.10hŽ‘{À¹as“on“an“Çh¹arro²!wÇiŽŽŽŽ¡‘bœmjŽ‘iM~Ï|ŽŽ’ ¶¹n²!ull-breakŸü¾²3.10kŽŽŽŽŽŸzã‰ffã²dŸ Ÿ™š’ô½¹Figure–¦f3.7:‘ÝÝÇh¹knot-pieceÇi“¹construction“setŽŽŽŽŽŒ‹ÌQG Á à ý*tj‘㌹460’KÃ÷ÑCHAPTER‘¦f3.‘„CFEA‘ÿeTURESŽŽ ¶?? þ¥Ñ• þÙÞîŸ ™š‘:¸ïps: SDict begin xyc end‘ñ¹„Ÿýh0ï>" {mark 24.0 0.0 24.0 -6.0 28.5 -9.0 31.75 -10.5 0.0 0.0 bz}xyïC" {mark 31.75 -10.5 35.0 -12.0 37.0 -12.0 40.25 -13.5 0.0 0.0 bz}xyïB" {mark 40.25 -13.5 43.5 -15.0 48.0 -18.0 48.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘!ÍŸ®iï" {1504 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘-ŸLhÅyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï>" {mark 24.0 0.0 24.0 -6.0 28.5 -9.0 31.75 -10.5 0.0 1.0 bz}xyïC" {mark 31.75 -10.5 35.0 -12.0 37.0 -12.0 40.25 -13.5 0.0 1.0 bz}xyïB" {mark 40.25 -13.5 43.5 -15.0 48.0 -18.0 48.0 -24.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ï>" {mark 24.0 0.0 24.0 -6.0 28.5 -9.0 31.75 -10.5 1.0 1.0 bz}xyïC" {mark 31.75 -10.5 35.0 -12.0 37.0 -12.0 40.25 -13.5 1.0 1.0 bz}xyïB" {mark 40.25 -13.5 43.5 -15.0 48.0 -18.0 48.0 -24.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -24.0 24.0 -18.0 28.5 -15.0 31.75 -13.5 0.0 0.0 bz}xyïC" {mark 31.75 -13.5 35.0 -12.0 37.0 -12.0 40.25 -10.5 0.0 0.0 bz}xyï>" {mark 40.25 -10.5 43.5 -9.0 48.0 -6.0 48.0 0.0 0.0 0.0 bz}xyŽŽŽ‘ @ÿŸä‰ï" {-3632 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ŸêixŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -24.0 24.0 -18.0 28.5 -15.0 31.75 -13.5 0.0 1.0 bz}xyïG" {mark 31.75 -13.5 35.0 -12.0 37.0 -12.0 40.25 -10.5 0.0 0.19179 bz}xyï>" {mark 40.25 -10.5 43.5 -9.0 48.0 -6.0 48.0 0.0 0.0 0.0 bz}xyŽŽŽ‘!"=Ÿ'®ï" {-3632 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘_wŸ-ŽzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -24.0 24.0 -18.0 28.5 -15.0 31.75 -13.5 1.0 1.0 bz}xyïG" {mark 31.75 -13.5 35.0 -12.0 37.0 -12.0 40.25 -10.5 0.80812 1.0 bz}xyï>" {mark 40.25 -10.5 43.5 -9.0 48.0 -6.0 48.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -24.0 24.0 -18.0 28.5 -15.0 31.75 -13.5 1.0 1.0 bz}xyïC" {mark 31.75 -13.5 35.0 -12.0 37.0 -12.0 40.25 -10.5 1.0 1.0 bz}xyï>" {mark 40.25 -10.5 43.5 -9.0 48.0 -6.0 48.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ï>" {mark 72.0 0.0 72.0 -6.0 76.5 -9.0 79.75 -10.5 0.0 0.0 bz}xyïC" {mark 79.75 -10.5 83.0 -12.0 85.0 -12.0 88.25 -13.5 0.0 0.0 bz}xyïB" {mark 88.25 -13.5 91.5 -15.0 96.0 -18.0 96.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘;5ŸñŽï" {1504 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘3ŸùUxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï>" {mark 72.0 0.0 72.0 -6.0 76.5 -9.0 79.75 -10.5 0.0 1.0 bz}xyïG" {mark 79.75 -10.5 83.0 -12.0 85.0 -12.0 88.25 -13.5 0.0 0.19179 bz}xyïB" {mark 88.25 -13.5 91.5 -15.0 96.0 -18.0 96.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘QÍŸ®iï" {1504 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘I_wŸ¶0zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï>" {mark 72.0 0.0 72.0 -6.0 76.5 -9.0 79.75 -10.5 1.0 1.0 bz}xyïG" {mark 79.75 -10.5 83.0 -12.0 85.0 -12.0 88.25 -13.5 0.80812 1.0 bz}xyïB" {mark 88.25 -13.5 91.5 -15.0 96.0 -18.0 96.0 -24.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ï>" {mark 72.0 0.0 72.0 -6.0 76.5 -9.0 79.75 -10.5 1.0 1.0 bz}xyïC" {mark 79.75 -10.5 83.0 -12.0 85.0 -12.0 88.25 -13.5 1.0 1.0 bz}xyïB" {mark 88.25 -13.5 91.5 -15.0 96.0 -18.0 96.0 -24.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 72.0 -24.0 72.0 -18.0 76.5 -15.0 79.75 -13.5 0.0 0.0 bz}xyïC" {mark 79.75 -13.5 83.0 -12.0 85.0 -12.0 88.25 -10.5 0.0 0.0 bz}xyï>" {mark 88.25 -10.5 91.5 -9.0 96.0 -6.0 96.0 0.0 0.0 0.0 bz}xyŽŽŽ‘Q"=Ÿ'®ï" {-3632 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘I-žùyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 72.0 -24.0 72.0 -18.0 76.5 -15.0 79.75 -13.5 0.0 1.0 bz}xyïC" {mark 79.75 -13.5 83.0 -12.0 85.0 -12.0 88.25 -10.5 0.0 1.0 bz}xyï>" {mark 88.25 -10.5 91.5 -9.0 96.0 -6.0 96.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 72.0 -24.0 72.0 -18.0 76.5 -15.0 79.75 -13.5 1.0 1.0 bz}xyïC" {mark 79.75 -13.5 83.0 -12.0 85.0 -12.0 88.25 -10.5 1.0 1.0 bz}xyï>" {mark 88.25 -10.5 91.5 -9.0 96.0 -6.0 96.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 120.0 0.0 120.0 -6.0 124.5 -7.5 127.75 -8.25 0.0 0.0 bz}xyïE" {mark 127.75 -8.25 131.0 -9.0 133.0 -9.0 136.25 -8.25 0.0 0.0 bz}xyïB" {mark 136.25 -8.25 139.5 -7.5 144.0 -6.0 144.0 0.0 0.0 0.0 bz}xyŽŽŽ’6ŸÛ•ï" {-3744 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘y-ŸÿdyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 120.0 0.0 120.0 -6.0 124.5 -7.5 127.75 -8.25 0.0 1.0 bz}xyïE" {mark 127.75 -8.25 131.0 -9.0 133.0 -9.0 136.25 -8.25 0.0 1.0 bz}xyïB" {mark 136.25 -8.25 139.5 -7.5 144.0 -6.0 144.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 120.0 0.0 120.0 -6.0 124.5 -7.5 127.75 -8.25 1.0 1.0 bz}xyïE" {mark 127.75 -8.25 131.0 -9.0 133.0 -9.0 136.25 -8.25 1.0 1.0 bz}xyïB" {mark 136.25 -8.25 139.5 -7.5 144.0 -6.0 144.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 120.0 -24.0 120.0 -18.0 124.5 -16.5 127.75 -15.75 0.0 0.0 bz}xyïI" {mark 127.75 -15.75 131.0 -15.0 133.0 -15.0 136.25 -15.75 0.0 0.0 bz}xyïG" {mark 136.25 -15.75 139.5 -16.5 144.0 -18.0 144.0 -24.0 0.0 0.0 bz}xyŽŽŽ‘kU_ŸHÁï" {-3744 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘cŸ¾XxŽŽŽŽŽŽŽŽ’6ŸôÉï" {1696 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ƒª%Ÿ¾XzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 120.0 -24.0 120.0 -18.0 124.5 -16.5 127.75 -15.75 0.0 1.0 bz}xyïI" {mark 127.75 -15.75 131.0 -15.0 133.0 -15.0 136.25 -15.75 0.0 1.0 bz}xyïG" {mark 136.25 -15.75 139.5 -16.5 144.0 -18.0 144.0 -24.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 120.0 -24.0 120.0 -18.0 124.5 -16.5 127.75 -15.75 1.0 1.0 bz}xyïI" {mark 127.75 -15.75 131.0 -15.0 133.0 -15.0 136.25 -15.75 1.0 1.0 bz}xyïG" {mark 136.25 -15.75 139.5 -16.5 144.0 -18.0 144.0 -24.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -24.0 198.0 -24.0 201.0 -19.5 202.5 -16.25 0.0 0.0 bz}xyïF" {mark 202.5 -16.25 204.0 -13.0 204.0 -11.0 205.5 -7.75 0.0 0.0 bz}xyï@" {mark 205.5 -7.75 207.0 -4.5 210.0 0.0 216.0 0.0 0.0 0.0 bz}xyŽŽŽ’ÅÿÅŸþ ëï" {3552 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ÅN¾ŸéZyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -24.0 198.0 -24.0 201.0 -19.5 202.5 -16.25 0.0 1.0 bz}xyïF" {mark 202.5 -16.25 204.0 -13.0 204.0 -11.0 205.5 -7.75 0.0 1.0 bz}xyï@" {mark 205.5 -7.75 207.0 -4.5 210.0 0.0 216.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -24.0 198.0 -24.0 201.0 -19.5 202.5 -16.25 1.0 1.0 bz}xyïF" {mark 202.5 -16.25 204.0 -13.0 204.0 -11.0 205.5 -7.75 1.0 1.0 bz}xyï@" {mark 205.5 -7.75 207.0 -4.5 210.0 0.0 216.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 216.0 -24.0 210.0 -24.0 207.0 -19.5 205.5 -16.25 0.0 0.0 bz}xyïF" {mark 205.5 -16.25 204.0 -13.0 204.0 -11.0 202.5 -7.75 0.0 0.0 bz}xyï@" {mark 202.5 -7.75 201.0 -4.5 198.0 0.0 192.0 0.0 0.0 0.0 bz}xyŽŽŽ’Ä5åŸà¹ï" {-1584 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¿À“ŸʘxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 216.0 -24.0 210.0 -24.0 207.0 -19.5 205.5 -16.25 0.0 1.0 bz}xyïJ" {mark 205.5 -16.25 204.0 -13.0 204.0 -11.0 202.5 -7.75 0.0 0.19188 bz}xyï@" {mark 202.5 -7.75 201.0 -4.5 198.0 0.0 192.0 0.0 0.0 0.0 bz}xyŽŽŽ’µy Ÿýÿ{ï" {-1584 10 /cm AB}xyŽŽŽŽŽŽŽŽ’±eXŸéZzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 216.0 -24.0 210.0 -24.0 207.0 -19.5 205.5 -16.25 1.0 1.0 bz}xyïJ" {mark 205.5 -16.25 204.0 -13.0 204.0 -11.0 202.5 -7.75 0.80821 1.0 bz}xyï@" {mark 202.5 -7.75 201.0 -4.5 198.0 0.0 192.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 216.0 -24.0 210.0 -24.0 207.0 -19.5 205.5 -16.25 1.0 1.0 bz}xyïF" {mark 205.5 -16.25 204.0 -13.0 204.0 -11.0 202.5 -7.75 1.0 1.0 bz}xyï@" {mark 202.5 -7.75 201.0 -4.5 198.0 0.0 192.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -24.0 246.0 -24.0 249.0 -19.5 250.5 -16.25 0.0 0.0 bz}xyïF" {mark 250.5 -16.25 252.0 -13.0 252.0 -11.0 253.5 -7.75 0.0 0.0 bz}xyï@" {mark 253.5 -7.75 255.0 -4.5 258.0 0.0 264.0 0.0 0.0 0.0 bz}xyŽŽŽ’çBêŸì)ï" {3552 10 /cm AB}xyŽŽŽŽŽŽŽŽ’æ}½ŸʘxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -24.0 246.0 -24.0 249.0 -19.5 250.5 -16.25 0.0 1.0 bz}xyïJ" {mark 250.5 -16.25 252.0 -13.0 252.0 -11.0 253.5 -7.75 0.0 0.19188 bz}xyï@" {mark 253.5 -7.75 255.0 -4.5 258.0 0.0 264.0 0.0 0.0 0.0 bz}xyŽŽŽ’õÿÅŸþ ëï" {3552 10 /cm AB}xyŽŽŽŽŽŽŽŽ’õ\ŸéZzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -24.0 246.0 -24.0 249.0 -19.5 250.5 -16.25 1.0 1.0 bz}xyïJ" {mark 250.5 -16.25 252.0 -13.0 252.0 -11.0 253.5 -7.75 0.80821 1.0 bz}xyï@" {mark 253.5 -7.75 255.0 -4.5 258.0 0.0 264.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -24.0 246.0 -24.0 249.0 -19.5 250.5 -16.25 1.0 1.0 bz}xyïF" {mark 250.5 -16.25 252.0 -13.0 252.0 -11.0 253.5 -7.75 1.0 1.0 bz}xyï@" {mark 253.5 -7.75 255.0 -4.5 258.0 0.0 264.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 264.0 -24.0 258.0 -24.0 255.0 -19.5 253.5 -16.25 0.0 0.0 bz}xyïF" {mark 253.5 -16.25 252.0 -13.0 252.0 -11.0 250.5 -7.75 0.0 0.0 bz}xyï@" {mark 250.5 -7.75 249.0 -4.5 246.0 0.0 240.0 0.0 0.0 0.0 bz}xyŽŽŽ’åy Ÿýÿ{ï" {-1584 10 /cm AB}xyŽŽŽŽŽŽŽŽ’á>bŸéZyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 264.0 -24.0 258.0 -24.0 255.0 -19.5 253.5 -16.25 0.0 1.0 bz}xyïF" {mark 253.5 -16.25 252.0 -13.0 252.0 -11.0 250.5 -7.75 0.0 1.0 bz}xyï@" {mark 250.5 -7.75 249.0 -4.5 246.0 0.0 240.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 264.0 -24.0 258.0 -24.0 255.0 -19.5 253.5 -16.25 1.0 1.0 bz}xyïF" {mark 253.5 -16.25 252.0 -13.0 252.0 -11.0 250.5 -7.75 1.0 1.0 bz}xyï@" {mark 250.5 -7.75 249.0 -4.5 246.0 0.0 240.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 288.0 -24.0 294.0 -24.0 295.5 -19.5 296.25 -16.25 0.0 0.0 bz}xyïH" {mark 296.25 -16.25 297.0 -13.0 297.0 -11.0 296.25 -7.75 0.0 0.0 bz}xyïA" {mark 296.25 -7.75 295.5 -4.5 294.0 0.0 288.0 0.0 0.0 0.0 bz}xyŽŽŽ’,ñŸýëï" {-1696 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ScŸéZyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 288.0 -24.0 294.0 -24.0 295.5 -19.5 296.25 -16.25 0.0 1.0 bz}xyïH" {mark 296.25 -16.25 297.0 -13.0 297.0 -11.0 296.25 -7.75 0.0 1.0 bz}xyïA" {mark 296.25 -7.75 295.5 -4.5 294.0 0.0 288.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 288.0 -24.0 294.0 -24.0 295.5 -19.5 296.25 -16.25 1.0 1.0 bz}xyïH" {mark 296.25 -16.25 297.0 -13.0 297.0 -11.0 296.25 -7.75 1.0 1.0 bz}xyïA" {mark 296.25 -7.75 295.5 -4.5 294.0 0.0 288.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 312.0 -24.0 306.0 -24.0 304.5 -19.5 303.75 -16.25 0.0 0.0 bz}xyïH" {mark 303.75 -16.25 303.0 -13.0 303.0 -11.0 303.75 -7.75 0.0 0.0 bz}xyïA" {mark 303.75 -7.75 304.5 -4.5 306.0 0.0 312.0 0.0 0.0 0.0 bz}xyŽŽŽ’$šŸÌYï" {-1696 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¾ŸʘxŽŽŽŽŽŽŽŽ’&F%Ÿýëï" {3744 10 /cm AB}xyŽŽŽŽŽŽŽŽ’êEŸûw“zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 312.0 -24.0 306.0 -24.0 304.5 -19.5 303.75 -16.25 0.0 1.0 bz}xyïH" {mark 303.75 -16.25 303.0 -13.0 303.0 -11.0 303.75 -7.75 0.0 1.0 bz}xyïA" {mark 303.75 -7.75 304.5 -4.5 306.0 0.0 312.0 0.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 312.0 -24.0 306.0 -24.0 304.5 -19.5 303.75 -16.25 1.0 1.0 bz}xyïH" {mark 303.75 -16.25 303.0 -13.0 303.0 -11.0 303.75 -7.75 1.0 1.0 bz}xyïA" {mark 303.75 -7.75 304.5 -4.5 306.0 0.0 312.0 0.0 1.0 1.0 bz}xyŽŽŽŸ$vj‘Yã\vcrossŽŽŽŽŽŽŽŽŽŸ#Ä¢‘+y“\vcrossnegŽŽŽŽŽŽŽŽŽŸ$vj‘^’\vuncrossŽŽŽŽŽŽŽŽŽŸ$vj’«Y\hcrossŽŽŽŽŽŽŽŽŽŸ#Ä¢’Óy“\hcrossnegŽŽŽŽŽŽŽŽŽŸ$vj’’\huncrossŽŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 48.0 -72.0 48.0 -78.0 43.5 -81.0 40.25 -82.5 0.0 0.0 bz}xyïC" {mark 40.25 -82.5 37.0 -84.0 35.0 -84.0 31.75 -85.5 0.0 0.0 bz}xyïB" {mark 31.75 -85.5 28.5 -87.0 24.0 -90.0 24.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘ \GŸY®iï" {544 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘KÚŸW$hÅyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 48.0 -72.0 48.0 -78.0 43.5 -81.0 40.25 -82.5 0.0 1.0 bz}xyïC" {mark 40.25 -82.5 37.0 -84.0 35.0 -84.0 31.75 -85.5 0.0 1.0 bz}xyïB" {mark 31.75 -85.5 28.5 -87.0 24.0 -90.0 24.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 48.0 -72.0 48.0 -78.0 43.5 -81.0 40.25 -82.5 1.0 1.0 bz}xyïC" {mark 40.25 -82.5 37.0 -84.0 35.0 -84.0 31.75 -85.5 1.0 1.0 bz}xyïB" {mark 31.75 -85.5 28.5 -87.0 24.0 -90.0 24.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -72.0 24.0 -78.0 28.5 -81.0 31.75 -82.5 0.0 0.0 bz}xyïC" {mark 31.75 -82.5 35.0 -84.0 37.0 -84.0 40.25 -85.5 0.0 0.0 bz}xyïB" {mark 40.25 -85.5 43.5 -87.0 48.0 -90.0 48.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘ 5ŸJñŽï" {1504 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ ÈçŸI‹ÿxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -72.0 24.0 -78.0 28.5 -81.0 31.75 -82.5 0.0 1.0 bz}xyïG" {mark 31.75 -82.5 35.0 -84.0 37.0 -84.0 40.25 -85.5 0.0 0.19179 bz}xyïB" {mark 40.25 -85.5 43.5 -87.0 48.0 -90.0 48.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘!ÍŸY®iï" {1504 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘#ª%ŸXHÚzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -72.0 24.0 -78.0 28.5 -81.0 31.75 -82.5 1.0 1.0 bz}xyïG" {mark 31.75 -82.5 35.0 -84.0 37.0 -84.0 40.25 -85.5 0.80812 1.0 bz}xyïB" {mark 40.25 -85.5 43.5 -87.0 48.0 -90.0 48.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 24.0 -72.0 24.0 -78.0 28.5 -81.0 31.75 -82.5 1.0 1.0 bz}xyïC" {mark 31.75 -82.5 35.0 -84.0 37.0 -84.0 40.25 -85.5 1.0 1.0 bz}xyïB" {mark 40.25 -85.5 43.5 -87.0 48.0 -90.0 48.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 96.0 -72.0 96.0 -78.0 91.5 -81.0 88.25 -82.5 0.0 0.0 bz}xyïC" {mark 88.25 -82.5 85.0 -84.0 83.0 -84.0 79.75 -85.5 0.0 0.0 bz}xyïB" {mark 79.75 -85.5 76.5 -87.0 72.0 -90.0 72.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘P=…ŸJñŽï" {544 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘Há>ŸI‹ÿxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 96.0 -72.0 96.0 -78.0 91.5 -81.0 88.25 -82.5 0.0 1.0 bz}xyïG" {mark 88.25 -82.5 85.0 -84.0 83.0 -84.0 79.75 -85.5 0.0 0.19188 bz}xyïB" {mark 79.75 -85.5 76.5 -87.0 72.0 -90.0 72.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘:\GŸY®iï" {544 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘3~9ŸXHÚzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 96.0 -72.0 96.0 -78.0 91.5 -81.0 88.25 -82.5 1.0 1.0 bz}xyïG" {mark 88.25 -82.5 85.0 -84.0 83.0 -84.0 79.75 -85.5 0.80821 1.0 bz}xyïB" {mark 79.75 -85.5 76.5 -87.0 72.0 -90.0 72.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 96.0 -72.0 96.0 -78.0 91.5 -81.0 88.25 -82.5 1.0 1.0 bz}xyïC" {mark 88.25 -82.5 85.0 -84.0 83.0 -84.0 79.75 -85.5 1.0 1.0 bz}xyïB" {mark 79.75 -85.5 76.5 -87.0 72.0 -90.0 72.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 72.0 -72.0 72.0 -78.0 76.5 -81.0 79.75 -82.5 0.0 0.0 bz}xyïC" {mark 79.75 -82.5 83.0 -84.0 85.0 -84.0 88.25 -85.5 0.0 0.0 bz}xyïB" {mark 88.25 -85.5 91.5 -87.0 96.0 -90.0 96.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘QÍŸY®iï" {1504 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘Sª%ŸW$hyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 72.0 -72.0 72.0 -78.0 76.5 -81.0 79.75 -82.5 0.0 1.0 bz}xyïC" {mark 79.75 -82.5 83.0 -84.0 85.0 -84.0 88.25 -85.5 0.0 1.0 bz}xyïB" {mark 88.25 -85.5 91.5 -87.0 96.0 -90.0 96.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïB" {mark 72.0 -72.0 72.0 -78.0 76.5 -81.0 79.75 -82.5 1.0 1.0 bz}xyïC" {mark 79.75 -82.5 83.0 -84.0 85.0 -84.0 88.25 -85.5 1.0 1.0 bz}xyïB" {mark 88.25 -85.5 91.5 -87.0 96.0 -90.0 96.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 144.0 -72.0 144.0 -75.0 141.0 -78.0 139.5 -80.5 0.0 0.0 bz}xyïE" {mark 139.5 -80.5 138.0 -83.0 138.0 -85.0 139.5 -87.5 0.0 0.0 bz}xyïE" {mark 139.5 -87.5 141.0 -90.0 144.0 -93.0 144.0 -96.0 0.0 0.0 bz}xyŽŽŽ’€á ŸZ:ï" {1712 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ƒPŸV¦óyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 144.0 -72.0 144.0 -75.0 141.0 -78.0 139.5 -80.5 0.0 1.0 bz}xyïE" {mark 139.5 -80.5 138.0 -83.0 138.0 -85.0 139.5 -87.5 0.0 1.0 bz}xyïE" {mark 139.5 -87.5 141.0 -90.0 144.0 -93.0 144.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 144.0 -72.0 144.0 -75.0 141.0 -78.0 139.5 -80.5 1.0 1.0 bz}xyïE" {mark 139.5 -80.5 138.0 -83.0 138.0 -85.0 139.5 -87.5 1.0 1.0 bz}xyïE" {mark 139.5 -87.5 141.0 -90.0 144.0 -93.0 144.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 120.0 -72.0 120.0 -75.0 123.0 -78.0 124.5 -80.5 0.0 0.0 bz}xyïE" {mark 124.5 -80.5 126.0 -83.0 126.0 -85.0 124.5 -87.5 0.0 0.0 bz}xyïE" {mark 124.5 -87.5 123.0 -90.0 120.0 -93.0 120.0 -96.0 0.0 0.0 bz}xyŽŽŽ‘k´ŸJ<*ï" {1712 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘n# ŸGõåxŽŽŽŽŽŽŽŽ‘j–›ŸZ=,ï" {344 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘n# Ÿ^B×zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 120.0 -72.0 120.0 -75.0 123.0 -78.0 124.5 -80.5 0.0 1.0 bz}xyïE" {mark 124.5 -80.5 126.0 -83.0 126.0 -85.0 124.5 -87.5 0.0 1.0 bz}xyïE" {mark 124.5 -87.5 123.0 -90.0 120.0 -93.0 120.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 120.0 -72.0 120.0 -75.0 123.0 -78.0 124.5 -80.5 1.0 1.0 bz}xyïE" {mark 124.5 -80.5 126.0 -83.0 126.0 -85.0 124.5 -87.5 1.0 1.0 bz}xyïE" {mark 124.5 -87.5 123.0 -90.0 120.0 -93.0 120.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -72.0 198.0 -72.0 201.0 -76.5 202.5 -79.75 0.0 0.0 bz}xyïG" {mark 202.5 -79.75 204.0 -83.0 204.0 -85.0 205.5 -88.25 0.0 0.0 bz}xyïF" {mark 205.5 -88.25 207.0 -91.5 210.0 -96.0 216.0 -96.0 0.0 0.0 bz}xyŽŽŽ’ÅÿÅŸ\Åqï" {2592 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Àd ŸbʘyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -72.0 198.0 -72.0 201.0 -76.5 202.5 -79.75 0.0 1.0 bz}xyïG" {mark 202.5 -79.75 204.0 -83.0 204.0 -85.0 205.5 -88.25 0.0 1.0 bz}xyïF" {mark 205.5 -88.25 207.0 -91.5 210.0 -96.0 216.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -72.0 198.0 -72.0 201.0 -76.5 202.5 -79.75 1.0 1.0 bz}xyïG" {mark 202.5 -79.75 204.0 -83.0 204.0 -85.0 205.5 -88.25 1.0 1.0 bz}xyïF" {mark 205.5 -88.25 207.0 -91.5 210.0 -96.0 216.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -96.0 198.0 -96.0 201.0 -91.5 202.5 -88.25 0.0 0.0 bz}xyïG" {mark 202.5 -88.25 204.0 -85.0 204.0 -83.0 205.5 -79.75 0.0 0.0 bz}xyïF" {mark 205.5 -79.75 207.0 -76.5 210.0 -72.0 216.0 -72.0 0.0 0.0 bz}xyŽŽŽ’·BêŸ[ì)ï" {3552 10 /cm AB}xyŽŽŽŽŽŽŽŽ’±o‘ŸYXÑxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -96.0 198.0 -96.0 201.0 -91.5 202.5 -88.25 0.0 1.0 bz}xyïK" {mark 202.5 -88.25 204.0 -85.0 204.0 -83.0 205.5 -79.75 0.0 0.19188 bz}xyïF" {mark 205.5 -79.75 207.0 -76.5 210.0 -72.0 216.0 -72.0 0.0 0.0 bz}xyŽŽŽ’ÅÿÅŸF ëï" {3552 10 /cm AB}xyŽŽŽŽŽŽŽŽ’À‰ŸCw“zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -96.0 198.0 -96.0 201.0 -91.5 202.5 -88.25 1.0 1.0 bz}xyïK" {mark 202.5 -88.25 204.0 -85.0 204.0 -83.0 205.5 -79.75 0.80821 1.0 bz}xyïF" {mark 205.5 -79.75 207.0 -76.5 210.0 -72.0 216.0 -72.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 192.0 -96.0 198.0 -96.0 201.0 -91.5 202.5 -88.25 1.0 1.0 bz}xyïG" {mark 202.5 -88.25 204.0 -85.0 204.0 -83.0 205.5 -79.75 1.0 1.0 bz}xyïF" {mark 205.5 -79.75 207.0 -76.5 210.0 -72.0 216.0 -72.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -72.0 246.0 -72.0 249.0 -76.5 250.5 -79.75 0.0 0.0 bz}xyïG" {mark 250.5 -79.75 252.0 -83.0 252.0 -85.0 253.5 -88.25 0.0 0.0 bz}xyïF" {mark 253.5 -88.25 255.0 -91.5 258.0 -96.0 264.0 -96.0 0.0 0.0 bz}xyŽŽŽ’çBêŸFä3ï" {2592 10 /cm AB}xyŽŽŽŽŽŽŽŽ’áo‘ŸLéZxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -72.0 246.0 -72.0 249.0 -76.5 250.5 -79.75 0.0 1.0 bz}xyïK" {mark 250.5 -79.75 252.0 -83.0 252.0 -85.0 253.5 -88.25 0.0 0.19179 bz}xyïF" {mark 253.5 -88.25 255.0 -91.5 258.0 -96.0 264.0 -96.0 0.0 0.0 bz}xyŽŽŽ’õÿÅŸ\Åqï" {2592 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ð‰ŸbʘzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -72.0 246.0 -72.0 249.0 -76.5 250.5 -79.75 1.0 1.0 bz}xyïK" {mark 250.5 -79.75 252.0 -83.0 252.0 -85.0 253.5 -88.25 0.80812 1.0 bz}xyïF" {mark 253.5 -88.25 255.0 -91.5 258.0 -96.0 264.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -72.0 246.0 -72.0 249.0 -76.5 250.5 -79.75 1.0 1.0 bz}xyïG" {mark 250.5 -79.75 252.0 -83.0 252.0 -85.0 253.5 -88.25 1.0 1.0 bz}xyïF" {mark 253.5 -88.25 255.0 -91.5 258.0 -96.0 264.0 -96.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -96.0 246.0 -96.0 249.0 -91.5 250.5 -88.25 0.0 0.0 bz}xyïG" {mark 250.5 -88.25 252.0 -85.0 252.0 -83.0 253.5 -79.75 0.0 0.0 bz}xyïF" {mark 253.5 -79.75 255.0 -76.5 258.0 -72.0 264.0 -72.0 0.0 0.0 bz}xyŽŽŽ’õÿÅŸF ëï" {3552 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ðd ŸAéZyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -96.0 246.0 -96.0 249.0 -91.5 250.5 -88.25 0.0 1.0 bz}xyïG" {mark 250.5 -88.25 252.0 -85.0 252.0 -83.0 253.5 -79.75 0.0 1.0 bz}xyïF" {mark 253.5 -79.75 255.0 -76.5 258.0 -72.0 264.0 -72.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïF" {mark 240.0 -96.0 246.0 -96.0 249.0 -91.5 250.5 -88.25 1.0 1.0 bz}xyïG" {mark 250.5 -88.25 252.0 -85.0 252.0 -83.0 253.5 -79.75 1.0 1.0 bz}xyïF" {mark 253.5 -79.75 255.0 -76.5 258.0 -72.0 264.0 -72.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 288.0 -72.0 291.0 -72.0 294.0 -75.0 296.5 -76.5 0.0 0.0 bz}xyïE" {mark 296.5 -76.5 299.0 -78.0 301.0 -78.0 303.5 -76.5 0.0 0.0 bz}xyïE" {mark 303.5 -76.5 306.0 -75.0 309.0 -72.0 312.0 -72.0 0.0 0.0 bz}xyŽŽŽ’&ŽˆŸFE?ï" {3752 10 /cm AB}xyŽŽŽŽŽŽŽŽ’þuŸBC~yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 288.0 -72.0 291.0 -72.0 294.0 -75.0 296.5 -76.5 0.0 1.0 bz}xyïE" {mark 296.5 -76.5 299.0 -78.0 301.0 -78.0 303.5 -76.5 0.0 1.0 bz}xyïE" {mark 303.5 -76.5 306.0 -75.0 309.0 -72.0 312.0 -72.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 288.0 -72.0 291.0 -72.0 294.0 -75.0 296.5 -76.5 1.0 1.0 bz}xyïE" {mark 296.5 -76.5 299.0 -78.0 301.0 -78.0 303.5 -76.5 1.0 1.0 bz}xyïE" {mark 303.5 -76.5 306.0 -75.0 309.0 -72.0 312.0 -72.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 288.0 -96.0 291.0 -96.0 294.0 -93.0 296.5 -91.5 0.0 0.0 bz}xyïE" {mark 296.5 -91.5 299.0 -90.0 301.0 -90.0 303.5 -91.5 0.0 0.0 bz}xyïE" {mark 303.5 -91.5 306.0 -93.0 309.0 -96.0 312.0 -96.0 0.0 0.0 bz}xyŽŽŽ’–Ÿ[r6ï" {3752 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ÁfŸXþ®xŽŽŽŽŽŽŽŽ’&ŽˆŸ\‹ï" {2384 10 /cm AB}xyŽŽŽŽŽŽŽŽ’'@ŸXþ®zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 288.0 -96.0 291.0 -96.0 294.0 -93.0 296.5 -91.5 0.0 1.0 bz}xyïE" {mark 296.5 -91.5 299.0 -90.0 301.0 -90.0 303.5 -91.5 0.0 1.0 bz}xyïE" {mark 303.5 -91.5 306.0 -93.0 309.0 -96.0 312.0 -96.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïE" {mark 288.0 -96.0 291.0 -96.0 294.0 -93.0 296.5 -91.5 1.0 1.0 bz}xyïE" {mark 296.5 -91.5 299.0 -90.0 301.0 -90.0 303.5 -91.5 1.0 1.0 bz}xyïE" {mark 303.5 -91.5 306.0 -93.0 309.0 -96.0 312.0 -96.0 1.0 1.0 bz}xyŽŽŽŸlvj‘Yã\vtwistŽŽŽŽŽŽŽŽŽŸkÄ¢‘+y“\vtwistnegŽŽŽŽŽŽŽŽŽŸlvj‘^’\vuntwistŽŽŽŽŽŽŽŽŽŸlvj’«Y\htwistŽŽŽŽŽŽŽŽŽŸkÄ¢’Óy“\htwistnegŽŽŽŽŽŽŽŽŽŸlvj’’\huntwistŽŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 24.0 -168.0 36.0 -156.0 48.0 -144.0 0.0 0.0 q}xyŽŽŽ‘k„ ‘¶0ï" {0 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘! „ —r÷ÅyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 24.0 -168.0 36.0 -156.0 48.0 -144.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 24.0 -168.0 36.0 -156.0 48.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 48.0 -168.0 36.0 -156.0 24.0 -144.0 0.0 0.0 q}xyŽŽŽ‘Œ ‘¶0ï" {2048 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘‰ —r÷xŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï<" {mark 48.0 -168.0 36.0 -156.0 24.0 -144.0 0.0 0.39584 q}xyŽŽŽ‘ÕŒ ¢„0ï" {2048 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ÕÖ ¨@÷zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï<" {mark 48.0 -168.0 36.0 -156.0 24.0 -144.0 0.60416 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 48.0 -168.0 36.0 -156.0 24.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 72.0 -168.0 84.0 -156.0 96.0 -144.0 0.0 0.0 q}xyŽŽŽ‘Mk„ ‘¶0ï" {0 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘Q „ —r÷xŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï<" {mark 72.0 -168.0 84.0 -156.0 96.0 -144.0 0.0 0.39584 q}xyŽŽŽ‘<„ ¢„0ï" {0 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘@R„ ¨@÷zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï<" {mark 72.0 -168.0 84.0 -156.0 96.0 -144.0 0.60416 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 72.0 -168.0 84.0 -156.0 96.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 96.0 -168.0 84.0 -156.0 72.0 -144.0 0.0 0.0 q}xyŽŽŽ‘>Œ ‘¶0ï" {2048 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘5Õw —r÷yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 96.0 -168.0 84.0 -156.0 72.0 -144.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï8" {mark 96.0 -168.0 84.0 -156.0 72.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 144.0 -168.0 132.0 -156.0 144.0 -144.0 0.0 0.0 q}xyŽŽŽ‘}` “Èï" {411 10 /cm AB}xyŽŽŽŽŽŽŽŽ’€â© –o÷yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 144.0 -168.0 132.0 -156.0 144.0 -144.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 144.0 -168.0 132.0 -156.0 144.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 120.0 -168.0 132.0 -156.0 120.0 -144.0 0.0 0.0 q}xyŽŽŽ‘n “Èï" {1640 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘pa ‘[xŽŽŽŽŽŽŽŽ‘m ¹ ¡wÈï" {411 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘pa ¥'zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 120.0 -168.0 132.0 -156.0 120.0 -144.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 120.0 -168.0 132.0 -156.0 120.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 216.0 -168.0 204.0 -156.0 192.0 -144.0 0.0 0.0 q}xyŽŽŽ’¶Œ ‘¶0ï" {2048 10 /cm AB}xyŽŽŽŽŽŽŽŽ’­Õw —r÷yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 216.0 -168.0 204.0 -156.0 192.0 -144.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 216.0 -168.0 204.0 -156.0 192.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 216.0 -144.0 204.0 -156.0 192.0 -168.0 0.0 0.0 q}xyŽŽŽ’¶Œ ¡(ï" {-4096 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¸R„ ¨@÷xŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï?" {mark 216.0 -144.0 204.0 -156.0 192.0 -168.0 0.0 0.39584 q}xyŽŽŽ’ÆÕŒ L(ï" {-4096 10 /cm AB}xyŽŽŽŽŽŽŽŽ’É „ —r÷zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï?" {mark 216.0 -144.0 204.0 -156.0 192.0 -168.0 0.60416 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 216.0 -144.0 204.0 -156.0 192.0 -168.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 264.0 -168.0 252.0 -156.0 240.0 -144.0 0.0 0.0 q}xyŽŽŽ’æŒ ‘¶0ï" {2048 10 /cm AB}xyŽŽŽŽŽŽŽŽ’݉ —r÷xŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï?" {mark 264.0 -168.0 252.0 -156.0 240.0 -144.0 0.0 0.39584 q}xyŽŽŽ’öÕŒ ¢„0ï" {2048 10 /cm AB}xyŽŽŽŽŽŽŽŽ’îÕÖ ¨@÷zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï?" {mark 264.0 -168.0 252.0 -156.0 240.0 -144.0 0.60416 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 264.0 -168.0 252.0 -156.0 240.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 264.0 -144.0 252.0 -156.0 240.0 -168.0 0.0 0.0 q}xyŽŽŽ’öÕŒ L(ï" {-4096 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ù „ —r÷yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 264.0 -144.0 252.0 -156.0 240.0 -168.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 264.0 -144.0 252.0 -156.0 240.0 -168.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 312.0 -144.0 300.0 -156.0 288.0 -144.0 0.0 0.0 q}xyŽŽŽ’%É$ ¼]ï" {3685 10 /cm AB}xyŽŽŽŽŽŽŽŽ’‰€ Œ°ÔyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 312.0 -144.0 300.0 -156.0 288.0 -144.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 312.0 -144.0 300.0 -156.0 288.0 -144.0 1.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 312.0 -168.0 300.0 -156.0 288.0 -168.0 0.0 0.0 q}xyŽŽŽ’b$ ¡¥ï" {3685 10 /cm AB}xyŽŽŽŽŽŽŽŽ’åÖ ž‘UxŽŽŽŽŽŽŽŽ’%É$ ¢ýï" {2456 10 /cm AB}xyŽŽŽŽŽŽŽŽ’%à$ ž‘UzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 312.0 -168.0 300.0 -156.0 288.0 -168.0 0.0 1.0 q}xyŽŽŽ‘ñ¹„Ÿýh0ï;" {mark 312.0 -168.0 300.0 -156.0 288.0 -168.0 1.0 1.0 q}xyŽŽŽ ´vj‘Yã\xovervŽŽŽŽŽŽŽŽŽ ´vj‘0¹\xundervŽŽŽŽŽŽŽŽŽ ´vj‘^’\xunovervŽŽŽŽŽŽŽŽŽ ´vj’«Y\xoverhŽŽŽŽŽŽŽŽŽ ´vj’ع\xunderhŽŽŽŽŽŽŽŽŽ ´vj’’\xunoverhŽŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -216.0 30.0 -216.0 34.5 -217.5 37.75 -219.25 0.0 0.0 bz}xyïI" {mark 37.75 -219.25 41.0 -221.0 43.0 -223.0 44.75 -226.25 0.0 0.0 bz}xyïG" {mark 44.75 -226.25 46.5 -229.5 48.0 -234.0 48.0 -240.0 0.0 0.0 bz}xyŽŽŽ‘ ³, årï" {1376 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘#_ô ã:)ÅyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -216.0 30.0 -216.0 34.5 -217.5 37.75 -219.25 0.0 1.0 bz}xyïI" {mark 37.75 -219.25 41.0 -221.0 43.0 -223.0 44.75 -226.25 0.0 1.0 bz}xyïG" {mark 44.75 -226.25 46.5 -229.5 48.0 -234.0 48.0 -240.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -216.0 30.0 -216.0 34.5 -217.5 37.75 -219.25 1.0 1.0 bz}xyïI" {mark 37.75 -219.25 41.0 -221.0 43.0 -223.0 44.75 -226.25 1.0 1.0 bz}xyïG" {mark 44.75 -226.25 46.5 -229.5 48.0 -234.0 48.0 -240.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -240.0 24.0 -234.0 25.5 -229.5 27.25 -226.25 0.0 0.0 bz}xyïI" {mark 27.25 -226.25 29.0 -223.0 31.0 -221.0 34.25 -219.25 0.0 0.0 bz}xyïG" {mark 34.25 -219.25 37.5 -217.5 42.0 -216.0 48.0 -216.0 0.0 0.0 bz}xyŽŽŽ‘ fS ã:Jï" {-3424 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘J4 äE¸xŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -240.0 24.0 -234.0 25.5 -229.5 27.25 -226.25 0.0 1.0 bz}xyïM" {mark 27.25 -226.25 29.0 -223.0 31.0 -221.0 34.25 -219.25 0.0 0.92865 bz}xyïG" {mark 34.25 -219.25 37.5 -217.5 42.0 -216.0 48.0 -216.0 0.0 0.0 bz}xyŽŽŽ‘µÒ ÕŸ½ï" {3220 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘Õ& ÒÇEzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -240.0 24.0 -234.0 25.5 -229.5 27.25 -226.25 1.0 1.0 bz}xyïI" {mark 27.25 -226.25 29.0 -223.0 31.0 -221.0 34.25 -219.25 1.0 1.0 bz}xyïJ" {mark 34.25 -219.25 37.5 -217.5 42.0 -216.0 48.0 -216.0 0.3849 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 24.0 -240.0 24.0 -234.0 25.5 -229.5 27.25 -226.25 1.0 1.0 bz}xyïI" {mark 27.25 -226.25 29.0 -223.0 31.0 -221.0 34.25 -219.25 1.0 1.0 bz}xyïG" {mark 34.25 -219.25 37.5 -217.5 42.0 -216.0 48.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 72.0 -216.0 78.0 -216.0 82.5 -217.5 85.75 -219.25 0.0 0.0 bz}xyïI" {mark 85.75 -219.25 89.0 -221.0 91.0 -223.0 92.75 -226.25 0.0 0.0 bz}xyïG" {mark 92.75 -226.25 94.5 -229.5 96.0 -234.0 96.0 -240.0 0.0 0.0 bz}xyŽŽŽ‘?· ÕîÅï" {2916 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘=( ÒÇExŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïJ" {mark 72.0 -216.0 78.0 -216.0 82.5 -217.5 85.75 -219.25 0.0 0.6151 bz}xyïI" {mark 85.75 -219.25 89.0 -221.0 91.0 -223.0 92.75 -226.25 0.0 0.0 bz}xyïG" {mark 92.75 -226.25 94.5 -229.5 96.0 -234.0 96.0 -240.0 0.0 0.0 bz}xyŽŽŽ‘P³, årï" {1376 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘S_ô äE¸zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 72.0 -216.0 78.0 -216.0 82.5 -217.5 85.75 -219.25 1.0 1.0 bz}xyïL" {mark 85.75 -219.25 89.0 -221.0 91.0 -223.0 92.75 -226.25 0.0714 1.0 bz}xyïG" {mark 92.75 -226.25 94.5 -229.5 96.0 -234.0 96.0 -240.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 72.0 -216.0 78.0 -216.0 82.5 -217.5 85.75 -219.25 1.0 1.0 bz}xyïI" {mark 85.75 -219.25 89.0 -221.0 91.0 -223.0 92.75 -226.25 1.0 1.0 bz}xyïG" {mark 92.75 -226.25 94.5 -229.5 96.0 -234.0 96.0 -240.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 72.0 -240.0 72.0 -234.0 73.5 -229.5 75.25 -226.25 0.0 0.0 bz}xyïI" {mark 75.25 -226.25 77.0 -223.0 79.0 -221.0 82.25 -219.25 0.0 0.0 bz}xyïG" {mark 82.25 -219.25 85.5 -217.5 90.0 -216.0 96.0 -216.0 0.0 0.0 bz}xyŽŽŽ‘;fS ã:Jï" {-3424 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘3– ã:)yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 72.0 -240.0 72.0 -234.0 73.5 -229.5 75.25 -226.25 0.0 1.0 bz}xyïI" {mark 75.25 -226.25 77.0 -223.0 79.0 -221.0 82.25 -219.25 0.0 1.0 bz}xyïG" {mark 82.25 -219.25 85.5 -217.5 90.0 -216.0 96.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïG" {mark 72.0 -240.0 72.0 -234.0 73.5 -229.5 75.25 -226.25 1.0 1.0 bz}xyïI" {mark 75.25 -226.25 77.0 -223.0 79.0 -221.0 82.25 -219.25 1.0 1.0 bz}xyïG" {mark 82.25 -219.25 85.5 -217.5 90.0 -216.0 96.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïQ" {mark 120.0 -216.0 126.0 -216.0 129.0 -218.10004 132.0 -218.10004 0.0 0.0 bz}xyïQ" {mark 132.0 -218.10004 135.0 -218.10004 138.0 -216.0 144.0 -216.0 0.0 0.0 bz}xyŽŽŽ‘|¾v ÕçGï" {3328 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘x7ö Ñ—&yŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïQ" {mark 120.0 -216.0 126.0 -216.0 129.0 -218.10004 132.0 -218.10004 0.0 1.0 bz}xyïQ" {mark 132.0 -218.10004 135.0 -218.10004 138.0 -216.0 144.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïQ" {mark 120.0 -216.0 126.0 -216.0 129.0 -218.10004 132.0 -218.10004 1.0 1.0 bz}xyïQ" {mark 132.0 -218.10004 135.0 -218.10004 138.0 -216.0 144.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 120.0 -240.0 120.0 -234.0 121.5 -231.0 123.75 -228.70001 0.0 0.0 bz}xyïZ" {mark 123.75 -228.70001 126.0 -226.40002 129.0 -224.80005 132.0 -224.80005 0.0 0.0 bz}xyïZ" {mark 132.0 -224.80005 135.0 -224.80005 138.0 -226.40002 140.25 -228.70001 0.0 0.0 bz}xyïN" {mark 140.25 -228.70001 142.5 -231.0 144.0 -234.0 144.0 -240.0 0.0 0.0 bz}xyŽŽŽ‘jªå æ‰uï" {-3360 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘bœ® çäÉxŽŽŽŽŽŽŽŽ’RÊ èvMï" {1301 10 /cm AB}xyŽŽŽŽŽŽŽŽ’„ z çð—zŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 120.0 -240.0 120.0 -234.0 121.5 -231.0 123.75 -228.70001 0.0 1.0 bz}xyïZ" {mark 123.75 -228.70001 126.0 -226.40002 129.0 -224.80005 132.0 -224.80005 0.0 1.0 bz}xyïZ" {mark 132.0 -224.80005 135.0 -224.80005 138.0 -226.40002 140.25 -228.70001 0.0 1.0 bz}xyïN" {mark 140.25 -228.70001 142.5 -231.0 144.0 -234.0 144.0 -240.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 120.0 -240.0 120.0 -234.0 121.5 -231.0 123.75 -228.70001 1.0 1.0 bz}xyïZ" {mark 123.75 -228.70001 126.0 -226.40002 129.0 -224.80005 132.0 -224.80005 1.0 1.0 bz}xyïZ" {mark 132.0 -224.80005 135.0 -224.80005 138.0 -226.40002 140.25 -228.70001 1.0 1.0 bz}xyïN" {mark 140.25 -228.70001 142.5 -231.0 144.0 -234.0 144.0 -240.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 192.0 -240.0 192.0 -234.0 193.5 -229.5 195.25 -226.25 0.0 0.0 bz}xyïM" {mark 195.25 -226.25 197.0 -223.0 199.0 -221.0 202.25 -219.25 0.0 0.0 bz}xyïK" {mark 202.25 -219.25 205.5 -217.5 210.0 -216.0 216.0 -216.0 0.0 0.0 bz}xyŽŽŽ’ÁoΠÖnï" {3413 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¼~ΠÒ3ŽyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 192.0 -240.0 192.0 -234.0 193.5 -229.5 195.25 -226.25 0.0 1.0 bz}xyïM" {mark 195.25 -226.25 197.0 -223.0 199.0 -221.0 202.25 -219.25 0.0 1.0 bz}xyïK" {mark 202.25 -219.25 205.5 -217.5 210.0 -216.0 216.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 192.0 -240.0 192.0 -234.0 193.5 -229.5 195.25 -226.25 1.0 1.0 bz}xyïM" {mark 195.25 -226.25 197.0 -223.0 199.0 -221.0 202.25 -219.25 1.0 1.0 bz}xyïK" {mark 202.25 -219.25 205.5 -217.5 210.0 -216.0 216.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 216.0 -240.0 210.0 -240.0 205.5 -238.5 202.25 -236.75 0.0 0.0 bz}xyïM" {mark 202.25 -236.75 199.0 -235.0 197.0 -233.0 195.25 -229.75 0.0 0.0 bz}xyïK" {mark 195.25 -229.75 193.5 -226.5 192.0 -222.0 192.0 -216.0 0.0 0.0 bz}xyŽŽŽ’¿‹¦ ë»hï" {-1365 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¼L6 ò€gxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 216.0 -240.0 210.0 -240.0 205.5 -238.5 202.25 -236.75 0.0 1.0 bz}xyïQ" {mark 202.25 -236.75 199.0 -235.0 197.0 -233.0 195.25 -229.75 0.0 0.92865 bz}xyïK" {mark 195.25 -229.75 193.5 -226.5 192.0 -222.0 192.0 -216.0 0.0 0.0 bz}xyŽŽŽ’±ñ Ùkæï" {-2924 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ªÍë ÜÐszŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 216.0 -240.0 210.0 -240.0 205.5 -238.5 202.25 -236.75 1.0 1.0 bz}xyïM" {mark 202.25 -236.75 199.0 -235.0 197.0 -233.0 195.25 -229.75 1.0 1.0 bz}xyïN" {mark 195.25 -229.75 193.5 -226.5 192.0 -222.0 192.0 -216.0 0.3849 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 216.0 -240.0 210.0 -240.0 205.5 -238.5 202.25 -236.75 1.0 1.0 bz}xyïM" {mark 202.25 -236.75 199.0 -235.0 197.0 -233.0 195.25 -229.75 1.0 1.0 bz}xyïK" {mark 195.25 -229.75 193.5 -226.5 192.0 -222.0 192.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 240.0 -240.0 240.0 -234.0 241.5 -229.5 243.25 -226.25 0.0 0.0 bz}xyïM" {mark 243.25 -226.25 245.0 -223.0 247.0 -221.0 250.25 -219.25 0.0 0.0 bz}xyïK" {mark 250.25 -219.25 253.5 -217.5 258.0 -216.0 264.0 -216.0 0.0 0.0 bz}xyŽŽŽ’â@! çjžï" {-3228 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ÚO² éhGxŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 240.0 -240.0 240.0 -234.0 241.5 -229.5 243.25 -226.25 0.0 0.6151 bz}xyïM" {mark 243.25 -226.25 245.0 -223.0 247.0 -221.0 250.25 -219.25 0.0 0.0 bz}xyïK" {mark 250.25 -219.25 253.5 -217.5 258.0 -216.0 264.0 -216.0 0.0 0.0 bz}xyŽŽŽ’ñoΠÖnï" {3413 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ì g ÓÁÇzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 240.0 -240.0 240.0 -234.0 241.5 -229.5 243.25 -226.25 1.0 1.0 bz}xyïP" {mark 243.25 -226.25 245.0 -223.0 247.0 -221.0 250.25 -219.25 0.0714 1.0 bz}xyïK" {mark 250.25 -219.25 253.5 -217.5 258.0 -216.0 264.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 240.0 -240.0 240.0 -234.0 241.5 -229.5 243.25 -226.25 1.0 1.0 bz}xyïM" {mark 243.25 -226.25 245.0 -223.0 247.0 -221.0 250.25 -219.25 1.0 1.0 bz}xyïK" {mark 250.25 -219.25 253.5 -217.5 258.0 -216.0 264.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 264.0 -240.0 258.0 -240.0 253.5 -238.5 250.25 -236.75 0.0 0.0 bz}xyïM" {mark 250.25 -236.75 247.0 -235.0 245.0 -233.0 243.25 -229.75 0.0 0.0 bz}xyïK" {mark 243.25 -229.75 241.5 -226.5 240.0 -222.0 240.0 -216.0 0.0 0.0 bz}xyŽŽŽ’ï‹¦ ë»hï" {-1365 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ì~Πò€gyŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 264.0 -240.0 258.0 -240.0 253.5 -238.5 250.25 -236.75 0.0 1.0 bz}xyïM" {mark 250.25 -236.75 247.0 -235.0 245.0 -233.0 243.25 -229.75 0.0 1.0 bz}xyïK" {mark 243.25 -229.75 241.5 -226.5 240.0 -222.0 240.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïK" {mark 264.0 -240.0 258.0 -240.0 253.5 -238.5 250.25 -236.75 1.0 1.0 bz}xyïM" {mark 250.25 -236.75 247.0 -235.0 245.0 -233.0 243.25 -229.75 1.0 1.0 bz}xyïK" {mark 243.25 -229.75 241.5 -226.5 240.0 -222.0 240.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïQ" {mark 288.0 -240.0 288.0 -234.0 290.10004 -231.0 290.10004 -228.0 0.0 0.0 bz}xyïQ" {mark 290.10004 -228.0 290.10004 -225.0 288.0 -222.0 288.0 -216.0 0.0 0.0 bz}xyŽŽŽ’8£ ÚcBï" {-2816 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ ù¦ Ý­ayŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïQ" {mark 288.0 -240.0 288.0 -234.0 290.10004 -231.0 290.10004 -228.0 0.0 1.0 bz}xyïQ" {mark 290.10004 -228.0 290.10004 -225.0 288.0 -222.0 288.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïQ" {mark 288.0 -240.0 288.0 -234.0 290.10004 -231.0 290.10004 -228.0 1.0 1.0 bz}xyïQ" {mark 290.10004 -228.0 290.10004 -225.0 288.0 -222.0 288.0 -216.0 1.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 312.0 -240.0 306.0 -240.0 303.0 -238.5 300.70001 -236.25 0.0 0.0 bz}xyïZ" {mark 300.70001 -236.25 298.40002 -234.0 296.80005 -231.0 296.80005 -228.0 0.0 0.0 bz}xyïZ" {mark 296.80005 -228.0 296.80005 -225.0 298.40002 -222.0 300.70001 -219.75 0.0 0.0 bz}xyïN" {mark 300.70001 -219.75 303.0 -217.5 306.0 -216.0 312.0 -216.0 0.0 0.0 bz}xyŽŽŽ’"Øé ì~ï" {-1291 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ | ó-íxŽŽŽŽŽŽŽŽ’$É‘ ÕÖ)ï" {3339 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ S ÓAzŽŽŽŽŽŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 312.0 -240.0 306.0 -240.0 303.0 -238.5 300.70001 -236.25 0.0 1.0 bz}xyïZ" {mark 300.70001 -236.25 298.40002 -234.0 296.80005 -231.0 296.80005 -228.0 0.0 1.0 bz}xyïZ" {mark 296.80005 -228.0 296.80005 -225.0 298.40002 -222.0 300.70001 -219.75 0.0 1.0 bz}xyïN" {mark 300.70001 -219.75 303.0 -217.5 306.0 -216.0 312.0 -216.0 0.0 1.0 bz}xyŽŽŽ‘ñ¹„Ÿýh0ïN" {mark 312.0 -240.0 306.0 -240.0 303.0 -238.5 300.70001 -236.25 1.0 1.0 bz}xyïZ" {mark 300.70001 -236.25 298.40002 -234.0 296.80005 -231.0 296.80005 -228.0 1.0 1.0 bz}xyïZ" {mark 296.80005 -228.0 296.80005 -225.0 298.40002 -222.0 300.70001 -219.75 1.0 1.0 bz}xyïN" {mark 300.70001 -219.75 303.0 -217.5 306.0 -216.0 312.0 -216.0 1.0 1.0 bz}xyŽŽŽ üvj‘ùã\voverŽŽŽŽŽŽŽŽŽ üvj‘3Y\vunderŽŽŽŽŽŽŽŽŽ üvj‘`¹\vunoverŽŽŽŽŽŽŽŽŽ üvj’­ù\hoverŽŽŽŽŽŽŽŽŽ üvj’ÛY\hunderŽŽŽŽŽŽŽŽŽ üvj’¹\hunoverŽŽŽŽŽŽŽŽŽŽŽŽŽ fg‘>–¹Figure–¦f3.8:‘ÝÝknot“crossings“with“orien²!tations“and“labšMÞel“p˜ositionsŽŽŽ 8)` ÿฟ3—БïÌïps: SDict begin xyc end‘>Ÿÿ4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï:" {mark 0.0 0.0 0.0 18.0 -3.0 24.0 -6.5 27.0 0.0 0.0 bz}xyï@" {mark -6.5 27.0 -10.0 30.0 -14.0 30.0 -17.5 27.0 0.0 0.0 bz}xyï@" {mark -17.5 27.0 -21.0 24.0 -24.0 18.0 -24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘!s„Ÿò“Àï" {-2984 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘$‹dŸôã ÅxŽŽŽŽŽŽŽŽ‘ëŸà(0ï" {-1024 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘¬…ŸÛ™÷yŽŽŽŽŽŽŽŽ‘ 2Οô‘xï" {935 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ŸôáDzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï:" {mark 0.0 0.0 0.0 18.0 -3.0 24.0 -6.5 27.0 0.0 1.0 bz}xyï@" {mark -6.5 27.0 -10.0 30.0 -14.0 30.0 -17.5 27.0 0.0 1.0 bz}xyï@" {mark -17.5 27.0 -21.0 24.0 -24.0 18.0 -24.0 0.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ï:" {mark 0.0 0.0 0.0 18.0 -3.0 24.0 -6.5 27.0 1.0 1.0 bz}xyï@" {mark -6.5 27.0 -10.0 30.0 -14.0 30.0 -17.5 27.0 1.0 1.0 bz}xyï@" {mark -17.5 27.0 -21.0 24.0 -24.0 18.0 -24.0 0.0 1.0 1.0 bz}xyŽŽŽ‘ ë Ÿýh0ï " {0 st}xyŽŽŽŽ‘&~Ÿÿ,½ï " {0 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘8>Ÿÿ4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï:" {mark 48.0 0.0 48.0 6.0 45.0 9.0 41.5 10.5 0.0 0.0 bz}xyï=" {mark 41.5 10.5 38.0 12.0 34.0 12.0 30.5 10.5 0.0 0.0 bz}xyï:" {mark 30.5 10.5 27.0 9.0 24.0 6.0 24.0 0.0 0.0 0.0 bz}xyŽŽŽ‘H;Ÿòçï" {-1344 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘I ÿŸïQGÅxŽŽŽŽŽŽŽŽ‘DëŸñÈ0ï" {-1024 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘C¬…Ÿí9÷yŽŽŽŽŽŽŽŽ‘A»ŸòŸï" {-710 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘>ZÁŸïQGzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï:" {mark 48.0 0.0 48.0 6.0 45.0 9.0 41.5 10.5 0.0 1.0 bz}xyï=" {mark 41.5 10.5 38.0 12.0 34.0 12.0 30.5 10.5 0.0 1.0 bz}xyï:" {mark 30.5 10.5 27.0 9.0 24.0 6.0 24.0 0.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ï:" {mark 48.0 0.0 48.0 6.0 45.0 9.0 41.5 10.5 1.0 1.0 bz}xyï=" {mark 41.5 10.5 38.0 12.0 34.0 12.0 30.5 10.5 1.0 1.0 bz}xyï:" {mark 30.5 10.5 27.0 9.0 24.0 6.0 24.0 0.0 1.0 1.0 bz}xyŽŽŽ‘9ë Ÿýh0ï " {0 st}xyŽŽŽŽ‘8&~Ÿÿ,½ï " {0 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘h>Ÿç4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï=" {mark 72.0 24.0 72.0 18.0 75.0 15.0 78.5 13.5 0.0 0.0 bz}xyï=" {mark 78.5 13.5 82.0 12.0 86.0 12.0 89.5 13.5 0.0 0.0 bz}xyï=" {mark 89.5 13.5 93.0 15.0 96.0 18.0 96.0 24.0 0.0 0.0 bz}xyŽŽŽ‘scŸðËnï" {2758 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘nKŸöðÝÅxŽŽŽŽŽŽŽŽ‘vë Ÿñ0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘s¬…Ÿ÷y÷yŽŽŽŽŽŽŽŽ‘z¶fŸð2¶ï" {3398 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘y@ŸöðÝzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï=" {mark 72.0 24.0 72.0 18.0 75.0 15.0 78.5 13.5 0.0 1.0 bz}xyï=" {mark 78.5 13.5 82.0 12.0 86.0 12.0 89.5 13.5 0.0 1.0 bz}xyï=" {mark 89.5 13.5 93.0 15.0 96.0 18.0 96.0 24.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ï=" {mark 72.0 24.0 72.0 18.0 75.0 15.0 78.5 13.5 1.0 1.0 bz}xyï=" {mark 78.5 13.5 82.0 12.0 86.0 12.0 89.5 13.5 1.0 1.0 bz}xyï=" {mark 89.5 13.5 93.0 15.0 96.0 18.0 96.0 24.0 1.0 1.0 bz}xyŽŽŽ‘ië Ÿåh0ï " {4096 st}xyŽŽŽŽ‘h&Ÿç,¼ï" {4096 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’˜>ŸÛ4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï@" {mark 120.0 36.0 120.0 18.0 123.0 12.0 126.5 9.0 0.0 0.0 bz}xyï=" {mark 126.5 9.0 130.0 6.0 134.0 6.0 137.5 9.0 0.0 0.0 bz}xyï@" {mark 137.5 9.0 141.0 12.0 144.0 18.0 144.0 36.0 0.0 0.0 bz}xyŽŽŽ’šbšŸä<“ï" {1112 10 /cm AB}xyŽŽŽŽŽŽŽŽ’’ËŸå^ƒÅxŽŽŽŽŽŽŽŽ’¦ë Ÿö¨0ï" {3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ’£¬…Ÿý÷yŽŽŽŽŽŽŽŽ’±£PŸâ>Ûï" {-3161 10 /cm AB}xyŽŽŽŽŽŽŽŽ’´‹hŸå^ƒzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï@" {mark 120.0 36.0 120.0 18.0 123.0 12.0 126.5 9.0 0.0 1.0 bz}xyï=" {mark 126.5 9.0 130.0 6.0 134.0 6.0 137.5 9.0 0.0 1.0 bz}xyï@" {mark 137.5 9.0 141.0 12.0 144.0 18.0 144.0 36.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ï@" {mark 120.0 36.0 120.0 18.0 123.0 12.0 126.5 9.0 1.0 1.0 bz}xyï=" {mark 126.5 9.0 130.0 6.0 134.0 6.0 137.5 9.0 1.0 1.0 bz}xyï@" {mark 137.5 9.0 141.0 12.0 144.0 18.0 144.0 36.0 1.0 1.0 bz}xyŽŽŽ’™ë ŸÙh0ï " {4096 st}xyŽŽŽŽ’˜&ŸÛ,¼ï" {4096 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’È>Ÿç4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï=" {mark 168.0 0.0 186.0 0.0 192.0 3.0 195.0 6.5 0.0 0.0 bz}xyï@" {mark 195.0 6.5 198.0 10.0 198.0 14.0 195.0 17.5 0.0 0.0 bz}xyïA" {mark 195.0 17.5 192.0 21.0 186.0 24.0 168.0 24.0 0.0 0.0 bz}xyŽŽŽ’Ô¿{Ÿüð¡ï" {3160 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ÑÒÊŸzPÅxŽŽŽŽŽŽŽŽ’ç+ Ÿðh0ï" {-3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ê+ ŸòY÷yŽŽŽŽŽŽŽŽ’ÒÁßå¯ëï" {-1113 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Ò zŸâÇÓzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï=" {mark 168.0 0.0 186.0 0.0 192.0 3.0 195.0 6.5 0.0 1.0 bz}xyï@" {mark 195.0 6.5 198.0 10.0 198.0 14.0 195.0 17.5 0.0 1.0 bz}xyïA" {mark 195.0 17.5 192.0 21.0 186.0 24.0 168.0 24.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ï=" {mark 168.0 0.0 186.0 0.0 192.0 3.0 195.0 6.5 1.0 1.0 bz}xyï@" {mark 195.0 6.5 198.0 10.0 198.0 14.0 195.0 17.5 1.0 1.0 bz}xyïA" {mark 195.0 17.5 192.0 21.0 186.0 24.0 168.0 24.0 1.0 1.0 bz}xyŽŽŽ’Éë Ÿåh0ï" {-2048 st}xyŽŽŽŽ’È&~Ÿã££ï" {-2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’ø>Ÿç4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï=" {mark 216.0 0.0 222.0 0.0 225.0 3.0 226.5 6.5 0.0 0.0 bz}xyï@" {mark 226.5 6.5 228.0 10.0 228.0 14.0 226.5 17.5 0.0 0.0 bz}xyïA" {mark 226.5 17.5 225.0 21.0 222.0 24.0 216.0 24.0 0.0 0.0 bz}xyŽŽŽ’NTŸôJØï" {-3392 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ôŸøqÛÅxŽŽŽŽŽŽŽŽ’‹ Ÿðh0ï" {-3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ’‹ ŸòY÷yŽŽŽŽŽŽŽŽ’µœŸìœÕï" {-2758 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ôŸí×_zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï=" {mark 216.0 0.0 222.0 0.0 225.0 3.0 226.5 6.5 0.0 1.0 bz}xyï@" {mark 226.5 6.5 228.0 10.0 228.0 14.0 226.5 17.5 0.0 1.0 bz}xyïA" {mark 226.5 17.5 225.0 21.0 222.0 24.0 216.0 24.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ï=" {mark 216.0 0.0 222.0 0.0 225.0 3.0 226.5 6.5 1.0 1.0 bz}xyï@" {mark 226.5 6.5 228.0 10.0 228.0 14.0 226.5 17.5 1.0 1.0 bz}xyïA" {mark 226.5 17.5 225.0 21.0 222.0 24.0 216.0 24.0 1.0 1.0 bz}xyŽŽŽ’ùë Ÿåh0ï" {-2048 st}xyŽŽŽŽ’ø&~Ÿã££ï" {-2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’@>Ÿç4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ïA" {mark 288.0 24.0 282.0 24.0 279.0 21.0 277.5 17.5 0.0 0.0 bz}xyï@" {mark 277.5 17.5 276.0 14.0 276.0 10.0 277.5 6.5 0.0 0.0 bz}xyï=" {mark 277.5 6.5 279.0 3.0 282.0 0.0 288.0 0.0 0.0 0.0 bz}xyŽŽŽ’6‡ÍŸî…}ï" {710 10 /cm AB}xyŽŽŽŽŽŽŽŽ’/ >Ÿí×_ÅxŽŽŽŽŽŽŽŽ’6K Ÿòh(ï" {1024 10 /cm AB}xyŽŽŽŽŽŽŽŽ’.ÍþŸòY÷yŽŽŽŽŽŽŽŽ’7 …Ÿö3€ï" {1350 10 /cm AB}xyŽŽŽŽŽŽŽŽ’/‰wŸøxðzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ïA" {mark 288.0 24.0 282.0 24.0 279.0 21.0 277.5 17.5 0.0 1.0 bz}xyï@" {mark 277.5 17.5 276.0 14.0 276.0 10.0 277.5 6.5 0.0 1.0 bz}xyï=" {mark 277.5 6.5 279.0 3.0 282.0 0.0 288.0 0.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ïA" {mark 288.0 24.0 282.0 24.0 279.0 21.0 277.5 17.5 1.0 1.0 bz}xyï@" {mark 277.5 17.5 276.0 14.0 276.0 10.0 277.5 6.5 1.0 1.0 bz}xyï=" {mark 277.5 6.5 279.0 3.0 282.0 0.0 288.0 0.0 1.0 1.0 bz}xyŽŽŽ’Aë Ÿåh0ï " {2048 st}xyŽŽŽŽ’@&Ÿã£¤ï" {2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’p>Ÿç4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ïA" {mark 336.0 24.0 318.0 24.0 312.0 21.0 309.0 17.5 0.0 0.0 bz}xyï@" {mark 309.0 17.5 306.0 14.0 306.0 10.0 309.0 6.5 0.0 0.0 bz}xyï=" {mark 309.0 6.5 312.0 3.0 318.0 0.0 336.0 0.0 0.0 0.0 bz}xyŽŽŽ’g¨Ÿåß³ï" {-936 10 /cm AB}xyŽŽŽŽŽŽŽŽ’e:kŸâÇÓÅxŽŽŽŽŽŽŽŽ’T« Ÿòh(ï" {1024 10 /cm AB}xyŽŽŽŽŽŽŽŽ’M-þŸòY÷yŽŽŽŽŽŽŽŽ’i`Ÿý iï" {2984 10 /cm AB}xyŽŽŽŽŽŽŽŽ’e~ôŸzPzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ïA" {mark 336.0 24.0 318.0 24.0 312.0 21.0 309.0 17.5 0.0 1.0 bz}xyï@" {mark 309.0 17.5 306.0 14.0 306.0 10.0 309.0 6.5 0.0 1.0 bz}xyï=" {mark 309.0 6.5 312.0 3.0 318.0 0.0 336.0 0.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ïA" {mark 336.0 24.0 318.0 24.0 312.0 21.0 309.0 17.5 1.0 1.0 bz}xyï@" {mark 309.0 17.5 306.0 14.0 306.0 10.0 309.0 6.5 1.0 1.0 bz}xyï=" {mark 309.0 6.5 312.0 3.0 318.0 0.0 336.0 0.0 1.0 1.0 bz}xyŽŽŽ’që Ÿåh0ï " {2048 st}xyŽŽŽŽ’p&Ÿã£¤ï" {2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽŸ Ä¢‘+ã\vloopŽŽŽŽŽŽŽŽŽŸ Ä¢‘8Ë\vcapŽŽŽŽŽŽŽŽŽŸ Ä¢‘f+\vcap-ŽŽŽŽŽŽŽŽŽŸ Ä¢’“‹\vloop-ŽŽŽŽŽŽŽŽŽŸ Ä¢’Æ+\hloopŽŽŽŽŽŽŽŽŽŸ Ä¢’øË\hcapŽŽŽŽŽŽŽŽŽŸ Ä¢’&+\hcap-ŽŽŽŽŽŽŽŽŽŸ Ä¢’S‹\hloop-ŽŽŽŽŽŽŽŽŽ‘8>Ÿ/4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï5" {mark 24.0 -48.0 36.0 -60.0 24.0 -72.0 0.0 0.0 q}xyŽŽŽ‘>D˜Ÿ?¿ï" {-3688 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘@ÁèŸE+ÍÅxŽŽŽŽŽŽŽŽ‘?ë Ÿ8h0ï" {-3072 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘Bë Ÿ:Y÷yŽŽŽŽŽŽŽŽ‘=?@Ÿ1Xï" {-2459 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘@ÁèŸ1¸zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï5" {mark 24.0 -48.0 36.0 -60.0 24.0 -72.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï5" {mark 24.0 -48.0 36.0 -60.0 24.0 -72.0 1.0 1.0 q}xyŽŽŽ‘9ë ŸEh0ï" {-3072 st}xyŽŽŽŽ‘9ë ŸBè0ï" {-3072 T d}xyŽŽŽŽŽŽŽŽŽŽŽ‘h>Ÿ/4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ïA" {mark 72.0 -48.0 72.0 -66.0 96.0 -54.0 96.0 -72.0 0.0 0.0 bz}xyŽŽŽ‘nwÛŸ6ÑÀï" {2304 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘g;AŸ<©÷ÅxŽŽŽŽŽŽŽŽ‘vãcŸ9¦@ï" {2816 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘r\ãŸ?Ù÷yŽŽŽŽŽŽŽŽ‘~÷ÛŸ=1Àï" {2304 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘x)³ŸC ÷zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ïA" {mark 72.0 -48.0 72.0 -66.0 96.0 -54.0 96.0 -72.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ïA" {mark 72.0 -48.0 72.0 -66.0 96.0 -54.0 96.0 -72.0 1.0 1.0 bz}xyŽŽŽ’ë ŸEh0ï " {2048 st}xyŽŽŽŽ’€&ŸC£¤ï" {2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’˜>ŸG4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ïE" {mark 120.0 -72.0 120.0 -54.0 144.0 -66.0 144.0 -48.0 0.0 0.0 bz}xyŽŽŽ’žwÛŸ;þ˜ï" {3840 10 /cm AB}xyŽŽŽŽŽŽŽŽ’—;AŸ9˜0ÅxŽŽŽŽŽŽŽŽ’¦ãcŸ9*ï" {3328 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¢\ãŸ4Ù÷yŽŽŽŽŽŽŽŽ’®÷ÛŸ5ž˜ï" {3840 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¨)³Ÿ380zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ïE" {mark 120.0 -72.0 120.0 -54.0 144.0 -66.0 144.0 -48.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ïE" {mark 120.0 -72.0 120.0 -54.0 144.0 -66.0 144.0 -48.0 1.0 1.0 bz}xyŽŽŽ’±ë Ÿ-h0ï " {4096 st}xyŽŽŽŽ’°&Ÿ/,¼ï" {4096 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’È>ŸG4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ïE" {mark 168.0 -72.0 186.0 -72.0 174.0 -48.0 192.0 -48.0 0.0 0.0 bz}xyŽŽŽ’ÓT£Ÿ@Û`ï" {-3840 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Õ» ŸFë¿ÅxŽŽŽŽŽŽŽŽ’Ö)#Ÿ8oØï" {-3328 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Øë Ÿ;¹÷yŽŽŽŽŽŽŽŽ’Ù´£Ÿ0[`ï" {-3840 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Ü Ÿ6k¿zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ïE" {mark 168.0 -72.0 186.0 -72.0 174.0 -48.0 192.0 -48.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ïE" {mark 168.0 -72.0 186.0 -72.0 174.0 -48.0 192.0 -48.0 1.0 1.0 bz}xyŽŽŽ’áë Ÿ-h0ï " {4096 st}xyŽŽŽŽ’à&Ÿ/,¼ï" {4096 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’ø>Ÿ/4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ïE" {mark 216.0 -48.0 234.0 -48.0 222.0 -72.0 240.0 -72.0 0.0 0.0 bz}xyŽŽŽ’T£Ÿ1ôøï" {1792 10 /cm AB}xyŽŽŽŽŽŽŽŽ’» Ÿ/ViÅxŽŽŽŽŽŽŽŽ’)#Ÿ:`€ï" {1280 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ë Ÿ8ù÷yŽŽŽŽŽŽŽŽ’ ´£ŸBtøï" {1792 10 /cm AB}xyŽŽŽŽŽŽŽŽ’  Ÿ?ÖizŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ïE" {mark 216.0 -48.0 234.0 -48.0 222.0 -72.0 240.0 -72.0 0.0 1.0 bz}xyŽŽŽ‘!ë Ÿýh0ïE" {mark 216.0 -48.0 234.0 -48.0 222.0 -72.0 240.0 -72.0 1.0 1.0 bz}xyŽŽŽ’ë ŸEh0ï " {2048 st}xyŽŽŽŽ’&ŸC£¤ï" {2048 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’(>ŸG4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï8" {mark 264.0 -72.0 276.0 -60.0 288.0 -72.0 0.0 0.0 q}xyŽŽŽ’‘UÅxŽŽŽŽŽŽŽŽ’4ëŸ?h0ï" {-1024 10 /cm AB}xyŽŽŽŽŽŽŽŽ’3¬…Ÿ:Ù÷yŽŽŽŽŽŽŽŽ’-ÛsŸBýï" {-408 10 /cm AB}xyŽŽŽŽŽŽŽŽ’)y¾Ÿ>‘UzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï8" {mark 264.0 -72.0 276.0 -60.0 288.0 -72.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï8" {mark 264.0 -72.0 276.0 -60.0 288.0 -72.0 1.0 1.0 q}xyŽŽŽ’Aë ŸEh0ï" {-1024 st}xyŽŽŽŽ’?k ŸEh0ï" {-1024 F d}xyŽŽŽŽŽŽŽŽŽŽŽŸSÄ¢‘6+ã\xcapvŽŽŽŽŽŽŽŽŽŸTvj‘c‹\sbendvŽŽŽŽŽŽŽŽŽŸTvj’“‹\zbendvŽŽŽŽŽŽŽŽŽŸTvj’Ë\sbendhŽŽŽŽŽŽŽŽŽŸTvj’ó‹\zbendhŽŽŽŽŽŽŽŽŽŸSÄ¢’&+\xcaphŽŽŽŽŽŽŽŽŽ‘>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï9" {mark 0.0 -144.0 -12.0 -144.0 -24.0 -132.0 0.0 0.0 q}xyŽŽŽ‘G³ …a9ï" {2201 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ˆ ‹-ðÅxŽŽŽŽŽŽŽŽ‘РŠÚ¨ï" {2560 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘ B Ù÷yŽŽŽŽŽŽŽŽ‘ãc Œæ@ï" {2816 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘|_ “÷zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï9" {mark 0.0 -144.0 -12.0 -144.0 -24.0 -132.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï9" {mark 0.0 -144.0 -12.0 -144.0 -24.0 -132.0 1.0 1.0 q}xyŽŽŽ‘!ë  h0ï " {2560 st}xyŽŽŽŽ‘® ŒJï" {2560 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘8>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï8" {mark 24.0 -144.0 36.0 -144.0 48.0 -132.0 0.0 0.0 q}xyŽŽŽ‘MŽk …a9ï" {-153 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘P‚p ‹-ðÅxŽŽŽŽŽŽŽŽ‘E ŠÚ¨ï" {-512 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘FKÈ Ù÷yŽŽŽŽŽŽŽŽ‘>ò» Œæ@ï" {-768 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘?  “÷zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï8" {mark 24.0 -144.0 36.0 -144.0 48.0 -132.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï8" {mark 24.0 -144.0 36.0 -144.0 48.0 -132.0 1.0 1.0 q}xyŽŽŽ‘9ë  h0ï " {-512 st}xyŽŽŽŽ‘7® Ž†\ï" {-512 F d}xyŽŽŽŽŽŽŽŽŽŽŽ‘h>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï8" {mark 96.0 -120.0 96.0 -132.0 84.0 -144.0 0.0 0.0 q}xyŽŽŽ‘yä ‰ ˆï" {-3943 10 /cm AB}xyŽŽŽŽŽŽŽŽ‘|? ‹)ÅxŽŽŽŽŽŽŽŽ‘]‹ €ƒ8ï" {-3584 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ë  …÷yŽŽŽŽŽŽŽŽ’i#ŸzoØï" {-3328 10 /cm AB}xyŽŽŽŽŽŽŽŽ’„+ Ÿ~OMzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï8" {mark 96.0 -120.0 96.0 -132.0 84.0 -144.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï8" {mark 96.0 -120.0 96.0 -132.0 84.0 -144.0 1.0 1.0 q}xyŽŽŽ’ë Ÿuh0ï" {-3584 st}xyŽŽŽŽ’€ÌÓŸw¤œï" {-3584 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’˜>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 144.0 -144.0 144.0 -132.0 132.0 -120.0 0.0 0.0 q}xyŽŽŽ’©äŸyÄÐï" {1895 10 /cm AB}xyŽŽŽŽŽŽŽŽ’¬?Ÿv´¢ÅxŽŽŽŽŽŽŽŽ’¯]‹ ‚M ï" {1536 10 /cm AB}xyŽŽŽŽŽŽŽŽ’±ë Ÿ™÷yŽŽŽŽŽŽŽŽ’±i# ˆ`€ï" {1280 10 /cm AB}xyŽŽŽŽŽŽŽŽ’´+  ‡òÛzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 144.0 -144.0 144.0 -132.0 132.0 -120.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï;" {mark 144.0 -144.0 144.0 -132.0 132.0 -120.0 1.0 1.0 q}xyŽŽŽ’±ë  h0ï " {1536 st}xyŽŽŽŽ’°ÌÓ ‹+Øï" {1536 F d}xyŽŽŽŽŽŽŽŽŽŽŽ œvj‘‹ã\xbendrŽŽŽŽŽŽŽŽŽ œvj‘3‹\xbendlŽŽŽŽŽŽŽŽŽ œvj‘c‹\xbenduŽŽŽŽŽŽŽŽŽ œvj’“‹\xbenddŽŽŽŽŽŽŽŽŽ’È>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 168.0 -120.0 168.0 -132.0 180.0 -144.0 0.0 0.0 q}xyŽŽŽ’Ñò ‰ ˆï" {-2203 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ÊÎ- ˆÍÅxŽŽŽŽŽŽŽŽ’Ìx“ €ƒ8ï" {-2560 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Åmþ …÷yŽŽŽŽŽŽŽŽ’ÊlûŸzoØï" {-2816 10 /cm AB}xyŽŽŽŽŽŽŽŽ’Ã`]Ÿ~OMzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 168.0 -120.0 168.0 -132.0 180.0 -144.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï;" {mark 168.0 -120.0 168.0 -132.0 180.0 -144.0 1.0 1.0 q}xyŽŽŽ’áë  h0ï" {-2560 st}xyŽŽŽŽ’àÌÓ ‹+Äï" {-2560 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’ø>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 216.0 -144.0 216.0 -132.0 228.0 -120.0 0.0 0.0 q}xyŽŽŽ’òŸyÄÐï" {155 10 /cm AB}xyŽŽŽŽŽŽŽŽ’úÎ-Ÿv¶ÿÅxŽŽŽŽŽŽŽŽ’üx“ ‚M ï" {512 10 /cm AB}xyŽŽŽŽŽŽŽŽ’õmþŸ™÷yŽŽŽŽŽŽŽŽ’úlû ˆ`€ï" {768 10 /cm AB}xyŽŽŽŽŽŽŽŽ’ó`] ‡òÛzŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 216.0 -144.0 216.0 -132.0 228.0 -120.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï;" {mark 216.0 -144.0 216.0 -132.0 228.0 -120.0 1.0 1.0 q}xyŽŽŽ’ë Ÿuh0ï " {512 st}xyŽŽŽŽ’ÌÓŸw¤ˆï " {512 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’(>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 288.0 -120.0 276.0 -120.0 264.0 -132.0 0.0 0.0 q}xyŽŽŽ’.G³Ÿ}o!ï" {3941 10 /cm AB}xyŽŽŽŽŽŽŽŽ’&ŠÀŸ{9ÅxŽŽŽŽŽŽŽŽ’6Пwõ°ï" {3584 10 /cm AB}xyŽŽŽŽŽŽŽŽ’1 BŸsÙ÷yŽŽŽŽŽŽŽŽ’<ãcŸuêï" {3328 10 /cm AB}xyŽŽŽŽŽŽŽŽ’8|_Ÿs(0zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 288.0 -120.0 276.0 -120.0 264.0 -132.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï;" {mark 288.0 -120.0 276.0 -120.0 264.0 -132.0 1.0 1.0 q}xyŽŽŽ’)ë  h0ï " {3584 st}xyŽŽŽŽ’'® Ž†pï" {3584 F d}xyŽŽŽŽŽŽŽŽŽŽŽ’X>Ÿw4ýÈŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 312.0 -120.0 324.0 -120.0 336.0 -132.0 0.0 0.0 q}xyŽŽŽ’mŽkŸ}o!ï" {-1893 10 /cm AB}xyŽŽŽŽŽŽŽŽ’p¾Ÿ{9ÅxŽŽŽŽŽŽŽŽ’eŸwõ°ï" {-1536 10 /cm AB}xyŽŽŽŽŽŽŽŽ’fKÈŸsÙ÷yŽŽŽŽŽŽŽŽ’^ò»Ÿuêï" {-1280 10 /cm AB}xyŽŽŽŽŽŽŽŽ’_ Ÿs(0zŽŽŽŽŽŽŽŽ‘!ë Ÿýh0ï;" {mark 312.0 -120.0 324.0 -120.0 336.0 -132.0 0.0 1.0 q}xyŽŽŽ‘!ë Ÿýh0ï;" {mark 312.0 -120.0 324.0 -120.0 336.0 -132.0 1.0 1.0 q}xyŽŽŽ’që  h0ï" {-1536 st}xyŽŽŽŽ’o® ŒIðï" {-1536 F d}xyŽŽŽŽŽŽŽŽŽŽŽ œvj’Àëã\xbendd-ŽŽŽŽŽŽŽŽŽ œvj’ðë\xbendu-ŽŽŽŽŽŽŽŽŽ œvj’ ë\xbendl-ŽŽŽŽŽŽŽŽŽ œvj’Pë\xbendr-ŽŽŽŽŽŽŽŽŽŽŽŽŽ ¶fg‘KYx¹Figure–¦f3.9:‘ÝÝknot“joins,“with“orien²!tations,“labMÞels“and“shiftsŽŽŽŽŽŒ‹Í]® Á à ý*tj ¶?? ý³Ì¾‘ãŒÛChapter‘Ç 4ŽŸ2!G‘ãŒÓDriv‘ÿ8õersŽŸ5ºá‘㌹This–ÿ-cš²!hapter“describMÞes“the“driv˜er“options“that“suppMÞort“customisation“of“the‘æ×X‘ü·ŸâÃYŽŽ‘ f7-pic“output“to“particularޤ ™š‘ãŒoutput–¨ devices.‘‰The“ rst“section“describšMÞes“the“actual“driv²!ers,‘Úìthe“second“a“set“of“mo˜di cations“sp˜eciallyŽ¡‘ãŒapplicable–¦fto“ÕPostScript“¹prin²!ting.ŽŸ#>j‘ãŒÝ4.1Ž‘r|Suppšs3ort–fffor“Sp˜eci c“DrivŒÌersŽŸ˜‘ãŒ4.2Ž‘r|dvidrv‘ffdrivŒÌerŽŸ²2‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ즑㌹This–èdrivš²!er“pro˜vides“suppMÞort“for“the“\em˜tex"“Ï\specialŽ‘6= ¹commands,‘>Hwhen“using“one“of“the“standardŽ¡‘ãŒdvi-driv²!ers:‘ÚÏdvidotŽ‘'X¹,‘ >ÏdvihpljŽ‘+Ýä¹,‘ >ÏdvimspŽ‘&:¹,‘ >ÏdviscrŽ‘)¼ï¹or‘žµÏdvivikŽ‘&±¹,‘ >that–žµcome“with“EbMÞerhard“Mattes'“em-T‘þ,³Ÿ[wEŽ‘B XŽ¡‘ãŒdistribution.ŽŸªH‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xydvidrv.doc,v“3.3“1996/12/18“09:12:40“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``dvidrv-driver''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽŽŸLW’Í.ä¹461ŽŽŒ‹Î. Á à ý*tj‘㌹462’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¤ ™š‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{dvidrv}{dvidrv–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ23/‘ãŒÃ42Ž‘õŒÏ\xydef@\dvidrv@@#1{\dvimessage@{dvidrv}{#1}}ŽŽ¦‘ãŒÃ44Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ45Ž‘ûKÃÏ\xyaddsupport{emtex}\dvidrvEmTeX@@ŽŽ¡‘ãŒÃ46Ž‘ûKÃÏ\xyaddsupport{line}\dvidrvLine@@ŽŽ¡‘ãŒÃ47Ž‘õŒÏ}ŽŽŸ{ÑãŒÔDriv¦ter‘2installation‘ ó5¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸF†‘óøéÇŽŽŽ‘þì¹em-T‘þ,³Ÿ[wEŽ‘B X–¦fline-dra²!wing“Ï\specialŽ‘1£¶¹s.ަ‘ãŒÃ58Ž‘õŒÏ\xydef@\dvidrvEmTeX@@{\dvidrvEmTeX@}%ŽŽ¡‘ãŒÃ59Ž‘õŒÏ\xydef@\dvidrvEmTeX@{\setupxyEMTeX@}%ŽŽŸýt‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable‘¦fline-widthsަ‘ãŒÃ66Ž‘õŒÏ\xydef@\dvidrvLine@@{\dvidrvLine@}%ŽŽ¡‘ãŒÃ67Ž‘õŒÏ\xydef@\dvidrvLine@{\xywithoption{emtex}{\installEMline@}}%ŽŽŸ"š‘ãŒÔThe–2end“&“Logަ‘ãŒÃ79Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ81Ž‘õŒÏ%–¿ª$Log:“xydvidrv.doc,v“$ŽŽ¡‘ãŒÃ82Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:12:40“rossŽŽ¡‘ãŒÃ83Ž‘õŒÏ%–¿ªno“changesŽŽ¡‘ãŒÃ84Ž‘õŒÏ%ŽŽ¡‘ãŒÃ85Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:28:57˜rossŽŽ¡‘ãŒÃ86Ž‘õŒÏ%–¿ªReleasing“version“3.1!ŽŽ¡‘ãŒÃ87Ž‘õŒÏ%ŽŽ¡‘ãŒÃ88Ž‘õŒÏ%ŽŽ¡‘ãŒÃ89Ž‘õŒÏ%–¿ªNEW“for“version“3.1ŽŽŸ.„°‘ãŒÝ4.3Ž‘r|D•ŒÌVIPS‘ffdriv“erŽŸʼn‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸÿý‘㌹This–UÚdrivš²!er“pro˜vides“suppMÞort“for“Ðal‘Fl‘ Ðextensions‘;ò¹when“using“the“ÕdÁ´vips“¹driv˜er“b˜y“T‘ÿeomas“Rokic˜ki“[11Ž‘ ó4].‘ÃItŽ¡‘ãŒhas–¦fbMÞeen“tested“with“dvips“vš²!ersion“5.55a“and“dvipsk“v˜ersion“5.58f.ŽŸã*‘ãŒÔHeader:ަ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xydvips.doc,v“3.3“1996/12/18“09:13:14“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽŽŽŒ‹Ï8 Á à ý*tj‘ãŒÑ4.3.‘„CD²!VIPS‘¦fDRIVER’h4‚¹463ŽŽ ¶?? ýh«w‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``dvips-driver''“option.ŽŽ¤ ™š‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{dvips}{DVIPS–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ0‘ãŒÃ42Ž‘õŒÏ\xydef@\dvips@@#1{\dvimessage@{dvips}{#1}}ŽŽ¦‘ãŒÃ44Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ45Ž‘ûKÃÏ\xyaddsupport{color}\dvipsColor@@ŽŽ¡‘ãŒÃ46Ž‘ûKÃÏ\xyaddsupport{crayon}\dvipsCrayola@@ŽŽ¡‘ãŒÃ47Ž‘ûKÃÏ\xyaddsupport{ps}\dvipsPS@@ŽŽ¡‘ãŒÃ48Ž‘ûKÃÏ\xyaddsupport{rotate}\dvipsRotate@@ŽŽ¡‘ãŒÃ49Ž‘ûKÃÏ\xyaddsupport{line}\dvipsLine@@ŽŽ¡‘ãŒÃ50Ž‘ûKÃÏ\xyaddsupport{frame}\dvipsFrames@@ŽŽ¡‘ãŒÃ51Ž‘ûKÃÏ\xyaddsupport{tile}\dvipsTiles@@ŽŽ¡‘ãŒÃ52Ž‘ûKÃÏ\xyaddsupport{tpic}\dvipsTPIC@ŽŽ¡‘ãŒÃ53Ž‘ûKÃÏ\xyaddsupport{emtex}\dvipsEM@ŽŽ¡‘ãŒÃ54Ž‘ûKÃÏ\xyaddsupport{cmtip}\relaxŽŽ¡‘ãŒÃ55Ž‘õŒÏ}ŽŽ¦‘ãŒÔDriv¦ter‘2installation‘ ó5¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸûT‘óøéÇŽŽŽ‘þì¹colour,–¦fusing“direct“color“spMÞecials“and“ÕPostScript¹.ŽŸÆ¿‘þìDš²!VIPS–¦fuses“the“colour-stac˜k“methoMÞd,“due“to“T‘ÿeomas“Rokic˜ki.ަ‘ãŒÃ71Ž‘õŒÏ\xydef@\dvips@Color@{\dvipsPStypes@ŽŽ¡‘ãŒÃ72Ž‘ûKÃÏ\let\xylocalColor@=\xystackcolor@ŽŽ¡‘ãŒÃ73Ž‘ûKÃÏ\let\xycolor@push\xycolor@push@@ŽŽ¡‘ãŒÃ74Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}\let\xycolorwarning@=\relaxŽŽŽŽŒ‹Ð@  Á à ý*tj‘㌹464’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ75Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¤ ™š‘ãŒÃ76Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}\installPScolor@‘¿ª}%ŽŽ¡‘ãŒÃ77Ž‘ûKÃÏ\else\DN@{}\fi‘¿ª\next@ŽŽ¡‘ãŒÃ78Ž‘ûKÃÏ\ifx\xycolor@@\xyNoColor@‘¿ª\let\xycolor@@=\xycolor@raw@@\fiŽŽ¡‘ãŒÃ79Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\dvipsCrayola@{}}%ŽŽ¡‘ãŒÃ80Ž‘ûKÃÏ\else–¿ª\DN@{\xystandardcolors@}\fi“\next@ŽŽ¡‘ãŒÃ81Ž‘ûKÃÏ\let\dvipsColor@@=\relaxŽŽ¡‘ãŒÃ82Ž‘ûKÃÏ\let\UnloadColor@@=\NoDVIPScolor@ŽŽ¡‘ãŒÃ83Ž‘ûKÃÏ}%ŽŽ¤Pˆ‘ãŒÃ85Ž‘õŒÏ\xydef@\dvipsColor@@{\dvips@Color@}ŽŽ¡‘ãŒÃ87Ž‘õŒÏ\xydef@\NoDVIPScolor@{%ŽŽ¤ ™š‘ãŒÃ88Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}%ŽŽ¡‘ãŒÃ89Ž‘ûKÃÏ\let\xycolor@@=\xyNoColor@ŽŽ¡‘ãŒÃ90Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ91Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ92Ž‘ûKÃÏ\let\dvipsColor@@=\dvips@Color@ŽŽ¡‘ãŒÃ93Ž‘ûKÃÏ\let\UnloadColor@@=\UnloadColor@ŽŽ¡‘ãŒÃ94Ž‘ûKÃÏ}ŽŽŸÌL‘þì¹If–!uneither“suppMÞort“ le“Ïcolordvi.texŽ›M>â¹nor“Ïcolordvi.styŽ˜¹can“bMÞe“found,‘@8then“the“normal“colourŽ¡‘þìsuppšMÞort–`9will“not“b˜e“a•²!v‘ÿdDailable.‘ UHo“w“ev“er–`9the“colour“supp˜ort“for“the“ÕPostScript“¹bac²!k-end“canŽ¡‘þìstill–¦fbMÞe“used.Ž©Pˆ‘ãŒÃ102Ž‘õŒÏ\xydef@\NoDVIPScolordvi@{\xywarning@{%ŽŽ¡‘ãŒÃ103Ž‘ûKÃÏNeither– Tcolordvi.tex“nor“colordvi.sty“could–¿ªbe“found.}%ŽŽ¡‘ãŒÃ104Ž‘ûKÃÏ\xyBEcolorcheck@}%ŽŽŸH‘óøéÇŽŽŽ‘þì¹cra•²!y“on‘¦fcolours.ŽŸ^‘þìThe–( 68“colours“that“ÏdvipsŽ‘#j¹recognizes“b²!y“name“are“not“loaded“unless“the“ÏcrayonŽ‘(ιoption“has“bMÞeenŽ¡‘þìrequested.ަ‘ãŒÃ117Ž‘õŒÏ\xydef@\dvipsCrayola@@{\dvipsColor@@\dvipsCrayola@}ŽŽ¦‘ãŒÃ119Ž‘õŒÏ\xydef@\dvipsCrayola@{%ŽŽ¡‘ãŒÃ120Ž‘ûKÃÏ\let\prevxycolor@=\newxycolor@ŽŽ¡‘ãŒÃ121Ž‘ mÏ\def\newxyDVIPScolor@##1##2##3{\prevxycolor@{##1}{}{##1}}%ŽŽ¡‘ãŒÃ122Ž‘ mÏ\let\newxycolor@=\newxyDVIPScolor@‘¿ª\dvipsInclude@{color.pro}%ŽŽ¡‘ãŒÃ123Ž‘õŒÏ%‘ T\xyinputorelse@{colordvi.tex}%ŽŽ¡‘ãŒÃ124Ž‘õŒÏ%‘>þ{\NoDVIPScolordvi@\let\newxycolor@=\prevxycolor@}%ŽŽ¡‘ãŒÃ125Ž‘ mÏ\installCrayolaColors@ŽŽ¡‘ãŒÃ126Ž‘ûKÃÏ\let\newxycolor@=\prevxycolor@‘¿ª}%ŽŽŸÌL‘þì¹Although–ò†an²!y“order“of“loading“options:‘ƒíÏpsŽ‘A¹,‘€ÏdvipsŽ‘ÔÒ¹,‘€ÏcolorŽ‘"ÇX¹and“ÏcrayonŽ‘(c¹proMÞduces“the“desired“resultŽ¡‘þìvisually‘ÿe,‘ƒÙthe–WÕPostScript“¹cošMÞde“can“b˜e“di erenš²!t“with“di eren˜t“loading“order.‘ñWThe“most“easilyŽ¡‘þìreadable–¦fis“obtained“when“ÏcrayonŽ‘)Êȹis“requested“last.ŽŸ‘"‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.ަ‘ãŒÃ138Ž‘õŒÏ\xydef@\dvipsPS@@{\dvipsPS@}ŽŽ¦‘ãŒÃ140Ž‘õŒÏ\xydef@\dvipsPS@unload{\UnloadPS@ŽŽ¡‘ãŒÃ141Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¡‘ãŒÃ142Ž‘ûKÃÏ\let\dvipsPS@@=\dvipsPS@‘¿ª}ŽŽŽŽŒ‹ÑK¢ Á à ý*tj‘ãŒÑ4.3.‘„CD²!VIPS‘¦fDRIVER’h4‚¹465ŽŽ ¶?? ýh«w‘þìÏdvipsŽ‘¾M¹has–Þthree“kinds“of“ÕPostScript“Ï\specialŽ‘6% ¹whicš²!h“can“bMÞe“used.‘&EThese“ma˜y“bMÞe“used“withޤ ™š‘þìv‘ÿdDarious–¦ffeatures“other“than“just“the“ÕPostScript“¹bac•²!k“end.Ž©Pˆ‘ãŒÃ151Ž‘õŒÏ\xydef@\dvipsPStypes@{%ŽŽ¡‘ãŒÃ152Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ153Ž‘ûKÃÏ\ifx\PSspecial@@\dvipsSpecial@\elseŽŽ¡‘ãŒÃ154Ž‘ mÏ\let\PSspecial@@=\dvipsSpecial@ŽŽ¡‘ãŒÃ155Ž‘ mÏ\let\PSmacro@@=\dvipsMacro@ŽŽ¡‘ãŒÃ156Ž‘ mÏ\let\PSdict@@=\dvipsDict@ŽŽ¡‘ãŒÃ157Ž‘ mÏ\let\PSspecialdict@@=\dvipsDict@ŽŽ¡‘ãŒÃ158Ž‘ mÏ\let\PSraw@@=\dvipsRaw@ŽŽ¡‘ãŒÃ159Ž‘ mÏ\let\PSinclude@@=\dvipsInclude@ŽŽ¡‘ãŒÃ160Ž‘ mÏ\let\xyPSobeylines@@=\obeyDVIPSlines@ŽŽ¡‘ãŒÃ161Ž‘ mÏ\let\xyPScurrpt@@=\dvipsCurrpt@@ŽŽ¡‘ãŒÃ162Ž‘ mÏ\dvips@@{PostScript}%ŽŽ¡‘ãŒÃ163Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ164Ž‘õŒÏ%‘¿ª\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ165Ž‘ûKÃÏ\XYpredict@‘¿ª}ŽŽ¦‘ãŒÃ167Ž‘õŒÏ\xywarnifdefined\dvipsSpecial@ŽŽ¡‘ãŒÃ168Ž‘õŒÏ\xywarnifdefined\dvipsMacro@ŽŽ¡‘ãŒÃ169Ž‘õŒÏ\xywarnifdefined\dvipsDict@ŽŽ¡‘ãŒÃ170Ž‘õŒÏ\xywarnifdefined\dvipsInclude@ŽŽ¡‘ãŒÃ171Ž‘õŒÏ\xywarnifdefined\dvipsRaw@ŽŽ¡‘ãŒÃ172Ž‘õŒÏ{\catcode`\"=11–¿ª\catcode`\!=11“\catcode`\:=11ŽŽ¡‘ãŒÃ173Ž‘ûKÃÏ\gdef\dvipsSpecial@#1{\special{ps::–¿ªSDict“begin“#1“end}}ŽŽ¡‘ãŒÃ174Ž‘ûKÃÏ\gdef\dvipsMacro@#1{\firstPS@@\special{"‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ175Ž‘õŒÏ%–¿ª\gdef\dvipsDict@#1{\special{!“mark{#1}stopped“cleartomark}}ŽŽ¡‘ãŒÃ176Ž‘ûKÃÏ\gdef\dvipsDict@#1{\special{!‘¿ª#1}}ŽŽ¡‘ãŒÃ177Ž‘ûKÃÏ\gdef\dvipsInclude@#1{\special{header=#1}}ŽŽ¡‘ãŒÃ178Ž‘ûKÃÏ\gdef\dvipsRaw@#1{\special{ps:–¿ªSDict“begin“#1“end}}ŽŽ¦‘ãŒÃ180Ž‘õŒÏ\catcode`\^^M=\active‘¿ª%ŽŽ¡‘ãŒÃ181Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active–¿ª\let^^M=\space“}}%ŽŽ¡‘ãŒÃ182Ž‘õŒÏ\xylet@\obeyDVIPSlines@=\nextŽŽŸÞ†‘þì¹All–ÝÚthe“ÕPostScript“¹de nitions“passed“to“ÏdvipsŽ‘&z¹b²!y“reading“the“dictionary“ le“are“stored“inŽ¡‘þìa–YîÕPostScript“¹dictionary“whicš²!h“it“de nes,‘ÆÏcalled“ÏSDictŽ‘"@¹.‘ øtThis“m˜ust“bMÞe“the“curren˜t“dictio-Ž¡‘þìnary–´Øwhenev²!er“an‘œ‚X‘ü·ŸâÃYŽŽ‘â-ps“command“is“to“bšMÞe“executed.‘ 4This“will“b˜e“the“case“whenev²!er“theŽ¡‘þìÏ\special{"Ž‘>(kÐc–ÿp¹ommandsÏ}Ž›.™¹or‘nïÏ\special{!Ž‘A«=Ðc“ommandsÏ}Ž˜¹forms–nïare“used,‘­:but“not“when“the“Ï\special{ps::Ž‘Rê;Ðc‘ÿp¹ommandsÏ}ŽŽ¡‘þì¹form–Ýis“used.‘ëTh²!us“the“Ï\dvipsSpecial@Ž‘X5v¹macro“includes“cošMÞde“to“op˜en“ÏSDictŽ‘$x|¹and“close“it“whenŽ¡‘þì nished;‘W_so–/Ûalso“došMÞes“the“Ï\dvipsRaw@Ž‘?ÜZ¹t²!yp˜e,‘Gsince“this“is“used“with‘…X‘ü·ŸâÃYŽŽ‘ –å-pic“ÕPostScript“¹op˜eratorsŽ¡‘þìwhose–¦fde nitions“ha•²!v“e–¦fbMÞeen“placed“within“ÏSDictŽ‘ d¸¹.ŽŸ'˜‘þìThe‘¦fÏcurrentpointŽ‘LHĹis–¦fde ned“for“the“\ra²!w"“spMÞecials.ަ‘ãŒÃ200Ž‘õŒÏ\xydef@\dvipsCurrpt@{\let\xyPScurrpt@@=\dvipsCurrpt@@}%ŽŽ¡‘ãŒÃ201Ž‘õŒÏ\xydef@\dvipsCurrpt@@{\PSraw@@{xyp}}ŽŽŸÞ†‘þì¹The–öÕPostScript“¹opšMÞerator“called“ÏxypŽ‘fê¹is“de ned“in“Ïxyps-psŽ‘0e’¹for“storing“the“lo˜cation“read“fromŽ¡‘þìÏcurrentpointŽ‘Cè¹.ŽŸC”‘þìThis–¦finstalls“the“ÕPostScript“¹bac•²!k“end.ަ‘ãŒÃ212Ž‘õŒÏ\xydef@\dvipsPS@{\dvipsPStypes@ŽŽŽŽŒ‹ÒVà Á à ý*tj‘㌹466’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ213Ž‘ûKÃÏ\let\dvipsPS@@=\PSspecials@trueŽŽ¤ ™š‘ãŒÃ214Ž‘ûKÃÏ\let\UnloadPS@@=\dvipsPS@unloadŽŽ¡‘ãŒÃ215Ž‘ûKÃÏ\let\installxyps@@=\relax–¿ª\installxyps@“}ŽŽ©SÈ‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“using“ÕPostScript¹.ޤPˆ‘ãŒÃ222Ž‘õŒÏ\xydef@\dvipsRotate@@{\dvipsRotate@}ŽŽ¡‘ãŒÃ224Ž‘õŒÏ\xydef@\dvipsRotate@{\dvipsPStypes@ŽŽ¤ ™š‘ãŒÃ225Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ226Ž‘ mÏ\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ227Ž‘ mÏ\dvipsCurrpt@–¿ª\dvipsRotScale@“\installPSrotscale@“}%ŽŽ¡‘ãŒÃ228Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ229Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸPˆ‘ãŒÃ231Ž‘õŒÏ\xydef@\dvipsRotScale@{%ŽŽ¡‘ãŒÃ232Ž‘ûKÃÏ\def\xyrot@start(##1){{xyct–¿ª##1\space“xyrs“}}%ŽŽ¡‘ãŒÃ233Ž‘ûKÃÏ\def\xyrot@end{}%ŽŽ¡‘ãŒÃ234Ž‘ûKÃÏ\def\xyscale@start(##1,##2){{xyct–¿ª##1\space##2\space“xyss“}}%ŽŽ¡‘ãŒÃ235Ž‘ûKÃÏ\def\xyscale@end{}}ŽŽ¦‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ޤPˆ‘ãŒÃ242Ž‘õŒÏ\xydef@\dvipsLine@@{\dvipsLine@}ŽŽ¡‘ãŒÃ244Ž‘õŒÏ\xydef@\dvipsLine@{\dvipsPStypes@ŽŽ¤ ™š‘ãŒÃ245Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ246Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ247Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-widths‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ248Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ޤPˆ‘ãŒÃ255Ž‘õŒÏ\xydef@\dvipsFrames@@{\dvipsFrames@}ŽŽ¡‘ãŒÃ257Ž‘õŒÏ\xydef@\dvipsFrames@{\dvipsPStypes@ŽŽ¤ ™š‘ãŒÃ258Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ259Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ260Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadFrames@\relax}\fiŽŽ¡‘ãŒÃ261Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScript¹.ޤPˆ‘ãŒÃ268Ž‘õŒÏ\xydef@\dvipsTiles@@{\dvipsTiles@}ŽŽ¡‘ãŒÃ270Ž‘õŒÏ\xydef@\dvipsTiles@{\dvipsPStypes@ŽŽ¤ ™š‘ãŒÃ271Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ272Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}\installPSpatterns@‘¿ª}%ŽŽ¡‘ãŒÃ273Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽ¡‘ãŒÃ274Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘óøéÇŽŽŽ‘þìÕtpic–¦f¹dra²!wing“commands.ŽŸPˆ‘ãŒÃ281Ž‘õŒÏ\xydef@\dvipsTPIC@@{\dvipsTPIC@}ŽŽ¡‘ãŒÃ282Ž‘õŒÏ\xydef@\dvipsTPIC@{\setupxyTPIC@}ŽŽŽŽŒ‹ÓcÇ Á à ý*tj‘ãŒÑ4.4.‘„CD²!VITOPS‘¦fDRIVER’Wdz¹467ŽŽ ¶?? ýh«w‘óøéÇŽŽŽ‘þì¹em-T‘þ,³Ÿ[wEŽ‘B X–¦fdra²!wing“commands.ޤPˆ‘ãŒÃ289Ž‘õŒÏ\xydef@\dvipsEM@@{\dvipsEM@}ŽŽ© ™š‘ãŒÃ290Ž‘õŒÏ\xydef@\dvipsEM@{\setupxyEMTeX@}ŽŽŸ" í‘ãŒÔThe–2end“&“LogŽ¡‘ãŒÃ302Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ304Ž‘õŒÏ%–¿ª$Log:“xydvips.doc,v“$ŽŽ¦‘ãŒÃ305Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:13:14“rossŽŽ¦‘ãŒÃ306Ž‘õŒÏ%–¿ªminor“improvements“to“file-loading“commandsŽŽ¦‘ãŒÃ307Ž‘õŒÏ%ŽŽ¦‘ãŒÃ308Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:20:20“rossŽŽ¦‘ãŒÃ309Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¦‘ãŒÃ310Ž‘õŒÏ%ŽŽ¦‘ãŒÃ311Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¦‘ãŒÃ312Ž‘õŒÏ%‘¿ªRelease!ŽŽ¦‘ãŒÃ313Ž‘õŒÏ%ŽŽ¦‘ãŒÃ314Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¦‘ãŒÃ315Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¦‘ãŒÃ316Ž‘õŒÏ%ŽŽ¦‘ãŒÃ317Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¦‘ãŒÃ318Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¦‘ãŒÃ319Ž‘õŒÏ%ŽŽ¦‘ãŒÃ320Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ-á‘ãŒÝ4.4Ž‘r|D•ŒÌVITOPS‘ffdriv“erŽŸœW‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸÖˑ㌹This–äÿ le“proš²!vides“suppMÞort“for“the“ÕdÁ´vitops“¹driv˜er“b˜y“James“Clark.‘™©As“of“Septem˜bMÞer“1995,‘ô¦it“has“notަ‘ãŒbMÞeen–¦ffully“tested.ŽŸiÿ‘ãŒÔHeader:Ž¡‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xydvitops.doc,v“3.3“1996/12/18“09:14:36“ross“Exp“$ŽŽ¦‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¦‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``DVITOPS-driver''“option.ŽŽ¦‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¦‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¦‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¦‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¦‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¦‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¦‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¦‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¦‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¦‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¦‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¦‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽŽŽŒ‹Ôn7 Á à ý*tj‘㌹468’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¤ ™š‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{dvitops}{DVITOPS–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ"hþ‘ãŒÃ41Ž‘õŒÏ\xydef@\dvitops@@#1{\dvimessage@{DVITOPS}{#1}}ŽŽ¦‘ãŒÃ43Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ44Ž‘ûKÃÏ\xyaddsupport{color}\dvitopsColor@@ŽŽ¡‘ãŒÃ45Ž‘ûKÃÏ\xyaddsupport{crayon}\dvitopsCrayon@@ŽŽ¡‘ãŒÃ46Ž‘ûKÃÏ\xyaddsupport{ps}\dvitopsPS@@ŽŽ¡‘ãŒÃ47Ž‘ûKÃÏ\xyaddsupport{rotate}\dvitopsRotate@@ŽŽ¡‘ãŒÃ48Ž‘ûKÃÏ\xyaddsupport{line}\dvitopsLine@@ŽŽ¡‘ãŒÃ49Ž‘ûKÃÏ\xyaddsupport{frame}\dvitopsFrames@@ŽŽ¡‘ãŒÃ50Ž‘ûKÃÏ\xyaddsupport{tile}\dvitopsTiles@@ŽŽ¡‘ãŒÃ51Ž‘õŒÏ%‘¿ª\xyaddsupport{tpic}\dvitopsTPIC@@ŽŽ¡‘ãŒÃ52Ž‘ûKÃÏ\xyaddsupport{cmtip}\relaxŽŽ¡‘ãŒÃ53Ž‘õŒÏ}ŽŽŸ¥Õ‘ôŒ¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸîΑóøéÇŽŽŽ‘þì¹colour,›\¬using–J>direct“color“spMÞecials“for“ÏgrayŽ‘Hæ¹,˜ÏrgbŽ‘åè¹and“ÏhsbŽ‘Óz¹colour“moMÞdels;‘höand“ÕPostScript“¹colourŽ¡‘þìwithin‘¦fdiagrams;ŽŸÄ4‘þìÕdÁ´vitops–A}¹has“a“methošMÞd“for“using“colours“lo˜cally‘ÿe,›U¬ho•²!w“ev“er–A}it“only“colours“\regions",˜whic²!h“cannotŽ¡‘þìbšMÞe–¦fnested.‘ÝÝT‘ÿeo“use“this“within‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“diagrams“w²!ould“b˜e“just“asking“for“trouble.ަ‘ãŒÃ72Ž‘õŒÏ\xydef@\dvitopsColor@@{\dvitops@Color@}ŽŽ¦‘ãŒÃ74Ž‘õŒÏ\xydef@\dvitops@Color@{\dvitopsPStypes@ŽŽ¡‘ãŒÃ75Ž‘ûKÃÏ\let\xylocalColor@=\xyDVITOPScolor@ŽŽ¡‘ãŒÃ76Ž‘ûKÃÏ\let\xycolor@push\xycolor@push@@ŽŽ¡‘ãŒÃ77Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}\let\xycolorwarning@=\relaxŽŽ¡‘ãŒÃ78Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ79Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}\xycatcodesŽŽ¡‘ãŒÃ80Ž‘ mÏ\installPScolor@–¿ª}\else\DN@{}\fi“\next@ŽŽ¡‘ãŒÃ81Ž‘ûKÃÏ\ifx\xycolor@@\xyNoColor@‘¿ª\let\xycolor@@=\xycolor@raw@@\fiŽŽ¡‘ãŒÃ82Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\dvitopsCrayon@{}}%ŽŽ¡‘ãŒÃ83Ž‘ûKÃÏ\else\let\next@=\xystandardcolors@ŽŽ¡‘ãŒÃ84Ž‘ûKÃÏ\fi‘¿ª\next@ŽŽ¡‘ãŒÃ85Ž‘ûKÃÏ\let\dvitops@Color@@=\relaxŽŽ¡‘ãŒÃ86Ž‘ûKÃÏ\let\UnloadColor@@=\NoDVITOPScolor@ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ}%ŽŽ¦‘ãŒÃ89Ž‘õŒÏ\xydef@\NoDVITOPScolor@{%ŽŽŽŽŒ‹Õw° Á à ý*tj‘ãŒÑ4.4.‘„CD²!VITOPS‘¦fDRIVER’Wdz¹469ŽŽ ¶?? ýh«w‘ãŒÃ90Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}%ŽŽ¤ ™š‘ãŒÃ91Ž‘ûKÃÏ\let\xycolor@@=\xyNoColor@ŽŽ¡‘ãŒÃ92Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ93Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ94Ž‘ûKÃÏ\let\dvitops@Color@@=\dvitops@Color@ŽŽ¡‘ãŒÃ95Ž‘ûKÃÏ}ŽŽŸv‘ãŒÃ99Ž‘õŒÏ\xydef@\xyDVITOPScolor@{\bgroup‘¿ª\DN@##1##2{\egroup}%ŽŽ¡‘ãŒÃ100Ž‘ûKÃÏ\ifInvisible@\else\ifHidden@\else\DNii@{\no@@}\ifx\nextii@\Connect@@ŽŽ¡‘ãŒÃ101Ž‘ûKÃÏ\else\DN@{\xyDVITOPScolor@i}\fi\fi\fi–¿ª\next@“}ŽŽ©Pˆ‘ãŒÃ103Ž‘õŒÏ\xydef@\xyDVITOPScolor@i#1#2{\checkXyStyle@ŽŽ¡‘ãŒÃ104Ž‘ûKÃÏ\DN@{#2}\ifx\next@\emptyŽŽ¡‘ãŒÃ105Ž‘ mÏ\def\tmp@##1{\DN@{\xycolor@begin##1\xycolor@end{#1}}}%ŽŽ¡‘ãŒÃ106Ž‘ûKÃÏ\else\DNii@{gray}\ifx\next@\nextii@ŽŽ¡‘ãŒÃ107Ž‘ mÏ\def\tmp@##1{\DN@{\xycolor@begin##1\xycolor@end{gray}{#1}}}%ŽŽ¡‘ãŒÃ108Ž‘ûKÃÏ\else\DNii@{rgb}\ifx\next@\nextii@ŽŽ¡‘ãŒÃ109Ž‘ mÏ\def\tmp@##1{\DN@{\xycolor@begin##1\xycolor@end{rgbcolor}{#1}}}%ŽŽ¡‘ãŒÃ110Ž‘ûKÃÏ\else\DNii@{hsb}\ifx\next@\nextii@ŽŽ¡‘ãŒÃ111Ž‘ mÏ\def\tmp@##1{\DN@{\xycolor@begin##1\xycolor@end{hsbcolor}{#1}}}%ŽŽ¡‘ãŒÃ112Ž‘ûKÃÏ\else–¿ª\DN@{\xywarning@{DVITOPS“cannot“support“color:“#2“#1}}%ŽŽ¡‘ãŒÃ113Ž‘ûKÃÏ\fi\fi\fi\fiŽŽ¡‘ãŒÃ114Ž‘ûKÃÏ\toks@={\egroup–¿ª\let\xy@style@=\relax“\def\Drop@@}%ŽŽ¡‘ãŒÃ115Ž‘ûKÃÏ\expandafter\tmp@\expandafter{\Drop@@}%ŽŽ¡‘ãŒÃ116Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\next@}\def\Connect@@}%ŽŽ¡‘ãŒÃ117Ž‘ mÏ\expandafter\tmp@\expandafter{\Connect@@}%ŽŽ¡‘ãŒÃ118Ž‘ûKÃÏ\expandafter\addtotoks@\expandafter{\expandafter{\next@}}%ŽŽ¡‘ãŒÃ119Ž‘ûKÃÏ\the\toks@‘¿ª}%ŽŽ¦‘ãŒÃ121Ž‘õŒÏ\xydef@\xycolor@begin{\dvitopsBegin@{color}}ŽŽ¡‘ãŒÃ122Ž‘õŒÏ\xydef@\xycolor@end{\dvitopsEnd@{color}\dvitopsColor@x}ŽŽŸ4X‘óøéÇŽŽŽ‘þì¹cra•²!y“on‘¦fcolours.ŽŸ ‚‘þìThe–¦f68“colours“are“those“that“ÏdvipsŽ‘$ ¹recognizes“bš²!y“name,“thanks“to“T‘ÿeomas“Rokic˜ki.ަ‘ãŒÃ135Ž‘õŒÏ\xydef@\dvitopsCrayon@@{\dvitopsColor@@\dvitopsCrayon@}ŽŽ¡‘ãŒÃ136Ž‘õŒÏ\xydef@\dvitopsCrayon@{\installCrayolaColors@}%ŽŽŸ4X‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.ަ‘ãŒÃ143Ž‘õŒÏ\xydef@\dvitopsPS@@{\dvipsPS@}ŽŽ¦‘ãŒÃ145Ž‘õŒÏ\xydef@\dvitopsPS@unload{\UnloadPS@ŽŽ¡‘ãŒÃ146Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¡‘ãŒÃ147Ž‘ûKÃÏ\let\dvitopsPS@@=\dvitopsPS@‘¿ª}ŽŽŸÂp‘þìÕdÁ´vitops–0k¹has“t•²!w“o–0kkinds“of“Ï\specialŽ‘4^&¹whic²!h“can“bMÞe“used;‘W¿`inline'“and“`prolog'“for“including“headerŽ¡‘þì les.‘ÝÝAlso–¦fthere“are“the“`bšMÞegin'“and“`end'“t²!yp˜es“for“de ning“regions.ަ‘ãŒÃ157Ž‘õŒÏ\xydef@\dvitopsPStypes@{%ŽŽ¡‘ãŒÃ158Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\ifx\PSspecial@@\dvitopsSpecial@\elseŽŽ¡‘ãŒÃ160Ž‘ mÏ\let\PSspecial@@=\dvitopsSpecial@ŽŽ¡‘ãŒÃ161Ž‘ mÏ\let\PSmacro@@=\dvitopsMacro@ŽŽŽŽŒ‹ÖƒI Á à ý*tj‘㌹470’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ162Ž‘ mÏ\let\PSdict@@=\dvitopsDict@ŽŽ¤ ™š‘ãŒÃ163Ž‘ mÏ\let\PSspecialdict@@=\dvitopsDict@ŽŽ¡‘ãŒÃ164Ž‘ mÏ\let\PSraw@@=\dvitopsRaw@ŽŽ¡‘ãŒÃ165Ž‘ mÏ\let\PSinclude@@=\dvitopsInclude@ŽŽ¡‘ãŒÃ166Ž‘ mÏ\let\xyPSobeylines@@=\obeyDVIPSlines@ŽŽ¡‘ãŒÃ167Ž‘ mÏ\let\xyPScurrpt@@=\dvitopsCurrpt@@ŽŽ¡‘ãŒÃ168Ž‘ mÏ\dvitops@@{PostScript}%ŽŽ¡‘ãŒÃ169Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ170Ž‘õŒÏ%‘¿ª\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ171Ž‘ûKÃÏ\XYpredict@‘¿ª}ŽŽ©Pˆ‘ãŒÃ173Ž‘õŒÏ\xywarnifdefined\dvitopsSpecial@ŽŽ¡‘ãŒÃ174Ž‘õŒÏ\xywarnifdefined\dvitopsMacro@ŽŽ¡‘ãŒÃ175Ž‘õŒÏ\xywarnifdefined\dvitopsDict@ŽŽ¡‘ãŒÃ176Ž‘õŒÏ\xywarnifdefined\dvitopsInclude@ŽŽ¡‘ãŒÃ177Ž‘õŒÏ\xywarnifdefined\dvitopsRaw@ŽŽ¡‘ãŒÃ178Ž‘õŒÏ\xywarnifdefined\dvitopsOrigin@ŽŽ¡‘ãŒÃ179Ž‘õŒÏ\xywarnifdefined\dvitopsBegin@ŽŽ¡‘ãŒÃ180Ž‘õŒÏ\xywarnifdefined\dvitopsEnd@ŽŽ¡‘ãŒÃ181Ž‘õŒÏ\xywarnifdefined\dvitopsRotate@xŽŽ¡‘ãŒÃ182Ž‘õŒÏ\xywarnifdefined\dvitopsTransform@xŽŽ¡‘ãŒÃ183Ž‘õŒÏ\xywarnifdefined\dvitopsColor@xŽŽ¡‘ãŒÃ184Ž‘õŒÏ{\catcode`\:=11ŽŽ¡‘ãŒÃ185Ž‘ûKÃÏ\gdef\dvitopsSpecial@#1{\special{dvitops:–¿ªinline“#1}}ŽŽ¡‘ãŒÃ186Ž‘ûKÃÏ\gdef\dvitopsMacro@#1{\special{dvitops:–¿ªinline“{#1}xy}}ŽŽ¡‘ãŒÃ187Ž‘ûKÃÏ\gdef\dvitopsDict@#1{\special{dvitops:–¿ªinline“#1}}ŽŽ¡‘ãŒÃ188Ž‘ûKÃÏ\gdef\dvitopsInclude@#1{\special{dvitops:–¿ªprolog“#1}}ŽŽ¡‘ãŒÃ189Ž‘ûKÃÏ\gdef\dvitopsRaw@#1{\special{dvitops:–¿ªinline“#1}}ŽŽ¡‘ãŒÃ190Ž‘õŒÏ%ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\gdef\dvitopsOrigin@#1{\special{dvitops:–¿ªorigin“#1}}ŽŽ¡‘ãŒÃ192Ž‘ûKÃÏ\gdef\dvitopsBegin@#1{\special{dvitops:–¿ªbegin“#1}}ŽŽ¡‘ãŒÃ193Ž‘ûKÃÏ\gdef\dvitopsEnd@#1{\special{dvitops:–¿ªend“#1}}ŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\gdef\dvitopsRotate@x#1{\special{dvitops:–¿ªrotate“#1}}ŽŽ¡‘ãŒÃ195Ž‘ûKÃÏ\gdef\dvitopsTransform@x#1{\special{dvitops:–¿ªtransform“#1}}ŽŽ¡‘ãŒÃ196Ž‘ûKÃÏ\gdef\dvitopsColor@x#1#2{\special{dvitops:–¿ª#1“color“#2}}ŽŽ¡‘ãŒÃ197Ž‘õŒÏ}ŽŽ¦‘ãŒÃ199Ž‘õŒÏ\catcode`\^^M=\active‘¿ª%ŽŽ¡‘ãŒÃ200Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active–¿ª\let^^M=\space“}}%ŽŽ¡‘ãŒÃ201Ž‘õŒÏ\xylet@\obeyDVIPSlines@=\nextŽŽŸfq‘þì¹Rotations–kÚand“transformations“use“a“di erenš²!t“mec˜hanism,‘Ý7so“Ï\xyPScurrpt@@Ž‘U“V¹can“bMÞe“set“toŽ¡‘þìÏ\relaxŽ‘!j¹.ަ‘ãŒÃ208Ž‘õŒÏ\xydef@\dvitopsCurrpt@{\global\let\xyPScurrpt@@=\relax}%ŽŽŸüZ‘þì¹This–¦finstalls“the“ÕPostScript“¹bac•²!k“end.ަ‘ãŒÃ216Ž‘õŒÏ\xydef@\dvitopsPS@{\dvitopsPStypes@ŽŽ¡‘ãŒÃ217Ž‘ûKÃÏ\let\installxyps@@=\relax–¿ª\installxyps@“}ŽŽŸ|Z‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“using“ÕdÁ´vitops“¹spšMÞecials;“ho•²!w“ev“er–¦fthese“ma²!y“not“b˜e“nested.ŽŽŽŒ‹×Ž´ Á à ý*tj‘ãŒÑ4.4.‘„CD²!VITOPS‘¦fDRIVER’Wdz¹471ŽŽ ¶?? ýh«w‘ãŒÃ228Ž‘õŒÏ\xydef@\dvitopsRotate@@{\dvitopsRotate@}ŽŽ©Pˆ‘ãŒÃ230Ž‘õŒÏ\xydef@\dvitopsRotate@{\dvitopsPStypes@ŽŽ¤ ™š‘ãŒÃ231Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\emptyŽŽ¡‘ãŒÃ232Ž‘ mÏ\DN@{\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ233Ž‘ mÏ\installDVITOPSrotate@‘¿ª}%ŽŽ¡‘ãŒÃ234Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}\UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ235Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘ãŒÃ237Ž‘õŒÏ\xydef@\dvitopsRotScale@{%ŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\def\xyrot@start{\dvitopsBegin@{rot}\dvitopsOrigin@{rot}}%ŽŽ¡‘ãŒÃ239Ž‘ûKÃÏ\def\xyrot@end(##1){\dvitopsEnd@{rot}\dvitopsRotate@x{##1}}%ŽŽ¡‘ãŒÃ240Ž‘ûKÃÏ\def\xyscale@start{\dvitopsBegin@{scal}\dvitopsOrigin@{scal}}%ŽŽ¡‘ãŒÃ241Ž‘ûKÃÏ\def\xyscale@end(##1,##2){%ŽŽ¡‘ãŒÃ242Ž‘ mÏ\dvitopsEnd@{scal}\dvitopsTransform@x{##1–¿ª0“##2“0}}%ŽŽ¡‘ãŒÃ243Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ245Ž‘õŒÏ\xydef@\installDVITOPSrotate@{\installPSstyle@ŽŽ¡‘ãŒÃ246Ž‘ûKÃÏ\let\xyRotate@@=\dvitopsRotate@ŽŽ¡‘ãŒÃ247Ž‘ûKÃÏ\let\doSpecialRotate@@=\dvitopsSpecialRotate@ŽŽ¡‘ãŒÃ248Ž‘ûKÃÏ\let\xyscale@@=\dvitopsScale@ŽŽ¡‘ãŒÃ249Ž‘ûKÃÏ\dvitopsCurrpt@ŽŽ¡‘ãŒÃ250Ž‘ûKÃÏ\dvitopsRotScale@–¿ª\xyPSshapes@true“}ŽŽ¦‘ãŒÃ252Ž‘õŒÏ\xydef@\UnloadDVITOPSrotate@{\UnloadRotate@\relax}ŽŽŸv‘ãŒÃ256Ž‘ûKÃÏ\xydef@\dvitopsRotate@#1{\xyPSsplitPS@ŽŽ¡‘ãŒÃ257Ž‘ mÏ{\dvitopsBegin@{rot}\dvitopsOrigin@{rot}}%ŽŽ¡‘ãŒÃ258Ž‘ mÏ{\dvitopsEnd@{rot}\dvitopsRotate@x{#1}}}%ŽŽ¦‘ãŒÃ260Ž‘ûKÃÏ\xydef@\dvitopsScale@#1#2{\xyPSsplitPS@ŽŽ¡‘ãŒÃ261Ž‘ mÏ{\dvitopsBegin@{scal}\dvitopsOrigin@{scal}}%ŽŽ¡‘ãŒÃ262Ž‘ mÏ{\dvitopsEnd@{scal}\dvitopsTransform@x{#1–¿ª0“#2“0}}}ŽŽ¦‘ãŒÃ264Ž‘ûKÃÏ\xydef@\dvitopsSpecialRotate@#1@@{\dvitopsRotate@{#1}}ŽŽŸs¤‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ަ‘ãŒÃ271Ž‘õŒÏ\xydef@\dvitopsLine@@{\dvitopsLine@}ŽŽ¦‘ãŒÃ273Ž‘õŒÏ\xydef@\dvitopsLine@{\dvitopsPStypes@ŽŽ¡‘ãŒÃ274Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ275Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ276Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-widths‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ277Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸs¤‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ަ‘ãŒÃ284Ž‘õŒÏ\xydef@\dvitopsFrames@@{\dvitopsFrames@}ŽŽ¦‘ãŒÃ286Ž‘õŒÏ\xydef@\dvitopsFrames@{\dvitopsPStypes@ŽŽ¡‘ãŒÃ287Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ288Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ289Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadFrames@\relax}\fiŽŽ¡‘ãŒÃ290Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸs¤‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScriptŽŽŽŒ‹Ø™€ Á à ý*tj‘㌹472’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ297Ž‘õŒÏ\xydef@\dvitopsTiles@{\dvitopsPStypes@ŽŽ¤ ™š‘ãŒÃ298Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ299Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}\installPSpatterns@‘¿ª}%ŽŽ¡‘ãŒÃ300Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽ¡‘ãŒÃ301Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸS‘óøéÇŽŽŽ‘þìÕtpic–¦f¹dra²!wing“commands.ޤPˆ‘ãŒÃ308Ž‘õŒÏ\xydef@\dvitopsTPIC@@{\dvitopsTPIC@}ŽŽ¡‘ãŒÃ310Ž‘õŒÏ\xydef@\dvitopsTPIC@{\setupxyTPIC@}ŽŽŸ#q‘ãŒÔThe–2end“&“LogŽ¡‘ãŒÃ322Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ324Ž‘õŒÏ%–¿ª$Log:“xydvitops.doc,v“$ŽŽ¤ ™š‘ãŒÃ325Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:14:36“rossŽŽ¡‘ãŒÃ326Ž‘õŒÏ%–¿ªminor“improvements“to“file-loading“commandsŽŽ¡‘ãŒÃ327Ž‘õŒÏ%ŽŽ¡‘ãŒÃ328Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ329Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ330Ž‘õŒÏ%ŽŽ¡‘ãŒÃ331Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:28:57“rossŽŽ¡‘ãŒÃ332Ž‘õŒÏ%–¿ªReleasing“version“3.1!ŽŽ¡‘ãŒÃ333Ž‘õŒÏ%ŽŽ¡‘ãŒÃ334Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ/)Û‘ãŒÝ4.5Ž‘r|OzT‘þ¦feX‘ffdrivŒÌerŽŸï"‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ)–‘㌹This–$‡drivš²!er“pro˜vides“the“necessary“in˜terface“to“suppMÞort“the“ÕPostScript“¹bac˜k-end“and“other“ÕPost-Ž¡‘ãŒScript–¿‡¹e ects“when“using“the“D•²!VI‘¿€driv“er–¿‡of“vš²!ersions“1.8+“of“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“b˜y“Andrew“T‘ÿerev˜orro˜w,Ÿü¾Â1ŽŽ‘…ÓÐEarlierŽ¡‘ãŒversions–êêof“Oª z‘þR3T‘þ"RŸ[wEŽ‘)¡X“should“inste‘ÿp¹ad“use“the“driver“option“Ï\xyoption{17oztex}Ž‘kdÞÐ.Ž© Ú>‘ôŒ¹E ects–é sucš²!h“as“colour,‘aline-thic˜kness“and“rotated“or“scaled“diagrams“are“only“partially“suppMÞorted“inŽ¡‘ãŒthat–C)the“e ects“cannot“bMÞe“applied“to“anš²!y“text“or“sym˜bMÞols“placed“using“fon˜ts.‘¼ÉThis“is“due“to“the“natureŽ¡‘ãŒof–£ÜO«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“Çh¹drivš²!erÇi¹,‘¤^whose“optimization“of“the“placemen˜t“of“fon˜t-c˜haracters“precludes“the“applicabilit˜yŽ¡‘ãŒof–¬~sucš²!h“e ects.‘ŠF‘ÿeurthermore“the“ÕPostScript“¹dictionary“m˜ust“bMÞe“a˜v‘ÿdDailable“in“a“ le“called“Ïglobal.psŽ‘9ö¹orŽ¡‘ãŒappMÞended–Õ±to“the“ÏOzTeXdict.proŽ‘M‘S¹.‘˜LHo•²!w“ev“er–Õ±with“vš²!ersion“1.8“and“later“of“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X,‘ÿothere“is“the“alternativ˜eŽ¡‘ãŒof–¦fusing“the“ÏdvipsŽ‘$ Çh¹drivš²!erÇi¹,“whic˜h“došMÞes“supp˜ort“all“the“ÕPostScript“¹e ects“a²!v‘ÿdDailable“in‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic.ަ‘ôŒÔNote:‘šA¹T‘ÿeo–.use‘ØX‘ü·ŸâÃYŽŽ‘ †8-pic“e ectivš²!ely“with“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“requires“c˜hanging“sev˜eral“memory“parameters.‘°ËIn“par-Ž¡‘ãŒticular–²Za“`Big-T‘þ,³Ÿ[wEŽ‘B X'“is“needed,‘ã)along“with“an“increase“in“the“Ïpool_sizeŽ‘9!®¹parameter.‘Œ„Explicit“instructionsŽ¡‘ãŒare–¦fcon²!tained“in“the“ le“ÏINSTALL.Ž‘1£¶OzTeXŽ‘Rn¹of“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“distribution.ŽŸ]ƒ‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyoztex.doc,v“3.3“1996/12/18“09:26:26“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ‘㌟ RމffÁyÌŸ LÍ‘ {ºŸü-=Ã1ŽŽŽ‘¦aÖO¸÷z‘þœÒT‘þuAŸïÿEŽ‘˜ŸX–uis“a“sharewš¾9are“implemen˜tation“of“T‘þuAŸïÿEŽ‘˜ŸX“for“Macin˜tosh“a˜v‘ÿ|railable“from“man˜y“bulletin“bAÇoards“and“ftp“sites;‘jv1.5ŽŸ and–Tearlier“vš¾9ersions“w˜ere“freew˜are.‘pEmail“con˜tact:‘pØhÖakt@k‘ÿ|ragi.comØiÖ.ŽŽŽŒ‹Ù¤ª Á à ý*tj‘ãŒÑ4.5.‘„COZTEX‘¦fDRIVER’c/²¹473ŽŽ ¶?? ýh«w‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``OzTeX''“driver“interface“option.ŽŽ¤ ™š‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{oztex}{OzTeX–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ!Xø‘ãŒÃ59Ž‘õŒÏ\xydef@\OzTeX@@#1{\dvimessage@{OzTeX}{#1}}ŽŽ¦‘ãŒÃ61Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ62Ž‘ûKÃÏ\xyaddsupport{color}\oztexColor@@ŽŽ¡‘ãŒÃ63Ž‘ûKÃÏ\xyaddsupport{crayon}\oztexCrayon@@ŽŽ¡‘ãŒÃ64Ž‘ûKÃÏ\xyaddsupport{ps}\oztexPS@@ŽŽ¡‘ãŒÃ65Ž‘ûKÃÏ\xyaddsupport{rotate}\oztexRotate@@ŽŽ¡‘ãŒÃ66Ž‘ûKÃÏ\xyaddsupport{line}\oztexLine@@ŽŽ¡‘ãŒÃ67Ž‘ûKÃÏ\xyaddsupport{frame}\oztexFrames@@ŽŽ¡‘ãŒÃ68Ž‘ûKÃÏ\xyaddsupport{tile}\oztexTiles@@ŽŽ¡‘ãŒÃ69Ž‘ûKÃÏ\xyaddsupport{cmtip}\relaxŽŽ¡‘ãŒÃ70Ž‘õŒÏ}ŽŽ¦‘ôŒ¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸœ ‘óøéÇŽŽŽ‘þì¹colour,–¦fusing“ÕPostScript¹,“but“not“of“fon•²!t-c“haracters.ަ‘ãŒÃ83Ž‘õŒÏ\xydef@\oztexColor@@{\OzTeXColours@}ŽŽ¦‘ãŒÃ85Ž‘õŒÏ\xydef@\OzTeXColours@{\OzTeXPStypes@ŽŽ¡‘ãŒÃ86Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@‘¿ª\def\xycolor@{\xycolor@@}%ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%\XYpredict@ŽŽ¡‘ãŒÃ88Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}%ŽŽ¡‘ãŒÃ89Ž‘ mÏ\installPScolor@–¿ª}\else\DN@{}\fi“\next@ŽŽ¡‘ãŒÃ90Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\OzTeXCrayon@@{}}%ŽŽ¡‘ãŒÃ91Ž‘ûKÃÏ\else\let\next@=\xystandardcolors@\fi‘¿ª\next@ŽŽŽŽŒ‹Ú±ð Á à ý*tj‘㌹474’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ92Ž‘ûKÃÏ\let\xycolorwarning@=\relaxŽŽ¤ ™š‘ãŒÃ93Ž‘ûKÃÏ\let\oztexColor@@=\relaxŽŽ¡‘ãŒÃ94Ž‘ûKÃÏ\let\UnloadColor@@=\NoOzTeXColor@ŽŽ¡‘ãŒÃ95Ž‘õŒÏ}ŽŽ©Pˆ‘ãŒÃ97Ž‘õŒÏ\xydef@\NoOzTeXColor@{%ŽŽ¡‘ãŒÃ98Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ99Ž‘ûKÃÏ\let\xycolor@=\xyNoColor@ŽŽ¡‘ãŒÃ100Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ101Ž‘ûKÃÏ\let\oztexColor@@=\OzTeXColours@ŽŽ¡‘ãŒÃ102Ž‘ûKÃÏ\let\UnloadColor@@=\UnloadColor@ŽŽ¡‘ãŒÃ103Ž‘ûKÃÏ}ŽŽ¤ÞH‘óøéÇŽŽŽ‘þì¹cra•²!y“on–¦fcolours,“similarly“restricted.ŽŸàz‘þìThe–¦f68“colours“are“those“that“ÏdvipsŽ‘$ ¹recognizes“bš²!y“name,“thanks“to“T‘ÿeomas“Rokic˜ki.ަ‘ãŒÃ116Ž‘õŒÏ\xydef@\OzTeXCrayon@@{\installCrayolaColors@}ŽŽ¡‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.ަ‘ãŒÃ126Ž‘õŒÏ\xydef@\oztexPS@@{\oztexPS@}ŽŽ¦‘ãŒÃ128Ž‘õŒÏ\xydef@\oztexPSunload@{\UnloadPS@ŽŽ¤ ™š‘ãŒÃ129Ž‘ûKÃÏ\def\xyPSdictname{}\UsePSdict@@falseŽŽ¡‘ãŒÃ130Ž‘ûKÃÏ\let\installxyps@@=\relaxŽŽ¡‘ãŒÃ131Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¡‘ãŒÃ132Ž‘ûKÃÏ\xyPSshapes@trueŽŽ¡‘ãŒÃ133Ž‘ûKÃÏ\let\oztexPS@@=\oztexPS@‘¿ª}ŽŽŸv‘ãŒÃ137Ž‘õŒÏ\xydef@\OzTeXSpecial@#1{\special{empty.ps‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ138Ž‘õŒÏ\xydef@\OzTeXMacro@#1{\special{empty.ps‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ139Ž‘õŒÏ\xydef@\OzTeXDict@#1{\special{empty.ps–¿ª@bxy{#1}stopped“pop“@exy}}ŽŽ¡‘ãŒÃ140Ž‘õŒÏ\xydef@\OzTeXinclude@#1{\special{#1}}ŽŽ¡‘ãŒÃ141Ž‘õŒÏ\xydef@\OzTeXraw@#1{\special{empty.ps–¿ª@bxy“#1“@exy}}%ŽŽ¦‘ãŒÃ143Ž‘õŒÏ\xydef@\OzTeXPStypes@{%ŽŽ¡‘ãŒÃ144Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ145Ž‘ûKÃÏ\ifx\PSspecial@@\OzTeXSpecial@\elseŽŽ¡‘ãŒÃ146Ž‘ mÏ\let\PSspecial@@=\OzTeXSpecial@ŽŽ¡‘ãŒÃ147Ž‘ mÏ\let\PSmacro@@=\OzTeXMacro@ŽŽ¡‘ãŒÃ148Ž‘ mÏ\let\PSdict@@=\OzTeXDict@ŽŽ¡‘ãŒÃ149Ž‘ mÏ\let\PSraw@@=\OzTeXraw@ŽŽ¡‘ãŒÃ150Ž‘ mÏ\let\PSinclude@@=\OzTeXinclude@ŽŽ¡‘ãŒÃ151Ž‘ mÏ\let\xyPSobeylines@@=\obeyOzTeXlines@ŽŽ¡‘ãŒÃ152Ž‘ mÏ\let\PSspecialdict@@=\OzTeXDict@ŽŽ¡‘ãŒÃ153Ž‘ mÏ\OzTeX@@{PostScript}%ŽŽ¡‘ãŒÃ154Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ155Ž‘õŒÏ%‘¿ª\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ156Ž‘ûKÃÏ\OzTeXCurrpt@‘¿ª}ŽŽ¦‘ãŒÃ158Ž‘õŒÏ{\catcode`\^^M=\active‘¿ª%ŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active–¿ª\let^^M=\space“\obeyspaces}}ŽŽ¡‘ãŒÃ160Ž‘õŒÏ\xylet@\obeyOzTeXlines@=\nextŽŽŽŽŒ‹Û½ü Á à ý*tj‘ãŒÑ4.5.‘„COZTEX‘¦fDRIVER’c/²¹475ŽŽ ¶?? ýh«w‘þìThe–.šÕPostScript“¹opMÞerators“Ï@bxyŽ›[ܹand“Ï@exyŽ˜¹are“de ned“in“Ïxyps-psŽ‘.šÚ¹for“bš²!ypassing“the“mec˜hanismޤ ™š‘þìused–cÌin“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“to“isolate“cošMÞde“passed“in“Ï\specialŽ‘6Äè¹commands.‘Although“it“is“p˜ossible“(alb˜eitŽ¡‘þìdicult)–´Hto“devise“ÕPostScript“¹to“deduce“the“currenš²!t“loMÞcation“for“use“with“the“\ra˜w"“spMÞecials,Ž¡‘þìthis–ädinformation“cannot“bMÞe“used“to“do“rotations“and“scaling“as“with“other“Çh¹driv²!erÇi¹s.‘—ØHence“theŽ¡‘þìv‘ÿdDalue–¦fof“Ï\xyPScurrpt@@Ž‘Rn¹is“takš²!en“to“bMÞe“empt˜y‘ÿe.Ž©Pˆ‘ãŒÃ171Ž‘õŒÏ\xydef@\OzTeXCurrpt@{\let\xyPScurrpt@@=\OzTeXCurrpt@@}%ŽŽ¡‘ãŒÃ172Ž‘õŒÏ\xydef@\OzTeXCurrpt@@{\PSraw@@{xyp}}ŽŽŸ¾‘þì¹This›MÜa•²!v“oids˜dumping˜the˜dictionary˜in“to˜the˜dvi- le,‘_‘making˜sure˜that˜instead˜it˜goMÞes˜in“to˜a˜ le,Ž¡‘þìspMÞeci ed–¦fbš²!y“Ï\xyPSdictnameŽ‘Nb¹,“whic˜h“defaults“to“Ïglobal.psŽ‘7c`¹.ަ‘ãŒÃ182Ž‘õŒÏ\xydef@\oztexPS@{\OzTeXPStypes@ŽŽ¡‘ãŒÃ183Ž‘ûKÃÏ\let\oztexPS@@=\relaxŽŽ¡‘ãŒÃ184Ž‘ûKÃÏ\let\UnloadPS@@=\oztexPSunload@ŽŽ¡‘ãŒÃ185Ž‘ûKÃÏ\let\installxyps@@=\@OzTeX@PS@ŽŽ¡‘ãŒÃ186Ž‘ûKÃÏ\installxyps@‘¿ª}ŽŽ¦‘ãŒÃ188Ž‘õŒÏ\xydef@\@OzTeX@PS@{\UsePSdict@@trueŽŽ¡‘ãŒÃ189Ž‘ûKÃÏ\let\includePSmessage@=\xyOzTeXheaderŽŽ¡‘ãŒÃ190Ž‘ûKÃÏ\ifx\undefined\xyPSdictname\def\xyPSdictname{global.ps}\fi}ŽŽ¦‘ãŒÃ192Ž‘õŒÏ\xydef@\xyOzTeXheader#1#2#3{\UsePSdict@@true}ŽŽŸr£‘þì¹The–¦fparameters“Ï#1#2#3Ž‘)Êȹof“Ï\xyOzTeXheaderŽ‘Wȹgobble“tok²!ens“that“are“unnecessary“with“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X.ŽŸÝБóøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ަ‘ãŒÃ202Ž‘õŒÏ\xydef@\oztexLine@@{\oztexLine@}ŽŽ¦‘ãŒÃ204Ž‘õŒÏ\xydef@\oztexLine@{\OzTeXPStypes@ŽŽ¡‘ãŒÃ205Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%\XYpredict@ŽŽ¡‘ãŒÃ206Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ207Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-styles‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ208Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ”¾‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ަ‘ãŒÃ215Ž‘õŒÏ\xydef@\oztexFrames@@{\OzTeXFrames@}ŽŽ¦‘ãŒÃ217Ž‘õŒÏ\xydef@\OzTeXFrames@{\OzTeXPStypes@ŽŽ¡‘ãŒÃ218Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ219Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ220Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadPSFrames@\relax}\fiŽŽ¡‘ãŒÃ221Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ”¾‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScript¹.ަ‘ãŒÃ228Ž‘õŒÏ\xydef@\oztexTiles@@{\OzTeXTiles@}ŽŽ¦‘ãŒÃ230Ž‘õŒÏ\xydef@\OzTeXTiles@{\OzTeXPStypes@ŽŽ¡‘ãŒÃ231Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ232Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}\installPSpatterns@ŽŽ¡‘ãŒÃ233Ž‘ mÏ\xystandardpatterns@‘¿ª}%ŽŽ¡‘ãŒÃ234Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽ¡‘ãŒÃ235Ž‘ûKÃÏ\next@‘¿ª}ŽŽŽŽŒ‹ÜÇ— Á à ý*tj‘㌹476’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“recognised“but“not“suppMÞorted.ŽŸjZ‘þìIn–ÑJfact“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“cannot“suppMÞort“rotations“and“scaling.‘^ˆInstead“w²!e“go“through“all“the“motionsޤ ™š‘þìof– Kproš²!viding“ÕPostScript“¹suppMÞort,‘eÃthen“set“a“ ag“that“causes“a“limited“n˜um˜bMÞer“of“w˜arningŽ¡‘þìmessages–¦fto“bMÞe“generated“as“requests“are“made“for“these“e ects.ޤPˆ‘ãŒÃ250Ž‘õŒÏ\xydef@\oztexRotate@@{\OzTeXRotate@}ŽŽ¡‘ãŒÃ252Ž‘õŒÏ\xydef@\OzTeXRotate@{\OzTeXPStypes@ŽŽ¤ ™š‘ãŒÃ253Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ254Ž‘ mÏ\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ255Ž‘ mÏ\OzTeXRotScale@–¿ª\installPSrotscale@“\xyPSshapes@false“}%ŽŽ¡‘ãŒÃ256Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}\UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ257Ž‘ûKÃÏ\next@‘¿ª}ŽŽ©!H‘þì¹This–]Žnevš²!er“w˜ork˜ed“propšMÞerly‘ÿe.‘UIt“requires“to˜o“m•²!uc“h›]Žhac“king˜at˜T‘ÿerev“orro“w's˜coMÞde˜for˜little˜gain,Ž¡‘þìsince–¦ftext-rotation“can“nevš²!er“w˜ork“an˜yw˜a˜y‘ÿe.‘ÝÝUse“the“ÕdÁ´vips“¹option“instead!ŽŸPˆ‘ãŒÃ265Ž‘õŒÏ\xydef@\OzTeXRotScale@{%ŽŽ¡‘ãŒÃ266Ž‘ûKÃÏ\def\xyrot@start(##1){%ŽŽ¡‘ãŒÃ267Ž‘ mÏ{xyp–¿ªxyt“##1\space“xyr}{OzXy“begin“gsave}}%ŽŽ¡‘ãŒÃ268Ž‘ûKÃÏ\def\xyscale@start(##1,##2){%ŽŽ¡‘ãŒÃ269Ž‘ mÏ{xyp–¿ªxyt“##1\space##2\space“xys}{OzXy“begin“gsave}}%ŽŽ¡‘ãŒÃ270Ž‘ûKÃÏ\def\xyrot@end{grestore–¿ªend}\def\xyscale@end{grestore“end}}ŽŽ¦‘þì¹The–¦fdefault“coMÞde“will“just“do“nothing“as“far“as“the“output“is“concerned...ޤPˆ‘ãŒÃ276Ž‘õŒÏ\let\OzTeXRotScale@=\xyRotScale@@ŽŽŸ0Ó‘ãŒÔThe–2end“&“LogŽ¡‘ãŒÃ288Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ290Ž‘õŒÏ%–¿ª$Log:“xyoztex.doc,v“$ŽŽ¤ ™š‘ãŒÃ291Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:26:26“rossŽŽ¡‘ãŒÃ292Ž‘õŒÏ%–¿ªimprovements“to“file-loading“commandsŽŽ¡‘ãŒÃ293Ž‘õŒÏ%–¿ªfixed“missing“@“bugŽŽ¡‘ãŒÃ294Ž‘õŒÏ%ŽŽ¡‘ãŒÃ295Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ296Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ297Ž‘õŒÏ%ŽŽ¡‘ãŒÃ298Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ299Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ300Ž‘õŒÏ%ŽŽ¡‘ãŒÃ301Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ302Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ303Ž‘õŒÏ%ŽŽ¡‘ãŒÃ304Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ305Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ306Ž‘õŒÏ%ŽŽ¡‘ãŒÃ307Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŽŽŒ‹ÝÓÅ Á à ý*tj‘ãŒÑ4.6.‘„COZTEX–¦fV1.7“DRIVER’IU¹477ŽŽ ¶?? ýh«w‘ãŒÝ4.6Ž‘r|OzT‘þ¦feX–ffv1.7“drivŒÌerŽŸ9a‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸsՑ㌹This–õÎoption“proš²!vides“the“necessary“in˜terface“to“suppMÞort“the“ÕPostScript“¹bac˜k-end“and“other“ÕPost-ޤ ™š‘ãŒScript–!š¹e ects“when“using“the“D•²!VI‘!9driv“er–!šof“vš²!ersion“1.7“of“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“b˜y“Andrew“T‘ÿerev˜orro˜w,Ÿü¾Â2ŽŽ‘ @jÐL‘ÿp¹aterŽ¡‘ãŒversions–#`of“Oª z‘þR3T‘þ"RŸ[wEŽ‘)¡X“should“inste‘ÿp¹ad“use“the“driver“option“Ï\xyoption{oztex}Ž‘aÐ.‘ØÄ¹Upgrading–úto“v²!ersionŽ¡‘ãŒ1.9+–¦fofO«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“is“recommended.Ž©u‘ôŒDošMÞes–Énot“supp˜ort“rotations,‘ÑÈscaling“and“coloured“text“within“diagrams“and“the“ÕPostScript“¹dic-Ž¡‘ãŒtionary–¦fmš²!ust“bMÞe“a˜v‘ÿdDailable“in“a“ le“called“Ïglobal.psŽ‘7c`¹.ަ‘ôŒÔNote:‘šA¹T‘ÿeo–.use‘ØX‘ü·ŸâÃYŽŽ‘ †8-pic“e ectivš²!ely“with“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“requires“c˜hanging“sev˜eral“memory“parameters.‘°ËIn“par-Ž¡‘ãŒticular–²Za“`Big-T‘þ,³Ÿ[wEŽ‘B X'“is“needed,‘ã)along“with“an“increase“in“the“Ïpool_sizeŽ‘9!®¹parameter.‘Œ„Explicit“instructionsŽ¡‘ãŒare–¦fcon²!tained“in“the“ le“ÏINSTALL.Ž‘1£¶OzTeXŽ‘Rn¹of“the‘ŽX‘ü·ŸâÃYŽŽ‘ p-pic“distribution.ŽŸ7æ‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xy17oztex.doc,v“3.3“1996/12/18“14:21:23“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``OzTeX“v1.7''“driver“interface“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{17oztex}{OzTeX–¿ªv1.7“driver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ"Œ‘ãŒÃ53Ž‘õŒÏ\xydef@\OzTeX@@#1{\dvimessage@{OzTeX‘¿ªv1.7}{#1}}ŽŽ¦‘ãŒÃ55Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ56Ž‘ûKÃÏ\xyaddsupport{color}\oldoztexColor@@ŽŽ‘㌟ p‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã2ŽŽŽ‘¦aÖO¸÷z‘þœÒT‘þuAŸïÿEŽ‘˜ŸX–uis“a“sharewš¾9are“implemen˜tation“of“T‘þuAŸïÿEŽ‘˜ŸX“for“Macin˜tosh“a˜v‘ÿ|railable“from“man˜y“bulletin“bAÇoards“and“ftp“sites;‘jv1.5ŽŸ and–Tearlier“vš¾9ersions“w˜ere“freew˜are.‘pEmail“con˜tact:‘pØhÖakt@k‘ÿ|ragi.comØiÖ.ŽŽŽŒ‹ÞÝð Á à ý*tj‘㌹478’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ57Ž‘ûKÃÏ\xyaddsupport{crayon}\oldoztexCrayon@@ŽŽ¤ ™š‘ãŒÃ58Ž‘ûKÃÏ\xyaddsupport{ps}\oldoztexPS@@ŽŽ¡‘ãŒÃ59Ž‘ûKÃÏ\xyaddsupport{rotate}\oldoztexRotate@@ŽŽ¡‘ãŒÃ60Ž‘ûKÃÏ\xyaddsupport{line}\oldoztexLine@@ŽŽ¡‘ãŒÃ61Ž‘ûKÃÏ\xyaddsupport{frame}\oldoztexFrames@@ŽŽ¡‘ãŒÃ62Ž‘ûKÃÏ\xyaddsupport{tile}\oldoztexTiles@@ŽŽ¡‘ãŒÃ63Ž‘ûKÃÏ\xyaddsupport{cmtip}\relaxŽŽ¡‘ãŒÃ64Ž‘õŒÏ}ŽŽ¤Pˆ‘ôŒ¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸ/R‘óøéÇŽŽŽ‘þì¹colour,–¦fusing“ÕPostScript¹,“but“not“of“fon•²!t-c“haracters.Ž¡‘ãŒÃ78Ž‘õŒÏ\xydef@\oldoztexColor@@{\oldOzTeXColours@}ŽŽ¡‘ãŒÃ80Ž‘õŒÏ\xydef@\oldOzTeXColours@{\oldOzTeXPStypes@ŽŽ¤ ™š‘ãŒÃ81Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@‘¿ª\def\xycolor@{\xycolor@@}%ŽŽ¡‘ãŒÃ82Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%\XYpredict@ŽŽ¡‘ãŒÃ83Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}%ŽŽ¡‘ãŒÃ84Ž‘ mÏ\installPScolor@–¿ª}\else\DN@{}\fi“\next@ŽŽ¡‘ãŒÃ85Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\oldOzTeXCrayon@@{}}%ŽŽ¡‘ãŒÃ86Ž‘ûKÃÏ\else\let\next@=\xystandardcolors@\fi‘¿ª\next@ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ\let\xycolorwarning@=\relaxŽŽ¡‘ãŒÃ88Ž‘ûKÃÏ\let\oldoztexColor@@=\relaxŽŽ¡‘ãŒÃ89Ž‘ûKÃÏ\let\UnloadColor@@=\NooldOzTeXColor@ŽŽ¡‘ãŒÃ90Ž‘ûKÃÏ}ŽŽ©Pˆ‘ãŒÃ92Ž‘õŒÏ\xydef@\NooldOzTeXColor@{%ŽŽ¡‘ãŒÃ93Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ94Ž‘ûKÃÏ\let\xycolor@=\xyNoColor@ŽŽ¡‘ãŒÃ95Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ96Ž‘ûKÃÏ\let\oldoztexColor@@=\oldOzTeXColours@ŽŽ¡‘ãŒÃ97Ž‘ûKÃÏ\let\UnloadColor@@=\UnloadColor@ŽŽ¡‘ãŒÃ98Ž‘ûKÃÏ}ŽŽ¤Y8‘óøéÇŽŽŽ‘þì¹cra•²!y“on–¦fcolours,“similarly“restricted.ŽŸò‘þìThe–¦f68“colours“are“those“that“ÏdvipsŽ‘$ ¹recognizes“bš²!y“name,“thanks“to“T‘ÿeomas“Rokic˜ki.ަ‘ãŒÃ111Ž‘õŒÏ\xydef@\oldOzTeXCrayon@@{\installCrayolaColors@}ŽŽ¡‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.ަ‘ãŒÃ121Ž‘õŒÏ\xydef@\oldoztexPS@@{\oldoztexPS@}ŽŽ¦‘ãŒÃ123Ž‘õŒÏ\xydef@\oldoztexPSunload@{\UnloadPS@ŽŽ¤ ™š‘ãŒÃ124Ž‘ûKÃÏ\def\xyPSdictname{}\UsePSdict@@falseŽŽ¡‘ãŒÃ125Ž‘ûKÃÏ\let\installxyps@@=\relaxŽŽ¡‘ãŒÃ126Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¡‘ãŒÃ127Ž‘ûKÃÏ\xyPSshapes@trueŽŽ¡‘ãŒÃ128Ž‘ûKÃÏ\let\oldoztexPS@@=\oldoztexPS@‘¿ª}ŽŽŸv‘ãŒÃ132Ž‘õŒÏ\xydef@\oldOzTeXSpecial@#1{\special{empty.ps‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ133Ž‘õŒÏ\xydef@\oldOzTeXMacro@#1{\special{empty.ps‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ134Ž‘õŒÏ\xydef@\oldOzTeXDict@#1{\special{empty.ps–¿ª@obxy{#1}stopped“pop“@eoxy}}ŽŽ¡‘ãŒÃ135Ž‘õŒÏ\xydef@\oldOzTeXinclude@#1{\special{#1}}ŽŽŽŽŒ‹ßìH Á à ý*tj‘ãŒÑ4.6.‘„COZTEX–¦fV1.7“DRIVER’IU¹479ŽŽ ¶?? ýh«w‘ãŒÃ136Ž‘õŒÏ\xydef@\oldOzTeXraw@#1{\special{empty.ps–¿ª@boxy“#1“@eoxy}}%ŽŽ©Pˆ‘ãŒÃ138Ž‘õŒÏ\xydef@\oldOzTeXPStypes@{%ŽŽ¤ ™š‘ãŒÃ139Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ140Ž‘ûKÃÏ\ifx\PSspecial@@\oldOzTeXSpecial@\elseŽŽ¡‘ãŒÃ141Ž‘ mÏ\let\PSspecial@@=\oldOzTeXSpecial@ŽŽ¡‘ãŒÃ142Ž‘ mÏ\let\PSmacro@@=\oldOzTeXMacro@ŽŽ¡‘ãŒÃ143Ž‘ mÏ\let\PSdict@@=\oldOzTeXDict@ŽŽ¡‘ãŒÃ144Ž‘ mÏ\let\PSraw@@=\oldOzTeXraw@ŽŽ¡‘ãŒÃ145Ž‘ mÏ\let\PSinclude@@=\oldOzTeXinclude@ŽŽ¡‘ãŒÃ146Ž‘ mÏ\let\xyPSobeylines@@=\obeyoldOzTeXlines@ŽŽ¡‘ãŒÃ147Ž‘ mÏ\let\PSspecialdict@@=\oldOzTeXDict@ŽŽ¡‘ãŒÃ148Ž‘ mÏ\oldOzTeX@@{PostScript}%ŽŽ¡‘ãŒÃ149Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ150Ž‘õŒÏ%‘¿ª\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ151Ž‘ûKÃÏ\oldOzTeXCurrpt@‘¿ª}ŽŽ¦‘ãŒÃ153Ž‘õŒÏ{\catcode`\^^M=\active‘¿ª%ŽŽ¡‘ãŒÃ154Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active–¿ª\let^^M=\space“\obeyspaces}}ŽŽ¡‘ãŒÃ155Ž‘õŒÏ\xylet@\obeyoldOzTeXlines@=\nextŽŽŸK˜‘þì¹The–,’ÕPostScript“¹opMÞerators“Ï@boxyŽ›%v¹and“Ï@eoxyŽ˜¹are“de ned“in“Ïxyps-psŽ‘0–ʹfor“bš²!ypassing“the“mec˜h-Ž¡‘þìanism–˜[used“in“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“to“isolate“cošMÞde“passed“in“Ï\specialŽ‘7.¹commands.‘³½Although“it“is“p˜ossibleŽ¡‘þì(albšMÞeit–Gdicult)“to“devise“ÕPostScript“¹to“deduce“the“curren²!t“lo˜cation“for“use“with“the“\ra²!w"Ž¡‘þìspšMÞecials,‘Ú¯this–information“cannot“b˜e“used“to“do“rotations“and“scaling“as“with“other“Çh¹driv²!erÇi¹s.Ž¡‘þìHence–¦fthe“v‘ÿdDalue“of“Ï\xyPScurrpt@@Ž‘Rn¹is“takš²!en“to“bMÞe“empt˜y‘ÿe.ަ‘ãŒÃ166Ž‘õŒÏ\xydef@\oldOzTeXCurrpt@{\let\xyPScurrpt@@=\OzTeXCurrpt@@}%ŽŽ¡‘ãŒÃ167Ž‘õŒÏ\xydef@\oldOzTeXCurrpt@@{}ŽŽŸƨ‘þì¹This›MÜa•²!v“oids˜dumping˜the˜dictionary˜in“to˜the˜dvi- le,‘_‘making˜sure˜that˜instead˜it˜goMÞes˜in“to˜a˜ le,Ž¡‘þìspMÞeci ed–¦fbš²!y“Ï\xyPSdictnameŽ‘Nb¹,“whic˜h“defaults“to“Ïglobal.psŽ‘7c`¹.ަ‘ãŒÃ177Ž‘õŒÏ\xydef@\oldoztexPS@@{\oldOzTeXPStypes@ŽŽ¡‘ãŒÃ178Ž‘ûKÃÏ\let\installxyps@@=\old@OzTeX@PS@ŽŽ¡‘ãŒÃ179Ž‘ûKÃÏ\installxyps@‘¿ª}ŽŽ¦‘ãŒÃ181Ž‘õŒÏ%–¿ªThe“parameter“|#1|“in“this“next“macro“is“to“gobble“the“|\dumpPSdict@|ŽŽ¡‘ãŒÃ182Ž‘õŒÏ%–¿ªwhich“would“otherwise“dump“the“dictionary“into“the“dvi-file.“HoweverŽŽ¡‘ãŒÃ183Ž‘õŒÏ%–¿ªif“|\xyPSdictname|“is“defined“then“this“dump“must“occur“into“a“file.ŽŽ¡‘ãŒÃ184Ž‘õŒÏ%ŽŽ¡‘ãŒÃ185Ž‘õŒÏ%\xydef@\old@OzTeX@PS@#1{%ŽŽ¡‘ãŒÃ186Ž‘õŒÏ%‘¿ª\let\includePSmessage@=\xyoldOzTeXheaderŽŽ¡‘ãŒÃ187Ž‘õŒÏ%‘¿ª\ifx\undefined\xyPSdictname\DN@{}%ŽŽ¡‘ãŒÃ188Ž‘õŒÏ%–¿ª\else\DN@{#1}\fi\next@“\UsePSdict@@true}ŽŽ¦‘ãŒÃ190Ž‘õŒÏ\xydef@\old@OzTeX@PS@{\UsePSdict@@trueŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\let\includePSmessage@=\xyoldOzTeXheaderŽŽ¡‘ãŒÃ192Ž‘ûKÃÏ\ifx\undefined\xyPSdictname\def\xyPSdictname{global.ps}\fi}ŽŽ¦‘ãŒÃ194Ž‘õŒÏ\xydef@\xyoldOzTeXheader#1#2#3{\UsePSdict@@true}ŽŽŸK˜‘þì¹The–¦fparameters“Ï#1#2#3Ž‘)Êȹof“Ï\xyOzTeXheaderŽ‘Wȹgobble“tok²!ens“that“are“unnecessary“with“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X.ŽŸº‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ŽŽŽŒ‹àöº Á à ý*tj‘㌹480’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ204Ž‘õŒÏ\xydef@\oldoztexLine@@{\oldoztexLine@}ŽŽ©Pˆ‘ãŒÃ206Ž‘õŒÏ\xydef@\oldoztexLine@{\oldOzTeXPStypes@ŽŽ¤ ™š‘ãŒÃ207Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ208Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ209Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-styles‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ210Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ·‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ަ‘ãŒÃ217Ž‘õŒÏ\xydef@\oldoztexFrames@@{\oldOzTeXFrames@}ŽŽ¦‘ãŒÃ219Ž‘õŒÏ\xydef@\oldOzTeXFrames@{\oldOzTeXPStypes@ŽŽ¡‘ãŒÃ220Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ221Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ222Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadPSFrames@\relax}\fiŽŽ¡‘ãŒÃ223Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ·‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScript¹.ަ‘ãŒÃ230Ž‘õŒÏ\xydef@\oldoztexTiles@@{\oldOzTeXTiles@}ŽŽ¦‘ãŒÃ232Ž‘õŒÏ\xydef@\oldOzTeXTiles@{\oldOzTeXPStypes@ŽŽ¡‘ãŒÃ233Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ234Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}\installPSpatterns@ŽŽ¡‘ãŒÃ235Ž‘ mÏ\xystandardpatterns@‘¿ª}%ŽŽ¡‘ãŒÃ236Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽ¡‘ãŒÃ237Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ·‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“recognised“but“not“suppMÞorted.ŽŸÌÖ‘þìIn–ÑJfact“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“cannot“suppMÞort“rotations“and“scaling.‘^ˆInstead“w²!e“go“through“all“the“motionsŽ¡‘þìof– Kproš²!viding“ÕPostScript“¹suppMÞort,‘eÃthen“set“a“ ag“that“causes“a“limited“n˜um˜bMÞer“of“w˜arningŽ¡‘þìmessages–¦fto“bMÞe“generated“as“requests“are“made“for“these“e ects.ަ‘ãŒÃ252Ž‘õŒÏ\xydef@\oldoztexRotate@@{\oldOzTeXRotate@}ŽŽ¦‘ãŒÃ254Ž‘õŒÏ\xydef@\oldOzTeXRotate@{\oldOzTeXPStypes@ŽŽ¡‘ãŒÃ255Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%\XYpredict@ŽŽ¡‘ãŒÃ256Ž‘ mÏ\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ257Ž‘ mÏ\xyRotScale@@–¿ª\installPSrotscale@“\xyPSshapes@false“}%ŽŽ¡‘ãŒÃ258Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}\UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ259Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ!Z¬‘ãŒÔThe–2end“&“Logަ‘ãŒÃ271Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ273Ž‘õŒÏ%–¿ª$Log:“xy17oztex.doc,v“$ŽŽ¡‘ãŒÃ274Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/18“14:21:23˜rossŽŽ¡‘ãŒÃ275Ž‘õŒÏ%–¿ªRoss's“versionŽŽ¡‘ãŒÃ276Ž‘õŒÏ%ŽŽ¡‘ãŒÃ277Ž‘õŒÏ%–¿ªRevision“3.3.1.1– T1996/12/18“08:47:45“rossŽŽ¡‘ãŒÃ278Ž‘õŒÏ%–¿ª***“empty“log“message“***ŽŽ¡‘ãŒÃ279Ž‘õŒÏ%ŽŽ¡‘ãŒÃ280Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:20:20“rossŽŽŽŽŒ‹á8 Á à ý*tj‘ãŒÑ4.7.‘„CTEXTURES‘¦fDRIVER’L­¹481ŽŽ ¶?? ýh«w‘ãŒÃ281Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¤ ™š‘ãŒÃ282Ž‘õŒÏ%ŽŽ¡‘ãŒÃ283Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ284Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ285Ž‘õŒÏ%ŽŽ¡‘ãŒÃ286Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ287Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ288Ž‘õŒÏ%ŽŽ¡‘ãŒÃ289Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ290Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ291Ž‘õŒÏ%ŽŽ¡‘ãŒÃ292Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ.#‘ãŒÝ4.7Ž‘r|T‘þ¦fextures‘ffdrivŒÌerŽŸ§®‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸâ"‘㌹This–oÂdrivš²!er“pro˜vides“suppMÞort“for“v˜ersion“1.7+“of“Blue“Sky“Researc˜h's“ÕTextures“¹application“for“Mac-Ž¡‘ãŒin²!toshŸü¾Â3ŽŽ‘À¹.‘Ü/It–¡[incorpšMÞorates“supp˜ort“for“colour“and“all“of‘‰X‘ü·ŸâÃYŽŽ‘e-pic's“ÕPostScript“¹e ects.‘Ü/Earlier“v²!ersions“ofŽ¡‘ãŒÕTextures–¦f¹should“instead“use“the“driv²!er“option“Ï\xyoption{16textures}Ž‘|_X¹.ŽŸ µw‘ôŒNotice–rwthat“vš²!ersion“1.7“su ers“from“a“prin˜ting“bug“whic˜h“ma˜y“cause“a“ÕPostScript“¹error.‘ÌŽA‘rj x“isŽ¡‘ãŒkludged–Í~bš²!y“making“sure“the“ rst“page“has“bMÞeen“sho˜wn“in“the“view˜er“bMÞefore“an˜y“pages“with“diagramsŽ¡‘ãŒare–¦fsenš²!t“to“the“prin˜ter.ŽŸ‹Y‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xytextures.doc,v“3.3“1996/12/18“09:41:45“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Textures''“driver“interface“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ‘㌟ DɉffÁyÌŸ LÍ‘ {ºŸü-=Ã3ŽŽŽ‘¦aÖMacin¾9tosh–Tis“a“trademark“of“Apple“Computer“Inc.ŽŽŽŒ‹âW Á à ý*tj‘㌹482’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{textures}{Textures–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ!`®‘ãŒÃ47Ž‘õŒÏ\xydef@\Textures@@#1{\dvimessage@{Textures}{#1}}ŽŽ¦‘ãŒÃ49Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ50Ž‘ûKÃÏ\xyaddsupport{color}\texturesColor@@ŽŽ¡‘ãŒÃ51Ž‘ûKÃÏ\xyaddsupport{crayon}\texturesCrayon@@ŽŽ¡‘ãŒÃ52Ž‘ûKÃÏ\xyaddsupport{ps}\texturesPS@@ŽŽ¡‘ãŒÃ53Ž‘ûKÃÏ\xyaddsupport{rotate}\texturesRotate@@ŽŽ¡‘ãŒÃ54Ž‘ûKÃÏ\xyaddsupport{line}\texturesLine@@ŽŽ¡‘ãŒÃ55Ž‘ûKÃÏ\xyaddsupport{frame}\texturesFrames@@ŽŽ¡‘ãŒÃ56Ž‘ûKÃÏ\xyaddsupport{tile}\texturesTiles@@ŽŽ¡‘ãŒÃ57Ž‘ûKÃÏ\xyaddsupport{cmtip}\relaxŽŽ¡‘ãŒÃ58Ž‘õŒÏ}ŽŽ¦‘ôŒ¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸ¯S‘óøéÇŽŽŽ‘þì¹colour,–¦fbMÞoth“on-screen“and“with“ÕPostScriptŽŸê¿‘þì¹T‘ÿeextures–øøuses“the“colour-stac²!k“methoMÞd,‘¨but“it“requires“a“separate“Ï\specialŽ‘3ï@¹to“set“the“new“colourŽ¡‘þìafter–¦fhaš²!ving“pushed“the“previous“colour“on˜to“the“stac˜k.ަ‘ãŒÃ76Ž‘õŒÏ\xydef@\TexturesColor@push#1{\special{color–¿ªpush}\special{color“#1}}ŽŽ¦‘ãŒÃ78Ž‘õŒÏ\xydef@\TexturesColours@{\texturesPStypes@ŽŽ¡‘ãŒÃ79Ž‘ûKÃÏ\let\xylocalColor@=\xystackcolor@ŽŽ¡‘ãŒÃ80Ž‘ûKÃÏ\let\xycolor@push=\TexturesColor@pushŽŽ¡‘ãŒÃ81Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}%ŽŽ¡‘ãŒÃ82Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ83Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}%ŽŽ¡‘ãŒÃ84Ž‘ mÏ\installPScolor@–¿ª}\else\DN@{}\fi“\next@ŽŽ¡‘ãŒÃ85Ž‘ûKÃÏ\ifx\xycolor@@\xyNoColor@‘¿ª\let\xycolor@@=\xycolor@raw@@\fiŽŽ¡‘ãŒÃ86Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\texturesCrayon@@{}}%ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ\else\let\next@=\xystandardcolors@–¿ª\fi“\next@ŽŽ¡‘ãŒÃ88Ž‘ûKÃÏ\let\xycolorwarning@=\relax‘¿ª\Textures@@{color}%ŽŽ¡‘ãŒÃ89Ž‘ûKÃÏ\let\texturesColor@@=\relaxŽŽ¡‘ãŒÃ90Ž‘ûKÃÏ\let\UnloadColor@@=\NoTexturesColor@ŽŽ¡‘ãŒÃ91Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ93Ž‘õŒÏ\xydef@\texturesColor@@{\TexturesColours@}ŽŽ¦‘ãŒÃ95Ž‘õŒÏ\xydef@\NoTexturesColor@{%ŽŽ¡‘ãŒÃ96Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ97Ž‘ûKÃÏ\let\xycolor@=\xyNoColor@ŽŽ¡‘ãŒÃ98Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ99Ž‘ûKÃÏ\let\texturesColor@@=\TexturesColours@ŽŽ¡‘ãŒÃ100Ž‘ûKÃÏ\let\UnloadColor@@=\UnloadColor@ŽŽ¡‘ãŒÃ101Ž‘ûKÃÏ}ŽŽŸòÒ‘óøéÇŽŽŽ‘þì¹cra•²!y“on‘¦fcolours.ŽŽŽŒ‹ãF Á à ý*tj‘ãŒÑ4.7.‘„CTEXTURES‘¦fDRIVER’L­¹483ŽŽ ¶?? ýh«w‘þìThe–¦f68“colours“are“those“that“ÏdvipsŽ‘$ ¹recognizes“bš²!y“name,“thanks“to“T‘ÿeomas“Rokic˜ki.ޤPˆ‘ãŒÃ114Ž‘õŒÏ\xydef@\texturesCrayon@@{\texturesColor@@\texturesCrayon@}ŽŽ© ™š‘ãŒÃ115Ž‘õŒÏ\xydef@\texturesCrayon@{\installCrayolaColors@}%ŽŽŸE„‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.Ž¡‘ãŒÃ123Ž‘õŒÏ\xydef@\texturesPS@@{\texturesPS@}ŽŽ¦‘ãŒÃ124Ž‘õŒÏ\xydef@\texturesPSunload@{\UnloadPS@ŽŽ¦‘ãŒÃ125Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¦‘ãŒÃ126Ž‘ûKÃÏ\let\texturesPS@@=\texturesPS@‘¿ª}ŽŽŸË‘þì¹V‘ÿeersions–Ø‘1.7“and“later“of“ÕTextures“¹ha•²!v“e–Ø‘the“folloš²!wing“kinds“of“Ï\specialŽ‘0Õá¹,‘»the“ rst“t˜w˜o“executingަ‘þìin–v“the“en•²!vironmen“t–v“de ned“bš²!y“the“dictionary“ÏuserdictŽ‘0sã¹.‘x—In“particular“these“v˜ersions“of“ÕTexturesަ‘þì¹no•²!w›¦fallo“w˜the˜ÕPostScript˜¹dictionary˜to˜bMÞe˜loaded˜in“to˜the˜main˜w“orking˜dictionary‘ÿe.ŽŸ‰‘ =»Ô{ŽŽŽ‘)Ï\special{rawpostscript‘¿ª#1}Ž’° Ó¹puts–¦fcoMÞde“directly“in²!to“the“ÕPostScript“¹ le.ޤŽ–‘ =»Ô{ŽŽŽ‘)Ï\special{postscript‘¿ª#1}Ž’žc¹wraps–'™the“coMÞde“within“ÏspsŽ‘f—¹...ÏepsŽ‘>þ¹,‘@õwhicš²!h“in˜v˜olv˜es“a“basis“c˜hangeަ‘)within–¦fa“Ïsave/restoreŽ‘LHĹpair.Ž¡‘ =»Ô{ŽŽŽ‘)Ï\special{prePostScript‘¿ª#1}Ž’¯ã†¹places–ithe“ÕPostScript“¹coMÞde“within“the“header“dictionary‘ÿe,ަ‘)called‘¦fÏTeXdictŽ‘+ä ¹.ŽŸ‰‘þìEacš²!h–¦fof“these“has“a“correspMÞonding“v˜ersion“for“reading“the“ÕPostScript“¹commands“from“a“ le.ޤPˆ‘ãŒÃ147Ž‘õŒÏ\xydef@\texturesPStypes@{%ŽŽ¦‘ãŒÃ148Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¦‘ãŒÃ149Ž‘ûKÃÏ\ifx\PSspecial@@\TexturesSpecial@\elseŽŽ¦‘ãŒÃ150Ž‘ mÏ\let\PSspecial@@=\TexturesSpecial@ŽŽ¦‘ãŒÃ151Ž‘ mÏ\let\PSmacro@@=\TexturesMacro@ŽŽ¦‘ãŒÃ152Ž‘ mÏ\let\PSdict@@=\TexturesDict@ŽŽ¦‘ãŒÃ153Ž‘ mÏ\let\PSraw@@=\TexturesRaw@ŽŽ¦‘ãŒÃ154Ž‘ mÏ\let\PSinclude@@=\TexturesInclude@ŽŽ¦‘ãŒÃ155Ž‘ mÏ\let\PSspecialdict@@=\TexturesSpecialDict@ŽŽ¦‘ãŒÃ156Ž‘ mÏ\let\xyPSobeylines@@=\obeyTextureslines@ŽŽ¦‘ãŒÃ157Ž‘ mÏ\Textures@@{PostScript}%ŽŽ¦‘ãŒÃ158Ž‘ûKÃÏ\fi–¿ª\texturesCurrpt@“\XYpredict@“}ŽŽ¡‘ãŒÃ160Ž‘õŒÏ\xydef@\TexturesSpecial@#1{\firstPS@@\special{postscript‘¿ª#1}}ŽŽ¦‘ãŒÃ161Ž‘õŒÏ\xydef@\TexturesMacro@#1{\special{postscript‘¿ª{#1}xy}}ŽŽ¦‘ãŒÃ162Ž‘õŒÏ\xydef@\TexturesDict@#1{\special{prePostScript‘¿ª#1}}ŽŽ¦‘ãŒÃ163Ž‘õŒÏ\xydef@\TexturesSpecialDict@#1{\special{prePostScript‘¿ª#1}}ŽŽ¦‘ãŒÃ164Ž‘õŒÏ\xydef@\TexturesInclude@#1{\firstPS@@\special{prePostScriptfile‘¿ª#1}}ŽŽ¦‘ãŒÃ165Ž‘õŒÏ\xydef@\TexturesRaw@#1{\firstPS@@\special{rawpostscript‘¿ª#1}}%ŽŽ¡‘ãŒÃ167Ž‘õŒÏ{\catcode`\^^M=\active%ŽŽ¦‘ãŒÃ168Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active‘¿ª\let^^M=\par%ŽŽ¦‘ãŒÃ169Ž‘ûKÃÏ\let\PSspecial@@=\TexturesDict@‘¿ª\obeyspaces}}ŽŽ¦‘ãŒÃ170Ž‘õŒÏ\xylet@\obeyTextureslines@=\nextŽŽŸË‘þì¹The‘nïÏcurrentpointŽ‘IÙÖ¹is–nïde ned“for“the“\ra²!w"“spMÞecials.‘v F›ÿeor“T˜extures“this“is“the“same“as“Ï\xyPScurrpt@@@Ž‘Rê;¹,ަ‘þìin‘¦fÏxyps-ps.docŽ‘Bâ´¹.Ž¡‘ãŒÃ177Ž‘õŒÏ\xydef@\texturesCurrpt@{\let\xyPScurrpt@@=\texturesCurrpt@@}%ŽŽ¦‘ãŒÃ178Ž‘õŒÏ\xydef@\texturesCurrpt@@{\PSspecial@@{xyi}\PSraw@@{userdict–¿ªbegin“xyx“end}}ŽŽŽŽŒ‹ä$½ Á à ý*tj‘㌹484’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ180Ž‘õŒÏ%\xydef@\texturesCurrpt@@{\PSspecial@@{%ŽŽ¤ ™š‘ãŒÃ181Ž‘õŒÏ%–¿ª0“0“transform“grestore“gsave“itransform“}%ŽŽ¡‘ãŒÃ182Ž‘õŒÏ%–¿ª\PSraw@@{userdict“begin“/xyYpos“exch“def“/xyXpos“exch“def“end}}ŽŽŸª‘þì¹The–%ÂÕPostScript“¹opšMÞerator“called“ÏxyxޑЂ¹is“de ned“in“Ïxyps-psŽ‘0‰*¹for“storing“the“lo˜cation“placed“onŽ¡‘þìthe–¦fstacš²!k“b˜y“ÏxyiŽ‘åd¹.ŽŸ…Þ‘þìThis–¦finstalls“the“ÕPostScript“¹bac•²!k“end.Ž©Pˆ‘ãŒÃ193Ž‘õŒÏ\xydef@\texturesPS@{\texturesPStypes@ŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\let\texturesPS@@=\relaxŽŽ¡‘ãŒÃ195Ž‘ûKÃÏ\let\UnloadPS@@=\texturesPSunload@ŽŽ¡‘ãŒÃ196Ž‘ûKÃÏ\let\installxyps@@=\relax–¿ª\installxyps@“}ŽŽŸ¼Ì‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“using“ÕPostScript¹.ަ‘ãŒÃ203Ž‘õŒÏ\xydef@\texturesRotate@@{\texturesRotate@}ŽŽ¦‘ãŒÃ205Ž‘õŒÏ\xydef@\texturesRotate@{\texturesPStypes@ŽŽ¡‘ãŒÃ206Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ207Ž‘ mÏ\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ208Ž‘ mÏ\xyRotScale@@–¿ª\installPSrotscale@“}%ŽŽ¡‘ãŒÃ209Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}\UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ210Ž‘ûKÃÏ\next@}ŽŽŸ¼Ì‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ަ‘ãŒÃ217Ž‘õŒÏ\xydef@\texturesLine@@{\texturesLine@}ŽŽ¦‘ãŒÃ219Ž‘õŒÏ\xydef@\texturesLine@{\texturesPStypes@ŽŽ¡‘ãŒÃ220Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ221Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}%ŽŽ¡‘ãŒÃ222Ž‘ mÏ\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ223Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-widths‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ224Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ¼Ì‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ަ‘ãŒÃ231Ž‘õŒÏ\xydef@\texturesFrames@@{\texturesFrames@}ŽŽ¦‘ãŒÃ233Ž‘õŒÏ\xydef@\texturesFrames@{\texturesPStypes@ŽŽ¡‘ãŒÃ234Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ235Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}%ŽŽ¡‘ãŒÃ236Ž‘ mÏ\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ237Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadPSFrames@\relax}\fiŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ¼Ì‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScript¹.ަ‘ãŒÃ245Ž‘õŒÏ\xydef@\texturesTiles@@{\texturesTiles@}ŽŽ¦‘ãŒÃ247Ž‘õŒÏ\xydef@\texturesTiles@{\texturesPStypes@ŽŽ¡‘ãŒÃ248Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ249Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}%ŽŽ¡‘ãŒÃ250Ž‘ mÏ\installPSpatterns@‘¿ª\xystandardpatterns@}%ŽŽ¡‘ãŒÃ251Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽŽŽŒ‹å1® Á à ý*tj‘ãŒÑ4.8.‘„CTEXTURES–¦fV1.6“DRIVER’2Òä¹485ŽŽ ¶?? ýh«w‘ãŒÃ252Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ!«Ü‘ãŒÔThe–2end“&“LogޤPˆ‘ãŒÃ264Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ266Ž‘õŒÏ%–¿ª$Log:“xytextures.doc,v“$ŽŽ¤ ™š‘ãŒÃ267Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:41:45“rossŽŽ¡‘ãŒÃ268Ž‘õŒÏ%–¿ªminor“improvements“to“file-loading“commandsŽŽ¡‘ãŒÃ269Ž‘õŒÏ%ŽŽ¡‘ãŒÃ270Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ271Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ272Ž‘õŒÏ%ŽŽ¡‘ãŒÃ273Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ274Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ275Ž‘õŒÏ%ŽŽ¡‘ãŒÃ276Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ277Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ278Ž‘õŒÏ%ŽŽ¡‘ãŒÃ279Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ280Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ281Ž‘õŒÏ%ŽŽ¡‘ãŒÃ282Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ-C‘ãŒÝ4.8Ž‘r|T‘þ¦fextures–ffv1.6“drivŒÌerŽŸtŠ‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸ®þ‘㌹This–±òdrivš²!er“pro˜vides“suppMÞort“for“v˜ersions“1.5b“and“1.6“of“Blue“Sky“Researc˜h's“ÕTextures“¹applicationŽ¡‘ãŒfor–12Macin²!toshŸü¾Â4ŽŽ‘À¹.‘¶ÌIt“incorpšMÞorates“supp˜ort“for“ÕPostScript“¹colour“and“the‘ÜX‘ü·ŸâÃYŽŽ‘ ˜<-ps“ÕPostScript“¹bac²!k-end.Ž¡‘ãŒThis–¸will“Ðnot“¹wš²!ork“with“v˜ersions“1.7“and“later;‘these“require“the“Çh¹driv˜erÇi“¹option“Ï\xyoption{textures}Ž‘oüV¹.ŽŸôî‘ãŒÔHeader:ŽŸPˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xy16textures.doc,v“3.3“1996/12/18“14:21:23“ross“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``Textures“v1.6''“driver“interface“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ‘㌟ Û‰ffÁyÌŸ LÍ‘ {ºŸü-=Ã4ŽŽŽ‘¦aÖMacin¾9tosh–Tis“a“trademark“of“Apple“Computer“Inc.ŽŽŽŒ‹æ<› Á à ý*tj‘㌹486’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¤ ™š‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{16textures}{Textures–¿ªv1.6“driver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ"hþ‘ãŒÃ43Ž‘õŒÏ\xydef@\oldTextures@@#1{\dvimessage@{Textures‘¿ªv1.6}{#1}}ŽŽ¦‘ãŒÃ45Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ46Ž‘ûKÃÏ\xyaddsupport{color}\oldtexturesColor@@ŽŽ¡‘ãŒÃ47Ž‘ûKÃÏ\xyaddsupport{crayon}\oldtexturesCrayon@@ŽŽ¡‘ãŒÃ48Ž‘ûKÃÏ\xyaddsupport{ps}\oldtexturesPS@@ŽŽ¡‘ãŒÃ49Ž‘ûKÃÏ\xyaddsupport{rotate}\oldtexturesRotate@@ŽŽ¡‘ãŒÃ50Ž‘ûKÃÏ\xyaddsupport{line}\oldtexturesLine@@ŽŽ¡‘ãŒÃ51Ž‘ûKÃÏ\xyaddsupport{frame}\oldtexturesFrames@@ŽŽ¡‘ãŒÃ52Ž‘ûKÃÏ\xyaddsupport{tile}\oldtexturesTiles@@ŽŽ¡‘ãŒÃ53Ž‘ûKÃÏ\xyaddsupport{cmtip}\relaxŽŽ¡‘ãŒÃ54Ž‘õŒÏ}ŽŽŸ¥Õ‘ôŒ¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸîΑóøéÇŽŽŽ‘þì¹colour,–¦fusing“ÕPostScriptŽŸÄ4‘þì¹T‘ÿeextures–°Gv1.6“cannot“manage“colours,‘²¿except“within“impMÞorted“graphics.‘ûIt“can“put“colours“in²!toŽ¡‘þìthe–¦fÕPostScript“¹output.ަ‘ãŒÃ71Ž‘õŒÏ\xydef@\oldTexturesColours@{\oldtexturesPStypes@ŽŽ¡‘ãŒÃ72Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@‘¿ª\def\xycolor@{\xycolor@@}%ŽŽ¡‘ãŒÃ73Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ74Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}%ŽŽ¡‘ãŒÃ75Ž‘ mÏ\installPScolor@–¿ª}\else\DN@{}\fi“\next@ŽŽ¡‘ãŒÃ76Ž‘ûKÃÏ\ifx\xycolor@@\xyNoColor@‘¿ª\let\xycolor@@=\xycolor@raw@@\fiŽŽ¡‘ãŒÃ77Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\oldtexturesCrayon@@{}}%ŽŽ¡‘ãŒÃ78Ž‘ûKÃÏ\else\let\next@=\xystandardcolors@–¿ª\fi“\next@ŽŽ¡‘ãŒÃ79Ž‘ûKÃÏ\let\xycolorwarning@=\relaxŽŽ¡‘ãŒÃ80Ž‘ûKÃÏ\let\oldtexturesColor@@=\relaxŽŽ¡‘ãŒÃ81Ž‘ûKÃÏ\let\UnloadColor@@=\NooldTexturesColor@ŽŽ¡‘ãŒÃ82Ž‘ûKÃÏ}ŽŽ¦‘ãŒÃ84Ž‘õŒÏ\xydef@\oldtexturesColor@@{\oldTexturesColours@}ŽŽ¦‘ãŒÃ86Ž‘õŒÏ\xydef@\NooldTexturesColor@{%ŽŽ¡‘ãŒÃ87Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ88Ž‘ûKÃÏ\let\xycolor@=\xyNoColor@ŽŽ¡‘ãŒÃ89Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ90Ž‘ûKÃÏ\let\oldtexturesColor@@=\oldTexturesColours@ŽŽŽŽŒ‹çG  Á à ý*tj‘ãŒÑ4.8.‘„CTEXTURES–¦fV1.6“DRIVER’2Òä¹487ŽŽ ¶?? ýh«w‘ãŒÃ91Ž‘ûKÃÏ\let\UnloadColor@@=\UnloadColor@ŽŽ¤ ™š‘ãŒÃ92Ž‘ûKÃÏ}ŽŽ©æ&‘óøéÇŽŽŽ‘þì¹cra•²!y“on‘¦fcolours.ŽŸdi‘þìThe–¦f68“colours“are“those“that“ÏdvipsŽ‘$ ¹recognizes“bš²!y“name,“thanks“to“T‘ÿeomas“Rokic˜ki.ŽŸPˆ‘ãŒÃ105Ž‘õŒÏ\xydef@\oldtexturesCrayon@@{\oldtexturesColor@@\oldtexturesCrayon@}ŽŽ¡‘ãŒÃ106Ž‘õŒÏ\xydef@\oldtexturesCrayon@{\installCrayolaColors@}%ŽŽ¦‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.ޤPˆ‘ãŒÃ113Ž‘õŒÏ\xydef@\oldtexturesPS@@{\oldtexturesPS@}ŽŽ¡‘ãŒÃ115Ž‘õŒÏ\xydef@\oldtexturesPSunload@{\UnloadPS@ŽŽ¤ ™š‘ãŒÃ116Ž‘ûKÃÏ\ifx\xyrealshipout@\undefined\elseŽŽ¡‘ãŒÃ117Ž‘ mÏ\ifx\shipout\xyrealshipout@ŽŽ¡‘ãŒÃ118Ž‘ mÏ\else‘¿ª\let\shipout=\xyrealshipout@\fi\fiŽŽ¡‘ãŒÃ119Ž‘ûKÃÏ\let\installxyps@@=\relaxŽŽ¡‘ãŒÃ120Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¡‘ãŒÃ121Ž‘ûKÃÏ\let\oldtexturesPS@@=\oldtexturesPS@‘¿ª}ŽŽŸW‘þì¹W‘ÿee–¦fm²!ust“return“the“binding“of“Ï\shipoutŽ‘5J¹to“its“initial“v‘ÿdDalue.ŽŸ¯8‘þìEarly–6ñvš²!ersions“(1.5{1.6)“of“ÕTextures“¹ha˜v˜e“t˜w˜o“kinds“of“Ï\specialŽ‘24A¹,‘[for“inserting“ÕPostScriptŽ¡‘þì¹coMÞde–¦finš²!to“the“dvi- le“and“t˜w˜o“more“for“reading“suc˜h“coMÞde“from“a“ le:ŽŸ/7‘ =»Ô{ŽŽŽ‘)Ï\special{rawpostscript‘¿ª#1}Ž’° Ó¹puts–¦fcoMÞde“directly“in²!to“the“ÕPostScript“¹ le.ŽŸäh‘ =»Ô{ŽŽŽ‘)Ï\special{postscript‘¿ª#1}Ž’ž‘­¹wraps–V>the“coMÞde“within“ÏspsŽ‘•<¹...ÏepsŽ‘>þ¹,‘fFwhicš²!h“in˜v˜olv˜es“graphics“stateŽ¡‘)c²!hanges–¦fwithin“a“Ïgsave/grestoreŽ‘Wȹpair.ŽŸ/8‘þìEacš²!h–¦fof“these“has“a“correspMÞonding“v˜ersion“for“reading“the“ÕPostScript“¹commands“from“a“ le.Ž©Pˆ‘ãŒÃ143Ž‘õŒÏ\xydef@\oldTexturesSpecial@#1{\firstPS@@\special{postscript‘¿ª#1}}ŽŽ¡‘ãŒÃ144Ž‘õŒÏ\xydef@\oldTexturesMacro@#1{\special{postscript‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ145Ž‘õŒÏ\xydef@\oldTexturesInclude@#1{\firstPS@@\special{rawpostscriptfile‘¿ª#1}}ŽŽ¡‘ãŒÃ146Ž‘õŒÏ\xydef@\oldTexturesRaw@#1{\firstPS@@\special{rawpostscript‘¿ª#1}}ŽŽ¦‘ãŒÃ148Ž‘õŒÏ\xydef@\oldtexturesPStypes@{%ŽŽ¡‘ãŒÃ149Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ150Ž‘ûKÃÏ\ifx\PSspecial@@\oldTexturesSpecial@\elseŽŽ¡‘ãŒÃ151Ž‘ mÏ\let\PSspecial@@=\oldTexturesSpecial@ŽŽ¡‘ãŒÃ152Ž‘ mÏ\let\PSmacro@@=\oldTexturesMacro@ŽŽ¡‘ãŒÃ153Ž‘ mÏ\let\PSdict@@=\oldTexturesRaw@ŽŽ¡‘ãŒÃ154Ž‘ mÏ\let\PSraw@@=\oldTexturesRaw@ŽŽ¡‘ãŒÃ155Ž‘ mÏ\let\PSinclude@@=\oldTexturesInclude@ŽŽ¡‘ãŒÃ156Ž‘ mÏ\let\PSspecialdict@@=\oldTexturesRaw@ŽŽ¡‘ãŒÃ157Ž‘ mÏ\let\xyPSobeylines@@=\obeyoldTextureslines@ŽŽ¡‘ãŒÃ158Ž‘ mÏ\oldTextures@@{PostScript}%ŽŽ¡‘ãŒÃ159Ž‘ûKÃÏ\fiŽŽ¡‘ãŒÃ160Ž‘õŒÏ%‘¿ª\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ161Ž‘ûKÃÏ\oldtexturesCurrpt@–¿ª\@PSshipout“}ŽŽ¦‘ãŒÃ163Ž‘õŒÏ{\catcode`\^^M=\active‘¿ª%ŽŽ¡‘ãŒÃ164Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active–¿ª\let^^M=\par“\obeyspaces}}ŽŽŽŽŒ‹èRa Á à ý*tj‘㌹488’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ165Ž‘õŒÏ\xylet@\obeyoldTextureslines@=\nextŽŽ©-ð‘þì¹The‘nïÏcurrentpointŽ‘IÙÖ¹is–nïde ned“for“the“\ra²!w"“spMÞecials.‘v F›ÿeor“T˜extures“this“is“the“same“as“Ï\xyPScurrpt@@@Ž‘Rê;¹,ޤ ™š‘þìin‘¦fÏxyps-ps.docŽ‘Bâ´¹.ŽŸPˆ‘ãŒÃ172Ž‘õŒÏ\xydef@\oldtexturesCurrpt@{\let\xyPScurrpt@@=\oldtexturesCurrpt@@}%ŽŽ¡‘ãŒÃ173Ž‘õŒÏ\xydef@\oldtexturesCurrpt@@{\PSspecial@@{xyi}\PSraw@@{userdict–¿ªbegin“xyx“end}}ŽŽ¦‘þì¹The–%ÂÕPostScript“¹opšMÞerator“called“ÏxyxޑЂ¹is“de ned“in“Ïxyps-psŽ‘0‰*¹for“storing“the“lo˜cation“placed“onŽ¡‘þìthe–¦fstacš²!k“b˜y“ÏxyiŽ‘åd¹.ŽŸÔj‘þìÕTextures–°w¹v1.6“requires“the“ÕPostScript“¹dictionary“to“bšMÞe“shipp˜ed-out“with“ev²!ery“page.‘üT‘ÿeoŽ¡‘þìac•²!hiev“e–èÊthis“ecienš²!tly“w˜e“rebind“Ï\shipoutŽ‘2æ¹,‘9bas“describMÞed“in“Ïxyps-ps.docŽ‘D%¹.‘¥Next“set“the“ agŽ¡‘þìÏ\UsePSdict@@trueŽ‘_C¬¹after–\ïha²!ving“rebMÞound“Ï\includePSmessage@Ž‘p3Ò¹to“gobble“the“attempt“to“loadŽ¡‘þìthe–¦fdictionary“directly“in²!to“the“dvi- le.ŽŸw‘þìThis–¦finstalls“the“ÕPostScript“¹bac•²!k“end.Ž©Pˆ‘ãŒÃ190Ž‘õŒÏ\xydef@\oldtexturesPS@{\oldtexturesPStypes@ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\let\oldtexturesPS@@=\relaxŽŽ¡‘ãŒÃ192Ž‘ûKÃÏ\let\UnloadPS@@=\oldtexturesPSunload@ŽŽ¡‘ãŒÃ193Ž‘ûKÃÏ\let\installxyps@@=\@PSshipout–¿ª\installxyps@“}ŽŽŸ X‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“using“ÕPostScript¹.ަ‘ãŒÃ201Ž‘õŒÏ\xydef@\oldtexturesRotate@@{\oldtexturesRotate@}ŽŽ¦‘ãŒÃ203Ž‘õŒÏ\xydef@\oldtexturesRotate@{\oldtexturesPStypes@ŽŽ¡‘ãŒÃ204Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ205Ž‘ mÏ\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ206Ž‘ mÏ\xyRotScale@@–¿ª\installPSrotscale@“}%ŽŽ¡‘ãŒÃ207Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}\UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ208Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ X‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ަ‘ãŒÃ215Ž‘õŒÏ\xydef@\oldtexturesLine@@{\oldtexturesLine@}ŽŽ¦‘ãŒÃ217Ž‘õŒÏ\xydef@\oldtexturesLine@{\oldtexturesPStypes@ŽŽ¡‘ãŒÃ218Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ219Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}%ŽŽ¡‘ãŒÃ220Ž‘ mÏ\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ221Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-styles‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ222Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ X‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ަ‘ãŒÃ229Ž‘õŒÏ\xydef@\oldtexturesFrames@@{\oldtexturesFrames@}ŽŽ¦‘ãŒÃ231Ž‘õŒÏ\xydef@\oldtexturesFrames@{\oldtexturesPStypes@ŽŽ¡‘ãŒÃ232Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ233Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}%ŽŽ¡‘ãŒÃ234Ž‘ mÏ\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ235Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadPSFrames@\relax}\fiŽŽ¡‘ãŒÃ236Ž‘ûKÃÏ\next@‘¿ª}ŽŽŽŽŒ‹é^ Á à ý*tj‘ãŒÑ4.9.‘„CXD²!VI‘¦fDRIVER’m‡-¹489ŽŽ ¶?? ýh«w‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScript¹.ޤPˆ‘ãŒÃ243Ž‘õŒÏ\xydef@\oldtexturesTiles@@{\oldtexturesTiles@}ŽŽ¡‘ãŒÃ245Ž‘õŒÏ\xydef@\oldtexturesTiles@{\oldtexturesPStypes@ŽŽ¤ ™š‘ãŒÃ246Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ247Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}%ŽŽ¡‘ãŒÃ248Ž‘ mÏ\installPSpatterns@‘¿ª\xystandardpatterns@}%ŽŽ¡‘ãŒÃ249Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽ¡‘ãŒÃ250Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ' 8‘ãŒÔThe–2end“&“LogޤPˆ‘ãŒÃ262Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ264Ž‘õŒÏ%–¿ª$Log:“xy16textures.doc,v“$ŽŽ¤ ™š‘ãŒÃ265Ž‘õŒÏ%–¿ªRevision“3.3› T1996/12/18“14:21:23˜rossŽŽ¡‘ãŒÃ266Ž‘õŒÏ%–¿ªRoss's“versionŽŽ¡‘ãŒÃ267Ž‘õŒÏ%ŽŽ¡‘ãŒÃ268Ž‘õŒÏ%–¿ªRevision“3.3.1.1– T1996/12/18“08:45:28“rossŽŽ¡‘ãŒÃ269Ž‘õŒÏ%–¿ª***“empty“log“message“***ŽŽ¡‘ãŒÃ270Ž‘õŒÏ%ŽŽ¡‘ãŒÃ271Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:20:20“rossŽŽ¡‘ãŒÃ272Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ273Ž‘õŒÏ%ŽŽ¡‘ãŒÃ274Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:36:33“rossŽŽ¡‘ãŒÃ275Ž‘õŒÏ%‘¿ªRelease!ŽŽ¡‘ãŒÃ276Ž‘õŒÏ%ŽŽ¡‘ãŒÃ277Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ278Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ279Ž‘õŒÏ%ŽŽ¡‘ãŒÃ280Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ281Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ282Ž‘õŒÏ%ŽŽ¡‘ãŒÃ283Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ4‘ãŒÝ4.9Ž‘r|XD•ŒÌVI‘ffdriv“erŽŸGw‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽŸë‘㌹This– +drivš²!er“pro˜vides“suppMÞort“for“extensions“when“using“v‘ÿdDarian˜ts“of“the“ÏxdviŽ‘þ¹driv˜er,‘$\b˜y“Eric“Co•MÞop“er,Ž¡‘ãŒBob–AmScš²!hei er,‘UŸMark“Eic˜hin“and“others.‘¼5It“has“bMÞeen“used“successfully“with“ÏxdviŽ‘‚¹patc˜hlev˜el“20,‘UŸb˜y“P˜aulŽ¡‘ãŒV‘ÿeo‘›»jta,–¦fand“ÏxdvikŽ‘$ ¹vš²!ersion“18f,“b˜y“Karl“Berry‘ÿe.ŽŸ‹x‘ôŒSome–ÖÊof“the“suppMÞorted“features“assume“that“the“implemenš²!tation“of“ÏxdviŽ‘¬<¹is“link˜ed“to“a“ÕPostScriptŽ¡‘㌹renderer;‘_öe.g.›PýÐGhostscript–"¹or“ÕDispla‘ÿEy‘¤ÝPostScript¹.˜If“sucš²!h“suppMÞort“is“not“a˜v‘ÿdDailable,‘Athen“in˜v˜okingŽ¡‘ãŒÏxdviŽ‘þ&ѹusing–œthe“command“Ïxdvi‘¿ª-hushspecialsŽ‘n²¹will“suppress“wš²!arning“messages“that“migh˜t“otherwiseŽ¡‘ãŒb•MÞe›/­pro“duced.‘y²One˜dra•²!wbac“k˜of˜suc“h˜a˜setup˜is˜that˜m“uc“h˜of˜the˜ÕPostScript˜¹is˜not˜rendered˜un“tilŽ¡‘ãŒafter–Xall“of“the“fonš²!t“c˜haracters,‘)”etc.‘²ha˜v˜e“bMÞeen“placed“on“the“page.‘²Th˜us“text“that“w˜as“mean˜t“to“bMÞeŽ¡‘ãŒplaced–ion“top“of“a“ lled“or“patterned“region“ma²!y“appšMÞear“to“b˜e“obscured“bš²!y“it.‘ÉgHo˜w˜ev˜er“when“prin˜ted,Ž¡‘ãŒusing–¦fa“ÕPostScript“¹prinš²!ter,“the“correct“placemen˜t“is“obtained.ŽŽŽŒ‹êi¯ Á à ý*tj‘㌹490’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÔHeader:Ž©Pˆ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyxdvi.doc,v“3.3“1996/12/18“09:53:22“ross“Exp“$ŽŽ¤ ™š‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``xdvi-driver''“option.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ¦‘ãŒÃ26Ž‘õŒÏ\xyprovide{xdvi}{XDVI–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ.࢑ãŒÃ56Ž‘õŒÏ\xydef@\xdvi@@#1{\dvimessage@{xdvi}{#1}}ŽŽ¦‘ãŒÃ58Ž‘õŒÏ\newdriver{%ŽŽ¡‘ãŒÃ59Ž‘ûKÃÏ\xyaddsupport{color}\xdviColor@@ŽŽ¡‘ãŒÃ60Ž‘ûKÃÏ\xyaddsupport{crayon}\xdviCrayola@@ŽŽ¡‘ãŒÃ61Ž‘ûKÃÏ\xyaddsupport{ps}\xdviPS@@ŽŽ¡‘ãŒÃ62Ž‘ûKÃÏ\xyaddsupport{rotate}\xdviRotate@@ŽŽ¡‘ãŒÃ63Ž‘ûKÃÏ\xyaddsupport{line}\xdviLine@@ŽŽ¡‘ãŒÃ64Ž‘ûKÃÏ\xyaddsupport{frame}\xdviFrames@@ŽŽ¡‘ãŒÃ65Ž‘ûKÃÏ\xyaddsupport{tile}\xdviTiles@@ŽŽ¡‘ãŒÃ66Ž‘ûKÃÏ\xyaddsupport{tpic}\xdviTPIC@ŽŽ¡‘ãŒÃ67Ž‘õŒÏ}ŽŽ¦‘ãŒÔDriv¦ter‘2installation‘ ó5¹SuppMÞorted‘¦fÏ\specialŽ‘5J¹e ects‘¦fare...ŽŸᯑóøéÇŽŽŽ‘þì¹colour,–¦fusing“ÕPostScript¹.Ž©[8‘þìNot–iàall“v²!ersions“of“ÏxdviŽ‘Òh¹suppšMÞort“color“Ï\specialŽ‘1g0¹s,‘uûso“there“is“no“direct“supp˜ort“for“colour.‘ɰHo²!w-Ž¡‘þìevš²!er–þparts“of“pictures“rendered“using“ÕPostScript“¹ma˜y“appMÞear“coloured,‘$due“to“in˜terpretationŽ¡‘þìof–¦fcolour“commands“within“the“ÕPostScript¹.ަ‘þìDisable–¦fthe“Ï\xylocalColor@Ž‘Wȹbut“enable“the“Ï\xycolor@Ž‘; ƹfor“use“b²!y“ÕPostScript¹.ŽŽŽŒ‹ëu Á à ý*tj‘ãŒÑ4.9.‘„CXD²!VI‘¦fDRIVER’m‡-¹491ŽŽ ¶?? ýh«w‘ãŒÃ87Ž‘õŒÏ\xydef@\xdvi@Color@{\xdviPStypes@ŽŽ¤ ™š‘ãŒÃ88Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ89Ž‘õŒÏ%‘¿ª\let\xylocalColor@=\xystackcolor@ŽŽ¡‘ãŒÃ90Ž‘õŒÏ%‘¿ª\let\xycolor@push\xycolor@push@@ŽŽ¡‘ãŒÃ91Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}\let\xycolorwarning@=\relaxŽŽ¡‘ãŒÃ92Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ93Ž‘ mÏ\xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}\installPScolor@‘¿ª}%ŽŽ¡‘ãŒÃ94Ž‘ûKÃÏ\else\DN@{}\fi‘¿ª\next@ŽŽ¡‘ãŒÃ95Ž‘ûKÃÏ\ifx\xycolor@@\xyNoColor@‘¿ª\let\xycolor@@=\xycolor@raw@@\fiŽŽ¡‘ãŒÃ96Ž‘ûKÃÏ\ifx\xycrayolaloaded\empty‘¿ª\DN@{\xystandardcolors@\xdviCrayola@{}}%ŽŽ¡‘ãŒÃ97Ž‘ûKÃÏ\else–¿ª\DN@{\xystandardcolors@}\fi“\next@ŽŽ¡‘ãŒÃ98Ž‘ûKÃÏ\let\xdviColor@@=\relaxŽŽ¡‘ãŒÃ99Ž‘ûKÃÏ\let\UnloadColor@@=\NoXDVIcolor@ŽŽ¡‘ãŒÃ100Ž‘ûKÃÏ}%ŽŽ¤Pˆ‘ãŒÃ102Ž‘õŒÏ\xydef@\xdviColor@@{\xdvi@Color@}ŽŽ¡‘ãŒÃ104Ž‘õŒÏ\xydef@\NoXDVIcolor@{%ŽŽ¤ ™š‘ãŒÃ105Ž‘ûKÃÏ\def\xycolor@{\xycolor@@}%ŽŽ¡‘ãŒÃ106Ž‘ûKÃÏ\let\xycolor@@=\xyNoColor@ŽŽ¡‘ãŒÃ107Ž‘ûKÃÏ\let\xylocalColor@=\xyNoColor@@ŽŽ¡‘ãŒÃ108Ž‘ûKÃÏ\let\xycolorwarning@=\xycolorwarning@@ŽŽ¡‘ãŒÃ109Ž‘ûKÃÏ\let\xdviColor@@=\xdvi@Color@ŽŽ¡‘ãŒÃ110Ž‘ûKÃÏ\let\UnloadColor@@=\UnloadColor@ŽŽ¡‘ãŒÃ111Ž‘ûKÃÏ}ŽŽŸx¸‘þì¹If–!uneither“suppMÞort“ le“Ïcolordvi.texŽ›M>â¹nor“Ïcolordvi.styŽ˜¹can“bMÞe“found,‘@8then“the“normal“colourŽ¡‘þìsuppšMÞort–`9will“not“b˜e“a•²!v‘ÿdDailable.‘ UHo“w“ev“er–`9the“colour“supp˜ort“for“the“ÕPostScript“¹bac²!k-end“canŽ¡‘þìstill–¦fbMÞe“used.Ž©Pˆ‘ãŒÃ119Ž‘õŒÏ\xydef@\NoXDVIcolordvi@{\xywarning@{%ŽŽ¡‘ãŒÃ120Ž‘ûKÃÏNeither– Tcolordvi.tex“nor“colordvi.sty“could–¿ªbe“found.}%ŽŽ¡‘ãŒÃ121Ž‘ûKÃÏ\xyBEcolorcheck@}%ŽŽŸ è‘óøéÇŽŽŽ‘þì¹cra•²!y“on‘¦fcolours.ŽŸÁÊ‘þìThe–„68“colours“that“ÏxdviŽ‘´¹recognizes“b²!y“name“are“not“loaded“unless“the“ÏcrayonŽ‘)†¹option“has“bMÞeenŽ¡‘þìrequested.ަ‘ãŒÃ134Ž‘õŒÏ\xydef@\xdviCrayola@@{\xdviColor@@\xdviCrayola@}ŽŽ¦‘ãŒÃ136Ž‘õŒÏ\xydef@\xdviCrayola@{%ŽŽ¡‘ãŒÃ137Ž‘ûKÃÏ\let\prevxycolor@=\newxycolor@ŽŽ¡‘ãŒÃ138Ž‘ mÏ\def\newxyXDVIcolor@##1##2##3{\prevxycolor@{##1}{}{##1}}%ŽŽ¡‘ãŒÃ139Ž‘ mÏ\let\newxycolor@=\newxyXDVIcolor@ŽŽ¡‘ãŒÃ140Ž‘ mÏ\installCrayolaColors@ŽŽ¡‘ãŒÃ141Ž‘ûKÃÏ\let\newxycolor@=\prevxycolor@‘¿ª}%ŽŽŸx¸‘þì¹Although–bÝan²!y“order“of“loading“options:‘¼ÏpsŽ‘;m¹,‘p_ÏxdviŽ‘o¹,‘p_ÏcolorŽ‘#‘޹and“ÏcrayonŽ‘)C¶¹proMÞduces“the“desired“resultŽ¡‘þìvisually‘ÿe,‘ƒÙthe–WÕPostScript“¹cošMÞde“can“b˜e“di erenš²!t“with“di eren˜t“loading“order.‘ñWThe“most“easilyŽ¡‘þìreadable–¦fis“obtained“when“ÏcrayonŽ‘)Êȹis“requested“last.ŽŸéú‘óøéÇŽŽŽ‘þìÕPostScript‘¦f¹bac²!k-end.ަ‘ãŒÃ153Ž‘õŒÏ\xydef@\xdviPS@@{\xdviPS@}ŽŽŽŽŒ‹ì€Þ Á à ý*tj‘㌹492’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ155Ž‘õŒÏ\xydef@\xdviPS@unload{\UnloadPS@ŽŽ¤ ™š‘ãŒÃ156Ž‘ûKÃÏ\let\UnloadPS@@=\UnloadPS@ŽŽ¡‘ãŒÃ157Ž‘ûKÃÏ\let\xdviPS@@=\xdviPS@‘¿ª}ŽŽŸKì‘þì¹The–´ƒlatest“vš²!ersions“of“ÏxdviŽ‘g®¹recognise“most“forms“of“Ï\specialŽ‘5fV¹command“that“are“recognised“b˜yŽ¡‘þìÏdvipsŽ‘ªo¹;–¦fthese“are“used“to“suppMÞort“ÕPostScript“¹e ects.Ž©Pˆ‘ãŒÃ166Ž‘õŒÏ\xydef@\xdviPStypes@{%ŽŽ¡‘ãŒÃ167Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%ŽŽ¡‘ãŒÃ168Ž‘ûKÃÏ\ifx\PSspecial@@\xdviSpecial@\elseŽŽ¡‘ãŒÃ169Ž‘ mÏ\let\PSspecial@@=\xdviSpecial@ŽŽ¡‘ãŒÃ170Ž‘ mÏ\let\PSmacro@@=\xdviMacro@ŽŽ¡‘ãŒÃ171Ž‘ mÏ\let\PSdict@@=\xdviDict@ŽŽ¡‘ãŒÃ172Ž‘ mÏ\let\PSspecialdict@@=\xdviDict@ŽŽ¡‘ãŒÃ173Ž‘ mÏ\let\PSraw@@=\xdviRaw@ŽŽ¡‘ãŒÃ174Ž‘ mÏ\let\PSinclude@@=\xdviInclude@ŽŽ¡‘ãŒÃ175Ž‘ mÏ\let\xyPSobeylines@@=\obeyXDVIlines@ŽŽ¡‘ãŒÃ176Ž‘ mÏ\let\xyPScurrpt@@=\xdviCurrpt@@ŽŽ¡‘ãŒÃ177Ž‘ mÏ\xdvi@@{PostScript}%ŽŽ¡‘ãŒÃ178Ž‘ûKÃÏ\fi–¿ª\XYpredict@“}ŽŽ¦‘ãŒÃ180Ž‘õŒÏ\xywarnifdefined\xdviSpecial@ŽŽ¡‘ãŒÃ181Ž‘õŒÏ\xywarnifdefined\xdviMacro@ŽŽ¡‘ãŒÃ182Ž‘õŒÏ\xywarnifdefined\xdviDict@ŽŽ¡‘ãŒÃ183Ž‘õŒÏ\xywarnifdefined\xdviInclude@ŽŽ¡‘ãŒÃ184Ž‘õŒÏ\xywarnifdefined\xdviRaw@ŽŽ¡‘ãŒÃ185Ž‘õŒÏ{\catcode`\"=11–¿ª\catcode`\!=11“\catcode`\:=11ŽŽ¡‘ãŒÃ186Ž‘ûKÃÏ\gdef\xdviSpecial@#1{\special{ps::–¿ªSDict“begin“#1“end}}ŽŽ¡‘ãŒÃ187Ž‘ûKÃÏ\gdef\xdviMacro@#1{\firstPS@@\special{"‘¿ª{#1}xy}}ŽŽ¡‘ãŒÃ188Ž‘õŒÏ%–¿ª\gdef\xdviDict@#1{\special{!“mark{#1}stopped“cleartomark}}ŽŽ¡‘ãŒÃ189Ž‘ûKÃÏ\gdef\xdviDict@#1{\special{!‘¿ª#1}}ŽŽ¡‘ãŒÃ190Ž‘ûKÃÏ\gdef\xdviInclude@#1{\special{header=#1}}ŽŽ¡‘ãŒÃ191Ž‘ûKÃÏ\gdef\xdviRaw@#1{\special{ps:–¿ªSDict“begin“#1“end}}ŽŽ¦‘ãŒÃ193Ž‘õŒÏ\catcode`\^^M=\active‘¿ª%ŽŽ¡‘ãŒÃ194Ž‘ûKÃÏ\gdef\next{\catcode`\^^M=\active–¿ª\let^^M=\space“}}%ŽŽ¡‘ãŒÃ195Ž‘õŒÏ\xylet@\obeyXDVIlines@=\nextŽŽŸKì‘þì¹All–Føthe“ÕPostScript“¹de nitions“passed“to“ÏxdviŽ‘!Œ˜¹b²!y“reading“the“dictionary“ le“are“stored“inŽ¡‘þìa–YîÕPostScript“¹dictionary“whicš²!h“it“de nes,‘ÆÏcalled“ÏSDictŽ‘"@¹.‘ øtThis“m˜ust“bMÞe“the“curren˜t“dictio-Ž¡‘þìnary–´Øwhenev²!er“an‘œ‚X‘ü·ŸâÃYŽŽ‘â-ps“command“is“to“bšMÞe“executed.‘ 4This“will“b˜e“the“case“whenev²!er“theŽ¡‘þìÏ\special{"Ž‘>(kÐc–ÿp¹ommandsÏ}Ž›.™¹or‘nïÏ\special{!Ž‘A«=Ðc“ommandsÏ}Ž˜¹forms–nïare“used,‘­:but“not“when“the“Ï\special{ps::Ž‘Rê;Ðc‘ÿp¹ommandsÏ}ŽŽ¡‘þì¹form–3§is“used.‘… Th²!us“the“Ï\xdviSpecial@Ž‘S"ð¹macro“includes“cošMÞde“to“op˜en“ÏSDictŽ‘%% ¹and“close“it“whenŽ¡‘þì nished;‘ :so–#also“došMÞes“the“Ï\xdviRaw@Ž‘:÷@¹t²!yp˜e,‘žýsince“this“is“used“with‘„ÍX‘ü·ŸâÃYŽŽ‘--pic“ÕPostScript“¹op˜eratorsŽ¡‘þìwhose–¦fde nitions“ha•²!v“e–¦fbMÞeen“placed“within“ÏSDictŽ‘ d¸¹.ŽŸ”þ‘þìThe‘¦fÏcurrentpointŽ‘LHĹis–¦fde ned“for“the“\ra²!w"“spMÞecials.ަ‘ãŒÃ213Ž‘õŒÏ\xydef@\xdviCurrpt@{\let\xyPScurrpt@@=\xdviCurrpt@@}%ŽŽ¡‘ãŒÃ214Ž‘õŒÏ\xydef@\xdviCurrpt@@{\PSraw@@{xyp}}ŽŽŸKì‘þì¹The–öÕPostScript“¹opšMÞerator“called“ÏxypŽ‘fê¹is“de ned“in“Ïxyps-psŽ‘0e’¹for“storing“the“lo˜cation“read“fromŽ¡‘þìÏcurrentpointŽ‘Cè¹.ŽŽŽŒ‹í‹þ Á à ý*tj‘ãŒÑ4.9.‘„CXD²!VI‘¦fDRIVER’m‡-¹493ŽŽ ¶?? ýh«w‘þìThis–¦finstalls“the“ÕPostScript“¹bac•²!k“end.Ž©Pˆ‘ãŒÃ225Ž‘õŒÏ\xydef@\xdviPS@{\xdviPStypes@ŽŽ¤ ™š‘ãŒÃ226Ž‘ûKÃÏ\let\xdviPS@@=\PSspecials@trueŽŽ¡‘ãŒÃ227Ž‘ûKÃÏ\let\UnloadPS@@=\xdviPS@unloadŽŽ¡‘ãŒÃ228Ž‘ûKÃÏ\let\installxyps@@=\relax–¿ª\installxyps@“}ŽŽŸ ‘óøéÇŽŽŽ‘þì¹rotated/scaled–¦fdiagrams“and“text,“using“ÕPostScript¹.ަ‘ãŒÃ235Ž‘õŒÏ\xydef@\xdviRotate@@{\xdviRotate@}ŽŽ¦‘ãŒÃ237Ž‘õŒÏ\xydef@\xdviRotate@{\xdviPStypes@ŽŽ¡‘ãŒÃ238Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ239Ž‘ mÏ\xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%ŽŽ¡‘ãŒÃ240Ž‘ mÏ\xdviCurrpt@–¿ª\xdviRotScale@“\installPSrotscale@“}%ŽŽ¡‘ãŒÃ241Ž‘ûKÃÏ\else\DN@{\xydriverfail@{rotations‘¿ªare}UnloadRotate@\relax}\fiŽŽ¡‘ãŒÃ242Ž‘ûKÃÏ\next@‘¿ª}ŽŽ¦‘ãŒÃ244Ž‘õŒÏ\xydef@\xdviRotScale@{%ŽŽ¡‘ãŒÃ245Ž‘ûKÃÏ\def\xyrot@start(##1){{xyct–¿ª##1\space“xyrs“}}%ŽŽ¡‘ãŒÃ246Ž‘ûKÃÏ\def\xyrot@end{}%ŽŽ¡‘ãŒÃ247Ž‘ûKÃÏ\def\xyscale@start(##1,##2){{xyct–¿ª##1\space##2\space“xyss“}}%ŽŽ¡‘ãŒÃ248Ž‘ûKÃÏ\def\xyscale@end{}}ŽŽŸ ‘óøéÇŽŽŽ‘þì¹v‘ÿdDariable–¦fline-widths“and“pMÞoly-lines,“using“ÕPostScript¹.ަ‘ãŒÃ255Ž‘õŒÏ\xydef@\xdviLine@@{\xdviLine@}ŽŽ¦‘ãŒÃ257Ž‘õŒÏ\xydef@\xdviLine@{\xdviPStypes@ŽŽ¡‘ãŒÃ258Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ259Ž‘ mÏ\xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}\installPSline@‘¿ª}%ŽŽ¡‘ãŒÃ260Ž‘ûKÃÏ\else\DN@{\xydriverfail@{line-widths‘¿ªare}\UnloadLine@\relax}\fiŽŽ¡‘ãŒÃ261Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ ‘óøéÇŽŽŽ‘þì¹extra–¦fframes“and“ lls,“using“ÕPostScript¹.ަ‘ãŒÃ268Ž‘õŒÏ\xydef@\xdviFrames@@{\xdviFrames@}ŽŽ¦‘ãŒÃ270Ž‘õŒÏ\xydef@\xdviFrames@{\xdviPStypes@ŽŽ¡‘ãŒÃ271Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ272Ž‘ mÏ\xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}\installPSframes@‘¿ª}%ŽŽ¡‘ãŒÃ273Ž‘ûKÃÏ\else\DN@{\xydriverfail@{frames‘¿ªare}\UnloadFrames@\relax}\fiŽŽ¡‘ãŒÃ274Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ ‘óøéÇŽŽŽ‘þì¹patterns–¦fand“tiles,“using“ÕPostScript¹.ަ‘ãŒÃ281Ž‘õŒÏ\xydef@\xdviTiles@@{\xdviTiles@}ŽŽ¦‘ãŒÃ283Ž‘õŒÏ\xydef@\xdviTiles@{\xdviPStypes@ŽŽ¡‘ãŒÃ284Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\empty\DN@{%ŽŽ¡‘ãŒÃ285Ž‘ mÏ\xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}\installPSpatterns@‘¿ª}%ŽŽ¡‘ãŒÃ286Ž‘ûKÃÏ\else\DN@{\xydriverfail@{Patterns‘¿ªare}\UnloadPSpatterns@\relax}\fiŽŽ¡‘ãŒÃ287Ž‘ûKÃÏ\next@‘¿ª}ŽŽŸ ‘óøéÇŽŽŽ‘þìÕtpic–¦f¹dra²!wing“commands.ަ‘ãŒÃ294Ž‘õŒÏ\xydef@\xdviTPIC@@{\xdviTPIC@}ŽŽŽŽŒ‹î˜‹ Á à ý*tj‘㌹494’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ296Ž‘õŒÏ\xydef@\xdviTPIC@{\setupxyTPIC@}ŽŽŸ#Lj‘ãŒÔThe–2end“&“LogޤPˆ‘ãŒÃ308Ž‘õŒÏ\xyendinputŽŽ¡‘ãŒÃ310Ž‘õŒÏ%–¿ª$Log:“xyxdvi.doc,v“$ŽŽ¤ ™š‘ãŒÃ311Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“09:53:22“rossŽŽ¡‘ãŒÃ312Ž‘õŒÏ%–¿ªminor“improvements“to“file-loading“commandsŽŽ¡‘ãŒÃ313Ž‘õŒÏ%ŽŽ¡‘ãŒÃ314Ž‘õŒÏ%–¿ªRevision“3.2– T1995/09/19“18:21:41“rossŽŽ¡‘ãŒÃ315Ž‘õŒÏ%–¿ªBug“fix“release.ŽŽ¡‘ãŒÃ316Ž‘õŒÏ%ŽŽ¡‘ãŒÃ317Ž‘õŒÏ%–¿ªRevision“3.1– T1995/09/05“20:28:57“rossŽŽ¡‘ãŒÃ318Ž‘õŒÏ%–¿ªReleasing“version“3.1!ŽŽ¡‘ãŒÃ319Ž‘õŒÏ%ŽŽ¡‘ãŒÃ320Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ321Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ322Ž‘õŒÏ%ŽŽ¡‘ãŒÃ323Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ324Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ325Ž‘õŒÏ%ŽŽ¡‘ãŒÃ326Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ/uk‘ãŒÝ4.10Ž‘ŒCMacT‘þ¦feX‘ffdrivŒÌerŽŸ)‘ãŒæV‘ÿ «ers.‘p3.3–ÕTb®9y“Ross“MoQÇore“¸h²ross@mpGce.mq.edu.au¸iŽŽ‘㌟ Ø”ïheader=color.proïheader=color.proïheader=color.proŸ d ¹Thomas–¦fKi e's“CMacT‘þ,³Ÿ[wEŽ‘B X“application“uses“ÕdÁ´vips“¹as“its“dvi-driv²!er.ŽŸ•|ÔHeader:ŽŸPˆÃ1Ž‘Ï%%–¿ª$Id:“xycmactex.doc,v“3.3“1996/12/18“08:54:25“ross“Exp“$ŽŽ¡Ã2Ž‘Ï%%ŽŽ¡Ã3Ž‘Ï%%–¿ªXy-pic“``CMacTeX''“driver“interface“option.ŽŽ¡Ã4Ž‘Ï%%–¿ªCopyright“(c)“1995-1996“Ross“Moore“ŽŽ¡Ã5Ž‘Ï%%ŽŽ¡Ã6Ž‘Ï%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡Ã7Ž‘Ï%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡Ã8Ž‘Ï%%–¿ªCopyright“(c)“1991-1996“Kristoffer“H.“Rose“ŽŽ¡Ã9Ž‘Ï%%ŽŽ¡Ã10Ž‘Ï%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡Ã11Ž‘Ï%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡Ã12Ž‘Ï%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡Ã13Ž‘Ï%%–¿ªoption)“any“later“version.ŽŽ¡Ã14Ž‘Ï%%ŽŽ¡Ã15Ž‘Ï%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡Ã16Ž‘Ï%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡Ã17Ž‘Ï%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡Ã18Ž‘Ï%%–¿ªfor“more“details.ŽŽŽŽŒ‹ï£ Á à ý*tj‘ãŒÑ4.11.‘„CEXTRA–¦fFEA›ÿeTURES“WITH“ÕPostScript“ÑSUPPOR˜T’¯ÞH¹495ŽŽ ¶?? ýh«w‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ\ifx\xyloaded\undefined–¿ª\input“xy“\fiŽŽ©Pˆ‘ãŒÃ26Ž‘õŒÏ\xyprovide{cmactex}{CMacTeX–¿ªdriver}{\stripRCS$Revision:“3.3“$}%ŽŽ¡‘ãŒÃ27Ž‘ûKÃÏ{Ross‘¿ªMoore}{ross@mpce.mq.edu.au}%ŽŽ¡‘ãŒÃ28Ž‘ûKÃÏ{Mathematics–¿ªDepartment,“Macquarie“University,“NSW~2109,“Australia}ŽŽŸ"o‘ãŒÃ39Ž‘õŒÏ\xyrequire{dvips}ŽŽŸ#›ë‘ãŒÔThe–2end“&“Logަ‘ãŒÃ47Ž‘õŒÏ\xyendinputŽŽ¦‘ãŒÃ49Ž‘õŒÏ%–¿ª$Log:“xycmactex.doc,v“$ŽŽ¡‘ãŒÃ50Ž‘õŒÏ%–¿ªRevision“3.3– T1996/12/18“08:54:25“rossŽŽ¡‘ãŒÃ51Ž‘õŒÏ%–¿ªno“changesŽŽ¡‘ãŒÃ52Ž‘õŒÏ%ŽŽ¡‘ãŒÃ53Ž‘õŒÏ%–¿ªRevision“3.1› T1995/09/05“20:28:57˜rossŽŽ¡‘ãŒÃ54Ž‘õŒÏ%–¿ªReleasing“version“3.1!ŽŽ¡‘ãŒÃ55Ž‘õŒÏ%ŽŽ¡‘ãŒÃ56Ž‘õŒÏ%–¿ªRevision“3.0– T1995/07/07“20:13:19“rossŽŽ¡‘ãŒÃ57Ž‘õŒÏ%–¿ªMajor“release“w/new“User's“Guide!ŽŽ¡‘ãŒÃ58Ž‘õŒÏ%ŽŽ¡‘ãŒÃ59Ž‘õŒÏ%–¿ªRevision“2.13– T1995/07/04“15:04:51“rossŽŽ¡‘ãŒÃ60Ž‘õŒÏ%–¿ªReady“for“release“of“v3.ŽŽ¡‘ãŒÃ61Ž‘õŒÏ%ŽŽ¡‘ãŒÃ62Ž‘õŒÏ%–¿ªNEW“for“version“3.ŽŽŸ/à¿‘ãŒÝ4.11Ž‘ŒExtra–fffeatures“with“óMŒ-øff cmcsc10ëMPostScript“Ýsupps3ortŽŸƒ—‘ãŒÞ4.11.1Ž‘Œxyps-ps.do`cŽŸW¥‘㌹The–M included“ le“Ïxyps-ps.texŽ‘GÖb¹(vš²!ersion3.7)“pro˜vides“suppMÞort“for“ÕPostScript“Ï\specialŽ‘6—d¹commandsŽ¡‘ãŒused–¤bš²!y“the“ÏpsŽ‘¼œ¹bac˜k˜end“extension“as“w˜ell“as“ÕPostScript¹-based“options,‘9Ëto“prošMÞduce“sp˜ecial“e ects“notŽ¡‘ãŒa²!v‘ÿdDailable–¦fdirectly“with“T‘þ,³Ÿ[wEŽ‘B X.ŽŸäý‘ãŒÔHeader:ަ‘ãŒÃ1Ž‘õŒÏ%%–¿ª$Id:“xyps-ps.doc,v“3.7“1999/02/16“15:12:50“krisrose“Exp“$ŽŽ¡‘ãŒÃ2Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ3Ž‘õŒÏ%%–¿ªXy-pic“``PS-PS''“PostScript“support.ŽŽ¡‘ãŒÃ4Ž‘õŒÏ%%–¿ªCopyright“(c)“1993-1997›"}üRoss“Moore˜ŽŽ¡‘ãŒÃ5Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ6Ž‘õŒÏ%%–¿ªThis“file“is“part“of“the“Xy-pic“package“for“graphs“and“diagrams“in“TeX.ŽŽ¡‘ãŒÃ7Ž‘õŒÏ%%–¿ªSee“the“companion“README“and“INSTALL“files“for“further“information.ŽŽ¡‘ãŒÃ8Ž‘õŒÏ%%–¿ªCopyright“(c)“1991-1997‘"}üKristoffer“H.“Rose‘ TŽŽŽŽŒ‹ð¬Æ Á à ý*tj‘㌹496’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘ãŒÃ9Ž‘õŒÏ%%ŽŽ¤ ™š‘ãŒÃ10Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“free“software;“you“can“redistribute“it“and/or“modifyŽŽ¡‘ãŒÃ11Ž‘õŒÏ%%–¿ªit“under“the“terms“of“the“GNU“General“Public“License“as“published“by“theŽŽ¡‘ãŒÃ12Ž‘õŒÏ%%–¿ªFree“Software“Foundation;“either“version“2“of“the“License,“or“(at“yourŽŽ¡‘ãŒÃ13Ž‘õŒÏ%%–¿ªoption)“any“later“version.ŽŽ¡‘ãŒÃ14Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ15Ž‘õŒÏ%%–¿ªThe“Xy-pic“package“is“distributed“in“the“hope“that“it“will“be“useful,“butŽŽ¡‘ãŒÃ16Ž‘õŒÏ%%–¿ªWITHOUT“ANY“WARRANTY;“without“even“the“implied“warranty“of“MERCHANTABILITYŽŽ¡‘ãŒÃ17Ž‘õŒÏ%%–¿ªor“FITNESS“FOR“A“PARTICULAR“PURPOSE.‘ TSee“the“GNU“General“Public“LicenseŽŽ¡‘ãŒÃ18Ž‘õŒÏ%%–¿ªfor“more“details.ŽŽ¡‘ãŒÃ19Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ20Ž‘õŒÏ%%–¿ªYou“should“have“received“a“copy“of“the“GNU“General“Public“License“alongŽŽ¡‘ãŒÃ21Ž‘õŒÏ%%–¿ªwith“this“package;“if“not,“write“to“the“Free“Software“Foundation,“Inc.,ŽŽ¡‘ãŒÃ22Ž‘õŒÏ%%–¿ª675“Mass“Ave,“Cambridge,“MA“02139,“USA.ŽŽ¡‘ãŒÃ23Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ24Ž‘õŒÏ%%–¿ªAs“a“special“exception,“you“may“use“this“file“and“all“files“derivedŽŽ¡‘ãŒÃ25Ž‘õŒÏ%%–¿ªfrom“it“without“restrictions.‘ TThis“special“exception“was“added“withŽŽ¡‘ãŒÃ26Ž‘õŒÏ%%–¿ªversion“3.7“of“Xy-pic.ŽŽ¡‘ãŒÃ27Ž‘õŒÏ%%ŽŽ¡‘ãŒÃ28Ž‘õŒÏ\expandafter\ifx\csname‘¿ªxyps-psloaded\endcsname\emptyŽŽ¡‘ãŒÃ29Ž‘ûKÃÏ\message{not–¿ªreloaded}\endinput“\fiŽŽ¡‘ãŒÃ30Ž‘õŒÏ\expandafter\let\csname–¿ªxyps-psloaded\endcsname=\empty“\xycatcodesŽŽŸ.I0‘ãŒÕPostScript–HÏ\special“Ôcommands‘ ó5¹The–¹ÕPostScript“Ï\specialŽ‘1¶`¹s“whicš²!h“are“used“b˜y‘ ºX‘ü·ŸâÃYŽŽ‘ -ps“fall“in˜toŽ¡‘ãŒfour–¦fbroad“classes:ޤš^‘ðî>1.ŽŽŽ‘þìexecute–¦fa“piece“of“coMÞde,“e.g.‘ÝÝto“dra²!w“some“graphic“ob‘›»ject;Ž¡‘ðî>2.ŽŽŽ‘þìadd–¦fa“new“ÕPostScript“¹de nition“to“the“existing“dictionary“of“commands;Ž¡‘ðî>3.ŽŽŽ‘þìc²!hange–¦fthe“v‘ÿdDalue“of“some“parameters,“storing“them“for“later“use;“andŽ¡‘ðî>4.ŽŽŽ‘þìread–¦fÕPostScript“¹commands“from“a“pre-existing“ le.Ž¡‘ôŒSince–œRdi erenš²!t“driv˜ers“ma˜y“pro˜vide“di eren˜t“syn˜tax“for“these“classes“of“command,‘¹4X‘ü·ŸâÃYŽŽ‘ 8”-ps“has“di eren˜tޤ ™š‘ãŒmacros–¬»to“optimize“to“inš²!terface“to“the“di eren˜t“driv˜ers.‘ðÜInitially“these“con˜trol-sequence“names“areŽ¡‘ãŒbšMÞound–Ó*to“macros“that“do“nothing.‘—tUp˜on“sp˜ecifying“a“driv²!er,‘ýjthey“will“b˜e“b˜ound“to“a“macro“appropriateŽ¡‘ãŒfor–¦fthat“driv²!er.Ž©Pˆ‘ãŒÃ62Ž‘õŒÏ\xylet@\PSmacro@@=\eat@ŽŽ¡‘ãŒÃ63Ž‘õŒÏ\xylet@\PSdict@@=\eat@ŽŽ¡‘ãŒÃ64Ž‘õŒÏ\xylet@\PSspecial@@=\eat@ŽŽ¡‘ãŒÃ65Ž‘õŒÏ\xylet@\PSread@@=\eat@ŽŽ¡‘ãŒÃ66Ž‘õŒÏ\xylet@\PSinclude@@=\eat@ŽŽ¡‘ãŒÃ67Ž‘õŒÏ\xylet@\PSraw@@=\eat@ŽŽ¡‘ãŒÃ68Ž‘õŒÏ\xylet@\xyPSobeylines@@=\relaxŽŽ¡‘ãŒÃ69Ž‘õŒÏ\xylet@\PSspecialdict@@=\eat@ŽŽ¦‘ãŒÃ71Ž‘õŒÏ\xydef@\UnloadPSps@{%ŽŽ¡‘ãŒÃ72Ž‘ûKÃÏ\let\PSmacro@@=\eat@ŽŽ¡‘ãŒÃ73Ž‘ûKÃÏ\let\PSdict@@=\eat@ŽŽŽŽŒ‹ñ¶Z Á à ý*tj‘ãŒÑ4.11.‘„CEXTRA–¦fFEA›ÿeTURES“WITH“ÕPostScript“ÑSUPPOR˜T’¯ÞH¹497ŽŽ ¶?? ýh«w‘ãŒÃ74Ž‘ûKÃÏ\let\PSspecial@@=\eat@ŽŽ¤ ™š‘ãŒÃ75Ž‘ûKÃÏ\let\PSread@@=\eat@ŽŽ¡‘ãŒÃ76Ž‘ûKÃÏ\let\PSinclude@@=\eat@ŽŽ¡‘ãŒÃ77Ž‘ûKÃÏ\let\PSraw@@=\eat@ŽŽ¡‘ãŒÃ78Ž‘ûKÃÏ\let\xyPSobeylines@@=\relaxŽŽ¡‘ãŒÃ79Ž‘ûKÃÏ\let\PSspecialdict@@=\eat@ŽŽ¡‘ãŒÃ80Ž‘õŒÏ}ŽŽŸç[‘ôŒ¹Unloading–¦fÕPostScript“¹requires“also“turning“o “the“ÕPostScript¹-bac•²!k“end,–¦fif“it“has“bMÞeen“loaded.Ž©Pˆ‘ãŒÃ87Ž‘õŒÏ\xydef@\UnloadPS@{\UnloadPSps@ŽŽ¡‘ãŒÃ88Ž‘ûKÃÏ\expandafter\ifx\csname‘¿ªxypsloaded\endcsname\unknown\PSspecials@falseŽŽ¡‘ãŒÃ89Ž‘ûKÃÏ\else\expandafter\NoPSspecials\fi}ŽŽ¡‘ãŒÃ90Ž‘õŒÏ\xylet@\UnloadPS@@=\UnloadPS@ŽŽ¦‘ãŒÃ92Ž‘õŒÏ%\xyaddunsupport{ps}\UnloadPS@@ŽŽŸv‘ãŒÃ96Ž‘õŒÏ\ifx\undefined\dvitype@\xydef@\dvitype@{null}\fiŽŽŸç[‘ôŒ¹Some–/drivš²!ers,‘8ain“particular“v˜ersions“of“ÕTextures“¹earlier“than“1.7,‘8arequire“the“ÕPostScript“¹dic-Ž¡‘ãŒtionary–€çto“bšMÞe“included“with“ev²!ery“page“shipp˜ed“out.‘Ñ]W‘ÿee“do“this“bš²!y“pro˜viding“a“routine“whic˜h“rebindsŽ¡‘ãŒthe‘CÆÏ\shipoutŽ‘4„ܹprimitivš²!e–CÆto“a“macro“Ï\xyPSshipout@Ž‘QC.¹whic˜h“prepMÞends“the‘+pX‘ü·ŸâÃYŽŽ‘ ªÐ-ps“ÕPostScript“¹dictionaryŽ¡‘ãŒto–«the“bšMÞo²!x“b˜eing“shipp˜ed-out.‘ò­This“routine“Ï\@PSshipoutŽ‘GA¤¹is“called,›½if“necessary‘ÿe,˜when“the“driv²!er“hasŽ¡‘ãŒb•MÞeen‘¦fsp“eci ed.ަ‘ãŒÃ109Ž‘õŒÏ\xylet@\xyrealshipout@=\shipoutŽŽ¡‘ãŒÃ110Ž‘õŒÏ\xydef@\xyPSshipout@{\setbox9=\copy\voidb@xŽŽ¡‘ãŒÃ111Ž‘ûKÃÏ\afterassignment\xyPSshipout@i\setbox9=}ŽŽ¡‘ãŒÃ112Ž‘õŒÏ\xydef@\xyPSshipout@i{\ifvoid9‘¿ª\expandafter\aftergroup\fi\xyPSshipout@ii}ŽŽ¡‘ãŒÃ113Ž‘õŒÏ\xydef@\xyPSshipout@ii{\xyrealshipout@\vbox{\XYpredict@@\box9}}ŽŽ¦‘ãŒÃ115Ž‘õŒÏ\xydef@\@PSshipout{\global\let\shipout=\xyPSshipout@‘¿ª}ŽŽŸç[‘ôŒ¹The–àbšMÞo²!x“register“Ï\box9Ž‘$æ¹is“assumed“to“b˜e“a“scratc²!h“register,‘/?used“globally“according“to“T‘þ,³Ÿ[wEŽ‘B X“con-Ž¡‘ãŒv•²!en“tions.ŽŸ0m‘ôŒWhen–‚the“ÕPostScript“¹bac•²!k“end–‚is“loaded“then“w²!e“need“to“rebind“Ï\shipoutŽ‘7\¹to“include“the“fullŽ¡‘ãŒdictionary‘ÿe.ަ‘ãŒÃ125Ž‘õŒÏ\xydef@\xyPSshipout@PSii{%ŽŽ¡‘ãŒÃ126Ž‘ûKÃÏ\ifUsePSdict@@\let\XYshipdict@=\includeXYPSdict@@ŽŽ¡‘ãŒÃ127Ž‘ûKÃÏ\else\def\XYshipdict@{\XYpredict@@\XYdict@@}\fiŽŽ¡‘ãŒÃ128Ž‘ûKÃÏ\xyrealshipout@\vbox{\XYshipdict@\box9}}ŽŽŸç[‘ôŒ¹These›Àût•²!w“o˜con“trol˜sequences˜are˜used˜in˜the˜D“VI-driv“er˜ les˜to˜con“trol˜when˜the˜ÕPostScriptŽ¡‘ãŒÇh¹driv²!erÇi–¦f¹can“bMÞe“altered.ަ‘ãŒÃ137Ž‘õŒÏ\xydef@\firstPS@{%\fixedxydriver@ŽŽ¡‘ãŒÃ138Ž‘ûKÃÏ\global\let\firstPS@@=\relax‘¿ª\global\let\firstPS@=\relax}ŽŽ¡‘ãŒÃ139Ž‘õŒÏ\xylet@\firstPS@@=\firstPS@ŽŽŸ%gX‘ãŒÞ4.11.2Ž‘ŒInstallationŽŸÑ‘ãŒ¹T›ÿeo–kÁinstall“use“of“ÕPostScript“¹requires“loading“the“ÕPostScript“¹dictionary˜.‘ÊQHo•²!w“ev“er–kÁthis“can“only“bMÞeŽ¡‘ãŒdone–ËÄwhen“a“Çh¹drivš²!erÇi“¹is“kno˜wn“to“bšMÞe“able“to“supp˜ort“it.‘MöHence“the“Ï\installxyps@Ž‘RS*¹command“shouldŽ¡‘ãŒbMÞe–¦fcalled“only“from“within“a“Çh¹driv²!erÇi¹- le.ŽŸ0m‘ôŒF‘ÿeurthermore,‘l*the–iÇh¹drivš²!erÇi¹- le“should“de ne“a“v‘ÿdDalue“for“Ï\installxyps@@Ž‘Zž¹to“including“an˜ythingŽŽŽŒ‹òÂ( Á à ý*tj‘㌹498’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘㌹spšMÞeci c–‹Œto“that“Çh¹driv•²!erÇi¹;‘éÖev“en–‹Œif“only“Ï\let\installxyps@@=\relaxŽ’’C&¹.‘•If“Ï\dumpPSdictŽ‘DSf¹has“b˜een“sp˜eci ed,ޤ ™š‘ãŒthen–hthe“dictionary“m²!ust“bšMÞe“written“ rst,‘3¨so“it“can“b˜e“used“with“the“subsequen²!t“pro˜cessing“(see“theŽ¡‘ãŒsubsection‘¦fbMÞelo²!w).ޤPˆ‘ãŒÃ158Ž‘õŒÏ\ifx\undefined\dumpPSdict@@–¿ª\xylet@\dumpPSdict@@=\relax“\fiŽŽ¡‘ãŒÃ160Ž‘õŒÏ\xydef@\installxyps@{%ŽŽ¤ ™š‘ãŒÃ161Ž‘ûKÃÏ\xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}\xycatcodesŽŽ¡‘ãŒÃ162Ž‘ûKÃÏ\installxyps@@–¿ª\installxyps@x“}ŽŽ©Pˆ‘ãŒÃ164Ž‘õŒÏ\xylet@\installxyps@@=\relaxŽŽ¡‘ãŒÃ165Ž‘õŒÏ\xylet@\setupxyPS@@=\relaxŽŽ¡‘ãŒÃ166Ž‘õŒÏ\xywithoption{ps}{\let\setupxyPS@@=\setupxyPS@}ŽŽ¦‘ãŒÃ168Ž‘õŒÏ\xydef@\installxyps@x{\dumpPSdict@@ŽŽ¡‘ãŒÃ169Ž‘ûKÃÏ\ifx\xyrealshipout@\undefined‘¿ª\let\xyrealshipout@=\shipout\fiŽŽ¡‘ãŒÃ170Ž‘ûKÃÏ\ifx–¿ª\shipout“\xyrealshipout@ŽŽ¡‘ãŒÃ171Ž‘ mÏ\ifUsePSdict@@‘¿ª\DN@{\includePSmessage@\includeXYPSdict@\message{>}}%ŽŽ¡‘ãŒÃ172Ž‘ mÏ\else‘¿ª\DN@{\XYdict@\endXYdict@}\fiŽŽ¡‘ãŒÃ173Ž‘ûKÃÏ\else–¿ª\DN@{\let\xyPSshipout@ii=\xyPSshipout@PSii“\@PSshipout}\fiŽŽ¡‘ãŒÃ174Ž‘ûKÃÏ\let\firstPS@=\relax‘¿ª\next@ŽŽ¡‘ãŒÃ175Ž‘ûKÃÏ\let\XYpredict@=\relaxŽŽ¡‘ãŒÃ176Ž‘ûKÃÏ\setupxyPS@@‘¿ª}ŽŽ¦‘ãŒÃ178Ž‘õŒÏ\let\realinstallxyps@x=\installxyps@xŽŽ¡‘ãŒÃ179Ž‘õŒÏ\ifx\undefined\AfterBeginDocumentŽŽ¡‘ãŒÃ180Ž‘ûKÃÏ\def\installxyps@x{\xysetup@@{\realinstallxyps@x}}%ŽŽ¡‘ãŒÃ181Ž‘õŒÏ\elseŽŽ¡‘ãŒÃ182Ž‘ûKÃÏ\def\installxyps@x{\AfterBeginDocument{\realinstallxyps@x}}%ŽŽ¡‘ãŒÃ183Ž‘õŒÏ\fiŽŽŸ$M‘ôŒ¹In–‡âcase“no“Çh¹drivš²!erÇi“¹w˜as“kno˜wn“when“a“call“to“the“Ï\installxyps@Ž‘SËf¹methoMÞd“w˜as“queued,‘À@e.g.‘‚Pb˜yŽ¡‘ãŒÏ\dumpPSdict{}Ž‘2{C¹bMÞefore–3ˆanš²!y“Ï\xyoption{Ž‘=°,Çh¹driv˜erÇiÏ}Ž‘¿ª¹,‘VÐthen“a“c˜hec˜k“is“made“to“see“there“is“no˜w“a“kno˜wnŽ¡‘ãŒÇh¹driv•²!erÇi›‰;¹whic“h˜suppMÞorts˜ÕPostScript¹.‘†\If˜so˜then˜this˜installation˜is˜cancelled˜since˜another˜shouldŽ¡‘ãŒfolloš²!w,‘vVotherwise–jRthe“default“Çh¹driv˜erÇi“¹of“ÏdvipsŽ‘#’ö¹is“assumed.‘ÉÖThe“command“Ï\xyPSdriver#1Ž‘QF¹is“pro˜videdŽ¡‘ãŒto–Ì)alloš²!w“users“to“c˜hange“this“default“Çh¹driv˜erÇi¹.‘O'This“ma˜y“bMÞe“necessary“when“m˜ultiple“Çh¹driv˜erÇi¹s“areŽ¡‘ãŒrequired–¦fand“the“ nal“one“spšMÞeci ed“do˜es“not“supp˜ort“ÕPostScript¹.ަ‘ãŒÃ196Ž‘õŒÏ\xydef@\xydefaultdriver@{dvips}ŽŽ¡‘ãŒÃ197Ž‘õŒÏ\xydef@\xyPSdriver#1{\def\xydefaultdriver@{#1}}ŽŽ¦‘ãŒÃ199Ž‘õŒÏ\xydef@\installxyps@orig{\DN@{}%ŽŽ¡‘ãŒÃ200Ž‘ûKÃÏ\ifx\xydriversselected@@\emptyŽŽ¡‘ãŒÃ201Ž‘ mÏ\DN@{\expandafter\defaultinstallps@\expandafter{\xydefaultdriver@}}%ŽŽ¡‘ãŒÃ202Ž‘ûKÃÏ\else‘¿ª\def\do##1{%ŽŽ¡‘ãŒÃ203Ž‘ËÏ\expandafter\ifx\csname##1@xy@ps\endcsname\relaxŽŽ¡‘ãŒÃ204Ž‘ ŠÁÏ\DN@{\defaultinstallps@{##1}}}%ŽŽ¡‘ãŒÃ205Ž‘ mÏ\xydriversselected@@ŽŽ¡‘ãŒÃ206Ž‘ûKÃÏ\else–¿ª\DN@##1{}\fi\fi“\next@“}ŽŽ¦‘ãŒÃ208Ž‘õŒÏ%\xylet@\installxyps@@=\installxyps@origŽŽ¦‘ãŒÃ210Ž‘õŒÏ\xydef@\defaultinstallps@#1#2{%ŽŽ¡‘ãŒÃ211Ž‘ûKÃÏ\xywarning@{no–¿ªdriver“specified,“using“#1“}%ŽŽ¡‘ãŒÃ212Ž‘ûKÃÏ\xyrequire{#1}\csname‘¿ª#1@xy@ps\endcsname{}}ŽŽŽŽŒ‹óÎé Á à ý*tj‘ãŒÑ4.11.‘„CEXTRA–¦fFEA›ÿeTURES“WITH“ÕPostScript“ÑSUPPOR˜T’¯ÞH¹499ŽŽ ¶?? ýh«w‘ãŒÃ214Ž‘õŒÏ\xydef@\null@xy@ps{\installxyps@}ŽŽŸ"¢n‘ãŒëGPostScript‘€Þescap`eŽŸà‘㌹An–ÊFextra“Çh¹shapšMÞeÇi“¹mo˜di er“kš²!ey“allo˜ws“arbitrary“ÕPostScript“¹cošMÞde“to“b˜e“applied“to“the“curren²!t“Çh¹ob‘›»jectÇi¹.Ž‘ãŒŸs‚‰ffã²dŸ Ÿá‘EŽÏ[!Ž‘P‡âÇh¹p•MÞostscript‘¦fco“deÇiÏ]ŽŽ’¬Ð¥¹for–¦fspMÞecial“e ectsŽŽŽŽ¤ ™š‘EŽÏ[psxy]ŽŽ’¬Ð¥¹stores–¦fcurren²!t“loMÞcation.ŽŽŽŽŸ•¨‰ffã²dŸ PPŸPˆÃ231Ž‘Ï\xydefcsname@{shape‘¿ª[!...]}#1{%\tracingall%ŽŽ¡Ã232Ž‘¿ªÏ\expandafter\ifx\csname–¿ªxyps-sloaded\endcsname\empty“\DN@{\xyPSescapestyle@{#1}@@}%ŽŽ¡Ã233Ž‘¿ªÏ\else\ifxyPSshapes@\DN@{\xyPSshapechar@{#1}@@}%ŽŽ¡Ã234Ž‘¿ªÏ\else–¿ª\DN@{\xyPScharwarning@}\fi\fi“\next@“}ŽŽ¡Ã235Ž‘Ï\xydefcsname@{shape‘¿ª[psxy]}{\ifxyPSshapes@\DN@{\xyPSpsxy@}%ŽŽ¡Ã236Ž‘¿ªÏ\else–¿ª\DN@{\xyPScharwarning@}\fi“\next@“}ŽŽŸkM¹Normally–_—the“Çh¹pšMÞostscript“co˜deÇi“¹will“b˜e“a“simple“command“to“alter“the“ÕPostScript“¹graphics“state:Ž¡e.g.‘ Ï[!1–¿ª0“0“setrgbcolor]Ž‘{Öz¹cš²!hanges–¼¢the“colour“used“to“render“parts“of“the“Çh¹ob‘›»jectÇi¹.‘ An˜y“n˜um˜bMÞer“ofŽ¡suc²!h–ÀÇh¹shapšMÞeÇi“¹mo˜di ers“is“allo•²!w“able,‘.®ho“w“ev“er–Àit“is“more“ecienš²!t“to“com˜bine“them“in˜to“a“single“moMÞdi er,Ž¡whenev²!er‘¦fpMÞossible.Ž© ´_‘It–¥¸is“vš²!ery“impMÞortan˜t“that“braces“Ï{Ž› ¹and“Ï}Ž˜¹do“not“appšMÞear“explicitly“in“an²!y“Çh¹p˜ostscript“co˜deÇi¹,‘¥Ûas“thisŽ¡maš²!y–?ÿupset“the‘'©X‘ü·ŸâÃYŽŽ‘ § -pic“Çh¹ob‘›»jectÇi“¹parsing.‘»»Ho˜w˜ev˜er“it“is“acceptable“to“ha˜v˜e“a“con˜trol“sequence“name“here,Ž¡expanding–‹7inš²!to“more“in˜tricate“ÕPostScript“¹cošMÞde.‘ÔÍThis“will“not“b˜e“expanded“un²!til“a“later“(safe)“time.ަ‘Due–”Îto“di erences“within“the“D•²!VI-driv“ers,‘Ðhsuc“h–”Îsimple“ÕPostScript“¹commands“need“not“a ectŽ¡evš²!ery–W0part“of“an“Çh¹ob‘›»jectÇi¹.‘ð;In“particular“the“lines,‘ƒbcurv˜es“and“arro˜wheads“generated“b˜y‘>ÚX‘ü·ŸâÃYŽŽ‘¾:-pic“use“aŽ¡di eren•²!t›Bhmec“hanism,‘Vhwhic“h˜should˜giv“e˜the˜same˜result˜with˜all˜driv“ers.‘¼ˆThis˜in“v“olv“es˜rede ning˜someŽ¡ÕPostScript–3¹proMÞcedures“whicš²!h“are“alw˜a˜ys“read“prior“to“rendering“one“of“these“ob‘›»jects.‘ƒÁOne“simpleŽ¡w•²!a“y–‹½to“spMÞecify“a“red“line“is“as“folloš²!ws;‘” the“ÏxycolorŽ‘/U ¹extension“pro˜vides“more“sophisticated“suppMÞort“forŽ¡colour.‘ì€The–UòÇh¹shapšMÞeÇi“¹mo˜di ers“describ˜ed“in“the“previous“section“also“use“this“mec²!hanism,‘Ôso“shouldŽ¡wš²!ork–¦fcorrectly“with“all“driv˜ers.ŽŸPˆÏ\def\colorxy(#1){%ŽŽ¡–¿ª/xycolor{#1“setrgbcolor}def}ŽŽ¡...ŽŽ¡\connect[!\colorxy(1–¿ª0“0)]\dir{-}ŽŽ¡...ŽŽŸkM¹Note–`hoš²!w“the“braces“are“inserted“within“the“expansion“of“the“con˜trol“sequence“Ï\colorxyŽ‘3]n¹,‘΋whic˜hŽ¡happMÞens–ì$after“parsing“of“the“Çh¹connectionÇi¹.‘¯The“folloš²!wing“table“sho˜ws“whic˜h“graphics“parameters“areŽ¡treated–›æin“this“w•²!a“y‘ÿe,›žtheir–›ædefault“settings,˜and“the“t²!ypšMÞe“of“ÕPostScript“¹co˜de“needed“to“c²!hange“them.ŽŸ ×ljffã²dŸ Ÿá‘^(ScolourŽ’“°àÏ/xycolor{0‘¿ªsetgray}defŽŽŽŽŽ¡‘^(S¹line-widthŽ’“°àÏ/xywidth{.4‘¿ªsetlinewidth}defŽŽŽŽŽ¡‘^(S¹dashingŽ’“°àÏ/xydash{[]–¿ª0“setdash}defŽŽŽŽŽ¡‘^(S¹line-capŽ’“°àÏ/xycap{1‘¿ªsetlinecap}defŽŽŽŽŽ¡‘^(S¹line-joinŽ’“°àÏ/xyjoin{1‘¿ªsetlinejoin}defŽŽŽŽŽŸ•¨‰ffã²dŸêú–m¹This“feature“is“mean²!t“primarily“for“mošMÞdifying“the“rendering“of“ob‘›»jects“sp˜eci ed“in“T‘þ,³Ÿ[wEŽ‘B X“and‘X‘ü·ŸâÃYŽŽ‘€w-pic,Ž¡not–¦afor“draš²!wing“new“ob‘›»jects“within“ÕPostScript¹.‘ÝÛNo“guaran˜tee“can“bMÞe“giv˜en“of“the“curren˜t“loMÞcation,Ž¡or–8scale,‘N)whicš²!h“ma˜y“bMÞe“di eren˜t“with“di eren˜t“driv˜ers.‘¹Ho˜w˜ev˜er“a“go•MÞo“d–8ÕPostScript“¹programmer“willŽ¡bMÞe–’Yable“to“o•²!v“ercome›’Ysuc“h˜diculties˜and˜do˜m“uc“h˜more.‘×.T‘ÿeo˜aid˜in˜this˜the˜sp•MÞecial˜mo“di er˜Ï[psxy]Ž‘)¢®¹isŽŽŽŒ‹ôÛ£ Á à ý*tj‘㌹500’U1ÕÑCHAPTER‘¦f4.‘„CDRIVERSŽŽ ¶?? ýh«w‘㌹pro²!vided– Što“record“the“lošMÞcation“where“the“reference“p˜oinš²!t“of“the“curren˜t“Çh¹ob‘›»jectÇi“¹will“bMÞe“placed.‘LJItsޤ ™š‘ãŒcoMÞordinates–¦fare“stored“with“k²!eys“ÏxyXposŽ‘)Êȹand“ÏxyYposŽ‘&$b¹.ŽŸ ð‘ôŒWhen–¥the“Ï\specialŽ‘5š¹is“placed“the“folloš²!wing“registers“con˜tain“impMÞortan˜t“v‘ÿdDalues:‘Ò|Ï\L@pŽ‘`ɹ=“horizon˜talŽ¡‘ãŒdisplacemenš²!t–¬.of‘“ØX‘ü·ŸâÃYŽŽ‘8-pic“reference“pMÞoin˜t“from“the“T‘þ,³Ÿ[wEŽ‘B X“reference“pMÞoin˜t“(i.e.‘ï4left-hand“end“of“the“bMÞo˜x)“ofŽ¡‘ãŒthe–TÖinitial“ob‘›»ject;‘pÏ\D@pŽ‘Ĺ=“vš²!ertical“displacemen˜t“of‘<€X‘ü·ŸâÃYŽŽ‘ »à-pic“reference“pMÞoin˜t“from“the“T‘þ,³Ÿ[wEŽ‘B X“reference“pMÞoin˜tŽ¡‘ãŒ(i.e.‘¥Ethe–übaseline)“of“the“initial“ob‘›»ject;‘55Ï\R@pŽ‘0z¹=“horizon²!tal“o set,‘’resulting“from“Çh¹shapšMÞeÇi“¹mo˜di ers;‘55Ï\U@pŽŽ¡‘㌹=–¦fvš²!ertical“o set,“initially“Ï-\D@pŽ‘$ ¹but“alterable“b˜y“Çh¹shapšMÞeÇi“¹mo˜di ers.Ž©Pˆ‘ãŒÃ320Ž‘õŒÏ\xydef@\xyPSpsxy@{%ŽŽ¡‘ãŒÃ321Ž‘ûKÃÏ\setboxz@h{\dimen@=\L@p‘¿ª\advance\dimen@-\R@pŽŽ¡‘ãŒÃ322Ž‘ûKÃÏ\dimen@ii=-\U@p–¿ª\raise\dimen@ii\hbox“to\z@{%ŽŽ¡‘ãŒÃ323Ž‘ mÏ\kern\dimen@\xyPScurrpt@\kern-\dimen@}\boxz@}}%ŽŽ¦‘ãŒÃ325Ž‘õŒÏ\xydef@\xyPScurrpt@{\ifxyPSshapes@\expandafter\xyPScurrpt@@\fi}ŽŽŸ§‘ôŒ¹It–nÎis“necessary“to“knoš²!w“the“curren˜t“ÕPostScript“¹lošMÞcation.‘ËUUnfortunately“the“ÏcurrentpointŽ‘KÙ”¹op˜er-Ž¡‘ãŒator–¦ffrequenš²!tly“has“no“v‘ÿdDalue.‘ÝÝThe“follo˜wing“coMÞde“o˜v˜ercomes“this“dicult˜y‘ÿe.ŽŸ ð‘ôŒSome–¦fdrivš²!ers“ma˜y“need“to“de ne“this“di eren˜tly‘ÿe...ަ‘ãŒÃ335Ž‘õŒÏ\xydef@\xyPScurrpt@@@{\PSspecial@@{xyi}\PSraw@@{userdict–¿ªbegin“xyx“end}}ŽŽ¡‘ãŒÃ336Ž‘õŒÏ\ifx\undefined\xyPScurrpt@@–¿ª\xylet@\xyPScurrpt@@=\xyPScurrpt@@@“\fiŽŽ¦‘ãŒÃ338Ž‘õŒÏ%\xydef@\xyPScurrpt@@@{\PSspecial@@{userdict‘¿ªbeginŽŽ¡‘ãŒÃ339Ž‘õŒÏ%–¿ª0“0“transform“grestore“gsave“itransformŽŽ¡‘ãŒÃ340Ž‘õŒÏ%–¿ª/xyYpos“exch“def“/xyXpos“exch“def“end}}ŽŽ¦‘ãŒÃ342Ž‘õŒÏ%\xydef@\xyPScurrpt@@@{%ŽŽ¡‘ãŒÃ343Ž‘õŒÏ%–¿ª\PSspecial@@{0“0“transform“grestore“gsave“itransform“}%ŽŽ¡‘ãŒÃ344Ž‘õŒÏ%–¿ª\PSraw@@{userdict“begin“/xyYpos“exch“def“/xyXpos“exch“def“end}}ŽŽŸ§‘ôŒ¹The–-óÕPostScript“¹opšMÞerator“called“ÏxyxŽ‘šä¹is“de ned“b˜elo²!w,‘F for“storing“the“lo˜cation“placed“on“the“stac²!kŽ¡‘ãŒb²!y‘¦fÏxyiŽ‘åd¹.ŽŸÚ^‘ãŒÔT‘þó\ec¦thnical‘2NoteŽŸT ‘㌹:‘Î=The––scoping“is“ac•²!hiev“ed›–b“y˜using˜t“w“o˜Ï\specialsŽ‘=ú&¹so˜that˜the˜resulting˜ÕPostScript˜¹ le˜shouldŽ¡‘ãŒultimately–¦floMÞok“lik²!e:Ž‘ãŒŸŠî‰ffã²d© Û™‘`>~Ï...‘¿ª{Ž’€£6¹sp•MÞecial›¦fco“de˜b“eforeÏ}Ž– fÇh¹ob‘›»jectÇi˜Ï{Ž“¹sp•MÞecial˜co“de˜afterÏ}‘¿ª...ŽŽŽŸÑ`‰ffã²dŸž!–7¢¹The“\cošMÞde“after"“is“to“cancel“the“e ect,‘MÉreturning“the“graphics“state“to“what“it“w²!as“prior“to“the“\co˜deŽ¡bMÞefore".›öØNot–®ºall“D•²!VI-driv“ers–®ºcan“ac•²!hiev“e–®ºthis“sequencing.˜In“particular“O«éz‘þ[ŠT‘þ,³Ÿ[wEŽ‘B X“collects“all“Ï\specialsŽŽ¡¹in– ®the“Dš²!VI- le“and“places“their“con˜ten˜ts“at“the“bMÞeginning“of“the“ÕPostScript“¹ le:‘Òman˜y“e ect“w˜ouldŽ¡bšMÞe–¦fcancelled“immediately“after“it“has“b˜een“established.ŽŸ ð‘The–¦fuser“can“add“cošMÞde“to“b˜oth“parts“b²!y“expressing“the“Çh¹shap˜eÇi“¹mo˜di er“as“follo²!ws:ŽŸ&©‰ffã²d¦’– )Ï*¹.–Ó3.“.“Ï!Ž‘’ÝÇh¹co•MÞde›¦fb“eforeÇiÏ<>Ž‘ TÇh¹co“de˜afterÇiÏ]Ž‘¿ª¹.–Ó3.“.‘y™.ŽŽŸÑ`‰ffã²dŸ wŸÚ^ÔF–þó\urther›2T“ec¦thnical˜NoteŽŸT ¹:‘"The–þ \cošMÞde“b˜efore"“do˜es“t•²!w“o–þ things“in“addition“to“that“co˜de“givš²!en“explicitly“b˜y“the“user.‘äÅFirstly“itŽ¡issues–§]a“ÏgsaveŽ‘$ ¹then“it“opšMÞens“a“new“dictionary“on“the“dictionary“stac²!k.‘àÃThe“\co˜de“after"“con²!tains“theŽ¡matc²!hing‘¦fÏgrestoreŽ‘5J¹after–¦fclosing“the“new“dictionary‘ÿe.ŽŽŽŒ‹õë) Á à ý*tj‘ãŒÑ4.11.‘„CEXTRA–¦fFEA›ÿeTURES“WITH“ÕPostScript“ÑSUPPOR˜T’¯ÞH¹501ŽŽ ¶?? ýh«w‘ôŒSince–Žöob‘›»jects“can“bšMÞe“built“as“Ï\compositeŽ‘> š¹s“and“diagrams“can“b˜e“nested,‘Éthere“is“the“p˜ossibilit²!yޤ ™š‘ãŒof–"{generating“long“cš²!hains“of“nested“ÕPostScript“¹dictionaries.‘RF‘ÿeor“this“reason“the“dictionary“is“k˜eptŽ¡‘ãŒsmall,‘ãalloš²!wing–þÊonly“8“k˜ey-v‘ÿdDalue“pairs“to“bMÞe“ÏdefŽ‘=ȹined“within“it.‘ç If“more“are“required,‘ãthe“user“shouldŽ¡‘ãŒde ne–¢ãa“priv›ÿdDate“dictionary“to“hold“the“extra“k²!ey-v˜alue“pairs,‘âmaking“sure“that“it“is“opMÞen“when“itsŽ¡‘ãŒen²!tries–¦fneed“to“bMÞe“accessed.Ž©Pˆ‘ãŒÃ391Ž‘õŒÏ\xywarnifdefined\xyPSshapechar@ŽŽ¡‘ãŒÃ392Ž‘õŒÏ\xywarnifdefined\xyPSsplitshape@ŽŽ¦‘ãŒÃ394Ž‘õŒÏ{\xyuncatcodes‘¿ª\catcode`@=11ŽŽ¡‘ãŒÃ395Ž‘ûKÃÏ\gdef\xyPSshapechar@#1@@{\xyPSsplitshape@#1<><>@@}%ŽŽ¡‘ãŒÃ396Ž‘ûKÃÏ\gdef\xyPSsplitshape@#1<>#2<>#3@@{\xyPSsplitPS@{#1}{#2}}}ŽŽ¦‘ãŒÃ398Ž‘õŒÏ%\xydef@\xyPSsplitPS@#1#2{%\aftergroup\show\aftergroup\relaxŽŽ¡‘ãŒÃ399Ž‘õŒÏ%–¿ª\def\xyPSpre@{#1}\def\xyPSpost@{#2}\modPSboxz@“}ŽŽ¦‘ãŒÃ401Ž‘õŒÏ