j'ai dans l'idée un de ces jours de créer des cartes mentales (heuristiques) et pour cela, j'aurai besoin d'avoir des images, png si possible, des équations.
Pour l'instant, j'ai plusieurs options qui fonctionnent mais je pense qu'il y a plus simple.
- un fichier qui me crée des images via une compilmation shell-escape (je n'aime pas trop)
- un fichier standalone qui me crée des équations (une par page) :
Code : Tout sélectionner
\documentclass[multi={mymath},border=1pt]{standalone}
\newenvironment{mymath}{$\displaystyle}{$}
\usepackage{amsmath}
\begin{document}
\begin{mymath}
\frac{\frac{dy}{dt}}{2}
\end{mymath}
\begin{mymath}
a^2 + b^2 = 5 y^2
\end{mymath}
\begin{mymath}
y = \dfrac{dz}{dt} + 5 \, \log (x^2) + \exp \left( - \dfrac{t}{\tau} \right) \, \cos \left[ \omega \, t + \varphi\right]
\end{mymath}
\end{document}
Code : Tout sélectionner
\documentclass[[multi={equation*},border=1pt,12pt]{standalone}
\usepackage[active,tightpage]{preview}
\usepackage{amsmath}
\PreviewBorder=12pt\relax
\begin{document}
\preview
\begin{equation*}
\dfrac{y}{2}
\end{equation*}
\endpreview
\preview
\begin{equation*}
a^2 + b^2 = y^2
\end{equation*}
\endpreview
\preview
\begin{equation*}
y = \dfrac{dz}{dt} + 5 \, \log (x^2) + \exp \left( - \dfrac{t}{\tau} \right) \, \cos \left[ \omega \, t + \varphi\right]
\end{equation*}
\endpreview
\end{document}
Ensuite, je convertis les pages avec un programme python (3 possibilités) :
Code : Tout sélectionner
# nom_image_avec_ext = "eq-to-png2.pdf"
nom_image_avec_ext = "eq-to-png.pdf"
nom_image_sans_ext = nom_image_avec_ext.split(".")[0]
import subprocess
cmd = 'convert -density 300 -quality 90 eq-to-png.pdf output.png'
subprocess.call(cmd, shell=True)
from wand.image import Image
with Image(filename=nom_image_avec_ext,resolution=200) as source:
images=source.sequence
pages=len(images)
for i in range(pages):
Image(images[i]).save(filename=str(i)+".png")
from pdf2image import convert_from_path
images = convert_from_path(nom_image_avec_ext)
for i in range(len(images)):
# images[i].save(nom_image_sans_ext+"_"+str(i+1)+".jpg","JPEG")
images[i].save(nom_image_sans_ext+"_"+str(i+1)+".png","PNG")
print("{} images crées".format(i+1))
Voilà, c'est un peu lourd je trouve et j'imagine qu'il y a plus simple.
Je suis sous Ubuntu et je ne veux pas utiliser d'utilitaire en ligne ni convertir image par image.
Bonne fin de semaine.