我在 Discourse 中使用内联 MathJax 时遇到了渲染问题,当数学表达式后面紧跟着一个花括号撇号(U+2019)时,该表达式在某些浏览器或编辑器中通常会被智能引号替换。
此处渲染正确:
$\\mathbb{R}^2$'s basis
这里使用的是直角 ASCII 撇号(U+0027)。
\\mathbb{R}^2's basis
此处渲染失败:
$\\mathbb{R}^2$’s basis
$\mathbb{R}^2$’s basis
这里使用的是花括号右单引号(U+2019),有时会被移动键盘、富文本编辑器或从格式化来源复制粘贴自动插入。
预期行为:
两个版本都应该能正确渲染数学公式。紧跟在内联数学块后面的字符不应该影响 MathJax 的解析。
为什么这很重要:
- 除非你比较 Unicode,否则很难检测到这个问题。
- 在大多数字体中,花括号撇号在视觉上与直角撇号无法区分。
- 像这样的细微格式差异不应该默默地破坏渲染。
- 不一致的行为会削弱数学密集帖子的创作体验。