Le package multido permet de faire des boucles similaires
aux boucles for
qui existent dans différents langages de programmation.
Noter que fournit déjà un tel mécanisme, mais le
package multido en simplifie l'utilisation.
La commande \multido
prend trois arguments:
L'exemple suivant montre son fonctionnement: on affiche pour commencer une flèche
de longueur 8 cm, puis, tous les centimètres (à l'aide de la variable \i
),
on trace un petit trait et on écrit la valeur du compteur \n
.
On obtient donc une flèche graduée:
\setlength{\unitlength}{1cm} \small \begin{picture}(8,1)(0,-.5) \put(0,0){\vector(1,0){8}} \multido{\i=0+1, \n=0+0.25}{8}{% \put(\i,-.1){\line(0,1){.2}} \put(\i,-.2){\makebox(0,0)[t]{\n}} } \end{picture}
sp
).
Donc Dxy
, intx
, ntwo
et reel
sont des variables licites mais pas benquoi
.
Toutefois, l'utilisation du package multido peut poser des
problèmes avec les tableaux. Les utilisateurs d'eTeX peuvent se servir
de la macro For
de cet exemple:
\documentclass{article} %% Définition de \For : \makeatletter \newcommand*{\For}[1] {\noalign{\gdef\@Do##1{#1}}\@For} \newcommand*{\@For}[3]{% \unless\ifnum#1 \ifnum#3>0 >\else <\fi #2 \@Do{#1}% \expandafter\@For% \expandafter{\number\numexpr#1+#3}{#2}{#3}% \fi } \makeatother \begin{document} %% Utilisation de \For : %% \For{⟨corps⟩}{⟨deb⟩}{⟨fin⟩}{⟨pas⟩} %% #1 pour désigner le compteur de boucle \begin{tabular}{ll} \For{#1#1\\}{0}{10}{2} \end{tabular} \end{document}