mathjax 数字逗号

mathjax commas in digits

这是一个 TeX 遗留问题---当需要白色 space 时,需要白色 space 会更有意义:12,123 可能是一个数字,而 12, 123 可能是一个列表。唉,就是这样。

相关,解决方案是通过 {,} 抑制 space 秒。有效,但不方便。有没有办法让它自动进行?

https://github.com/mathjax/MathJax/issues/169#issuecomment-2040235 中的黑客攻击与欧洲 vs 盎格鲁有关。等效的 hack,

<script type="text/x-mathjax-config">
  MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
    MathJax.InputJax.TeX.Definitions.number =
      /^(?:[0-9]+(?:\,[0-9]{3})*(?:\{\.\}[0-9]*)*|\{\.\}[0-9]+)/
  });
</script>

解决了 1,234.56 中的逗号问题,但现在在句号之后(即 5 之前)有一个 space。我不确定上面的正则表达式是如何工作的。有人可以帮忙吗?

将模式更改为

/^(?:[0-9]+(?:,[0-9]{3})*(?:\.[0-9]*)*|\.[0-9]+)/

允许 12,345.6 被视为一个数字,而 12, 345 是两个数字的列表。在原始模式中,\{\.\} 需要文字 {.}(包括大括号),而不仅仅是小数。