Concaténer une macro avec d'autres tokens

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.

Concaténer une macro avec d'autres tokens

Messagepar kilébo » Dimanche 07 Janvier 2007, 15:31

Bonjour,

Je cherche un moyen de concaténer une macro avec d'autres éléments.

J'aurais été tenté de faire
Code: Tout sélectionner
\def\toto{\toto ici le texte supplémentaire}

Mais cela ne marche pas car j'obtiens un dépassement de TeX : normal \toto est une définition circulaire.

Alors j'ai pensé faire
Code: Tout sélectionner
\edef\toto{\toto ici le texte supplémentaire}

Mais cela ne marche pas mieux car si \toto contient des tokens du type \[ \] (math hors ligne) alors ca coince car l'expension ne peut se faire normalement puisque le contexte (la ligne) n'est pas connu au moment de la définition.

Bref, je tourne en rond...

PS : Je me suis dit qu'il fallait utiliser les listes de tokens mais 1) je ne les maitrises que très peu 2) J'aurais besoin de bcp de définitions donc j'exclus d'avoir une liste de tokens par éléments que je souhaite créer (il me semble que le nombre de listes de tokens est limité à 255, non ?)
A une erreur de calcul et de raisonnement prêt, tout cela doit être correct.
kilébo
Téra-utilisateur
 
Messages: 1059
Inscription: Samedi 22 Avril 2006, 11:08
Localisation: Région Parisienne
Statut actuel: Actif et salarié

Publicité

Messagepar la main gauche » Lundi 08 Janvier 2007, 17:13

Tu peux faire comme ça:
Code: Tout sélectionner
\def\addtoks#1\to#2{%
  \begingroup
  \toks0={#1}%
  \toks1=\expandafter{#2}%
  \edef\next{\def\noexpand#2{\the\toks1 \the\toks0 }%
  \expandafter\endgroup\next
}

\def\toto{4 5 6}
\addtoks{1 2 3}\to\toto
\toto
la Main Gauche
la main gauche
Méga-utilisateur
 
Messages: 274
Inscription: Jeudi 30 Mars 2006, 07:44
Localisation: selon l'idéal de la liberté


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message
  • Macro
    Fichier(s) joint(s) par SB » Samedi 08 Décembre 2012, 09:14
    5 Réponses
    895 Vus
    Dernier message par SB Voir le dernier message
    Samedi 08 Décembre 2012, 19:15
  • # hors d'une macro ?
    par jeans » Dimanche 03 Décembre 2006, 20:51
    4 Réponses
    1105 Vus
    Dernier message par jeans Voir le dernier message
    Lundi 04 Décembre 2006, 17:09
  • P'tite macro
    1, 2par rebouxo » Lundi 25 Juin 2007, 19:49
    21 Réponses
    2353 Vus
    Dernier message par P.Fradin Voir le dernier message
    Mercredi 27 Juin 2007, 08:00
  • Natbib et autres
    Fichier(s) joint(s) par neige » Mardi 08 Janvier 2013, 22:43
    14 Réponses
    1551 Vus
    Dernier message par rebouxo Voir le dernier message
    Jeudi 10 Janvier 2013, 14:44
  • Une macro qui crée des macros?
    1, 2par jeans » Vendredi 15 Décembre 2006, 09:46
    21 Réponses
    3001 Vus
    Dernier message par jeans Voir le dernier message
    Jeudi 01 Février 2007, 21:23

Qui est en ligne

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