Macro appelant un fichier contenant le paramètre

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.

Macro appelant un fichier contenant le paramètre

Messagepar jeans » Vendredi 24 Novembre 2006, 14:47

Bonjour à tous,
êtes-vous prêts? Je vous explique ce que je voudrais faire. Je voudrais créer une macro avec 1 paramètre. Jusque là ça va. Là où je coïnce, c'est que je voudrais que cette macro appelle un certain fichier (\input...) et c'est dans ce fichier que je voudrais mettre le paramètre.

Exemple avec une macro qui s'appelle mac et qui appelle un fichier nommé fic:

la macro serait:\newcommand{\mac}[1]{\input{fic}}
et le contenu de fic serait: "#1 est bien arrivé"

Ainsi en lançant "\mac{toto}" j'obtiendrais "toto est bien arrivé".

Sauf que ça ne fonctionne pas (évidemment à cause du # dans fic).
Vous m'avez compris? Vous avez une idée?
Merci d'avance de toutes vos réponses.
jeans
Déca-utilisateur
 
Messages: 40
Inscription: Vendredi 24 Novembre 2006, 14:44

Publicité

Re: macro appelant un fichier contenant le paramètre

Messagepar toufan » Vendredi 24 Novembre 2006, 16:38

Bonjour


Voici un code j'espère que ça convient :

Code: Tout sélectionner
\documentclass{article}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\def\Inclure#1{\input{#1}}

% #1 le  fichier  contenant le texte (#1.tex)


\begin{document}

Mais  \Inclure{fich1}  ?

\end{document}


le fichier fich1.tex contient le texte : Toto est en retard

Toufan
toufan
Kilo-utilisateur
 
Messages: 139
Inscription: Mercredi 04 Janvier 2006, 18:09
Localisation: Paris

Messagepar jeans » Vendredi 24 Novembre 2006, 18:30

Merci de ta réponse. Certes ce que tu me proposes donne le résultat demandé. Malheureusement j'ai vraiment besoin que le paramètre soit contenu dans le fichier appelé. Ce qui n'est pas le cas avec le code que tu me proposes. En fait je veux faire un truc bien plus compliqué que ce que j'ai écrit (j'avais simplifié le problème pour pouvoir l'expliquer le plus clairement possible). Je ne veux pas que "toto" soit fixe dans fich1. Et je veux décider de ce paramètre au moment où j'appelle la macro. Connais-tu un code qui fonctionnerait où, à la place de "toto" dans fich1 on aurait le "#1" qui serait le paramètre de la macro?
jeans
Déca-utilisateur
 
Messages: 40
Inscription: Vendredi 24 Novembre 2006, 14:44

Messagepar toufan » Mercredi 06 Décembre 2006, 15:33

Bonjour

Si j'ai bien compris la question, il suffit de définir un ensemble de commandes, avec la package ‘arrayjob’ , ensuite on fait appel aux éléments de cet ensemble quand on souhaite.

J’espère que cela répond à la question.

Code: Tout sélectionner

\documentclass[12pt]{article}
\usepackage{arrayjob}
\usepackage{amsmath,amsfonts,amsthm}
\begin{document}

% les éléments pour l'ensemble des commandes
\def\EX{$\mathbb{E}[X]$}
\def\VX{$Var[X]$}
\def\totoa{toto est en retard}
\def\totob{toto est tojours en retard}
\def\totoc{toto sera tojours en retard}
\def\totod{toto sera  en retard}

\newarray\Mescommandes

\readarray{Mescommandes}{\totoa & \totob & \totoc& \EX & \VX & \totod}

\expandarrayelementtrue

% page1
 mais  \Mescommandes(1)  \\
\newpage
% page2
pour calculer :   \Mescommandes(5), \Mescommandes(2)  \\

\newpage
% page3
pour calculer :   \Mescommandes(4), \Mescommandes(6)



\end{document}


Toufan
Amateur de LaTeX
toufan
Kilo-utilisateur
 
Messages: 139
Inscription: Mercredi 04 Janvier 2006, 18:09
Localisation: Paris

Messagepar jeans » Mercredi 06 Décembre 2006, 16:57

Merci, je vais étudier tout ça parce que là je ne suis pas du tout à la page.
jeans
Déca-utilisateur
 
Messages: 40
Inscription: Vendredi 24 Novembre 2006, 14:44


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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