[NTG-context] context.delayed as parameter of setuphead[before=...]

Jairo A. del Rio jairoadelrio6 at gmail.com
Tue Nov 3 05:03:23 CET 2020


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 at 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 <jairoadelrio6 at gmail.com>
> 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 at 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 at 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 at 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 at 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
>
> ___________________________________________________________________________________
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20201102/57faaa5a/attachment.htm>


More information about the ntg-context mailing list