MathJax 突然断线
MathJax is suddenly breaking lines
我在 Anki 中使用 MathJax 做笔记。当我使用 "Cloze" 注释类型并在完形填空删除中放置一些 MathJax 时,线条突然断开,但在完形填空删除之外 MathJax 会按预期呈现。这是一个示例 1。
我的前台模板:
{{cloze:Text}}
<script type="text/x-mathjax-config">
MathJax.Hub.processSectionDelay = 0;
MathJax.Hub.Config({
messageStyle: 'none',
showProcessingMessages: false,
tex2jax: {
inlineMath: [['$', '$']],
displayMath: [['$$', '$$']],
processEscapes: true
},
SVG: {
scale: (!!navigator.userAgent.match(/(mac)|(mobile)/i) ? 100 : 180)
}
});
</script>
<script type="text/javascript">
(function() {
if (window.MathJax != null) {
var card = document.querySelector('.card');
MathJax.Hub.Queue(['Typeset', MathJax.Hub, card]);
return;
}
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG';
document.body.appendChild(script);
})();
</script>
和造型:
.card {
font-family: calibri;
font-size: 20px;
text-align: center;
color: black;
background-color: lightgray;
}
.cloze {
font-weight: bold;
color: blue;
}
如何解决这个问题?
如果您使用的是基于 WebKit 的浏览器(例如 Safari 或 Chrome),那么最近对 WebKit 的更改可能是您遇到问题的原因。 MathJax 检查数学可用宽度的方式现在会导致 WebKit 中出现不需要的换行符。 (请参阅 MathJax 问题跟踪器中的 this issue。)
这已在 2.7.5 版中修复,因此您应该升级到该版本。您当前使用的是 2.7.1,因此更改
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG';
到
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_SVG';
会做到的。将其更改为
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_SVG';
将确保您自动拥有最新 (2.x) 版本(即,即使您是从 2.7.5 调用的,如果有更新到 2.7.6,您将被切换到自动)。
我在 Anki 中使用 MathJax 做笔记。当我使用 "Cloze" 注释类型并在完形填空删除中放置一些 MathJax 时,线条突然断开,但在完形填空删除之外 MathJax 会按预期呈现。这是一个示例 1。 我的前台模板:
{{cloze:Text}}
<script type="text/x-mathjax-config">
MathJax.Hub.processSectionDelay = 0;
MathJax.Hub.Config({
messageStyle: 'none',
showProcessingMessages: false,
tex2jax: {
inlineMath: [['$', '$']],
displayMath: [['$$', '$$']],
processEscapes: true
},
SVG: {
scale: (!!navigator.userAgent.match(/(mac)|(mobile)/i) ? 100 : 180)
}
});
</script>
<script type="text/javascript">
(function() {
if (window.MathJax != null) {
var card = document.querySelector('.card');
MathJax.Hub.Queue(['Typeset', MathJax.Hub, card]);
return;
}
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG';
document.body.appendChild(script);
})();
</script>
和造型:
.card {
font-family: calibri;
font-size: 20px;
text-align: center;
color: black;
background-color: lightgray;
}
.cloze {
font-weight: bold;
color: blue;
}
如何解决这个问题?
如果您使用的是基于 WebKit 的浏览器(例如 Safari 或 Chrome),那么最近对 WebKit 的更改可能是您遇到问题的原因。 MathJax 检查数学可用宽度的方式现在会导致 WebKit 中出现不需要的换行符。 (请参阅 MathJax 问题跟踪器中的 this issue。)
这已在 2.7.5 版中修复,因此您应该升级到该版本。您当前使用的是 2.7.1,因此更改
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG';
到
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_SVG';
会做到的。将其更改为
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_SVG';
将确保您自动拥有最新 (2.x) 版本(即,即使您是从 2.7.5 调用的,如果有更新到 2.7.6,您将被切换到自动)。