Jaroslav Hajtmar wrote:
Where is a problem? Is there any solutions with [[ ... ]]
Category codes, of course. :) \startluacode leaves the backslash at category code 0, and expands its argument so that you can use TeX macros inside the environment (which is normally what is wanted). The special macro \\ is let to \relax so that it does not actually expand, which is why normal quoted lua strings work out ok. Anyway, this works, but you loose the benefits of [[ ... ]] strings: \startluacode luastring=[[ \\def\\texmacro#1{\\directlua{luafunction(#1)}} ]] luastring = luastring:gsub('\\\\','\\') tex.sprint(luastring) \stopluacode Generally speaking, you are much better off with an external file because in an external file the category code of the backslash character (or any other character) does not matter, and then you only have to worry about lua input syntax. Best wishes, Taco