Ajouter du texte LaTeX dans des images EPS avec PSfrag

Publié le 18 mars 2008 par Sébastien Delest @Delest

Posted by seb314 under Illustration, Latex
1 commentaire

Pour ajouter du texte avec une police LaTeX dans des images eps, PSfrag se révèle un excellent outil.

Pour créer une figure, vous pouvez utiliser Xfig si vous êtes sous Unix; si vous êtes sur Windows, vous pouvez utiliser Xfig avec Cygwin (tuto en anglais ici). Xfig permet d'intégrer du texte dans votre illustration et d'exporter le tout au format eps; le texte existera toujours dans le fichier eps, ce qui n'est pas le cas avec OpenOffice Draw par exemple où le texte aura été vectorisé.

PSfrag permet de repérer les textes incorporés à une image eps et de les modifier (texte et formatage). Par exemple, c'est très pratique pour placer des formules mathématiques ayant le style LaTeX dans une image.

Si vous disposez d'Adobe Illustrator, vous pouvez reprendre n'importe quel image eps, placer des tags (texte de votre choix) puis remplacer ces tags avec PSfrag par du texte formaté avec le style LaTeX.

Voici les différentes étapes :

  • Faire une figure avec Xfig ou Draw et exporter au format eps.
  • Si vous avez utilisé Draw, ouvrir la figure eps avec Adobe Illustrator, ajouter des tags (par exemple : t1, t2, t3...) et sauvegarder.
  • Créer un fichier " test.tex " où vous ferez la correspondance entre les tags et les nouveaux textes puis compiler au format ps.
  • Le fichier aura généralement la taille d'une page A4, il faut définir la boite englobante (bounding box) soit à la main (voir infos ici) soit grâce au script perl suivant ps2eps.

Voici un exemple de fichier .tex pour générer l'image eps avec du texte LaTeX.

\documentclass{article}
\usepackage{psfrag}
\begin{document}
\pagestyle{empty}
\begin{psfrags}
\psfrag{t1}{$\mathbf{n}$}
\psfrag{t2}{$\mathbf{e_1}$}
\psfrag{t3}{$\mathbf{e_2}$}
\psfrag{t4}{$\mathbf{e_\theta}$}
\psfrag{t5}{$S$}
\psfrag{t6}{$x$}
\includegraphics{fig.eps}
\end{psfrags}
\end{document}

Vous pouvez tester l'exemple à partir de l'image fig.eps qui permet la génération de l'image test.ps. Cette figure contient les tags " t1″ à " t6″ à remplacer par des notations mathématiques.