[Dev-luatex] variable

Hans Hagen pragma at wxs.nl
Tue Mar 6 09:29:22 CET 2018


On 3/6/2018 4:43 AM, Bruno Le Floch wrote:
> On 03/05/2018 12:00 PM, Hans Hagen wrote:
>> On 3/5/2018 5:08 PM, and at linux.pl wrote:
>>> Hello,
>>>
>>> Anybody know how I can set variable in tex?
>>>
>>> For example
>>>
>>> \count10=20
>>> \def\proste{To jest prosty napis}
>>>    a\directlua{tex.print(tex.count[10]+5)}b
>>>    a\directlua{tex.set("\proste","Trudne")}b
>>> \proste
>>> \bye
>>>
>>> I need setup \proste definition to my own string
>>>
>>> How I can read TeX variable \mynumber from lua
>>> and set variable \mynumber on TeX but set in lua script.
>>
>> \starttext
>>
>> \newcount\MyCount \MyCount = 20
>>
>> \def\MyMacro{To jest prosty napis}
>>
>> a\directlua{tex.print(tex.getcount("MyCount")+5)}b
>>
>> a\directlua{token.set_macro("MyMacro","Trudne")}b
>>
>> \MyMacro
>>
>> \stoptext
>>
>>
> 
> Interestingly, token.set_macro allows defining macros whose replacement
> text has unbalanced braces.
> 
> \directlua{token.set_macro("MyMacro", "\string{")}
> \expandafter\show\MyMacro
> \bye

Indeed. No expansion and parsing is involved except for one level 
checking of catcodes and tokens.

This function is mostly there for simple usage like storing a string or 
so (no support for parameters etc).

A bit like:

\edef\foo{\noexpand\scantextokens{\string{}}
\edef\oof{\noexpand\scantextokens{\string}}}

test \foo\bf bar\oof\ test

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the dev-luatex mailing list