[NTG-pdftex] Extensions: \pdf$foo or \$foo?

Hans Hagen pragma at wxs.nl
Fri Jul 1 16:13:59 CEST 2005


Heiko Oberdiek wrote:
> On Fri, Jul 01, 2005 at 09:11:13AM +0200, Pawel Jackowski wrote:
> 
> 
>>>Heiko:
>>>And what about packages, macros that are not released?
>>>Documents are allowed to contain macro definitions. Thus
>>>existing documents can break because of added new primitives[...]
>>
>>Nope, since macros defined in the document will always override the 
>>primitive meaning. The document will NOT crash and won't need a 
>>primitive meaning of the clashed command, since was prepared before the 
>>command was implemented.
> 
> 
> Examples with a new primitive: \match
> 
> Szenario A: User defines macro:
>   \newcommand{\match}{Hello World}
>   ==> Error message, \match already defined.
> 
> Szenario B:
>   \def\match!#1!#2!#3{...}
> 
>   Some package (hyperref, ...) uses the new primitive:
>   \match{...}{...}
>   ==> Document fails with: Use of \match doesn't match its definition.

so, for latex the solution would be (in the latex specific initialization file):

\let\pdfmatch\match \let\match\undefined

That way you get (1) a prefix (one that will not clash with other prefixes) and 
(2) we keep tex prefix-clean

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------



More information about the ntg-pdftex mailing list