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