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 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} |
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} Publiée 13 Sep '19, 19:18 Le TeXnicien de surface 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
Si j'augmente l'espace entre les chiffres, les couleurs disparaissent.
(14 Sep '19, 00:12)
miyazaki
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
|
Ah, les nombres en couleur ! Quelle merveilleuse méthode d'apprentissage du calcul ! Vivent les réglettes Cuisenaire !
Je ne comprends pas ce que vous dites ? C'est une réponse ?
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.
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.
@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.