Re: [NTG-context] Macro argument handling problem!

2011-04-23 Thread Verhaag, G.C.H.M.

On 04/21/2011 01:32 PM, Wolfgang Schuster wrote:


Am 21.04.2011 um 12:28 schrieb Verhaag, G.C.H.M.:


Hi,

I try this example from the wiki page System Macros/Argument handling:

\def\dodefinesomething[#1][#2]%
 {\getparameters[\??xx#1][#2]}

\def\definesomething%
 {\dodoubleargumentwithset\dodefinesomething}

\starttext
\definesomething[alfa][variable=test]
\stoptext


Running this yields

! Undefined control sequence

I'm trying to write a few macros with optional delimited arguments 
with key-value sets and started reading the appropriate pages, but 
can't figure out why this example fails to run.


Anybody any idea?


I guess the message comes from your namespace which is in this form
only allowed in unprotected mode, to enter you need \unprotect before
and \protect after your command declarations. Another problem is that
you use a system namespace (two “?” and two letters) but for modules
we use now four “?” and also more than two letter, e.g.

\def\something{something}

\def\definesomething
  {\dodoubleargumentwithset\dodefinesomething}

\def\dodefinesomething[#1][#2]%
  {\getparameters[\something#1][#2]}

You should also take a look at the \definenamespace command which
creates the \define… and \setup… commands for you:

- http://wiki.contextgarden.net/Module_Namespaces
- 
http://tex.stackexchange.com/questions/15157/how-to-make-a-ruler/15185#15185


Wolfgang



Hi,

Thanks for the tips and the references to the appropriate wiki pages!

Regards,
Gerard Verhaag
___
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
___


[NTG-context] Macro argument handling problem!

2011-04-21 Thread Verhaag, G.C.H.M.

Hi,

I try this example from the wiki page System Macros/Argument handling:

\def\dodefinesomething[#1][#2]%
  {\getparameters[\??xx#1][#2]}

\def\definesomething%
  {\dodoubleargumentwithset\dodefinesomething}

\starttext
 \definesomething[alfa][variable=test]
\stoptext


Running this yields

! Undefined control sequence

I'm trying to write a few macros with optional delimited arguments with 
key-value sets and started reading the appropriate pages, but can't 
figure out why this example fails to run.


Anybody any idea?

Regards,
Gerard Verhaag
___
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
___


Re: [NTG-context] Macro argument handling problem!

2011-04-21 Thread Wolfgang Schuster

Am 21.04.2011 um 12:28 schrieb Verhaag, G.C.H.M.:

 Hi,
 
 I try this example from the wiki page System Macros/Argument handling:
 
 \def\dodefinesomething[#1][#2]%
  {\getparameters[\??xx#1][#2]}
 
 \def\definesomething%
  {\dodoubleargumentwithset\dodefinesomething}
 
 \starttext
 \definesomething[alfa][variable=test]
 \stoptext
 
 
 Running this yields
 
 ! Undefined control sequence
 
 I'm trying to write a few macros with optional delimited arguments with 
 key-value sets and started reading the appropriate pages, but can't figure 
 out why this example fails to run.
 
 Anybody any idea?

I guess the message comes from your namespace which is in this form
only allowed in unprotected mode, to enter you need \unprotect before
and \protect after your command declarations. Another problem is that
you use a system namespace (two “?” and two letters) but for modules
we use now four “?” and also more than two letter, e.g.

\def\something{something}

\def\definesomething
  {\dodoubleargumentwithset\dodefinesomething}

\def\dodefinesomething[#1][#2]%
  {\getparameters[\something#1][#2]}

You should also take a look at the \definenamespace command which
creates the \define… and \setup… commands for you:

- http://wiki.contextgarden.net/Module_Namespaces
- http://tex.stackexchange.com/questions/15157/how-to-make-a-ruler/15185#15185

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
___

Re: [NTG-context] Macro argument handling problem!

2011-04-21 Thread luigi scarso
On Thu, Apr 21, 2011 at 1:32 PM, Wolfgang Schuster
schuster.wolfg...@googlemail.com wrote:

 Am 21.04.2011 um 12:28 schrieb Verhaag, G.C.H.M.:

 Hi,

 I try this example from the wiki page System Macros/Argument handling:

 \def\dodefinesomething[#1][#2]%
  {\getparameters[\??xx#1][#2]}

 \def\definesomething%
  {\dodoubleargumentwithset\dodefinesomething}

 \starttext
 \definesomething[alfa][variable=test]
 \stoptext


 Running this yields

 ! Undefined control sequence

 I'm trying to write a few macros with optional delimited arguments with
 key-value sets and started reading the appropriate pages, but can't figure
 out why this example fails to run.

 Anybody any idea?

 I guess the message comes from your namespace which is in this form
 only allowed in unprotected mode, to enter you need \unprotect before
 and \protect after your command declarations



! Undefined control sequence.

system   tex  error on line 8 in file test.tex: Undefined
control sequence ...

 1 \unprotect
 2 \def\definesomething%
 3  {\dodoubleargumentwithset\dodefinesomething}
 4 \def\dodefinesomething[#1][#2]%
 5  {\getparameters[\??xx#1][#2]}
 6 \protect
 7 \starttext
 8\definesomething[alfa][variable=test]
 9 \stoptext
10
11
12

argument \??xx
 alfa
\setsomevalue #1#2-\@EA \def \csname #1
#2\endcsname
\p!doassign ...EAEA \setsomevalue \fi \fi {#1}{#2}
  {#3}
\xprocesscommaitem ...@relax@ #1==\empty \@relax@
  \@EAEAEA \xprocesscommaite...
\xdogetparameters #1]-\xprocesscommaitem #1,]
  ,\@relax@
\next1 #1,-\@@dodowithsetcommand {#1}
  \doprocesscommaitem
...
l.8  \definesomething[alfa][variable=test]


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

Re: [NTG-context] Macro argument handling problem!

2011-04-21 Thread Wolfgang Schuster

Am 21.04.2011 um 13:35 schrieb luigi scarso:

 On Thu, Apr 21, 2011 at 1:32 PM, Wolfgang Schuster
 schuster.wolfg...@googlemail.com wrote:
 
 Am 21.04.2011 um 12:28 schrieb Verhaag, G.C.H.M.:
 
 Hi,
 
 I try this example from the wiki page System Macros/Argument handling:
 
 \def\dodefinesomething[#1][#2]%
  {\getparameters[\??xx#1][#2]}
 
 \def\definesomething%
  {\dodoubleargumentwithset\dodefinesomething}
 
 \starttext
 \definesomething[alfa][variable=test]
 \stoptext
 
 
 Running this yields
 
 ! Undefined control sequence
 
 I'm trying to write a few macros with optional delimited arguments with
 key-value sets and started reading the appropriate pages, but can't figure
 out why this example fails to run.
 
 Anybody any idea?
 
 I guess the message comes from your namespace which is in this form
 only allowed in unprotected mode, to enter you need \unprotect before
 and \protect after your command declarations
 
 
 
 ! Undefined control sequence.
 
 system   tex  error on line 8 in file test.tex: Undefined
 control sequence ...
 
 1 \unprotect
 2 \def\definesomething%
 3  {\dodoubleargumentwithset\dodefinesomething}
 4 \def\dodefinesomething[#1][#2]%
 5  {\getparameters[\??xx#1][#2]}
 6 \protect
 7 \starttext
 8\definesomething[alfa][variable=test]
 9 \stoptext
 10
 11
 12
 
 argument \??xx
 alfa
 \setsomevalue #1#2-\@EA \def \csname #1
#2\endcsname
 \p!doassign ...EAEA \setsomevalue \fi \fi {#1}{#2}
  {#3}
 \xprocesscommaitem ...@relax@ #1==\empty \@relax@
  \@EAEAEA \xprocesscommaite...
 \xdogetparameters #1]-\xprocesscommaitem #1,]
  ,\@relax@
 \next1 #1,-\@@dodowithsetcommand {#1}
  \doprocesscommaitem
 ...
 l.8  \definesomething[alfa][variable=test]

\definenamespace
  [something]
  [   type=module,
  name=something,
   command=yes]

\starttext
\definesomething[alfa][variable=test]
\stoptext

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
___