打开资源管理器可访问性时括号周围的间距问题
Spacing issue around parenthesis when explorer accessibility is turned on
激活辅助功能资源管理器后,出现间距问题。 'f'、'M' 和 'cos' 之后的空格太大了。出于可读性原因,这些空间很小很重要,因为(例如)“M(x)”是单个对象,而不是“M (x)”可能暗示的两个独立的事物。
当前行为
预期行为
重现步骤:
- 打开https://jsbin.com/bohitetaka/edit?html,js,输出
- 通过将辅助功能资源管理器 属性 设置为 false 和 true,检查数学表达式的显示方式。
当 explorer 设置为 false 时,间距是正确的,但我也想要辅助功能。
这是因为资源管理器使用 semantic-enrichment 修改表达式的基础 MathML,并在括号周围添加 mrow
s,这反过来导致 MathJax 解释括号好像来自 \left...\right
,它们的间距不同。
这已在 v3.1.3 via #583 中修复,但 back-ported v2.7 尚未修复。
目前,您可以使用以下配置解决此问题:
MathJax.Hub.Register.StartupHook('MathML Jax Ready', function () {
var PARSE = MathJax.InputJax.MathML.Parse;
PARSE.Augment({
_AddChildren: PARSE.prototype.AddChildren,
AddChildren: function (mml, node) {394
this._AddChildren(mml, node);
if (mml.type === "mrow" && (mml.open || mml.close)) {
if (mml.open && !mml.data[0].stretchy) delete mml.open;
if (mml.close && !mml.data[mml.data.length-1].sretchy) delete mml.close;
}
}
});
});
激活辅助功能资源管理器后,出现间距问题。 'f'、'M' 和 'cos' 之后的空格太大了。出于可读性原因,这些空间很小很重要,因为(例如)“M(x)”是单个对象,而不是“M (x)”可能暗示的两个独立的事物。
当前行为
预期行为
重现步骤:
- 打开https://jsbin.com/bohitetaka/edit?html,js,输出
- 通过将辅助功能资源管理器 属性 设置为 false 和 true,检查数学表达式的显示方式。
当 explorer 设置为 false 时,间距是正确的,但我也想要辅助功能。
这是因为资源管理器使用 semantic-enrichment 修改表达式的基础 MathML,并在括号周围添加 mrow
s,这反过来导致 MathJax 解释括号好像来自 \left...\right
,它们的间距不同。
这已在 v3.1.3 via #583 中修复,但 back-ported v2.7 尚未修复。
目前,您可以使用以下配置解决此问题:
MathJax.Hub.Register.StartupHook('MathML Jax Ready', function () {
var PARSE = MathJax.InputJax.MathML.Parse;
PARSE.Augment({
_AddChildren: PARSE.prototype.AddChildren,
AddChildren: function (mml, node) {394
this._AddChildren(mml, node);
if (mml.type === "mrow" && (mml.open || mml.close)) {
if (mml.open && !mml.data[0].stretchy) delete mml.open;
if (mml.close && !mml.data[mml.data.length-1].sretchy) delete mml.close;
}
}
});
});