MathJax如何将latex 输出 为MathML

yjyj88888 2019-07-04 06:11:05
本人最近在学习Mathjax,在它的文档中,有一个示例代码,我将其复制,新建一个html页面,运行但是没有输出MathML代码。不知道怎么会事,求高人指点。代码如下 源页面地址--》https://docs.mathjax.org/en/latest/advanced/toMathML.html

<!DOCTYPE html>
<html>
<head>
<title>MathJax TeX to MathML Page</title>
<script>
function toMathML(jax,callback) {
var mml;
try {
mml = jax.root.toMathML("");
} catch(err) {
if (!err.restart) {throw err} // an actual error
return MathJax.Callback.After([toMathML,jax,callback],err.restart);
}
MathJax.Callback(callback)(mml);
}
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [​["$","$"],["\\\\​(","\\\\​)"]​]}
});
MathJax.Hub.Queue(
function () {
var jax = MathJax.Hub.getAllJax();
for (var i = 0; i < jax.length; i++) {
toMathML(jax[i],function (mml) {
alert(jax[i].originalText + "\n\n=>\n\n"+ mml);
});
}
}
);
</script>
<script type="text/javascript" src="http://example.com/MathJax.js?config=TeX-AMS_CHTML-full"></script>
</head>
<body>
<p>
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</p>
</body>
</html>
...全文
473 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjyj88888 2019-07-05
  • 打赏
  • 举报
回复
谢谢老师的指点,我粘出的是官方文档,我也不知道哪里错了。能不能帮忙修改让它运行起来。谢谢!
Hello World, 2019-07-05
  • 打赏
  • 举报
回复
楼主的代码中有4个不可见字符:
Hello World, 2019-07-05
  • 打赏
  • 举报
回复
代码中有一些不可见字符,会导致错误,删除后就可以了

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MathJax Test</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
<script>
function toMathML(jax, callback) {
var mml;
try {
mml = jax.root.toMathML("");
} catch (err) {
if (!err.restart) { throw err } // an actual error
return MathJax.Callback.After([toMathML, jax, callback], err.restart);
}
MathJax.Callback(callback)(mml);
}
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath:[["$","$"],["\\\\(","\\\\)"]]}
});
MathJax.Hub.Queue(
function () {
var jax = MathJax.Hub.getAllJax();
for (var i = 0; i < jax.length; i++) {
toMathML(jax[i],function (mml) {
alert(jax[i].originalText + "\n\n=>\n\n"+ mml);
});
}
}
);
</script>
</head>
<body>
<p>
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</p>
</body>
</html>
yjyj88888 2019-07-05
  • 打赏
  • 举报
回复
代码添加注释的两行以后,就不运行了。是怎么回事了,求指点!万分感谢,已经不能加分了,请理解!

<script type="text/x-mathjax-config">

MathJax.Hub.Config({
tex2jax: {inlineMath:[["$","$"],["\\\\(","\\\\)"]]}
});
MathJax.Hub.Queue(
function () {
var latexstr =document.getElementById("Literal1").innerHTML;//想取到控件的值
var jax = MathJax.Hub.getAllJax();
for (var i = 0; i < jax.length; i++) {
toMathML(jax[i],function (mml) {
latexstr .replace(jax[i].originalText ,mml);//用转换的mml字符串替换对应的latex字符串
});
}
}
);
</script>

yjyj88888 2019-07-05
  • 打赏
  • 举报
回复
3楼代码能正常运行了,因为我不懂JS,但现在我又遇到一个问题,假设有这样一个应用场景,有这样一段html代码,:

aaaaaaaaaaaa+$..latex公式一.......$ +bbbbbbbbb+$.....latex公式2....$+cccccccc+$.......latex公式3....$+ddddddddd+........

我们可以把这段代码是一个字符串,string str1 =@"aaaaaaaaaaaa+$latex公式一.......$ +bbbbbbbbb+$laex公式二....$+cccccccc+$latex公式三....$+ddddddddd+........"我想在button 的onclick事件时,将这个字符串中的数学表达式中的latex公式逐个用上面的mathjax转换成 mathml,并对应替换掉,最终得到新的字符串,string str2 =@"aaaaaaaaaaaa+$..mathml公式一.......$ +bbbbbbbbb+$......mathml公式二....$+.cccccccc+$.......mathml公式三....$+ddddddddd+........"
2019-07-04
  • 打赏
  • 举报
回复
它这个示例有问题, 引用正确的js后报错
2019-07-04
  • 打赏
  • 举报
回复
js地址引用错了

<!DOCTYPE html>
<html>
<head>
<title>MathJax TeX Test Page</title>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
</head>
<body>
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</body>
</html>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧