无法在Google Chrome中呈现MathML内容

问题描述 投票:10回答:5

我在HTML页面中有一些MathML内容,页面需要通过HTTPS连接在Google Chrome中呈现。所以我试着按照下面的链接说的方法

Displaying Mathml equations

但它不起作用(我在我的HTML页面中复制了脚本)。然后我尝试安装chrome的MathJax插件作为Google Chrome的扩展。这似乎在我的文件中呈现了一些MathML,但对于一些我得到了一个错误。我发现MathJax可以呈现Presentation MathML内容,但无法呈现Content MathML内容(我的页面中有两种类型的内容)。它也无法通过HTTPS连接工作。如果我得到一些解决此问题的解决方法,将会非常有帮助。

此致,Anirvan

html google-chrome mathjax mathml
5个回答
11
投票

The question linked to in the OP有点过时,并描述了如何在xhtml中包含MathML(不是html,因为那时它实际上并不有效)。使用HTML5,包含MathML要容易得多。

Chrome不支持MathML,因此您需要使用polyfill。 MathJax可以渲染Presentation和Content MathML;请参阅http://docs.mathjax.org/en/latest/mathml.html的相关文档。

但是,作者需要正确配置MathJax才能这样做。仅供参考,Chrome商店中的插件由第三方制作;另外,如果正确完成,MathJax可以正常使用https。

下面的示例演示了如何启用MathJax可以提供的所有MathML功能,包括实验性功能的mml3.js扩展。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Fullest MathML support using MathJax</title>
  <script>window.MathJax = { MathML: { extensions: ["mml3.js", "content-mathml.js"]}};</script>
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=MML_HTMLorMML"></script>
</head>
<body>
  <math display="block"> 
    <apply> 
      <plus/> 
      <ci>a</ci> 
      <apply> 
        <minus/> 
        <ci>b</ci> 
        <ci>c</ci> 
      </apply> 
    </apply> 
  </math> 
  <math display="block">
    <mrow>
      <mi>a</mi>
      <mo>+</mo>
      <mrow>
        <mi>b</mi>
        <mo>-</mo>
        <mi>c</mi>
      </mrow>
    </mrow>
  </math>

</body>
</html>

3
投票

当我处于类似情况时,这对我来说非常有效。

<head>中添加这些脚本

<script type="text/x-mathjax-config">MathJax.Hub.Config({
  config: ["MMLorHTML.js"],
  jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
  extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
  TeX: {
    extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
  }
});</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

然后,

<script>标签关闭后添加此<body>

<script type="text/javascript">
  MathJax.Hub.Configured()
</script>

documentation

要么

你可以看到这个奇妙的例子.. qazxsw poi ..检查math.stackexchange的来源......这将是非常有帮助的..

UPDATE

请参阅此https://math.stackexchange.com/中的第54页。它说

MathJax支持MathML3.0数学标签,但有一些限制。 MathML支持仍在积极开发中,因此某些标记尚未实现,并且某些功能尚未完全开发,但即将推出。缺点包括:

•不支持表中的对齐组。

•并非表格支持所有属性。例如,columnspan和rowspan尚未实现。

•基本数学标签的实验支持:mstack,mlongdiv,msgroup,msrow,mscarries和mscarry。 (通过mml3扩展,见下文。)

•双向数学的实验支持。


0
投票

试试我的Chrome扩展程序“HTML + MathML”:link

或者我对“所有浏览器”的解决方案:https://chrome.google.com/webstore/detail/fmath-html-%2B-mathml-solut/emdjdpchbjipnjhkfljbcapgfecmnglm?hl=en-GB

问候


0
投票

似乎可以借助CSS和使用HTML5(即支持未知标记的Chrome版本)在Chrome中呈现MathML。

作为一个实验,包括一些婴儿步骤摆弄contenteditable =“true”来测试HTML5编辑,我在这里使用这个CSS: http://www.fmath.info/formula/js/allBrowser.jsp

没有CSS的Chrome示例:

https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/test-mathml-css

使用CSS的Chrome示例:

without CSS

源文件在这里: enter image description here


© www.soinside.com 2019 - 2024. All rights reserved.