2014-10-09 19 views
22

Uso jekyll per scrivere post e mostrarlo in github-pages. il mio file sorgente è scritto con markdown.
Come posso inserire la formula nel file markdown?
Non voglio salvare la formula in un'immagine. e caricare l'immagine nel file markdown. In realtà voglio scrivere la formula in lattice direttamente nel file markdownCome supportare il latex nelle pagine github

+1

Non ha mai fatto ma sembra fattibile http: //gastonsanchez.com/blog/opinion/2014/02/16/Mathjax-with-jekyll.html – DomDom

+1

Grande. Funziona. – Samuel

risposta

22

Poiché le risorse online sono cambiate rispetto a questa domanda, ecco un aggiornamento sul supporto di LateX con GitHub Pages.

Si noti che il più vicino al rendering in lattice senza esportare come immagini e che lo supporta in modo nativo sul proprio sito Jekyll consiste nell'utilizzare MathJax.

mathjax in realtà è raccomandatoin Jekyllrb docs per il supporto di matematica, con Kramdown, converte anche da LaTeX in PNG, maggiori dettagli su di esso qui al Kramdown documentation

Opzione 1: Scrivere l'equazione in MathURL e incorporalo.

È possibile scrivere l'equazione con MathURL, quindi generare un URL che punti in modo permanente all'equazione e visualizzarlo in un tag . Tuttavia, questo smetterà di funzionare se MathURL si disconnetterà.

Opzione 2: Implementare jsMath

jsMath permetterà quasi LateX come sintassi e saranno supportate nel tuo blog, se è stata impostata correttamente, c'è extensive documentation on this.

Opzione 3: mathjax (di gran lunga il più facile a mio parere)

Molti siti hanno detto che mathjax è considerato un successore di jsMath, ed è molto più facile da implementare con Jekyll. MathJax is also used by mathematics.stackexchange.com too!

  • Fase 1: Avere il vostro sito caricare lo script in siti in cui si desidera visualizzare la matematica. (Di solito fatto nell'intestazione)

  • Opzionale: Controllare il parser Markdown in _config.yml. redcarpet o kramdown è suggerito in questo esempio. Alcuni parser come discount interferiranno con la sintassi ma ho una soluzione di seguito.

  • Passaggio 2: scrivi le tue equazioni.

Citando questo tutorial da Gaston Sanchez:

mathjax non ha esattamente lo stesso comportamento come LaTeX. Per impostazione predefinita, il preprocessore tex2jax definisce i delimitatori matematici LaTeX, che sono \ (... \) per matematica in linea e \ [... \] per equazioni visualizzate. Lo definisce anche i delimitatori di TeX $$ ...$$ per equazioni visualizzate, ma non definisce $ ... $ come delimitatori matematici in linea.

Leggere la documentation sulla sintassi per ulteriori dettagli.

  • Nota: Utilizzando il tag raw liquido per garantire parser Markdown non interferiscono con la sintassi mathjax.
  • Mentre è possibile evitare i backslash (ad esempio \\[ \frac{1}{n^{2}} \\]) su assicurandosi che siano analizzati correttamente, as described by Chistopher Poole's tutorial, questo non è sempre intuitivo e sembra complicato. Una soluzione più semplice sarebbe quella di utilizzare il tag liquido grezzo per garantire che il testo venga ignorato dal processore Markdown e venga emesso direttamente come html statico . Questo viene fatto con {% raw %} e anche {% endraw %}

Ecco un esempio di codice:

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

Infine anche assicurare che i tipi di carattere supporta la visualizzazione LateX come alcuni hanno problemi come la dimensione del carattere troppo piccolo. In alternativa, ecco alcuni additional methods like Google Charts and MathML discussi nel sito gemello StackExchange in lattice.

+0

MathJax ha funzionato perfettamente per me. La pagina su http://docs.mathjax.org/en/latest/start.html ha un buon esempio. – MxNx

+0

[qui] (http://gastonsanchez.com/opinion/2014/02/16/Mathjax-with-jekyll/) è un post molto bello sul blog che usa mathjax con jekyll – glS

+0

È semplice come aggiungere il tag di script mathjax nel layout del post ora. È abbastanza chiaro nei documenti ora: https://jekyllrb.com/docs/extras/#math-support –

3

Se è stato utilizzato Jekyll nelle vostre pagine GitHub, è possibile aggiungere

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

nel file _includes/head.html, e allora il vostro sito GitHub Pagine sosterrà mathjax

Problemi correlati