Taco Hoekwater wrote: > Mojca Miklavec wrote: > > I would like to define a command, which would be called in the following > > way: > > \TheBossWantsTheWorkToBeDoneOn[monday,wednesday,thursday]{tidy up} > > > > so that it would be equivalent to: > > \WeHaveToDo[monday]{tidy up} > > \WeHaveToDo[wednesday]{tidy up} > > \WeHaveToDo[thursday]{tidy up} > > > > I played a bit with different variants of \processcommalist, but I > > can't figure out how to use it in this particular case. > > The trick is to store the tidy up inside the processing command, > like so: > > \def\WeHaveToDo[#1]#2{\message{(#1: #2)}} > > \def\TheBossWantsTheWorkToBeDoneOn[#1]#2% > {\begingroup > \def\processitem##1{\WeHaveToDo[##1]{#2}}% > \processcommalist[#1]\processitem > \endgroup } > > \TheBossWantsTheWorkToBeDoneOn[monday,wednesday,thursday]{tidy up}
Great, thanks Taco! It works. It seems easier than I thought, but I could have spent hours looking for the proper solution alone. I hope this will land in the t-rsteps module (\OnSteps[1,2,3,6]{...}). > > Is there also a possibility to define a command like > > \IHaveToDoTheTasks[1-4,7,9-11]{until tomorrow} > > There was not, but knowing Hans I trust that soon there will be :-). :) > For now, here is my solution. > > [...] > > With these, you can do: > > \def\IHaveToDoTheTask[#1]#2{\message{(#1: #2)}} > > \def\IHaveToDoTheTasks[#1]#2% > {\begingroup > \def\processitem##1{\IHaveToDoTheTask[##1]{#2}}% > \uncompresslist[#1]% <= Yeah! > \processcommacommand[\uncompressedlist]\processitem > \endgroup } > > I hope you understand what I've done, but otherwise, feel > free to ask, of course. Well, my stomach needs some time to process the latter example. But if I write \def\IHaveToDoTheTask[#1]#2{\message{(#1: #2)}The task #1 has to be done #2.\crlf} \IHaveToDoTheTasks[1-3]{until tomorrow} nothing happens. Thanks again, Mojca _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context