Изменение размера шрифта MathJax на Anki - PullRequest
0 голосов
/ 01 июля 2018

Я использую Anki с MathJax уже несколько месяцев, но размер шрифта на рабочем столе невероятно мал (хотя на AnkiDroid это нормально). Я справлялся с этим, используя \ огромный каждый раз, когда использую MathJax, но это, очевидно, не лучшее решение. Это также делает все слишком большим на мобильном телефоне.

Мой MathJax настроен как в этом посте . Я искал, как редактировать масштабирование и размер шрифта в MathJax, но ничего не получалось ( например, ), в основном это заканчивалось просто ломкой.

MathJax.Hub.processSectionDelay = 0;
MathJax.Hub.Config({
extensions: ["tex2jax.js"],    
    showProcessingMessages:false,
    tex2jax:{
        inlineMath: [['$','$']],
        displayMath:[['$$','$$']],
        processEscapes:true
    }
});

Кроме того, настройки моей карты:

.card {
font-family: arial;
font-size: 20px;
text-align: center;
color: black;
background-color: white;
}

.cloze {
font-weight: bold;
color: blue;
}

Размер по умолчанию (слишком маленький) и \ огромный (более разумный):

default size and \huge

Я знаю, это должно быть легко. Возможно, значительно уменьшит масштабирование MathJax, если это возможно.

РЕДАКТИРОВАТЬ: Алистер Мартин в основном решил (настольный компьютер и AnkiDroid в порядке). Это работает так:

<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>

1 Ответ

0 голосов
/ 10 июля 2018

Вот что сработало для меня до сих пор:

  1. Изменить на SVG. Это означает изменение параметра url на ?config=TeX-MML-AM_SVG, как упоминалось в статье , на которую вы ссылались.
  2. Измените сценарий JS в начале вашей карты / с, чтобы включить масштаб SVG, значение которого основано на устройстве

Примерно так:

<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>

^ здесь 100 - это шкала% для Ankidroid и macOS, а 180 - шкала% для Windows.

...