在MathJax中获取布局指标

时间:2017-05-09 03:02:51

标签: mathjax

我想知道是否有可能在渲染的mathjax方程中提取$SQLquery = "INSERT INTO Location (STAFFID, FirstName, Surname, Location, Time) VALUES ('$StaffNUM','$FirstName', '$Surname', '$Location', GETDATE())"; 元素基线的度量,特别是使用SVG输出Jax。

例如,the mml-sample page(原始版本here)有一个带有3个mrow元素的块元素,我想知道是否可以提取位置(最好是x和这些元素的基线的y位置)。

1 个答案:

答案 0 :(得分:0)

以下是简短回答:分叉Mathjax副本,然后将removable flag on the 'g' elements设置为false,以防止删除表示原始MML中嵌套的<g>元素 - - 通过这样做,可以从transform="translate(...)"transform="scale(...)"属性中读取基线的来源

接下来,导出任何其他指标,例如:

  • svg.H:高于整个(子)表达式基线的高度(未缩放)
  • svg.D:深度低于整个(子)表达式的基线(未缩放)
  • svg.w:渲染表达式的宽度(未缩放)
  • svg.r:右边距(未缩放)
  • svg.l:左边距(未缩放)
  • svg.scale:缩放系数

herehere的内容如下:

svg.element.setAttribute("fm",
    "{D:" + SVG.Fixed(svg.D,2) + 
    ",H:" + SVG.Fixed(svg.H,2) + 
    ",r:" + SVG.Fixed(svg.r,2) + 
    ",l:" + SVG.Fixed(svg.l,2) + 
    ",w:" + SVG.Fixed(svg.w,2) + 
    ",s:" + SVG.Fixed(svg.scale,5) + 
    "}");

(可选)要减少不必要的嵌套范围,请在this if statement

中将svg.removeable更改为(svg.removeable || svg.element.nodeName === "g")