summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-08-28 21:07:18 +0000
committerKarl Berry <karl@freefriends.org>2024-08-28 21:07:18 +0000
commit754930caeb21df825e73daba921a38761c1685bb (patch)
tree82fb6c71923cea20b60d5d3634f943e693993d3c
parent7e08073b84fb6d7c35db487964051a862fe1c4cf (diff)
profcollege (28aug24)
git-svn-id: svn://tug.org/texlive/trunk@72129 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdfbin10823654 -> 10839547 bytes
-rw-r--r--Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zipbin5704195 -> 5709797 bytes
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp20
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCScratch.mp7
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCScratchpdf.mp7
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCSketch.mp195
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCAllumettes.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex3
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCArbreChiffre.tex3
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCAssemblagesSolides.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCAutomatismes.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCAutonomie.tex8
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCBarreNiveaux.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCBarresCalculs.tex3
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCBillard.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCBonSortie.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCBonbon.tex6
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCAN.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCalculatrice.tex3
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCalculsCroises.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCalculsDetailles.tex147
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCalisson.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCartesJeux.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCartesMentales.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex6
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCible.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCibleQOp.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCColorilude.tex8
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCompteBon.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCConversion.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCritere.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCCryptarithme.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDecDeci.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDecompFracDeci.tex15
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDecomposerNombrePremier.tex143
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDefiCalc.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDefiTables.tex5
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDessinAlgo.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDessinGradue.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDessinerRatio.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDiagrammeRadar.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDistributivite.tex3
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDobble.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDomino.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCDontCountDots.tex6
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex54
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEcritureLettres.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEcritureUnites.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex6
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEnigmeAire.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEnquete.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEratosthene.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFactorisation.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFicheMemo.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFractionAireCarre.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFractionNombre.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFrise.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFubuki.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCFutoshiki.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCGaram.tex12
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex10
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCGrades.tex8
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCGrimuku.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCHiddenMessage.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCHorloge.tex31
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCJeton.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCJeuRangement.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCKakurasu.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCKakuro.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCKenKen.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheJeu.tex8
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheNombre.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCLego.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMentalo.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMidpoint.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCModeleBarre.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMosaique.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMotsCodes.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMotsCroises.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMotsEmpiles.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMulArt.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMulJal.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCNombreAstral.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCNonogramme.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex36
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCNumberHive.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCNumerationsAnciennes.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCOperationsTrou.tex8
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPapiers.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPattern.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPavage.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex208
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPourcentage.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCProbabilites.tex14
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCProgrammeCalcul.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPropor.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCProprietesDroites.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPuissanceQuatre.tex82
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPuzzleSommePyramide.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPyraVoca.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPyramideCalculs.tex307
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCPythagore.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCQuestionsFlash.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCQuiSuisJe.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRLE.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRangementNombres.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRapido.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRappelsFormules.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRecyclage.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCReperage.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRepresentationGraphique.tex19
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRepresenterEntier.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRepresenterFraction.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRepresenterTableur.tex15
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCReseauxSociaux.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCResoudreEquation.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRondeInfernale.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCRose.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCScratch.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCSerpent.tex211
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCShikaku.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCSimplifierFraction.tex10
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex12
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCSommeAngles.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCSquaro.tex76
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCStatistiques.tex12
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTableauDoubleEntree.tex62
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTableauxUnites.tex11
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTablesOperations.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTectonic.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCThales.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTicketCaisse.tex163
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTrigonometrie.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTrio.tex7
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCTriominos.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCVisualisationMulDeci.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCVueCubes.tex15
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCYohaku.tex4
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty40
148 files changed, 2323 insertions, 140 deletions
diff --git a/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdf b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdf
index c684b9fff89..794f5fdcb02 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 995fa25ee88..3b52f98102b 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/PfCGeometrie.mp b/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
index 7ec73e648c6..dc007c36434 100644
--- a/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
+++ b/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
@@ -526,6 +526,8 @@ enddef;
vardef marque_para(expr dd,ee,pa)=
save im;
picture im;
+ string totem;
+ totem="//";
pair kk,ll,mn,mo;
kk=point(pa*length dd) of dd;
ll=projection(kk,point(0.25*length ee) of ee,point(0.5*length ee) of ee);
@@ -534,7 +536,8 @@ vardef marque_para(expr dd,ee,pa)=
im=image(
drawarrow mo--kk;
drawarrow symetrie(mo,mn)--ll;
- label(btex // etex,mn);
+% label(btex $//$ etex,mn);
+ label(totem,mn);
);
im
enddef;
@@ -551,13 +554,14 @@ vardef marque_Para(text totem)(expr dd,ee,pa)=
drawarrow (mn{dir(210+angle(mn-mo))}..{dir(150+angle(mn-mo))}kk) cutbefore cercles(mn,3mm);
drawarrow symetrie((mn{dir(210+angle(mn-mo))}..{dir(150+angle(mn-mo))}kk) cutbefore cercles(mn,3mm),mn);
trace cercles(mn,3mm);
- for p_=totem:
- if p_="":
- label(btex // etex ,mn);
- else:
- label(btex ? etex,mn);
- fi;
- endfor;
+% for p_=totem:
+% if p_="":
+% label(btex $//$ etex ,mn);
+% else:
+% label(btex ? etex,mn);
+ label(totem,mn);
+% fi;
+% endfor;
);
im
enddef;
diff --git a/Master/texmf-dist/metapost/profcollege/PfCScratch.mp b/Master/texmf-dist/metapost/profcollege/PfCScratch.mp
index 6e2e7beb59d..a2343b53120 100644
--- a/Master/texmf-dist/metapost/profcollege/PfCScratch.mp
+++ b/Master/texmf-dist/metapost/profcollege/PfCScratch.mp
@@ -2596,12 +2596,11 @@ vardef Demander(expr nbpas)=
picture Dem,texto;
if string nbpas:
texto=ColleBoxNew("demander",OvalNb(nbpas),"et attendre");
- ColBloc:=CapteurTrois;
- Dem=Affichage(texto);
else:
- message("La commande -- Demander -- admet un argument de type string.");
- Dem=nullpicture;
+ texto=ColleBoxNew("demander",nbpas,"et attendre");
fi;
+ ColBloc:=CapteurTrois;
+ Dem=Affichage(texto);
Dem
enddef;
diff --git a/Master/texmf-dist/metapost/profcollege/PfCScratchpdf.mp b/Master/texmf-dist/metapost/profcollege/PfCScratchpdf.mp
index 9a3a650c380..c2311b1d336 100644
--- a/Master/texmf-dist/metapost/profcollege/PfCScratchpdf.mp
+++ b/Master/texmf-dist/metapost/profcollege/PfCScratchpdf.mp
@@ -2595,12 +2595,11 @@ vardef Demander(expr nbpas)=
picture Dem,texto;
if string nbpas:
texto=ColleBoxNew("demander",OvalNb(nbpas),"et attendre");
- ColBloc:=CapteurTrois;
- Dem=Affichage(texto);
else:
- message("La commande -- Demander -- admet un argument de type string.");
- Dem=nullpicture;
+ texto=ColleBoxNew("demander",nbpas,"et attendre");
fi;
+ ColBloc:=CapteurTrois;
+ Dem=Affichage(texto);
Dem
enddef;
diff --git a/Master/texmf-dist/metapost/profcollege/PfCSketch.mp b/Master/texmf-dist/metapost/profcollege/PfCSketch.mp
new file mode 100644
index 00000000000..6a634cfc4dc
--- /dev/null
+++ b/Master/texmf-dist/metapost/profcollege/PfCSketch.mp
@@ -0,0 +1,195 @@
+%D'après https://tex.stackexchange.com/questions/39296/simulating-hand-drawn-lines
+
+let normaldraw = draw ;
+let normalfill = fill ;
+let normaldrawarrow = drawarrow ;
+let normaldbldrawarrow = drawdblarrow ;
+let normalarrowhead = normalarrowhead;
+
+path fullsquare;
+fullsquare := unitsquare shifted - center unitsquare ;
+
+%D The variable \type{sketch_amount} determines the amount of randomness in the
+%D drawing
+numeric sketch_amount; sketch_amount := 3;
+numeric old_sketch_amount;
+%D The macro \type{sketchdraw} randomized the path before drawing it. The
+%D \type{expr} ... \type{text} trick is copied from the definition of
+%D \type{drawarrow}
+
+def sketchdraw expr p =
+ do_sketchdraw(p if (path p): randomized sketch_amount fi)
+enddef;
+
+def do_sketchdraw(expr p) text t =
+ normaldraw p t ;
+enddef;
+
+%cp
+%%%%%%%%%%%%%%%%%%
+vardef sketcharrowhead expr p =
+ save q,e; path q; pair e;
+ e = point length p of p;
+ q = gobble(p shifted -e cutafter makepath(pencircle scaled 2ahlength))
+ cuttings;
+ ((q rotated .5ahangle & reverse q rotated -.5ahangle -- cycle) shifted e) randomized (sketch_amount/3)
+enddef;
+
+path _apth;
+def sketchdrawarrow expr p = _apth:=p randomized sketch_amount; _sketchfinarr enddef;
+def sketchdrawdblarrow expr p = _apth:=p; _sketchfindarr enddef;
+
+def _sketchfinarr text t =
+ old_sketch_amount:=sketch_amount;
+ sketch_amount:=0;
+ draw _apth t;
+ sketch_amount:=old_sketch_amount;
+ filldraw sketcharrowhead _apth t
+enddef;
+
+def _sketchfindarr text t =
+ old_sketch_amount:=sketch_amount;
+ sketch_amount:=0;
+ draw _apth t;
+ sketch_amount:=old_sketch_amount;
+ filldraw sketcharrowhead _apth withpen currentpen t;
+ filldraw sketcharrowhead reverse _apth withpen currentpen t
+enddef;
+%%%%%%%%%%%%%%%%%%
+
+%D The macro \type{sketchfill} randomizes the path before filling it.
+path _sketch_path_;
+
+def sketchfill expr p =
+ _sketch_path_ := p randomized sketch_amount;
+ do_sketchfill
+enddef ;
+
+def do_sketchfill text t =
+ normalfill _sketch_path_ t ;
+enddef ;
+
+%D The macro \type{sketchypaths} is modeled after \type{visualizepaths} from
+%D \filename{mp-tool}.
+
+def sketchypaths =
+ let draw = sketchdraw ;
+ let fill = sketchfill ;
+ %cp
+ let drawarrow = sketchdrawarrow ;
+ let drawdblarrow = sketchdrawdblarrow ;
+ let arrowhead = sketcharrowhead ;
+ %fin cp
+enddef ;
+
+%cp
+def normalpaths =
+ let draw = normaldraw ;
+ let fill = normalfill ;
+ let drawarrow = normaldrawarrow ;
+ let drawdblarrow = normaldrawdblarrow ;
+ let arrowhead = normalarrowhead;
+enddef ;
+ %fincp
+
+%By metafun
+vardef mfun_randomized_picture(expr p,s)(text rnd) =
+ save currentpicture ;
+ picture currentpicture ;
+ currentpicture := nullpicture ;
+ for i within p :
+ addto currentpicture
+ if stroked i :
+ doublepath pathpart i rnd s
+ dashed dashpart i
+ withpen penpart i
+ withcolor colorpart i
+ withprescript prescriptpart i
+ withpostscript postscriptpart i
+ elseif filled i :
+ contour pathpart i rnd s
+ withpen penpart i
+ withcolor colorpart i
+ withprescript prescriptpart i
+ withpostscript postscriptpart i
+ else :
+ also i
+ fi
+ ;
+ endfor ;
+ currentpicture
+enddef ;
+
+primarydef p randomized s = (
+ if path p :
+ for i=0 upto length(p)-1 :
+ ((point i of p) randomshifted s) .. controls
+ ((postcontrol i of p) randomshifted s) and
+ ((precontrol (i+1) of p) randomshifted s) ..
+ endfor
+ if cycle p :
+ cycle
+ else :
+ ((point length(p) of p) randomshifted s)
+ fi
+ elseif pair p :
+ p randomshifted s
+ elseif cmykcolor p :
+ if cmykcolor s :
+ ((uniformdeviate cyanpart s) * cyanpart p,
+ (uniformdeviate magentapart s) * magentapart p,
+ (uniformdeviate yellowpart s) * yellowpart p,
+ (uniformdeviate blackpart s) * blackpart p)
+ elseif pair s :
+ ((xpart s + (uniformdeviate (ypart s - xpart s))) * p)
+ else :
+ ((uniformdeviate s) * p)
+ fi
+ elseif rgbcolor p :
+ if rgbcolor s :
+ ((uniformdeviate redpart s) * redpart p,
+ (uniformdeviate greenpart s) * greenpart p,
+ (uniformdeviate bluepart s) * bluepart p)
+ elseif pair s :
+ ((xpart s + (uniformdeviate (ypart s - xpart s))) * p)
+ else :
+ ((uniformdeviate s) * p)
+ fi
+ elseif color p :
+ if color s :
+ ((uniformdeviate greypart s) * greypart p)
+ elseif pair s :
+ ((xpart s + (uniformdeviate (ypart s - xpart s))) * p)
+ else :
+ ((uniformdeviate s) * p)
+ fi
+ elseif string p :
+ (resolvedcolor(p)) randomized s
+ elseif picture p :
+ mfun_randomized_picture(p,s)(randomized)
+ else :
+ % p - s/2 + uniformdeviate s % would have been better but we want to be positive
+ p + uniformdeviate s
+ fi
+ )
+enddef ;
+
+primarydef p randomshifted s =
+ begingroup ;
+ save ss ; pair ss ;
+ ss := paired(s) ;
+ p shifted (-.5xpart ss + uniformdeviate xpart ss,-.5ypart ss + uniformdeviate ypart ss)
+ endgroup
+enddef ;
+
+def resolvedcolor(expr s) =
+ .5white
+enddef ;
+
+vardef paired primary d =
+ if pair d : d else : (d,d) fi
+enddef ;
+
+ extra_endfig := "picture retiens; retiens=currentpicture; draw (retiens randomized 1) withpen pencircle scaled 0.5 withcolor 0.25white;" & extra_endfig;
+
+endinput
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCAllumettes.tex b/Master/texmf-dist/tex/latex/profcollege/PfCAllumettes.tex
index f603c71f965..dea7c68cb9d 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCAllumettes.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCAllumettes.tex
@@ -1,6 +1,10 @@
%%%
% Allumettes
%%%
+\def\filedateAllu{2024/08/04}%
+\def\fileversionAllu{0.1}%
+\message{-- \filedateAllu\space v\fileversionAllu}
+%
\setKVdefault[Allumettes]{Impression=false,Echelles=false}%
\defKV[Allumettes]{Echelle=\setKV[Allumettes]{Echelles}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex b/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex
index 4113ae9a278..347c56f6401 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCArbreCalcul.tex
@@ -1,6 +1,9 @@
%%%
% Arbre de calculs
%%%
+\def\filedateArbreC{2024/08/04}%
+\def\fileversionArbreC{0.1}%
+\message{-- \filedateArbreC\space v\fileversionArbreC}%
\newtoks\toklistearbre%
\newtoks\toklistearbrefractions%
\newtoks\toklistearbreexpressions%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCArbreChiffre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCArbreChiffre.tex
index f724c16fda8..26d5cb021af 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCArbreChiffre.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCArbreChiffre.tex
@@ -2,6 +2,9 @@
% ArbreChiffre
%%%
% https://tex.stackexchange.com/questions/112975/how-to-print-the-permutation-of-s-u-v-a-t-with-latex
+\def\filedateArbreCh{2024/08/04}%
+\def\fileversionArbreCh{0.1}%
+\message{-- \filedateArbreCh\space v\fileversionArbreCh}%
\def\recurse#1#2#3#4\endmarker{%
\dopermute{#1#3}#2#4\endmarker
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCAssemblagesSolides.tex b/Master/texmf-dist/tex/latex/profcollege/PfCAssemblagesSolides.tex
index 5521dbb4193..7f04a083238 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCAssemblagesSolides.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCAssemblagesSolides.tex
@@ -1,6 +1,10 @@
%%%
% Assemblages solides
%%%
+\def\filedateAssemblageS{2024/08/04}%
+\def\fileversionAssemblageS{0.1}%
+\message{-- \filedateAssemblageS\space v\fileversionAssemblageS}%
+%
\setKVdefault[Assemblage]{Phi=30,Theta=20,Distance=50,Anglez=0,Anglex=0,Largeur=1.5,Profondeur=0.75,Hauteur=1,RayonBoule=1,RayonCone=1,RayonCylindre=1,HauteurPrisme=1,HauteurPyramideA=1,HauteurPyramideB=1,HauteurConeA=1,HauteurConeB=1,HauteurCylindre=1,Cotes=3,Trace=false,Type=Pyramides}%
\defKV[Assemblage]{Traces=\setKV[Assemblage]{Trace}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCAutomatismes.tex b/Master/texmf-dist/tex/latex/profcollege/PfCAutomatismes.tex
index fbf80943d41..bb000dee6a5 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCAutomatismes.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCAutomatismes.tex
@@ -1,6 +1,10 @@
%%%
% Automatismes
%%%
+\def\filedateAutomatismes{2024/08/04}%
+\def\fileversionAutomatismes{0.1}%
+\message{-- \filedateAutomatismes\space v\fileversionAutomatismes}%
+%
\NewDocumentCommand\ChoixAleaMixold{mmmm}{%
\ChoixAlea{1}{2}{\Autograine}%
\ifnum\Autograine=1\relax%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCAutonomie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCAutonomie.tex
index b75161ffcc9..3e72a725755 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCAutonomie.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCAutonomie.tex
@@ -1,4 +1,10 @@
-%%% Autonomie %%%
+%%%
+%Autonomie
+%%%
+\def\filedateAutonomie{2024/08/04}%
+\def\fileversionAutonomie{0.1}%
+\message{-- \filedateAutonomie\space v\fileversionAutonomie}%
+%
\setKVdefault[Autonomie]{AfficheMarge=false,TitreEnigme=Enigme,TitreAtoi=\`A toi,Enigme=false,TexteCorrection=\bfseries Correction,ARemplir=false,Deux=false,Landscape=false}%
\newcommand\Autonomie[3][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCBarreNiveaux.tex b/Master/texmf-dist/tex/latex/profcollege/PfCBarreNiveaux.tex
index 8ee730bbfb3..d56f096d7eb 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCBarreNiveaux.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCBarreNiveaux.tex
@@ -1,6 +1,10 @@
%%%
% Barres de niveaux
%%%
+\def\filedateBarreNiveaux{2024/08/04}%
+\def\fileversionBarreNiveaux{0.1}%
+\message{-- \filedateBarreNiveaux\space v\fileversionBarreNiveaux}%
+%
\setKVdefault[ClesBarre]{Niveau=false,LimiteI=25,LimiteF=50,LimiteS=75,TexteOrigine=0,TexteReference=100,CouleurGraduation=white,CouleurFond=gray!50,CouleurBarre=black,Graduation=false,Nom=D\'efaut,Pas=10,CouleurI=red,CouleurF=orange,CouleurS=yellow,CouleurM=green}
\newlength{\barrewidth}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCBarresCalculs.tex b/Master/texmf-dist/tex/latex/profcollege/PfCBarresCalculs.tex
index 12b50770251..47537abe92f 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCBarresCalculs.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCBarresCalculs.tex
@@ -1,6 +1,9 @@
%%%
% Barres de calculs
%%%
+\def\filedateBarresCalculs{2024/08/04}%
+\def\fileversionBarresCalculs{0.1}%
+\message{-- \filedateBarresCalculs\space v\fileversionBarresCalculs}%
\setKVdefault[SuiteBarre]{Litteral=false,Perso=false,Decimaux=false}
\NewDocumentCommand\BarresCalculs{o m m}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCBillard.tex b/Master/texmf-dist/tex/latex/profcollege/PfCBillard.tex
index 6faf8038038..758e7529775 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCBillard.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCBillard.tex
@@ -1,6 +1,10 @@
%%%
% Billard
%%%
+\def\filedateBillard{2024/08/04}%
+\def\fileversionBillard{0.1}%
+\message{-- \filedateBillard\space v\fileversionBillard}%
+%
\newtoks\tokPfCMotBillard{}%
\def\UpdateTokBillard#1\nil{\addtotok\tokPfCMotBillard{"#1"}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCBonSortie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCBonSortie.tex
index 25408ad5fed..c783f90d8e3 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCBonSortie.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCBonSortie.tex
@@ -1,6 +1,10 @@
%%%
% Bon de sortie
%%%
+\def\filedateBonSortie{2024/08/04}%
+\def\fileversionBonSortie{0.1}%
+\message{-- \filedateBonSortie\space v\fileversionBonSortie}%
+%
\newcommand\BonSortieBandeau{%
Nom : \hfill Date : \hspace*{3cm}
}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCBonbon.tex b/Master/texmf-dist/tex/latex/profcollege/PfCBonbon.tex
index 08be71cd4f0..8c897fa4deb 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCBonbon.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCBonbon.tex
@@ -1,9 +1,13 @@
%%%
% Bonbon
%%%
+\def\filedateBonbon{2024/08/04}%
+\def\fileversionBonbon{0.1}%
+\message{-- \filedateBonbon\space v\fileversionBonbon}%
+%
\setKVdefault[Bonbon]{CouleurUn=red,Bicolore=false,Echelle=1}%
\defKV[Bonbon]{CouleurDeux=\setKV[Bonbon]{Bicolore}}%
-
+%
\NewDocumentCommand\Bonbon{o}{%
\useKVdefault[Bonbon]%
\setKV[Bonbon]{#1}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCAN.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCAN.tex
index f77aea497a2..cb8dd56fd27 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCAN.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCAN.tex
@@ -1,3 +1,10 @@
+%%%
+% CAN
+%
+\def\filedateCAN{2024/08/04}%
+\def\fileversionCAN{0.1}%
+\message{-- \filedateCAN\space v\fileversionCAN}%
+%
% Gestion de l'aléatoire (pour la CAN)
\newcommand\ChoixAlea[4][]{%
\ifx\bla#1\bla%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCalculatrice.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCalculatrice.tex
index d2a189e29b5..c97b32472fd 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCalculatrice.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCalculatrice.tex
@@ -1,6 +1,9 @@
%%%
% Calculatrice
%%%
+\def\filedateCalculatrice{2024/08/04}%
+\def\fileversionCalculatrice{0.1}%
+\message{-- \filedateCalculatrice\space v\fileversionCalculatrice}%
%https://tex.stackexchange.com/questions/290321/mimicking-a-calculator-inputs-and-screen
\definecolor{lightorange}{rgb}{0.9,0.4,0}%
\definecolor{lightestorange}{rgb}{1,0.8,0.5}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsCroises.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsCroises.tex
index d17a6c9f556..eb9b8b739d1 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsCroises.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsCroises.tex
@@ -1,6 +1,10 @@
%%%
% Calculs Croises
%%%
+\def\filedateCalculsCroises{2024/08/04}%
+\def\fileversionCalculsCroises{0.1}%
+\message{-- \filedateCalculsCroises\space v\fileversionCalculsCroises}%
+%
\setKVdefault[CalculsCroises]{Largeur=20pt,Solution=false,Inverse=false,Creation=false,Graines=false,Vide=false,Couleur=LightGray,Negatifs=false,Aide=false,CouleurS=blue}
\defKV[CalculsCroises]{Graine=\setKV[CalculsCroises]{Graines}}%
\defKV[CalculsCroises]{ListeNombres=\setKV[CalculsCroises]{Aide}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsDetailles.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsDetailles.tex
new file mode 100644
index 00000000000..df321d523a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsDetailles.tex
@@ -0,0 +1,147 @@
+%%%
+% Calculs détaillés
+%%%
+\def\filedateCDetailles{2024/08/24}%
+\def\fileversionCDetailles{0.1}%
+\message{-- \filedateCDetailles\space v\fileversionCDetailles}
+%
+\setKVdefault[CalculAuto]{Under=false,OverB=false,OverC=false,UnderB=false,UnderC=false,Cadre=false,Fluo=false,Evidence=false,Lettres={A,B,C,D,E},Couleur=Purple}
+
+\newcounter{PfCNbCalculs}
+\newcounter{PfCNbSousCalculs}
+\newcounter{PfCNbMarque}
+
+\NewDocumentCommand\PfCMarquePriorite{m}{%
+ \ifboolKV[CalculAuto]{OverB}{%
+ \Overbrace{#1}%
+ }{%
+ \ifboolKV[CalculAuto]{OverC}{%
+ \Overcrochet{#1}%
+ }{%
+ \ifboolKV[CalculAuto]{UnderC}{%
+ \Undercrochet{#1}%
+ }{%
+ \ifboolKV[CalculAuto]{UnderB}{%
+ \Underbrace{#1}%
+ }{%
+ \ifboolKV[CalculAuto]{Cadre}{%
+ \PfCFbox{CCalculAuto}{#1}
+ }{%
+ \ifboolKV[CalculAuto]{Fluo}{%
+ \Surligner[CCalculAuto]{#1}
+ }{%
+ \ifboolKV[CalculAuto]{Under}{%
+ \mathunderline{CCalculAuto}{#1}%
+ }{%
+ \ifboolKV[CalculAuto]{Evidence}{%
+ \mathcolor{CCalculAuto}{#1}%
+ }{%
+ #1%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}%
+
+\NewDocumentCommand\CalculDetaille{om}{%
+ \useKVdefault[CalculAuto]%
+ \setKV[CalculAuto]{#1}%
+ \colorlet{CCalculAuto}{\useKV[CalculAuto]{Couleur}}%
+ \setcounter{PfCNbCalculs}{0}%
+ \setsepchar{§}\ignoreemptyitems%
+ \readlist*\ListeNombresCalculs{#2}%
+ \reademptyitems%
+ \xdef\PfCFooListeLettres{\useKV[CalculAuto]{Lettres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeLettres{\PfCFooListeLettres}%
+ \reademptyitems%
+ \xdef\PfCNbMaxLignesCalculs{0}%
+ \foreachitem\compteur\in\ListeNombresCalculs{%
+ \stepcounter{PfCNbCalculs}%
+ \itemtomacro\ListeNombresCalculs[\compteurcnt]\Titi%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeNombresCalculsDetails{\Titi}%
+ \reademptyitems%
+ \expandafter\xdef\csname NbLignesCalculs\Alph{PfCNbCalculs}\endcsname{\ListeNombresCalculsDetailslen}%
+ \xdef\PfCNbMaxLignesCalculs{\fpeval{max(\PfCNbMaxLignesCalculs,\ListeNombresCalculsDetailslen)}}%
+ \setcounter{PfCNbSousCalculs}{0}%
+ \foreachitem\compteura\in\ListeNombresCalculsDetails{%
+ \stepcounter{PfCNbSousCalculs}%
+ \StrSubstitute{\compteura}{*}{\times}[\PfCCalculAutoUn]%
+ \StrSubstitute{\PfCCalculAutoUn}{:}{\div}[\PfCCalculAutoDeux]%
+ \StrCount{\PfCCalculAutoDeux}{<}[\NbInf]%
+ \ifnum\fpeval{\NbInf}=0\relax%
+ \expandafter\xdef\csname NbMarqueLigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\endcsname{1}%
+ \expandafter\xdef\csname LigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}A\endcsname{\PfCCalculAutoDeux}%
+ \else%
+ \xdef\PfCExpressionDepart{\PfCCalculAutoDeux}%
+ \setcounter{PfCNbMarque}{0}%
+ \foreach\xx in{1,...,\NbInf}{%
+ \StrBefore{\PfCExpressionDepart}{<}[\PfCDevant]%
+ \StrBetween{\PfCExpressionDepart}{<}{>}[\PfCAEncadrer]%
+ \stepcounter{PfCNbMarque}%
+ \expandafter\xdef\csname LigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\Alph{PfCNbMarque}\endcsname{\PfCDevant}%
+ \stepcounter{PfCNbMarque}%
+ \expandafter\xdef\csname LigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\Alph{PfCNbMarque}\endcsname{<\PfCAEncadrer}%
+ \StrBehind{\PfCExpressionDepart}{>}[\PfCExpressionDepartA]%
+ \xdef\PfCExpressionDepart{\PfCExpressionDepartA}%
+ }%
+ \stepcounter{PfCNbMarque}%
+ \expandafter\xdef\csname LigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\Alph{PfCNbMarque}\endcsname{\PfCExpressionDepart}%
+ \expandafter\xdef\csname NbMarqueLigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\endcsname{\thePfCNbMarque}%
+ \fi
+ }%
+ }%
+ %%%%%%%%%
+ \setcounter{PfCNbSousCalculs}{0}%
+ \[%
+ \begin{aligned}
+ \xintFor* ##2 in{\xintSeq{1}{\PfCNbMaxLignesCalculs}}\do{%
+ \stepcounter{PfCNbSousCalculs}%
+ \setcounter{PfCNbCalculs}{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeNombresCalculslen}}\do{%
+ \stepcounter{PfCNbCalculs}%
+ \ifnum##2>\fpeval{\csname NbLignesCalculs\Alph{PfCNbCalculs}\endcsname}\relax%
+ \uppercase{&}
+ \else
+ \ListeLettres[\thePfCNbCalculs]\uppercase{&}=\xdef\Tata{\csname NbMarqueLigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\endcsname}\setcounter{PfCNbMarque}{0}\xintFor*##3 in{\xintSeq{1}{\Tata}}\do{%
+ \stepcounter{PfCNbMarque}
+ \xdef\Toto{\csname LigneCalcul\Alph{PfCNbCalculs}\Alph{PfCNbSousCalculs}\Alph{PfCNbMarque}\endcsname}\StrChar{\Toto}{1}[\PfCATester]
+ \IfStrEq{\PfCATester}{<}{\StrBehind{\Toto}{<}[\PfCAEncadrer]\PfCMarquePriorite{\PfCAEncadrer}}{\Toto}
+ }
+ \fi\xintifForLast{&}{}
+ }\\
+ }
+ \end{aligned}
+ \]
+}%
+
+\def\Underbrace#1{%
+ \ifx#1\bla\bla\else\color{CCalculAuto}\underbrace{{\color{black}#1}}\color{black}\fi%
+}%
+\def\Undercrochet#1{%
+ \ifx#1\bla\bla\else\color{CCalculAuto}\underbracket{{\color{black}#1}}\color{black}\fi%
+}%
+\def\Overbrace#1{%
+ \ifx#1\bla\bla\else\color{CCalculAuto}\overbrace{{\color{black}#1}}\color{black}\fi%
+}%
+\def\Overcrochet#1{%
+ \ifx#1\bla\bla\else\color{CCalculAuto}\overbracket{{\color{black}#1}}\color{black}\fi%
+}%
+\def\PfCFbox#1#2{%
+ \ifx#2\bla\bla\else\setlength{\fboxrule}{1pt}\fcolorbox{#1}{white}{$\displaystyle#2$}\fi%
+}%
+
+\NewDocumentCommand{\Surligner}{O{yellow}m}{%
+ \ifx#2\bla\bla\else
+ \ifmmode%
+ \colorbox{#1}{$\displaystyle#2$}%
+ \else%
+ \colorbox{#1}{#2}%
+ \fi%
+ \fi
+}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex
index e3660cff1e1..cc19c93e548 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCalculsFractions.tex
@@ -1,3 +1,10 @@
+%%%
+% Calculs fractions
+%
+\def\filedateCalculsFractions{2024/08/04}%
+\def\fileversionCalculsFractions{0.1}%
+\message{-- \filedateCalculsFractions\space v\fileversionCalculsFractions}%
+%
\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false,Seul=false}%
\defKV[CalculsFractions]{Couleur=\setKV[CalculsFractions]{Couleurs}\setKV[ClesSimplification]{Couleur=#1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCalisson.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCalisson.tex
index 929b1fb28e9..dd2fe56db37 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCalisson.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCalisson.tex
@@ -1,6 +1,10 @@
%%%
% Calisson
%%%
+\def\filedateCalisson{2024/08/04}%
+\def\fileversionCalisson{0.1}%
+\message{-- \filedateCalisson\space v\fileversionCalisson}%
+%
\setKVdefault[Calisson]{Taille=3,Solution=false,Rayon=5cm,Couleur=red,CouleurTrace=black}%
\def\UpdatetoksCalissong#1\nil{\addtotok\tokcalissonlistetracesg{,"#1"}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCartesJeux.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCartesJeux.tex
index 1e2075d91af..98bb4b8b3cf 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCartesJeux.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCartesJeux.tex
@@ -1,6 +1,10 @@
%%%
% Cards
%%%
+\def\filedateCartesJeux{2024/08/04}%
+\def\fileversionCartesJeux{0.1}%
+\message{-- \filedateCartesJeux\space v\fileversionCartesJeux}%
+%
\setKVdefault[Cards]{Formats=false,Largeur=165,Hauteur=250,HauteurTheme=40,Marge=12,Landscape=false,Couleur=Cornsilk,CouleurAr=Cornsilk,Theme=Th\'eor\`eme\\de
Pythagore,ThemeSol=Solution,AfficheTheme=false,Trame=false,Jointes=false,TrameVisible=false,RayonArc=5pt,Titre=false,NomTitre=Jeu 1,Loop,JaiQuia=false,Eleve=false,BackgroundAv=false,BackgroundAr=false,%ImageAv=4813762.jpg,ImageAr=4813762.jpg,
AffichageSolution=true,SolutionSeule=false,%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCartesMentales.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCartesMentales.tex
index ea9b30af037..90812c7e9ea 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCartesMentales.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCartesMentales.tex
@@ -1,6 +1,10 @@
%%%
% Cartes Mentales
%%%
+\def\filedateCarteMentale{2024/08/04}%
+\def\fileversionCarteMentale{0.1}%
+\message{-- \filedateCarteMentale\space v\fileversionCarteMentale}%
+%
\setKVdefault[ClesMentales]{Nom={Bulle}, Largeur=5cm, Ancre={0,0},Pointilles=false,CTrace=black,CFond=white,Epaisseur=1pt,Rayon=1}%
\newenvironment{Mind}{\begin{tikzpicture}}{\end{tikzpicture}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex
index e23001bbcca..4396dc6f87b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCartographie.tex
@@ -1,7 +1,11 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1,Maillage=false}
+\def\filedateCartographie{2024/08/04}%
+\def\fileversionCartographie{0.1}%
+\message{-- \filedateCartographie\space v\fileversionCartographie}%
+%
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2024/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1,Maillage=false}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCible.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCible.tex
index d29fdccf9de..91e8f28e042 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCible.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCible.tex
@@ -1,6 +1,10 @@
%%%
% Cibles
%%%
+\def\filedateCible{2024/08/04}%
+\def\fileversionCible{0.1}%
+\message{-- \filedateCible\space v\fileversionCible}%
+%
\newtoks\toklisteciblea%
\def\UpdatetoksCibleA#1\nil{\addtotok\toklisteciblea{"#1",}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCibleQOp.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCibleQOp.tex
index 336b10651d0..c33f5242b37 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCibleQOp.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCibleQOp.tex
@@ -1,3 +1,10 @@
+%%%
+% Cible 4 opérations
+%%%
+\def\filedateCibleQOp{2024/08/04}%
+\def\fileversionCibleQOp{0.1}%
+\message{-- \filedateCibleQOp\space v\fileversionCibleQOp}%
+
\newcount\anpcqo\newcount\bnpcqo\newcount\cnpcqo%
\NewDocumentCommand\PfCCQODiviseurs{m}{%#1 : le nombre entier \`a tester
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCColorilude.tex b/Master/texmf-dist/tex/latex/profcollege/PfCColorilude.tex
index 33a1ef2446e..9c446f6b435 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCColorilude.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCColorilude.tex
@@ -1,4 +1,10 @@
-%%% Colorilude %%%
+%%%
+% Colorilude
+%%%
+\def\filedateColorilude{2024/08/04}%
+\def\fileversionColorilude{0.1}%
+\message{-- \filedateColorilude\space v\fileversionColorilude}%
+%
\setKVdefault[Colorilude]{Largeur=10,Lignes=10,Legende=false,Coef=0.6,Solution=false,CartonReponse=false,Resultats=false}
\newcommand\dispogpfc[3][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCompteBon.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCompteBon.tex
index 1d5339b114c..bbf219e431a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCompteBon.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCompteBon.tex
@@ -1,6 +1,10 @@
%%%
% Le compte est bon
%%%
+\def\filedateCompteBon{2024/08/04}%
+\def\fileversionCompteBon{0.1}%
+\message{-- \filedateCompteBon\space v\fileversionCompteBon}%
+%
\setKVdefault[CompteBon]{NombreCalculs=5,NombrePlaques=4,Solution=false,Relatifs=false,Original=false,Graines=false,Plaques=6,CDot=false}
\defKV[CompteBon]{Graine=\setKV[CompteBon]{Graines}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCConversion.tex b/Master/texmf-dist/tex/latex/profcollege/PfCConversion.tex
index e6ed80f0125..86da03a0784 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCConversion.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCConversion.tex
@@ -1,3 +1,10 @@
+%%%
+% Conversion
+%%%
+\def\filedateConversion{2024/08/04}%
+\def\fileversionConversion{0.1}%
+\message{-- \filedateConversion\space v\fileversionConversion}%
+
\setKVdefault[ClesConversion]{Longueur,Aire=false,Vol=false,Masses=false,Capas=false,Sans=false,Completes=false}%
\defKV[ClesConversion]{Complete=\setKV[ClesConversion]{Completes}}%
\defKV[ClesConversion]{Masse=\setKV[ClesConversion]{Longueur=false}\setKV[ClesConversion]{Masses}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCritere.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCritere.tex
index 34c96a9b069..4818b941c78 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCritere.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCritere.tex
@@ -1,6 +1,10 @@
%%%
% Criteres de divisibilite
%%%
+\def\filedateCritere{2024/08/04}%
+\def\fileversionCritere{0.1}%
+\message{-- \filedateCritere\space v\fileversionCritere}%
+%
\setKVdefault[Critere]{Div=2,Remarque=false,All=false,RemarqueAll=false}
\NewDocumentCommand\Critere{om}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCCryptarithme.tex b/Master/texmf-dist/tex/latex/profcollege/PfCCryptarithme.tex
index bfa2e8c76af..1494c2adc6c 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCCryptarithme.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCCryptarithme.tex
@@ -1,6 +1,10 @@
%%%
% Cryptarithmes
%%%
+\def\filedateCrypta{2024/08/04}%
+\def\fileversionCrypta{0.1}%
+\message{-- \filedateCrypta\space v\fileversionCrypta}%
+%
\setKVdefault[Crypta]{Solution=false,ListeLettres={A,B,C,D,E,F,G,H,I,J},Tableau=false}%
\defKV[Crypta]{Indices=\setKV[Crypta]{Tableau}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDecDeci.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDecDeci.tex
index b2db7fd38b0..861821ce823 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDecDeci.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDecDeci.tex
@@ -1,6 +1,10 @@
%%%
% Décomposition décimale
%%
+\def\filedateDecDeci{2024/08/04}%
+\def\fileversionDecDeci{0.1}%
+\message{-- \filedateDecDeci\space v\fileversionDecDeci}%
+%
\setKVdefault[DecompDeci]{Parentheses,Colore=false,CouleurU=Blue,CouleurD=Red,CouleurC=Green,Fleches=false,Details=false,ResultatSeul=false,SansMul=false}
\newcounter{PfCNbDecDeci}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDecompFracDeci.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDecompFracDeci.tex
index b045c64f63b..1e627c2e3f7 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDecompFracDeci.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDecompFracDeci.tex
@@ -1,7 +1,12 @@
%%%
% D\'ecomposition de fractions d\'ecimales
%%%
-\setKVdefault[ClesFracDeci]{Complete=false,SansZero=false,Remediation=false,Longueur=1cm}
+\def\filedateDecompFracDeci{2024/08/13}%
+\def\fileversionDecompFracDeci{0.1a}%
+\message{-- \filedateDecompFracDeci\space v\fileversionDecompFracDeci}%
+%
+\setKVdefault[ClesFracDeci]{Complete=false,SansZero=false,Remediation=false,Longueur=1cm,Vides=false}%
+\defKV[ClesFracDeci]{Vide=\setKV[ClesFracDeci]{Remediation}\setKV[ClesFracDeci]{Vides}}%
\newlength{\PfCLongueurP}%
\newcommand\FractionDecimale[2][]{%
@@ -26,7 +31,7 @@
\xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}+}%
\xintFor* ##1 in {\xintSeq{1}{\LongueurPartieDecimale}}\do{%
\StrMid{\PartieDecimaleFractionDeci}{##1}{##1}[\ChiffrePartieDecimale]%
- \xintifForFirst{}{\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{+}}\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}}%
+ \xintifForFirst{}{\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{+}}\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\ifboolKV[ClesFracDeci]{Vides}{\pointilles[\PfCLongueurP]}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}}}%
}%
}%
}{%
@@ -38,20 +43,20 @@
\StrGobbleLeft{\FractionDeciNum}{\fpeval{\LongueurPartieEntiere}}[\DecompositionFracDeciComplete]%
% on affiche la partie décimale.
\xintFor* ##1 in {\xintSeq{1}{\fpeval{\LongueurFracDeciNum-\LongueurPartieEntiere}}}\do{%
- \xintifForFirst{}{+}\StrMid{\DecompositionFracDeciComplete}{##1}{##1}[\ChiffrePartieDecimale]\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**##1}}}%
+ \xintifForFirst{}{+}\StrMid{\DecompositionFracDeciComplete}{##1}{##1}[\ChiffrePartieDecimale]\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\ifboolKV[ClesFracDeci]{Vides}{\pointilles[\PfCLongueurP]}{\num{\fpeval{10**##1}}}}%
}%
}%
}{%
\ensuremath{%
\xintFor* ##1 in {\xintSeq{1}{\LongueurPartieDecimale}}\do{%
\StrMid{\PartieDecimaleFractionDeci}{##1}{##1}[\ChiffrePartieDecimale]%
- \xintifForFirst{}{+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}%
+ \xintifForFirst{}{+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\ifboolKV[ClesFracDeci]{Vides}{\pointilles[\PfCLongueurP]}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}}%
}%
}%
}%
}{%
\ensuremath{%
- \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieDecimaleFractionDeci}}}{\num{\FractionDeciDeno}}%
+ \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieDecimaleFractionDeci}}}{\ifboolKV[ClesFracDeci]{Vides}{\pointilles[\PfCLongueurP]}{\num{\FractionDeciDeno}}}%
}%
}%
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDecomposerNombrePremier.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDecomposerNombrePremier.tex
index bf1a28e3334..7bbc738f703 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDecomposerNombrePremier.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDecomposerNombrePremier.tex
@@ -1,10 +1,19 @@
%%%
% Nombre Premier
%%%
-\setKVdefault[ClesNombrePremier]{Tableau=false,TableauVide=false,TableauVertical=false,TableauVerticalVide=false,Exposant=false,Longue=false,All=false,Arbre=false,ArbreVide=false,ArbreComplet=false,ArbreDessine=false,ArbreDessineVide=false,Entoure=false,Entourefin=false,Diviseurs=false,DiviseursT=false,Dot=\dotfill,Impose=false,ImposeAll=false,Potence=false,Decalage=10,Vide=false,CouleurFeuillage=ForestGreen,CouleurTronc=BurlyWood,CouleurFruits=Red,CouleurTexte=white}%
+\def\filedateDecompNbPremier{2024/08/04}%
+\def\fileversionDecompNbPremier{0.1}%
+\message{-- \filedateDecompNbPremier\space v\fileversionDecompNbPremier}%
+%
+\setKVdefault[ClesNombrePremier]{Tableau=false,TableauVide=false,TableauVertical=false,TableauVerticalVide=false,Exposant=false,Longue=false,All=false,Arbre=false,ArbreVide=false,ArbreComplet=false,ArbreDessine=false,ArbreDessineVide=false,Entoure=false,Entourefin=false,Diviseurs=false,DiviseursT=false,Dot=\dotfill,Impose=false,ImposeAll=false,Potence=false,Decalage=10,Vide=false,CouleurFeuillage=ForestGreen,CouleurTronc=BurlyWood,CouleurFruits=Red,CouleurTexte=white,Poisson=false,Echelle=1cm,AngleArete=45,CouleurPoisson=white,Visible=false,Solution=false}%
\defKV[ClesNombrePremier]{Nombre=\ifboolKV[ClesNombrePremier]{ArbreDessine}{}{\ifboolKV[ClesNombrePremier]{ArbreDessineVide}{}{\setKV[ClesNombrePremier]{Impose}}}}%
\defKV[ClesNombrePremier]{AllNombre=\setKV[ClesNombrePremier]{ImposeAll}}%
-\defKV[ClesNombrePremier]{Impression=\setKV[ClesNombrePremier]{CouleurFeuillage=white,CouleurTronc=white,CouleurFruits=gris,CouleurTexte=black}}
+\defKV[ClesNombrePremier]{Impression=\setKV[ClesNombrePremier]{CouleurFeuillage=white,CouleurTronc=white,CouleurFruits=gris,CouleurTexte=black}}%
+\defKV[ClesNombrePremier]{ElementsVisibles=\setKV[ClesNombrePremier]{Visible}\setKV[ClesNombrePremier]{Vide}}%
+\defKV[ClesNombrePremier]{CouleurSolution=\setKV[ClesNombrePremier]{Solution}}%
+
+\newtoks\tokNPElementsVisibles%
+\def\UpdatetoksElementAfficher#1\nil{\addtotok\tokNPElementsVisibles{#1,}}%
\newcommand\Decomposition[2][]{%
\useKVdefault[ClesNombrePremier]%
@@ -26,6 +35,136 @@
\ifboolKV[ClesNombrePremier]{ArbreDessineVide}{\setKV[ClesNombrePremier]{Vide=true}\MPArbreDessine{#2}{\useKV[ClesNombrePremier]{Nombre}}}{}%
\ifboolKV[ClesNombrePremier]{Diviseurs}{\ListeDiviseur{#2}}{}%
\ifboolKV[ClesNombrePremier]{DiviseursT}{\ListeDiviseurT{#2}}{}%
+ \ifboolKV[ClesNombrePremier]{Poisson}{%
+ \tokNPElementsVisibles{}%
+ \PfCTousLesDiviseurs{#2}%
+ \ifboolKV[ClesNombrePremier]{Visible}{%
+ \xdef\foo{\useKV[ClesNombrePremier]{ElementsVisibles}}%
+ \readlist*\ListeElementsAAfficher{\foo}%
+ }{%
+ \xdef\foo{-1}\readlist*\ListeElementsAAfficher{\foo}%
+ }%
+ \foreachitem\compteur\in\ListeElementsAAfficher{\expandafter\UpdatetoksElementAfficher\compteur\nil}%
+ \MPFish{\PfCPileDiviseurs}{#2}{\the\tokNPElementsVisibles}%
+ }{}%
+}%
+
+\newcommand\PfCTousLesDiviseurs[1]{%
+ %#1 : le nombre entier \`a tester
+ \xdef\anpl{#1}%\relax%
+ \xdef\bnpl{2}%\relax%
+ \xdef\pilebl{2}%\relax%
+ \xdef\PfCPileDiviseurs{1}%
+ \loop
+ \ifnum\fpeval{\bnpl}<\fpeval{\anpl}\relax
+ \modulo{\fpeval{\anpl}}{\fpeval{\bnpl}}
+ \ifnum\remainder=0\relax
+ \xdef\PfCPileDiviseurs{\PfCPileDiviseurs,\fpeval{\bnpl}}%
+ \fi
+ \xdef\bnpl{\fpeval{\bnpl+1}}%
+ \repeat
+ \xdef\PfCPileDiviseurs{\PfCPileDiviseurs,#1}%
+}%%
+
+\def\MPFish#1#2#3{
+ \ifluatex
+ \mplibforcehmode%
+ \mplibnumbersystem{double}%
+ \begin{mplibcode}
+ Echelle=\useKV[ClesNombrePremier]{Echelle};
+ AngleArete=\useKV[ClesNombrePremier]{AngleArete};
+
+ boolean Vide,Visible,Solution;
+ Vide=\useKV[ClesNombrePremier]{Vide};
+ Visible=\useKV[ClesNombrePremier]{Visible};
+ Solution=\useKV[ClesNombrePremier]{Solution};
+
+ color CoulTete,CoulSol;
+ CoulTete=\useKV[ClesNombrePremier]{CouleurPoisson};
+ if Solution:
+ CoulSol=\useKV[ClesNombrePremier]{CouleurSolution};
+ fi;
+
+ numeric Diviseurs[];
+ vardef LectureDiviseurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Diviseurs[n]=p_;
+ endfor;
+ enddef;
+
+ LectureDiviseurs(#1);
+ TotalDiviseurs:=n;
+
+ boolean RETOUR;
+ RETOUR=false;
+
+ vardef TestVisible(expr nrt)=
+ RETOUR:=false;
+ for p_=#3:
+ if p_=nrt:
+ RETOUR:=true;
+ fi;
+ endfor;
+ enddef;
+
+
+ pair Ah[],Ab[],O[],Ac;
+ O0=(0,0);
+ O[-1]=O0+Echelle*(0,1);
+ O[-2]=O0+Echelle*(0,-1);
+ fill (arccercle(O[-1],O[-2],O0)--cycle) withcolor CoulTete;
+ trace arccercle(O[-1],O[-2],O0)--cycle;
+ label.lft(TEX("\num{"&decimal(#2)&"}"),O0);
+ %
+ for k=1 upto (TotalDiviseurs div 2):
+ if k=1:Echelle:=Echelle/2;fi;
+ O[k]-O[k-1]=Echelle*(1,0);
+ if k=1:Echelle:=Echelle*2;fi;
+ Ah[k]-O[k]=Echelle*(cosd(AngleArete),sind(AngleArete));
+ Ab[k]-O[k]=Echelle*(cosd(AngleArete),-sind(AngleArete));
+ draw O[k-1]--O[k];
+ draw Ah[k]--O[k]--Ab[k];
+ if Vide=false:
+ label.top(TEX("\num{"&decimal(Diviseurs[k])&"}"),Ah[k]);
+ label.bot(TEX("\num{"&decimal(Diviseurs[TotalDiviseurs+1-k])&"}"),Ab[k]);
+ else:
+ if Visible:
+ TestVisible(Diviseurs[k]);
+ if RETOUR:
+ label.top(TEX("\num{"&decimal(Diviseurs[k])&"}"),Ah[k]);
+ else:
+ if Solution:
+ drawoptions(withcolor CoulSol);
+ label.top(TEX("\num{"&decimal(Diviseurs[k])&"}"),Ah[k]);
+ drawoptions();
+ fi;
+ fi;
+ TestVisible(Diviseurs[TotalDiviseurs+1-k]);
+ if RETOUR:
+ label.bot(TEX("\num{"&decimal(Diviseurs[TotalDiviseurs+1-k])&"}"),Ab[k]);
+ else:
+ if Solution:
+ drawoptions(withcolor CoulSol);
+ label.bot(TEX("\num{"&decimal(Diviseurs[TotalDiviseurs+1-k])&"}"),Ab[k]);
+ drawoptions();
+ fi;
+ fi;
+ fi;
+ fi;
+ endfor;
+ if (TotalDiviseurs mod 2)<>0:
+ Ac-O[TotalDiviseurs div 2]=Echelle*(1,0);
+ draw Ac--O[TotalDiviseurs div 2];
+ if Vide=false:
+ label.rt(TEX("\num{"&decimal(Diviseurs[(TotalDiviseurs+1) div 2])&"}"),Ac);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ %
+ \fi
}%
\def\MPArbre#1{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDefiCalc.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDefiCalc.tex
index 6d850f80126..089b51658ab 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDefiCalc.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDefiCalc.tex
@@ -1,6 +1,10 @@
%%%
% Defi Calculatrice
%%%
+\def\filedateDefiCalc{2024/08/04}%
+\def\fileversionDefiCalc{0.1}%
+\message{-- \filedateDefiCalc\space v\fileversionDefiCalc}%
+%
\setKVdefault[DefiCalculatrice]{NbCasesNoires=6,ListeTouches={!},Impression=false}%
\newtoks\toktexteecran{}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDefiTables.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDefiTables.tex
index 340d598e2f8..79ad1064ebd 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDefiTables.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDefiTables.tex
@@ -1,7 +1,10 @@
%%%
% Defi Table
%%%
-
+\def\filedateDefiTables{2024/08/04}%
+\def\fileversionDefiTables{0.1}%
+\message{-- \filedateDefiTables\space v\fileversionDefiTables}%
+%
\setKVdefault[DefiTable]{Solution=false,Math=false,LargeurT=5mm,Graines=false,Creation=false,ValeurMin=1,ValeurMax=10,Restreint=false}
\defKV[DefiTable]{Graine=\setKV[DefiTable]{Graines}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDessinAlgo.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDessinAlgo.tex
index 85274cac81c..092aa5e8257 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDessinAlgo.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDessinAlgo.tex
@@ -1,6 +1,10 @@
%%%
% Dessin Algo
%%%
+\def\filedateDessinAlgo{2024/08/04}%
+\def\fileversionDessinAlgo{0.1}%
+\message{-- \filedateDessinAlgo\space v\fileversionDessinAlgo}%
+%
\newtoks\tokDessinAlgo%
\def\UpdatetoksDA#1\nil{\addtotok\tokDessinAlgo{#1,}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDessinGradue.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDessinGradue.tex
index 3bfacac68c2..bd83bb62404 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDessinGradue.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDessinGradue.tex
@@ -1,6 +1,10 @@
%%%
% Dessin Gradue
%%%
+\def\filedateDessinGradue{2024/08/04}%
+\def\fileversionDessinGradue{0.1}%
+\message{-- \filedateDessinGradue\space v\fileversionDessinGradue}%
+%
\setKVdefault[DessinGradue]{Lignes=10,Debut=-5,Fin=5,Pas=10,Solution=false,EcartVertical=1.5,LignesIdentiques,Longueur=10,Echelle=1,Droites=false,DemiDroites=false,OrigineVariable=false,Code=false}
\defKV[DessinGradue]{Traces=\setKV[DessinGradue]{Code}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDessinerRatio.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDessinerRatio.tex
index 27922bdd038..bbb24cb99cd 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDessinerRatio.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDessinerRatio.tex
@@ -1,6 +1,10 @@
%%%
% Lien : ratio
%%%
+\def\filedateDessinRatio{2024/08/04}%
+\def\fileversionDessinRatio{0.1}%
+\message{-- \filedateDessinRatio\space v\fileversionDessinRatio}%
+%
\setKVdefault[ClesRatio]{FigureCours=false,Figure=false,Longueur=5cm,TexteTotal=quantit\'e,TextePart=part,Tableau=false,GrandeurA=Grandeur A,GrandeurB=Part(s),Largeur=1cm,Stretch=1,Nom=false,CouleurUn=gris,CouleurDeux=0.5gris+0.5blanc,CouleurTrois=white,CouleurTab=gray!15,ModeleCouleur=5}
\newcommand\MPTest[9][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDiagrammeRadar.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDiagrammeRadar.tex
index cbed30414d5..70180f2a315 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDiagrammeRadar.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDiagrammeRadar.tex
@@ -1,6 +1,10 @@
%%%
% Radar
%%%
+\def\filedateRadar{2024/08/04}%
+\def\fileversionRadar{0.1}%
+\message{-- \filedateRadar\space v\fileversionRadar}%
+%
\setKVdefault[ClesRadar]{Rayon=3cm,Reference=20,MoyenneClasse=false,Disciplines=false,Pas=5}
\newtoks\toklisteradara%pour la moyenne de l'\'el\`eve
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDistributivite.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDistributivite.tex
index ad0dd8885d8..b8a9dc57fc5 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDistributivite.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDistributivite.tex
@@ -1,6 +1,9 @@
%%%
% Distributivit\'e
%%%
+\def\filedateDistributivite{2024/08/04}%
+\def\fileversionDistributivite{0.1}%
+\message{-- \filedateDistributivite\space v\fileversionDistributivite}%
% https://tex.stackexchange.com/questions/168972/draw-arrows-to-show-multiplication-pattern-distributive-property/169278?noredirect=1
\newcommand\Tikzmark[1]{%
\tikz[remember picture,baseline,inner sep=0pt]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDobble.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDobble.tex
index 2767a20c500..c00592b393f 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDobble.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDobble.tex
@@ -1,8 +1,10 @@
%%%
% dobble
%%%
+\def\filedateDobble{2024/08/04}%
+\def\fileversionDobble{0.1}%
+\message{-- \filedateDobble\space v\fileversionDobble}%
% by Maxime Chupin
-
\NewDocumentCommand\dobble{m}{%
\directlua{
require('PfCdobble.lua')
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDomino.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDomino.tex
index 49cf667c163..338dc07bb7b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDomino.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDomino.tex
@@ -1,6 +1,10 @@
%%%
% Domino
%%%
+\def\filedateDomino{2024/08/04}%
+\def\fileversionDomino{0.1}%
+\message{-- \filedateDomino\space v\fileversionDomino}%
+%
\newtcolorbox{MyDominoMini}[1][]{%
enhanced,
nobeforeafter,
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCDontCountDots.tex b/Master/texmf-dist/tex/latex/profcollege/PfCDontCountDots.tex
index e395500a3c3..ea6761035e2 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCDontCountDots.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCDontCountDots.tex
@@ -1,3 +1,9 @@
+%%%
+% Ne compte pas
+%%%
+\def\filedateDontCount{2024/08/04}%
+\def\fileversionDontCount{0.1}%
+\message{-- \filedateDontCount\space v\fileversionDontCount}%
% D'après twitter : https://twitter.com/DavidKButlerUoA/status/1700612346258002030/photo/1
\setKVdefault[NCPP]{Largeur=5,Longueur=7,Unite=5mm,Rayon=1mm,Multiple=3,Couleur=black,Solution=false,Graines=false}%
\defKV[NCPP]{Graine=\setKV[NCPP]{Graines}\PfCGraineAlea{#1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex
index f39b93ea469..372efa97842 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEcrireunQCM.tex
@@ -1,7 +1,11 @@
%%%
% QCM
%%%
-\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false,ACompleter=false}%
+\def\filedateQCM{2024/08/04}%
+\def\fileversionQCM{0.1}%
+\message{-- \filedateQCM\space v\fileversionQCM}%
+%
+\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false,ACompleter=false,AllSeul=false}%
\newlength{\LargeurQCM}%
\newlength{\PfCLargeurQCM}%
\newcounter{QuestionQCM}%
@@ -34,6 +38,23 @@
\fi%
}%
+\NewDocumentCommand\PfCQCMSMultiChoixLabelSol{mm}{%
+ \xdef\PfCFooChoixLabel{\ListeQCM[#1,\fpeval{\NumeroReponse}]}%
+ \setsepchar{-}%
+ \readlist*\PfCSolListeReponses{\PfCFooChoixLabel}%
+ \xdef\RetiensSiSol{0}%
+ \xintFor* ##3 in{\xintSeq{1}{\PfCSolListeReponseslen}}\do{%
+ \ifnum#2=\PfCSolListeReponses[##3]\relax%
+ \xdef\RetiensSiSol{\fpeval{\RetiensSiSol+1}}%
+ \fi%
+ }%
+ \ifnum\RetiensSiSol>0\relax%
+ $\blacksquare$%
+ \else%
+ $\square$%
+ \fi%
+}%
+
\NewDocumentCommand\QCMSeul{om}{%
\useKVdefault[QCMSeul]%
\setKV[QCMSeul]{#1}%
@@ -173,6 +194,36 @@
\newcommand\QCM[2][]{%
\useKVdefault[ClesQCM]%
\setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{AllSeul}{%
+ \setKV[QCMSeul]{#1}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \reademptyitems%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{enumerate}
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \item\ListeQCM[##1,1]%
+ \ifboolKV[QCMSeul]{EnColonne}{\begin{multicols}{\useKV[QCMSeul]{Colonnes}}}{}%
+ \ifboolKV[QCMSeul]{LabelLettre}{
+ \begin{enumerate}[label=\Alph{*}/]
+ }{%
+ \begin{enumerate}[label=$\square$]
+ }%
+ \xintFor* ##2 in{\xintSeq{1}{\fpeval{\NumeroReponse-2}}}\do{%
+ \xdef\Titi{##2}
+ \ifboolKV[QCMSeul]{Solution}{%
+ \item[\PfCQCMSMultiChoixLabelSol{##1}{##2}]%
+ }{%
+ \item%
+ }%
+ \ListeQCM[##1,\fpeval{##2+1}]
+ }%
+ \end{enumerate}
+ \ifboolKV[QCMSeul]{EnColonne}{\end{multicols}}{}%
+ }%
+ \end{enumerate}
+ }{%
\ifboolKV[ClesQCM]{Seul}{%
\QCMSeul[#1]{#2}%
}{%
@@ -248,6 +299,7 @@
}%
}%
}%
+}%
\NewDocumentCommand\PfCSolCellColor{mm}{%
\xdef\PfCFooSolColor{\ListeQCM[#1,\NumeroReponse]}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEcritureLettres.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEcritureLettres.tex
index 11ae58b5b71..f80bc938669 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEcritureLettres.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEcritureLettres.tex
@@ -1,6 +1,10 @@
%%%
% Ecriture des nombres en lettres
%%%
+\def\filedateEcrireLettres{2024/08/04}%
+\def\fileversionEcrireLettres{0.1}%
+\message{-- \filedateEcrireLettres\space v\fileversionEcrireLettres}%
+%
\setKVdefault[ClesEcriture]{Math=false,Majuscule=false,E=false,Tradition=false,Zero=false}%
\newcommand\EcriturePluriel[1]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEcritureUnites.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEcritureUnites.tex
index c4503954b3b..05e593623cd 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEcritureUnites.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEcritureUnites.tex
@@ -1,6 +1,10 @@
%%%
% Ecritures d'unit\'es
%%%
+\def\filedateEcrireUnites{2024/08/04}%
+\def\fileversionEcrireUnites{0.1}%
+\message{-- \filedateEcrireUnites\space v\fileversionEcrireUnites}%
+%
\setKVdefault[Unites]{m=false,km=false,hm=false,ha=false,dam=false,a=false,dm=false,cm=true,mm=false,um=false,nm=false,g=true,t=false,q=false,kg=false,hg=false,dag=false,dg=false,cg=false,mg=false,ug=false,ng=false,mmin=false,kmh=true,kms=false,ms=false,mh=false,kgm=false,gcm=true,L=true,kL=false,hL=false,daL=false,dL=false,cL=false,mL=false,l=true,kl=false,hl=false,dal=false,dl=false,cl=false,ml=false,Go=true,Mo=false,ko=false,To=false,o=false,kWh=true,C=true,K=false,F=false,Nombre,US=false,UK=false,CFA=false,CFP=false,CHF=false,Euro=false,Precision=2}%
\defKV[Unites]{Dots=\setKV[Unites]{Nombre=false}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex
index fc1674d37ff..58553f57f8b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEngrenagesBase.tex
@@ -1,11 +1,14 @@
%%%
% Engrenages
%%%
+\def\filedateEngrenages{2024/08/04}%
+\def\fileversionEngrenages{0.1}%
+\message{-- \filedateEngrenages\space v\fileversionEngrenages}%
+%
\newtoks\tokPfCEngrenages%
\def\UpdatetoksEngrenages#1/#2\nil{\addtotok\tokPfCEngrenages{#1,#2,}}%
\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={?}}%
-%\defKV[Engrenages]{Couleur=\setKV[Engrenages]{ListeCouleurs=#1}}%
\NewDocumentCommand\Engrenages{o m}{%
\newtoks\toklistecouleur%
@@ -24,7 +27,6 @@
\xdef\ListeAvantCouleurs{\useKV[Engrenages]{ListeCouleurs}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
- %\setKV[Engrenages]{Couleurs=\ListeCouleur[1]}%
\BuildEngrenages{\PfCFooEngrenages}{\the\toklistecouleur}%
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEnigmeAire.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEnigmeAire.tex
index 345f7416560..1840d8b0e39 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEnigmeAire.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEnigmeAire.tex
@@ -1,6 +1,10 @@
%%%
% Enigme Aire
%%%
+\def\filedateEnigmeAire{2024/08/04}%
+\def\fileversionEnigmeAire{0.1}%
+\message{-- \filedateEnigmeAire\space v\fileversionEnigmeAire}%
+%
\setKVdefault[EnigmeAire]{Modele=A,Couleur=LightSteelBlue,Echelle=7mm,Etape=1,Solution=false,Graines=false}
\defKV[EnigmeAire]{Graine=\setKV[EnigmeAire]{Graines}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEnquete.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEnquete.tex
index 678b268c57d..5dfc36587cb 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEnquete.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEnquete.tex
@@ -1,6 +1,10 @@
%%%
% Enquête
%%%
+\def\filedateEnquete{2024/08/04}%
+\def\fileversionEnquete{0.1}%
+\message{-- \filedateEnquete\space v\fileversionEnquete}%
+%
\setKVdefault[ClesEnquete]{Perso=Qui ?,Objet=Quoi ?,Lieu=Où ?,Largeur=4.5cm}
\newcommand\Enquete[1][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEratosthene.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEratosthene.tex
index 192e470e66b..5374c485d2a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCEratosthene.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEratosthene.tex
@@ -1,3 +1,10 @@
+%%%
+% Crible Eratostene
+%%%
+\def\filedateEratos{2024/08/04}%
+\def\fileversionEratos{0.1}%
+\message{-- \filedateEratos\space v\fileversionEratos}%
+%
\setKVdefault[ClesEra]{Premier=false,Nombre=1,CouleurP=Cornsilk!50,CouleurNP=Crimson!15,Colonnes=10,Lignes=10,Hauteur=24pt}%
\NewDocumentCommand\TestPremier{m}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFactorisation.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFactorisation.tex
index 823f2036237..bdcea30d9db 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFactorisation.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFactorisation.tex
@@ -1,3 +1,10 @@
+%%%
+% Factorisation
+%%%
+\def\filedateFactorisation{2024/08/04}%
+\def\fileversionFactorisation{0.1}%
+\message{-- \filedateFactorisation\space v\fileversionFactorisation}%
+%
\setKVdefault[Facto]{Aide=false,AideMul=false,Couleur=Crimson,NomExpression=A,Lettre=x,Details,Formel=false,VariableSup=false,ParenthesesFin=false,Finale=false,Type=0}
\defKV[Facto]{Litteral=\setKV[Facto]{Details=false}}
\defKV[Facto]{AutreVariable=\setKV[Facto]{VariableSup}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFicheMemo.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFicheMemo.tex
index 511e47da2f1..e2dfc25f137 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFicheMemo.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFicheMemo.tex
@@ -1,6 +1,10 @@
%%%
% Fiche m\'emorisation active
%%%
+\def\filedateFicheMemo{2024/08/04}%
+\def\fileversionFicheMemo{0.1}%
+\message{-- \filedateFicheMemo\space v\fileversionFicheMemo}%
+%
\setKVdefault[ClesFicheMemo]{TexteReponses=Réponses,TexteQuestions=Questions,Solution=false,Largeur=\linewidth}
\newcommand\FicheMemo[3][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex
index 5b95ddb02ec..26777eaac0e 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFonctionAffine.tex
@@ -1,6 +1,10 @@
%%%
% Fonction Affine
%%%
+\def\filedateAffine{2024/08/04}%
+\def\fileversionAffine{0.1}%
+\message{-- \filedateAffine\space v\fileversionAffine}%
+%
\setKVdefault[ClesAffine]{Nom=f,Variable=x,CoefDir=a,OrdoOrig=b,Ligne=false,Image=false,Antecedent=false,Graphique=false,Retrouve=false,ProgCalcul=false,Unitex=1,Unitey=1,VoirCoef=false,ACoef=0,Redaction=false,Ecriture=false,Definition=false,Centre=false}%ACoefficient=false%: inutile ?
\newcommand\FonctionAffine[5][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFractionAireCarre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFractionAireCarre.tex
index dbfe8109d21..8fe19930167 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFractionAireCarre.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFractionAireCarre.tex
@@ -1,6 +1,10 @@
%%%
% Fraction d'aire d'un carré
%%%
+\def\filedateFractionCarre{2024/08/04}%
+\def\fileversionFractionCarre{0.1}%
+\message{-- \filedateFractionCarre\space v\fileversionFractionCarre}%
+%
\setKVdefault[JeuAireCarre]{Couleur=LightSteelBlue,CouleurFond=Cornsilk,Perso=false,Graines=false,Parts=3,Longueur=4,NbPoints=2,Angle=0}%
\defKV[JeuAireCarre]{Graine=\setKV[JeuAireCarre]{Graines}\PfCGraineAlea{#1}}%
\defKV[JeuAireCarre]{ListeParts=\setKV[JeuAireCarre]{Perso}\xdef\PfCFooJeuAireCarre{#1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFractionNombre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFractionNombre.tex
index 52512fb83ef..20d1d1e93ac 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFractionNombre.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFractionNombre.tex
@@ -1,6 +1,10 @@
%%%
% Fraction Nombre
%%%
+\def\filedateFractionNombre{2024/08/04}%
+\def\fileversionFractionNombre{0.1}%
+\message{-- \filedateFractionNombre\space v\fileversionFractionNombre}%
+%
\newtoks\tokFractionNombrePerso%
\def\UpdatetoksFN#1\nil{\addtotok\tokFractionNombrePerso{"#1",}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFrise.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFrise.tex
index a07d2a931bd..c56b2c6f4f6 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFrise.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFrise.tex
@@ -1,6 +1,10 @@
%%%
% Frise temporelle
%%%
+\def\filedateFrise{2024/08/04}%
+\def\fileversionFrise{0.1}%
+\message{-- \filedateFrise\space v\fileversionFrise}%
+%
\setKVdefault[ClesFrise]{Longueur=8cm,Fleches=false,Ecart=5mm,Sup=false}%
\newtoks\toklistefrise%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFubuki.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFubuki.tex
index 0ce7af2ffa4..fd1f973bfd1 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFubuki.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFubuki.tex
@@ -1,3 +1,10 @@
+%%%
+% Fubuki
+%%%
+\def\filedateFubuki{2024/08/04}%
+\def\fileversionFubuki{0.1}%
+\message{-- \filedateFubuki\space v\fileversionFubuki}%
+%
\setKVdefault[Fubuki]{Largeur=20pt,Solution=false,Indice=false,Sommes=false,Couleur=LightSteelBlue,Perso=false,Vierge=false}%
\defKV[Fubuki]{Graine=\PfCGraineAlea{#1}}%
\defKV[Fubuki]{Indices=\setKV[Fubuki]{Indice}\xdef\PfCFooListeIndices{#1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCFutoshiki.tex b/Master/texmf-dist/tex/latex/profcollege/PfCFutoshiki.tex
index 4603265e0e5..300bdd43d0c 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCFutoshiki.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCFutoshiki.tex
@@ -1,6 +1,10 @@
%%%
% Futoshiki
%%%
+\def\filedateFutoshiki{2024/08/04}%
+\def\fileversionFutoshiki{0.1}%
+\message{-- \filedateFutoshiki\space v\fileversionFutoshiki}%
+%
\setKVdefault[Futo]{Largeur=15pt,Solution=false,CouleurSolution=Black,CouleurCase=Cornsilk,StyleTexte={}}
\newlength\PfCFutoHeight
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCGaram.tex b/Master/texmf-dist/tex/latex/profcollege/PfCGaram.tex
index 7e04378a93b..fd5a97439cf 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCGaram.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCGaram.tex
@@ -1,17 +1,21 @@
%%%
% Garam
%%%
-\setKVdefault[Garam]{Taille=7,Largeur=15pt,Solution=false,CouleurSolution=Black}
+\def\filedateGaram{2024/08/04}%
+\def\fileversionGaram{0.1}%
+\message{-- \filedateGaram\space v\fileversionGaram}%
+%
+\setKVdefault[Garam]{Taille=7,Largeur=15pt,Solution=false}%
+\defKV[Garam]{CouleurSolution=\setKV[Garam]{Solution}\colorlet{PfCGaramCoulSol}{#1}}%
\newlength\PfCGaramHeight
\NewDocumentCommand\Garam{o m}{%
- \useKVdefault[Garam]
+ \useKVdefault[Garam]%
\setKV[Garam]{#1}%
\setlength{\PfCGaramHeight}{\useKV[Garam]{Largeur}+\tabcolsep}%
\reademptyitems%
\setsepchar[*]{§*,*/}%
\readlist*\PfCListeGaram{#2}%
- \colorlet{PfCGaramCoulSol}{\useKV[Garam]{CouleurSolution}}%
\begin{NiceTabular}{*{\useKV[Garam]{Taille}}{m{\useKV[Garam]{Largeur}}}}
\CodeBefore
\xintFor* ##1 in{\xintSeq{2}{\fpeval{\useKV[Garam]{Taille}}}}\do{%
@@ -26,7 +30,7 @@
\rule{0pt}{\PfCGaramHeight}\xintFor* ##2 in {\xintSeq{1}{\useKV[Garam]{Taille}}}\do{%
\xintifForFirst{}{&}\StrChar{\PfCListeGaram[##1,##2,1]}{1}[\PfCCaracGaram]%
\IfStrEq{\PfCCaracGaram}{*}{\Block[draw,fill=black]{1-1}{}}{%
- \IfStrEq{\PfCCaracGaram}{!}{\Block{}{\ifboolKV[Garam]{Solution}{\StrGobbleLeft{\PfCListeGaram[##1,##2,1]}{1}}{}}}{\Block{}{\color{PfCGaramCoulSol}\PfCListeGaram[##1,##2,1]}}%
+ \IfStrEq{\PfCCaracGaram}{!}{\Block{}{\ifboolKV[Garam]{Solution}{\color{PfCGaramCoulSol}\StrGobbleLeft{\PfCListeGaram[##1,##2,1]}{1}}{}}}{\Block{}{\PfCListeGaram[##1,##2,1]}}%
}%
}\\
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex
index ad7e495f044..9bb83ad50d6 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex
@@ -1,6 +1,10 @@
%%%
% Geometrie
%%%
+\def\filedateGeometrie{2024/08/04}%
+\def\fileversionGeometrie{0.1}%
+\message{-- \filedateGeometrie\space v\fileversionGeometrie}%
+%
\setKVdefault[Geometrie]{CoinBG={(0,0)},CoinHD={(10u,10u)},TypeTrace="Instruments",Clip,Cadres=false,Epaisseur=1,Pointilles=false,Ombre=false,Couleur=black,Ecart=2,ModeleCouleur=5}%
\defKV[Geometrie]{Cadre=\setKV[Geometrie]{Cadres}\setKV[Geometrie]{Clip=false}}%
@@ -42,6 +46,9 @@
elseif \useKV[Geometrie]{TypeTrace}="Espace":
typetrace:="3D";
typerepre:="persp";
+ elseif \useKV[Geometrie]{TypeTrace}="Schema":
+ input PfCSketch;
+ sketchypaths;
fi;
xa:=xpart(Coinbg);
xb:=xpart(Coinhd);
@@ -120,6 +127,9 @@
elseif \useKV[Geometrie]{TypeTrace}="Espace":
typetrace:="3D";
typerepre:="persp";
+ elseif \useKV[Geometrie]{TypeTrace}="Schema":
+ input PfCSketch;
+ sketchypaths;
fi;}
]%
xa:=xpart(Coinbg);
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCGrades.tex b/Master/texmf-dist/tex/latex/profcollege/PfCGrades.tex
index 6155c43ca1d..d86c6e4e420 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCGrades.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCGrades.tex
@@ -1,8 +1,12 @@
%%%
% Grades
%%%
-\setKVdefault[Grades]{Solution=false,Longueur=9,Largeur=9,Echelle=8mm,Graines=false}
-\defKV[Grades]{Graine=\setKV[Grades]{Graines}}
+\def\filedateGrades{2024/08/04}%
+\def\fileversionGrades{0.1}%
+\message{-- \filedateGrades\space v\fileversionGrades}%
+%
+\setKVdefault[Grades]{Solution=false,Longueur=9,Largeur=9,Echelle=8mm,Graines=false}%
+\defKV[Grades]{Graine=\setKV[Grades]{Graines}}%
\NewDocumentCommand\Grades{o}{%
\useKVdefault[Grades]%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCGrimuku.tex b/Master/texmf-dist/tex/latex/profcollege/PfCGrimuku.tex
index 81e667533a3..9185b768929 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCGrimuku.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCGrimuku.tex
@@ -1,6 +1,10 @@
%%%
% Grimuku
%%%
+\def\filedateGrimuku{2024/08/04}%
+\def\fileversionGrimuku{0.1}%
+\message{-- \filedateGrimuku\space v\fileversionGrimuku}%
+%
\setKVdefault[Grimuku]{TLargeur=7,Solution=false,Largeur=30pt,CouleurCase=0.7white}%
\defKV[Grimuku]{CouleurSolution=\setKV[Grimuku]{Solution}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCHiddenMessage.tex b/Master/texmf-dist/tex/latex/profcollege/PfCHiddenMessage.tex
index f472e078443..65948f59498 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCHiddenMessage.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCHiddenMessage.tex
@@ -1,6 +1,10 @@
%%%
% Message caché
%%%
+\def\filedateHidden{2024/08/04}%
+\def\fileversionHidden{0.1}%
+\message{-- \filedateHidden\space v\fileversionHidden}%
+%
\setKVdefault[Hidden]{TLargeur=5,THauteur=3,Solution=false,Hauteur=70pt,Largeur=120pt,Jeu=false,Solution}
\defKV[Hidden]{Plateau=\setKV[Hidden]{Jeu}\setKV[Hidden]{Solution=false}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCHorloge.tex b/Master/texmf-dist/tex/latex/profcollege/PfCHorloge.tex
index 1133714ecdc..01af381977a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCHorloge.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCHorloge.tex
@@ -1,7 +1,11 @@
%%%
% Horloges
%%%
-\setKVdefault[ClesHorloge]{Aiguilles,Numerique=false,Secondes,Cadre,Rayon=1,Impression=false}
+\def\filedateHorloge{2024/08/12}%
+\def\fileversionHorloge{0.1a}%
+\message{-- \filedateHorloge\space v\fileversionHorloge}%
+%
+\setKVdefault[ClesHorloge]{Aiguilles,Numerique=false,Secondes,Cadre,Rayon=1,Impression=false,Sombre=false}
\NewDocumentCommand\Horloge{ }{%On désactive les :
\begingroup
@@ -62,13 +66,19 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
- boolean Secondes,Impression;
+ boolean Secondes,Impression,Sombre;
Secondes=\useKV[ClesHorloge]{Secondes};
Impression=\useKV[ClesHorloge]{Impression};
+ Sombre=\useKV[ClesHorloge]{Sombre};
if Impression:
+ if Sombre:
+ LightSteelBlue:=0.8*white;
+ Crimson:=black;
+ else:
LightSteelBlue:=0.9*white;
Crimson:=0.5*white;
fi;
+ fi;
u:=0.5u;
draw Afficheur(#1 div10,0);
draw Afficheur(#1 mod10,0) shifted(u*(1,0));
@@ -80,9 +90,21 @@
draw Afficheur(#3 div10,0) shifted(u*(6,0));
draw Afficheur(#3 mod10,0) shifted(u*(7,0));
fi;
+ if Sombre:
+ draw bbox currentpicture;
+ fi;
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={boolean Secondes;Secondes=\useKV[ClesHorloge]{Secondes};}]
+ \begin{mpost}[mpsettings={boolean Secondes,Impression,Sombre;Secondes=\useKV[ClesHorloge]{Secondes};Impression=\useKV[ClesHorloge]{Impression};Sombre=\useKV[ClesHorloge]{Sombre};}]
+ if Impression:
+ if Sombre:
+ LightSteelBlue:=0.8*white;
+ Crimson:=black;
+ else:
+ LightSteelBlue:=0.9*white;
+ Crimson:=0.5*white;
+ fi;
+ fi;
u:=0.5u;
draw Afficheur(#1 div10,0);
draw Afficheur(#1 mod10,0) shifted(u*(1,0));
@@ -94,6 +116,9 @@
draw Afficheur(#3 div10,0) shifted(u*(6,0));
draw Afficheur(#3 mod10,0) shifted(u*(7,0));
fi;
+ if Sombre:
+ draw bbox currentpicture;
+ fi;
\end{mpost}
\fi
}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCJeton.tex b/Master/texmf-dist/tex/latex/profcollege/PfCJeton.tex
index e3012070f27..68523efce53 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCJeton.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCJeton.tex
@@ -1,6 +1,10 @@
%%%
% Jeton
%%%
+\def\filedateJeton{2024/08/04}%
+\def\fileversionJeton{0.1}%
+\message{-- \filedateJeton\space v\fileversionJeton}%
+%
\setKVdefault[Jeton]{Diametre=5mm,Impression=false}%
\NewDocumentCommand\Jeton{om}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCJeuRangement.tex b/Master/texmf-dist/tex/latex/profcollege/PfCJeuRangement.tex
index 6508e6cd1a9..df2f709271b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCJeuRangement.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCJeuRangement.tex
@@ -1,3 +1,10 @@
+%%%
+% Jeu Rangement
+%%%
+\def\filedateJeuRangement{2024/08/04}%
+\def\fileversionJeuRangement{0.1}%
+\message{-- \filedateJeuRangement\space v\fileversionJeuRangement}%
+%
\setKVdefault[JeuRgt]{Creation=false,Deno=12,Graines=false,Largeur=15pt,Hauteur=20pt,Negatif=false,Decimaux=false,Solution=false,ValeurMin=2,ValeurMax=50,Exposants=false}
\defKV[JeuRgt]{Graine=\setKV[JeuRgt]{Graines}}%
\defKV[JeuRgt]{Exposant=\setKV[JeuRgt]{Exposants}\setKV[JeuRgt]{Deno=1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCKakurasu.tex b/Master/texmf-dist/tex/latex/profcollege/PfCKakurasu.tex
index 944d295e8fe..d608320b3e5 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCKakurasu.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCKakurasu.tex
@@ -1,6 +1,10 @@
%%%
% Kakurasu
%%%
+\def\filedateKakurasu{2024/08/04}%
+\def\fileversionKakurasu{0.1}%
+\message{-- \filedateKakurasu\space v\fileversionKakurasu}%
+%
\setKVdefault[Kakurasu]{Solution=false,Longueur=6,Largeur=6,Echelle=8mm,Graines=false,Trace=false}
\defKV[Kakurasu]{Graine=\setKV[Kakurasu]{Graines}}
\defKV[Kakurasu]{Traces=\setKV[Kakurasu]{Trace}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCKakuro.tex b/Master/texmf-dist/tex/latex/profcollege/PfCKakuro.tex
index adf0aba7d21..b480f442757 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCKakuro.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCKakuro.tex
@@ -1,6 +1,10 @@
%%%
% Kakuro
%%%
+\def\filedateKakuro{2024/08/04}%
+\def\fileversionKakuro{0.1}%
+\message{-- \filedateKakuro\space v\fileversionKakuro}%
+%
\setKVdefault[Kakuro]{CouleurCase=LightGray,TLargeur=5,THauteur=5,Solution=false,Largeur=2em,Aide=false,CouleurSolution=Black,Tailles=false}%,Taille=5
\defKV[Kakuro]{ListeNombres=\setKV[Kakuro]{Aide}}%
\defKV[Kakuro]{Taille=\setKV[Kakuro]{Tailles}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCKenKen.tex b/Master/texmf-dist/tex/latex/profcollege/PfCKenKen.tex
index e28efc379f5..21a16dbc783 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCKenKen.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCKenKen.tex
@@ -1,6 +1,10 @@
%%%
% KenKen
%%%
+\def\filedateKenken{2024/08/04}%
+\def\fileversionKenken{0.1}%
+\message{-- \filedateKenken\space v\fileversionKenken}%
+%
\setKVdefault[ClesKK]{Solution=false,Taille=3,Largeur=2em,Aide=false}%
\defKV[ClesKK]{Nombre=\setKV[ClesKK]{Aide}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheJeu.tex b/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheJeu.tex
index 5922748104b..f60cbce35ec 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheJeu.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheJeu.tex
@@ -1,8 +1,12 @@
%%%
% Labyrinthe
%%%
-\setKVdefault[Labyrinthe]{Lignes=6,Colonnes=3,Longueur=4,Hauteur=2,Passages=false,EcartH=1,EcartV=1,CouleurF=gray!50,Texte=\color{black},SensImpose=false,Slop}
-
+\def\filedateLabyJeu{2024/08/04}%
+\def\fileversionLabyJeu{0.1}%
+\message{-- \filedateLabyJeu\space v\fileversionLabyJeu}%
+%
+\setKVdefault[Labyrinthe]{Lignes=6,Colonnes=3,Longueur=4,Hauteur=2,Passages=false,EcartH=1,EcartV=1,CouleurF=gray!50,Texte=\color{black},SensImpose=false,Slop}%
+%
\tikzset{FDirect/.style={-stealth}}
\tikzset{FIndirect/.style={stealth-}}
\tikzset{FBidirect/.style={stealth-stealth}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheNombre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheNombre.tex
index b610849ea51..769617eb902 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheNombre.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCLabyrintheNombre.tex
@@ -1,6 +1,10 @@
%%%
% Labyrinthe Nombre
%%%
+\def\filedateLabyNombre{2024/08/04}%
+\def\fileversionLabyNombre{0.1}%
+\message{-- \filedateLabyNombre\space v\fileversionLabyNombre}%
+%
\setKVdefault[ClesLabyNb]{Multiple=5,XDepart=0,YDepart=0,Longueur=7,Largeur=4,Solution=false,Echelle=1,Angle=0,Couleur=red,Murs=false,Nom=Ex1,CouleurChemin=LightSteelBlue,DoubleOperation=false,Multiplication=false,Chemin=false,EntreeSortie=false,Entree="Nord",Sortie="Sud",SortieUnique=true,Graines=false,XArrivees=false,YArrivees=false,ArriveeX=5,ArriveeY=5}
\defKV[ClesLabyNb]{Graine=\setKV[ClesLabyNb]{Graines}}
\defKV[ClesLabyNb]{XArrivee=\setKV[ClesLabyNb]{XArrivees}\setKV[ClesLabyNb]{ArriveeX=#1}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCLego.tex b/Master/texmf-dist/tex/latex/profcollege/PfCLego.tex
index 901eb0a54bb..6d89f824089 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCLego.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCLego.tex
@@ -1,6 +1,10 @@
%%%
% Lego
%%%
+\def\filedateLego{2024/08/04}%
+\def\fileversionLego{0.1}%
+\message{-- \filedateLego\space v\fileversionLego}%
+%
\setKVdefault[Lego]{Echelle=1,Couleur=LightSteelBlue,Unite=8,Diviseur=2,Perso=false,Plaque=false,Largeura=2,Largeurb=2,Unique=false}%
\defKV[Lego]{ListePerso=\setKV[Lego]{Perso}\xdef\PfCFooLegoListePerso{#1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMentalo.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMentalo.tex
index 84176c0d1ff..0c024facd2a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMentalo.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMentalo.tex
@@ -1,6 +1,10 @@
%%%
% Mentalo
%%%
+\def\filedateMentalo{2024/08/04}%
+\def\fileversionMentalo{0.1}%
+\message{-- \filedateMentalo\space v\fileversionMentalo}%
+%
\NewDocumentCommand\PfCNumold{m}{%
\xintifboolexpr{#1<0}{(\num{#1})}{\num{#1}}%
}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMidpoint.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMidpoint.tex
index 0813f66c446..4fea05dcbb7 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMidpoint.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMidpoint.tex
@@ -1,6 +1,10 @@
%%%
% Midpoint
%%%
+\def\filedateMidpoint{2024/08/04}%
+\def\fileversionMidpoint{0.1}%
+\message{-- \filedateMidpoint\space v\fileversionMidpoint}%
+%
\setKVdefault[MidPoint]{Solution=false,Graines=false,Hard=false}
\defKV[MidPoint]{Graine=\setKV[MidPoint]{Graines}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCModeleBarre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCModeleBarre.tex
index a05ae0075b6..e894a9ebc6f 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCModeleBarre.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCModeleBarre.tex
@@ -1,6 +1,10 @@
%%%
% Modele en barre
%%%
+\def\filedateModeleBarre{2024/08/04}%
+\def\fileversionModeleBarre{0.1}%
+\message{-- \filedateModeleBarre\space v\fileversionModeleBarre}%
+%
\setKVdefault[ClesModeleBarre]{Hauteur=0.5cm,Largeur=1cm,Separation={0},Homogene=false,Multiplicatif=false,MultiplicatifH=false,MultiplicatifB=false}%Separation pour conserver le lien avec les équations.
\defKV[ClesModeleBarre]{Longueur=\setKV[ClesModeleBarre]{Homogene}}%
\defKV[ClesModeleBarre]{AccoladesH=\setKV[ClesModeleBarre]{MultiplicatifH}\setKV[ClesModeleBarre]{Multiplicatif}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMosaique.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMosaique.tex
index 91936d597b1..af964995ef7 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMosaique.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMosaique.tex
@@ -1,6 +1,10 @@
%%%
% Mosaique
%%%
+\def\filedateMosaique{2024/08/04}%
+\def\fileversionMosaique{0.1}%
+\message{-- \filedateMosaique\space v\fileversionMosaique}%
+%
\setKVdefault[ClesMosaique]{Largeur=2,Hauteur=2,Solution=false,Type=1,Label,Echelle=1cm}
\newcommand\DessineMosaique[2][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMotsCodes.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMotsCodes.tex
index 0929b761971..088f417c35d 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMotsCodes.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMotsCodes.tex
@@ -1,6 +1,10 @@
%%%
% Mots Cod\'es
%%%
+\def\filedateMotsCodes{2024/08/04}%
+\def\fileversionMotsCodes{0.1}%
+\message{-- \filedateMotsCodes\space v\fileversionMotsCodes}%
+%
\setKVdefault[MotsCodes]{LargeurT=1cm,Colonnes=5,Largeur=3cm,Solution=false,Math=false}%
\newcommand\MotsCodes[2][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMotsCroises.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMotsCroises.tex
index 4e6734dd7b4..5310516799b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMotsCroises.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMotsCroises.tex
@@ -1,6 +1,10 @@
%%%
% Mots croisés
%%%
+\def\filedateMotsCroises{2024/08/04}%
+\def\fileversionMotsCroises{0.1}%
+\message{-- \filedateMotsCroises\space v\fileversionMotsCroises}%
+%
\setKVdefault[ClesCroises]{Lignes=6,Colonnes=8,Solution=false,Croises=false,Couleur=gray,Largeur=1em}
\newcounter{PfCLettreHorizontal}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMotsEmpiles.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMotsEmpiles.tex
index 1c42d433a6a..c8ec37bc5d8 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMotsEmpiles.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMotsEmpiles.tex
@@ -1,6 +1,10 @@
%%%
% Mots empilés
%%%
+\def\filedateMotsEmpiles{2024/08/04}%
+\def\fileversionMotsEmpiles{0.1}%
+\message{-- \filedateMotsEmpiles\space v\fileversionMotsEmpiles}%
+%
\setKVdefault[ClesMotEmpile]{Colonne=4,Solution=false,Couleur=black}
\newcounter{CompteurMotEmpile}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMulArt.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMulArt.tex
index 27156c00b7f..99425418732 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMulArt.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMulArt.tex
@@ -1,6 +1,10 @@
%%%
% Mulart
%%%
+\def\filedateMulArt{2024/08/04}%
+\def\fileversionMulArt{0.1}%
+\message{-- \filedateMulArt\space v\fileversionMulArt}%
+%
\setKVdefault[TabMul]{Multiple=2,Cibles=false,Largeur=20pt,Couleurs=false,Graines=false,Operations=false,Enonce=false,SchemaEnonce=false}
\defKV[TabMul]{Couleur=\setKV[TabMul]{Couleurs}}
\defKV[TabMul]{Graine=\setKV[TabMul]{Graines}\PfCGraineAlea{#1}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMulJal.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMulJal.tex
index befce7a1106..3f9ba37758d 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMulJal.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMulJal.tex
@@ -1,6 +1,10 @@
%%%
% Multiplication par jalousie
%%%
+\def\filedateMulJal{2024/08/04}%
+\def\fileversionMulJal{0.1}%
+\message{-- \filedateMulJal\space v\fileversionMulJal}%
+%
\setKVdefault[MulJal]{Solution=false,CouleurTab=gray!15}%
\defKV[MulJal]{CouleurSolution=\setKV[MulJal]{Solution}}%
%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex
index bdb59526f0c..8fdf37c5b30 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMulJap.tex
@@ -1,6 +1,10 @@
%%%
% Multiplication Japonaise
%%%
+\def\filedateMulJap{2024/08/04}%
+\def\fileversionMulJap{0.1}%
+\message{-- \filedateMulJap\space v\fileversionMulJap}%
+%
\setKVdefault[MulJap]{Couleur=Orange,Bloc=false,DessinSeul=false}
\defKV[MulJap]{CouleurBloc=\setKV[MulJap]{Bloc}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex b/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex
index 7851f36ba79..aaf98ffe6ac 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCMulPiecesPuzzle.tex
@@ -1,6 +1,10 @@
%%%
% Pièces de puzzle pour multiplication
%%%
+\def\filedateMulPiecesPuzzle{2024/08/04}%
+\def\fileversionMulPiecesPuzzle{0.1}%
+\message{-- \filedateMulPiecesPuzzle\space v\fileversionMulPiecesPuzzle}%
+%
%https://mirror.gutenberg-asso.fr/tex.loria.fr/prod-graph/metafun.pdf
\newtoks\toklistepuzzlea%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCNombreAstral.tex b/Master/texmf-dist/tex/latex/profcollege/PfCNombreAstral.tex
index 428cd8d37c7..df1903bc0ea 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCNombreAstral.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCNombreAstral.tex
@@ -1,6 +1,10 @@
%%%
% Nombre Astral
%%%
+\def\filedateNombreAstral{2024/08/04}%
+\def\fileversionNombreAstral{0.1}%
+\message{-- \filedateNombreAstral\space v\fileversionNombreAstral}%
+%
\setKVdefault[NombreAstral]{Solution=false,Graines=false,Echelle=1,Couleur=LightSteelBlue,Horizontal=false}
\defKV[NombreAstral]{Graine=\setKV[NombreAstral]{Graines}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCNonogramme.tex b/Master/texmf-dist/tex/latex/profcollege/PfCNonogramme.tex
index 8adfbd5654e..d63fd9c70f1 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCNonogramme.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCNonogramme.tex
@@ -1,3 +1,10 @@
+%%%
+% Nonogramme
+%%%
+\def\filedateNonogramme{2024/08/04}%
+\def\fileversionNonogramme{0.1}%
+\message{-- \filedateNonogramme\space v\fileversionNonogramme}%
+%
\setKVdefault[Nono]{Largeur=10pt,Taille=5,Unite=1cm,Solution=false,Enonce=true}
\newtoks\toklistenonoa%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex b/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex
index 4fe05bc4d04..265beb92f9b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCNotionFonction.tex
@@ -1,6 +1,10 @@
%%%
% Fonction
%%%
+\def\filedateFonction{2024/08/04}%
+\def\fileversionFonction{0.1}%
+\message{-- \filedateFonction\space v\fileversionFonction}%
+%
\setKVdefault[ClesFonction]{Nom=f,Variable=x,Calcul=x,Tableau=false,Largeur=5mm,Ecriture=false,Definition=false,Points=false,Tangentes=false,PasX=1,PasY=1,UniteX=1,UniteY=1,Prolonge=false,Trace=false,Catmull=false,Splines=false,Lagrange=false,Epaisseur=1,Couleur=black,CouleurTrace=black,PointsCourbe=true,Codes=false,Origine={(0,0)},Vide=false}
\defKV[ClesFonction]{Traces=\setKV[ClesFonction]{Codes}}%
@@ -1249,6 +1253,17 @@ vardef Lagrange(expr valeur)(text t)=
%
RetiensCouleur(\useKV[TraceG]{CouleurTrace});
%
+ numeric styletrace[];
+ vardef RetiensStyle(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ styletrace[n]=p_;
+ endfor;
+ enddef;
+ %
+ RetiensStyle(\useKV[TraceG]{StyleTrace});
+ %
pair Origine,DecalageOrigine;
Origine=(xmin,ymin)+\useKV[TraceG]{Origine};
DecalageOrigine=\useKV[TraceG]{Origine};
@@ -1305,6 +1320,19 @@ vardef Lagrange(expr valeur)(text t)=
n:=0;
for p_=texto:
n:=n+1;
+ if unknown styletrace[n]:
+ drawoptions();
+ else:
+ if styletrace[n]=1:
+ drawoptions(dashed evenly);
+ elseif styletrace[n]=2:
+ drawoptions(dashed withdots);
+ elseif styletrace[n]=3:
+ drawoptions(dashed dashpattern(on6 off3 on1.5 off3));
+ else:
+ drawoptions();
+ fi;
+ fi;
draw courbe[n](borneinf[n],bornesup[n],100)(scantokens p_) withpen (pencircle scaled Epaisseur) withcolor if unknown colortrace[n]:black else: colortrace[n] fi;
endfor;
enddef;
@@ -1419,6 +1447,9 @@ vardef Lagrange(expr valeur)(text t)=
trace u*(xmin-grillex,k)--u*(xmax+grillex,k);
endfor;
drawoptions();
+ else:
+ grillex:=0;
+ grilley:=0;
fi;
if Graduations:
for k=gradx step gradx until (((xmax-xmin)-xpart(DecalageOrigine))*pasx):
@@ -1470,11 +1501,12 @@ vardef Lagrange(expr valeur)(text t)=
else:
DessineCourbes(#1);
NommeCourbes(#2);
- if Grille:
clip currentpicture to polygone(u*(xmin-grillex,ymin-grilley),u*(xmax+grillex,ymin-grilley),u*(xmax+grillex,ymax+grilley),u*(xmin-grillex,ymax+grilley));
+ if Grille:
+ %clip currentpicture to polygone(u*(xmin-grillex,ymin-grilley),u*(xmax+grillex,ymin-grilley),u*(xmax+grillex,ymax+grilley),u*(xmin-grillex,ymax+grilley));
draw polygone(u*(xmin-grillex,ymin-grilley),u*(xmax+grillex,ymin-grilley),u*(xmax+grillex,ymax+grilley),u*(xmin-grillex,ymax+grilley)) withcolor 0.75white;
else:
- clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ %clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
fi;
%
if Code:
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCNumberHive.tex b/Master/texmf-dist/tex/latex/profcollege/PfCNumberHive.tex
index ee37a5b2f18..96019b3d831 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCNumberHive.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCNumberHive.tex
@@ -1,6 +1,10 @@
%%%
% Number Hive
%%%
+\def\filedateNumberHive{2024/08/04}%
+\def\fileversionNumberHive{0.1}%
+\message{-- \filedateNumberHive\space v\fileversionNumberHive}%
+%
\setKVdefault[NumberHive]{Negatif=false,Produit=false,Niveau=8,Double=false,ListeCouleurs={Cornsilk,LightSteelBlue},CouleurCase=false,Jeton=false,Graines=false,Aide=false,UniteHexa=6mm}%
\defKV[NumberHive]{Cases=\setKV[NumberHive]{CouleurCase}}%
\defKV[NumberHive]{Jetons=\setKV[NumberHive]{Jeton}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCNumerationsAnciennes.tex b/Master/texmf-dist/tex/latex/profcollege/PfCNumerationsAnciennes.tex
index a864165fba1..b9560bb504b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCNumerationsAnciennes.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCNumerationsAnciennes.tex
@@ -1,3 +1,10 @@
+%%%
+% Numerations anciennes
+%%%
+\def\filedateNumAnciennes{2024/08/04}%
+\def\fileversionNumAnciennes{0.1}%
+\message{-- \filedateNumAnciennes\space v\fileversionNumAnciennes}%
+%
\setKVdefault[NumerationAncienne]{Couleur=black}%
\NewDocumentCommand\Chinoise{om}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCOperationsTrou.tex b/Master/texmf-dist/tex/latex/profcollege/PfCOperationsTrou.tex
index 347ca499bcf..ca9f72976e9 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCOperationsTrou.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCOperationsTrou.tex
@@ -1,11 +1,11 @@
%%%
% Op\'erations pos\'es à trou
%%%
-%% D'après https://tex.stackexchange.com/questions/277246/drawing-a-circle-around-the-numbers-in-xlop-package
-
-%\begin{document}%
+\def\filedateOpTrou{2024/08/04}%
+\def\fileversionOpTrou{0.1}%
+\message{-- \filedateOpTrou\space v\fileversionOpTrou}%
%
-%\end{document}
+%% D'après https://tex.stackexchange.com/questions/277246/drawing-a-circle-around-the-numbers-in-xlop-package
\newcommand\PfCchiffre[2]{\tikz[remember picture] \node[inner sep=0pt](#1){#2};}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPapiers.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPapiers.tex
index 0bb41363ec6..3929600a6e6 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPapiers.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPapiers.tex
@@ -1,6 +1,10 @@
%%%
% Papiers
%%%
+\def\filedatePapiers{2024/08/04}%
+\def\fileversionPapiers{0.1}%
+\message{-- \filedatePapiers\space v\fileversionPapiers}%
+%
\setKVdefault[Papiers]{Cinq=true,Seyes=false,Echelle=8,Isometrique=false,IsometriquePointe=false,Millimetre=false,Triangle=false,Largeur=5,Hauteur=4,Couleur=black,Grille=-1,GrillePointe=-1,PageEntiere=false,ZoneTexte=false,Baseline=false,CodeAfter=false}%
\defKV[Papiers]{Traces=\setKV[Papiers]{CodeAfter}}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex
index 6628d3d505a..904f272411a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPatronPaves.tex
@@ -1,6 +1,10 @@
%%%
% Patrons de pavés droits et cubes
%%%
+\def\filedatePatronspaves{2024/08/04}%
+\def\fileversionPatronspaves{0.1}%
+\message{-- \filedatePatronspaves\space v\fileversionPatronspaves}%
+%
\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false,AColorier=false}%
%EcartColorier est en nombre de parts pour le cube, en mm pour le pavé.
\defKV[ClesPatron]{EcartColorier=\setKV[ClesPatron]{AColorier}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPattern.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPattern.tex
index 29fa45c08fe..fb6f0bf9f3a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPattern.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPattern.tex
@@ -1,6 +1,10 @@
%%%
% Visual Pattern
%%%
+\def\filedatePattern{2024/08/04}%
+\def\fileversionPattern{0.1}%
+\message{-- \filedatePattern\space v\fileversionPattern}%
+%
\setKVdefault[Pattern]{Type=1,Etape=3}
\NewDocumentCommand\VisualPattern{o}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPavage.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPavage.tex
index 2d25df1b990..4dabb044116 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPavage.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPavage.tex
@@ -1,6 +1,10 @@
%%%
% Pavage
%%%
+\def\filedatePavage{2024/08/04}%
+\def\fileversionPavage{0.1}%
+\message{-- \filedatePavage\space v\fileversionPavage}%
+%
\setKVdefault[Pavage]{%
Before=false,
Niveau=3,
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex
index df380d48ee4..503e2e1182d 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPixelArt.tex
@@ -1,11 +1,16 @@
%%%
% PixelArt
%%%
+\def\filedatePixelArt{2024/08/04}%
+\def\fileversionPixelArt{0.1}%
+\message{-- \filedatePixelArt\space v\fileversionPixelArt}%
+%
\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,Geant=false,HauteurD=1,LargeurD=1,Complet=false,Numero=1,Separations=false}%
+\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,Geant=false,HauteurD=1,LargeurD=1,Complet=false,Numero=1,Separations=false,Deforme=false,Coefx=0.25,Coefy=0.25,Borne=false,Graines=false}%
\defKV[ClesPixelArt]{ListeNombres=\setKV[ClesPixelArt]{Nombres}}%
+\defKV[ClesPixelArt]{Graine=\setKV[ClesPixelArt]{Graines}}%
\NewDocumentCommand\PixelArt{o m}{%
\toklistePANombre{}%
@@ -34,11 +39,15 @@
\BuildPixelArtGeant{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}{\the\intquotient}{\the\remainder}%
}%
}{%
- \BuildPixelArt{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}%
+ \ifboolKV[ClesPixelArt]{Deforme}{%
+ \BuildPixelArtDeforme{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}%
+ }{%
+ \BuildPixelArt{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}%
+ }%
}%
}%
-\NewDocumentCommand\BuildPixelArt{m m m m}{%
+\NewDocumentCommand\BuildPixelArtDeforme{m m m m}{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -48,6 +57,39 @@
hauteurd:=\useKV[ClesPixelArt]{HauteurD};
Unite:=\useKV[ClesPixelArt]{Unite};
+ %Deformation
+ Coefx=\useKV[ClesPixelArt]{Coefx};
+ Coefy=\useKV[ClesPixelArt]{Coefy};
+ boolean Borne,Graines;
+ Borne=\useKV[ClesPixelArt]{Borne};
+ Graines=\useKV[ClesPixelArt]{Graines};
+ if Graines:
+ randomseed:=\useKV[ClesPixelArt]{Graine};
+ fi;
+ %
+ pair M[][];
+ for l=1 upto hauteur+1:
+ for c=1 upto largeur+1:
+ if Borne:
+ if (l=1) or (l=hauteur+1):
+ M[l][c]=Unite*(c,l)+Unite*(-Coefx+uniformdeviate(2*Coefx),0);
+ if (c=1) or (c=largeur+1):
+ M[l][c]:=Unite*(c,l);
+ fi;
+ else:
+ if (c=1) or (c=largeur+1):
+ M[l][c]=Unite*(c,l-1)+Unite*(0,uniformdeviate(Coefy));
+ else:
+ M[l][c]=Unite*(c,l)+Unite*(-Coefx+uniformdeviate(2*Coefx),-Coefy+uniformdeviate(2*Coefy));
+ fi;
+ fi;
+ else:
+ M[l][c]=Unite*(c,l)+Unite*(-Coefx+uniformdeviate(2*Coefx),-Coefy+uniformdeviate(2*Coefy));
+ fi;
+ %dotlabel("",M[l][c]);
+ endfor;
+ endfor;
+
boolean Solution,Nombres,Separations;
Solution:=\useKV[ClesPixelArt]{Solution};
Nombres:=\useKV[ClesPixelArt]{Nombres};
@@ -56,7 +98,7 @@
string BaseLettres;
BaseLettres=str #2;
numeric EchelleScale;
- EchelleScale=Unite/5mm;
+ EchelleScale=Unite/10mm;
color ColorEntier[],ColFond;
n:=0;
@@ -86,11 +128,107 @@
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]) scaled EchelleScale,((l-1)*Unite,(h-1)*Unite));
+ label(TEX(RetiensNombres[m+1]) scaled EchelleScale,iso(M[h+1][l],M[h][l],M[h][l+1],M[h+1][l+1]));
fi;
endfor;
else:
- label(TEX(substring(p,p+1) of p_) scaled EchelleScale,((l-1)*Unite,(h-1)*Unite));
+ label(TEX(substring(p,p+1) of p_) scaled EchelleScale,iso(M[h+1][l],M[h][l],M[h][l+1],M[h+1][l+1]));
+ 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 polygone(M[h+1][l],M[h][l],M[h][l+1],M[h+1][l+1]) withcolor ColFond fi;
+ fi;
+ trace polygone(M[h+1][l],M[h][l],M[h][l+1],M[h+1][l+1]);
+ fi;
+ endfor;
+ endfor;
+ closefrom nomfichier;
+ enddef;
+
+ Lecturecsv("#1");
+% if Separations:
+% drawoptions(withcolor Purple);
+% for k=hauteur step -hauteurd until 0:
+% draw (Unite*(-1,k-0.5)--Unite*(largeur,k-0.5)) withpen pencircle scaled 1.25;
+% endfor;
+% for k=0 step largeurd until largeur:
+% draw (Unite*(k-0.5,hauteur+0.125)--Unite*(k-0.5,-0.875)) withpen pencircle scaled 1.25;
+% endfor;
+% drawoptions();
+% fi;
+ \end{mplibcode}
+\fi
+}%
+
+\NewDocumentCommand\BuildPixelArt{m m m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ largeur:=\useKV[ClesPixelArt]{Largeur};
+ hauteur:=\useKV[ClesPixelArt]{Hauteur};
+ largeurd:=\useKV[ClesPixelArt]{LargeurD};
+ hauteurd:=\useKV[ClesPixelArt]{HauteurD};
+ Unite:=\useKV[ClesPixelArt]{Unite};
+
+ boolean Solution,Nombres,Separations;
+ Solution:=\useKV[ClesPixelArt]{Solution};
+ Nombres:=\useKV[ClesPixelArt]{Nombres};
+ Separations:=\useKV[ClesPixelArt]{Separations};
+
+ string BaseLettres;
+ BaseLettres=str #2;
+ numeric EchelleScale;
+ EchelleScale=Unite/5mm;
+
+ color ColorEntier[],ColFond;
+ n:=0;
+ for p_=#3:
+ n:=n+1;
+ ColorEntier[n]:=p_;
+ endfor;
+
+ string RetiensNombres[];
+ if Nombres:
+ k:=0;
+ for p_=#4:
+ k:=k+1;
+ RetiensNombres[k]=p_;
+ endfor;
+ else:
+ m:=0;
+ for p_=0 upto n-1:
+ m:=m+1;
+ RetiensNombres[m]=substring(p_,p_+1) of BaseLettres;
+ endfor;
+ fi;
+
+ picture Etiquette[];
+ for k=1 upto n:
+ Etiquette[k]=image(
+ label(TEX(RetiensNombres[k]) scaled EchelleScale,(0,0));
+ );
+ endfor;
+
+ 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 Solution=false:
+ if (substring(p,p+1) of p_)="-":
+ else:
+ for m=0 upto (length BaseLettres-1):
+ if (substring(p,p+1) of p_)=substring(m,m+1) of BaseLettres:
+ draw Etiquette[m+1] shifted((l-1)*Unite,(h-1)*Unite);
+ fi;
+ endfor;
+ fi;
fi;
if Solution:
for m=0 upto (length BaseLettres-1):
@@ -101,7 +239,6 @@
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;
@@ -120,10 +257,12 @@
fi;
\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};}]
+ \begin{mpost}[mpsettings={largeur:=\useKV[ClesPixelArt]{Largeur}; hauteur:=\useKV[ClesPixelArt]{Hauteur}; Unite:=\useKV[ClesPixelArt]{Unite}; boolean Solution,Nombres,Separations; Solution:=\useKV[ClesPixelArt]{Solution}; Nombres:=\useKV[ClesPixelArt]{Nombres}; Separations:=\useKV[ClesPixelArt]{Separations};}]
string BaseLettres;
BaseLettres=str #2;
-
+ numeric EchelleScale;
+ EchelleScale=Unite/5mm;
+
color ColorEntier[],ColFond;
n:=0;
for p_=#3:
@@ -133,13 +272,26 @@
string RetiensNombres[];
if Nombres:
- n:=0;
+ k:=0;
for p_=#4:
- n:=n+1;
- RetiensNombres[n]=p_;
+ k:=k+1;
+ RetiensNombres[k]=p_;
+ endfor;
+ else:
+ m:=0;
+ for p_=0 upto n-1:
+ m:=m+1;
+ RetiensNombres[m]=substring(p_,p_+1) of BaseLettres;
endfor;
fi;
-
+
+ picture Etiquette[];
+ for k=1 upto n:
+ Etiquette[k]=image(
+ label(LATEX(RetiensNombres[k]) scaled EchelleScale,(0,0));
+ );
+ endfor;
+
vardef Lecturecsv(expr nomfichier)=
for h=hauteur downto 1:
string p_;
@@ -147,16 +299,15 @@
l:=0;
for p=0 step 2 until 2*largeur-2:
l:=l+1;
+ if Solution=false:
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));
+ draw Etiquette[m+1] shifted((l-1)*Unite,(h-1)*Unite);
fi;
endfor;
- else:
- label(LATEX(substring(p,p+1) of p_),((l-1)*Unite,(h-1)*Unite));
+ fi;
fi;
if Solution:
for m=0 upto (length BaseLettres-1):
@@ -167,21 +318,30 @@
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");
+ if Separations:
+ drawoptions(withcolor Purple);
+ for k=hauteur step -hauteurd until 0:
+ draw (Unite*(-1,k-0.5)--Unite*(largeur,k-0.5)) withpen pencircle scaled 1.25;
+ endfor;
+ for k=0 step largeurd until largeur:
+ draw (Unite*(k-0.5,hauteur+0.125)--Unite*(k-0.5,-0.875)) withpen pencircle scaled 1.25;
+ endfor;
+ drawoptions();
+ fi;
\end{mpost}
\fi
-}
+}%
\NewDocumentCommand\BuildPixelArtGeant{m m m m m m}{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
+ \ifluatex%
+ \mplibforcehmode%
+ \begin{mplibcode}%
largeur:=\useKV[ClesPixelArt]{Largeur};
hauteur:=\useKV[ClesPixelArt]{Hauteur};
largeurd:=\useKV[ClesPixelArt]{LargeurD};
@@ -253,5 +413,5 @@
Lecturecsv("#1");
\end{mplibcode}
- \fi
-} \ No newline at end of file
+ \fi%
+}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPourcentage.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPourcentage.tex
index 1f6f18b19b3..03177d14dc8 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPourcentage.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPourcentage.tex
@@ -1,6 +1,10 @@
%%%
% Application : pourcentage
%%%
+\def\filedatePourcentage{2024/08/04}%
+\def\fileversionPourcentage{0.1}%
+\message{-- \filedatePourcentage\space v\fileversionPourcentage}%
+%
\setKVdefault[ClesPourcentage]{Appliquer,Calculer=false,Augmenter=false,Reduire=false,Fractionnaire=false,Decimal,Formule=false,Concret=false,GrandeurA=Grandeur A,GrandeurB=Total,Largeur=1cm,MotReduction=diminution,AideTableau=false,ColorFill=white,CouleurTab=gray!15}
\defKV[ClesPourcentage]{Unite=\setKV[ClesPourcentage]{Concret}}
\newcommand\Pourcentage[3][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex b/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex
index dc6a39b7a57..e3a5f04b628 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCProbaFrequence.tex
@@ -1,6 +1,10 @@
%%%
% Probabilité et fréquence
%%%
+\def\filedateProbaFrequence{2024/08/04}%
+\def\fileversionProbaFrequence{0.1}%
+\message{-- \filedateProbaFrequence\space v\fileversionProbaFrequence}%
+%
\setKVdefault[PfCFrequence]{Couleur=false,Lancers=1,Legende=false}%
\defKV[PfCFrequence]{ListeCouleurs=\setKV[PfCFrequence]{Couleur}}%
\defKV[PfCFrequence]{Legendes=\setKV[PfCFrequence]{Legende}\setsepchar{,}\reademptyitems\readlist*\PfMListeLegendes{#1}\reademptyitems}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCProbabilites.tex b/Master/texmf-dist/tex/latex/profcollege/PfCProbabilites.tex
index 7ed834a61ea..73bafa9ba27 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCProbabilites.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCProbabilites.tex
@@ -1,7 +1,11 @@
%%%
% Proba
%%%
-\setKVdefault[ClesProba]{Echelle=false,Arbre=false,Branche=2,Angle=60,Rayon=0.25,LongueurEchelle=5,Affichage=0,Grille=1,Incline}
+\def\filedateProba{2024/08/15}%
+\def\fileversionProba{0.1a}%
+\message{-- \filedateProba\space v\fileversionProba}%
+%
+\setKVdefault[ClesProba]{Echelle=false,Arbre=false,Branche=2,Angle=60,Rayon=0.25,LongueurEchelle=5,Affichage=0,Grille=1,Incline,SansProba=false}
\def\Updatetoksproba#1/#2\nil{\addtotok\toklistepointproba{"#1","\footnotesize #2",}}
\def\Updatetoksprobapdf#1/#2\nil{\addtotok\toklistepointproba{"#1","\noexpand\footnotesize #2",}}
@@ -35,6 +39,8 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean SansProba;
+ SansProba=\useKV[ClesProba]{SansProba};
pair A,B,C[],D[];%les noeuds de l'arbre
%Figure(-10u,-10u,10u,10u);
A=u*(1,1);
@@ -58,8 +64,10 @@
fi;
marque_s:=marque_s*2;
labeloffset:=labeloffset*3;
+ if SansProba=false:
label.bot(btex 0 etex,A);
label.bot(btex 1 etex,B);
+ fi;
labeloffset:=labeloffset/3;
n:=1;%compter les informations
k:=1;% compter les informations noeud pour les placer
@@ -93,7 +101,7 @@
toto(#2);
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={input PfCGeometrie;}]
+ \begin{mpost}[mpsettings={input PfCGeometrie;boolean SansProba;SansProba=\useKV[ClesProba]{SansProba};}]
pair A,B,C[],D[];%les noeuds de l'arbre
Figure(-10u,-10u,10u,10u);
A=u*(1,1);
@@ -117,8 +125,10 @@
fi;
marque_s:=marque_s*2;
labeloffset:=labeloffset*3;
+ if SansProba=false:
label.bot(btex 0 etex,A);
label.bot(btex 1 etex,B);
+ fi;
labeloffset:=labeloffset/3;
n:=1;%compter les informations
k:=1;% compter les informations noeud pour les placer
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCProgrammeCalcul.tex b/Master/texmf-dist/tex/latex/profcollege/PfCProgrammeCalcul.tex
index f1bdc0307fe..871f80d6508 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCProgrammeCalcul.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCProgrammeCalcul.tex
@@ -1,6 +1,10 @@
%%%%
% Prog de calculs "simples"
%%%%
+\def\filedateProgCalcul{2024/08/04}%
+\def\fileversionProgCalcul{0.1}%
+\message{-- \filedateProgCalcul\space v\fileversionProgCalcul}%
+%
\setKVdefault[ClesProg]{%
Ecart=2em,%
Direct,%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPropor.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPropor.tex
index 1e6526f41b0..c5e6dcd27dd 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPropor.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPropor.tex
@@ -1,6 +1,10 @@
%%%
% Proportionnalit\'e
%%%
+\def\filedatePropor{2024/08/04}%
+\def\fileversionPropor{0.1}%
+\message{-- \filedatePropor\space v\fileversionPropor}%
+%
\setKVdefault[ClesPropor]{GrandeurA=Grandeur A,GrandeurB=Grandeur B,Largeur=1cm,Math=false,Stretch=1,ColorFill=white,CouleurTab=gray!15,Vertical=false,Simple=false,Condense=false}%
\tikzstyle{FlechePropor}=[-stealth]
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCProprietesDroites.tex b/Master/texmf-dist/tex/latex/profcollege/PfCProprietesDroites.tex
index ad9f1b0edbe..fc74fea9c5a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCProprietesDroites.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCProprietesDroites.tex
@@ -1,6 +1,10 @@
%%%
% Ppt\'es des droites (6eme)
%%%
+\def\filedatePptesDroites{2024/08/04}%
+\def\fileversionPptesDroites{0.1}%
+\message{-- \filedatePptesDroites\space v\fileversionPptesDroites}%
+%
\setKVdefault[ClesDroites]{Brouillon=false,CitePropriete=false,Num=1,Figure=false,Remediation=false,FigureSeule=false}
\newcommand\Redaction[4][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPuissanceQuatre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPuissanceQuatre.tex
index 1d8a9299390..d51387cd78f 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPuissanceQuatre.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPuissanceQuatre.tex
@@ -1,30 +1,40 @@
%%%
% Puissances 4
%%%
-\setKVdefault[ClesPQuatre]{Couleur=Gray,Largeur=2cm,LargeurUn=2cm,Multiplication,Entier,Nombre,Exposant=false,Libre=false,Texte=false,Echelle=2}%
+\def\filedatePquatre{2024/08/04}%
+\def\fileversionPquatre{0.1}%
+\message{-- \filedatePquatre\space v\fileversionPquatre}%
+%
+\setKVdefault[ClesPQuatre]{Couleur=Gray,Largeur=2cm,LargeurUn=2cm,Multiplication,Entier,Nombre,Exposant=false,Libre=false,Texte=false,Echelle=2,Correction=false}%
\defKV[ClesPQuatre]{Addition=\setKV[ClesPQuatre]{Multiplication=false}}%
\defKV[ClesPQuatre]{Relatif=\setKV[ClesPQuatre]{Entier=false}}%
\defKV[ClesPQuatre]{Puissance=\setKV[ClesPQuatre]{Exposant}}%
\defKV[ClesPQuatre]{Autre=\setKV[ClesPQuatre]{Nombre=false}\setKV[ClesPQuatre]{Libre}}%
\defKV[ClesPQuatre]{Consignes=\setKV[ClesPQuatre]{Texte}}%
+\defKV[ClesPQuatre]{Solution=\setKV[ClesPQuatre]{Correction}\setsepchar{,}\ignoreemptyitems\readlist*\PQuatreListeS{#1}\reademptyitems}%
+\defKV[ClesPQuatre]{Graine=\PfCGraineAlea{#1}}%
\newtoks\toklistePQuatreh%
\newtoks\toklistePQuatrev%
+\newtoks\toklistePQuatres%
\def\UpdatetoksPQuatreh#1\nil{\addtotok\toklistePQuatreh{"#1",}}%
\def\UpdatetoksPQuatrev#1\nil{\addtotok\toklistePQuatrev{"#1",}}%
+\def\UpdatetoksPQuatres#1\nil{\addtotok\toklistePQuatres{"#1",}}%
\NewDocumentCommand\PQuatre{o +m}{%
\useKVdefault[ClesPQuatre]%
\toklistePQuatreh{}%
\toklistePQuatrev{}%
+ \toklistePQuatres{}%
\setKV[ClesPQuatre]{#1}%
\ifboolKV[ClesPQuatre]{Nombre}{%
\ifboolKV[ClesPQuatre]{Exposant}{%
- \def\PQuatreListe{$10^{-10}$,$10^{-9}$,$10^{-8}$,$10^{-7}$,$10^{-6}$,$10^{-5}$,$10^{-4}$,$10^{-3}$,$10^{-2}$,$10^{2}$,$10^{3}$,$10^{4}$,$10^{5}$,$10^{6}$,$10^{7}$,$10^{8}$,$10^{9}$,$10^{10}$}%
+ \def\PQuatreListe{-10,-9,-8,-7,-6,-5,-4,-3,-2,2,3,4,5,6,7,8,9,10}%
\MelangeListe{\PQuatreListe}{7}%
- \readlist*\PQuatreListeH{\faa}%
+ \ignoreemptyitems\readlist*\PQuatreListeH{\faa}%
\MelangeListe{\PQuatreListe}{7}%
- \readlist*\PQuatreListeV{\faa}%
+ \ignoreemptyitems\readlist*\PQuatreListeV{\faa}%
+ \reademptyitems
\foreachitem\compteur\in\PQuatreListeH{\expandafter\UpdatetoksPQuatreh\compteur\nil}%
\foreachitem\compteur\in\PQuatreListeV{\expandafter\UpdatetoksPQuatrev\compteur\nil}%
}{%
@@ -39,7 +49,7 @@
\foreachitem\compteur\in\PQuatreListeV{\expandafter\UpdatetoksPQuatrev\compteur\nil}%
}{%
% On choisit aléatoirement les listes de nombres de -10 à -2 union 2 à 10 en faisant deux listes : horizontale et verticale
- \def\PQuatreListe{$-10$,$-9$,$-8$,$-7$,$-6$,$-5$,$-4$,$-3$,$-2$,2,3,4,5,6,7,8,9,10}%
+ \def\PQuatreListe{-10,-9,-8,-7,-6,-5,-4,-3,-2,2,3,4,5,6,7,8,9,10}%
\MelangeListe{\PQuatreListe}{7}%
\readlist*\PQuatreListeH{\faa}%
\MelangeListe{\PQuatreListe}{7}%
@@ -55,6 +65,10 @@
\setsepchar{,}%
\foreachitem\compteur\in\PQuatreListes[1]{\expandafter\UpdatetoksPQuatrev\compteur\nil}%
\foreachitem\compteur\in\PQuatreListes[2]{\expandafter\UpdatetoksPQuatreh\compteur\nil}%
+ % On crée éventuellement la liste des solutions
+ \ifboolKV[ClesPQuatre]{Correction}{%
+ \foreachitem\compteur\in\PQuatreListeS{\expandafter\UpdatetoksPQuatres\compteur\nil}%
+ }{}%
}%
% Une fois les listes construites, on dessine et on place les listes.
\PQuatreGrille{\the\toklistePQuatrev}{\the\toklistePQuatreh}%
@@ -69,10 +83,12 @@
PQEchelle=\useKV[ClesPQuatre]{Echelle};
color PQfond;
PQfond=\useKV[ClesPQuatre]{Couleur};
- boolean PQLibre,PQMultiplication,PQTexte;
+ boolean PQLibre,PQMultiplication,PQTexte,Correction,Exposant;
PQLibre:=\useKV[ClesPQuatre]{Libre};
PQMultiplication=\useKV[ClesPQuatre]{Multiplication};
PQTexte:=\useKV[ClesPQuatre]{Texte};
+ Correction=\useKV[ClesPQuatre]{Correction};
+ Exposant=\useKV[ClesPQuatre]{Exposant};
if PQTexte:
string PQConsignes;
@@ -111,6 +127,12 @@
if PQLibre:
if PQTexte:
label.llft(TEX("\begin{minipage}{"&decimal(PQLargeurUn)&"pt}"&PQConsignes&"\end{minipage}") scaled PQEchelle,A);
+ else:
+ if PQMultiplication:
+ label.llft(TEX("$\times$") scaled PQEchelle,A);
+ else:
+ label.llft(TEX("$+$") scaled PQEchelle,A);
+ fi;
fi;
else:
if PQMultiplication:
@@ -119,24 +141,72 @@
label.llft(TEX("$+$") scaled PQEchelle,A);
fi;
fi;
+ %
+ string Textev[];
+ string Texteh[];
labeloffset:=labeloffset/2;
vardef Vertical(text t)=
n:=0;
for p_=t:
+ if PQLibre:
label.lft(TEX(p_) scaled PQEchelle,A+(0,n*PQLargeur+PQLargeur/2));
+ else:
+ if Exposant:
+ label.lft(TEX("$10^{"&p_&"}$") scaled PQEchelle,A+(0,n*PQLargeur+PQLargeur/2));
+ else:
+ label.lft(TEX("\num{"&p_&"}") scaled PQEchelle,A+(0,n*PQLargeur+PQLargeur/2));
+ fi;
+ Textev[n]=p_;
+ fi;
n:=n+1;
endfor;
enddef;
vardef Horizontal(text t)=
n:=0;
for p_=t:
+ if PQLibre:
label.bot(TEX(p_) scaled PQEchelle,A+(n*PQLargeur+PQLargeur/2,0));
+ else:
+ if Exposant:
+ label.bot(TEX("$10^{"&p_&"}$") scaled PQEchelle,A+(n*PQLargeur+PQLargeur/2,0));
+ else:
+ label.bot(TEX("\num{"&p_&"}") scaled PQEchelle,A+(n*PQLargeur+PQLargeur/2,0));
+ fi;
+ Texteh[n]=p_;
+ fi;
n:=n+1;
endfor;
enddef;
labeloffset:=labeloffset*4;
Vertical(#1);
Horizontal(#2);
+ % on affiche la solution
+ vardef AfficheSolution(text t)=
+ n:=0;
+ for p_=t:
+ label(TEX(p_),M[n mod nclargeur][n div nchauteur]);
+ n:=n+1;
+ endfor;
+ enddef;
+ if Correction:
+ if PQLibre=false:
+ for k=0 upto (nclargeur-1):
+ for l=0 upto (nchauteur-1):
+ if Exposant:
+ label(TEX("\Large$10^{\fpeval{"&Texteh[k]&"+"&Textev[l]&"}}$"),M[k][l]);
+ else:
+ if PQMultiplication:
+ label(TEX("\Huge\num{\fpeval{"&Texteh[k]&"*"&Textev[l]&"}}"),M[k][l]);
+ else:
+ label(TEX("\Huge\num{\fpeval{"&Texteh[k]&"+"&Textev[l]&"}}"),M[k][l]);
+ fi;
+ fi;
+ endfor;
+ endfor;
+ else:
+ AfficheSolution(\the\toklistePQuatres);
+ fi;
+ fi;
\end{mplibcode}
\else%
\begin{mpost}[mpsettings={Largeur=\useKV[ClesPQuatre]{Largeur};Largeur=\useKV[ClesPQuatre]{Largeur};LargeurUn=\useKV[ClesPQuatre]{LargeurUn};Echelle=\useKV[ClesPQuatre]{Echelle};color fond;fond=\useKV[ClesPQuatre]{Couleur};boolean Libre,Multiplication,Texte;Libre:=\useKV[ClesPQuatre]{Libre};Multiplication=\useKV[ClesPQuatre]{Multiplication};Texte:=\useKV[ClesPQuatre]{Texte};if Texte:string Consignes;Consignes=\useKV[ClesPQuatre]{Consignes};fi;}]
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPuzzleSommePyramide.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPuzzleSommePyramide.tex
index 7f00ac287e1..865982ee356 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPuzzleSommePyramide.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPuzzleSommePyramide.tex
@@ -1,6 +1,10 @@
%%%
% Puzzle Somme Pyramide
%%%
+\def\filedatePuzzleSommePyramide{2024/08/04}%
+\def\fileversionPuzzleSommePyramide{0.1}%
+\message{-- \filedatePuzzleSommePyramide\space v\fileversionPuzzleSommePyramide}%
+%
\setKVdefault[ClesPuzzleP]{Largeur=40pt,Etages=4,Graines=false,Solutions=false,Jeu,EnonceQuestion=false,NbLignes=7}
\defKV[ClesPuzzleP]{Graine=\setKV[ClesPuzzleP]{Graines}}%
\defKV[ClesPuzzleP]{Solution=\setKV[ClesPuzzleP]{Solutions}\setKV[ClesPuzzleP]{Jeu=false}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPyraVoca.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPyraVoca.tex
index bfda6963006..983a8b1eb95 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPyraVoca.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPyraVoca.tex
@@ -1,6 +1,10 @@
%%%
% PyraVoca
%%%
+\def\filedatePyraVoca{2024/08/04}%
+\def\fileversionPyraVoca{0.1}%
+\message{-- \filedatePyraVoca\space v\fileversionPyraVoca}%
+%
\newlength{\PfCPyraVocaHauteur}
\setKVdefault[PyraVoca]{Solution=false,Largeur=15pt}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPyramideCalculs.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPyramideCalculs.tex
index fdd5c7b6852..0b00e0e4acc 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPyramideCalculs.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPyramideCalculs.tex
@@ -1,6 +1,10 @@
%%%
% Pyramide de calculs
%%%
+\def\filedatePyraCalc{2024/08/04}%
+\def\fileversionPyraCalc{0.1}%
+\message{-- \filedatePyraCalc\space v\fileversionPyraCalc}%
+%
\newcommand\DessinePyramideNombreMul[1]{%
\ifluatex
\mplibforcehmode
@@ -241,7 +245,7 @@
\fi
}%
-\setKVdefault[ClesPyramide]{Etages=5,Largeur=2cm,Hauteur=1cm,Vide=false,Inverse=false,Double=false,Couleur=Crimson,Multiplication=false,CouleurNombre=blue,Produit=false,Solution=false,Aide=false,Cote=4cm}%
+\setKVdefault[ClesPyramide]{ToutesOperations=false,Etages=5,Largeur=2cm,Hauteur=1cm,Vide=false,Inverse=false,Double=false,Couleur=Crimson,Multiplication=false,CouleurNombre=blue,Produit=false,Solution=false,Aide=false,Cote=4cm}%
\newtoks\toklistecaseP%
\def\UpdatetoksPyramide#1\nil{\addtotok\toklistecaseP{"#1",}}%
@@ -250,6 +254,9 @@
\NewDocumentCommand\PyramideNombre{o m}{%
\useKVdefault[ClesPyramide]%
\setKV[ClesPyramide]{#1}%
+ \ifboolKV[ClesPyramide]{ToutesOperations}{%
+ \PyramideOp[#1]{#2}%
+ }{%
\ifboolKV[ClesPyramide]{Multiplication}{%
\ifx\bla#2\bla%
\setKV[ClesPyramide]{Vide=true}%
@@ -278,4 +285,302 @@
}{Le nombre d'éléments dans la liste des propositions n'est pas compatible avec le nombre d'étages choisi.}%
\fi%
}%
+}%
+}%
+
+\setKVdefault[PyramideOp]{Rayon=5mm,Graines=false,Etages=5,Solution=false,Relatifs=false,Case=-1}
+\defKV[PyramideOp]{Graine=\setKV[PyramideOp]{Graines}}
+\defKV[PyramideOp]{CouleurSolution=\setKV[PyramideOp]{Solution}}
+
+\NewDocumentCommand\PyramideOp{om}{%
+ \useKVdefault[PyramideOp]%
+ \setKV[PyramideOp]{#1}%
+ \ifboolKV[PyramideOp]{Relatifs}{%
+ \BuildPyramideOpRelatifs{#2}%
+ }{%
+ \BuildPyramideOp{#2}%
+ }%
+}%
+
+\NewDocumentCommand\BuildPyramideOp{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \mplibnumbersystem{double}
+ \begin{mplibcode}
+ Etages=\useKV[PyramideOp]{Etages};
+ Rayon=\useKV[PyramideOp]{Rayon};
+ Case=\useKV[PyramideOp]{Case};
+
+ boolean Graines,Solution,Allume[][];
+
+ Graines=\useKV[PyramideOp]{Graines};
+ if Graines:
+ randomseed:=\useKV[PyramideOp]{Graine};
+ fi;
+
+ Solution=\useKV[PyramideOp]{Solution};
+ if Solution:
+ color CouleurSolution;
+ CouleurSolution=\useKV[PyramideOp]{CouleurSolution};
+ fi;
+
+ vardef ChoixOperation(expr Nba,Nbb)=
+ if (Nba<Nbb) or (Nba=Nbb):
+ if Nba*Nbb>200:
+ ChoixOp:=ceiling(uniformdeviate(1));
+ else:
+ ChoixOp:=ceiling(uniformdeviate(2));
+ fi;
+ else:
+ if (Nba mod Nbb)<>0:
+ if Nba*Nbb>200:
+ ChoixAlea:=uniformdeviate(1);
+ if ChoixAlea<0.5:
+ ChoixOp:=1;
+ else:
+ ChoixOp:=3;
+ fi;
+ else:
+ ChoixOp:=ceiling(uniformdeviate(3));
+ fi;
+ else:
+ if Nba*Nbb>200:
+ ChoixAlea:=uniformdeviate(1);
+ if ChoixAlea<0.5:
+ ChoixOp:=1;
+ else:
+ ChoixOp:=ceiling(2+uniformdeviate(2));
+ fi;
+ else:
+ ChoixOp:=ceiling(uniformdeviate(4));
+ fi;
+ fi;
+ fi;
+ enddef;
+
+ numeric Nb[][],ChoixOp[][];
+
+ pair M[][],N[][];
+
+ for k=0 upto Etages-1:
+ for l=0 upto Etages-1-k:
+ M[k][l]=Rayon*(1,1)+2*Rayon*(l,k)+k*2*Rayon*(0.5,-1+cosd(30));
+ Allume[k][l]=false;
+ endfor;
+ endfor;
+ for k=0 upto Etages-2:
+ for l=0 upto Etages-2-k:
+ N[k][l]=Rayon*(1,1)+(Rayon,0)+2*Rayon*(l,k)+k*2*Rayon*(0.5,-1+cosd(30));
+ endfor;
+ endfor;
+
+ n:=0;
+
+ for p_=#1:
+ Nb[0][n]=p_;
+ if n=Case:
+ if n<Etages-1:
+ Allume[1][n]:=true;
+ else:
+ Allume[1][n-1]:=true;
+ fi;
+ else:
+ Allume[0][n]:=true;
+ fi;
+ n:=n+1;
+ endfor;
+
+ string Op[][];
+
+ % Détermination des opérations et des valeurs à indiquer.
+ for k=0 upto Etages-1:
+ for l=0 upto Etages-2-k:
+ ChoixOperation(Nb[k][l],Nb[k][l+1]);
+ if ChoixOp=1:
+ Op[k][l]="$+$";
+ Nb[k+1][l]=Nb[k][l]+Nb[k][l+1];
+ elseif ChoixOp=2:
+ Op[k][l]="$\times$";
+ Nb[k+1][l]=Nb[k][l]*Nb[k][l+1];
+ elseif ChoixOp=3:
+ Op[k][l]="$\_$";
+ Nb[k+1][l]=Nb[k][l]-Nb[k][l+1];
+ elseif ChoixOp=4:
+ Op[k][l]="$\div$";
+ Nb[k+1][l]=Nb[k][l]/Nb[k][l+1];
+ fi;
+ endfor;
+ endfor;
+ %Affichage
+ for k=0 upto Etages-1:
+ for l=0 upto Etages-1-k:
+ if Allume[k][l]=false:
+ if Solution:
+ fill cercles(M[k][l],Rayon) withcolor CouleurSolution;
+ label(decimal(Nb[k][l]),M[k][l]);
+ fi;
+ else:
+ label(decimal(Nb[k][l]),M[k][l]);
+ fi;
+ trace cercles(M[k][l],Rayon);
+ endfor;
+ endfor;
+ for k=0 upto Etages-2:
+ for l=0 upto Etages-2-k:
+ fill cercles(N[k][l],2mm) withcolor 0.8white;
+ trace cercles(N[k][l],2mm);
+ label(TEX(Op[k][l]),N[k][l]);
+ endfor;
+ endfor;
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \fi
+}
+
+\NewDocumentCommand\BuildPyramideOpRelatifs{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \mplibnumbersystem{double}
+ \begin{mplibcode}
+ Etages=\useKV[PyramideOp]{Etages};
+ Rayon=\useKV[PyramideOp]{Rayon};
+ Case=\useKV[PyramideOp]{Case};
+
+ boolean Graines,Solution,Allume[][];
+
+ Graines=\useKV[PyramideOp]{Graines};
+ if Graines:
+ randomseed:=\useKV[PyramideOp]{Graine};
+ fi;
+
+ Solution=\useKV[PyramideOp]{Solution};
+ if Solution:
+ color CouleurSolution;
+ CouleurSolution=\useKV[PyramideOp]{CouleurSolution};
+ fi;
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ vardef ChoixOperation(expr Nba,Nbb)=
+ if (Nba=Nbb):
+ if Nba*Nbb>200:
+ ChoixOp:=ceiling(uniformdeviate(1));
+ else:
+ ChoixOp:=ceiling(uniformdeviate(2));
+ fi;
+ elseif (Nba+Nbb=0):
+ if abs(Nba*Nbb)>200:
+ ChoixOp:=3;
+ else:
+ ChoixAlea:=uniformdeviate(1);
+ if ChoixAlea<0.5:
+ ChoixOp:=2;
+ else:
+ ChoixOp:=3;
+ fi;
+ fi;
+ else:
+ if (abs(Nba) mod abs(Nbb))<>0:
+ if abs(Nba*Nbb)>200:
+ ChoixAlea:=uniformdeviate(1);
+ if ChoixAlea<0.5:
+ ChoixOp:=1;
+ else:
+ ChoixOp:=3;
+ fi;
+ else:
+ ChoixOp:=ceiling(uniformdeviate(3));
+ fi;
+ else:
+ if abs(Nba*Nbb)>200:
+ ChoixAlea:=uniformdeviate(1);
+ if ChoixAlea<0.5:
+ ChoixOp:=1;
+ else:
+ ChoixOp:=ceiling(2+uniformdeviate(2));
+ fi;
+ else:
+ ChoixOp:=ceiling(uniformdeviate(4));
+ fi;
+ fi;
+ fi;
+ enddef;
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ numeric Nb[][],ChoixOp[][];
+
+ pair M[][],N[][];
+
+ for k=0 upto Etages-1:
+ for l=0 upto Etages-1-k:
+ M[k][l]=Rayon*(1,1)+2*Rayon*(l,k)+k*2*Rayon*(0.5,-1+cosd(30));
+ Allume[k][l]=false;
+ endfor;
+ endfor;
+ for k=0 upto Etages-2:
+ for l=0 upto Etages-2-k:
+ N[k][l]=Rayon*(1,1)+(Rayon,0)+2*Rayon*(l,k)+k*2*Rayon*(0.5,-1+cosd(30));
+ endfor;
+ endfor;
+
+ n:=0;
+
+ for p_=#1:
+ Nb[0][n]=p_;
+ if n=Case:
+ if n<Etages-1:
+ Allume[1][n]:=true;
+ else:
+ Allume[1][n-1]:=true;
+ fi;
+ else:
+ Allume[0][n]:=true;
+ fi;
+ n:=n+1;
+ endfor;
+
+ string Op[][];
+
+ % Détermination des opérations et des valeurs à indiquer.
+ for k=0 upto Etages-1:
+ for l=0 upto Etages-2-k:
+ ChoixOperation(Nb[k][l],Nb[k][l+1]);
+ if ChoixOp=1:
+ Op[k][l]="$+$";
+ Nb[k+1][l]=Nb[k][l]+Nb[k][l+1];
+ elseif ChoixOp=2:
+ Op[k][l]="$\times$";
+ Nb[k+1][l]=Nb[k][l]*Nb[k][l+1];
+ elseif ChoixOp=3:
+ Op[k][l]="$\_$";
+ Nb[k+1][l]=Nb[k][l]-Nb[k][l+1];
+ elseif ChoixOp=4:
+ Op[k][l]="$\div$";
+ Nb[k+1][l]=Nb[k][l]/Nb[k][l+1];
+ fi;
+ endfor;
+ endfor;
+ %Affichage
+ for k=0 upto Etages-1:
+ for l=0 upto Etages-1-k:
+ if Allume[k][l]=false:
+ if Solution:
+ fill cercles(M[k][l],Rayon) withcolor CouleurSolution;
+ label(TEX("\num{"&decimal(Nb[k][l])&"}"),M[k][l]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(Nb[k][l])&"}"),M[k][l]);
+ fi;
+ trace cercles(M[k][l],Rayon);
+ endfor;
+ endfor;
+ for k=0 upto Etages-2:
+ for l=0 upto Etages-2-k:
+ fill cercles(N[k][l],2mm) withcolor 0.8white;
+ trace cercles(N[k][l],2mm);
+ label(TEX(Op[k][l]),N[k][l]);
+ endfor;
+ endfor;
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \fi
}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCPythagore.tex b/Master/texmf-dist/tex/latex/profcollege/PfCPythagore.tex
index 5c922d98b04..f5c95d91e42 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCPythagore.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCPythagore.tex
@@ -1,6 +1,10 @@
%%%
% Le th\'eor\`eme de Pythagore
%%%
+\def\filedatePythagore{2024/08/04}%
+\def\fileversionPythagore{0.1}%
+\message{-- \filedatePythagore\space v\fileversionPythagore}%
+%
\setKVdefault[ClesPythagore]{Exact=false,AvantRacine=false,Racine=false,Entier=false,Egalite=false,Precision=2,Soustraction=false,Figure=false,FigureSeule=false,Angle=0,Echelle=1cm,Reciproque=false,ReciColonnes=false,Faible=false,Unite=cm,EnchaineA=false,EnchaineB=false,EnchaineC=false,Perso=false,AllPerso=false,SansMots=false,Decalage=5mm,ModeleCouleur=5}%
\defKV[ClesPythagore]{ValeurA=\setKV[ClesPythagore]{EnchaineA}}%
\defKV[ClesPythagore]{ValeurB=\setKV[ClesPythagore]{EnchaineB}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsFlash.tex b/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsFlash.tex
index 8edee39f164..5bcf626ddcf 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsFlash.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsFlash.tex
@@ -1,6 +1,10 @@
%%%
% Questions Flash
%%%
+\def\filedateQFlash{2024/08/04}%
+\def\fileversionQFlash{0.1}%
+\message{-- \filedateQFlash\space v\fileversionQFlash}%
+%
\tcbset{Expression/.style={colback=white,valign=center,left=0mm,right=0mm,top=1mm,bottom=1mm,colframe=white}}%
\tcbset{ExpressionSerie1/.style={colback=\useKV[ClesFlash]{Couleur1},left=0mm,right=0mm,top=1mm,bottom=1mm}}%
\tcbset{ExpressionSerie2/.style={colback=\useKV[ClesFlash]{Couleur2},left=0mm,right=0mm,top=1mm,bottom=1mm}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex b/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex
index aaf9a67f20b..8aee438e624 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCQuestionsRelier.tex
@@ -1,6 +1,10 @@
%%%
% R\'eponses \`a relier
%%%
+\def\filedateQRelier{2024/08/04}%
+\def\fileversionQRelier{0.1}%
+\message{-- \filedateQRelier\space v\fileversionQRelier}%
+%
\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}%
\defKV[ClesRelie]{Graine=\PfCGraineAlea{#1}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCQuiSuisJe.tex b/Master/texmf-dist/tex/latex/profcollege/PfCQuiSuisJe.tex
index aa896d11856..119b5d0944c 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCQuiSuisJe.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCQuiSuisJe.tex
@@ -1,6 +1,10 @@
%%%
% Qui suis-je
%%%
+\def\filedateQsuisuisje{2024/08/04}%
+\def\fileversionQsuisuisje{0.1}%
+\message{-- \filedateQsuisuisje\space v\fileversionQsuisuisje}%
+%
\setKVdefault[Quisuisje]{Solution=false,Largeur=5mm,Colonnes=5,CodePerso=false,TexteA=Lettre,TexteB=R\'esultat du calcul}%
\newcommand\QuisuisjeEnonce{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRLE.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRLE.tex
index a8f035a577c..8fabde9116c 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRLE.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRLE.tex
@@ -1,6 +1,10 @@
%%%
% Codage RLE
%%%
+\def\filedateRLE{2024/08/04}%
+\def\fileversionRLE{0.1}%
+\message{-- \filedateRLE\space v\fileversionRLE}%
+%
\setKVdefault[RLE]{Largeur=10pt,Taille=5,Unite=1cm,Solution=false,Enonce=true}
\newtoks\toklisterle
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRangementNombres.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRangementNombres.tex
index 1c48ab8efcc..ca58c321fdb 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRangementNombres.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRangementNombres.tex
@@ -1,6 +1,10 @@
%%%
% Rangement des nombres
%%%
+\def\filedateRgtNb{2024/08/04}%
+\def\fileversionRgtNb{0.1}%
+\message{-- \filedateRgtNb\space v\fileversionRgtNb}%
+%
\setKVdefault[ClesRgt]{Croissant,Decroissant=false,Strict,Fraction=false,Details=false,Seul=false}%
\dtlexpandnewvalue%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRapido.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRapido.tex
index fa3a16bf7e7..cb24c2b4043 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRapido.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRapido.tex
@@ -1,6 +1,10 @@
%%%
% Rapido
%%%
+\def\filedateRapido{2024/08/04}%
+\def\fileversionRapido{0.1}%
+\message{-- \filedateRapido\space v\fileversionRapido}%
+%
%% D'après https://www.facebook.com/groups/994675223903586/user/100017057226847
%% et une programmation de Laurent Lassale-Carrere
\newcounter{PfCnexo}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRappelsFormules.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRappelsFormules.tex
index c2a4d959541..1d204baf909 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRappelsFormules.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRappelsFormules.tex
@@ -1,6 +1,10 @@
%%%
% Formules
%%%
+\def\filedateRapFormules{2024/08/04}%
+\def\fileversionRapFormules{0.1}%
+\message{-- \filedateRapFormules\space v\fileversionRapFormules}%
+%
\setKVdefault[ClesFormule]{Perimetre=false,Aire=false,Volume=false,Surface=carr\'e,Solide=pav\'e,Angle=0,Ancre={(0,0)},Largeur=5cm,Couleur=white,EchelleEspace=70,Echelle=1cm}
\def\MPFigureCarreCode{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRecyclage.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRecyclage.tex
index 371688f120c..f99ced507ff 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRecyclage.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRecyclage.tex
@@ -1,6 +1,10 @@
%%%
% Logos Recyclage
%%%
+\def\filedateRecyclage{2024/08/04}%
+\def\fileversionRecyclage{0.1}%
+\message{-- \filedateRecyclage\space v\fileversionRecyclage}%
+%
\setKVdefault[Recyclage]{Ticket,Papier=false,Verre=false,Bouteille=false,Carton=false,Couleurs}%
\defKV[Recyclage]{Couleur=\setKV[Recyclage]{Couleurs=false}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCReperage.tex b/Master/texmf-dist/tex/latex/profcollege/PfCReperage.tex
index 23e7bd2775b..d2dec508171 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCReperage.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCReperage.tex
@@ -1,6 +1,10 @@
%%%
% Reperage
%%%
+\def\filedateReperage{2024/08/04}%
+\def\fileversionReperage{0.1}%
+\message{-- \filedateReperage\space v\fileversionReperage}%
+%
\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,AffichageUnites=true,MarquePrimaire=true,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,Celsius,Kelvin=false,Farenheit=false,ValeurMin=-4000,ValeurMax=4000,ValeurMiny=-4000,ValeurMaxy=4000,Etages=4,Code=false,Globe=false,Rho=1500,Phi=22,Theta=10,CouleurE=orange,CouleurG=green,Axes=false,TypeProj="persp",Niveaux=false,Decale=false,Tiret=false,Cadre=false,ModeleCouleur=5,EchelleCroix=1,CouleurCroix=black}
\defKV[ClesReperage]{Traces=\setKV[ClesReperage]{Code}}%
\defKV[ClesReperage]{Niveau=\setKV[ClesReperage]{Etages=#1}\setKV[ClesReperage]{Niveaux}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRepresentationGraphique.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRepresentationGraphique.tex
index 390c1a9caac..3eed5f9d037 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRepresentationGraphique.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRepresentationGraphique.tex
@@ -1,7 +1,11 @@
%%%
% Diff\'erentes représentations graphiques
%%%
-\setKVdefault[TraceG]{Millimetre=false,Grille=false,Graduations=false,PasGradX=1,PasGradY=1,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LegendeX=false,LegendeY=false,LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false,NbPointsCourbe=100,Tiret=false}%
+\def\filedateRepGraph{2024/08/20}%
+\def\fileversionRepGraph{0.1a}%
+\message{-- \filedateRepGraph\space v\fileversionRepGraph}%
+%
+\setKVdefault[TraceG]{Millimetre=false,Grille=false,Graduations=false,PasGradX=1,PasGradY=1,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LegendeX=false,LegendeY=false,LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false,NbPointsCourbe=100,Tiret=false,StyleTrace=0,Date=false}%
\defKV[TraceG]{Traces=\setKV[TraceG]{Code}}%
\defKV[TraceG]{LabelX=\setKV[TraceG]{LegendeX}}%
\defKV[TraceG]{LabelY=\setKV[TraceG]{LegendeY}}%
@@ -35,6 +39,8 @@
y.u=1cm/\useKV[TraceG]{Ystep};
grillex=\useKV[TraceG]{PasGrilleX};
grilley=\useKV[TraceG]{PasGrilleY};
+ pasgradx=\useKV[TraceG]{PasGradX};
+ pasgrady=\useKV[TraceG]{PasGradY};
pos=\useKV[TraceG]{LabelC};
marque_p:=str \useKV[TraceG]{Marque};
@@ -49,6 +55,9 @@
LegendeX:=\useKV[TraceG]{LegendeX};
LegendeY:=\useKV[TraceG]{LegendeY};
+ boolean Date;
+ Date=\useKV[TraceG]{Date};
+
boolean Relie;
Relie=\useKV[TraceG]{Relie};
@@ -73,12 +82,16 @@
fi;
if Graduations:
- for k=0 step grillex until (xmax-xmin):
+ for k=0 step pasgradx until (xmax-xmin):
trace ((0,-0.5mm)--(0,0.5mm)) shifted ((k*x.u,0) shifted Origine) withpen pencircle scaled1.25;
+ if Date:
+ label.bot(TEX(decimal(xmin+k)),(k*x.u,0) shifted Origine);
+ else:
label.bot(TEX("\num{"&decimal(xmin+k)&"}"),(k*x.u,0) shifted Origine);
+ fi;
endfor;
label.ulft(TEX("\num{"&decimal(ymin)&"}"),(0,0) shifted Origine);
- for k=grilley step grilley until (ymax-ymin):
+ for k=1 step pasgrady until (ymax-ymin):
trace ((-0.5mm,0)--(0.5mm,0)) shifted ((0,k*y.u) shifted Origine) withpen pencircle scaled1.25;
label.lft(TEX("\num{"&decimal(ymin+k)&"}"),(0,k*y.u) shifted Origine);
endfor;
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterEntier.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterEntier.tex
index 9ab7b24341f..15f69191319 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterEntier.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterEntier.tex
@@ -1,6 +1,10 @@
%%%
% Représenter un entier dans une base
%%%
+\def\filedateRepEntier{2024/08/04}%
+\def\fileversionRepEntier{0.1}%
+\message{-- \filedateRepEntier\space v\fileversionRepEntier}%
+%
\setKVdefault[ClesRBase]{Base=10,Echelle=1,Unite=false,Compact=false,Impression=false,ListeCouleurs={Tomato,LightSteelBlue,LightGreen,Cornsilk}}%
\newcommand\RepresenterEntier[2][]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterFraction.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterFraction.tex
index 6660693348a..e8b37b8c6ce 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterFraction.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterFraction.tex
@@ -1,6 +1,10 @@
%%%
% Fractions
%%%
+\def\filedateRepFrac{2024/08/04}%
+\def\fileversionRepFrac{0.1}%
+\message{-- \filedateRepFrac\space v\fileversionRepFrac}%
+%
\setKVdefault[ClesFraction]{Rayon=2cm,Disque,Regulier=false,Segment=false,Rectangle=false,Longueur=5cm,Largeur=2cm,Cotes=5,Triangle=false,Parts=3,Eprouvette=false,Couleur=green,Reponse=false,Multiple=1,Hachures=false,Epaisseur=1}
\def\MPFractionEprouvetteCode{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterTableur.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterTableur.tex
index 0e6162aa765..9b1bcaa8b1b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterTableur.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRepresenterTableur.tex
@@ -1,9 +1,15 @@
%%%
% Tableur
%%%
-\setKVdefault[Tableur]{Colonnes=4,Largeur=30pt,LargeurUn=30pt,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false,DebutColonnes=0,DebutLignes=0,LargeurNombre=10pt}%
+\def\filedateRepTab{2024/08/21}%
+\def\fileversionRepTab{0.1a}%
+\message{-- \filedateRepTab\space v\fileversionRepTab}%
+%
+\setKVdefault[Tableur]{Colonnes=4,Largeur=30pt,LargeurUn=30pt,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false,DebutColonnes=0,DebutLignes=0,LargeurNombre=10pt,Apres=false,ApresBandeau=false}%
%Idee de P. Nuns
\defKV[Tableur]{Couleur=\setKV[Tableur]{Selection}}%
+\defKV[Tableur]{CodeAfter=\setKV[Tableur]{Apres}}%
+\defKV[Tableur]{CodeAfterBandeau=\setKV[Tableur]{ApresBandeau}}%
%
%Bas\'e sur un code de Christian T\'ell\'ech\'ea.
@@ -20,6 +26,9 @@
\ifremain@lines#2\\\@nil{\addtot@b&\subst@eol#2\@nil}{\addtot@b{#2\CodeAfter\xintifboolexpr{\useKV[Tableur]{Ligne}==0 || \useKV[Tableur]{Colonne}==0}{}{%
\tikz\node at (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}}) {\tiny$\blacksquare$};%
}%
+ \ifboolKV[Tableur]{Apres}{%
+ \useKV[Tableur]{CodeAfter}%
+ }{}%
\end{NiceTabular}}}}%
\long\def\collectcp@body#1\end{\subst@eol#1\@nil\end}%
@@ -103,6 +112,10 @@
\ifboolKV[Tableur]{Bandeau}{%
\begin{NiceTabular}{p{\PfCTableurLargeur}p{10pt}p{50pt}p{\PfCLongInter}}%
\Block[draw,l]{}{\useKV[Tableur]{Cellule}}&\Block[draw]{}{\scriptsize$\blacktriangledown$}&\Block{}{$f_x$\hfill$\sum$~\scriptsize$\blacktriangledown$\hfill$=$}&\Block[draw]{}{\useKV[Tableur]{Formule}\hfill\scriptsize$\blacktriangledown$}\\
+ \CodeAfter
+ \ifboolKV[Tableur]{ApresBandeau}{%
+ \useKV[Tableur]{CodeAfterBandeau}%
+ }{}%
\end{NiceTabular}%
\nopagebreak%
\\%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCReseauxSociaux.tex b/Master/texmf-dist/tex/latex/profcollege/PfCReseauxSociaux.tex
index 996e33c0265..2ccc0748f66 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCReseauxSociaux.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCReseauxSociaux.tex
@@ -1,6 +1,10 @@
%%%
% Twitter
%%%
+\def\filedateReseaux{2024/08/04}%
+\def\fileversionReseaux{0.1}%
+\message{-- \filedateReseaux\space v\fileversionReseaux}%
+%
\setKVdefault[Twitter]{Largeur=0.95\linewidth,Auteur=Christophe,Date=\today,Url=ViveLaTeX,EchelleLogo=0.035,Logo=DrStrange,Publie=false}%
\NewDocumentEnvironment{Twitter}{o+b}{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCResoudreEquation.tex b/Master/texmf-dist/tex/latex/profcollege/PfCResoudreEquation.tex
index a5ce8ebf635..795a79e833e 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCResoudreEquation.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCResoudreEquation.tex
@@ -1,6 +1,10 @@
%%%
% Equations
%%%
+\def\filedateEquation{2024/08/04}%
+\def\fileversionEquation{0.1}%
+\message{-- \filedateEquation\space v\fileversionEquation}%
+%
\setKVdefault[ClesEquation]{Ecart=0.5,Fleches=false,FlecheDiv=false,Laurent=false,Decomposition=false,Terme=false,Composition=false,Symbole=false,ModeleBarre=false,Decimal=false,Entier=false,Lettre=x,Solution=false,LettreSol=true,Bloc=false,Simplification=false,CouleurTerme=black,CouleurCompo=black,CouleurSous=red,CouleurSymbole=orange,Verification=false,Nombre=0,Egalite=false,Produit=false,Facteurs=false,Carre=false,Exact=false,Pose=false,Equivalence=false}
\newcommand\rightcomment[4]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRondeInfernale.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRondeInfernale.tex
index 9fc7f3446d6..26a78fcc2f6 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRondeInfernale.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRondeInfernale.tex
@@ -1,6 +1,10 @@
%%%
% Ronde infernale
%%%
+\def\filedateRondeI{2024/08/04}%
+\def\fileversionRondeI{0.1}%
+\message{-- \filedateRondeI\space v\fileversionRondeI}%
+%
\newcommand\TestNombrePremier[1]{%
% #1 le nombre \`a tester
\newcount\anp\newcount\bnp\newcount\cnp%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCRose.tex b/Master/texmf-dist/tex/latex/profcollege/PfCRose.tex
index d6059cdd7ec..3798a26f748 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCRose.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCRose.tex
@@ -1,6 +1,10 @@
%%%
% Rose
%%%
+\def\filedateRose{2024/08/04}%
+\def\fileversionRose{0.1}%
+\message{-- \filedateRose\space v\fileversionRose}%
+%
\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,Nom=Rose1,Creation=false,Addition=false,Melange=false,CDot=false}%
\defKV[ClesRose]{LesNombres=\setKV[ClesRose]{Creation}}%
\defKV[ClesRose]{LesProduits=\setKV[ClesRose]{Creation}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCScratch.tex b/Master/texmf-dist/tex/latex/profcollege/PfCScratch.tex
index 0315d8d3a87..778ee151749 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCScratch.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCScratch.tex
@@ -1,6 +1,10 @@
%%%%
% Scratch
%%%%
+\def\filedateScratch{2024/08/04}%
+\def\fileversionScratch{0.1}%
+\message{-- \filedateScratch\space v\fileversionScratch}%
+%
\newlength{\longbarreheight}
\setlength{\longbarreheight}{2.1ex+3pt}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCSerpent.tex b/Master/texmf-dist/tex/latex/profcollege/PfCSerpent.tex
index cd38bd90a25..e4352613d7e 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCSerpent.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCSerpent.tex
@@ -1,10 +1,14 @@
%%%
% Serpent
%%%
+\def\filedateSerpent{2024/08/04}%
+\def\fileversionSerpent{0.1}%
+\message{-- \filedateSerpent\space v\fileversionSerpent}%
+%
\newtoks\tokListeSerpentPerso{}%
\def\UpdatetoksSerpent#1\nil{\addtotok\tokListeSerpentPerso{"#1"}}%
-\setKVdefault[Serpent]{Cases=9,Case=1,Solution=false,PasQuad=7mm,ValeurMin=2,ValeurMax=10,Creation=false,Graines=false}
+\setKVdefault[Serpent]{Cases=9,Case=1,Solution=false,PasQuad=7mm,ValeurMin=2,ValeurMax=10,Creation=false,Graines=false,Direct=false,Disque=false,Spirale=false}
\defKV[Serpent]{CouleurSolution=\setKV[Serpent]{Solution}}%
\defKV[Serpent]{Perso=\setKV[Serpent]{Creation}\xdef\PfCFooCheminSerpent{#1}}%+Liste des déplacements
\defKV[Serpent]{Graine=\setKV[Serpent]{Graines}}%
@@ -19,7 +23,14 @@
\BuildSerpent{\the\tokListeSerpentPerso}%
\reademptyitems%
}{%
- \BuildSerpent{}%
+ \ifboolKV[Serpent]{Direct}{%
+ \BuildSerpentDirect{}%
+ }{\ifboolKV[Serpent]{Spirale}{%
+ %\BuildSerpentSpirale{}%
+ }{%
+ \BuildSerpent{}%
+ }%
+ }%
}%
}%
@@ -29,10 +40,11 @@
\mplibnumbersystem{double}%
\begin{mplibcode}
%
- boolean Solution,Perso,Graines;
+ boolean Solution,Perso,Graines,Disque;
Solution=\useKV[Serpent]{Solution};
Perso=\useKV[Serpent]{Creation};
Graines=\useKV[Serpent]{Graines};
+ Disque=\useKV[Serpent]{Disque};
%
if Graines:
randomseed:=\useKV[Serpent]{Graine};
@@ -210,7 +222,11 @@
fi;
fi;
for k=1 upto LongueurChemin:
+ if Disque:
+ trace (fullcircle scaled (2*PasQuad)) shifted (N[k]+PasQuad*(1,1));
+ else:
trace (unitsquare scaled (2*PasQuad)) shifted N[k];
+ fi;
endfor;
for k=1 upto LongueurChemin-1:
drawarrow (center (unitsquare scaled (2*PasQuad)) shifted N[k])--(center (unitsquare scaled (2*PasQuad)) shifted N[k+1]) cutbefore ((unitsquare scaled (2*PasQuad)) shifted N[k]) cutafter ((unitsquare scaled (2*PasQuad)) shifted N[k+1]);
@@ -363,4 +379,193 @@
\end{mplibcode}
\mplibnumbersystem{scaled}%
\fi
+}%
+
+\NewDocumentCommand\BuildSerpentDirect{m}{%
+ \ifluatex%
+ \mplibforcehmode%
+ \mplibnumbersystem{double}%
+ \begin{mplibcode}
+ %
+ boolean Solution,Graines,Disque;
+ Solution=\useKV[Serpent]{Solution};
+ Graines=\useKV[Serpent]{Graines};
+ Disque=\useKV[Serpent]{Disque};
+ %
+ if Graines:
+ randomseed:=\useKV[Serpent]{Graine};
+ fi;
+ %
+ color CoulSolution;
+ if Solution:
+ CoulSolution=\useKV[Serpent]{CouleurSolution};
+ fi;
+ %
+ numeric LongueurChemin,Depart;
+ LongueurChemin=\useKV[Serpent]{Cases};
+ ValeurMin=\useKV[Serpent]{ValeurMin};
+ ValeurMax=\useKV[Serpent]{ValeurMax};
+ CaseDepart=\useKV[Serpent]{Case};
+ Depart=ValeurMin+floor(uniformdeviate(ValeurMax-ValeurMin+1));
+ %
+ PasQuad=5mm;%\useKV[Serpent]{PasQuad};
+ %
+ pair N[];
+ N[1]:=4*PasQuad*(0,0);
+ for k=2 upto LongueurChemin:
+ N[k]=N[k-1]+4*PasQuad*(1,0);
+ endfor;
+ % Tracage
+ if CaseDepart=1:
+ label(TEX("\Large"&decimal(Depart)),N[1] shifted(PasQuad*(1,1)));
+ else:
+ if Solution:
+ label(TEX("\Large"&decimal(Depart)),N[1] shifted(PasQuad*(1,1))) withcolor CoulSolution;
+ fi;
+ fi;
+ for k=1 upto LongueurChemin:
+ if Disque:
+ trace (fullcircle scaled (2*PasQuad)) shifted (N[k]+PasQuad*(1,1));
+ else:
+ trace (unitsquare scaled (2*PasQuad)) shifted N[k];
+ fi;
+ endfor;
+ %
+ path cheminfleche[];
+ path CheminFlecheBase;
+ CheminFlecheBase=(0,2*PasQuad){dir45}..(4*PasQuad,2*PasQuad);
+ for k=1 upto LongueurChemin-1:
+ cheminfleche[k]=CheminFlecheBase shifted (N[k]+(PasQuad,0));
+ %cheminfleche[k]=(center (unitsquare scaled (2*PasQuad)) shifted N[k]){dir45}..(center (unitsquare scaled (2*PasQuad)) shifted N[k+1]) cutbefore ((unitsquare scaled (2*PasQuad)) shifted N[k]) cutafter ((unitsquare scaled (2*PasQuad)) shifted N[k+1]);
+ drawarrow cheminfleche[k];
+ endfor;
+ %%drawoptions();
+ boolean PremierChiffre;
+ PremierChiffre=true;
+ %% Test Premier
+ vardef TestPremier(expr nombre)=
+ nbdiviseur:=0;
+ nbdiv:=0;
+ for k=2 upto nombre:
+ if (nombre mod k)=0:
+ nbdiviseur:=nbdiviseur+1;
+ if k<11:
+ nbdiv:=nbdiv+1;
+ Diviseur[nbdiv]:=k;
+ fi;
+ fi;
+ endfor;
+ if nbdiviseur>1:
+ PremierChiffre:=false;
+ else:
+ PremierChiffre:=true;
+ fi;
+ enddef;
+ % Les opérations
+ numeric Chiffre[];
+ pair St[];
+ Chiffre[1]=Depart;
+ %
+ vardef EcrireSomme(expr tt)=
+ Somme:=5+ceiling(uniformdeviate(10));
+ Chiffre[tt]=Chiffre[tt-1]+Somme;
+ St[tt]=point(0.5*length cheminfleche[tt-1]) of cheminfleche[tt-1];
+ label.top(TEX("$+"&decimal(Somme)&"$"),St[tt]);
+ enddef;
+ %
+ vardef EcrireProduit(expr tt)=
+ Multiple:=1+ceiling(uniformdeviate(8));
+ Chiffre[tt]=Chiffre[tt-1]*Multiple;
+ St[tt]=point(0.5*length cheminfleche[tt-1]) of cheminfleche[tt-1];
+ label.top(TEX("$\PfCSymbolTimes"&decimal(Multiple)&"$"),St[tt]);
+ enddef;
+ %
+ vardef EcrireDifferenceCent(expr tt)=
+ Difference:=ceiling(Chiffre[tt-1]-15+uniformdeviate(10));
+ Chiffre[tt]=Chiffre[tt-1]-Difference;
+ St[tt]=point(0.5*length cheminfleche[tt-1]) of cheminfleche[tt-1];
+ label.top(TEX("$-"&decimal(Difference)&"$"),St[tt]);
+ enddef;
+ %
+ vardef EcrireDifference(expr tt)=
+ Difference:=if Chiffre[tt-1]<20:1+floor(uniformdeviate(Chiffre[tt-1]-1)) else: 5+ceiling(uniformdeviate(10)) fi;
+ Chiffre[tt]=Chiffre[tt-1]-Difference;
+ St[tt]=point(0.5*length cheminfleche[tt-1]) of cheminfleche[tt-1];
+ label.top(TEX("$-"&decimal(Difference)&"$"),St[tt]);
+ enddef;
+ %
+ vardef EcrireQuotient(expr tt)=
+ choixdiv:=ceiling(nbdiv);
+ Quotient:=Diviseur[choixdiv];
+ Chiffre[tt]=Chiffre[tt-1] div Quotient;
+ St[tt]=point(0.5*length cheminfleche[tt-1]) of cheminfleche[tt-1];
+ label.top(TEX("$\PfCSymbolDiv"&decimal(Quotient)&"$"),St[tt]);
+ enddef;
+ %
+ for k=2 upto LongueurChemin:
+ if (Chiffre[k-1]=1) or (Chiffre[k-1]=0):
+ % On additionne ou on multiplie si c'est un
+ if Chiffre[k-1]=1:
+ alea:=ceiling(uniformdeviate(2));
+ if alea=1:
+ EcrireSomme(k);
+ else:
+ EcrireProduit(k);
+ fi;
+ else:
+ EcrireSomme(k);
+ fi;
+ else:
+ TestPremier(Chiffre[k-1]);
+ if PremierChiffre:
+ if Chiffre[k-1]>100:
+ EcrireDifferenceCent(k);
+ else:
+ alea:=ceiling(uniformdeviate(3));
+ if alea=1:
+ EcrireSomme(k);
+ elseif alea=2:
+ EcrireDifference(k);
+ elseif alea=3:
+ EcrireProduit(k);
+ fi;
+ fi;
+ if k=CaseDepart:
+ label(TEX("\Large"&decimal(Chiffre[k])),N[k] shifted(PasQuad*(1,1)));
+ elseif Solution:
+ label(TEX("\Large"&decimal(Chiffre[k])),N[k] shifted(PasQuad*(1,1))) withcolor CoulSolution;
+ fi;
+ else:
+ if Chiffre[k-1]>100:
+ alea:=ceiling(uniformdeviate(2));
+ if alea=1:
+ EcrireDifferenceCent(k);
+ else:
+ EcrireQuotient(k);
+ fi;
+ else:
+ alea:=ceiling(uniformdeviate(4));
+ if alea=1:
+ EcrireSomme(k);
+ elseif alea=2:
+ EcrireDifference(k);
+ elseif alea=3:
+ EcrireProduit(k);
+ elseif alea=4:
+ EcrireQuotient(k);
+ fi;
+ fi;
+ fi;
+ fi;
+ if k=CaseDepart:
+ label(TEX("\Large"&decimal(Chiffre[k])),N[k] shifted(PasQuad*(1,1)));
+ else:
+ if Solution:
+ label(TEX("\Large"&decimal(Chiffre[k])),N[k] shifted(PasQuad*(1,1))) withcolor CoulSolution;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}%
+ \fi
}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCShikaku.tex b/Master/texmf-dist/tex/latex/profcollege/PfCShikaku.tex
index 04084cadcae..8f6616ff3e0 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCShikaku.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCShikaku.tex
@@ -1,6 +1,10 @@
%%%
% Shikaku
%%%
+\def\filedateShikaku{2024/08/04}%
+\def\fileversionShikaku{0.1}%
+\message{-- \filedateShikaku\space v\fileversionShikaku}%
+%
\newcounter{PfCShikakuNom}
\setcounter{PfCShikakuNom}{0}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCSimplifierFraction.tex b/Master/texmf-dist/tex/latex/profcollege/PfCSimplifierFraction.tex
index 94429def365..9fb16f325df 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCSimplifierFraction.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCSimplifierFraction.tex
@@ -1,6 +1,10 @@
%%%
% Simplification
%%%
+\def\filedateSimpFraction{2024/08/13}%
+\def\fileversionSimpFraction{0.1a}%
+\message{-- \filedateSimpFraction\space v\fileversionSimpFraction}%
+%
\makeatletter%by christian Tellechea
% Calcul du PGCD de #1 et #2
\newcount\cnt@a\newcount\cnt@b\newcount\pgcd
@@ -160,7 +164,7 @@
\ifboolKV[ClesSimplification]{Debut}{%
\ensuremath{%
\whiledo{\PfCDivCom>1}{%
- \frac{\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}\times\num{\fpeval{\PfCNumerateurDiv/\the\PfCDivCom}}}{\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}\times\num{\fpeval{\PfCDenominateurDiv/\the\PfCDivCom}}}=\frac{\num{\fpeval{\PfCNumerateurDiv/\PfCDivCom}}}{\num{\fpeval{\PfCDenominateurDiv/\PfCDivCom}}}%
+ \frac{\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}\times\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCNumerateurDiv/\the\PfCDivCom}}}}{\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}\times\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCDenominateurDiv/\the\PfCDivCom}}}}=\frac{\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCNumerateurDiv/\PfCDivCom}}}}{\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCDenominateurDiv/\PfCDivCom}}}}%
\xdef\PfCNumerateurDiv{\fpeval{\PfCNumerateurDiv/\PfCDivCom}}%
\xdef\PfCDenominateurDiv{\fpeval{\PfCDenominateurDiv/\PfCDivCom}}%
\DiviseurCommun{\PfCNumerateurDiv}{\PfCDenominateurDiv}%
@@ -170,7 +174,7 @@
}{%
\ensuremath{%
\whiledo{\PfCDivCom>1}{%
- \frac{\num{\fpeval{\PfCNumerateurDiv/\the\PfCDivCom}}\times\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}}{\num{\fpeval{\PfCDenominateurDiv/\the\PfCDivCom}}\times\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}}=\frac{\num{\fpeval{\PfCNumerateurDiv/\PfCDivCom}}}{\num{\fpeval{\PfCDenominateurDiv/\PfCDivCom}}}%
+ \frac{\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCNumerateurDiv/\the\PfCDivCom}}}\times\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}}{\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCDenominateurDiv/\the\PfCDivCom}}}\times\mathcolor{PfCSimpliCol}{\num{\the\PfCDivCom}}}=\frac{\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCNumerateurDiv/\PfCDivCom}}}}{\ifboolKV[ClesSimplification]{ACompleter}{\pointilles[20pt]}{\num{\fpeval{\PfCDenominateurDiv/\PfCDivCom}}}}%
\xdef\PfCNumerateurDiv{\fpeval{\PfCNumerateurDiv/\PfCDivCom}}%
\xdef\PfCDenominateurDiv{\fpeval{\PfCDenominateurDiv/\PfCDivCom}}%
\DiviseurCommun{\PfCNumerateurDiv}{\PfCDenominateurDiv}%
@@ -180,7 +184,7 @@
}%
}%
-\setKVdefault[ClesSimplification]{Details=false,All=false,Longue=false,Fleches=false,Contraire=0,Couleur=black,Debut=false,Impose=false,Decomposition=false,DecompositionSeule=false}%
+\setKVdefault[ClesSimplification]{Details=false,All=false,Longue=false,Fleches=false,Contraire=0,Couleur=black,Debut=false,Impose=false,Decomposition=false,DecompositionSeule=false,ACompleter=false}%
\defKV[ClesSimplification]{Nombre=\setKV[ClesSimplification]{Impose}}%
\newcounter{NbFrac}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex b/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex
index 037b80e50f0..8ed8899a371 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCSolides.tex
@@ -1,6 +1,10 @@
%%%
% Solide et sections
%%%
+\def\filedateSolides{2024/08/20}%
+\def\fileversionSolides{0.1a}%
+\message{-- \filedateSolides\space v\fileversionSolides}%
+%
\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,Arete=1,RayonCone=1,HauteurCone=2,HauteurPrisme=2,SommetsPrisme=6,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
\defKV[ClesSolides]{Traces=\setKV[ClesSolides]{Code}}%
\defKV[ClesSolides]{Section=\setKV[ClesSolides]{Sections}}%
@@ -101,6 +105,7 @@
%Fc[101]:=1;Fc[102]:=2;Fc[103]:=6;Fc[104]:=5;
%endfor;
endfor;
+ DefinirSommets(#1);
DessineObjet;
% picture Depart;
% Depart=currentpicture;
@@ -108,6 +113,10 @@
% for k=1 upto 8:
% dotlabel.top(decimal(k),Projette(TS[k]));
% endfor;
+ u:=1cm;
+ if Code:
+ \useKV[ClesSolides]{Traces};
+ fi;
\end{mplibcode}
\mplibnumbersystem{scaled}
\fi
@@ -487,7 +496,6 @@
if Code:
\useKV[ClesSolides]{Traces};
fi;
-
\end{mplibcode}
\mplibnumbersystem{scaled}
\fi
@@ -729,7 +737,7 @@
% trace polygone(MSection1,MSection2,MSection3,MSection4);
color dcer,ccer;
% 1er cote -> ok
- DotLabel("",RetiensDefSection[4]);
+ %DotLabel("",RetiensDefSection[4]);
dcer:=Oeil-RetiensDefSection[4];
ccer:=Normal(RetiensDefSection[4],RetiensDefSection[2],RetiensDefSection[1]);
draw chemin(MSection1,MSection2) if (ProduitScalaire(dcer,ccer)<0):dashed evenly fi;
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCSommeAngles.tex b/Master/texmf-dist/tex/latex/profcollege/PfCSommeAngles.tex
index df62edfbce7..f0a1e12cc9b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCSommeAngles.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCSommeAngles.tex
@@ -1,6 +1,10 @@
%%%
% Somme des angles
%%%
+\def\filedateSommeAngles{2024/08/04}%
+\def\fileversionSommeAngles{0.1}%
+\message{-- \filedateSommeAngles\space v\fileversionSommeAngles}%
+%
\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{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCSquaro.tex b/Master/texmf-dist/tex/latex/profcollege/PfCSquaro.tex
index 9de4a7afdf9..7afe0e55fb0 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCSquaro.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCSquaro.tex
@@ -1,10 +1,21 @@
%%%
% Squaro
%%%
-\setKVdefault[Squaro]{Solution=false,Longueur=8,Largeur=8,Echelle=8mm,Nom=Jeu1,Graines=false}
+\def\filedateSquarO{2024/08/04}%
+\def\fileversionSquarO{0.1}%
+\message{-- \filedateSquarO\space v\fileversionSquarO}%
+%
+\newtoks\tokPfCSquaro%
+\def\UpdatetoksSquaro#1\nil{\addtotok\tokPfCSquaro{#1,}}%
+
+\setKVdefault[Squaro]{Solution=false,Longueur=8,Largeur=8,Echelle=8mm,Nom=Jeu1,Graines=false,Persos=false}
\defKV[Squaro]{Graine=\setKV[Squaro]{Graines}}%
+\defKV[Squaro]{Perso=\setKV[Squaro]{Persos}\setsepchar{,}\ignoreemptyitems\readlist*\ListeSquaroPerso{#1}\reademptyitems%
+ \foreachitem\compteur\in\ListeSquaroPerso{\expandafter\UpdatetoksSquaro\compteur\nil}%
+}%
\NewDocumentCommand\SquarO{o}{%
+ \tokPfCSquaro{}%
\useKVdefault[Squaro]%
\setKV[Squaro]{#1}%
\BuildSquaro%
@@ -14,9 +25,10 @@
numeric Longueur,Largeur;
Longueur=\useKV[Squaro]{Longueur};
Largeur=\useKV[Squaro]{Largeur};
- boolean Solution,Graines;
+ boolean Solution,Graines,Persos;
Solution=\useKV[Squaro]{Solution};
Graines=\useKV[Squaro]{Graines};
+ Persos=\useKV[Squaro]{Persos};
if Graines:
randomseed:=\useKV[Squaro]{Graine};
fi;
@@ -26,13 +38,35 @@
p:=0;
pair A[];%centre des carrés.
boolean Allume[][];
-}
+ %
+ if Persos:
+ n:=0;
+ for p_=\the\tokPfCSquaro:
+ n:=n+1;
+ ligne:=(n-1) div (Largeur+2);
+ colonne:=(n-1) mod (Longueur+1);
+ Allume[ligne][colonne]=if p_=1:true else:false fi;
+ endfor;
+ else:
+ for k=0 upto Largeur:
+ for l=0 upto Longueur:
+ m:=uniformdeviate(1);
+ if m<0.5:
+ Allume[k][l]=true;
+ else:
+ Allume[k][l]=false;
+ fi;
+ endfor;
+ endfor;
+ fi;
+}%
\NewDocumentCommand\BuildSquaro{}{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
\BuildSquarobase
+ %
for k=0 upto Longueur-1:
for l=0 upto Largeur-1:
p:=p+1;
@@ -40,21 +74,18 @@
trace (unitsquare scaled u) shifted A[p];
endfor;
endfor;
-
+ %
for k=0 upto Largeur:
for l=0 upto Longueur:
- m:=uniformdeviate(1);
- if m<0.5:
- Allume[k][l]=true;
+ if Allume[k][l]:
fill cercles(u*(l,-k+1),1mm) if Solution=false:withcolor white fi;
else:
- Allume[k][l]=false;
fill cercles(u*(l,-k+1),1mm) withcolor white;
fi;
trace cercles(u*(l,-k+1),1mm);
endfor;
endfor;
-
+ %
for k=0 upto Largeur-1:
for l=0 upto Longueur-1:
Retiens:=0;
@@ -67,29 +98,28 @@
endfor;
\end{mplibcode}
\else
- \begin{mpost}[mpsettings={\BuildSquarobase}]
- for k=0 upto Longueur-1:
+ \begin{mpost}[mpsettings={\BuildSquarobase}]
+ %
+ %
+ for k=0 upto Longueur-1:
for l=0 upto Largeur-1:
p:=p+1;
A[p]=u*(k,-l);
trace (unitsquare scaled u) shifted A[p];
- endfor;
- endfor;
-
- for k=0 upto Largeur:
- for l=0 upto Longueur:
- m:=uniformdeviate(1);
- if m<0.5:
- Allume[k][l]=true;
+ endfor;
+ endfor;
+ %
+ for k=0 upto Largeur:
+ for l=0 upto Longueur:
+ if Allume[k][l]:
fill cercles(u*(l,-k+1),1mm) if Solution=false:withcolor white fi;
else:
- Allume[k][l]=false;
fill cercles(u*(l,-k+1),1mm) withcolor white;
fi;
trace cercles(u*(l,-k+1),1mm);
- endfor;
- endfor;
-
+ endfor;
+ endfor;
+ %
for k=0 upto Largeur-1:
for l=0 upto Longueur-1:
Retiens:=0;
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCStatistiques.tex b/Master/texmf-dist/tex/latex/profcollege/PfCStatistiques.tex
index 98566be426a..5d7b786d8e4 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCStatistiques.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCStatistiques.tex
@@ -1,6 +1,10 @@
%%%
% Statistiques
%%%
+\def\filedateStat{2024/08/04}%
+\def\fileversionStat{0.1}%
+\message{-- \filedateStat\space v\fileversionStat}%
+%
\newcommand\NbDonnees{}%
\newcommand\SommeDonnees{}%
\newcommand\EffectifTotal{}%
@@ -18,7 +22,7 @@ Tableau=false,Stretch=1,Frequence=false,EffectifTotal=false,%
Etendue=false,Moyenne=false,SET=false,ValeurExacte=false,MoyenneA,Somme,Mediane=false,DetailsMediane=false,UneMediane=false,QuartileUn=false,QuartileTrois=false,Total=false,Concret=false,%
Largeur=1cm,Precision=2,PrecisionF=0,Donnee=Valeurs,Effectif=Effectif,Grille=false,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,Classes=false,TableauVide=false,ECC=false,Coupure=10,CouleurTab=gray!15,Graphique=false,Batons=true,Centre=false,CentreVide=false,Crochets=false,%
% Pour les diags batons
-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,Date=false,GrandNombrey=false,GrandNombrex=false,PasGrillex=1,PasGrilley=1,%
+EpaisseurBatons=1,ListeCouleursB={a},Lecture=false,LectureFine=false,AideLecture=false,Reponses=false,DonneesSup=false,AbscisseRotation=false,Tiret=false,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Depart=0,CouleurDefaut=black,Date=false,GrandNombrey=false,GrandNombrex=false,PasGrillex=1,PasGrilley=1,%
% Pour les diags circulaires
Rayon=3cm,AffichageAngle=false,AffichageDonnee=false,ListeCouleurs={white},Hachures=false,ListeHachures={60},LectureInverse=false,EcartHachures=0.25,EpaisseurHachures=1,Legende,LegendeVide=false,ACompleter=false,DebutAngle=0,%on utilisera également la clé CouleurDefaut
%Pour les représentations
@@ -466,7 +470,6 @@ ModeleCouleur=5%
unitex:=\useKV[ClesStat]{Unitex}*cm;
unitey:=\useKV[ClesStat]{Unitey}*cm;
xpartorigine:=\useKV[ClesStat]{Origine};
- AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse};
boolean Rotation,Lecture,LectureFine,AideLecture,DonneesSup,Reponses,Qualitatif,Tiret,LegendeVide,Retour,GrandNombrex,GrandNombrey,Date,Grille;
GrandNombrex=\useKV[ClesStat]{GrandNombrex};
GrandNombrey=\useKV[ClesStat]{GrandNombrey};
@@ -478,6 +481,11 @@ ModeleCouleur=5%
fi;
Date:=\useKV[ClesStat]{Date};
Rotation=\useKV[ClesStat]{AbscisseRotation};
+ if Rotation:
+ AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse};
+ else:
+ AngleRotation=0;
+ fi;
Lecture:=\useKV[ClesStat]{Lecture};
LectureFine:=\useKV[ClesStat]{LectureFine};
AideLecture:=\useKV[ClesStat]{AideLecture};
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTableauDoubleEntree.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTableauDoubleEntree.tex
new file mode 100644
index 00000000000..f13fe2fad5b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTableauDoubleEntree.tex
@@ -0,0 +1,62 @@
+%%%
+% Tableau Double Entree
+%%%
+\def\filedateTDE{2024/08/15}%
+\def\fileversionTDE{0.1a}%
+\message{-- \filedateTDE\space v\fileversionTDE}%
+
+\setKVdefault[TDE]{Colonnes=5,Lignes=4,Legende={},LegendesH={B,C,D,Total},LegendesV={1,2,Total},Couleur=Cornsilk,Vide=false,Totaux,Questions=false,Stretch=1}%
+
+\NewDocumentCommand\TableauDoubleEntree{om}{%
+ \useKVdefault[TDE]%
+ \setKV[TDE]{#1}%
+ \xdef\PfCFooH{\useKV[TDE]{LegendesH}}%
+ \xdef\PfCFooV{\useKV[TDE]{LegendesV}}%
+ \setsepchar{,}\reademptyitems%
+ \readlist*\ListeH{\PfCFooH}%
+ \readlist*\ListeV{\PfCFooV}%
+ \readlist*\ListeDonnees{#2}%
+ \ifboolKV[TDE]{Totaux}{}{%
+ % Vider les lignes du total
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{\ListeVlen-1}}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\fpeval{\ListeHlen-0}}}\do{%
+ \modulo{\fpeval{##2+(##1-1)*(\ListeHlen-0)}}{\fpeval{\ListeHlen-0}}%
+ \ifnum\remainder=0\relax%
+ \xdef\ListeDonneesSansTotauxAv{\ListeDonneesSansTotauxAv,}%
+ \else%
+ \ifnum\fpeval{##2+(##1-1)*(\ListeHlen-0)}=1\relax%
+ \xdef\ListeDonneesSansTotauxAv{\ListeDonnees[\fpeval{##2+(##1-1)*(\ListeHlen-0)}]}%
+ \else%
+ \xdef\ListeDonneesSansTotauxAv{\ListeDonneesSansTotauxAv,\ListeDonnees[\fpeval{##2+(##1-1)*(\ListeHlen-0)}]}%
+ \fi%
+ \fi%
+ }%
+ }%
+ % On ajoute la dernière ligne qui est vide
+ \xintFor* ##2 in{\xintSeq{1}{\fpeval{\ListeHlen-0}}}\do{%
+ \xdef\ListeDonneesSansTotauxAv{\ListeDonneesSansTotauxAv,}%
+ }%
+ % On relit la liste des données.
+ \setsepchar{,}\reademptyitems%
+ \readlist*\ListeDonnees{\ListeDonneesSansTotauxAv}%
+ \reademptyitems%
+ }%
+ %
+ % Pour vider le tableau, on utilise la clé <Vide>.
+ % On choisit quelques éléments ^^ à écrire
+ \ifboolKV[TDE]{Questions}{%
+ %en réflexion (voir v5)
+ }{}%
+ %
+ \colorlet{PfCColorTDE}{\useKV[TDE]{Couleur}}%
+ \renewcommand{\arraystretch}{\useKV[TDE]{Stretch}}%
+ \begin{tabular}{|*{\fpeval{\ListeHlen+1}}{c|}}
+ \hline
+ \cellcolor{PfCColorTDE}\useKV[TDE]{Legende}\xintFor*##1 in{\xintSeq{1}{\ListeHlen}}\do{\uppercase{&}\cellcolor{PfCColorTDE}\ListeH[##1]}\\
+ \hline
+ \xintFor* ##1 in{\xintSeq{1}{\ListeVlen}}\do{
+ \cellcolor{PfCColorTDE}\ListeV[##1]\xintFor*##2 in{\xintSeq{1}{\ListeHlen}}\do{\uppercase{&}\ifboolKV[TDE]{Vide}{}{\ListeDonnees[\fpeval{(##2-0)+(##1-1)*(\ListeHlen-0)}]}}\\
+ \hline
+ }
+ \end{tabular}
+}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTableauxUnites.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTableauxUnites.tex
index 75270180d37..933fcb80a2b 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTableauxUnites.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTableauxUnites.tex
@@ -1,7 +1,11 @@
%%%
% 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,CarreA=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false,Escalier=false,CubeA=false,Taille=5,Largeur=4.75em,Nom=PfCTableau,CodeAfter={},PuissancesSeules=false,Colonne=-1,Octet=false,CouleurGN=white,CadreGN=black,Tabcolsep=0.275\tabcolsep,Exterieur=false,Condense=false}%
+\def\filedateTableaux{2024/08/15}%
+\def\fileversionTableaux{0.1a}%
+\message{-- \filedateTableaux\space v\fileversionTableaux}%
+\message{`PfCTableauxUnites.tex' v\fileversionTableaux\space (\filedateTableaux)}
+\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,CarreA=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false,Escalier=false,CubeA=false,Taille=5,Largeur=4.75em,Nom=PfCTableau,CodeAfter={},PuissancesSeules=false,Colonne=-1,Octet=false,CouleurGN=white,CadreGN=black,Tabcolsep=0.275\tabcolsep,Exterieur=false,Condense=false,DoubleEntree=false}%
\defKV[ClesTableaux]{ColonnesSup=\setKV[ClesTableaux]{Exterieur}}%
%
\newcommand\PfCTBstrut{\rule[-1.2ex]{0pt}{3.8ex}}% Top and Bottom strut
@@ -52,7 +56,10 @@
\xdef\PfCCoefConversion{10}%
}{}%
\PfCTableauIncline%
- }{%
+ }{%Fin Escalier
+ \ifboolKV[ClesTableaux]{DoubleEntree}{%
+ \TableauDoubleEntree[#1]{#2}%
+ }{}%
%
%%% Clé Octet
%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTablesOperations.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTablesOperations.tex
index 3399cbecff9..df109d964a8 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTablesOperations.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTablesOperations.tex
@@ -1,6 +1,10 @@
%%%
% Tables Addition-Multiplication
%%%
+\def\filedateTableOp{2024/08/04}%
+\def\fileversionTableOp{0.1}%
+\message{-- \filedateTableOp\space v\fileversionTableOp}%
+%
\setKVdefault[Tables]{Addition=false,Soustraction=false,Multiplication,Seul=false,Debut=0,Fin=10,Couleur=white,Inverse=false}
% pour m\'emoire
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTectonic.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTectonic.tex
index df859b0453b..3026bf9be0a 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTectonic.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTectonic.tex
@@ -1,6 +1,10 @@
%%%
% Tectonic
%%%
+\def\filedateTectonic{2024/08/04}%
+\def\fileversionTectonic{0.1}%
+\message{-- \filedateTectonic\space v\fileversionTectonic}%
+%
\setKVdefault[ClesTectonic]{CouleurCase=LightGray,TLargeur=5,THauteur=5,Solution=false,Largeur=25pt,CouleurSolution=black,Tailles=false,Aide=false}%
\defKV[ClesTectonic]{Taille=\setKV[ClesTectonic]{Tailles}}%
\defKV[ClesTectonic]{ListeNombres=\setKV[ClesTectonic]{Aide}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCThales.tex b/Master/texmf-dist/tex/latex/profcollege/PfCThales.tex
index d4adb5be013..140bde3f234 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCThales.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCThales.tex
@@ -1,6 +1,10 @@
%%%
% Thales
%%%
+\def\filedateThales{2024/08/04}%
+\def\fileversionThales{0.1}%
+\message{-- \filedateThales\space v\fileversionThales}%
+%
\newcount\ppcm%
\newcommand\PPCM[2]{%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTicketCaisse.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTicketCaisse.tex
index 1c460e36939..2286b083329 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTicketCaisse.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTicketCaisse.tex
@@ -1,8 +1,16 @@
%%%
% Ticket de caisse
%%%
+\def\filedateTicketCaisse{2024/08/04}%
+\def\fileversionTicketCaisse{0.1}%
+\message{-- \filedateTicketCaisse\space v\fileversionTicketCaisse}%
+%
\newcounter{PfCNbInsulte}%
+\newcounter{PfCChoixService}%
\setcounter{PfCNbInsulte}{0}%
+\setcounter{PfCChoixService}{0}%
+%
+\newlength\PfCTicketLarg
\NewDocumentCommand\PfCPrixInsulte{sm}{%
\setsepchar{,}\ignoreemptyitems%
@@ -67,15 +75,17 @@
}%
\makeatother
-\setKVdefault[TicketCaisse]{Largeur=222,Especes=50,Enseigne=Au comptoir des maths,DateAchat=\today,HeureAchat=15:13:34,Taches=false,Rendu,Total,UK=false,US=false,CFA=false,CFP=false,CHF=false,Euro=false,Solution=false}
+\setKVdefault[TicketCaisse]{Largeur=222pt,Especes=50,Simple=false,Taxes=false,SansRendu=false,Enseigne=Au comptoir des maths,DateAchat=\today,HeureAchat=15:13:34,Taches=false,Rendu,Total,SousTotal=false,UK=false,US=false,CFA=false,CFP=false,CHF=false,Euro=false,Solution=false}
\defKV[TicketCaisse]{Couleur=\colorlet{PfCTicketCouleurSolution}{#1}\setKV[TicketCaisse]{Solution}}
+\defKV[TicketCaisse]{Service=\setKV[TicketCaisse]{Taxes}}
-\NewDocumentCommand\TicketCaisse{om}{%
+\NewDocumentCommand\TicketCaisse{som}{%
\setcounter{PfCNbInsulte}{0}%
\useKVdefault[TicketCaisse]%
- \setKV[TicketCaisse]{#1}%
+ \setKV[TicketCaisse]{#2}%
+ \setlength{\PfCTicketLarg}{\useKV[TicketCaisse]{Largeur}}%
\setsepchar[*]{,*/}%
- \readlist*\ListeAchats{#2}%
+ \readlist*\ListeAchats{#3}%
% On fait trois listes pour les retenir
% Liste Quantités
\xdef\PfCFooQuantites{}%
@@ -122,9 +132,123 @@
\xintFor* ##1 in{\xintSeq{1}{\ListeAchatslen}}\do{%
\xdef\PfCTCTotal{\fpeval{\PfCTCTotal+\ListeQuantites[##1]*\ListePUnitaires[##1]}}%
}%
-% Le coût total est \PfCTCTotal\\
+ \ifboolKV[TicketCaisse]{Taxes}{%
+ % On décompose la clé
+ \StrChar{\useKV[TicketCaisse]{Service}}{1}[\MyLetter]%
+ % Si le premier caractère est !, il faut regarder si le deuxième caractère est une étoile
+ \IfStrEq{\MyLetter}{!}{%
+ \StrChar{\useKV[TicketCaisse]{Service}}{2}[\MyLettera]%
+ \IfStrEq{\MyLettera}{*}{%
+ \StrGobbleLeft{\useKV[TicketCaisse]{Service}}{2}[\PfCTCValeurService]
+ \setcounter{PfCChoixService}{3}%
+ }{%
+ \StrGobbleLeft{\useKV[TicketCaisse]{Service}}{1}[\PfCTCValeurService]
+ \setcounter{PfCChoixService}{1}%
+ }%
+ }{%il faut regarder si c'est une étoile
+ \StrChar{\useKV[TicketCaisse]{Service}}{1}[\MyLettera]%
+ \IfStrEq{\MyLettera}{*}{%
+ \StrGobbleLeft{\useKV[TicketCaisse]{Service}}{1}[\PfCTCValeurService]
+ \setcounter{PfCChoixService}{2}
+ }{%
+ \xdef\PfCTCValeurService{\useKV[TicketCaisse]{Service}}%
+ \setcounter{PfCChoixService}{0}
+ }%
+ }%
+ % On fait les calculs associés à la clé.
+ \xdef\PfCTCSousTotal{\PfCTCTotal}%
+ \xdef\PfCTCService{\fpeval{\PfCTCValeurService*\PfCTCSousTotal/100}}%
+ \xdef\PfCTCTotal{\fpeval{\PfCTCSousTotal+\PfCTCService}}%
+ }{}%
+ % Le coût total est \PfCTCTotal\\
+ \IfBooleanTF{#1}{%
+ \ttfamily
+ \begin{tabular}{|m{0.48\PfCTicketLarg}m{0.13\PfCTicketLarg}m{0.165\PfCTicketLarg}m{0.225\PfCTicketLarg}|}%
+ \hline
+ &&&\\%
+ \multicolumn{4}{|c|}{\Large\bfseries\useKV[TicketCaisse]{Enseigne}}\\%
+ &&&\\%
+ \hline%
+ &&&\\%
+ \footnotesize\sc Description&\centering \footnotesize\sc Qte.&\centering\footnotesize\sc P.u.&\hfill\footnotesize\sc Prix \ifboolKV[TicketCaisse]{Taxes}{H.T.}{Net}\\%
+ &&&\\%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeAchatslen}}\do{%
+ \ListeElements[##1]&%
+ \centering
+ \footnotesize%
+ \StrChar{\ListeAchats[##1,1]}{1}[\MyLetter]%
+ \IfStrEq{\MyLetter}{!}{\PfCPrixInsulte*{\ListeQuantites[##1]}}{\xintifboolexpr{\fpeval{\ListeQuantites[##1]}==1}{}{\num{\ListeQuantites[##1]}}}%
+ &
+ \hfill
+ \footnotesize
+ %Savoir si le nombre d'articles est affiché
+ \StrChar{\ListeAchats[##1,1]}{1}[\MyLetter]%
+ % Si le nombre d'articles n'est pas affiché, il faut impérativement afficher le prix unitaire
+ \IfStrEq{\MyLetter}{!}{%
+ \PrixTicket{\ListePUnitaires[##1]}%
+ }{%
+ % On regarde si on affiche le prix unitaire
+ \StrChar{\ListeAchats[##1,3]}{1}[\MyLettera]%
+ % Si c'est un !, on affiche pas
+ % Sinon, on affiche
+ \IfStrEq{\MyLettera}{!}{%
+ \PfCPrixInsulte*{\PrixTicket{\ListePUnitaires[##1]}}%
+ }{%
+ \xintifboolexpr{\fpeval{\ListeQuantites[##1]}==1}{}{%
+ \PrixTicket{\ListePUnitaires[##1]}%
+ }%
+ }%
+ }%
+ &\hfill
+ \StrChar{\ListeAchats[##1,3]}{1}[\MyLetter]%
+ % Si le premier caractère est !, il faut regarder si le deuxième caractère est une étoile
+ \IfStrEq{\MyLetter}{!}{%
+ \StrChar{\ListeAchats[##1,3]}{2}[\MyLettera]%
+ \IfStrEq{\MyLettera}{*}{%
+ \PfCPrixInsulte*{\PrixTicket{\fpeval{\ListeQuantites[##1]*\ListePUnitaires[##1]}}}%
+ }{%
+ \PrixTicket{\fpeval{\ListeQuantites[##1]*\ListePUnitaires[##1]}}%
+ }%
+ }{%il faut regarder si c'est une étoile
+ \StrChar{\ListeAchats[##1,3]}{1}[\MyLettera]%
+ \IfStrEq{\MyLettera}{*}{%
+ \PfCPrixInsulte{\PrixTicket{\fpeval{\ListeQuantites[##1]*\ListePUnitaires[##1]}}}%
+ }{%
+ \PrixTicket{\fpeval{\ListeQuantites[##1]*\ListePUnitaires[##1]}}%
+ }%
+ }%
+ \\
+ }%
+ &&&\\%
+ \hline%
+ &&&\\
+ % Partie Service
+ \ifboolKV[TicketCaisse]{Taxes}{%
+ Total H.T.\uppercase{&}\uppercase{&}\uppercase{&}\hfill\ifboolKV[TicketCaisse]{SousTotal}{\ifnum\thePfCNbInsulte=0\relax\PrixTicket{\PfCTCSousTotal}\else\PfCPrixInsulte*{\PrixTicket{\PfCTCSousTotal}}\fi}{\PfCPrixInsulte*{\PrixTicket{\PfCTCSousTotal}}}
+ \\%
+ Service %
+ \ifodd\thePfCChoixService\relax \PfCPrixInsulte{\num{\PfCTCValeurService}}\else\num{\PfCTCValeurService}\fi~\si{\percent}%
+ &&&\hfill
+ \ifnum\thePfCChoixService>1\relax \PfCPrixInsulte{\PrixTicket{\PfCTCService}}\else\PrixTicket{\PfCTCService}\fi%
+ \\
+ &&&\\
+ \hline
+ &&&\\
+ }{}%
+ \ifboolKV[TicketCaisse]{Simple}{}{%
+ Total\ifboolKV[TicketCaisse]{Taxes}{ T.T.C.}{}&&&\hfill\ifboolKV[TicketCaisse]{Total}{\ifnum\thePfCNbInsulte=0\relax\PrixTicket{\PfCTCTotal}\else\PfCPrixInsulte*{\PrixTicket{\PfCTCTotal}}\fi}{\PfCPrixInsulte*{\PrixTicket{\PfCTCTotal}}}\\%
+ \ifboolKV[TicketCaisse]{SansRendu}{}{%
+ Espèces&&&\hfill\PrixTicket{\useKV[TicketCaisse]{Especes}}\\%
+ Rendu&&&\hfill\ifboolKV[TicketCaisse]{Rendu}{\PrixTicket{\fpeval{\useKV[TicketCaisse]{Especes}-\PfCTCTotal}}}{\PfCPrixInsulte*{\PrixTicket{\fpeval{\useKV[TicketCaisse]{Especes}-\PfCTCTotal}}}}\\%
+ }
+ &&&\\%
+ }%
+ \multicolumn{4}{|c|}{\footnotesize\useKV[TicketCaisse]{DateAchat}\qquad\useKV[TicketCaisse]{HeureAchat}}\\%
+ \hline
+ \end{tabular}
+ }{%
{\ttfamily%
- \begin{NiceTabular}{m{107pt}m{29pt}m{36pt}m{50pt}}%
+ \begin{NiceTabular}{m{0.48\PfCTicketLarg}m{0.13\PfCTicketLarg}m{0.165\PfCTicketLarg}m{0.225\PfCTicketLarg}}%
\CodeBefore
\tikz\node[opacity=0.2,yshift=-1.5cm] at ($(1-|1)!0.5!(1-|last)$) {\Large\bfseries\reflectbox{
\begin{tabular}{c}
@@ -148,7 +272,7 @@
\\%
\Cdots\\%
\\%
- \Block[l]{}{\footnotesize\sc Description}&\Block{}{\footnotesize\sc Qte.}&\Block{}{\footnotesize\sc P.u.}&\Block[r]{}{\footnotesize\sc Prix Net}\\%
+ \Block[l]{}{\footnotesize\sc Description}&\Block{}{\footnotesize\sc Qte.}&\Block{}{\footnotesize\sc P.u.}&\Block[r]{}{\footnotesize\sc Prix \ifboolKV[TicketCaisse]{Taxes}{H.T.}{Net}}\\%
\\%
\xintFor* ##1 in{\xintSeq{1}{\ListeAchatslen}}\do{%
\ListeElements[##1]&%
@@ -200,11 +324,28 @@
}%
\\%
\Cdots\\%
- Total&&&\Block[r]{}{\ifboolKV[TicketCaisse]{Total}{\ifnum\thePfCNbInsulte=0\relax\PrixTicket{\PfCTCTotal}\else\PfCPrixInsulte*{\PrixTicket{\PfCTCTotal}}\fi}{\PfCPrixInsulte*{\PrixTicket{\PfCTCTotal}}}}\\%
- Espèces&&&\Block[r]{}{\PrixTicket{\useKV[TicketCaisse]{Especes}}}\\%
- Rendu&&&\Block[r]{}{\ifboolKV[TicketCaisse]{Rendu}{\PrixTicket{\fpeval{\useKV[TicketCaisse]{Especes}-\PfCTCTotal}}}{\PfCPrixInsulte*{\PrixTicket{\fpeval{\useKV[TicketCaisse]{Especes}-\PfCTCTotal}}}}}\\%
+ % Partie Service
+ \ifboolKV[TicketCaisse]{Taxes}{%
+ Total H.T.&&&\Block[r]{}{\ifboolKV[TicketCaisse]{SousTotal}{\ifnum\thePfCNbInsulte=0\relax\PrixTicket{\PfCTCSousTotal}\else\PfCPrixInsulte*{\PrixTicket{\PfCTCSousTotal}}\fi}{\PfCPrixInsulte*{\PrixTicket{\PfCTCSousTotal}}}
+ }\\%
+ Service %
+ \ifodd\thePfCChoixService\relax \PfCPrixInsulte{\num{\PfCTCValeurService}}\else\num{\PfCTCValeurService}\fi~\si{\percent}%
+ &&&\Block[r]{}{%
+ \ifnum\thePfCChoixService>1\relax \PfCPrixInsulte{\PrixTicket{\PfCTCService}}\else\PrixTicket{\PfCTCService}\fi%
+ }\\
+ \Cdots\\
+ \\
+ }{}%
+ \ifboolKV[TicketCaisse]{Simple}{}{%
+ Total\ifboolKV[TicketCaisse]{Taxes}{ T.T.C.}{}&&&\Block[r]{}{\ifboolKV[TicketCaisse]{Total}{\ifnum\thePfCNbInsulte=0\relax\PrixTicket{\PfCTCTotal}\else\PfCPrixInsulte*{\PrixTicket{\PfCTCTotal}}\fi}{\PfCPrixInsulte*{\PrixTicket{\PfCTCTotal}}}}\\%
+ \ifboolKV[TicketCaisse]{SansRendu}{}{%
+ Espèces&&&\Block[r]{}{\PrixTicket{\useKV[TicketCaisse]{Especes}}}\\%
+ Rendu&&&\Block[r]{}{\ifboolKV[TicketCaisse]{Rendu}{\PrixTicket{\fpeval{\useKV[TicketCaisse]{Especes}-\PfCTCTotal}}}{\PfCPrixInsulte*{\PrixTicket{\fpeval{\useKV[TicketCaisse]{Especes}-\PfCTCTotal}}}}}\\%
+ }
\\%
- \Block{1-4}{\footnotesize\useKV[TicketCaisse]{DateAchat}\qquad\useKV[TicketCaisse]{HeureAchat}}&&&\\%
+ }%
+ \Block{1-4}{\footnotesize\useKV[TicketCaisse]{DateAchat}\qquad\useKV[TicketCaisse]{HeureAchat}}&&&\\%
\end{NiceTabular}
}%
+ }
}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex
index 461a42fb717..05a6524e987 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTortueBase.tex
@@ -1,6 +1,10 @@
%%%
% Tortue
%%%
+\def\filedateTortue{2024/08/04}%
+\def\fileversionTortue{0.1}%
+\message{-- \filedateTortue\space v\fileversionTortue}%
+%
\setKVdefault[Tortue]{%
Pas=0.2mm,%Déplacement,
Etapes=false,%Pour arrêter la construction à une étape particulière
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTrigonometrie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTrigonometrie.tex
index 38fe05ce606..0bd7a90da63 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTrigonometrie.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTrigonometrie.tex
@@ -1,6 +1,10 @@
%%%
% Trigonom\'etrie
%%%
+\def\filedateTrigo{2024/08/04}%
+\def\fileversionTrigo{0.1}%
+\message{-- \filedateTrigo\space v\fileversionTrigo}%
+%
\def\MPFigTrigo#1#2#3#4#5#6#7#8{%
\ifluatex
% \mplibcodeinherit{enable}
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTrio.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTrio.tex
index 560258ff59d..06c0a77e3bc 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTrio.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTrio.tex
@@ -1,3 +1,10 @@
+%%%
+%Trio
+%%%
+\def\filedateTrio{2024/08/04}%
+\def\fileversionTrio{0.1}%
+\message{-- \filedateTrio\space v\fileversionTrio}%
+%
\newlength\PfCTrioHauteur%
\newcounter{PfCTrioLettre}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCTriominos.tex b/Master/texmf-dist/tex/latex/profcollege/PfCTriominos.tex
index efc6cd24b31..b2ece6c0d49 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCTriominos.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCTriominos.tex
@@ -1,6 +1,10 @@
%%%
% Triominos
%%%
+\def\filedateTriominos{2024/08/04}%
+\def\fileversionTriominos{0.1}%
+\message{-- \filedateTriominos\space v\fileversionTriominos}%
+%
\setKVdefault[ClesTriomino]{Longueur=5cm,Etages=3,Ecart=0.6,AffichagePiece=false,Hexagone=false,Recapitulatif=false,Colonnes=2}%
\defKV[ClesTriomino]{Piece=\setKV[ClesTriomino]{AffichagePiece=true}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex b/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex
index 895f96136c2..0d00e039c41 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCUrneProba.tex
@@ -1,6 +1,10 @@
%%%
% Urne et probabilités
%%%
+\def\filedateUrneProba{2024/08/04}%
+\def\fileversionUrneProba{0.1}%
+\message{-- \filedateUrneProba\space v\fileversionUrneProba}%
+%
\newtoks\tokUrneListeCouleurs%
\newtoks\tokUrneListeColonnes%
\newtoks\tokUrneListeNombres%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCVisualisationMulDeci.tex b/Master/texmf-dist/tex/latex/profcollege/PfCVisualisationMulDeci.tex
index 54a1a079cc6..99024a43586 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCVisualisationMulDeci.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCVisualisationMulDeci.tex
@@ -1,6 +1,10 @@
%%%
% Visualisation Multiplication Décimaux
%%%
+\def\filedateVisuMulDeci{2024/08/04}%
+\def\fileversionVisuMulDeci{0.1}%
+\message{-- \filedateVisuMulDeci\space v\fileversionVisuMulDeci}%
+%
\setKVdefault[VisMulDec]{Couleur=Orange,CouleurUnite=DarkGreen,Dixiemes=false,Unite=2}%
\newtoks\toksvismuldec%
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCVueCubes.tex b/Master/texmf-dist/tex/latex/profcollege/PfCVueCubes.tex
index 9365b7e6216..196358d9bf8 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCVueCubes.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCVueCubes.tex
@@ -1,6 +1,10 @@
%%%
% Vue Cubes
%%%
+\def\filedateVueCubes{2024/08/26}%
+\def\fileversionVueCubes{0.1a}%
+\message{-- \filedateVueCubes\space v\fileversionVueCubes}%
+%
\setKVdefault[VueCubes]{Solution=false,Hauteur=5,Profondeur=4,Largeur=3,Angle=60,Nom=Ex1,Trou=false,Echelle=0.25,CouleurCube=LightSteelBlue,CouleurFleche=LightGray,Face=false,Creation=false,Grilles=false,Seul=false,Perso=false,EclateX=0,EclateZ=0,EclateY=0}
\newtoks\toklisteVueCube%
@@ -30,9 +34,9 @@
\readlist*\PfCListeHauteursCubes{#2}%
\reademptyitems%
\foreachitem\compteur\in\PfCListeHauteursCubes{\expandafter\UpdatetoksVueCube\compteur\nil}%
- \BuildVueCubes{\useKV[VueCubes]{Angle}}{\the\toklisteVueCube}%
+ \BuildVueCubes{\useKV[VueCubes]{Angle}}{\the\toklisteVueCube}{\useKV[VueCubes]{Nom}}%
}{%
- \BuildVueCubes{\useKV[VueCubes]{Angle}}{}%
+ \BuildVueCubes{\useKV[VueCubes]{Angle}}{}{\useKV[VueCubes]{Nom}}%
}%
}%
}%
@@ -100,11 +104,13 @@
\fi
}
-\NewDocumentCommand\BuildVueCubes{m m}{%
+\NewDocumentCommand\BuildVueCubes{m m m}{%
\ifluatex
\mplibforcehmode
\xdef\PfCVueCubeNom{\useKV[VueCubes]{Nom}}%
\begin{mplibcode}[\PfCVueCubeNom]
+ string NomRetenu;
+ NomRetenu=str #3;
input PfCSolid;
intensite:=1.5;
@@ -176,6 +182,9 @@
endfor;
fi;
+ write decimal(TotalObj) to "PfCNombreCubes"&NomRetenu&".tex";%
+ write EOF to "PfCNombreCubes"&NomRetenu&".tex";%
+
% Pour la fleche
path Fleche;
color A[];
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCYohaku.tex b/Master/texmf-dist/tex/latex/profcollege/PfCYohaku.tex
index c710834b934..942e66c111c 100644
--- a/Master/texmf-dist/tex/latex/profcollege/PfCYohaku.tex
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCYohaku.tex
@@ -1,6 +1,10 @@
%%%
% Yohaku
%%%
+\def\filedateYohaku{2024/08/04}%
+\def\fileversionYohaku{0.1}%
+\message{-- \filedateYohaku\space v\fileversionYohaku}%
+%
\setKVdefault[Yohaku]{Taille=2,Largeur=1cm,Hauteur=1cm,Addition,Multiplication=false,Perso=false,Limite=50,Relatif=false,Negatif=false,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}}%
diff --git a/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty b/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
index a6b767a3bf1..cfef5e5232d 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{2024/07/03}%
+\def\filedate{2024/08/27}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-A-g}%
+\def\fileversion{0.99-A-h}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -340,6 +340,37 @@
\fi
}%
+\newlength{\PfCLongueurBarreHor}
+\setKVdefault[PfCLigneCompleter]{Ecart=20pt,Couleurs=false}%
+\defKV[PfCLigneCompleter]{Couleur=\setKV[PfCLigneCompleter]{Couleurs}}%
+
+\NewDocumentCommand\ListeACompleter{som}{%
+ \useKVdefault[PfCLigneCompleter]%
+ \setKV[PfCLigneCompleter]{#2}%
+ \ifboolKV[PfCLigneCompleter]{Couleurs}{\colorlet{PfCLC}{\useKV[PfCLigneCompleter]{Couleur}}}{}%
+ \setlength{\PfCLongueurBarreHor}{\useKV[PfCLigneCompleter]{Ecart}}%
+ \setsepchar{,}\reademptyitems%
+ \readlist*\ListeTiti{#3}%
+ \foreachitem\compteur\in\ListeTiti{%
+ \itemtomacro\ListeTiti[\compteurcnt]\PfCCaractere%
+ \StrChar{\PfCCaractere}{1}[\RetiensElmt]%
+ \IfStrEq{\RetiensElmt}{!}{%
+ \IfBooleanTF{#1}{%
+ \ifboolKV[PfCLigneCompleter]{Couleurs}{\colorlet{saved}{.}\color{PfCLC}}{}\StrGobbleLeft{\PfCCaractere}{1}\ifboolKV[PfCLigneCompleter]{Couleurs}{\color{saved}}{}%
+ }{%
+ \hbox to \PfCLongueurBarreHor{\hrulefill}%
+ }
+ }{%
+ \ListeTiti[\compteurcnt]%
+ }%
+ \ifnum\compteurcnt=\ListeTitilen\relax%
+ .%
+ \else%
+ ,
+ \fi%
+ }%
+}%
+
%https://tex.stackexchange.com/questions/128991/frac-or-inference-rule-with-dotted-line
\newcommand\PfCfrac[2]{%
\ooalign{$\genfrac{}{}{0pt}{0}{#1}{#2}$\cr\PfCdotover\cr}%
@@ -825,6 +856,8 @@
\def\PfCSymbolTimes{\times}%
\def\PfCSymbolDiv{\div}%
+\input{PfCCalculsDetailles}
+\input{PfCTableauDoubleEntree}
\input{PfCUrneProba}
\input{PfCProbaFrequence}
\input{PfCVisualisationMulDeci}
@@ -975,8 +1008,5 @@
\input{PfCScratch}
\RequirePackage{PfCInfixRPN}
-%\makeatletter
-%\let\@nil\@empty
-%\makeatother
\input{PfCArbreCalcul} \ No newline at end of file