#let bgBlock(body, fill: color, width: 100%) = block(body, fill:fill.lighten(80%), width: width, inset: (bottom: 2mm)) #let SeperatorLine = line(length: 100%, stroke: (paint: black, thickness: 0.3mm)) #let MathAlignLeft(e) = { align(left, block(e)) } #let subHeading(body, fill: color) = { box( align( top+center, text( body, size: 8pt, weight: "bold", style: "italic", ) ), fill: fill, width: 100%, inset: 1mm, height: auto ) } #let MathAlignLeft(e) = { align(left, block(e)) } #let sinTable = [ #let data = json("../sintable.json") #table( columns: data.len(), rows: data.keys().len(), stroke: none, table.hline(stroke: (thickness: 0.3mm)), fill: (x, y) => if (calc.rem(y, 2) == 0) { color.lighten(gray, 50%) } else { white }, ..for (label) in data.keys() { ([*#eval(label, mode: "math")*], ) }, table.hline(stroke: (thickness: 0.3mm)), ..for (i, v) in data.at("x").enumerate() { for (col) in data.keys() { (eval(data.at(col).at(i), mode: "math"),) } } ) ]