Skip to main content

fix_text_mode_middle_dot

Function fix_text_mode_middle_dot 

Source
fn fix_text_mode_middle_dot(tex: &str) -> String
Expand description

修复 katex-rs 0.2 的上游缺陷:·(U+00B7)被注册为内置宏 \cdotpmacros/builtins.rs),宏展开不分模式——在 \text{...} 的文本模式里 \cdotp 是数学专用符号,解析失败渲染成红字 \cdotp(issue #13, \text{m·K}m\cdotp K)。KaTeX JS 无此问题:· 在 JS 里是 math/text 双模式直接符号(glyph U+22C5),不走宏。

修法:把 \text 家族花括号组内的 U+00B7 替换为 U+22C5(⋅)。katex-rs 文本模式对无宏表项的 Unicode 字符按字面 glyph 渲染(实测 浓度/×/α 均正常), 而 U+22C5 正是 KaTeX JS 两侧模式共同的 glyph——替换后与 JS 输出像素级一致。 数学模式不受影响:a · b 仍走内置宏 \cdotp(punct 间距),保持 JS 语义。

注意同类缺陷还存在于其余 41 个数学符号宏(≠ U+2260、∉ U+2209 等), 均会在 \text{} 内报红;这里只修 issue 实发的 U+00B7,其余等上游或按需再扩。 无 · 时零分配原样返回。