÷ƒ’À;è TeX output 1996.05.12:2131‹ÿÿÿÿ y ý£ ? ý¤N8‘nQªóDÓítG®G®cmr17¹A–7tDirectory“Structure“for“T‘ý[™Ÿ¸-EŽ‘;gX“FilesŽŸN8‘B0±óX«Q cmr12ºTUG–ê¨W‘ÿVorking“Group“on“a“T‘þ ‘Ÿ•UEŽ‘‘!X“Directory“Structure“(TW¬rG-TDS)ŽŽŽŽŽŸÖÃ’’¹draft–ê¨vš¬rersion“0.104‘ ¿øMa˜y“12,“1996ŽŸN9‘à¤óKñ`y cmr10²Cop•¸ãyrigh“t‘rž²×cŽŽŽ‘UUó !",š cmsy10¸ ŽŽŽ‘ª«²1994,–UU95“b¸ãy“the“T‘þU>Ÿ'EŽ‘ãxX“Users“Group.Ž©N8‘à¤Pš¸ãermission–dDto“use,–hcop˜y‘ÿ*ª,“and–dDdistribute“this“doGcumen˜t“for“an˜y“purpGose“óý': cmti10Ãwithout‘¡¤mo–ÿ}'di c“ation‘(§²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‘ÿ*ª.Ž¦‘à¤This–êadoGcumenš¸ãt“is“a˜v‘ÿqÇailable“on“an˜y“óo´‹Ç cmr9ÄCT‘ÿ:«AN‘ê;²host“(AppGendix“D“has“a“complete“reference).‘0ëPleaseŽ¡‘à¤send–€óquestions“or“suggestions“bš¸ãy“email“to“óßêà©The–UUrole“of“the“ÄTDS‘²X‘ü².ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ2ŽŽ¡‘'à¥1.2Ž‘>à©Con•¸ãv“en“tions‘ñb‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ2ŽŽ¦‘à¤È2Ž‘'à¥General’pª¥3ŽŽ¡‘'ॲ2.1Ž‘>à©SubGdirectory‘UUsearc¸ãhing‘"ö‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ3ŽŽ¡‘'à¥2.2Ž‘>à©RoGoting–UUthe“tree‘¼‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ3ŽŽ¡‘'à¥2.3Ž‘>à©LoGcal‘UUadditions‘¿ˆ‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ4ŽŽ¡‘'à¥2.4Ž‘>à©Duplicate‘UU lenames‘ø]‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ4ŽŽ¦‘à¤È3Ž‘'à¥T‘ÿ*ªop-level‘UUdirecto¸ãries’<£ˆ5ŽŽ¡‘'ॲ3.1Ž‘>à©Macros‘†Ñ‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ6ŽŽ¡‘'à¥3.2Ž‘>à©F‘ÿ*ªon¸ãtsjg‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ7ŽŽ¡‘'à¥3.3Ž‘>à©Non-fon¸ãt‘UUóø”o> logo10ÉMETÇAFŽ9ONT‘Ž8² les‘ÿm‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ9ŽŽ¡‘'à¥3.4Ž‘>à©ÉMETÇAPqÆOST‘é‘ü².ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ9ŽŽ¡‘'à¥3.5Ž‘>à©B‘ÿþóÙ“ Rcmr7±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX‘ç;‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘VÐ9ŽŽ¡‘'à¥3.6Ž‘>à©DoGcumen¸ãtation‘ÍÁ‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ10ŽŽ¦‘à¤È4Ž‘'à¥Summa¸ãry’cÕL11ŽŽ¡‘'ॲ4.1Ž‘>à©DoGcumen¸ãtation–UUtree“summary‘M~‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ12ŽŽ¦‘à¤ÈAŽ‘'à¥UnspGeci ed‘UUpieces’?_ú12ŽŽ¡‘'ॲA.1Ž‘>à©P¸ãortable‘UU lenames‘ñA‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ13ŽŽ¦‘à¤ÈBŽ‘'à¥Implementation‘UUissues’/N113ŽŽ¡‘'ॲB.1Ž‘>à©Adoption–UUof“the“ÄTDS‘ŽÅ‘ü².ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ14ŽŽ¡‘'à¥B.2Ž‘>à©More–UUon“subGdirectory“searc¸ãhing‘âΑü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ14ŽŽ¡‘'à¥B.3Ž‘>à©Example–UUimplemen¸ãtation-spGeci c“trees‘©È‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ15ŽŽ¦‘à¤ÈCŽ‘'à¥Is–UUthere“a“bGetter“w•¸ãa“y?’/Ç16ŽŽ¡‘'ॲC.1Ž‘>à©Macro‘UUstructurexo‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ17ŽŽ¡‘'à¥C.2Ž‘>à©F‘ÿ*ªon¸ãt‘UUstructure\‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ17ŽŽ¡‘'à¥C.3Ž‘>à©DoGcumen¸ãtation‘UUstructure‘”­‘ü.ŽŽ–Ç‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘ VÏ18ŽŽ¦‘à¤ÈDŽ‘'à¥Related‘UUreferences’?Ÿ'EŽ‘ãxX–Vis“a“pšGo•¸ãw“erful,‘Vß exible‘Vt“yp˜esetting–Vsystem“used“b¸ãy“thousands“of“p˜eople“around“the“w¸ãorld.‘uxItŽ¤ ‘à¤is–ò¶extremely“pšGortable“and“runs“on“virtually“all“op˜erating“systems.‘IêOne“unfortunate“side“e ectŽ¡‘à¤of–n’T‘þU>Ÿ'EŽ‘ãxX's“ exibilitš¸ãy“is“that“there“is“no“single“\righ˜t"“w˜a˜y“to“install“it.‘½This“has“resulted“in“man˜yŽ¡‘à¤sites–UUhaš¸ãving“di eren˜t“installed“arrangemen˜ts.Ž©x˜‘à¤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,–.Mfonš¸ãts,“and–$‹the“other“implemen˜tation-indepGenden˜t“T‘þU>Ÿ'EŽ‘ãxX“ les.‘a„AsŽ¡‘à¤a–úÝmatter“of“practicalitš¸ãy‘ÿ*ª,‘ õthis“doGcumen˜t“also“suggests“w˜a˜ys“to“incorpGorate“the“rest“of“the“T‘þU>Ÿ'EŽ‘ãxX“ lesŽ¡‘à¤inš¸ãto–ŒÏa“single“structure.‘4It“has“bGeen“designed“to“w˜ork“on“all“moGdern“systems.‘4In“particular,‘š­thisŽ¡‘à¤T–ÿ*ªec¸ãhnical›ïÐW“orking˜Group˜(TW•¸ãG)‘ï¶bGeliev“es˜it˜is˜usable˜under˜Unix,‘ÄMS-DOS²,˜Windo“ws˜ÄNT²,˜ÄOS/2²,Ž¡‘à¤MacÄOS²,–Špand“ÄVMS².“W‘ÿ*ªe“hopšGe“that“administrators“and“dev¸ãelop˜ers“of“b˜oth“free“and“commercialŽ¡‘à¤implemen¸ãtations–UUof“T‘þU>Ÿ'EŽ‘ãxX“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,›³šho•¸ãw“ev“er,˜a› ¿tutorial:‘œw“e˜necessarily˜assume˜kno“wledge˜of˜the˜man“y˜parts˜of˜a˜w“orking˜T‘þU>Ÿ'EŽ‘ãxXŽ¡‘à¤system.‘Ö™If–ÌFyš¸ãou“are“unfamiliar“with“an˜y“of“the“programs“or“ le“formats“w˜e“refer“to,‘êconsult“theŽ¡‘à¤references–UUin“AppGendix“D.ŽŸ€L‘à¤ó‚ÎR6 cmss12Ê1.1Ž‘3¤ The–ê¨role“of“the“ó m#½R ó3 cmss10ËTDSŽŸñ0‘ल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,‘»it“ma˜y“seem“that“the“Comprehensiv˜e“T‘þU>Ÿ'EŽ‘ãxX“Arc˜hiv˜e“Net˜w˜ork“(ÄCT‘ÿ:«AN²)‘æarc˜hiv˜es“ful llŽ¡‘à¤(at–ø,least)“part“of“this“role,‘ Îbut“this“is“not“the“case.‘RºThe“role“of“ÄCT‘ÿ:«AN‘ø²is“to“simplify“arc¸ãhiving“andŽ¡‘à¤distribution,–UUnot“installation“and“use.Ž¦‘à¤In–ë¡fact,‘Åthe“roles“of“the“ÄTDS›놲and“ÄCT‘ÿ:«AN˜²are“frequenš¸ãtly“in“con ict,‘Åas“y˜ou“will“see“elsewhere“in“thisŽ¡‘à¤doGcumen•¸ãt.‘LûF‘ÿ*ªor›ó¼distribution,‘Uman“y˜di eren“t˜t“ypGes˜of˜ les˜m“ust˜bGe˜com“bined˜in“to˜a˜single˜unit;Ž¡‘à¤for–Oëuse,‘Qit“is“traditional“to“segregate“ les“(evš¸ãen“similar“ les)“from“a“single“pac˜k‘ÿqÇage“in˜to“separate,Ž¡‘à¤oGccasionally–UUdistan¸ãt,“directories.ŽŸ€L‘à¤Ê1.2Ž‘3¤ ConventionsŽŸñ0‘ल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.Ž¦‘à¤In–Õthis“doGcumen¸ãt,‘ôÿ\T‘þU>Ÿ'EŽ›ãxX"“generally“means“the“T‘þU>Ÿ'EŽ˜X“system,–ôÿincluding‘øÉMETÇAFŽ9ONT8ã²,“ÅDVI‘Õ²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ŽŽŽŽŽŽŽŒ‹'S y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ç2Ž‘.úGeneralŽŸ5w‘लThis–UUsection“describšGes“common“prop˜erties“throughout“the“ÄTDS“²tree.ŽŸät‘à¤Ê2.1Ž‘3¤ SubSŽdirecto•¬rry‘ê¨sea“rchingŽŸ€F‘लManš¸ãy–htT‘þU>Ÿ'EŽ‘ãxX“installations“store“large“n˜um˜bGers“of“related“ les“in“single“directories,›m;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Ž¡‘à¤m¸ãust–dœsuppšGort“some“form“of“implicit“sub˜directory“searcš¸ãhing.‘!ŠMore“precisely‘ÿ*ª,‘”Áimplemen˜tations“m˜ustŽ¡‘à¤mak¸ãe–it“pšGossible“to“sp˜ecify“that“T‘þU>Ÿ'EŽ‘ãxX,–ÉMETÇAFŽ9ONT8ã²,“and–their“companion“utilities“searc¸ãh“in“b˜oth“aŽ¡‘à¤spšGeci ed–£Šdirectory“and“recursiv¸ãely“through“all“sub˜directories“of“that“directory“when“lo˜oking“forŽ¡‘à¤an–äUinput“ le.‘L(Other“forms“of“subGdirectory“searcš¸ãhing,‘úïfor“example“recursiv˜e-to-one-lev˜el“searc˜hes,Ž¡‘à¤maš¸ãy–Ëalso“bGe“pro˜vided.)‘­*W‘ÿ*ªe“encourage“implemen˜tors“to“pro˜vide“subGdirectory“searc˜hing“(at“theŽ¡‘à¤option–UUof“the“installer“and“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).ŽŸät‘à¤Ê2.2Ž‘3¤ RoSŽoting–ê¨the“treeŽŸ€F‘ल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:².Ž¦‘à¤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–N6itself“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.ŽŽŸ’è`¤3ŽŽŽŽŽŽŽŒ‹8© y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê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–²=this“according“to“their“oš¸ãwn“con˜v˜en˜tions.‘ˆOne“site“migh˜t“wish“to“consider“\nonloGcal"Ž¡‘à¤only–šthose“ les“that“came“with“the“particular“T‘þU>Ÿ'EŽ‘ãxX“distribution“they“installed;‘&Øanother“site“migh¸ãtŽ¡‘à¤consider–æÜ\loGcal"“only“those“ les“that“wš¸ãere“actually“dev˜elopšGed“at“the“lo˜cal“site“and“not“distributedŽ¡‘à¤elsewhere.Ž©N8‘à¤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“maš¸ãy“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˜abGo“v“e.Ž¦‘ƒ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“giv˜en“ rst-lev˜el“subGdirectory“of“Åtexmf/Ž¡‘1à¦tex–xé²and“Åtexmf/tex/generic²,›Îbut“not“within“all“of“Åtexmf/tex²;‘Š³i.e.,˜di eren¸ãt“T‘þU>Ÿ'EŽ‘ãxX“formatsŽ¡‘1à¦ma•¸ãy›UUha“v“e˜ les˜b“y˜the˜same˜name.‘qÇ(Section˜3.1˜discusses˜this˜further.)Ž¦‘1à¦Therefore,‘Ãno–­ single“format-indepšGenden¸ãt“path“sp˜eci cation,‘Ãsucš¸ãh“as“a“recursiv˜e“searc˜h“bGe-Ž¡‘1à¦ginning–]êat“Åtexmf/tex“²spGecifying“no“other“directories,‘`suces.‘‹†So“an“implemenš¸ãtation“m˜ustŽ¡‘1à¦pro•¸ãvide›ž(format-depGenden“t˜path˜sp•Geci cations,‘°]for˜example˜via˜wrapp“er˜scripts˜or˜con gu-Ž¡‘1à¦ration‘UU les.Ž¦‘!à ¸ŽŽŽ‘1লMan•¸ãy›ü†fon“t˜ les˜will˜ha“v“e˜the˜same˜name˜(e.g.,–IÅcmr10.pk²),“as˜discussed˜in˜Section˜3.2.2.‘T-AnŽ¡‘1à¦implemen•¸ãtation›UUm“ust˜therefore˜distinguish˜these˜ les˜b“y˜moGde˜and˜resolution.ŽŽŸ’è`¤4ŽŽŽŽŽŽŽŒ‹I² y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤All–UUimplemenš¸ãtations“w˜e“kno˜w“of“already“ha˜v˜e“these“capabilities.Ž¤N8‘à¤One–UUplace“where“duplicate“names“are“lik¸ãely“to“oGccur“is“not“an“exception:Ž¡‘!à ¸ŽŽŽ‘1লNames–Çof‘Ž7ÉMETÇAFŽ9ONT‘ÿý²input“ les“(as“oppGosed“to“bitmap“fonš¸ãts)“m˜ust“bGe“unique“within“allŽ¤ ‘1à¦of–òñÅtexmf/fonts².‘JšIn“practice,‘Xthis“is“a“problem“with“those“v‘ÿqÇarian¸ãts“of“Computer“MoGdernŽ¡‘1à¦whic•¸ãh›®con“tain˜sligh“tly˜moGdi ed˜ les˜named˜Åpunct.mf²,–ÄKÅromanl.mf²,“and˜so˜on.‘|W‘ÿ*ªe˜bGeliev¸ãeŽ¡‘1à¦the–UUonly“feasible“solution“here“is“simply“to“rename“the“deriv‘ÿqÇativ¸ãe“ les“to“bGe“unique.ŽŸ#8à‘à¤Ç3Ž‘.úT‘þÓ4op-level‘³/directo›¼riesŽŸÃŒ‘लThe– 6directories“under“the“Åtexmf“²rošGot“iden¸ãtify“the“ma‘Ž8jor“comp˜onen¸ãts“of“a“T‘þU>Ÿ'EŽ‘ãxX“system.‘jA‘ siteŽ¡‘à¤maš¸ãy–UUomit“an˜y“unneeded“directories.Ž©N8‘à¤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(non-fon¸ãt)“ÉMETÇAFŽ9ONT‘Ž8² les“(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).Ž¦‘à¤ÅdocŽŽ‘3  ²for–UUuser“doGcumen¸ãtation“(Section“3.6).Ž¦‘à¤ÅsourceŽŽ‘C`—²for–\æsources.‘øThis“includes“bGoth“traditional“program“sources“(for“example,‘Ž–W‘ÿ*ªeb2c“sourcesŽ¡‘1à¦go–UUin“Åtexmf/source/web2c²)“and“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“Ådtx“²sources“(whic¸ãh“go“in“Åtexmf/source/latex²).Ž¦‘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,“but“rather“in“Åtexmf/tex/plain/base²,“as“explained“in“Section“3.1.Ž¦‘सhÃimplementation‘Äc¸iŽŽ‘oㆲfor–ïimplemenš¸ãtations“(examples:‘Q”Åemtex²,–!ÑÅweb2c²),“to–ïbGe“used“for“whatev˜er“pur-Ž¡‘1à¦pGose–É¥deemed“suitable“bš¸ãy“the“implemen˜tor“or“T‘þU>Ÿ'EŽ‘ãxX“administrator.‘ζFiles“that“cannot“bGeŽ¡‘1à¦shared›€ñbGet•¸ãw“een˜implemen“tations,‘Ë×suc“h˜as˜p•Go“ol˜ les˜(Åtex.pool²)˜and˜memory˜dump˜ lesŽ¡‘1à¦(Åplain.fmt²)–Ígo“here,‘qêin“addition“to“implemen¸ãtation-wide“con guration“ les.‘ ƒ.See“Sec-Ž¡‘1à¦tion–UUB.3“for“examples“of“real“¸hÃimplementation‘Äc¸i“²trees.Ž¦‘सhÃpr–ÿ}'o“gr“am‘Äc¸iŽŽ‘Onð²for–ëpindividual“con guration“ les“and“program-spGeci c“input“ les“for“T‘þU>Ÿ'EŽ‘ãxX-relatedŽ¡‘1à¦programs–Ÿ(examples:‘+Åmft²,›ñsÅdvips²).‘NÝIn“fact,˜the“Åtex²,˜Åmetafont²,˜Åmetapost²,˜and“ÅbibtexŽ¡‘1লdirectories›UUabGo•¸ãv“e˜ma“y˜bGe˜seen˜as˜instances˜of˜this˜case.ŽŽŸ’è`¤5ŽŽŽŽŽŽŽŒ‹Y³ y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê3.1Ž‘3¤ MacrosŽŸ’J‘ल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.‘qÇ(W‘ÿ*ªe–UUuse“`format'“in“its“traditional“T‘þU>Ÿ'EŽ‘ãxX“sense“to“mean“a“usefully“Å\dump²-able“pac¸ãk‘ÿqÇage.)Ž¡‘1à¦Åtexmf/tex/¸hÃformat‘òظiÅ/¸hÃp‘ÿ}'ackage‘À[¸iÅ/Ž©I%‘सhÃformat‘òظiŽŽ‘I›ÿ²is–1€a“format“name“(examples:‘*Åplain²,–¨ŠÅamstex²,“Åtexinfo²,“Ålatex²).‘ HBy–1€pro¸ãviding“aŽ¡‘1সhÃformat‘òظi–}Á²directory‘ÿ*ª,‘ÇÜpath“searcš¸ãhing“can“bGe“limited“to“only“those“directories“that“con˜tainŽ¡‘1à¦relev‘ÿqÇan¸ãt‘UU les.Ž¦‘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,‘Ófor›†·ev“ery˜format,‘Óit˜is˜correct˜to˜searc“h˜at˜least˜the˜¸hÃformat‘òظi˜²directory˜and˜thenŽ¡‘1à¦the–‹ÿÅgeneric“²directory“(in“that“order).‘ÄOther“directories“maš¸ãy“need“to“bGe“searc˜hed“as“w˜ell,Ž¡‘1à¦depGending–'ðon“the“format.‘é™When“using“¸A‘þU>Ÿ'MŽ‘ ‹S²-T‘þU>Ÿ'EŽ‘ãxX,›\—for“example,˜the“Åamstex²,˜Åplain²,˜andŽ¡‘1à¦Ågeneric–UU²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–ìoa“T‘þU>Ÿ'EŽ‘ãxX“pacš¸ãk‘ÿqÇage“name“(examples:‘=TÅtexdraw²,‘jÅbabel²).‘NÐThe“ÄTDS‘ìT²reserv˜es“the“follo˜wingŽ¡‘1সhÃp‘ÿ}'ackage‘À[¸i‘UU²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–UUduring“the“build“prošGcess“shall“b˜e“stored“in“the“Åbase“²directory‘ÿ*ª.Ž¦‘7à ¸ŽŽŽ‘Gà¦Åhyphen²,›)€for–‹h¸ãyphenation“patterns,˜e.g.,˜Åhyphen.tex².‘_„These“are“tš¸ãypically“used“only“b˜yŽ¡‘Gà¦ÅINITEX².‘qÇIn–UUmost“situations,“this“directory“need“exist“only“under“the“Ågeneric“²format.Ž¦‘7à ¸ŽŽŽ‘Gà¦Åimages²,›Nfor–LÞimage“input“ les,˜sucš¸ãh“as“Encapsulated“P˜ostScript“ gures.‘nõAlthough“it“isŽ¡‘Gà¦somewhat›?©non-in•¸ãtuitiv“e˜for˜these˜to˜bGe˜under˜a˜directory˜named˜\Åtex²",‘CÿT‘þU>Ÿ'EŽ‘ãxX˜needs˜toŽ¡‘Gà¦read–#¼these“ les“to“glean“bšGounding“b˜oš¸ãx“or“other“information.‘a?A‘#¯mec˜hanism“for“sharingŽ¡‘Gà¦image–ùinputs“bšGet•¸ãw“een–ùT‘þU>Ÿ'EŽ‘ãxX“and“other“t¸ãyp˜esetting“programs“(In•¸ãterleaf,‘P!F‘ÿ*ªrameMak“er,Ž¡‘Gà¦etc.)‘Iâis–ݦbšGey¸ãond“the“scop˜e“of“the“ÄTDS².“In“most“situations,‘õ–this“directory“need“exist“onlyŽ¡‘Gà¦under–UUthe“Å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›ónev“ertheless˜c“hoGose˜to˜create˜directories˜ev“en˜for˜single- le˜pac“k‘ÿqÇages˜at˜theirŽ¡‘Gà¦discretion.ŽŽŸ’è`¤6ŽŽŽŽŽŽŽŒ‹g› y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘1à¦In–{ýthe“case“where“a“format“consists“of“only“a“single“ le“and“has“no“auxiliary“pac¸ãk‘ÿqÇages,Ž¤ ‘1à¦that–Mê le“can“simply“bGe“placed“in“the“¸hÃformat›òظi“²directory‘ÿ*ª,‘Ofinstead“of“¸hÃformat˜¸iÅ/base².‘oNF‘ÿ*ªor“ex-Ž¡‘1à¦ample,›ÑYT‘ÿ*ªexinfo–°YgoGes“in“Åtexmf/tex/texinfo/texinfo.tex²,˜not“Åtexmf/tex/texinfo/base/Ž¡‘1à¦texinfo.tex².ŽŸÄ‘à¤Ê3.2Ž‘3¤ F¬rontsŽŸœp‘लF‘ÿ*ªonš¸ãt–`à les“shall“bGe“stored“in“separate“directories,‘‘Äsegregated“b˜y“ le“t˜ypGe,‘‘Äfon˜t“supplier,‘‘Äand“t˜ypGefaceŽ¡‘à¤name.‘qÇÅPK–UU²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Å/Ž¤N8‘सhÃtyp‘ÿ}'e‘À[¸iŽŽ‘=Èβis–UUthe“tš¸ãypGe“of“fon˜t“ le.‘qÇThe“ÄTDS“²reserv˜es“the“follo˜wing“¸hÃtyp‘ÿ}'e‘À[¸i“²names:Ž¡‘7à ¸ŽŽŽ‘Gà¦Åafm²,–UUfor“AdobGe“fon¸ãt“metrics.Ž¤ ‘7à ¸ŽŽŽ‘Gà¦Ågf²,–UUfor“generic“fon¸ãt“bitmap“ les.Ž¡‘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à¦Åtype1²,–UUfor“Tš¸ãypGe“1“fon˜ts“(in“an˜y“format).Ž¡‘7à ¸ŽŽŽ‘Gà¦Åvf²,–UUfor“virtual“fon¸ãts.Ž©N8‘1à¦As–¦‰usual,‘úÖanš¸ãy“of“these“directories“ma˜y“bGe“omitted“at“a“site“not“needing“them“(Ågf“²is“aŽ¡‘1à¦particularly–UUlik¸ãely“candidate“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²,‘ÄSfor– the“fonš¸ãts“distributed“b˜y“the“American“Mathematical“SoGciet˜y“in“the“¸A‘þU>Ÿ'MŽ‘ ‹S²-fon˜tsŽ¡‘Gà¦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–AÚdirectory“(as“with,–xóe.g.,“Åams²),“nor–AÚ(2)“made“a“great“n˜um˜bGer“of“fon˜ts“(e.g.,‘xóÅadobe²).‘ôItŽ¡‘Gà¦doGes–Qnot“conš¸ãtain“all“extan˜t“freely“distributable“fon˜ts,‘µRnor“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–UUon“systems“whicš¸ãh“do“not“need“it“(lik˜e“all“other“directories“in“the“ÄTDS²).Ž¦‘स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.Ž¦‘à¤Some–UUconcrete“examples:Ž¡‘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).ŽŽŸ’è`¤7ŽŽŽŽŽŽŽŒ‹xˆ y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤È3.2.1Ž‘7nâF¸ãont‘UUbitmapsŽŸ­ˆ‘लF‘ÿ*ªonš¸ãt–†bitmap“ les“require“t˜w˜o“c˜haracteristics“in“addition“to“the“abGo˜v˜e“to“bGe“uniquely“iden˜ti ed:Ž¤ ‘à¤(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,‘7×the“ÄTDS‘ [²segregates“fon˜ts“with“di eren˜t“device“t˜ypšGes“(mo˜des)“in¸ãtoŽ¡‘à¤separate–UUdirectories.‘qÇConsult“Åmodes.mf“²(see“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–8’the“ÄTDS‘8‹²cannot“require“long“ lenames“(see“Section“A.1),‘>Swš¸ãe“m˜ust“use“the“latter“sc˜hemeŽ¡‘à¤for–UUnaming“fonš¸ãts,“via“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– ½a“name“whicš¸ãh“iden˜ti es“the“device“t˜ypGe“(examples:‘–Åcx²,–³—Ågsftopk²,“Åljfour²).‘SþUsually‘ÿ*ª,Ž¡‘1à¦this–UUis“the“name“of“the“ÉMETÇAFŽ9ONT‘Ž8²moGde“used“to“build“the“ÅPK“² le.Ž¦‘1à¦F‘ÿ*ªor–.{fonš¸ãts“rendered“as“bitmaps“b˜y“a“program“that“došGes“not“distinguish“b˜et•¸ãw“een‘.{di eren“tŽ¡‘1à¦output–UUdevices,“the“¸hÃmo‘ÿ}'de‘À[¸i“²name“shall“bGe“that“of“the“program“(e.g.,“Åps2pk²,“Ågsftopk²).Ž¦‘à¤Å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.Ž¦‘1à¦The–^ain¸ãteger“¸hÃnnn‘Äc¸i“²is“to“bGe“calculated“using‘îÉMETÇAFŽ9ONT‘—D²arithmetic“and“then“rounded;‘bçi.e.,Ž¡‘1à¦it–cis“the“in¸ãteger“ÉMETÇAFŽ9ONT‘›þ²uses“in“its“output“Ågf“² lename.‘›W‘ÿ*ªe“recognize“small“di erencesŽ¡‘1à¦in–ÿthe“resolution“are“a“common“cause“of“frustration“among“users,›who•¸ãw“ev“er,˜and‘ÿrecommendŽ¡‘1à¦implemen•¸ãtors›ê$follo“w˜the˜lev“el˜0˜ÄD¾9VI‘黲driv“er˜standard˜(see˜AppGendix˜D)˜in˜bitmap˜fon“tŽ¡‘1à¦searc•¸ãhes›UUb“y˜allo“wing˜a˜fuzz˜of˜¸²0µ:²2%˜(with˜a˜minim“um˜of˜1)˜in˜the˜¸hÃdpi‘Ú¸i².Ž¦‘à¤Implemen•¸ãtations›øŠma“y˜pro“vide˜extensions˜to˜the˜basic˜naming˜sc“heme,‘ suc“h˜as˜long˜ lenames˜andŽ¡‘à¤fonš¸ãt–UUlibrary“ les,“pro˜vided“that“the“basic“sc˜heme“is“also“suppGorted.ŽŸjˆ‘à¤È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.‘JõThe“most“v˜exing“isŽ¡‘à¤that–åRit“results“in“the“creation“of“dozens“of“di erenš¸ãt“ les“with“exactly“the“same“name.‘LqA˜t“a“t˜ypicalŽ¡‘à¤site,‘Åcmr10.pk–Þ·²will“bšGe“the“ lename“for“Computer“Mo˜dern“Roman“10‘ª®pt“at“5{10“magni cationsŽ¡‘à¤for–UU2{3“moGdes.‘qÇ(Section“2.4“discusses“duplicate“ lenames“in“general.)Ž¦‘à¤T‘ÿ*ªo–D½minimize“this“problem,‘Hthe“ÄTDS‘D¹²strongly“recommends“Å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ŽŽŸ’è`¤8ŽŽŽŽŽŽŽŒ‹ †C y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤bšGeen–µšusing“a“lo˜cal“mo˜des“ le“deriv¸ãed“from“(or“that“is“simply)“Åmodes.mf“²(see“App˜endix“D),‘Í«theŽ¤ ‘à¤required–âGinformation“is“already“in“y¸ãour“ÅPK“² les.‘KmIf“not,‘ùJa“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.Ž©üz‘à¤Ê3.3Ž‘3¤ Non-font‘ê¨ó#ø”o> logo10ÎMET»»AF‘ÿwwONT‘.ìÊ lesŽŸN‘ल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²,–UUfor“ÉMETÇAFŽ9ONT‘Ž8²pac¸ãk‘ÿqÇages“consisting“of“only“a“single“ le“(for“example,“Åmodes.mf²).Ž¦‘à¤Ê3.4Ž‘3¤ ÎMET»»AP‘ˆˆOSTŽŸN‘à¤É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:Ž¦‘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“wise“to“lea˜v˜e“roGom“for“con˜tributed“pac˜k‘ÿqÇages“that“migh˜t“bGe“written“in“the“future.Ž¡‘à¤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²,–UUfor“ÉMETÇAPqÆOST‘Ž8²pac¸ãk‘ÿqÇages“consisting“of“only“a“single“ le.Ž¡‘!à ¸ŽŽŽ‘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.ŽŸüz‘à¤Ê3.5Ž‘3¤ B‘ÿi˜ó)Æs6‘cmss8ÔIB‘ÿ\ÊT‘þ ‘ŸªªEŽ‘’‹XŽŸN‘ल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–UUÅbst“²directory“is“for“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“st¸ãyle“(Å.bst²)“ les.Ž¡‘स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²):ŽŽŸ’è`¤9ŽŽŽŽŽŽŽŒ‹ —À y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘!à ¸ŽŽŽ‘1à¦Åbase²,–UUfor“the“standard“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“databases“and“stš¸ãyles,“suc˜h“as“Åxampl.bib²,“Åplain.bst².Ž¤N8‘!à ¸ŽŽŽ‘1à¦Ålocal²,–UUfor“loGcal“additions.‘qÇSee“Section“2.3.Ž¡‘!à ¸ŽŽŽ‘1à¦Åmisc²,–UUfor“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“pac¸ãk‘ÿqÇages“consisting“of“only“a“single“ le.ŽŸÄ‘à¤Ê3.6Ž‘3¤ DoSŽcumentationŽŸœp‘ल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˜describGeŽ¡‘à¤v‘ÿqÇarious–UUaspGects“of“the“T‘þU>Ÿ'EŽ‘ãxX“system.Ž©N8‘à¤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–UUname“(Ålatex²),“program“name“(Åtex²,“Åbibtex²),“or“other“system“compGonen¸ãts“(Åweb²,“Åfonts²).Ž¦‘à¤The–UUÄTDS“²reservš¸ães“the“follo˜wing“categories:Ž¦‘!à ¸ŽŽŽ‘1লWithin–ë…eacš¸ãh“¸hÃc–ÿ}'ate“gory‘â}¸i–ë…²tree“for“a“T‘þU>Ÿ'EŽ‘ãxX“format,‘Qthe“directory“Åbase“²is“reserv˜ed“for“baseŽ¡‘1à¦doGcumenš¸ãtation–UUdistributed“b˜y“the“format's“main˜tainers.Ž¦‘!à ¸ŽŽŽ‘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,“Da˜vid“Jones'“macro“index,“etc.Ž¦‘!à ¸ŽŽŽ‘1à¦Åhtml²,–UUfor“ÄHTML“²doGcumen¸ãts.Ž¦‘!à ¸ŽŽŽ‘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.‘T‘Implemen“tation-dep˜enden“t–ý± les“shall“b˜e“stored“in“their“resp˜ectiv¸ãe“directory‘ÿ*ª,Ž¡‘à¤as–ßÛproš¸ãvided“for“b˜y“the“implemen˜tation“and/or“T‘þU>Ÿ'EŽ‘ãxX“administrator“(for“example,‘}ÄVMS‘߸²help“ lesŽ¡‘à¤under‘UUÅtexmf/vms/help²).Ž¦‘à¤The–mdoGcumenš¸ãtation“directories“ma˜y“con˜tain“T‘þU>Ÿ'EŽ‘ãxX“sources,›s ÅDVI“² les,˜ÐPostScript“² les,˜text“ les,Ž¡‘à¤example–UUinput“ les,“or“whatevš¸ãer“form“of“doGcumen˜tation“will“bGest“explain“the“pac˜k‘ÿqÇage.Ž¦‘à¤See–UUSection“4.1“for“a“summary‘ÿ*ª.ŽŽŸ’åà£10ŽŽŽŽŽŽŽŒ‹ ¦C y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ç4Ž‘.úSumma›¼ryŽŸÃŒ‘लA–UUsk¸ãeleton“of“a“ÄTDS“Åtexmf“²directory“tree:ŽŸN8‘à¤Å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ŽŽ¡‘#`Å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ŽŽ¡‘à¤Ådoc/Ž’…Éϲsee–UUSection“3.6“and“the“summary“follo¸ãwingŽŽ¡‘à¤Å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²)ŽŽ¡‘à¤Å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–UUinputs“(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.,“Åweb2c²,“Ålatex²)ŽŽ¡‘à¤Åtex/Ž’…ÉϲT‘þU>Ÿ'EŽ‘ãxX–UUinput“ lesŽŽ¡‘#`¸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/Ž’…ÉϲloGcal–UUadditions“to“or“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²)ŽŽŽŸ’åà£11ŽŽŽŽŽŽŽŒ‹ ±Þ y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê4.1Ž‘3¤ DoSŽcumentation–ê¨tree“summa¬rryŽŸ”’‘लA–UUsk¸ãeleton“of“a“ÄTDS“²directory“tree“under“Åtexmf/doc²:Ž©JI‘à¤Å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ŽŽ¡‘à¤Ågeneric/Ž‘\ ƒ²for–UUnon-format-spGeci c“T‘þU>Ÿ'EŽ‘ãxX“pac¸ãk‘ÿqÇagesŽŽ¡‘#`Åbabel/ŽŽ¡‘#`german/Ž‘\ ƒgermdocŽŽ¡‘à¤help/Ž‘\ ƒ²meta-informationŽŽ¡‘#`Åctan/Ž‘\ ƒ²info–UUabGout“ÄCT‘ÿ:«AN“²mirror“sitesŽŽ¡‘#`Åfaq/Ž‘\ ƒÄF‘þøäA¾9Q²s–UUof“Åcomp.text.tex²,“etc.ŽŽ¡‘à¤Åhtml/Ž‘\ ƒÄHTML‘UU² lesŽŽ¡‘à¤Åinfo/Ž‘\ ƒÄGNU–UU²Info“ les,“made“from“T‘ÿ*ªexinfo“sourcesŽŽ¡‘à¤Ålatex/Ž‘\ ƒ²example–UUof“¸hÃformat‘òظiŽŽ¡‘#`Åbase/Ž‘\ ƒltnews*²,–UUÅ*guide²,“etc.ŽŽ¡‘#`Ågraphics/Ž‘\ ƒgrfguideŽŽ¡‘स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ŽŽŸ!Ìø‘à¤ÇAŽ‘0KŸ'EŽ‘ãxX“system:Ž¦‘ƒ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.ŽŽŸ’åà£12ŽŽŽŽŽŽŽŒ‹ ½¶ y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ý䑃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.Ž©N8‘ƒ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ŽŸœp‘ल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“particular“sc˜heme.‘ÃTF‘ÿ*ª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.Ž¦‘à¤It–bturns“out“that“ÄISO²-9660“meets“the“stringen¸ãt“limitations“of“all“opšGerating“systems“in“use“to˜da¸ãy‘ÿ*ª.Ž¡‘à¤It–UUis“the“only“univš¸ãersally“acceptable“ le“system“format“for“ÄCD-R¾9OM²s.‘qÇIt“spGeci 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–k*letters“are“excluded.‘³E(The“only“common“place“where“mixed-case“names“oGccur“inŽ¡‘1à¦the–„ÓT‘þU>Ÿ'EŽ›ãxX“system“is“in“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ˜X“fon¸ãt“descriptor“ les,‘³and“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ˜X“doGes“not“rely“on“case“alone“toŽ¡‘1à¦distinguish–UUamong“these“ les.)Ž¡‘!à ¸ŽŽŽ‘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.ŽŸ#8à‘à¤Ç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.ŽŽŸ’åà£13ŽŽŽŽŽŽŽŒ‹È› y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÊB.1Ž‘5Adoption–ê¨of“the“ËTDSŽŸœp‘लW‘ÿ*ªe–ãÑrecognize“that“adoption“of“ÄTDS‘ã´²will“not“bGe“immediate“or“univ¸ãersal.‘KñMost“T‘þU>Ÿ'EŽ‘ãxX“administratorsŽ¤ ‘à¤will–UUnot“bGe“inclined“to“makš¸ãe“the“switc˜h“un˜til:Ž©N8‘!à ¸ŽŽŽ‘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˜thisŽ¡‘1à¦došGcumen¸ãt–UUis“the“ rst“step“in“this“pro˜cess.Ž¦‘à¤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.‘ƒòIndeed,‘‘some“of“this“has“tak˜en“place“during“theŽ¡‘à¤course–Úof“our“delibšGerations“(see“App˜endix“D“for“a“sample“tree“a¸ãv‘ÿqÇailable“electronically).‘WIThey“willŽ¡‘à¤certainly–UUresult“in“the“proGduction“of“a“substanš¸ãtial“n˜um˜bGer“of“ÄTDS²-complian˜t“pac˜k‘ÿqÇages.Ž¦‘à¤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“OS‘ÛÌ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–‹0bšGeliev¸ãe“that“this“pro˜cess“will“o˜ccur“relativš¸ãely“quic˜kly‘ÿ*ª.‘YThe“ÄTDS‘Šà²committee“spans“a“wideŽ¡‘à¤range–µËof“inš¸ãterests“in“the“T‘þU>Ÿ'EŽ‘ãxX“comm˜unit˜y–ÿ*ª.‘“(Consequen˜tly“,‘Íèw˜e–µËbGeliev˜e“that“most“of“the“k˜ey“issuesŽ¡‘à¤in•¸ãv“olv“ed–^šin“de ning“a“wš¸ãork‘ÿqÇable“ÄTDS‘^U²de nition“ha˜v˜e“bGeen“co˜v˜ered,‘ ëoften“in“detail.‘•Most“T‘þU>Ÿ'EŽ‘ãxXŽ¡‘à¤dev•¸ãelopGers›Ó%ha“v“e˜b•Geen˜consulted˜ab“out˜implemen•¸ãtation˜issues,‘í/and˜ha“v“e˜bGeen˜trying˜out˜suggestedŽ¡‘à¤ÄTDS–UU²formats.‘qÇThš¸ãus,“w˜e“hopGe“for“few“surprises“as“implemen˜tations“mature.Ž¦‘à¤Finally‘ÿ*ª,‘óRthere– †are“sevš¸ãeral“(curren˜t“or“prospGectiv˜e)“publishers“of“T‘þU>Ÿ'EŽ‘ãxX-based“ÄCD-R¾9OM²s.‘S[TheseŽ¡‘à¤publishers–”2are“highly“motiv‘ÿqÇated“to“wš¸ãork“out“details“of“ÄTDS‘”"²implemen˜tation,‘£êand“their“proGductsŽ¡‘à¤will–šLproš¸ãvide“inexpGensiv˜e“and“con˜v˜enien˜t“w˜a˜ys“for“expGerimen˜tally-minded“T‘þU>Ÿ'EŽ‘ãxX“administrators“toŽ¡‘à¤expGerimen¸ãt–UUwith“the“ÄTDS².Ž¦‘à¤E orts–ôPare“under“w•¸ãa“y–ôPto“set“up“a“\ÄTDS‘óå²Registry"“that“will“coGordinate“assignmen¸ãt“of“ÄTDS²-Ž¡‘à¤complianš¸ãt–î¡directory“names“and“pro˜vide“a“de nitiv˜e“database“of“ÄTDS²-complian˜t“soft˜w˜are“distri-Ž¡‘à¤butions.‘å(Pš¸ãerhaps–†´this“could“also“serv˜e“man˜y“sites“as“the“de nition“of“when“a“pac˜k‘ÿqÇage“is“loGcal.)Ž¡‘à¤F‘ÿ*ªor–UUnoš¸ãw,“distribution“through“ÄCT‘ÿ:«AN“²serv˜es“as“an“imprecise“registry‘ÿ*ª.ŽŸÄ‘à¤Ê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².Ž¦‘à¤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.ŽŽŸ’åà£14ŽŽŽŽŽŽŽŒ‹Ö‡ y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤This–]éfeature“is“already“suppGorted“bš¸ãy“man˜y“implemen˜tations“of“T‘þU>Ÿ'EŽ‘ãxX“and“companion“utilities,‘`forŽ¤ ‘à¤example–éÄDECUS‘éf²T‘þU>Ÿ'EŽ›ãxX“for“ÄVMS²,“Dvips(k),‘ÿemT‘þU>Ÿ'EŽ˜X“(and“its“driv¸ãers),–ÿPubliC‘éfT‘þU>Ÿ'EŽ˜X,“W‘ÿ*ªeb2c,“Xdvi(k),Ž¡‘à¤and‘UUY&YT‘þU>Ÿ'EŽ‘ãxX.Ž©CÖ‘à¤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–aüthat“subšGdirectory“searc¸ãhing“is“imp˜erativš¸ãe“to“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:\subdir!!²;–UUÅt:\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/**²;–UUÅtexmf/subdir/*“²for“a“single“levš¸ãel“of“searc˜hing.Ž¦‘à¤Y&Y‘UUT‘þU>Ÿ'EŽ‘ãxX:ŽŽ‘S`˜Åt:/subdir//–UU²or“Åt:\subdir\\².ŽŸ;‘à¤ÊB.3Ž‘5Example–ê¨implementation-spSŽeci c“treesŽŸ‡¬‘लThe–±"ÄTDS‘± ²cannot“spšGecify“a“precise“lo˜cation“for“implemen¸ãtation-sp˜eci c“ les,‘Èbut“for“informativ¸ãeŽ¡‘à¤purpGoses,‘Þ³w•¸ãe›Á pro“vide˜here˜the˜default˜loGcations˜for˜some˜implemen“tations.‘@YPlease˜con“tact˜us˜withŽ¡‘à¤additions–ß+or“corrections.‘HThese“paths“are“not“de nitiv•¸ãe,‘ ma“y–ß+not“matcš¸ãh“an˜ything“at“y˜our“site,Ž¡‘à¤and–UUmaš¸ã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.ŽŸ;‘à¤ÈB.3.1Ž‘9Public–UUó*ÒoÇw cmss9ÕDECUS“ÈT‘þU>Ÿ8ãEŽ‘"XŽŸ‡¬‘ल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_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ŽŽŽŸ’åࣲ15ŽŽŽŽŽŽŽŒ‹è y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘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.2Ž‘9W¸ãeb2c‘UU7.0ŽŸœp‘ल(Email–UUÅtex-k@cs.umb.edu“²to“conš¸ãtact“the“main˜tainer“of“this“implemen˜tation.)Ž©N8‘à¤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–š‘spGeci c“ les“are“stored“folloš¸ãwing“standard“ÄGNU‘šb²practice.‘3†Giv˜en“a“roGot“directory“¸hÃpr‘ÿ}'e x‘4D¸iŽ¡‘ल(Å/usr/local–UU²bš¸ãy“default),“w˜e“ha˜v˜e“default“loGcations“as“follo˜ws:Ž¦‘स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/ŽŽ¡‘-à–texmf/Ž‘aà~ÄTDS‘UU²roGotŽŽ¡‘8`Åweb2c/Ž‘aà~²implemen•¸ãtation-depGenden“t–UU les“(Å.pool²,“Å.fmt²,“Åtexmf.cnf²,“etc.)ŽŽ¦‘à¤See–bÍÅprep.ai.mit.edu:/pub/gnu/standards.*“²for“the“rationale“bGehind“and“descriptions“of“thisŽ¡‘à¤arrangemen•¸ãt.‘kA‘ALsite›ARma“y˜of˜course˜o“v“erride˜these˜defaults;‘Gýfor˜example,‘ERto˜put˜ev“erything˜underŽ¡‘à¤a–UUsingle“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–Œ-inš¸ãteresting“ideas“could“not“bGe“applied“due“to“some“or“all“curren˜t“implemen˜tations“lac˜kingŽ¡‘à¤the–UUnecessary“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.Ž¡‘1à¦It–UUwš¸ãould“bGe“reasonable“for“t˜w˜o“suc˜h“trees“to“bGe“logically“merged“when“searc˜hing,“etc.ŽŽŸ’åà£16ŽŽŽŽŽŽŽŒ‹÷B y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤Ê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.Ž©N8‘à¤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.Ž¡‘!à ¸ŽŽŽ‘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“standardŽ¡‘à¤single-directory–UUarrangemenš¸ãts“un˜tenable,“and“therefore“what“initiated“the“ÄTDS“²e ort.ŽŸÄ‘à¤ÈC.2.1Ž‘8ÒpFš¸ãont–UU le“t˜ypšGe“lo˜cationŽ¦‘लW‘ÿ*ªe–UUconsidered“the“supplier- rst“arrangemenš¸ãt“curren˜tly“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›«­w“ould˜require˜T‘þU>Ÿ'EŽ‘ãxX˜to˜searc“h˜through˜all˜the˜directories˜that˜con“tain˜ÅPK˜² 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– Ãthe“bGene ts.‘˜The“ÄTDSŽ¡‘लmerges–žO le“t¸ãypšGes“(Åmf“²and“Åpl“²under“Åsource²,‘°Åpfa“²and“Åpfb“²and“Ågsf“²under“Åtype1²)“when“a“b˜ene tŽ¡‘à¤could–UUbGe“found.ŽŽŸ’åà£17ŽŽŽŽŽŽŽŒ‹  y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤È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.ŽŸN8‘à¤W‘ÿ*ªe–UUthen“considered“moš¸ãving“the“Ådpi¸hÃnnn‘Äc¸i“²up“to“bGelo˜w“the“moGde,“as“seemed“natural:Ž¡‘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.ŽŸÄ‘à¤ÈC.2.3Ž‘8ÒpMoGdeless‘UUbitmapsŽ¦‘लThe–,ÄÄTDS‘,º²spšGeci es“using“utilit¸ãy“names“as“mo˜de“names“for“those“utilities“whic¸ãh“generate“bitmaps,Ž¡‘à¤e.g.,‘™‘Åtexmf/fonts/pk/gsftopk/².‘‹An–‹ìalternativš¸ãe“w˜as“to“in˜troGduce“a“single“directory“Åmodeless/Ž¡‘लbGelo•¸ãw›§ýwhic“h˜all˜suc“h˜directories˜could˜bGe˜gathered.‘i¿This˜has˜the˜considerable˜adv‘ÿqÇan“tage˜of˜notŽ¡‘à¤requiring–UUeacš¸ãh“suc˜h“directory“name“to“bGe“listed“in“a“searc˜h“path.Ž©N8‘à¤But–€rit“has“disadv‘ÿqÇanš¸ãtages,‘Ë9toGo:‘Èit“w˜ould“use“the“last“a˜v‘ÿqÇailable“directory“lev˜el,‘Ë9prev˜en˜ting“an˜yŽ¡‘à¤future–expansions;‘a‚and“it“wš¸ãould“put“ÅPK“² les“at“di eren˜t“depths“in“the“tree,‘4ÏpGossibly“hinderingŽ¡‘à¤existing–Wýsearcš¸ãh“strategies“and“certainly“a“lik˜ely“source“of“confusion.‘y¿W‘ÿ*ªe“decided“to“sta˜y“withŽ¡‘à¤existing–UUpractice“and“kš¸ãeep“the“utilit˜y“name“at“the“same“lev˜el“as“the“moGde“names.Ž¦‘à¤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˜deŽ¡‘à¤names,›ð?as–žin“Åmfcx“²vs.“Åxyzcx“²for“a“h¸ãypGothetical“program“Xyz,˜or“w¸ãe“could“at“that“time“addŽ¡‘à¤an–—Öadditional“program“name“levš¸ãel“uniformly“to“the“tree.‘9KF‘ÿ*ªor“our“presen˜t“purpGoses,‘èvit“seemsŽ¡‘à¤more– impGortanš¸ãt“to“concisely“represen˜t“the“curren˜t“situation“than“to“tak˜e“accoun˜t“of“h˜ypGotheticalŽ¡‘à¤pGossibilities–UUthat“maš¸ãy“nev˜er“bGe“realized.ŽŸÄ‘à¤ÊC.3Ž‘5EæDoSŽcumentation‘ê¨structureŽŸœp‘लAdditional–®ÌdoGcumenš¸ãtation“ les“ha˜v˜e“alw˜a˜ys“bGeen“problematic“and“often“ignored“or“placed“inŽ¡‘à¤obscure‘UUplaces.Ž¦‘à¤W‘ÿ*ªe–ñconsidered“placing“them“in“the“same“directory“as“the“source“ les“for“the“pacš¸ãk‘ÿqÇages,‘but“w˜e“feltŽ¡‘à¤it–Ö‘wš¸ãas“impGortan˜t“that“users“bšGe“able“to“ nd“do˜cumen¸ãtation“separately“from“sources,‘öàsince“mostŽ¡‘à¤users›UUha•¸ãv“e˜no˜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.ŽŽŸ’åà£18ŽŽŽŽŽŽŽŒ‹£ y ý£Ÿüfd’¶@²draft–UUTDS“v¸ãersion“0.104ŽŽŽ‘ट‰ff¤ŽŽŽŽ ? ýä‘à¤ÇDŽ‘1oRelated‘³/referencesŽŸí‘लThis–UUappšGendix“giv¸ães“p˜oin¸ãters“to“related“ les“and“other“do˜cumen¸ãts.Ž©NY‘à¤In–>this“došGcumen¸ãt,‘B«¸hó+¼j‘¹ cmti9ÖCT‘ÿJªANÃ:‘”ú¸i“²means“the“ro˜ot“of“an“anon¸ãymous“ftp“ÄCT‘ÿ:«AN‘=û²tree.‘jThis“is“b˜oth“a“hostŽ¤ ‘à¤name–UUand“a“directory“name.‘qÇF‘ÿ*ªor“example:Ž¡‘1à¦Åftp.dante.de:/tex-archiveŽ¡‘1à¦ftp.shsu.edu:/tex-archiveŽ¡‘1à¦ftp.tex.ac.uk:/tex-archiveŽ¡‘लFinger–UUÅctan@ftp.shsu.edu“²for“a“complete“list“of“ÄCT‘ÿ:«AN“²sites;“there“are“mirrors“w¸ãorldwide.Ž¦‘à¤Here–UUare“the“references:Ž¦‘!à ¸ŽŽŽ‘1লThe–Ü“ÄTDS‘Ü.²mailing“list“arc•¸ãhiv“es–Ü“can“bGe“retriev¸ãed“via“ftp“from“Åshsu.edu:[twg-tds]“²andŽ¡‘1à¦Åvms.rhbnc.ac.uk:/archives/twg.tds.*².Ž¡‘!à ¸ŽŽŽ‘1লA–UUsample“ÄTDS“²tree:‘qǸhÖCT‘ÿJªANÃ:‘”ú¸iÅtds².Ž¡‘!à ¸ŽŽŽ‘1লA–UUcollection“of“B‘ÿþ±IB‘ÿ32²T‘þU>Ÿ'EŽ‘ãxX“databases“and“st¸ãyles:‘qÇÅftp.math.utah.edu:/pub/tex/bib².Ž¡‘!à ¸ŽŽŽ‘1à¦ÃComp‘ÿ}'onents–“çof“T‘þKß'EŽ‘Í-X‘éô²b•¸ãy›UUJoac“him˜Sc“hroGd:‘qǸhÖCT‘ÿJªANÃ:‘”ú¸iÅdocumentation/components-of-TeX².Ž¡‘!à ¸ŽŽŽ‘1লThe–UUlevš¸ãel“0“ÄD¾9VI“²driv˜er“standard:‘qǸhÖCT‘ÿJªANÃ:‘”ú¸iÅdviware/driv-standard/level-0².Ž¡‘!à ¸ŽŽŽ‘1à¦ÃFilenames–>lfor“T‘þKß'EŽ‘Í-X“fonts‘Ò!²:‘äx¸hÖCT‘ÿJªANÃ:‘”ú¸iÅdocumentation/fontname².‘ÑThis–®distribution“includesŽ¡‘1à¦recommended–UUsupplier“and“t¸ãypGeface“names.Ž¡‘!à ¸ŽŽŽ‘1à¦ÄISO²-9660–UUÄCD-R¾9OM“² le“system“standard:‘qÇÅhttp://www.iso.ch/cate/cat.html².Ž¡‘!à ¸ŽŽŽ‘1লA‘b8complete–b;set“of‘)XÉMETÇAFŽ9ONT‘›²moGdes:‘‹”¸hÖCT‘ÿJªANÃ:‘”ú¸iÅfonts/modes/modes.mf².‘˜zThis“ le“includesŽ¡‘1à¦recommended–UUmoGde“names.ŽŸ lC‘à¤ÇEŽ‘/`‘Contributo›¼rsŽŸí‘लThe–UUÄTW¾9G“²had“no“formal“meetings;“electronic“mail“wš¸ãas“the“primary“comm˜unication“medium.Ž¦‘à¤Sebastian–£TRahš¸ãtz“is“the“T‘þU>Ÿ'EŽ‘ãxX“Users“Group“T‘ÿ*ªec˜hnical“Council“liaison.‘[ÄNorman“W‘ÿ*ªalsh“is“the“com-Ž¡‘à¤mittee‘UUc¸ãhair.Ž¦‘à¤Original‘UUcon¸ãtributors:Ž¦‘à¤barbara–UUbGeeton‘)ã„Karl“Berry‘<ã‡Vicš¸ãki“Bro˜wn‘5ÿùDa˜vid“CarlisleŽŽ¡‘à¤Thomas–UUEsser‘.ãˆAlan“Je rey‘7jJ‘úÿÿorg“KnappGen‘.8ÙPierre“MacKa¸ãyŽŽ¡‘à¤Ricš¸ãh–UUMorin‘:¸ÞSebastian“Rah˜tz‘%N0Joac˜him“Sc˜hroGd‘&ÿöChristian“SpielerŽŽ¡‘à¤ElizabGeth›UUT‘ÿ*ªac•¸ãhik‘ÿqÇa“w“a‘1¼Philip˜T‘ÿ*ªa“ylor‘2ª¢Ulrik˜Vieth‘:•NP“aul˜V‘ÿ*ªo‘Ž8jtaŽŽ¡‘à¤Norman‘UUW‘ÿ*ªalshŽŽ¡¦‘à¤Additional‘UUcon¸ãtributors:Ž¦‘à¤Da¸ãvid–UUAspinall‘+#„Nelson“BeebGe‘1‡Harriet“Borton‘+hBart“ChildsŽŽ¡‘à¤Damian–UUCugley‘(j Alan“Dun•¸ãw“ell‘0¿ùMic“hael–UUF›ÿ*ªerguson‘ÿ÷Erik“F˜ram•¸ãbac“hŽŽ¡‘à¤Bernard–UUGaulle‘)÷Je rey“Gealoš¸ãw‘+î2George“Green˜w˜ade‘xÞThomas“HerterŽŽ¡‘à¤Berthold–UUHorn‘,Î/Charles“Karney‘(*¢Daš¸ãvid“Kastrup‘+c„Da˜vid“KellermanŽŽ¡‘à¤W‘ÿ*ªonk•¸ãoGo›UUKim‘2ÕKRic“hard˜Kinc“h‘,ÕNRobin˜Kirkham‘(fAlex˜KokŽŽ¡‘à¤EbGerhard–UUMattes‘!£„Bob“Morris‘:£‡Lennš¸ãy“Muellner‘'Ž0Oren“P˜atashnikŽŽ¡‘à¤Daš¸ãvid–UURhead‘3jMark“Sink˜e‘:N1Andrew“T‘ÿ*ªrev˜orro˜w‘GDoug“W‘ÿ*ªaudŽŽ¡‘à¤Chee-W–ÿ*ªai‘UUY“eungŽŽ¡ŽŸ’åà£19ŽŽŽŽŽŽŽŒø {ƒ’À;è|™œ¼à¤ ó+¼j‘¹ cmti9ó*Ò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ù-:ßßßßßß