; TeX output 1994.07.18:223694 9HD)DtGGcmr17CommqutativeDiagramsinT[-E;gX(vqersion4)$qy0N cmbx12PaulTaylor*XQ cmr12DepartmenrtofComputing,MRSImpSerialCollegeofScience,TVecrhnologyandMedicine,zR180Queen'sGate,LondonSW72BZ +447159482634߆T cmtt12k'FTP:theory.doc.ic.ac.uk(146.169.2.27)m12July1994!9 \t : cmbx9\Abstract @Yo cmr9YTuAEX+andL5BAacmr6BA YTuAEXha9ve+bAecomestandardasaw9ay+ofwritingpapersin @Computer}=ScienceandCategoryTheory:.~Ev9eninsourceformtheyare@easier" tocompAoseandreadthanattemptstowritemathematicsin@ASCIAI.qInCategoryTheory\comm9utativeqdiagrams"areessen9tialfora@clear?visualunderstandingofthepapAer,Obutthegraphicscapabilitiesof@TuAEXxaresolimitedthatitisv9erydiculttodrawthemnicely:,Uifat@all. This+man9ualdescribAesanewbutreverse-compatibleversionofa@pac9k|ragetodrawsuchdiagrams,expressedinalanguageinwhichmany@usersha9vealreadyfounditveryeasytoexpressthemselves."E'hNff cmbx12h1@ wIntros3ductiony'K`y cmr10InFpapGersinmathematicsandcomputersciencewhichemployCategoryTheory*, 'thereEismuchEbGene tinclarityif\commutativediagrams"areusedasmuch'asupGossibletoillustratede nitions,!equationsanduniversalproperties.kHereis'atypicalsuchdiagram:ritisoneoftheMacLane-Kellyequations.7_h>y b> cmmi10A8 !", cmsy10(BQ(CDG))^fe Ŝrassl*O line10-y(A8Bq)(CDG)_fe Ŝrassl*-.y((A8Bq)C)D؈=>yA8((BQC)DG)AsidLU8assldv?d9;*fe^feŨrassl*-.y(A8(BQC))DTv6T9S**feUasslgH8id0N'This4manualdescribGesversion4oftheauthor'spackqagefordrawingdiagrams'linethisin(plain)TU>'ExXorL5ffٓRcmr7A͉TU>'EX. V*ersion3isalreadyverywidelyusedin'ther0CategoryTheoryandTheoreticalComputerSciencecommunities. sMost'ofItheunderlyingcoGdehasbeenrewritten,withagreatimprovementItothe'appGearanceEofthediagrams,butitremainscompatiblewiththepreviously'developGedandverypGopularstraightforwardlanguage.'h2@ wDesignCriteriay'DrawingasuchadiagramusingtheL5ffA͉TU>'ExX'ExX'doGcumentQ.haveloGokedasprofessionalaswhatchildrenbringhomefromtheir' rstdayatschoGol.rMyviewis,ifyouwant': cmti10wysiwyg,usepGenandpaper!6Besidestheawfulresults,]mouse-drivenmethoGdstakelongerandareless'pGortable.}If!youwanttowriteajointpapGerwithacolleagueontheotherside'ofatheworld,itisagreatdealsimplertosendasingleascii lebyelectronic'mailthantopackqagetwentyofthem(includingone lepGerdiagramaswell'asthemaintext)encoGdedinsomeweirdcommercialbinaryformat.6Onthebasisoftheseremarks,&thedesigncriteriaofthispackqageareas'follows:>31.@TheEentirediagrammustformpartofthesourceofthedoGcumentitself.@Inx otherwords,theremustbGenopreprocessing(cf.eqnin- cmcsc10Unix)or@inclusionof les(suchasPostScriptpictures).32.@SimpleodiagramsmustbGeabletobedrawn\onthe y"andnotneedto@bGe[ydrawnonpaper rst..Obviously*,rWcomplexdiagramswillalreadyhave@bGeenworkedoutonpapGeranyway*.33.@ThelayoutofthesourcecoGdemustresembletheintendeddiagramasfar@assyntacticallypGossible.34.@TheremustbGenomeasuringoflabelstocalculateco-ordinatesorlengths@ofarrows.35.@TherewWmustbGeavqarietyofarrowstyles,,withfacilitiesforde ningnew@ones. >Diagonal+arrows(which,#throughlackofappropriateprimitives,@TU>'ExXpmakesverydiculttodraw)shouldbGeprovidedatvqariousslopGes,@albGeitwithlimitedchoiceandfeatures.36.@The2'ExXandwithL5ffA͉TU>'EX,@andnotrelyonnon-standardfonts^1 |sorlanguagefeatures.37.@F*uture{versionswhichimprovetheappGearanceofthediagramsmust,as@faraspGossible,hbecompatiblewithpastpapGerswrittenusingthepackqage@|butyouhackatyourownrisk!>'Inradditiontherearestheticcriteria,ΜsomeofwhichmaybGeamatterof'opinion:6@ArrowsXshouldstretchtomeettheob8jectswhichareintendedtobGetheir@endpGoints.'ff J= "5-:B1LA|{Ycmr8ADiagonalɄlinescanM#fcmti8Monly|AbK939u 6@ArrowsQ shouldbGealigned(bothhorizontallyandvertically)withthe @centresoftheob8jects.6@LabGels%onarrowsshouldnota ectthespacingofthediagramexceptto@avoidoverlapping.6@Stretchingofarrowsshouldnota ectthecenteringoftheirlabGels.#č'h3@ wTypingthediagram'ThediagramabGoveisproducedinL5ffA͉TU>'ExXasfollows:cݍv'\inputdiagrams'\def\Assl{{\rmassl}}\def\Id{{\rmid}}D㊍qɍ'\beginfdiagramg"qǍ(A*(B*(C*D))r&\rTo^\Assl&(A*B)*(C*D)\j&\rTo^\Assl4\E&((A*B)*C)*D\\|\dTo^{\Id*\Assl}r&&=\j&4\E&\uTo_{\Assl*\Id}\\(A*((B*C)*D)r&&?\rTo^\Assl\j&4\E&(A*(B*C))*D\\'\endfdiagramg6InEMplainTU>'ExXyoudothesamething,Vwriting\diagramand\enddiagram'whereverwehave\begin{diagram}and\end{diagram}.6InL5ffA͉TU>'ExX2"/Syoucanput@\usepackage{diagrams}'in*>placeofthe\inputcommand,4butyouhavetorenameoraliasthe leto 'diagrams.sty.6Thebasicruleistodividethediagramintocells,/justlikethecellsofa90#[A8(BQ(CDG))vfe6Ubުassl*-y(A8Bq)(CDG) &fe6Ubުassl*-I((A8Bq)C)D 'aӍu.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.؈='aӍu.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.( id2>8asslL΍Jz?J~ϟLΉfeٳ.n1f6mfeoZ$assl=8id$vA8((BQC)DG)tfe:| assl*-H4b(A8(BQC))Dq蟾1Ѝpb}.9pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.1Ѝpb}.9pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.ꟾ1Ѝpb}.9pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.F1Ѝpb}.9pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.;7'matrix,ݗandthentypGethecontentsofthecellswithcolumnsdelimitedby\&"'andQrowsby\\\".ThebGottomarrowextendsthroughtheemptycellseither'sideofit. NoticethatalthoughthematriximpGosesakindofco-ordinate'system,=the*widthsofthecolumnsandtheheightsoftherowsarevqariable'andchosenautomatically|byTU>'ExX,ݝinthesamewayasitdoGesformatrices,'tables,etc.6AtR rstyouwillprobablyneedtodrawthediagramcarefullyonpapGer'and.divideitintocellsinthiswaybGeforetypingitin.vThemaindicultyis'workingouthowmany&stoinsert;?forthisitisusefultoobservethatinthe'simplestc}'ases!^26@ob8jectsandverticalsgoinoGdd-numberedcolumns,and6@horizontalsanddiagonalsgoineven-numbGeredcolumns.'X-ff J= "5-:B2LATheb'ExXsense:ifyouwanttouse'theminsectionheadingsyoumust\protectthem.#č'h4@ wLabs3els'EacharrowcarriesuptothreelabGels,rwhosepositionisspeci edanalogously'tosupGerscripts^3 |sby cI^abGove,_bGelow,rightand~middle.'F*orMreversecompatibility*,qabGove=leftandbGelow=rightforverticalarrows.6V*ery'oldversionsofthepackqageusedpGositionalarguments;Jthesearealsostill'suppGorted,6butmustb}'eenclosedinbraces,6e.g.\rTo{f}{g}butnot\rTofg.6Explicitly*,thelabGelsareplacedasfollows:6@forhorizon9talarrows,\rTo^f_gand\rTo{f}{g}giveꍑ f$ v! gw;6@forv9erticalarrows,\dTog,\dTo^f_gand\dTo{f}{g}givefu cmex10?y;g[ٲ;6@for‹pQositiv9egradientdiagonalarrows,[\ldTo^f_g,\ldTogand @\ldTo{f}{g}allgive^fK.xg(similarly\ruTo).' B։ff J= "5-:B3LAHoÎwevertheyareMnotqArecognisedsynÎtacticallyinthesamewayJ,andsoforinstance EK cmsy8EnKnolimitsD AwillnotwÎork. Thesub-andsup794 'PaulT*aylor'scommutativediagrams,version3.81,18July1994>K959u 6@butfornegativ9egradientarrows, fabGove=rightandbGelow=left, fso @\rdTo^f_g,\rdTofand\rdTo{f}{g}givegn'& ^f@(similarly\luTo);6@Usingtilde,thelabGelmayinsteadbreakthearrow: \rTo~fgives@Afe 8o+ffe*-UX+Br.If2thearrowhadamiddle(e.g.+in\rCrossedInto,[page8),@theTlabGelwouldreplaceit. mThisissometimesusefultopreservethe@symmetryofadiagramwiththreeverticals.'AlthoughJthearrowsextendintoadjacentcells,thelabGelsonhorizontaland'verticalmapsremaincentredinthec}'ellinwhichthearrowwasdeclared.6AnyWordinary(mathematical)textyouputinthecellwithanarrowwill'appGearintheusualway:6@F*orhorizontalarrowsitwillthereforebGeattachedtothearrowheador@tail.@Thiso ersasimplewayofannotatingtheheadofanarrow,forexampleV$A\rTo^f\relax^* B{}_s\lTo_gC$ givesJVAfeٝȴf*-UX O!cmsy7 <+BqsqY fe*?|gC.@where6\relaxisneededtostop\rTofromreading^*asanotherlabGel@anda{}servesasanob8jecttowhichsissubscripted.Thespacinginthis@example4risnotentirelysatisfactory*,AbGecause\rToand\lTogeneratethe@shortfall?spacingaspartofthemselvesandregardeverythingelseas@theirDtargets.w>Y*oucanuse\!and\;commandstocompGensateforthis,@remembGeringthatshouldyousubsequentlychangetheshortfallamount@thenyoumustalsoadjustthecompGensation.@An alternativewayofdoingthisistode neanewarrowcommand:@section7explainshow.@Don'tr makeahabitofputting\relaxafterarrowcommands: itcan@lead#"togapsinshortdouble-shaftedarrows,kforreasonswhicharetoGo@complicatedtoexplainhere.6@F*orverticalanddiagonalarrowsadditionaltextwilllietothesideof(or@bGetween)ithearrows.ZnInthecaseofverticalsthisisatthesameheight@asthemiddleandlabGelsofthearrows;seesection6.6ByadefaultthelabGelsonthearrowsaresetin\textstyle(thesamesizeas'intext)whentheyarepartofamatrix,andin\scriptstyle(likesubscripts)'inGtext. HoweverthismaybGechangedusingthelabelstyleoption. This're-de nesthecommand\labelstyle,forinstance@\begin{displaymath}@\renewcommand\labelstyle{\scriptscriptstyle}@\begin{diagram}@A&\rTo^{\sum^n_1f_i}_{\rmscriptscript}&B@\end{diagram}@\qquad@...@\end{displaymath}'givesQH94 '65>x9v4.rLabGels97ljABkfe(ߒ+.ŸP8%O \cmmi5n$%Zcmr51G|f1i@+scriptscript*-s!TBrAlsfe(ߒ+H?Pn$1fig$script*-ʡ\BlzA{fe(ߒ+nHPލn%1BfiTztext*-"!dB=AIlfe(ߒ+n ٟX J1,JfiTdisplay*-ylB'Similarly*,}ob8jectswithinadiagramaresetin\displaystyleunlessthe '\objectstylejcommandisrede ned.Y(Intext,e.g.$A\rToB$,thesettingof'theob8jectsisoutofthecontrolofthediagramspackqage. 4Unlessyouhave'donesomespGecialprogrammingofyourown,theywillbGesetin\textstyle.)#č'h5@ wTheCubs3e'ThecubGeo ersagoodexampleofhowhorizontalandverticalarrowsstretch.'NoticeyUhowthecellshavebGeensub-dividedfurthertogivethe\3D"y2e ect,Dand'thatthepGositionsofthelabelsonthemapsbetraythecellsinwhichthey'weredeclared.Becauseofthesub-division,theparityruleforthecolumnin'which0thehorizontalarrowsgohasbrokendown.6Y*oushouldnowformulate'for>yourselfanewruleofthumbforthecaseswhenyouneedone,two,three'orfour&sbGetweentwocommands.|qɍ'\beginfdiagramgRqǍ0|޿A'O&<&\rTo^{f'}&k&?B'6C&f<'&<\\O&\rdTo_a<&&k&\vLine^{h'}6C&\rdTo_bf<'&<\\\dTo^{g'}O&<&A& \rTo^fk&_\HonV6C&f<'&B<\\O&<& \dTo^g&k&\dTo6C&f<'&<\\0|C'O&?\hLine<& \VonH&\rTo^{k'}k&?D'6C&f<'&\dTo_h<\\O&\rdTo_c<&&k&6C&\rdTo_df<'&<\\O&<&C&k&\rTo^k6C&f<'&D<\\'\endfdiagramg6The^Pbrokenlines(h^0 ,andkP^0в)aresimplytwoarrows. 7bThecommands'\HonVU(\horizontalonvertical")and\VonHU(\verticalonhorizontal")allow'arrowsinonedirectiontopassthrough,Hwhilstobstructingarrowsintheother'directionGhasifanob8jectwerepresent.Theyeachhaveanoptionalargument:'\HonV[=]and\VonH[\|]shouldbGeusedtoallowextraspacefordoublelines.'An alternativeistodeclarethe\front"lineintheintersectioncell,whereit'will(6havethee ectofobstructingtheotherarrow,2CbutthenitslabGel(ifany)'wouldclashwiththeotherarrow.6There.isalsoacommand\HmeetVwhichcausessinglehorizontaland^94 'PaulT*aylor'scommutativediagrams,version3.81,18July1994>K979u 'verticallinestomeet,formingacorner.t.荍}ESA0feb^cf^0*-CBq0lq@r@ls@t @lu@#;aluRl}@ ~@l@쀟 @"l@!͵b"lRvA,wfedߘcf*-zh^09ILΉ1Lfe2afB<}C0yJg[ٟ^0pv?9>pg|fefe.wRŸfe*kP^0*-DG0pv?9Jp.HDfelq@r@ls@t @lu@cluRl}@ ~@l@쀟 @"l@8d"lR~C\g*v?9C*i*feZܟfeduk*-2%8D*6v?69O*i*fe7hj'Y*ouJshouldsoGonbeabletoreadandcomposethesourceofthesediagrams 'asʤeasilyastheprintedversion,Malthoughonewouldnotnormallygotothe'troubleofaligningthe&sinthesourcecoGde!^4"g'h6@ wParallelarrows"'Y*ouTcandrawtwoarrowsbGetweenthesametwovertices,vincludingextrathings'like׈2-cells(+,ߠ\Downarrow),the׈adjointsymbGol(a,ߠ\dashv)inbetween.Peter'F*reyd's\puncturesymbGolisalsode nedinthediagramspackqage.N㋍qɍ'\beginfdiagramg"qǍMǿA<&\pile{\rTo^f\\\puncture\quad\alpha\\\rTo_g}}| &B<\\!\dTo^h\dashv\uTo_k<&}| &<\\MC<&}| &<\\'\endfdiagramg'<7vAT,wfe@ffe*-XBфhdF"dGh q dFhhdF៕ ,wfe@ ogfe*-a`B<~Ch*?c*-*feoa^6`-*-*fetk0S6Horizon9talWarrowsmaybGe\piledontopofeachother. #tE ectively*,a'one-columndiagramiscreated,]whichmayhaveeither>ahorizontalarrowor'anoob8jectineachrow. nThisworksbGothindiagramsandintext. nThe'spacing<(\baselineskip)bGetween"ZfeD*-E\newarrowfLinegt-----"ZfeHE\newarrowfEmbedgt>--->-#ԴfeCUN*-E\newarrowfOntogt----f>>g"Zfe@*-*-E\newarrowfEEmbeddgtf>>g---f>>g- -'԰fe;UV*-*-E\newarrowfDotstogt....>"Ѝu. |u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.4-E\newarrowfDashtogtfgfdashgfgfdashg>"8fe8fe8fe8fe8fe8fe8fe8fe8fe8fe8fe8feH-E\newarrowfCorrespondsgt<--->"*&Tfe@N*-E\newarrowfCrossedIntogtfboldhookg-+->!vncmbsy5v&?Xfe1Ǎ*++vfem*-E\newarrowfImpliesgt====f=>g"ō=㏍============4)E\newarrowfMapstogt|--->"ZB!fb"弟feDDF*-E\newarrowfIntogtC--->!v&?Xfe@ꪍ*-E\newarrowfOpenintogtftriangleg--->"T.&\fe@*-E\newarrowfCongruentgt33333"sE\newarrowfTeXtogt----f->g"Zfe?*+!E\newarrowfBackwardsgt<----"*&TfeD*E\newarrowfMultigt----o"ZfeC*+E\newarrowfCrosstogt----X"ZfeEhc+E\newarrowfPartialgt----fharpoong"Zfe?*+*E\newarrowfTeXontogt----f->>g"Zfe?*+# msam10 ō'Note vFthatthe{->>}, ؿ{harpoon},{->} vFand{=>}headsuseTU>'ExX's'\rightharpoondown(+),l\rightarrow(!)and\Rightarrow())symbGols,'consisting ofheadswithshafts.Also,MStheboldbooktailusesL5ffA͉TU>'ExX's\boldmath:'please'seethenoteabGoutheads=littleveeonpage11.ThehookandCtails'arethesame. 6Eachdeclarationύbi&\newarrow{Name[}{tail}{ ller}{middle}{ ller}{he}'ad}'de neseightarrowcommands;<˸nrNameoright2[orʎeast <˸nlNameoleft9#orʎwest<˸ndNameodown0orʎsouth<˸nuNameoup<\orʎnorth<˸nruNameoright&uporʎnortheast<˸nrdNameoright&down orʎsoutheast<˸nluNameoleft&uporʎnorthwest<˸nldNameoleft&downorʎsouthwest֎9r,luJ+uqr,ru&)I&)@/\ӟ*@8}V@@'@N)W\ӟV`}*h'h) +l(֟-'feL6L~!!feN)fe *-t+r&) &)/\ӟV8}*@'N)@W\ӟ*@`}V@h'@h)Rr,ldJ+d㎍L?L~㎉feqr,rd'fromthe venamedcompGonents. zZ94 'PaulT*aylor'scommutativediagrams,version3.81,18July1994>K999u 6SomegbutnotallofthenamesgivenintheexamplesabGovearede ned 'inTthesourceofthepackqageasdistributed. HHoweverthisisonlyreally'intendedforreversecompatibility*,lbGecausejustasitisbettertode nea'macro\isomorphicforthesymbGolT͍+3=(ifthatiswhatyouuseittomean)'thantowrite\conginyourdoGcuments,soitisadvisabletode nethearrow'commandnamesinthe lewhereyoukeepyourprivqatecollectionofsymbGols.6F*orPexample, $ifinyoursub8jecttherearespGecialkindsoffunctions'knownstandardlyasimmersions,dinclusionsandinternalisationsandwrittenas&Xv+fe a*-UX+,2- ࡄfe˧*- \and cY. fe *-,thenyoushouldde ne\rImmerse,\rIncludeand'\rInternaliseD&insteadofusingthenames\rInto,U0\rEmbedand\rOpeninto.'Themottoiswhatyouse}'eiswhatyoumeanc! 7.ThisavoidsremembGeringor'gettingconfusedabGouttheso-calledstandardmacronames,andalsoenables'youtochangeyourmindabGoutthenotationifitisnotstandardbutsub8ject'toexpGerimentation.6Theh compGonentsasgiveninthe\newarrowcommandaremnemonics,qwhich'arethemselvesde nedusingthecommands33\newarrowhead,\newarrowtail,\newarrowfillerand\newarrowmiddle.'MostofthecharactersinthestandardTU>'ExXComputerMoGdernfontswhichare 'appropriateMforthesecompGonentshavealreadybGeenusedinthepackqageand'are5illustratedabGove.If5youwishtode neothercompGonents,,Ctheexamples'attheendofthesourceshowhowtodothis. {Ifyouaredoingthiswith'publiclyavqailablefonts,,{>>},<,{<<},x,+,O]and~ocanbeusedbothasheads'( fth2pGosition)andtails( rst). Thedeclaration<----de nes\rBackwards'tobGealeft-wardpointingarrowand\lBackwardstopGointright; thisis'notrecommended,Basyou'recertaintogetconfused. W*eshallseeinthe'nextsectionhowtochangethestyleofthefourarrowheadcompGonentsina'systematicQNway*,t?therebyavoidingtheuglymixtureofveeandL5ffA͉TU>'ExXarrowheads'obtainedusingearlierversionsofthispackqage.6InnDsomeoftheexamplesabGovenD(withthedotandrule llers)the ller'wasC(repGeatedasthemiddleandoneorbothofthetips,Swhereaswithothers'(dash)"weusedemptymiddleandtipsinstead. [Thiswasjusttomakethe'de nitionseasiertotypGe:ؿ\newarrowtreatsmiddlesandtipswhichagreewith'the+ llersasemptyones.ItispGossibletousetwodi erent llers,6hbutthisis'notrecommended.6Thecommands\HorizontalMapand\VerticalMaparestillsuppGorted,but'should^bGereplacedby\newarrow. 8TheseoughtonlytohavebGeenusedin'macro* les|notinthetextofdoGcuments|tode nefourarrowcommands'together(right,*left,upanddown).5Thetwentyargumentsde ningthe ve'compGonents9;ofeachofthesefourarrowscan(ifthey'renotalreadyprovided)'bGere-arrangedasthefourargumentsofeachof ve\newarrowhead,Aetc.,'declarationsVwiththesamee ect. Themnemonicsofthe vecompGonentsare'thenDgivento\newarrow. =Ifyouhaveanydicultydoingthisconversion,'pleasecontactme. f94 '106xʲ7.rDe ningarrowstyles9u 'h8@ wOptions/'Thew\diagramor\begin{diagram}commandandthearrowcommandsmay 'bGefollowedbyalistofoptionsinsquarebrackets,forexample~e\l\begin{diagram}[size=2em,textflow]\rTo[abut]'whichapplytothediagramorarrowtowhichtheyareattached.wOptionsmay'bGe}&givenforanentiredoGcument,porwithinTU>'ExX'snormalscopingrules,bya'stand-alonecommandsuchasfL\diagramstyle[centredisplay,PostScript=dvips]'Y*oumayuseanynumbGerof\diagramstylecommands. InL5ffA͉TU>'ExX2"2Wthese'optionscanbGegivenwhenloading:QLȿ\usepackage[centredisplay,PostScript=dvips]{diagrams}'thoughyoushouldavoidusingmacrosintheoptionvqalues. 6Note:if)thetextofthe rstcellinadiagrambGeginswithasquarebracket,'theprogramwillattempttoreaditasanoption,Ajustassquarebrackets'within’L5ffA͉TU>'ExXarrayscancausetrouble.d'Thisusuallyleadstoacatastrophic'error, whichcanbGeavoidedusing\diagramstyle[nooptions].%Thisproblem'doGesn'tariseinL5ffA͉TU>'ExXifyouuse\begin{diagram}followedbya(spaceor)'newlinebGeforethetextofthediagram.6Someoptionstakeavqalue,usinganequalssign;thoseenclosedinsquare'bracketsbGelowareoptional,Etheothersmandatory*. *AMostoftheoptionsare'appropriatefordiagramsratherthanarrows.dz"abut|PLeave-NnogapbGetween-Nmapsandob8jects;susefulfor(\Hasse")diagrams@displayingorderstructures(page17).("alignlabels|uThe:labGelsonhorizontalarrowsremaincentredinthecells@whereMtheyarede ned,despitedi erentsizeendpGoints;acf. 4midshaft.@This^isthedefault,anditisrecommendedfordiagramsofaregular@character.1#IfthereisinsucientspacetopGositionthelabelsinthisway*,@theyXarecentred(automaticallyandsilently)instead.yWhicheveroption@isused,themiddleofthearrow,ifpresent,isalwayspGositionedwiththe@labGels."amstex|[?EnablerecognitionofAU>'M S-TU>'ExX'scommutativediagramcommands;@seesection14."balance|`Thekwholediagramiscentredhorizontallywithoutregardtothe@left-andrightmostlabGels,[9sothatitsweightliesinthemiddleofthe@page.QThismisnotthedefault,bGecauseifyouwerenotawareofitthe@gapswouldcomeasasurprise,butitisrecommended."bottom|[?When(thediagramisplacedalongsidesomesimpletext,Sthebaseline@ofthattextisalignedwiththatofthebGottomrowofthediagram."centreorcenter|&Thediagramiscentred^5 naqvely*,`usingnobalanceand@vcentre;cf.middle."centredisplayorcenterdisplay|ئDisables ۿflushleft, enablesbalance@andgivesawarningwhenusedwithin$$...$$(seebGelow).'ff J= "5-:B5LANotice+thatI+YhaÎve+providedthe\-er"alternativeasacourtesytoAmericanusers whicÎhDonaldKnuthandLeslieLamp <+andfe|BT>FBT.%Othersimilaradjustments@may;alsobGemadetocharacterpGositioning. $Mostocelaserprinters@are300dpi,4Pbutifyouintendtouseaprinterofadi erentresolution@foryour naloutput,setdpi=1270orwhatever|otherwisetheshafts@willbGetoolowinstead.IZThesameappliesifyouintendtomagnifyor@reduce;forexampledpi=212shouldbGeusedfortwo-uporA4-on-A5 nal@printing.InplainTU>'ExXyoumayset\magnificationatthebGeginningof@thex le,=butdonotkֲchangedpiasthiscompGensatesautomatically*.kThe@nopixeloptiondisablesthefudgefactor."dpm=r}'esolutionc||AsdpibutindotspGermetre;e.g.r1270dpi=50000dpm."eqno=lab}'el|i\Place lab}'el(inmathsmoGde)besidethediagram,asanequation @numbGer."fixed|UF*orcediagonalarrowstobGesetonthe rstpassandnotstretched."flushleft[=widthc]|ODisplay=thediagramontheleftofthepageinsteadof@thescentre. wlIfwidth8 isgiven,Гtheleftmostverticalofthediagramis,@ifьpGossible,alignedatthatdistancefromtheleftedgeofthepage;:Rcf.@fleqn.sty. )and{>>}arrowheadsandtailstothosede ned@by'w\newarrowhead{name[}and\newarrowtail{name}.Thefollowingstyles@arecurrentlyavqailable:ǍpYLaTeX.-ܟfe-UN*---fe%UV*-*-0(default;usesline10)Yvee.>fe+UD|+>+>+>fe#UL|+>x+>Ylittlevee.>۟fe,Ԅ+v>П>̟>+yfe$Ԍ+v>+r>Yboldlittlevee.r*cmmib7r>Xfe+f>=>9>Ecfe#f>b>0(uses\boldmath)YtriangleT׵.fe)*+.X+.T+.fe"*+.*+.Yo.fe)*+*+*+fe"*+*+YO. fe$* ̟ ȟ #;feʍ* * YX8hcfe,8Ѝc++{+-fe$8؍c+c+Y+.+fe%*++G#++G++"8fe*++*++Ycurlyvee.fe+UD|+++fe#UL|+x+0(usesAMSsymbGols)Yblacktriangle.Ife&jt+I͟+Iɟ+I!㓄fert+Ip+I0(usesAMSsymbGols)Ylittleblack.$u7msam7Ikfe*tI1ΟI1ʟIfe"tIpI0(usesAMSsymbGols)@TheZverticalcurlyveeheadscomefromtheAMSZsymbGols,Tandthe@horizontals,Kfrom 3cmsyintheComputerMoGdernfonts,KseemappGearto@bGe~slightlymis-alignedwiththeveeheadsfromcmmi.Ifyouusethem@butPforgetto\usepackage{amssymb},dyou'llgetan\undefinedcontrol@sequence"?errorinthemiddleofalotofgarbage(deeplynested):hit@returnseveraltimesandcarryon. <94 '12)>x-v8.rOptions9u @TheCboldlittleveeheadsrelyonL5ffA͉TU>'ExX's\boldmathcommand,and @defaulttolittleveeinplainTU>'ExX.\Theymaynotworkcorrectlyifyou@usexLeslieLampGort'soldL5ffA͉TU>'ExX2.09fontselection. EvenifyouuseF*rank@Mittelbach4andRainerSchopf'snewone(whichispartofL5ffA͉TU>'ExX2")޲)some@PK leswhicharenotinthestandarddistributionmaybGeneeded.iItis@onlyintendedfor nalcopyintheeventthatthelittleveeappGearstoo@feint.rThesameappliestotheboldhooktails.ߒ"height=distanc}'e[|BThe($distancebGetween($thebaselinesofsuccessiverowsin@the=diagramisasspGeci ed.)Notethatasob8jectsandarrowscommonly@alternate,}this1isusuallyhalfthedistancebGetween1onehorizontalarrow@andthenext."hmiddle|`Sameasbalance."htriangleheight=distanc}'e[|Setxheight=distanc}'e8andthenwidthinsucha@way(!thattheminimal3@N5-grid(!willmakeanequilateral.triangle,2*and@a5]7-gridmakesaregularhexagon(page19).tiIfthedistanc}'eXisnot@spGeci ed,theexistingheightisusedandthewidthadjustedaccordingly*."htrianglewidth=distanc}'e[|BSethwidth=distanc}'e(\andthenheighttomake@these gures."inline|[?UsethisoptiononindividualdiagramswhicharebGeingdisplayed@alongsideloneanother,iforexamplein$$...$$orL5ffA͉TU>'ExX'scenteror@displaymathNenvironments,bwhentheglobaldisplayoptionisflushleft@orcentredisplay."l>=distanc}'e[|oBF*orces+arrows(particularlyhorizontalsandrotateddiagonals)@toyhaveatleastthespGeci edlength(default2em),toavoidgettingbirds'@feetinsteadofarrows:Afeۄ|+>F+B!.Sometimesthismakesthearrowover-print@an&ob8jectorappGeardisplaced;inthiscaseyou'llseean\over-full\hbox"@or\increasecellwidth"errormessage."labelstyle=c}'ommand|kInserts }thiscommandineverylabGeltext;@\scriptstyleisthecommonestchoiceapartfromthedefault."landscape|jIfUlPostScriptisenabled,rotatetheentirediagramby90^@anticloGckwise.OptionsD~whichrefertotheextremerowsandcolumnsare@moGdi edaccordingly*.kUsefulforbigdiagramswithlongob8jectsorlabels."large|USameassize=5em."lefteqno|ePlace)MtheequationnumbGer,3as)Mgivenbyeqno,3ontheleftofthe@diagram."leftshortfall=distanc}'e[|ThegapbGetweenthearrow(towhichitisapplied@individually)andtheob8jectonitsleftisasspGeci ed."lowershortfall=distanc}'e[|BSimilarlybGelow."loose|UTherowsandcolumnsofthediagramhaveatle}'astޝtheheightand@widthddspGeci ed,}~butmaystretch,}~inthesamewayasthoseofanarray@or\table.ͅThisisthedefault,sbGecausetheresultsaremoreoflessright@inEOmostcircumstances,Vbutthiscanresultingapsinthediagram,soit@ish recommendedthattightbGeusedinthe nalversionofadocument,@withappropriatemanualadjustmentofthesizeofthegrid."middle|[?ThediagramiscentredbGothhorizontallyusingbalanceand@verticallyusingvmiddle,q.v. 994 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;139u "midhshaftormidshaft|fLabGelsfarecentredintheshaftsofhorizontal @arrows;$cf. f-alignlabels.ThishappGensautomaticallyforin-textor@one-linediagrams,orifthearrowistoGoshorttoalignthelabels."midvshaft|jThesameforverticalarrows:rnotrecommended."moreoptions|uAllowDanotherlistofoptionsinsquarebrackets.xThisisintended @formacrosoftheform\def\funnydiagram{\diagram[options!,moreoptions]}@toallow\funnydiagram[options!]. [/Thearrowcommandsalwaysallow@anynumbGeroflistsofoptions."nobalance|jHorizontal>centringofdiagramsisdonewithrespGecttothe@extremities."nohcheck|eDisablescertainerrorchecking."nooptions|jUsedhin\diagramstyle,CAthisdisablestheparsingofoptions.@ThisCisforreversecompatibilityinthecasewhereseveraldiagramsbGegin@withasquarebracket."noorigin|eDisablesoriginandbalance."nopixel|`Disable thedpifudgefactor,:q.v.,by settingaveryhighresolution."noPostScript|zDisables]theuseofembGeddedPostScriptandfGthePS]and@noPSAoptions.TheCvqalue,ifany*,isignored,soyouneedonlyeditin/out@thepre xnowhilstleavingthechoiceofPostScripttranslatorintact."noPS|PDisablePostScriptonindividualmapsanddiagrams."notextflow|p?DisablesYοtextflow. Thisisneededonsomeindividualdiagrams@(where]theyappGearasnounsinasentence,tforinstance)whenyouuse@\diagramstyle[textflow]."noTPIC|[?DisabletheuseofTPIC\specials."objectstyle=c}'ommand|.hInserts thiscommandineveryob8jecttext;@\scriptstyleisthecommonestchoiceapartfromthedefault."origin|[?Makes thewidth,_heightanddepthofthewholediagramzero,@loGcating;Yitatthebaselineofthebottomrow,/inthecentreofthe@leftmosts column.uThisallowsittobGepositionedbytheuser;usefulfor@mixingdiagramswithL5ffA͉TU>'ExXpicturesandothergraphics."p=distanc}'eorpilespacing=distance[|lSet pkthedistancebGetween pkparallel@verticals(inthesamecell); thatbGetweentherowsofa\pileis@halfofthistoallowthingstobGeputbetweenparallelhorizontals."pixelsize=distanc}'e[|Anticipatethisoutputresolution;X(pixelsize=.02true@mmisthesameasdpi=1270ordpm=50000."portrait|eDisablethelandscapeoption,q.v."PostScript=author|5Enable ެtheuseofembGeddedAdobePostScript@\specialccommandsinaformsuppGortedbyauthor'stranslator. EThe@followingarecurrentlyrecognisedbytheauthors'surnames,Ctheirprograms@orx-v8.rOptions9u LV(Stephan)Bechtolsheim,dvitps,IntegratedComputerSystems: Varthur.cs.purdue.edu/pub/T*eXPS-9.99.tar.ZLV(James)Clark,dvitops@These;arecurrentlyusedtoimplementdiagonalsbyrotatinghorizontals.@ItisnotpGossibletouseAndrewT*revorrow'sOzTU>'ExX."PS|F?SuppGoseyouwanttousePostScriptforsomebutnotallmapsand@diagrams+pinthe nalversion. ThenusePS+#foreachofthembutput@\diagramstyle{noPostScript}inthepreambleduringdrafting."righteqno|jPuttheequationnumbGer(eqno),ifany*,ontheright."rightshortfall=distanc}'e[|BAnalogoustoleftshortfall."s=distanc}'e[|jSameassize."scriptlabels|zLabGelsonmapsaresetin\scriptstyle;usefulifthey're@ratherlong."shortfall=distanc}'e[|SetthegapbGetweenarrowsandtheob8jectstowhich@theypGoint."size=distanc}'e[|ySetbGothheight=distanc}'e[andwidth=distance.NIJMostgeometricalproblemswithdiagramscanbQesolv9edbyP9enlargingthecells.rPleasetrythisandthetightoptionbGeforecontactingme."small|USameassize=2em."textflow|eThejtextwhichfollowsthediagramintheTU>'ExXsourceisbrought@uprto lloutthelineprecedingit;Musefultoavoidrthe\suchthatthe@diagramњ|commutes"clichGe. ThishasbGeenusedforseveraldiagramsin@thismanual."thick[=br}'eadthc]|As L5ffA͉TU>'ExX\thicklines,optionallysettingthewidthof@orthogonalruledlines. $TheL5ffA͉TU>'ExXcommanditselfhasnoe ectwithin@diagrams.rThedefaultrulebreadthistwicethatforthethinoption."thin[=br}'eadthc]|PThiseissimilarlyanalogousto\thinlines.Thedefaultrule@breadthjisthesameasthatusedbyTU>'ExX,namely\fontdimen8\textfont3."tight|UF*orceallofthecellsinthegridtohaveexactlythesizeyouspGecify.@This+isrecommendedforthe nalversionofadoGcument,5butisnotthe@default\mbGecauseitmaycauseover-printing,}$whichrequirestheintervention@oftheusertocure(bysettingheightandwidth);cf.rloose."top|KAnalogoustobottom,exceptthatthetoprowisused."TPIC|PUseTPIC\specialcommandsinsteadofL5ffA͉TU>'ExXlinesegmentsto@drawdiagonallines. ThesearesuppGortedbyTextures,T*omasRokicki's@dvipsandPaulV*o8jta'sxdvi."uppershortfall=distanc}'e[|BAnalogoustoleftshortfall,exceptabGove."vcentreorvcenter|V*erticalkpGositioningisthesameaswithTU>'ExX's\vcenter@commandNorL5ffA͉TU>'ExX's[c]option. _HoweverNvmiddleiswhatisusually@wanted.䬠94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;159u "vtriangleheight=distanc}'e[|Setxheight=distanc}'e8andthenwidthinsucha @waythattheminimal5;ָ3-gridwillmakeanequilateral4triangleand@a985-gridmakesaregularhexagon(page19)."vtrianglewidth=distanc}'e[|BSethwidth=distanc}'e(\andthenheighttomake@these gures."vmiddle|`IfadiagramwithanoGddnumberofrowsofconstantheight(the@usualcase)isplacedalongsidesomesimpletext,thebaselineofthetext@willdbGealignedwiththatofthemiddlerow,}irrespectivelydoftheheight@and depthofthelabGelsonthetopandbottomrows. =mIngeneral,Mthe@baselineaofthediagramishalf-wayabGetweenthoseofthetopandbGottom@rows."w=distanc}'eorwidth=distance[|SetthedistancebGetweenthecentreofone@columnandthenexttotheright.#č'h9@ wApplicationtoadjunctions'Here0isasideapplicationofcommutative0diagramstodisplaying\adjoint'correspGondences." X&Italsoillustratesthewayarrowsstretchtomeettheir'endpGointsE_butkeeptheirlabGelscentredinthecolumnofarrows.Theoptions'are chosentoavoidgettinglotsofextraspacearoundthecells,(whichinthis'casewedon'twant. Noticealsotheinvisible\ob8jects"terminatingthe\hLine'\morphism"command.Nnqɍ'\beginfdiagramg[loose,height=.8em,width=0pt]"qǍm&Z\timesX&)\rTo^fU&Y9\E\\`<\m&&)\hLineU&9\E&\N;\\m&Z&\rTo^{{\bfcurry}(f)}U&Y^X9\E\\'\endfdiagramg*$LiZ8XȌfe5kL f*-M[Yifeaj f\Zffe=3em,midshaft]"qǍb&Zr\&{}\timesX&)\rTo^f)O&YC?\\U\b&r\&&)\hLine)O&C?&\X5\\b&Zr\&&\rTo^{{\bfcurry}(f)})O&Y^XC?\\'\endfdiagramg*$LiZz8X͌fe+kLf*-M[YifeWj fiZBfe<ލμwcurry(f)*-IY8X:{'The̿{}makessure\timesstillgetsthespacingappropriatetoabinary'opGerator.'X-ff J= "5-:B6LAThereCisnowÎayCofdetectingMwhereAglueisplacedinsideab'ExX's\linesand\vectors,thesearegiven'pairsEof(small)pGositiveintegersinroundbrackets,~exceptthatthereisno'restrictiononthevqalues.6HoweverthesenumbGerscountthec}'ells,"khorizontallyandvertically*,"kthrough'whichthearrowpasses,ratherthantheabsolutedistance.qThismeans^7 "pthatif'theDheightoftherowsandthewidthofthecolumnsaredi erent,j\ruTo(2,2)'isnolongera45^ slopGe.6ThenamesofthearrowcommandsspGecifythehorizontaldirection rst,as'areminderthatthisisalsotheconventionforcoGordinates.6Anotherudi erencefromtheorthogonalarrowsistheruleforwheretoplace'thecommand.rSomewhatarbitrarily*,thisis4E@inS>therowb}'elowtheupperendpointF(irrespGectivelyofthedirection@ofthearrowheads,ifany),andintheadjoiningcolumn'InYthecommonestcase(thediagonalofasmallsquare)thismeansthemiddle'ofwthesquare;3moregenerallyforpGositivegradients(\ruToand\ldTo)the'arrow8commandgoGesbelowandtotheleftoftheupperendpoint,andfor'negativegradients(\rdToand\luTo)bGelowandtotheright. =6F*orj example,Čhereisthediagramwhichde nesapullback. ZThecorner'symbGolCisamacro(\SEpbk)placedinthesamecellastheob8ject,Tbutwhich'printswayoutsideit.lгqɍ'\beginfdiagramg:qǍU&r&I<;&s<"&< \\&\rdTo~{(x,y)}\rdTo(4,2)^x\rdTo(2,4)_yr&I<;&s<"&< \\&r&X\times_Z\SEpbkYI<;&\rTo_ps<"&X< \\&r&_\dTo^qI<;&s<"&\dTo_f< \\&r&,YI<;&\rTo^gs<"&Z< \\'\endfdiagramgJ vUlt@lv@(x;y[ٲ)lv @lx@lxRltHluHlvHlwHlxHlyHlzHl{ Hl| Hl}Hl~Hxl~jLr@A 5A&iAy@ A2ڟ At A)9A_3fmAB<١AܟFLAӌvO A&)vyӌzO UʋkX¸Z ? ~C ;YMfe@ Np*-㜵X<hYfq*v?9G*+fepfe(ˍ8g*-*Z*v?9M*-*fefKc6F*or[reversecompatibility*, 2somecommandswith\compass"namesare'provided,Msuchqas\NW,\WNW,\NNNW,togetherwithdottedandothervqariants.'|ff J= "5-:B7LAThisrepresenÎtsachangefromversion3,dinwhichtheywererequiredtob'ExXline'segments.a_Bycontrast,thehorizontalsandverticalsuseruledlineswherever'pGossibleandareadjustedonasecondpassofthediagram(withinthe'\enddiagramcommand)tomeettheirendpGoints.6Whenthediagonalsaresetduringthe rstpass,ereverythinghappGens'withinthecellwheretheyaredeclared,wherethealgorithmhasnoaccessto'informationl1abGoutthesize(andexactwhereabouts)oftheob8jectsatwhichthe'arrows]aremeanttopGoint.5Thereforethelengthsofthediagonalsarechosen'somewhatarbitrarily*,thoughtheabutoptionwillmakethemtoucha\cdot.6T*o:getbGetterresultswehavetousemoresophisticatedmethoGds,Iandgo'outsidewhatisstrictly\standard"TU>'ExX."'h11H&AlternativeTL32EdXnology['InordertogetthebGestresults,gdyoushouldbeawareofthewayinwhich'diagonalsareconstructed.[TU>'ExXisultimatelyonlycapableofpGositioning'charactersfromvqariousfontsanddrawingblackrectangleswithhorizontaland'vertical4sides:=thereisnoprimitivefordiagonallinesorforrotation. "This'meansthatwehaveu?6@eithertojuxtapGosecharacterswithalimitedchoiceofangles, asL5ffA͉TU>'ExX's@\lineFand\vectorcommandsdo,withtheresultthat(bGecauseofpixel@roundingerrors)theymaynotlineupcorrectly*,Ȁ6@ortousetheloGopholeintheDVIelanguageprovidedbythe\special@commandftotellsomepGost-processingfsoftware(suchasdvips)todothe@workforus,therebysurrenderingpGortability*,6@orhotoover-printhoalargenumbGerhoofdots,makingtheDVIhU leverylarge@since.atleast12bytesareneededforeachdot. ThisiswhatPП'IDCfTU>'ExX@doGes.Y94 '18xi11.rAlternativeTU>'ExXnology9u 'InYthispackqageoptionsareprovidedtoemploythe rsttwoofthesemethoGds.6@Byydefault,͗charactersfromL5ffA͉TU>'ExX's^8 line10fontareused. Arrowheads @fromB thisfontareusedirrespGectivelyofthosechosenbytheheadsoption.@Thenearest^9 ,avqailableL5ffA͉TU>'ExXslopGeischosen,'withthee ectthatarrows@may8sometimesfallshortorovershoGot:heightandwidthshouldbeset@withthisinmind.6@IfthePostScriptoptionisenabled,6horizontalarrowsareused,6and@\specialF޲commands^10 IJareembGeddedintheDVIF lewhichhavethee ect@ofrotatingthem.OIftheDVI leispGost-processedbyaprogramwhich@doGesGDnotunderstandAdobePostScriptanerrormessagewillprobably@bGegeneratedandthearrowswillappearhorizontal.@CurrentlyGthelabGelsarerotatedwiththearrows;jlatertherewillbGean@optioneithertodothisortosetthemhorizontally*.@Literal#PostScriptcommandsareincludedintheDVI2 leusing@TU>'ExX's`+\specialcommand.'ExXPostScripttranslator@bGecausethissortsthecharactersoneachpagebyfontandcannotdeal@with\specialcommands.6@IfN$theTPIC^11 optionisenabled,aasimplersetof\specialcommandsis@usedOtodrawdiagonallines,butrotationisnotavqailable. dvipsand@xdviunderstandthese,fbutotherpGost-processorsmaygiveerrormessages@andprintnothing.'NoadditionalmacropackqagesorspGecialknowledgeareneededtomakeuseof'thesemethoGds:rallofthenecessarycodeisbuiltintothediagramspackqage.6F*utureversionsmayexploittheseextensionstoprovideotherfeatures,Ȝsuch'asAcurvedlines;boindeedthisislikelytobGethemaindirectionoffurther'development.rOthermethoGdsmayalsobeprovided.rHowever6@ifR"noextensionoptionisselectedastandardDVIR le(usingtheline10@font)9willbGealwaysgenerated,givinganapproximationtothefeatures@requested.6@developmentofnewfeatureswillusePostScriptmoGde,zwithoutwhicha@\secondclassservice"willbGeprovided.'X-ff J= "5-:B8LATheݎco "5-:B9LATheapproÎximationusescontinuedfractions,|MaliasM_AEuclid'salgorithm,withacorrection.Thereisalsoco'ExXmethoGddoesnot|thoughitissurprisinglyaccurate!2\uops:/bturn {gsave currentpoint currentpoint translate 4 2 roll neg exch atan rotate neg exch neg exch translate } def /eturn {currentpoint grestore moveto} def[ލfe(Rps:56 97 bturnTfe'<'<ps:eturn<ps:56 -97 bturnTfe'<'<ps:eturnfe(ps:56 -97 bturnTfe'<'<ps:eturn<ps:56 97 bturnTfe'<'<ps:eturn[ލfe(R|=_vݟdd}-fd-TCdTv_TdTfd+L5ffA͉TU>'ExX|-T=dTvݟ_Td}TfdC_vdd-fdfe(4鍑'Thevtrianglewidthoptionanditsvqariantssetthewidthandheightof'thefcells,butthearrayretainsthesymmetryofarectangle.uT*esselationsof'trianglesandhexagonsmaybGedrawninthisway*.6Drawing(awlxR슟@l@쌟@l @쎟@ڡڵb쎟R,xAyfedߖdf*-h^0ŹcLΉ"LfefBBQC0M"g[ٟ^0pV?VBp^fe`AfewPfe0.kP^0*->0DG0p?Źdp4H\feYlt@`u@hlv@ow @wlx@gcwlxR슟@l@쌟@l @쎟@ٸd쎟RC}^g*?E*i*feޟfedu k*-8D*?O*i*fehcL'WithoutthePostScriptoptionthediagonalarrowswillnotbGesetcorrectly*."'h13H&EmulationofTL32EdXercise18.46t'ThisandthenextsectiondescribGehowtoconvertdiagramsinyourexisting'doGcumentswhichweredrawnusingothercommutativediagrammacropackqages'tousethisone,<whereverpGossiblechangingonlythepreambleormacro le'andnotthetextitself.6ExerciseX18.46ofTheTKß'E-Xb}'ook l3providedXsomeideasforcommutative'diagrams,$fromwhichthepresentpackqagewasoriginallydevelopGed. The'followinginstructionsarebasedonwhatisgiventhere, butifyouhaveadded'otherarrowmacrosyouwillhavetoworkouthowtore-de nethemby'followingtheexamplesgiven.6IfyouhaveusedtheTKß'E-Xb}'ook macrosastheystand|with\matrix'enclosing1thediagram|youwill rsthavetodistinguishbGetweenthediagrams'andarealmatrices.(IfyougivearraysofnumbGerstothecommutativediagrams'packqage,’they6willcomeoutratherwidelyspaced.)ThisproGcessisunnecessary'ifOyoualreadyhaveamacrofordiagramsratherthanmatrices:justre-de ne'thatinasimilarway*.6In@_yourmacro leyouprobablyhavesomethinglikewhatfollowsthe'\iffalsencommandbGelow,butwithadditionalmacroswritteninasimilarway'(thisisthereasonforsettingitalloutingorydetailinthemanualrather'thanprovidinganextrainput leasinthecaseofsomeofthe\packqages"D94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;219u 'describGed|inthenextsection).IfyoumakethefollowingadditionsyouwillbGe 'able"toreverttotheoriginal(intheunlikelyeventthatyouarenotsatis ed)'bychangingthisto\iftrue.6Thisisnotparticularlydicult: D when,asaTU>'ExXnovice,Iwrotemy'Ph.D.lthesisinAugust1986,҇IhadsixtydiagramsdrawnusingtheTKß'E-Xb}'ook'macros,gtogetherAdwithseveralothersthathadtobGedrawnbyhand.Recovering'thatAfromanarchiveAtapGe,gIrecentlyfoundthatallbut veofthesixtycould'bGeAconvertedwithoutanychangeatalltothetext,jwhilstthehand-drawn'onescannowbGedrawnwiththeup-to-datepackqage.@^ߤN cmtt9^\iffalse J%yourmacros,copiedoradaptedfromTeXercise18.46(page325)J\def\mapright#1{\smash{\mathop{\longrightarrow}\limits^{#1}}}}F\def\mapdown#1{\Big\downarrow\rlap{$\vcenter{\hbox{$\scriptstyle#1$}}$}}J%J\let\cdmatrix\matrix%reverttousing\matrixfordiagrams@\elseJ%Replacementfortheaboveusing...J\inputdiagrams%PaulTaylor'sdiagrams.@%J\def\mapright#1{\global\matrixwascdtrue\rTo^{#1}\relax}J\def\mapleft#1{\global\matrixwascdtrue\lTo^{#1}\relax}J\def\mapup#1{\global\matrixwascdtrue\uTo>{#1}\relax}J\def\mapdown#1{\global\matrixwascdtrue\dTo>{#1}\relax}@%J%Maybeyouhavesomevariantslikethis:J\def\mapupbefore#1{\global\matrixwascdtrue\uTo<{#1}\relax}@%J%Thefollowingexamplesmayalsobeuseful:J\let\into\rIntoJ\def\horizadjoint#1#2{\pile{\lTo^{#1}\\\bot\\\rTo_{#2}}}J\def\vertadjoint#1#2{\dTo<{#1}\dashv\uTo>{#2}}@%J%Hereisareplacementfor\matrixwhichgivesacommutativeJ%diagram,includingsomeextramacrosforuseinsidethem.J\def\cdmatrix{\bgroupT\edef\matrixlineno{\the\inputlineno}\global\matrixwascdfalseT%SB\let\matrix\pile`%inner\matrixisprobablyparallelhorizontalsT%T%re-definethediagonalarrowsOn\let\nwarrow\luTo\let\nearrow\ruTo\let\swarrow\ldTo\let\searrow\rdToT%T\diagram[]%beginthediagram(withoutoptions)SN\getthematrix%ɨdeletethislineifyouuseamstexratherthanplainT}J\def\getthematrix#1{#1\endcdmatrix}J\newif\ifmatrixwascdJ\def\endcdmatrix{\enddiagram\egroup}@%J%ThefollowingtellsyouwhetheritwasactuallyadiagramorJ%amatrix.Removethiswhenyou'vechangedthose\matrixJ%commandsinyourtextwhichshouldbediagramsto\cdmatrix.J\def\endcdmatrix{\enddiagram\egroupT\expandafter\message{^^JThe\string\matrix\spaceatlines^\matrixlineno--\the\inputlineno\spacewasreallya^\ifmatrixwascddiagram\elsematrix\fi.^^J}}J\let\matrix\cdmatrix\let\endmatrix\endcdmatrix@%TQ94 '22x 13.rEmulationofTU>'ExXercise18.469u @^\fi%6ThecoGdeasshownaboveassumesyouhaveTU>'ExXversion3(toprovide '\inputlineno);mit4printsa\messagetotellyouwhethereach\matrixhas'usedanyarrowcommands.Withacleverchoiceofthismessageyoucaneven'getyoureditortomakethenecessarychangestothetextforyouinbatch'moGde!rDeletetheextracodeafteryouhavedonethis. Ć6Beware5thatAU>'M S-TU>'ExXuses\matrix#1\endmatrixinsteadof\matrix#1.'In:thiscase, delete\getthematrixasindicated. Then(whereappropriate)'changeҿ\endmatrixaswellas\matrix. Thesameappliesifyouhaveused'thearrayenviromentinL5ffA͉TU>'ExX."'h14H&Emulationofothermacropackages'ThereareseveralotherTU>'ExXmacropackqagesincirculationfordrawing'commutativediagrams,ofvqaryingdegreesofsophistication.qThissection'describGesXKhowtoadaptthepreambleofanexistingdoGcumentwhichwas'written^gtousesuchmacrossothatitprintsdiagramslikethoseinthis'manual%|instead.WhenyoupublishdoGcumentspreparedinthisfashion,.please'remembGertoacknowledgetheauthorsofbGothpackqages, makingitclearwhich'youۚusedtotypGetheoriginalsourceandwhichproGducedthe nishedproduct.֟'American$MathematicalSoQciet9y(AU>'M S-TU>'ExX,PlandAU>'MS-L5ffA͉TU>'ExX'samscd.sty):'seeMichaelSpivqakbGelow.'Mic9haeldBarr'scatmacmacroswerebasedonaprincipleofoverlapping'squares. Whilst2thisispGerhapscloserconceptuallytothecategoricalideas'whicharebGeingexpressed,itisnotpossibletoemulatethelanguageusingthe'matrixsyntax.rThesimpleshapGemacroscan,however,bGereplacedby֟@\def\square[#1`#2`#3`#4;#5`#6`#7`#8]{%O\diagram[]^{#1}&\rTo^{#5}&{#2}\\^\dTo<{#6}&&\dTo>{#7}\\^{#3}&\rTo^{#8}&{#4}O\enddiagram}'and#similarly\atriangle,a,\btriangle,\dtriangle,\ptriangle,'\qtriangle, \Atriangle,\Ctriangle,\Driangle,\Vriangle,\Arianglepair,'\Vrianglepairand\recurse,whichareeasyexercises.֟'KarlBerry'seplain:rseeStevenSmithbGelow.'F rancisHcBorceux'sdiagrampackqageusesL5ffA͉TU>'ExX'spictureenvironmentinstead 'of-TU>'ExXarrays,WbutsinceitisdesignedinanarrayfashionitcanbGeinterpreted.'Insteadofthat le,use@\inputdiagrams@\inputBorceux-to-Taylor'ThisPisavqailablefromthesameplaceas(my)diagrams.texitself.Currently'the=curved, freeandmultiplearrowsarenotimplemented, andallsize'parametersareignored.֟'EitanGurari'sdratex:rIhaven'tloGokedintothispackqageyet.a94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;239u 'DonaldKn9uth:rseesection13ofthismanual.'F rankMittelbac9h'sAU>'M S-L5ffA͉TU>'ExXamscd.sty:rseeMichaelSpivqakbGelow.'JohnReynolds:rIhaven'tloGokedintothispackqageyet.'Kris1Rose'sXY-pic&usesadi erentconventionforwheretodeclarearrows, 'namelyJinthecellswiththeirsources.ThisconventionJwillbGesupportedinthe'next#release.ThesyntaxofRose'sarrowcommandsisalsomorecomplicated.'IdonotintendtosuppGorthisfontsorturningcommands.'RainerSc9h@opf'sAU>'M S-L5ffA͉TU>'ExXamscd.sty:rseeMichaelSpivqakbGelow.'Stev9enSmith:rIhaven'tloGokedintothispackqageyet.'Mic9haelSpiv\rak'sL1AlXqM .S-TU>'ExX:similarcommentsapplyhereastoKrisRose's 'packqage.'Mic9haelySpiv\rak'sAU>'M S-TU>'ExX(asdescribGedinTheJoyofTKß'E-X)hadsomevery'primitivecommutativediagrams,enclosedin\CD...\endCD.6Y*ouOWcanobtainadramaticimprovementOWinthesediagramswithoutchanging'theXDtextofyourdoGcumentbyusingmypackqagewiththeamstexoption.Given'a(complete,correct)AU>'M S-TU>'ExXdoGcument,changetheheadertoreadh\inputamstexh\inputdiagramsh\diagramstyle[amstex] c'If1fAU>'M S-TU>'ExXorAU>'MS-L5ffA͉TU>'ExX(amscd.sty)hadbGeenloaded,}thiswillreplace'thede nitions.6Y*oucanalsoincludeAU>'M S-TU>'ExXdiagramsextractedfromoldpapGersinnew'plainmETU>'ExXorL5ffA͉TU>'EXdoGcuments.dAInthiscase,donotloadAU>'M S-TU>'EX(unless'youwantitforsomeotherreason)butinsteaduseh\inputdiagramsh\def\CD{\diagram[amstex]} c'toBcon nethechangestothemeaningofthe@charactertothediagrams'themselves.rThein-linehorizontalarrowswillthennotbGeinterpreted.'Timoth9yv\ranZandt'spstricks:rIhaven'tloGokedintothispackqageyet.#č'h15H&Ffrequentlyaskedquestions'W ouldn'titbQebettertodra9witwithamouse?rNo.n94 '24͠xp15.rF*requentlyaskedquestions9u 'Isitcompatiblewith...?'ExX,whilstgivingassistanceto'colleagueswhousedL5ffA͉TU>'ExX. InDecembGer1991thelocalTU>'ExXsystemwas'convertedztouseF*rankMittelbachandRainerSchopf'sfontselection(NFSS1)'forL5ffA͉TU>'ExX.rNowweuseL5ffA͉TU>'ExX2"*S,whichincludesNFSS2.6Consequently/thereisagreatdealofcollectiveexpGerienceinusingthe'diagrams packqageinalloftheseenvironments. CkIdonothaveexpGerienceof'AU>'M S-TU>'ExX,mAU>'MS-L5ffA͉TU>'ExX,meplain}HorcommercialTU>'EXpackqages,mbutdonotknow'ofBanyreasonwhyitshouldnotworkwiththem:\pleasetellmeifyou nd'anydiculties.6Itis,regrattably*,notuncommonforpublisherstocopypartsofL5ffA͉TU>'ExXand'article.sty'ExX'sspGecialcharactersoftenhaveimpGortantmeanings.F*orthisreason'many*.ofthe\catcodeshavebGeenchanged,4andinparticular@isusedwhere'TU>'ExXE+uses\.TheusualTU>'EXmeaningsarerestoredwithin@tex..\Etex.Itis'pGossibletoloadthispackqagewithoutthis,butyoumustdo@@catcode`@\=0\catcode`\%=14\inputdiagrams\catcode`\%=12\catcode`\\=13'Y*ouomustalsodo@catcode`@&=4bGeforeusing@diagram.l=Braces{}staythe 'same.'DoQes9itusean9yspecialfon9ts?SNo.One9ofthedesigncriteriaofthepackqage'isjthatallofthecompGonentscomefromthestandardComputerModernfonts'thatHcomewithTU>'ExX,exceptthatthediagonalarrowheadcharacterscomefrom'L5ffA͉TU>'ExX'sline10font.rAsoneusersaid,@\IVagreewithyouinbGeingagainsttheuseofadditionalfonts.$It@takesHsometimeandexpGeriencetoport,msay*,L1AlXqM .S-TU>'ExXHfontsto[my@`pGersonal' computer].IwouldmuchpreferembGeddedPostScript@commands.CustomvDVIvdriverssuchasxdvi,wontheotherhand,@arenotwidelyavqailable,atleastnotfor[mycomputer]."'ThereareoptionalwarrowheadsfromtheAMSBsymbGolsfonts,Fwhichwere'usedNwhenthiscopyofthemanualwasprinted.[TheymaybGeobtainedby'anonymousFTPfrome-math.ams.com.6It}issometimesclaimedthatitisadvqantageoustohavespGeciallydesigned'fonts5inordertoensurethatthecompGonentsmatchupcorrectly*..Howeverthe'reason whytheyfrequentlydonotispixel-rounding,;evenwhentheDVI-driver'do}'esGthiscorrectlyaccordingtotherulesspeci edbyDonaldKnuth.^13ŲThedpi'optionhasbGeenincludedtocorrectforthis.6Ifyouhaveotherarrowheadfontsavqailable,suchasthoseprovidedbyKris'RoseforXY-pic%{andMichaelSpivqakforL1Fq% cmsy6FAqEM IS-TU>'ExX,youmayusethemifyou'writeyourown\newarrowheadcommands.'X-ff J=w-:B13LAIfiyÎoudon'tbAintheoutputofKgftype-icmmi10.300gfA.ThecÎharacterEAinKcmsyAisonepixellowerthanthis.zk94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;259u 'Ho9w.doIgetit? ItiseasiesttogetthispackqagebyanonymousFTP. 'Thisstandsfor\ letransferprotoGcol";itisawayinwhichyoucanlog'onUinteractivelytomycomputerandfetch(someof)my les.uqAverylarge'amountofsoftwareisnowfreelyavqailablebythismethoGd,nsoitiswellworth'puttingpressureonyoursystemadministratortogetyourmachinesconnected. 6The\archie"utilityisextremelyusefulasawayofloGcatingsoftwareand'other*informationontheInternet.Y*oujustgiveit(partof)thenameofthe' lejyouwant(e.g.\diagram")anditwilltellyouwhere lesofthatnameare'loGcated6TinnumerouspublicFTP6Farchivesaroundtheworld.mBeware,Chowever,'thatmanyofthemarejust\magpies'nests"|theycollectthingsfromother'placeswithoutverifyingtheirauthenticityorkeepingthemuptodate.h'Corruptionb9yelectronicmail.pڲIfyoucannotuseFTPƚandtherouteto'youubyelectronicmailpassesthroughnon-ASCIGI5machines(suchasthrough'BITNET),%the lemaysu ercorruption.(ThisdoGesn'tmatterverymuchwith'themanual,butthemacropackqageitselfhasalistofcharactersatthetop,'and$kuseofmostofthosewhichexpGeriencehasshowntobGevulnerablehas'bGeencon nedtothe rstsection,Dwhereverpossible. ySearchfortheword'ASCIGIifindoubt.'T<8E3sXscapacit9yexceeded.uTU>'ExXwasdesignedintheearly1980s,whenRAM'wasmeasuredinkilobytes,!anddoGesnothavedynamicmemoryalloGcation.'Althoughtex.websaysloudly\Don'tT*ouch!",thecompile-timeparameters'listed|onpage300ofTheTKß'E-Xb}'ookare'ExXincreasesthemsubstantially|inaccordance'withtheRAMavqailablein1990shardwareandthatneededby1990ssoftware.'TherenisnothingUnix-spGeci caboutthesechanges:theycanjustaswellbGe'madeinanyothercompilationenvironment. KCurrentlyitseemsOzTU>'ExXhas'notmadethechanges|pleasecomplainabGoutthistoitsauthor,bAndrew'T*revorrow,notme. 6TheYincreaseinsizeoverYversion3islargelyduetothediagnostics,?0i.e.'helpingyoutousethepackqage!6Ifyouget\noroGomforanother\dimen"itprobablymeansyou'reusing'PП'IDCfTU>'ExX,whichuses110outoftheavqailable256;Iuse20.6TheproGcessofstretchingthearrowsinacompleteddiagramisquiteslow,'butiYatleastinthispackqageTU>'ExXspGendsthetimedoingsomethingusefulrather'thanparsing(L5ffA͉TU>'ExXpicture)\putcommandsinsidemacros.Theemulation'ofF*rancisBorceux'smacros,forinstance,is50%fasterthantheoriginal.hKris'Rose'sXY-pic$wtakesabGoutsixtimesaslongtodrawthesamediagram.h'DefaultTarro9wheads. MoEvenwhenyoude neyourownarrowswithspGecial'arrowheads,youestillgetgetL5ffA͉TU>'ExXheadsondiagonals.#ThisisbGecauseL5ffATU>'ExX'headsareavqailableinavarietyofdirections,butyourspGecialonesareonly'de nedvEforup,down,leftvEandright.@T*ogetspGecialheadsondiagonals,itis'necessarytorotatethem,andtodothatyouneedthePostScriptoption.'Displa9y#options.ܲIf,,aswasadvisedinearlierversionsofthismanual,,you'enclose23thediagramin$$...$$ora,thenewoptionsinsection8for'pGositioningitcannotwork. /Exceptinthosecaseswhereyouwanttwoor'moreldiagramssidebyside,νorasmalldiagramin-lineinthetext,itisbGetter'toEremovesuchenclosings;kthenyoucanexpGerimentwiththeoptionsusing'\diagramstyle.L5ffA͉TU>'ExX'scenterenvironmentis,forthispurpGose,not{adisplay'butҳaparagraphoftext,`withsomestrangeresultsifyouusethetextflow94 '26͠xp15.rF*requentlyaskedquestions9u 'option;inYthiscaseyoushouldusetheinlineoptionontheindividual 'diagramstomakethemappGearsidebyside.'Large0gapsbQet9ween0diagonalsandtheirendpoin9ts.ThishappGensif'you!trytousethedefaultLaTeX!linesegmentstodrawverysteeporvery'shallowdiagonals.rT*ryusingthePostScriptoption.6Bydefault, the(rowsand)columnsofthematrixformingthediagram'canؤstretchtoaccommoGdatelongpiecesoftextasob8jectsandarrowlabGels.'Thisisappropriateforrectangulardiagramsandrequiresnouserintervention.'If,however,youhavediagonals,thisstretchingcausesthemtofallshortofthe'ob8jectstowhichtheyaremeanttopGoint,becausecurrentlytheyare(unlike'thehorizontalsandverticals)rigid.x7iKAB{V{Vrr{Vr{Vr{V{Vr{Vr{V{V˖fe/@<1A;0A J>*-`A8N@@ʖA@B@ٖC @D@TfDRAB*֬?+͹pb}.Ǎpb}.pb}.pb}.pb}.pb}.pb}.pb}.pb}.h/ʍ'Anexampleprovidedbyauserisshown.rThesolutionistouseoptionslike@\begin{diagram}[tight,width=4em,height=3em]'SeeIHsection8fordetails.JSometimesthereisn'troGomonthepagetoincrease 'thewidthsuciently*.Tryusingthescriptlabelsoption,eor,failingthat,put'thewholediagraminthescopGeofaL5ffA͉TU>'ExX\smalloreven\tinydeclaration.6Thisureal-lifeexampleillustratesanothercommonproblem:thesymbGols<'and >arer}'elationshnotbracketsi |andit'snotunusualtoseeline-breaks'thePlwrongsideofthem,eveninpublished,suppGosedlyproof-read,books.'Ifsyoudon'toftenusethestrictarithmeticalrelationsand nditabGoreto'typGe\langle..\rangle,putthefollowinginyourmacro le:@\mathcode`\<="4268%<=\langle@\mathcode`\>="5269%>=\rangle@\mathchardef\gt="313E %arithmetic@\mathchardef\lt="313C %strictorder'AsOanotherpieceofgeneraladvice,#manypGeopleuse\mboxwhenitis'completelyuunnecessary*.kAmongstotherthings,!itinhibitsthereductionofthe'contents}whenusedasasub-orsupGerscript.InL5ffA͉TU>'ExX2"*C',tryusingthe\text'and\ensuremathcommands.'\Badly\dra9wndiagonals"errormessage.Thiswarningisgivenif(a)you'use$diagonalswhicharesetonthe rstpass(i.e.L5ffA͉TU>'ExX,TPIC#orfixed)and'(b)Fsomeofthecolumnsaresigni cantlywiderthanwasspGeci edbythewidth'orsizeoption.ItindicatesthattheproblemabGove,[withbiggapsattheends'ofdiagonals,mayhaveoGccurred.Checkthis,andifnecessarysetthetight'optionDandspGecifythenecessary(increased)widthyourself.vAlternatively*,Uuse'the6PostScriptoptiontogetthediagonalssetonthesecondpass;zthenthey'willmeettheirendpGoints.'LabQelsonarro9wsover-printobjectsorarrowheadsbQecomedetached.'Y*ou're٦tryingtosqueezetoGomuch٦intothecolumn: Eincreasewidth(asittells'yout`todo).yIftheob8jectatoneendismuchlongerthanthatattheother,'themidshaftoptionmaybGeappropriate.94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;279u 'Mixedormissingarro9wheads.Theideaofprovidingtheheadsoptionis 'thatyoushouldspGecifyatthebeginningofyourdocumentwhichstyleyou'want. SThedefaultisheads=LaTeX!sincethisprovidesconsistencybGetween'orthogonalanddiagonalarrowheadswhenrotationisnotavqailable.'Unde nedsym9bQols. ˑT*ousethecurlyandblackarrowheadsyouneed'theeAMSsymbGolsfonts;Ęifoneofthese(\curlyvee,N~\blacktriangleleft)'iskunde ned,ƑhitreturnseveraltimestocompletetherunofTU>'ExXonyour'doGcument,|then[gobackandinsert\usepackage{amssymb}orchangetheheads'declaration.6If{you ndasymbGolwithameaninglessnamelike\CD@gF8or\cD@hAis'unde ned,it_qmeansthatyouhaveusedinternalmacrosfromapreviousversion'ofthediagramspackqage. 2Pleaseremovethem: thenamesaredelibGerately'meaninglesstopGersuadeyounottousethem.'Cany9ouputdiagramswithindiagrams? ϝY*es,Rbutit'snotoftenthat'such_thingsareneeded.SRemembGerthat\pileisusedforparallelhorizontals.'Sometimesyoumaywantanarrayofdiagrams.6DuringV[developmentIfoundproblemswhenthe rstcelloftheinner'diagrambwasempty*,andversion3.22resultedinTU>'ExX'selusive\interwoven'alignmentd'ExX2"*S:@\usepackage[flushleft=\mainindent]{diagrams}'where F\mainindentisa\dimen;inthiscase\the\mainindentwillwork, 'bGecause\theexpandsthe\dimentoitsvqalue(TKß'E-Xb}'ook,ZEpage214). [}V*alues'for(optionstoindividualdiagramsandarrows,rorparsedby\diagramstyle'insteadof\usepackage,maysafelycontainmacroswhereappropriate.'Horizon9talbarrowsoverprintobjects. -Y*oumustnotuse\hfill,z\hss,'\hspace,ڿ\hidewidthorothersimilarcommandstotrytoalterthee ective'sizeoftheob8ject.'What$ifitstilldoQesn'tw9ork?)Ifyouhaveaproblemwhichisnotanswered'bythismanual,pleasecompileashort lecontainingyourproblemdiagram'and~banymacros(suchas\Asslinsection3)itcontains. Runitthrough'texrorlatextocheckrthatnode nitionsaremissing,andincludeanoteof'the"dateandversionnumbGerwhichyouareusing.eThensenditbyele}'ctronic'mail:rpleasedonotusethetelephoneorpGostalmail.6I\amkeentoknowabGoutanyadverseinteractionswithothersoftware,'anything~whichisnotwellexplainedinthismanual,oranycasesofmis-typing'in:which\scrollmodedoGesnotgettotheendofthedocumentbecauseofa'diagramserror.ڠ94 '28͠xp15.rF*requentlyaskedquestions9u 'h16H&Conditionsofuse'Y*ou.mayfreelycopyandpassonthispackqageandincludeitincollectionsof 'freesoftware,butmaynotalteritorchargeafeeforit.6Please{ ensurethatyouareregisteredwithmeasauser,sothatyoucan'bGe)informedofnewversions.Any)electronicmailmessagecontainingthewords'\commutative" or\diagram"automaticallyregistersyou,asdoGesquotingyour'electronicmailaddresswhenfetchingitbyFTPfromtheory.doc.ic.ac.uk.6IfyouconsiderthispackqagegoGodenoughtouse,[thenitisgoGodenoughto'acknowledge.After.wall,:itisacademicprotoGcoltocreditpriororsimultaneous'discoveryoftechniquesrelatedtoyourown,vevenifyouwereunawareof'themordidnotrelyonthemwhenyoumadeyourowndiscovery*. Such'acknowledgement=isaconditionofuseofthispackqage.,)However=thiscondition'isZwaivedifuseamountstonomorethan vediagrams,{eachofwhichiseither'assquareoratriangle.w Thisacknowledgementsmust,jofcourse,bGeremovedif'thedoGcumentisre-typGesetbymethoGdswhichdonotusethispackqage.6No$~pGermissionwasinthepastgiventousethispackqageforcommercial'purpGoses.FThis{includesadocumentwhosecopyrightissededbytheauthor(for'vqaluableconsiderationornot)toanotherpGersonorbodywhichsubsequently'intendstocollectroyaltiesforitsreproGduction.$Thisappliestocertain'journals-,andconferenceproGceedings.Permissionisnowgrantedforitsusefor'thevproGductionofacademicresearchandtextbooks,Ԋjournalsandconference'proGceedings,sub8jecttotheconditionsthat6@acknowledgementbGegivenasabove,6@anup-to-dateversionofthepackqagebGeusedforthe nalproduction,6@andonecopyofthebGookbesenttomeonpublicationinlieuofroyalty*, @attheabGoveaddress.'Use7Rbycommercialorganisationsisconsidered(forthispurpGose)tobeacademic'ifetheresultsareintendedforpublicationinanacademicforum,concernpure'researchanddonotrelatetoanyparticularcommercialproGduct.6ThesoftwaremaynotbGeusedforanymilitarypurpGoseunderany'circumstances.6Nouwarrantyisgivenwiththissoftware. }!Itissupplied\asis",and'neitherHthesourcenorthismanualnoranythingelseshallbGetakenasa'representation\thatitwillpGerformanyparticularfunction,sissuitableforany'particular=purpGoseorisofmerchantable=quality. \Inexecutingthesoftware,'the>userimplicitlyacceptstheabGove>conditionsandindemni estheauthor,'ImpGerialRCollegeandanypersonthroughwhomthesoftwareRwasobtained,'against_gliabilityfordirectorconsequentialdamagesarisingfromtheuseof'thissoftware.6Wheneveryouusecomputersyoumustekeepatleasttwoback-upcopies'of/allofyour les,{withoneofthemwellawayfromthemachine,{incase'ofѐ reorma8jorfailure.!BeforesendinganydoGcumentsforpublicationorto'anPXexpGendiveprintermakeathoroughvisualcheckusingapreviewersuchas'xdviandalowresolutionprinter.#č'h17H&Reversecompatibility'Compatibility,withpastandfutureversions(thenumbGersofsomeofwhich'havebGeenassignedp}'ostfacto)isasfollows. KNotethedi erencebetween#94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;299u '\should"and\must".O'V ersion0:`N0Seesection13.'V ersion1:`N0Horizontalarrowsmadetostretchtoedgeofcell;1987{9.LV\rTo{f}{g}1works,}ebut\rTofgdoGesn't:~itmustbGechangedto V\rTo^f_g.LVthe1D\mkern-20mu\rTo{f}{g}\mkern-20muidiomformanualstretchingVofhorizontalarrowstomeetob8jectsmustbGeremoved.LV\VerticalMapHeight;and\VerticalMapDepthcommandsareobsoleteVandareignored:rtheyshouldbGeremoved.V*erticalMapHeightLVThree-/orfour-argumentusesof\HorizontalMap,\VerticalMapandV\DiagonalMapjmustbGechangedto ve-argumentusesor, Epreferably*,Vto\newarrow.LVNested[V\commdiagcommandsforparallelmapsmustbGechangedtoV\pile.LVParallel%mapsconstructedbyputtingthemintherowsorcolumnsVbGeforeandaftermustbemovedtothecorrectcelland(inthecaseVofhorizontals)putina\pile.'V ersion2:`N0Horizontaljarrowsmadetostretchtomeetob8jectsand\supGerscript"@labGelsW~introduced;areusedforleftandright,wrespGectively*.;Unquali ed_labelsVare`pGositionedastheyoriginallywere:̺the rstabove`andthesecondVbGelow.LVDiagonaljlinesareconstructeddi erently;>Guser-de neddiagonalarrowsVshould]bGereplacedwith\ruTo(2,4)etc.,u>andexplicitmovement]ofVthemremoved.LVBent#lines,kwith\dlBentand\ruBentto,currentlydonotwork.VInstead/\HmeetV/߲mustbGeplacedatthecorner.3BentorhalfarrowsVwillbGereintroducedlaterbutwithadi erentnamingconvention.'V ersion3:`N0V*erticalmmapsalsomadetostretchtomeetob8jects; $widely@circulatedwithbannersdatedJuly1990toApril1992.LV\HorizontalMap,\VerticalMapyand\DiagonalMapshouldbGereplacedVby\newarrowdeclarations.LVNegativelspacingaroundwideob8jects(usedtoavoidthestretchingVofthediagramwhichtheycaused)shouldbGeremoved,andtheVtight(optionusedinstead.cThisisbGecauseob8jectsarenowallowedVto^extendintotheneighbGouringcolumns,uwithacheckthatthereisVenoughspace.94 '30.x꠫17.rReversecompatibility9u LVEnclosing]$$...$$ordisplayenvironmentsshouldbGeremoved,as VtheypreventthenewdisplaypGositioningoptionsfromworking.o|LVDiagonal(arrowswith\compass"names,rparticularlytheonesfromVextra-diagonals.tex @(whichD mustnotbGeusedanymore),U(shouldVbGechangedtothenewgeometricalnames.LVThecommandnames\ltand\gt(for)havebGeenremoved,Vat$therequestofauserwhoconsideredthesetobGeunreasonableVnamesforinternalcommands.LVThe_karrowcommandswithnameslike\rArrand\rTonowalluseVthewLdefaultarrowheads;2theoriginalbGehaviour(\rArrusedLaTeXVand\rTousedvee)maybGerestoredbychangingaswitch\iffalseVinthe nalsectionofthesource.o|'V ersion4:`N0AdvertisedinSeptembGer1992.LVThe#SdefaultarrowheadhasbGeenchangedfromveetoLaTeX"Ʋto VensureconsistencyifPostScriptisnotused.LVExplicit"movementofdiagonalarrowsverticallyusing\raise,Nz\lowerVorN\raiseboxorhorizontallybyspacingcommandsorotherwiseVwillinotworkforthediagonalswhichareadjustedtomeettheirVendpGoints. =F*orwthetimebeinguseeitheroftheoptionsnoPSw9orVfixedMhtosuppressadjustment.AnewoptioncrabwillbGeintroGducedVshortlytoallowsidewaysmovementofarrows.o|'F uture:QzKThefollowingarehighontheagenda:LVPlacingoflabGelsattheheadandtailofarrows.LVCurvedarrows(PostScriptonly).LVSidewaysmovementofarrows.LVAnMalternativewayofspGecifyingthepositionsofarrows,l`namely Vatthetailwithsignedrelativeco-ordinatesforthehead,6toallowVemulationofKrisRose'sXY-pic$wandMichaelSpivqak'sL1AlXqM .S-TU>'ExX.LVGridsforregular guressuchasthepGentagon.LVShiftingob8jects,byspGecifyingtheleftorrightwidth.LVOptiontorotatelabGelsondiagonalsorleavethemhorizontal.LVApplicationtoelectroniccircuitdiagrams.LVOverprints:rpullbacksymbGolsandloops.Ns6SuggestionsYforimprovementsYandfurtherapplications(e.g. J|proGofnets,'Petrinetsandcircuitdiagrams)arewelcome."J'h18H&Availabilityٍ'Thevdiagrampackqageiscurrentlyavqailableasasingle105kb^14 printableTU>'ExX'source+ lewhichiscompatiblewithbGothL5ffA͉TU>'ExXandplainTU>'EX.LItloadsthe'L5ffA͉TU>'ExXMline10fontas\tenln(itsL5ffATU>'ExXname)andalsode nessome(exotic)'arrowcommandsintermstheAMSsymbGols,butifthesearetobeusedthen'thepackqageamssymbmustbGeloadedseparately*. 6InImpGerialCollege,&thepackqageisavqailableon/home/leonardoandwill'bGepickedupautomaticallybythetexandlatexcommands. Usersshould'notmaketheirowncopiesunlesstheyintendtotakethemaway*.'ǩff J=w-:B14LAWithoutcommenÎts;thedevelopmentversionisabSendthefollowingmessageto':@opentheory.doc.ic.ac.uk@cdtex/contrib/Taylor/tex@getdiagrams-V4-news@getdiagrams.tex@getdiagrams-manual.tex@quit6Y*ouwillgetanacknowledgementmessage rst,followedbythe les,and' nallyajoblog le.rThe lesmaybGesplitupintoseveralmessages. S94 9z덟 卑'hIndexA덑'$,4 '$$,10,24,28'&,3,4,6'(),16'+arrowhead,9'{ ller,8'->arrowhead,8'->>arrowhead,8'.r ller,8'<,4'<,25,28'>,4'>arrowhead,8,9'>,25,28'arrowhead,8,9'[c],14'\\,27'\\,3'^,4,28'_,4,28',4,5'[],10'~,4'2-cells,7'3 ller,8'300dpi,11'3De ect,6'A4-on-A5,11'abut,10,17,18'acknowledgement,21,26'\across,28'adjunction,7,15'AdobGe,13'alignedlabGels,3,10,13'AmericanMathematicalSoGciety*,21'AMSsymbGolsfonts,2,11,23,25'amscd.sty*,10,21,22'AU>'M S-L5ffA͉TU>'ExX,4,21,22'amssymb.sty*,11,25'AU>'M S-TU>'ExX,4,10,20{22'annotatingtheheadofanarrow,5'anonymousFTP*,13,23'archie,23'\Arianglepair,21'arrayenvironment,20'arrow,4'arrowhead,28'arrowheads,2,8,9,11,24,25,28;annotating,5'article.sty*,23'asis,27덒zASCIGI,24 zAstonUniversity*,29zasymmetricdesign,11z\Atriangle,21z\atriangle,21zbadlydrawndiagonals,25zbalance,10{13zBarr,Michael,21z\baselineskip,7zBechtolsheim,Stephen,14z\begin{diagram},3,10zbGentlines,28zBerry*,Karl,21,24z\bgroup,4zbirds'feet,12zBITNET,24zblacktrianglearrowheads,11z\blacktriangleleft,25zbGoldhooktail,8zbGoldlittleveearrowheads,8,11z\boldmath,8,11zbGookdesign,11zBorceux,F*rancis,21,24zbGottom,10zbGoxes,4zbraces,4,8zbrokenarrows,5,6z\btriangle,21zbugrepGorts,26zCtail,8zcastle(chessrule),4z\catcode,4,23zcatmac.tex,21z\CD,22zcenterenvironment,12,24zcentre,10{12,14,15zchessrule,4zClark,James,14zclashingarrows,4zcmsy*,11zco-ordinates,2,3z\commdiag,27zcommercialuse,27zcompass,8,16,28zcompatibility*,22,27zComputerMoGdernfonts,9,11,23zconditionsofuse,26zconferenceproGceedings,23,27z\cong,8zcontinuedfractions,18lx32!$94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;339󍍍u 'copyright,26 'corners,6'corruption,24'crab,29'\Ctriangle,21'cubGe,6'\curlyvee,25'curlyveearrowheads,11'damages,27'dash ller,8'\dashv,7,15'decapitatedarrows,25'diagonalarrows,n2,4,8,16,17,24,O25,28,29'\DiagonalLineSegments,28'\DiagonalMap,9,17,27,28'\diagram,3,10'diagramswithindiagrams,26'diagrams.sty*,3'diagrams.tex,3'\diagramstyle,10,13,24'\dimen,24'displayenvironment,24'displayoptions,28'displaymathenvironment,12'\displaystyle,5'\dlBent,28'dollars,4'down,8'\Downarrow,7'dpi,11,23'dratex,21'\Driangle,21'\dtriangle,21'DVI,17,23'dvips,13,14,17,18'dvitops,14'dvitps,14'dynamicmemoryalloGcation,24'east,8'EBCDIC,24'edgeofthediagram,4'eepic,18'\egroup,4'electronicmail,24,26,29'emptycells,3,4,15'emulation,19,21'\endCD,22'\endcsname,26'\enddiagram,3'\endmatrix,20'\end{diagram},3'\ensuremath,25u zeplain.tex,21 zequationnumbGer,11,12,14zerrorchecking,4,8,13zerrorrecovery*,24,26zEuclid'salgorithm,18zExercise18.46,19zextra-diagonals.tex,28}z letransferprotoGcol,23z rstpass,17z xed,25,29z eqn.sty*,11z ushleft,10{12zfontselection,12zfonts,23zfragile,4zF*reyd,Peter,7zFTP*,13,23,26,29zgaps,24zGaussianelimination,19zglue,15zgraphics,18z\greaterthan,28zGrunwald,Dirk,18z\gt,28zGurari,Eitan,21zharpGoonarrowhead,8zHassediagrams,10,17zheads,2,9,11,25zheight,11,12,14{16,18zhexagon,12,15,18z\hfill,15,26zhiddenlines,6z\hidewidth,26z\hLine,15z\HmeetV,6,28z/home/leonardo,29z\HonV,6zhoGoktail,8zhorizontalarrows,4,6,7,26z\HorizontalMap,9,27,28z\HorizontalMapLength,28z\hspace,26z\hss,26zIC-TU>'ExX,29z\ifcat,4z\ifx,4zImpGerialCollege,27,29zinline,12,24zindemni cation,27zindentedstyle,11z\input,3z\inputlineno,20"Y94 '34rx;18.Avqailability9󍍍u 'IntegratedComputerSystems,14 'Internet,23'interwovenalignmentpreambles,26'invisibleob8jects,15'\isomorphic,8}'Je ery*,Alan,2'joininglines,6'journals,23,27'TheJoyofTKß'E-X,22'Kelly*,GregoryMax,1'Knuth,Donald,10,23,24'Kwok,Conrad,18'labGels,3,4,10,12,25,28'\labelstyle,5'\laf,16'\lah,16'LampGort,Leslie,10,12'lams1to5fonts,17'L1AlXqM .S-TU>'ExX,22,23,29'landscapGe,12,13'\langle,25'large,12'L5ffA͉TU>'ExX,1{3,10,13,22'L5ffA͉TU>'ExX2.09,12'L5ffA͉TU>'ExXarrowheads,9,11,28'L5ffA͉TU>'ExX2"MV,3,10,12,22,26'lattices,10,17'\ldTo,16'left,8'leonardo,29'\lessthan,28'liability*,27'\line,16,17'line107andlinew10fonts,D2,11,16,O18,23'line10font,17'littleblackarrowheads,11'littleveearrowheads,8,11'loGose,12,14'\lower,8,17,29'\lt,28'\luTo,16'MacLane,Saunders,1'\magnification,11'magpies'nests,23'\mapdown,20'\mapleft,20'\mapright,20'\mapup,20'\mathchardef,25'\mathcode,25'mathematicalexpression,4u zmatrix,3 z\matrix,19z\mbox,25zmeaninglessname,26zmeasuring,2zmeetinglines,6zmerchantablequality*,27zmiddle,12zmidshaft,10,13,25zmilitaryuse,27zmissing\endcsname,26zMittelbach,F*rank,12,21,22z\mkern,27zMorgan,Tim,18zmorphism,4zmouse,2,22znegativegradient,4z\NEpbk,16znesteddiagrams,26,27z\newarrow,5,8,9z\newarrowfiller,9z\newarrowhead,9,11,23z\newarrowmiddle,5,9z\newarrowtail,9,11zNFSS,22znobalance,10z\nolimits,4znoGoptions,10znorth(east,west),8z\NWpbk,16zOarrowheads,8,9,11zob8ject,4,13z\objectstyle,5zoptions,10,13,24zorderstructures,10,17zorigin,13zover-fullhbGox,12zover-print,12,14,25zoverprint,26zOzTU>'ExX,14,18,24zparallelarrows,7,13,26,27zparityrule,3,6zpGentagon,19,29zPП'IDCfTU>'ExX,17,24zpictureenvironment,1,13,21,24z\pile,4,7,13,26,27zpilespacing,7zpixelsize,11,13,23zPK les,12zplainTU>'ExX,2,3,12,22zpGortrait,13zpGosets,10,17#94 'PaulT*aylor'scommutativediagrams,version3.81,18July19948;359󍍍u 'pGositivegradient,4 'PostScript,2,12{14,23{25,29'\protect,4'pstricks,22'\ptriangle,21'pullback,16'\puncture,7'Pythagoreansums,18'\qtriangle,21'RadicalEye,13 '\raise,8,17,29'\raisebox,8,17,29'RAM,24'\rangle,25'\rArr,28'\rBackwards,8,9'\rCongruent,8'\rCorresponds,8'\rCrossedInto,5,8'\rCrossto,8'\rDashto,8'\rDotsto,8'\rdTo,16'\recurse,21'\rEEmbedd,8'registrationasauser,26'relations,25'\relax,5'\rEmbed,8,9'representation,27'resolution,11'Reynolds,John,21'right,8'\Rightarrow,8'\rightarrow,8'\rightharpoonhown,8'\rImmerse,9'\rImplies,8'\rInclude,9'\rInternalise,9'\rInto,8,9'\rLine,8'\rMapsto,8'\rMulti,8'Rokicki,T*omas,13,14,18'\rOnto,8'roGok(chessrule),4'\rOpeninto,8,9'Rose,Kris,22{24,29'rotate.sty*,18'rotation,12,17'royalties,27'\rPartial,8u z\rTeXonto,8 z\rTeXto,8z\rTo,8z\ruBentto,28z\ruTo,16z\sb,4zSbenvironment,4zSchopf,Rainer,12,22z\scriptscriptstyle,5z\scriptstyle,5,12,13z\scrollmode,26zsecondclassservice,19zsecondpass,17z\SEpbk,16zshortfall,12,14zshortfall,5,10zsidewaysmovementofarrows,29zsize,11,12,14,18,25z\small,25zSmith,Steven,22zsouth(east,west),8z\sp,4zSpenvironment,4z\special,13,14,17,18zSpivqak,Michael,17,22,23,29z\square,21zSt.MaryRoadsymbGolsfont,2zStallman,Richard,23zstretch,2,4,6,15,24,29zsupGerscript,28zsupGerscripts,4z\SWpbk,16ztails,9ztex.web,24zTU>'ExXbGook,19,26zTU>'ExXercise18.46,19ztexinfo.tex,23ztexpictex,18ztext,4z\text,25ztext ow,13,14,24ztextbGooks,27z\textstyle,5z\thicklines,14z\thinlines,14ztight,12,14,18,25z\tiny,25zTPIC,13,14,18,25zT*revorrow,Andrew,14,24ztriangle,12,15ztrianglearrowheads,8,11ztrigonometricfunctions,18z\twoheadrightarrow,8$Y94 '36xgɲ18.rAvqailability9󍍍u 'UK-TU>'ExXarchive,29 'unde nedcontrolsequence,11,25'Unix,24'unterminatedarrows,4'up,8'\usepackage,3,10,26'vqanZandt,Timothy*,22'\vcenter,10,14'\vector,16,17'veearrowheads,11,28'verbatimenvironment,7'verticalarrows,4,6,7'\VerticalMap,9,27,28'\VerticalMapDepth,27,28'\VerticalMapExtraDepth,28'\VerticalMapExtraHeight,28'\VerticalMapHeight,28'V*o8jta,Paul,14'\VonH,6'\Vriangle,21'\Vrianglepair,21'warranty*,27'web-to-C,24'west,8'whitespace,4'wideob8jects,28'width,12,14{16,18,25'wysiwyg,2,22'xarrowhead,8,9'xarrowheads,11'xdvi,14,18,23,27'XY-picB\#,22{24,29*;9E$vncmbsy5r*cmmib7hNff cmbx12^ߤN cmtt9\t : cmbx9Yo cmr9M#fcmti8KCscmtt8Fq% cmsy6EK cmsy8C2cmmi8BAacmr6A|{Ycmr84߆T cmtt120N cmbx12*XQ cmr12)DtGGcmr17$u7msam7# msam10- cmcsc10': cmti10 cmmi10 0ercmmi7O \cmmi5K`y cmr10ٓRcmr7Zcmr5O line10u cmex10/v