Am 10.12.2013 um 15:24 schrieb Pavel Stupin
Thank you, Wolfgang! Much to my delight, \startembeddedxtable works indeed, however, when I increase the number of arguments up to 10 --- to use the simplest example possible, without any tables: \define[10]\myText{#1 #2 #3 #4 #5 #6 #7 #8 #9 #10} --- it doesn't work again (works fine with 9 arguments). Am I correct assuming that there's an inherent limitation to 9 arguments only or the 2+-digit numbers should be written somehow differently? Is there any workaround?
Yes, there is a limit of nine argument for macros. There are a few ways to extend the number of arguments and it requires a few lines of code to do this and a better solution is to use a key-val-interface when you have to set a lot of values. One way to set values is the \getparameters command but the disadvantage of this is that you to ensure not to call values (e.g. \testthree) which aren’t set (e.g. not “three={…}” setting for the \test command). \def\test {\dosingleargument\dotest} \def\dotest[#1]% {\begingroup \getrawparameters[test][#1]% \starttabulate \NC 1 \EQ \testone \NC\NR \NC 2 \EQ \testtwo \NC\NR \stoptabulate \endgroup} \starttext \test[one={First row},two={Second row}] \stoptext You can avoid this problem with unknown keys when you use \getdummyparameters to set the parameters and access them with \dummyparameter because when you access the unknown values a empty string is returned. \def\test {\dosingleargument\dotest} \def\dotest[#1]% {\begingroup \getdummyparameters[#1]% \starttabulate \NC 1 \EQ \dummyparameter{one} \NC\NR \NC 2 \EQ \dummyparameter{two} \NC\NR \stoptabulate \endgroup} \starttext \test[one={First row},two={Second row}] \stoptext Wolfgang