÷ƒ’À;è TeX output 2004.06.23:1025‹ÿÿÿÿ y ý£ ? ý¢|F‘nQªóDÓítG®G®cmr17¹A–7tDirectory“Structure“for“T‘ý[™Ÿ¸-EŽ‘;gX“FilesŽŸ|F‘B0±óX«Q cmr12ºTUG–ê¨W‘ÿVorking“Group“on“a“T‘þ ‘Ÿ•UEŽ‘‘!X“Directory“Structure“(TW¬rG-TDS)ŽŽŽŽŽŸâ°’¦9.v¬rersion–ê¨1.1‘ ¿øJune“23,“2004ŽŸ|G‘à¤óKñ`y cmr10²Cop•¸ãyrigh“t‘rž²×cŽŽŽ‘UUó !",š cmsy10¸ ŽŽŽ‘ª«²1994,–UU1995,“1996,“1997,“1998,“1999,“2003,“2004“T‘þU>Ÿ'EŽ‘ãxX“Users“Group.Ž©|F‘à¤Pš¸ãermission–dDto“use,–hcop˜y‘ÿ*ª,“and–dDdistribute“this“doGcumen˜t“óý': cmti10Ãwithout‘¡¤mo–ÿ}'di c“ation‘(§²for–dDan˜y“purpGose“andŽ¤ ‘à¤without–uªfee“is“herebš¸ãy“gran˜ted,‘}¿pro˜vided“that“this“notice“appGears“in“all“copies.‘ÒÅIt“is“pro˜vided“\asŽ¡‘à¤is"–UUwithout“expressed“or“implied“w•¸ãarran“t“y‘ÿ*ª.Ž¦‘à¤Pš¸ãermission–í³is“gran˜ted“to“cop˜y“and“distribute“moGdi ed“v˜ersions“of“this“doGcumen˜t“under“the“condi-Ž¡‘à¤tions–Ïûfor“vš¸ãerbatim“cop˜ying,‘ê§pro˜vided“that“the“moGdi cations“are“clearly“mark˜ed“and“the“doGcumen˜tŽ¡‘à¤is–UUnot“represen¸ãted“as“the“ocial“one.Ž¦‘à¤This–ádoGcumenš¸ãt“is“a˜v‘ÿqÇailable“on“an˜y“óo´‹Ç cmr9ÄCT‘ÿ:«AN‘લhost“(see“AppGendix“D).‘ ÷Please“send“questions“orŽ¡‘à¤suggestions–UUbš¸ãy“email“to“óßêà©History‘x‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ2ŽŽ¡‘'à¥1.2Ž‘>à©The–UUrole“of“the“ÄTDS‘²X‘ü².ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ2ŽŽ¡‘'à¥1.3Ž‘>à©Con•¸ãv“en“tions‘ñb‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ3ŽŽ©b9‘à¤È2Ž‘'à¥General’pª¥3ŽŽ¡‘'ॲ2.1Ž‘>à©SubGdirectory‘UUsearc¸ãhing‘"ö‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ3ŽŽ¡‘'à¥2.2Ž‘>à©RoGoting–UUthe“tree‘¼‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ4ŽŽ¡‘'à¥2.3Ž‘>à©LoGcal‘UUadditions‘¿ˆ‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ4ŽŽ¡‘'à¥2.4Ž‘>à©Duplicate‘UU lenames‘ø]‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ5ŽŽ¦‘à¤È3Ž‘'à¥T‘ÿ*ªop-level‘UUdirecto¸ãries’<£ˆ5ŽŽ¡‘'ॲ3.1Ž‘>à©Macros‘†Ñ‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ6ŽŽ¡‘'à¥3.2Ž‘>à©F‘ÿ*ªon¸ãtsjg‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ8ŽŽ¡‘'à¥3.3Ž‘>à©Non-fon¸ãt‘UUóø”o> logo10ÉMETÇAFŽ9ONT‘Ž8² les‘ÿm‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ10ŽŽ¡‘'à¥3.4Ž‘>à©ÉMETÇAPqÆOST‘é‘ü².ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ10ŽŽ¡‘'à¥3.5Ž‘>à©B‘ÿþóÙ“ Rcmr7±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX‘ç;‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ11ŽŽ¡‘'à¥3.6Ž‘>à©Scripts‘ê_‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ11ŽŽ¡‘'à¥3.7Ž‘>à©DoGcumen¸ãtation‘ÍÁ‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ12ŽŽ¦‘à¤È4Ž‘'à¥Summa¸ãry’cÕL13ŽŽ¡‘'ॲ4.1Ž‘>à©DoGcumen¸ãtation–UUtree“summary‘M~‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ14ŽŽ¦‘à¤ÈAŽ‘'à¥UnspGeci ed‘UUpieces’?_ú15ŽŽ¡‘'ॲA.1Ž‘>à©P¸ãortable‘UU lenames‘ñA‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ15ŽŽ¦‘à¤ÈBŽ‘'à¥Implementation‘UUissues’/N116ŽŽ¡‘'ॲB.1Ž‘>à©Adoption–UUof“the“ÄTDS‘ŽÅ‘ü².ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ16ŽŽ¡‘'à¥B.2Ž‘>à©More–UUon“subGdirectory“searc¸ãhing‘âΑü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ17ŽŽ¡‘'à¥B.3Ž‘>à©Example–UUimplemen¸ãtation-spGeci c“trees‘©È‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ17ŽŽ¦‘à¤ÈCŽ‘'à¥Is–UUthere“a“bGetter“w•¸ãa“y?’/Ç19ŽŽ¡‘'ॲC.1Ž‘>à©Macro‘UUstructurexo‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ19ŽŽ¡‘'à¥C.2Ž‘>à©F‘ÿ*ªon¸ãt‘UUstructure\‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ20ŽŽ¡‘'à¥C.3Ž‘>à©DoGcumen¸ãtation‘UUstructure‘”­‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ21ŽŽ¦‘à¤ÈDŽ‘'à¥Related‘UUreferences’?Ÿ'EŽ‘ãxX–”Ðis“a“pšGo•¸ãw“erful,‘ä® exible‘”Ðt“yp˜esetting–”Ðsystem“used“bš¸ãy“man˜y“pGeople“around“the“w˜orld.‘07It“isŽ¤ ‘à¤extremely–ÛôpšGortable“and“runs“on“virtually“all“op˜erating“systems.‘¥One“unfortunate“side“e ect“ofŽ¡‘à¤T‘þU>Ÿ'EŽ‘ãxX's‘-¼ exibilit•¸ãy‘ÿ*ª,›cÖho“w“ev“er,˜is–-¼that“there“has“bGeen“no“single“\righš¸ãt"“w˜a˜y“to“install“it.‘úýThis“hasŽ¡‘à¤resulted–UUin“manš¸ãy“sites“ha˜ving“di eren˜t“installed“arrangemen˜ts.Ž©N8‘à¤The–ýprimary“purpšGose“of“this“do˜cumen¸ãt“is“to“describ˜e“a“standard“T‘þU>Ÿ'EŽ‘ãxX“Directory“Structure“(ÄTDS²):Ž¡‘à¤a–¢ždirectory“hierarc•¸ãh“y–¢žfor“macros,–µðfonš¸ãts,“and–¢žthe“other“implemen˜tation-indepGenden˜t“T‘þU>Ÿ'EŽ‘ãxX“systemŽ¡‘ठles.‘dÆAs–.Ra“matter“of“practicalitš¸ãy‘ÿ*ª,‘6this“doGcumen˜t“also“suggests“w˜a˜ys“to“incorpGorate“the“rest“of“theŽ¡‘à¤T‘þU>Ÿ'EŽ‘ãxX–- les“inš¸ãto“a“single“structure.‘‡PThe“ÄTDS‘²has“bGeen“designed“to“w˜ork“on“all“moGdern“systems.Ž¡‘à¤In–Cªparticular,‘G3the“T›ÿ*ªec¸ãhnical“W˜orking“Group“(ÄTW¾9G²)‘C¦bGeliev¸ães“it“is“usable“under“MacÄOS²,“ÄMS-DOS²,Ž¡‘à¤ÄOS/2²,–ÆñUnix,“ÄVMS²,–°9and“Windoš¸ãws“ÄNT².‘‚rW‘ÿ*ªe“hopGe“that“administrators“and“dev˜elopšGers“of“b˜oth“freeŽ¡‘à¤and–UUcommercial“T‘þU>Ÿ'EŽ‘ãxX“implemen¸ãtations“will“adopt“this“standard.Ž¦‘à¤This–ó«doGcumenš¸ãt“is“in˜tended“bšGoth“for“the“T‘þU>Ÿ'EŽ‘ãxX“system“administrator“at“a“site“and“for“p˜eopleŽ¡‘à¤preparing–…êT‘þU>Ÿ'EŽ‘ãxX“distributions|ev¸ãerything“from“a“complete“runnable“system“to“a“single“macro“orŽ¡‘à¤stš¸ãyle– le.‘Š&It“ma˜y“also“help“T‘þU>Ÿ'EŽ‘ãxX“users“ nd“their“w˜a˜y“around“systems“organized“this“w˜a˜y‘ÿ*ª.‘Š&It“isŽ¡‘à¤not–lˆa“tutorial:‘ -wš¸ãe“necessarily“assume“kno˜wledge“of“the“man˜y“parts“of“a“w˜orking“T‘þU>Ÿ'EŽ‘ãxX“system.‘·`IfŽ¡‘à¤yš¸ãou–<Åare“unfamiliar“with“an˜y“of“the“programs“or“ le“formats“w˜e“refer“to,‘A¯consult“the“references“inŽ¡‘à¤AppGendix‘UUD.ŽŸÄ‘à¤ó‚ÎR6 cmss12Ê1.1Ž‘3¤ Histo¬rryŽŸœp‘लV›ÿ*ªersion–UU1.0“of“the“ÄTDS“²w¸ãas“released“in“F˜ebruary“2003.Ž¦‘à¤V‘ÿ*ªersion–UU1.1“wš¸ãas“released“in“June“2004,“with“the“follo˜wing“non-editorial“c˜hanges:Ž¦‘!à ¸ŽŽŽ‘1লInputs–T8for“T‘þU>Ÿ'EŽ‘ãxX“extensions“included“under“Åtex²,‘Tqinstead“of“in“their“oš¸ãwn“top-lev˜el“directoriesŽ¡‘1à¦(Section‘UU3.1.1)Ž¡‘!à ¸ŽŽŽ‘1লNew–UUtop-lev¸ãel“directory“Åscripts“²(Section“3.6).Ž¡‘!à ¸ŽŽŽ‘1লNew–UUsubGdirectories“Ålig²,“Åopentype²,“Åtruetype²,“and“Åtype3“²under“Åfonts“²(Section“3.2).Ž¡‘!à ¸ŽŽŽ‘1à¦Åenc²,–UUÅlig²,“and“Åmap“²all“use“¸hÃsyntax‘4D¸iÅ/¸hÃp‘ÿ}'ackage‘À[¸i“²subGdirectories“(Section“3.2).Ž¡‘!à ¸ŽŽŽ‘1à¦Åpfm–UU² les“spGeci ed“to“go“under“Åtype1²,“and“Åinf“² les“under“Åafm“²(Section“3.2).ŽŸÄ‘à¤Ê1.2Ž‘3¤ The–ê¨role“of“the“ó m#½R ó3 cmss10ËTDSŽŸœp‘लThe–]role“of“the“ÄTDS‘+²is“to“stabilize“the“organization“of“T‘þU>Ÿ'EŽ‘ãxX-related“soft•¸ãw“are›]pac“k‘ÿqÇages˜that˜areŽ¡‘à¤installed–UUand“in“use,“pGossibly“on“mš¸ãultiple“platforms“sim˜ultaneously‘ÿ*ª.Ž¦‘à¤Aš¸ãt–.™ rst“glance,‘dêit“ma˜y“seem“that“the“Comprehensiv˜e“T‘þU>Ÿ'EŽ‘ãxX“Arc˜hiv˜e“Net˜w˜ork“(ÄCT‘ÿ:«AN²)‘.aful lls“atŽ¡‘à¤least–òfpart“of“this“role,‘ªbut“this“is“not“the“case.‘HùThe“role“of“ÄCT‘ÿ:«AN‘ò=²is“to“simplify“arc¸ãhiving“andŽ¡‘à¤distribution,–UUnot“installation“and“use.Ž¦‘à¤In–Δfact,‘ìãthe“roles“of“the“ÄTDS›Îu²and“ÄCT‘ÿ:«AN˜²are“frequenš¸ãtly“in“con ict,‘ìãas“w˜e“will“see.‘Ý„F‘ÿ*ªor“distribu-Ž¡‘à¤tion,‘Ó>man•¸ãy›ºdi eren“t˜t“ypGes˜of˜ les˜m“ust˜bGe˜com“bined˜in“to˜a˜single˜unit;‘ìmfor˜use,‘Ó>it˜is˜traditionalŽ¡‘à¤to–FÔsegregate“ les“(evš¸ãen“similar“ les)“from“a“single“pac˜k‘ÿqÇage“in˜to“separate,‘ƒ3oGccasionally“distan˜t,Ž¡‘à¤directories.ŽŽŸ’è`¤2ŽŽŽŽŽŽŽŒ‹+Ë y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê1.3Ž‘3¤ ConventionsŽŸhŽ‘लIn–¬this“došGcumen¸ãt,‘g\Å/²"“is“used“to“separate“ lename“comp˜onen¸ãts;‘'for“example,‘gÅtexmf/fonts².‘ZäThisŽ¤ ‘à¤is–UUthe“Unix“con•¸ãv“en“tion–UUbut“the“ideas“are“in“no“w•¸ãa“y‘UUUnix-spGeci c.Ž©´G‘à¤In–ºMthis“doGcumen¸ãt,‘Ó‹\T‘þU>Ÿ'EŽ›ãxX"“generally“means“the“T‘þU>Ÿ'EŽ˜X“system,–Ó‹including‘ÝÚÉMETÇAFŽ9ONT8ã²,“ÄD¾9VI‘º3²driv¸ãers,Ž¡‘à¤utilities,–UUetc.,“not“just“the“T‘þU>Ÿ'EŽ‘ãxX“program“itself.Ž¦‘à¤The–äàwš¸ãord“\pac˜k‘ÿqÇage"“in“this“doGcumen˜t“has“its“usual“meaning:‘Þa“set“of“related“ les“distributed,Ž¡‘à¤installed,‘z¾and–sBmainš¸ãtained“as“a“unit.‘ËThis“is“Ãnot‘f²a“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX‘ü2Ÿÿó  b> cmmi10µ"ŽŽ‘,:.²pac˜k‘ÿqÇage,‘z¾whic˜h“is“a“st˜yle“ le“supple-Ž¡‘à¤menš¸ãting–UUa“doGcumen˜t“class.Ž¦‘à¤W‘ÿ*ªe–UUuse“the“folloš¸ãwing“t˜ypGographic“con˜v˜en˜tions:Ž¦‘à¤ÅliteralŽŽ‘H ”²Literal–UUtext“sucš¸ãh“as“Åfilename“²is“t˜ypGeset“in“t˜ypGewriter“t˜ypGe.ŽŸßý‘सhÃr–ÿ}'eplac“e“able‘À[¸iŽŽ‘Zˆ¿²Replaceable–­text“sucš¸ãh“as“¸hÃp‘ÿ}'ackage‘À[¸i²,‘iden˜tifying“a“class“of“things,‘is“t˜ypGeset“inŽ¡‘1à¦italics–UUinside“angle“brac•¸ãk“ets.ŽŸ úö‘à¤Ç2Ž‘.úGeneralŽŸ)›‘लThis–UUsection“describšGes“common“prop˜erties“throughout“the“ÄTDS“²tree.ŽŸÓÚ‘à¤Ê2.1Ž‘3¤ SubSŽdirecto•¬rry‘ê¨sea“rchingŽŸhŽ‘लOlder–lÞT‘þU>Ÿ'EŽ‘ãxX“installations“store“large“n•¸ãum“bGers–lÞof“related“ les“in“single“directories,›rÀfor“example,˜allŽ¡‘à¤ÅTFM–UU² les“and/or“all“T‘þU>Ÿ'EŽ‘ãxX“input“ les.Ž¦‘à¤This–¸ámonolithic“arrangemenš¸ãt“hinders“main˜tenance“of“a“T‘þU>Ÿ'EŽ‘ãxX“system:‘8àit“is“dicult“to“determineŽ¡‘à¤what–² les“are“used“bš¸ãy“what“pac˜k‘ÿqÇages,‘ Cwhat“ les“need“to“bšGe“up˜dated“when“a“new“v¸ãersion“isŽ¡‘à¤installed,‘ëéor–ÍÌwhat“ les“should“bGe“deleted“if“a“pacš¸ãk‘ÿqÇage“is“remo˜v˜ed.‘Û+It“is“also“a“source“of“error“ifŽ¡‘à¤t•¸ãw“o–UUor“more“pacš¸ãk‘ÿqÇages“happGen“to“ha˜v˜e“input“ les“with“the“same“name.Ž¦‘à¤Therefore,‘AMthe–Ÿ'EŽ‘ãxX,–ÜÉMETÇAFŽ9ONT8ã²,“and–½²their“companion“utilities“searc¸ãh“in“b˜oth“a“sp˜eci edŽ¡‘à¤directory–™%and“recursiv¸ãely“through“all“subšGdirectories“of“that“directory“when“lo˜oking“for“an“inputŽ¡‘ठle.‘b½Other–(7forms“of“subGdirectory“searcš¸ãhing,‘1=for“example“recursiv˜e-to-one-lev˜el“searc˜hes,‘1=ma˜y“alsoŽ¡‘à¤bGe–X£proš¸ãvided.‘{²W‘ÿ*ªe“encourage“implemen˜tors“to“pro˜vide“subGdirectory“searc˜hing“at“the“option“of“theŽ¡‘à¤installer–UUand“user“for“all“paths.Ž¦‘à¤The–É®ÄTDS‘ɲdošGes“not“sp˜ecify“a“syn¸ãtax“for“sp˜ecifying“recursivš¸ãe“searc˜hing,‘æÄbut“w˜e“encourage“imple-Ž¡‘à¤menš¸ãtors–UUto“pro˜vide“in˜teropGerabilit˜y“(see“Section“B.2).ŽŽŸ’è`¤3ŽŽŽŽŽŽŽŒ‹;f y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê2.2Ž‘3¤ RoSŽoting–ê¨the“treeŽŸœp‘लIn–ð²this“došGcumen•¸ãt,‘‰w“e–ð²shall“designate“the“ro˜ot“ÄTDS‘ðŠ²directory“b¸ãy“`Åtexmf²'“(for“\T‘þU>Ÿ'EŽ‘ãxX“and“ÉMETÇA²-Ž¤ ‘à¤ÉFŽ9ONT8ã²").‘O:W‘ÿ*ªe–í¬recommend“using“that“name“where“pGossible,‘hbut“the“actual“name“of“the“directory“isŽ¡‘à¤up–U«to“the“installer.‘rÊOn“ÄPC“²net•¸ãw“orks,–UÁfor›U«example,“this˜could˜map˜to˜a˜logical˜driv¸ãe˜spGeci cationŽ¡‘à¤suc¸ãh–UUas“ÅT:².Ž©N8‘à¤Similarly‘ÿ*ª,‘- the–#lošGcation“of“this“directory“on“the“system“is“site-dep˜endenš¸ãt.‘aIt“ma˜y“bšGe“at“the“ro˜ot“ofŽ¡‘à¤the–¨; le“system;‘Ñ®on“Unix“systems,–¼ôÅ/usr/local/share²,“Å/usr/local²,“Å/usr/local/lib²,“and‘¨;Å/optŽ¡‘लare–UUcommon“c¸ãhoices.Ž¦‘à¤The–uæname“Åtexmf“²wš¸ãas“c˜hosen“for“sev˜eral“reasons:‘it“re ects“the“fact“that“the“directory“con˜tains“ lesŽ¡‘à¤pGertaining–cRto“an“en¸ãtire“T‘þU>Ÿ'EŽ‘ãxX“system“(including‘†ßÉMET•ÇAFŽ9ONTš8ã²,‘fÑÉMET“APqÆOST˜²,–fÑB‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX,“etc.),“not‘cRjustŽ¡‘à¤T‘þU>Ÿ'EŽ‘ãxX–itself;‘-Èand“it“is“descriptivš¸ãe“of“a“generic“installation“rather“than“a“particular“implemen˜tation.Ž¦‘à¤A‘y»site–yÅmaš¸ãy“c˜hoGose“to“ha˜v˜e“more“than“one“ÄTDS‘y»²hierarc˜h˜y“installed“(for“example,‘‚áwhen“installingŽ¡‘à¤an–UUupgrade).‘qÇThis“is“pGerfectly“legitimate.ŽŸÄ‘à¤Ê2.3Ž‘3¤ LoSŽcal‘ê¨additionsŽŸœp‘लThe–@ÄTDS‘@ ²cannot“spšGecify“precisely“when“a“pac¸ãk‘ÿqÇage“is“or“is“not“a“\lo˜cal“addition".‘j°Eacš¸ãh“site“m˜ustŽ¡‘à¤determine–gthis“according“to“its“oš¸ãwn“con˜v˜en˜tions.‘rýA˜t“the“t˜w˜o“extremes,‘++one“site“migh˜t“wish“toŽ¡‘à¤consider–¸á\nonloGcal"“all“ les“not“acquired“as“part“of“the“installed“T‘þU>Ÿ'EŽ‘ãxX“distribution;‘ê¨another“siteŽ¡‘à¤mighš¸ãt–hHconsider“\loGcal"“only“those“ les“that“w˜ere“actually“dev˜elopšGed“at“the“lo˜cal“site“and“notŽ¡‘à¤distributed‘UUelsewhere.Ž¦‘à¤W‘ÿ*ªe–Ö7recognize“t•¸ãw“o–Ö7common“methošGds“for“lo˜cal“additions“to“a“distributed“Åtexmf“²tree.‘ôlBoth“ha•¸ãv“eŽ¡‘à¤their–UUplace;“in“fact,“some“sites“emploš¸ãy“bGoth“sim˜ultaneously:Ž¦‘ƒ1.ŽŽŽ‘1à¦A›Yrcompletely–Y²separate“tree“whic¸ãh“is“a“ÄTDS˜²structure“itself;‘­“for“example,‘ŒÅ/usr/local/umbtexŽ¡‘1লat–k¹the“Univ•¸ãersit“y–k¹of“Massac•¸ãh“usetts–k¹at“Boston.‘#éThis“is“another“example“of“the“m¸ãultiple“ÅtexmfŽ¡‘1লhierarc•¸ãhies›UUmen“tioned˜in˜the˜previous˜section.Ž©ßý‘ƒ2.ŽŽŽ‘1à¦A‘t«directory–tänamed“`Ålocal²'“at“anš¸ãy“appropriate“lev˜el,›¡Èfor“example,˜in“the“¸hÃformat‘òظi²,˜¸hÃp‘ÿ}'ackage‘À[¸i²,Ž¡‘1à¦and–N“¸hÃsupplier‘¸i“²directories“discussed“in“the“folloš¸ãwing“sections.‘2The“ÄTDS‘NQ²reserv˜es“the“directoryŽ¡‘1à¦name–UUÅlocal“²for“this“purpGose.Ž¦‘1à¦W‘ÿ*ªe–WŸ'EŽ‘ãxX“input“ les“mš¸ãust“bGe“unique“within“eac˜h“ rst-lev˜el“subGdirectory“of“Åtexmf/texŽ¡‘1লand–C¯Åtexmf/tex/generic²,›G6but“not“within“all“of“Åtexmf/tex²;‘I‘i.e.,˜di erenš¸ãt“T‘þU>Ÿ'EŽ‘ãxX“formats“ma˜yŽ¡‘1à¦ha•¸ãv“e–› les“b¸ãy“the“same“name.›Bþ(Section“3.1“discusses“this“further.)˜Th¸ãus,‘¬no“single“format-Ž¡‘1à¦indepšGenden¸ãt–<Õpath“sp˜eci cation,‘tïsucš¸ãh“as“a“recursiv˜e“searc˜h“bšGeginning“at“Åtexmf/tex“²sp˜ecifyingŽ¡‘1à¦no–´!other“directories,‘ Ôsuces.‘Ž,So“implemenš¸ãtations“m˜ust“pro˜vide“format-depGenden˜t“pathŽ¡‘1à¦spšGeci cations,–UUfor“example“via“wrapp˜er“scripts“or“con guration“ les.ŽŸßý‘!à ¸ŽŽŽ‘1লMan•¸ãy›4öfon“t˜ les˜will˜ha“v“e˜the˜same˜name˜(e.g.,–lÞÅcmr10.pk²),“as˜discussed˜in˜Section˜3.2.2.Ž¡‘1à¦Implemen•¸ãtations›UUm“ust˜distinguish˜these˜ les˜b“y˜moGde˜and˜resolution.Ž¦‘à¤All–UUimplemenš¸ãtations“w˜e“kno˜w“of“already“ha˜v˜e“these“capabilities.Ž¦‘à¤One–UUplace“where“duplicate“names“are“lik¸ãely“to“oGccur“is“not“an“exception:Ž¦‘!à ¸ŽŽŽ‘1লNames–n¹of‘5ÖÉMETÇAFŽ9ONT‘§œ²input“ les“(as“oppšGosed“to“bitmaps)“m¸ãust“b˜e“unique“within“all“ofŽ¡‘1à¦Åtexmf/fonts².‘B€In–Çpractice,‘ãÞthis“is“a“problem“with“some“v‘ÿqÇarianš¸ãts“of“Computer“MoGdern“whic˜hŽ¡‘1à¦con•¸ãtain›ÞÀsligh“tly˜moGdi ed˜ les˜named˜Åpunct.mf²,–öxÅromanl.mf²,“and˜so˜on.‘J@W‘ÿ*ªe˜bGeliev¸ãe˜the˜onlyŽ¡‘1à¦feasible–UUsolution“is“to“rename“the“deriv‘ÿqÇativ¸ãe“ les“to“bGe“unique.ŽŸ#8à‘à¤Ç3Ž‘.úT‘þÓ4op-level‘³/directo›¼riesŽŸÃŒ‘लThe–—´directories“under“the“Åtexmf“²rošGot“iden¸ãtify“the“ma‘Ž8jor“comp˜onen¸ãts“of“a“T‘þU>Ÿ'EŽ‘ãxX“system“(see“Sec-Ž¡‘à¤tion–UU4“for“a“summary).‘qÇA“site“maš¸ãy“omit“an˜y“unneeded“directories.Ž¦‘à¤Although–aßthe“ÄTDS‘a¡²b¸ãy“its“nature“can“spšGecify“precise“lo˜cations“only“for“implemen•¸ãtation-indep˜enden“tŽ¡‘ठles,‘cwš¸ãe–À”recognize“that“installers“ma˜y“w˜ell“wish“to“place“other“ les“under“Åtexmf“²to“simplifyŽ¡‘à¤administration– of“the“T‘þU>Ÿ'EŽ‘ãxX“tree,‘Œ²espGecially“if“it“is“mainš¸ãtained“b˜y“someone“other“than“the“systemŽ¡‘à¤administrator.‘qÇTherefore,–UUadditional“top-levš¸ãel“directories“ma˜y“bGe“presen˜t.Ž¦‘à¤The–UUtop-levš¸ãel“directories“spGeci ed“b˜y“the“ÄTDS“²are:Ž¦‘à¤ÅtexŽŽ‘3  ²for–UUT‘þU>Ÿ'EŽ‘ãxX“ les“(Section“3.1).Ž¤ßý‘à¤ÅfontsŽŽ‘> š²for–UUfon¸ãt-related“ les“(Section“3.2).Ž¡‘à¤ÅmetafontŽŽ‘Mà‘²for–UUÉMETÇAFŽ9ONT‘Ž8² les“whicš¸ãh“are“not“fon˜ts“(Section“3.3).Ž¡‘à¤ÅmetapostŽŽ‘Mà‘²for–UUÉMETÇAPqÆOST‘Ž8² les“(Section“3.4).Ž¡‘à¤ÅbibtexŽŽ‘C`—²for–UUB‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“ les“(Section“3.5).Ž¡‘à¤ÅscriptsŽŽ‘H ”²for–UUplatform-indepGenden¸ãt“executables“(Section“3.6).Ž¡‘à¤ÅdocŽŽ‘3  ²for–UUuser“doGcumen¸ãtation“(Section“3.7).Ž¡‘à¤ÅsourceŽŽ‘C`—²for– sources.‘ ÓFThis“includes“bGoth“traditional“program“sources“(for“example,‘“IW‘ÿ*ªeb2CŽ¤ ‘1à¦sources–ÔFgo“in“Åtexmf/source/web2c²)“and,–4e.g.,“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX–ÔFÅdtx“²sources“(whic¸ãh“go“in“Åtexmf/Ž¡‘1à¦source/latex²).‘qÇThe–UUÄTDS“²lea•¸ãv“es–UUunspGeci ed“an¸ãy“structure“under“Åsource².ŽŽŸ’è`¤5ŽŽŽŽŽŽŽŒ‹[Рy ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘1à¦Åsource–Ùì²is“inš¸ãtended“for“ les“whic˜h“are“not“needed“at“run˜time“b˜y“an˜y“T‘þU>Ÿ'EŽ‘ãxX“program;‘œ7itŽ¤ ‘1à¦should–Ñnot“bGe“included“in“anš¸ãy“searc˜h“path.‘W›F‘ÿ*ªor“example,‘…Åplain.tex“²došGes“not“b˜elong“underŽ¡‘1à¦Åtexmf/source²,‘ÐÉevš¸ãen–„åthough“it“is“a“\source“ le"“in“the“sense“of“not“bGeing“deriv˜ed“fromŽ¡‘1à¦another–UU le.‘qÇ(It“goGes“in“Åtexmf/tex/plain/base²,“as“explained“in“Section“3.1).Ž©ßý‘सhÃimplementation‘Äc¸iŽŽ‘oㆲfor–w°implemenš¸ãtations“(examples:‘õÅemtex²,–¤Åvtex²,“Åweb2c²),“to–w°bGe“used“for“whatev˜erŽ¡‘1à¦purpGose–’5deemed“suitable“bš¸ãy“the“implemen˜tor“or“T‘þU>Ÿ'EŽ‘ãxX“administrator.‘(gThat“is,‘ál les“thatŽ¡‘1à¦cannot–®tbšGe“shared“b˜et•¸ãw“een›®timplemen“tations,‘»suc“h˜as˜p•Go“ol˜ les˜(Åtex.pool²)˜and˜memoryŽ¡‘1à¦dump–ˆª les“(Åplain.fmt²)“go“here,‘Õin“addition“to“implemen¸ãtation-wide“con guration“ les.Ž¡‘1à¦See–UUSection“B.3“for“examples“of“real“¸hÃimplementation‘Äc¸i“²trees.Ž¦‘1à¦Suc•¸ãh›5implemen“tation-sp•Geci c˜con guration˜ les˜should˜Ãnot‘(e²b“e˜lo“cated˜using˜the˜main˜T‘þU>Ÿ'EŽ‘ãxXŽ¡‘1à¦input–ò¸searcš¸ãh“path“(e.g.,‘qÅTEXINPUTS²).‘PèThis“m˜ust“bGe“reserv˜ed“for“ les“actually“read“b˜y“a“T‘þU>Ÿ'EŽ‘ãxXŽ¡‘1à¦engine.‘qÇSee–UUSection“3.1.1.Ž¦‘सhÃpr–ÿ}'o“gr“am‘Äc¸iŽŽ‘Onð²for–$öprogram-spGeci c“input“and“con guration“ les“for“an¸ãy“T‘þU>Ÿ'EŽ‘ãxX-related“programs“(ex-Ž¡‘1à¦amples:‘zÅmft²,–_%Ådvips²).‘‰SIn›].fact,“the˜Åtex²,“Åmetafont²,“Åmetapost²,“and˜Åbibtex˜²items˜abGo•¸ãv“e˜ma“yŽ¡‘1à¦all–UUbGe“seen“as“instances“of“this“case.ŽŸÄ‘à¤Ê3.1Ž‘3¤ MacrosŽŸœp‘लT‘þU>Ÿ'EŽ›ãxX–ámacro“ les“shall“bGe“stored“in“separate“directories,‘segregated“b¸ãy“T‘þU>Ÿ'EŽ˜X“format“and“pac¸ãk‘ÿqÇageŽ¡‘à¤name–UU(wš¸ãe“use“`format'“in“its“traditional“T‘þU>Ÿ'EŽ‘ãxX“sense“to“mean“a“usefully“¸nÅdump²-able“pac˜k‘ÿqÇage):Ž¡‘1à¦Åtexmf/tex/¸hÃformat‘òظiÅ/¸hÃp‘ÿ}'ackage‘À[¸iÅ/ŽŸN8‘सhÃformat‘òظiŽŽ‘I›ÿ²is–UUa“format“name“(examples:‘qÇÅamstex²,“Ålatex²,“Åplain²,“Åtexinfo²).Ž¦‘1à¦The–™ÄTDS‘Š²alloš¸ãws“distributions“that“can“bGe“used“as“either“formats“or“pac˜k‘ÿqÇages“(e.g.,‘$¿T‘ÿ*ªexinfo,Ž¡‘1à¦Eplain)–to“bGe“stored“at“either“lev¸ãel,‘©ñat“the“option“of“the“format“author“or“T‘þU>Ÿ'EŽ‘ãxX“administrator.Ž¡‘1à¦W‘ÿ*ªe–ïŸ'EŽ‘ãxX“inputs“searcš¸ãh“path,‘ë4it“will“bGe“straigh˜tforw˜ard“to“use“them“asŽ¡‘1à¦macro–>pac¸ãk‘ÿqÇages“under“another“format,‘xÞwhereas“placing“them“in“another“tree“completelyŽ¡‘1à¦obscures–UUtheir“use“as“a“format.Ž¦‘1à¦The–UUÄTDS“²reservš¸ães“the“follo˜wing“¸hÃformat‘òظi“²names:Ž¦‘7à ¸ŽŽŽ‘Gà¦Ågeneric²,‘Àfor–¶xinput“ les“that“are“useful“across“a“wide“range“of“formats“(examples:Ž¡‘Gà¦Ånull.tex²,–=’Åpath.sty²).‘gàGenerally‘ÿ*ª,“this–7¡means“an¸ãy“format“that“uses“the“category“coGdesŽ¡‘Gà¦of–X}Plain“T‘þU>Ÿ'EŽ‘ãxX“and“doGes“not“rely“on“anš¸ãy“particular“format.‘{>This“is“in“con˜trast“to“thoseŽ¡‘Gঠles–ÄÍwhicš¸ãh“are“useful“only“with“Plain“T‘þU>Ÿ'EŽ‘ãxX“(whic˜h“go“under“Åtexmf/tex/plain²),‘àªe.g.,Ž¡‘Gà¦Åtestfont.tex–UU²and“Åplain.tex“²itself.Ž¦‘7à ¸ŽŽŽ‘Gà¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¦‘1à¦Thš¸ãus,‘:Nfor–3Œalmost“ev˜ery“format,‘:Nit“is“necessary“to“searc˜h“at“least“the“¸hÃformat‘òظi“²directory“andŽ¡‘1à¦then–pthe“Ågeneric“²directory“(in“that“order).‘#Other“directories“maš¸ãy“need“to“bGe“searc˜hed“asŽ¡‘1à¦w¸ãell,›ŽdepGending–êOon“the“format.‘0¶When“using“¸A‘þU>Ÿ'MŽ‘ ‹S²-T‘þU>Ÿ'EŽ‘ãxX,˜for“example,˜the“Åamstex²,˜Åplain²,Ž¡‘1à¦and–UUÅgeneric“²directories“should“bšGe“searc¸ãhed,“b˜ecause“¸A‘þU>Ÿ'MŽ‘ ‹S²-T‘þU>Ÿ'EŽ‘ãxX“is“compatible“with“Plain.Ž¦‘सhÃp‘ÿ}'ackage‘À[¸iŽŽ‘M õ²is–UUa“T‘þU>Ÿ'EŽ‘ãxX“pac¸ãk‘ÿqÇage“name“(examples:‘qÇÅbabel²,“Åtexdraw²).Ž¦‘1à¦In–{ýthe“case“where“a“format“consists“of“only“a“single“ le“and“has“no“auxiliary“pac¸ãk‘ÿqÇages,Ž¡‘1à¦that–b le“can“simply“bGe“placed“in“the“¸hÃformat›òظi“²directory‘ÿ*ª,‘¥?instead“of“¸hÃformat˜¸iÅ/base².‘—øF‘ÿ*ªorŽŽŸ’è`¤6ŽŽŽŽŽŽŽŒ‹jÁ y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘1à¦example,›RÍT‘ÿ*ªexinfo–R,ma¸ãy“go“in“Åtexmf/tex/texinfo/texinfo.tex²,˜not“Åtexmf/tex/texinfo/Ž© ‘1à¦base/texinfo.tex².Ž¤ßý‘1à¦The–UUÄTDS“²reservš¸ães“the“follo˜wing“¸hÃp‘ÿ}'ackage‘À[¸i“²names:Ž¡‘7à ¸ŽŽŽ‘Gà¦Åbase²,›6„for– zthe“base“distribution“of“eac¸ãh“format,˜including“ les“used“b¸ãy‘-ÅINITEX“²whenŽ¦‘Gà¦dumping–­§format“ les.‘z¼F‘ÿ*ªor“example,›ûin“the“standard“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“distribution,˜the“Åltx“² lesŽ¦‘Gà¦created–‘during“the“build“proGcess.‘$ôAnother“example:‘é:the“Å.ini“²driv¸ãer“ les“for“formatsŽ¦‘Gà¦used–UUbš¸ãy“T‘þU>Ÿ'EŽ‘ãxX“Liv˜e“and“other“distributions.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åhyphen²,›!Nfor–øƒh¸ãyphenation“patterns,˜including“the“original“American“English“Åhyphen.Ž¦‘Gà¦tex².‘fÒThese–4vare“tš¸ãypically“used“only“b˜y‘XÅINITEX².‘fÒIn“most“situations,‘; this“directory“needŽ¦‘Gà¦exist–UUonly“under“the“Ågeneric“²format.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åimages²,›;for– )image“input“ les,˜sucš¸ãh“as“Encapsulated“P˜ostScript“ gures.‘™CAlthough“itŽ¦‘Gà¦is–jCsomewhat“non-in•¸ãtuitiv“e–jCfor“these“to“bGe“under“a“directory“named“\Åtex²",‘o~T‘þU>Ÿ'EŽ‘ãxX“needsŽ¦‘Gà¦to–²¼read“these“ les“to“glean“bšGounding“b˜oš¸ãx“or“other“information.‘‰ýA‘²bmec˜hanism“forŽ¦‘Gà¦sharing–ƒimage“inputs“bšGet•¸ãw“een–ƒT‘þU>Ÿ'EŽ‘ãxX“and“other“t¸ãyp˜esetting“programs“(e.g.,‘ÎŽIn¸ãterleaf,Ž¦‘Gà¦F‘ÿ*ªrameMakš¸ãer)–MÊis“bGey˜ond“the“scopGe“of“the“ÄTDS².‘oCIn“most“situations,‘OLthis“directory“needŽ¦‘Gà¦exist–UUonly“under“the“Ågeneric“²format.Ž¡‘7à ¸ŽŽŽ‘Gà¦Ålocal²,–UUfor“loGcal“additions“and“con guration“ les.‘qÇSee“Section“2.3.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åmisc²,‘ÇBfor–£½pacš¸ãk‘ÿqÇages“that“consist“of“a“single“ le.‘6•An“administrator“or“pac˜k‘ÿqÇage“main˜tainerŽ¦‘Gà¦maš¸ãy–µcreate“directories“for“single- le“pac˜k‘ÿqÇages“at“their“discretion,‘Õinstead“of“using“Åmisc².ŽŸÄ‘à¤È3.1.1Ž‘7nâExtensionsŽŸœp‘लT‘þU>Ÿ'EŽ‘ãxX–Hhas“spaš¸ãwned“man˜y“companion“and“successor“programs“(\engines"),‘}åsuc˜h“as“ÄPDF²T‘þU>Ÿ'EŽ‘ãxX,‘}åOmega,Ž¦‘à¤and–ÜÔothers.‘IœThe“ÄTDS‘ܵ²spGeci es“that“the“input“ les“for“sucš¸ãh“programs“(using“a“T‘þU>Ÿ'EŽ‘ãxX-lik˜e“syn˜tax)“bGeŽ¦‘à¤placed–'2within“the“top-levš¸ãel“Åtex“²directory‘ÿ*ª,‘0leither“at“the“top“lev˜el“or“within“a“format“subGdirectory‘ÿ*ª,Ž¦‘à¤evš¸ãen–UUthough“the“original“T‘þU>Ÿ'EŽ‘ãxX“program“ma˜y“not“bGe“able“to“read“them.‘qÇF‘ÿ*ªor“example:Ž¦‘1à¦Åtexmf/tex/alephŽ¦‘1à¦texmf/tex/enctexŽ¦‘लThis–Gis“a“cš¸ãhange“from“ÄTDS“²1.0,‘ƒrwhic˜h“spGeci ed“top-lev˜el“¸hÃextension‘Äc¸i“²directories“for“eac˜h“suc˜hŽ¦‘à¤program.‘qÇW‘ÿ*ªe–UUfelt“the“new“approac¸ãh“is“preferable,“bGecause:ŽŸN8‘!à ¸ŽŽŽ‘1লAuthors–¶uof“relev‘ÿqÇanš¸ãt“pac˜k‘ÿqÇages“t˜ypically“mak˜e“their“cošGde“detect“the“engine“b˜eing“used,‘νandŽ¦‘1à¦issue–Úôerror“messages“or“adapt“to“circumstances“appropriately–ÿ*ª.‘¥F“urthermore,‘ü\as–Úôa“pac¸ãk‘ÿqÇageŽ¦‘1à¦matures,‘\ëit–(3maš¸ãy“suppGort“m˜ultiple“engines.‘êbTh˜us,‘\ëa“pac˜k›ÿqÇage“could“conceiv˜ably“bGe“placedŽ¦‘1à¦in–Ãanš¸ãy“of“sev˜eral“top-lev˜el“directories,‘Qat“di eren˜t“times.‘ÎPutting“all“pac˜k‘ÿqÇages“under“theŽ¦‘1à¦top-levš¸ãel–UUÅtex“²directory“pro˜vides“a“stable“loGcation“o˜v˜er“time.Ž¡‘!à ¸ŽŽŽ‘1লUsers–-¤need“to“bšGe“able“to“switc¸ãh“b˜et•¸ãw“een–-¤engines,‘5•and“con guring“di erenš¸ãt“searc˜h“paths“forŽ¦‘1à¦eac¸ãh–UUengine“is“dicult“and“error-prone.Ž¤N8‘à¤Thš¸ãus,–Åin‘!practice,“ha˜ving–!di eren˜t“top-lev˜el“directories“caused“diculties“for“ev˜ery˜one“in˜v˜olv˜ed|Ž¦‘à¤users,–UUpac¸ãk‘ÿqÇage“authors,“site“administrators,“and“system“distributors.Ž¡‘à¤Please–€aconš¸ãtrast“this“approac˜h“with“the“¸hÃimplementation‘Äc¸i“²top-lev˜el“subGdirectory“(Section“3),‘ªøwhic˜hŽ¦‘à¤is–to“bGe“used“for“con guration“ les“that“(presumably)“do“not“use“T‘þU>Ÿ'EŽ‘ãxX“synš¸ãtax“and“in“an˜y“caseŽ¦‘à¤should–UUnot“bGe“found“along“the“main“T‘þU>Ÿ'EŽ‘ãxX“input“searc¸ãh“path.ŽŽŸ’è`¤7ŽŽŽŽŽŽŽŒ‹{Ï y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê3.2Ž‘3¤ F¬rontsŽŸœp‘लF‘ÿ*ªonš¸ãt– les“are“stored“in“separate“directories,‘!segregated“b˜y“ le“t˜ypGe,‘!and“then“(in“most“cases)“fon˜tŽ¤ ‘à¤supplier– Eand“t¸ãypGeface.‘YÄPK› 3²and“ÄGF˜² les“need“additional“structure,‘as“detailed“in“the“next“section.Ž¡‘1à¦Åtexmf/fonts/¸hÃtyp–ÿ}'e›À[¸iÅ/¸hÃsupplier‘¸iÅ/¸hÃtyp“efac“e˜¸iÅ/Ž¡‘1à¦texmf/fonts/enc,lig,map/¸hÃsubp‘ÿ}'ath‘Äc¸iÅ/ŽŸN8‘सhÃtyp‘ÿ}'e‘À[¸iŽŽ‘=Èβis–ÍÀthe“tš¸ãypGe“of“fon˜t“ le.‘ÛThe“ÄTDS‘Í¡²reserv˜es“the“follo˜wing“¸hÃtyp‘ÿ}'e‘À[¸i“²names“for“common“T‘þU>Ÿ'EŽ‘ãxXŽ¡‘1ঠle‘UUt¸ãypGes:Ž©ßý‘7à ¸ŽŽŽ‘Gà¦Åafm²,–UUfor“AdobGe“fon¸ãt“metrics,“and“Åinf“² les.Ž¡‘7à ¸ŽŽŽ‘Gà¦Ågf²,–UUfor“generic“fon¸ãt“bitmap“ les.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åopentype²,–UUfor“Op•GenTš¸ãyp“e‘UUfon˜ts.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åpk²,–UUfor“pac•¸ãk“ed–UUbitmap“ les.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åsource²,–UUfor“fonš¸ãt“sources“(ÉMETÇAFŽ9ONT‘Ž8² les,“propGert˜y“lists,“etc.).Ž¡‘7à ¸ŽŽŽ‘Gà¦Åtfm²,–UUfor“T‘þU>Ÿ'EŽ‘ãxX“fon¸ãt“metric“ les.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åtruetype²,–UUfor“T‘ÿ*ªrueTš¸ãypGe“fon˜ts.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åtype1²,–UUfor“Pš¸ãostScript“T˜ypGe“1“fon˜ts“(in“Åpfa²,“Åpfb²,“or“an˜y“other“format),“and“Åpfm“² les.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åtype3²,–UUfor“Pš¸ãostScript“T˜ypGe“3“fon˜ts.Ž¡‘7à ¸ŽŽŽ‘Gà¦Åvf²,–UUfor“virtual“fon¸ãts.Ž¦‘1à¦The–r‘ÄTDS‘rX²also“reservš¸ães“the“names“Åenc²,–ŸìÅlig²,“and–r‘Åmap“²for“fon˜t“encoGding,–Ÿìligature,“and‘r‘mappingŽ¡‘1ঠles,‘`¢respGectivš¸ãely‘ÿ*ª.‘ YµAll–÷úof“these“directories“are“structured“the“same“w˜a˜y‘ÿ*ª,‘`¢with“¸hÃsyntax‘4D¸iŽ¡‘1লsubšGdirectories,‘ðîand–ÑÏthen“¸hÃp‘ÿ}'ackage‘À[¸i“²subsub˜directories.‘ç6Eacš¸ãh“of“these“ le“t˜ypGes“is“in˜tendedŽ¡‘1à¦to–;¸bGe“searcš¸ãhed“along“its“o˜wn“recursiv˜ely-searc˜hed“path.‘i>The“names“of“the“actual“ les“m˜ustŽ¡‘1à¦bGe–UUunique“within“their“subtree,“as“usual.‘qÇExamples:Ž¡‘Gà¦Åfonts/map/dvipdfm/updmap/dvipdfm.mapŽ¡‘Gà¦fonts/map/dvips/lm/lm.mapŽ¡‘Gà¦fonts/enc/dvips/base/8r.encŽ¡‘1লThe–27F‘ÿ*ªonš¸ãtname“and“Dvips“pac˜k‘ÿqÇages“ha˜v˜e“more“examples“of“the“Åenc“²and“Åmap“²t˜ypGes.‘mTheŽ¡‘1à¦Åafm2pl–UU²program“uses“Ålig“² les.Ž¦‘1à¦Åpfm– î² les“are“included“in“the“Åtype1“²directory‘ÿ*ª,‘SÔinstead“of“bGeing“givš¸ãen“their“o˜wn“directory‘ÿ*ª,Ž¡‘1à¦for›Âòt•¸ãw“o˜reasons:‘M1)˜a˜Å.pfm˜² le˜is˜alw“a“ys˜an˜adjunct˜to˜a˜giv“en˜Å.pfb˜² le;‘ùÀ2)˜they˜m“ust˜bGeŽ¡‘1à¦installed–UUfrom“the“same“directory“for“Windo¸ãws“programs“other“than“T‘þU>Ÿ'EŽ‘ãxX“to“use“them.Ž¦‘1à¦Åinf–ÒL² les“are“included“in“the“Åafm“²directory‘ÿ*ª,‘ìsince“an“Åinf“²and“Åafm“² le“can“bGe“used“to“generateŽ¡‘1à¦a–5bÅpfm².‘g!(Unfortunately‘ÿ*ª,‘;ÆAdobšGe“T¸ãyp˜e“Manager“and“p˜erhaps“other“soft•¸ãw“are–5brequires“that“theŽ¡‘1à¦Åpfb–UU²bGe“in“the“same“directory“as“Åafm“²and“Åinf“²for“installation.)Ž¦‘1à¦As–qusual,‘ka“site“maš¸ãy“omit“an˜y“of“these“directories“that“are“unnecessary‘ÿ*ª.‘W&Ågf“²is“a“particularlyŽ¡‘1à¦lik¸ãely–UUcandidate“for“omission.Ž¦‘सhÃsupplier‘¸iŽŽ‘NÙ$²is–ça“name“idenš¸ãtifying“fon˜t“source“(examples:‘:¦Åadobe²,–ý!Åams²,“Åpublic²).‘MThe‘çÄTDS‘æ÷²reserv˜esŽ¡‘1à¦the–UUfollo¸ãwing“¸hÃsupplier‘¸i“²names:Ž¦‘7à ¸ŽŽŽ‘Gà¦Åams²,–UUfor“the“American“Mathematical“SoGcietš¸ãy's“¸A‘þU>Ÿ'MŽ‘ ‹S²-fon˜ts“collection.Ž¦‘7à ¸ŽŽŽ‘Gà¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¦‘7à ¸ŽŽŽ‘Gà¦Åpublic²,‘‚\for–y[freely“redistributable“fon¸ãts“where“the“supplier“neither“(1)“requested“theirŽ¡‘Gà¦oš¸ãwn–ãdirectory“(e.g.,–ŠÅams²),“nor–ã(2)“also“made“proprietary“fon˜ts“(e.g.,‘ŠÅadobe²).‘It“doGesŽŽŸ’è`¤8ŽŽŽŽŽŽŽŒ‹ Œ y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘Gà¦not–[´conš¸ãtain“all“extan˜t“freely“distributable“fon˜ts,‘Lnor“are“all“ les“therein“necessarilyŽ¤ ‘Gà¦strictly–UUpublic“domain.Ž©ßý‘7à ¸ŽŽŽ‘Gà¦Åtmp²,›efor–/dynamically-generated“fon¸ãts,˜as“is“traditional“on“some“systems.‘þýIt“ma¸ãy“bGeŽ¡‘Gà¦omitted–UUif“unnecessary‘ÿ*ª,“as“usual.Ž¦‘सhÃtyp–ÿ}'efac“e‘À[¸iŽŽ‘N¦£²is–Ù[the“name“of“a“tš¸ãypGeface“family“(examples:‘yÓÅcm²,–ú\Åeuler²,“Åtimes²).‘ýÙThe‘Ù[ÄTDS‘Ù9²reserv˜esŽ¡‘1à¦the–UUfollo¸ãwing“¸hÃtyp–ÿ}'efac“e‘À[¸i‘UU²names:Ž¦‘7à ¸ŽŽŽ‘Gà¦Åcm–ç\²(within“Åpublic²),‘ý[for“the“75“fon¸ãts“de ned“in“ÃComputers–.»and“T–ÿ;¼yp‘ÿ}'esetting,‘B÷V“olume‘.»E².Ž¦‘7à ¸ŽŽŽ‘Gà¦Ålatex–¹ê²(within“Åpublic²),‘Ùfor“those“fon¸ãts“distributed“with“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“in“the“base“distribution.Ž¦‘7à ¸ŽŽŽ‘Gà¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž©N8‘à¤Some–UUconcrete“examples:Ž¡‘1à¦Åtexmf/fonts/source/public/pandora/pnr10.mfŽ¡‘1à¦texmf/fonts/tfm/public/cm/cmr10.tfmŽ¡‘1à¦texmf/fonts/type1/adobe/utopia/putr.pfaŽ¡‘लF‘ÿ*ªor–`¾complete“supplier“and“t¸ãypšGeface“name“lists,‘‘ªconsult“ÃFilenames–²ãfor“T‘þKß'EŽ‘Í-X“fonts‘2ß²(see–`¾App˜endix“D).ŽŸÄ‘à¤È3.2.1Ž‘7nâF¸ãont‘UUbitmapsŽŸœp‘लF‘ÿ*ªonš¸ãt–4Mbitmap“ les“require“t˜w˜o“c˜haracteristics“in“addition“to“the“abGo˜v˜e“to“bGe“uniquely“iden˜ti able:Ž¡‘à¤(1)–§zthe“t¸ãypšGe“of“device“(i.e.,‘Ê@mo˜de)“for“whicš¸ãh“the“fon˜t“w˜as“created;‘án(2)“the“resolution“of“the“bitmap.Ž¦‘à¤F‘ÿ*ªolloš¸ãwing–ø‹common“practice,‘!Xthe“ÄTDS‘øa²segregates“fon˜ts“with“di eren˜t“device“t˜ypGes“in˜to“separateŽ¡‘à¤directories.‘qÇSee–UUÅmodes.mf“²in“AppšGendix“D“for“recommended“mo˜de“names.Ž¦‘à¤Some–™­prin¸ãters“opGerate“at“more“than“one“resolution“(e.g.,‘ªÃat“300›ª®dpi“and“600˜dpi),‘ªÃbut“eacš¸ãh“suc˜hŽ¡‘à¤resolution–\Pwill“necessarily“ha•¸ãv“e–\Pa“di eren¸ãt“moGde“name.‘†¹Nothing“further“is“needed,‘^since“implicitŽ¡‘à¤in–UUthe“T‘þU>Ÿ'EŽ‘ãxX“system“is“the“assumption“of“a“single“target“resolution.Ž¦‘à¤Twš¸ão–6§naming“strategies“are“commonly“used“to“iden˜tify“the“resolution“of“bitmap“fon˜t“ les.‘½OnŽ¡‘à¤systems–öáthat“allo¸ãw“long“ lenames“(and“in“the“original“ÉMETÇAFŽ9ONT‘/IJprogram“itself‘Ç),‘ Åthe“resolutionŽ¡‘à¤is–¼£included“in“the“ lename“(e.g.,‘Û.Åcmr10.300pk²).‘>áOn“systems“whic¸ãh“do“not“suppGort“long“ lenames,Ž¡‘à¤fonš¸ãts–UUare“generally“segregated“in˜to“directories“b˜y“resolution“(e.g.,“Ådpi300/cmr10.pk²).Ž¦‘à¤Because–.{the“ÄTDS‘.q²cannot“require“long“ lenames,‘6@wš¸ãe“m˜ust“use“the“latter“sc˜heme“for“naming“fon˜ts.Ž¡‘à¤So–UUwš¸ãe“ha˜v˜e“t˜w˜o“more“subGdirectory“lev˜els“under“Åpk“²and“Ågf²:Ž¡‘1à¦Åtexmf/fonts/pk/¸hÃmo–ÿ}'de›À[¸iÅ/¸hÃsupplier‘¸iÅ/¸hÃtyp“efac“e˜¸iÅ/dpi¸hÃnnn‘Äc¸iÅ/Ž¡‘1à¦texmf/fonts/gf/¸hÃmo–ÿ}'de›À[¸iÅ/¸hÃsupplier‘¸iÅ/¸hÃtyp“efac“e˜¸iÅ/dpi¸hÃnnn‘Äc¸iÅ/Ž¦‘सhÃmo‘ÿ}'de‘À[¸iŽŽ‘Bå@²is–DŠa“name“whicš¸ãh“iden˜ti es“the“device“t˜ypGe“(examples:‘iaÅcx²,–GæÅljfour²,“Åmodeless²).‘l.Usually‘ÿ*ª,Ž¡‘1à¦this–;ris“the“name“of“the“ÉMETÇAFŽ9ONT‘tU²moGde“used“to“build“the“ÄPK‘;7² le.‘$F‘ÿ*ªor“fon¸ãts“renderedŽ¡‘1à¦as–èèbitmaps“b¸ãy“a“program“that“došGes“not“distinguish“b˜et•¸ãw“een›èèdi eren“t˜output˜devices,‘ ÍtheŽ¡‘1সhÃmo›ÿ}'de‘À[¸i–Ñݲname“shall“bGe“simply“Åmodeless².‘EôThe“¸hÃmo˜de‘À[¸i“²levš¸ãel“shall“not“bGe“omitted,‘ì(ev˜en“if“onlyŽ¡‘1à¦a–UUsingle“mošGde“happ˜ens“to“b˜e“in“use.ŽŸßý‘à¤Ådpi¸hÃnnn‘Äc¸iŽŽ‘M ù²spGeci es–ñÑthe“resolution“of“the“fon¸ãt“(examples:‘@Ådpi300²,‘¸Ådpi329²).‘P›`Ådpi²'“stands“for“dotsŽ¡‘1à¦pGer›é´inc¸ãh,–ÿ:i.e.,“pixels˜p•Ger˜inc¸ãh.‘MçW‘ÿ*ªe˜recognize˜that˜pixels˜p“er˜millimeter˜is˜used˜in˜man¸ãy˜partsŽ¡‘1à¦of–UUthe“wš¸ãorld,“but“dpi“is“toGo“traditional“in“the“T‘þU>Ÿ'EŽ‘ãxX“w˜orld“to“consider“c˜hanging“no˜w.ŽŽŸ’è`¤9ŽŽŽŽŽŽŽŒ‹ šÕ y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘1à¦The–/Sin¸ãteger“¸hÃnnn‘Äc¸i“²is“to“bGe“calculated“as“if“using‘RàÉMETÇAFŽ9ONT‘h6²arithmetic“and“then“rounded;Ž¤ ‘1à¦i.e.,‘p¤it–k.is“the“in¸ãteger“ÉMETÇAFŽ9ONT‘¤²uses“in“its“output“Ågf“² lename.‘³QW‘ÿ*ªe“recognize“small“di er-Ž¡‘1à¦ences–šxin“the“resolution“are“a“common“cause“of“frustration“among“users,›«Áho•¸ãw“ev“er,˜and‘šxrec-Ž¡‘1à¦ommend–`Cimplemenš¸ãtors“follo˜w“the“lev˜el“0“ÄD¾9VI‘`@²driv˜er“standard“(see“AppGendix“D)“in“bitmapŽ¡‘1à¦fon•¸ãt›UUsearc“hes˜b“y˜allo“wing˜a˜fuzz˜of˜¸²0µ:²2%˜(with˜a˜minim“um˜of˜1)˜in˜the˜¸hÃdpi‘Ú¸i².Ž©DY‘à¤Implemen•¸ãtations›:ma“y˜pro“vide˜extensions˜to˜the˜basic˜naming˜sc“heme,‘?‹suc“h˜as˜long˜ lenames˜(asŽ¡‘à¤in–Ãbthe“original“ÉMETÇAFŽ9ONT8ã²)“and“fonš¸ãt“library“ les“(as“in“emT‘þU>Ÿ'EŽ‘ãxX's“Å.fli“² les),‘Þåpro˜vided“that“theŽ¡‘à¤basic–UUsc¸ãheme“is“also“suppGorted.ŽŸó‘à¤È3.2.2Ž‘7nâV¸ãalid–UUfont“bitmapsŽŸˆ²‘लThe–âÄTW¾9G‘Ô²recognizes“that“the“use“of“short“ lenames“has“manš¸ãy“disadv‘ÿqÇan˜tages.‘nThe“most“v˜exingŽ¡‘à¤is–mthat“it“results“in“the“creation“of“dozens“of“di erenš¸ãt“ les“with“the“same“name.‘]zA˜t“a“t˜ypical“site,Ž¡‘à¤Åcmr10.pk–óK²will“bšGe“the“ lename“for“Computer“Mo˜dern“Roman“10‘ª®pt“at“5{10“magni cations“for“2{3Ž¡‘à¤moGdes.‘qÇ(Section–UU2.4“discusses“duplicate“ lenames“in“general.)Ž¦‘à¤T‘ÿ*ªo–’¿minimize“this“problem,‘¢wš¸ãe“strongly“recommend“that“ÄPK‘’°² les“con˜tain“enough“information“toŽ¡‘à¤idenš¸ãtify–±…precisely“ho˜w“they“w˜ere“created:‘*&at“least“the“moGde,›È‘base“resolution,˜and“magni cationŽ¡‘à¤used–UUto“create“the“fon¸ãt.Ž¦‘à¤This–øàinformation“is“easy“to“supply:‘¸Ýa“simple“addition“to“the“lošGcal“mo˜des“used“for“buildingŽ¡‘à¤the–Âfonš¸ãts“with“ÉMETÇAFŽ9ONT‘úé²will“automatically“pro˜vide“the“required“information.‘·ÙIf“y˜ou“ha˜v˜eŽ¡‘à¤bšGeen–µšusing“a“lo˜cal“mo˜des“ le“deriv¸ãed“from“(or“that“is“simply)“Åmodes.mf“²(see“App˜endix“D),‘Í«theŽ¡‘à¤required–²âinformation“is“already“in“y¸ãour“ÄPK‘²¹² les.‘;¡If“not,‘Ó`a“simple“addition“based“on“the“coGde“foundŽ¡‘à¤in–UUÅmodes.mf“²can“bšGe“made“to“y¸ãour“lo˜cal“mo˜des“ le“and“the“ÄPK“² les“rebuilt.ŽŸó‘à¤Ê3.3Ž‘3¤ Non-font‘ê¨ó!ø”o> logo10ÌMET»»AF‘ÿwwONT‘.ìÊ lesŽŸˆ²‘लMost–ëþÉMETÇAFŽ9ONT‘$á²input“ les“are“fonš¸ãt“programs“or“parts“of“fon˜t“programs“and“are“th˜us“co˜v˜ered“b˜yŽ¡‘à¤the–UUprevious“section.›qÇHo•¸ãw“ev“er,–UUa“few“non-fon¸ãt“input“ les“do“exist.˜Suc¸ãh“ les“shall“bGe“stored“in:Ž¡‘1à¦Åtexmf/metafont/¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž¡‘सhÃp‘ÿ}'ackage‘À[¸i–UU²is“the“name“of“a“ÉMETÇAFŽ9ONT‘Ž8²pac¸ãk‘ÿqÇage“(for“example,“Åmfpic²).Ž¦‘à¤The–UUÄTDS“²reservš¸ães“the“follo˜wing“¸hÃp‘ÿ}'ackage‘À[¸i“²names:Ž¦‘!à ¸ŽŽŽ‘1à¦Åbase²,‘Áfor–«‹the“standard“ÉMETšÇAFŽ9ONT‘än²macro“ les“as“describGed“in“ÃThe‘£’ó"ø”o> logosl10ÍMET˜AFŽ9ONTÃb–ÿ}'o“ok²,‘Ásuc¸ãhŽ¡‘1à¦as–UUÅplain.mf“²and“Åexpr.mf².Ž¤ßý‘!à ¸ŽŽŽ‘1à¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¡‘!à ¸ŽŽŽ‘1à¦Åmisc²,›(†for–RÉMETÇAFŽ9ONT‘V5²pac¸ãk‘ÿqÇages“consisting“of“only“a“single“ le“(for“example,˜Åmodes.mf²).‘_AnŽ¤ ‘1à¦administrator–JSor“pacš¸ãk‘ÿqÇage“main˜tainer“ma˜y“create“directories“for“single- le“pac˜k‘ÿqÇages“at“theirŽ¡‘1à¦discretion,–UUinstead“of“using“Åmisc².ŽŸó‘à¤Ê3.4Ž‘3¤ ÌMET»»AP‘ˆˆOSTŽŸˆ²‘à¤ÉMETÇAPqÆOST‘zϲis–Aìa“picture-draš¸ãwing“language“dev˜elopGed“b˜y“John“Hobb˜y‘ÿ*ª,‘yderiv˜ed“from“Kn˜uth's“ÉMETÇA²-Ž¡‘à¤ÉFŽ9ONT8ã².‘qÇIts–UUprimary“purpGose“is“to“output“Encapsulated“ó#Œ-ø cmcsc10ÎPostScript“²instead“of“bitmaps.Ž¦‘à¤ÉMETšÇAPqÆOST‘Ž8²input–UU les“and“the“suppGort“ les“for“ÉMET˜APqÆOST8ã²-related“utilities“shall“bGe“stored“in:ŽŽŸ’åà£10ŽŽŽŽŽŽŽŒ‹ ª{ y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘1à¦Åtexmf/metapost/¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž¤ ‘सhÃp‘ÿ}'ackage‘À[¸i–ý²is“the“name“of“a“ÉMETÇAPqÆOST‘5ú²pac•¸ãk‘ÿqÇage.‘T]A“t–ýthe“presen¸ãt“writing“none“exist,‘½but“the“ÄTW¾9GŽ¡‘लthoughš¸ãt–UUit“pruden˜t“to“lea˜v˜e“roGom“for“con˜tributed“pac˜k‘ÿqÇages“that“migh˜t“bGe“written“in“the“future.Ž¤N8‘à¤The–UUÄTDS“²reservš¸ães“the“follo˜wing“¸hÃp‘ÿ}'ackage‘À[¸i“²names:Ž¡‘!à ¸ŽŽŽ‘1à¦Åbase²,›Bôfor–>\the“standard“ÉMETÇAPqÆOST‘w?²macro“ les,˜suc¸ãh“as“Åplain.mp²,˜Åmfplain.mp²,˜Åboxes.mp²,Ž¤ ‘1à¦and–ÖYÅgraph.mp².‘ôÔThis“includes“ les“used“bš¸ãy‘ùæÅINIMP“²when“dumping“mem“ les“con˜tainingŽ¡‘1à¦preloaded–UUmacro“de nitions.Ž¤ßý‘!à ¸ŽŽŽ‘1à¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¡‘!à ¸ŽŽŽ‘1à¦Åmisc²,‘ÿÿfor–ê©ÉMETÇAPqÆOST‘#Œ²pacš¸ãk‘ÿqÇages“consisting“of“only“a“single“ le.‘N9An“administrator“or“pac˜k‘ÿqÇageŽ¤ ‘1à¦main•¸ãtainer››ma“y˜create˜directories˜for˜single- le˜pac“k‘ÿqÇages˜at˜their˜discretion,‘ÀYinstead˜of˜usingŽ¡‘1à¦Åmisc².ŽŸßý‘!à ¸ŽŽŽ‘1à¦Åsupport²,›U-for–"additional“input“ les“required“b•¸ãy‘EÉMETÇAPqÆOST‘Zå²utilit“y–"programs,˜including“aŽ¡‘1à¦fonš¸ãt–oãmap,‘Ça“c˜haracter“adjustmen˜t“table,‘Çand“a“subGdirectory“con˜taining“lo˜w-lev˜el“ÉMETÇAPqÆOSTŽ¡‘1লprograms–UUfor“rendering“some“spGecial“c¸ãharacters.ŽŸÄ‘à¤Ê3.5Ž‘3¤ B‘ÿi˜ó$Æs6‘cmss8ÏIB‘ÿ\ÊT‘þ ‘ŸªªEŽ‘’‹XŽŸœp‘लB‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX-related–UU les“shall“bGe“stored“in:Ž¡‘1à¦Åtexmf/bibtex/bib/¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž¡‘1à¦texmf/bibtex/bst/¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž¡‘लThe–UUÅbib“²directory“is“for“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“database“(Å.bib²)“ les,“the“Åbst“²directory“for“st¸ãyle“(Å.bst²)“ les.Ž©N8‘सhÃp‘ÿ}'ackage‘À[¸i–»²is“the“name“of“a“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“pacš¸ãk‘ÿqÇage.‘¯ùThe“ÄTDS‘Š²reserv˜es“the“follo˜wing“¸hÃp‘ÿ}'ackage‘À[¸i“²namesŽ¡‘à¤(the–UUsame“names“are“reserv¸ãed“under“bGoth“Åbib“²and“Åbst²):Ž¦‘!à ¸ŽŽŽ‘1à¦Åbase²,–UUfor“the“standard“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“databases“and“stš¸ãyles,“suc˜h“as“Åxampl.bib²,“Åplain.bst².Ž¤ßý‘!à ¸ŽŽŽ‘1à¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¡‘!à ¸ŽŽŽ‘1à¦Åmisc²,‘|–for–A‰B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“pacš¸ãk‘ÿqÇages“consisting“of“only“a“single“ le.‘6cAn“administrator“or“pac˜k‘ÿqÇageŽ¤ ‘1à¦main•¸ãtainer›åpma“y˜create˜directories˜for˜single- le˜pac“k‘ÿqÇages˜at˜their˜discretion,‘Ivinstead˜ofŽ¡‘1à¦using‘UUÅmisc².ŽŸÄ‘à¤Ê3.6Ž‘3¤ ScriptsŽŸœp‘लThe–®^top-levš¸ãel“Åscripts“²directory“is“for“platform-indepGenden˜t“executables,‘Ä suc˜h“as“P˜erl,‘Ä Python,Ž¡‘à¤and–@­shell“scripts,‘xand“Jaš¸ãv‘ÿqÇa“class“ les.‘SubGdirectories“under“Åscripts“²are“pac˜k‘ÿqÇage“names.‘This“easesŽ¡‘à¤creating–UUdistributions,“bš¸ãy“pro˜viding“a“common“place“for“suc˜h“platform-indepGenden˜t“programs.Ž¦‘à¤The›ÿ”in•¸ãten“t˜is˜not˜for˜all˜suc“h˜directories˜to˜bGe˜added˜to˜a˜user's˜command˜searc“h˜path,‘*#whic“hŽ¡‘à¤w¸ãould–ÔŸbšGe“quite“impractical.‘ï¥Rather,‘ôqthese“executables“are“primarily“for“the“b˜ene t“of“wrapp˜erŽ¡‘à¤scripts–Ýrin“whatevš¸ãer“executable“directory“a“distribution“ma˜y“pro˜vide“(whic˜h“is“not“spGeci ed“b˜y“theŽ¡‘à¤ÄTDS²).Ž¦‘à¤T‘ÿ*ªruly––Ãauxiliary“scripts“whicš¸ãh“are“in˜v˜ok˜ed“directly“b˜y“other“programs,‘¼àrather“than“wrappGer“scripts,Ž¡‘à¤maš¸ãy–¬¹also“bGe“placed“here.‘wòThat“is,‘Â’Åscripts“²also“serv˜es“as“a“platform-indepGenden˜t“analog“of“theŽ¡‘à¤standard–UUUnix“Ålibexec“²directory‘ÿ*ª.ŽŽŸ’åà£11ŽŽŽŽŽŽŽŒ‹ ¹À y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤W‘ÿ*ªe–³}recommend“using“extensions“spGecifying“the“language“(suc¸ãh“as“Å.pl²,–ËÅ.py²,“Å.sh²)–³}on“these“ les,Ž¤ ‘à¤to–zÑhelp“uniquely“idenš¸ãtify“the“name.‘â:Since“the“in˜ten˜t“of“the“ÄTDS‘zDzis“for“programs“in“Åscripts“²notŽ¡‘à¤to–UUbšGe“in•¸ãv“ok“ed–UUdirectly“b¸ãy“users,“this“p˜oses“no“incon•¸ãv“enience.Ž©¤‘à¤F‘ÿ*ªor–é example,›ÿ+in“the“T‘þU>Ÿ'EŽ‘ãxX“Liv¸ãe“distribution,˜the“ConT‘þU>Ÿ'EŽ‘ãxXt“user-lev¸ãel“program“Åtexexec“²can“exist“asŽ¡‘à¤a–«small“wrappGer“script“in“eacš¸ãh“Åbin/¸hÃplatform‘Äc¸iÅ/texexec“²(whic˜h“is“outside“the“Åtexmf“²tree),‘#3whic˜hŽ¡‘à¤merely–UU nds“and“calls“Åtexmf/scripts/context/perl/texexec.pl².Ž¦‘à¤Examples:Ž¡‘1à¦Åscripts/context/perl/texexec.plŽ¡‘1à¦scripts/context/ruby/examplex.rbŽ¡‘1à¦scripts/thumbpdf/thumbpdf.plŽ¡‘लThe–cÅÄTDS‘cˆ²došGes“not“sp˜ecify“a“lo˜cation“for“platform-dep˜enden¸ãt“binary“executables,‘”whether“auxiliaryŽ¡‘à¤or‘UUuser-lev¸ãel.ŽŸ½0‘à¤Ê3.7Ž‘3¤ DoSŽcumentationŽŸH.‘लMost–^pacš¸ãk‘ÿqÇages“come“with“some“form“of“doGcumen˜tation:‘ö user“man˜uals,›}example“ les,˜programmingŽ¡‘à¤guides,–?üetc.‘¤òIn›addition,“man•¸ãy˜indepGenden“t˜ les˜not˜part˜of˜an“y˜macro˜or˜other˜pac“k‘ÿqÇage˜ha“v“eŽ¡‘à¤bšGeen–UUcreated“to“describ˜e“v‘ÿqÇarious“asp˜ects“of“the“T‘þU>Ÿ'EŽ‘ãxX“system.Ž¦‘à¤The–ÚÿÄTDS‘ÚܲspšGeci es“that“these“additional“do˜cumen¸ãtation“ les“shall“b˜e“stored“in“a“structure“thatŽ¡‘à¤parallels–UUto“some“extenš¸ãt“the“Åfonts“²and“Åtex“²directories,“as“follo˜ws:Ž¡‘1à¦Åtexmf/doc/¸hÃc–ÿ}'ate“gory‘â}¸iÅ/...Ž¡‘सhÃc–ÿ}'ate“gory‘â}¸i–óž²idenš¸ãti es“the“general“topic“of“doGcumen˜tation“that“resides“bGelo˜w“it;‘0for“example,‘)a“T‘þU>Ÿ'EŽ‘ãxXŽ¡‘à¤format–÷lname“(Ålatex²),›òprogram“name“(Åbibtex²,˜Åtex²),˜language“(Åfrench²,˜Ågerman²),˜a“ le“formatŽ¡‘à¤(Åinfo²,–UUÅman²),“or“other“system“compGonen¸ãts“(Åweb²,“Åfonts²).Ž¦‘à¤One–ÎÊpGossible“arrangemenš¸ãt“is“to“organize“Ådoc“²b˜y“language,‘é²with“all“the“other“category“t˜ypšGes“b˜elo¸ãwŽ¡‘à¤that.‘~ÉThis–¯helps“users“ nd“doGcumenš¸ãtation“in“the“language(s)“in“whic˜h“they“are“ uen˜t.‘~ÉNeitherŽ¡‘à¤this–UUnor“anš¸ãy“other“particular“arrangemen˜t“is“required,“ho˜w˜ev˜er.Ž¦‘à¤Within–s(eacš¸ãh“¸hÃc–ÿ}'ate“gory‘â}¸i–s(²tree“for“a“T‘þU>Ÿ'EŽ‘ãxX“format,‘zthe“directory“Åbase“²is“reserv˜ed“for“base“doGcumen-Ž¡‘à¤tation–UUdistributed“bš¸ãy“the“format's“main˜tainers.Ž¦‘à¤The–UUÄTDS“²reservš¸ães“the“follo˜wing“category“names:Ž¦‘!à ¸ŽŽŽ‘1à¦Ågeneral²,‘Vfor–"Ástandalone“došGcumen¸ãts“not“sp˜eci c“to“an¸ãy“particular“program“(for“example,Ž¡‘1à¦Joac•¸ãhim›UUSc“hroGd's˜ÃComp‘ÿ}'onents–“çof“T‘þKß'EŽ‘Í-X‘”Ÿ²).Ž¤ßý‘!à ¸ŽŽŽ‘1à¦Åhelp²,–UUfor“meta-information,“suc¸ãh“as“ÄF‘þøäA¾9Q²'s,“the“T‘þU>Ÿ'EŽ‘ãxX“Catalogue,“etc.Ž¡‘!à ¸ŽŽŽ‘1à¦Åinfo²,‘à¹for–ÄØprošGcessed“T‘ÿ*ªexinfo“do˜cumenš¸ãts.‘ÀQ(Info“ les,‘à¹lik˜e“an˜ything“else,‘à¹ma˜y“also“bGe“storedŽŸ ‘1à¦outside–UUthe“ÄTDS²,“at“the“installer's“option.)Ž¡‘!à ¸ŽŽŽ‘1à¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¦‘à¤The–Š@Ådoc“²directory“is“inš¸ãtended“for“implemen˜tation-indepGenden˜t“and“opšGerating“system-indep˜enden¸ãtŽ¤ ‘à¤došGcumen•¸ãtation‘ÖÅ les.‘öImplemen“tation-dep˜enden“t–ÖÅ les“are“b˜est“stored“elsewhere,‘÷!as“pro¸ãvided“forŽ¡‘à¤bš¸ãy–^´the“implemen˜tation“and/or“T‘þU>Ÿ'EŽ‘ãxX“administrator“(for“example,‘¡ ÄVMS‘^o²help“ les“under“Åtexmf/Ž¡‘à¤vms/help²).Ž¦‘à¤The–QùdoGcumenš¸ãtation“directories“ma˜y“con˜tain“T‘þU>Ÿ'EŽ‘ãxX“sources,–R¥ÄD¾9VI‘Qø² les,“ÎPostScript›Qù² les,“text˜ les,Ž¡‘à¤example–UUinput“ les,“or“anš¸ãy“other“useful“doGcumen˜tation“format(s).Ž¦‘à¤See–UUSection“4.1“for“a“summary‘ÿ*ª.ŽŽŸ’åà£12ŽŽŽŽŽŽŽŒ‹ È! y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ç4Ž‘.úSumma›¼ryŽŸ:ª‘लA›òØsk¸ãeleton–òñof“a“ÄTDS˜Åtexmf“²directory“tree.‘PûThis“is“not“to“imply“these“are“the“only“enš¸ãtries“allo˜w˜ed.Ž¤ ‘à¤F‘ÿ*ªor–UUexample,“Ålocal“²maš¸ãy“oGccur“at“an˜y“lev˜el.ŽŸÅV‘à¤Åbibtex/Ž’…ÉϲB‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX–UUinput“ lesŽŽ¡‘#`Åbib/Ž’…ÉϲB‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX‘UUdatabasesŽŽ¡‘-à–Åbase/Ž’…Éϲbase–UUdistribution“(e.g.,“Åxampl.bib²)ŽŽ¡‘-à–Åmisc/Ž’…Éϲsingle- le‘UUdatabasesŽŽ¡‘#`¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž’…Éϲname–UUof“a“pac¸ãk‘ÿqÇageŽŽ¡‘#`Åbst/Ž’…ÉϲB‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX–UUst¸ãyle“ lesŽŽ¡‘-à–Åbase/Ž’…Éϲbase–UUdistribution“(e.g.,“Åplain.bst²,“Åacm.bst²)ŽŽ¡‘-à–Åmisc/Ž’…Éϲsingle- le‘UUst¸ãylesŽŽ¡‘#`¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž’…Éϲname–UUof“a“pac¸ãk‘ÿqÇageŽŽ¡‘à¤Ådoc/Ž’…Éϲsee–UUSection“3.7“and“the“summary“bGelo¸ãwŽŽ¡‘à¤Åfonts/Ž’…Éϲfon¸ãt-related‘UU lesŽŽ¡‘#`¸hÃtyp‘ÿ}'e‘À[¸iÅ/Ž’…Éϲ le–UUt¸ãypGe“(e.g.,“Åpk²)ŽŽ¡‘-à–¸hÃmo‘ÿ}'de‘À[¸iÅ/Ž’…Éϲt¸ãypGe–UUof“output“device“(for“Åpk“²and“Ågf“²only)ŽŽ¡‘8`¸hÃsupplier‘¸iÅ/Ž’…Éϲname–UUof“a“fon¸ãt“supplier“(e.g.,“Åpublic²)ŽŽ¡‘Bàˆ¸hÃtyp–ÿ}'efac“e‘À[¸iÅ/Ž’…Éϲname–UUof“a“t¸ãypGeface“(e.g.,“Åcm²)ŽŽ¡‘M`Ådpi¸hÃnnn‘Äc¸iÅ/Ž’…Éϲfon¸ãt–UUresolution“(for“Åpk“²and“Ågf“²only)ŽŽ¡‘सhÃimplementation‘Äc¸iÅ/Ž’…ÉϲT‘þU>Ÿ'EŽ‘ãxX–UUimplemenš¸ãtations,“b˜y“name“(e.g.,“Åemtex²)ŽŽ¡‘à¤Ålocal/Ž’…Éϲ les–UUcreated“or“mošGdi ed“at“the“lo˜cal“siteŽŽ¡‘à¤Åmetafont/Ž’…ÉÏÉMETÇAFŽ9ONT‘Ž8²(non-fon¸ãt)–UUinput“ lesŽŽ¡‘#`Åbase/Ž’…Éϲbase–UUdistribution“(e.g.,“Åplain.mf²)ŽŽ¡‘#`Åmisc/Ž’…Éϲsingle- le–UUpac¸ãk‘ÿqÇages“(e.g.,“Åmodes.mf²)ŽŽ¡‘#`¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž’…Éϲname–UUof“a“pac¸ãk‘ÿqÇage“(e.g.,“Åmfpic²)ŽŽ¡‘à¤Åmetapost/Ž’…ÉÏÉMETÇAPqÆOST‘Ž8²input–UUand“suppGort“ lesŽŽ¡‘#`Åbase/Ž’…Éϲbase–UUdistribution“(e.g.,“Åplain.mp²)ŽŽ¡‘#`Åmisc/Ž’…Éϲsingle- le‘UUpac¸ãk‘ÿqÇagesŽŽ¡‘#`¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž’…Éϲname–UUof“a“pac¸ãk‘ÿqÇageŽŽ¡‘#`Åsupport/Ž’…ÉϲsuppGort–UU les“for“ÉMETÇAPqÆOST8ã²-related“utilitiesŽŽ¡‘à¤Åmft/Ž’…ÉÏMFT–UU²inputs“(e.g.,“Åplain.mft²)ŽŽ¡‘सhÃpr–ÿ}'o“gr“am‘Äc¸iÅ/Ž’…ÉϲT‘þU>Ÿ'EŽ‘ãxX-related–UUprograms,“b¸ãy“name“(e.g.,“Ådvips²)ŽŽ¡‘à¤Åsource/Ž’…Éϲprogram–UUsource“coGde“b¸ãy“name“(e.g.,“Ålatex²,“Åweb2c²)ŽŽ¡‘à¤Åtex/Ž’…ÉϲT‘þU>Ÿ'EŽ‘ãxX–UUinput“ lesŽŽ¡‘#`¸hÃengine‘À[¸iÅ/Ž’…Éϲname–UUof“an“engine“(e.g.,“Åaleph²);“can“also“bGe“lo•¸ãw“erŽŽ¡‘#`¸hÃformat‘òظiÅ/Ž’…Éϲname–UUof“a“format“(e.g.,“Åplain²)ŽŽ¡‘-à–Åbase/Ž’…Éϲbase–UUdistribution“for“format“(e.g.,“Åplain.tex²)ŽŽ¡‘-à–Åmisc/Ž’…Éϲsingle- le–UUpac¸ãk‘ÿqÇages“(e.g.,“Åwebmac.tex²)ŽŽ¡‘-à–Ålocal/Ž’…ÉϲlošGcal–UUadditions“to“or“lo˜cal“con guration“ les“for“¸hÃformat‘òظiŽŽ¡‘-à–hÃp‘ÿ}'ackage‘À[¸iÅ/Ž’…Éϲname–UUof“a“pac¸ãk‘ÿqÇage“(e.g.,“Ågraphics²,“Åmfnfss²)ŽŽ¡‘#`Ågeneric/Ž’…Éϲformat-indepGenden•¸ãt‘UUpac“k‘ÿqÇagesŽŽ¡‘-à–Åhyphen/Ž’…Éϲh¸ãyphenation–UUpatterns“(e.g.,“Åhyphen.tex²)ŽŽ¡‘-à–Åimages/Ž’…Éϲimage–UUinput“ les“(e.g.,“Encapsulated“P¸ãostScript)ŽŽ¡‘-à–Åmisc/Ž’…Éϲsingle- le–UUformat-indepGendenš¸ãt“pac˜k‘ÿqÇages“(e.g.,“Ånull.tex²).ŽŽ¡‘-à–¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž’…Éϲname–UUof“a“pac¸ãk‘ÿqÇage“(e.g.,“Åbabel²)ŽŽŽŸ’åà£13ŽŽŽŽŽŽŽŒ‹×o y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê4.1Ž‘3¤ DoSŽcumentation–ê¨tree“summa¬rryŽŸœp‘लAn–Ò=example“sk¸ãeleton“of“a“ÄTDS‘Ò²directory“tree“under“Åtexmf/doc².‘èThis“is“not“to“imply“these“areŽ¤ ‘à¤the–UUonly“enš¸ãtries“allo˜w˜ed,“or“that“this“structure“m˜ust“bGe“follo˜w˜ed“precisely“for“the“en˜tries“listed.Ž©N8‘à¤As–‡×menš¸ãtioned,‘”xthe“Åtexmf/doc“²tree“ma˜y“bGe“organized“b˜y“language,‘”xso“that“all“doGcumen˜tation“inŽ¡‘à¤F›ÿ*ªrenc•¸ãh,‘esa“y˜,‘eis–aîin“a“Åfrench“²subGdirectory˜.‘—’In“that“case,‘ethe“example“structure“here“w¸ãould“bGe“in“aŽ¡‘à¤giv¸ãen–UUlanguage“directory‘ÿ*ª.Ž¦‘à¤Åams/ŽŽ¡‘#`amsfonts/Ž‘\ ƒamsfonts.faq²,‘UUÅamfndocŽŽ¡‘#`amslatex/Ž‘\ ƒamslatex.faq²,‘UUÅamsldocŽŽ¡‘#`amstex/Ž‘\ ƒamsguide²,‘UUÅjoyerrŽŽ¡‘à¤bibtex/Ž‘\ ƒ²B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxXŽŽ¡‘#`Åbase/Ž‘\ ƒbtxdoc.texŽŽ¡‘à¤fonts/ŽŽ¡‘#`fontname/Ž‘\ ƒÃFilenames–“çfor“T‘þKß'EŽ‘Í-X“fontsŽŽ¡‘#`Åoldgerm/Ž‘\ ƒcorkpaprŽŽ¡‘सhÃformat‘òظiÅ/Ž‘\ ƒ²name–UUof“a“T‘þU>Ÿ'EŽ‘ãxX“format“(e.g.,“Ågeneric²,“Ålatex²)ŽŽ¡‘#`Åbase/Ž‘\ ƒ²for–UUthe“base“distributionŽŽ¡‘#`Åmisc/Ž‘\ ƒ²for–UUconš¸ãtributed“single- le“pac˜k‘ÿqÇage“doGcumen˜tationŽŽ¡‘#`¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž‘\ ƒ²for‘UUÃp‘ÿ}'ackageŽŽ¡‘à¤Ågeneral/Ž‘\ ƒ²across–UUprograms,“generalitiesŽŽ¡‘#`Åerrata/Ž‘\ ƒerrata²,‘UUÅerrata[1-‘€8]ŽŽ¡‘#`texcomp/Ž‘\ ƒÃComp‘ÿ}'onents–“çof“T‘þKß'EŽ‘Í-XŽŽ¡‘à¤Åhelp/Ž‘\ ƒ²meta-informationŽŽ¡‘#`Åctan/Ž‘\ ƒ²info–UUabGout“ÄCT‘ÿ:«AN“²mirror“sitesŽŽ¡‘#`Åfaq/Ž‘\ ƒÄF‘þøäA¾9Q²s–UUof“Åcomp.text.tex²,“etc.ŽŽ¡‘à¤Åinfo/Ž‘\ ƒÄGNU–UU²Info“ les,“made“from“T‘ÿ*ªexinfo“sourcesŽŽ¡‘à¤Ålatex/Ž‘\ ƒ²example–UUof“¸hÃformat‘òظiŽŽ¡‘#`Åbase/Ž‘\ ƒltnews*²,–UUÅ*guide²,“etc.ŽŽ¡‘#`Ågraphics/Ž‘\ ƒgrfguideŽŽ¡‘à¤local/Ž‘\ ƒ²site-sp•Geci c‘UUdo“cumen¸ãtationŽŽ¡‘à¤Åman/Ž‘\ ƒ²Unix–UUman“pagesŽŽ¡‘सhÃpr–ÿ}'o“gr“am‘Äc¸iÅ/Ž‘\ ƒ²T‘þU>Ÿ'EŽ‘ãxX-related–UUprograms,“bš¸ãy“name“(examples“follo˜w)ŽŽ¡‘à¤Åmetafont/Ž‘\ ƒmfbook.tex²,›UUÅmetafont-–€for-“beginners²,˜etc.ŽŽ¡‘à¤Åmetapost/Ž‘\ ƒmpman²,–UUÅmanfig²,“etc.ŽŽ¡‘à¤Åtex/Ž‘\ ƒtexbook.tex²,›UUÃA–“çGentle“Intr–ÿ}'o“duction–“çto“T‘þKß'EŽ‘Í-X²,˜etc.ŽŽ¡‘à¤Åweb/Ž‘\ ƒwebman²,‘UUÅcwebmanŽŽŽŸ’åࣲ14ŽŽŽŽŽŽŽŒ‹ä÷ y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÇAŽ‘0KŸ'EŽ‘ãxX“system:ŽŸHÛ‘ƒ1.ŽŽŽ‘1à¦The–{lošGcation“of“executable“programs:‘OZthis“is“to˜o“site-dep˜endenš¸ãt“ev˜en“to“recommend“a“loGca-Ž¤ ‘1à¦tion,‘]ˆlet–[äalone“require“one.‘…tA‘[âsite“ma¸ãy“place“executables“outside“the“Åtexmf“²tree“altogetherŽ¡‘1à¦(e.g.,–UUÅ/usr/local/bin²),“in“a“platform-depGenden¸ãt“directory“within“Åtexmf²,“or“elsewhere.Ž©ßý‘ƒ2.ŽŽŽ‘1à¦Upgrading–•Rpacš¸ãk‘ÿqÇages“when“new“releases“are“made:‘ñÁw˜e“could“ nd“no“w˜a˜y“of“in˜troGducingŽ¡‘1à¦vš¸ãersion–~ŒspGeci ers“in˜to“Åtexmf“²that“w˜ould“do“more“go•Go“d–~Œthan“harm,‘©‚or“that“w˜ould“bGe“practicalŽ¡‘1à¦for–UUevš¸ãen“a“pluralit˜y“of“installations.Ž¦‘ƒ3.ŽŽŽ‘1à¦The–¶@lošGcation“of“implemen¸ãtation-sp˜eci c“ les“(e.g.,›Î{T‘þU>Ÿ'EŽ‘ãxX“Å.fmt“² les):‘3žb¸ãy“their“nature,˜theseŽ¡‘1à¦mš¸ãust–UUbGe“left“to“the“implemen˜tor“or“T‘þU>Ÿ'EŽ‘ãxX“main˜tainer.‘qÇSee“Section“B.3.Ž¦‘ƒ4.ŽŽŽ‘1à¦Precisely–ðlwhen“a“pac¸ãk‘ÿqÇage“or“ le“should“bšGe“considered“\lo˜cal",‘šand“where“suc¸ãh“lo˜cal“ les“areŽ¡‘1à¦installed.‘qÇSee–UUSection“2.3“for“more“discussion.ŽŸ£Ü‘à¤ÊA.1Ž‘5‡¬P•¬ro“rtable‘ê¨ lenamesŽŸ‘¶‘लThe–ã ÄTDS‘ã|²cannot“require“an¸ãy“particular“restriction“on“ lenames“in“the“tree,‘3since“the“names“ofŽ¡‘à¤manš¸ãy–]±existing“T‘þU>Ÿ'EŽ‘ãxX“ les“conform“to“no“standard“sc˜heme.‘ŠÜF‘ÿ*ªor“the“bšGene t“of“p˜eople“who“wishŽ¡‘à¤to–ÞHmakš¸ãe“a“pGortable“T‘þU>Ÿ'EŽ‘ãxX“distribution“or“installation,–@„ho˜w˜ev˜er,“w˜e–ÞHoutline“here“the“necessaryŽ¡‘à¤restrictions.‘qÇThe–UUÄTDS“²spGeci cations“themselv¸ães“are“compatible“with“these.Ž©HÛ‘à¤ÄISO²-9660–èis“the“only“univ¸ãersally“acceptable“ le“system“format“for“ÄCD-R¾9OM²s.‘tA‘¼subset“thereofŽ¡‘à¤meets–UUthe“stringen¸ãt“limitations“of“all“opšGerating“systems“in“use“to˜da¸ãy‘ÿ*ª.‘qÇIt“sp˜eci es“the“follo¸ãwing:Ž¦‘!à ¸ŽŽŽ‘1লFile–”and“directory“names,›ãªnot“including“an¸ãy“directory“path“or“extension“part,˜ma¸ãy“notŽ¡‘1à¦exceed–UUeighš¸ãt“c˜haracters.Ž¡‘!à ¸ŽŽŽ‘1লFilenames–·maš¸ãy“ha˜v˜e“a“single“extension.‘—Extensions“ma˜y“not“exceed“three“c˜haracters.‘—Di-Ž¡‘1à¦rectory–UUnames“maš¸ãy“not“ha˜v˜e“an“extension.Ž¡‘!à ¸ŽŽŽ‘1লNames–and“extensions“maš¸ãy“consist“of“Ãonly‘rŒ²the“c˜haracters“ÅA²{ÅZ²,“Å0²{Å9²,‘ž½and“underscore.‘!õLo˜w-Ž¡‘1à¦ercase–UUletters“are“excluded.Ž¡‘!à ¸ŽŽŽ‘1লA‘êp•Gerio“d–ûseparates“the“ lename“from“the“extension“and“is“alw•¸ãa“ys›ûpresen“t,‘! ev“en˜if˜the˜nameŽ¡‘1à¦or–UUextension“is“missing“(e.g.,“ÅFILENAME.“²or“Å.EXT²).Ž¡‘!à ¸ŽŽŽ‘1লA‘3Úv•¸ãersion›3ãn“um“bGer,–:“ranging˜from˜1{32767,“is˜appGended˜to˜the˜ le˜extension,“separated˜b¸ãy˜aŽ¡‘1à¦semicolon–UU(e.g.,“ÅFILENAME.EXT;1²).Ž¡‘!à ¸ŽŽŽ‘1লOnly–_neighš¸ãt“directory“lev˜els“are“allo˜w˜ed,‘¡ôincluding“the“top-lev˜el“(moun˜ted)“directory“(seeŽ¡‘1à¦Section–UU2.2).‘qÇTh¸ãus,“the“deepGest“v‘ÿqÇalid“ÄISO²-9660“path“is:Ž¡‘Gà¦Åtexmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1Ž¡‘Gà¦1‘?ñ2– ú3“4“5“6“7“8Ž¡‘1লThe–UUdeepGest“ÄTDS“²path“needs“only“sevš¸ãen“lev˜els:Ž¡‘Gà¦Åtexmf/fonts/pk/cx/public/cm/dpi300/cmr10.pkŽ¡‘Gà¦1–?ñ2“3– ú4“5‘î6“7Ž¦‘लSome–ì¶systems“displa¸ãy“a“mošGdi ed“format“of“ÄISO²-9660“names,‘Žmapping“alphab˜etic“c¸ãharacters“toŽ¡‘à¤lo•¸ãw“ercase,›UUremo“ving˜v“ersion˜n“um“b•Gers˜and˜trailing˜p“erio“ds,˜etc.Ž¦‘à¤Before–æÜthe“Decemš¸ãbGer“1996“release,‘ >LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“used“mixed-case“names“for“fon˜t“descriptor“ les.‘&\F‘ÿ*ªor-Ž¡‘à¤tunately‘ÿ*ª,‘’Eit–Rânevš¸ãer“relied“on“case“alone“to“distinguish“among“the“ les.‘joNo˜w˜ada˜ys,‘’Eit“uses“onlyŽ¡‘à¤monoGcase‘UUnames.ŽŽŸ’åà£15ŽŽŽŽŽŽŽŒ‹îU y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÇBŽ‘0UçImplementation‘³/issuesŽŸÃŒ‘लW‘ÿ*ªe–ÄgbGelievš¸ãe“that“the“ÄTDS‘ÄK²can“bring“a“great“deal“of“order“to“the“curren˜t“anarc˜hic“state“of“man˜yŽ¤ ‘à¤T‘þU>Ÿ'EŽ‘ãxX–î½installations.‘O•In“addition,‘Bbš¸ãy“pro˜viding“a“common“frame“of“reference,‘Bit“will“ease“the“burdenŽ¡‘à¤of–‚edoGcumenš¸ãting“administrativ˜e“tasks.‘øöFinally‘ÿ*ª,‘¨it“is“a“necessary“part“of“an˜y“reasonable“system“ofŽ¡‘à¤true–UU\drop-in"“distribution“pac¸ãk‘ÿqÇages“for“T‘þU>Ÿ'EŽ‘ãxX.ŽŸÄ‘à¤ÊB.1Ž‘5Adoption–ê¨of“the“ËTDSŽŸœp‘ल[This–b=section“is“retained“for“historical“purpGoses;‘h²the“ÄTDS‘b:²is“noš¸ãw“quite“ rmly“en˜trenc˜hed“in“mostŽ¡‘à¤T‘þU>Ÿ'EŽ‘ãxX‘UUdistributions.]Ž©N8‘à¤W‘ÿ*ªe–ƒÓrecognize“that“adoption“of“the“ÄTDS‘ƒÇ²will“not“bGe“immediate“or“univ¸ãersal.‘ýBMost“T‘þU>Ÿ'EŽ‘ãxX“adminis-Ž¡‘à¤trators–UUwill“not“bGe“inclined“to“makš¸ãe“the“ nal“switc˜h“un˜til:Ž¦‘!à ¸ŽŽŽ‘1লClear–UUand“demonstrable“bšGene ts“can“b˜e“sho¸ãwn“for“the“ÄTDS².Ž¡‘!à ¸ŽŽŽ‘1à¦ÄTDS²-complian•¸ãt›UUv“ersions˜of˜all˜k“ey˜programs˜are˜a“v‘ÿqÇailable˜in˜pGorted,˜w“ell-tested˜forms.Ž¡‘!à ¸ŽŽŽ‘1লA‘˜Ý\settling"›˜ïp•Gerio“d˜has˜tak¸ãen˜place,‘©Õto˜ ush˜out˜problems.‘<”The˜public˜release˜of˜the˜ rstŽ¡‘1à¦draft–UUof“this“doGcumenš¸ãt“w˜as“the“ rst“step“in“this“proGcess.Ž¦‘à¤Consequenš¸ãtly‘ÿ*ª,‘ Pmost–ûNof“the“ rst“trials“of“the“ÄTDS‘û7²will“bGe“made“b˜y“mem˜bGers“of“the“ÄTDS‘û7²committeeŽ¡‘à¤and/or–Üdevš¸ãelopGers“of“T‘þU>Ÿ'EŽ‘ãxX-related“soft˜w˜are.‘Ë\This“has“already“tak˜en“place“during“the“course“ofŽ¡‘à¤our– delibšGerations“(see“App˜endix“D“for“a“sample“tree“a¸ãv‘ÿqÇailable“electronically).‘Y]They“will“certainlyŽ¡‘à¤result–bìin“the“proGduction“of“a“substanš¸ãtial“n˜um˜bGer“of“ÄTDS²-complian˜t“pac˜k‘ÿqÇages.‘š‹Indeed,‘fQthe“teT‘þU>Ÿ'EŽ‘ãxXŽ¡‘à¤and–UUT‘þU>Ÿ'EŽ‘ãxX“Livš¸ãe“distributions“are“ÄTDS²-complian˜t“and“in“use“no˜w“at“man˜y“sites.Ž¦‘à¤Once–ÒÎinstallable“forms“of“kš¸ãey“ÄTDS²-complian˜t“pac˜k‘ÿqÇages“are“more“widespread,‘ò+some“T‘þU>Ÿ'EŽ‘ãxX“admin-Ž¡‘à¤istrators–‡éwill“set“up“ÄTDS²-complian¸ãt“trees,‘”ŽpšGossibly“in“parallel“to“existing“pro˜duction“directories.Ž¡‘à¤This–«‹testing“will“likš¸ãely“ ush“out“problems“that“w˜ere“not“ob˜vious“in“the“con ned“settings“of“theŽ¡‘à¤devš¸ãelopGers'––˜sites;‘Ö,for“example,‘¼¾it“should“help“to“resolv˜e“system“and“pac˜k‘ÿqÇage“depGendencies,‘¼¾pac˜k‘ÿqÇageŽ¡‘à¤inš¸ãterdepGendencies,–UUand“other“details“not“addressed“b˜y“this“ÄTDS“²v˜ersion.Ž¦‘à¤After–Fåmost“of“the“dust“has“settled,‘IÈhopGefully“evš¸ãen“conserv‘ÿqÇativ˜e“T‘þU>Ÿ'EŽ‘ãxX“administrators“will“bGegin“toŽ¡‘à¤adopt–ª?the“ÄTDS².“Ev•¸ãen“tually‘ÿ*ª,›¿ymost–ª?T‘þU>Ÿ'EŽ‘ãxX“sites“will“ha•¸ãv“e–ª?adopted“the“common“structure,˜and“mostŽ¡‘à¤pacš¸ãk‘ÿqÇages–UUwill“bGe“readily“a˜v‘ÿqÇailable“in“ÄTDS²-complian˜t“form.Ž¦‘à¤W‘ÿ*ªe–È‚bšGeliev¸ãe“that“this“pro˜cess“will“o˜ccur“relativš¸ãely“quic˜kly‘ÿ*ª.‘BÖThe“ÄTDS‘È^²committee“spans“a“wide“rangeŽ¡‘à¤of–ó6inš¸ãterests“in“the“T‘þU>Ÿ'EŽ‘ãxX“comm˜unit˜y–ÿ*ª.‘QConsequen˜tly“,‘Öw˜e–ó6bGeliev˜e“that“most“of“the“k˜ey“issues“in˜v˜olv˜edŽ¡‘à¤in–ìade ning“a“wš¸ãork‘ÿqÇable“ÄTDS‘ì:²de nition“ha˜v˜e“bGeen“co˜v˜ered,‘$often“in“detail.‘6ëT‘þU>Ÿ'EŽ‘ãxX“dev˜elopGers“ha˜v˜eŽ¡‘à¤bšGeen–1oconsulted“ab˜out“implemenš¸ãtation“issues,‘huand“ha˜v˜e“bGeen“trying“out“the“ÄTDS‘16²arrangemen˜t.Ž¡‘à¤Th•¸ãus,›UUw“e˜hopGe˜for˜few˜surprises˜as˜implemen“tations˜mature.Ž¦‘à¤Finally‘ÿ*ª,‘)qthere–xare“sevš¸ãeral“(curren˜t“or“prospGectiv˜e)“publishers“of“T‘þU>Ÿ'EŽ‘ãxX“ÄCD-R¾9OM²s.‘_}These“publishersŽ¡‘à¤are– Æhighly“motiv‘ÿqÇated“to“wš¸ãork“out“details“of“ÄTDS‘ ´²implemen˜tation,‘and“their“proGducts“will“pro˜videŽ¡‘à¤inexpGensivš¸ãe–éand“con˜v˜enien˜t“w˜a˜ys“for“expGerimen˜tally-minded“T‘þU>Ÿ'EŽ‘ãxX“administrators“to“expGerimen˜tŽ¡‘à¤with–UUthe“ÄTDS².ŽŽŸ’åà£16ŽŽŽŽŽŽŽŒ‹ý½ y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÊB.2Ž‘5Moš¬rre–ê¨on“subSŽdirecto˜ry“sea˜rchingŽŸœp‘लRecursivš¸ãe–ÈþsubGdirectory“searc˜hing“is“the“abilit˜y“to“spGecify“a“searc˜h“not“only“of“a“spGeci ed“directoryŽ¤ ‘सhÃd‘‰¸i²,–UUbut“recursivš¸ãely“of“all“directories“bGelo˜w“¸hÃd‘‰¸i².Ž©N8‘à¤Since–‰Rthe“ÄTDS‘‰²spšGeci es“precise“lo˜cations“for“most“ les,‘ÖQwith“no“extra“lev¸ãels“of“sub˜directoriesŽ¡‘à¤allo•¸ãw“ed,‘˜true›ñ‹recursiv“e˜searc“hing˜is˜not˜actually˜required˜for˜a˜ÄTDS²-complian“t˜implemen“tation.Ž¡‘à¤W‘ÿ*ªe‘¯Ådo,›Æbho•¸ãw“ev“er,˜strongly–¯Årecommend“recursivš¸ãe“searc˜hing“as“the“most“user-friendly“and“naturalŽ¡‘à¤approacš¸ãh–UUto“the“problem,“rather“than“con˜v˜oluted“methošGds“to“sp˜ecify“paths“without“recursion.Ž¦‘à¤This–]éfeature“is“already“suppGorted“bš¸ãy“man˜y“implemen˜tations“of“T‘þU>Ÿ'EŽ‘ãxX“and“companion“utilities,‘`forŽ¡‘à¤example–±çÄDECUS‘±¾²T‘þU>Ÿ'EŽ›ãxX“for“ÄVMS²,“Dvips(k),‘Ò—emT‘þU>Ÿ'EŽ˜X“(and“its“driv¸ãers),–Ò—PubliC‘±¾T‘þU>Ÿ'EŽ˜X,“W‘ÿ*ªeb2C,‘±çXdvi(k),Ž¡‘à¤and–aY&YT‘þU>Ÿ'EŽ‘ãxX.‘”ÍThe“Kpathsea“library“is“a“reusable“implemenš¸ãtation“of“subGdirectory“searc˜hing“forŽ¡‘à¤T‘þU>Ÿ'EŽ‘ãxX,–UUused“in“a“n•¸ãum“bšGer–UUof“the“ab˜o•¸ãv“e‘UUprograms.Ž¦‘à¤Evš¸ãen–á6if“y˜our“T‘þU>Ÿ'EŽ‘ãxX“implemen˜tation“došGes“not“directly“supp˜ort“sub˜directory“searc•¸ãhing,‘øpy“ou›á6ma“y˜ ndŽ¡‘à¤it–Öçuseful“to“adopt“the“structure“if“yš¸ãou“do“not“use“man˜y“fon˜ts“or“pac˜k‘ÿqÇages.‘ö}F‘ÿ*ªor“instance,‘÷Lif“y˜ouŽ¡‘à¤only–*°use“Computer“MoGdern“and“ÄAMS‘*¥²fonš¸ãts,‘37it“w˜ould“bGe“feasible“to“store“them“in“the“ÄTDS‘*¥²la˜y˜outŽ¡‘à¤and–UUlist“the“directories“individually“in“con guration“ les“or“en•¸ãvironmen“t‘UUv‘ÿqÇariables.Ž¦‘à¤The–!#ÄTW¾9G‘!²recognizes“that“subGdirectory“searcš¸ãhing“places“an“extra“burden“on“the“system“and“ma˜yŽ¡‘à¤bšGe–¡³the“source“of“p˜erformance“b˜ottlenecš¸ãks,‘ôÊparticularly“on“slo˜w˜er“mac˜hines.‘VáNev˜ertheless,‘ôÊw˜eŽ¡‘à¤feel–%Dthat“subšGdirectory“searc¸ãhing“is“imp˜erativš¸ãe“for“a“w˜ell-organized“ÄTDS²,“for“the“reasons“statedŽ¡‘à¤in–¸gSection“2.1.‘šüImplemenš¸ãtors“are“encouraged“to“pro˜vide“enhancemen˜ts“to“the“basic“principle“ofŽ¡‘à¤subGdirectory–ªsearcš¸ãhing“to“a˜v˜oid“pGerformance“problems,–$Ìe.g.,“the–ªuse“of“a“ lename“cac˜he“(this“canŽ¡‘à¤bšGe–†Oas“simple“as“a“recursiv¸ãe“directory“listing)“that“is“consulted“b˜efore“disk“searc¸ãhing“b˜egins.‘¶If“aŽ¡‘à¤matcš¸ãh–mYis“found“in“the“database,‘s[subGdirectory“searc˜hing“is“not“required,‘s[and“pGerformance“is“th˜usŽ¡‘à¤indepGendenš¸ãt–UUof“the“n˜um˜bšGer“of“sub˜directories“presen¸ãt“on“the“system.Ž¦‘à¤Di eren•¸ãt›Ïüimplemen“tations˜sp•Gecify˜sub“directory˜searc•¸ãhing˜di eren“tly‘ÿ*ª.‘á»In˜the˜in“terest˜of˜t“ypGo-Ž¡‘à¤graphic–UUclaritš¸ãy‘ÿ*ª,“the“examples“here“do“not“use“the“¸hÃr–ÿ}'eplac“e“able‘À[¸i‘UU²fon˜t.Ž¦‘à¤Dvips:ŽŽ‘?Ù‘via–UUa“separate“ÅTEXFONTS_SUBDIR“²en•¸ãvironmen“t‘UUv‘ÿqÇariable.Ž¡‘à¤emT‘þU>Ÿ'EŽ‘ãxX:ŽŽ‘F AÅt:¸nÅsubdir!!²;–UUÅt:¸nÅsubdir!“²for“a“single“levš¸ãel“of“searc˜hing.Ž¡‘à¤Kpathsea:ŽŽ‘OÒwÅtexmf/subdir//Ž¡‘à¤ÄVMS²:ŽŽ‘;5>Åtexmf:[subdir...]Ž¡‘लXdvi›UU(patc•¸ãhlev“el˜20):ŽŽ‘Ò}Åtexmf/subdir/**²;‘߆Åtexmf/subdir/*–±u²for“a“single“levš¸ãel“of“searc˜hing.‘†(V‘ÿ*ªer-Ž¡‘1à¦sion–UU20.50“and“abšGo•¸ãv“e–UUsupp˜ort“the“Å//“²notation.Ž¡‘à¤Y&Y‘UUT‘þU>Ÿ'EŽ‘ãxX:ŽŽ‘S`˜Åt:/subdir//–UU²or“Åt:¸nÅsubdir¸nn².ŽŸÄ‘à¤ÊB.3Ž‘5Example–ê¨implementation-spSŽeci c“treesŽŸœp‘लThe–’`ÄTDS‘’Q²cannot“spšGecify“a“precise“lo˜cation“for“implemen¸ãtation-sp˜eci c“ les,‘¡£suc¸ãh“as“Åtexmf/ini²,Ž¡‘à¤bGecause–UUa“site“maš¸ãy“ha˜v˜e“m˜ultiple“T‘þU>Ÿ'EŽ‘ãxX“implemen˜tations.Ž¦‘à¤Nev•¸ãertheless,‘'for›informativ“e˜purpGoses,‘'w“e˜pro“vide˜here˜the˜default˜loGcations˜for˜some˜implemen-Ž¡‘à¤tations.›cåPlease–+­con¸ãtact“us“with“additions“or“corrections.˜These“paths“are“not“de nitiv•¸ãe,‘4ma“y‘+­notŽ¡‘à¤matc•¸ãh›UUan“ything˜at˜y“our˜site,˜and˜ma“y˜c“hange˜without˜w“arning.Ž¦‘à¤W‘ÿ*ªe–FŒrecommend“all“implemenš¸ãtations“ha˜v˜e“default“searc˜h“paths“that“start“with“the“curren˜t“directoryŽ¡‘à¤(e.g.,–UU`Å.²').‘qÇAlloš¸ãwing“users“to“include“the“paren˜t“directory“(e.g.,“`Å..²')“is“also“helpful.ŽŽŸ’åà£17ŽŽŽŽŽŽŽŒ‹ Ö y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÈB.3.1Ž‘9AmiW¸ãeb2c‘UU2.0ŽŸœp‘ल(Email–UUÅscherer@physik.rwth-‘€aachen.de“²to“conš¸ãtact“the“main˜tainer“of“this“implemen˜tation.)Ž©N8‘à¤AmiW›ÿ*ªeb2c–ñü2“is“compatible“with“W˜eb2c“7“to“the“greatest“pGossible“extenš¸ãt,‘&so“only“the“v˜ery“fewŽ¤ ‘à¤di erences–‘‡are“describšGed“in“this“section.‘&]Detailed“information“ab˜out“the“basic“concepts“is“giv¸ãenŽ¡‘à¤in–UUthe“section“for“W‘ÿ*ªeb2c“7“bGelo¸ãw.Ž¦‘à¤Thanks–È to“the“ÅSELFAUTO“²mec¸ãhanism“of“Kpathsea“3.0“no“spšGeci c“lo˜cation“for“the“installation“ofŽ¡‘à¤AmiW‘ÿ*ªeb2c–UUis“required“as“long“as“the“general“structure“of“the“distribution“is“preserv¸ãed.Ž¦‘à¤In–£Îaddition“to“Kpathsea's“Å//“²notation“recursivš¸ãe“path“searc˜h“ma˜y“also“bGe“started“b˜y“¸hÃDEVICE‘3é¸iÅ:/²,Ž¡‘à¤e.g.,–UUÅTeXMF:/“²will“scan“this“spGeci c“device“completely‘ÿ*ª.Ž¦‘à¤Binaries–ÇÁcoming“with“the“AmiW‘ÿ*ªeb2c“distribution“are“installed“in“the“directory“Åbin/amiweb2c/Ž¡‘लoutside–öthe“common“ÄTDS‘æ²tree“Åshare/texmf/².‘$©In“addition“to“the“set“of“AmiW‘ÿ*ªeb2c“binaries“y¸ãouŽ¡‘à¤will–UU nd“t•¸ãw“o–UUsubGdirectories“Ålocal/“²and“Åpastex/“²with“auxiliary“programs.Ž¦‘à¤A‘ÞïstrippGed–ß vš¸ãersion“of“the“P˜asT‘þU>Ÿ'EŽ‘ãxX“system“(used“b˜y“kind“pGermission“of“Georg“Hemann)“is“comingŽ¡‘à¤with–ªØAmiW›ÿ*ªeb2c,‘Ìñpre-installed“in“its“o¸ãwn“Åshare/texmf/amiweb2c/pastex/“²directory˜.‘8óIf“yš¸ãou“w˜an˜tŽ¡‘à¤to–UUuse“Pš¸ãasT‘þU>Ÿ'EŽ‘ãxX“y˜ou“ha˜v˜e“to“Åassign“²the“name“ÅTeX:“²to“this“place.Ž¦‘à¤DošGcumen¸ãtation–b¬ les“in“AmigaGuide“format“should“b˜e“stored“at“Ådoc/guide/“²similar“to“Ådoc/info/².ŽŸÄ‘à¤ÈB.3.2Ž‘9Public–UUó%ÒoÇw cmss9ÐDECUS“ÈT‘þU>Ÿ8ãEŽ‘"XŽŸœp‘लIf–pñanother“ÄVMS›p·²implemen¸ãtation“bGesides“Public“ÄDECUS˜²T‘þU>Ÿ'EŽ‘ãxX“appGears,‘žŸthe“top“levš¸ãel“implemen˜tationŽ¡‘à¤directory–UUname“will“bšGe“mo˜di ed“to“something“more“sp˜eci c“(e.g.,“Åvms‘¡E‰ff&fŽŽ‘Ç«decus²).Ž¦‘à¤Åtexmf/ŽŽ¡‘#`vms/Ž‘g {ÄVMS–UU²implemen¸ãtation“spGeci c“ lesŽŽ¡‘-à–Åexe/Ž‘g {²end-user‘UUcommandsŽŽ¡‘8`Åcommon/Ž‘g {²command–UUproGcedures,“command“de nition“ les,“etc.ŽŽ¡‘8`Åaxp/Ž‘g {²binary–UUexecutables“for“Alpha“ÄAXPŽŽ¡‘8`Åvax/Ž‘g {²binary–UUexecutables“for“ÄV‘þøäAXŽŽ¡‘-à–Åformats/Ž‘g {²p•Go“ol–UU les,“formats,“basesŽŽ¡‘-à–Åhelp/Ž‘g {ÄVMS–UU²help“library‘ÿ*ª,“and“miscellaneous“help“sourcesŽŽ¡‘-à–Åmgr/Ž‘g {²command–UUprošGcedures,“programs,“do˜cs,“etc.,“for“system“managemen¸ãtŽŽŸÄ‘à¤ÈB.3.3Ž‘9W¸ãeb2c‘UU7ŽŸœp‘लAll›ÊÞimplemen•¸ãtation-depGenden“t˜T‘þU>Ÿ'EŽ‘ãxX˜system˜ les˜(Å.pool²,–æÅ.fmt²,“Å.base²,“Å.mem²)˜are˜stored˜b¸ãy˜defaultŽ¡‘à¤directly–Åòin“Åtexmf/web2c².‘ÃThe“con guration“ le“Åtexmf.cnf“²and“v‘ÿqÇarious“subsidiary“ÅMakeTeX...Ž¡‘लscripts–UUused“as“subroutines“are“also“stored“there.Ž¦‘à¤Non-T‘þU>Ÿ'EŽ‘ãxX–ÕspšGeci c“ les“are“stored“follo¸ãwing“the“ÄGNU‘¢²co˜ding“standards.‘ÈHGiv¸ãen“a“ro˜ot“directoryŽ¡‘सhÃpr‘ÿ}'e x‘4D¸i–UU²(Å/usr/local“²bš¸ãy“default),“w˜e“ha˜v˜e“default“loGcations“as“follo˜ws:ŽŽŸ’åà£18ŽŽŽŽŽŽŽŒ‹& y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘सhÃpr‘ÿ}'e x‘4D¸iÅ/Ž‘aà~²installation–UUroGot“(Å/usr/local“²b¸ãy“default)ŽŽ¤ ‘#`Åbin/Ž‘aà~²executablesŽŽ¡‘#`Åman/Ž‘aà~²man‘UUpagesŽŽ¡‘#`Åinfo/Ž‘aà~²info‘UU lesŽŽ¡‘#`Ålib/Ž‘aà~²libraries‘UU(Ålibkpathsea.*²)ŽŽ¡‘#`Åshare/Ž‘aà~²arc•¸ãhitecture-indepGenden“t‘UU lesŽŽ¡‘-à–Åtexmf/Ž‘aà~ÄTDS‘UU²roGotŽŽ¡‘8`Åweb2c/Ž‘aà~²implemen•¸ãtation-depGenden“t–UU les“(Å.pool²,“Å.fmt²,“Åtexmf.cnf²,“etc.)ŽŽ©N8‘à¤See–†Åhttp://www.gnu.org/prep/standards‘¡E‰ff&fŽŽ‘Ç«toc.html“²for“the“rationale“bGehind“and“descriptionsŽ¡‘à¤of–ωthis“arrangemenš¸ãt.‘àbA‘Ï'site“ma˜y“of“course“o˜v˜erride“these“defaults;‘Œ£for“example,‘.it“ma˜y“putŽ¡‘à¤evš¸ãerything–UUunder“a“single“directory“suc˜h“as“Å/usr/local/texmf².ŽŸ#8à‘à¤ÇCŽ‘/üNIs–³/there“a“bdCetter“w•›¼a“y?ŽŸÃŒ‘लDe ning–‡«the“ÄTDS‘‡\²required“manš¸ãy“compromises.‘ÈBoth“the“o˜v˜erall“structure“and“the“details“ofŽ¡‘à¤the–âZindividual“directories“wš¸ãere“arriv˜ed“at“b˜y“ nding“common“ground“among“man˜y“opinions.Ž¡‘à¤The–Ë×driving“forces“wš¸ãere“feasibilit˜y“(in“terms“of“what“could“tec˜hnically“bGe“done“and“what“couldŽ¡‘à¤reasonably–š¦bšGe“exp˜ected“from“dev¸ãelop˜ers)“and“regularit¸ãy“( les“group˜ed“together“in“an“arrangemen¸ãtŽ¡‘à¤that–UU\made“sense").Ž¦‘à¤Some–aæinš¸ãteresting“ideas“could“not“bGe“applied“due“to“implemen˜tations“lac˜king“the“necessary“suppGort:Ž¦‘!à ¸ŽŽŽ‘1লP•¸ãath›õôsearc“hing˜con“trol˜at˜the˜T‘þU>Ÿ'EŽ‘ãxX˜lev“el.‘QüIf˜doGcumen“ts˜could˜restrict˜subGdirectory˜searc“hingŽ¡‘1à¦to–±¡a“subšGdirectory“via“some“p˜ortable“syn¸ãtax“in“ le“names,‘³restrictions“on“uniqueness“ofŽ¡‘1ঠlenames–ÕŒcould“bšGe“relaxed“considerably“(with“the“co˜op˜eration“of“the“formats),‘ïand“the“T‘þU>Ÿ'EŽ‘ãxXŽ¡‘1à¦searcš¸ãh–UUpath“w˜ould“not“need“to“depGend“on“the“format.ŽŸßý‘!à ¸ŽŽŽ‘1লMultiple–Ô)logical“Åtexmf“²trees.‘îBF‘ÿ*ªor“example,‘óÝa“site“mighš¸ãt“ha˜v˜e“one“(read-only)“loGcation“forŽ¡‘1à¦stable–‹´ les,‘´and“a“di erenš¸ãt“(writable)“loGcation“for“dynamically-created“fon˜ts“or“other“ les.‘.’ItŽ¡‘1à¦wš¸ãould–cbGe“reasonable“for“t˜w˜o“suc˜h“trees“to“bGe“logically“merged“when“searc˜hing.‘_vSee“Mic˜haelŽ¡‘1à¦Doš¸ãwnes'–UUarticle“in“the“references“for“ho˜w“this“can“w˜ork“in“practice“with“W‘ÿ*ªeb2C.ŽŸÄ‘à¤ÊC.1Ž‘5EæMacro‘ê¨structureŽŸœp‘लThe–£yÄTW¾9G‘£e²settled“on“the“¸hÃformat‘òظiÅ/¸hÃp‘ÿ}'ackage‘À[¸i“²arrangemenš¸ãt“after“long“discussion“abGout“ho˜w“bGestŽ¡‘à¤to–UUarrange“the“ les.Ž¦‘à¤The–hprimary“alternativš¸ãe“to“this“arrangemen˜t“w˜as“a“sc˜heme“whic˜h“rev˜ersed“the“order“of“theseŽ¡‘à¤directories:‘ˆ¸hÃp‘ÿ}'ackage‘À[¸iÅ/¸hÃformat‘òظi².‘GèThis–œµrevš¸ãersed“arrangemen˜t“has“a“strong“appGeal:‘ˆit“k˜eeps“all“ofŽ¡‘à¤the–B les“related“to“a“particular“pacš¸ãk‘ÿqÇage“in“a“single“place.‘4lThe“arrangemen˜t“actually“adopted“tendsŽ¡‘à¤to–spread“ les“out“inš¸ãto“t˜w˜o“or“three“places“(macros,–‰ŠdoGcumen˜tation,“and‘fon˜ts,“for‘example,“areŽ¡‘à¤spread–UUinš¸ãto“di eren˜t“sections“of“the“tree“righ˜t“at“the“top“lev˜el).Ž¦‘à¤Nevš¸ãertheless,–UUthe“¸hÃformat‘òظiÅ/¸hÃp‘ÿ}'ackage‘À[¸i“²structure“w˜on“for“a“couple“of“reasons:Ž¦‘!à ¸ŽŽŽ‘1লIt–ájis“closer“to“currenš¸ãt“practice;‘'tin“fact,‘osev˜eral“mem˜bGers“of“the“ÄTW¾9G‘áE²ha˜v˜e“already“imple-Ž¡‘1à¦menš¸ãted–vÿthe“ÄTDS‘vö²hierarc˜h˜y‘ÿ*ª.‘ÖÅThe“alternativ˜e“is“not“in“use“at“an˜y“kno˜wn“site,‘iand“the“ÄTW¾9GŽ¡‘1লfelt–UUit“wrong“to“mandate“something“with“whic¸ãh“there“is“no“practical“expGerience.ŽŽŸ’åà£19ŽŽŽŽŽŽŽŒ‹+Ï y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘!à ¸ŽŽŽ‘1লThe–Qalternativš¸ãe“arrangemen˜t“increases“the“n˜um˜bGer“of“top-lev˜el“directories,‘Qòso“the“ les“thatŽ¤ ‘1à¦m¸ãust–î|bšGe“found“using“sub˜directory“searcš¸ãhing“are“spread“out“in“a“wide,‘Åshallo˜w“tree.‘=Ÿ'EŽ‘ãxX“is“what“made“theŽ¡‘à¤previous–”arrangemenš¸ãt“with“all“ les“in“a“single“directory“un˜tenable,‘£Îand“therefore“what“initiatedŽ¡‘à¤the–UUÄTDS“²e ort.ŽŸÄ‘à¤ÈC.2.1Ž‘8ÒpFš¸ãont–UU le“t˜ypšGe“lo˜cationŽ¦‘लW‘ÿ*ªe–UUconsidered“the“supplier- rst“arrangemenš¸ãt“in“use“at“man˜y“sites:Ž¡‘1à¦Åtexmf/fonts/¸hÃsupplier‘¸iÅ/¸hÃtyp–ÿ}'efac“e›À[¸iÅ/¸hÃtyp“e˜¸iÅ/Ž¡‘लThis›Sfimpro•¸ãv“es˜the˜main“tainabilit“y˜of˜the˜fon“t˜tree,‘SÉsince˜all˜ les˜comprising˜a˜giv“en˜t“ypGeface˜areŽ¡‘à¤in–eóone“place,‘ªbut“unless“all“the“programs“that“searcš¸ãh“this“tree“emplo˜y“some“form“of“cac˜hing,Ž¡‘à¤there– are“serious“pGerformance“concerns.‘ÒF‘ÿ*ªor“example,›RÈin“order“to“ nd“a“ÅTFM“² le,˜the“simplestŽ¡‘à¤implemen•¸ãtation›u w“ould˜require˜T‘þU>Ÿ'EŽ‘ãxX˜to˜searc“h˜through˜all˜the˜directories˜that˜con“tain˜ÄPK‘u² les˜inŽ¡‘à¤all–UUmoGdes“and“at“all“resolutions.Ž©N8‘à¤In–‹the“end,‘³‹a“pšGoll“of“dev¸ãelop˜ers“revš¸ãealed“considerable“resistance“to“implemen˜ting“sucien˜t“cac˜hingŽ¡‘à¤mecš¸ãhanisms,‘ Fso–‘Ithis“arrangemen˜t“w˜as“abandoned.‘%¤The“ÄTDS‘‘:²arrangemen˜t“allo˜ws“the“searc˜h“treeŽ¡‘à¤to–zœbšGe“restricted“to“the“correct“t¸ãyp˜e“of“ le,‘ƒíat“least.‘á›Concerns“ab˜out“eciency“remain,‘ƒíbut“thereŽ¡‘à¤seems–UUto“bšGe“no“more“w¸ãe“can“do“without“abandoning“sub˜directory“searcš¸ãhing“en˜tirely‘ÿ*ª.Ž¦‘à¤W‘ÿ*ªe–À also“considered“segregating“all“fonš¸ãt-related“ les“strictly“b˜y“ le“t˜ypGe,‘Óso“that“ÉMETÇAFŽ9ONTŽ¡‘लsources–¾˜w¸ãould“bšGe“in“a“directory“Åtexmf/fonts/mf²,‘éprop˜ert¸ãy“list“ les“in“Åtexmf/fonts/pl²,‘étheŽ¡‘à¤v‘ÿqÇarious–ä[forms“of“Tš¸ãypGe“1“fon˜ts“separated,‘and“so“on.‘ÙAlthough“more“blindly“consisten˜t,‘w˜e“feltŽ¡‘à¤that–$§the“dra•¸ãwbac“k–$§of“more“complicated“path“constructions“out•¸ãw“eighed–$§this.‘ß¼The“ÄTDS‘$q²mergesŽ¡‘ठle–©tš¸ãypGes“(Åmf“²and“Åpl“²under“Åsource²,‘¾Åpfa“²and“Åpfb“²and“Ågsf“²under“Åtype1²)“where“w˜e“felt“this“w˜asŽ¡‘à¤bGene cial.ŽŸÄ‘à¤ÈC.2.2Ž‘8ÒpMošGde–UUand“resolution“lo˜cationŽŸœp‘लW‘ÿ*ªe–UUconsidered“haš¸ãving“the“Åmode“²at“the“bGottom“of“the“fon˜t“tree:Ž¡‘1à¦Åtexmf/fonts/pk/¸hÃsupplier‘¸iÅ/¸hÃtyp–ÿ}'efac“e›À[¸iÅ/¸hÃmo“de˜¸iÅ/¸hÃdpi‘Ú¸iÅ/Ž¡‘लIn–Žthis“case,›I\ho•¸ãw“ev“er,˜it–Žis“dicult“to“limit“subšGdirectory“searc¸ãhing“to“the“mo˜de“required“for“aŽ¡‘à¤particular‘UUdevice.Ž¦‘à¤W‘ÿ*ªe–UUthen“considered“moš¸ãving“the“Ådpi¸hÃnnn‘Äc¸i“²up“to“bGelo˜w“the“moGde:Ž¡‘1à¦Åtexmf/fonts/pk/¸hÃmo–ÿ}'de›À[¸iÅ/¸hÃdpi‘Ú¸iÅ/¸hÃsupplier‘¸iÅ/¸hÃtyp“efac“e˜¸iÅ/Ž¡‘लBut–Üthen“it“is“not“feasible“to“omit“the“Ådpi¸hÃnnn‘Äc¸i“²levš¸ãel“altogether“on“systems“whic˜h“can“and“doŽ¡‘à¤c¸ãhoGose–UUto“use“long“ lenames.ŽŽŸ’åà£20ŽŽŽŽŽŽŽŒ‹:V y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÈC.2.3Ž‘8ÒpMoGdeless‘UUbitmapsŽŸ[]‘लThe–"5ÄTDS‘"(²spšGeci es“using“a“single“directory“Åmodeless/“²as“the“mo˜de“name“for“those“utilities“whic¸ãhŽ¤ ‘à¤generate›.Ðbitmaps,–6„e.g.,“Åtexmf/fonts/modeless/times/².‘dðThis˜has˜the˜considerable˜adv‘ÿqÇan¸ãtage˜ofŽ¡‘à¤not–UUrequiring“eacš¸ãh“suc˜h“directory“name“to“bGe“listed“in“a“searc˜h“path.Ž©-®‘à¤An–â˜alternativš¸ãe“w˜as“to“use“the“utilit˜y“name“bGelo˜w“whic˜h“all“suc˜h“directories“could“bGe“gathered.Ž¡‘à¤That–khas“the“adv‘ÿqÇanš¸ãtage“of“separating,–°ksa˜y‘ÿ*ª,“Ågsftopk²-generated–kbitmaps“from“Åps2pk²-generatedŽ¡‘à¤ones.‘ ¡Ho•¸ãw“ev“er,‘–Ew“e–‰Hdecided“this“w¸ãas“not“necessary;‘£Bmost“sites“will“use“only“one“program“for“theŽ¡‘à¤purpGose.‘ÚAlso,‘ë¨ÄPK–Íy²and›͘ÄGF“²fon•¸ãts˜generally˜iden“tify˜their˜creator˜in˜the˜fon“t˜commen“t˜follo“wingŽ¡‘à¤the–UUÅPK‘¡E‰ff&fŽŽ‘Ç«ID“²b¸ãyte.Ž¦‘à¤W‘ÿ*ªe–ë4are“making“an“implicit“assumption“that“ÉMETÇAFŽ9ONT‘$²is“the“only“program“prošGducing“mo˜de-Ž¡‘à¤depšGenden¸ãt–ÉÄbitmaps.‘ÏIf“this“b˜ecomes“false“w¸ãe“could“add“an“abbreviation“for“the“program“toŽ¡‘à¤mošGde–0Znames,‘gas“in“Åmfcx“²vs.“Åxyzcx“²for“a“h¸ãyp˜othetical“program“Xyz,‘gor“w¸ãe“could“at“that“timeŽ¡‘à¤add–ÝRan“additional“program“name“levš¸ãel“uniformly“to“the“tree.‘ ½It“seemed“more“impGortan˜t“toŽ¡‘à¤concisely–>represenš¸ãt“the“curren˜t“situation“than“to“w˜orry“abGout“h˜ypšGothetical“p˜ossibilities“that“ma¸ãyŽ¡‘à¤nev¸ãer‘UUhappGen.ŽŸä7‘à¤ÊC.3Ž‘5EæDoSŽcumentation‘ê¨structureŽŸ[]‘लW‘ÿ*ªe–!æconsidered“placing“additional“doGcumen¸ãtation“ les“in“the“same“directory“as“the“source“ lesŽ¡‘à¤for–£the“pacš¸ãk‘ÿqÇages,‘A÷but“w˜e“felt“that“users“should“bšGe“able“to“ nd“do˜cumen¸ãtation“separately“fromŽ¡‘à¤sources,–UUsince“most“users“ha•¸ãv“e–UUno“in¸ãterest“in“sources.Ž¦‘à¤W‘ÿ*ªe–FhopGe“that“a“separate,›‚Pbut“parallel,˜structure“for“doGcumenš¸ãtation“w˜ould“(1)“k˜eep“the“doGcu-Ž¡‘à¤menš¸ãtation–together“and“(2)“mak˜e“it“as“straigh˜tforw˜ard“as“pGossible“for“users“to“ nd“the“particularŽ¡‘à¤doGcumenš¸ãtation–UUthey“w˜ere“after.ŽŸ# S‘à¤ÇDŽ‘1oRelated‘³/referencesŽŸ£‘लThis–_appšGendix“giv¸ães“p˜oin¸ãters“to“related“ les“and“other“do˜cumenš¸ãts.‘F‘ÿ*ªor“ÄCT‘ÿ:«AN‘_²references,‘aw˜e“useŽ¡‘à¤Åhttp://www.ctan.org–pB²as“the“top-levš¸ãel“domain“only“to“mak˜e“the“links“bGe“liv˜e“in“this“doGcumen˜t.Ž¡‘à¤See– Åhttp://www.ctan.org/tex-‘€archive/CTAN.sites“²for“a“complete“list“of“ÄCT‘ÿ:«AN‘ `²sites;‘f¬thereŽ¡‘à¤are–UUmirrors“w¸ãorldwide.Ž¦‘!à ¸ŽŽŽ‘1লThis–UUdoGcumenš¸ãt,“in“man˜y“formats“(tex,“dvi,“info,“pGdf‘Ç):Ž¡‘?5üÅhttp://tug.org/tds/Ž¡‘!à ¸ŽŽŽ‘1লThe–UUÄTDS“²mailing“list“arc•¸ãhiv“es:Ž¡‘?5üÅhttp://tug.org/mail-–€archives/twg-“tds/Ž¡‘!à ¸ŽŽŽ‘1লThe–UUlevš¸ãel“0“ÄD¾9VI“²driv˜er“standard:Ž¡‘?5üÅhttp://www.ctan.org/tex-–€archive/dviware/driv-“standard/level-“0/Ž¡‘!à ¸ŽŽŽ‘1à¦ÃFilenames–“çfor“T‘þKß'EŽ‘Í-X“fonts²,–UUwith“lists“of“recommended“supplier“and“t¸ãypGeface“names:Ž¡‘?5üÅhttp://tug.org/fontname/Ž¡‘!à ¸ŽŽŽ‘1à¦ÄISO²-9660–UUÄCD-R¾9OM“² le“system“standard:Ž¡‘?5üÅhttp://www.iso.ch/cate/cat.htmlŽ¡‘!à ¸ŽŽŽ‘1à¦ÃComp‘ÿ}'onents–“çof“T‘þKß'EŽ‘Í-X²,–UUa“papGer“bš¸ãy“Joac˜him“Sc˜hroGd:Ž¡‘?5üÅhttp://www.ctan.org/tex-–€archive/documentation/components-“of-“TeX/ŽŽŸ’åࣲ21ŽŽŽŽŽŽŽŒ‹Gø y ý£Ÿüfd’Ç  ²TDS–UUv¸ãersion“1.1ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘!à ¸ŽŽŽ‘1à¦ÃManaging–“çMultiple“TDS“tr–ÿ}'e“es²,–UUan“article“bš¸ãy“Mic˜hael“Do˜wnes:Ž¤ ‘?5üÅhttp://tug.org/TUGboat/Articles/tb22-‘€3/tb72downes.pdfŽ¡‘!à ¸ŽŽŽ‘1লA–UUcomplete“set“of‘rÉMETÇAFŽ9ONT‘Ž8²moGdes:Ž¡‘?5üÅhttp://www.ctan.org/tex-‘€archive/fonts/modes/modes.mfŽ¡‘!à ¸ŽŽŽ‘1লA–UUlarge“collection“of“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“databases“and“st¸ãyles:Ž¡‘?5üÅftp://ftp.math.utah.edu/pub/tex/bib/ŽŸ#8à‘à¤ÇEŽ‘/`‘Contributo›¼rsŽŸÃŒ‘लThe–UUÄTW¾9G“²has“had“no“phš¸ãysical“meetings;“electronic“mail“w˜as“the“comm˜unication“medium.Ž©N8‘à¤Sebastian–­ERahš¸ãtz“is“the“T‘þU>Ÿ'EŽ‘ãxX“Users“Group“T‘ÿ*ªec˜hnical“Council“liaison.‘y–Norman“W‘ÿ*ªalsh“w˜as“theŽ¡‘à¤original–UUcommittee“cš¸ãhair.‘qÇKarl“Berry“is“the“curren˜t“editor.Ž¦‘à¤The–::list“of“conš¸ãtributors“has“gro˜wn“toGo“large“to“fairly“include,‘rÙas“some“w˜ould“surely“bGe“inadv˜erten˜tlyŽ¡‘à¤omitted.‘ZÚPlease–£consider“the“arc•¸ãhiv“es–£of“the“Åtds@tug.org“²and“Åtex-‘€live@tug.org“²mailing“listsŽ¡‘à¤as–UUthe“record“of“con¸ãtributions.ŽŽŸ’åà£22ŽŽŽŽŽŽŽŒøU僒À;è|™œ¼à¤ ó%ÒoÇw cmss9ó$Æs6‘cmss8ó#Œ-ø cmcsc10ó"ø”o> logosl10ó!ø”o> logo10ó m#½R ó3 cmss10ó‚ÎR6 cmss12óø”o> logo10óm#½R cmss10ó‚ÎR6ff cmss12óßê cmmi10óKñ`y cmr10óÙ“ Rcmr7ùZ¶ßßßßßßß