Otared Kavian schrieb am 24.08.2023 um 01:04:
Hi Fabrice,
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:
I guess I completely missed the units digit part :)
%% begin filling-with-lua.tex \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
I would drop the column check in this case. for i = 0,9 do context.startxrow() context.startxcell() context(i) context.stopxcell() context.startxcell() context(math.mod(i*i,10)) context.stopxcell() context.startxcell() context(i) context.stopxcell() context.startxcell() context(math.mod(2*i*i,10)) context.stopxcell() context.stopxrow() end Wolfgang