Come mostrare le equazioni matematiche nel markdown generale di github (non nel blog di github)


151

Dopo aver indagato, ho scoperto che Mathjax può farlo. Ma quando scrivo qualche esempio nel mio file markdown, non mostra le equazioni corrette:

Ho aggiunto questo nell'intestazione del file markdown:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

E digita l'istruzione mathjax:

(E = mc ^ 2) , $$ x_ {1,2} = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2b}. $$

Ma github non mostra nulla per i simboli matematici! Per favore aiutatemi, grazie! Dimmi come mostrare i simboli matematici nelle pagine di markdown di github.


2
Non risolve il problema per gli utenti generici, ma questa risposta suggerisce uno script del browser che può almeno farti vedere le equazioni: stackoverflow.com/q/11255900/180892
Jeromy Anglim

gitlab usa KaTeX
Foad il

Risposte:


144

Ma Github non mostra nulla per i simboli matematici! per favore aiutami, grazie!

L'analisi markdown GitHub viene eseguita da SunDown (ex libUpSkirt).

Il motto della libreria è " Libreria di elaborazione markdown conforme agli standard, veloce e sicura in C" . La parola importante è "sicuro" lì, considerando la tua domanda :).

In effetti, consentire l'esecuzione di javascript sarebbe un po 'fuori dal contratto da testo a HTML standard di MarkDown.

Inoltre, tutto ciò che assomiglia a un tag HTML viene evaso o eliminato.

Dimmi come mostrare i simboli matematici nel markdown generale di github.

La soluzione migliore sarebbe quella di trovare un sito Web simile a yuml.me in grado di generare immagini al volo analizzando la stringa di query URL fornita.

Aggiornare

Ho trovato alcuni siti che offrono agli utenti tale servizio: codedogs.com ( sembra non supportare più l'incorporamento ) o iTex2Img . Potresti volerli provare. Naturalmente, potrebbero esistere altri e alcuni Google-fu ti aiuteranno a trovarli.

data la seguente sintassi markdown

![equation](http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

mostrerà la seguente immagine

equazione http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

Nota : per visualizzare correttamente l'immagine, devi assicurarti che la parte di querystring dell'URL sia codificata in percentuale . Puoi facilmente trovare strumenti online per aiutarti in tale compito, come www.url-encode-decode.com


6
@nultoken, grazie per la tua utile risposta. Ho usato il sito web iTex2Img a cui hai fatto riferimento in precedenza e ho aggiunto due formule alla mia documentazione. Ho un problema che quando apro la pagina della documentazione su GitHub, entrambe le formule sono mostrate uguali mentre in realtà sono diverse. Vuoi sapere perché succede?
Sam,

3
mathurl.com è anche un sito Web degno di nota se devi generare l'immagine.
Martin Thoma,

2
Questo non sembra funzionare su Github però. L'immagine non viene visualizzata. Qualcuno sa perché?
OganM,

1
@OganM La sintassi è cambiata. Il collegamento è stato corretto e testato anche in GitHub
nulltoken

1
Il sito iTex2Img non sembra funzionare costantemente per me. L'immagine non sembra renderizzata su Github.
timbram,

91

Markdown supporta HTML in linea. Inline HTML può essere utilizzato sia per equazioni inline rapide che semplici e, con uno strumento esterno, per un rendering più complesso.

Inline semplice e veloce

Per elementi inline semplici e veloci usa la e commerciale HTML e i codici entità . Un esempio che combina questa idea con il testo del pedice in markdown è: h θ (x) = θ o x + θ 1 x, il codice per il quale segue.

    h<sub>&theta;</sub>(x) = &theta;<sub>o</sub> x + &theta;<sub>1</sub>x

I codici entità e commerciale HTML per i simboli matematici comuni sono disponibili qui . Codici per lettere greche qui .

Sebbene questo approccio abbia dei limiti, funziona praticamente in tutti i markdown e non richiede librerie esterne.

Rendering integrato scalabile complesso con LaTeX e Codecogs

Se le tue esigenze sono maggiori, usa un renderer esterno LaTeX come CodeCogs. Crea un'equazione con l'editor CodeCogs . Scegli svg per il rendering e HTML per il codice di incorporamento. Svg rende bene al ridimensionamento. L'HTML consente di leggere facilmente LaTeX quando si guarda l'origine. Copia il codice da incorporare nella parte inferiore della pagina e incollalo nel tuo markdown.

<img src="https://latex.codecogs.com/svg.latex?\Large&space;x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" title="\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" />

Questo combina questa risposta e questa risposta .

Supporto GitHub solo a volte ha funzionato usando la sintassi html di cui sopra per LaTeX leggibile per me. Se quanto sopra non funziona per te, un'altra opzione è quella di scegliere il rendering con codifica URL e utilizzare quell'output per creare manualmente un collegamento come:

\ Large x = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2a}

![\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}](https://latex.codecogs.com/svg.latex?x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D)

Ciò incorpora manualmente LaTex nel testo dell'immagine alternativa e utilizza un URL codificato per il rendering su GitHub.

Rendering su più righe

Se hai bisogno del rendering su più righe, dai un'occhiata a questa risposta .


1
questo ha funzionato alla grande. Ho dovuto convertire un notebook jupyter (.ipynb) in .mde le equazioni erano essenzialmente codice in lattice multilinea.
Marc Maxmeister,


11

Un'altra soluzione alternativa consiste nell'utilizzare i notebook jupyter e utilizzare la modalità markdown nelle celle per eseguire il rendering delle equazioni.

Le cose di base sembrano funzionare perfettamente, come equazioni centrate

\begin{equation}
...
\end{equation}

o equazioni in linea

$ \sum_{\forall i}{x_i^{2}} $

Sebbene, una delle funzioni che volevo davvero non fosse affatto rappresentata in Github era \mbox{}, il che era un peccato. Tutto sommato, questo è stato il modo più efficace per eseguire il rendering di equazioni su github.


3
Grazie per questa risposta, ma c'è questo problema: sono riuscito a usare il notebook jupyter in modalità markdown e l'equazione appare OK. Tuttavia, ora come puoi fare per trasferire questo markup jupyter readme.mdsu GitHub?
DavidC.

1
Le equazioni non vengono visualizzate direttamente sui file Markdown. Le equazioni dovrebbero praticamente essere immagini per essere sul readme.md. Tuttavia, puoi sempre mettere file.ipynbsu github e github lo rende bene.
hexicle

8

Adesso è il 2020, vorrei riassumere i progressi della formula matematica che supporta il supporto degli host del repository di codice sorgente.

GitHub e Bitbucket

GitHub e Bitbucket non supportano ancora il rendering di formule matematiche, siano essi i delimitatori predefiniti o altro.

Bitbucket Cloud / BCLOUD-11192 - Aggiungi supporto LaTeX nei documenti MarkDown (BB-12552)

GitHub / markup - Rendering delle equazioni matematiche

GitHub / markup - Supporto latex

Forum della comunità GitHub - [RICHIESTA DI FUNZIONALITÀ] LaTeX Math in Markdown

talk.commonmark.org - Può la formula matematica aggiunta al markdown

GitHub non ha fatto progressi sostanziali negli ultimi anni.

GitLab

GitLab è già supportato, ma non è il modo più comune. Usa il suo delimitatore.

This math is inline $`a^2+b^2=c^2`$.

This is on a separate line

```math
a^2+b^2=c^2
```

GitLab Flavored Markdown - Math

Chi supporta i delimitatori universali?

Un parser Markdown utilizzato da Hugo

Altri modi per eseguire il rendering


6

Mentre GitHub non interpreterà le formule MathJax, puoi generare automaticamente un nuovo documento Markdown con le formule sostituite da immagini.

Ti suggerisco di guardare l'app GitHub 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.


2

C'è una buona soluzione per il tuo problema - usa il plug-in github TeXify (menzionato dalla risposta di Tom Hale - ma ho sviluppato la sua risposta nel link indicato di seguito) - maggiori dettagli su questo plug-in github e spiegazione del perché questo è un buon approccio che puoi trovare in quella risposta .


2

Uso il processo di seguito indicato per convertire le equazioni in markdown. Questo funziona molto bene per me. È molto semplice!!

Diciamo, voglio rappresentare l'equazione della moltiplicazione di matrici

Passo 1:

Prendi lo script per le tue formule da qui - https://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/ Il

mio esempio: volevo rappresentare Z(i,j)=X(i,k) * Y(k, j); k=1 to nin una formula di sommatoria. Facendo riferimento al sito Web, lo script necessario era =>

inserisci qui la descrizione dell'immagine

Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

Passo 2:

Usa il codificatore URL - https://www.urlencoder.org/ per convertire lo script in un URL valido Il

mio esempio:

inserisci qui la descrizione dell'immagine

Passaggio 3:

Utilizzare questo sito Web per generare l'immagine copiando e incollando l'output dal passaggio 2 nel parametro di richiesta "eq" - http://www.sciweavers.org/tex2img.php?eq=<b><i>paste-output-here</i></b>&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

- Il mio esempio:
http://www.sciweavers.org/tex2img.php?eq=Z_i_j=\sum_{k = 1} ^ {10}% 20X_i_k% 20% * 20Y_k_j & bc = Bianco & fc = Black & im = jpg & fs = 12 & FF = AREV & edit =

inserisci qui la descrizione dell'immagine

Step 4:

Immagine di riferimento usando la sintassi del markdown - ![alt text](enter url here)

- Copia questo nel tuo markdown e sei a posto:

![Z(i,j)=X(i,k) * Y(k, j); k=1 to n](http://www.sciweavers.org/tex2img.php?eq=Z_i_j%3D%5Csum_%7Bi%3D1%7D%5E%7B10%7D%20X_i_k%20%2A%20Y_k_j&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

L'immagine sotto è l'output del markdown. Evviva !!


inserisci qui la descrizione dell'immagine


chiunque legga questo, "Typora" è la mia nuova app markdown preferita .. sto solo dicendo
Dexter l'

0

Per quanto riguarda la conversione di tex → image, lo strumento LaTeXiT produce output di qualità molto più elevata. Credo che sia standard nella maggior parte delle distribuzioni TeX ma puoi sicuramente trovarlo online se non lo possiedi già. Tutto quello che devi fare è inserirlo nel TeX, trascinare l'immagine sul desktop, quindi trascinare dal desktop su un sito di hosting di immagini (io uso imgur).


Va notato che LaTeXiT sembra funzionare solo con MacOS (sebbene ciò non sia esplicitamente dichiarato nel sito Web).
ƒacu.-

0

Ho usato quanto segue nel file head down mark

<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js? 
config=TeX-MML-AM_CHTML"
</script>

Quindi ho digitato la seguente dichiarazione mathjax
$$ x_ {1,2} = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2b}. $$
Ha funzionato per me

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.