Existe-t-il un moyen de rendre LaTex dans README.md dans un référentiel GitHub? Je l'ai googlé et recherché sur le débordement de pile, mais aucune des réponses associées ne semble possible.
Ce n'est pas possible directement. Y a-t-il quelque chose en particulier pour lequel vous pensez avoir besoin de LaTex? Par exemple, si vous voulez des équations mathématiques, cela peut être faisable avec des astuces spécifiques. Dites-nous ce que vous souhaitez rendre et quelqu'un pourra peut-être vous indiquer une solution de contournement.
Waylan
1
Oui, je veux des équations mathématiques et des équations alignées, ainsi que des symboles mathématiques intégrés. C'est à peu près tout.
avez-vous envisagé d'utiliser les notebooks Jupyter? Vous pouvez même insérer du code python maintenant;)
Charlie Parker
Réponses:
42
Pour les expressions courtes et les mathématiques pas si sophistiquées, vous pouvez utiliser le HTML en ligne pour obtenir votre rendu mathématique latex sur les codecogs, puis incorporer l'image résultante. Voici un exemple:
- <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 " />
Ce qui devrait aboutir à quelque chose comme le suivant
Mise à jour: Cela fonctionne très bien dans eclipse mais pas dans github malheureusement. La seule solution est la suivante:
Prenez votre équation de latex et allez sur http://www.codecogs.com/latex/eqneditor.php , au bas de la zone où votre équation apparaît, il y a un petit menu déroulant, choisissez l'URL encodée puis collez-la dans votre markdown github de la manière suivante:
GitHub a un support intégré pour le rendu des fichiers .ipynb. Vous pouvez écrire en ligne et afficher du code LaTeX dans le notebook et GitHub le restituera pour vous.
J'ai travaillé sur un script qui automatise la plupart des crampes pour obtenir une composition LaTeX bien dans le markdown à la saveur de Github: https://github.com/leegao/readme2tex
Il y a quelques défis avec le rendu LaTeX pour Github. Tout d'abord, le démarquage à la saveur de Github supprime la plupart des balises et la plupart des attributs. Cela signifie pas de bibliothèques basées sur Javascript (comme Mathjax) ni de style CSS.
La solution naturelle semble alors être d'intégrer des images d'équations précompilées. Cependant, vous vous rendrez vite compte que LaTeX fait plus que simplement transformer des formules jointes en signe dollar en images.
Le simple fait d'incorporer des images de compilateurs en ligne donne ce look vraiment artificiel à votre document. En fait, je dirais que c'est encore plus lisible dans votre argot mathématique quotidien x ^ 2 que nerveux .
Je crois qu'il est important de s'assurer que vos documents sont composés de manière naturelle et lisible. C'est pourquoi j'ai écrit un script qui, au-delà de la compilation de formules en images, garantit également que l'image résultante est correctement ajustée et alignée sur le reste du texte.
Par exemple, voici un extrait d'un .mdfichier concernant certaines propriétés énumératives d'expressions régulières composées en utilisant readme2tex:
Comme vous pouvez vous y attendre, l'ensemble d'équations en haut est spécifié en démarrant simplement l' align*environnement correspondant
**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...
Notez que lorsque les équations en ligne ($ ... $) s'exécutent avec le texte, les équations (celles qui sont délimitées par \begin{ENV}...\end{ENV}ou$$...$$ ) sont centrées. Cela permet aux personnes déjà habituées à LaTeX de rester productives.
Sur la base de ce travail, j'ai créé une application GitHub qui automatise le processus de rendu, le déclenchant à chaque fois qu'une poussée est effectuée. Je pense que c'est utile alors je partage le lien pour ceux qui veulent l'essayer: github.com/agurz/github-texify
agurodriguez
3
Agréable! C'est vraiment génial de ta part à faire :)
Lee
L'application TeXify ne semble pas fonctionner lors de l'inclusion de mathjax en ligne pour les éléments énumérés avec démarque.
user32882
15
On peut également utiliser cet éditeur en ligne: https://www.codecogs.com/latex/eqneditor.php qui génère des SVGfichiers à la volée. Vous pouvez mettre un lien dans votre document comme celui - ci:
![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)qui se traduit par:
.
Je teste une solution proposée par d'autres et je voudrais recommander TeXify créé et proposé en commentaire par agurodriguez et décrit plus en détail par Tom Hale - je voudrais développer sa réponse et expliquer pourquoi c'est une très bonne solution:
TeXify est un wrapper de Readme2Tex (mentionné dans la réponse de Lee ). Pour utiliser Readme2Tex, vous devez installer de nombreux logiciels sur votre machine locale (python, latex, ...) - mais TeXify est un plugin github donc vous n'avez pas besoin d'installer quoi que ce soit sur votre machine locale - vous n'avez besoin que d'une installation en ligne qui plugin dans votre compte github en appuyant sur un bouton et choisissez les référentiels pour lesquels TeXify aura un accès en lecture / écriture pour analyser vos formules tex et générer des images.
Lorsque dans votre référentiel vous créez ou mettez à jour un *.tex.mdfichier, TeXify détectera les changements et générera un *.mdfichier où les formules latex seront échangées par ses images enregistrées dans le texrépertoire de votre référentiel. Donc, si vous créez un fichier README.tex.md, TeXify générera README.md avec des images à la place des formules tex. Ainsi, l'analyse des formules tex et la génération de la documentation se font automatiquement à chaque commit et push :)
Parce que toutes vos formules sont changées en images dans le texrépertoire et que le fichier README.md utilise des liens vers ces images, vous pouvez même désinstaller TeXify et toute votre ancienne documentation fonctionnera toujours :). Le texrépertoire et les *.tex.mdfichiers resteront sur le référentiel afin que vous ayez accès à vos formules et images latex originales (vous pouvez également stocker en toute sécurité dans le texrépertoire vos autres images de documentation "faites à la main" - TeXify ne les touchera pas).
Vous pouvez utiliser la syntaxe latex équations directement dans le fichier README.tex.md (sans perdre la syntaxe de démarquage .md), ce qui est très pratique . Julii dans sa réponse a proposé d'utiliser des liens spéciaux (avec des formules) vers un service externe, par exemple. http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7Dce qui est bien a cependant quelques inconvénients: les formules dans les liens ne sont pas faciles (pratiques) à lire et à mettre à jour, et s'il y a un problème avec ce service tiers, votre ancienne documentation cessera de fonctionner ... Dans TeXify votre ancienne documentation fonctionnera toujours même si vous désinstallez ce plugin (car toutes vos images générées à partir de formules latex restent dans le repo dans le texrépertoire).
Le Yuchao Jiang dans sa réponse, a proposé d'utiliser Jupyter Notebook qui est également sympa mais présente quelques inconvénients: vous ne pouvez pas utiliser de formules directement dans le fichier README.md, vous devez y faire un lien vers un autre fichier * .ipynb dans votre repo qui contient du latex (MathJax) formules. Le format du fichier * .ipynb est JSON ce qui n'est pas pratique à maintenir (par exemple, Gist n'affiche pas d'erreur détaillée avec le numéro de ligne dans le fichier * .ipynb lorsque vous avez oublié de mettre la virgule à la bonne place ...).
Voici un lien vers une partie de mon dépôt où j'utilise TeXify pour lequel la documentation a été générée à partir du fichier README.tex.md .
Chaque fois que vous poussez, TeXify s'exécute et recherche les fichiers * .tex.md dans votre dernier commit. Pour chacun de ceux-ci, il exécutera readme2tex qui prendra des expressions LaTeX entre les signes dollar, le convertira en images SVG simples, puis enregistrera la sortie dans un fichier d'extension .md (cela signifie qu'un fichier nommé README.tex.md sera traité et la sortie sera enregistrée sous README.md). Après cela, le fichier de sortie et les nouvelles images SVG sont ensuite validés et renvoyés dans votre dépôt.
Ce travail est de @agurodriguez qui le mentionne dans un commentaire ci
icc97
1
@ icc97 oui, mais agurodriguez pas créer de réponse (et je ne remarquerai probablement jamais son commentaire). Parce que Tom crée une réponse (~ 1 an après agurodriguez), je remarque que TeXify existe et cela me permet d'utiliser TeXify et d'écrire ma propre base de réponses à ce sujet. Donc c'était bon :)
Kamil Kiełczewski
3
@ KamilKiełczewski Il n'y a rien de mal avec cette réponse, je mentionne juste que TeXify a été créé par un utilisateur SO à cause de ce fil, ce qui est plutôt cool.
icc97
J'utilise TeXify sur mon readme mais, pour une raison quelconque, le rendu saute de lignes presque à chaque fois qu'il y a un $...$dans le texte. Des indices pourquoi? Voici le repo: github.com/brunoconteleite/Spatial-Model-Solver
Bruno Conte Leite
3
Ma solution rapide est la suivante:
étape 1. Ajoutez du latex à votre .mdfichier
$$x=\sqrt{2}$$
Remarque: les eqns mathématiques doivent être en $$ ... $$ ou \\(... \\).
étape 2. Ajoutez ce qui suit à votre scripts.htmlfichier de thème ou (ajoutez ce code à la fin)
Quel scripts.htmlfichier? Je ne trouve aucune référence à cela en tant que fonctionnalité github.
Jay Lemmon
avez-vous un fichier de Jeykyllthème ( fichier de thème)? Ce code sert à afficher le latex dans les pages git.
CKM
2
Devrait préciser que cela ne fonctionne que pour les pages git, pas pour README.md dans le dépôt normal.
germanium
1
Vous pouvez obtenir un service d'intégration continue (par exemple Travis CI ) pour rendre LaTeX et valider les résultats sur github. CI déploiera un worker "cloud" après chaque nouvelle validation. Le worker compile votre document en pdf et soit utilise ImageMagick pour le convertir en image, soit utilise PanDoc pour tenter une conversion LaTeX-> HTML où le succès peut varier en fonction de votre document. Worker valide ensuite l'image ou le code HTML dans votre référentiel à partir duquel il peut être affiché dans votre readme.
Un exemple de configuration TravisCi qui construit un PDF, le convertit en PNG et le valide dans un emplacement statique de votre dépôt est collé ci-dessous. Vous devrez ajouter une ligne qui récupère pdfconverts PDF en image
sudo: required
dist: trusty
os: linux
language: generic
services: docker
env:
global:
- GIT_NAME: Travis CI
- GIT_EMAIL: [email protected]
- 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:$[email protected]/$TRAVIS_REPO_SLUG $TRAVIS_BRANCH-pdf
notifications:
email: false
Cette configuration Travis Ci lance un worker Ubuntu télécharge une image docker en latex, compile votre document en pdf et le valide dans une branche appelée branchanme-pdf.
Réponses:
Pour les expressions courtes et les mathématiques pas si sophistiquées, vous pouvez utiliser le HTML en ligne pour obtenir votre rendu mathématique latex sur les codecogs, puis incorporer l'image résultante. Voici un exemple:
Ce qui devrait aboutir à quelque chose comme le suivant
Mise à jour: Cela fonctionne très bien dans eclipse mais pas dans github malheureusement. La seule solution est la suivante:
Prenez votre équation de latex et allez sur http://www.codecogs.com/latex/eqneditor.php , au bas de la zone où votre équation apparaît, il y a un petit menu déroulant, choisissez l'URL encodée puis collez-la dans votre markdown github de la manière suivante:
la source
Je télécharge des référentiels avec des équations sur Gitlab car il prend en charge nativement LaTeX dans les fichiers .md:
La syntaxe du latex en ligne est
$`\sqrt{2}`$
.Gitlab rend les équations avec JavaScript dans le navigateur au lieu d'afficher des images, ce qui améliore la qualité des équations.
Plus d'infos ici .
Espérons que Github l'implémentera également à l'avenir.
la source
Mon truc est d'utiliser le Jupyter Notebook.
GitHub a un support intégré pour le rendu des fichiers .ipynb. Vous pouvez écrire en ligne et afficher du code LaTeX dans le notebook et GitHub le restituera pour vous.
Voici un exemple de fichier de cahier: https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e
la source
Readme2Tex
J'ai travaillé sur un script qui automatise la plupart des crampes pour obtenir une composition LaTeX bien dans le markdown à la saveur de Github: https://github.com/leegao/readme2tex
Il y a quelques défis avec le rendu LaTeX pour Github. Tout d'abord, le démarquage à la saveur de Github supprime la plupart des balises et la plupart des attributs. Cela signifie pas de bibliothèques basées sur Javascript (comme Mathjax) ni de style CSS.
La solution naturelle semble alors être d'intégrer des images d'équations précompilées. Cependant, vous vous rendrez vite compte que LaTeX fait plus que simplement transformer des formules jointes en signe dollar en images.
Le simple fait d'incorporer des images de compilateurs en ligne donne ce look vraiment artificiel à votre document. En fait, je dirais que c'est encore plus lisible dans votre argot mathématique quotidien x ^ 2 que nerveux .
Je crois qu'il est important de s'assurer que vos documents sont composés de manière naturelle et lisible. C'est pourquoi j'ai écrit un script qui, au-delà de la compilation de formules en images, garantit également que l'image résultante est correctement ajustée et alignée sur le reste du texte.
Par exemple, voici un extrait d'un
.md
fichier concernant certaines propriétés énumératives d'expressions régulières composées en utilisantreadme2tex
:Comme vous pouvez vous y attendre, l'ensemble d'équations en haut est spécifié en démarrant simplement l'
align*
environnement correspondantNotez que lorsque les équations en ligne ($ ... $) s'exécutent avec le texte, les équations (celles qui sont délimitées par
\begin{ENV}...\end{ENV}
ou$$...$$
) sont centrées. Cela permet aux personnes déjà habituées à LaTeX de rester productives.Si cela ressemble à quelque chose qui pourrait vous aider, assurez-vous de le vérifier. https://github.com/leegao/readme2tex
la source
On peut également utiliser cet éditeur en ligne: https://www.codecogs.com/latex/eqneditor.php qui génère des
SVG
fichiers à la volée. Vous pouvez mettre un lien dans votre document comme celui - ci:![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)
qui se traduit par: .la source
Je teste une solution proposée par d'autres et je voudrais recommander TeXify créé et proposé en commentaire par agurodriguez et décrit plus en détail par Tom Hale - je voudrais développer sa réponse et expliquer pourquoi c'est une très bonne solution:
*.tex.md
fichier, TeXify détectera les changements et générera un*.md
fichier où les formules latex seront échangées par ses images enregistrées dans letex
répertoire de votre référentiel. Donc, si vous créez un fichier README.tex.md, TeXify générera README.md avec des images à la place des formules tex. Ainsi, l'analyse des formules tex et la génération de la documentation se font automatiquement à chaque commit et push :)tex
répertoire et que le fichier README.md utilise des liens vers ces images, vous pouvez même désinstaller TeXify et toute votre ancienne documentation fonctionnera toujours :). Letex
répertoire et les*.tex.md
fichiers resteront sur le référentiel afin que vous ayez accès à vos formules et images latex originales (vous pouvez également stocker en toute sécurité dans letex
répertoire vos autres images de documentation "faites à la main" - TeXify ne les touchera pas).http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D
ce qui est bien a cependant quelques inconvénients: les formules dans les liens ne sont pas faciles (pratiques) à lire et à mettre à jour, et s'il y a un problème avec ce service tiers, votre ancienne documentation cessera de fonctionner ... Dans TeXify votre ancienne documentation fonctionnera toujours même si vous désinstallez ce plugin (car toutes vos images générées à partir de formules latex restent dans le repo dans letex
répertoire).Voici un lien vers une partie de mon dépôt où j'utilise TeXify pour lequel la documentation a été générée à partir du fichier README.tex.md .
la source
Pour une conversion automatique lors du transfert vers GitHub, jetez un œil à l' application TeXify :
Comment ça marche (depuis le référentiel source ):
la source
$...$
dans le texte. Des indices pourquoi? Voici le repo: github.com/brunoconteleite/Spatial-Model-SolverMa solution rapide est la suivante:
étape 1. Ajoutez du latex à votre
.md
fichierRemarque: les eqns mathématiques doivent être en $$ ... $$ ou
\\(... \\)
.étape 2. Ajoutez ce qui suit à votre
scripts.html
fichier de thème ou (ajoutez ce code à la fin)Terminé!. Voir votre eq. en chargeant la page.
la source
scripts.html
fichier? Je ne trouve aucune référence à cela en tant que fonctionnalité github.Jeykyll
thème ( fichier de thème)? Ce code sert à afficher le latex dans les pages git.Vous pouvez obtenir un service d'intégration continue (par exemple Travis CI ) pour rendre LaTeX et valider les résultats sur github. CI déploiera un worker "cloud" après chaque nouvelle validation. Le worker compile votre document en pdf et soit utilise ImageMagick pour le convertir en image, soit utilise PanDoc pour tenter une conversion LaTeX-> HTML où le succès peut varier en fonction de votre document. Worker valide ensuite l'image ou le code HTML dans votre référentiel à partir duquel il peut être affiché dans votre readme.
Un exemple de configuration TravisCi qui construit un PDF, le convertit en PNG et le valide dans un emplacement statique de votre dépôt est collé ci-dessous. Vous devrez ajouter une ligne qui récupère pdfconverts PDF en image
Cette configuration Travis Ci lance un worker Ubuntu télécharge une image docker en latex, compile votre document en pdf et le valide dans une branche appelée branchanme-pdf.
Pour plus d'exemples, consultez ce dépôt github et sa discussion sx qui l'accompagne , l' exemple PanDoc , https://dfm.io/posts/travis-latex/ , et cet article sur Medium .
la source
Vous pouvez utiliser des démarques, par exemple
Le code peut être saisi ici: https://www.codecogs.com/latex/eqneditor.php .
la source
Si vous rencontrez des problèmes avec https://www.codecogs.com/latex/eqneditor.php , j'ai trouvé que https://alexanderrodin.com/github-latex-markdown/ fonctionnait pour moi. Il génère le code Markdown dont vous avez besoin, il vous suffit donc de le couper et de le coller dans votre document README.md.
la source