J'utilise Markdown pour les notes de cours, et c'est génial. Je fais même du prétraitement sur le Markdown afin de pouvoir faire des choses comme des tables. Mais ce terme, j'enseigne à une classe avec beaucoup de mathématiques, et j'aimerais pouvoir mettre des formules LaTeX avec Markdown, quelque chose comme ceci:
The refinement relation is written $a \sqsubseteq b$, which can be
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
J'aimerais pouvoir prendre chaque fragment de LaTeX et le prétraiter dans un joli fichier PNG anti-crénelé que je pourrais ensuite inclure dans mon Markdown via la <img>
balise HTML . Mais je ne sais absolument pas comment prendre un fragment de LaTeX et obtenir une belle image qui
- A la bonne boîte englobante
- Est anti-crénelé
Tout ce que je sais faire, c'est obtenir des pages complètes aux formats DVI, PostScript ou PDF.
Je suis sûr que ce problème a été résolu, mais je n'ai pas été en mesure de deviner les bons termes de recherche. Des suggestions pour le résoudre ou où chercher une solution existante?
ÉDITER : Après avoir installé mathTeX, je peux dire que le code est inflexible, qu'il viole le standard Linux Filesystem Hiérarchie, et qu'il s'agit d'un travail amateur - dans les bons et les mauvais sens de ce mot. Le code est si complexe qu'il n'y a pas de défauts évidents. Je chercherai des alternatives.
De plus, il est clair qu'au fond, les solutions reposent sur dvipng
.
UN AN PLUS TARD : Je n'ai jamais obtenu l'intégration parfaite que j'espérais, mais je suis en train de boiter sur un scénario de ma propre conception. Il s'avère qu'au lieu de dvipng
cela, il est un peu plus facile à utiliser dvips -E
et le convert
programme d'ImageMagick. Les avantages sont un peu plus de contrôle sur des éléments tels que la mise à l'échelle et la facilité de création d'un arrière-plan transparent. Les curieux peuvent inspecter cet exemple .
Je ne peux recommander cette solution à personne. Mais je ne peux pas non plus recommander MathTeX.
la source
Réponses:
Avez-vous essayé avec Pandoc ?
la source
Peut-être que mathJAX est le ticket. Il est construit sur jsMath , une bibliothèque JavaScript vintage de 2004.
À partir du 5 février 2015, je recommanderais KaTeX - la bibliothèque Javascript LaTeX la plus performante de Khan Academy.
la source
Ajoutez le code suivant en haut de vos fichiers Markdown pour obtenir la prise en charge du rendu MathJax
puis `$ x ^ 2 $` ou `$$ x ^ 2 $$` s'affichera comme prévu :-)
Vous pouvez toujours installer une version locale de MathJax si vous ne souhaitez pas utiliser la distribution en ligne, mais vous devrez peut-être l'héberger via un serveur Web local.
MISE À JOUR : ces jours-ci, j'utilise simplement pandoc au lieu du démarquage canonique, mais ce qui précède est toujours utile.
la source
Je répondrai à votre question par une contre-question ...
Que pensez-vous du mode Org? Ce n'est pas aussi pur que Markdown, mais il ressemble à Markdown, et je le trouve aussi facile à travailler, et cela permet l'incorporation de Latex. Cf. http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html
Postscript
Dans le cas où vous n'avez pas regardé le mode org, il a une grande force en tant que "langage de balisage naturel" à usage général par rapport à Markdown, à savoir son traitement des tables. La source:
représente exactement ce que vous pensez que ce sera ...
Et le Latex est rendu en morceaux à l'aide du preview-latex de tex-mode.
la source
dvipng
. Le problème de table est important mais j'ai déjà écrit un préprocesseur pour le résoudre :-) +1vous devriez regarder multimarkdown http://fletcherpenney.net/multimarkdown/
il prend en charge les métadonnées (en-têtes, mots-clés, date, auteur, etc.), les tables, asciimath, mathml, diable je suis sûr que vous pouvez coller du code mathématique latex juste là-dedans. c'est fondamentalement une extension de markdown pour ajouter toutes ces autres fonctionnalités très utiles. Il utilise XSLT, vous pouvez donc facilement créer vos propres styles LaTeX et les convertir directement. Je l'utilise tout le temps et je l'aime beaucoup.
Je souhaite que la démarque n'intègre que multimarkdown. ce serait plutôt sympa.
Edit : Multimarkdown produira html, latex et quelques autres formats. html peut être accompagné d'une feuille de style de votre choix. il se convertira également en MathML, qui s'affiche dans Firefox et Safari / Chrome, si je me souviens bien.
la source
RStudio a un bon IDE gratuit qui permet Markdown et LaTeX.
la source
kramdown fait exactement ce que vous décrivez:
https://kramdown.gettalong.org/syntax.html#math-blocks
Et c'est beaucoup plus fiable et bien défini que Markdown.
la source
Vous pourriez trouver mimeTeX utile.
la source
dvipng
c'est le cheval de bataille. Merci pour un excellent pointeur! +1Hé, ce n'est peut-être pas la solution la plus idéale, mais cela fonctionne pour moi. J'ai fini par créer une extension Python-Markdown LaTeX.
https://github.com/justinvh/Markdown-LaTeX
Il ajoute la prise en charge des expressions mathématiques et textuelles en ligne en utilisant une syntaxe $ math $ et% text%. L'extension est un préprocesseur qui utilisera latex / dvipng pour générer des png pour les équations / texte respectifs, puis en base64 encodera les données pour insérer directement les images, plutôt que d'avoir des images externes.
Les données sont ensuite placées dans un fichier cache simple délimité qui code l'expression dans la représentation en base64. Cela limite le nombre de fois où latex doit être exécuté.
Voici un exemple:
Le résultat:
Comme vous pouvez le voir, c'est une sortie verbeuse, mais ce n'est vraiment pas un problème puisque vous utilisez déjà Markdown :)
la source
oui, mais vous devrez le pirater un peu vous-même. J'ai écrit un filtre qui remplace les balises latex
$\some\inline\latex$
ou$$\some\equation$$
par des balises d'image appropriées dans un script mimetex.cgi . Cela a pris 5 minutes.Attention: spectaculairement moche ...
Bien sûr, vous devez définir vous-même le css approprié pour les images .block et .inline ...
la source
Je suis tombé sur cette discussion seulement maintenant, donc j'espère que mon commentaire sera toujours utile. Je suis impliqué avec MathJax et, d'après ma compréhension de votre situation, je pense que ce serait un bon moyen de résoudre le problème: vous laissez votre code LaTeX tel quel et laissez MathJax rendre les mathématiques lors de la visualisation.
Y a-t-il une raison pour laquelle vous préférez les images?
la source
Quelle langue utilisez-vous?
Si vous pouvez utiliser ruby, alors maruku peut être configuré pour traiter les mathématiques en utilisant divers convertisseurs latex-> MathML. Instiki l' utilise. Il est également possible d'étendre PHPMarkdown pour utiliser itex2MML ainsi que pour convertir les mathématiques. Fondamentalement, vous insérez des étapes supplémentaires dans le moteur Markdown aux points appropriés.
Donc, avec ruby et PHP, c'est fait. Je suppose que ces solutions pourraient également être adaptées à d'autres langages - j'ai également eu l'extension itex2MML pour produire des liaisons Perl.
la source
Je cherchais exactement la même chose quand j'ai trouvé teqhtml . Il convertit les équations $ et $$ en images avec le bonus intéressant d'aligner l'image résultante verticalement avec le texte environnant. Pas beaucoup de doc mais c'est assez simple.
J'espère que cela aidera certains futurs lecteurs.
la source
Désolé de réveiller un très vieux fil, mais j'utilise jemdoc depuis quelques années et il est vraiment excellent.
la source
Il est possible d'analyser Markdown dans Lua en utilisant le code Lunamark (voir son dépôt Github ), ce qui signifie que Markdown peut être analysé directement par des macros dans Luatex et prend en charge la conversion vers de nombreux formats pris en charge par Pandoc (c'est-à-dire que la bibliothèque est bien adaptée à utiliser dans
lualatex
,context
, Metafun, plaine luatex ettexlua
scripts).Le projet a été lancé par John MacFarlane , auteur de Pandoc, et le développement de l'outil suit de très près celui de Pandoc et est de qualité similaire (c'est-à-dire excellente).
Khaled Hosny a écrit un module contextuel, fournissant un support macro pratique. La réponse de Michal à la question Existe - t-il un package avec le support Markdown? question donne un code fournissant un support similaire pour Latex.
la source