![](https://secure.gravatar.com/avatar/23c65792d6f3eb5f6194f6ec9eadc2ac.jpg?s=120&d=mm&r=g)
Sorry. What I meant is: when you use context.setuphead({'chapter'}, {title="Some text"}) at the Lua end, {'chapter'} and {title="Some text"} (notice "Some text" is a string, not a function) are Lua tables. TeX will print "Some text", but it won't work for context.delayed as it is another table (metatable trickery to allow nesting, I guess). Try: \starttext \startluacode context(type(context.delayed)) \stopluacode \stoptext Long story short: context.cmda(context.delayed.cmdb(something)) will (possibly) work; context.cmdc({key=context.delayed.cmdd(somethingelse)}) won't. Hans and Wolfgang can elaborate in case I've missed something. Jairo :) El lun., 2 de nov. de 2020 a la(s) 22:06, Sylvain Hubert ( champignoom@gmail.com) escribió:
as tables like those in setuphead({somehead}, {somesettings}) are actual Lua tables and follow Lua, not TeX, rules But there are lua apis that support delayed TeX like `context.chapter(context.delayed'text')`. Whether or not the function is stored in a table should be theoretically irrelevant. I guess there should be a switch somewhere that let the command recognized delayed function.
On Tue, 3 Nov 2020 at 03:29, Jairo A. del Rio
wrote: On the Lua side, you'll have to pass strings so your example works, as tables like those in setuphead({somehead}, {somesettings}) are actual Lua tables and follow Lua, not TeX, rules (see e.g. Lua reference in https://www.lua.org/manual/5.4/ or, better, CLD manual in http://www.pragma-ade.nl/general/manuals/cld-mkiv.pdf):
\starttext
\startluacode
--First example
for m = 1, 3 do
context.setuphead({'chapter'}, {before='hello'})
context.startchapter({title="I'm a chapter!"})
for i = 1, 3 do
context.input("knuth")
end
context.stopchapter()
end
--Second example
--We'll pass some strings to TeX
local nice = "ConTeXt is love, ConTeXt is life"
local somehead = 'chapter'
local sometext = 'vallejo-trilce-es'
context.setuphead({somehead}, {before=nice})
context.startchapter({title=somehead})
context.input(sometext)
context.stopchapter()
\stopluacode
\stoptext
I hope examples help.
Regards,
Jairo :)
El lun., 2 de nov. de 2020 a la(s) 21:09, Sylvain Hubert ( champignoom@gmail.com) escribió:
Dear List,
I'm trying to mirror the context command `\setuphead[chapter][before=hello]` into lua with delayed typesetting of 'hello', but `\ctxlua{context.setuphead({'chapter'}, {before=context.delayed'hello'})}` does not have any effect. Could anyone help me on this? Thanks!
Best, Sylvain
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net
___________________________________________________________________________________