Изменение размера шрифта MathJax на Anki

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

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

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

Also, my card's settings:

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

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

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

размер по умолчанию и \огромный

Я знаю, что это должно быть легко. Возможно, значительно уменьшит масштабирование 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>

person AtilioA    schedule 01.07.2018    source источник
comment
Живой образец пожалуйста.   -  person Peter Krautzberger    schedule 01.07.2018
comment
Извините, я не знаю, как это сделать. Но я включил изображение.   -  person AtilioA    schedule 01.07.2018
comment
У вас есть ссылка на живую страницу? Скорее всего, это проблема конкретного контекста.   -  person Peter Krautzberger    schedule 01.07.2018


Ответы (1)


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

  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.

person Alistair Martin    schedule 10.07.2018
comment
Это действительно аккуратно. Работа по назначению. Кроме того, MathJax загружался, поэтому я как бы проигнорировал ту часть, где он упоминает SVG... - person AtilioA; 10.07.2018