功能请求:在 Discourse Math (\KaTeX/\MathJax) 中支持 \nicefrac

:puzzle_piece: 功能请求:为 Discourse 数学渲染添加对 \\nicefrac 的支持

摘要

请为 Discourse 数学渲染添加对 \\nicefrac{a}{b} 命令的支持。这种斜线式分数紧凑且非常适合行内表达式,可在不影响行间距的情况下提高可读性。


:test_tube: 为什么是 \\nicefrac

  • 生成简洁的斜线式(带斜杠)分数,例如 $ \\nicefrac{1}{2} $
  • 1/2 更优雅,比 \\dfrac{1}{2} 更不显眼
  • 在物理学、统计学和数学写作中很常见

:package: 实现说明

Discourse 可能通过 KaTeXMathJax 支持数学,具体取决于安装的插件。此功能请求概述了两者实现的方案:

:white_check_mark: MathJax

如果加载了扩展程序,MathJax 可能支持 \\nicefrac

MathJax.Hub.Config({
  TeX: {
    extensions: ["AMSmath.js", "nicefrac.js"]
  }
});

这可能意味着不需要核心更改——您只需更新插件配置以启用扩展程序即可。

:wrench: KaTeX

KaTeX 支持 \\nicefrac。可能可以通过添加以下解决方法宏来实现:

macros: {
  "\\\\nicefrac": "\\\\raisebox{.5ex}{\\\\footnotesize #1}/\\\\raisebox{-.25ex}{\\\\footnotesize #2}"
}

或者,可能值得通过第三方 KaTeX 扩展(如 katex-extension)来研究支持。


:magnifying_glass_tilted_left: 复现

尝试渲染以下内容:

$\\nicefrac{3}{4}$

KaTeX 中的结果:

`KaTeX parse error: Undefined control sequence: \\nicefrac

MathJax 中的结果(如果未加载扩展程序):

LaTeX Error: Command \\nicefrac undefined `MathJax parse error: Undefined control sequence: \\nicefrac


:white_check_mark: 预期行为

  • $ \\nicefrac{3}{4} $ 渲染为正确的分数
  • 可能会在 KaTeX 和 MathJax 安装提供商之间保持一致
  • 希望不会出现解析错误或用户混淆

:speech_balloon: 动机

  • \\nicefrac 在 LaTeX 文档和教学材料中被广泛使用
  • 行内分数在文本中看起来更自然
  • 改进了 STEM 密集型 Discourse 社区中的数学格式

:link: 参考

感谢您考虑为 Discourse 的数学渲染添加这项虽小但有价值的改进!