Nous allons voir dans cet article une façon (parmi d’autres) de créer une liste aléatoire de n’importe quoi, et ce à l’aide du package pgffor.
Création d’une liste d’items
Après avoir fait appel à l’extension pgffor, on peut déclarer une liste ainsi:
\pgfmathdeclarerandomlist{<nom de la liste>}{%
{item1}%
{item2}%
{item3}%
...
{itemN}%
}
Par exemple, pour créer une liste de couleurs aléatoires:
\pgfmathdeclarerandomlist{MyColors}{%
{red}%
{magenta}%
{olive}%
{brown}%
{violet}%
{gray}%
{purple}%
{yellow}%
{orange}%
{cyan}%
{green}%
{blue}%
}
Utilisation de la liste
Imaginons que l’on souhaite dessiner plusieurs disques de couleurs différentes dans un cercle. Alors, on pourra faire ainsi :
\clip (5,5) circle (5cm);
\foreach \i in {0,1,...,10}{
\foreach \j in {0,1,...,10}{
\pgfmathparse{10*rnd}\let\x\pgfmathresult
\pgfmathparse{10*rnd}\let\y\pgfmathresult
\pgfmathrandomitem{\RandomColor}{MyColors}
\fill[\RandomColor] (\x,\y) circle (5mm);
}
}
Le résultat est alors :

On peut même ajouter un effet aux disques pour un rendu peut-être plus esthétique:

Un fichier source complet est disponible ci-dessous: