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
___________________________________________________________________________________

Reply via email to