On Thu, May 13, 2010 at 09:30, Taco Hoekwater <t...@elvenkind.com> wrote: > Like many of the more complex commands, \processaction does not > expand totally. If you are using mkiv, you could define \Shape > like this: > > \def\Shape#1% > {\directlua{ > local known = {square = 'unitsquare', circle = 'unitcircle' } > tex.sprint(known[#1] or 'unitsquare')}}
Thanks Taco. That does the trick provided you enclose #1 with quotes: \def\Shape#1% {\directlua{ local known = {square = 'unitsquare', circle = 'unitcircle' } tex.sprint(known['#1'] or 'unitsquare')}} Another, maybe uglier but plain TeX, solution I've come up with is defining auxiliary macros: \def\ShapeSSSsquare{unitsquare} \def\ShapeSSScircle{unitcircle} \def\Shape#1{\csname ShapeSSS#1\endcsname} But of course, this does not handle unknown options (though that could be added). I'll add this to the wiki. Vianney ___________________________________________________________________________________ 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 ___________________________________________________________________________________