What is the best way to define the equivalent of \setvalue{\e!start\NAME}{...} in lua. e_start = ?? context.setvalue(e_start .. name, "...") Thanks, Aditya
Am 15.01.2011 um 23:57 schrieb Aditya Mahajan:
What is the best way to define the equivalent of
\setvalue{\e!start\NAME}{...}
in lua.
e_start = ?? context.setvalue(e_start .. name, "...")
\startluacode context.setvalue("foo","\\framedtext") context.setvalue(table.concat({"start","foo"}),"\\startframedtext") context.setvalue(table.concat({"stop" ,"foo"}),"\\stopframedtext" ) \stopluacode \starttext \foo{foo} \startfoo bar\stopfoo \stoptext You can also write “context.setvalue("start".."foo","…")” but table.concat looks better but the question is why don’t you use just tex to create the start/stop commands. Wolfgang
On Sun, 16 Jan 2011, Wolfgang Schuster wrote:
Am 15.01.2011 um 23:57 schrieb Aditya Mahajan:
What is the best way to define the equivalent of
\setvalue{\e!start\NAME}{...}
in lua.
e_start = ?? context.setvalue(e_start .. name, "...")
\startluacode context.setvalue("foo","\\framedtext") context.setvalue(table.concat({"start","foo"}),"\\startframedtext") context.setvalue(table.concat({"stop" ,"foo"}),"\\stopframedtext" ) \stopluacode
\starttext \foo{foo} \startfoo bar\stopfoo \stoptext
This would just create \startfoo. \setvalue{\e!start foo} creates a interface specific command. The code that Hans posted does that. I am sorry that this was not clear in the question.
You can also write “context.setvalue("start".."foo","…")” but table.concat looks better
OK.
but the question is why don’t you use just tex to create the start/stop commands.
Because I find it much easier to understand expansion at lua level than at TeX level. Thanks, Aditya
On 15-1-2011 11:57, Aditya Mahajan wrote:
What is the best way to define the equivalent of
\setvalue{\e!start\NAME}{...}
in lua.
e_start = ?? context.setvalue(e_start .. name, "...")
\starttext \startluacode local elements = interfaces.complete.elements local interface = storage.shared.currentinterface local e_start = elements.start[currentinterface] local e_stop = elements.stop [currentinterface] context.setvalue(e_start .. "something", "[[") context.setvalue(e_stop .. "something", "]]") \stopluacode \startsomething Yes we can!\stopsomething \stoptext (i should probably preload elements as well) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sun, 16 Jan 2011, Hans Hagen wrote:
On 15-1-2011 11:57, Aditya Mahajan wrote:
What is the best way to define the equivalent of
\setvalue{\e!start\NAME}{...}
in lua.
e_start = ?? context.setvalue(e_start .. name, "...")
\starttext
\startluacode
local elements = interfaces.complete.elements local interface = storage.shared.currentinterface
local e_start = elements.start[currentinterface] local e_stop = elements.stop [currentinterface]
context.setvalue(e_start .. "something", "[[") context.setvalue(e_stop .. "something", "]]")
\stopluacode
\startsomething Yes we can!\stopsomething
\stoptext
Thank you. Aditya
On 16-1-2011 5:28, Aditya Mahajan wrote:
On Sun, 16 Jan 2011, Hans Hagen wrote:
On 15-1-2011 11:57, Aditya Mahajan wrote:
What is the best way to define the equivalent of
\setvalue{\e!start\NAME}{...}
in lua.
e_start = ?? context.setvalue(e_start .. name, "...")
\starttext
\startluacode
local elements = interfaces.complete.elements local interface = storage.shared.currentinterface
local e_start = elements.start[currentinterface] local e_stop = elements.stop [currentinterface]
context.setvalue(e_start .. "something", "[[") context.setvalue(e_stop .. "something", "]]")
\stopluacode
\startsomething Yes we can!\stopsomething
\stoptext
Thank you.
start[currentinterface] => start[interface] a next beta will have interfaces.elements ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Aditya Mahajan
-
Hans Hagen
-
Wolfgang Schuster