%TITRE{mpimage.tex} %P{Le fichier §vmpimage.tex§ permet la transformation d'un fichier image produit par MetaPost en un fichier PostScript lisible directement par un interpréteur, GhostScript par exemple. C'est une étape pour obtenir une image, ce qui peut-être automatisé à l'aide d'un script.} %S{Fichier et script} FICHIER:mpimage.tex: % mpimage.tex % usage : tex mpimage monimage.n,facteur % où : monimage.n est une production de MetaPost, facteur est un nombre % représentant le facteur d'agrandissement (en étant raisonnable...) % Jean-Michel Sarlat (http://melusine.eu.org/syracuse/) % Ce fichier est largement inspiré de mproof.tex. \nopagenumbers %- \hsize=19cm \hoffset=-20mm \vsize=28cm \voffset=-20mm \input epsf \def\epsfsize#1#2{\facteur#1} \def\place#1#2{\long\def\facteur{#2}\epsffile{#1}} \everypar{\everypar{}\image} \def\image#1,#2 {\catcode`\^^M=5 \place{#1}{#2} \end}%- § M:tex2html: tex="mpimage.tex" html="mpimage.html" %P{Supposons maintenant que l'on dispose de §vmonimage.1§, comportant des labels §gTeX§. Il suffit de faire :§§ §vtex mpimage monimage.1,2§ §§ pour obtenir un fichier §vmpimage.dvi§ (embarquant la figure avec une taille multipliée par 2) qui pourra être transformé en un fichier PostScript §ilisible§, à l'aide de DVIPS :§§ §vdvips -ta4 monimage.dvi -o§ §§ Mais le but, n'est pas de s'arrêter là, une conversion à l'aide d'ImageMagick, produira l'image attendue :§§ §vconvert -crop 0x0 mpimage.ps monimage.1.png§ } %P{Le mieux est donc d'automatiser cela avec un script.} FICHIER:mpimage.sh: #!/bin/sh tex mpimage $1,$2 dvips -ta4 mpimage.dvi -o convert -crop 0x0 mpimage.ps $1.png § SH:chmod u+x mpimage.sh M:text: text="mpimage.sh" html="mpimage.html" %P{Ce script est basique (de même que §vmpimage.tex§), il peut être étoffé pour §imieux§ organisé la tâche. Pour son utilisation il est nécessaire de le rendre actif (§vchmod u+x mpimage.sh§), de disposer d'ImageMagick sur son système et d'accèder au fichier §vmpimage.tex§. } %S{Exemples} %P{Voici deux images représentant le même L-System en deux tailles différentes.} FICHIER:ex.txt: SH:./mpimage.sh flower2.1 %%t%% SH:mv flower2.1.png flower2%%n%%.png <[
./mpimage.sh flower2.1 %%t%%
]> § M:ex: n="1" t="0.75" M:ex: n="2" t="1.25"