Compilation repere metapost avec TexMaker

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

[Résolu] Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

Bonjour,
je viens de découvrir le package repere d'Olivier Peault (version 4 novembre 2021) qui m'intéresse beaucoup pour faire de figures noveau lycée, figure que je fais habituellement avec GeoGebra en exportant le code généré que j'arrange pour convenir à mes attentes.
J'ai essayé l'exemple donné page 31 dans le documentation et rien ne fonctionne comme dit dans la brochure. Je ne vois pas d'indication dans le fichier log, ni dans fichier .mp que je mets en pièces jointes.
Mon PC est sous Windows 10, mis à jour régulièrement, TexMaker est à jour et j'utilise la distribution Miktex 2.9.
Dans le répertoire Local Tex Files, il y a un sous réperoire metapost avec un sous répertoire dlf-mp contenant un fichier flf-mrepere.mp contenant

Code : Tout sélectionner

%%% MP-01-Repere-metapost.mp -- do not edit, generated automatically by MP-01-Repere-metapost.tex
verbatimtex
\documentclass [10pt]{article}
\begin {document}
etex;
input repere;
beginfig(1);
LaTeX_unitlength := 1.0pt;
w := 0*LaTeX_unitlength;
h := 0*LaTeX_unitlength;
repere(-3,3,1cm,-2,2,1cm);
draw axes(1,1);
fin;
endfig;
verbatimtex
\end{document}
etex;
%%% the end.
end.
endinput;
Je ne sais pas comment metapost fonctionne ni où les programmes nécessaires sont installés.

Ma question pour un utilisateur d'installation assez proche de la mienne : que faut-il installer ou régler pour faire fonctionner ce programme avant d'essayer des figures plus sophistiquées.
Je remercie d'avance pour l'aide apportée et reste à disposition pour répondre à des questions.
Pierre
Pièces jointes
MP-01-Repere-metapost.log
(6.46 Kio) Téléchargé 17 fois
MP-01-Repere-metapost.mp
(386 octets) Téléchargé 19 fois
MP-01-Repere-metapost.tex
(310 octets) Téléchargé 23 fois
MP-01-Repere-metapost.pdf
(8.2 Kio) Téléchargé 20 fois
Dernière modification par pzorba75 le dimanche 07 novembre 2021, 16:15, modifié 1 fois.
On se lasse de tout, excepté d'apprendre.
Virgile
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2664
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Compilation repere metapost avec TexMaker

Message non lu par gigiair »

Un document déjà ancien, que j'ai consulté pour utiliser metapost et que j'espère toujours valide : Cahiers Gutemberg n°41 : metapost pratique.
JJR.
LaTeXien migrateur.
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

Je ne trouve pas de piste dans cette documentation pour faire "tourner" mon programme.
On se lasse de tout, excepté d'apprendre.
Virgile
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2664
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Compilation repere metapost avec TexMaker

Message non lu par gigiair »

Il faut que ton installation metapost soit fonctionnelle et le package repere.mp installé dans un chemin d'accès de kpsewhich.
Vérifies avec

Code : Tout sélectionner

kpsewhich plain.mp
kpsewhich repere.mp
Ensuite il faut lancer deux compilations latex sur ton fichier tex avec une compilation intermédiaire mpost sur le fichier mp créé par la première compilation.

Le plus simple est de lancer les commandes « à la main » dans un interpréteur de commande.

Code : Tout sélectionner

pdflatex ecm
mpost ecm
pdflatex ecm
start ecm.pdf
Je ne sais pas faire ça avec TeXmaker que je n’utilise pas. Il faut lire la doc pour se faire une commande qui automatise ça.
JJR.
LaTeXien migrateur.
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

Voici le résultat de la vérification en mode cmd.

Code : Tout sélectionner

(c) Microsoft Corporation. Tous droits réservés.

C:\WINDOWS\system32>kpsewhich plain.mp
C:/Users/pzorba75/AppData/Local/Programs/MiKTeX 2.9/metapost/base/plain.mp

C:\WINDOWS\system32>kpsewhich repere.mp

======================================================================
starting package maintenance...
installation directory: "C:\Users\pzorba75\AppData\Local\Programs\MiKTeX 2.9"
package repository: https://ctan.tetaneutral.net/systems/win32/miktex/tm/packages/
visiting repository https://ctan.tetaneutral.net/systems/win32/miktex/tm/packages/...
repository type: remote package repository
loading package repository manifest...
downloading https://ctan.tetaneutral.net/systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma...
0.25 MB, 3.11 Mbit/s
package repository digest: d0fa2e0ef62702c65b680bae3fe7200b
going to download 359754 bytes
going to install 5 file(s) (1 package(s))
downloading https://ctan.tetaneutral.net/systems/win32/miktex/tm/packages/repere.tar.lzma...
0.36 MB, 8.62 Mbit/s
extracting files from repere.tar.lzma...
======================================================================
C:/Users/pzorba75/AppData/Local/Programs/MiKTeX 2.9/metapost/repere/repere.mp

C:\WINDOWS\system32> 
Merci pour cette commande que je ne connaissais pas.
Je pense que les deux commandes se sont exécutées correctement et que le fichier repère.mp est placé au bon endroit.
Après en lançant le programme dans TexMaker, je n'ai pas de résultat, ni de trace de l'exécution dans un fichier log.
Je poursuis mes investigations.
On se lasse de tout, excepté d'apprendre.
Virgile
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2664
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Compilation repere metapost avec TexMaker

Message non lu par gigiair »

Avant de te lancer dans la compilation avec TeXMaker, il vaut mieux lancer la compilation « à la main » dans un interpréteur de commande et de s'assurer que tout est en place. Tu me fais penser à un vendeur du marché qui devait me rendre la monnaie sur 10 euros pour un achat de 6,80 euros. Sa calculette ne marchait pas. Étant fils d'épicière et ayant appris à rendre la monnaie depuis mon plus jeune âge, je lui ai expliqué comment on complétait 6.80 pour faire 10, sans calculer la différence. C'était loin d'être un gamin, mais il était perdu sans son inefficace méthode...
JJR.
LaTeXien migrateur.
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

Bonjour, je ne connaissais pas cette extension, mais je viens de faire un test de compilation avec le code suivant (exemple 24), qui a très bien fonctionné avec Texlive (après installation de l'extension repere). J'ai cependant effectué la compilation via lualatex, qui intègre la compilation de code metapost via l'extension luamplib. L'utilisation est alors très simple puisque tout s'effectue en une seule fois.

Code : Tout sélectionner

\documentclass{article}
\usepackage{luamplib}
\begin{document}
\begin{mplibcode}
input repere;
repere(-2.5,4.5,1cm,-3.5,2.5,1cm);
path p,C_f;
pair I[],A[];
vardef f(expr x)= x**2-2x enddef;
p=(-2,-2)..(-1,1)..(0,2)..(1,1)..(2,-2)..(3,-3)..(3.5,-2.5)..(4,-1);
C_f= courbefonc(f)(-2,2.5);
draw axes(1,1);
drawoptions(withpen pencircle scaled 1);
draw p withcolor bleu;
draw C_f withcolor rouge;
intercourbes(I,C_f,p);
drawoptions(withcolor violet);
nomme.lft(I1);nomme.rt(I2);
draw droite(0,-1.5) dashed evenly;
ptantecedents(A,-1.5,p);
nomme.lrt(A1);nomme.llft(A2);nomme.lrt(A3);
fin;
\end{mplibcode}
\end{document}
Voici le résultat obtenu.
repere_24.png
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2664
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Compilation repere metapost avec TexMaker

Message non lu par gigiair »

MB a écrit : dimanche 07 novembre 2021, 11:09 Bonjour, je ne connaissais pas cette extension, mais je viens de faire un test de compilation avec le code suivant (exemple 24), qui a très bien fonctionné avec Texlive (après installation de l'extension repere). J'ai cependant effectué la compilation via lualatex, qui intègre la compilation de code metapost via l'extension luamplib. L'utilisation est alors très simple puisque tout s'effectue en une seule fois.
J'imagine que lualatex exécute l'appel à mpost et une deuxième compilation en cas de succès.
Il est possible de lancer la compilation mpost en pdflatex via une commande \write18, après avoir testé la non-existence du fichier \jobname.mp, et pourquoi pas une deuxième compilation en pdflatex. Il faut alors lancer la compilation avec --shell-escape et le résultat doit être le même.
Quelques lignes à ajouter dans le fichier source.

lualatex c'est bien, mais sur les machines peu puissantes (comme les miennes) c'est très lent, et ça m'énerve...
JJR.
LaTeXien migrateur.
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

@MB. Avec mon installation Windows 10, Miktex 2.9, TexMaker. J'ai lancé la compilation via lualatex, paramétré en standard, et j'obtiens une erreur sur la ligne 23 \end{mplibcode} évidemment je ne comprends pas l'origine de cette erreur. Le pdf est créé correctement.

Je place le fichier log et le pdf obtenu.
Pièces jointes
MP-02-Exemple-lualatex.log
(11.67 Kio) Téléchargé 14 fois
MP-02-Exemple-lualatex.tex
(614 octets) Téléchargé 16 fois
MP-02-Exemple-lualatex.pdf
(37.74 Kio) Téléchargé 15 fois
On se lasse de tout, excepté d'apprendre.
Virgile
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

gigiair a écrit : dimanche 07 novembre 2021, 11:23 J'imagine que lualatex exécute l'appel à mpost et une deuxième compilation en cas de succès.
Alors sauf erreur de ma part, la librairie metapost (mplib) est directement intégrée dans le moteur luatex et la compilation de code metapost se fait dans le même temps que le code tex. Voici ce qu'on peut lire dans la documentation luatex.
The MetaPost library is integral part of LuaTEX. This gives TEX some graphical capabilities using a relative high speed graphical subsystem. Again Lua is used as glue between the frontend and backend. Further development of MetaPost is closely related to LuaTEX.
L'utilisation de metapost me semble bien plus simple et fluide via lualatex que via pdflatex. Dans tous les cas, je pense qu'il est intéressant de sauter le pas et de passer à lualatex, qui offre par ailleurs d'autres fonctionnalités intéressantes.
gigiair a écrit : dimanche 07 novembre 2021, 11:23 lualatex c'est bien, mais sur les machines peu puissantes (comme les miennes) c'est très lent, et ça m'énerve...
En effet, la compilation d'un document classique est plus lente via lualatex que via pdflatex, même si j'ai l'impression que l'écart se réduit un peu. Par contre, pour un document contenant de nombreuse figures metapost, il est probable que la compilation via lualatex soit plus rapide que celle via pdflatex.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

@pzorba75. Oui, ça va mieux en ajoutant quelques paquets supplémentaires.

Code : Tout sélectionner

\documentclass{article}
\usepackage{fontspec,siunitx,esvect,luamplib}
\begin{document}
\begin{mplibcode}
input repere;
repere(-2.5,4.5,1cm,-3.5,2.5,1cm);
path p,C_f;
pair I[],A[];
vardef f(expr x)= x**2-2x enddef;
p=(-2,-2)..(-1,1)..(0,2)..(1,1)..(2,-2)..(3,-3)..(3.5,-2.5)..(4,-1);
C_f= courbefonc(f)(-2,2.5);
draw axes(1,1);
drawoptions(withpen pencircle scaled 1);
draw p withcolor bleu;
draw C_f withcolor rouge;
intercourbes(I,C_f,p);
drawoptions(withcolor violet);
nomme.lft(I1);nomme.rt(I2);
draw droite(0,-1.5) dashed evenly;
ptantecedents(A,-1.5,p);
nomme.lrt(A1);nomme.llft(A2);nomme.lrt(A3);
fin;
\end{mplibcode}
\end{document}
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1038
Inscription : jeudi 25 novembre 2010, 22:10

Re: Compilation repere metapost avec TexMaker

Message non lu par marco56 »

MB a écrit : dimanche 07 novembre 2021, 11:47 L'utilisation de metapost me semble bien plus simple et fluide via lualatex que via pdflatex. Dans tous les cas, je pense qu'il est intéressant de sauter le pas et de passer à lualatex, qui offre par ailleurs d'autres fonctionnalités intéressantes.
Bonjour, Tu pourrais détailler ou donner un lien pour creuser un peu la question de mon côté ?
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

J'ai repris le source complété et relancé la compilation avec lualatex.

Code : Tout sélectionner

("C:/Users/pzorba75/AppData/Local/Programs/MiKTeX 2.9/tex/latex/esvect/uesvect.
fd"
File: uesvect.fd 
)
luaotfload | cache : Lookup cache loaded from C:/Users/pzorba75/AppData/Local/Mi
KTeX/2.9/luatex-cache/generic/names/luaotfload-lookup-cache.luc.
luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: "Font vect10 
not found.".
luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.
! Font \U/esvect/m/n/10=vect10 at 10pt not loadable: metric data not found or ba
d.
<to be read again> 
relax 
l.3 \begin{document}
                  
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.

luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.
! Font \U/esvect/m/n/7=vect7 at 7pt not loadable: metric data not found or bad.
<to be read again> 
relax 
Ce message d'erreur se répète plusieurs fois dans le fichier log, le fichier esvect.sty a été installé pendant la compilation du programme.
Peut-on régler cette erreur qui doit venir des polices installées sur ma distribution Latex?
On se lasse de tout, excepté d'apprendre.
Virgile
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

@pzorba75. Il semble manquer une fonte liée à l'extension esvect. D'après ce que j'ai pu voir, Miktex ne génère pas tous les fichiers au moment de l'installation d'une extension, ces derniers étant générés lors des compilations via pdflatex (et apparemment pas via lualatex). Il faudrait donc débuter par une compilation pdflatex (faisant appel à esvect) afin que les fontes soient générées et qu'elles puissent être utilisée lors des compilations via lualatex. A confirmer, car je ne suis pas utilisateur Miktex.

@marco56. Tu peux jeter un oeil à ce document, qui date de 2010 mais qui présente assez bien et assez rapidement les principaux apports de luatex.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

Après compilation en pdflatex d'un programme incluant esvect, la compilation avec lualatex fonctionne correctement et j'obtiens la figure de MB.

Reste que trouve bien compliqué de découpler la génération d'un pdf à partir de repere en compilant avec lualatex et terminer le document en pdflatex avec une commande includepdf pour placer la figure au bon endroit. Je réserverai cette procédure avec des figures complexes que metapost et repere réalisent plus commodément que PStricks que je continuerai d'utiliser pour le tout venant.

Merci à tous ceux qui m'ont aidé à faire ces premiers pas avec metapost et lualatex avec TexMaker.
Pierre
On se lasse de tout, excepté d'apprendre.
Virgile
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

pzorba75 a écrit : dimanche 07 novembre 2021, 16:14 Reste que trouve bien compliqué de découpler la génération d'un pdf à partir de repere en compilant avec lualatex et terminer le document en pdflatex avec une commande includepdf pour placer la figure au bon endroit.
Pourquoi ne pas compiler directement l'intégralité du document via lualatex au lieu de pdflatex ?
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 228
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Compilation repere metapost avec TexMaker

Message non lu par pzorba75 »

Je compilais avec la commande TexMaker Lualatex définie comme suit : lualatex -interaction=nonstopmode %.tex et je viens de me rendre compte qu'il existe une autre commande de Compilation rapide définie : Lualatex+Voir PDF qui me convient bien.
Mon hésitation : quels sont les problèmes que je vais soulever en abandonnant pdflatex+PSTricks+voirPDF tout en conservant des figures générées avec PStricks que j'utilise depuis plus de 10 ans en passant à lualatex? Et comme je trouve que la compilation pdflatex est déjà bien longue sur mon Asus-Core I5, âgé de 4 ans, je crains une dégradation des performances.
J'ouvrirai une autre conversation quand je franchirai ce pas pour en faire ma procédure de compilation.
Merci encore pour tout ce que vous m'avez appris.
On se lasse de tout, excepté d'apprendre.
Virgile
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

La compilation devrait effectivement un peu plus lente, mais j'utilise lualatex depuis déjà plusieurs années sur un processeur i7 datant de 2012 et je trouve ça tout à fait acceptable dans la mesure où les documents que je compile se limitent généralement que quelques pages.

En ce qui concerne le problème lié à pstricks, ça ne devrait pas être pire qu'avec pdflatex. A partir du moment où l'objectif est d'obtenir un fichier pdf, l'utilisation de pstricks complique toujours les choses. En ce qui me concerne, j'utilise exclusivement asymptote, tikz ou metapost.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1038
Inscription : jeudi 25 novembre 2010, 22:10

Re: Compilation repere metapost avec TexMaker

Message non lu par marco56 »

MB a écrit : dimanche 07 novembre 2021, 14:59 @marco56. Tu peux jeter un oeil à ce document, qui date de 2010 mais qui présente assez bien et assez rapidement les principaux apports de luatex.
Ok, merci. Toujours pas convaincu. :D
MB
Administrateur
Administrateur
Messages : 7595
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Compilation repere metapost avec TexMaker

Message non lu par MB »

Je vois ça.
En tout cas ça m'a donné l'idée de proposer un petit sondage pour voir quels sont les moteurs les plus utilisés à l'heure actuelle.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.