diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCFubuki.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCFubuki.tex | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCFubuki.tex b/macros/latex/contrib/profcollege/latex/PfCFubuki.tex new file mode 100644 index 0000000000..0ce7af2ffa --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCFubuki.tex @@ -0,0 +1,70 @@ +\setKVdefault[Fubuki]{Largeur=20pt,Solution=false,Indice=false,Sommes=false,Couleur=LightSteelBlue,Perso=false,Vierge=false}% +\defKV[Fubuki]{Graine=\PfCGraineAlea{#1}}% +\defKV[Fubuki]{Indices=\setKV[Fubuki]{Indice}\xdef\PfCFooListeIndices{#1}}% +\defKV[Fubuki]{CouleurSolution=\setKV[Fubuki]{Solution}\colorlet{PfCFubukiCouleurSolution}{#1}}% +\newlength\PfCFubuki% + +\NewDocumentCommand\PfCFubukiTestIndice{m}{% + \ifboolKV[Fubuki]{Indice}{% + \xdef\PfCRetiensIndice{0}% + \xintFor* ##1 in {\xintSeq{1}{\PfCFubukiListeIndiceslen}}\do{% + \xintifboolexpr{#1==\PfCFubukiListeIndices[##1]}{\xdef\PfCRetiensIndice{\fpeval{\PfCRetiensIndice+1}}}{}% + }% + \xintifboolexpr{\PfCRetiensIndice>0}{#1}{\ifboolKV[Fubuki]{Solution}{\color{PfCFubukiCouleurSolution}#1}{}}% + }{% + \ifboolKV[Fubuki]{Solution}{\color{PfCFubukiCouleurSolution}#1}{}% + }% +}% + +\NewDocumentCommand\PfCFubukiAffichageNombre{m}{% + \ifboolKV[Fubuki]{Vierge}{}{\ifboolKV[Fubuki]{Sommes}{\PfCFubukiNombre[#1]}{\PfCFubukiTestIndice{\PfCFubukiNombre[#1]}}}% +}% + +\NewDocumentCommand\PfCFubukiAffichageSommeH{m}{% + \ifboolKV[Fubuki]{Vierge}{}{% + \ifboolKV[Fubuki]{Sommes}{% + \ifboolKV[Fubuki]{Solution}{% + \color{PfCFubukiCouleurSolution}\fpeval{\PfCFubukiNombre[#1]+\PfCFubukiNombre[\fpeval{#1+1}]+\PfCFubukiNombre[\fpeval{#1+2}]}% + }{}% + }{\fpeval{\PfCFubukiNombre[#1]+\PfCFubukiNombre[\fpeval{#1+1}]+\PfCFubukiNombre[\fpeval{#1+2}]}}% + }% +}% + +\NewDocumentCommand\PfCFubukiAffichageSommeV{m}{% + \ifboolKV[Fubuki]{Vierge}{}{% + \ifboolKV[Fubuki]{Sommes}{% + \ifboolKV[Fubuki]{Solution}{% + \color{PfCFubukiCouleurSolution}\fpeval{\PfCFubukiNombre[#1]+\PfCFubukiNombre[\fpeval{#1+3}]+\PfCFubukiNombre[\fpeval{#1+6}]}% + }{}% + }{\fpeval{\PfCFubukiNombre[#1]+\PfCFubukiNombre[\fpeval{#1+3}]+\PfCFubukiNombre[\fpeval{#1+6}]}}% + }% +}% + +\NewDocumentCommand\Fubuki{om}{% + \useKVdefault[Fubuki]% + \setKV[Fubuki]{#1}% + \colorlet{PfCFubukiCouleur}{\useKV[Fubuki]{Couleur}}% + \ifboolKV[Fubuki]{Indice}{% + \setsepchar{,}% + \readlist*\PfCFubukiListeIndices{\PfCFooListeIndices}% +% \showitems\PfCFubukiListeIndices[] + }{}% + \ifboolKV[Fubuki]{Perso}{% + \xdef\PfCFooListeNombres{#2}% + \setsepchar{,}% + \readlist*\PfCFubukiNombre{\PfCFooListeNombres}% + }{% + \xdef\PfCFooListeNombres{1,2,3,4,5,6,7,8,9}% + \MelangeListe{\PfCFooListeNombres}{9}% + \setsepchar{,}% + \readlist*\PfCFubukiNombre{\faa}% + }% +% \showitems\PfCFubukiNombre[]% + \setlength{\PfCFubuki}{\useKV[Fubuki]{Largeur}+\tabcolsep}% + \begin{NiceTabular}{*{4}{m{\useKV[Fubuki]{Largeur}}}}[corners=SE,hvlines] + \rule{0pt}{\PfCFubuki}\Block{}{\PfCFubukiAffichageNombre{1}}&\Block{}{\PfCFubukiAffichageNombre{2}}&\Block{}{\PfCFubukiAffichageNombre{3}}&\Block[fill=PfCFubukiCouleur]{}{\PfCFubukiAffichageSommeH{1}}\\ + \rule{0pt}{\PfCFubuki}\Block{}{\PfCFubukiAffichageNombre{4}}&\Block{}{\PfCFubukiAffichageNombre{5}}&\Block{}{\PfCFubukiAffichageNombre{6}}&\Block[fill=PfCFubukiCouleur]{}{\PfCFubukiAffichageSommeH{4}}\\ + \rule{0pt}{\PfCFubuki}\Block{}{\PfCFubukiAffichageNombre{7}}&\Block{}{\PfCFubukiAffichageNombre{8}}&\Block{}{\PfCFubukiAffichageNombre{9}}&\Block[fill=PfCFubukiCouleur]{}{\PfCFubukiAffichageSommeH{7}}\\ + \rule{0pt}{\PfCFubuki}\Block[fill=PfCFubukiCouleur]{}{\PfCFubukiAffichageSommeV{1}}&\Block[fill=PfCFubukiCouleur]{}{\PfCFubukiAffichageSommeV{2}}&\Block[fill=PfCFubukiCouleur]{}{\PfCFubukiAffichageSommeV{3}}\\ + \end{NiceTabular} +}%
\ No newline at end of file |