\clearpage
\section{Le défi \og Rangement\fg}\label{DocDefiRangement}\PfCMAJ{0.99-z-h}
La commande\footnote{L'idée initiale est de Guillaume {\sc Valmont}.} \lstinline!\DefiRangement!$^{\text{\faIcon{sync-alt}}}$ permet d'afficher une suite de nombres à ranger, chaque nombre étant associé à une lettre ou symbole de ponctuation.\index[cle]{DefiRangement@\lstinline+\DefiRangement+}
\begin{center}
  \setlength{\tabcolsep}{0.5\tabcolsep}
  \DefiRangement[Creation,Deno=10]{LaTeX, c'est génial !}{}
\end{center}
Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \DefiRangement[!\sffamily\textlangle clés\textrangle!]{phrase à décoder}{valeurs à ranger}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels);
\item \lstinline!phrase à décoder! est la phrase à décoder;
\item \lstinline!valeurs à ranger! est la liste ordonnée par ordre croissant des valeurs à utiliser pour le défi.
\end{itemize}
\begin{Codes}[]{0.5}{}
\DefiRangement{valkyrie}{$-1$,0,$\sqrt{3}$,4,5,$\dfrac{13}{2}$,\num{6.85},7}
\end{Codes}
\begin{tcolorbox}[tikzcle]
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Largeur|mygobble}
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Hauteur|mygobble}
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Solution|mygobble}
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Graine|mygobble}
\begin{Key}{Largeur}{15pt}
  modifie la largeur des cases du tableau.
\end{Key}
\begin{Key}{Hauteur}{20pt}
  modifie la hauteur des cases du tableau.
\end{Key}
\begin{Key}{Solution}{false}
  complète le tableau de jeu par la phrase et le rangement.
\end{Key}
\begin{Key}{Graine}{--}
  fixe la graine de l'aléatoire.
\end{Key}
\end{tcolorbox}
\begin{Codes}[]{0.5}{}
\DefiRangement[Graine=2,Largeur=30pt,Solution]{valkyrie}{$f(-1)$,$f(-2)$,$f(-3)$,$f(1)$,$f(2)$,$f(3)$,$f(4)$,$f(5)$}
\end{Codes}
\subsection*{Création automatisée}
% On peut demander à faire construire automatiquement un tel jeu.
\begin{tcolorbox}[tikzcle]
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Creation|mygobble}
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Creation!Deno|mygobble}
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Creation!Negatif|mygobble}
  \index[cle]{DefiRangement@\lstinline+\DefiRangement+!Creation!Decimaux|mygobble}
\begin{Key}{Creation}{false}
  permet, lorsqu'elle est positionnée à \lstinline!true!, de créer automatiquement et aléatoirement un défi rangement.
  \begin{SousDescription}
    \item[La clé \Cle{Deno}]\DefautR{12} modifie le dénominateur choisi pour écrire les fractions.
    \item[La clé \Cle{Negatif}]\DefautR{false} permet de choisir des nombres négatifs.
    \item[La clé \Cle{Decimaux}]\DefautR{false} affiche l'écriture décimale des nombres choisis.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{Codes}[]{0.4}{}
\DefiRangement[Creation,Graine=4,Deno=20,Largeur=12pt]{Belle performance !}{}
\end{Codes}
\begin{Codes}[]{0.4}{}
\DefiRangement[Creation,Graine=5,Deno=10]{Professeur}{}
\end{Codes}
\begin{Codes}[]{0.4}{}
\DefiRangement[Creation,Graine=6,Decimaux,Deno=20]{Metapost}{}
\end{Codes}
\begin{Codes}[]{0.4}{}
\DefiRangement[Creation,Graine=7,Deno=1]{Leonhardt Euler}{}
\end{Codes}
\begin{Codes}[]{0.4}{}
\DefiRangement[Creation,Graine=8,Deno=60,Negatif]{Pierre de Fermat}{}
\end{Codes}