[Résolu] Comment déclarer un chemin absolu ?

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.

[Résolu] Comment déclarer un chemin absolu ?

Messagepar LID » Mercredi 28 Décembre 2011, 11:00

Bonjour

Je développe une application sur FileMaker qui utilise un "programme" (soit Applescript, soit le plugin RunShellScript de ScriptMaster) pour lancer des commandes shell de compilation (latex,dvips,pstopdf).
Or, le "programme" prend en compte les fichiers externes, typiquement dans un \includegraphics{Image.eps} que si ces fichiers externes sont donnés par leur chemin absolu.

Sur la plateforme Mac, tant que le chemin absolu ne comporte pas d'espace, pas de problème. (Question bonus : comment faire s'il y a un espace ?)

Sur la plateforme Windows, (que je connais très mal), le chemin absolu tel quel ou entouré de guillemets provoque une erreur à la compilation.

Si c'est possible, est-ce que quelqu'un pourrait me donner un exemple de syntaxe d'un \includegraphics avec un chemin absolu d'une image qui fonctionne sur Windows ?

Merci d'avance
J-L Lienhard
Dernière édition par LID le Jeudi 29 Décembre 2011, 20:55, édité 1 fois.
LID
Utilisateur
 
Messages: 5
Inscription: Dimanche 14 Novembre 2010, 20:03
Localisation: Lausanne
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Comment déclarer un chemin absolu ?

Messagepar projetmbc » Mercredi 28 Décembre 2011, 12:03

Bonjour.

LID a écrit:Sur la plateforme Mac, tant que le chemin absolu ne comporte pas d'espace, pas de problème. (Question bonus : comment faire s'il y a un espace ?)

Si le chemin vu par l'utilisateur est
"/Users/monLogin/Desktop/Porting To Python3"

alors il suffit d'échapper les espaces :
"/Users/monLogin/Desktop/Porting\ To\ Python3"


LID a écrit:Sur la plateforme Windows, (que je connais très mal), le chemin absolu tel quel ou entouré de guillemets provoque une erreur à la compilation.

As-tu bien mis le chemin au complet de l'application que tu utilises ? Si l'application n'est pas répertoriée dans le path, cela peut être la source de ton problème.

LID a écrit:Si c'est possible, est-ce que quelqu'un pourrait me donner un exemple de syntaxe d'un \includegraphics avec un chemin absolu d'une image qui fonctionne sur Windows ?

As-tu essayé de te placer dans le dossier où à lieu le traitement via cd sous Unix-Like ou chdir sous Windaube ? Cela peut-être un moyen de ne travailler qu'avec des chemins relatifs.

LID a écrit:Je développe une application sur FileMaker...

C'est pour faire quoi.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Comment déclarer un chemin absolu ?

Messagepar gigiair » Mercredi 28 Décembre 2011, 17:39

Chez moi, un ecm comme suit marche
Code: Tout sélectionner
%%%c:/Documents and Settings/Administrateur.ZOE/Mes Documents/LaTeX/ecm.tex
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{"c:/Documents and Settings/Administrateur.ZOE/foo/image"}
\end{document}



Je ne sais pas la nature de ton projet, mais si c'était possible, je sauvegarderais les fichiers images dans un répertoire décrit pas la commande
Code: Tout sélectionner
kpsewhich --expand-var="$TEXINPUTS.eps"
(resp autre extension : jpg, png, etc..)
Par exemple, sur mon système texlive2011 sous XP, le chemin C:/Documents and Settings/Administrateur.ZOE/texmf/ et ses sous répertoires fait partie de ce chemin. J'ai créé un sous répertoire tex/latex/images qui convient, mais on peut faire n'importe quel choix.
Pour vérifier que l'image image.eps sera bien trouvée à la compilation, il suffit de taper
Code: Tout sélectionner
kpsewhich image.eps
Ensuite \includegraphics{image} passe sans problèmes.
Mais si tu n'es pas maître de l'emplacement de sauvegarde des images, ça ne marchera pas. (on peut aussi ajouter des répertoires dans le chemin de recherche, c'est juste un peu plus sportif, et moins portable)
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment déclarer un chemin absolu ?

Messagepar LID » Jeudi 29 Décembre 2011, 12:25

Tout d'abord, merci à projetmbc et gigiair de s'être penchés sur mon problème.

Tout d'abord concernant la réponse de projetmbc :

Concernant la proposition (sur Mac) d'échapper les espaces :
"/Users/monLogin/Desktop/Porting\ To\ Python3"


Cette solution ne fonctionne pas chez moi.
D'une part, il me semble que ce n'est pas le chemin absolu,(je verrais plutôt "/Volumes/Macintosh\ HD//Users/monLogin/Desktop/Porting\ To\ Python3/.image.eps")
D'autre part, lorsque mon chemin ne comporte pas d'espace, mon chemin absolu est reconnu seulement si je l'inscris sans les guillemets.

Sur le chemin absolu dans Windows :
As-tu bien mis le chemin au complet de l'application que tu utilises ? Si l'application n'est pas répertoriée dans le path, cela peut être la source de ton problème.

Je ne pense pas que le chemin de l'application soit en cause, car la compilation fonctionne si mon chemin est relatif. L'image est affichée si je compile depuis un éditeur Tex, mais elle ne l'est pas si je compile depuis FileMaker (le reste du document est OK).

As-tu essayé de te placer dans le dossier où à lieu le traitement via cd sous Unix-Like ou chdir sous Windaube ? Cela peut-être un moyen de ne travailler qu'avec des chemins relatifs.

La commande shell "latex" que j'envoie depuis FileMaker via un applescript ou le RunShellScript ne prend en compte les images qui ont un chemin absolu. Ainsi même si je la précède d'un "cd" cela ne marche pas.

C'est pour faire quoi ?

J'ai une base de données de fiches de problèmes de math. Ces fiches contiennent des rubriques texte qui contiennent l'énoncé et la solution au format tex et des rubriques multimédia qui contiennent les images de l'énoncé et de la solution. Un script automatise l' envoi de commandes shell (latex - dvips - pstopdf ) et de l'importation du fichier pdf dans les rubriques multimédias. Sur Mac, c'est super, car le pdf obtenu par pstopdf est postscript(=> qualité et poids réduit des images). Sur Windows, c'est un peu moins bien car ps2pdf ne fournit pas du pdf poscript et en plus Filemaker sur Windows n'accepte pas dans ces rubriques multimédia du pdf. Pour le moment j'utilise la chaîne latex - dvipng, puis l'importation.
Ces fiches d'exercices contiennent d'autres rubriques qui me permettent de cataloguer le problème selon plusieurs critères. Ensuite pour constituer un document, on constitue une liste de fiches qui par un script remplit une nouvelle rubrique. Par la même chaîne qu'avant sur Mac-latex-dvips-pstopdf + ouverture du fichier PDF obtenu j'obtiens un document identique à celui obtenu par un éditeur Tex conventionnel. (Sur Windows, le document final est bon aussi avec la chaîne latex-dvips-ps2pdf, sauf que les images ne s'affichent pas parce que je n'ai pas encore résolu cette histoire de chemin absolu).
L'intérêt d'utiliser FileMaker :
- la puissance d'une base de données pour cataloguer, rechercher, échanger avec d'autres collègues des exercices, des documents (voir un jour une base de problèmes sur le Web)
- de travailler sur un "éditeur Latex" WYSIWYG
- les possibilités de script qui me permettent désormais en 5 secondes de paramétrer mon document (taille des caractères, interligne, affichage ou non des points attribués, du barème, de la solution, etc...

Concernant la réponse de gigiair :
Le fait que tu aies déposé un ECM me permet de cerner le problème. Je n'arrive pas à le compiler (TexMaker) en laissant le chemin absolu.
Voici celui que j'ai expérimenté sur ma partition BootCamp :
Code: Tout sélectionner
\documentclass{article}
\begin{document}
\includegraphics{"C:\Users\LID\Documents\MATHOTHEQUE\Provisoire\logo"}
\end{document}

en essayant aussi le chemin : "c:\Documents\MATHOTHEQUE\Provisoire\logo", en mettant ou non l'extension .eps, en enlevant aussi les guillemets, en mettant une majuscule ou une minuscule au disque c. (Lorsque je le tire sur l'invite de commandes, il vient sur ma configuration avec une majuscule et avec \Users\LID juste après contrairement à ton ECM.
Est-ce que c'est mon fichier logo.eps qui est en cause ? Je l'ai remplacé par image.eps obtenu par une exportation au format .eps d'une figure réalisée par Geogebra. Même constat. Et puis avec le chemin relatif, cela fonctionne. J'ai l'impression donc que le fait que j'utilise Windows sur une partition BootCamp est peut-être la cause du problème.(Les chemins s'écrivent peut-être différemment). Comme je n'ai pas de PC pur à disposition pour le moment, je n'arrive pas à vérifier cette hypothèse. Mais si vous avez une autre idée, je suis prêt à l'explorer.

Bonne fêtes de fin d'année
J-L Lienhard
LID
Utilisateur
 
Messages: 5
Inscription: Dimanche 14 Novembre 2010, 20:03
Localisation: Lausanne
Statut actuel: Actif et salarié | Enseignant

Re: Comment déclarer un chemin absolu ?

Messagepar gigiair » Jeudi 29 Décembre 2011, 13:04

LID a écrit:Est-ce que c'est mon fichier logo.eps qui est en cause ?

Certainement pas, mais le séparateur de chemins, c'est la barre oblique `/' , pas la contre-oblique  `\'.
La contre oblique est le caractère d'échappement qui permet à LaTeX de savoir qu'il a affaire à une commande, on ne peut pas l'utiliser comme séparateur.
Sous Ouindoz, le séparateur de chemin peut aussi bien être l'oblique que la contre oblique. C'est l'interpréteur de commandes qui n'accepte que la contre oblique, en interne les deux sont possibles. LaTeX envoie ses commandes sans utiliser l'interpréteur de commande. Avec cet ECM ça devrait marcher:
Code: Tout sélectionner
\documentclass{article}
\begin{document}
\includegraphics{"C:/Users/LID/Documents/MATHOTHEQUE/Provisoire/logo"}
\end{document}

Ouindoz, c'est très mal documenté, il faut avoir une solide formation en informatique pour l'utiliser :-).
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment déclarer un chemin absolu ?

Messagepar projetmbc » Jeudi 29 Décembre 2011, 14:15

Merci pour les explications... :D
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Comment déclarer un chemin absolu ?

Messagepar LID » Jeudi 29 Décembre 2011, 19:27

Merci pour ces infos, mais même en corrigeant mon chemin, l'ECM ne se compile pas.
Voici mon ECM :
Code: Tout sélectionner
\documentclass{article}
 \begin{document}
 \includegraphics{"C:/Users/LID/Desktop/Provisoire/logo"}
 \end{document}

et la copie du log :
Code: Tout sélectionner
LOG FILE :
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9) (preloaded format=latex 2011.10.31) 29 DEC 2011 19:08
entering extended mode
**matho.tex
(C:\Users\LID\Desktop\Provisoire\matho.tex
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, afrikaans, ancientgreek, ar
abic, armenian, assamese, basque, bengali, bokmal, bulgarian, catalan, coptic,
croatian, czech, danish, dutch, esperanto, estonian, farsi, finnish, french, ga
lician, german, german-x-2009-06-19, greek, gujarati, hindi, hungarian, iceland
ic, indonesian, interlingua, irish, italian, kannada, kurmanji, lao, latin, lat
vian, lithuanian, malayalam, marathi, mongolian, mongolianlmc, monogreek, ngerm
an, ngerman-x-2009-06-19, nynorsk, oriya, panjabi, pinyin, polish, portuguese,
romanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, swis
sgerman, tamil, telugu, turkish, turkmen, ukenglish, ukrainian, uppersorbian, u
senglishmax, welsh, loaded.
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\article.cls"
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\size10.clo"
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(C:\Users\LID\Desktop\Provisoire\matho.aux)
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
! Undefined control sequence.
l.3 \includegraphics
{"C:/Users/LID/Desktop/Provisoire/logo"}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
[1
] (C:\Users\LID\Desktop\Provisoire\matho.aux) )
Here is how much of TeX's memory you used:
202 strings out of 494050
2314 string characters out of 3146093
48862 words of memory out of 3000000
3577 multiletter control sequences out of 15000+200000
3640 words of font info for 14 fonts, out of 3000000 for 9000
715 hyphenation exceptions out of 8191
23i,4n,17p,154b,107s stack positions out of 5000i,500n,10000p,200000b,50000s
Output written on matho.dvi (1 page, 256 bytes).


Est-ce que le problème n'est pas lié à ma configuration ?

J-L Lienhard
LID
Utilisateur
 
Messages: 5
Inscription: Dimanche 14 Novembre 2010, 20:03
Localisation: Lausanne
Statut actuel: Actif et salarié | Enseignant

Re: Comment déclarer un chemin absolu ?

Messagepar gigiair » Jeudi 29 Décembre 2011, 20:04

Il faut ajouter
Code: Tout sélectionner
\usepackage{graphicx}

dans ton préambule .
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment déclarer un chemin absolu ?

Messagepar LID » Jeudi 29 Décembre 2011, 20:51

Cette fois, c'est bon, mais j'ai dû ôter les guillemets qui entouraient le chemin

Avec les guillemets, il n'y avait pas d'erreur, mais l'image ne s'affichait pas.

En tout cas, merci beaucoup pour l'aide.

J-L Lienhard
LID
Utilisateur
 
Messages: 5
Inscription: Dimanche 14 Novembre 2010, 20:03
Localisation: Lausanne
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Grapeshot [Crawler], Mikelenain, Proximic [Spider], Yandex [Bot] et 38 invités