MathJax TypeSetting - PullRequest
       6

MathJax TypeSetting

0 голосов
/ 18 января 2019

Я использую MathJax для своего личного блога (размещенного на Github с использованием Jekyll).

Я заметил, что уравнения MathJax мерцают, когда я обновляю страницу, шрифт изначально был относительно небольшим, и он выглядит тонким, и менее чем через полсекунды он обновится и станет намного более смелым.

Мне кажется, мне нравится более тонкий стиль шрифта и меньшие уравнения (которые выглядят намного лучше в тексте), чем более смелая версия, поэтому я пытаюсь настроить его, но не получилось. Вот документация, на которую я сейчас смотрю: http://docs.mathjax.org/en/latest/options/output-processors/HTML-CSS.html#configure-html-css

Вот моя установка, которая не работает:

 <script type="text/x-mathjax-config"> 
    MathJax.Hub.Config({
      tex2jax: {
        inlineMath: [['$','$'], ['\\(','\\)']],
        displayMath: [['$$','$$']],
        processEscapes: true,
        skipTags: ["script","noscript","style","textarea"],
        preferredFont: "TeX",
        scale: 90,
        EqnChunkFactor: 1,
        EqnChunk: 1,
        EqnChunkDelay: 10
      }
    });
    </script>
    <script
      type="text/javascript"
      charset="utf-8"
      src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>
    <script
      type="text/javascript"
      charset="utf-8"
      src="https://vincenttam.github.io/javascripts/MathJaxLocal.js">
    </script>

На заметке у меня также есть это досадное сообщение об ошибке MathJaxLocal.js:1 Uncaught ReferenceError: MathJax is not defined.

Буду очень признателен, если кто-нибудь ответит на этот вопрос !!

1 Ответ

0 голосов
/ 18 января 2019

Вы задаете два совершенно разных вопроса, но позвольте мне все равно их обернуть.

мерцающий

"Мерцание" - это (вероятно, вывод PreviewHTML) docs ). Это может удивить, но это связано с тем фактом, что загружаемый вами файл конфигурации (TeX-AMS-MML_HTMLorMML) MathJax сначала запустит вывод PreviewHTML, а затем вывод HTML-CSS (ср. объединенные документы конфигурации ) и документация по расширению fastpreview .

Вы можете использовать вывод PreviewHTML, как и любой другой вывод вручную, но имейте в виду, что это гораздо менее полный (но более быстрый) выходной процессор, который не требует веб-шрифтов (но использует любые шрифты временного типа, которые есть в системе).

Итак, следуя документам конфигурации , что-то вроде

  MathJax.Hub.Config({
    messageStyle: "none",
    extensions: ["tex2jax.js"],
    jax: ["input/TeX", "output/PreviewHTML"],
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
      processEscapes: true
      skipTags: ["script","noscript","style","textarea"]
    }
    TeX: { 
    // whatever is in MathJaxlocal.js
    }
  });

MathJax не определен

Ошибка связана с тем, что все скрипты на странице загружаются асинхронно. Скорее всего, MathJaxlocal.js будет загружаться и выполняться до MathJax.js (так как он находится в том же домене).

Вам необходимо убедиться, что конфигурация загружена до того, как MathJax будет загружен. К счастью, MathJax может сделать это для вас cf документы .

Поместите вашу конфигурацию в MathJaxLocal.js, а затем только загрузите

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=https://vincenttam.github.io/javascripts/MathJaxLocal.js"></script>

См. Ссылку о том, как добавить другие файлы конфигурации, в том числе объединенные, из CDN - что имеет смысл, если вы хотите вернуться к полноценному выходному процессору, поскольку объединенные конфигурации упакованы более эффективно.

...