And*_*dry 1 html javascript mathjax
我正在使用 MathJax 在我的网页中显示数学。这是我加载和配置它的方式:
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
},
"HTML-CSS": { fonts: ["TeX"], linebreaks: { automatic: true } }
});
</script>
<script src="//mathjax.rstudio.com/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script>
Run Code Online (Sandbox Code Playgroud)
该脚本作为最后一个条目放置在<body>. 在此之前,我有一些(长)数学方程,例如:
<body>
$$
a + b + c + d + \int_a^b f(x)dx - \sum_k c_k\int g(x)dx = \prod_n \int_{\Omega_k} F(x,y,z) d\omega
$$
...
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,它会很好地呈现方程。但是,当我将页面大小设置得很窄并刷新/加载页面时;该方程未以适合页面的方式呈现。
MathJax 文档指出可linebreaks: { automatic: true }用于自动中断长表达式。为什么这不起作用?
现场演示:我发布了一个CodePen 演示。
我也发现了类似的问题,就像这个问题一样。那里的 CodePen 可以工作,我不明白为什么我的代码不能工作。
问题源于这样一个事实:您的内联配置与与 MathJax 一起加载的组合配置文件(通过查询字符串)不一致。
内联时,您将设置 HTML-CSS 输出以及自动换行。但是,组合的配置文件会加载 CommonHTML 输出。
配置的最后更新来自组合配置文件,因此您最终会得到 CommonHTML 输出(您可以通过 MathJax 上下文菜单检查这一点,也可以在那里切换到 HTML-CSS - 注意:这会设置 cookie)。
因此,您可以更新内联配置或切换组合配置。
我建议使用 CommonHTML 输出,它比现在肯定古老的 HTML-CSS 输出(IE8 刚推出时设计的)更新、更快。-full如果您知道需要渲染内容,您还可以添加到查询字符串以获得更大的有效负载(否则 MathJax 在加载更多组件之前首先查找内容)。
body { width: 10em}Run Code Online (Sandbox Code Playgroud)
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
},
"CommonHTML": { linebreaks: { automatic: true } }
});
</script>
<script src="//mathjax.rstudio.com/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script>
$$
a + b + c + d + \int_a^b f(x)dx - \sum_k c_k\int g(x)dx = \prod_n \int_{\Omega_k} F(x,y,z) d\omega
$$ Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1856 次 |
| 最近记录: |