[NTG-context] define command

2008-11-14 Thread Alan STONE
Hi,

For example

\define\somemacro[3]{...}

gets invoked with

\somemacro{#1}{#2}{#3}

How do you get rid of those repeating pesky curly brackets and
invoke a user defined macro with

\somemacro{#1,#2,#3}

instead ?  :O)

-- 
Best,
Alan

* TeX engine = LuaTeX
* ConTeXt  minimals ver: 2008.56.06 19:11 MKIV  fmt: 2008.11.10  int:
english/english
* Ubuntu 8.04 Hardy Heron
___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] define command

2008-11-14 Thread Wolfgang Schuster

Am 14.11.2008 um 12:58 schrieb Alan STONE:

 Hi,

 For example

 \define\somemacro[3]{...}

 gets invoked with

 \somemacro{#1}{#2}{#3}

 How do you get rid of those repeating pesky curly brackets and
 invoke a user defined macro with

 \somemacro{#1,#2,#3}


\starttext

\def\somemacro#1%
   {\def\dosomemacro##1{(##1)}%
\processcommalist[#1]\dosomemacro}

\somemacro{A,B,C}

\stoptext

http://wiki.contextgarden.net/System_Macros/Comma_Separated_Lists
http://wiki.contextgarden.net/Inside_ConTeXt

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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] define command

2008-11-14 Thread luigi scarso
On Fri, Nov 14, 2008 at 12:58 PM, Alan STONE
[EMAIL PROTECTED]wrote:

 Hi,

 For example

 \define\somemacro[3]{...}

 gets invoked with

 \somemacro{#1}{#2}{#3}

 How do you get rid of those repeating pesky curly brackets and
 invoke a user defined macro with

 \somemacro{#1,#2,#3}



Not what you want, but I have found useful this

\def\SomeMacro[#1]{%
\getparameters[SOMEMACRO][#1]
%%
%%now you have \csname SOMEMACRO{}\endcsname
%%
%%
}

\SomeMacro[foo=2,boo=4,goo=\TeX, my name is =joe]

\SOMEMACROfoo
\SOMEMACROboo
\SOMEMACROgoo
\csname SOMEMACROmy name is\endcsname


-- 
luigi
___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] define command

2008-11-14 Thread Aditya Mahajan
On Fri, 14 Nov 2008, Alan STONE wrote:

 Hi,

 For example

 \define\somemacro[3]{...}

 gets invoked with

 \somemacro{#1}{#2}{#3}

 How do you get rid of those repeating pesky curly brackets and
 invoke a user defined macro with

 \somemacro{#1,#2,#3}

 instead ?  :O)

Others have replied how to define this if you want arbitrary number of 
parameters. But if you want something similar to \somemacro#1#2#3 you can 
use (the is some extra book-keeing because you want {..} as delimiters. 
Which means you either change catcodes, or do this shuffling around of 
arguments)

\def\somemacro#1%
{\dosomemaco[#1]}

\def\dosomemacro[#1,#2,#3]%
   {whatever you want the macro to be}

Aditya
___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___