[NTG-context] How to "\processcommalist"?

Mojca Miklavec mojca.miklavec.lists at gmail.com
Fri Jul 1 20:45:19 CEST 2005


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


More information about the ntg-context mailing list