数学方程式是否有简单的标记语言?
我正在为本科生开发一个应用程序,我正在寻找比LaTex更复杂的东西,比MathML更容易编写.
我试图显示一个简单的等式,但它不起作用.我的代码如下(html5):
<math xmlns="http://www.w3.org/1998/Math/MathML" display = 'block'>
<mrow>
<msub>
<mi>a</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>a</mi>
<mi>z</mi>
</msub>
<sin/>
<mi mathvariant='normal' fontfamily='Times New Roman'>?</mi>
<mo>−</mo>
<msub>
<mi>a</mi>
<mi>x</mi>
</msub>
<cos/>
<mi mathvariant='normal' fontfamily='Times New Roman'>?</mi>
</mrow>
</math>
Run Code Online (Sandbox Code Playgroud)
在Opera或Chrome中,我既看不到三角运算,也看不到子指数.在Firefox中,我可以看到子指标,但不能看到三角函数.有人可以说错误在哪里吗?提前致谢.
我正在使用MathDox公式编辑器来生成 MathML。现在我想将 MathDox 生成的 MathML 转换为表达式,稍后我可以用它来评估以找到答案。
For eg:
MathML:
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mn>3</mn>
<mo>+</mo>
<mn>5</mn>
</mrow>
</math>
Want to convert to expression as:
3+5
Run Code Online (Sandbox Code Playgroud)
现在我可以用3+5得到答案8。
我正在寻找用于此转换的javascript或c#解决方案。尝试用谷歌搜索,但没有得到太多帮助。我在这里找到了更接近的解决方案,但它也是一个桌面应用程序和商业应用程序。但是,我想要开源网络应用程序解决我的问题。任何帮助将不胜感激。
注意:为了简单起见,我在上面的示例中只提到了简单的加法,但 mathml 也可以包含复杂的表达式,例如导数和日志。
我一直transform translate在 SVG 元素上使用 simple。现在我正在将转换转换为矩阵(并在此过程中拉扯我的头发)。
在SVG元素上click,我渲染一个元素,并根据当前的 pageX 和 pageY(鼠标坐标)进行简单的变换翻译。
<svg width="1366" height="612" class="svg" viewBox="-78.48 43.82 752.30 337.05" xmlns="http://www.w3.org/2000/svg">
<g class="elementParent">
<g id="cry20Cyc_0.d7h" class="ele" data-action="ele" transform="translate(269.013,169.974)">
<rect x="0" y="0" width="44" height="44" opacity="1" fill="#d1d1d1" stroke-width="1" vector-effect="non-scaling-stroke" class="selectRect"></rect>
<path d="M0,22c0,12.2,9.9,22,22,22s22-9.8,22-22S34.2,0,22,0S0,9.9,0,22" fill="#482956"></path>
</g>
</g>
</svg>
Run Code Online (Sandbox Code Playgroud)
请注意 上的翻译(269.013,169.974)g。当我打电话时getCTM(),我得到这个相当奇怪的值:
SVGMatrix { a: 1.8157544136047363, b: 0, c: 0, d: 1.8157544136047363, e: 630.9659423828125, f: 229.06468200683594 }
Run Code Online (Sandbox Code Playgroud)
根据我的理解,矩阵“a”和“d”中的值代表缩放比例。但是,我没有应用任何缩放,这个值从哪里来?
当我transform在元素上运行时。变换数组返回一个更合理的值:
SVGAnimatedTransformList {
baseVal: SVGTransformList[1], // {a:1 b:0 c:0 …Run Code Online (Sandbox Code Playgroud) 我想问一下,如何在Chrome中启用MathML?我正在访问有关该Math对象的MDN网站,该网站警告我MathML未启用。有什么帮助吗?