2014-10-09 7 views
22

Ich benutze Jekyll, um Post zu schreiben und es in Github-Seiten zu zeigen. Meine Quelldatei ist mit Markdown geschrieben.
Wie kann ich Formel in die Markdown-Datei einfügen?
Ich möchte nicht die Formel in ein Bild speichern. und lade das Bild in die Markdown-Datei. Ich möchte tatsächlich Latex-Formel in Markdown-Datei direkt schreibenWie unterstützt man Latex in Github-Seiten

+1

nie versucht, aber es scheint machbar http: //gastonsanchez.com/blog/opinion/2014/02/16/Mathjax-with-jekyll.html – DomDom

+1

Großen. Es klappt. – Samuel

Antwort

22

Da Ressourcen online in Bezug auf diese Frage geändert haben, hier ist ein Update zur Unterstützung von LateX mit GitHub Pages.

Beachten Sie, dass die am nächsten an Latex-Rendering, ohne als Bilder zu exportieren und nativ auf Ihrer Jekyll-Site zu unterstützen, wäre, MathJax zu verwenden.

Mathjax ist eigentlichin Jekyllrb docs für Mathe-Unterstützung empfohlen, mit Kramdown, wandelt es auch von LaTeX zu PNG, weitere Details zu den hier im Kramdown documentation

Option 1: Ihre Gleichung schreiben in MathURL und bette es ein.

Sie konnten die Gleichung mit MathURL, dann erzeugen eine URL schreiben, die auf die Gleichung permanent Punkte, und dies in einem Tag anzuzeigen. Dies funktioniert jedoch nicht mehr, wenn MathURL offline geschaltet wird.

Option 2: Implement jsMath

jsMath fast LateX wie Syntax ermöglichen und wird in Ihrem Blog unterstützt werden, wenn Sie es richtig eingerichtet haben, ist es extensive documentation on this.

Option 3: Mathjax (bei weitem der einfachste meiner Meinung nach)

Viele Websites haben erwähnt, dass Mathjax einen Nachfolger von jsMath betrachtet wird, und ist viel einfacher, mit Jekyll zu implementieren. MathJax is also used by mathematics.stackexchange.com too!

  • Schritt 1: Haben Sie Ihre Website das Skript in Webseiten laden, wo Sie Mathe angezeigt werden soll. (In der Regel im Header getan)

  • Optional: Überprüfen Sie Ihre Abschlags-Parser in _config.yml. In diesem Beispiel wird redcarpet oder kramdown vorgeschlagen. Bestimmte Parser wie discount stören die Syntax, aber ich habe eine Lösung unten.

  • Schritt 2: Schreiben Sie Ihre Gleichungen.

Zitiert dieses Tutorial von Gaston Sanchez:

Mathjax nicht die exakt gleiche Verhalten wie LaTeX. Standardmäßig definiert der tex2jax-Präprozessor die LaTeX-Mathematiktrennzeichen, die \ (... \) für In-Line-Berechnungen und \ [... \] für angezeigte Gleichungen sind. Es definiert auch die TeX-Begrenzer $$ ...$$ für angezeigte Gleichungen, aber es wird nicht definiert $ ... $ als in-line math Begrenzer.

Lesen Sie die documentation auf die Syntax für weitere Details.

  • Hinweis: Mit dem raw Flüssigkeit Tag Markdown-Parser, um sicherzustellen, nicht stören Mathjax Syntax.
  • Während Sie Backslashes (z. B. \\[ \frac{1}{n^{2}} \\]) zu entkommen können, stellen Sie sicher, dass sie ordnungsgemäß analysiert werden, as described by Chistopher Poole's tutorial, das ist nicht immer intuitiv und sieht kompliziert aus. Eine einfachere Lösung wäre es, den Rohflüssigkeit-Tag verwendet der Text, um sicherzustellen, wird vom Prozessor ignoriert und Markdown direkt ausgegeben als statischen HTML. Dies wird mit {% raw %} getan und auch {% endraw %}

Hier ist ein Codebeispiel:

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

schließlich auch dafür sorgen, dass die Schriften LateX wie einige haben Probleme wie Schriftgröße zu klein unterstützen die Anzeige. Alternativ sind hier einige additional methods like Google Charts and MathML im Latex Stack Schwesteraufstellungsort diskutiert.

+0

Mathjax arbeitete perfekt für mich. Die Seite http://docs.mathjax.org/en/latest/start.html enthält eine gute Probe. – MxNx

+0

[hier] (http://gastonsanchez.com/opinion/2014/02/16/Mathjax-with-jekyll/) ist ein sehr schöner Blog-Beitrag über die Verwendung von mathjax mit jekyll – glS

+0

Es ist so einfach wie das Hinzufügen der Mathjax-Skript-Tag im Postlayout jetzt. Es ist jetzt ganz klar in den Dokumenten: https://jekyllrb.com/docs/extras/#math-support –

3

Wenn Sie Jekyll in Ihrem GitHub-Seiten verwendet, können Sie

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

in der Datei _includes/head.html, hinzufügen und dann Ihre GitHub Pages Website unterstützen Mathjax