olli@sopos.org writes:
I'm new to both luatex and this list and I hope my question is in the scope of this list:
Javier Bezos wrote in http://www.ntg.nl/mailman/private/dev-luatex/2006-December/000265.html
Taco:
This is the simplest solution:
\let\\\relax \directlua0{tex.print("\\uppercase{hello}");}
:-/ Too ad hoc, but it helped, as I understood what's going on. So I tried:
\directlua0\expandafter{% \detokenize{tex.print("\\section{Hola $\\sin a_0^2$}");}}
Seems to work.
I tried to wrap this in a \startlua -- \endlua pair, but this fails:
\def\startlua{\directlua0\expandafter\bgroup\detokenize\bgroup} \def\endlua{\egroup\egroup}
\startlua tex.print("\\uppercase{Hallo Welt}") \endlua
If I replace the "\endlua" with "}}", it works. I even messed around with \catdoc`\}=12 and things like that, but didn't succeed.
You are thinking too complicated. \detokenize requires a brace-matched input anyway which is scanned using current catcodes, so you gain nothing at all by circumventing premature argument scanning. So you can just do \long\def\startlua#1\endlua{\directlua0\expandafter{\detokenize{#1}}} and that's it. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum