Is there any difference between \startlua and \startluacode? The commands seem to have a similar purpose, but I have found some code does compile properly if the wrong one is chosen. When is one used? When is the other?

  • 2
    Can you provide an example where startlua works and startluacode not. Commented Apr 6, 2012 at 15:57

1 Answer 1


The difference are the catcodes. \startlua uses TeX catcodes, startluacode uses Lua catcodes. Two examples:


-- fails both
-- context("Foo %Bar")
-- %context("Foo \n Bar")

-- prints Foo
-- context("Foo %Bar")

-- prints Foo Bar
context("Foo \n Bar")


For more information you can have a look at the source file luat-ini.mkiv.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .