diff options
author | Karl Berry <karl@freefriends.org> | 2024-08-28 21:07:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-08-28 21:07:18 +0000 |
commit | 754930caeb21df825e73daba921a38761c1685bb (patch) | |
tree | 82fb6c71923cea20b60d5d3634f943e693993d3c | |
parent | 7e08073b84fb6d7c35db487964051a862fe1c4cf (diff) |
profcollege (28aug24)
git-svn-id: svn://tug.org/texlive/trunk@72129 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differindex c684b9fff89..794f5fdcb02 100644 --- a/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdf +++ b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdf diff --git a/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip Binary files differindex 995fa25ee88..3b52f98102b 100644 --- a/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip +++ b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip 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 |