As Wolfgang points out, it is indeed possible to fill-in your table with Lua: maybe you were wondering how to fill the columns 2, 3 and 4. In this case you need to use the Lua function math.mod as in the following, which is a completed version of what Wolfgang sent:
\starttext
\startluacode
context.startxtable{ align = "middle,lohi", bodyfont = "9pt", framecolor = "black" }
context.startxrow{ background = "color", backgroundcolor = "lightgray" }
context.startxcell{ nx = 4 }
context("Units digit of")
context.stopxcell()
context.stopxrow()
context.startxrow()
context.startxcell{ width = "1cm" }
context.im("a")
context.stopxcell()
context.startxcell{ width = "1cm" }
context.im("a^2")
context.stopxcell()
context.startxcell{ width = "1cm" }
context.im("b")
context.stopxcell()
context.startxcell{ width = "1cm" }
context.im("2b^2")
context.stopxcell()
context.stopxrow()
for i = 0,9 do
context.startxrow()
for j = 1,4 do
context.startxcell()
if j == 1 then
context(i)
elseif j == 2 then
context(math.mod(i*i,10))
elseif j == 3 then
context(i)
else
context(math.mod(2*i*i,10))
end
context.stopxcell()
end
context.stopxrow()
end
context.stopxtable()
\stopluacode
\stoptext
%% end filling-with-lua.tex
Best regards: Otared
Fabrice Couvreur schrieb am 23.08.2023
um 19:28:
Hi,
I'm trying to fill an
array using lua. So far it works but then I don't know if it's possible.
Where do you have problems (look into cld-mkiv.pdf for hins)?
\starttext
\startluacode
context.startxtable{ align = "middle,lohi", bodyfont = "9pt", framecolor
= "black" }
context.startxrow{ background = "color", backgroundcolor =
"lightgray" }
context.startxcell{ nx = 4 }
context("Units digit of")
context.stopxcell()
context.stopxrow()
context.startxrow()
context.startxcell{ width = "1cm" }
context.im("a")
context.stopxcell()
context.startxcell{ width = "1cm" }
context.im("a^2")
context.stopxcell()
context.startxcell{ width = "1cm" }
context.im("b")
context.stopxcell()
context.startxcell{ width = "1cm" }
context.im("2b^2")
context.stopxcell()
context.stopxrow()
for i = 0,9 do
context.startxrow()
for j = 1,4 do
context.startxcell()
if j == 1 then
context(i)
end
context.stopxcell()
end
context.stopxrow()
end
context.stopxtable()
\stopluacode
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist :
ntg-context@ntg.nl /
https://www.ntg.nl/mailman/listinfo/ntg-contextwebpage :
https://www.pragma-ade.nl /
http://context.aanhet.netarchive :
https://bitbucket.org/phg/context-mirror/commits/wiki :
https://contextgarden.net___________________________________________________________________________________
Otared Kavian
Phone: +33 6 88 26 70 95