Hello. I am experimenting with courious things in LuaTeX (combining TeX and Lua codes) and I have a problem with lua strings containing TeX definitions. When string (containing definition of TeX macro with \directlua call-in) is creating in the separate lua file (reading by command dofile) then script does work OK, but when string is inside \startluacode \stopluacode environment, then does work only when i use text string inside ' ' for example: luastring='\\def\\texmacro\#1\{\\directlua\{luafunction(\#1)\}\}' Script does not work when i use text inside [[ ... ]]! (message undefined control sequence) for example: luastring=[[ \def\texmacro#1{ \directlua{luafunction(#1)} } ]] Where is a problem? Is there any solutions with [[ ... ]] Thanx Jaroslav ============================================ Here are all functioning scripts: 1) all in one file: \startluacode function luafunction(num) if num==nil then num = 1 end for i=1,num do tex.sprint(i..') Hello\\par ') end end luastring='\\def\\texmacro\#1\{\\directlua\{luafunction(\#1)\}\}' tex.sprint(luastring) \stopluacode \def\texmacrotwo#1{ \directlua{luafunction(#1)} \par } \starttext \texmacro{7} \texmacrotwo{10} \stoptext ===================================================== 2) Script in two separates files: %this is file ulet.tex : \directlua{dofile("ulet.lua")} \def\texmacrotwo#1{ \directlua{luafunction(#1)} \par } \starttext \texmacro{7} \texmacrotwo{10} \stoptext And here is content of external file ulet.lua: function luafunction(num) for i=1,num do tex.sprint(i..[[) Hello\par]]) end end luastring=[[ \def\texmacro#1{ \directlua{luafunction(#1)} } ]] tex.sprint(luastring)