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