Texstudio et chemins qui contiennent une macro

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 utilisateurs 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.
petitours
Utilisateur confirmé
Utilisateur confirmé
Messages : 33
Inscription : samedi 03 décembre 2022, 18:11
Statut actuel : Enseignant

Texstudio et chemins qui contiennent une macro

Message non lu par petitours »

Bonjour

J'ai remplacé ceci

Code : Tout sélectionner

\input{../Chemin/Fichier1}
\input{../Chemin/Fichier2}
par ceci

Code : Tout sélectionner

\newcommand{\pathToCharte}{../Chemin/}
\input{\pathToCharte Fichier1}
\input{\pathToCharte Fichier2}
afin de paramétrer la base du chemin de fichiers.

Ça compile sauf que TexStudio me met maintenant les fichiers en rouge, je ne peux plus y accéder d'un clic depuis texstudio.

Comment pourrais je faire le même genre de chose sans que TexStudio se retrouve incapable de trouver les fichiers ?

PS : j'ai tenté, ça fonctionne pareil, mais avec le même résultat

Code : Tout sélectionner

\makeatletter
\def\input@path{{../Chemin}} 
\makeatother 
Merci
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2827
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Texstudio et chemins qui contiennent une macro

Message non lu par gigiair »

Je ne vois pas comment TeXStudio pourrait être informé de la macro avant qu'une compilation n'ait lieu. Dans ce cas, il faudrait que sa valeur soit conservée dans un fichier auxiliaire et récupérée. C'est un mécanisme bien lourd.

Je ne crois pas que ce soit une bonne idée de procéder de cette façon.

TeXStudio peut accéder au mécanismes de recherche des fichiers kpathsea. Pour qu'ils soient trouvés il suffit que les fichiers se trouvent dans un des répertoires décrits par la variable TEXINPUTS (voir la docupentation de kpathsea). Personnellement, je préfère créer un lien symbolique vers le fichier à inclure que je place dans l'arborescence de recherche de kpathsea.et il n'y a pas de chemin à préciser pour qu'il soit trouvé.
Voir dans la documentation de la distribution l'emplacement prévu pour les extensions personnelles.
JJR.
LaTeXien migrateur.
petitours
Utilisateur confirmé
Utilisateur confirmé
Messages : 33
Inscription : samedi 03 décembre 2022, 18:11
Statut actuel : Enseignant

Re: Texstudio et chemins qui contiennent une macro

Message non lu par petitours »

Merci pour la réponse mais malheureusement plus je lis sur kpathsea, moins je comprends, c'est d'une complexité inouï le truc.
Même si j'arrivais à le faire fonctionner je crains que ça rende mes documents infernaux à déployer d'une pc à l'autre à cause d configurations sorties de l'espace à mettre en place ; trop dangereux à moyen terme.

C'est pas pratique mais je vais me résoudre à conserver les chemins relatifs redondants.
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2827
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Texstudio et chemins qui contiennent une macro

Message non lu par gigiair »

Je ne sais pas dans quel environnement tu opères mais la solution que je t'ai proposée est relativement simple ;: soit placer tes extensions dans un répertoire du chemin de recherche, soit créer un lien symbolique dans un répertoire du chemin de recherche (exemple répertoire courant ou espace personnel ).. Ne connaissant ni ton système d'exploitation, ni ta distribution, je ne peux pas en dire plus.
Je ne conseille pas de modifier TEXINPUTS.
La documentation de kpathsea se trouve dans le document texlive-fr.
JJR.
LaTeXien migrateur.
petitours
Utilisateur confirmé
Utilisateur confirmé
Messages : 33
Inscription : samedi 03 décembre 2022, 18:11
Statut actuel : Enseignant

Re: Texstudio et chemins qui contiennent une macro

Message non lu par petitours »

Je suis sous windows avec Texstudio et texlive.
soit placer tes extensions dans un répertoire du chemin de recherche
Je fais que lire des trucs comme ça mais pas trouvé un bout de truc pour les nuls pouvant expliquer dans quoi on doit configurer les chouettes lignes de configuration. J'ai 'impression que la doc est faite pour ceux qui n'en on plus besoin.
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2827
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Texstudio et chemins qui contiennent une macro

Message non lu par gigiair »

petitours a écrit : vendredi 16 juin 2023, 09:03 Je suis sous windows avec Texstudio et texlive.
Windows est un système compliqué qu'il faudrait réserver à des informaticiens professionnels :?
petitours a écrit : vendredi 16 juin 2023, 09:03
soit placer tes extensions dans un répertoire du chemin de recherche
Je fais que lire des trucs comme ça mais pas trouvé un bout de truc pour les nuls pouvant expliquer dans quoi on doit configurer les chouettes lignes de configuration. J'ai 'impression que la doc est faite pour ceux qui n'en on plus besoin.
Ouvrir un interpréteur de commande : Touche Windows + R , taper CMD et valider.
Dans cet interpréteur taper

Code : Tout sélectionner

mkdir %USERPROFILE%\texmf\tex\latex
On peut créer autant de sous répertoires de ce répertoire que l'on veut pour y placer ses fichiers qui seront trouvés par kpathsea
Par exemple

Code : Tout sélectionner

mkdir %USERPROFILE%\texmf\tex\latex\mes-ajouts
Pour vérifier qu'un fichier sauvegarder dans ce répertoire sera bien trouvé disons toto.tex, on peut taper

Code : Tout sélectionner

kpsewhich toto.tex
La réponse est le chemin d'accès du fichier.

Si l'on souhaite conserver le fichier à inclure dans son répertoire original, il suffit de créer un lien symbolique vers ce fichier au lieu de le déplacer.
Dernière modification par gigiair le vendredi 16 juin 2023, 10:24, modifié 1 fois.
JJR.
LaTeXien migrateur.
petitours
Utilisateur confirmé
Utilisateur confirmé
Messages : 33
Inscription : samedi 03 décembre 2022, 18:11
Statut actuel : Enseignant

Re: Texstudio et chemins qui contiennent une macro

Message non lu par petitours »

Chaud patate mais j'ai pigé, merci.

La question est bien de savoir si dans 1semaine 1 mois ou 1 an j'arriverai à m'y retrouver même en faisant des notes. :crazy:
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2827
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Texstudio et chemins qui contiennent une macro

Message non lu par gigiair »

petitours a écrit : vendredi 16 juin 2023, 10:23 Chaud patate mais j'ai pigé, merci

La question est bien de savoir si dans 1semaine 1 mois ou 1 an j'arriverai à m'y retrouver même en faisant des notes :crazy:
Je ne vois pas trop le problème. l'utilitaire kpsewhich permet de trouver un fichier inclus à partir de son nom.
USERPROFILE est une variable système. Pour révéler sa valeur, il suffit de taper

Code : Tout sélectionner

echo %USERPROFILE% 
dans un interpréteur de commande. Elle contient le nom de l'utilisateur, comme son nom le suggère.
JJR.
LaTeXien migrateur.
petitours
Utilisateur confirmé
Utilisateur confirmé
Messages : 33
Inscription : samedi 03 décembre 2022, 18:11
Statut actuel : Enseignant

Re: Texstudio et chemins qui contiennent une macro

Message non lu par petitours »

Oui oui j'ai réussi à le mettre en œuvre, mais ça va toucher des trucs de partout qui met la configuration de la chaine de dev Latex en mode château de carte.
J'ai peur de ça et des grosses galères en perspective le jour ou je change de pc et que j'aurai à reproduire la même gymnastique pour pouvoir compiler.
Tout ces dépendances juste pour éviter de changer un chemin dans plusieurs lignes de input c'est pas forcément gagnant.
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2827
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Texstudio et chemins qui contiennent une macro

Message non lu par gigiair »

Il y a des solutions, pour tous les goûts.
Ce n'est pas vraiment un problème de LaTeX, mais plutôt un problème de gestion des documents.
L'utilitaire latexpand est un script perl qui appliqué à un fichier latex créer un nouveau fichier latex dans lequel tous les \\input ou \\include sont remplacés par le contenu du fichier. Il suffit de placer des commentaires judicieux pour recréer ces fichiers. Ça peut rendre service.
JJR.
LaTeXien migrateur.
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2827
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Texstudio et chemins qui contiennent une macro

Message non lu par gigiair »

Si j'avais des difficultés à retrouver les fichiers inclus sur mon installation, j'écrirais un petit script qui fait appel à kpathsea pour les retrouver.
Comme j'utilise Emacs, ça pourrait être quelque chose comme

Code : Tout sélectionner

;; Une fonction utilitaire qui fait appel au système kpathsea pour
;; localisr le ficiier dans son arborescence.
(defun path-to-input-file-at-point()
  "Retourne le chemin d'accès renvoyé par kpathsea du fichier tex dont le nom est sous le point"
(substring(shell-command-to-string
(format "kpsewhich %s.tex"(thing-at-point 'sexp)))
          0 -1))

:: définir une commande qui utilise cette fonction pour ouvrir le fichier en vue de son examen ou de son édition.
(defun visit-input-file-at-point()
  "Ouvre le fichier dont le nom est sous le curseur"
  (interactive)
  (find-file (path-to-input-file-at-point)))

;; Pour lancer la commande au clavier. Chez moi, j'utiliserai la combinaison F5-i, j'ai défini la touche F5 comme une touche préfixe, 
;; c'est celle que j'utilise  pour toutes mes commandes LATeX personnelles.
(bind-key (kbd "<f5>i") (function visit-input-file-at-point) LaTeX-mode-map)
Bien entendu, ça ne fonctionne que sous Emacs, mais l'algorithme est facile à comprendre et je pense qu'il doit être possible de composer un script qui exécute la même chose avec n'importe quel éditeur capable de scripter en faisant appel au système;
Je crois que c'est la cas de TeXStudio.
JJR.
LaTeXien migrateur.