好的,对我来说,这是一次非常令人沮丧的冒险。我已经连续几天花了很多时间试图让MathJax在ipython Notebook的Markdown单元中启用和识别mhchem扩展。数学表达式可以正常工作,但是无法识别mhchem宏\ce
\cf
\cee
。我尝试在MathJax/config/default.js
文件中启用扩展名。我尝试将以下脚本代码与Markdown窗口一起放置
<script type="text/x-mathjax-config">
MathJax.Hub.Config({TeX: {extensions:["TeX/mhchem.js"]}
...
});
</script>
我尝试了所有可以在互联网上找到的技巧和窍门。似乎没有任何作用。
我正在运行debian wheezy。我以为可能是默认的mhchem和MathJax软件包导致了这个问题,所以我将用于ipython笔记本的MathJax的自定义版本安装到我的profile_default/static目录中,并配置了ipython来使用它。再次,数学很好,化学是行不通的。我可以直接从TeX使用mhchem扩展,但是MathJax只是拒绝加载扩展或识别
\ce
标签。我很沮丧!
有人有主意吗?
最佳答案
感谢您的回答。我曾尝试使用不含Tex/
的脚本加载脚本。我试过了/ce
\ce
。几乎所有可以想象的。我终于找到了解决方案,它是这样的:
如果我在数学表达式中使用“非标准” /require
宏来强制加载mhchem扩展名,则一切正常。
我在Markdown单元的顶部添加了以下代码
$$\require{mhchem}$$
奇怪的是,一旦我在第一个markdown单元的第一行中完成了此操作,它似乎就可以在整个笔记本电脑上正常工作了。即使是在我执行以下代码以测试mhchem扩展的代码页中:
from IPython.display import display, Math, Latex
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
display(Math(r'\ce{H2O}'))
如果没有
/require
宏,则上面的代码将正确生成数学函数,但是化学公式将简单地呈现为'\ceH2O'通过包含
/require
行,笔记本中的所有mhchem用法似乎都可以正常工作。另外,我应该注意,我正在运行从Debian Jesse仓库安装的ipython软件包。原来那仍然是0.13。最后,我删除了这些软件包,并使用setuptools直接安装了1.10。 MathJax开箱即用。
无论如何,希望这将为其他一些化学 react 较差的用户节省一些挫败感
关于ipython - 如何获取MathJax以在ipython Notebook中启用mhchem扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21122210/