Re: Give parts of commands/definitions to a called command (to parse arguments)
Oliver Bandel <[email protected]> Fri, 22 Apr 2016 01:37:28 +0200
| Newsgroups | gmane.comp.type-setting.lout |
|---|---|
| Message-ID | <20160422013728.Horde.cyx3g68HzB5x6UG29UpPq0L@webmail.in-berlin.de> |
Zitat von Valery Ushakov <[email protected]> (Thu, 21 Apr 2016 00:10:15 +0300) > On Wed, Apr 20, 2016 at 19:33:38 +0200, Oliver Bandel wrote: > >> def vvec >> right body >> { pmatrix strut { Yes } body } >> >> The body is nor parsed again, so it is not seen as command, when using >> >> vvec { row col a row col b row col c } >> >> inside @Eq. > [...] >> Or are there other ways to achieve my goal? > > Just use a macro. "pmatrix" itself is a macro that supplies some > additional paramters to "matrix". > > import @Math macro vvec { pmatrix strut { Yes } } [...] Thanks, that works :-) What I had first in mind was going far beyond that... ,,,because I wanted to have vvec working in a way, so that I only need to give the elements of the vector, and don't need to type in the "row" and "col" keywords. This would need to have a way to parse an argument list. It would be nice to then use only: vvec( 2, 3, 4, 55, 6 ) and the values wil be set each on a seperate row and col. Or maybe without the commas, giving only objects to vvec: vvec( 2 3 4 55 6 ) > > > PS: > >> Is there a way to parse the body inside the vvec-command? > > Ugm, ... jein... Using extend or import on a named paramter, like in my > previous example with "int". But the problem is that the body will be > evaluated in the wrong environment. [...] I'm not familiar with all the import/extend/... stuff. Also ... what is just "@" as argument name? Seems there is some more details I just don't know at the moment. Ciao, Oliver