![](https://secure.gravatar.com/avatar/5faea8b4fa0adb143383811dc94f0d22.jpg?s=120&d=mm&r=g)
Hi all, I would like to write a macro which may have sometimes two, sometimes three arguments. The first and the last one are always present, but not necessarily the middle one. The unsatisfactory solution I have now is something like the example below: \define[2]\myMacroTwo{Name: #1\crlf Email: #2\crlf\thinrule\blank[small]} \define[3]\myMacroThree{Name: #1\crlf Address: #2 \crlf Email: #3\crlf\thinrule\blank[small]} \starttext \myMacroTwo{Hans}{hans@hagen.context.nl} \myMacroThree{Wolfgang}{Paradise of TeX, 2010}{wolfgang@schuster.context.de} \stoptext I think that (or rather I am certain…) in ConTeXt it is possible to define a unique macro called \myMacro which automatically tests the number of arguments: if there are only two of them the commands in \myMacroTwo are executed, while if three arguments are present, the commands in \myMacroThree are executed. Can anyone give a hint on this matter?