RAW HTWL
 
Appeler une macro en RAW HTWL

sommaire général


Pour utiliser une macro qu'on a définie, une macro prédéfinie ou une primitive, il suffit d'écrire son nom dans le code.

Exemple :

\* définition de la macro *\

\def \ma_premiere_MACRO
{
    ceci est ma première macro~!
}

\* appel de la macro *\

\ma_premiere_MACRO

 
Les noms de macros sont sensible à la casse.


1. Passage des arguments

Les arguments de macros peuvent être de deux types : sans séparateur, ou avec.


1.1. Arguments sans séparateurs

\def \macro_avec_argument_sans_separateur #texte
{
    <FONT COLOR="#FF0000"> #texte </FONT>
}


Pour appeler une macro qui a un argument sans séparateur, on peut soit mettre l'argument entre accolades :

\macro_avec_argument_sans_separateur { mon texte à mettre en rouge}

ou ne pas mettre les accolades :

mon \macro_avec_argument_sans_separateur texte à mettre en rouge

Dans ce cas, c'est le premier token rencontré qui sera passé en argument (ici, ça sera donc « texte »).
Un token est :
  • soit une chaîne alphanumérique : chat, chien, 1492, farenheit451
  • soit une chaîne alphanumérique, contenant éventuellement des < _ >, précédée de < \ > : \macro, \mon_nom, \u_232
  • soit un caractère non-alphanumérique : é, ¿, +
  • soit un caractère non-alphanumérique précédé de < \ > : , \¿, \+


En pratique on ne se sert pas beaucoup de cette syntaxe sans accolades, car elle prête à confusion.


1.2. Arguments avec séparateurs

\def \macro_a_argument_avec_separateur #texte \fin
{
    <FONT SIZE="5" FACE="arial"> #texte </FONT>
}


On appele une macro qui a un argument avec séparateur en terminant l'argument par le séparateur :

\macro_a_argument_avec_separateur mon texte à mettre en évidence \fin


On peut utiliser des accolades si on veut, mais dans ce cas elles feront partie de l'argument :

\macro_a_argument_avec_separateur mon texte { à mettre } en évidence \fin

ici l'argument passé est « mon texte { à mettre } en évidence ».

\macro_a_argument_avec_separateur { mon texte à mettre en évidence } \fin

ici l'argument passé est « { mon texte à mettre en évidence } », et non « mon texte à mettre en évidence ».

 
RAW HTWL vérifie que le niveau d'emboîtement des accolades est correct :

\macro_a_argument_avec_separateur { mon texte à mettre en évidence \fin }

cela produira une erreur, car RAW HTWL ne trouvera pas le séparateur \fin après avoir rencontré l'accolade fermante.

\macro_a_argument_avec_separateur { mon texte à mettre en évidence \fin } et aussi ceci \fin

pas d'erreur ici ; l'argument passé est « { mon texte à mettre en évidence \fin } et aussi ceci ».


1.3. Macros qui ont plusieurs arguments

Appliquer ce qui précède pour chaque argument.


2. Utilisation de \macroname

On peut se servir de la primitive \macroname pour appeler une macro, tout comme pour la définir. Voir le chapitre sur les noms de macros.


3. Utilisation de \wait

La primitive \wait permet d'attendre qu'un membre argument à droite soit développé avant de développer la macro de gauche. Voir le chapitre sur le développement des macros.


4. Poursuivre la navigation

retour au sommaire général