Am 18.04.10 21:12, schrieb Vyatcheslav Yatskovsky:
Hello,

Patrick posed a good question on wiki at

http://wiki.contextgarden.net/Reference/en/define

"is there any bonus when I use \define instead of \def?"
1. \define checks if the command you try to create already exists,
   if this is the case no new command is created but you get a message
   on the terminal

2. you can give the number of arguments as a number (e.g. \define[2]\...{})
   while \def expects them with the hash (e.g. \def\...#1#2{...})

3. depending on your style you can avoid one '%' at the end of the first line

   \def\...#1#2%
     {...}

   vs.

   \define[2]\...
     {...}

4. a disadvantage is that you can't create commands with optional arguments,
   Hans showed a different which made this possible in mkiv but it made it
   in the official version of \define

5. the wiki page mentions you can create \long macros with \define but
   this isn't the case in mkiv because each macro is no \long

Wolfgang

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to