附录CTX程序设计 HEX2的一个主要改进之处就是为类和宏包作者(简言之,即BIX程序 开发者)提供大力支持。绝大多数用户并没有体味到新版本相比于IEX2.09 的改进之处,只是知道多了一些新的字体命令,文档开头之处的声明换成了 tc1ass,用\ usepackage命令上载原来的选项文件。虽然在其它 地方也有可能发现多了点新东西,但大致的感觉就是新版本并没有带来多少 新事物。然而,对IX程序开发者而言,尤其是对曾经编写过选项文件,或 者安装过新字体框架的人员来说,他们就会非常欣赏NFSS以及新的类与宏包 控制功能。随着时间的推移,基本IX安装所提供的新扩展功能逐渐变得 与IX2密不可分,从而想使用新功能的用户就不可避免地把自己的系统 更新到新版本上 在8.5节中描述了新字体选择框架。本附录讲解设计类与宏包文件的特 殊命令,并给出了几个实用宏包的设计示例 C1类与宏包文件 8C.1.1ITEX209中的样式文件 类与宏包文件是新出现在IX2中的概念,它取代了IX2.09中的 主样式和样式选项文件。在原来的系统中,要想选择主样式,就要利用声明 0 Adocumentstyl[选项清单]样式} 这样就上载了一个名为样式.sty的文件,其定义了文档所需要的全局格式。 几个主要的样式为atic1e, report和book,这也是IIX2g中最重要的几 个类。在样式文件的某个地方,要用命令\@ options如下处理选项清单中的 如果存在命令ds选项,那就执行这条命令;否则,就把该选项放到第 二个清单中 2.当遍历完选项清单,就考虑第二个清单,对每一项,把文件选项.sty输 这一过程使得选项可以定义在样式文件内部,也可以存贮在与选项同名的单 独样式选项文件(扩展名为,sty)中。这样做的想法就是有些选项的代码与 主样式文件无关,从而可以存贮在外部的样式文件中 这就可能是采取选项文件概念的初始动机;其直接结果就是有大批的爱 好者开发了数目可观的添加选项,并把它们存贮在一个文件中,读入到其 它的文档中。通过网络服务器,添加的选项就传播开来,得到广泛的应用。由 于其中有些只是拙劣地修补了IEX的内部命令,不能只是简单地用\ input
✂✁ ✄ ☎✝✆✟✞✡✠☞☛✍✌✎ ✏✑ ✒✔✓✖✕✘✗✚✙✜✛✣✢✥✤✧✦✩★✩✪✩✫✭✬✯✮✩✰✲✱✩✳✩✴✩✵✷✶✩✸✩✹✩✺✩✻✲✼✾✽❀✿❂❁❃✰✭❄✚❅❆✒✔✓✖✕✥✗❇✙❉❈❋❊ ●❋❍✼❏■▲❑◆▼✩❖❂P✩◗❂❘❚❙❱❯❂❖❚❲◆❳✩❨❬❩✷❭❬❪✩❫✷❴❬❵✩❛❂❜✩❝❂❞✩❡❣❢✐❤❥✒✔✓✖✕✗✙❦✛♠❧ ♥♣♦ ✤◆✬◆✮✩✰❂✱q❄✧r❂✴❂s❬t❚❲❂✉✯✦❂✈❬❜✭✤①✇❂❴✩②❂③❚❄⑤④❂⑥●✷⑦✰❂✱❚✤◆⑧q⑨✯⑩❂❶❷✉ ❸♣❹✚❺✚❻✣❼♣❽✥❾♣❿➁➀✘❻➃➂➅➄♠➆➁➆ ❄❱❨ ❸➃❼✘➆➃❾♣➇✚➄✚❻➉➈✥➄♣➊✚❾ ②➋③✩➌❂➍❬➎❂➏❚✤➑➐❂➒✩➓❂➔→❙✧➣❂↔❬↕❂➙✩➛ ➜◆➝✷➞❫✩➟❷➠❍❂➡❲❂✉❬➢✯❜❂➤✩➥❷❄⑤➦✩❖❂➧❚✤◆➨✩➩❂✳❬✴✩❜❂❝✩❞❂❭✩❪❂❫✩➫❬➏✭❲①➭ ❜❋➯❂➲❚❙➳↔❂➵❚❄➳➸➺✒✓✕✗✙❉❈➋❊●❂❍✼✩➵❂❁❚❄➳➻❂➙✩✴✩➸❣➼✐➽✩➾❂➚✩➪❂➶✩➹✩④❂➘❚❄➳➴ ✼❋➷✩➬✩➪❂❜✩✇✩❴✷➮✩➱❚✤◆✃❚❐✯➏✩❒❚❄❰❮✩Ï✩✳✩Ð❂Ñ✩Ò✩Ó✷ÔÖÕØ×➅Ù✚Ù❰Ú✧Û✩❜❚✤◆✶✩Ü✩✹✩✺ Ý◆Þ❂ß➠❬❙➋à①á❷â❬ã❂✤◆ä❬å❷❄çæ❬❞❥✒✓✕✗✙▲➷❃➬❂è❂❑❬▼❷✤①❜❂é❂êß➠①ë❂ì❂í❬î Üï✒✓✕✗✙✜✛ ✢✣ð➋ñ➟❂ò❷❄✧óô➵✩õ❬ö❂❨❂❜ß➠❂✤◆❨❬❩✩✳ñ➟❬÷❂ø➜❂ùûú◆ü✤◆ý✩þ ÿ❜✷❛❬❜✩❝❂❞✩➌❷❙ ↕✁✚❧✄✂✆☎✞✝✠✟☛✡❷✉①❜❂✇✩❴❂➶✌☞❂➮✩➱❷❙⑤❞✎✍✑✏☛✒✔✓☛✕✌✖❂✶❬Ü✷✹❬✺❂④❬➘❷✤✠✗ ✘②✷③q❄✜❭✔✙✛✚✷✉✑✜❂★✔✢❂❨✩✹❬✺✭✤✑✕☛✖✔✣☛✤❚❙ ✥✧✦✩★✫✪ ✬✮✭✰✯✮✱✞✲✴✳ ✵✷✶✹✸✻✺✼✸✽✺ ✾❀✿❂❁✧❃❅❄❇❆✧✸❉❈✼❊●❋■❍✠❏✌❑☛▲✔▼ ✶◆Ü❂✹ô✺❬④❂➘❂✴❬❜✎✚➡↕ ✒✓✕✗✙✜✛✣✢◆✝✲✤✩❖✌P❷❄⑤➛☛◗☛❘q✉ ✒✓✕✗✙❦✛♠❧✔♥➃♦❙✝◆✤ ❚❱❯✎❲ ✸ ❯✰❲➐❬➒ ④❬➘❚❙❦↕✷➎✩➏q✤❋ý✩þ✛✝✷❄❦✫✩õ✩➶✔☞❂✪✔❳✔❨❷❄❦✳✩✫✔❩✩❨❂⑧❚⑨ ❬❪❭ ❫❵❴ ❸➃❹✚❺♠❻✣❼♣❽♠❾♣❿➅➀✘➆✣➀❂❛✚➂➅❾❝❜➐✜➒✔❞☛❡❣❢✐❤ ❯☛❲✮❥ ❦❳✩✳❂➌✩➍❚✉✯✦✷★✌❧✩✵ ❯♠❲✞♥ ➆✣➀✷❛ ✤✧④✩➘❷❄ ➙✔♦☛♣❚✉✯④✷⑥✩è✌q✷✫❚✤✠r✔s☛t✔❨❚❙ ✜◆★✷✪❬✫❚✤✩❳✔❨❂✵ ➄✈✉➁➀✧✇♣❻➃➂➅❾✼①◆✉✚❾➃➇✚❺✈✉➅➀ ✸③② ❺➅❺➈ ❄ ❦➞✴Ö✒✓✕✗✙⑤✛ ✢◆✝⑤④✔⑥❬✫❷✤✠✜ ★❋✶❷❙▲↕✔❳☛❨✩④✩➘❷✤✠⑦✩★➜✩➝❄❦✫✷❨✩②❬③ ❸❂⑧➅❺♣➇➅➀✧✇ ❺♣❿✘➆⑩⑨❱❶✱✌❷ ➐❂➒✔❞✔❡❸✝✩✤ ➶◆➹✰❹ ❺♣❧ ⑨✩❻✔❼↕❬②✩③ ❸♣❹✘➆❽⑧➐✩➒ ❄✹❾✩✳✔❿☛➀❦☛➁②✩③✎➂➄➃➆➅❚❄❱✳ù✔➇➶❬➹✔➈❂❛✔➉ ➊◆★✔➋☛➌♠✝☛➂ ✛♠❧➎➍➐➏✔➑➆➒û➐❂➒✔❞☛❡① ✳❱➓✔➔☛➉✔➊❂★✔➋✔➌❷❄ ➸✌→✩✦✷➹q❄ ù④❂➘ ➐❂➒ ♥ ➆✣➀✷❛↔➣ ↕✮✩④❂⑥❚❙ ❦✦✷➪❬❈✩ö❂î✩➶❂➹✩➟❣Ú❇♦✔♣❂↕✔❳☛❨✩④❂➘➛➙❇➜❷❄ ➞➟❆Ú❼☛➝↕❂Ü✩➶❂➹♠➞✑❧✭✤✑➌ ➟❳☛❨✩➶❬➹✷④✩➘➡➠é✩ê☛❧✩✵ ♥ ➆✣➀✷❛✔➢ ✝✩❙ ❦❳➆➤❚✤①õ➆➥❬✳✩✴✷❫❬✈✩➶❂➹❚✤✠❘☛➦✩Ü ✪✩❳➆❨❬④✩➘☛➧✔➨❷❄⑤ó❂➵✩➟❣Ú❼✌➝↕✌➩☛➜❚✤✩❳✔❨❬④✷➘✛✝✩❙ ❦✳✩➟❷➠✯✴☛➫✔◗❂➶❬➹✩④❂➘✔❖☛P❚✤✩➭✔➯✌➲☛➳♠➂✜➙✌➵✔➸☛➺❻✳✩✴❂❫✩❖✌➻✭✤✑➼ ➽✼●❬❍✉◆❳③➾ ➟✔➚❷✤✑➪✔➶➘➹➶✩➹➷➴ ❄☞❭ù➛✷Ï❼✔➝↕❂✦✩★❬④✷➘✛✝✩❄⑤➬↕❛❬➙ ➛✷✤◆④✩⑥♠✝✩❙➱➮✩➪✰✃✠❐✔❒✎❮✠❰❚❄Ï➪✌➶❚✤❋➶✩➹❬✳➆Ð✔Ñ●➏❚❄▲î✷❛✌Ò✔Ó✭✤✑Ô✩❨✭❙❇Õ ❤◆➙✰✝①❫✩✈❂r✩✴☛Ö✔×➜✔Ø✌Ù✉ ✒✓✕✗✙✤➆➙❇➜✩②❂③❚❄ ñ➠①r✷✴❬✿☛➌➜❨ ❸✼✇➉❿➅➇➅❼➅➀ ✛➃♦✈Ú
附录CTX程序设计 命令把它包含进来,而要把文件名后缀指定为.sty,因此可以按照上面的第 2点以准选项角色包含进来。但它们实际上并不是真正的选项,只是新增加 的代码或功能 在编写主文件样式时还会出现一个新的难题。如果需要适合于某期刊的 文章样式,或者某出版社的书籍样式,那么可以利用已有的 article,sty或 book.sty样式为基础,进行必要的改动,得到新的主样式,但是不能保证 在对原主样式做更新后,改动仍然有效。但是有时候一些重大的更新就与对 NX进行的改动是一致的。我们可以只是写一个“选项来包含所做的改动, 也可以写一个新的主样式,输入原来的样式。然而,它并不是相应于其选项 清单的真正主样式。 8C12X2e的新概念 当 Leslie Lamport发布IIX时,他无论如何也不会预见到随后出现了 那么多的IX程序。这一切现在已成为不争的事实,而且这也是该系统的魅 力所在。ITEX2c则不但包容这些“外来”成员,而且实际上它进一步支持和 鼓励这种趋势,其中一个明证就是在 The lTEX Companion( Goosens et al. 1994)书所介绍的大量宏包 这就是事物发展的趋势。扩展的功能由那些需要该功能的人设计的,因 们意识到IX缺少了某些对他们而言是很重要的功能。另一方面,要 是把所有这些扩展的功能都加入到基本的TX安装中,那就会使得90%以 上的用户虽然上载了它们,但从来不会用它们。现在解决这个问题的方法就 是IX提供了一个基本的核心(或称内核),再首先用标准的类文件扩展其 功能,然后利用那千变万化的宏包和类增加功能 而 X Team的任务就是建立程序设计的方针,从而确保宏包不会与 内核或者其它宏包发生不必要的冲突,而且提供一种基本的稳定性,使得那 些实用的宏包将来在更新后的内核和标准类下也工作正常。在BTEX209中 就缺少了这种安全机制,在那个版本中,程序设计者们被迫自己寻找门路 这实际上并不是真的程序开发。LX2g在类和宏包控制方面的新功能,随 同组程序开发工具,应该在宏包内部相互作用以及对内核更新的适应等方 面达到比原来更强的可靠性和持久性 8C13命令的层次 命令有许多层次,它们的安全程度也相应不同。 用户命令(最高级命令)在本书及其它手册中进行了描述,其名称由小写字母 组成,例如\ texttt,它是永久被支持的ThX外部定义; 类与宏包命令其名称要稍长一些,而且大小写混杂(如\ leeds teXFormat) 主要是为程序设计人员提供的,而且也是有保障的;绝大多数是只能用 CTEXGuru, August 16, 1999
✛➃♦❽Û Ü✩ÝßÞ➘à✄áãâåä✐æèç✩é➆ê✌ë ②❋③ù➛✩✺☛ì✩✮✩➏❚❄❦➵✩✫ù④✩➘➆❧✌í✔î➆ï✌♦✩✵ ♥ ➆✣➀✷❛ ❄Ïð✩ñ✩➟✍Ú➐ò✔ó✩➌✔ô✎õ✠➉ ö➐÷ßø❇ù☛ú☛û✌ü☛ý✌þ☛ÿ✁✄✂✆☎✞✝✠✟✄✡✄☛✆☞✍✌✠✎✑✏✠✒✄✓✆✔☛õ✩ú✌û✖✕✘✗✄✒✠✙✑✚✠✛ õ✘✜✑✢✠✣✁✤✖✥✁☎ ✦✍✧✁★✄✩✁✪✄✫✁✬✄✭✆✮✰✯✄✱✳✲✍✴✁✵✄✶✙✛õ✍✷✁✸✖☎✘✹✁✺✄✻✁✼✄✽✁✾✄✿✁❀✠❁✑❂✛õ ✪✍❃✑✬✠✭✕✞✣✁❄✄❀✲❆❅✄❇õ✍❈✁❉✬✁✭✕✞❊✁❋✁● ø■❍✑❏▲❑◆▼✎õP❖❘◗❚❙❱❯❘❲❨❳❚❩❭❬❫❪❴❙❚❵❛✣ ❜❞❝❚❝❴❡ ❬❢❪❴❙❚❵ ✬❣✭✠❤❥✐❥❦✕✘❥❧❥♠❥✼✎õ❥♥♣♦✖✕✘q❥r❥✙õ✩❥✬❥✭✕✞✝❥✒❥✏s✥♣t✠✉ ✦✍✈✄✇✁✩✄✬✠✭✑①✠②✙✄③✖✕④♥❆♦✄⑤✠⑥✑▼✠⑦✖☎⑧✝✠✒✄▼✮✰⑨✠✵✑⑩✠❶✄❷õ②✙✁❸✄❹✈ ❺❼❻❾❽➀❿❚➁➂➃❧♠õ❣♥✰♦✁✒✵✑➄õ✁☎❨➅✁✡✁●➛ø◆✗✑✒★✁✵✁✶➇➆ú✔û❣➈➉✂❱þ✔ÿ❣➊①õ✁♥✰♦✳✕ ➋● ø★✁✵✠✶✙♠õ✩✠✬✄✭✕✞➌✠➍✇✂✎õ✬✄✭☎✘⑥✄➎✖✕✘✟✄✎✁✏✠✒✄➏✄➐✁✿✠➑☛ú✔û ➒✍➓õ❆✓✳✔✩✁✬✄✭☎ ➔❚→↔➣➙↕➀➣➜➛ ➝➟➞➡➠➤➢➦➥❥➛➨➧➫➩⑧➭✄➯✁➲ ➳ ❺➤➵➺➸➼➻➜➽➾➵➚❺➶➪❴➹➚➘➦➴❨➷➼➬➂➮➃➱✃❺❻❽❿➁✮✕✘❐✄❒✠❮✄✹✄❰➋✏✱✄Ï✄Ðr✖Ñ❆③ ✲✍✴✆Ò ❊④❋✳Ó✄ÔÕ❺❻❽❿➁×Ö④Ø✆☎ÚÙ✵✁Û✄✴✁✦ ❑⑧Ü❤✏✑Ý✳Ô✰Þ✄☛✳✕Ú➎✁ß✁Ù➋✒✁à✁á✄â✳Ô✰ã ä➊✦☎å❺❻❽❿➁✞æèç❨é④✏✑✝✌þ✁ê✄Ù⑩ë➆íì✂❣➈◆Ü✄î✁✕↔➎✄ß✁☛✆☞④✌✠✟✁✵✠ï✁ð✄ñ✁ò ó✍ôÙ✄õ✠ö✄÷✆✕✞➑✆ø✵✄✶✆ù✉✄❸✄✒✦ ú➫û➀üþý❼ÿ❴ú✁✄✂✆☎✞✝✠✟☛✡✌☞✎✍✑✏✒✝✓✍✕✔✗✖➴➡➴❘➸➵✙✘➸ ➵❾➬↔➪❴➻✛✚✢✜ ✣✥✤✦✤✓✧✩★ ✵❈✁➊✫✪✭✬✆Ô❷✯✮✱✰þ✆☎ Ù✍❸✄✒✁Þ✯✲✠➮✱✳✖Ô✍ö✁÷✆☎✵✴✫✳Ô❆✤✖✥✷✶✘❊⑩✻✄✼✁à✄✤✆✥✑Ô✹✸✯✺✱✻✖Ô✁✕✽✼ ❤❐✄✡✯✾✫✿✄r ❺❻❽❿➁❁❀❃❂Ò❀⑩✠✈❐✠✡✄➎✯❄✠✒✯❅❶✼✆Ô✍✤✆✥✄☎✽❆✵✯❇✫❈✕✘✼ ✒✽❉✑➊✠▼✁Ù⑩✴✯✳✳Ô✍✤✳✥✹❊✑✛✠➍✁r✐✯❋ÔP❺❻❽❿➁❁●❃❍✳ø✄✕⑧❊✠❸✱✯■q❏✤✁❑✁▲◆▼ ✌✄Ô✍❏✱❖✯P✠⑥✑✌✫◗Ò✟✄✡✳✕✘✝✯❘✠✂✑✏✱❏✁✟✄✡✆☎ ✴✄✦✫❙✭❚Ù✶✆❯✸✆Ô❇✯❱❸ ✒ ❺❻❽➦❿➤➁❁❲✕❳Ò✰✵✄✶✁✐✯❋Ô❩❨✯❬❪❭è✣✭❫❵❴❛❨❝❜➡✕❡❞✱❢✱❣✄❏✱❤☛ù✳Ô✹✐✪✠✫✴✯✳✁➑ ✤✄✥✑✕✘⑥✄③✁❍✠❏✑❊✫❥✯❦✱❧✯♠✳Ô✰þò✐✁✚✄✛✁✤✆✥✑☎ ➎ ❺❻❽❿➁✆❽➫➵ ➪❴➹ Ô✵♥♣♦✍❸✠✒✯q✯r✠Ö✄Ø✫✺✯✻✖Ô❇✫s✕t❘✄➎✯✉✠t✰þ✄✏✱❹ ❴✈❨✄✣✁❄✄➑✠✟✰þ✁➮✯✇✄✏✁♠✠✼✖Ô❩①✯②✆✕⑧➎✄ß✯❲✫❳✵õ✐✯❋Ô✕③✫④✯⑤✳✕ ■q✄❊ ⑩☛✄❏✖Ô✰þ✫⑥✑✂✦✄②✙✄③✖Ô♣❴t❨ò❤✌ù✯✐✫⑦➋✯⑧✫⑨✔✹⑩☎ ✦ ❺❻❽➀❿❚➁æ❶✚❷❑✁✤✘ø ❸✽❀✯❂ÒÙ✠õ✭●✫❸✱❹✯❺✖✕ ✦❊✶✠❅✭❋ø✄✕⑧Ö✠Ø✯✺✯✻✁❄✠✡✭❻✫❼❾❽❩❿t➀✫➁✆➂t➃✖✕ Ù✍☛✖☞✍✌✁✎✠✏✄✒✄✓✆Ô✍Ö✁Ø✯➄✠➮✖☎ ❺❻➺❽➀❿➤➁✞æ ç✦✐ò✭✰þ✯➅✫❺❇✫❈Ô❆✙✄✤✳✥✄✕✍Ñ ➆✵✭➇Ö✁Ø✯➄✁➮⑧✱➈✕✘➐✁à✦✫✰þ❵❴❛➉✄➏✱➊⑨❏➋▼➍➌✈ ❴❛❨②✙✖Ô✰✽✠➐✭➎❇ ❈✽➏r❵➐✇✂②✯➑Ô✍●✫➒✱⑤ò✁ñ✯➓⑤✖☎ ➔❚→↔➣➙↕➀➣→➔ ➣❃↔✳➩✹↕✯➙ ➛✽➜▼✯➝✳Ó✽➞✱➟✖✕✘✟✄✡✳Ô✹●✭❸✠Ö✯➠➋➏✁➐✠✏➆ ☎ ➡✕➢➣✭↔ ✔✢➤➦➥❩➧➛✱➜★ ✦✕❋❈✱➌✁➑✄✟✱➨✯➩✳ø✍✁❧Ò✕➫✱➭✕❛➑✱➯✫❫❝✶✹➲★✯➳✱➵ ➇Ü✳✕t➸✄✹➻➺❘❙➨❩✦➼❚❙❚❙❚❙ ✕❛✟✠✒✱➽➓❻ð✠ñÔP❺❼❻➺❽➤❿➤➁ì➉✫④✱➾➪➚ ➶✭➹✹➘✭➴➣✱↔ ➑✽➯✱❫✑✼✫➷✱➬✵✠⑩✕ ➎✄ß❷➲★✱➮✯➱✃✔✹✃➺✠❐➀❩❚❩✁❒➦❪✓❮❞❩✦❰ÐÏ ❝ ◗✦Ñ➀❖❨❙✑★ ✕ ✩✼✁✒❤Ö✠Ø✱✺✯✻✱✸✖î❩❲✯❳✳Ô✠✕⑧➎✑ß➋✒✄▼✁t➪Ò✁Ô✯➚ÔÓ❷Ó✽Õ✁✒✠✗✖✥✰❏ ×❃ØÚÙÜÛÞÝàß✦á✗ß Ö ✜✑âäã❶å✁ã❞➸➼➬æ✣✥ç❶✜Ú✣✎✤✁✤✦✤
§C.1类与宏包文件 295 在导言中的命令,但在类和宏包文件中并没有这个使用限制 TEX内部命令名称中包含@字符,只能用在类与宏包文件中;虽然其中有 些命令对得到特殊效果是密不可分的,但也无法保证永远可用:开发人 员要使用该命令,那就有可能将来某一天自己设计的宏包变得不再能用 TX低级命令名称也是由小写字母组成,而且没有@:即使X继续演化 其功能也应该是稳定的,但这也不是绝对的;只要有可能,就尽量避免 使用它们,见下面的解释 内部专用命令是用在其它人员开发的类与宏包文件内部的命令;建议所有命 令都前缀大写字母(以表示宏包的名称)后接@,这样可以避免与其它宏 包发生冲突;例如, show keys宏包中有一条命令为SK@cite 个令IIX开发人员感到迷惑的问题是IEX内部命令在类和宏包文 件中的应用范围到底有多大。总是存在着可能,将在某一天在新版本不存在 这些新命令了,因为在正式的说明书中从没有给出其说明。而诸如下节讨论 的TX命令,我们不应杜绝使用它们,但我们必须明白,用它们也同时伴随 着一定程度的风险。 ATEX Team建议的方针就是只要有可能,就尽量使用IIX高级命令 要用 mmand和\ renewcommand,而不用\def;如果要使用某一个 TX的定义命令(因为调用某模板,或者因为必须用\gdef或\xdef), 那么先调用一个空的\ newcommand命令,以检测名称是否有冲突。如果 无法确定命令名称是否存在,而且该命令不是很重要的,那么就调用 条空的\ providecommand,然后再调用\ renew command。现在高级命令 中可以定义有一个缺省值的命令,这使得原来经常要用低级命令的理由 中缺少了重要的一条。 利用\ manenvironment和\ renevenvironment命令,而不用\自己的环 境和\end自己的环境命令对 要用\ setlength命令给长度和橡皮长度赋值,而不要用直接等号方式。 避免使用TX盒子命令\ setbox,\hbox以及\vbox:而要用诸如\sbox mbox,\ parbox一类的命令。利用IIkX2c提供的可省参考值,原来对 等价X命令的需求现在大大降低,而且ⅣIX版本相比起来要透明得 多。另外,当用了co1or宏包时,IX的盒子仍然工作正常,而其它的 命令结果就无法预料了 如果想给出错误和警告消息,就用\ Packageerror和\ PackageWarning, 不要用\1 atexerr或\ warning:前面两条命令也同时告诉用户消息 的来源,来不是只把它们标为IX消息 我们不会建议你只使用 ifthen宏包(735节中的\ ifthenelse命令, 以代替TX的条件命令。但是似乎用这个宏包可以简化对条件的应用, http://202.38.68.78/texgur Email:texguru@263.net
è ☎❁é✢ê➪ë❃ì✹í✱î➪ï❩ð æ✁✤✦ñ ò➦ó✱ô♣õ✕ö✹÷✱ø➪ùtú✯ûë✽ü✱í✯î♣ï❩ð õ❛ý➪þ❩ÿ✁✄✂✆☎✁✝✟✞✁✠✄✡ ☛✌☞✎✍✑✏✓✒✕✔✗✖✁✘✁✙ ✚✜✛✣✢✥✤✁✦★✧✪✩✬✫✮✭✰✯✮✱✳✲✄✴✁✵✆✶✸✷✆✤✁✹✄✺✻✢✆✼✗✽✁✾✆✿✻✢❁❀ ❂✬❃✄❄✆❅✸❆✆❇✄❈✁❉✄❊✁❋✄●✁❍✄■✆❏✸❑✮▲ ✭✗▼✁◆✄❖✁P✄◗✁❘✄❙✆❚❏✲✟✼✗❯✁❱✄❲ ❳✰❨✄❩✲✁❬❃✆❄✭❪❭✆❫✸❀❏✱❵❴✆❛✄❜✁❝✄❞❢❡❁❣✐❤✄❥▲✷✄✤✆❦❆✆■✄❧✱❁✲ ♠ ✼ ✍✏✒♦♥✬♣✆✘✄✙ ✚❵✛✄◆●rq❁s❁t✩✸✉✄✈✄✇✟✭②①✜③✁④✄❀⑤✧✐✼⑦⑥❩⑨⑧❶⑩❸❷❺❹❼❻❾❽✬❿✄➀✄➁✭ ✿✬➂✟✱✥◆✸➃✆❬●✁➄✄➅✻▲ ✭✰▼✄➆✄◆■✄●✁➇✆❅✟▲ ✼✐✯❨❀❏✱✄✭✰❫✄➈✆➉✸➊✆➋ ❩✲✄➌✆➍✣✭✐➎✁➏✆➐▲✳➑✄➒✼ ✔✗✖✆➓✸➔✆✘✄✙ ●✲✄✴✁✿✄➌✁❲❳❯✁❱▲✵✄✶✆✷✸✤✄✹✆✺➣→✪↔▲✳❃✄❄✼❪↕✄➙✄➛✁❀❃ ❄❵➜✁➝✄➞✄➟✄t✩✄✉★➠➢➡✪➤✸➥✄✷✆✤▲✚✄✛➧➦➩➨❵➫➭✧➯✭②➆✄➲❏ ➡✐➊✄➋✄✶✄✿✁➌✄✷ ✤✬❱✄➳✆➵✸➸✮✼✰➺✆➻✟✭➭➼➾➽➪➚➹➶➹➘➷➴➹➬✓➼➮✷✳✤✟✢✳❀✁❝✄➱❃✸❄✆✃❒❐❰❮ ✧➷ÏÑÐ➢Ò➪➴✗Ó ❝✳Ô❄ ⑧❶⑩❸❷❺❹Ñ❻❯Õ❱✆❲❳✳Ö×❇✆Ø✁Ù✮▲✻Ú✕Û✁●Ü⑧❶⑩Ý❷❺❹➪❻ →➮↔❃✆❄✴✆✵✁Þ×✷✁✤✆✹ ✺✁✢ ▲➃✁✲✆ß✣à❇✄á❀✻â➟Ó✬ã●✸ä✴✁å✄æ✻✱✄✭✐❴✁✴✆❜✸❝✆❞✁✴✄ç✁è✆é■✁ä✴ ➆❂ç❃✁❄♠ ✭✳ê✃✴✟ë✳ì▲✳í✮î❵ï ✢✳ð✄④✁❀✄ñ✮ò✳✿í✻î Ó✗①✁ó✁➻✆➏✄ô✁õ✁ö ▲÷❷ø❹❼❻❾❃✬❄✭✐ù✁➍■➃✄ú➇✆❩✲✆➌✄➍✻✭✐▼✁ù✁➍✄û✆üî✮ý ✭✗✲×➌✄➍✁◆✮þ✄ÿ✁✄✂ å✳❝➅✆☎✞✝✻▲✠✟☛✡Ó ⑧⑩❷❹❻✁❷✌☞✎✍✑✏ ↕❵➙▲✠✒✔✓❫●✯❨❀✆æ✟✱✁✭ ❫✄➈✆➉❩✲ ⑧⑩❷❹❻✖✕✘✗✄❃✁❄Ó ✙ ❨✲✛✚✢✜➪➴ ➶✓Ï ➚✤✣✥✣✧✦✢✜✥★➮Þ✩✚✢✪➪➴✫✜➪➴➹➶✓Ï ➚✑✣✥✣✬✦✢✜✥★ ✭ ①■✲✭✚✫★➪➴✢✮✕✼ ➻❋✄❨✄❩✲✁❜✄❝✄Ô ❷❹❻▲✐➅✔✯✆❃✄❄ ➠ ê✃✔✰✲✄❜✆✱✳✲✮✭✵✴✆✶✟ê✃û✄ü✆✲✷✚✢✸✥★Ñ➴✢✮✹✴✺✚✫✻✥★➪➴✢✮➪➦ ✭ ❭✁✼✞✽✰✲✁❝✄Ô✔✾▲ ✚✢✜Ñ➴➹➶✓Ï ➚✤✣✿✣✬✦✢✜✥★ ❃❵❄✭✸➡❁❀✔❂✄✚✁✛●✆❃❀✆➵✄➸✻Ó✗➻❋ ❖✳P✔❄➅✁❃✆❄✚✁✛●✞❃✆ä✴✟✭✰①✆③✁❬❃✁❄✄■✆●✔❅✞❆✁❨✮▲ ✭✐❭✔✼✆❫✰✲✄❝ ➱✁✾▲ ✚✢❇✥✪➪➚✢❈øÐ❉★➪➴➷Ï ➚✑✣✥✣✬✦✢✜✥★➮✭ ✾✄➨❧✞✰✲✷✚✢✪➪➴✫✜➪➴➹➶✓Ï ➚✑✣✥✣✬✦✢✜✥★✕Ó❋❊✸✴✕✠✗✁❃✄❄ ✢✐æ÷➡➅✞✯❀✄❝✁Ô✆●✞❍✔■▲✳❃✄❄✭✐➆❩✁❆✞❏❛✆❑✞▲❨✲✔▼✗✁❃✄❄✮▲❖◆ q ✢✘●✞P♠❆✁❨✟▲❝✆➱✟Ó ✙❘◗✲✭✚✢✜➪➴➹➶Ñ➴✢✜✥❈✑Ð❉✪Ñ➚✢✜✢✣❺➴✢✜✎Ò Þ✛✚✢✪➪➴✫✜➪➴➹➶➪➴✢✜✿❈✑Ð❉✪➪➚✢✜✫✣❺➴✢✜Ò ❃✳❄✭✐①■✲✭✚❚❙❘❯✁❱✠❲ ❳ Þ✭✚✎➴✢✜✥★❨❙✠❯✠❱✁❲❳ ❃✸❄✄❅Ó ✙ ❨✲❩✚➷➼ ➴➹Ò❭❬✎➴✢✜✥✸Ò ➽ ❃❵❄ñ✆❪✝Þ✞❫✔❴✞❪✝✞❵■✟✭ ①■✁❨✲✞❛✁➫✞❜✄❝✒ì✟Ó ✙ ➊❵➋❩✲ ❷❹❻❡❞❖❢✁❃✄❄ ✚➪➼ ➴➹Ò✥❣➪➚✫✻✐❤❥✚ ➽✥❣➪➚✢✻➯➡❧❦✷✚✢❈✥❣Ñ➚✢✻➯✼ ①❨✲✁ó✄➻✷✚➪➼✑❣➪➚✢✻✐❤ ✚✤✣♠❣➪➚✢✻✐❤✐✚✫❇❭✦✢✪✥❣➪➚✫✻ ❝✳✵▲✥❃✁❄Ó ◗✲ ⑧⑩❷❹❻✵♥✤♦✫♣rq✮▲æ✔❍✆s✔t✞■✻✭ ❏❛❅ ❜✁✉ ❷❺❹Ñ❻❾❃✳❄✻▲✁✈✆✇❊✆✴➟✆➟☛①▼✻✭✐①✁③ ⑧⑩❷❺❹❻è✬é✆②④③✘⑤✆❛❨✞⑥✻î✥❆ â❵Ó⑧⑦✠⑨✻✭❶⑩✳✲ ♠ Ï ➚✥❬ ➚✢✪♦✷✳✤✣ÿ✄✭ ⑧⑩❷❹❻▲✘❞✳❢✞❷✾✳❸✞❹✮ë❖▲✟✭ ①✄✿✁➌▲ ❃✳❄✞❺✁❋❫✁❖✄P✔❻✆❼♠ Ó ✙ ➻❋✞❽ñ✮ò✠❾✳❿✆Þ✞➀✔➁✞➂✞➃✻✭ ❫✸✲✭✚✫➄❭✦➷Ï➢➘✬✦✫✸➪➴✢➅✥✪✥✪Ñ➚✢✪ Þ❩✚✢➄❭✦➷Ï➢➘✧✦✢✸➪➴✤➆✬✦✫✪✥✜✑Ð❉✜✥✸➇❤ ■✳❨✲➈✚ ✧✿❬✥✦➹Ò➪➴✢✻Ñ➴✢✪✥✪❶✴➉✚ ✧➹➶❭✦✫✪✥✜✑Ð❉✜✥✸✕✼ ➝➐✆➊✁➱❃✆❄◆✮þ✁ÿ✁➁✞➋✆✲✔➌✔➂✆➃ ▲❛✞➍✻✭✐❛■✆●✯✞➎✁➌✄➍✆➏✃★⑧❶⑩➢❷❺❹✑❻➂❖➃✮Ó ✙ ù❵➍■✳➐↕✆➙✳➑✄✯❩✲★Ð❉✮✎Ò ➽➪➴✢✜♦✷✬✤★➠➓➒✧➔ →✧➔↔➣ ô❁➦ ✢▲ ✚✓Ð❉✮✎Ò ➽➪➴✢✜➪➴✿❬➷➼ ➴ ❃✳❄✭ ➡❧↕✞➙ ❷❹❻▲➱✄✺❃✄❄Ó✗▼●✞➛✔➜✲✁➆✄Ô✆✷✸✤✆æ÷➡✘➝➁✁❅➱✁✺▲➃✁✲✟✭ ➞✥➟➠➟➢➡➥➤↔➦✫➦ ♥✢➧✫♥ ➔ →✢➨❭➔↔➩✫➨✧➔ ➒✢➨ ➦❉➟ ☞➭➫✿➯✢➲❭➳➠➲ ❹✏➵✍✤➸➻➺ ➤➼➟ ☞➽➫✥➯✫➲✧➳➠➲✬➾➚♥ ➩✢→❭➔ ➪☞➟
附录CTX程序设计 而且符合IAX的语法。本书所有的例子都用的是这个宏包,这就不需 要再解释相应的TX命令。 遵从这些以及与之类似的规则,有益于在将来即使EX内核进行了更新, 宏包也能继续保持有效的功能。 8C1.4TEX命令 为什么要避免用那些基本的TX命令呢?要想定义一条新命令,如果用 def就至少不会比用\ newcommand差,而且有时候还必须用前者。那么在将来 出现的X3中这条命令有可能被去掉吗?基本命令(原语)是所有LTX风 味得以建立的构造模块,因此它们一定会维持不变的。 而这并不是这样做的关键所在。基本TEX命令构成了所有格式的基石, 从而所有用它们直接定义的命令,其功能就永远与开发人员所期望的一样 然而,等价的X工具所能做的事情却会随着时间的发展而增多。例如, newcommand命令可以检测新定义的命令是否与已有命令发生冲突。而且 以后完全有可能会加进一种调试机制,它可以跟踪所有的重定义;而用\der 定义的命令则是排它的。而且现在的IEX2c中也有一种机制,它可以跟踪 所有中级和高级命令的文件输入 另外一个低层次程序开发人员容易误入歧途的例子的就是IX2g中牢 固命令处理的情形。有很多命令本质上是脆弱的,也就是说当把它们用做其 它命令的参数值时,会过早被解释,可如果给它们前缀、 protect,一般可以 使其变得牢固。在IIX2.09中,有几条脆弱命令在定义时采用的是一种牢 固方式,即定义中包含了、 protect,例如IlX的标志命令: Ndef \LaTexA\protect\polatexy def\polatext.H 真正的定义是在内部的\ palate中,并不是在外部的aex中。由于如此 的标志定义中有很多缺陷,因此有几个宏包引入了一个改进的版本。它们只 是重定义\LaTeκ,从而使得这条命令变成脆弱的了;因此聪明的方法是重定 义、 palate,这就利用了隐藏在IX2g后台的结果,但是命令却以一种完 全不同(而且更好)的方式变得牢固了。(顺便说一下,IIX标志的内部定 义已有了很大的改进。) 虽然我们希望只使用正式发布的IX命令,但也有很多情形,我们必须 用X内部命令或者TX基本命令。在目前阶段,为了得到一个工作稳定 的宏包,我们就必须考虑在将来可能会不兼容的风险。而且如果有等价的高 级命令可用,我们就不应冒这个风险 CTEXGuru, August 16, 1999
♥✫➶ ➩ ➹✁➘➷➴➮➬↔➱✑✃✫❐♠❒❡❮✁❰✳Ï✆Ð Ñ✘Ò✔Ó✆Ô ⑧⑩❷✓❹❻▲ÖÕP✮Ó✰éï➛✆❀▲➺❢✁➜✲ ▲✳●➆✁Ô✆✷×✤✻✭✐➆✁❫■✆✈ ❨✳❧✄➑✁➒②✁➃▲ ❷❹❻❾❃❵❄Ó ×ð✁➆❂ ➡✘❦✆✶✔Ø✁✵➛✻▲✠Ù✔Ú✭✰❀✆Û✔Ü✆✴✁❴✁❛✮⑥❩❒⑧⑩❷✓❹❻ →ÞÝ✞ß✔à♠✁áç✮✭ ✷✳✤✸◆✮✱❽✁❿◗✔â✄❀❊✮▲➂✻✱✄Ó ã✥ä✖åçæ✬åéè ✍✏✒♦✘✳✙ ✃✁ê✼❨➊✁➋✄✲✁❭❂✆ëé▲ ❷❹❻❾❃❵❄☛ì✞í✳❨✆❽✄➅✔✯❝✁➱✄ç❃✄❄✭✗➻❋✲ ✚✢★➪➴✫✮➩❫❖î✞P■✞➐ ③✲ï✚✢✜➪➴➹➶❺Ï ➚✤✣✥✣✬✦✫✜✥★➚ð✸✭ ①✄③✄❀✣ÿ✠ñ✞ò✄û✄ü✸✲➝✶✟Ó❭✳✼✄✴✄❴✄❛ ò➵❊▲ ⑧⑩❷❹❻→ ✢✗➆✄➱❃✄❄❀✄æ✟✱❖ó✆ô✞õ÷öí✠ëé❃✸❄ ➠❏✞Õ➦ ●➛✄❀ ⑧⑩❷❹❻❡✟ ø❆ ➡✪↕✞ù▲✠ú✔û✱✔ü✮✭✬ê✠ý✆➌✸➍✆❝➅✞➐✔þâ✆ÿ✸❦✁✄Ó ✂☎✄✝✆ÿ✝✞✄✝✟✡✠☞☛✍✌✏✎✝✑✓✒✕✔✡✖✘✗✚✙✜✛✣✢✥✤ú✝✦✓✧✎✡★✝✩✡✪✫☞✔✡✬✫✭ ✮✂✎✏★✝✯✡✰✝✱✡✲✝✳✡✴✏✵✫☎✢✝✤✓✭✷✶✝✸✓✹✻✺✡✼✝✽✡✾✏✿✝❀✡❁✫❂☎✎✝❃✡❄✫☞❅✟✒ ❆✂✭✷❇✡❈✓❊❉●❋❍✗✚✙■✛❑❏▼▲✏✎✓✹✠☞◆✡❖✏P✡◗✓❘☞❙✓❚✏❯✡☎❀✏❱✂✏❲✓❳ ✒✷❨✡❩✁✭ ❬❪❭❴❫❛❵❝❜❛❞❢❡■❡❤❣❪❭■✐ ✢☎✤✡❥❧❦♥♠✏♦✡♣✡✴✏✵✫☎✢✡✤✏✞✡q✝✾❧rs★✡✢✏✤✍❀✏t✡✉✏✈✓✒ ✂①✇✭ ❦③②✡④✝⑤✏★✍❥✁✹✻◗✍⑥✏⑦✝❅✡⑧✝⑨✡⑩✝❶✝❷✓✭❸✰✏❥❹❦✷❺✝❻✝✎✡★✫☎❼✝✴✝✵✓❽ ✂✯ ❬❪✐❾❫❪❿ ✴☎✵✓☎✢✏✤✡➀✏✞✍➁✏✰✓✏✒ ✂✏✇✡➂✑✁➃❉●❋➄✗✙✛➆➅➈➇✚➉✷➊✡★✏❅✡⑧✡❶✏❷✓✭✕✰①❥❹❦✷❺✏❻ ✎☎★➋➉☞➌✝➍✓➎✻➌✡✢✝✤✓☞➏✝➐✡➑✝➒✓✒ ➓✷➔❅✏→✍➣✏↔✡↕✏➙✍➛✏✿✡❀✝❁✓❂☞➜✓➝✻➞✡➒✏➟✡➠✫☎❨✏➡✫☎✺✡✞➃❉❋✗✙✛➆➅➈➇✚➉✷➢ ➤✢✡✤✝➥✡➦✁✥❖✏➧✫✒➆★✏➨❳✢✡✤✏✖✍➩✏➫✡✞✝➭✡➯✫✏✭➆➊✏✺✍✞✏➲✓➳✻➵✡✰✏✱✝✯✠✶ ✰✥✢✡✤✫☞➸✍➺✝➻✁❚✍✭➼◗✡➽✝➾✝➚✡➪✝➶✁✭➹❥✝❩✡➘✝➴✝✰✡✱✝➷✏➬ ❬❪➮■➱❾❞❪✃❴❫❤❜➈✃ ✭❐❅✝❒✡❥❹❦ ❮✶✡❰✡Ï✏➢➤ ✒➆✑Ð❉❋✗❝✙■✛Ñ➅❤Ò Ó❪ÔÕ➉☎✭✷★✡Ö✡×✏➭✡➯✏✢✡✤✝✑✡✴✏✵✓❚☎Ø✏✯✓Ù☞✞✡❅✡⑧✏➢ ➤✷Ú✪✁✭▼Û✻✴✏✵➋➉☞Ü✡Ý✧ ❬❪➮■➱❾❞❪✃❴❫❤❜➈✃ ✭Þ❨✏❩ß❉❋✗✚✙✜✛❸Ù✷à✡á✝✢✡✤✫â ❬❪✐❾❫❪❿❴❬❪ã❴❣❛ä❴❫❪å❴æ■❬❛➮■➱❴❞❪✃❴❫❴❜ç✃❴❬❛➮❴è■é❛❣❪✃❴❫❪ê❴ë ❬❪✐❾❫❪❿❴❬❪➮❴èìé■❣❪✃❴❫❪ê❾æîí■í■íïë ð✡ñÙ☞✴✝✵✡✞✝✑❧ò♥ó✓Ù ❬❛➮❴è■é■❣❪✃❾❫❪ê ➉☎✭ ✆✝ô✞✡✑➔ó✫Ù ❬❪ã❴❣❛ä❴❫❪å ➉☎✒✍õ♥ö✡❩✝÷ Ù✷à✡á✝✴✡✵✁➉✥★✏➨❳☎ø✓ù ✭☎ú☎÷✏★✍Ö✏→✡û✝Ü✓ü✻➒✧❅✝→✓ý☞⑦➋Ù☞þ✡✖✫✒✷✰✡✱✡ÿ ✞✥❼✡✴✝✵ ❬❪ã❴❣❛ä❴❫❪å ✭ ✮✁✍❮Ï✁✂✍×✏✢✝✤✍❰✦➭✍➯✫Ù ✧ ❽❸ú☎÷✁✄✆☎✡ÙÚ✁✝✞✡❼✝✴ ✵ ❬❪➮❴è■éì❣❪✃❴❫❪ê ✭✞✂✍✺✠✟✝✯ ✧✁✡☞☛✑✘❉●❋➄✗✚✙✛➆➅ ➇②✍✌✝Ù☞✎✡➘✫✭✑✏✍✞✏✢✝✤✡P❹❦♥❅✡⑧✝④ ⑤ô✓✒✕✔✇✠✖✘✗✚✙ ÙÚ✪✝❰✡Ï✏➢➤✏✧ ✒ ✔✜✛✣✢➲✏❅✘✤✁✭➃❉❋✗✙✛❑àá✫Ù✓ò✷ó✏✴ ✵✓r✕★✧➨✘✥✫Ù✡ý✻⑦✓✒ ✙ ✦❆✠✧✱✁★✝❄✝ÿ❮✯ ñ✪✡❀✁✩✫Ù ❉●❋➄✗✚✙✛❑✢▼✤✫✭✪✏✝➊✝★✡➨❳❖✝➧✫✭ ✧✱✁✫✁✬ ✯ ❉❋✗✚✙❤✛✕òó✏✢✡✤✘✭✠✮ ✗✚✙■✛✣✔✖✍✢✏✤✓✒✷✑✰✯❸➷✘✱✘✲✁✭✴✳ ✧Ï✘✵✡❅✏→✡❏✠✶✸✷✏✴ Ù✷û✡Ü✫✭ ✧✱✡✺✁✫✘✬✠✹✁✺✡✑✁✻✘✼✏❥➋✹☞◗ô✁✽➜✁Ù☞✾✓✿✝✒ ✇❩✝➘✡★✏❇✝❈✓Ù✡➎ ➌☎✢✍✤✏❥✝✯✓✭ ✧✱✏✺ô✁❀❂❁✂✏→✸✾❃✿✡✒ ❅❇❆❉❈❋❊✪●■❍❑❏▲❍◆▼P❖❘◗❚❙❯◗P❱❋❲❨❳❬❩❚▼❉❳ ❄ Ô❛Ô❪Ô
§C21TEX2程序设计语言 297 8C2TExX2g程序设计语言 本节描述的所有命令都是在BIEX2c中新增加的。虽然它们对类和宏包 文件而言,并不是很本质的,但它们确实扩展了类与宏包的用途,并保证使 用时的正确性 8C21文件识别 有三条命令用来测试类或宏包插入时所处的外部环境是否正确。其中第 条为 Needs TeXFormat{格式}[版本] 在类或宏包中的第一条语句就应该是所需要的TX格式声明。虽然已有很多 其它名称的格式,但只有名为LaTe2e的格式才认识这条声明。而所有其它 格式都会给出错误消息 1.1 Needs TeXFormat 此时,这条消息实际上就给出了提示信息 在ⅣIX2g中这条命令可能更有用的地方是它的可省参数值版本,该参 数的形式必须为表示发行日期的yyy/m/dd。如果一个宏包利用的功能是在 某一个版本中才引进的,那就必须给出这个日期,因此如果用的是ITEX2c 个更早的版本,就会显示出一条警告。例如,在IIX2c起初的测试版本中 并没有提供命令\ DeclareRobustcommand,只是在1994年6月1日正式发 行时才有了这条命令。因此使用了这条命令的宏包就应该以下面这条语句开 \Needs TeXFormat LaTeX2e][1994/06/01] 这里日期的形式是很重要的,必须有零和斜杠 这条声明并不是只限于用在类和宏包文件中,也可以在文档开头调用它 以保证用正确的IX处理该文档。然而调用的位置就必须是在导言中 下面两条命令用来标明类或宏包文件自身 Provides1ass{类}[版本 Prov idesPackage(宏包版本】在这两条命令中,版本都是由三 部分组成的:日期,版本号以及附加信息。日期与上面的格式相同,而版本号 可以是任何没有空格的标志,附加信息可以是有或没有空格的文本。例如 \ProvidesPackagetshortpag][1995/03/24 v1.4(F. Barnes)] IX只会检查其中的日期部分,也就是说如果使用了 usepackage命令并给 出了日期,那么IX就会对两处的日期进行比较。如果调用了\1 istol1es http://202.38.68.78/texguru Email:texguru@263.net
❭❬❪❴❫❛❵❝❜❡❞❣❢❑❤◆✐❥❵➇❑❦♠❧✁♥✘♦✁♣✓q ➅❛Ô❑r s✉t♠✈①✇ ②④③⑥⑤❴⑦⑨⑧⑩✇❷❶❹❸⑩❺❼❻❼❽❼❾➀❿ ✖♠➁✘➂✠➃✓Ù✻✎✡★✏✢✡✤✘➄✠➅✝✑ ❉❋✗✙✛➆➅❢➇❤➉✷♣❲⑥✁Ù✡✒ ✦❆✰✡✱✠➆✘➇✏➍✡û✝Ü ➏☎➐✘➈✭➊➉ô➅✡➨✝✖✡➩✁Ù✍✭➊✏✡✰✏✱✘➋✁➌✘➍✏❱✧➇✡✾✏û✝Ü✓Ù☎✯✝➠✁✭❥➉✠➎✘➏❮ ✯✡❚✍Ù ñ➋✘➐✫✒ ➑◆➒❨➓✜➔✉➓➣→ ↔❇↕✁➙✠➛ ★♠➜✝×✡✢✝✤✡✯✁✼✡♦✏⑩✁➇✘✭✝û✡Ü✁➝✡➒✫❚☞✎✡➥✫Ù➔ó✘➞✁➟✠➅✍qñ➋✫✒✷✶➋➉➡➠ ❅☎×✸✳ ➢❋➤ ❬➦➥✚❫■❫❛✐➨➧➈ä❴❫❪å➫➩❴❞❪➱❪❡✚❣❛✃■æ➯➭✘➲ ë⑨➳❴➵❇➸➻➺ ✑♠➇✸✭✏û✝Ü✓➉✝Ù♠➠✝❅✡×✁➼✠➽✍✺❀✁➾➅✝✎✘➚✠➪➋Ù ✗✚✙✜✛✣✩☎✪✁➶✓☎✝✒ ✦❆ rs★✡➨❳ ✶☎✰✸➹✠➘✫Ù☎✩✝✪✓✭➊✏✝ÿ✡★✁➹✘✳ ã❴❣❛ä❴❫❪åP➴■❫ Ù✕✩✡✪✁➷✘➬✁➮✘✂✏×✁➶✓☎✝✒ ✎✏★✍✶✏✰ ✩☎✪✸➄✏◗✝➴✓➱☞✃✡➞✁❐✘❒✁â ❮Ï❰❭■✐❴❫❪❿ÑÐç❭❴❫❪✐✡❜❢❞❪❭■✃■➱❴❞ìé✸➧❛❫❑Ò◆Ó❾❫❪❭❝❜❛❫îí Ô í Ô ❬Õ➥✚❫■❫❪✐➨➧ ä❴❫❪å◆➩❴❞❛➱❪❡✚❣❪✃ æ❪ã❴❣❪ä❴❫❛åP➴■❫■ë ÷✡❚✍✭➊✂✡×✁❐✠❒✸➌❃Ö☎➫✝✺✡➴✆➱ ✧Ø×✠Ù✘Ú❒✓✒ ✑ ❉❋✗✚✙✜✛➆➅ ➇ ➉✴✂✍×✝✢✏✤✍❥✫✹✖★✝✯✫Ù♠ÛÚ➅✡✰✫Ù✻❥✁Ü✡➸✝➺✝➻ ➵✁➸ ✭ ➾➸ ➺✍Ù✻➧✝✪✸✫✠✬✁✳✸ÝÙ❀✁Þàß✕❃✁Ùâá◆á➫á◆áPã❡■❡ã ✐■✐ ✒❤❩✍➘✝❅✝→✝û✝Ü✸✟✝✯✁Ù✥✸✫✹☞➅✝✑ ä❅✝→✝þ✡✖✫➉☞➷➋ü✻⑦✫Ù✡✭æå✝✺✠✫✸✬✝➴✆➱☞✂✝→❂ß♥❃✫✭❑ú☎÷✝❩✝➘✍✯✫Ù☞➅ ❉❋➄✗✚✙✜✛➆➅❢➇❛❅ →✖➾✓Ù☞þ✡✖✁✭➆✺✏◗✘çÙ➱☎❅✏×✘è✘é✁✒➆❨✏❩✓✭✷✑Ð❉❋✗✚✙❤✛✷➅ ➇Õê❇ëÙ☎♦✏⑩✡þ✡✖✁➉ ➉♠ì✡★×✁í✢✡✤ ❬➦î✚❫❤❜❛éì❣❪➱❴❫➦ï✚❞❯ð◆Ó➨➧➈✃Pñì❞❢❡■❡❾❣❪❭■✐ ✭ ÿ✠➅✡✑ ❳ Ô❪ÔÕòôó ❩➡õö❳ ß ñ✪✝❀ Þ✡❚Ø➷✏★✧✂✝×✡✢✝✤✓✒☎ú✻÷❮✯ ✧✂✝×✡✢✝✤✓Ù✻û✡Ü✏✺❀✘➾ ❦➊✤✁÷✘✂✝×✠➼✸➽✏✿ øâ ❬➦➥❤❫■❫❪✐➨➧➈ä❾❫❪å◆➩❴❞❪➱❛❡✚❣❪✃❴æ❪ã❾❣❢ä❴❫❛åP➴■❫❛ë⑨➳ Ôúù◆ùÕû ã◆ü➫ý◆ã❑ü Ô ➺ ✂♠þ❼ßs❃✫Ù☎➧✝✪✘➅✝➨✡❼✠➪✫Ù✡✭➊✫✸✬✏★✘ÿ✝➍✁✄✂✆☎ ✂✥×✁➶✆☎☞➉ô➅✍ÿ✞✝✻ö✯✄✟✁➇✝➍✍ûÜ✍➏✝➐✫➉ ✭ ➊✏❥❦✠✟✍➏✄✡☞☛ø⑨✄✌✄✍✏✎ ✑➎✸➏✒✌ ñ➋✫Ù✔✓✖✕✘✗✚✙✜✛✣✢✥✤➾✒✦✡✆☎★✧✄✩✒✪✫✌✆✬✮✭✄✯✁✰✄✱✒✲✫✳✒✟✞✴✮✵✷✶✄☎ ✸✮✹✄✺✁✻✄✼✁✽✌✁✾✒✿✞❀✮❁✄❂✁❃✄❄✦✒❅❇❆❉❈✞❊ ❋❍● ■❑❏▼▲❖◆◗P❙❘❯❚❖❱❳❲❩❨▼❬▼❭❳❲▼❲❩❪❴❫❛❵❝❜❡❞✥❢❤❣ ❋❍● ■❑❏▼▲❖◆◗P❙❘❯❚❖❱❳❲✐❏❖❭❳❥❯❦✚❭◗❧▼❱▼❪♥♠✷♦♣❵q❜♥❞r❢❛❣✠s✮t✺✄✻✫✼✒✽✶✫✎ ❞✁❢❇✉✳✇✈✠① ②✥③✁④✄⑤✬ ❊⑦⑥✠⑧✎❴⑨✄⑩✷❶ ✑✠❷❹❸❻❺✄❼✫❽✆❾❿⑥✠⑧✄➀✄➁✁✹✬➃➂✫➄✒➅✞➆✫✎❴✩✄⑨✁⑩✞❶ ➇✑✳✒➈✄➉✁➊✄➋✁➌✄➂✷✬❻✿✄➍✷✎ ❸✥❺✒❼✁❽➇ ✑✳✒➋✫❂✒➊✄➋✁➌✁➂✞✬✦⑩❾★➎✄➏ ✎ ■❑❏➐▲❖◆❑P❙❘❯❚➑❱❳❲➒❏❖❭❳❥✘❦✚❭❑❧❖❱▼❪❖❲❯➓❖◆◗▲▼➔▼→➐❭❑❧❖❵❝❜✘➣↕↔▼↔▼➙➐➛▼➜❑➝➐➛▼➞❑➟✥P➠➣✜➡➢➟♣➤➦➥♥➡➨➧❖❭❑▲▼➩❖❱❖❲✚➫➭❣ ✓✕✗✙✛✣➯r➲✄➳✄➵✄➸❹✶✒✬ ⑥➺⑧②✄③✎➼➻✄✰✒✳✫➽➏✄➾✄➚✄➪✷➶ ■❑➹➘❲◗❱◗→❖❭❳❥❯❦✚❭◗❧❖❱ ✼✥✽✄➴✄➷ ➬➶✞⑥✠⑧✎➐➮✄➱❛✓✃✕↕✗✚✙✜✛✣✰✥➲✄❐✺✢✞✬ ⑥✠⑧✫❒✄❮Ï❰✠Ð✞❾➐➏✫➾✪➪✞➶ ■▼❬➘❘◗❲➒➔▼Ñ❙❘➒❬➐❱❳❲ ✎ Ò▼ÓÔÓ❍Õ➠Ö✃×◗×◗Ø❑Ù◗Ø❳Ú Û❑Ü❖Ú✃Ý◗Ü❳Ú Þ❑Ü◗×❯ÓÔß➭à➐á❑â❖ãÔâ ✙åä➺æ❩çéè Ö✜ÓÔß↕à▼á◗â❳ãÔâ✚êëØ◗Ý❑Û❖Ú ì❖ß↕Ó
附录CTX程序设计 那么会显示出来版本号和附加信息部分。然而,对于doc宏包(D32节中 的\ GetFileInfo而言,上述格式就是必须的了 documenta1ass和\ repackage(以及\ Loads1ass和\ RequirePackage) 命令都可以包含一个可省参数,以指定类/宏包可接受的最早发行日期。例 如,当声明为 \documentclass [12pt]tarticle][1995/01/011 这时如果使用的 article类文件中包含 [1994/07/13v1.2u Standard LaTex document class 那么就会显示出一条警告消息。对于\ usepackage和\ ProvidesPackage命 令,也是同样的机理 版本检测机制使得文档可以索取处理自己的合适版本的类和宏包文件 当然这里要假设所有以后版本都与以前的版本完全兼容 对于那些用\ input命令上载的普通文件,还有一条识别命令: AProvidesFile{文件名}[版本] 此时不会检测名称或版本,但是利用Ⅵ1 stiles可以列出这两部分信息 8C22上载其它类和宏包 在主文档文件中,类的读入是利用初始化 documents1ass命令来实现 的,而宏包用的则是、 usepackage命令。在类和宏包文件内部,就必须使用 下述命令 2 Load class[选项]{类}[版本] RRequirePackage[选项]{宏包}[版本] 其中第一条命令可使得一个类文件上载另一个类文件,并且需要的话,可以 给出选项;而第二条命令使得类和宏包文件上载其它的宏包。在任何类文件 中只能有一条\ Loadclass命令;不能在宏包文件中使用。这两条命令都可以 用在文档文件中。其中的宏包参数值可以是几个宏包名称组成的清单,中间 用逗号分开 可省版本参数与相应的\ Provides..命令之间的关系在前一节中做了 介绍;而我们下面将介绍选项参数的处理方式 8C23选项的处理 类和宏包中都可以有选项,其定义方式为 2 DeclareOption选项)代码} 其中选项就是选项的名称,而代码就是选项要执行的指令集。在IIX内 部,实际上创建了一条叫\ds选项的命令。通常这些代码并不做任何事,只 CTEXGuru, August 16, 1999
Ø◗í❑Ü î✮ïñðóò✃ô➒õ◗ö➑÷✣ø✮ù✫ú✒û ü✁ý✮þ✷ÿ✁✄✂✆☎✁✝✟✞✄✠☛✡ î✌☞✎✍✑✏✓✒✟✔✄✕☛✖✘✗✚✙✆✛✢✜ ❚❖◆❳❥ ❃r❄✤✣✦✥ Ú✃Û❖Ú✃Ø★✧✪✩ ✶ ✬ ■✬✫➑❱❑➔▼➥❙❘➒❬➐❱✮✭➒➩▼Ñ❖◆ ✩✮✵✑✯ ➁✚✰➂✄➄✁✰✄✳✁✱✄✲✷✬ ➶✄❾ ■❑❚➑◆❳❥➒➹✬✱✚❱◗➩▼➔➘❥◗❬▼❭❖❲▼❲✳✲✇■❑➹✚❲◗❱❑→❖❭❳❥✘❦✚❭❑❧❖❱ ✣✵✴❷ ■✬✶❖◆➐❭❑❚❖❨▼❬▼❭❖❲▼❲✷✲ ■✹✸✚❱✬✺▼➹ ❘❯▲❖❱❑❏❖❭❖❥❯❦✚❭❑❧❖❱ ✩ ✼✮✽✉➇ ✴❿❄✁✻✟✼✁✽➇✎✾✁✿✟❀✯❁✴❃❂✁❄✁❁ × ❃✮❄➇✟❅✟❆✬✓❇✚❈✎❉❮✇⑥✠⑧✷❾❿➎ ➏✯❋❊✪●✷❀✪❍ ■❑❚➑◆❳❥➒➹✬✱✚❱◗➩▼➔➘❥◗❬▼❭❖❲▼❲å❜✘➣❯➞◗→❑➔▼❣➑❪▼❭❑▲◗➔❙❘❑❥◗❬▼❱◗❵❝❜✘➣✘↔▼↔❑➙➐➛▼➜❙➣❯➛◗➜❙➣➭❣ t✟■➏✒➾✄➚✁➪ ✬ ❭❑▲▼➔❙❘◗❥◗❬▼❱ ❁✦✁❅✶✮❄✁✻ ■❑❏➐▲❖◆❑P❙❘❯❚➑❱❳❲◗❨▼❬▼❭❖❲▼❲◗❪▼❭❑▲➐➔➘❘❑❥❩❬▼❱▼❵å❜✘➣❯↔▼↔❑➟➐➛▼➜❑❏➐➛❙➣➭➝✥P➠➣✜➡ ➞❑➹ ▲ ➔❖❭❑➩➐❚❖❭❑▲▼❚▼✶➑❭✬◆❖❱✬❖☞❚➑◆❳❥➒➹✬✱✚❱◗➩▼➔ ❥◗❬▼❭❳❲▼❲✐❣ ➮✮➱✁✰✁➲✎P✟◗➬✼✻✎❘✟❙✎❚✁❽✞❾ ❐✘❯ ■❑➹➘❲◗❱◗→❖❭❳❥❯❦✚❭◗❧❖❱❱✲ ■❑❏▼▲❖◆❑P ❘❯❚❖❱❳❲➒❏➑❭❳❥❯❦✚❭❑❧➑❱ ✼ ✽✯★➻✄✳✷➆✪❲✆✬☛❳✎❨❾ ⑨✮⑩✄➳✟❩✁❳✁❬➚✁❭✁✦✁❪➇ ✴❃❫✚❴✎❵✁❨ ❆✪❛✬✌❜✁❝✁⑨✄⑩✷✬➃❁✲❃✒❄✦✁❅✞❾ ❊❿✧t✎❞✁❡✟❢✁❣✟❤➋✐✴❃❥✄⑨✁⑩✉➀ ✴✆❦✆✬➃⑨✁⑩✁❧✟♠✁♥✟♦❾ ❐✌❯✄➮✟♣➪ ■➘❘❯➩▼→➐➹▼➔ ✼✥✽✁➁✟q✬✓r✚s✎t❅✯✆✉✁➋✁✼✻✁✈✟✇✄✼✒✽✷❊ ❋❍● ■❑❏▼▲❖◆◗P❙❘❯❚❖❱❳❲✐➥❙❘➒❬▼❱▼❪✷①☛②✎③ ❵❝❜✣❞r❢❤❣ ④■☛⑤➲✄➳✟❩✁⑥✟⑦✄❂✁⑨✒⑩⑧✯⑩⑨✒✳✚❶➪ ■▼❬➘❘❑❲✐➔▼Ñ❙❘➒❬▼❱❖❲ ➇✴✆❷➬t✺②✁③❼✁❽✞❾ ❸❑❹❻❺❽❼❾❺❿❼ ➀❋➁✁➂✄➃✌➄✁➅✟➆✁➇ s✌➈t❪t❅✶✎✯★❁✄➉✌➊✘➋✒✳✟❶➪✎➌✟➍✎➎ ■❑❚➑◆❳❥➒➹✬✱✚❱◗➩▼➔➘❥◗❬▼❭❖❲▼❲ ✼✮✽✾✟➏✎➐ ➉✌✯⑩➑✄❃✁❄➪ ➉✌➒✄✳ ■❑➹➘❲◗❱◗→❖❭❳❥❯❦✚❭◗❧❖❱ ✼✮✽❹❾ s❁✲❃✁❄✁t❅➔➓ ②✯★✰✄✱✒✲➚✒➪ ✸✌✰✫✼✒✽✞❊ ❋❍● ■✬✶❖◆▼❭◗❚❖❨▼❬▼❭❳❲➐❲å❜❾→❋➣❤❣❖❪✠❫❛❵q❜❴❞✮❢❤❣ ❋❍● ■✹✸✚❱✬✺➐➹❙❘❯▲❖❱❑❏➑❭❳❥❯❦✚❭❑❧➑❱ ❜❾→✌➣❤❣❖❪✠♠ ♦ ❵❝❜✣❞✮❢❤❣ ➸✁✶✌↔✁✼✻✒✼✫✽➇➚✟❭✼✁✽✒❁✟t❅✁➁✎q✑↕✼✁✽✁❁✟t❅✯ ➴✎➙✚➛❡➉✪➜✢✯ ➇ ✴ ➷➬✌➝✁➞✢➟ ➑✟↔✁➠✻✒✼✄✽✁➚✁❭❁✲❃✒❄✟t❅✁➁✁q➸✟➡⑧➉✮❃✒❄❾ s➈✒➉✄❁✟t❅ ✶➺➯✢➢➃➋✁✼✻ ■✬✶➑◆▼❭❑❚❖❨▼❬➐❭❳❲▼❲ ✼✥✽➟ ⑤➢s❃✄❄✚t❅✶➚✒➪✞❾ t✺✁✻✄✼✄✽✉➇ ✴ ➪st❪t❅✶ ❾ ➸✷✶✁➉ ♠ ♦ ✿✁❀✟➤✄➇ ✴❿✳✁➥✁✽✁❃✄❄✁⑥✟⑦④✄⑤➉✪➦✁➧✢✯ ✶✁➨ ➪✌➩❶③✁➫❾ ➇✌✾ ❞r❢ ✿✌❀➀➅✎➭✢➉ ■❑❏▼▲➑◆❑P❙❘❯❚❖❱❖❲å➡▼➡ ✼✮✽✟➯➨✎➉✌➲✎➳s❦✎✼✧✶✌➵➶ ➸✌➺➟ ➑✟➻✁➼✸✫✹✎➽➸✁➺ →✟➣ ✿✁❀➉☛❵✎❨✁➾✁➄❾ ❸❑❹❻❺❽❼❾❺❿➚ ➪❋➶⑧➹✓➘✟➴ s❁✲❃✄❄✷✶✉➇ ✴✠➋➝✁➞✯❿➸✟❄✁➷✟➾✄➄✎❍ ❋❍● ■✹➬✚❱❳❥❩❬▼❭❑▲❖❱❑➮◗→▼➔❙❘➒◆❑➩➑❪➱→❋➣ ❵➐❪❐✃✌❒ ❵ ➸✁✶ →✎➣ ✰✳➝✟➞➉✌⑥✎⑦✑✯✆➑ ✃✎❒ ✰✒✳➝✟➞❡✁❮❮➉✓❂✽✁❰✷❾ s✤ÏÑÐÓÒÕÔ❾Ö ➓ ②✯❻➏✄×➁✁Ø✎Ù❹➶✼✻✢Ú ■◗❚➘❲ÜÛ✹→▼➣ ➉✼✄✽✞❾ s✟Ýt♣✟Þ✁ß➴⑤➵✄➈✫➉✎à⑧✯ ➯ â❋ãåäçæéèëê✬ì✦ê❑íïî á â❳á◗âïð❍Ó❻ñ✘Ý í ñ❯í◗í❑í
内陆庄程序设必缺陷 299 因设宏引改版只E或输入引个风项文件。(餡p彌全可定用在易误 代码与!榷在瑶eic1e1s生件与中两远会例为 阄c1P内i也1e五n内t{f1e以 c1P内i也 abib/Setb出e那{和内 abib]ftl的e 可剜用稀1pi也*望前永远缺与易误用这条命令e全序m易误加进用 只是员望适用间所免被调用中望前易误中使行代码. 免两条特n命令用可牢用在缺与易误望前中七般与效 不的ntpi也由正在被w例中易误加进组成歧 种 i tN ttused把7的 enppi也声有为\例中。 例如用若想免永远类生件模义9几.09在所免望前易误上否这加中 生件时中行为用可定如下望前效 秘c1珀pi*和n内tie模ista的ntpi也哈ty} 内i也 toUsey} 这增就会首先检如是者存在员望加进中ty生件用如果全存在用就把易误声 避免。用中。m求中易误避免。用(w例)中容用就会制在永条警着时 息中 下来就用下面中命令例易误: 模厦t原化ns个低清单 其中\模厦ut原心1os会为个低清单中中每个选子调用\ds选项命令。在 默认方式下通常需是建相比特定的选子配置。VPro愿0ins按照所有选 子定义的顺序执想调用的选子,然后删除它们。这也需是说这条命令只能执想 次。有星号的命令功能会似,只是它是按调用的顺序执想。为了与I似2.09 样式兼容,现在仍然保6了命令\01nB,它只是\Proc原s0化1m*命 令的另一个名称而己 也可以用下面的命令为会或宏包定义选子 p91ns.19选项类T} p9as0坐1npB衢选项]计而r符 其语选项是一串遵定会或宏包规则可以于核的合进选子。这行更命令可以 用在其它选子的定义语。持常C的用进需是1缺4选子传什基另一个会,呢 下?所 D愿19r后1n*(P9s0化1ons19a(r原t0on9rtic原 这差所定名的会或宏包候还被后用\9ai9as或\xr原9B命令进 想味立。 构会造宏包规则的缺4选子块此有用\D原19x陌化0n*进想维不 这聪理未定义的被调用选子的隐准程序呢下: 低(202.顺68.8/ 颗盱6顺
ò✘ðôóÑõ ò✖ô✐õ❑ö▼÷⑩õ÷ö❑ø✮ù✄ú✁û✁ø✢ù Ø◗í❑í úú✢û✁ü✁ý✌þ⑧ÿ✁✙✁✄✂✆☎⑧ü✞✝✆✟✄✠☛✡✌☞⑧✕ ✣ ■÷✸✚❱✬✺▼➹❙❘✘▲❖❱❑❏❖❭❳❥✘❦✚❭❑❧❖❱ ⑤➇ ✴➪s➝✁➞ Þ✌ß❹✶✎✍ ✩ s❛❭◗▲▼➔❙❘❑❥◗❬➐❱❝➡ ❥◗❬❳❲ t❅✶✁➉✺✽✟◗➎❍ ■✹➬❳❱❳❥◗❬▼❭❑▲➑❱❑➮❑→▼➔❙❘✐◆❑➩❖❪❑Ñ❖❬➐❱✹✺▼➩➑❵▼❪▼■❖❘❯➩▼→▼➹▼➔➐❪❑Ñ❖❬➐❱✬✺❑➩ ➡ ❥◗❬▼◆◗❵▼❵ ■✹➬❳❱❳❥◗❬▼❭❑▲➑❱❑➮❑→▼➔❙❘✐◆❑➩❖❪▼◆❑→➑❱❩➩✑✏ ❘✒✏❖❵◗❪▼■❳❲◗❱❑➔✓✏❖◆▼◆➐❬▼❱❑❭◗➩❖❪▼■❑Û◗◆❑→❖❱❑➩✓✏❙❘✒✏➑❵▼❪❩➔➐▲▼➹❖❱▼❵◗❵ ➇✴➪ ■÷➬✚❱❳❥◗❬▼❭◗▲❖❱❑➮❑→▼➔ ❘➒◆❑➩✕✔ ❄☛➷✎✼✚✽✗✖✾➝✁➞✯ t✻✄✼✁✽✄➴⑤➛❡➝✎➞⑥✟⑦⑧✯ ➯✮✳✚❂✎❄✁❝➪❯❤➋✆✘✗✙➪ ➉✞✚✟❄✁➷➝✎➞➉❮❮Þ✁ß❾ ➋✺✄✻✆✛✄✜✁✼✄✽✯ ➇➢➪s✖✾➝✁➞❄✁➷✄➉ ✃✚❒ ✶ ❊ ■▼❨◗➹▼▲▼▲❖❱❑➩➐➔ï➮❑→▼➔❙❘✐◆❑➩ ✈✣✢s✘✁❵✎❨✑➉➝✟➞⑥✟⑦④✒⑤✑➟ ■❑➮◗→▼➔❙❘➒◆❑➩✓✤✚◆❑➔✦✥❙❲❩❱❑❚★✧❛■▼❨❑➹▼▲➐▲❖❱❑➩▼➔ï➮◗→▼➔❙❘➒◆❑➩ ●✫❀✌❍✗✚✁❵✟❨⑧➉ ❾ ➎✥➏✯✪✩✬✫✒➋✁✼✚✽✄❁✁t❅✯✮✭✄✯ ÏÐÒÔÖØ❖Ú✃Ù◗í s☛❤➋✄✚✁❄✁➷➝✁➞➁✟q➆✪⑥⑧➉ ➡ ❲✐➔✑✰ t❅■➉❮❍⑧✯ ➇ ✴➏✄✸❄✁➷❊ ■✹➬✚❱❖❥◗❬▼❭❑▲❖❱ ➮❑→▼➔❙❘➒◆◗➩✕✔◗❪▼■✮✭✐➩❑→▼➹➐➔Õ✭➒Ñ◗➥❙❘➒❬▼❱✦✱✓✲❙❘❑❲✐➔➘❲➒❪➐■▼❨❑➹▼▲◗▲❖❱❑➩▼➔ ➮❑→▼➔ ❘➒◆❩➩ ➡ ❲➒➔✑✰➐❵✦✳ ❪▼❵▼❪▼■❑➮◗→▼➔❙❘➒◆❑➩✓✤✚◆❑➔✦✥❙❲❩❱❑❚▼❵➐❵ t❲✁✰✄➲✄✴✆✵✄➳✁❩✄✳✆✶✄✷s❂✁❄✁⑥✟⑦⑧➉ ➡ ❲➒➔✑✰ t❅✯ ➏✄➾⑤✷s✯✁✸✧➝✟➞● ❀✆❍✁➊✁➋➚✄➪ ➉ ❾ ❡✆✹➉➝✟➞➊✒➋➚✒➪ ✺ ❵✟❨✎✻⑩➉✓➜✢✯✼✸✁➲✁❷s✼✆✽✗✾❙✁❚ ✿✆❀✬❁ ❅✌❂✄❃✸✄❄❂✄❅➉❇❆✄❈✟❵✁❨➝✁➞❊❉ ❋❍● ■ ✱✑✲❑❏❑▲◆▼✑❖❑❏❑➮✓P✑❖✮◗◆❘✦❙❯❚◆❱✷→✌➣✬❲✗❳❩❨ ❋❍● ■✦❬✑❭ ❘❑▲✓❏❪❚✑❚Ü➮✓P✑❖✮◗◆❘✦❙❯❚ ❋❍● ■✦❬✑❭ ❘❑▲✓❏❪❚✑❚Ü➮✓P✑❖✮◗◆❘✦❙❯❚✦✔ ❫✬❀ ■ ✱✑✲❴❏❪▲◆▼✑❖❑❏ ➮✦P✑❖✮◗◆❘✓❙✕❚★❵❜❛ →✟➣✄❲✆❳ ❀ ➉✞❝✆❞✄❡✗❢✬❣✄❄ ■✦❤ ❚✓✐❦❥✄❧ ❆✗❈❁♥♠ ♦q♣✆r✄s❂✬t✗✉✄✈✆✇✄①✆②✄③✄④✆⑤☛⑥❡✄❢✗⑦✬⑧❁ ■✓❬✑❭ ❘❪▲✓❏❑❚✑❚✓⑨✦P✑❖✪◗◆❘✦❙✕❚★⑩✌❶✄❷✆❸❡ ❢⑤✄❹☛⑥q❺✄❻✄❼✄❽❣✄❄ ⑥❡✬❢☛❾✪❿✄➀✄➁➃➂✞➄✄➅❁✪➆✬➇✈✄✇✆➈➆✽✄❆✄❈✬➉☛➊❼✄❽ ➋q➌❁ ❸✄➍☛➎ ⑥❆✄❈✄➏☛➊q➐✄➑☛❾❯➉✇➄✇⑩❣✄❄ ⑥✞❺✄❻✄❼✄❽❁ ❛➃➒✞➓→➔↔➣➙↕❯➛➝➜✁➞❪➟ ➠✦➡ ➢✌s✆➤✆➥❾✣➦♠✆➧❿✆➨❊➩ ➒❆✗❈ ■ ✐✑❘✓P✑❖✮◗◆❘✦❙❯❚ ❾➫➄✆➉✇ ■✦❬✑❭ ❘❪▲❦❏❪❚✑❚✓⑨✦P➭❖✮◗◆❘✦❙✕❚➭➯ ❆ ❈⑥✬➲➋❞✆➳✄➵✆➸➻➺❁ ➇✌➼➻➽❄❂✆❅☛⑥❆✗❈❛➐✄➾✆➚✄➪⑤✗❹❡✆❢❉ ❋❍● ■✦❬❑➶ ❚➭❚✓⑨✦P✑❖✮◗➹❘✦❙✕❚◆➘❑❘➭➴✦➷ ➶ ❚✑❚✓❱➬❥✌❧❩❨✑❱➱➮❜✃❩❨ ❋❍● ■✦❬❑➶ ❚➭❚✓⑨✦P✑❖✮◗➹❘✦❙✕❚◆➘❑❘ ❬✑➶ ▲❒❐ ➶✦❮❏✑❱❰❥q❧Ï❨✑❱➱Ð➃ÑÒ✃✬ÓÔ❨ ❫✆Õ ❥✌❧ ✇➋❊ÖØ×⑤➐✗➾✆➚✆➪✗Ù✆Ú➼Û➽✼Ü✗Ý ⑥❇Þ✆ß❡✆❢❁✣➆✗à✆á❆✆❈➼✎➽ ❄♠✆❫➄✆❡✗❢⑥❇⑤✄❹Õ✆❁ãâ✉✆äå⑥❄ß✆✈✄✇✆æ✄ç✗è❡✄❢✆é✗ê✬ë➲➋❞✆➐☛❾✼ì ❂✌í❷✗î❉ ■❦ï ❏❑▲✓➷ ➶✦❭ ❏➭⑨✦P✑❖✮◗◆❘✓❙✕➯✓❱ ■✦❬❴➶❚✑❚❦⑨✦P✑❖❯◗◆❘✦❙✕❚◆➘➭❘✑➴✑➷ ➶ ❚✦❚❦❱ ■ ➴✦▼❭✑❭ ❏✦❙✓❖❑⑨✦P➭❖✮◗✒❘✓❙❑❨✑❱ ➶◆❭❖✮◗✦▲❦➷✦❏✑❨➭❨ ➆✌ð❷⑤➳ ⑥➐✆➾✗➚✆➪✗ñ✆ò✆ó✄➀✗❄ ■✦ô ❘ ➶✦❤ ➴✑➷ ➶ ❚✑❚ ➾ ■❦õ❏✦ö✑▼✪◗ ❭ ❏ ❬❑➶ ▲✒❐ ➶✦❮ ❏ ❆❜❈✗÷ ❽✌ø✬ù❁ ì✌ú✄➐✆û✄➚✆➪✄Ù✆Ú⑥❇ç✬è❡✄❢✆ü✄ý❸❄ ■❦ï ❏❑▲✓➷ ➶✦❭ ❏➭⑨✦P✑❖✮◗◆❘✓❙✕➯ ÷❽❊þ✞ÿ❾✁ ✂☎✄✝✆✟✞⑤✆❹☛⑥☎✠❣✆❄✗❡✄❢⑥☛✡✌☞✎✍✆❻ì❂❉ ✏✒✑✓✑✕✔✗✖✙✘✚✘ ➞✦➠✓➞❪➟ ✛✢✜❑➟✙✣✚✜❪➟ ✤✢✜ ✘✥✑✓✦★✧✪✩✢✫✭✬✓✫ ➛✯✮✱✰✳✲✵✴ ✖✶✑✓✦✷✧✒✩✚✫✸✬✓✫✺✹➞✚✣✢✛❑➟ ✻ ✦✷✑
么条警命令现 所有在、d原mutc1att少中的选项文s为全清单;认为其x其用会 后为所有宏包,每用ldC1att上载的类除子调果在。类中没有定义 选选项,及会给在默认或警方式通调 所有其它少。率建比厦C1att和 PattoltlditT周醋在的选项置是 清0单调如果在按其的类或宏包中没有定义选选项,会给在一条默认式 通调 所有宏包置所进有后,如果义一个顺序选项执想有没有用,没有 项定义然就会给在一条警方式通调 測论是顺序选项,执是序它选项,置按照定义的顺序执行们调用了 Pr原c++n相比比 课功会似了 有与,3了A到义T特殊似果,或ⅹ避2与.它宏包09样兼,容现 有仍保6是在类或宏包结束处执行,或x在文,的另名或结称处执行这这可 以用已为的保6实现这T似果可 L类 画包d9 fack录1L类 宪g比D原mcat附录1L类 宋包D原mcut录1L类 X两条保6把录1L保留到类或宏包结称与程执行递置文件序用它们 在另设它计所而,每它符在结称处所其进行的语改串遵,这样在结束与就及之 符会缺省方式而项规则远两条益于把录 L计别保留到\合g比随愿,mut类 和\cud隱愿,mcut类中执行这上行所有保6置可以及只调用一次,这样录1 L执行与就之按照调用的顺序进行这 保更在\Fg=D原,mut中的录1L是之件8C.而在1缺的处理 中,每它是在\命g比随愿,mcut类保6尼至D差候选D的被去掉后遇进 可以认3录1L是味文的一它计,每是或仍只能用在1缺中的保6也可以 用在中这 识立造块此维不 在m特节中我们详细讲行了如何使用、 ucwc maud定义新的保6,使用 rcucuc maud规定义保6,以及使用\根原頃 cc Khmau临与创建保6这实 际上执有另子两条少法按同的定义保6的少。可 pc1ar靥tc题ad1名参数个数][可省参数]附定义类 用有定义或规定义一个名3录1名的保,而且它是牢单,也就是说它 可以用D.它保6的参数值,X为及需X缀、厦ct这如果保6基经更在 了,就之向抄本文件中则而一条式通,并覆盖原有的定义这 ⊙ TEXGuru,A想想1m,1999
✛✓➠✦➠ ✼☎✽✿✾❁❀✙❂❄❃✚❅❇❆❉❈☎❊✝❋✟● ❍ ❷✌❸♠ ■ ❤✭❏ ▲◆▼✢❑✸▲✢▼✒◆✕▲✓➷ ➶✸❖✒❖◗P❙❘Õ ⑥❡✆❢✡✌❚❛❱❯❙❲❨❳❬❩ ♣❛❫❪❭✌❫✌❴✟❵ ➀❜❛❷✬❸➚✗➪➃❾❞❝❴❡■ ô✭❏✑➶✦❤ ➴➭➷ ➶✸❖✒❖ øqù☛⑥➐☛➂☛❢❤❣✁ì✄ú♠✎✐➐Õý❸⑤✄❹ ❥❡✄❢❊❾❧❦❵ë♥♠☛♦✌♣✄➾✟q✝r✟s✌t✉❣ ❍ ❷q❸❫➄P✎❘✇✈➪✎① ■ ô✭❏➭➶✦❤ ➴✑➷ ➶✭❖✒❖ û ■ ❬❑➶✸❖✪❖ ⑨✢②✒◆④③ ❏ ▼ ❖ ➘ ❏⑥⑤✒⑤✓⑦ ë✝♠ ⑥❡✄❢✎⑧✇ ❲☎⑨✉❳ ❣ ì✄ú♠✌⑩✎❫⑥➐✗➾✄➚✆➪Õý❸⑤✆❹❥❡✄❢å❾ ❵ë❨♠➋á♦✌♣✎s t✌❣ ❍✟❶❷✆❸➚✆➪✟⑧✎❷✆÷✌❸✄➀å❾✣ì✗ú✝❹➋❞✎❺✌❻✄❡✗❢✌❼✎❽✌❸✗ý❸❴✌❾ ✈❽✆ý❸ ✠✌⑤✄❹➀❿ ❾ ✈❵ë❨♠➋áq✌r✎s✌t✉❣ ❍➂➁☎➃✇❺✝❻✗❡✆❢å❾✱❼✇❻✟➄✄❡✆❢❊❾❧⑧⑩✗❶⑤✆❹❊⑥❇❺✄❻✆❼✆❽ ✈ ➂☛➅✗❣❴ ➒ ■ ❬➭❭✭❏ ▲✚▲ ❖✪❖ ⑨✢②✒◆④③ ❏ ▼ ❖ ➯ ❿➇➆ ➈✒➉➋➊✵➌④➊➎➍ ➏❙➐✎➑✟➒ ❸✌➓☎➔❾✱→ ➒☎➣✟↔❹✎↕④✟➙✌➛ú❊❾✼➾✌➜✟➝✎➞➓✌➟➄✗➚✆➪✌➠✎➡✟➢✌➤❊❾✱➥✟➦ ❸☎➧✌➨✎➩✇♠➐✗➾✄➚✆➪✌➫✎➭✄❼✄❽❾✼➾✌➜♠Ù✎➯ ⑥☎➲✎➳➾✟➫✝➵✄❼✄❽♥➆ ➆➼ ➽➸❴✝➺❛⑥➨✎➩✌➻➦➆↕➛ú✉➼ ➽✕➾ ■✢➚◆✒➪✪▼❤ ⑨✢➶❑➴➭➷ ➶✸❖✒❖✚➹➴➘❜➷❨➬➱➮ ➽✕➾ ■✢➚◆✒➪✪▼❤ ⑨✢➶✒✃ ➶ ▲✒❐ ➶✦❮ ▲ ➹➴➘☎➷❤➬➱➮ ➽✕➾ ■✢➚◆✒❐❇▲ ❮ ③✥▼ï✸❏ ▲◆▼✢❑✺▲✚▼✢◆ ➹➴➘❜➷❨➬➱➮ ➽✕➾ ■✢➚◆✒➪✪▼❤✦ï✺❏ ▲➹▼✢❑✺▲✢▼✒◆ ➹❞➘❙➷✉➬✇➮ ❒qà✗á➨✎➩æ ➘✎➷❤➬ ➨☛➩↔➐✄➾✄➚✆➪✎➫✎➵➓❜❮❼✄❽❤➆ ⑦✬⑧✄Ù✄Ú✎❰❴➄✄➅ ♠➲✎Ï➄✌Ð✎❷✎Ñ➃❾Ò❝✄➄ÔÓ♠➫✎➵✄❷❫÷❽☛⑥☛Õ☛þ❜Ö✟×❾ ➆Ø➢✆♠➫✎➭➓✈❦✎Ø Ó❵ç✄èr✄s➸✠✎Ù✝Ú✉➆ ➀à✬á✎Û✉Üæ ➘Ý➷✉➬ ÐÝ➨☛➩↔ ■✢Þ ▲ ❮ ③ß▼ ➹✦❤✭❏ ▲➹▼✢❑✺▲✢▼✒◆ ➮ û ■ ▲✢▼❤❇➹✦❤✭❏ ▲◆▼✚❑✺▲✢▼✒◆ ➮ Õ❼✄❽♥➆✼ø✌à❷✗❸✎➨✌➩⑧➼Û➽❦✆➉✗❣❴➋✆➌❾ ➆✗➢ ➘✟➷ ➬ ❼✄❽➓✈Ø⑩✄❶❣❴ ⑥❇❺✄❻÷❽♥➆ ➨❜á♠â■✢➚◆✪❐✭▲ ❮ ③✥▼ï✺❏ ▲◆▼✢❑✸▲✢▼✒◆ Õ⑥ ➘✎➷✉➬ ✇Ø☞✝ã✟ä✎åÑ♠✉æ☎ç⑥✄✌✆✎è Õ❾é❝✄➄✇♠ê■✢Þ ▲ ❮ ③✥▼ ➹✓❤✭❏ ▲◆▼✢❑✸▲✢▼✒◆ ➮ ➨❙➩Ôëíì✎î✌ï✎ðòñ ➺❥ï⑥☛ó✎ô✝õ➀➆➸ö☛÷ ➼❊➽✼♣→ ➘☎➷♥➬ ✇✿øÙ⑥➋➄❪Ð❊❾❧❝✇➧➉å➊❴✆♠❨æ☎ç❊Õ ⑥➨✟➩➇✆➼✎➽ ❴✌♠➟Õ ➆ ➈✒➉➋➊✵➌④➊úù û❙ü✎ý➂þ✌ÿ ♠ ✤❑➟✙✛✁Õ✄✂➅✆☎✞✝✠✟à➒ì☛✡✞☞❴ ■ ▼❇▲✍✌✕▲ ❏❑✪❑➶▼❤ ⑤✌❹✠✎å⑥➨✌➩❾✏☞❴ ■✍✑ ▲✚▼✭▲✍✌✕▲ ❏❑✒❑➶▼❤ Ù❜⑤✗❹➨✟➩❾ ➽✓✒☞❴ ■ ②✑ ❏✕✔ ③ ❤ ▲❪▲ ❏❑✒❑➶▼❤✗✖➓✄✘①➨✌➩➆ ➻ ✙ø❼❸➲❢à✆áPß⑩✛✚ ⑥✞⑤✆❹➨✌➩⑥P✌❘➼ ➽✕➾ ■ï ▲❪▲❦➷ ➶✑ ▲õ✸❏ Þ▼ ❖ ◆❴➴ ❏❑✪❑➶▼❤✭➹ ➘❜➷✃ ➮✢✜✢✣✄✤✆✥✆✤✧✦★✜✪✩✄✫☛✣✆✤✬✦✭➹✁✭☛✮ ➮ ❴❸⑤✄❹➾Ù✄⑤✄❹➋✆✯➳✌→ ■➘✎➷✃ ⑥➨✎➩❾✁➸✆✰✆➄✇✲✱✴✳ ❳ ❾ ➇✈✄✇✆➈➄ ➼❊➽❧❴ï✟➟➄➨✌➩⑥✶✵✸✷✠✹❾ ❒❛✌❦✠✺❒✠✻ ■ ②✑ ❏ ◆❇▲❪▲❄◆ ➆ ì✆ú➨✌➩ ë✓✼á♠ ➒❾ ✈Ø✾✽❀✿✞❁✬Ù✗ÚÕÚÑ➋ás✟t❊❾✼ü✆❂✠❃✆❄✌❸⑥✌⑤✗❹✉➆ ❆❈❇❊❉●❋■❍★❏✍❑▲❏◆▼P❖ ❅ ✫✸✩✚✫P◗✕✑❙❘ ✣ ▼ ❘ ➡✓➡✦➡
C2BTX2程序设计语言 301 另外一条命令可以用来检测\命令名的当前定义。 2 CheckCommand命令名于[参数个数][可省参数]定义 如果命令的定义与定义不同,或者参数个数不同,等等,就会给出一条警告 消息。这可以用来确认系统的状态是我们所希望的样子,并不存在已上载的 宏包修改了某些重要的定义。 DeclareRobustcommand和\ Checkcommand命令都可以用在文档的任何 地方。 8C26有短参数值的命令 通常在用户定义命令的参数值中可以包含用\par或空行表示的新段落。 按TX的行话来说,这些命令都是“长的。这也不是用\de定义命令的标 准行为,因为用它定义的命令必须是短的,这样可以检测是否遗漏了右大括 到了1994年6月1日,新发行的EX2c提供了所有定义命令的星号形 上述命令创建的命令都具有‘短参数,从而行为与\def一样。 我们建议总是用星号形式命令来定义新的命令,除非有足够的理由取某 些参数为‘长的,即参数中包含段落。长参数应当是例外,而不是规则 8C27给出错误和警告消息 在设计类和宏包时,也应当使它们具有自己的错误和警告消息。这对帮 助我们辨别到底哪个文件发出这条消息是非常有用的 错误消息是用下列命令生成的 3 \ClassErrort类名}[错误消息文本}帮助 \PackageError宏包名}错误消息文本}帮助 其中错误消息文本就是显示在监视器或抄本文件中的消息,而帮助就是当 用户反映为H时显示的进一步文本。如果文本中包含命令名,而且要按原样显 示,那就必须前缀 protect:空格是用\ space生成的,新行用 essagebreak 开始。例如 \PackageError ghost][% The \protect\textwidth\space is too large\MessageBreak elected] CUse a smaller width h http://202.38.68.78/texguru Email:texguru@263.net
❚ ✾❱❯❳❲ ❀❂❃✢❅✒❆❨❲❬❩✢❈☎❊✎❋✌●✆❭❫❪ ✛✓➠ ❘ ➲❢➋á➨✌➩➼Û➽❴❸✠❴✆❵ ■➘✌➷✃ ⑥ ❶❒⑤✄❹♥➆ ➽✕➾ ■ ➴✍❛✭▲❑▲✒❐❯➴ ❏❑✪❑➶▼◆❜ ➹➴➘❜➷✃ ➮✢✜❱✣❈✤✆✥✠✤❝✦■✜✢✩❞✫✞✣☛✤❡✦❇➹✓✭☛✮➱➮ ìqú➨✎➩⑥q⑤✄❹➓ ✭✛✮ ❦✚ ❾ ➾✌➜✵✆✷✯✷❦✚ ❾❣❢☛❢☛❾ ✈Ø✄ë❤♠➋áq✎r s☎t➆ ➆✆➼✎➽❧❴❸ã✞❤✆✐✠❥✛❦✄❧✞♠☛♥✂✠♦✆♣➥✎➦❦✄q✆r❫s✓t✠✉á✠✈ ë❀✇✠①❦ ②✄③☛④⑥⑤✆⑦✄⑧✆⑨✠⑩✆❶❦✶❷✆❸❫❹ ❺❼❻❾❽❾❿✕➀◆➁✍➂➃❽❼➄❊➅✍➆▼❊➇❬➈P➉ ➅❼➊➋➊P➁✍➌➋➍➏➎➐❺ ➉✍➑ ❽❾❿➓➒ ➉ ➅❼➊◆➊❾➁✍➌◆➍→➔❈➣✞↔✠↕✴➙✓➛✈☛➜✞➝❦✄➞✠➟ ➠✄➡❹ ➢◆➤❙➥➧➦➨➥➫➩ ➭❈➯✆➲✞➳✠➵✛➸✄➺✆➻ ➼❞➽✈➛✆➾❷✆❸➔✆➣❦➪➚➹➶✆➘✛➴↕✴➙③➹➷➛➬❺✍➮P➁✍➂✃➱❞❐☛❒❰❮☛Ï❦➪Ð✆Ñ➹Ò✛❹ ÓÕÔ❊Ö◆×❦❒✠Ø✞Ù✠Ús❨Û⑨➔✠➣✞↔♥ ÜÝ❰Þß❦❈❹✓Û✠à✞✉✠♥➛á❺✕➍P❽✍â ❷✄❸➔✆➣❦✶ã ä❒✠ås❈æå✠➛✆ç❷✞❸✛è➔✆➣✠é✞ê♥✞ë❫è✆s✓Û✠q↕✴➙íì☛î♥✠ï✆ð✠ñ⑦➪ò✠ó✠ô õ❹ ö⑦ø÷➓ù✍ù❬úüû➬ý❨þÿ÷✁ s Ð✄✂❒è✆☎✞✝ÔÖ×✠✟☛✡✌☞✎✍❫⑦➪♣✑✏❷✆❸➔✠➣è✓✒õ✓✔ ✕✗✖ ❺✍➌P❽✙✘ ❿❼➅❼➊◆➊❊➁✍➌➋➍✛✚ ❺✕➂P❽✍➌P❽✙✘❊❿✕➅❼➊◆➊❊➁✕➌◆➍✛✚ ❺✍➌P❽✙✘P❽✕➌✢✜✤✣ ➂P➅✕➌✍➊❊❽✍➌➈ ✚ ❺✕➂P❽✍➌P❽✙✘➃❽✍➌✢✜✤✣ ➂➃➅✍➌✍➊❊❽✍➌➈ ✚ ❺✍➮◆➂P➅✙✜✥✣ ➍P❽❾❿✕➅❬➊◆➊❊➁✍➌◆➍✦✚ ❺❼❻❊❽❾❿✕➀➋➁✍➂P❽❼➄❊➅✕➆▼ ➇❬➈P➉ ➅➊◆➊❾➁✍➌◆➍✧✚ ❺ ➉✍➑ ❽❾❿➒➉ ➅❼➊◆➊❊➁✕➌◆➍✛✚ ✇✩★➔✞➣✑✪✗✫è➔✆➣✠↔✄✬✏ Üë✸Þ ➚✄➶✛s✠✭✄✮❒✞å✗✯ ❺✍➍➃❽✍â✱✰q❫❹ ✲♦✫✗✳✵✴♥➛✒õ✓✔✕➔✠➣✆Ù❷✆❸✞Ð❫è➔✠➣s✩✶✩✷✏✗✸✑✹è✓✺✼✻✾✽⑧ ⑨➚☛➶å ÜÝ❰Þ è❈s✩✿➪➚✠➶✛➴③✞➷Ñ✞Ò✛❹❨Ý✞➚☛➶✄❀❂❁➪♥✗❃✑❄⑥s✠✮✆✉✠♥✄❅✑❆❫❹ ➢◆➤❙➥➧➦➨➥❈❇ ❉❋❊✓●✄❍✗■✑❏✗❑✑▲✗▼ ✈✩◆✗❖✑P➎②✆③❂◗s✏à✄❀❂❁❙❘ç✄❚✗✬✏❱❯✓❲è✩❳✑❨➎✄❩❭❬✄❪✗❫❹✓Û✗❴✑❵ ❛✩✲❚✄❜✑❝ö✑❞✗❡✑❢➜✄❣✂❂❤➪Û✗✐❪✗❫✄❥✷➽✏➛ è✠❹ ❳✩❨❪✗❫✑❥✠➛✑❦✗❧✞➔✆➣✗♠✑♥è ✖ ♦q♣ ❺ ➉ ➀◆➁ ➇◆➇sr➂◆➂➃➅✍➂✧t✈✉✎✇②①③t✾④✎⑤⑦⑥✗⑧✓⑨✗⑩❶①③t✎❷❹❸❺① ♦q♣ ❺✙❻P➁❾❿➓➒❊➁✙❼P❽ r ➂◆➂P➅✍➂✧t✈❽❿❾✱✇❶①✢t➀④➁⑤✵⑥✗⑧✓⑨✄⑩❶①✢t✓❷✠❸❺① ➂➴ ④✗⑤✵⑥✄⑧✎⑨✄⑩❱➃✄❥❭➄✞Ï✈✗➅✑➆✗➇➱✗➈✑➉➜❭❣➴✆è❪✑❫s➊✮ ❷✾❸➋➃✗❥❁ ➛❞➾✑➌✵➍❞å➏➎ ◗➄✆Ïè✓➐✰✑➑➜➉❹✥➒✗➓➜➉➴③☛➷➔✆➣✑➔ s→✮✑➣❶☛Ó✑↔✑↕➄ Ïs➛➙➃☛é✆ê➝➜✑➞➬❺✍➮◆➂P➅ ➈ ❽❾❿ ➈➊➟ ❐➝➠✑❥☛➛ ❺ ➇ ➮P➁❾❿✕❽➡♠✎♥è➤➢❬Ð❒✆➛➬❺✙➥P❽ ➇◆➇ ➁✙❼P❽✙➦◆➂➃❽◆➁❼➒ ➧✩➨❹❹❃✗➒✵➢ ❺✙❻P➁P❿➒❊➁✙❼P❽ r ➂◆➂P➅✍➂➩t✙❼➑ ➅ ➇❬➈ ①✢t✌➫ ➭ ➑ ❽✞❺✍➮◆➂P➅ ➈ ❽❾❿ ➈ ❺ ➈ ❽✙➯➈ ✘✥✣➍➈➋➑ ❺ ➇ ➮P➁❾❿✕❽➝✣ ➇❰➈ ➅◆➅✆➀◆➁✍➂③❼P❽◆❺✙➥P❽ ➇◆➇ ➁✙❼P❽✌➦◆➂P❽◆➁➒ âP➅✍➂ ➈◆➑ ❽➹➮P➁✍➮➃❽✍➂➝➲P➅✙➳ ➑ ➁✙✜P❽ ➇ ❽➋➀◆❽❾❿ ➈ ❽✕➍✧① t☛➵ ➇ ❽☛➁ ➇ ➊❊➁◆➀➋➀◆❽✍➂➝✘✤✣➓➍➈◆➑➺➸ ① ➻✢➼➽➼q➾→➚➶➪✌➪ ✟✙➹✌✟➴➘ ➷✙➬✧➘❳ý✌➬➴➘ ➮✙➬ ➪➱➼➽✃❒❐③❮✙❰✧Ï➽❰ ÖÑÐ✾Ò☛ÓÕÔ ➚Ö➼➽✃×❐✢❮✌❰➴Ï➽❰✦Ø✟✕ý✙➷✧➘ Ù✃×➼
02 说这准为因 的态是k的错误言息 心 ackage ghost fror须梅e\te短W员 Lth is too larg for the paper参数 hare selected的 棒e和迣et数n右for知med参tehe1p 当X括的来到用或认等n应时若按9值9c4述以可年入稻用爆 它的L到 的 就类和宏包c也可以按类A的方法认告言息义差别它就于提者没有 定义文c8义令有理过星也不的括的来到翔应刘以包含告言息认式时 就年入文件c所有的行号义 LEkclassWarn Ag并不上警告消某些重载 c1 ass warn ag40L不上警告消某些重载 舶包上柔警告消某些重载 参g叭参包上奉警告消某些重载 例k8当定义了 参 载 到了言息 age ghost w知须再象te短氡ha数 ted on知数1教 义令有理不的括的来义告言息可以用、e8a8g2k而是一行8这一点个 错误言息c类A义 议类总的最提除系命令统 c18to并不上载某些重载 抬包上载够某些重载 它把文c取到c文件c§不的R示在obs即义定x它应当来看§它k 的。告言息义 8C2外则7文给 不统类和出包的文件也可以年入到文档c当这可做的时错§可以必须 和警告消文件统息在的义或者3设计文件统否息在来类定要时取的进h行 使义这一目标统用k的命令自式的义 [e般8并些己上鞋错载误载 数狠e为和t己上载错载误载 这除系命令都的在X文件告索消息c看看有没有对定的些己上8k果帮 到了文件它助行错否则它助行误义令在\数赶Fe.t8命令 曬他题5列Au态s通6:1999
➷✌➹✙✟ Ú✩Û❋Ü②Ý➶Þsß✌à➩áãâ✩ä❭å✄æ ç✩è♠✄♥➒❦❳✗❨❪✗❫✖ é ❻➃➁❾❿➒❊➁✙❼➃❽➁❼➑ ➅ ➇ ➈❭r➂◆➂P➅✍➂➺ê ➭ ➑ ❽✆❺ ➈ ❽✙➯➈ ✘✤✣ ➍➈➋➑ ✣ ➇➹➈ ➅◆➅✆➀◆➁✍➂✢❼P❽ ëì❼➑ ➅ ➇❬➈→í âP➅✍➂ ➈◆➑ ❽✆➮P➁✍➮P❽✍➂➤➲P➅✙➳ ➑ ➁✙✜P❽ ➇ ❽➋➀◆❽❾❿ ➈ ❽✕➍ ➸ î ❽◆❽ ➈◆➑ ❽ï❼➑ ➅ ➇❬➈ ➮P➁❾❿➓➒❊➁✙❼P❽❈➍➃➅❾❿s➳✍➊❊❽✕➌➈ ➁➈ ✣ ➅✍➌➹âP➅✍➂✞❽✙➯➋➮P➀◆➁✍➌P➁➈ ✣❬➅✍➌ ➸ ➭➲◆➮➃❽➤➎ñð✍➂P❽ ➈ ➳◆➂◆➌✧ò❈â➃➅✍➂ó✣➊◆➊❊❽✍➍✥✣❬➁➈ ❽ ➑ ❽◆➀✍➮ ➸ ❁✵☎✞✝ÔÖ×õô❦✆Ù✑ö✆➛☛➾➤÷❤✰❢➌❀◗➢×øÓ✬ù✧➘➧÷➺ù➴✓ú★➙↕✑û✑ü ➎✤ýÿþ✁✄✂ ➢ ç✩è✆☎✞ö ➵ ➇ ❽✆➁ ➇ ➊❊➁◆➀◆➀➋❽✍➂➝✘✤✣ ➍➈◆➑➺➸ ✈✩P➎②✆③➴➪à↕ ➙ÓP✄✝è➡✟✞÷❤❩✑❬✗❪✑❫❹✡✠❝ç✈✟☛✄☞✍✌✆✎✏ ❷✾❸ ➜➉➢ ✮✑➣✟✏✑✺✟✑✄✒✞à✆✓èô❦✆Ù✑ö✟✔✑➌❀✛❹ ↕✾➙③✠➷❩✄❬❭❪✄❫❤✖✕◗ ✈û❭ü➜✑❣➴✘✗✟✏✛è❒õ ❹ ♦q♣ ❺ ➉ ➀◆➁ ➇◆➇✚✙➁✍➂➋➌✤✣ ➌✢❼✧t✈✉✎✇❶①✢t✜✛✖✢❂⑥✑⑧✩⑨✑⑩❶① ♦q♣ ❺ ➉ ➀◆➁ ➇◆➇✚✙➁✍➂➋➌✤✣ ➌✢❼✤✣❾➅✦✥✤✣➓➌P❽✢tõ✉✩✇❶①✢t✜✛✧✢✵⑥✄⑧✎⑨✄⑩❶① ♦q♣ ❺✙❻P➁❾❿➓➒❊➁✙❼P❽✙ ➁✍➂◆➌✤✣ ➌③❼✢t✈❽❂❾✾✇❶①③t✡✛★✢❂⑥✑⑧❙⑨❭⑩❶① ♦q♣ ❺✙❻P➁❾❿➓➒❊➁✙❼P❽✙ ➁✍➂◆➌✤✣ ➌③❼✦✣❊➅✩✥✤✣ ➌➋❽✢t✈❽❿❾❹✇❶①✢t✜✛✖✢❿⑥✄⑧✩⑨✑⑩❶① ❃✩➒❿➢✩❁✄❷✆❸⑦ ❺✙❻P➁P❿➒❊➁✙❼P❽✙ ➁✍➂◆➌✤✣➓➌✢❼✧t✙❼➑ ➅ ➇❬➈ ① t ➭ ➑ ✣ ➇✄➈ ❽✙➯➈ ✣ ➇✄➑ ➁✙➳➋➌➈ ❽✍➍✧① ç✩è✆☎✞ö⑦❪✑❫ ❻P➁❾❿➓➒❊➁✙❼P❽➁❼➑ ➅ ➇❬➈✪✙➁✍➂➋➌✤✣ ➌✢❼➺ê ➭ ➑ ✣ ➇✄➈ ❽✙➯➈ ✣ ➇➹➑ ➁✙➳➋➌➈ ❽✍➍✆➅✕➌✵✣➓➌◆➮✢➳➈ ➀✛✣ ➌➃❽✆✫✭✬ ➸ ✮✩➣✆✏✄✺✄✓èô❦✆Ù❹ ❩✑❬✗❪✑❫✠↕✴➙í➛ ❺✙➥P❽ ➇◆➇ ➁✙❼P❽✙➦◆➂➃❽◆➁❼➒✯✮✎♥✟✰✆❒➢✓Û✰✲✱❙✯ ❳✩❨❪✄❫➴P✄✝❹ ✳P✄✴è✘✵☞✄✶✐➔✆➣✗❥ ♦q♣ ❺ ➉ ➀◆➁ ➇◆➇✸✷ ➌◆â➃➅✢t✈✉➁✇❶①✢t✜✹✗⑧✓⑨✗⑩❶① ♦q♣ ❺✙❻P➁❾❿➓➒❊➁✙❼P❽ ✷ ➌◆âP➅✢t✈❽❿❾❹✇❶①③t✺✹✗⑧✓⑨✗⑩❶① ç✖✻✟✼➜➉✍✽ö➈✗➉➜✗❣➴✗➢✡✓è➄☛Ï✍✾➅✑➆✗➇✍✿❹✾✭➂ç✟❀✄❁✞Ù✟❂➢ ç➒ ❃✎✏ ✣❾➅✤✥✤✣ ➌P❽ è❩✄❬❭❪✄❫❹ ➢◆➤❙➥➧➦➨➥❅❄ ❆✧❇✄❈✍❉ ✓❥P➎✆❊③è➜✗❣à↕✾➙û✗üö➜✞➝➴✗➢✩❁✄Û↕✟❋è ◗❍●➢ ➼✞➽é✆ê ■✖❏✟❑✄▲➜✄❣❥✍▼✄✾è✠❹ ➱✌➢✡◆✟❖➜✗❣❥ï▼✟✾✆Ù✍P❷❶✟◗✽❫è❙➐✰✗➑✠❒ ❘❹❨Û✰❚❙ã❥☛➛➒❦✆➔✠➣✄❯✕è✞❹ ♦q♣ ❺ ✷ â✸❱✥✣❬➀◆❽ r ➯✥✣ ➇❬➈ ➇ t✈⑨★❲✄✇❶①✢t✜❳ ①✢t✜❨ ① ♦q♣ ❺ ✷ ➌◆➮③➳➈❩✷ â✸❱✥✣❬➀◆❽ r ➯✥✣ ➇❬➈❊➇ tõ⑨✖❲✗✇❶①✢t✜❳ ①✢t✜❨ ① Û✶✐➔✞➣☛↔è✾ ☎✝ÔÖ×➜✎❣✍❬✄❭✟❪✄❫➴❂✄❂✏✎✏✟❴❷✛è ⑨✍❲✑✇ ➢ ➒✗➓✄❵ ö⑦➜✑❣➢ ç✄❛❒❚❳ ➢❙ï✑❆ç✄❛❒❜❨ ❹ ✮✗➣✵➢ ✾❡❺ ✷ ➌◆➮✢➳➈❝✷ â✸❱✤✣❬➀➋❽ r ➯✤✣ ➇ ➈ ➇ ➔❞➣ ❡✧❢❝❣✐❤❦❥♠❧✤♥♦❧✸♣rq ❞ ❰➴❮✌❰rsq➼ ÷➓ý ♣ ÷ ù✕ù✍ù