首页 > 解决方案 > 如何使用 AsciiMath 显示 MathJax?

问题描述

我正在使用MathJax在我的网站中显示数学公式。现在,我也想使用AsciiMath。问题是,当我使用AsciiMath分隔符`...`而不是MathJax分隔符$...$时,它不起作用。

这是我的 JS 代码(与 MathJax 分隔符一起使用):

<script type="text/x-mathjax-config">
 MathJax.Hub.Config({
  tex2jax: {
   inlineMath: [["$","$"],["\\(","\\)"]],
   displayMath: [['$$','$$'], ["\\[","\\]"]]
  },
  asciimath2jax: {
   delimiters: [['\\$','\\$'], ['`','`']]
  }
 });
</script>

所以,如果我写在我的HTML <p>$x^2$</p>中,它会显示:Click to view img

但是,如果我写<p>`x^2`</p>显示是:点击查看 img

另外,我在HTML代码的底部使用了这个CDN :

<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full"></script>

请注意,如果我把它放在我的HTML代码的顶部,也不起作用。

标签: javascripthtmlmathjaxasciimath

解决方案


您正在加载一个仅包含 TeX 输入处理器而不是 AsciiMath 的配置文件。加载 TeX 和 AsciiMath 的唯一组合配置文件也加载 MathML 输入处理器,所以如果你同意,那么你可以使用

<script src="http://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-MML-AM_CHTML-full"></script>

(我已将您的呼叫从停用的 MathJax CDN 更改为活动的。)

如果您只想要 TeX 和 AsciiMath,那么您必须使用MathJax.Hub.Config()调用为它们加载一个,如

<script type="text/x-mathjax-config">
 MathJax.Hub.Config({
  jax: ['input/AsciiMath'],
  extensions: ['asciimath2jax.js'],
  tex2jax: {
   inlineMath: [["$","$"],["\\(","\\)"]],
   displayMath: [['$$','$$'], ["\\[","\\]"]]
  },
  asciimath2jax: {
   delimiters: [['\\$','\\$'], ['`','`']]
  }
 });
</script>
<script src="http://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_CHTML-full"></script>

推荐阅读