To be wikified (by me, obviously). Thank you for such a great number of alternatives.
Jairo :) El lun, 18 de ene. de 2021 a la(s) 04:45, Hans Hagen (j.ha...@xs4all.nl) escribió: > On 1/18/2021 1:58 AM, Jairo A. del Rio wrote: > > Hi, list. > > > > I want to get some dimensions in Lua. See, for instance > > > > \starttext > > > > \the\dimexpr\availablehsize\relax %say, 426pt > > > > \stoptext > > > > Is there an equivalent in ConTeXt for Lua, i.e. without passing values > > from TeX or, at least, using only Lua commands? Thank you in advance. > tex being tex, there is always a way ... > > 1: \number\dimexpr\availablehsize\relax > > 2: \startluacode > > token.set_macro(tex.ctxcatcodes,"temp","\\scratchdimen\\availablehsize") > token.expand_macro("temp") > context(tex.getdimen("scratchdimen")) > \stopluacode > > 3: \startluacode > > token.set_macro(tex.ctxcatcodes,"temp","\\scratchdimen\\availablehsize") > tex.runlocal("temp") > context(tex.getdimen("scratchdimen")) > \stopluacode > > 4: \startluacode > tex.print("\\scratchdimen\\availablehsize") > tex.pushlocal() > tex.poplocal() > context(tex.getdimen("scratchdimen")) > \stopluacode > > 5: \startluacode > tex.print("\\dimensiondef\\temp\\availablehsize") > tex.pushlocal() > tex.poplocal() > context(tex.getdimensionvalue("temp")) > \stopluacode > > \def\calculateavailablehsize{\dimensiondef\temp\availablehsize} > > 6: \startluacode > token.expand_macro("calculateavailablehsize") > context(tex.getdimensionvalue("temp")) > \stopluacode > > \newtoks\tcalculateavailablehsize > \tcalculateavailablehsize{\dimensiondef\temp\availablehsize} > > 7: \startluacode -- mkiv > tex.runtoks("tcalculateavailablehsize") > context(tex.getdimensionvalue("temp")) > \stopluacode > > i'm (still) considering a way to flag a macro to be an expression (or > value) but there are several variants possible but normally it takes a > while before i decide what makes most sense (as i need to apply it in > real code to see if it looks nice) > > Hans > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > ----------------------------------------------------------------- >
___________________________________________________________________________________ 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 ___________________________________________________________________________________