Nombre aléatoire et lcg

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 81
Inscription : jeudi 25 juin 2009, 14:06

[Résolu] Nombre aléatoire et lcg

Message non lu par tnnico »

Bonjour à tous,

Je voudrais créer des tableaux contenant des nombres aléatoires.
Pour cela je teste le package lcg.

Voici un exemple qui vous montrera le problème que je rencontre:

Code : Tout sélectionner

\documentclass[11pt,a4paper,landscape,twocolumn]{article}

\usepackage{lcg}

\newcounter{NbA}
\newcommand{\nbalea}{
	\reinitrand[first=1,last=100,counter=NbA]\rand
	$\theNbA$
}

\begin{document}
Exemple 1
\nbalea
\nbalea

Exemple 2
\nbalea \nbalea

Exemple 3
\begin{tabular}{cc}
	\nbalea & \nbalea \\
\end{tabular}	
\end{document}
Il n'y a que dans l'exemple 1 que le nombre aléatoire est modifié... Lorsqu'il n'y a pas de retour à la ligne après la commande \nbalea, le même nombre est conservé.
Le problème, c'est que, dans une ligne de tableau, il n'y a pas de retour à la ligne...

Si quelqu'un à une idée, merci d'avance...
Dernière modification par tnnico le mercredi 02 octobre 2013, 08:44, modifié 3 fois.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Nombre aléatoire et lcg

Message non lu par pg »

tnnico a écrit :Le problème, c'est que, dans une ligne de tableau, il n'y a pas de retour à la ligne...
Il suffit d'en rajouter une :

Code : Tout sélectionner

Exemple 3
\begin{tabular}{cc}
   \nbalea
   &
   \nbalea \\
\end{tabular}   
tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 81
Inscription : jeudi 25 juin 2009, 14:06

Re: Nombre aléatoire et lcg

Message non lu par tnnico »

Ah...
Ben merci...
ça m'apprendra à poser de sottes questions...

Re-merci et bonne journée
tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 81
Inscription : jeudi 25 juin 2009, 14:06

Re: [Résolu ou presque] Nombre aléatoire et lcg

Message non lu par tnnico »

Je viens de me rendre compte que ça ne fonctionnait pas dans un cas un peu différent :

Code : Tout sélectionner

\documentclass[12pt,a4paper]{article}

\usepackage{lcg}

\newcounter{NbA}
\newcommand{\nbalea}{
	\reinitrand[first=1,last=100,counter=NbA]\rand
	$\theNbA$
}

\newcommand{\tableau}{
\begin{tabular}{cc}
	\nbalea &
	 \nbalea \\
\end{tabular}	
}

\begin{document}
\tableau


\end{document}
Le tableau qui stocke mes nombres aléatoires est appelé par une commande...

Une autre idée, peut-être ?

Merci d'avance...
tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 81
Inscription : jeudi 25 juin 2009, 14:06

Re: [Résolu ou presque] Nombre aléatoire et lcg

Message non lu par tnnico »

Et tant que j'y suis...
Je constate un problème d'alignement:

Code : Tout sélectionner

\documentclass[12pt,a4paper]{article}

\usepackage{lcg}

\newcounter{NbA}
\newcommand{\nbalea}{
	\reinitrand[first=1,last=100,counter=NbA]\rand
	$\theNbA$
}

\newcommand{\tableau}{
\begin{tabular}{|c|c|}
	20 & 20 \\
	\nbalea &
	 \nbalea \\
\end{tabular}	
}

\begin{document}
\tableau
\end{document}
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: [Résolu ou presque] Nombre aléatoire et lcg

Message non lu par pg »

tnnico a écrit :Une autre idée, peut-être ?
Oui, ne pas utiliser lcg. Le résultat est le même car maintenant que tout est caché dans un \newcommand, les deux appels à \rand sont sur la même ligne (celle où il y a \tableau).

Le package pgf permet de faire des nombres aléatoires sans cette restriction de numéro de ligne dans le fichier source :

Code : Tout sélectionner

\documentclass[12pt,a4paper]{article}

\usepackage{pgf}

\newcommand{\nbalea}{%
   \pgfmathrandominteger{\theNbA}{1}{100}%
   \theNbA
}

\newcommand{\tableau}{
\begin{tabular}{|c|c|}
   20 & 20 \\
   \nbalea & \nbalea \\
\end{tabular}   
}

\begin{document}

\tableau

\end{document}
tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 81
Inscription : jeudi 25 juin 2009, 14:06

Re: [Résolu ou presque] Nombre aléatoire et lcg

Message non lu par tnnico »

Et en prime, ça résout le problème d'alignement...

Merci beaucoup !
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: [Résolu] Nombre aléatoire et lcg

Message non lu par pg »

Le problème d'alignement était juste un problème d'espace parasite (d'où les % dans le code de \nbalea).
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message