÷ƒ’Ą;° TeX output 1996.11.12:1518‹’’’’ŸņŽ s żń’‘m\óņ"V cmbx10ĀPictures–ÕTin“T‘ž<Ÿ8ćEŽ‘3sX“with“ó+Œ-ų cmcsc10ÖMET‘’ AFµUONTŽ¤ ‘|léóßźŸ'EŽ‘ćxX“D˜VI‘7w les“eac˜h“ha˜v˜e“their“o˜wn“w˜a˜ys“to“includeŽ”pictures.‘mMore–žjoften“than“not,‘(®there“are“prošøćvisions“for“including“P˜ostScript“data“in˜to“aŽ”DšøćVI‘> le–>Ķusing“T‘žU>Ÿ'EŽ‘ćxX“Č\special«'s.‘..Ho˜w˜ev˜er,‘y*this“tec˜hnique“seems“far“from“T‘žU>Ÿ'EŽ‘ćxX's“ideal“ofŽ”device-indep•Gendence,›*Qand‘’¹b“esides,˜di erenšøćt–’¹T‘žU>Ÿ'EŽ‘ćxX“output“driv˜ers“handle“these“Č\special«'sŽ”in–UUdi erenšøćt“w˜a˜ys.‘qĒThe“same“problems“arise“with“including“Čtpic“\special«'s.Ž© „¬‘L‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX's–yČpicture“«en•øćvironmen“t–yhas“a“hopGelessly“limited“supply“of“aøćv‘’qĒailable“ob‘Ž8jects“toŽ”dra•øćw|if›UUy“ou˜w“an“t˜to˜dra“w˜a˜graph˜of˜a˜pGolynomial˜curv“e,˜y“ou're˜out˜of˜luc“k.Ž¦‘There–ņ@is,›zof“course,˜P‘žĢŠŸ'IŽ‘©DC‘žęfT‘žU>Ÿ'EŽ‘ćxX,“whicšøćh“is“w˜onderfully“ exible“and“general,‘zbut“its“mostŽ”obšøćvious–½feature“is“its“spGeed|or“rather“lac˜k“of“it.‘|žProGcessing“a“single“picture“in“P‘žĢŠŸ'IŽ‘©DC‘žęfT‘žU>Ÿ'EŽ‘ćxXŽ”can–UUoften“takšøće“sev˜eral“min˜utes.Ž¦‘It–v·ošGccurred“to“T‘’*Ŗom“that“it“mighøćt“b˜e“p˜ossible“to“takšøće“adv‘’qĒan˜tage“of“the“fact“that“ÖMET‘’ A«-Ž”ÖFµUONT–ŠĪ«is“Ļdesigne‘’}'d“«for“draøćwing“things.‘3The“result“of“pursuing“this“idea“is“Čmfpic«,‘˜-a“set“ofŽ”macros–Qéfor“T‘žU>Ÿ'EŽ‘ćxX“and“ÖMET›’ AFµUONT“«whicøćh“incorpGorate“ÖMET˜AFµUONT«-drašøćwn“pictures“in˜toŽ”a–UUT‘žU>Ÿ'EŽ‘ćxX“ le.Ž¦‘The–å”nature“of“the“macros,› ¤from“the“user's“pGoinøćt“of“view,˜is“všøćery“m˜uc˜h“lik˜e“P‘žĢŠŸ'IŽ‘©DC‘žęfT‘žU>Ÿ'EŽ‘ćxX.Ž”W‘’*Ŗe–ƾdo“not“pretend“that“Čmfpic“«has“anšøćything“lik˜e“the“scopGe“of“P‘žĢŠŸ'IŽ‘©DC‘žęfT‘žU>Ÿ'EŽ‘ćxX,“but“it“should“suitŽ”most–UUpurpGoses“for“drašøćwing“small“graphs“and“including“them“in“y˜our“T‘žU>Ÿ'EŽ‘ćxX“doGcumen˜ts.Ž¤KX·‘UUĻA¾“UTHOR.Ž”‘Čmfpic– ź«wšøćas“written“primarily“b˜y“T‘’*Ŗom“Leathrum“(Čmoth@bluejay.atl.ga.us«)“duringŽ¤ the–¤ late“(northern“hemisphere)“spring“and“summer“of“1992,‘·¹while“at“Dartmouth“College.Ž”Di eren•øćt›1²v“ersions˜w“ere˜bGeing˜written˜and˜tested˜for˜nearly˜t“w“o˜y“ears˜after˜that,‘hÉduringŽ”whicøćh–§“time“T‘’*Ŗom“ nished“his“Ph.D.“and“toGok“a“job“at“Berry“College,›Źnin“Rome,˜GA.“Bet•øćw“eenŽ”fall–Ē¼of“1992“and“fall“of“1993,‘äUm•øćuc“h–Ē¼of“the“dev•øćelopmen“t›Ē¼w“as˜carried˜out˜b“y˜others.‘ČūThoseŽ”who–UUhelpšGed“most“in“this“pro˜cess“are“credited“in“the“Ac•øćkno“wledgemen“ts.Ž¤KX·‘UUĻMANIFEST.Ž”‘«Eighøćteen–UU les“are“included“in“this“Čmfpic“«alfa“test“distribution:ŽŸ„¬‘ČAcknowl.texŽ‘jÕ,«Some–UUpšGeople“whose“wøćork“has“help˜ed“ČmfpicŽŽ¤ ‘CHANGES.texŽ‘jÕ,«History–UUof“cøćhanges“to“ČmfpicŽŽ”‘CTAN.sitesŽ‘jÕ,«A–UUlist“of“CT‘’*ŖAN“sites,“mirrors“and“shadoøćwsŽŽ”‘ČMANIFESTŽ‘jÕ,«List–UUof“these“ les,“with“sizes“and“datesŽŽ”‘ČMakefile.distŽ‘jÕ,«Distribution‘UUMakøće leŽŽ”‘ČNOTEŽ‘jÕ,«Some‘UUconcernsŽŽ”‘ČREADME2Ž‘jÕ,«An›UUo•øćv“erview˜of˜this˜distributionŽŽŽŸ’Į;1ŽŒ‹*ŸņŽ s żń’‘Čgrafbase.mfŽ‘jÕ,«The–UUÖMET‘’ AFµUONT“«macrosŽŽ¤ ‘Čgrafdoc.texŽ‘jÕ,«Plain–UUT‘žU>Ÿ'EŽ‘ćxXdoGcumenøćtation“for“Čgrafbase.mfŽŽ”‘header.texŽ‘jÕ,«De nitions–UUused“in“the“doGcumenøćtation“ lesŽŽ”‘Člapictures.texŽ‘jÕ,«A–UUL‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX2e“vøćersion“of“Čpictures.texŽŽ”‘mf-revu.texŽ‘jÕ,«A›UUsk•øćetc“h“y˜review˜of˜ÖMET‘’ AFµUONT˜«programmingŽŽ”‘Čmfpic.texŽ‘jÕ,«The–UUT‘žU>Ÿ'EŽ‘ćxX“macrosŽŽ”‘Čmfpic-IS.gtŽ‘jÕ,«Brief–UUexplanation“of“what“MFpic“is“and“doGesŽŽ”‘Čmfpicdoc.texŽ‘jÕ,«This–UUdošGcumenøćt,“pro˜cessable“in“plain“T‘žU>Ÿ'EŽ‘ćxXŽŽ”‘Čobjects.texŽ‘jÕ,«Conšøćtains–UUat“least“one“picture“of“eac˜h“ob‘Ž8jectŽŽ”‘Čpictures.texŽ‘jÕ,«A–UUfew“more“complicated“picturesŽŽ”‘Čskip-pix.texŽ‘jÕ,«T‘’*Ŗests–UUe ect“of“T‘žU>Ÿ'EŽ‘ćxX's“Č\leftskipŽŽ©I6‘«Information–Son“hoøćw“to“set“up“a“few“spGeci c“con gurations“of“computers,‘F’and“someŽ”conøćtributed–UUcošGde“and“ÖMET‘’ AFµUONT“«do˜cumenšøćtation,“are“separately“a˜v‘’qĒailable.Ž¦·‘UUĻSETTING–“ēUP“and“PR¾“OCESSING.Ž¦‘«Setting–ż÷up“T‘žU>Ÿ'EŽ‘ćxX“and“ÖMET‘’ AFµUONT“«to“proGcess“these“ les“will,›( to“an“extenøćt,˜depGendŽ”on–š¼yšøćour“loGcal“installation.‘AżThe“biggest“problem“y˜ou“are“lik˜ely“to“ha˜v˜e,‘¬regardless“of“y˜ourŽ”installation,‘3+will–* bGe“conšøćvincing“T‘žU>Ÿ'EŽ‘ćxX“and“its“output“driv˜ers“to“ nd“ÖMET‘’ AFµUONT«'s“outputŽ” les.Ž© ¤›‘T‘’*Ŗo–†1proGcess“the“sample“ le,‘’h rst“run“T‘žU>Ÿ'EŽ›ćxX“on“the“sample“ le“Čpictures.tex«.‘\T‘žU>Ÿ'EŽ˜X“willŽ”complain–$²that“it“can't“ nd“the“ le“Čpics.tfm«,‘.lbut“will“con•øćtin“ue–$²proGcessing“the“ le“an•øćyw“a“y‘’*Ŗ.Ž”When–©½the“ le“is“ nished“proGcessing,‘¾Öyšøćou“will“no˜w“ha˜v˜e“a“ le“called“Čpics.mf«.‘nžThis“is“theŽ”ÖMET‘’ AFµUONT–Ō« le“conøćtaining“the“descriptions“of“the“pictures“for“Čpictures.tex«.‘F°Y‘’*Ŗou“needŽ”to–run“ÖMET›’ AFµUONT“«on“Čpics.mf«,‘Iüwith“Č\mode=localfont“«set“up.‘¼ņ(Read“yøćour“ÖMET˜A«-Ž”ÖFµUONT–²Į«manšøćual“to“see“ho˜w“to“do“this.)‘Š No˜w“that“y˜ou“ha˜v˜e“the“fon˜t“and“fon˜t“metric“ lesŽ”generated–«bøćy“ÖMET‘’ AFµUONT«,“reproGcess“the“ le“Čpictures.tex“«with“T‘žU>Ÿ'EŽ‘ćxX.“The“resultingŽ”DšøćVI‘Hū le–I:should“no˜w“bGe“complete,‘†3and“y˜ou“should“bGe“able“to“prin˜t“and“view“it“at“y˜ourŽ”computer–‚ (assuming“yšøćour“view˜er“and“prin˜t“driv˜er“ha˜v˜e“bšGeen“set“up“to“b˜e“able“to“ nd“theŽ”fonšøćt–UUgenerated“b˜y“Čpics.mf«).Ž¦‘These–}¾three“steps“of“pro•Gcessing|pro“cessing–}¾with“T‘žU>Ÿ'EŽ‘ćxX,“proGcessing“with“ÖMET‘’ AFµUONT«,Ž”and–šLreproGcessing“with“T‘žU>Ÿ'EŽ‘ćxX|mašøćy“not“alw˜a˜ys“bGe“necessary‘’*Ŗ.‘PIn“particular,‘if“y˜ou“c˜hange“theŽ”T‘’*ŖeX‘Ö1doGcumenšøćt–ÖRwithout“making“an˜y“c˜hanges“at“all“to“the“pictures,‘ö‘then“there“will“bGe“noŽ”need–UUto“repGeat“either“of“the“last“t•øćw“o‘UUsteps.Ž¦‘There–dśis“also“a“somewhat“subtle“circumstance“under“whicšøćh“y˜ou“can“skip“the“thirdŽ”step|if–ųäyšøćou“c˜hange“the“picture“in“suc˜h“a“w˜a˜y“as“Ļnot“«to“a ect“the“fon˜t“metric“ le,‘ athen“y˜ouŽ”do–N~not“ha•øćv“e–N~to“reprošGcess“with“T‘žU>Ÿ'EŽ‘ćxX,“b˜ecause“the“original“metric“used“for“the“ rst“step“willŽ”put–bthe“pictures“in“the“righšøćt“places.‘W!The“only“Čmfpic“«macros“that“a ect“the“fon˜t“metric“ leŽ”are–UUthe“macros“listed“in“the“ó!p®0J cmsl10ĢFiles“and“En•øćvironmen“ts–UU«section“bGeloøćw.Ž¤I6·‘UUĻHO¾“W–“ēIT“WORKS.Ž”‘«When–myøćou“run“T‘žU>Ÿ'EŽ›ćxX“on“the“ le“Čpictures.tex«,‘#ĻT‘žU>Ÿ'EŽ˜X“generates“a“ le“Čpics.mf«.‘]$This“ leŽ¤ is–@Īformed“bšøćy“Č\write“«commands“in“the“Čmfpic“«macros.‘jļThe“user“should“nev˜er“ha˜v˜e“to“readŽ”or–UUcšøćhange“the“ le“Čpics.mf“«directly|the“Čmfpic“«macros“tak˜e“care“of“it.Ž¦‘Be–k"prepared“for“o•øćv“erfull›k"h“bGo“xes,‘p–due˜to˜the˜fact˜that˜in˜Čpictures.tex˜«the˜diagrams'ŽŽŸ’Į;2ŽŒ‹܍ŸņŽ s żń’Č\tcaption«'s–UUare“delibšGerately“to˜o“wide“for“the“sp˜eci ed“widths“of“the“Č\mfpic“«pictures.Ž© RM‘The–0Cuser“familiar“with“ÖMET‘’ AFµUONT“«will“notice,‘fžbøćy“loGoking“at“the“Čmfpic“«macros,Ž¤ that–l³the“Čmfpic“«drašøćwing“macros“translate“almost“directly“in˜to“simple“ÖMET‘’ AFµUONT“ČdrawŽ”«commands.‘žThe–Ł’Č\tlabel«'s“and“Č\tcaption«'s,›ś¢ho•øćw“ev“er,˜are–Ł’placed“on“the“graph“bøćy“T‘žU>Ÿ'EŽ‘ćxX,Ž”not‘UUÖMET‘’ AFµUONT«.Ž¦‘Multiline–}^tlabšGels“maøćy“b˜e“sp˜eci ed“bšøćy“explicit“line“breaks,‘‡awhic˜h“are“indicated“b˜y“theŽ”Č\\‘UU«command.Ž¤¤š·‘UUĻTHE‘“ēMA•¾“CR“OS.Ž”·‘UUĻBewar‘’}'e!Ž¦‘«Due–‰œto“the“currenšøćt“methoGd“b˜y“whic˜h“line“breaks“in“the“T‘žU>Ÿ'EŽ‘ćxX‘‰ le“are“preserv˜ed“in“theŽ¤ ÖMET‘’ AFµUONT‘^Ž« le,‘aDit–^įis“necessary“to“commence“the“argumenøćt“of“a“command“on“the“sameŽ”line–UUas“the“command,“for“example“THIS“wøćorks:Ž¦‘Č\cyclic–UU{“«pšGoinøćt1,“p˜oinøćt2“Č}Ž¦«AS–UUdoGes“this:Ž¦‘Č\cyclic–UU{“«pGoinøćt1,Ž¦‘0sēpGoinøćt2‘UUČ}Ž¦«AND‘UUthis:Ž¦‘Č\cyclic‘UU{Ž¦‘0sē«pGoinøćt1,Ž¦‘0sēpGoinøćt2‘UUČ}Ž¦«BUT› -this– @doGes“NOT˜(it“causes“the“whole“argumenøćt“to“bGe“omitted“from“the“ÖMET‘’ AFµUONTŽ”« le)‘UU:Ž¦‘Č\cyclicŽ¦‘0sē{‘UU«pGoinøćt1,Ž¦‘0sēpGoinøćt2‘UUČ}ŽŸöē·‘UUĻFiles–“ēand“Envir‘’}'onments.ŽŸ¤šČ\opengraphsfile{·hĻfont·iČ}ó  b> cmmi10±:–ŖØ:“:Ž‘ Ŗ§Č\closegraphsfileŽ¦‘«These–×3macros“opGen“and“close“the“ÖMET‘’ AFµUONT‘׫ le“whicšøćh“will“con˜tain“the“picturesŽ”to–UŸbšGe“included“in“this“do˜cumenøćt.‘r¦The“name“of“the“ le“will“b˜e“·hĻfont·iČ.mf«.‘r¦If“the“·hĻfont·iŽ”«parameter–UUis“cšøćhanged,“y˜ou“will“ha˜v˜e“to“reprošGcess“the“T‘žU>Ÿ'EŽ‘ćxX“ le“after“pro˜cessing“·hĻfont·iČ.mf«.ŽŸ¤šČ\mfpic[·hĻxsc–’}'ale·iČ][·hĻysc“ale·iČ]{·hĻxne“g·iČ}{·hĻxp“os·iČ}{·hĻyne“g·iČ}{·hĻyp“os·iČ}±:–ŖØ:“:Ž‘ Ŗ§Č\endmfpicŽ¦‘«These–\?macros“opGen“and“close“the“Čmfpic“«en•øćvironmen“t–\?in“whicøćh“the“rest“of“the“macrosŽ”bGelo•øćw›Nšmak“e˜sense.‘^™The˜Č\mfpic˜«macro˜also˜sets˜up˜the˜lo•Gcal˜co“ordinate˜system˜for˜theŽ”picture.‘ ¼The–dü·hĻxsc›’}'ale·i“«and“·hĻysc˜ale·i“«parameters“establish“the“length“of“a“coGordinate“sys-Ž”tem–®unit,‘Ä,as“a“mšøćultiple“of“the“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\mfpicunit«.‘{ĢA˜t“least“one“scale“parameterŽ”møćust–‡bšGe“sp˜eci ed,‘@“but“if“only“one“is“sp˜eci ed,‘@“then“they“are“assumed“to“b˜e“equal.‘¦]TheŽ”·hĻxne›’}'g·i–•D«and“·hĻxp˜os·i“«parameters“establish“the“lo•øćw“er–•Dand“uppšGer“(resp.)‘1•b˜ounds“for“the“±x«-Ž”axis–ģ coGordinates;‘7dsimilarly‘’*Ŗ,‘¶·hĻyne›’}'g·i“«and“·hĻyp˜os·i“«establish“the“bGounds“for“the“±y[Ł«-axis.‘5äTheseŽ”bšGounds–²óare“expressed“in“lo˜cal“units|in“other“wøćords,‘ŹZthe“actual“width“of“the“picture“willŽ”bGe›ž+(·hĻxp–’}'os·ihĻxne“g·i«)·hĻxsc“ale·i˜«times˜Č\mfpicunit«,‘š`its˜heighøćt˜(·hĻyp“os·ihĻyne“g·i«)·hĻysc“ale·i˜«timesŽ”Č\mfpicunit«,‘yÕand–rˆits“depth“zero.‘ÉaThese“scales“and“bGounds“are“used“primarily“to“establishŽ”the–Ėümetric“for“the“cšøćharacter“con˜taining“the“picture“describGed“within“the“en˜vironmen˜t.‘Õ½IfŽŽŸ’Į;3ŽŒ‹ŒŸņŽ s żń’«anšøćy–h>of“these“parameters“are“c˜hanged,›lųthe“·hĻfont·iČ.tfm“« le“will“bGe“a ected,˜so“yšøćou“will“ha˜v˜eŽ© to–UUreprošGcess“the“T‘žU>Ÿ'EŽ‘ćxX“ le“after“pro˜cessing“·hĻfont·iČ.mf«.Ž¤·‘UUĻUsing–“ēČmfpic“Ļwith“«L‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxXĻ.Ž”‘«In–H“L‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX,“instead“of“using“the“Č\mfpic“«and“Č\endmfpic“«macros,‘K yšøćou“ma˜y“prefer“to“useŽ¦Č\begin{mfpic}–Ķ;«and“Č\end{mfpic}«.‘ŁzDue“to“the“w•øća“y–Ķ;that“L‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX“has“bGeen“designed,‘ė5Č\be-Ž¦gin{command}–ö=«e ectivšøćely“means“Č\command«,‘wand“Č\end{command}“«e ectiv˜ely“means“Č\end-Ž¦command«,–UUfor“anøćy“T‘žU>Ÿ'EŽ‘ćxX“command.Ž”‘A–UUL‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX“všøćersion“of“the“sample“ le,“Člapictures.tex«,“has“also“bGeen“pro˜vided.ŽŸ ‘Be–øjprepared“for“o•øćv“erfull›øjh“bGo“xes,‘Ń/due˜to˜the˜fact˜that˜the˜diagrams'˜Č\tcaption«'s˜areŽ¦delib•Gerately›UUto“o˜wide˜for˜the˜sp“eci ed˜widths˜of˜the˜Č\mfpic˜«pictures.Ž”‘Note–”.that“the“Č\opengraphsfile“«and“Č\closegraphsfile“«macros“should“bGe“used“un-Ž¦der–äthose“names“in“L‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX“tošGo,‘/ˆas“they“do“not“quite“p˜ossess“a“Č\command±:–ŖØ:“:Ž‘ Ŗ§Č\endcommandŽ¦«structure.Ž”‘This–UUvšøćersion“of“Čmfpic“«should“bGe“compatible“with“the“LaT‘’*ŖeX“Čcenter“«en˜vironmen˜t.ŽŸ‘The–8”rest“of“the“Čmfpic“«macros“do“not“a ect“the“fonøćt“metric“ le“(·hĻfont·iČ.tfm«),‘>_and“so“ifŽ¦these–\$commands“are“cšøćhanged“or“added“in“y˜our“doGcumen˜t,‘]×y˜ou“will“not“ha˜v˜e“to“repGeat“theŽ¦third–UUstep“of“prošGcessing“(repro˜cessing“with“T‘žU>Ÿ'EŽ›ćxX)“to“complete“yøćour“T‘žU>Ÿ'EŽ˜X“doGcumenøćt.Ž”‘F‘’*Ŗor–äthe“remainder“of“the“macros,‘athe“nøćumerical“parameters“are“expressed“in“the“unitsŽ¦of–UUthe“lošGcal“co˜ordinate“system“sp˜eci ed“bøćy“Č\mfpic«,“unless“otherwise“indicated.Ž”·‘UUĻFigur‘’}'es.Ž”‘ÖMET‘’ AFµUONT‘UUĢPøćairs.Ž”‘«Since–īmanšøćy“of“the“argumen˜ts“of“the“Čmfpic“«dra˜wing“commands“are“sen˜t“to“ÖMET‘’ A«-Ž¦ÖFµUONT–UU«to“bGe“inšøćterpreted,“it's“useful“to“kno˜w“something“abGout“ÖMET‘’ AFµUONT“«concepts.Ž¤ ‘In–Œuparticular,›š<ÖMET‘’ AFµUONT‘Œf«has“Čpair“«ob‘Ž8jects,˜whicšøćh“ma˜y“bGe“constan˜ts“or“v‘’qĒariables.Ž¦P•øćair›V/constan“ts˜ha“v“e˜the˜form˜Č(±xČ,±y[ŁČ)«.‘tVP“airs˜are˜t“w“o-dimensional˜rectangular˜(cartesian)Ž¦quanšøćtities,–UUand“are“clearly“useful“for“represen˜ting“bšGoth“p˜oinšøćts“and“v˜ectors“on“the“plane.Ž”‘T‘’*Ŗo–¦*shorten“the“descriptions“of“Čmfpic“«macros,‘ŗ`wšøće“herein“often“represen˜t“eac˜h“pair“b˜yŽ¦a–Œmbrief“name,›š3sucøćh“as“±p«,˜±v‘čF«or“±c«,˜the“meanings“of“whicšøćh“are“usually“ob˜vious“in“the“con˜textŽ¦of–Éthe“macro.‘WīThe“succinctness“of“this“notation“also“helps“us“to“think“geometrically“ratherŽ¦than–UUonly“of“coGordinates.Ž¤‘ĢP•øćoin“ts,–UULines,“and“Rectangles.Ž”Č\point[·hĻptsize·iČ]‘UU«[·h±pŸ’óŁ“ Rcmr7®0Ž–|s·i«,·h±pŸ’®1Ž“·i«,±:–ŖØ:“:Ž‘ Ŗ§«]ŽŸ ‘Drašøćws–_small“disks“cen˜tered“at“the“pGoin˜ts“·h±pŸ’®0Ž–|s·i«,›E·h±pŸ’®1Ž“·i«,˜and–_so“on.‘«If“the“optional“argumenøćtŽ¦·hĻptsize·i–Ų+«is“presenøćt,›ń3it“determines“the“diameter“of“the“disks,˜whicøćh“otherwise“equals“the“T‘žU>Ÿ'EŽ‘ćxXŽ¦dimension–šČ\pointsize«.›w™The“default“v‘’qĒalue“of“Č\pointsize“«is“2“pGoinøćts.˜The“disks“ha•øćv“e‘šaŽ¦ lled–UUinšøćterior“if“Č\pointfilled“«is“true,“otherwise“their“in˜terior“is“erased.Ž”Č\polyline{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ,±:–ŖØ:“:Ž› Ŗ§Č}‘UU\lines{·h±pŸ’®0Ž“·iČ,·h±pŸ’®1Ž“·iČ,±:–ŖØ:“:Ž˜Č}ŽŸ ‘«Drašøćws–«×the“line“segmen˜t“with“endpGoin˜ts“at“·h±pŸ’®0Ž›|s·i“«and“·h±pŸ’®1Ž˜·i«,‘Įwthen“the“line“segmenøćt“withŽ¦endpGoinøćts–Ń.at“·h±pŸ’®1Ž›|s·i“«and“·h±pŸ’®2Ž˜·i«,‘ėœetc.‘EŗThe“result“is“an“opšGen“p˜olygonal“path“through“the“sp˜eci edŽŽŸ’Į;4ŽŒ‹+8ŸņŽ s żń’«pšGoinøćts,–UUin“the“sp˜eci ed“order.Ž¤Č\polygon{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ,±:–ŖØ:“:Ž‘ Ŗ§Č}–UU«Drašøćws“a“closed“pGolygon“with“v˜ertices“at“the“spšGeci ed“p˜oinøćts.Ž”Č\rect{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ}Ž© ‘«Drašøćws–‡ethe“rectangle“spGeci ed“b˜y“the“pGoin˜ts“·h±pŸ’®0Ž›|s·i“«and“·h±pŸ’®1Ž˜·i«,‘°•these“bGeing“anšøćy“t˜w˜o“oppGositeŽŸ corners–UUof“the“rectangle.Ž”‘ĢAxes–UUand“Axis“Marks.Ž”Č\axesŽ¦‘«Draøćws–ÅMthe“±x“«and“±y‘!&«axes“for“the“coGordinate“system.‘AÅThe“axes“extend“the“full“width“andŽ¤ heighšøćt–% of“the“Čmfpic“«en˜vironmen˜t.‘aµThe“length“of“the“arro˜whead“on“eac˜h“axis“is“determinedŽ”bšøćy–ɋthe“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\axisheadlen«.‘C/The“default“v‘’qĒalue“of“Č\axisheadlen“«is“5“pGoin˜ts.‘C/TheŽ”shapGe–UUof“the“arroøćwhead“is“determined“as“in“the“Č\arrow“«macro.ŽŸČ\xmarks{·h±xŸ’®0Ž–|s·iČ,·h±xŸ’®1Ž“·iČ,±:–ŖØ:“:Ž› Ŗ§Č}–UU«and“Č\ymarks{·h±yŸ’®0Ž–|s·iČ,·h±yŸ’®1Ž“·iČ,±:–ŖØ:“:Ž˜Č}Ž¦‘«These–ļmacros“place“hash“marks“on“the“±x“«and“±y‘KZ«axes“(resp.)‘OÖat“the“places“indicated“bøćyŽ”the–|Jv‘’qĒalues“in“the“list.‘ę§The“length“of“the“hash“marks“is“determined“bøćy“the“T‘žU>Ÿ'EŽ‘ćxX“dimensionŽ”Č\hashlen«.‘qĒThe–UUdefault“v‘’qĒalue“of“Č\hashlen“«is“4“pGoinøćts.Ž¤‘ĢCircles–UUand“Ellipses.Ž”Č\circle{·h±c·iČ,·h±rG·iČ}Ž¦‘«Drašøćws–UUa“circle“cen˜tered“at“the“pGoin˜t“·h±c·i“«and“with“radius“·h±rG·i«.Ž”Č\ellipse[·h±G·iČ]{·h±c·iČ,·h±rŸ’ó 0e—rcmmi7“xŽ‘ä·iČ,·h±rŸ’“yŽ‘Ī‡·iČ}Ž¦‘«Drašøćws–āMan“ellipse“with“the“±x“«radius“·h±rŸ’“xŽ‘ä·i“«and“±y‘>&«radius“·h±rŸ’“yŽ‘Ī‡·i«,‘E‹cen˜tered“at“the“pGoin˜tŽ¤ ·h±c·i«.‘Œ0The–³xoptional“parameter“·h±G·i“«prošøćvides“a“w˜a˜y“of“rotating“the“ellipse“b˜y“·h±G·i“«degreesŽ”coun•øćtercloGc“kwise–UUaround“its“cenøćter.Ž¤‘ĢCurvøćes.Ž”Č\curve{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ,±:–ŖØ:“:Ž‘ Ŗ§Č}Ž¦‘«Drašøćws–[ėa“ÖMET‘’ AFµUONT“«B˜‘ūGezier“path“through“the“spšGeci ed“p˜oinøćts,‘Ķin“the“sp˜eci ed“order.Ž”Č\cyclic{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ,±:–ŖØ:“:Ž‘ Ŗ§Č}Ž¦‘«Drašøćws–LÜa“cyclic“(i.e.,‘NŽclosed)“ÖMET‘’ AFµUONT“«B˜‘ūGezier“curv˜e“through“the“spšGeci ed“p˜oinøćts,ŽŸ in–UUthe“spGeci ed“order.Ž”‘ĢCircular‘UUArcs.Ž”Č\arc[·hĻformat·iČ]{±:–ŖØ:“:Ž‘ Ŗ§Č}Ž¦‘«Drašøćws–>Sa“circular“arc“spGeci ed“as“determined“b˜y“the“·hĻformat·i“«optional“parameter|Ž¤ this–Umacro“is“unøćusual“in“that“the“optional“·hĻformat·i“«parameter“determines“the“format“ofŽ”the–UUother“parameter,“as“indicated“bGeloøćw:ŽŸČ\arc[s]{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ,·hĻswe‘’}'ep·iČ}Ž¦‘«(ĻPoint-Swe‘’}'ep–܄F‘’;¼orm“|this“is“the“default“format.«)‘^‘Draøćws–¤Ca“circular“arc“starting“fromŽ”the–h7pšGoinøćt“·h±pŸ’®0Ž‘|s·i«,‘¬ļending“at“the“p˜oinšøćt“·h±pŸ’®1Ž‘|s·i«,‘¬ļand“co˜v˜ering“an“arc“angle“of“·hĻswe‘’}'ep·i“«degrees,Ž”measured› žcoun•øćtercloGc“kwise˜around˜the˜cen“ter˜of˜the˜circle.‘YŠIf,–)for˜example,“the˜pGoinøćts˜·h±pŸ’®0Ž‘|s·iŽ”«and–åō·h±pŸ’®1Ž›|s·i“«lie“on“a“horizonøćtal“line“with“·h±pŸ’®0Ž˜·i“«to“the“left,‘ and“·hĻswe‘’}'ep·i“«is“bGet•øćw“een–åō0“and“180Ž”(degrees),‘Õthen–»the“cenøćter“of“the“circle“will“bšGe“ab˜o•øćv“e–»the“horizonøćtal“line“(in“order“for“theŽŽŸ’Į;5ŽŒ‹:“ŸņŽ s żń’«angle–čto“bšGe“coun•øćterclo˜c“kwise).‘)ÓNegativ“e–čv‘’qĒalues“of“·hĻswe‘’}'ep·i“«givøće“arcs“curving“in“the“otherŽ¤ direction.Ž©—¼Č\arc[t]{·h±pŸ’®0Ž–|s·iČ,·h±pŸ’®1Ž“·iČ,·h±pŸ’®2Ž“·iČ}ŽŸ KŽ‘«(ĻThr–’}'e“e-Point‘ŠŅF‘’;¼orm.«)‘–ņDrašøćws–a¹the“circular“arc“whic˜h“passes“through“all“three“pGoin˜tsŽ”givøćen.Ž¦Č\arc[p]{·h±c·iČ,·h±rG·iČ,·h±Ÿ’®1Ž–|s·iČ,·h±Ÿ’®2Ž“·iČ}ŽŸ KŽ‘«(ĻPolar‘Ž0F‘’;¼orm.«)‘dDrašøćws–¦the“circular“arc“with“cen˜ter“·h±c·i“«and“radius“·h±rG·i«,‘ŗDstarting“at“theŽ”angle–/U·h±Ÿ’®1Ž›|s·i“«and“ending“at“the“angle“·h±Ÿ’®2Ž˜·i«,‘6ļwhere“bšGoth“angles“are“measured“coun•øćterclo˜c“kwiseŽ”from–UUthe“pGositivøće“±x“«axis.Ž¦Č\arc[c]{·h±c·iČ,·h±pŸ’®1Ž‘|s·iČ,·h±G·iČ}ŽŸ KŽ‘«(ĻCenter-Point‘MüF‘’;¼orm.«)‘ŠDrašøćws–˜the“circular“arc“with“cen˜ter“·h±c·i«,‘R)starting“at“the“pGoin˜tŽ”·h±pŸ’®1Ž‘|s·i«,‘)Ÿand–’*swšøćeeping“an“angle“of“·h±G·i“«around“the“cen˜ter“from“that“pGoin˜t.‘oE(This“is“actuallyŽ”Čmfpic«'s–¹?inšøćternal“w˜a˜y“of“handling“arcs|all“other“formats“are“translated“to“this“formatŽ”bGefore‘UUdraøćwing.)Ž¦‘ĢPøćolar‘UUCoGordinates.Ž¦Č\plr{(·h±rŸ’®0Ž–|s·iČ,·h±Ÿ’®0Ž“·iČ),›?ż(·h±rŸ’®1Ž“·iČ,·h±Ÿ’®1Ž“·iČ),˜±:–ŖØ:“:Ž‘ź¤Č}ŽŸ KŽ‘«Replaces–v{the“spšGeci ed“list“of“p˜olar“co˜ordinate“pairs“bšøćy“the“equiv‘’qĒalen˜t“list“of“rectangularŽ”(cartesian)–ó½cošGordinate“pairs.‘MThrough“Č\plr«,‘Wcommands“designed“for“rectangular“co˜ordi-Ž”nates–mdcan“bšGe“applied“to“data“represenøćted“in“p˜olar“co˜ordinates|and“to“data“conøćtainingŽ”bšGoth–UUrectangular“and“p˜olar“co˜ordinate“pairs.Ž¦‘ĢOther‘UUFigures.Ž¦Č\turtle{·h±pŸ’®0Ž–|s·iČ,·h±vŸ’®1Ž“·iČ,·h±vŸ’®2Ž“·iČ,±:–ŖØ:“:Ž‘ Ŗ§Č}ŽŸ KŽ‘«Drašøćws–ja“line“segmen˜t,‘u/starting“from“the“pGoin˜t“·h±pŸ’®0Ž‘|s·i«,‘u/and“extending“along“the“(2-Ž”dimensional–@Nvšøćector)“displacemen˜t“·h±vŸ’®1Ž‘|s·i«.‘2±It“then“dra˜ws“a“line“segmen˜t“from“the“previousŽ”segmen•øćt's›āŖendpGoin“t,‘ł™along˜displacemen“t˜·h±vŸ’®2Ž‘|s·i«.‘KŽThis˜proGcess˜con“tin“ues˜for˜all˜listed˜displace-Ž”menøćts,–UUsimilarly“to“\turtle“graphics".Ž¦Č\sector{·h±c·iČ,·h±rG·iČ,·h±Ÿ’®1Ž–|s·iČ,·h±Ÿ’®2Ž“·iČ}ŽŸ KŽ‘«Draøćws– Xthe“sector,‘$from“the“angle“·h±Ÿ’®1Ž›|s·i“«to“the“angle“·h±Ÿ’®2Ž˜·i“«inside“the“circle“with“cenøćter“atŽ”the–išpšGoinøćt“·h±c·i“«and“radius“·h±r˜·i«,‘owhere“b˜oth“angles“are“measured“in“degrees“coun•øćterclo˜c“kwiseŽ”from–UUthe“direction“parallel“to“the“±x“«axis.‘qĒThe“sector“forms“a“closed“path.Ž¦·‘UUĻShap–’}'e-Mo“di er‘“ēMacr“os.Ž¦‘«Some– †Čmfpic“«macros“opGerate“as“Ļshap–’}'e-mo“di er– †«macros|for“example,‘9if“yšøćou“w˜an˜t“toŽ”put–ēan“arrošøćwhead“on“a“line“segmen˜t,‘F y˜ou“could“write:‘ņėČ{\arrow\lines{(0,0),(1,0)}}«.Ž”The–ÆNexample“illustrates“t•øćw“o–ÆNmoGdi ers“that“are“Ļswitches«;‘ÜKthese“apply“from“when“they“areŽ”used–æŌunøćtil“the“end“of“the“innermost“enclosing“T‘’*ŖeX‘æ®scopšGe.‘?ņAll“but“one“of“the“Čmfpic“«mo˜di erŽ”macros–UUare“describGed“here.ŽŸ KŽ‘F‘’*Ŗor–Athe“purpšGoses“of“these“macros,‘G¼a“distinction“møćust“b˜e“made“in“the“ gure“macrosŽ”bšGet•øćw“een–xD\op˜en"“and“\closed"“paths.‘Ś“Note“that“a“path“that“merely“returns“to“its“startingŽ”pGoinšøćt–“Dis“Ļnot“«automatically“closed;‘ć¼suc˜h“a“path“is“opGen,‘Ģand“m˜ust“bGe“explicitly“closed,‘ĢforŽ”example–ŁĆbšøćy“Č\closed“«(see“bGelo˜w).‘H—(On“the“ÖMET‘’ AFµUONT‘Ł¤«lev˜el,‘ņzpath“closure“is“ac˜hiev˜ed“b˜yŽŽŸ’Į;6ŽŒ‹HŸņŽ s żń’«some–ŠĄv‘’qĒarianøćt“of‘ ½Č..cycle«).‘äThe“(already)“closed“paths“are:‘hČ\rect«,–ļšČ\circle«,“Č\ellipse«,Ž© Č\cyclic«,–UUČ\plrregion“«and“Č\btwnfcn“«(bGeloøćw).Ž¤ˆ‘ĢClosure–UUof“Pøćaths.Ž”Č\lclosedŽŸ DH‘«Mak•øćes›tčeac“h˜opGen˜path˜in“to˜a˜closed˜path˜b“y˜adding˜a˜line˜segmen“t˜bGet“w“een˜the˜end-Ž¦pGoinøćts–UUof“the“path.Ž”Č\bclosedŽ¦\sclosedŽ¦\cbclosedŽŸ DH‘«These–¼µmacros“are“similar“to“Č\lclosed«,‘except“that“they“close“eacšøćh“opGen“path“b˜yŽ¦drašøćwing–ēva“B˜‘ūGezier,‘ žor“a“smoGoth“curv˜e“(as“in“the“smoGoth“case“in“the“Č\curve“«macro),‘ žor“aŽ¦cubic–UUB-spline,“respšGectivøćely‘’*Ŗ,“b˜et•øćw“een–UUthe“path's“endp˜oinøćts.Ž”‘ĢRev•øćersal,›UUAccum“ulation˜and˜Connection˜of˜P“aths.Ž”Č\reverse±:–ŖØ:“:ŽŽŸ DH‘«T‘’*Ŗurns–la“path“around,‘±Ērevšøćersing“its“orien˜tation.‘¶ This“will“a ect“bGoth“the“directionŽ¦of–lŒarrošøćws“(e.g.“bi-directional“arro˜ws“can“bšGe“co˜ded“with“Č\arrow\reverse\arrow±:–ŖØ:“:Ž‘3«|hereŽ¦the–ßī rst“Č\arrow“«mošGdi er“applies“to“the“Ļr–’}'everse“d–ßī«path),‘”and“the“order“of“endp˜oinøćts“for“aŽ¦Č\connect±:–ŖØ:“:Ž‘ Ŗ§Č\endconnect›UU«en•øćvironmen“t˜(bGelo“w).Ž”Č\patharr{·hĻpv·iČ}±:–ŖØ:“:Ž‘ Ŗ§Č\endpatharrŽ¤ DH‘«This–“pair“of“macros,›āpacting“as“an“en•øćvironmen“t,˜accum“ulate–“all“enclosing“paths,˜inŽ¦order,–UUinšøćto“a“path“arra˜y“named“·hĻpv·i«.Ž”‘ĻNote:‘M8«In– 7L‘üffŸž1AŽ›fkT‘žU>Ÿ'EŽ‘ćxX,“this“pair“of“macros“can“bGe“used“in“the“form“of“a“L‘üffŸž1AŽ˜T‘žU>Ÿ'EŽ‘ćxX-stšøćyle“en˜viron-Ž¦menøćt–UUcalled“Čpatharr“«|as“in“Č\begin{patharr}±:–ŖØ:“:Ž‘ Ŗ§Č\end{patharr}«.ŽŸˆČ\connect±:–ŖØ:“:Ž‘ Ŗ§Č\endconnectŽ”‘«This–³pair“of“macros,›@Źacting“as“an“en•øćvironmen“t,˜add–³line“segmenøćts“from“the“trailingŽ¦endpšGoinøćt–ęof“one“op˜en“path“to“the“leading“endp˜oinšøćt“of“the“next“path,‘ ,in“the“giv˜en“order.Ž¦The–UUresult“is“a“connected,“Ļop‘’}'en“«path.Ž”‘ĻNote‘éV1:‘+Č\connect–²2«and“Č\endconnect“«are“joinšøćtly“implemen˜ted“using“the“the“ČpatharrŽ¦«en•øćvironmen“t–UUwith“a“ÖMET‘’ AFµUONT“«path“arraøćy“named“`Čnexus«'.Ž”‘ĻNote‘Ł 2:‘«In– ~L‘üffŸž1AŽ›fkT‘žU>Ÿ'EŽ‘ćxX,“this“pair“of“macros“canøćbGe“used“in“the“form“of“a“L‘üffŸž1AŽ˜T‘žU>Ÿ'EŽ‘ćxX-stšøćyle“en˜vi-Ž¦ronmenøćt–UUcalled“Čconnect“«|“as“in“Č\begin{connect}±:–ŖØ:“:Ž‘ Ŗ§Č\end{connect}«.Ž¤ˆ‘ĢDraøćwing.Ž”Č\draw±:–ŖØ:“:ŽŽŸ DH‘«Drašøćws–Å1the“subsequen˜t“path“using“a“solid“outline.‘ĮZWhen“Čmfpic“«is“loaded,‘į'this“is“theŽ¦initial›/@w•øća“y˜in˜whic“h˜a˜path˜is˜rendered˜b“y˜default,‘6Žif˜no˜rendering˜pre x˜is˜giv“en.‘e(See˜theŽ¦description–UUof“Č\setrender“«bGeloøćw.)Ž”Č\dashed±:–ŖØ:“:ŽŽŸ DH‘«Drašøćws–ńdashed“segmen˜ts“along“the“path“spGeci ed“in“the“next“command.‘DūThe“lengthŽ¦of–I½the“dashes“is“the“v‘’qĒalue“of“the“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\dashlen«.‘mźThe“space“bGet•øćw“een–I½the“dashesŽ¦is–sÖthe“v‘’qĒalue“of“the“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\dashspace«.‘ĶJAdjusts“the“space“bGet•øćw“een–sÖthe“dashes“bøćyŽŽŸ’Į;7ŽŒ‹V@ŸņŽ s żń’«as›P2m•øćuc“h˜asŸū‰÷‘ƒe“dashspaceŽ‘ƒeŸ);‰fe$ Ÿ昍‘ĪĒnŽŽŽ‘*E£«,‘Q9where˜±n˜«is˜the˜n“um“b•Ger˜of˜spaces˜app“earing˜in˜the˜curvøće,‘Q9in˜order˜toŽ¤ ha•øćv“e–UUthe“propGer“dashes“at“the“ends.‘qĒThe“dashes“at“the“ends“are“half“of“Č\dashlen“«long.Ž©—¼Č\dotted±:–ŖØ:“:ŽŽŸ KŽ‘«Draøćws–Ldots“along“the“spGeci ed“path.‘VThe“size“of“the“dots“is“the“v‘’qĒalue“of“the“T‘žU>Ÿ'EŽ‘ćxXŽ”dimension–Õ¢Č\dotsize«.‘ņ­The“space“bGet•øćw“een–Õ¢the“dots“is“the“v‘’qĒalue“of“the“T‘žU>Ÿ'EŽ‘ćxX“dimensionŽ”Č\dotspace«.Ž¦‘ĢArroøćws.Ž¦Č\arrow[l·hĻhe–’}'ad‘‚Ųlen·iČ][r·hĻr“otate·iČ][b·hĻb“ackset·iČ]±:–ŖØ:“:ŽŽŸ KŽ‘«Drašøćws–7Ņan“arro˜whead“at“the“endpGoin˜t“of“the“opGen“path“(or“at“the“last“k˜ey“pGoin˜t“ofŽ”the–qČclosed“path)“that“folloøćws.‘ĒThe“optional“parameter“·hĻhe‘’}'ad‘‚Ųlen·i“«determines“the“length“ofŽ”the–ž—arroøćwhead.›mŒThe“default“is“the“v‘’qĒalue“of“the“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\headlen«.˜The“optionalŽ”parameter–² ·hĻr‘’}'otate·i“«allošøćws“the“arro˜whead“to“bGe“rotated“coun˜tercloGc˜kwise“around“its“pGoin˜tŽ”an–Ė"angle“of“·hĻr‘’}'otate·i“«degrees.›Ó/The“default“is“0“degrees.˜The“optional“parameter“·hĻb‘’}'ackset·iŽ”«allošøćws– Hthe“arro˜whead“to“bGe“\set“bac˜k"“from“its“original“pGoin˜t,‘6Dth˜us“allo˜wing“e.g.“doubleŽ”arrošøćwheads.‘lThis–FAparameter“is“in“the“form“of“a“T‘žU>Ÿ'EŽ‘ćxX“dimension|its“default“v‘’qĒalue“is“0“pGoin˜ts.Ž”If–Åžan“arrošøćwhead“is“bGoth“rotated“and“set“bac˜k,‘ā(the“rotation“a ects“the“direction“in“whic˜hŽ”the–Awarrošøćwhead“is“set“bac˜k.‘6-The“optional“parameters“ma˜y“appGear“in“an˜y“order,‘|but“theŽ”indicated–UUkšøćey“c˜haracter“for“eac˜h“parameter“m˜ust“alw˜a˜ys“appGear.Ž¦‘ĢShading,–UUFilling,“Erasing,“Hatcøćhing.Ž¦‘«The–wKshading“macros“can“all“bGe“used“to“shade“the“inšøćterior“of“closed“paths,‘Čev˜en“if“theŽ”paths–üScross“themselvšøćes.‘fĄShading“an“opGen“curv˜e“is“tec˜hnically“an“error,‘&but“the“ÖMET‘’ A«-Ž”ÖFµUONT–UU«cošGde“in“Čgrafbase.mf“«resp˜onds“bšøćy“dra˜wing“the“path“and“not“doing“an˜y“ lling.Ž¦Č\gfill±:–ŖØ:“:ŽŽ¤ KŽ‘«Fills–UUin“the“subsequenøćt“closed“path.Ž¦Č\gclear±:–ŖØ:“:ŽŽ”‘«Erases–UUevšøćerything“inside“the“subsequen˜t“closed“path.Ž¦Č\shade[·hĻshadesp·iČ]±:–ŖØ:“:ŽŽ”‘«Shades–łcthe“inšøćterior“of“the“subsequen˜t“closed“path“with“dots.‘S!The“diameter“of“the“dotsŽ¤ is–ėoset“bšøćy“the“macro“Č\shadewd«.‘4The“optional“argumen˜t“spšGeci es“the“space“b˜et•øćw“een‘ėodots,Ž”whicšøćh–;defaults“to“the“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\shadespace«.‘IxIf“Č\shadespace“«is“0“pGoin˜ts“(or“less),Ž”the–UUclosed“path“is“ lled,“as“with“Č\gfill«.Ž¦Č\thatch[·hĻhatchsp·iČ,·hĻangle·iČ]±:–ŖØ:“:ŽŽŸ KŽ‘«Shades–½a“closed“path“using“lines“at“the“spGeci ed“angle.‘?+The“thicøćkness“of“the“lines“is“setŽ”bšøćy–“Sthe“macro“Č\hatchwd«.‘+ĮIn“the“optional“argumen˜t,‘¢Ņ·hĻhatchsp·i“«spšGeci es“the“space“b˜et•øćw“eenŽ”lines,‘£=whicšøćh–“Ødefaults“to“the“T‘žU>Ÿ'EŽ‘ćxX“dimension“Č\hatchspace«.‘,ĄIf“Č\hatchspace“«is“0“pGoin˜ts“(orŽ”less),›ĮÕthe–¬"closed“path“is“ lled,˜as“with“Č\gfill«.›v-The“·hĻangle·i“«defaults“to“0“degrees.˜EitherŽ”bGoth–UUoptional“argumenšøćts“m˜ust“bGe“presen˜t,“or“bGoth“m˜ust“bGe“absen˜t.Ž¦Č\lhatch[·hĻhatchsp·iČ]±:–ŖØ:“:ŽŽŸ KŽ‘«Drašøćws–E°lines“shading“in“the“subsequen˜t“closed“path“in“a“\left-oblique“hatc˜hed"“(uppGerŽ”left–S±to“lo•øćw“er›S±righ“t)˜pattern.‘q;The˜thic“kness˜of˜the˜lines˜is˜set˜b“y˜the˜macro˜Č\hatchwd«.‘q;TheŽŽŸ’Į;8ŽŒ‹ b‘ŸņŽ s żń’«optional–UU·hĻhatchsp·i“«argumenøćt“is“as“in“Č\thatch«.Ž©KRČ\rhatch[·hĻhatchsp·iČ]±:–ŖØ:“:ŽŽŸ %©‘«Drašøćws–ģ5lines“shading“in“the“subsequen˜t“closed“path“in“a“\righ˜t-oblique“hatc˜hed"“(lo˜w˜erŽ¤ left–(to“uppGer“righšøćt)“pattern.‘b°The“thic˜kness“of“the“lines“is“set“b˜y“the“macro“Č\hatchwd«.‘b°TheŽ”optional–UU·hĻhatchsp·i“«argumenøćt“is“as“in“Č\thatch«.Ž¦Č\hatch[·hĻhatchsp·iČ]±:–ŖØ:“:ŽŽ”Č\xhatch[·hĻhatchsp·iČ]±:–ŖØ:“:ŽŽŸ %©‘«Drašøćws–Gčlines“shading“in“the“subsequen˜t“closed“path“in“a“\cross-hatc˜hed"“pattern.‘mMTheŽ”thicšøćkness–æ6of“the“lines“is“set“b˜y“the“macro“Č\hatchwd«.‘ÆjThe“optional“·hĻhatchsp·i“«argumen˜t“isŽ”as–UUin“Č\thatch«.Ž¦‘ĢChanging–UUthe“Default“Rendering.Ž¦‘ĻR‘’}'endering–‰÷«is“the“proGcess“of“con•øćv“erting–‰÷a“geometric“description“inšøćto“a“dra˜wing.‘¬InŽ”ÖMET›’ AFµUONT«,–O½this“means“proGducing“a“bitmap“(ÖMET˜AFµUONT‘Oz«calls“this“a“Čpicture«),‘„eitherŽ”bšøćy–UUstroking“(dra˜wing)“a“path“using“a“particular“pGen),“or“b˜y“ lling“a“closed“path.Ž¦Č\setrender{·hĻT‘žKƟ'EŽ‘Ķ-X‘½Ic‘’}'ommands·iČ}–˜ę«Initially‘’*Ŗ,‘éŹČmfpic“«uses“the“Č\draw“«command“(stroking)“asŽ”the–óxdefault“opšGeration“when“a“ gure“is“to“b˜e“rendered.‘L/Ho•øćw“ev“er,‘this–óxcan“b˜e“cøćhanged“toŽ”an•øćy›­±com“bination˜of˜(rendering˜and/or˜other!)‘zÜT‘žU>Ÿ'EŽ‘ćxX‘­›commands,‘ĆČb“y˜using˜the˜Č\setrenderŽ”«command.‘gaThis–6"is“a“lošGcal“rede nition,‘<_so“it“can“b˜e“enclosed“in“braces“to“restrict“its“range.Ž¦‘ĢExamples.Ž¦‘«It–³_mašøćy“bGe“instructiv˜e,‘ įfor“the“purpGose“of“seeing“ho˜w“the“syn˜tax“of“Ļshap–’}'e-mo“di erŽ”switches–UU«wšøćorks,“to“consider“t˜w˜o“examples:Ž¤ %©‘!UTČ{\–?ż«shadeČ\“«draøćwČ\“«lclosedČ\“«lines[...]Č}Ž”«whicšøćh–UUshades“inside“a“pGolygon“and“dra˜ws“its“outline;“andŽ”‘!UTČ{\–?ż«shadeČ\“«lclosedČ\“«draøćwČ\“«lines[...]Č}Ž”«whicšøćh–øńshades“inside“the“pGolygon,‘Ųand“dra˜ws“all“of“the“outline“Ļexc‘’}'ept“«the“line“segmen˜tŽ¤ supplied–UUbøćy“Č\lclosed«.Ž¦·‘UUĻAne‘“ēT‘’;¼r‘’}'ansforms.Ž¦‘«CoGordinate–žtransformations“that“køćeep“parallel“lines“in“parallel“are“called“Āane‘„trans-Ž”forms«.‘cxThese–*hinclude“translation,–2żrotation,“re ection,“scaling–*hand“skšøćewing“(slan˜ting).‘cxF‘’*ŖorŽ”the–•³ÖMET‘’ AFµUONT‘•£«coGordinate“system“only|that“is,›„Ėfor“paths,˜but“not“for“Č\tlabel«'s“(letŽ”alone–Č\tcaption«'s)|Čmfpic“«prošøćvides“the“abilit˜y“to“apply“ÖMET‘’ AFµUONT‘ō«ane“transforms.Ž”T‘’*Ŗransforms–\Šcan“bšGe“lo˜calised“to“anšøćy“group“of“ÖMET‘’ AFµUONT‘\F«paths“(this“is“implemen˜tedŽ”using–UUa“ÖMET‘’ AFµUONT“«path“arraøćy‘’*Ŗ,“Čpaths«).Ž¦‘ĢRotation–UUof“Pøćaths.Ž¦Č\rotatepath{(·h±x·iČ,·h±y[Ł·iČ),·h±G·iČ}Ž¤ %©‘«Rotates–UUthe“follošøćwing“path“b˜y“·h±šG·i“«degrees“ab˜out“p˜oinøćt“Č(·h±x·iČ,·h±y[Ł·iČ)«.Ž¦‘ĢAne–UUT‘’*Ŗransforms“of“the“ÖMET‘’ AFµUONT“ĢCoGordinate“System.Ž¦Č\coords±:–ŖØ:“:Ž‘ Ŗ§Č\endcoordsŽ”‘«All– 2ane“transforms“are“restricted“to“the“innermost“enclosing“Č\coords±:–ŖØ:“:Ž‘ Ŗ§Č\endcoordsŽŽŸ’Į;«9ŽŒ‹ p±ŸņŽ s żń’«pair.‘J¼If–ą4there“is“Ļno“«sucøćh“enclosure,›÷”then“the“transforms“will“apply“globally‘’*Ŗ,˜and“Ļeven‘(%acr‘’}'ossŽ© Čmfpic‘“ēĻenvir‘’}'onments«,–UUso“bšGe“careful“to“rememøćb˜er“to“enclose“transforms!Ž¤ ™”‘ĻNote:‘qĒ«In–UUL‘üffŸž1AŽ‘fkT‘žU>Ÿ'EŽ‘ćxX,“a“Čcoords“«en•øćvironmen“t›UUma“y˜bGe˜used.ŽŸ3BČ\applyT{·hĻtr‘’}'ansformer·iČ}Ž”‘«Apply–V?the“ÖMET‘’ AFµUONT“·hĻtr‘’}'ansformer·i“«to“the“currenøćt“coGordinate“system.‘t†F‘’*Ŗor“exam-Ž¦ple,‘HÄthe–Čmfpic“«T‘žU>Ÿ'EŽ‘ćxX‘āmacro“Č\zslant#1“«is“implemenøćted“as“Č\applyT{zslanted‘?ż#1}“«whereŽ¦the–UUargumenšøćt“Č#1“«is“a“ÖMET‘’ AFµUONT“«pair,“suc˜h“as“(±x;‘ŖØy[Ł«).Ž¤3B‘T‘’*Ŗransforms–UUprošøćvided“b˜y“Čmfpic«.ŽŸ™”Č\rotate{±GČ}Ž‘yž «Rotates–UUaround“origin“bøćy“±‘œr«degreesŽŽ¦Č\rotatearound{±pČ}{±GČ}Ž‘yž «Rotates–UUaround“pGoinšøćt“±p“«b˜y“±‘œr«degreesŽŽ¦Č\turn[±pČ]{±GČ}Ž‘yž «Rotates–UUaround“pGoinšøćt“±p“«(origin“is“default)“b˜y“±‘œr«degreesŽŽ¦Č\mirror{±pŸ’®1Ž–|sČ}{±pŸ’®2Ž“Č}ŽŽ¦\reflectabout{±pŸ’®1Ž–|sČ}{±pŸ’®2Ž“Č}Ž‘yž «Re ects–UUabGout“the“line“±pŸ’®1Ž‘'±:–ŖØ:“:Ž‘|jpŸ’®2ŽŽŽ¦Č\shift{±pČ}Ž‘yž «Shifts–UUorigin“bšøćy“the“v˜ector“±pŽŽ¦Č\scale{±sČ}Ž‘yž «Scales–UUuniformly“bøćy“a“factor“of“±sŽŽ¦Č\xscale{±sČ}Ž‘yž «Scales–UUonly“X“bøćy“a“factor“of“±sŽŽ¦Č\yscale{±sČ}Ž‘yž «Scales–UUonly“Y“bøćy“a“factor“of“±sŽŽ¦Č\zscale{±pČ}Ž‘yž «Scales–UUuniformly“bšøćy“magnitude“of“±p«,“and“rotates“b˜y“angle“of“±pŽŽ¦Č\xslant{±sČ}Ž‘yž «Skšøćew–UUin“±X‘7«direction“b˜y“the“m˜ultiple“±s“«of“±YŽŽ¦Č\yslant{±sČ}Ž‘yž «Skšøćew–UUin“±Y‘Ž9«direction“b˜y“the“m˜ultiple“±s“«of“±XŽŽ¦Č\zslant{±sČ}Ž‘yž «See–UUČzslanted“«in“Čgrafdoc.texŽŽ¦\boost{±Č}Ž‘yž «SpšGecial–UUrelativitøćy“b˜o˜ost“bøćy“±ŽŽ¦Č\xyswapŽ‘yž «Re ects–UUin“the“line“±Y‘’ü«=‘Ē±XŽŽ”·‘UUĻF‘’;¼unctions–“ēand“Plotting.Ž”Č\fdef{·hĻfcn·iČ}«(·hĻp–’}'ar“am1·i«,·hĻp“ar“am2·i«,±:–ŖØ:“:Ž‘ Ŗ§«)[·hĻmf-expr·i«]Ž¤ ™”‘De nes–jLa“ÖMET‘’ AFµUONT“«function“·hĻfcn·i“«of“the“parameters“·hĻp–’}'ar“am1·i«,›Ɖ·hĻp“ar“am2·i«,˜±:–ŖØ:“:Ž‘Z0«,Ž¦bšøćy–8ųthe“ÖMET‘’ AFµUONT“«expression“·hĻmf-expr·i“«in“whic˜h“the“only“free“parameters“are“thoseŽ¦named.‘qĒThe–UUreturn“tšøćypGe“of“the“function“is“the“same“as“the“t˜ypGe“of“the“expression.Ž”‘The–ńexpression“·hĻmf-expr·i“«is“passed“directly“inøćto“the“correspGonding“ÖMET‘’ AFµUONTŽ¦«macro–UUand“inøćterpreted“there,“so“ÖMET‘’ AFµUONT«'s“rules“for“algebraic“expressions“apply‘’*Ŗ.Ž”‘OpGerations–ęaøćv‘’qĒailable“include“Č+«,–üFČ-«,“Č*«,“Č/«,“and–ęČ**“«(Čx**y«=‘Ē±xŸü^’“yŽ‘Ī‡«),‘üFwith“Č(“«and“Č)“«for“grouping.Ž¦F‘’*Ŗunctions–“ƒaøćv‘’qĒailable“include“Čround«,–ćČfloor«,“Čceiling«,“Čabs«,“Čsqrt«,“Čsind«,“Čcosd«,“Čmlog«,“andŽ¦Čmexp«.‘iŖ(ĻNotes:‘e›«The–<żÖMET‘’ AFµUONT‘<÷«trigonometric“functions“Čsind“«and“Čcosd“«takšøće“argumen˜tsŽ¦in–;¹degrees;‘®ėČmlog(x)«=‘G256‘ŖØlnŽ‘ Ŗ§±x«,‘uRand“Čmexp“«is“its“in•øćv“erse.‘$ōThere–;¹are“other“opGerations“andŽ¦functions–Xiaøćv‘’qĒailable,‘™-but“these“are“the“most“useful“for“plotting“purpGoses.)‘{Y‘’*Ŗou“can“alsoŽ¦de ne–UUthe“function“·hĻfcn·i“«bøćy“cases,“using“the“ÖMET‘’ AFµUONT“«conditional“expressionŽ¦‘Čif›?ż·hĻb–’}'o“ole“an·iČ:˜·hĻexpr·i˜Čelse:˜·hĻexpr·i˜Čfi«.Ž¦Relations–UUaøćv‘’qĒailable“for“the“·hĻb–’}'o“ole“an·i–UU«part“of“the“expression“include“Č=«,“Č<«,“Č>«,“Č<=«,“and“Č>=«.Ž”‘Complicated–TŽfunctions“can“bšGe“de ned“bøćy“a“comp˜ound“expression,‘T¶whicøćh“is“a“series“ofŽ¦ÖMET‘’ AFµUONT›«statemen•øćts,‘FOfollo“w“ed˜b“y˜an˜expression,‘FOall˜enclosed˜in˜the˜ÖMET‘’ AFµUONTŽ¦«commands–äČbegingroup“«and“Čendgroup«.‘†sÖMET›’ AFµUONT“«functions“can“call“ÖMET˜AFµUONTŽ¦«functions,‘UUrecursivøćely‘’*Ŗ.ŽŽŸ’¾»10ŽŒ‹ }ŸņŽ s żń’‘«The–“?plotting“macros“takšøće“t˜w˜o“or“more“argumen˜ts.‘+…They“ha˜v˜e“an“optional“ rst“argu-Ž¤ menøćt,›„[·hĻsp–’}'e“c·i«,˜whicšøćh–•Zdetermines“whether“a“function“is“dra˜wn“smoGoth“(as“a“ÖMET‘’ AFµUONTŽ”«B•øć‘ūGezier›hcurv“e),‘žor˜pGolygonal˜(as˜line˜segmen“ts)|if˜·hĻsp–’}'e“c·i˜«is˜Čs˜«,‘žthe˜function˜will˜b•Ge˜smo“oth;Ž”if›[ą·hĻsp–’}'e“c·i˜«is˜Čp«,‘]ƒthe˜function˜will˜b•Ge˜p“olygonal;‘_%the˜default˜·hĻsp–’}'e“c·i˜«dep•Gends˜on˜the˜purp“ose˜ofŽ”the‘UUmacro.Ž© g‘One–ØPcompulsory“argumenšøćt“con˜tains“three“v‘’qĒalues“·hĻmin·i«,‘½·hĻmax·i“«and“·hĻstep·i«.‘j·The“inde-Ž”pGendenøćt–Amv›’qĒariable“of“a“function“starts“at“the“v˜alue“·hĻmin·i“«and“steps“bšøćy“·hĻstep·i“«un˜til“reac˜hingŽ”·hĻmax·i«.Ž¦‘There–Lare“one“or“more“subsequenšøćt“argumen˜ts,›denoted“·hĻfcn·i«,˜eacšøćh“of“whic˜h“is“a“ÖMET‘’ A«-Ž”ÖFµUONT‘UU«function.ŽŸ0ĪČ\function[·hĻsp–’}'e“c·iČ]{·hĻxmin·iČ,·hĻxmax·iČ,·hĻstep·iČ}{·hĻfcn·iČ}Ž¦‘«Plots–2Ā·hĻfcn·i«,‘9¬a“ÖMET‘’ AFµUONT“«nšøćumeric“function“of“one“n˜umeric“argumen˜t.‘fAThe“defaultŽ”v‘’qĒalue–UUfor“the“optional“parameter“·hĻsp–’}'e“c·i–UU«is“Čs«.ŽŸ0ĪČ\parafcn[·hĻsp–’}'e“c·iČ]{·hĻtmin·iČ,·hĻtmax·iČ,·hĻstep·iČ}{·hĻpfcn·iČ}Ž¦‘«Plots–the“parametric“path“determined“bøćy“(±x«(±t«)±;‘ŖØy[Ł«(±t«))‘Ńį=·hĻpfcn(t)·i«,‘Żmwhere“·hĻpfcn·i“«is“aŽ”ÖMET‘’ AFµUONT–:«function“of“one“nšøćumeric“argumen˜t,‘4óreturning“a“ÖMET‘’ AFµUONT“Ļp‘’}'air“«(suc˜hŽ”as–UU(±x;‘ŖØy[Ł«)).‘qĒThe“default“v‘’qĒalue“for“the“optional“parameter“·hĻsp–’}'e“c·i–UU«is“Čs«.ŽŸ0ĪČ\plrfcn[·hĻsp–’}'e“c·iČ]{·h±•GĻmin·iČ,·h±“Ļmax·iČ,·h±“Ļstep·iČ}{·hĻfcn·iČ}Ž¦‘«Plots–ŲŽthe“pšGolar“function“determined“bøćy“±r‘én«=·hĻfcn·i«(±˜«),‘łĄwhere“·hĻfcn·i“«is“a“ÖMET‘’ AFµUONTŽ”«nšøćumeric–Īfunction“of“one“n˜umeric“argumen˜t,‘ģKand“±‘7«v‘’qĒaries“from“·h±šGĻmin·i“«to“·h±˜Ļmax·i“«in“stepsŽ”of–R8·h±GĻstep·i«.‘p½Eacšøćh“±‘™U«v‘’qĒalue“is“in˜terpreted“as“an“angle“measured“in“Ļde–’}'gr“e“es«.‘p½The–R8default“v‘’qĒalueŽ”for–UUthe“optional“parameter“·hĻsp–’}'e“c·i–UU«is“Čs«.ŽŸ0ĪČ\btwnfcn[·hĻsp–’}'e“c·iČ]{·hĻxmin·iČ,·hĻxmax·iČ,·hĻstep·iČ}{·hĻfcn0·iČ}{·hĻfcn1·iČ}Ž¦‘«Drašøćws–Ēõthe“region“bGet˜w˜een“the“t˜w˜o“ÖMET‘’ AFµUONT“«functions“·hĻfcn0·i“«and“·hĻfcn1·i«,‘ätheseŽ”bGeing–;nšøćumeric“functions“of“one“n˜umeric“argumen˜t.‘õyThe“region“is“bGounded“also“b˜y“theŽ”všøćertical–ĢĒlines“at“·hĻxmin·i“«and“·hĻxmax·i«.‘DCUnlik˜e“the“previous“function“macros,‘čthe“default“v‘’qĒalueŽ”for›Ć-·hĻsp–’}'e“c·i˜«is˜Čp˜«|this˜macro˜is˜inøćtended˜to˜b•Ge˜used˜for˜shading˜b“et•øćw“een˜functions,‘Ž£a˜taskŽ”for–UUwhicøćh“smoGothness“is“usually“unnecessary‘’*Ŗ.ŽŸ0ĪČ\plrregion[·hĻsp–’}'e“c·iČ]{·h±•GĻmin·iČ,·h±“Ļmax·iČ,·h±“Ļstep·iČ}{·hĻfcn·iČ}Ž¦‘«Plots–’the“pšGolar“region“determined“bøćy“±r‘N«=·hĻfcn·i«(±˜«),‘Ü)where“·hĻfcn·i“«is“a“ÖMET‘’ AFµUONTŽ”«nšøćumeric–ō“function“of“one“n˜umeric“argumen˜t.‘Q’The“±‘;Ń«v‘’qĒalues“are“angles“(measured“in“Ļde–’}'gr“e“es«),Ž”v‘’qĒarying–kĀfrom“·h±šGĻmin·i“«to“·h±˜Ļmax·i“«in“steps“of“·h±˜Ļstep·i«.‘µThe“region“is“also“b˜ounded“bøćy“theŽ”angles–A`·h±šGĻmin·i“«and“·h±˜Ļmax·i«,‘|bi.e.“bšøćy“the“line“segmen˜ts“joining“the“origin“to“the“endpGoin˜tsŽ”of–ŖKthe“function.‘pŖThe“default“v‘’qĒalue“for“·hĻsp–’}'e“c·i–ŖK«is“Čp“«|this“macro“is“inøćtended“to“bGe“used“forŽ”shading–UUthe“region,“a“task“for“whicøćh“smoGothness“is“usually“unnecessary‘’*Ŗ.Ž¤0Ī·‘UUĻL–’}'ab“els–“ēand“Captions.Ž”‘«The–”next“t•øćw“o–”macros“do“not“a ect“the“ÖMET‘’ AFµUONT“« le“(·hĻfont·iČ.mf«)“at“all,‘³übut“areŽ¤ added–Qćto“the“picture“bšøćy“T‘žU>Ÿ'EŽ‘ćxX.“Therefore,‘‘if“these“macros“are“c˜hanged“or“added“in“y˜ourŽ”došGcumenøćt,‘.there–¤is“no“need“to“rep˜eat“either“of“the“last“t•øćw“o–¤steps“(pro˜cessing“with“ÖMET‘’ A«-Ž”ÖFµUONT–UU«or“reproGcessing“with“T‘žU>Ÿ'EŽ›ćxX)“in“order“to“complete“yøćour“T‘žU>Ÿ'EŽ˜X“doGcumenøćt.ŽŽŸ’¾»11ŽŒ‹ Œ ŸņŽ s żń’Č\tlabel[·hĻtr–’}'ans·iČ](·hĻx·iČ,·hĻy·iČ){·hĻlab“el‘“ētext·iČ}Ž© ,‹‘«Places–PŻa“T‘žU>Ÿ'EŽ‘ćxX“labšGel“on“the“graph.‘õ(Not“to“b˜e“confused“with“LaT‘’*ŖeX's“Č\label“«command.)Ž¤ Without–Ėņthe“Č[·hĻtr‘’}'ans·iČ]“«parameter,‘é™the“tlabGel“is“placed“with“the“lo•øćw“er–Ėņleft-hand“corner“ofŽ”the–UUtlabšGel“at“the“p˜oinøćt“Č(·hĻx·iČ,·hĻy·iČ)«.Ž¦‘Note–æ,the“di erenšøćt“format“of“the“pGoin˜t“spGeci cation“from“the“other“Čmfpic“«macros|thisŽ”is–j^bšGecause“Č\tlabel“«do˜es“not“use“ÖMET‘’ AFµUONT“«to“place“the“tlab˜el,‘o”but“instead“uses“T‘žU>Ÿ'EŽ‘ćxXŽ”Č\kern‘UU«commands.Ž¦‘The–×Goptional“parameter“Č[·hĻtr‘’}'ans·iČ]“«spGeci es“the“relativšøće“placemen˜t“of“the“tlabGel“withŽ”respšGect–Vųto“the“p˜oinšøćt“Č(·hĻx·iČ,·hĻy·iČ)“«|“·hĻtr‘’}'ans·i“«is“a“t˜w˜o-c˜haracter“sequence“where“the“ rst“c˜har-Ž”acter–ę¼is“one“of“Čt“«(top),› Čc“«(cenøćter),˜or“Čb“«(bGottom),˜to“spGecify“všøćertical“placemen˜t,‘ and“theŽ”second–*cšøćharacter“is“one“of“Čl“«(left),‘™Čc“«(cen˜ter),‘™or“Čr“«(righ˜t),‘™to“spGecify“horizon˜tal“placemen˜t.Ž”The–UUdefault“translation“is“equiv‘’qĒalenøćt“to“spGecifying“Č[bl]«.Ž¦‘If–éžthe“tlabšGel“go˜es“b˜eyøćond“the“b˜ounds“of“the“graph“in“anøćy“direction,‘’vthe“b˜ošøćx“con˜tainingŽ”the–UUgraph“is“expanded“to“makøće“rošGom“for“the“tlab˜el.ŽŸYČ\tcaption[·hĻmaxwd·iČ,·hĻlinewd·iČ]{·hĻc‘’}'aption‘“ētext·iČ}Ž¦‘«Places–S(a“T‘žU>Ÿ'EŽ‘ćxX“caption“at“the“bšGottom“of“the“graph.‘q (Not“to“b˜e“confused“with“LaT‘’*ŖeX'sŽ”similar–‡źČ\caption“«command.)‘-NThe“macro“will“automatically“break“lines“whicšøćh“are“toGo“m˜uc˜hŽ”wider–Rthan“the“graph“|if“the“tcaption“line“exceeds“·hĻmaxwd·i“«times“the“width“of“the“graph,Ž”then–ƒlines“will“bGe“brokøćen“to“form“lines“at“most“·hĻlinewd·i“«times“the“width“of“the“graph.‘],TheŽ”default–UUsettings“for“·hĻmaxwd·i“«and“·hĻlinewd·i“«are“1.2“and“1.0,“respGectivøćely‘’*Ŗ.Ž¦‘If–Sthe“tcaption“and“graph“ha•øćv“e›Sdi eren“t˜widths,‘S…the˜t“w“o˜are˜cen“tered˜relativ“e˜to˜eac“hŽ”other.‘ĻĘIf–tŖthe“tcaption“takšøćes“m˜ultiple“lines,‘|then“the“lines“are“bGoth“left-“and“righ˜t-justi edŽ”(except–UUfor“the“last“line),“but“the“ rst“line“is“not“indenøćted.Ž¦‘In–UUa“tcaption,“Explicit“line“breaks“maøćy“bšGe“sp˜eci ed“bøćy“using“the“Č\\“«command.ŽŸY·‘UUĻSaving–“ēan“Čmfpic“Ļpictur‘’}'e.Ž¦‘«Summary:‘g‰Č\savepic\foo–Š6«causes“the“next“Č\mfpic“«picture“to“bšGe“sa•øćv“ed–Š6in“the“b˜oøćxŽ”Č\b\foo«.‘7(The–¦¬Č\savepic“«command“should“not“bšGe“issued“b˜efore“the“previous“Č\mfpic“«pictureŽ”ends!)‘dThe–,picture“is“placed“bšøćyČ\foo«;‘9Ńthis“also“empties“the“bGo˜x.‘dT‘’*Ŗo“place“the“same“pictureŽ”t•øćwice,›UUcop“y˜it˜with˜Č\copypic\foo«.ŽŸYČ\savepic·hČ\Ļfo‘’}'o·iŽ¦‘«AllošGcates–ßca“b˜oøćx“Č\b\foo“«(the“second“Č\“«is“part“of“the“name)“and“de nes“Č\foo“«to“expandŽ”to‘UUČ\box\b\foo«.ŽŸYČ\copypic·hĻbsl‘“ēfo‘’}'o·iŽ¦‘«E ects–¼a“Č\copy\b\foo«,‘ŚĄto“copšøćy“the“Čmfpic“«picture“that's“bGeen“sa˜v˜ed“in“the“bGo˜x“Č\b\fooŽ”«bøćy–UUa“Č\savepic·hČ\Ļfo‘’}'o·i“«command.Ž¤Y·‘UUĻPar‘’}'ameters.Ž”‘«There–ā?are“manšøćy“parameters“in“Čmfpic“«whic˜h“the“user“can“moGdify“to“obtain“di eren˜tŽ¤ e ects,‘Šœsucšøćh–LĮas“di eren˜t“arro˜whead“size“or“shapGe.‘X Most“of“these“parameters“ha˜v˜e“bGeenŽ”describšGed–Å[already“in“the“conøćtext“of“macros“they“mo˜dify‘’*Ŗ,‘ā'but“they“are“all“describ˜ed“togetherŽ”here.Ž¦‘Most–²Lof“the“parameters“are“stored“bšøćy“T‘žU>Ÿ'EŽ‘ćxX“as“dimensions,‘Ņčand“so“are“a˜v‘’qĒailable“globally‘’*Ŗ,Ž”evšøćen–KŻif“there“is“no“ÖMET‘’ AFµUONT“« le“opGen;‘Oc˜hanges“to“them“are“sub‘Ž8ject“to“the“usual“T‘žU>Ÿ'EŽ‘ćxXŽŽŸ’¾»12ŽŒ‹ ›ūŸņŽ s żń’«rules–-.of“scopGe.‘łSSome“parameters,›c%ho•øćw“ev“er,˜are–-.stored“bøćy“ÖMET‘’ AFµUONT«,“so“the“macrosŽ¤ to–żŗcšøćhange“them“will“ha˜v˜e“no“e ect“unless“a“ÖMET‘’ AFµUONT“« le“is“opGen,‘'Óand“the“c˜hangesŽ”are–÷sub‘Ž8ject“to“ÖMET‘’ AFµUONT«'s“rules“of“scopGe|to“the“Čmfpic“«user,‘×this“means“that“cøćhangesŽ”inside–U³the“Č\mfpic“±:–ŖØ:“:Ž‘V Č\endmfpic“«en•øćvironmen“t–U³are“loGcal“to“that“en•øćvironmen“t,‘•Źbut‘U³otherŽ”T‘žU>Ÿ'EŽ‘ćxX–UUgroupings“ha•øćv“e–UUno“e ect“on“scopGe.Ž©ˆČ\mfpicunitŽŸ DH‘«This–†ÖT‘žU>Ÿ'EŽ‘ćxX“dimension“stores“the“basic“unit“length“for“Čmfpic“«pictures|the“±x“«and“±y‘āÆ«scalesŽ”in–UUthe“Č\mfpic“«macro“are“mšøćultiples“of“this“unit.‘qĒThe“default“v‘’qĒalue“is“1“pGoin˜t.Ž¦Č\pointsizeŽŸ DH‘«This–8ÆT‘žU>Ÿ'EŽ‘ćxX“dimension“stores“the“diameter“of“the“circle“drašøćwn“b˜y“the“Č\point“«macro.Ž”The–UUdefault“v‘’qĒalue“is“2“pGoinøćts.Ž¦Č\pointfilledŽŸ DH‘«This–:ST‘žU>Ÿ'EŽ‘ćxX“b•Go“olean–:Sv‘’qĒalue“determines“whether“the“circle“drašøćwn“b˜y“Č\point“«will“bGe“ lledŽ”(if–UUČtrue«)“or“opGen“(outline“drašøćwn,“bac˜kground“erased).‘qĒThe“default“v‘’qĒalue“is“Čtrue«.Ž¦Č\pen{·hĻdr–’}'awp“ensize·iČ}ŽŸ DH‘«Establishes–č”the“width“of“the“normal“drašøćwing“pGen.‘+¬The“default,‘ tat“the“start“of“eac˜hŽ”mfpic›Ļten•øćvironmen“t,‘-ūis˜0.5˜pGoin“ts.‘ą#The˜·hĻdr–’}'awp“ensize·i˜«is˜stored˜bøćy˜ÖMET‘’ AFµUONT«.˜TheŽ”shading–UUdots“and“hatcšøćhing“pGen“are“una ected“b˜y“this.Ž¦Č\shadewd{·hĻdotdiam·iČ}ŽŸ DH‘«Sets–†ļthe“diameter“of“the“dots“used“in“the“shading“macro.‘”The“drašøćwing“and“hatc˜hingŽ”pGens–UUare“una ected“bøćy“this.Ž¦Č\hatchwd{·hĻhatchp‘’}'ensize·iČ}ŽŸ DH‘«Sets–the“line“thicšøćkness“used“in“the“hatc˜hing“macros.‘~The“dra˜wing“pGen“and“shadingŽ”dots–UUare“una ected“bøćy“this.Ž¦Č\headlenŽŸ DH‘«This–XiT‘žU>Ÿ'EŽ‘ćxX“dimension“stores“the“length“of“the“arrošøćwhead“dra˜wn“b˜y“the“Č\arrow“«macro.Ž”The–UUdefault“v‘’qĒalue“is“3“pGoinøćts.Ž¦Č\axisheadlenŽŸ DH‘«This–æĖT‘žU>Ÿ'EŽ‘ćxX“dimension“stores“the“length“of“the“arrošøćwhead“dra˜wn“b˜y“the“Č\axes“«macro.Ž”The–UUdefault“v‘’qĒalue“is“5“pGoinøćts.Ž¦Č\headshape{·hĻhdwdr·iČ}{·hĻhdten·iČ}{·hĻh l‘‚Ųle‘’}'d·iČ}ŽŸ DH‘«Establishes– the“shapGe“of“the“arrošøćwhead“dra˜wn“b˜y“the“Č\arrow“«and“Č\axes“«macros.‘Y®TheŽ”v‘’qĒalue–[of“·hĻhdwdr·i“«is“the“ratio“of“the“width“of“the“arroøćwhead“to“its“length;‘vŻ·hĻhdten·i“«is“theŽ”tension–Ø~of“the“Bšøć‘ūGezier“curv˜es;‘Rand“·hĻh l‘‚Ųle‘’}'d·i“«is“a“ÖMET‘’ AFµUONT‘Ø'«b•Go“olean–Ø~v‘’qĒalue“indicatingŽ”whether–*Rthe“arroøćwheads“are“to“bšGe“ lled“(if“Čtrue«)“or“op˜en.‘š½The“default“v‘’qĒalues“are“1,‘_1,Ž”Čfalse«,–Ä/respGectivøćely‘’*Ŗ.‘5MThe›Ÿę·hĻhdwdr·i«,“·hĻhdten·i˜«and˜·hĻh l‘‚Ųle‘’}'d·i˜«v‘’qĒalues˜are˜stored˜bøćy˜ÖMET‘’ AFµUONT«.Ž”Setting–UU·hĻhdten·i“«to“\Činfinity«"“will“makšøće“the“sides“of“the“arro˜wheads“straigh˜t“lines.Ž¦Č\dashlen«,‘UUČ\dashspaceŽŸ DH‘«These–ojT‘žU>Ÿ'EŽ‘ćxX“dimensions“store,–frespGectivøćely‘’*Ŗ,“the–ojlength“of“dashes“and“the“length“of“spacesŽ”bGet•øćw“een–°dashes,‘ĘĒfor“lines“drašøćwn“b˜y“the“Č\dotted“«macro.‘‚ The“Č\dotted“«macro“ma˜y“adjustŽŽŸ’¾»13ŽŒ‹ŖŌŸņŽ s żń’«the–ć’space“bGet•øćw“een–ć’the“dashes“bšøćy“as“m˜uc˜h“asŸū‰÷‘2“dashspaceŽ‘2Ÿ);‰fe$ Ÿ昍‘ĪĒnŽŽŽ‘*Łp«,‘©where“±n“«is“the“n˜um˜bGer“of“spacesŽ¤ appGearing–īŸ'EŽ‘ćxX“dimension“stores“the“length“of“the“axis“hash“marks“drašøćwn“b˜y“the“Č\xmarksŽ”«and–UUČ\ymarks“«macros.‘qĒThe“default“v‘’qĒalue“is“4“pGoinøćts.Ž¦Č\shadespaceŽŸ G ‘«This–“UT‘žU>Ÿ'EŽ‘ćxX“dimension“establishes“the“spacing“bGet•øćw“een–“Udots“drašøćwn“b˜y“the“Č\shade“«macro.Ž”The–UUdefault“v‘’qĒalue“is“1“pGoinøćt.Ž¦Č\darkershade«,‘UUČ\lightershadeŽŸ G ‘«These–®źmacros“bGoth“mšøćultiply“the“Č\shadespace“«dimension“b˜y“constan˜t“factors,Ÿü ‘ų‚®5Ž‘ų‚Ÿ£&‰feüsŸ昍6ŽŽŽ‘ ׫andŽ”Ÿü ‘33®6Ž‘33Ÿ£&‰feüsŸ昍5ŽŽŽ‘ ø.«respGectivšøćely‘’*Ŗ,–UUto“pro˜vide“con˜v˜enien˜t“standard“settings“for“sev˜eral“lev˜els“of“shading.Ž¦Č\hatchspaceŽŸ G ‘«This–{”T‘žU>Ÿ'EŽ‘ćxX“dimension“establishes“the“spacing“bGet•øćw“een–{”lines“drašøćwn“b˜y“the“Č\hatch“«macro.Ž”The–UUdefault“v‘’qĒalue“is“3“pGoinøćts.Ž¦·‘UUĻF‘’;¼or–“ēPower“Users“Only.Ž¦Č\mfsrc{·hĻmetafont‘“ēc–’}'o“de·iČ}ŽŸ G ‘«W‘’*Ŗrites–C½the“·hĻmetafont‘oŸ'EŽ‘ćxX“Č\writeŽ”«command.‘¤'This–f can“ha•øćv“e–f some“rather“bizarre“consequences,–ŖRthough,“so–f using“it“is“notŽ”recommended–UUto“the“un•øćw“ary‘’*Ŗ.Ž¦Č\noshipŽŸ G ‘«This–9moGdi er“macro“turns“o “cšøćharacter“shipping“(b˜y“ÖMET‘’ AFµUONT“«to“the“TFM‘9ˆandŽ”GF‘qk les)–q¤for“the“duration“of“the“innermost“enclosing“group“(eg,‘Ÿ.for“the“Čmfpic“«en•øćvironmen“t).Ž”This–«is“useful“if“all“one“wishes“to“do“in“the“currenšøćt“Čmfpic“«en˜vironmen˜t“is“to“mak˜e“Ļtiles“«(seeŽ”bGeloøćw).Ž¦Č\store{·hĻp–’}'ath‘“ēvariable·iČ}{·hĻp“ath·iČ}ŽŸ G ‘«Store–Athe“folloøćwing“·hĻp›’}'ath·i“«in“the“spGeci ed“ÖMET‘’ AFµUONT‘@Ņ·hĻp˜ath‘lÅvariable·i“«(anøćy“v‘’qĒalidŽ”ÖMET‘’ AFµUONT–UU«v‘’qĒariable“name“will“do)“for“later“proGcessing“bøćy“the“Č\mfobj“«macro.Ž¦Č\mfobj{·hĻp–’}'ath‘“ēexpr“ession·iČ}Ž¤ G ‘«Use–UUthe“ÖMET‘’ AFµUONT“·hĻp–’}'ath‘“ēexpr“ession·i–UU«as“a“path.Ž¦Examples–UUof“use“of“Č\store“«and“Č\mfobj«:Ž¦‘Č\store{f}{\circle{±:–ŖØ:“:Ž‘ Ŗ§Č}}Ž”‘\dotted\mfobj{f}Ž”‘\hatch\mfobj{f}Ž”‘\store{f}{\curve{±:–ŖØ:“:Ž‘ Ŗ§Č}}ŽŽŸ’¾»«14ŽŒ‹·ÕŸņŽ s żń’‘Č\store{g}{\curve{±:–ŖØ:“:Ž‘ Ŗ§Č}}Ž¤ ;‘\store{h}{\mfobj{f..g..cycle}}Ž”‘\dotted\mfobj{f}Ž”‘\dotted\mfobj{g}Ž”‘\shade\mfobj{h}Ž©v0\tile{·hĻtilename·iČ,·hĻunit·iČ,(·hĻwd·iČ,·hĻht·iČ),·hĻclip·iČ}±:–ŖØ:“:Ž‘ Ŗ§Č\endtileŽ”‘«In–ʟthis“en•øćvironmen“t,‘ć*all›ʟdra“wing˜commands˜con“tribute˜to˜a˜Ļtile«.‘B5A‘ĘzĻtile˜«is˜a˜rectangularŽ¤ picture–ó3whicšøćh“ma˜y“bGe“used“to“ ll“the“in˜terior“of“closed“paths.‘KaThe“units“of“dra˜wing“areŽ”giv•øćen›TĄb“y˜·hĻunit·i«,‘TŽthe˜tile's˜horizon“tal˜dimensions˜are˜0˜to˜·hĻwd·i«,‘TŽits˜v“ertical˜dimensions˜0˜toŽ”·hĻht·i«,–UUand“if“·hĻclip·i“«is“Čtrue“«then“all“draøćwing“is“clippšGed“to“b˜e“within“the“tile's“b˜oundary‘’*Ŗ.ŽŸ ;‘By–¹Busing“this“macro,‘Ųyyšøćou“can“design“y˜our“o˜wn“ ll“patterns“(to“use“them,‘Ųysee“the“Č\tessŽ”«macro–UUbGelošøćw),“but“please“tak˜e“some“care“with“the“sthetics!Ž¦Č\tess{·hĻtilename·iČ}±:–ŖØ:“:ŽŽŸ ;‘«Tile–šīthe“inšøćterior“of“eac˜h“closed“path“with“a“tesselation“comprised“of“Ļtiles“«of“the“t˜ypGeŽ”spGeci ed–Näbšøćy“·hĻtilename·i«.‘o”There“is“Ļno“«default“·hĻtilename·i«;‘Q y˜ou“m˜ust“mak˜e“all“y˜our“o˜wn“tiles.Ž”Tiling–¶‹an“opGen“curvšøće“is“tec˜hnically“an“error,‘Ųbut“the“ÖMET‘’ AFµUONT“«cošGde“resp˜onds“bøćyŽ”drašøćwing–UUthe“path“and“not“doing“an˜y“tiling.Ž¦Č\mftitle{·hĻtitle·iČ}ŽŸ ;‘«W‘’*Ŗrite–YŽthe“string“·hĻtitle·i“«to“the“ÖMET›’ AFµUONT‘Y« le,‘Zand“use“it“as“a“ÖMET˜AFµUONT‘Y«mes-Ž”sage.‘qĒ(See–UUČThe‘?żÖMET‘’ AFµUONTČbook«,“cšøćhapter“22“ČStrings«,“page“187,“for“t˜w˜o“uses“of“this.)Ž¦Č\tmtitle{·hĻtitle·iČ}ŽŸ ;‘«W‘’*Ŗrite–ØDthe“text“·hĻtitle·i“«to“the“T‘žU>Ÿ'EŽ‘ćxX‘Ø.doGcumenøćt,›¼’and“to“the“log“ le,˜and“use“it“implicitlyŽ”in‘UUČ\mftitle«.Ž¦Č\newfdim{·hĻfdim·iČ}ŽŸ ;‘«Create–Xya“new“global“fonøćt“dimension,›YBnamed“·hĻfdim·i«,˜whicšøćh“can“bGe“used“almost“lik˜e“anŽ”ordinary– QT‘žU>Ÿ'EŽ›ćxX‘ >dimension.‘XqThe“exception“is“that“the“T‘žU>Ÿ'EŽ˜X‘ >commands“Č\advance«,‘…Č\multiplyŽ”«and–ÆxČ\divide“«cannot“bGe“applied“directly“to“fonšøćt“dimensions;‘܉ho˜w˜ev˜er,‘Ęthe“fon˜t“dimensionŽ”can–YpbšGe“copied“to“a“temp˜orary“T‘žU>Ÿ'EŽ‘ćxX‘Y-dimension“register,‘švwhicøćh“can“then“b˜e“manipulatedŽ”and–X:copied“bacšøćk.‘zvAlso“bGew˜are“that“Č\newfdim“«uses“fon˜t“dimensions“from“a“single“fon˜t,‘XótheŽ”Čdummy›ĶT«fon•øćt,‘č‡whic“h˜most˜T‘žU>Ÿ'EŽ‘ćxX‘Ķ1systems˜ough“t˜to˜ha“v“e.‘Dq(Y‘’*Ŗou'll˜kno“w˜if˜y“ours˜do•Gesn't,‘č‡b“ecauseŽ”Čmfpic–—Æ«will“fail“upGon“loading!)‘8ÖAlso,‘ØFimplemenšøćtations“of“T‘žU>Ÿ'EŽ‘ćxX‘—ždi er“in“the“n˜um˜bGer“of“fon˜tŽ”dimensions›UUallo•øćw“ed˜pGer˜fon“t.‘qĒHopGefully‘’*Ŗ,˜Čmfpic˜«w“on't˜exceed˜y“our˜loGcal˜T‘žU>Ÿ'EŽ‘ćxX's˜limit.Ž¦·‘UUĻA•¾“CKNO“WLEDGEMENTS.Ž¦‘«T‘’*Ŗom–wšøćould“lik˜e“to“thank“all“of“the“pGeople“at“Dartmouth“as“w˜ell“as“out“in“the“net˜w˜orkŽ”wšøćorld–Yfor“testing“Čmfpic“«and“sending“him“bac˜k“commen˜ts.‘ŠŅHe“w˜ould“particularly“lik˜e“toŽ”thank:Ž¦‘Geo rey–T›’*Ŗobin“(G.T˜obin@latrobšGe.edu.au)“for“his“manøćy“suggestions,‘šīesp˜ecially“ab˜outŽ”cleaning–¢up“the“ÖMET‘’ AFµUONT“«coGde,›µFenforcing“dimensions,˜ xing“the“dotted“line“compu-Ž”tations,‘VÓand–#SspšGeeding“up“the“shading“routines“(through“this“pro˜cess,‘VÓGeo rey“and“T‘’*ŖomŽ”managed–to“teacšøćh“eac˜h“other“man˜y“of“the“subtleties“of“ÖMET‘’ AFµUONT«),“and“for“k˜eepingŽ”tracšøćk–UUof“Čmfpic“«for“nearly“a“y˜ear“while“T‘’*Ŗom“ nished“his“thesis;ŽŽŸ’¾»15ŽŒ‹ĆAŸņŽ s żń’‘«Bryšøćan–®åGreen“(bgreen@sanjuan.uvic.ca)“for“his“man˜y“suggestions,‘ÅIsome“of“whic˜h“(in-Ž¤ cluding–IAhis“rewriting“the“Č\tcaption“«macro)“ultimately“led“to“the“currenšøćt“v˜ersion's“abilit˜yŽ”to–UUput“graphs“in-line“or“side-bøćy-side;“andŽ©‘Uwšøće–erBonnes“(bGon@lte.e-tec˜hnik.uni-erlangen.de)“and“Jaromir“KubšGen“(v‘’qĒab˜o@møćuni.cz),Ž”who›Õw•øćork“ed˜out˜re-writes˜of˜Čmfpic˜«during˜T‘’*Ŗom's˜w“orking˜hiatus˜and˜who˜eac“h˜con“tributedŽ”sevøćeral–UUv‘’qĒaluable“ideas.Ž¦‘Some–ʟcredit“also“bGelongs“to“An•øćthon“y–ʟStark“(a‘Ž8js@mercšøćk.com),‘ć*whose“w˜ork“on“a“FIG‘Ę{toŽ”ÖMET‘’ AFµUONT‘Y«con•øćv“erter–ihas“had“a“serious“impact“on“the“dev•øćelopmen“t–iof“manøćy“of“Čmfpic«'sŽ”capabilities.Ž¦‘Finally–’*Ŗ,‘–ėT“om–‰Ķwšøćould“lik˜e“to“thank“Alan“Vlac˜h,‘–ėthe“other“T‘žU>Ÿ'EŽ‘ćxXnician“at“Berry“College,Ž”for–7åhelping“him“decide“on“the“format“of“manøćy“of“the“macros,‘=Čand“for“helping“with“testing.Ž¦·‘UUĻCHANGES‘“ēHISTOR‘’;¼Y.Ž¦‘«See–UUthe“ le“ČCHANGES.tex“«for“the“history“of“cøćhanges“to“Čmfpic«.ŽŽŸ’¾»16ŽŒųŃ8ƒ’Ą;°0s‹.,ó+Œ-ų cmcsc10ó$ż': cmti10ó!p®0J cmsl10óßź cmmi10óŁ“ Rcmr7óKń`y cmr10łÕÅßßßßßßß