[Metapost] Faire du Metapost dans LaTeX ?

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Metapost] Faire du Metapost dans LaTeX ?

Messagepar francois » Vendredi 22 Juin 2007, 15:45

Bonjour à tous.

Voici ma question :

Peut-on faire en sorte de taper du code metapost (pour faire des graphiques) directement dans le source tex (fichier LaTeX) dans un enironnement qu'on appellerait \begin{metapost} \end{metapost} par exemple ?

Si le résultat final pouvait se créer en 1 seule compilation, ce serait bien, mais sinon tanpis.

Merci d'avance.

François
francois
Giga-utilisateur
 
Messages: 856
Inscription: Mercredi 20 Septembre 2006, 23:14
Localisation: Antony
Statut actuel: Actif et salarié | Enseignant

Publicité

Messagepar gigiair » Vendredi 22 Juin 2007, 16:36

Oui, en utilsant mfpic.
Il faut trois passes : une pour générer le code metapost dans le fichier précisé par \opengraphsfile
une pour exécuter mpost sur le fichier généré
une pour insérer l'image metapost dans le rendu final.
Exemple :
Code: Tout sélectionner
%%% ecm.tex ---
\usepackage[latin1]{inputenc}
\usepackage[metapost,truebbox,mplabels]{mfpic}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\opengraphsfile{\jobname}
\begin{document}
\setlength{\mfpicunit}{1cm}
\begin{mfpic}{0}{20}{0}{20}
\mfsrc{% Début du code metapost
draw (0,0)--(10,10)--(20,0)--(10,-10)--cycle ;
draw (0,-10)--(20,-10)--(20,10)--(0,10)--cycle ;
} % fin du code metapost
\end{mfpic}
\closegraphsfile
\end{document}

supposons \jobname=ecm
Code: Tout sélectionner
:~$ latex ecm
:~$ mpost ecm
:~$ latex ecm

fera l'affaire.
Il y a plein de choses qu'on peut faire avec mfpic en plus d'insérer du code metapost.

texdoc mfpguide
texdoc mfpman

Si tu trouves trop compliqué ou trop long, un Makefile peut simplifier le travail
Code: Tout sélectionner
FICHIER = ecm
all: $(FICHIER).pdf
$(FICHIER).pdf: $(FICHIER).tex
   pdflatex $(FICHIER)
   mpost $(FICHIER)
   pdflatex  $(FICHIER)
clean:
    rm -f *.log *.aux *.dvi *.idx *.ilg *.blg *.lot *.lof *.toc *.glo *.cb \
       *.tmp *.los *.out *.\#*.tex  _*_.tex *.mpx

Il suffit de lancer la commande make -k pour que tout se fasse et make clean pour effacer tous les fichiers de travail.
make existe aussi sous Ouindoze, il suffit de copier make.exe dans un répertoire qui se trouve dans le PATH.

Je viens de tester le code de l'autre fil, il ne marche pas directement, il faut adapter. Comme j'ai abandonné mfpic au profit de tikz depuis longtemps, je n'ai pas trop envie de chercher.

Il y a un document qui préconise une autre démarche de F. Popineau : Metapost pratique. Voir §4 à la page 6 du document.
Je l'ai utilséee pendant quelque temps, c'est un peu plus compliqué à mettre en œuvre à cause du \write18, mais ça marche bien aussi.
Dernière édition par gigiair le Vendredi 22 Juin 2007, 17:11, édité 1 fois.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Messagepar francois » Vendredi 22 Juin 2007, 17:03

Waaouuu !

Merci pour cette réponse très complète.

Je suis étonné de voir qu'il y a une compilation avec pdflatex. En effet, le format des images crées par Metapost c'est bien du eps, non ? Or je croyais qu'on ne pouvait pas inclure du eps avec pdflatex. Me trompè-je ?
francois
Giga-utilisateur
 
Messages: 856
Inscription: Mercredi 20 Septembre 2006, 23:14
Localisation: Antony
Statut actuel: Actif et salarié | Enseignant

Messagepar gigiair » Vendredi 22 Juin 2007, 17:14

francois a écrit:Waaouuu !

Merci pour cette réponse très complète.

Je suis étonné de voir qu'il y a une compilation avec pdflatex. En effet, le format des images crées par Metapost c'est bien du eps, non ? Or je croyait qu'on ne pouvait pas inclure du eps avec pdflatex. Me trompè-je ?

François
Oui, un peu comme toutes les affirmations un peu massives, ça demande à être un peu modulé. Il ne faut pas oublier que pdf et postscript sont deux formats qui ont été définis par Adobe.
metapost produit une restriction du code postscript qui est compatible avec pdf. F. Popineau l'explique dans le document que j'ai cité plus haut.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Messagepar francois » Vendredi 22 Juin 2007, 17:27

Je suis vraiment stupéfait par ta connaissance encyclopédique. :wink:
Je regarderai tout ça quand j'aurais plus de temps.
Merci beaucoup.
François Lafont
francois
Giga-utilisateur
 
Messages: 856
Inscription: Mercredi 20 Septembre 2006, 23:14
Localisation: Antony
Statut actuel: Actif et salarié | Enseignant

Messagepar gigiair » Vendredi 22 Juin 2007, 17:39

francois a écrit:Je suis vraiment stupéfait par ta connaissance encyclopédique.

Franchement il n'y a pas de quoi. J'ai pratiqué pstricks, puis metapost et enfin tikz pendant quelques années chacun. Forcément, en faisant, on apprend.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Messagepar francois » Vendredi 22 Juin 2007, 19:01

gigiair a écrit:J'ai pratiqué pstricks, puis metapost et enfin tikz pendant quelques années chacun. Forcément, en faisant, on apprend.

Tiens, ça c'est marrant ! Tu as pas mal roulé ta bosse comme on dit. Comme tu peux voir, je tente un petit début sur metapost, étant à la base un utilisateur de pstricks. Je trouve que les calculs avec pstricks sont un peu pénibles et lents (via le package fp me concernant) (même si on en a pas toujours besoin pour faire des dessins), je trouve que les syntaxes sont aussi un peu pénibles quand il y a des boucles "for" (multido pour pstricks). Mais en même temps, pstricks m'a déjà rendu (et me rend encore) d'énomes services.

J'amerais profiter un peu de ton expérience concerant MetaPost que je ne connais peu (voire pas) pour l'instant.

1) Est-il bon et syntaxiquement pratique pour les calculs ?

2) Le langange est-il syntaxiquement pratique pour définir des macros ... ?

3) Tout ce qu'on peut faire en 2D avec pstricks est-il possible avec Metapost :
a) comme les tracés de courbes de fonctions explicites
b) comme la gestion des noeuds bien pratiques
c) comme le paramétrage ne nombreux attributs pour affiner l'apparence (linestyle, arrawscale ...)
d) comme l'étiquetages via LaTeX (j'ai bien vu que c'était possibe, mais avec pstricks les positionnements sont très fins et peuvent utiliser les noeuds, au lieu des coordonnées)

4) Metapost peut-il faire de la 3D ? Des surfaces 3D ? avec gestion des parties cachées ?

Merci d'avance.
François Lafont
francois
Giga-utilisateur
 
Messages: 856
Inscription: Mercredi 20 Septembre 2006, 23:14
Localisation: Antony
Statut actuel: Actif et salarié | Enseignant

Messagepar cerise » Vendredi 22 Juin 2007, 19:31

francois a écrit:4) Metapost peut-il faire de la 3D ? Des surfaces 3D ? avec gestion des parties cachées ?

Mon copain (encore lui ;-)) a écrit un package pour ça :

http://boumbo.toonywood.org/xavier/info/mp3d.html

Je ne garantis pas que ce soit la dernière version sur ce site...
Enfin ce package fait pas mal de choses, le principal manque pour le moment est qu'il ne fait pas de surfaces non planes...
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message
  • texte en latex dans fichier metapost
    Fichier(s) joint(s) par SB » Samedi 27 Août 2016, 11:50
    5 Réponses
    530 Vus
    Dernier message par SB Voir le dernier message
    Mardi 30 Août 2016, 12:09
  • metapost
    par zariski » Vendredi 18 Novembre 2005, 17:17
    3 Réponses
    2424 Vus
    Dernier message par cali Voir le dernier message
    Lundi 09 Janvier 2006, 18:52
  • Metapost
    1, 2par mijjan » Mardi 24 Avril 2012, 13:20
    23 Réponses
    1855 Vus
    Dernier message par mijjan Voir le dernier message
    Mardi 24 Avril 2012, 16:27
  • Visualisateur metapost
    par Nico » Mercredi 06 Décembre 2006, 20:46
    10 Réponses
    1579 Vus
    Dernier message par conan Voir le dernier message
    Vendredi 08 Décembre 2006, 12:24
  • Metapost et WinEdt
    par SB » Lundi 07 Juillet 2008, 07:35
    4 Réponses
    1186 Vus
    Dernier message par D.GH Voir le dernier message
    Mardi 08 Juillet 2008, 22:20

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Grapeshot [Crawler], Proximic [Spider] et 34 invités