[luatex] Getting macro expansions from Lua

Reiner Pope reiner.pope at gmail.com
Wed Jun 1 17:01:12 CEST 2011


I'm trying to expand TeX macros from within Lua code, but I can't work 
out how to do this.

I would like to write code like this

   t = token.create("A")
   toks = tex.get_expansion(t)  % the tex.get_expansion function is what 
I want
   % toks should consist of the token '1'.


My motivation is that I want to access LaTeX's referencing information 
from Lua. To find the label number for, say, 'equationone', I need to 
look in the macro \r at equationone.

It is possible to achieve roughly what I want by calling out of Lua and 
back into it, but it's ugly:

(file test.tex)
   s = "A"

(file test.lua)
tex.sprint('\\directlua{ t = "\\' .. s .. '"\
     if t == "1" then tex.sprint("got 1") else tex.sprint("not 1") end\

(This will print "got 1" if the first line is \def\A{1}, and will print 
"not 1" otherwise.)

What I'm looking for is a way to do this without nesting 


More information about the luatex mailing list