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?
Thanks in advance and best regards: OK

%% begin test-lua-reference.tex
\setupinteraction[state=start]

\starttext

\startchapter[title={Knuth},reference={ch:knuth}]

% a simple way of adding a link to some part of the document...
Read the following and also what \goto{Ward says}[ch:ward].\index{Ward}
See also the \goto{Index}[ref:index].

\input knuth.tex

\stopchapter

\startchapter[title={Ward},reference={ch:ward}]

% a complicated way of doing the same as above...
\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

\input ward.tex

\stopchapter

\starttitle[title={Index}]

% one could say \pagereference[ref:index], but I need a construction such as 
this:
\startluacode
        local s,t = "ref:","index"
        context.pagereference({s..t})
\stopluacode
\placeindex
\stoptitle

\stoptext
%% end test-lua-reference.tex
___________________________________________________________________________________
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