0

我在 Anki 中使用 MathJax 来做笔记。当我使用“完形填空”笔记类型并将一些 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;
}

如何解决这个问题?

4

1 回答 1

0

如果您使用的是基于 WebKit 的浏览器(例如,Safari 或 Chrome),那么 WebKit 最近的更改可能是您的问题的原因。MathJax 检查数学可用宽度的方式现在会导致 WebKit 中出现不需要的换行符。(在 MathJax 问题跟踪器中查看此问题。)

这已在版本 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 的更新,您将自动切换到该版本)。

于 2018-09-16T23:06:31.153 回答