Hallo ConTeXters,
I am playing with defining my own macro with key=value parameters. Please, consider definition:
\def\setupField[#1]#2[#3]{\getparameters[Field!#1!][#3]} \setupField[name][mykey=value,textwidth=2cm]
If you let ConTeXt to show the values by
\message{ <mykey=\getvalue{Field!name!mykey}> <textwidth=\getvalue{Field!name!textwidth}> <tekstbreedte=\getvalue{Field!name!tekstbreedte}> }
you obtain
<mykey=value> <textwidth=\Field!name!textwidth > <tekstbreedte=2cm>
While 'mykey' is OK, predefined keys (like textwidth, text, style, ...) lead to undefined parameter, that behave like \relax.
I can imagine next solutions: 1) Do not use predefined keys in my macros, e.g. textWidth instead of textwidth [=user unfriendly]. 2) Use original (mostly Dutch) keys inside of my macros [=developer unfriendly]. 3) Define: \unprotect \def\getparametersALL{\dogetparameters\dosetvalueALL} [EMAIL PROTECTED] \protect
and use: \def\setupField[#1]#2[#3]{\getparametersALL[Field!#1!][#3]} \setupField[name][mykey=value,textwidth=2cm] \message{ <mykey=\getvalue{Field!name!mykey}> <textwidth=\getvalue{Field!name!textwidth}> <tekstbreedte=\getvalue{Field!name!tekstbreedte}> }
it gives: <mykey=value> <textwidth=2cm> <tekstbreedte=\Field!enname!tekstbreedte>
Is there any other (more elegant and not-so-dirty) solution?
Thankx Vit Zyka
_______________________________________________ ntg-context mailing list [EMAIL PROTECTED] http://www.ntg.nl/mailman/listinfo/ntg-context