Figures dans LaTeX avec Xfig

La figure produite avec xfig est destinée à être convertie en un fichier eps lequel sera applé par un document Latex (voir l'exemple plus bas).
On peut inserrer dans cette figure du texte qui sera interprété par Latex comme suit :



Les caractéristiques de l'objet texte (et le texte lui même) peuvent être changées après coup en cliquant sur l'outil 'Edit' puis en sélectionnant l'objet. Une fenêtre s'ouvre comme suit :

Il faut spécifier l'option 'Special' dans le menu 'Special Flag' pour que le texte soit interprété par Latex.

La figure terminée, on selectionne le menu 'File' puis 'Export'. Une fenêtre s'ouvre et on spécifie les paramètres comme suit :



On obtient deux fichiers : fig3.eps et fig3.eps_t. Le premier est un fichier PostScript contenant la figure sans les textes devant être interprétés (ceux pour lesquels le drapeau 'Special' est sur 'Special' au lieu de 'Normal'). Le second est le fichier tex que voici pour notre exemple, sauf qu'on a supprimé  les commandes \color[rgb]{0,0,0} dans les lignes comme \put(2644,-1518){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$A'_1$}% }}}}

Pour éviter d'avoir à modifier le fichier fig3.eps_t choisir Pen color Default dans xfig ou charger le module color dans Latex.

\begin{picture}(0,0)%
\includegraphics{fig1.eps}%
\end{picture}%
\setlength{\unitlength}{1699sp}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined%
\gdef\SetFigFont#1#2#3#4#5{%
  \reset@font\fontsize{#1}{#2pt}%
  \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
  \selectfont}%
\fi\endgroup%
\begin{picture}(5478,2944)(989,-3148)
\put(2644,-1518){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$A'_1$}%
}}}}
\put(6144,-2375){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$D$}%
}}}}
\put(2929,-2447){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$A_1$}%
}}}}
\put(4215,-2304){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$A_2$}%
}}}}
\put(5073,-2232){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$A_3$}%
}}}}
\put(4572,-946){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$A'_3$}%
}}}}
\put(3858,-1161){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$A'_2$}%
}}}}
\put(5573,-875){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$D'$}%
}}}}
\put(5215,-2804){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$\triangle_3$}%
}}}}
\put(3072,-3090){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\rmdefault}{\mddefault}{\updefault}{$\triangle_1$}%
}}}}
\put(4430,-3018){\makebox(0,0)[lb]{\smash{{\SetFigFont{5}{6.0}{\familydefault}{\mddefault}{\updefault}{$\triangle_2$}%
}}}}
\end{picture}%



Maintenant on inserre la figure dans le document Latex par la ligne \input{fig1.eps_t}. Voici un extrait du code source Latex et le résultat après compilation (Le fichier tex et les fichiers fig1.eps et fig1.eps_t devront se trouver dans le même répertoire. Le module graphicx devra être déclaré dans l'entête du document Latex (\usepackage{graphicx}) parce qu'il est utilisé par les commandes du fichier fig1.eps_t .

\theo{ [de thales]} Soient $D$ et $D'$ deux droites du plan $\R^2$, $\triangle_1$, $\triangle_2$ et $\triangle_3$ trois droites parall\`eles entre elles coupant $D$ en les points $A_1$, $A_2$, $A_3$ et $D'$ en $A'_1$, $A'_2$, $A'_3$ respectivement.
On suppose $\triangle_1$ et $\triangle_3$ non confondues alors on a l'\'egalit\'e
$$\frac{\overline{A_1A_2}}{\overline{A_1A_3}}=\frac{\overline{A'_1A'_2}}{\overline{A'_1A'_3}}\ .$$

\begin{center}
\input{fig1.eps_t}
\end{center}





F-X Dehon, 3 février 2006