Discourse Math 的新版本发布

我非常高兴地宣布我们的 Discourse Math 插件有了重大升级!

特别感谢 @mcmcclur 帮助测试和构建了大部分新的和升级的 discourse-math

这是一个非常重大的变化——我们已将所有内容从 MathJax 2.x 版本升级到 4.1 版本,赶上了多年的功能和进步。

此外,我们修改了设计,使将来升级插件变得更加容易。

我们的新迭代对 LLM(大型语言模型)的输出更加友好,LLM 更倾向于使用 LaTeX 风格的数学行内公式,例如 \(e=mc^2\)。

该插件仍然具有很高的可配置性——您可以使用 MathJax 或 KaTeX 进行数学渲染,甚至可以选择禁用对 \\( 的处理。


一些有趣的示例来展示 MathJax 4.1

二次公式:

x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}

欧拉恒等式:

e^{i\\pi} + 1 = 0

麦克斯韦方程组:

\\nabla \\times \\mathbf{E} = -\\frac{\\partial \\mathbf{B}}{\\partial t}

一个彩色的积分:

\\int_{-\\infty}^{\\infty} {\\color{red}e}^{{\\color{blue}-x}^{\\color{green}2}} \\, {\\color{orange}dx} = {\\color{purple}\\sqrt{\\pi}}

一个无穷级数:

\\sum_{n=1}^{\\infty} \\frac{1}{n^2} = \\frac{\\pi^2}{6}

MathJax 4 中的新功能——\\U{} 宏:
您现在可以直接在 TeX 输入中插入 Unicode 字符!例如:

A \\U{229E} B = C

$$A \\U{229E} B = C$$

这会生成 U+229E(⊞,一个带方框的加号)。

27 个赞

在 iOS 上的 PWA 中查看此帖子时,我发现示例的大小/位置不正确并被裁剪,如下所示:

我已确认禁用 Firefox Focus 扩展(内容拦截器)可以防止这种情况发生。仔细查看后,不出所料,这是阻止网页字体的设置。

我怀疑您不希望迎合那些阻止网页字体的人,但还是想提一下,因为它在各个地方看起来都“几乎正确但又有点不对劲”。

1 个赞

我们实际上有,作为网站所有者,您可以选择 SVG 渲染,它有一些缺点,所以我不确定它是否应该是默认设置,但如果您托管的网站有用户拒绝自定义字体,您可以使用此功能。