{
let svg = d3
.create("svg")
.attr("viewBox", `0 0 ${width} 200`)
.attr("overflow", "visible");
let pretty_math = svg
.selectAll("g.pretty-math")
.data(somemath)
.join("g")
.attr("class", "pretty-math")
.attr("transform", (d) => `translate(${d.x}, ${d.y})`);
pretty_math.append((d) =>
MathJax.tex2svg(String.raw`${d.latex}`).querySelector("svg")
);
svg
.selectAll("circle")
.data(somemath)
.join("circle")
.attr("cx", (d) => d.x)
.attr("cy", (d) => d.y)
.attr("fill", "black")
.attr("r", "4");
yield svg.node();
pretty_math.each(function (d) {
let bbox = this.getBBox();
d3.select(this).attr(
"transform",
`translate(${d.x - bbox.width / 2} ${d.y - bbox.height / 2})`
);
});
}