You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Typst math rendering does not work correctly inside Obsidian-style callouts. #748
When Typst is selected as the math renderer, equations render correctly in normal note content, but the same equations placed inside a callout such as > [!note] are not rendered correctly.
Steps to reproduce
Go to Settings → Editor → Math renderer and select Typst.
Create a note with a Typst equation outside a callout:
$
x_1 = frac(det W_1, det A)
$
Put the same equation inside a callout:
Note
$
x_1 = frac(det W_1, det A)
$
Expected behavior
The Typst expression inside the callout should be rendered in the same way as an expression outside the callout.
Actual behavior
Typst math inside the callout is not rendered correctly, while the same expression outside the callout works as expected.
Fixed on the v2.46.0 branch in ad3d781 (release PR #749). Thanks for the report.
Two bugs, one per view, and both engines had them; Typst just made the second one loud.
Editor. The live preview only renders a $$ block whose fences own their lines, and the > in front of a callout's fence counted as prose, so the block stayed raw inside every callout. It now treats blockquote markers before a fence as what they are, keeps them out of the formula, and renders the block as part of the callout card.
Reading view. The pass that normalizes $$ fences before remark-math ran re-scanned an earlier block's closing fence as an opener, paired it with the callout's > $$, and rewrote the note with a bare $$ outside the quote. That block then swallowed everything after it, which is the failing formula you saw, and the callout was left with no body. The pass now reads fences past the quote markers, closes a block only at its own quote depth, and moves past canonical blocks instead of re-reading them.
One note on the example: a bare $ on its own line is not a display block in ZenNotes with either engine (that is $$), so I assume your note uses $$ fences, which is exactly what broke; with bare $ lines, both views now at least show the same plain text inside and outside the callout, without the stray > that used to appear.
Verified on the pre-fix and fixed builds of the same note with Typst selected, in both views, with tests for the editor scan and the normalizer. It ships with 2.46.0.
Activity
Fix(math): display blocks inside callouts render in both views (#748)
adibhanna commentedon Sep 8, 2026
Fixed on the
v2.46.0branch in ad3d781 (release PR #749). Thanks for the report.Two bugs, one per view, and both engines had them; Typst just made the second one loud.
$$block whose fences own their lines, and the>in front of a callout's fence counted as prose, so the block stayed raw inside every callout. It now treats blockquote markers before a fence as what they are, keeps them out of the formula, and renders the block as part of the callout card.$$fences before remark-math ran re-scanned an earlier block's closing fence as an opener, paired it with the callout's> $$, and rewrote the note with a bare$$outside the quote. That block then swallowed everything after it, which is the failing formula you saw, and the callout was left with no body. The pass now reads fences past the quote markers, closes a block only at its own quote depth, and moves past canonical blocks instead of re-reading them.One note on the example: a bare
$on its own line is not a display block in ZenNotes with either engine (that is$$), so I assume your note uses$$fences, which is exactly what broke; with bare$lines, both views now at least show the same plain text inside and outside the callout, without the stray>that used to appear.Verified on the pre-fix and fixed builds of the same note with Typst selected, in both views, with tests for the editor scan and the normalizer. It ships with 2.46.0.