Gibt es eine Möglichkeit, LaTex in README.md in einem GitHub-Repository zu rendern? Ich habe es gegoogelt und nach Stapelüberlauf gesucht, aber keine der zugehörigen Antworten scheint machbar.
Gibt es eine Möglichkeit, LaTex in README.md in einem GitHub-Repository zu rendern? Ich habe es gegoogelt und nach Stapelüberlauf gesucht, aber keine der zugehörigen Antworten scheint machbar.
Antworten:
Für kurze Ausdrücke und nicht so ausgefallene Mathematik können Sie den Inline-HTML-Code verwenden, um Ihre Latex-gerenderte Mathematik in Codecogs abzurufen und dann das resultierende Bild einzubetten. Hier ein Beispiel:
- <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 " />
Was zu so etwas wie dem nächsten führen sollte
Update: Dies funktioniert gut in Eclipse, aber leider nicht in Github. Die einzige Lösung ist die nächste:
Nehmen Sie Ihre Latexgleichung und gehen Sie zu http://www.codecogs.com/latex/eqneditor.php . Am unteren Rand des Bereichs, in dem Ihre Gleichung angezeigt wird, befindet sich ein kleines Dropdown-Menü. Wählen Sie die codierte URL aus und fügen Sie diese in Ihre ein Github-Abschlag auf die nächste Weise:
![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)
Ich lade Repositorys mit Gleichungen in Gitlab hoch, da es native Unterstützung für LaTeX in MDD-Dateien bietet:
```math
SE = \frac{\sigma}{\sqrt{n}}
```
Die Syntax für Inline-Latex lautet $`\sqrt{2}`$
.
Gitlab rendert Gleichungen mit JavaScript im Browser, anstatt Bilder anzuzeigen, was die Qualität der Gleichungen verbessert.
Mehr Infos hier .
Hoffen wir, dass Github dies auch in Zukunft umsetzen wird.
Ich habe an einem Skript gearbeitet, das den größten Teil des Cruft automatisiert, indem LaTeX-Schriftsätze gut in Markith mit Github-Geschmack umgewandelt werden: https://github.com/leegao/readme2tex
Beim Rendern von LaTeX für Github gibt es einige Herausforderungen. Erstens entfernt Markdown mit Github-Geschmack die meisten Tags und Attribute. Dies bedeutet weder Javascript-basierte Bibliotheken (wie Mathjax) noch CSS-Stile.
Die natürliche Lösung scheint dann darin zu bestehen, Bilder vorkompilierter Gleichungen einzubetten. Sie werden jedoch schnell feststellen, dass LaTeX mehr kann, als nur in Dollarzeichen eingeschlossene Formeln in Bilder umzuwandeln.
Durch einfaches Einbetten von Bildern von Online-Compilern erhält Ihr Dokument ein wirklich unnatürliches Aussehen. Tatsächlich würde ich argumentieren, dass es in Ihrem alltäglichen mathematischen Slang noch besser lesbar ist als nervös .
Ich glaube, dass es wichtig ist, sicherzustellen, dass Ihre Dokumente auf natürliche und lesbare Weise gesetzt werden. Aus diesem Grund habe ich ein Skript geschrieben, das neben dem Kompilieren von Formeln zu Bildern auch sicherstellt, dass das resultierende Bild richtig angepasst und am Rest des Textes ausgerichtet ist.
Hier ist zum Beispiel ein Auszug aus einer .md
Datei, der einige Aufzählungseigenschaften des Satzes regulärer Ausdrücke enthält, der Folgendes verwendet readme2tex
:
Wie zu erwarten ist, wird der Gleichungssystemsatz oben angegeben, indem nur die entsprechende align*
Umgebung gestartet wird
**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...
Beachten Sie, dass während Inline-Gleichungen ($ ... $) mit dem Text ausgeführt werden, Anzeigegleichungen (die durch \begin{ENV}...\end{ENV}
oder begrenzt $$...$$
sind) zentriert sind. Dies macht es Menschen, die bereits an LaTeX gewöhnt sind, leicht, weiterhin produktiv zu sein.
Wenn dies nach etwas klingt, das helfen könnte, sollten Sie es überprüfen. https://github.com/leegao/readme2tex
Mein Trick ist, das Jupyter-Notizbuch zu verwenden.
GitHub bietet integrierte Unterstützung für das Rendern von .ipynb-Dateien. Sie können Inline schreiben und LaTeX-Code im Notizbuch anzeigen, und GitHub wird ihn für Sie rendern.
Hier ist eine Beispiel-Notebook-Datei: https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e
Man kann auch diesen Online-Editor verwenden: https://www.codecogs.com/latex/eqneditor.php, der SVG
Dateien im laufenden Betrieb generiert . Sie können einen Link wie ![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)
folgt in Ihr Dokument einfügen: Dies
führt zu :
.
Ich teste eine von anderen vorgeschlagene Lösung und möchte TeXify empfehlen, das von agurodriguez erstellt und in einem Kommentar vorgeschlagen und von Tom Hale weiter beschrieben wurde. Ich möchte seine Antwort entwickeln und einen Grund angeben, warum dies eine sehr gute Lösung ist:
*.tex.md
Datei erstellen oder aktualisieren , erkennt TeXify Änderungen und generiert eine Datei, in der Latexformeln *.md
durch die im tex
Verzeichnis in Ihrem Repo gespeicherten Bilder ausgetauscht werden . Wenn Sie also die Datei README.tex.md erstellen, generiert TeXify README.md mit Bildern anstelle von Tex-Formeln. Das Parsen von Tex-Formeln und das Generieren von Dokumentation erfolgt also automatisch bei jedem Commit & Push :)tex
Verzeichnis geändert werden und die Datei README.md Links zu diesen Bildern verwendet, können Sie TeXify sogar deinstallieren und Ihre gesamte alte Dokumentation funktioniert weiterhin :). Das tex
Verzeichnis und die *.tex.md
Dateien bleiben im Repository, sodass Sie Zugriff auf Ihre ursprünglichen Latexformeln und -bilder haben (Sie können auch tex
Ihre anderen Dokumentationsbilder "von Hand" sicher im Verzeichnis speichern - TeXify berührt sie nicht).http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D
Das ist jedoch gut und hat einige Nachteile: Die Formeln in den Links sind nicht einfach (praktisch) zu lesen und zu aktualisieren, und wenn es Probleme mit diesem Drittanbieter-Service gibt, funktioniert Ihre alte Dokumentation nicht mehr ... In TeXify Ihre alte Dokumentation funktioniert immer auch dann, wenn Sie dieses Plugin deinstallieren (da alle Ihre aus Latexformeln generierten Bilder im Repo- tex
Verzeichnis verbleiben ).Hier ist ein Link zu einigen meiner Repos, in denen ich TeXify verwende, für das Dokumentation aus der Datei README.tex.md generiert wurde .
Informationen zur automatischen Konvertierung beim Push auf GitHub finden Sie in der TeXify- App:
GitHub App, die in Ihren Pushs nach Dateien mit der Erweiterung * .tex.md sucht und ihre TeX-Ausdrücke als SVG-Bilder rendert
So funktioniert es (aus dem Quell-Repository ):
Wann immer Sie drücken, wird TeXify ausgeführt und sucht in Ihrem letzten Commit nach * .tex.md-Dateien. Für jeden dieser Dateien wird readme2tex ausgeführt, wobei LaTeX-Ausdrücke zwischen Dollarzeichen verwendet, in einfache SVG-Bilder konvertiert und die Ausgabe in einer .md-Erweiterungsdatei gespeichert werden (dh eine Datei mit dem Namen README.tex.md) wird verarbeitet und die Ausgabe wird als README.md) gespeichert. Danach werden die Ausgabedatei und die neuen SVG-Bilder festgeschrieben und in Ihr Repo zurückgeschoben.
$...$
der Text ein enthält. Irgendwelche Hinweise warum? Dies ist das Repo: github.com/brunoconteleite/Spatial-Model-Solver
Meine schnelle Lösung lautet:
Schritt 1. Fügen Sie Ihrer .md
Datei Latex hinzu
$$x=\sqrt{2}$$
Hinweis: Mathematische Gleichungen müssen in $$ ... $$ oder angegeben sein \\(... \\)
.
Schritt 2. Fügen Sie Folgendes zu Ihrer scripts.html
oder Themendatei hinzu (fügen Sie diesen Code am Ende hinzu).
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
Getan!. Sehen Sie Ihre Gl. durch Laden der Seite.
scripts.html
Datei? Ich kann keinen Hinweis darauf als Github-Funktion finden.
Jeykyll
Themendatei)? Dieser Code dient zur Anzeige von Latex auf Git-Seiten.
Sie können einen kontinuierlichen Integrationsdienst (z. B. Travis CI ) erhalten, um LaTeX zu rendern und Ergebnisse an github zu übergeben. CI stellt nach jedem neuen Commit einen "Cloud" -Arbeiter bereit. Der Worker kompiliert Ihr Dokument als PDF und verwendet ImageMagick entweder, um es in ein Bild zu konvertieren, oder verwendet PanDoc, um eine LaTeX-> HTML-Konvertierung zu versuchen, bei der der Erfolg je nach Dokument variieren kann. Worker schreibt dann Bild oder HTML in Ihr Repository, von wo aus es in Ihrer Readme-Datei angezeigt werden kann.
Die TravisCi-Beispielkonfiguration, mit der ein PDF erstellt, in ein PNG konvertiert und an einen statischen Ort in Ihrem Repo übertragen wird, wird unten eingefügt. Sie müssten eine Zeile hinzufügen, in der PDF-Dateien in ein Bild konvertiert werden
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
Diese Travis Ci-Konfiguration startet einen Ubuntu-Worker, der ein Latex-Docker-Image herunterlädt, Ihr Dokument als PDF kompiliert und es an einen Zweig namens branchanme-pdf festschreibt.
Weitere Beispiele finden Sie in diesem Github-Repo und der dazugehörigen sx-Diskussion , im PanDoc-Beispiel unter https://dfm.io/posts/travis-latex/ und in diesem Beitrag auf Medium .
Sie können Abschriften verwenden, z
![equ](https://latex.codecogs.com/gif.latex?log(y)=\beta_0&space;+&space;\beta_1&space;x&space;+&space;u)
Code kann hier eingegeben werden: https://www.codecogs.com/latex/eqneditor.php .
Wenn Sie Probleme mit https://www.codecogs.com/latex/eqneditor.php haben , habe ich festgestellt, dass https://alexanderrodin.com/github-latex-markdown/ für mich funktioniert. Es generiert den Markdown-Code, den Sie benötigen, und schneidet ihn einfach aus und fügt ihn in Ihr README.md-Dokument ein.