# [NTG-context] Using lua to define a macro with one optional parameter in brackets

Hans Hagen pragma at wxs.nl
Thu Jul 9 11:07:41 CEST 2015

On 7/9/2015 7:22 AM, Jaroslav Hajtmar wrote:
> Hi Hans.
> Only for explanation of my (maybe) crazy request:
> I can not at this level TeX macros to create, because it creates
> automatically after opening the CSV file. Although I tried to start
> creating something with \ csname \ endcsname etc. but my experiments
> with this method were never successful. In addition with TeX probably I
> can not work as well as with Lua (for things which in this case I need
> ie. at low level). Given that I have a CSV file loaded in global
> variables and header information at my disposal, I Lua everything you
> need me to do what I need. The problem is that the macros created in Lua
> I sometimes do not work as well when I create TeX (during the cycle will
> automatically fall short values). I have a particularly bad experience
> in this regard with the construction, he sent Taco.
>
> Simplified version of "interfaces.definecommand" construction does not
> in my way of processing the results of what I expected.

interfaces.setmacro("name","value")

> Module which at the moment I work (in collaboration with Pablo
> Rodriguez) at the moment is very complex and extensive, and already it
> slowly begin to lose myself :-), so I try to get any information from
> the conference.
> Thank you and also to other counselors too at the conference for their
> cooperation in solve my problems.
>
> Jaroslav Hajtmar
>
>
>
>
> Dne 8. 7. 2015 v 20:54 Hans Hagen napsal(a):
>> On 7/8/2015 4:11 PM, Jaroslav Hajtmar wrote:
>>> Thanks Taco very much.
>>>
>>> At this point, it really works in simple situations, but in the event
>>> that this solution will incorporate into the existing system, then I
>>> have big problems with expansion (values are not updated in macros). I
>>> need more solutions using something like context.setgvalue, or at least
>>> according to the following example. If they could incorporate the
>>> remaining two definitions
>>> ie
>>> \def\simpleA {content when parameter is missing}
>>> \def\complexA[#1]{parameter #1}
>>>
>>> into luacode (probably encounter a problem with #), so it might work.
>>> Can not think of anyone, how it could be done differently?
>>> Thanks Jaroslav Hajtmar
>>>
>>> Here is minimal example:
>>>
>>> \ctxlua{
>>> xlsname='A'
>>> content='content when parameter is missing'
>>> context([[\definecomplexorsimple\]]..xlsname)
>>> %context([[\def\simple]]..xlsname..[[{]]..content..[[}]])
>>> %context([[\def\complex]]..xlsname..'[#1]'..[[{Neco: #1}]])
>>> }
>>>
>>> \def\simpleA {content when parameter is missing}
>>> \def\complexA[#1]{parameter #1}
>>
>> why don't you define these commands at the tex level
>>
>> Hans
>>
>> -----------------------------------------------------------------
>>                                           Hans Hagen | PRAGMA ADE
>>               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>>     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
>>                                              | www.pragma-pod.nl
>> -----------------------------------------------------------------
>> ___________________________________________________________________________________
>>
>> to the Wiki!
>>
>> maillist : ntg-context at ntg.nl /
>> http://www.ntg.nl/mailman/listinfo/ntg-context
>> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
>> archive  : http://foundry.supelec.fr/projects/contextrev/
>> wiki     : http://contextgarden.net
>> ___________________________________________________________________________________
>>
>
> ___________________________________________________________________________________
>
> to the Wiki!
>
> maillist : ntg-context at ntg.nl /
> http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

--

-----------------------------------------------------------------