Esiste un modo per eseguire il rendering di LaTex in README.md in un repository GitHub? L'ho cercato su Google e ho cercato in overflow dello stack, ma nessuna delle risposte correlate sembra fattibile.
Esiste un modo per eseguire il rendering di LaTex in README.md in un repository GitHub? L'ho cercato su Google e ho cercato in overflow dello stack, ma nessuna delle risposte correlate sembra fattibile.
Risposte:
Per le espressioni brevi e la matematica non così fantasiosa potresti usare l'HTML in linea per ottenere il rendering del tuo lattice in matematica sui codici di codice e quindi incorporare l'immagine risultante. Ecco un esempio:
- <img src="https://latex.codecogs.com/gif.latex?O_t=\text { Onset event at time bin } t " />
- <img src="https://latex.codecogs.com/gif.latex?s=\text { sensor reading } " />
- <img src="https://latex.codecogs.com/gif.latex?P(s | O_t )=\text { Probability of a sensor reading value when sleep onset is observed at a time bin } t " />
Il che dovrebbe tradursi in qualcosa di simile al prossimo
Aggiornamento: Funziona alla grande in Eclipse ma sfortunatamente non in Github. L'unica soluzione è la prossima:
Prendi la tua equazione in lattice e vai su http://www.codecogs.com/latex/eqneditor.php , nella parte inferiore dell'area in cui viene visualizzata la tua equazione, c'è un piccolo menu a discesa, scegli l'URL codificato e quindi incollalo nel tuo github markdown nel prossimo modo:
![equation](http://latex.codecogs.com/gif.latex?O_t%3D%5Ctext%20%7B%20Onset%20event%20at%20time%20bin%20%7D%20t)
![equation](http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D)
![equation](http://latex.codecogs.com/gif.latex?P%28s%20%7C%20O_t%20%29%3D%5Ctext%20%7B%20Probability%20of%20a%20sensor%20reading%20value%20when%20sleep%20onset%20is%20observed%20at%20a%20time%20bin%20%7D%20t)
Carico repository con equazioni su Gitlab perché ha il supporto nativo per LaTeX nei file .md:
```math
SE = \frac{\sigma}{\sqrt{n}}
```
La sintassi per il lattice in linea è $`\sqrt{2}`$
.
Gitlab esegue il rendering delle equazioni con JavaScript nel browser anziché mostrare le immagini, il che migliora la qualità delle equazioni.
Maggiori informazioni qui .
Speriamo che Github attui questo anche in futuro.
Il mio trucco è usare il Notebook Jupyter.
GitHub ha il supporto integrato per il rendering dei file .ipynb. Puoi scrivere in linea e visualizzare il codice LaTeX nel notebook e GitHub lo renderà per te.
Ecco un file di esempio per notebook: https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e
Ho lavorato su uno script che automatizza la maggior parte della cruft dall'ottenere la composizione di LaTeX nel markdown di Github: https://github.com/leegao/readme2tex
Ci sono alcune sfide con il rendering di LaTeX per Github. Innanzitutto, il markdown al gusto di Github rimuove la maggior parte dei tag e la maggior parte degli attributi. Ciò significa che nessuna libreria basata su Javascript (come Mathjax) né qualsiasi stile CSS.
La soluzione naturale sembra quindi essere quella di incorporare immagini di equazioni precompilate. Tuttavia, ti accorgerai presto che LaTeX fa molto di più che trasformare le formule allegate con il simbolo del dollaro in immagini.
La semplice incorporazione di immagini da compilatori online conferisce al tuo documento un aspetto davvero innaturale. In effetti, direi che è ancora più leggibile nel tuo gergo matematico x ^ 2 di tutti i giorni che nel jumpy .
Credo che sia importante accertarsi che i tuoi documenti siano composti in modo naturale e leggibile. Questo è il motivo per cui ho scritto una sceneggiatura che, oltre a compilare formule in immagini, assicura anche che l'immagine risultante sia correttamente adattata e allineata al resto del testo.
Ad esempio, ecco un estratto di un .md
file relativo ad alcune proprietà enumerative del set di espressioni regolari che utilizza readme2tex
:
Come ci si potrebbe aspettare, l'insieme di equazioni in alto viene specificato semplicemente avviando l' align*
ambiente corrispondente
**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...
Si noti che mentre le equazioni in linea ($ ... $) vengono eseguite con il testo, vengono visualizzate le equazioni (quelle delimitate da \begin{ENV}...\end{ENV}
o$$...$$
) vengono centrate. Ciò semplifica la produttività delle persone già abituate a LaTeX.
Se questo suona come qualcosa che potrebbe aiutare, assicurati di verificarlo. https://github.com/leegao/readme2tex
Si può anche usare questo editor online: https://www.codecogs.com/latex/eqneditor.php che genera SVG
file al volo. È possibile inserire un link nel documento come questo:
![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)
che si traduce in:
.
Ho testato alcune soluzioni proposte da altri e vorrei raccomandare TeXify creato e proposto nei commenti di agurodriguez e ulteriormente descritto da Tom Hale - Vorrei sviluppare la sua risposta e dare qualche motivo per cui questa è un'ottima soluzione:
*.tex.md
file, TeXify rileverà le modifiche e genererà un *.md
file in cui le formule di lattice verranno scambiate dalle sue immagini salvate nella tex
directory nel tuo repository. Quindi, se si crea il file README.tex.md, TeXify genererà README.md con immagini anziché formule tex. Quindi l'analisi delle formule tex e la generazione della documentazione vengono eseguite automaticamente su ogni commit e push :)tex
directory e il file README.md utilizza collegamenti a tali immagini, puoi anche disinstallare TeXify e tutta la tua vecchia documentazione continuerà a funzionare :). La tex
directory e i *.tex.md
file rimarranno nel repository in modo da avere accesso alle tue formule e immagini in lattice originali (puoi anche archiviare in sicurezza nella tex
directory le altre immagini della documentazione "fatte a mano" - TeXify non le toccherà).http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D
il che è buono ha tuttavia alcuni svantaggi: le formule nei collegamenti non sono facili (utili) da leggere e aggiornare, e se ci saranno problemi con quel servizio di terze parti la tua vecchia documentazione smetterà di funzionare ... In TeXify la tua vecchia documentazione funzionerà sempre anche se disinstalli quel plugin (perché tutte le tue immagini generate dalle formule di lattice rimangono nella repo nella tex
directory).Ecco il link ad alcuni dei miei repository in cui utilizzo TeXify per cui è stata generata la documentazione dal file README.tex.md .
Per la conversione automatica al push su GitHub, dai un'occhiata all'app TeXify :
App GitHub che cerca i file con estensione * .tex.md e esegue il rendering delle sue espressioni TeX come immagini SVG
Come funziona (dal repository di origine ):
Ogni volta che si preme TeXify verrà eseguito e cercherà i file * .tex.md nell'ultimo commit. Per ognuno di questi verrà eseguito readme2tex che prenderà le espressioni LaTeX racchiuse tra simboli di dollaro, lo convertirà in semplici immagini SVG e quindi salverà l'output in un file di estensione .md (ciò significa che un file chiamato README.tex.md verrà elaborato e l'output verrà salvato come README.md). Successivamente, il file di output e le nuove immagini SVG vengono quindi sottoposti a commit e rimandati al repository.
$...$
testo. Qualche idea sul perché? Questo è il repository: github.com/brunoconteleite/Spatial-Model-Solver
La mia soluzione rapida è questa:
passaggio 1. Aggiungi latex al tuo .md
file
$$x=\sqrt{2}$$
Nota: gli eqn matematici devono essere in $$ ... $$ o \\(... \\)
.
passaggio 2. Aggiungere quanto segue al scripts.html
file del tema o (aggiungere questo codice alla fine)
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
Fatto!. Vedi la tua eq. caricando la pagina.
scripts.html
file? Non riesco a trovare alcun riferimento a questo come funzionalità github.
Jeykyll
temi ( file di temi)? Questo codice serve per visualizzare il lattice nelle pagine git.
È possibile ottenere un servizio di integrazione continua (ad esempio Travis CI ) per il rendering di LaTeX e il commit dei risultati su github. CI distribuirà un lavoratore "cloud" dopo ogni nuovo commit. Il lavoratore compila il documento in pdf e cede ImageMagick per convertirlo in un'immagine o utilizza PanDoc per tentare la conversione LaTeX-> HTML dove il successo può variare a seconda del documento. Il lavoratore quindi trasferisce l'immagine o l'html nel repository da dove può essere mostrato nel file Leggimi.
Di seguito viene incollata la configurazione di esempio di TravisCi che crea un PDF, lo converte in un PNG e lo memorizza in una posizione statica nel repository. Dovresti aggiungere una riga che recupera il PDF converte il PDF in un'immagine
sudo: required
dist: trusty
os: linux
language: generic
services: docker
env:
global:
- GIT_NAME: Travis CI
- GIT_EMAIL: builds@travis-ci.org
- TRAVIS_REPO_SLUG: your-github-username/your-repo
- GIT_BRANCH: master
# I recommend storing your GitHub Access token as a secret key in a Travis CI environment variable, for example $GH_TOKEN.
- secure: ${GH_TOKEN}
script:
- wget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh
- chmod +x latexdockercmd.sh
- "./latexdockercmd.sh latexmk -cd -f -interaction=batchmode -pdf yourdocument.tex -outdir=$TRAVIS_BUILD_DIR/"
- cd $TRAVIS_BUILD_DIR
- convert -density 300 -quality 90 yourdocument.pdf yourdocument.png
- git checkout --orphan $TRAVIS_BRANCH-pdf
- git rm -rf .
- git add -f yourdoc*.png
- git -c user.name='travis' -c user.email='travis' commit -m "updated PDF"
# note we are again using GitHub access key stored in the CI environment variable
- git push -q -f https://your-github-username:$GH_TOKEN@github.com/$TRAVIS_REPO_SLUG $TRAVIS_BRANCH-pdf
notifications:
email: false
Questa configurazione di Travis Ci avvia un lavoratore Ubuntu scarica un'immagine docker in lattice, compila il documento in pdf e lo trasferisce in un ramo chiamato branchanme-pdf.
Per altri esempi, consulta questo repository github e la relativa discussione sx , esempio PanDoc , https://dfm.io/posts/travis-latex/ e questo post su Medium .
È possibile utilizzare markdown, ad es
![equ](https://latex.codecogs.com/gif.latex?log(y)=\beta_0&space;+&space;\beta_1&space;x&space;+&space;u)
Il codice può essere digitato qui: https://www.codecogs.com/latex/eqneditor.php .
Se stai riscontrando problemi con https://www.codecogs.com/latex/eqneditor.php , ho scoperto che https://alexanderrodin.com/github-latex-markdown/ ha funzionato per me. Genera il codice Markdown necessario, quindi basta tagliarlo e incollarlo nel documento README.md.