On 2/13/2018 4:54 PM, Otared Kavian wrote:
Hi all,
After Hans showed me an example of using Lua code in ConTeXt, I am learning this stuff in the manual cld-mkiv.pdf, which is in [ConTeXt-StandAlone]/tex/texmf-context/doc/context/documents/general/manuals/cld-mkiv.pdf
From that manual I understand that if a macro command \mycommand is defined so that it takes one argument, such as in \mycommand{Myargument} then in a Lua code one may use it as in context.mycommand({"Myargument"})
However, if \mycommand takes two arguments (or more), it is not clear to me how these arguments can be passed from Lua to Context. Indeed there is always the possibility to say (for a macro taking two arguments)
context("\\mycommand{FirstArgument}{SecondArgument}")
as in the example below with \goto. But I don’t know how to use context.goto… The reason for which I need such a construction is that I want to add some links and buttons in my document which point to locations which are determined inside the Lua code.
Does any one have an idea to do this?
...
\startluacode context("Read the following and also what ") context("\\goto{Knuth says}[ch:knuth]") context.index("Knuth") context(". See also the ") local s,t = "Index","ref:index" -- context("\\goto{s}[t]") -- this does not work -- context.goto({"Index"},{"ref:index"}) -- this does not work context("\\goto{Index}[ref:index]") \stopluacode
context.goto( "Index", { "ref:index" }) \def\foo#1#2{....} context.foo("a","b") \def\foo[#1][#2]{....} context.foo( { "a" }, { "b" } ) etc ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------