#let bgBlock(body, fill: color) = block(body, fill:fill.lighten(80%), width: 100%, 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: 10pt, weight: "regular", 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.at("x").len() + 1, 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 in data.at(label) { (eval(i, mode: "math"),) } } ) ]