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