[NTG-context] issue embedding from Lua code

Hans Hagen j.hagen at xs4all.nl
Fri Nov 1 10:29:29 CET 2019


On 11/1/2019 9:13 AM, Wolfgang Schuster wrote:
> Pablo Rodriguez schrieb am 01.11.2019 um 08:20:
>> Dear list,
>>
>> I have the following sample:
>>
>>      \setupinteraction[state=start]
>>      \starttext
>>      \startluacode
>>      function document.special_attachment(reference)
>>          year = reference:sub(7, 10)
>>          attachment_url = "https://www.boe.es/buscar/pdf/" ..
>>          year .. "/" .. reference .. "-consolidado.pdf"
>>          return attachment_url
>>      end
>>      \stopluacode
>>
>>      \unexpanded\def\giveattachment#1{%
>>          \cldcontext{document.special_attachment("#1")}}
>>
>>      \def\cE{BOE-A-1978-31229}
>>
>>      \attachment[file={\giveattachment{\cE}}, color=red]
>>
>>
>> \attachment[file={https://www.boe.es/buscar/pdf/1978/BOE-A-1978-31229-consolidado.pdf}, 
>>
>>       color=blue]
>>
>>      \giveattachment{\cE}
>>
>>      \stoptext
>>
>> I don’t know why I do get the second attachment, but not the first one.
>> Lua code seems to be fine (given the last command in the sample).
>>
>> Could anyone explain me what I’m doing wrong?
> You try to pass a protected (\expanded\def) command to a argument of 
> another command
> which doesn't work: Remove \unexpanded and your output is as expected.
> 
> \def\giveattachment#1%
>    {\cldcontext{document.special_attachment("#1")}}
> 
> or
> 
> \def\giveattachment
>    {\cldcontext{document.special_attachment(tokens.scanners.string())}}
als also make

        year
        attachment_url

local variables

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list