Hello list,
i've played a bit with interfaces.definecommand, that lets you define
TeX macros from lua (see the "ConTeXt Lua Documents", 7.3 User interfacing).
I found that the commands defined by interfaces.definecommand fail when
you pass string arguments that contain brackets.
I think cldf-int.lua needs a patch to support those kind of arguments.
In the meantime it's possible to bypass the problem passing arguments
with brackets inside double braces, as in the MWE attached.
Best wishes,
Massimiliano
\startluacode
require("int_defcmd")
\stopluacode
\starttext
\myCommand{Simple text}.\par
\myCommand{\blank}
% no problems with braces inside
\myCommand{Text with {\it braces} inside}.\par
% this fails, because there are brackets inside
\myCommand{\blank[10pt]}
% this does not fail, because of the double braces
\myCommand{{\blank[10pt]}}
\stoptext
function userdata.myCommand( content )
context( content )
end
interfaces.definecommand {
name = "myCommand",
arguments = {
{ "content", "string" }
},
macro = userdata.myCommand
}
___________________________________________________________________________________
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
___________________________________________________________________________________