3

你如何启用MathJax扩展mhchemSphinxMathJax 是从CDN.

4

3 回答 3

5

将以下块添加到您的第一个文件中。或者查看在某个地方添加 javascript 脚本标记,以便它适用于 sphinx 文档中的每个文件,以将其添加到您的模板中,以便可以全局应用。

.. raw:: html

    <script type="text/javascript" >
    MathJax.Hub.Config({
        TeX: { extensions: ["mhchem.js"] }
    });
    </script>
于 2014-03-10T15:20:48.007 回答
0

为了解决所有 rst 文件的这个问题,我对 mathjax 进行了“子类化”...AKA,我在我的 _static 目录中创建了另一个 js 文件,该文件将加载 mathjax,然后手动添加我需要的扩展名(在我的情况下取消)。mathjax_path然后我在 conf.py 中为该选项指定了该路径。mathjax_config.js 的内容是:

// Dynamically load script then call helper when script has loaded.
function dynamicallyLoadScript(url, helper) {
    var script = document.createElement("script"); // Make a script DOM node
    script.src = url; // Set it's src to the provided URL

    document.head.appendChild(script); // Add it to the end of the head section of the page (could change 'head' to 'body' to add it to the end of the body section instead)
    script.onreadystatechange= function () {
      if (this.readyState == 'complete') helper();
     }
     script.onload= helper;
}

// Configure MathJax
function mathjax_config() {
  MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
  MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions.macros,{
    cancel: ["Extension","cancel"],
    bcancel: ["Extension","cancel"],
    xcancel: ["Extension","cancel"],
    cancelto: ["Extension","cancel"]
    });
  });
}
var mathjax_url = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
dynamicallyLoadScript(mathjax_url, mathjax_config)
于 2018-07-06T16:04:23.660 回答
0

由于Sunhwan Jo 的回答对我不起作用,因此我尝试解决这个问题:

.. math::

   \require{mhchem}
   \ce{E + S <=> ES -> ES* -> E + P}

我认为它简单而优雅。此外,您不需要在一个文件\require{mhchem}中多次调用。.rst

于 2019-10-11T18:00:04.067 回答