12.07.2015 Views

TEX pour l'Impatient - Apprendre en ligne.net

TEX pour l'Impatient - Apprendre en ligne.net

TEX pour l'Impatient - Apprendre en ligne.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24 Sep 2004 2:48 p.m.<strong>TEX</strong> <strong>pour</strong> l’Impati<strong>en</strong>t N o 260238 Commandes <strong>pour</strong> des opérations générales \ §9MacrosDéfinir des macros\def 〈séqu<strong>en</strong>ce de contrôle〉 〈texte de paramètre〉 { 〈texte de remplacem<strong>en</strong>t〉}Cette commande définit 〈séqu<strong>en</strong>ce de contrôle〉 comme une macro avecles 〈texte de paramètre〉 et 〈texte de remplacem<strong>en</strong>t〉 spécifiés. Voir page 73<strong>pour</strong> une explication complète sur la façon d’écrire une définition de macro.Exemple :\def\add#1+#2=?{#1+#2&=\count255=#1 \advance\count255 by #2 \number\count255\cr}$$\eqalign{\add 27+9=?\add -5+-8=?}$$produit :27 + 9 = 36−5 + −8 = −13\edef 〈séqu<strong>en</strong>ce de contrôle〉 〈texte de paramètre〉 { 〈texte de remplacem<strong>en</strong>t〉}Cette commande définit une macro de la même manière générale que\def. La différ<strong>en</strong>ce est que <strong>TEX</strong> développe le 〈texte de remplacem<strong>en</strong>t〉d’un \edef immédiatem<strong>en</strong>t (mais sans ri<strong>en</strong> exécuter). Ainsi toutes définitionsdu 〈texte de remplacem<strong>en</strong>t〉 sont développées, mais des assignem<strong>en</strong>tset commandes qui produis<strong>en</strong>t des choses telles que boîtes et des ressortssont laissés tels quels. Par exemple, une commande \hbox dans le 〈textede remplacem<strong>en</strong>t〉 d’un \edef reste comme une commande et n’est pastransformée <strong>en</strong> une boîte quand <strong>TEX</strong> exécute la définition. Il n’est pas toujoursévid<strong>en</strong>t de savoir ce qui est développé et ce qui ne l’est pas, mais voustrouverez une liste complète des séqu<strong>en</strong>ces de contrôle développables surles pages 212–215 de The <strong>TEX</strong>book et 249–252 de la traduction française.Vous pouvez inhiber le développem<strong>en</strong>t d’une séqu<strong>en</strong>ce de contrôle quidevrait être développée <strong>en</strong> utilisant \noexpand (p. 242). Vous pouvezdifférer le développem<strong>en</strong>t d’une séqu<strong>en</strong>ce de contrôle <strong>en</strong> utilisant la commande\expandafter (p. 241).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!