summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-08-17 20:59:59 +0000
committerKarl Berry <karl@freefriends.org>2022-08-17 20:59:59 +0000
commitbd560fa1edb324d9a828837571656c9598280fa9 (patch)
treece98496f18427b8cc122cbcc69eec093f5e4f757
parent0615878c2213d71454065177016d25579de3a692 (diff)
profcollege (17aug22)
git-svn-id: svn://tug.org/texlive/trunk@64137 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdfbin8684452 -> 8817716 bytes
-rw-r--r--Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zipbin2214355 -> 2218015 bytes
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfC-Calculatriceold.mp195
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCArithmetiquePDF.mp237
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCLaTeX.mp21
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty1521
6 files changed, 1380 insertions, 594 deletions
diff --git a/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf b/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf
index c78ed2b3b42..c58be2a0995 100644
--- a/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf
+++ b/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zip b/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zip
index 1d69bcbb09b..03d5c23e356 100644
--- a/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zip
+++ b/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zip
Binary files differ
diff --git a/Master/texmf-dist/metapost/profcollege/PfC-Calculatriceold.mp b/Master/texmf-dist/metapost/profcollege/PfC-Calculatriceold.mp
deleted file mode 100644
index 0140e24b4df..00000000000
--- a/Master/texmf-dist/metapost/profcollege/PfC-Calculatriceold.mp
+++ /dev/null
@@ -1,195 +0,0 @@
-prologues:=3;
-
-path carre[];
-
-u:=0.5mm;
-
-vardef BlocAffichage=
- for k=0 upto 34:
- carre[k]:=(unitsquare scaled u) shifted(u*(k mod 5,5-(k div 5)));
- endfor;
-enddef;
-
-vardef Affichage(expr decomp)=
- save $;
- picture $;
- drawoptions(withpen pensquare scaled0.1);
- $=image(%
- for k=0 upto 34:
- if (substring(k,k+1) of decomp)="1":
- fill carre[k];
- fi;
- endfor;
- );
- drawoptions();
- $
-enddef;
-
-nblignes:=0;
-
-boolean print;
-print:=false;
-
-color CouleurEcran;
-CouleurEcran=(107/255,148/255,107/255);
-
-boolean Math;
-Math=true;
-
-decahoriz:=0;
-
-vardef Test(expr cptk,cptnt)=
- pair decalage;
- if nblignes mod 2=0:
- decalage:=u*((20-length(cptnt)+cptk)*6,-8*(nblignes-1));
- else:
- decalage:=u*(decahoriz,-8*(nblignes-1));
- decahoriz:=decahoriz+6;
- fi;
- if substring(cptk,cptk+1) of cptnt="A":draw Affichage("01110100011000110001111111000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="B":draw Affichage("11110100011000111110100011000111110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="C":draw Affichage("01110100011000010000100001000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="D":draw Affichage("11100100101000110001100011001011100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="E":draw Affichage("11111100001000011111100001000011111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="F":draw Affichage("11111100001000011111100001000010000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="G":draw Affichage("01110100011000010111100011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="H":draw Affichage("10001100011000111111100011000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="I":draw Affichage("01110001000010000100001000010001110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="J":draw Affichage("00111000100001000010000101001001100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="K":draw Affichage("10001100101010011000101001001010001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="L":draw Affichage("10000100001000010000100001000011111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="M":draw Affichage("10001110111010110101100011000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="N":draw Affichage("10001100011100110101100111000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="O":draw Affichage("01110100011000110001100011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="P":draw Affichage("11110100011000111110100001000010000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="Q":draw Affichage("01110100011000110001101011001001101") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="R":draw Affichage("11110100011000111110101001001010001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="S":draw Affichage("01111100001000001110000010000111110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="T":draw Affichage("11111001000010000100001000010000100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="U":draw Affichage("10001100011000110001100011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="V":draw Affichage("10001100011000110001100010101000100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="W":draw Affichage("10101101011010110101101011010101010") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="X":draw Affichage("10001100010101000100010101000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="Y":draw Affichage("10001100011000101010001000010000100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="Z":draw Affichage("11111000010001000100010001000011111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="a":draw Affichage("00000000000111100001011111000101111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="b":draw Affichage("10000100001011011001100011000111110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="c":draw Affichage("00000000000111010000100001000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="d":draw Affichage("00001000010110110011100011000101111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="e":if Math:
- draw Affichage("00000000000000000001101000100010100") shifted(decalage);
- decalage:=u*(decahoriz-1,-8*(nblignes-1));
- draw Affichage("00000000001001010101101011010110010") shifted(decalage);
- decahoriz:=decahoriz+6;
- else:
- draw Affichage("00000000000111010001111111000001110") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="@":draw Affichage("00010001000111010001111111000001110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="f":draw Affichage("00110010010100011100010000100001000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="g":draw Affichage("00000011111000110001011110000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="h":draw Affichage("10000100001011011001100011000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="i":draw Affichage("00100000000110000100001000010001110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="j":if Math=true:
- draw Affichage("00011000011110100001000000000000000") shifted(decalage);
- else:
- draw Affichage("00010000000011000010000101001001100") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="k":if Math=true:
- draw Affichage("11100001000100011100000000000000000") shifted(decalage);
- else:
- draw Affichage("10000100001001010100110001010010010") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="l":if Math=true:
- draw Affichage("11100010000010011100000000000000000") shifted(decalage);
- else:
- draw Affichage("01100001000010000100001000010001110") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="m":draw Affichage("00000000001101010101101011000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="n":draw Affichage("00000000001011011001100011000110001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="o":draw Affichage("00000000000111010001100011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="p":draw Affichage("00000000001111010001111101000010000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="q":if Math=true:
- draw Affichage("00000000001111101010010100101010001") shifted(decalage);
- else:
- draw Affichage("00000000000110110011011110000100001") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="r":draw Affichage("00000000001011011001100001000010000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="s":draw Affichage("00000000000111010000011100000111110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="t":draw Affichage("01000010001110001000010000100100110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="u":draw Affichage("00000000001000110001100011001101101") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="v":if Math=true:
- draw Affichage("00111001000010000100101000110000100") shifted(decalage);
- else:
- draw Affichage("00000000001000110001100010111000100") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="w":draw Affichage("00000000001010110101101011010101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="x":draw Affichage("00000000001000101010001000101010001") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="y":draw Affichage("00000000001000110001011110000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="z":draw Affichage("00000000001111100010001000100011111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="0":draw Affichage("01110100011001110101110011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="1":draw Affichage("00100011000010000100001000010001110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="2":draw Affichage("01110100010000100010001000100011111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="3":draw Affichage("11111000100010000010000011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="4":draw Affichage("00010001100101010010111110001000010") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="5":draw Affichage("11111100001111000001000011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="6":draw Affichage("00110010001000011110100011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="7":draw Affichage("11111000010001000100010000100001000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="8":draw Affichage("01110100011000101110100011000101110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="9":draw Affichage("01110100011000101111000010001001100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="!":draw Affichage("00100001000010000100000000000000100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="'":draw Affichage("01100001000100000000000000000000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="(":draw Affichage("00010001000100001000010000010000010") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt=")":draw Affichage("01000001000001000010000100010001000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="*":draw Affichage("00000001001010101110101010010000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="+":draw Affichage("00000001000010011111001000010000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt=",":draw Affichage("00000000000000000000011000010001000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="-":draw Affichage("00000000000000011111000000000000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt=".":draw Affichage("00000000000000000000000000110001100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="/":draw Affichage("00000000010001000100010001000000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt=":":if Math=true:
- draw Affichage("00000000000000000000000000000000000") shifted(decalage);
- else:
- draw Affichage("00000011000110000000011000110000000") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt=";":if Math=true:
- draw Affichage("00000001000000011111000000010000000") shifted(decalage);
- else:
- draw Affichage("00000011000110000000011000010001000") shifted(decalage);
- fi;
- elseif substring(cptk,cptk+1) of cptnt="<":draw Affichage("00010001000100010000010000010000010") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="=":draw Affichage("00000000001111100000111110000000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt=">":draw Affichage("10000010000010000010001000100010000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="?":draw Affichage("01110100010000100010001000000000100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="[":draw Affichage("01110010000100001000010000100001110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="]":draw Affichage("01110000100001000010000100001001110") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="`":draw Affichage("01000001000001000000000000000000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="|":draw Affichage("00100001000010000100001000010000100") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt=" ":draw Affichage("00000100010101000100010101000100000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="&":draw Affichage("00000100001100011100110001000000000") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="$":draw Affichage("00000000000000100001000010000111111") shifted(decalage);
- elseif substring(cptk,cptk+1) of cptnt="^":draw Affichage("00100010101000100000000000000000000") shifted(decalage);
- fi;
-enddef;
-
-vardef LCD(text nt)(text rep)=
- decahoriz:=0;
- nblignes:=nblignes+1;
- path Ecran;
- Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
- fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
- draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
- for k=0 upto length(nt)-1:
- BlocAffichage;
- Test(k,nt);
- endfor;
- nblignes:=nblignes+1;
- Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1)));
- fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
- draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi;
- for k=0 upto length(rep)-1:
- BlocAffichage;
- Test(k,rep);
- endfor;
-enddef;
-
-endinput;
diff --git a/Master/texmf-dist/metapost/profcollege/PfCArithmetiquePDF.mp b/Master/texmf-dist/metapost/profcollege/PfCArithmetiquePDF.mp
new file mode 100644
index 00000000000..8772c93b49b
--- /dev/null
+++ b/Master/texmf-dist/metapost/profcollege/PfCArithmetiquePDF.mp
@@ -0,0 +1,237 @@
+% Fichier regroupant les macros pour les schémas des nombres premiers
+
+numeric retenirnb[];
+
+vardef Estcepremier(expr NBa)=
+ boolean $;
+ c:=2;
+ departa:=NBa;
+ test:=1;
+ $=true;
+ if departa=1:
+ $:=false;
+ else:
+ forever:
+ if (departa mod c)=0:
+ departa:=departa div c;
+ test:=test+1;
+ else:
+ c:=c+1;
+ fi;
+ exitif departa=1;
+ endfor;
+ fi;
+ if test=2:
+ $:=true
+ else:
+ $:=false;
+ fi;
+ $
+enddef;
+
+vardef PremierSimple(expr NB)=
+ b:=2;
+ depart:=NB;
+ if Estcepremier(depart)=false:
+ forever:
+ if (depart mod b)=0:
+ Ancre[k+1]-Ancre[k]=(-decalage*0.5,-decalage);
+ Ancre[k+2]-Ancre[k+1]=(decalage,0);
+ depart:=depart div b;
+ retenirnb[k+1]=b;
+ retenirnb[k+2]=depart;
+ label(LATEX("\num{"&decimal(b)&"}"),Ancre[k+1]);
+ label(LATEX("\num{"&decimal(depart)&"}"),Ancre[k+2]);
+ draw 1/5[Ancre[k],Ancre[k+1]]--4/5[Ancre[k],Ancre[k+1]];
+ draw 1/5[Ancre[k],Ancre[k+2]]--4/5[Ancre[k],Ancre[k+2]];
+ k:=k+2;
+ racine:=depart;
+ depart:=1;
+ else:
+ b:=b+1;
+ fi;
+ exitif depart=1;
+ endfor;
+ else:
+ racine:=1;
+ fi;
+enddef;
+
+vardef PremierSimplePdf(expr NB)=
+ b:=2;
+ depart:=NB;
+ if Estcepremier(depart)=false:
+ forever:
+ if (depart mod b)=0:
+ Ancre[k+1]-Ancre[k]=(-decalage*0.5,-decalage);
+ Ancre[k+2]-Ancre[k+1]=(decalage,0);
+ depart:=depart div b;
+ retenirnb[k+1]=b;
+ retenirnb[k+2]=depart;
+ label(LATEX("\num{"&decimal(b)&"}"),Ancre[k+1]);
+ label(LATEX("\num{"&decimal(depart)&"}"),Ancre[k+2]);
+ draw 1/5[Ancre[k],Ancre[k+1]]--4/5[Ancre[k],Ancre[k+1]];
+ draw 1/5[Ancre[k],Ancre[k+2]]--4/5[Ancre[k],Ancre[k+2]];
+ k:=k+2;
+ racine:=depart;
+ depart:=1;
+ else:
+ b:=b+1;
+ fi;
+ exitif depart=1;
+ endfor;
+ else:
+ racine:=1;
+ fi;
+enddef;
+
+vardef PremierSimpleArbre(expr NB)=
+ b:=2;
+ depart:=NB;
+ if Estcepremier(depart)=false:
+ forever:
+ if (depart mod b)=0:
+ Ancre[k+1]-Ancre[k]=(-decalage*0.5,-decalage);
+ Ancre[k+2]-Ancre[k+1]=(decalage,0);
+ depart:=depart div b;
+ retenirnb[k+1]=b;
+ retenirnb[k+2]=depart;
+ draw Branche(Ancre[k],Ancre[k+1]);
+ draw Branche(Ancre[k],Ancre[k+2]);
+ k:=k+2;
+ racine:=depart;
+ depart:=1;
+ else:
+ b:=b+1;
+ fi;
+ exitif depart=1;
+ endfor;
+ else:
+ racine:=1;
+ fi;
+enddef;
+
+vardef NbEtape(expr nb)=
+ b:=2;
+ depart:=nb;
+ etape:=0;
+ Stock[0][0]=depart;
+ forever:
+ if (depart mod b)=0:
+ etape:=etape+1;
+ if etape=1:
+ Stock[etape][0]=b;
+ Stock[etape][etape]:=depart div b;
+ else:
+ for k=0 upto etape-2:
+ Stock[etape][k]:=Stock[etape-1][k];
+ endfor;
+ Stock[etape][etape-1]:=b;
+ Stock[etape][etape]:=depart div b;
+ fi;
+ depart:=depart div b;
+ else:
+ b:=b+1;
+ fi;
+ exitif depart=1;
+ endfor;
+ etape
+enddef;
+
+vardef Positions(expr Step)=
+ for k=0 upto (Step-1):
+ for l=0 upto k:
+ N[k][l]=(-k*dx+(l+k*.5)*dx,-k*dy);
+ label(LATEX("\num{"&decimal(Stock[k][l])&"}"),N[k][l]);
+ endfor;
+ for l=0 upto k-1:
+ label(LATEX("$\times$"),1/2[N[k][l],N[k][l+1]]);
+ endfor;
+ endfor;
+ for k=0 upto (Step-1):
+ for l=0 upto (k-1):
+ draw 1/5[N[k][l],N[k-1][l]]--4/5[N[k][l],N[k-1][l]];
+ endfor;
+ if k>0:
+ draw 1/5[N[k][k],N[k-1][k-1]]--4/5[N[k][k],N[k-1][k-1]];
+ fi;
+ endfor;
+enddef;
+
+vardef PositionsPdf(expr Step)=
+ for k=0 upto (Step-1):
+ for l=0 upto k:
+ N[k][l]=(-k*dx+(l+k*.5)*dx,-k*dy);
+ label(LATEX("\num{"&decimal(Stock[k][l])&"}"),N[k][l]);
+ endfor;
+ for l=0 upto k-1:
+ label(LATEX("$\times$"),1/2[N[k][l],N[k][l+1]]);
+ endfor;
+ endfor;
+ for k=0 upto (Step-1):
+ for l=0 upto (k-1):
+ draw 1/5[N[k][l],N[k-1][l]]--4/5[N[k][l],N[k-1][l]];
+ endfor;
+ if k>0:
+ draw 1/5[N[k][k],N[k-1][k-1]]--4/5[N[k][k],N[k-1][k-1]];
+ fi;
+ endfor;
+enddef;
+
+vardef PositionsVide(expr Step)=
+ for k=0 upto (Step-1):
+ for l=0 upto k:
+ N[k][l]=(-k*dx+(l+k*.5)*dx,-k*dy);
+ endfor;
+ for l=0 upto k-1:
+ label(LATEX("$\times$"),1/2[N[k][l],N[k][l+1]]);
+ endfor;
+ endfor;
+ for k=0 upto (Step-1):
+ for l=0 upto (k-1):
+ draw 1/5[N[k][l],N[k-1][l]]--4/5[N[k][l],N[k-1][l]];
+ endfor;
+ if k>0:
+ draw 1/5[N[k][k],N[k-1][k-1]]--4/5[N[k][k],N[k-1][k-1]];
+ fi;
+ endfor;
+ label(LATEX("\num{"&decimal(Stock[0][0])&"}"),N[0][0]);
+enddef;
+
+vardef PositionsVidePdf(expr Step)=
+ for k=0 upto (Step-1):
+ for l=0 upto k:
+ N[k][l]=(-k*dx+(l+k*.5)*dx,-k*dy);
+ endfor;
+ for l=0 upto k-1:
+ label(LATEX("$\times$"),1/2[N[k][l],N[k][l+1]]);
+ endfor;
+ endfor;
+ for k=0 upto (Step-1):
+ for l=0 upto (k-1):
+ draw 1/5[N[k][l],N[k-1][l]]--4/5[N[k][l],N[k-1][l]];
+ endfor;
+ if k>0:
+ draw 1/5[N[k][k],N[k-1][k-1]]--4/5[N[k][k],N[k-1][k-1]];
+ fi;
+ endfor;
+ label(LATEX("\num{"&decimal(Stock[0][0])&"}"),N[0][0]);
+enddef;
+
+vardef Branche(expr nbd,nba)=
+ save $;
+ picture $;
+ pair UnitVector;
+ numeric AngleVector;
+ UnitVector=unitvector(nba-nbd) rotated 90;
+ AngleVector=angle(nba-nbd)+(-10+uniformdeviate(20));
+ path branche;
+ branche=(nbd+UnitVector){dir AngleVector}..(nba+UnitVector)--reverse((nbd-UnitVector){dir AngleVector}..(nba-UnitVector))--cycle;
+ $=image(
+ fill branche withcolor gris;
+ draw branche;
+ );
+ $
+enddef;
+
+endinput;
diff --git a/Master/texmf-dist/metapost/profcollege/PfCLaTeX.mp b/Master/texmf-dist/metapost/profcollege/PfCLaTeX.mp
index abfe21bc107..76bd2732948 100644
--- a/Master/texmf-dist/metapost/profcollege/PfCLaTeX.mp
+++ b/Master/texmf-dist/metapost/profcollege/PfCLaTeX.mp
@@ -2,13 +2,32 @@ vardef LATEX primary s =
write "verbatimtex" to "mptextmp.mp";
write "%&latex" to "mptextmp.mp";
write "\documentclass[]{article}" to "mptextmp.mp";
+ write "\usepackage{mathtools,amssymb}" to "mptextmp.mp";
+ write "\usepackage{siunitx}" to "mptextmp.mp";
+ write "\sisetup{locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4}" to "mptextmp.mp";
+ write "\usepackage[utf8]{inputenc}" to "mptextmp.mp";
+ write "\usepackage[T1]{fontenc}" to "mptextmp.mp";
+ write "\usepackage{fourier}" to "mptextmp.mp";
+ write "\usepackage[french]{babel}" to "mptextmp.mp";
+ write "\begin{document}" to "mptextmp.mp";
+ %write "\UseRawInputEncoding" to "mptextmp.mp";
+ write "etex" to "mptextmp.mp";
+ write "btex "&s&" etex" to "mptextmp.mp";
+ write EOF to "mptextmp.mp";
+ scantokens "input mptextmp"
+enddef;
+
+vardef LATEXProf primary s =
+ write "verbatimtex" to "mptextmp.mp";
+ write "%&latex" to "mptextmp.mp";
+ write "\documentclass[]{article}" to "mptextmp.mp";
write "\usepackage{ProfCollege}" to "mptextmp.mp";
write "\usepackage[utf8]{inputenc}" to "mptextmp.mp";
write "\usepackage[T1]{fontenc}" to "mptextmp.mp";
write "\usepackage{fourier}" to "mptextmp.mp";
write "\usepackage[french]{babel}" to "mptextmp.mp";
write "\begin{document}" to "mptextmp.mp";
- write "\UseRawInputEncoding" to "mptextmp.mp";
+ %write "\UseRawInputEncoding" to "mptextmp.mp";
write "etex" to "mptextmp.mp";
write "btex "&s&" etex" to "mptextmp.mp";
write EOF to "mptextmp.mp";
diff --git a/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty b/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
index f027170b16d..3cdb5e4ccf9 100644
--- a/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
+++ b/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2022/08/01}%
+\def\filedate{2022/08/17}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-t}%
+\def\fileversion{0.99-v}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]
@@ -59,7 +59,7 @@
\RequirePackage[shellescape,latex]{gmp}%inclusion de figures metapost "à la volée"%
\gmpoptions{everymp={prologues:=3; input PfCLaTeX; input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur;}}
\usempxclass{article}
-\usempxpackage{ProfCollege}
+\usempxpackage[locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4]{siunitx}
\usempxpackage[utf8]{inputenc}
\usempxpackage[T1]{fontenc}
\usempxpackage{fourier}
@@ -69,7 +69,7 @@
\RequirePackage[latex]{gmp}%inclusion de figures metapost "à la volée"%
\gmpoptions{everymp={prologues:=3; input PfCLaTeX; input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur;}}
\usempxclass{article}
-\usempxpackage{ProfCollege}
+\usempxpackage[locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4]{siunitx}
\usempxpackage[utf8]{inputenc}
\usempxpackage[T1]{fontenc}
\usempxpackage{fourier}
@@ -105,6 +105,7 @@
\RequirePackage{fontawesome5}%Pour l'environnement Twitter
\RequirePackage{pifont}%Pour la commande \Autonomie
\RequirePackage{nicematrix}%
+\NiceMatrixOptions{allow-duplicate-names}
\let\myoldmulticolumn\multicolumn
\AtBeginEnvironment{tabular}{\let\multicolumn\myoldmulticolumn}
@@ -346,6 +347,548 @@
}
%%%
+% PixelArt
+%%%
+\newtoks\toklistePANombre%
+\def\UpdatetoksPANombre#1\nil{\addtotok\toklistePANombre{"#1",}}%
+
+\setKVdefault[ClesPixelArt]{Largeur=29,Hauteur=29,Solution=false,Lettres=ABCDEFGHIJK,Nombres=false,ListeCouleurs={Orange,Red,LightGray,Maroon,Purple,black,black,Plum,Orange,White,White},Unite=5mm}
+\defKV[ClesPixelArt]{ListeNombres=\setKV[ClesPixelArt]{Nombres}}
+
+\NewDocumentCommand\PixelArt{o m}{%
+ \toklistePANombre{}%
+ \useKVdefault[ClesPixelArt]%
+ \setKV[ClesPixelArt]{#1}%
+ \xdef\ListeAvantCouleurs{\useKV[ClesPixelArt]{ListeCouleurs}}%
+ \xdef\ListeAvantNombres{\useKV[ClesPixelArt]{ListeNombres}}%
+ \readlist*\ListePANombre{\ListeAvantNombres}%
+ \foreachitem\compteur\in\ListePANombre{\expandafter\UpdatetoksPANombre\compteur\nil}%
+ \BuildPixelArt{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}%
+}%
+
+\NewDocumentCommand\BuildPixelArt{m m m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ largeur:=\useKV[ClesPixelArt]{Largeur};
+ hauteur:=\useKV[ClesPixelArt]{Hauteur};
+ Unite:=\useKV[ClesPixelArt]{Unite};
+ boolean Solution,Nombres;
+ Solution:=\useKV[ClesPixelArt]{Solution};
+ Nombres:=\useKV[ClesPixelArt]{Nombres};
+ string BaseLettres;
+ BaseLettres=str #2;
+
+ color ColorEntier[],ColFond;
+ n:=0;
+ for p_=#3:
+ n:=n+1;
+ ColorEntier[n]:=p_;
+ endfor;
+
+ string RetiensNombres[];
+ if Nombres:
+ n:=0;
+ for p_=#4:
+ n:=n+1;
+ RetiensNombres[n]=p_;
+ endfor;
+ fi;
+
+ vardef Lecturecsv(expr nomfichier)=
+ for h=hauteur downto 1:
+ string p_;
+ p_=readfrom nomfichier;
+ l:=0;
+ for p=0 step 2 until 2*largeur-2:
+ l:=l+1;
+ if (substring(p,p+1) of p_)="-":
+ else:
+ if Nombres:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ label(TEX(RetiensNombres[m+1]),((l-1)*Unite,(h-1)*Unite));
+ fi;
+ endfor;
+ else:
+ label(TEX(substring(p,p+1) of p_),((l-1)*Unite,(h-1)*Unite));
+ fi;
+ if Solution:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ ColFond:=ColorEntier[m+1];
+ fi;
+ endfor;
+ if unknown ColFond: else: fill (unitsquare scaled Unite) shifted ((l-1)*Unite-0.5*Unite,(h-1)*Unite-0.5*Unite) withcolor ColFond fi;
+ fi;
+ trace (unitsquare scaled Unite) shifted ((l-1)*Unite-0.5*Unite,(h-1)*Unite-0.5*Unite);
+ fi;
+ endfor;
+ endfor;
+ closefrom nomfichier;
+ enddef;
+
+ Lecturecsv("#1");
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={largeur:=\useKV[ClesPixelArt]{Largeur}; hauteur:=\useKV[ClesPixelArt]{Hauteur}; Unite:=\useKV[ClesPixelArt]{Unite}; boolean Solution,Nombres; Solution:=\useKV[ClesPixelArt]{Solution}; Nombres:=\useKV[ClesPixelArt]{Nombres};}]
+ string BaseLettres;
+ BaseLettres=str #2;
+
+ color ColorEntier[],ColFond;
+ n:=0;
+ for p_=#3:
+ n:=n+1;
+ ColorEntier[n]:=p_;
+ endfor;
+
+ string RetiensNombres[];
+ if Nombres:
+ n:=0;
+ for p_=#4:
+ n:=n+1;
+ RetiensNombres[n]=p_;
+ endfor;
+ fi;
+
+ vardef Lecturecsv(expr nomfichier)=
+ for h=hauteur downto 1:
+ string p_;
+ p_=readfrom nomfichier;
+ l:=0;
+ for p=0 step 2 until 2*largeur-2:
+ l:=l+1;
+ if (substring(p,p+1) of p_)="-":
+ else:
+ if Nombres:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ label(LATEX(RetiensNombres[m+1]),((l-1)*Unite,(h-1)*Unite));
+ fi;
+ endfor;
+ else:
+ label(LATEX(substring(p,p+1) of p_),((l-1)*Unite,(h-1)*Unite));
+ fi;
+ if Solution:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ ColFond:=ColorEntier[m+1];
+ fi;
+ endfor;
+ if unknown ColFond: else: fill (unitsquare scaled Unite) shifted ((l-1)*Unite-0.5*Unite,(h-1)*Unite-0.5*Unite) withcolor ColFond fi;
+ fi;
+ trace (unitsquare scaled Unite) shifted ((l-1)*Unite-0.5*Unite,(h-1)*Unite-0.5*Unite);
+ fi;
+ endfor;
+ endfor;
+ closefrom nomfichier;
+ enddef;
+
+ Lecturecsv("#1");
+ \end{mpost}
+ \fi
+}
+
+%%%
+% Yohaku
+%%%
+\setKVdefault[Yohaku]{Taille=2,Largeur=1cm,Hauteur=1cm,Addition,Multiplication=false,Perso=false,Limite=50,Pair=false,Impair=false,Premier=false,Solution=false,Visible=false,Bordure=false,CouleurResultat=gray!15,Ligne=0,Colonne=0,PasL=0,PasC=0,CouleurZone=gray!25}%
+\defKV[Yohaku]{Case=\setKV[Yohaku]{Visible}}%
+
+\newlength\PfCYohaku%
+
+\xdef\PfCYHKpremier{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47}%
+
+\NewDocumentCommand\Yohaku{o m}{%
+ \useKVdefault[Yohaku]%
+ \setKV[Yohaku]{#1}%
+ \xdef\PfCYHKlast{\fpeval{\useKV[Yohaku]{Taille}+1}}%
+ \xdef\PfCYHKnombre{1}%
+ \xdef\PfCYHKpair{2}%
+ \xdef\PfCYHKimpair{1}%
+ \xintFor* ##1 in{\xintSeq{2}{\fpeval{\useKV[Yohaku]{Limite}}}}\do{%
+ \xdef\PfCYHKnombre{\PfCYHKnombre,##1}%
+ }%
+ \xintFor* ##1 in{\xintSeq{2}{\fpeval{\useKV[Yohaku]{Limite}}}}\do{%
+ \xdef\PfCYHKpair{\PfCYHKpair,\fpeval{##1*2}}%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{\useKV[Yohaku]{Limite}}}}\do{%
+ \xdef\PfCYHKimpair{\PfCYHKimpair,\fpeval{##1*2+1}}%
+ }%
+ %
+ \ifboolKV[Yohaku]{Perso}{%
+ \setsepchar[*]{,*/}%
+ \readlist*\PfCYHKListe{#2}%
+ \setsepchar{,}%
+ \xdef\PfCYHKListeFoo{}%
+ \foreachitem\compteur\in\PfCYHKListe[1]{
+ \xdef\PfCYHKListeFoo{\PfCYHKListeFoo \PfCYHKListe[1,\compteurcnt],}%
+ }%
+ \ignoreemptyitems\readlist*\PfCYHKListeNA{\PfCYHKListeFoo}%
+ \xdef\PfCYHKListeFoo{}%
+ \foreachitem\compteur\in\PfCYHKListe[2]{
+ \xdef\PfCYHKListeFoo{\PfCYHKListeFoo \PfCYHKListe[2,\compteurcnt],}%
+ }%
+ \ignoreemptyitems\readlist*\PfCYHKListeP{\PfCYHKListeFoo}%
+ }{%
+ \ifboolKV[Yohaku]{Premier}{%
+ \xdef\PfCYHKListe{\PfCYHKpremier}%
+ }{%
+ \ifboolKV[Yohaku]{Impair}{%
+ \xdef\PfCYHKListe{\PfCYHKimpair}%
+ }{%
+ \ifboolKV[Yohaku]{Pair}{%
+ \xdef\PfCYHKListe{\PfCYHKpair}%
+ }{%
+ \xdef\PfCYHKListe{\PfCYHKnombre}%
+ }%
+ }%
+ }%
+ % \xintifboolexpr{\useKV[Yohaku]{Taille}==2}{\MelangeListe{\PfCYHKListe}{4}}{\MelangeListe{\PfCYHKListe}{9}}%
+ \MelangeListe{\PfCYHKListe}{\fpeval{\useKV[Yohaku]{Taille}**2}}%
+ \readlist*\PfCYHKListeNA{\faa}%
+ %Sommes/Produits
+ \xdef\PfCYHKListeProduit{}
+ %verticaux
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \ifboolKV[Yohaku]{Multiplication}{%
+ \xdef\PfCYHKTampon{1}%
+ \xintFor* ##1 in {\xintSeq{0}{\fpeval{\useKV[Yohaku]{Taille}-1}}}\do{%
+ \xdef\PfCYHKTampon{\fpeval{\PfCYHKTampon*\PfCYHKListeNA[\fpeval{##2+##1*\useKV[Yohaku]{Taille}}]}}
+ }%
+ }{%
+ \xdef\PfCYHKTampon{0}%
+ \xintFor* ##1 in {\xintSeq{0}{\fpeval{\useKV[Yohaku]{Taille}-1}}}\do{%
+ \xdef\PfCYHKTampon{\fpeval{\PfCYHKTampon+\PfCYHKListeNA[\fpeval{##2+##1*\useKV[Yohaku]{Taille}}]}}
+ }%
+ }
+ \xdef\PfCYHKListeProduit{\PfCYHKListeProduit,\PfCYHKTampon}%
+ }%
+ % horizontaux
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \ifboolKV[Yohaku]{Multiplication}{%
+ \xdef\PfCYHKTampon{1}%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \xdef\PfCYHKTampon{\fpeval{\PfCYHKTampon*\PfCYHKListeNA[\fpeval{(\useKV[Yohaku]{Taille}-##2)*\useKV[Yohaku]{Taille}+##1}]}}
+ }%
+ }{%
+ \xdef\PfCYHKTampon{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \xdef\PfCYHKTampon{\fpeval{\PfCYHKTampon+\PfCYHKListeNA[\fpeval{(\useKV[Yohaku]{Taille}-##2)*\useKV[Yohaku]{Taille}+##1}]}}
+ }%
+ }%
+ \xdef\PfCYHKListeProduit{\PfCYHKListeProduit,\PfCYHKTampon}%
+ }%
+ \readlist*\PfCYHKListeP{\PfCYHKListeProduit}
+ }%
+ \setlength{\PfCYohaku}{\useKV[Yohaku]{Largeur}-\tabcolsep}%
+ \colorlet{PfCFondYohaku}{\useKV[Yohaku]{CouleurResultat}}
+ \colorlet{PfCZoneYohaku}{\useKV[Yohaku]{CouleurZone}}
+ \begin{NiceTabular}{*{\fpeval{\useKV[Yohaku]{Taille}+1}}{m{\PfCYohaku}}}[hvlines-except-borders]
+ \CodeBefore
+ \xintifboolexpr{\useKV[Yohaku]{Ligne}==0 || \useKV[Yohaku]{Colonne}==0}{}{%
+ \tikz\draw[fill=PfCZoneYohaku](row-\fpeval{\useKV[Yohaku]{Ligne}}-|col-\fpeval{\useKV[Yohaku]{Colonne}}) rectangle (row-\fpeval{\useKV[Yohaku]{Ligne}+\useKV[Yohaku]{PasL}}-|col-\fpeval{\useKV[Yohaku]{Colonne}+\useKV[Yohaku]{PasC}});%
+ }%
+ \ifboolKV[Yohaku]{Bordure}{%
+ \tikz\fill[PfCFondYohaku] (last-|1)--(last-|last)--(1-|last)--(1-|\fpeval{\useKV[Yohaku]{Taille}+1})--(\fpeval{\useKV[Yohaku]{Taille}+1}-|\fpeval{\useKV[Yohaku]{Taille}+1})--(\fpeval{\useKV[Yohaku]{Taille}+1}-|1)--cycle;
+ }{}
+ \Body
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}+1}}}\do{%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}+1}}}\do{%
+ \xintifForFirst{\rule{0pt}{\useKV[Yohaku]{Hauteur}}}{&}
+ }\\%
+ }%
+ \CodeAfter
+ \ifboolKV[Yohaku]{Bordure}{%
+ \tikz\draw (last-|1)--(last-|last)--(1-|last);
+ }{}%
+ \tikz\draw (1-|1)--(1-|last);
+ \tikz\draw (1-|1)--(last-|1);
+ \tikz\draw[line width=2pt] (1-|1)--(\fpeval{\useKV[Yohaku]{Taille}+1}-|1)--(\fpeval{\useKV[Yohaku]{Taille}+1}-|\fpeval{\useKV[Yohaku]{Taille}+1})--(1-|\fpeval{\useKV[Yohaku]{Taille}+1})--cycle;
+ \tikz\node at (\fpeval{\PfCYHKlast+0.5}-|\fpeval{\PfCYHKlast+0.5}) {\Huge\ifboolKV[Yohaku]{Multiplication}{$\times$}{$+$}};
+ % Affichage des termes/facteurs
+ \ifboolKV[Yohaku]{Solution}{%
+ \ifboolKV[Yohaku]{Perso}{%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \tikz\node at (\fpeval{##2+0.5}-|\fpeval{##1+0.5}) {\PfCYHKListeNA[\fpeval{(##2-1)*\useKV[Yohaku]{Taille}+##1}]};
+ }%
+ }%
+ }{%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{
+ \xintFor* ##1 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{
+ \tikz\node at (\fpeval{##2+0.5}-|\fpeval{##1+0.5}) {\num{\PfCYHKListeNA[\fpeval{(##2-1)*\useKV[Yohaku]{Taille}+##1}]}};
+ }%
+ }%
+ }%
+ }{}%
+ % Affichage d'un terme/facteur
+ \ifboolKV[Yohaku]{Visible}{%
+ \xdef\PfCYohakuCaseAFL{\fpeval{floor((\useKV[Yohaku]{Case}-1)/\useKV[Yohaku]{Taille})}}%
+ \xdef\PfCYohakuCaseAFC{\fpeval{\useKV[Yohaku]{Case}-\useKV[Yohaku]{Taille}*\PfCYohakuCaseAFL}}%
+ \ifboolKV[Yohaku]{Perso}{%
+ \tikz\node at (\fpeval{\PfCYohakuCaseAFL+1+0.5}-|\fpeval{\PfCYohakuCaseAFC+0.5}) {\PfCYHKListeNA[\fpeval{\useKV[Yohaku]{Case}}]};
+ }{%
+ \tikz\node at (\fpeval{\PfCYohakuCaseAFL+1+0.5}-|\fpeval{\PfCYohakuCaseAFC+0.5}) {\num{\PfCYHKListeNA[\fpeval{\useKV[Yohaku]{Case}}]}};
+ }%
+ }{}%
+ %% Affichage des sommes/produits horizontalement
+ \ifboolKV[Yohaku]{Perso}{%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \tikz\node at (\fpeval{\PfCYHKlast+0.5}-|\fpeval{##2+0.5}) {\PfCYHKListeP[##2]};
+ }%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \tikz\node at (\fpeval{\useKV[Yohaku]{Taille}+1-##2+0.5}-|\fpeval{\PfCYHKlast+0.5}) {\PfCYHKListeP[\fpeval{\useKV[Yohaku]{Taille}+##2}]};
+ }%
+ }{%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \tikz\node at (\fpeval{\PfCYHKlast+0.5}-|\fpeval{##2+0.5}) {\num{\PfCYHKListeP[##2]}};
+ }%
+ \xintFor* ##2 in {\xintSeq{1}{\fpeval{\useKV[Yohaku]{Taille}}}}\do{%
+ \tikz\node at (\fpeval{\useKV[Yohaku]{Taille}+1-##2+0.5}-|\fpeval{\PfCYHKlast+0.5}) {\num{\PfCYHKListeP[\fpeval{\useKV[Yohaku]{Taille}+##2}]}};
+ }%
+ }%
+ \end{NiceTabular}
+}%
+
+%%%
+% Rose
+%%%
+\setKVdefault[ClesRose]{Vide=false,Couleur=white,Produits=false,Solution=false,Rayon=2cm,Petales=7,Aide=false,FacteurMin=2,FacteurMax=10,ProduitVide=false,CaseVide=false,Polygone=false}%
+
+\NewDocumentCommand\RoseMul{o}{%
+ \useKVdefault[ClesRose]%
+ \setKV[ClesRose]{#1}%
+ \DessineRoseMul%
+}%
+
+\newcommand\DessineRoseMul{%
+ \ifluatex%
+ \mplibforcehmode%
+ \begin{mplibcode}
+ vardef ExtraireListe(expr nbmin,nbmax,nbfacteurs)=
+ numeric ElementE[],ElementS[];
+ %% éléments d'entrée
+ nbe=1;
+ for k=nbmin upto nbmax:
+ ElementE[nbe]=k;
+ nbe:=nbe+1;
+ endfor;
+ totalE=(nbmax-nbmin)+1;
+ numeric rec;
+ for k=1 upto nbfacteurs:
+ rec:=ceiling(uniformdeviate(totalE+1-k));
+ ElementS[k]=ElementE[rec];
+ numeric ElementI[];
+ p:=0;
+ for l=1 upto totalE+1-k:
+ if l<>rec:
+ p:=p+1;
+ ElementI[p]=ElementE[l];
+ fi;
+ endfor;
+ numeric ElementE[];
+ for l=1 upto p:
+ ElementE[l]=ElementI[l];
+ endfor;
+ endfor;
+ enddef;
+ pair A[],B[],O;
+ Rayon:=\useKV[ClesRose]{Rayon};
+ boolean Aide,Produits,Solution,Vide,ProduitVide,CaseVide,Polygone;
+ Aide:=\useKV[ClesRose]{Aide};
+ Vide:=\useKV[ClesRose]{Vide};
+ Solution:=\useKV[ClesRose]{Solution};
+ Produits:=\useKV[ClesRose]{Produits};
+ ProduitVide:=\useKV[ClesRose]{ProduitVide};
+ CaseVide:=\useKV[ClesRose]{CaseVide};
+ if ProduitVide:Solution:=true fi;
+ if CaseVide:Solution:=true fi;
+ Polygone:=\useKV[ClesRose]{Polygone};
+ Petales:=\useKV[ClesRose]{Petales};
+ FacteurMin:=\useKV[ClesRose]{FacteurMin};
+ FacteurMax:=\useKV[ClesRose]{FacteurMax};
+ color Fond;
+ Fond:=\useKV[ClesRose]{Couleur};
+ O=(0,0);
+ ExtraireListe(FacteurMin,FacteurMax,Petales);
+ path cc;
+ cc=cercles(O,Rayon);
+ for k=0 upto Petales:
+ A[k]=pointarc(cc,(360/Petales)*k);
+ endfor;
+ for k=0 upto Petales-1:
+ B[k]=iso(A[k],A[k+1]);
+ endfor;
+ path BoiteRec;
+ if Polygone:
+ BoiteRec=(pointarc(fullcircle,0) for k=1 upto Petales:--pointarc(fullcircle,k*(360/Petales)) endfor --cycle) scaled 1u;
+ else:
+ BoiteRec=((-0.4,-0.5)--(0.4,-0.5){dir0}..{dir90}(0.5,-0.4)--(0.5,0.4){dir90}..{dir180}(0.4,0.5)--(-0.4,0.5){dir180}..{dir-90}(-0.5,0.4)--(-0.5,-0.4){dir-90}..cycle) scaled 1u;
+ fi;
+ %On détermine les facteurs et produits
+ for k=0 upto Petales-1:
+ Facteur[k]=ElementS[k+1];
+ endfor;
+ Facteur[Petales]=Facteur[0];
+ for k=0 upto Petales-1:
+ Produit[k]=Facteur[k]*Facteur[k+1];
+ endfor;
+ %on labelise
+ if Vide=false:
+ if Produits:
+ else:
+ for k=0 upto Petales-1:
+ label(TEX("\num{"&decimal(Facteur[k])&"}"),(0.5[O,A[k]]-center BoiteRec));
+ endfor;
+ fi;
+ if Produits or Solution:
+ for k=0 upto Petales-1:
+ label(TEX("\num{"&decimal(Produit[k])&"}"),(B[k]+0.5*Rayon*unitvector(B[k])));
+ endfor;
+ fi;
+ fi;
+ % On trace et on affiche...éventuellement :)
+ if Aide:
+ for k=0 upto Petales-1:
+ drawarrow (0.5[O,A[k]]--1.75[O,B[k]]) cutbefore segment(A[k],A[k+1]) cutafter BoiteRec shifted (B[k]+0.5*Rayon*unitvector(B[k])) dashed evenly scaled 0.5;
+ drawarrow (0.5[O,A[k+1]]--1.75[O,B[k]]) cutbefore segment(A[k],A[k+1]) cutafter BoiteRec shifted (B[k]+0.5*Rayon*unitvector(B[k])) dashed evenly scaled 0.5;
+ endfor;
+ fi;
+ if ProduitVide:
+ choix=floor(uniformdeviate(Petales-1));
+ fill (BoiteRec shifted (1.75[O,B[choix]]-center BoiteRec)) withcolor Fond;
+ fill rotation(polygone(O,B0,A1,B1),O,(choix-1)*(360/Petales)) withcolor Fond;
+ fill rotation(polygone(O,B0,A1,B1),O,choix*(360/Petales)) withcolor Fond;
+ fi;
+ if CaseVide:
+ choix:=floor(uniformdeviate(Petales-1));
+ for k=0 upto Petales-1:
+ if k<>choix:
+ fill rotation(polygone(O,B0,A1,B1),O,k*(360/Petales)) withcolor Fond;
+ fi;
+ endfor;
+ fi;
+ trace A0 for k=1 upto Petales:--A[k] endfor --cycle;
+ for k=0 upto Petales-1:
+ trace segment(O,B[k]) dashed withdots scaled 0.25;
+ draw BoiteRec shifted (B[k]+0.5*Rayon*unitvector(B[k])) dashed evenly scaled 0.5;
+ endfor;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={Rayon:=\useKV[ClesRose]{Rayon};
+ boolean Aide,Produits,Solution,Vide,ProduitVide,CaseVide,Polygone;
+ Aide:=\useKV[ClesRose]{Aide};
+ Vide:=\useKV[ClesRose]{Vide};
+ Solution:=\useKV[ClesRose]{Solution};
+ Produits:=\useKV[ClesRose]{Produits};
+ ProduitVide:=\useKV[ClesRose]{ProduitVide};
+ CaseVide:=\useKV[ClesRose]{CaseVide};
+ if ProduitVide:Solution:=true fi;
+ if CaseVide:Solution:=true fi;
+ Polygone:=\useKV[ClesRose]{Polygone};
+ Petales:=\useKV[ClesRose]{Petales};
+ FacteurMin:=\useKV[ClesRose]{FacteurMin};
+ FacteurMax:=\useKV[ClesRose]{FacteurMax};
+ color Fond;
+ Fond:=\useKV[ClesRose]{Couleur};}]
+ vardef ExtraireListe(expr nbmin,nbmax,nbfacteurs)=
+ numeric ElementE[],ElementS[];
+ %% éléments d'entrée
+ nbe=1;
+ for k=nbmin upto nbmax:
+ ElementE[nbe]=k;
+ nbe:=nbe+1;
+ endfor;
+ totalE=(nbmax-nbmin)+1;
+ numeric rec;
+ for k=1 upto nbfacteurs:
+ rec:=ceiling(uniformdeviate(totalE+1-k));
+ ElementS[k]=ElementE[rec];
+ numeric ElementI[];
+ p:=0;
+ for l=1 upto totalE+1-k:
+ if l<>rec:
+ p:=p+1;
+ ElementI[p]=ElementE[l];
+ fi;
+ endfor;
+ numeric ElementE[];
+ for l=1 upto p:
+ ElementE[l]=ElementI[l];
+ endfor;
+ endfor;
+ enddef;
+ pair A[],B[],O;
+ O=(0,0);
+ ExtraireListe(FacteurMin,FacteurMax,Petales);
+ path cc;
+ cc=cercles(O,Rayon);
+ for k=0 upto Petales:
+ A[k]=pointarc(cc,(360/Petales)*k);
+ endfor;
+ for k=0 upto Petales-1:
+ B[k]=iso(A[k],A[k+1]);
+ endfor;
+ path BoiteRec;
+ if Polygone:
+ BoiteRec=(pointarc(fullcircle,0) for k=1 upto Petales:--pointarc(fullcircle,k*(360/Petales)) endfor --cycle) scaled 1u;
+ else:
+ BoiteRec=((-0.4,-0.5)--(0.4,-0.5){dir0}..{dir90}(0.5,-0.4)--(0.5,0.4){dir90}..{dir180}(0.4,0.5)--(-0.4,0.5){dir180}..{dir-90}(-0.5,0.4)--(-0.5,-0.4){dir-90}..cycle) scaled 1u;
+ fi;
+ %On détermine les facteurs et produits
+ for k=0 upto Petales-1:
+ Facteur[k]=ElementS[k+1];
+ endfor;
+ Facteur[Petales]=Facteur[0];
+ for k=0 upto Petales-1:
+ Produit[k]=Facteur[k]*Facteur[k+1];
+ endfor;
+ %on labelise
+ if Vide=false:
+ if Produits:
+ else:
+ for k=0 upto Petales-1:
+ label(TEX("\num{"&decimal(Facteur[k])&"}"),(0.5[O,A[k]]-center BoiteRec));
+ endfor;
+ fi;
+ if Produits or Solution:
+ for k=0 upto Petales-1:
+ label(TEX("\num{"&decimal(Produit[k])&"}"),(B[k]+0.5*Rayon*unitvector(B[k])));
+ endfor;
+ fi;
+ fi;
+ % On trace et on affiche...éventuellement :)
+ if Aide:
+ for k=0 upto Petales-1:
+ drawarrow (0.5[O,A[k]]--1.75[O,B[k]]) cutbefore segment(A[k],A[k+1]) cutafter BoiteRec shifted (B[k]+0.5*Rayon*unitvector(B[k])) dashed evenly scaled 0.5;
+ drawarrow (0.5[O,A[k+1]]--1.75[O,B[k]]) cutbefore segment(A[k],A[k+1]) cutafter BoiteRec shifted (B[k]+0.5*Rayon*unitvector(B[k])) dashed evenly scaled 0.5;
+ endfor;
+ fi;
+ if ProduitVide:
+ choix=floor(uniformdeviate(Petales-1));
+ fill (BoiteRec shifted (1.75[O,B[choix]]-center BoiteRec)) withcolor Fond;
+ fill rotation(polygone(O,B0,A1,B1),O,(choix-1)*(360/Petales)) withcolor Fond;
+ fill rotation(polygone(O,B0,A1,B1),O,choix*(360/Petales)) withcolor Fond;
+ fi;
+ if CaseVide:
+ choix:=floor(uniformdeviate(Petales-1));
+ for k=0 upto Petales-1:
+ if k<>choix:
+ fill rotation(polygone(O,B0,A1,B1),O,k*(360/Petales)) withcolor Fond;
+ fi;
+ endfor;
+ fi;
+ trace A0 for k=1 upto Petales:--A[k] endfor --cycle;
+ for k=0 upto Petales-1:
+ trace segment(O,B[k]) dashed withdots scaled 0.25;
+ draw BoiteRec shifted (B[k]+0.5*Rayon*unitvector(B[k])) dashed evenly scaled 0.5;
+ endfor;
+ \end{mpost}
+ \fi
+}%
+
+%%%
% Puissances 4
%%%
\setKVdefault[ClesPQuatre]{Couleur=Gray,Largeur=2cm,Multiplication,Entier,Nombre,Exposant=false}%
@@ -505,25 +1048,25 @@
}%
%%%
-% Billiard
+% Billard
%%%
-\setKVdefault[ClesBilliard]{Longueur=8cm,Largeur=5cm,Solution=false,Angle=70,Depart=0.5,Vrai=false}
+\setKVdefault[ClesBillard]{Longueur=8cm,Largeur=5cm,Solution=false,Angle=70,Depart=0.5,Vrai=false}
-\NewDocumentCommand\Billiard{o m}{%
- \useKVdefault[ClesBilliard]%
- \setKV[ClesBilliard]{#1}%
- \ifboolKV[ClesBilliard]{Solution}{%
- \MPBilliardSolution{#2}{\useKV[ClesBilliard]{Depart}}{\useKV[ClesBilliard]{Angle}}%
+\NewDocumentCommand\Billard{o m}{%
+ \useKVdefault[ClesBillard]%
+ \setKV[ClesBillard]{#1}%
+ \ifboolKV[ClesBillard]{Solution}{%
+ \MPBillardSolution{#2}{\useKV[ClesBillard]{Depart}}{\useKV[ClesBillard]{Angle}}%
}{%
- \MPBilliard{#2}{\useKV[ClesBilliard]{Depart}}{\useKV[ClesBilliard]{Angle}}%
+ \MPBillard{#2}{\useKV[ClesBillard]{Depart}}{\useKV[ClesBillard]{Angle}}%
}%
}%
-\def\MPBilliard#1#2#3{%
+\def\MPBillard#1#2#3{%
\mplibcodeinherit{disable}%
- \begin{Geometrie}[CoinHD={(\useKV[ClesBilliard]{Longueur}+2cm,\useKV[ClesBilliard]{Largeur}+3cm)}]
+ \begin{Geometrie}[CoinHD={(\useKV[ClesBillard]{Longueur}+2cm,\useKV[ClesBillard]{Largeur}+3cm)}]
boolean Vrai;
- Vrai:=\useKV[ClesBilliard]{Vrai};
+ Vrai:=\useKV[ClesBillard]{Vrai};
% On définit la liste des 25 lettres alphabétiques dans laquelle on choisit autant de lettres que la longueur du mot
% On a retiré la lettre Q pour des questions d'alignements esthétiques.
vardef ChoixLettre=
@@ -607,8 +1150,8 @@
% On définit le rectangle
pair M[],Co,Intermed;
M1=u*(1,2);
- M2-M1=(\useKV[ClesBilliard]{Longueur},0);
- M3-M2=(0,\useKV[ClesBilliard]{Largeur});
+ M2-M1=(\useKV[ClesBillard]{Longueur},0);
+ M3-M2=(0,\useKV[ClesBillard]{Largeur});
M4-M3=M1-M2;
Co=iso(M1,M3);
path rec,cote[];
@@ -719,10 +1262,10 @@
\end{Geometrie}%
}%
-\def\MPBilliardSolution#1#2#3{%
+\def\MPBillardSolution#1#2#3{%
\mplibcodeinherit{enable}%
\begin{mplibcode}%
- Figure(0,0,\useKV[ClesBilliard]{Longueur}+2cm,\useKV[ClesBilliard]{Largeur}+3cm);
+ Figure(0,0,\useKV[ClesBillard]{Longueur}+2cm,\useKV[ClesBillard]{Largeur}+3cm);
trace rec;
% Tracés
drawarrow Pt[1]--(Pt[1]+1.5cm*unitvector(Pt[2]-Pt[1])) withpen pencircle scaled 1.25;
@@ -2162,9 +2705,9 @@
draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur));
fi;
if nbfois>0:
- label(LATEX(t),iso((0,0),(u*abs(nbfois),Hauteur)));
+ label(LATEXProf(t),iso((0,0),(u*abs(nbfois),Hauteur)));
else:
- label.bot(LATEX(t),iso((0,0),(u*abs(nbfois),-Hauteur)));
+ label.bot(LATEXProf(t),iso((0,0),(u*abs(nbfois),-Hauteur)));
drawdblarrow (0,-0.5*Hauteur)--(u*abs(nbfois),-0.5*Hauteur);
fi;
u:=1cm;
@@ -4061,7 +4604,7 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
%%%
% Labyrinthe Nombre
%%%
-\setKVdefault[ClesLabyNombre]{Multiple=5,XDepart=0,YDepart=0,Longueur=7,Largeur=4,XArrivee=6,YArrivee=3,Solution=false,Echelle=1,Angle=0,Couleur=red,Murs=false}
+\setKVdefault[ClesLabyNombre]{Multiple=5,XDepart=0,YDepart=0,Longueur=7,Largeur=4,XArrivee=6,YArrivee=3,Solution=false,Echelle=1,Angle=0,Couleur=red,Murs=false,Nom=Ex1}
\newcommand\LabyNombre[1][]{%
\useKVdefault[ClesLabyNombre]%
@@ -4075,7 +4618,8 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\newcommand\TraceLabyNombre[6]{%
\mplibforcehmode%
- \begin{mplibcode}
+ \xdef\PfCNomLabyrinthe{\useKV[ClesLabyNombre]{Nom}}%
+ \begin{mplibcode}[\PfCNomLabyrinthe]
input PfCLabyNombre;
boolean Murs;
@@ -4157,7 +4701,117 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\newcommand\TraceSolution[6]{%
\mplibforcehmode%
- \mplibcodeinherit{enable}%\xintifboolexpr{#6==false}{\mplibcodeinherit{enable}}{}
+ % \mplibcodeinherit{enable}
+ \xdef\PfCNomLabyrinthe{\useKV[ClesLabyNombre]{Nom}}%
+ \begin{mplibcode}[\PfCNomLabyrinthe]
+ picture CorpsSolution;
+ CorpsSolution=image(
+ nbaffiche:=0;
+ for k=0 upto #3-1:
+ for l=0 upto #2-1:
+ nbaffiche:=nbaffiche+1;
+ label(TEX("\num{"&decimal(NbAffiche[nbaffiche])&"}"),M[k][l]);
+ endfor;
+ endfor;
+ remplis ((unitsquare scaled 10mm) shifted N[choixligneD][choixcolonneD]) withcolor \useKV[ClesLabyNombre]{Couleur};
+ remplis ((unitsquare scaled 10mm) shifted Arrivee) withcolor \useKV[ClesLabyNombre]{Couleur};
+ for k=2 upto indiceChemin-1:
+ remplis ((unitsquare scaled 10mm) shifted N[xpart(PileChemin[k])][ypart(PileChemin[k])]) withcolor 0.5white;
+ label(TEX("\num{"&decimal(NbSol[k])&"}"),M[xpart(PileChemin[k])][ypart(PileChemin[k])]);
+ endfor;
+ trace TraceLabyrinthe;
+ );
+ CorpsSolution:=(CorpsSolution scaled \useKV[ClesLabyNombre]{Echelle}) rotated \useKV[ClesLabyNombre]{Angle};
+ trace CorpsSolution;
+ \end{mplibcode}
+ %\mplibcodeinherit{disable}
+}%
+
+\newcommand\TraceLabyNombreold[6]{%
+ \mplibforcehmode%
+ \begin{mplibcode}
+ input PfCLabyNombre;
+
+ boolean Murs;
+ Murs=\useKV[ClesLabyNombre]{Murs};
+
+ numeric Multiple;
+ Multiple=#1;
+ % Initialisation du labyrinthe
+ InitialisationLabyrinthe(#2,#3);
+ % On initialise les paramètres du parcours
+ numeric choixligneD,choixligneA,choixcolonneD,choixcolonneA;
+ choixligneD=xpart(#4);
+ choixcolonneD=ypart(#4);
+ choixligneA=xpart(#5);
+ choixcolonneA=ypart(#5);%
+ pair Depart;
+ Depart=N[choixligneD][choixcolonneD];
+ pair Arrivee;
+ Arrivee=N[choixligneA][choixcolonneA];
+ pair Mobile;
+ Mobile=Depart;
+ RAZPileChemin;
+ % Exploration du labyrinthe
+ PushChemin((choixligneD,choixcolonneD));
+ CaseExploree[choixligneD][choixcolonneD]:=true;
+ VoisinDispo(choixligneD,choixcolonneD);
+ forever: exitif Mobile=Arrivee;%nb=0;
+ nb:=ceiling(uniformdeviate(nbvoisin));
+ if nb>0:
+ for k=1 upto nbvoisin:
+ CaseExploree[xpart(PileVoisin[k])][ypart(PileVoisin[k])]:=true;
+ endfor;
+ PushChemin((xpart(PileVoisin[nb]),ypart(PileVoisin[nb])));
+ Mobile:=N[xpart(PileChemin[indiceChemin])][ypart(PileChemin[indiceChemin])];
+ VoisinDispo(xpart(PileChemin[indiceChemin]),ypart(PileChemin[indiceChemin]));
+ else:
+ PopChemin;
+ fi;
+ endfor;
+ % Affichagefinal
+ % on sauvegarde les nombres aléatoires
+ numeric NbAffiche[];
+ numeric NbSol[];
+ % on écrit des nombres au hasard, mais sans être multiple du nombre choisi
+ numeric nbaffiche;
+ nbaffiche=0;
+ for k=0 upto LargeurLaby-1:
+ for l=0 upto LongueurLaby-1:
+ nbaffiche:=nbaffiche+1;
+ NbAffiche[nbaffiche]:=(50+ceiling(uniformdeviate(100)))*Multiple+ceiling(uniformdeviate(Multiple-1));
+ endfor;
+ endfor;
+ % On crée des multiples du nombre choisi
+ for k=2 upto indiceChemin-1:
+ NbSol[k]=(50+ceiling(uniformdeviate(100)))*Multiple;
+ endfor;
+ % On affiche
+ picture Corps;
+ Corps=image(
+ nbaffiche:=0;
+ for k=0 upto LargeurLaby-1:
+ for l=0 upto LongueurLaby-1:
+ nbaffiche:=nbaffiche+1;
+ label(TEX("\num{"&decimal(NbAffiche[nbaffiche])&"}"),M[k][l]);
+ endfor;
+ endfor;
+ remplis ((unitsquare scaled 10mm) shifted N[choixligneD][choixcolonneD]) withcolor \useKV[ClesLabyNombre]{Couleur};
+ remplis ((unitsquare scaled 10mm) shifted Arrivee) withcolor \useKV[ClesLabyNombre]{Couleur};
+ for k=2 upto indiceChemin-1:
+ remplis ((unitsquare scaled 10mm) shifted N[xpart(PileChemin[k])][ypart(PileChemin[k])]) withcolor white;
+ label(TEX("\num{"&decimal(NbSol[k])&"}"),M[xpart(PileChemin[k])][ypart(PileChemin[k])]);
+ endfor;
+ trace TraceLabyrinthe;
+ );
+ Corps:=(Corps scaled \useKV[ClesLabyNombre]{Echelle}) rotated \useKV[ClesLabyNombre]{Angle};
+ trace Corps;
+ \end{mplibcode}
+}
+
+\newcommand\TraceSolutionold[6]{%
+ \mplibforcehmode%
+ \mplibcodeinherit{enable}
\begin{mplibcode}
picture CorpsSolution;
CorpsSolution=image(
@@ -6039,20 +6693,18 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
toptitle=1mm,
bottomtitle=1mm,
bottom=1mm,
- title={Rapido n°\thetcbcounter\hfill Date :\hspace*{2.5cm}},
+ title={\useKV[ClesRapido]{Titre}},
%% Cadre principal
enhanced,
- %nobeforeafter,
width=\WidthRapido,
colback=white,
valign=top,
- drop lifted shadow%,
- %grow to left by=5mm
+ drop lifted shadow
}
\newtcolorbox{QuestionBox}{enhanced,nobeforeafter,size=small,sidebyside adapt=left}
\newtcolorbox{QuestionReponse}{enhanced,nobeforeafter,upperbox=invisible,colback=white,width=1.5cm,grow to left by=3mm,grow to right by=3mm,height=10mm}
-\setKVdefault[ClesRapido]{Debut=false,Largeur=0.9\linewidth}%
+\setKVdefault[ClesRapido]{Debut=false,Largeur=0.9\linewidth,Titre={Rapido n°\thetcbcounter\hfill Date :\hspace*{2.5cm}}}%
\defKV[ClesRapido]{Numero=\setKV[ClesRapido]{Debut=true}}
\newlength{\WidthRapido}
@@ -6069,32 +6721,32 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\setsepchar[*]{§*/}%
\readlist*\ListeRapido{#2}%
\begin{RapidoBox}
- \xintFor* ##1 in {\xintSeq {1}{\ListeRapidolen}}\do{%
- \tcbsidebyside[
- sidebyside adapt=right,
- bicolor,
- colback=white,colbacklower=yellow!10!white,
- nobeforeafter,
- top=0mm,left=1mm,
- grow to left by=3mm,
- grow to right by=3mm,
- bottom=0mm,
- ]{%
- \ListeRapido[##1,1]
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRapidolen}}\do{%
+ \tcbsidebyside[%
+ sidebyside adapt=right,
+ bicolor,
+ colback=white,colbacklower=yellow!10!white,
+ nobeforeafter,
+ top=0mm,left=1mm,
+ grow to left by=3mm,
+ grow to right by=3mm,
+ bottom=0mm
+ ]{%
+ \ListeRapido[##1,1]
}{%
\ListeRapido[##1,2]
}
-}
+ }%
\end{RapidoBox}
-}
+}%
\newcommand\BoiteRapido[1]{%
\ifx\bla#1\bla%
\tcbox[BoiteExpression]{\phantom{100000}}%
- \else
+ \else%
\tcbox[BoiteExpression]{#1}%
\fi
-}
+}%
%%%
% Fractions
@@ -7071,7 +7723,7 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
%%%
% R\'eponses \`a relier
%%%
-\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm}
+\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}
\newcommand\Relie[2][]{%
\useKVdefault[ClesRelie]%
@@ -7080,11 +7732,12 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\readlist*\ListeRelie{#2}%
\buildtabrelie%
\ifboolKV[ClesRelie]{Solution}{%
+ \colorlet{PfCRelieCouleurTrace}{\useKV[ClesRelie]{Couleur}}%
\xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
\itemtomacro\ListeRelie[##1,1]\untest
\ifx\bla\untest\bla%
\else
- \tikz[remember picture,overlay]{\draw (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
+ \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
\fi
}%
}{%
@@ -7276,17 +7929,17 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
%%%
\setKVdefault[ClesSommeAngle]{Detail=true,Isocele=false,Rectangle=false,Figure=false,FigureSeule=false,Angle=0,Perso=false,Echelle=1cm}%
-\def\MPFigureSommeAngle#1#2#3#4#5{
+\def\MPFigureSommeAngle#1#2#3#4#5{%
% #1 Premier sommet
% #2 Deuxi\`eme sommet
% #3 Troisi\`eme sommet
% #4 1er angle
% #5 2eme angle
\ifluatex
- \mplibcodeinherit{enable}
+ %\mplibcodeinherit{enable}
\mplibforcehmode
\begin{mplibcode}
- pair A,B,C,O,I;%
+ pair A,B,C,O,I;%
u:=\useKV[ClesSommeAngle]{Echelle};
Angle:=\useKV[ClesSommeAngle]{Angle};
boolean Rectangle,Isocele;
@@ -7387,7 +8040,7 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
label(btex ? etex,A+0.95u*unitvector(I-A));
fi;
\end{mplibcode}
- \mplibcodeinherit{disable}
+ %\mplibcodeinherit{disable}
\else
\begin{mpost}[mpsettings={u:=\useKV[ClesSommeAngle]{Echelle};boolean Rectangle,Isocele;
Rectangle=\useKV[ClesSommeAngle]{Rectangle};Isocele=\useKV[ClesSommeAngle]{Isocele};Angle:=\useKV[ClesSommeAngle]{Angle};}]
@@ -9291,7 +9944,7 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\end{mplibcode}
\else
\begin{mpost}[mpsettings={numeric decalage;decalage=\useKV[ClesNombrePremier]{Decalage}*1mm;color CouleurTronc,CouleurFeuillage,CouleurFruits,CouleurTexte;CouleurTronc=\useKV[ClesNombrePremier]{CouleurTronc};CouleurFeuillage=\useKV[ClesNombrePremier]{CouleurFeuillage};CouleurFruits=\useKV[ClesNombrePremier]{CouleurFruits}; CouleurTexte=\useKV[ClesNombrePremier]{CouleurTexte}; boolean Vide; Vide=\useKV[ClesNombrePremier]{Vide};}]
- input PfCArithmetique;
+ input PfCArithmetiquePDF;
numeric depart;
pair Ancre[];
rayonfruits:=3mm;
@@ -11921,9 +12574,9 @@ Tableau=false,Stretch=1,Frequence=false,EffectifTotal=false,%
Etendue=false,Moyenne=false,SET=false,ValeurExacte=false,Mediane=false,QuartileUn=false,QuartileTrois=false,Total=false,Concret=false,%
Unite={},Largeur=1cm,Precision=2,PrecisionF=0,Donnee=Valeurs,Effectif=Effectif,Grille=false,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,TableauVide=false,ECC=false,Coupure=10,CouleurTab=gray!15,Graphique=false,Batons=true,%
% Pour les diags batons
-EpaisseurBatons=1,ListeCouleursB={black},Lecture=false,LectureFine=false,AideLecture=false,Reponses=false,DonneesSup=false,AbscisseRotation=false,Tiret=false,AngleRotationAbscisse=0,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Depart=0,%
+EpaisseurBatons=1,ListeCouleursB={a},Lecture=false,LectureFine=false,AideLecture=false,Reponses=false,DonneesSup=false,AbscisseRotation=false,Tiret=false,AngleRotationAbscisse=0,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Depart=0,CouleurDefaut=black,%
% Pour les diags circulaires
-Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,%
+Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,ACompleter=false,%
%Pour les représentations
Representation=false,%
%Pour les barres horizontales
@@ -12056,7 +12709,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleurs}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \[\NewMPDiagBarreHor{\the\toklistenomhor}{\the\toklistedonhor}{\the\toklisteaffhor}{\the\toklistecouleur}\]%
+ \NewMPDiagBarreHor{\the\toklistenomhor}{\the\toklistedonhor}{\the\toklisteaffhor}{\the\toklistecouleur}%
}%
% Pour construire le diagramme en bâtons
@@ -12068,7 +12721,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleursB}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \[\MPStatNew{\the\toklistepoint}{\the\toklistecouleur}\]%
+ \MPStatNew{\the\toklistepoint}{\the\toklistecouleur}%
}%
% Pour construire le diagramme en bâtons qualitatif
@@ -12080,7 +12733,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xdef\ListeAvantCouleurs{\useKV[ClesStat]{ListeCouleursB}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- \[\MPStatNew{\the\toklistepointq}{\the\toklistecouleur}\]%
+ \MPStatNew{\the\toklistepointq}{\the\toklistecouleur}%
}%
\def\UpdateCoul#1\nil{\addtotok\toklistecouleur{#1,}}%
@@ -12274,8 +12927,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
boolean LegendeVide;
LegendeVide=\useKV[ClesStat]{LegendeVide};
- }]
- vardef CalculNombreDonneesEtDonneeMax(text t)=
+ }]
+ vardef CalculNombreDonneesEtDonneeMax(text t)=
nbdon:=0;%nombre de données
DonneeMax:=0;%donnée DonneeMaximale
for p_=t:
@@ -12318,15 +12971,15 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
fi;
if ExposantDivMax=0:
for k=1 upto (DonneeMax+1):
- label.bot(TEX("\num{"&decimal(k)&"}"),Zz0+k*(Zz1-Zz0));
+ label.bot(LATEX("\num{"&decimal(k)&"}"),Zz0+k*(Zz1-Zz0));
endfor;
else:
if ExposantDivMax<5:
for k=1 upto (floor(DonneeMax*10+2)):
- label.bot(TEX("\num{\noexpand\fpeval{"&decimal(k)&"*(10**"&decimal(ExposantDivMax-1)&")}}"),Zz0+(k/10)*(Zz1-Zz0));
+ label.bot(LATEX("\num{\noexpand\fpeval{"&decimal(k)&"*(10**"&decimal(ExposantDivMax-1)&")}}"),Zz0+(k/10)*(Zz1-Zz0));
endfor;
else:
- dotlabel.bot(TEX("\num{\noexpand\fpeval{10**"&decimal(ExposantDivMax)&"}}"),Zz1);
+ dotlabel.bot(LATEX("\num{\noexpand\fpeval{10**"&decimal(ExposantDivMax)&"}}"),Zz1);
fi;
fi;
fi;
@@ -12351,14 +13004,14 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
vardef AffichageNom(text t)=
k:=0;
for p_=t:
- label.lft(TEX(p_),0.5[(0,0),(0,Hauteur)] shifted (0,-k*(Hauteur+Ecart)));
+ label.lft(LATEX(p_),0.5[(0,0),(0,Hauteur)] shifted (0,-k*(Hauteur+Ecart)));
k:=k+1;
endfor;
enddef;
vardef AffichageDonnees(text t)=
k:=0;
for p_=t:
- label.rt(TEX("\num{"&p_&"}"),0.5[(0,0),(0,Hauteur)] shifted (((Donnees[k+1]/DonneeMax)*Longueur),-k*(Hauteur+Ecart)));
+ label.rt(LATEX("\num{"&p_&"}"),0.5[(0,0),(0,Hauteur)] shifted (((Donnees[k+1]/DonneeMax)*Longueur),-k*(Hauteur+Ecart)));
k:=k+1;
endfor;
enddef;
@@ -12404,7 +13057,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
Qualitatif=\useKV[ClesStat]{Qualitatif};
boolean Tiret;
Tiret=\useKV[ClesStat]{Tiret};
- %% ajout
+ color CoulDefaut;
+ CoulDefaut=\useKV[ClesStat]{CouleurDefaut};
Depart=\useKV[ClesStat]{Depart};
% on r\'ecup\`ere les couleurs
color Col[];
@@ -12414,7 +13068,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if color p_:
Col[n]=p_;
else:
- Col[n]=black;
+ Col[n]=CoulDefaut;
fi;
endfor;
%
@@ -12475,6 +13129,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
fi;
fi;
fi;
+ fi;
endfor;
enddef;
vardef titi(text t)=%affichage qualitatif
@@ -12526,12 +13181,14 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
endfor;
drawoptions();
fi;
+ if epaisseurbatons<>0:
for k=1 upto n:
- fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: black else:Col[k] fi;
+ fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: CoulDefaut else:Col[k] fi;
if AideLecture:
draw B[k]--P[k] dashed evenly;
fi;
endfor;
+ fi;
if LectureFine:
for k=0 step Pasy until ((maxy+1*Pasy)):
if Tiret:
@@ -12580,8 +13237,13 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
boolean Qualitatif;
Qualitatif=\useKV[ClesStat]{Qualitatif};
boolean Tiret;
- Tiret=\useKV[ClesStat]{Tiret};}
+ Tiret=\useKV[ClesStat]{Tiret};
+ color CoulDefaut;
+ CoulDefaut=\useKV[ClesStat]{CouleurDefaut};}
+ Depart=\useKV[ClesStat]{Depart};
]
+ maxx:=0;
+ maxy:=0;
% on r\'ecup\`ere les couleurs
color Col[];
n:=0;
@@ -12590,7 +13252,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if color p_:
Col[n]=p_;
else:
- Col[n]=black;
+ Col[n]=CoulDefaut;
fi;
endfor;
%
@@ -12618,19 +13280,20 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if pair p_:
l:=l+1;
if Rotation:
- label.bot(TEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
+ label.bot(LATEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
else :
- label.bot(TEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
+ label.bot(LATEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
fi;
if Reponses:
if DonneesSup:
- label.top(TEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
+ label.top(LATEX("\num{"&decimal(ypart(p_))&"}"),P[l]);
else:
if Tiret:
trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
+ label.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
else:
- dotlabel.lft(TEX("\num{"&decimal(ypart(p_))&"}"),B[l]);
+ dotlabel.lft(LATEX("\num{"&decimal(ypart(p_))&"}"),B[l]);
+ fi;
fi;
fi;
fi;
@@ -12658,13 +13321,13 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if numeric p_:
if Reponses:
if DonneesSup:
- label.top(TEX("\num{"&decimal(p_)&"}"),P[l]);
+ label.top(LATEX("\num{"&decimal(p_)&"}"),P[l]);
else:
if Tiret:
trace (B[l]+(-1pt,0))--(B[l]+(1pt,0));
- label.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
+ label.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
else:
- dotlabel.lft(TEX("\num{"&decimal(p_)&"}"),B[l]);
+ dotlabel.lft(LATEX("\num{"&decimal(p_)&"}"),B[l]);
fi;
fi;
fi;
@@ -12675,12 +13338,12 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
picture TEXTELABEL;
TEXTELABEL=image(
labeloffset:=labeloffset*2;
- label.lft(TEX(p_),A[l]);
+ label.lft(LATEX(p_),A[l]);
labeloffset:=labeloffset/2;
);
trace rotation(TEXTELABEL,A[l],AngleRotation);
else :
- label.bot(TEX(p_),A[l]);
+ label.bot(LATEX(p_),A[l]);
fi;
fi;
fi;
@@ -12701,19 +13364,21 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
endfor;
drawoptions();
fi;
+ if epaisseurbatons<>0:
for k=1 upto n:
- fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: black else:Col[k] fi;
+ fill polygone(A[k]-(epaisseurbatons*1pt,0),A[k]+(epaisseurbatons*1pt,0),P[k]+(epaisseurbatons*1pt,0),P[k]-(epaisseurbatons*1pt,0)) withcolor if unknown Col[k]: CoulDefaut else:Col[k] fi;
if AideLecture:
draw B[k]--P[k] dashed evenly;
fi;
endfor;
+ fi;
if LectureFine:
for k=0 step Pasy until ((maxy+1*Pasy)):
if Tiret:
trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
+ label.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
else:
- dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
+ dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
fi;
endfor;
fi;
@@ -12721,9 +13386,9 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
for k=0 step Pasy until Pasy:
if Tiret:
trace (1pt,k*unitey)--(-1pt,k*unitey);
- label.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
+ label.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
else:
- dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(0,k*unitey));
+ dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(0,k*unitey));
fi;
endfor;
fi;
@@ -12762,6 +13427,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
LegendeVide=\useKV[ClesStat]{LegendeVide};
boolean Retour;
Retour=false;
+ boolean ACompleter;
+ ACompleter=\useKV[ClesStat]{ACompleter};
pair A[],O,B[],C[],D[];
O=(0,0);
n:=0;
@@ -12814,7 +13481,9 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
(n mod 2)=0: +90 else: -90 fi,ecarthachures,if (n mod 2)=0 : 0 else: 1 fi)
withpen pencircle scaled epaisseurhachures if AffichageAngle: withcolor 0.5white fi;
fi;
+ if ACompleter=false:
draw A[n-1]--O--A[n] if Hachures: withpen pencircle scaled2 fi;
+ fi;
% Affichage des angles associ\'es
if AffichageAngle:
if round(p_*(#2/total[N]))>15:
@@ -12927,21 +13596,23 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\end{mplibcode}
\else
\begin{mpost}[mpsettings={%
- Rayon:=\useKV[ClesStat]{Rayon};
- ecarthachures=\useKV[ClesStat]{EcartHachures};
- epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
- boolean AffichageAngle;
- AffichageAngle=\useKV[ClesStat]{AffichageAngle};
- boolean AffichageDonnee;
- AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
- boolean Hachures;
- Hachures=\useKV[ClesStat]{Hachures};
- boolean Inverse;
- Inverse=\useKV[ClesStat]{LectureInverse};
- boolean Legende;
- Legende=\useKV[ClesStat]{Legende};
- boolean LegendeVide;
- LegendeVide=\useKV[ClesStat]{LegendeVide};
+ Rayon:=\useKV[ClesStat]{Rayon};
+ ecarthachures=\useKV[ClesStat]{EcartHachures};
+ epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures};
+ boolean AffichageAngle;
+ AffichageAngle=\useKV[ClesStat]{AffichageAngle};
+ boolean AffichageDonnee;
+ AffichageDonnee=\useKV[ClesStat]{AffichageDonnee};
+ boolean Hachures;
+ Hachures=\useKV[ClesStat]{Hachures};
+ boolean Inverse;
+ Inverse=\useKV[ClesStat]{LectureInverse};
+ boolean Legende;
+ Legende=\useKV[ClesStat]{Legende};
+ boolean LegendeVide;
+ LegendeVide=\useKV[ClesStat]{LegendeVide};
+ boolean ACompleter;
+ ACompleter=\useKV[ClesStat]{ACompleter};
}]
boolean Retour;
Retour=false;
@@ -12997,7 +13668,9 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
(n mod 2)=0: +90 else: -90 fi,ecarthachures,if (n mod 2)=0 : 0 else: 1 fi)
withpen pencircle scaled epaisseurhachures if AffichageAngle: withcolor 0.5white fi;
fi;
+ if ACompleter=false:
draw A[n-1]--O--A[n] if Hachures: withpen pencircle scaled2 fi;
+ fi;
% Affichage des angles associ\'es
if AffichageAngle:
if round(p_*(#2/total[N]))>15:
@@ -14490,6 +15163,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\end{mplibcode}
\else
\mpxcommands{%
+ \usepackage{ProfCollege}
\setKVdefault[ClesRatio]{TexteTotal=quantit\'e,TextePart=part}
\setKV[ClesRatio]{#1}
}
@@ -14545,16 +15219,14 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
labeloffset:=labeloffset*3;
label.top(\btex \useKV[ClesRatio]{TexteTotal} etex,iso(D,C));
if #3>1:
- label.bot(btex #3\unexpanded{~\useKV[ClesRatio]{TextePart}}s
- etex,iso(A,(N[1]/somme)[A,B]));
+ label.bot(btex #3\unexpanded{~\useKV[ClesRatio]{TextePart}}s etex,iso(A,(N[1]/somme)[A,B]));
else:
label.bot(btex #3\unexpanded{~\useKV[ClesRatio]{TextePart}} etex,iso(A,(N[1]/somme)[A,B]));
fi;
if #4>1:
label.bot(btex #4\unexpanded{~\useKV[ClesRatio]{TextePart}}s etex,iso(((N[1]+N[2])/somme)[A,B],(N[1]/somme)[A,B]));
else:
- label.bot(btex #4\unexpanded{~\useKV[ClesRatio]{TextePart}}
- etex,iso(((N[1]+N[2])/somme)[A,B],(N[1]/somme)[A,B]));
+ label.bot(btex #4\unexpanded{~\useKV[ClesRatio]{TextePart}} etex,iso(((N[1]+N[2])/somme)[A,B],(N[1]/somme)[A,B]));
fi;
if n>2:
if #5>1:
@@ -14565,7 +15237,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
fi;
\end{mpost}
\fi
-}
+}%
\newcommand\MPTestCours[9][]{%
% #2 : Longueur de la barre unit\'e
@@ -16025,6 +16697,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\end{mplibcode}
\else
\mpxcommands{%
+ \usepackage{ProfCollege}
\setKV[TraceG]{#1}
}
\begin{mpost}[mpsettings={xmin=\useKV[TraceG]{Xmin};xmax=\useKV[TraceG]{Xmax};ymin=\useKV[TraceG]{Ymin};ymax=\useKV[TraceG]{Ymax};pasx=\useKV[TraceG]{Xstep};pasy=\useKV[TraceG]{Ystep};xu=1cm/\useKV[TraceG]{Xstep};yu=1cm/\useKV[TraceG]{Ystep};grillex=\useKV[TraceG]{PasGrilleX};grilley=\useKV[TraceG]{PasGrilleY};pos=\useKV[TraceG]{LabelC};color colorpoint,colortrace;colorpoint=\useKV[TraceG]{CouleurPoint};colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille;Grille=\useKV[TraceG]{Grille};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};boolean Relie;Relie=\useKV[TraceG]{Relie};boolean RelieSegment;RelieSegment=\useKV[TraceG]{RelieSegment};boolean Invisible;Invisible=\useKV[TraceG]{Invisible};}]
@@ -16215,7 +16888,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
label.top(btex \useKV[TraceG]{LabelY} etex,u*(xpart(Origine),ymax));
\end{mplibcode}
\else
- \mpxcommands{%
+ \mpxcommands{%
+ \usepackage{ProfCollege}
\setKV[TraceG]{#1}
}
\begin{mpost}[mpsettings={borneinf=\useKV[TraceG]{Bornea};bornesup=\useKV[TraceG]{Borneb};xmin=\useKV[TraceG]{Xmin};xmax=\useKV[TraceG]{Xmax};ymin=\useKV[TraceG]{Ymin};ymax=\useKV[TraceG]{Ymax};pasx=\useKV[TraceG]{Xstep};pasy=\useKV[TraceG]{Ystep};xu=1cm/\useKV[TraceG]{Xstep};yu=1cm/\useKV[TraceG]{Ystep};grillex=\useKV[TraceG]{PasGrilleX};grilley=\useKV[TraceG]{PasGrilleY};pos=\useKV[TraceG]{LabelC};color colortrace;colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille;Grille=\useKV[TraceG]{Grille};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};}]
@@ -17337,6 +18011,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\setKVdefault[ClesProba]{Echelle=false,Arbre=false,Branche=2,Angle=60,Rayon=0.25,LongueurEchelle=5,Affichage=0,Grille=1,Incline}
\def\Updatetoksproba#1/#2\nil{\addtotok\toklistepointproba{"#1","\footnotesize #2",}}
+\def\Updatetoksprobapdf#1/#2\nil{\addtotok\toklistepointproba{"#1","\noexpand\footnotesize #2",}}
\def\Updatetoksprobaechelle#1/#2/#3\nil{\addtotok\toklistepointproba{#1,#2,"#3",}}
\newtoks\toklistepointproba
@@ -17344,9 +18019,13 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
% Pour construire l'arbre de probabilit\'e
\def\buildarbreproba{%
\toklistepointproba{}%
+ \ifluatex
\foreachitem\compteur\in\ListeProba{\expandafter\Updatetoksproba\compteur\nil}%
+ \else
+ \foreachitem\compteur\in\ListeProba{\expandafter\Updatetoksprobapdf\compteur\nil}%
+ \fi
\MPArbreProba{\useKV[ClesProba]{Branche}}{\useKV[ClesProba]{Angle}}{\the\toklistepointproba}{\useKV[ClesProba]{Rayon}}%
-}
+}%
% Pour construire l'\'echelle de probabilit\'e
\def\buildechelleproba{%
@@ -17363,7 +18042,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\ifluatex
\begin{mplibcode}
pair A,B,C[],D[];%les noeuds de l'arbre
- Figure(-10u,-10u,10u,10u);
+ %Figure(-10u,-10u,10u,10u);
A=u*(1,1);
B-A=u*(#1,0);
draw segment(A,B);
@@ -17490,7 +18169,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
boolean Incline;
Incline=\useKV[ClesProba]{Incline};
pair A[],B[];%les noeuds de l'arbre
- Figure(-10u,-10u,10u,10u);
A0=u*(1,1);
B0-A0=u*(#1,0);
A1=rotation(B0,A0,#2/2);
@@ -17543,9 +18221,10 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
toto(#3);
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={input PfCGeometrie; boolean Incline; Incline=\useKV[ClesProba]{Incline};}]
+ \begin{mpost}[mpsettings={%input PfCGeometrie;
+ boolean Incline; Incline=\useKV[ClesProba]{Incline};}]
pair A[],B[];%les noeuds de l'arbre
- Figure(-10u,-10u,10u,10u);
+ %Figure(-10u,-10u,10u,10u);
A0=u*(1,1);
B0-A0=u*(#1,0);
A1=rotation(B0,A0,#2/2);
@@ -17605,19 +18284,20 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\setKV[ClesProba]{#1}%
% On liste les diff\'erents \'el\'ements sous la forme Ev\`enement/proba
\setsepchar[*]{,*/}\ignoreemptyitems%
- \readlist*\ListeProba{#2}
+ \readlist*\ListeProba{#2}%
\ifboolKV[ClesProba]{Echelle}{%
\buildechelleproba%
}{\ifboolKV[ClesProba]{Arbre}{%
\buildarbreproba%
- }{}
- }
-}
+ }{}%
+ }%
+ \setsepchar{,}%
+}%
%%%
% Reperage
%%%
-\setKVdefault[ClesReperage]{Unitex=1,Pasx=1,Unitey=1,Pasy=1,Unitez=1,Pasz=1,DemiDroite=false,Droite=false,Plan=false,Trace=false,ListeSegment={},Espace=false,Sphere=false,AnglePhi=30,CouleurLa=white,CouleurLon=Tomato,AffichageNom=false,AffichageGrad=false,AffichageAbs=0,AffichageCoord=false,LectureCoord=false,ValeurUnitex=1,ValeurUnitey=1,ValeurOrigine=0,NomOrigine=O,EchelleEspace=50,CouleurCoord=black,Thermometre=false,Mercure=false,ValeurMin=-4000,ValeurMax=4000,Etages=4}
+\setKVdefault[ClesReperage]{Unitex=1,Pasx=1,Unitey=1,Pasy=1,Unitez=1,Pasz=1,DemiDroite=false,Droite=false,Plan=false,Trace=false,ListeSegment={},Espace=false,Sphere=false,AnglePhi=30,CouleurLa=white,CouleurLon=Tomato,AffichageNom=false,AffichageGrad=false,AffichageAbs=0,AffichageCoord=false,LectureCoord=false,ValeurUnitex=1,ValeurUnitey=1,ValeurOrigine=0,NomOrigine=O,EchelleEspace=50,CouleurCoord=black,Thermometre=false,Mercure=false,CouleurMercure=black,ValeurMin=-4000,ValeurMax=4000,Etages=4}
% ValeurOrigine permet de faire des morceaux de demi-droite gradu\'ee en passant par droite :)
\def\Updatetoksdroite#1/#2\nil{\addtotok\toklistepointdroite{#1,"#2",}}
@@ -17809,16 +18489,16 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
picture CodageUn,CodageDeux;
CodageUn=image(
if k>0:
- label.bot(LATEX("\noexpand\scriptsize\ang{"&decimal(k)&"} E"),(0,0));
+ label.bot(LATEX("\noexpand\scriptsize\noexpand\ang{"&decimal(k)&"} E"),(0,0));
else:
- label.bot(LATEX("\noexpand\scriptsize\ang{"&decimal(abs(k))&"} O"),(0,0));
+ label.bot(LATEX("\noexpand\scriptsize\noexpand\ang{"&decimal(abs(k))&"} O"),(0,0));
fi;
);
CodageDeux=image(
if k>0:
- label.rt(LATEX("\noexpand\scriptsize\ang{"&decimal(l)&"} N"),(0,0));
+ label.rt(LATEX("\noexpand\scriptsize\noexpand\ang{"&decimal(l)&"} N"),(0,0));
else:
- label.lft(LATEX("\noexpand\scriptsize\ang{"&decimal(abs(l))&"} S"),(0,0));
+ label.lft(LATEX("\noexpand\scriptsize\noexpand\ang{"&decimal(abs(l))&"} S"),(0,0));
fi;
);
fill (polygone(llcorner CodageUn,lrcorner CodageUn,urcorner CodageUn,ulcorner CodageUn) shifted(point(0.5*length Codageun) of Codageun)) withcolor blanc;
@@ -17840,7 +18520,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
endfor;
enddef;
toto(#1);
- label.llft(btex \noexpand\tiny \ang{0} etex,Projette(C));
+ label.llft(LATEX("\noexpand\tiny\noexpand\ang{0}"),Projette(C));
\end{mpost}
\fi
}
@@ -19313,6 +19993,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
AffichageGrad:=\AffichageGrad;
AffichageCoord:=\useKV[ClesReperage]{AffichageAbs};
AffichageNom:=\AffichageNom;
+ color ColMercure;
+ ColMercure:=\useKV[ClesReperage]{CouleurMercure};
boolean Mercure;
Mercure=\useKV[ClesReperage]{Mercure};
numeric valeur[];
@@ -19390,17 +20072,18 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
cc1=cercles(Tc[0],2.5mm);
Tc1=pointarc(cc1,75);
Tc4=pointarc(cc1,105);
- trace arccercle(Tc4,Tc1,Tc0);
Tc2=(xpart(Tc1),ypart(B+unitp*(0,0.75)));
Tc3=(xpart(Tc4),ypart(B+unitp*(0,0.75)));
- trace Tc1--Tc2--arccercle(Tc2,Tc3,iso(Tc2,Tc3))--Tc4;
Tc5=(xpart(Tc1),ypart(unitp*(0,valeur[1])));
Tc6=(xpart(Tc4),ypart(unitp*(0,valeur[1])));
path temp;
temp=Tc1--Tc5--Tc6--Tc4--arccercle(Tc4,Tc1,Tc0)--cycle;
if nbt>0:
- fill temp;
+ fill temp withcolor ColMercure;
fi;
+ trace Tc5--Tc6;
+ trace arccercle(Tc4,Tc1,Tc0);
+ trace Tc1--Tc2--arccercle(Tc2,Tc3,iso(Tc2,Tc3))--Tc4;
enddef;
if Mercure:Thermo(1) else : Thermo(0) fi;
@@ -19463,6 +20146,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
AffichageGrad:=\AffichageGrad;
AffichageCoord:=\useKV[ClesReperage]{AffichageAbs};
AffichageNom:=\AffichageNom;
+ color ColMercure;
+ ColMercure:=\useKV[ClesReperage]{CouleurMercure};
boolean Mercure;
Mercure=\useKV[ClesReperage]{Mercure};}]
maxx:=0;
@@ -19525,12 +20210,12 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
m_c:=m_c*3;
marque_p:="croix";
labeloffset:=labeloffset*2;
- label.lft(TEX("\footnotesize\Temp{"&decimal(ValeurUnitex)&"}"),unitex*(0,1));
- label.lft(TEX("\footnotesize\Temp{"&decimal(ValeurOrigine)&"}"),A);
+ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{"&decimal(ValeurUnitex)&"}{\celsius}"),unitex*(0,1));
+ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{"&decimal(ValeurOrigine)&"}{\celsius}"),A);
if AffichageGrad>0:
for k=((minx+(minx mod pasx)) div pasx) upto (maxx div pasx):
if (k<0) or (k>1):
- label.lft(TEX("\footnotesize\Temp{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-ValeurOrigine)&"*"&decimal(k)&"}}"),unitex*(0,k));%%%
+ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-ValeurOrigine)&"*"&decimal(k)&"}}{\celsius}"),unitex*(0,k));%%%
fi;
endfor;
fi;
@@ -19542,10 +20227,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
cc1=cercles(Tc[0],2.5mm);
Tc1=pointarc(cc1,75);
Tc4=pointarc(cc1,105);
- trace arccercle(Tc4,Tc1,Tc0);
Tc2=(xpart(Tc1),ypart(B+unitp*(0,0.75)));
Tc3=(xpart(Tc4),ypart(B+unitp*(0,0.75)));
- trace Tc1--Tc2--arccercle(Tc2,Tc3,iso(Tc2,Tc3))--Tc4;
Tc5=(xpart(Tc1),ypart(unitp*(0,valeur[1])));
Tc6=(xpart(Tc4),ypart(unitp*(0,valeur[1])));
path temp;
@@ -19553,6 +20236,9 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
if nbt>0:
fill temp;
fi;
+ trace arccercle(Tc4,Tc1,Tc0);
+ trace Tc1--Tc2--arccercle(Tc2,Tc3,iso(Tc2,Tc3))--Tc4;
+ trace Tc5--Tc6;
enddef;
if Mercure:Thermo(1) else : Thermo(0) fi;
@@ -19562,7 +20248,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
n:=0;
for p_=t:
n:=n+1;
- label.rt(TEX(p_),unitp*(0,valeur[n]));
+ label.rt(LATEX(p_),unitp*(0,valeur[n]));
if p_<>"":
pointe(unitp*(0,valeur[n]));
fi;
@@ -19574,7 +20260,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
n:=n+1;
if p_<>"":
drawarrow (unitp*(-1,valeur[n]))--(unitp*(-0.3,valeur[n]));
- label.rt(btex \hbox to2em{\dotfill} etex,(unitp*(-1,valeur[n])));
+ label.rt(\btex \hbox to2em{\dotfill} etex,(unitp*(-1,valeur[n])));
pointe(unitp*(0,valeur[n]-ValeurOrigine));
fi;
endfor;
@@ -19584,9 +20270,9 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
n:=n+1;
if p_<>"":
if ((ValeurUnitex*valeur[n]) mod pasx)<>0:
- label.rt(TEX("\footnotesize$\frac{\num{\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"}}}{\num{"&decimal(pasx)&"}}$"),unitp*(0,valeur[n]));
+ label.rt(LATEX("\noexpand\footnotesize$\noexpand\frac{\noexpand\num{\noexpand\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"}}}{\num{"&decimal(pasx)&"}}$"),unitp*(0,valeur[n]));
else:
- label.rt(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(0,valeur[n]));
+ label.rt(LATEX("\noexpand\footnotesize\noexpand\num{\noexpand\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(0,valeur[n]));
fi;
pointe(unitp*(0,valeur[n]-ValeurOrigine));
fi;
@@ -19596,7 +20282,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
for p_=t:
n:=n+1;
if p_<>"":
- label.rt(TEX("\footnotesize\Temp{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),(5mm,unitp*valeur[n]));
+ label.rt(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}{\celsius}"),(5mm,unitp*valeur[n]));
pointe(unitp*(0,valeur[n]));
draw (unitp*(0,valeur[n]))--(7.5mm,unitp*valeur[n]) dashed evenly;
fi;
@@ -20096,7 +20782,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
%%%
% Tableaux d'unit\'es
%%%
-\setKVdefault[ClesTableaux]{Virgule=true,Incline=false,Entiers=false,Decimaux=false,Milliards=false,Millions=false,Micro=false,Nano=false,Partie=false,CouleurG=gray!15,CouleurM=gray!15,Couleurm=gray!15,Couleuru=gray!15,Couleurd=gray!15,Classes=false,Nombres=false,Puissances=false,NbLignes=2,Metre=false,Are=false,Capacite=false,Carre=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false,Escalier=false,Taille=5,Largeur=4.75em}
+\setKVdefault[ClesTableaux]{Virgule=true,Incline=false,Entiers=false,Decimaux=false,Milliards=false,Millions=false,Micro=false,Nano=false,Partie=false,CouleurG=gray!15,CouleurM=gray!15,Couleurm=gray!15,Couleuru=gray!15,Couleurd=gray!15,Classes=false,Nombres=false,Puissances=false,NbLignes=2,Metre=false,Are=false,Capacite=false,Carre=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false,Escalier=false,Taille=5,Largeur=4.75em,Nom=PfCTableau,CodeAfter={}}
\newcommand\PfCTBstrut{\rule[-1.2ex]{0pt}{3.8ex}} % Top and Bottom strut
\newcommand\PfCTstrut{\rule{0pt}{3.8ex}} % Top strut
@@ -20123,7 +20809,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xdef\PfCCoefConversion{10}%
}{}%
\PfCTableauIncline%
- }{%
+ }{%
%
%%% Cl\'e Prefixes
%
@@ -20368,50 +21054,51 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xdef\TailleFonte{\useKV[ClesTableaux]{Taille}}%
\setlength{\tabcolsep}{0.01\tabcolsep}%
\begin{center}%
- %
+ %
%%% Definition du tableau
- %
+ %
\ifboolKV[ClesTableaux]{Milliards}{\xdef\PfCDerniereColonne{13}}{\ifboolKV[ClesTableaux]{Millions}{\xdef\PfCDerniereColonne{10}}{\xdef\PfCDerniereColonne{7}}}%
- \begin{NiceTabular}{*{%
- \ifboolKV[ClesTableaux]{Milliards}{12}{%
- \ifboolKV[ClesTableaux]{Millions}{9}{6}%
- }%
- }{m{\useKV[ClesTableaux]{Largeur}}}}%
- \ifboolKV[ClesTableaux]{Classes}{%
- \hline
- \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}\ifboolKV[ClesTableaux]{Milliards}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurG}}]{1-3}{Classe des milliards}&&&\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
- \ifboolKV[ClesTableaux]{Millions}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
- \Block[draw,fill={\useKV[ClesTableaux]{Couleurm}}]{1-3}{Classe des milliers}&&%
- &\Block[draw,fill={\useKV[ClesTableaux]{Couleuru}}]{1-3}{Classe des unités}&&\\}{%
- \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
- \ifboolKV[ClesTableaux]{Milliards}{%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (L);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (K);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (J);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (I);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G);}}&}{}%
- \ifboolKV[ClesTableaux]{Millions}{%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (I);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G);}}&}{}%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (F);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A);}}\\
- }%
+ \begin{NiceTabular}{*{%
+ \ifboolKV[ClesTableaux]{Milliards}{12}{%
+ \ifboolKV[ClesTableaux]{Millions}{9}{6}%
+ }%
+ }{m{\useKV[ClesTableaux]{Largeur}}}}%
+ \ifboolKV[ClesTableaux]{Classes}{%
+ \hline
+ \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}\ifboolKV[ClesTableaux]{Milliards}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurG}}]{1-3}{Classe des milliards}&&&\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&%
+ }{}
+ \ifboolKV[ClesTableaux]{Millions}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
+ \Block[draw,fill={\useKV[ClesTableaux]{Couleurm}}]{1-3}{Classe des milliers}&&%
+ &\Block[draw,fill={\useKV[ClesTableaux]{Couleuru}}]{1-3}{Classe des unités}&&\\}{%
+ \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
+ \ifboolKV[ClesTableaux]{Milliards}{%
+ \Block[]{}{}&\Block[]{}{}&\Block[]{}{}&\Block[]{}{}&\Block[]{}{}&\Block[]{}{}&}{}%
+ \ifboolKV[ClesTableaux]{Millions}{%
+ \Block[]{}{}&\Block[]{}{}&\Block[]{}{}&}{}%
+ \Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}\\
+ }%ok
\hline
\ifboolKV[ClesTableaux]{Milliards}{%
- \Block[draw]{}{\fontsize{\TailleFonte}{\TailleFonte}\selectfont centaines de milliards}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de milliards}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de milliards}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont centaines de millions}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
- &
+ \Block[draw]{}{\fontsize{\TailleFonte}{\TailleFonte}\selectfont centaines de milliards}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de milliards}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de milliards}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont centaines de millions}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
+ &
}{}
\ifboolKV[ClesTableaux]{Millions}{%
- \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de millions}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
- &
+ \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de millions}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
+ &
}{}
- \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de milliers}%
+ \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de milliers}%
&\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de milliers}%
&\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de milliers}%
&\Block[draw]{}{\fontsize{5}{5}\selectfont centaines}%
@@ -20419,137 +21106,133 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
&\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es}\\%
\ifboolKV[ClesTableaux]{Nombres}{%
\xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
- \ifboolKV[ClesTableaux]{Milliards}{%
- \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000}}%
- &%
- }{}%
- \ifboolKV[ClesTableaux]{Millions}{%
- \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000}}%
- &%
- }{}%
- \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{100}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10}}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1}}%
- \\
+ \ifboolKV[ClesTableaux]{Milliards}{%
+ \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000}}%
+ &%
+ }{}%
+ \ifboolKV[ClesTableaux]{Millions}{%
+ \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000}}%
+ &%
+ }{}%
+ \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{100}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10}}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1}}%
+ \\
}{}%
- %
- %%% Prise en compte de la cl\'e Puissances
- %
+ %
+ %%% Prise en compte de la cl\'e Puissances
+ %
\ifboolKV[ClesTableaux]{Puissances}{%
\xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
- \ifboolKV[ClesTableaux]{Milliards}{%
- &%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{9}$}%
- &%
- &%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
- &%
- }{%
- \ifboolKV[ClesTableaux]{Millions}{%
- &%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
- &%
- }{%
- }}%
- &%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^3$}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{10}^2$}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{10}^1$}%
- &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{1}$}%
- \\%
+ \ifboolKV[ClesTableaux]{Milliards}{%
+ &%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{9}$}%
+ &%
+ &%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+ &%
+ }{%
+ \ifboolKV[ClesTableaux]{Millions}{%
+ &%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+ &%
+ }{%
+ }}%
+ &%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^3$}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{10}^2$}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{10}^1$}%
+ &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{1}$}%
+ \\%
}{}%
- %
- %%% Lignes vierges
- %
+ %
+ %%% Lignes vierges
+ %
\hline%
\xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
+ \ifboolKV[ClesTableaux]{Milliards}{%
+ &&&&&&}{}%
+ \ifboolKV[ClesTableaux]{Millions}{%
+ &&&}{}%
+ &&&&&\\}%
\ifboolKV[ClesTableaux]{Milliards}{%
- &&&&&&}{}%
+ \Block[]{}{\tikz[remember picture,overlay]{\coordinate (L1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (K1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (J1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (I1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}&}{}%
\ifboolKV[ClesTableaux]{Millions}{%
- &&&}{}%
- &&&&&\\}%
- \ifboolKV[ClesTableaux]{Milliards}{%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (L1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (K1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (J1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (I1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}&}{}%
- \ifboolKV[ClesTableaux]{Millions}{%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (I1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}&}{}%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (F1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
- \CodeAfter%
- % on trace les lignes verticales
- \xintFor* ##1 in {\xintSeq{1}{\PfCDerniereColonne}}\do{%
- \tikz\draw (2-|##1)--(\fpeval{2+\useKV[ClesTableaux]{NbLignes}+1}-|##1);%
- }%
- %% On place le nombre éventuel
- \ifx\bla#2\bla%
- \else%
- \setsepchar{,}%
- \readlist*\ListeNombreAPlacer{#2}%
- \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{%
- \StrLen{\ListeNombreAPlacer[##2]}[\TabLongueurNombre]%
- \xintFor* ##1 in{\xintSeq {\TabLongueurNombre}{1}}\do{%
- \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCDerniereColonne-0.5-\TabLongueurNombre+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2]}{##1}{##1}};%
- }%
- }%
- \fi%
- \end{NiceTabular}%
- \end{center}%
- % On trace les éventuelles fleches
- \ifboolKV[ClesTableaux]{Classes}{}{%
- \ifboolKV[ClesTableaux]{FlechesB}{%
- \ifboolKV[ClesTableaux]{Milliards}{%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (K1) to node[below, midway]{\small$\div\num{10}$}(L1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (J1) to node[below, midway]{\small$\div\num{10}$}(K1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (I1) to node[below, midway]{\small$\div\num{10}$}(J1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (H1) to node[below, midway]{\small$\div\num{10}$}(I1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (G1) to node[below, midway]{\small$\div\num{10}$}(H1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (F1) to node[below, midway]{\small$\div\num{10}$}(G1);}%
- }{}%
- \ifboolKV[ClesTableaux]{Millions}{%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (H1) to node[below, midway]{\small$\div\num{10}$}(I1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (G1) to node[below, midway]{\small$\div\num{10}$}(H1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (F1) to node[below, midway]{\small$\div\num{10}$}(G1);}%
- }{}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (E1) to node[below, midway]{\small$\div\num{10}$}(F1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (D1) to node[below, midway]{\small$\div\num{10}$}(E1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (C1) to node[below, midway]{\small$\div\num{10}$}(D1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (B1) to node[below, midway]{\small$\div\num{10}$}(C1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (A1) to node[below, midway]{\small$\div\num{10}$}(B1);}%
- }{}%
- \ifboolKV[ClesTableaux]{FlechesH}{%
- \ifboolKV[ClesTableaux]{Milliards}{%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (L) to node[above, midway]{\small$\times\num{10}$}(K);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (K) to node[above, midway]{\small$\times\num{10}$}(J);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (J) to node[above, midway]{\small$\times\num{10}$}(I);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (I) to node[above, midway]{\small$\times\num{10}$}(H);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (H) to node[above, midway]{\small$\times\num{10}$}(G);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (G) to node[above, midway]{\small$\times\num{10}$}(F);}%
- }{}%
- \ifboolKV[ClesTableaux]{Millions}{%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (I) to node[above, midway]{\small$\times\num{10}$}(H);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (H) to node[above, midway]{\small$\times\num{10}$}(G);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (G) to node[above, midway]{\small$\times\num{10}$}(F);}%
- }{}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (B) to node[above, midway]{\small$\times\num{10}$}(A);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (C) to node[above, midway]{\small$\times\num{10}$}(B);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (D) to node[above, midway]{\small$\times\num{10}$}(C);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (E) to node[above, midway]{\small$\times\num{10}$}(D);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (F) to node[above, midway]{\small$\times\num{10}$}(E);}%
- }{}%
- }
+ \Block[]{}{\tikz[remember picture,overlay]{\coordinate (I1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}&}{}%
+ \Block[]{}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+ &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+ &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+ &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+ &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+ &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+ \CodeAfter%
+ % on trace les lignes verticales
+ \xintFor* ##1 in {\xintSeq{1}{\PfCDerniereColonne}}\do{%
+ \tikz\draw (2-|##1)--(\fpeval{2+\useKV[ClesTableaux]{NbLignes}+1}-|##1);%
+ }%
+ %% On place le nombre éventuel
+ \ifx\bla#2\bla%
+ \else%
+ \setsepchar{,}%
+ \readlist*\ListeNombreAPlacer{#2}%
+ \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{%
+ \StrLen{\ListeNombreAPlacer[##2]}[\TabLongueurNombre]%
+ \xintFor* ##1 in{\xintSeq {\TabLongueurNombre}{1}}\do{%
+ \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCDerniereColonne-0.5-\TabLongueurNombre+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2]}{##1}{##1}};%
+ }%
+ }%
+ \fi%
+ % On trace les éventuelles fleches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%%
+ \ifboolKV[ClesTableaux]{Classes}{}{%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \ifboolKV[ClesTableaux]{Milliards}{%
+ \xintFor* ##1 in {\xintSeq{1}{11}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{1.5+##1}) to node[below, midway]{\small$\div\num{10}$}(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{0.5+##1});%
+ }%
+ }{%
+ \ifboolKV[ClesTableaux]{Millions}{%
+ \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{1.5+##1}) to node[below, midway]{\small$\div\num{10}$}(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{0.5+##1});%
+ }%
+ }{%
+ \xintFor* ##1 in {\xintSeq{1}{5}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{1.5+##1}) to node[below, midway]{\small$\div\num{10}$}(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{0.5+##1});%
+ }%
+ }%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \ifboolKV[ClesTableaux]{Milliards}{%
+ \xintFor* ##1 in {\xintSeq{1}{11}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{0.5+##1}) to node[above, midway]{\small$\times\num{10}$}(1.5-|\fpeval{1.5+##1});%
+ }%
+ }{%
+ \ifboolKV[ClesTableaux]{Millions}{%
+ \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{0.5+##1}) to node[above, midway]{\small$\times\num{10}$}(1.5-|\fpeval{1.5+##1});%
+ }%
+ }{%
+ \xintFor* ##1 in {\xintSeq{1}{5}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{0.5+##1}) to node[above, midway]{\small$\times\num{10}$}(1.5-|\fpeval{1.5+##1});%
+ }%
+ }%
+ }%
+ }{}%
+ }%
+ \useKV[ClesTableaux]{CodeAfter}%
+ \end{NiceTabular}%
+ \end{center}%
\setlength{\tabcolsep}{100\tabcolsep}%
}{}%
%
@@ -20890,24 +21573,24 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\ifboolKV[ClesTableaux]{Metre}{%
\[\renewcommand{\arraystretch}{1.15}%
\begin{NiceTabular}{*{7}{p{7.5mm}}}%
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (A);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (F);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+ \Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}\\
\Block[draw]{}{km\PfCTBstrut}&\Block[draw]{1-1}{hm\PfCTBstrut}&\Block[draw]{1-1}{dam\PfCTBstrut}&\Block[draw]{1-1}{m\PfCTBstrut}&\Block[draw]{1-1}{dm\PfCTBstrut}&\Block[draw]{1-1}{cm\PfCTBstrut}&\Block[draw]{1-1}{mm\PfCTBstrut}\\
\xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
&&&&&&\\
- }
- \Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (F1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B1);}}
- &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+ }%
+ \Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}\\
\CodeAfter
% on trace les lignes verticales
\xintFor* ##1 in {\xintSeq{1}{8}}\do{%
@@ -20925,24 +21608,37 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
}%
}
\fi%
+ % on trace les flèches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{0.5+##1}) to node[above, midway]{\small$\times\num{10}$}(1.5-|\fpeval{1.5+##1});%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{3+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{1.5+##1}) to node[below,midway]{\small$\div\num{10}$}(\fpeval{3+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{0.5+##1});%
+ }%
+ }{}%
+ \useKV[ClesTableaux]{CodeAfter}%
\end{NiceTabular}%
\]%
- \Conversion{10}%
}%
{}%
- %
+
+ %
%%% Prise en compte de la cl\'e Carre
%
\ifboolKV[ClesTableaux]{Carre}{%
\[\renewcommand{\arraystretch}{1.15}%
\begin{NiceTabular}{*{7}{p{3.5mm}p{3.5mm}}}%
- \Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (A);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (B);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (C);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (D);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (E);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (F);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+ \Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}\\
\Block[borders={left,top,right}]{1-2}{km$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{hm$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{dam$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{m$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{dm$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{cm$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{mm$^2$\PfCTBstrut}&\\
\ifboolKV[ClesTableaux]{Are}{%
\Block[borders={left,right,bottom}]{1-2}{}&&\Block[draw=gray!50,borders={left,top,bottom}]{1-1}{}&\Block[borders={top,right,bottom}]{1-1}{\scriptsize ha}&\Block[draw=gray!50,borders={left,top,bottom}]{1-1}{}&\Block[borders={top,right,bottom}]{1-1}{\scriptsize a}&\Block[borders={left,right,bottom}]{1-2}{}&&\Block[borders={left,right,bottom}]{1-2}{}&&\Block[borders={left,right,bottom}]{1-2}{}&&\Block[borders={left,right,bottom}]{1-2}{}&\\
@@ -20950,13 +21646,13 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
&&&&&&&&&&&&&\\
}%
- \Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (G1);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (F1);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (E1);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (D1);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (C1);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (B1);}}
- &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+ \Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}
+ &&\Block[]{1-2}{}\\
\CodeAfter
% on trace les lignes verticales
\xintifboolexpr{\useKV[ClesTableaux]{Are}}{%
@@ -20988,24 +21684,37 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
}%
}
\fi%
+ % on trace les flèches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
+ \ifboolKV[ClesTableaux]{Are}{\xdef\PfCTableauDepart{4}}{\xdef\PfCTableauDepart{3}}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{2*##1}) to node[above, midway]{\small$\times\num{100}$}(1.5-|\fpeval{2*(##1+1)});%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{\PfCTableauDepart+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{2*(##1+1)}) to node[below,midway]{\small$\div\num{100}$}(\fpeval{\PfCTableauDepart+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{2*##1});%
+ }%
+ }{}%
+ \useKV[ClesTableaux]{CodeAfter}%
\end{NiceTabular}
\]%
- \Conversion{100}%
}{}%
%
%%% Prise en compte de la cl\'e Cube
%
\ifboolKV[ClesTableaux]{Cube}{%
- \setlength{\tabcolsep}{0.625\tabcolsep}%
\[\renewcommand{\arraystretch}{1.15}%
+ \setlength{\tabcolsep}{0.625\tabcolsep}%
\begin{NiceTabular}{*{7}{p{3.5mm}p{3.5mm}p{3.5mm}}}
- \Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (A);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (B);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (C);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (D);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (E);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (F);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+ \Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}\\
\Block[borders={left,top,right}]{1-3}{km$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{hm$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{dam$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{m$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{dm$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{cm$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{mm$^3$\PfCTBstrut}&&\\
\ifboolKV[ClesTableaux]{Capacite}{%
\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[draw=gray!50,borders={top,left,bottom}]{}{\scriptsize hL}&\Block[draw=gray!50,borders={top,bottom},l]{}{\scriptsize daL}&\Block[draw=gray!50,borders={top,right,bottom}]{}{\scriptsize L}&\Block[draw=gray!50,borders={top,left,bottom}]{}{\scriptsize dL}&\Block[draw=gray!50,borders={top,bottom}]{}{\scriptsize cL}&\Block[draw=gray!50,borders={top,right,bottom}]{}{\scriptsize mL}&\Block[borders={left,right,bottom}]{1-3}{}&&\\
@@ -21013,13 +21722,13 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
&&&&&&&&&&&&&&&&&&&&\\
}%
- \Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (G1);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (F1);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (E1);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (D1);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (C1);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (B1);}}
- &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+ \Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}
+ &&&\Block[]{1-3}{}\\
\CodeAfter
% on trace les lignes verticales
\xintifboolexpr{\useKV[ClesTableaux]{Capacite}}{%
@@ -21053,10 +21762,23 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
}%
}
\fi%
+ % on trace les flèches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
+ \ifboolKV[ClesTableaux]{Capacite}{\xdef\PfCTableauDepart{4}}{\xdef\PfCTableauDepart{3}}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{2.5+3*(##1-1)}) to node[above, midway]{\small$\times\num{1000}$}(1.5-|\fpeval{2.5+3*##1});%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{\PfCTableauDepart+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{2.5+3*##1}) to node[below,midway]{\small$\div\num{1000}$}(\fpeval{\PfCTableauDepart+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{2.5+3*(##1-1)});%
+ }%
+ }{}%
+ \useKV[ClesTableaux]{CodeAfter}%
\end{NiceTabular}
\]%
- \setlength{\tabcolsep}{1.6\tabcolsep}%
- \Conversion{1000}%
+% \setlength{\tabcolsep}{1.6\tabcolsep}%
}{}%
%
%%% Prise en compte de la cl\'e Litre
@@ -21064,22 +21786,22 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\ifboolKV[ClesTableaux]{Litre}{%
\[\renewcommand{\arraystretch}{1.15}%
\begin{NiceTabular}{*{6}{p{7.5mm}}}%
- \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F);}}\\
+ \Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}\\
\Block[draw]{}{hL\PfCTBstrut}&\Block[draw]{}{daL\PfCTBstrut}&\Block[draw]{}{L\PfCTBstrut}&\Block[draw]{}{dL\PfCTBstrut}&\Block[draw]{}{cL\PfCTBstrut}&\Block[draw]{}{mL\PfCTBstrut}\\
\xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
&&&&&\\
}
- \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+ \Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}
+ &\Block[]{1-1}{}\\
\CodeAfter
% on trace les lignes verticales
\xintFor* ##1 in {\xintSeq{1}{7}}\do{%
@@ -21097,9 +21819,21 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
}%
}%
\fi%
+ % on trace les flèches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \xintFor* ##1 in {\xintSeq{1}{5}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{0.5+##1}) to node[above, midway]{\small$\times\num{10}$}(1.5-|\fpeval{1.5+##1});%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \xintFor* ##1 in {\xintSeq{1}{5}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{3+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{1.5+##1}) to node[below,midway]{\small$\div\num{10}$}(\fpeval{3+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{0.5+##1});%
+ }%
+ }{}%
+ \useKV[ClesTableaux]{CodeAfter}%
\end{NiceTabular}%
\]%
- \Conversion{10}%
}{}%
%
%%% Prise en compte de la cl\'e Gramme
@@ -21107,24 +21841,24 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\ifboolKV[ClesTableaux]{Gramme}{%
\[\renewcommand{\arraystretch}{1.15}%
\begin{NiceTabular}{*{7}{p{7.5mm}}}%
- \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
- \Block[draw]{}{kg\PfCTBstrut}&\Block[draw]{}{hg\PfCTBstrut}&\Block[draw]{}{dag\PfCTBstrut}&\Block[draw]{}{g\PfCTBstrut}&\Block[draw]{}{dg\PfCTBstrut}&\Block[draw]{}{cg\PfCTBstrut}&\Block[draw]{}{mg\PfCTBstrut}\\
+ \Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}\\
+ \Block[draw]{}{kg\PfCTBstrut}&\Block[draw]{1-1}{hg\PfCTBstrut}&\Block[draw]{1-1}{dag\PfCTBstrut}&\Block[draw]{1-1}{g\PfCTBstrut}&\Block[draw]{1-1}{dg\PfCTBstrut}&\Block[draw]{1-1}{cg\PfCTBstrut}&\Block[draw]{1-1}{mg\PfCTBstrut}\\
\xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
&&&&&&\\
- }
- \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (G1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B1);}}
- &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+ }%
+ \Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}
+ &\Block[]{}{}\\
\CodeAfter
% on trace les lignes verticales
\xintFor* ##1 in {\xintSeq{1}{8}}\do{%
@@ -21140,34 +21874,25 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
\tikz\node at (\fpeval{##2+2.5}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};
}%
- }%
+ }
\fi%
+ % on trace les flèches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{0.5+##1}) to node[above, midway]{\small$\times\num{10}$}(1.5-|\fpeval{1.5+##1});%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{3+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{1.5+##1}) to node[below,midway]{\small$\div\num{10}$}(\fpeval{3+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{0.5+##1});%
+ }%
+ }{}%
+ \useKV[ClesTableaux]{CodeAfter}%
\end{NiceTabular}%
\]%
- \Conversion{10}%
}{}%
- }
}%
-
-\newcommand\Conversion[1]{%
- \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
- \ifboolKV[ClesTableaux]{FlechesH}{%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (A) to node[above, midway]{\small$\times\num{#1}$}(B);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (B) to node[above, midway]{\small$\times\num{#1}$}(C);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (C) to node[above, midway]{\small$\times\num{#1}$}(D);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (D) to node[above, midway]{\small$\times\num{#1}$}(E);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (E) to node[above, midway]{\small$\times\num{#1}$}(F);}%
- \ifboolKV[ClesTableaux]{Litre}{}{\tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (F) to node[above, midway]{\small$\times\num{#1}$}(G);}%
- }%
- }{}%
- \ifboolKV[ClesTableaux]{FlechesB}{%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (A1) to node[below, midway]{\small$\div\num{#1}$}(B1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (B1) to node[below, midway]{\small$\div\num{#1}$}(C1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (C1) to node[below, midway]{\small$\div\num{#1}$}(D1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (D1) to node[below, midway]{\small$\div\num{#1}$}(E1);}%
- \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (E1) to node[below, midway]{\small$\div\num{#1}$}(F1);}%
- \ifboolKV[ClesTableaux]{Litre}{}{\tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (F1) to node[below, midway]{\small$\div\num{#1}$}(G1);}}%
- }{}%
}%
\newcommand\PfCTableauIncline{%
@@ -21201,8 +21926,8 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\tikz\draw[out=215,in=-90,-stealth,gray,transform canvas={yshift=-2mm}] (9-|4.5) to node[midway,left]{\footnotesize$\div{\PfCCoefConversion}$}(7-|3.5);
\tikz\draw[out=215,in=-90,-stealth,gray,transform canvas={yshift=-2mm}] (7-|3.5) to node[midway,left]{\footnotesize$\div{\PfCCoefConversion}$}(5-|2.5);
\tikz\draw[out=215,in=-90,-stealth,gray,transform canvas={yshift=-2mm}] (5-|2.5) to node[midway,left]{\footnotesize$\div{\PfCCoefConversion}$}(3-|1.5);
-\end{NiceTabular}
-}
+\end{NiceTabular}%
+}%
%%%
% Cards