Pour créer une fiche des opérations arithmétiques de base, j'avais besoin d'un code couleur pour les chiffres (dizaines,unités,..).

Je peux utiliser xlop pour obtenir le code couleur pour ces opérations, ou créer une commande (dans l'exemple). Mais pour le reste du document ?

Existe-t-il une façon élégante pour colorier automatiquement les chiffres ? Voici une illustration de ce que je veux.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\definecolor{vert}{HTML}{08ab50}
\definecolor{vertf}{HTML}{03aa64}
\definecolor{bleu}{HTML}{00c9f9}
\definecolor{rouge}{HTML}{fe3235}
\newcommand{\monnombre}[4]{%
%\fontencoding{T1}\fontfamily{phv}\selectfont
\mbox{\color{vertf} #1}{\color{rouge}#2}{\color{bleu}  #3}{\color{vert}#4}%
    }

\begin{document}

Voici un texte avec le nombre 325.

Maintenant le même \nombre{}{3}{2}{5} colorié.

\end{document}

Posée 11 Sep '19, 18:59

miyazaki's gravatar image

miyazaki
158713
Taux d'acceptation : 0%

Modifiée 11 Sep '19, 20:23

Pathe's gravatar image

Pathe ♦♦
7.4k29197245

2

Ah, les nombres en couleur ! Quelle merveilleuse méthode d'apprentissage du calcul ! Vivent les réglettes Cuisenaire !

(11 Sep '19, 20:28) Pathe ♦♦ Pathe's gravatar image

Je ne comprends pas ce que vous dites ? C'est une réponse ?

(11 Sep '19, 22:12) miyazaki miyazaki's gravatar image

Ce n’est pas une réponse. C’est une incise : votre question m’a fait penser aux réglettes Cuisenaire et aux nombres en couleur de ce merveilleux pédagogue, voilà tout. C’est un mode d’apprentissage des mathématiques que je trouve formidable. Je suis navré si cette référence a suscité la confusion.

(12 Sep '19, 01:57) Pathe ♦♦ Pathe's gravatar image

Je m'occupe d'enfants en difficultés, et cela m'emmène à produire beaucoup de fiches. C'est à la croisée de plusieurs disciplines : neurosciences, psychologie, pédagogie...Ce n'est pas donc par plaisir que je pose cette question.

(12 Sep '19, 10:30) miyazaki miyazaki's gravatar image
1

@miyazaki. J'espère que l'on peut éprouver un plaisir à travailler avec des enfants en difficulté ; cela a été mon cas (autre incise, et on s'arrêtera là). @Pathe : merci ; je ne connaissais pas ces réglettes Cuisenaire.

(07 Oct '19, 10:31) fred02840 fred02840's gravatar image

voici une proposition de code avec du Expl3. Les limites : ça ne fonctionne pas avec les nombres de plus de 4 chiffres et on n'a pas l'espace entre les milliers et les autres chiffres. Ça doit pouvoir se faire mais faut que j'y réfléchisse et que je sache mieux ce que vous désirez.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[a4paper]{geometry}
\usepackage{lmodern}
\usepackage{xcolor}
\definecolor{vert}{HTML}{08ab50}
\definecolor{vertf}{HTML}{03aa64}
\definecolor{bleu}{HTML}{00c9f9}
\definecolor{rouge}{HTML}{fe3235}

\usepackage[log-declarations=false]{xparse}

\ExplSyntaxOn
\seq_new:N \__chiffres_seq
\seq_new:N \__couleurs_seq

\cs_new:Nn \__NbCl_int_to_seq:nN { 
  \int_set:Nn \l_tmpa_int { #1 }
  \int_do_until:nNnn { \l_tmpa_int } = { 0 }
  { \int_set:Nn \l_tmpb_int { \int_mod:nn { \l_tmpa_int } { 10 } }
    \seq_push:NV #2 \l_tmpb_int 
    \int_set:Nn \l_tmpa_int
    { \int_div_truncate:nn { \l_tmpa_int - \l_tmpb_int } { 10 } } } }

\NewDocumentCommand{\nbrcoul}{ m }
{
  \group_begin:
  \seq_clear:N \__chiffres_seq
  \__NbCl_int_to_seq:nN { #1 } \__chiffres_seq

  \int_set:Nn \l_tmpa_int { \seq_count:N \__chiffres_seq }

  \mbox{
    \bool_until_do:nn { \seq_if_empty_p:N \__chiffres_seq}
    {
      \seq_pop:NN \__chiffres_seq \l_tmpa_tl
      \textcolor { \seq_item:Nn \__couleurs_seq { \l_tmpa_int }} { \l_tmpa_tl }
      \int_decr:N \l_tmpa_int
    }
  }
  \group_end:
}

\NewDocumentCommand{\DefinirCouleurs}{ m }
{
  \seq_set_from_clist:Nn \__couleurs_seq { #1 }
}

\ExplSyntaxOff

\begin{document}
\large

\DefinirCouleurs{vert, bleu, rouge, vertf}

\nbrcoul{123}

\nbrcoul{1234}

\end{document}
Lien permanent

Publiée 13 Sep '19, 19:18

Le%20TeXnicien%20de%20surface's gravatar image

Le TeXnicien de surface
2.0k814
Taux d'acceptation : 28%

Merci beaucoup, c'est ce que je cherchais ! Pour les nombres de plus 4 chiffres, j'attendrai votre solution. Mais même avec 4 seulement ç'est suffisant.

(13 Sep '19, 23:38) miyazaki miyazaki's gravatar image

Si j'augmente l'espace entre les chiffres, les couleurs disparaissent.

(14 Sep '19, 00:12) miyazaki miyazaki's gravatar image

Pouvez-vous préciser ce que vous entendez par "augmenter l'espace" ? Séparez-vous les chiffres dans le code ? Voulez-vous plus d'espacement entre les chiffres du document ?

(05 Oct '19, 09:45) Le TeXnicien de surface Le%20TeXnicien%20de%20surface's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.