Ramkumar KB via ntg-context schrieb am 16.10.2021 um 06:00:
Hello All,
I was trying to read the value of '\totalnumberofpages' into lua to do
something with it. As an example, see below.
Now, as I understand it, my example would not work as TeX gets the
first go at this and therefore the variable 'pages' is the string
'\totalnumberofpages' and not the actual value itself. And Lua cannot
process this "calculation".
I tried to go thru the manual - *cld-mkiv.pdf *- in the distro but
could not catch on how to read a metadata value (not print). I am sure
that I am missing a small trick somewhere (or is it something more
involved?).
\startluacode
function myFancyCalculations(pages)
-- some fancy stuff but as an example
local myCal = tonumber(pages) + 1
return myCal
\stopluacode
\starttext
\blah
\ctxlua{context(myFancyCalculations("\\totalnumberofpages"))}
\stoptext
Everything gets easier when you use the Lua functions to access the
counter values but be aware the values can be wrong when you're at a
page break.
\startbuffer[pagenumber]
\startluacode
context.starttabulate()
context.NC()
context("Current page")
context.EQ()
context(structures.counters.get("realpage",1,"number"))
context.NC()
context.NR()
context.NC()
context("Last page")
context.EQ()
context(structures.counters.get("realpage",1,"last"))
context.NC()
context.NR()
context.stoptabulate()
\stopluacode
\stopbuffer
\starttext
\dorecurse
{\randomnumber{5}{10}}
{\getbuffer[pagenumber]
\page}
\stoptext
Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________