Подтвердить что ты не робот

Как поддерживать латекс в github-страницах

Я использую jekyll, чтобы писать сообщение и показывать его на github-страницах. мой исходный файл записывается с уценкой.
Как вставить формулу в файл уценки? Я не хочу сохранять формулу в изображение. и загружать изображение в файл уценки. Я на самом деле хочу написать формулу латекса в файле уценки напрямую

4b9b3361

Ответ 1

Так как ресурсы в Интернете изменились по этому вопросу, здесь обновляется поддержка LateX с страницами GitHub.

Обратите внимание, что ближайший к Latex рендеринг без экспорта в качестве изображений и его поддержка на вашем сайте Jekyll будет использовать MathJax.

MathJax на самом деле рекомендуется в документах Jekyllrb для математической поддержки, с Kramdown, он также преобразует его из LaTeX в PNG, подробнее об этом здесь, в Документация Kramdown

Вариант 1: Напишите свое уравнение в MathURL и вставьте его.

Вы можете написать уравнение с MathURL, затем сгенерировать URL-адрес, который постоянно указывает на уравнение и отобразить это в теге <iframe>. Однако это прекратит работу, если MathURL переходит в автономный режим.

Вариант 2: Внедрить jsMath

jsMath позволит почти LateX как синтаксис и будет поддерживаться в вашем блоге, если вы его правильно настроили, обширная документация по этому вопросу,

Вариант 3: Mathjax (пожалуй, самый легкий, на мой взгляд)

Многие сайты упомянули, что Mathjax считается преемником jsMath, и его намного проще реализовать с Jekyll. MathJax также используется также математикой .stackexchange.com!

  • Шаг 1. Загрузите ваш сайт script на сайтах, где вы хотите отображать математику. (обычно делается в заголовке)

  • Дополнительно: проверьте свой синтаксический анализатор в _config.yml. redcarpet или kramdown предлагается в этом примере. Определенные парсеры вроде discount будут влиять на синтаксис, но у меня есть решение ниже.

  • Шаг 2: напишите ваши уравнения.

Цитируя этот урок Гастоном Санчесом:

MathJax не имеет такого же поведения, как LaTeX. По умолчанию, препроцессор tex2jax определяет разделители Math LaTeX, которые являются \ (... \) для линейной математики и \[... \] для отображаемых уравнений. Это также определяет разделители TeX $$... $$ для отображаемых уравнений, но он не определяет $... $как разделители строк в строке.

Подробнее читайте документацию в синтаксисе.

  • Примечание: Использование тега raw для обеспечения того, чтобы маркерные парсеры не мешали синтаксису MathJax.
  • Пока вы можете избежать обратных косых черт (например, \\[ \frac{1}{n^{2}} \\]), чтобы убедитесь, что они правильно разбираются, как описано Chistopher Poole's учебник, это не всегда интуитивно понятно и выглядит сложным. более простым решением было бы использовать сырую жидкую метку, чтобы обеспечить текст игнорируется процессором Markdown и напрямую выводится как статический html. Это делается с помощью {% raw %}, а также {% endraw %}

Вот пример кода:

 {% raw %}
  $$a^2 + b^2 = c^2$$ --> note that all equations between these tags will not need escaping! 
 {% endraw %}

Наконец, также убедитесь, что шрифты поддерживают отображение LateX, поскольку некоторые из них имеют такие проблемы, как размер шрифта, слишком маленький. В качестве альтернативы здесь приведены некоторые дополнительные методы, такие как Google Charts и MathML, которые обсуждаются на веб-сайте латекса StackExchange.

Ответ 2

если вы использовали Jkeyll на своих страницах github, вы можете добавить

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  tex2jax: {
    skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
    inlineMath: [['$','$']]
  }
});

  в файле _includes/head.html, а затем ваши страницы github будут поддерживать MathJax