Discourse Math

Just a quick (positive) real-world note after moving to the newer MathJax (v4.1) integration in Discourse Math.

One quality-of-life improvement I’ve noticed is that MathJax now gives very specific, localised feedback when input is invalid or a macro isn’t defined:

  • It still renders the surrounding valid structure correctly (e.g. \frac{...}{...}, parentheses, etc.)
  • But it leaves the unrecognised command visible literally (e.g. showing \sinc as text) rather than failing the entire expression or producing a confusing partial error.

In practice, this makes it immediately obvious what needs fixing, without obscuring what’s already correct — which is especially helpful in teaching contexts and when iterating on math-heavy posts.

For example, rather than relying on \sinc being defined, the robust approach is to write it explicitly as an operator:

\frac{\Delta}{T}\operatorname{sinc}\!\left(\frac{\omega_r\Delta}{2}\right)

with:

\operatorname{sinc}(x)=\frac{\sin x}{x}

Overall this “render what you can, show the rest clearly” behaviour feels like a big usability win compared to older / less transparent failure modes. Thanks to everyone involved in the MathJax upgrade work.

2 Likes