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())}} Wolfgang