texlive[72312] Master/texmf-dist: profmaquette (17sep24)

commits+karl at tug.org commits+karl at tug.org
Tue Sep 17 21:55:33 CEST 2024


Revision: 72312
          https://tug.org/svn/texlive?view=revision&revision=72312
Author:   karl
Date:     2024-09-17 21:55:33 +0200 (Tue, 17 Sep 2024)
Log Message:
-----------
profmaquette (17sep24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.pdf
    trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.zip
    trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty

Modified: trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty	2024-09-17 19:55:25 UTC (rev 72311)
+++ trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty	2024-09-17 19:55:33 UTC (rev 72312)
@@ -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/09/01}%
+\def\filedate{2024/09/17}%
 \let\PfMfiledate\filedate%
-\def\fileversion{0.98}%
+\def\fileversion{0.99}%
 \let\PfMfileversion\fileversion%
 
 \ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -54,26 +54,26 @@
 \makeatother
 %définition des clés
 \RequirePackage{simplekv}%
-\setKVdefault[Boulot]{Dys=false,Taille=14,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,OlympiadesAPMEP=false,LivreHeros=false,CorrigeInverse=false,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,EntrainementColonnes=false,Epaisseur=0pt,EEpaisseur=0pt,ESansSaut=false,VersSolution=false,AvecEntrainement=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=false,Input=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé
+\setKVdefault[Boulot]{Graine=1,Dys=false,Taille=14,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,OlympiadesAPMEP=false,LivreHeros=false,CorrigeInverse=false,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,EntrainementColonnes=false,Epaisseur=0pt,EEpaisseur=0pt,ESansSaut=false,VersSolution=false,AvecEntrainement=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=false,Input=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé
 \defKV[Boulot]{Colonnes=\setKV[Boulot]{CorrectionColonnes}}%
 \defKV[Boulot]{EColonnes=\setKV[Boulot]{EntrainementColonnes}}%
-\setKVdefault[Cours]{Couleur=Crimson,Theme=Trace écrite,NomExercice=Exercice}%
+\setKVdefault[Cours]{Couleur=Crimson,Theme=Trace \'ecrite,NomExercice=Exercice}%
 \setKVdefault[DM]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname}%
 \setKVdefault[DS]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname,Calculatrice=false,Sujet=A}%
-\setKVdefault[Fiche]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,}%
-\setKVdefault[PdT]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
-\setKVdefault[FdR]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
-\setKVdefault[Parcours]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false,Plan=false,Court=false}%
-\setKVdefault[Contrat]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
-\setKVdefault[OlympiadesAPMEP]{Theme=Les nombres décimaux}%
+\setKVdefault[Fiche]{Theme=Les nombres d\'ecimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,}%
+\setKVdefault[PdT]{Theme=Les nombres d\'ecimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
+\setKVdefault[FdR]{Theme=Les nombres d\'ecimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
+\setKVdefault[Parcours]{Theme=Les nombres d\'ecimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false,Plan=false,Court=false}%
+\setKVdefault[Contrat]{Theme=Les nombres d\'ecimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}%
+\setKVdefault[OlympiadesAPMEP]{Theme=Les nombres d\'ecimaux}%
 \setKVdefault[ParcoursPerso]{Fichier={}}%
 \setKVdefault[IE]{Nom=\'Evaluation,Sujets=false,Theme={},Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname,Calculatrice=false}%
 \defKV[IE]{Sujet=\setKV[IE]{Sujets}}%
-\setKVdefault[RecapBrevet]{Theme=Les nombres décimaux,Date=\today,Code={},NomExercice=Exercice}%
-\setKVdefault[Kholle]{Sujet=1,Numero=1,Date=15,Niveau=TSI-1,Code=\jobname,Lieu=Lycée
+\setKVdefault[RecapBrevet]{Theme=Les nombres d\'ecimaux,Date=\today,Code={},NomExercice=Exercice}%
+\setKVdefault[Kholle]{Sujet=1,Numero=1,Date=15,Niveau=TSI-1,Code=\jobname,Lieu=Lyc\'ee
   du Hainaut (Valenciennes),NomEleve=Albert Einstein,CR=false}%
 \setKVdefault[CAN]{Date=\today,Niveau=6,Duree=9,CoefQ=0.4,CoefR=0.35,CoefJ=0.1}%
-\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Doublespacing=false,Onehalfspacing=false,Cadres=false,Grilles=false,Cinq=false,Huit=false,TitreSol=false,NonUtilise=false,Profile=false,AEntretenir=false,Fragile=false,AvecIndications=false,ACompleter=false,Aide=0,Score=0,EchelleSeyes=8}%
+\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Doublespacing=false,Onehalfspacing=false,Cadres=false,Grilles=false,Cinq=false,Huit=false,TitreSol=false,NonUtilise=false,Profile=false,AEntretenir=false,Fragile=false,AvecIndications=false,ACompleter=false,Aide=0,Score=0,EchelleSeyes=8,Ajout={},TitreCorrige=Corrigé de l'exercice}%
 \defKV[ClesExercices]{TitreSolution=\setKV[ClesExercices]{TitreSol}}%
 \defKV[ClesExercices]{Source=\setKV[ClesExercices]{AffichageSource}}%
 \defKV[ClesExercices]{Titre=\setKV[ClesExercices]{AffichageTitre}}%
@@ -105,8 +105,7 @@
 \leavevmode%
 \cleaders\hb at xt@.44em{\hss\xleaders\hrule width0.33em\hss}\hfill%
 \kern\z@}%
-
-%\makeatother%
+\makeatother%
 %
 \NewDocumentCommand\PfMpointilles{o}{%
   \IfNoValueTF{#1}{\PfMDotfill}{\makebox[#1]{\PfMDotfill}}%
@@ -186,6 +185,8 @@
 \setcounter{PfMExoEntrai}{0}%
 \newcounter{PfMCorrigeParcoursPerso}%affichage des solutions ou pas dans le cadre d'un parcours perso
 \setcounter{PfMCorrigeParcoursPerso}{0}%
+\newcounter{PfMRetiensMapourPP}%Pour retenir le numéro de la maquette de référence pour les parcours perso
+\setcounter{PfMRetiensMapourPP}{0}%
 \newcounter{PfMSOS}%Numéro des SOS dans les parcours fléchés
 \setcounter{PfMSOS}{0}%
 \newcounter{PfMAlea}%Pour repérer les valeurs aléatoires construites automatiquement
@@ -474,7 +475,6 @@
   \RenewDocumentCommand\ChoixAlea{s o m m m}{%
     \IfBooleanTF{#1}{%
       \stepcounter{PfMAlea}%
-%      je sauvegarde la valeur \thePfMExo-\thePfMAlea
       \IfNoValueTF{#2}{%
         \expandafter\xdef\csname valeur\Roman{PfMExo}\roman{PfMAlea}\endcsname{\fpeval{randint(#3,#4)}}%
         \expandafter\xdef\csname #5\endcsname{\csname valeur\Roman{PfMExo}\roman{PfMAlea}\endcsname}%
@@ -1029,7 +1029,7 @@
 \def\endIndiceWrite{\immediate\closeout\verbatim at out\@esphack}
 \makeatother
 
-\def\SolutionNow{\textbf{Correction de l'exercice --}\par\nopagebreak\setcounter{PfMExoSol}{\thePfMExo}\setcounter{PfMAlea}{0}\PfMAffichageHideItemSolution}%\setcounter{PfMExoSolAlea}{\thePfMExo}
+\def\SolutionNow{\textbf{\csname PfMTNomSol\Roman{PfMExo}\endcsname~--}\par\nopagebreak\setcounter{PfMExoSol}{\thePfMExo}\setcounter{PfMAlea}{0}\PfMAffichageHideItemSolution}%\setcounter{PfMExoSolAlea}{\thePfMExo}
 \def\endSolutionNow{\par\goodbreak\PfMshowitems}
 
 \def\ReponseNow{\textbf{Réponse(s) de l'exercice --}\par\nopagebreak\PfMAffichageHideItemSolution}
@@ -1190,16 +1190,17 @@
     \xintFor* ##1 in{\xintSeq{1}{\PfMCANTotalExo}}\do{%
       \setcounter{PfMExoSol}{##1}%
       \setcounter{PfMAlea}{0}%
-      \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.sol}{\textbf{Question\ifnum\PfMCANTotalExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{TestCAN-##1}}:\fi}~\input{\jobname-Ma\thePfMMaquette-Ex##1.sol}\par\goodbreak}{}%page-\thePfMMaquette-##1
+      \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.sol}{\textbf{Question\ifnum\PfMCANTotalExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{TestCAN-##1}}:\fi}~\input{\jobname-Ma\thePfMMaquette-Ex##1.sol}\par\goodbreak}{}%
     }%
   }{%
     \setcounter{PfMExoSol}{0}%
     %\setcounter{PfMExoSolAlea}{0}%
     \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
-      \refstepcounter{PfMExoSol}%{##1}%
+      \refstepcounter{PfMExoSol}%
       %\stepcounter{PfMExoSolAlea}%
       \label{pagesol-\thePfMMaquette-\thePfMExoSol}%
       \setcounter{PfMAlea}{0}%
+      \def\PfMTexteDuCorrige{\csname PfMTNomSol\Roman{PfMExoSol}\endcsname}
       \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.sol}{\PfMAffichageHideItemSolution\textbf{\PfMTexteDuCorrige\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi\PfMAffichageTitreSolution}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.rep}{\PfMAffichageHideItemSolution\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.rep}\par\goodbreak}{%
           \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.cdp}{\PfMAffichageHideItemSolution\textbf{Indice(s) pour l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.cdp}\par\goodbreak}{}%
         }%
@@ -1288,6 +1289,7 @@
     \end{center}
   \end{tcolorbox}%
 }%
+
 %%%%%%%% BAREME %%%%%%%%%%%
 %% Bareme
 \newlength{\brouillon}
@@ -1485,6 +1487,7 @@
     colback=LightSteelBlue,
     colbacklower=white,
     frame hidden,
+    overlay=\useKV[ClesExercices]{Ajout}%
   }%
 }%
 
@@ -1497,6 +1500,7 @@
     title=\ifboolKV[ClesExercices]{AffichageTitre}{\useKV[ClesExercices]{Titre}}{},%
     coltitle=black,
     frame hidden,
+    overlay=\useKV[ClesExercices]{Ajout}%
   }
 }
 
@@ -1524,6 +1528,8 @@
     },%
     overlay unbroken and first={%
       %
+      \useKV[ClesExercices]{Ajout}%
+      %
       \PfMAffichageSource%
       %
       \ifboolKV[ClesExercices]{BaremeTotal}{%
@@ -1705,7 +1711,6 @@
   \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Roman{PfMMaquette}Contrat#1\endcsname{\csname \Roman{PfMMaquette}confiance#1\endcsname}}%
 }%
 
- 
 \NewDocumentEnvironment{exerciceContrat}{so}{%
   \setcounter{PfMAlea}{0}%
   \setcounter{PfMNbLogo}{1}%
@@ -1755,7 +1760,6 @@
   }%
   }%
 }%
-
 %%% Contrat %%%
 \tcbset{%
   usercontrat/.style={%
@@ -1804,7 +1808,9 @@
       anchor=west,
       xshift=10pt,
       ] at (frame.north west){\bfseries\sffamily \useKV[Contrat]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}};
-      %% 
+      %%
+      \useKV[ClesExercices]{Ajout}%
+      %%
       \PfMAffichageLogos%
       %%
       \PfMAffichageCompetencesTravaillees%
@@ -2279,7 +2285,9 @@
       anchor=west,
       xshift=10pt,
       ] at (frame.north west){\bfseries\sffamily \useKV[FdR]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}};
-      %% 
+      %%
+      \useKV[ClesExercices]{Ajout}%
+      %%
       \PfMAffichageLogos
       %%
       \PfMAffichageCompetencesTravaillees%
@@ -2708,6 +2716,10 @@
   }%
 }%
 
+\NewDocumentCommand\PfMChoixNomCorrection{}{%
+  \expandafter\xdef\csname PfMTNomSol\Roman{PfMExo}\endcsname{\useKV[ClesExercices]{TitreCorrige}}
+}%
+
 \NewDocumentCommand\PfMChoixHideItemSolution{}{%
   \ifboolKV[ClesExercices]{Profile}{%
  %   J'ai un élève à profil : Je dois me souvenir que la correction doit être profilée. Le compteur PfMExo vaut \thePfMExo
@@ -2734,6 +2746,7 @@
   \PfMChoixCorrection%
   \PfMChoixEntrainement%
   \refstepcounter{PfMExo}%
+  \PfMChoixNomCorrection%
   \ifboolKV[ClesExercices]{ACompleter}{%
     \let\oldenumerate\enumerate%
     \let\oldendenumerate\endenumerate%
@@ -2924,6 +2937,7 @@
 }%
 
 \makeatother
+
 %%% Recap Brevet
 %%% Style Brevet
 \tcbset{%
@@ -2981,6 +2995,7 @@
       at (frame.north east)%
       {\footnotesize\sffamily \total{\the\c at PfMSection-\the\c at PfMExo}};%
       }{}%
+      \useKV[ClesExercices]{Ajout}%
     }%
   }%
 }%
@@ -3014,6 +3029,8 @@
         xshift=10pt,
         ] at (frame.north west){\bfseries\sffamily \useKV[PdT]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}};
       }
+      %%
+      \useKV[ClesExercices]{Ajout}%
       %% 
       \PfMAffichageLogos%
       %
@@ -3485,6 +3502,8 @@
       anchor=west,
       xshift=\kvtcb at leftlower,
       ] at (frame.north west){\bfseries\sffamily\useKV[Fiche]{NomExercice}\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{\ifboolKV[ClesExercices]{Numerote}{~:~}{\xdef\PfMTitiLgNE{\useKV[Fiche]{NomExercice}}\IfStrEq{\PfMTitiLgNE}{}{}{~:~}}\useKV[ClesExercices]{Titre}}{}};
+      %%
+      \useKV[ClesExercices]{Ajout}%
       %% 
       \PfMAffichageLogos%
       %
@@ -3519,7 +3538,9 @@
       anchor=west,
       xshift=\kvtcb at leftlower,
       ] at (frame.north west){\color{colLogo}\resizebox{1em}{!}{\carreEntoure{}}~\Large\bfseries\sffamily\useKV[Fiche]{NomExercice}\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{\ifboolKV[ClesExercices]{Numerote}{.~}{\xdef\PfMTitiLgNE{\useKV[Fiche]{NomExercice}}\IfStrEq{\PfMTitiLgNE}{}{}{.~}}\useKV[ClesExercices]{Titre}}{}};
-      %% 
+      %%
+      \useKV[ClesExercices]{Ajout}%
+      %%
       \PfMAffichageLogos%
       %
       \PfMAffichageCompetencesTravaillees%
@@ -3578,7 +3599,9 @@
       anchor=west,
       xshift=10pt,
       ] at (frame.north west){\bfseries\sffamily \useKV[Parcours]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}};
-      %% 
+      %%
+      \useKV[ClesExercices]{Ajout}%
+      %%
       \PfMAffichageLogos%
       %%
       \PfMAffichageCompetencesTravaillees%
@@ -3659,6 +3682,8 @@
     title=Exercice\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{},
     overlay unbroken and first={%
       %
+      \useKV[ClesExercices]{Ajout}%
+      %
       \PfMAffichageSource%
       %
       \ifboolKV[ClesExercices]{BaremeTotal}{%
@@ -3703,7 +3728,7 @@
   \clearpage
   \begin{minipage}{0.6\linewidth}
     \begin{tcolorbox}[userie]%
-      \sffamily \useKV[IE]{Nom} \useKV[IE]{Numero} : \useKV[IE]{Theme} \ifboolKV[IE]{Sujets}{\scriptsize(Sujet \useKV[IE]{Sujet})}{}
+      \sffamily \useKV[IE]{Nom} \useKV[IE]{Numero} : \useKV[IE]{Theme} \ifboolKV[IE]{Sujets}{{\scriptsize(Sujet \useKV[IE]{Sujet})}}{}
       \vspace{1em}
       \par{\tiny\useKV[IE]{Code}}\hfill{\scriptsize\useKV[IE]{Date}}
     \end{tcolorbox}%
@@ -3728,42 +3753,39 @@
   \end{tcolorbox}%
 }%
 
-\NewDocumentCommand\Recapitulatif{mm}{%
-    \setKV[Boulot]{#1}%
-    \DTLforeach*{dataperso}{\Prenom=PrenomEleve,\Nom=NomEleve,\RecapListeExo=ListeExo}{%
-      \ifboolKV[Boulot]{Dys}{%
-        \begin{Maquette}[Fiche,Dys]{#2,Code=\normalsize\Prenom~\Nom}%
-      }{%
-        \begin{Maquette}[Fiche]{#2,Code=\normalsize\Prenom~\Nom}%
-      }%
+\NewDocumentCommand\PfMRecapitulatif{mm}{%
+  \setKV[Boulot]{#1}%
+  \setcounter{PfMRetiensMapourPP}{\thePfMMaquette}%
+  \DTLforeach*{dataperso}{\Prenom=PrenomEleve,\Nom=NomEleve,\RecapListeExo=ListeExo}{%
+    \ifboolKV[Boulot]{Dys}{%
+      \begin{Maquette}[Fiche,Dys]{#2,Code=\normalsize\Prenom~\Nom}%
+    }{%
+      \begin{Maquette}[Fiche]{#2,Code=\normalsize\Prenom~\Nom}%
+    }%
+    \readlist*\ListeExercices{\RecapListeExo}%
+    \ifnum\fpeval{\ListeExerciceslen}=1\relax{}
+      \setKVdefault[ClesExercices]{Numerote=false}
+      \input{\jobname-Ma\thePfMRetiensMapourPP-PPEx\ListeExercices[1].tex}%
+      \setKVdefault[ClesExercices]{Numerote}
+    \else
+      \foreach\i in{1,...,\ListeExerciceslen}{%
+        \input{\jobname-Ma\thePfMRetiensMapourPP-PPEx\ListeExercices[\i].tex}%
+      }
+    \fi
+    \ifnum\thePfMCorrigeParcoursPerso=1\relax%
+      % \RecapitulatifCorrection{#2}%
+      \clearpage
+      \TikzFicheCor{#1,Code=\normalsize\Prenom~\Nom}%
       \readlist*\ListeExercices{\RecapListeExo}%
       \ifnum\fpeval{\ListeExerciceslen}=1\relax{}
-        \setKVdefault[ClesExercices]{Numerote=false}
-%        \begin{exercice}*
-          \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[1].tex}%
-          % \end{exercice}%
-          \setKVdefault[ClesExercices]{Numerote}
+        \textbf{Corrigé de l'exercice} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[1].sol}\par\goodbreak%
       \else
         \foreach\i in{1,...,\ListeExerciceslen}{%
-  %        \begin{exercice}
-            \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[\i].tex}%
-   %       \end{exercice}%
-        }
-      \fi
-      \ifnum\thePfMCorrigeParcoursPerso=1\relax%
-        % \RecapitulatifCorrection{#2}%
-        \clearpage
-        \TikzFicheCor{#1,Code=\normalsize\Prenom~\Nom}%
-        \readlist*\ListeExercices{\RecapListeExo}%
-        \ifnum\fpeval{\ListeExerciceslen}=1\relax{}
-          \textbf{Corrigé de l'exercice} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[1].sol}\par\goodbreak%
-        \else
-          \foreach\i in{1,...,\ListeExerciceslen}{%
-            \textbf{Corrigé de l'exercice \i} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[\i].sol}\par\goodbreak%
-          }%
-        \fi%
+          \textbf{Corrigé de l'exercice \i} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[\i].sol}\par\goodbreak%
+        }%
       \fi%
-    \end{Maquette}%
+    \fi%
+  \end{Maquette}%
   }%
 }%
 
@@ -3834,7 +3856,7 @@
   \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
   \PfMChangerTailleCorrection%
 }%
-\makeatletter
+\makeatother
 
 \NewDocumentCommand\PfMAffichageCorrectionColonnes{}{%
   \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -3855,7 +3877,7 @@
   }%
 }%
 
-\setKVdefault[LivreHeros]{Theme=Les nombres décimaux}
+\setKVdefault[LivreHeros]{Theme=Les nombres d\'ecimaux}
 
 \NewDocumentCommand\vaen{m}{\ref{#1}}%
 
@@ -3905,6 +3927,38 @@
 % Environnement englobant le tout.
 \makeatletter
 \newwrite\PfMfile at out%
+
+\IfClassLoadedTF{beamer}{%
+  %-> tex.stackexchange.com/questions/605282/beamer-custom-frame-environment-with-options
+  \NewDocumentEnvironment{Maquette}{om}{%
+    \setcounter{RetiensSol}{0}%
+    \setcounter{RetiensRep}{0}%
+    \setcounter{RetiensInd}{0}%
+    % on remet à zéro le compteur des exercices
+    %\setcounter{PfMExo}{0}%
+    \setcounter{PfMSOS}{0}%
+    % nouvelles valeurs.
+    \stepcounter{PfMMaquette}%
+      \IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection\PfMChoixAffichageEntrainement}}{\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection\PfMChoixAffichageEntrainement}}%
+    \useKVdefault[FdR]%
+    \setKV[FdR]{#1}%
+    \let\exercice\exerciceBeamer\let\endexercice\endexerciceBeamer%
+    \begin{frame}[environment=Maquette,fragile]
+      \setcounter{PfMExo}{10}%
+      \PfCGraineAlea{\useKV[Boulot]{Graine}}%
+      \frametitle{\useKV[FdR]{Theme}\hfill\raisebox{-0.25\height}{\mplibforcehmode\begin{mplibcode}
+    labeloffset:=1pt;
+    fill cercle((0,0),4mm) withcolor white;
+    trace cercle((0,0),4mm) withcolor \mpcolor{Evidence!50};
+      drawoptions(withcolor 0.5white);
+      label.top(TEX("\tiny alea\TeX"),(0,0));
+      drawoptions(withcolor \mpcolor{Evidence});
+      label.bot(TEX("\tiny SL \& CP$^2$"),(0,0));
+    \end{mplibcode}}~\phantom{t}}
+    }{%
+    \end{frame}
+  }
+}{
 \NewDocumentEnvironment{Maquette}{om}{%
   % on remet à zéro les compteurs de solutions : inutile ?
   \setcounter{RetiensSol}{0}%
@@ -3933,14 +3987,16 @@
   \useKVdefault[Boulot]%
   \setKV[Boulot]{#1}%
   \ifboolKV[Boulot]{CorrigeSeul}{\setKV[Boulot]{CorrigeFin}}{}%
-  \if at Dyslexie
-    \setKV[Boulot]{Dys}
-  \fi
+  \if at Dyslexie%
+    \setKV[Boulot]{Dys}%
+  \fi%
   \PfMBasculeDys%
   \IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection\PfMChoixAffichageEntrainement}}{\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection\PfMChoixAffichageEntrainement}}%
   % Test
   \IfHookExistsTF{env/exercice/begin}{\RemoveFromHook{env/exercice/begin}[*]}{}%
   \IfHookExistsTF{env/Maquette/end}{\RemoveFromHook{env/Maquette/end}[*]}{}%
+%  \ifboolKV[Boulot]{Diaporama}{%
+%  }{%
   \ifboolKV[Boulot]{OlympiadesAPMEP}{%
     % \input{PfMMaquetteOlympAPMEP}%
     \setKV[OlympiadesAPMEP]{#2}%\TikzOlympiadesAPMEP%
@@ -4101,7 +4157,7 @@
                 \ifboolKV[Boulot]{CorrigeFin}{\setcounter{PfMCorrigeParcoursPerso}{1}}{}%
                 \setcounter{PfMExo}{0}%
                 \AtEndDocument{%
-                  \Recapitulatif{#1}{#2}%
+                  \PfMRecapitulatif{#1}{#2}%
                 }%
               }{%
                 \ifboolKV[Boulot]{Parcours}{%
@@ -4268,6 +4324,8 @@
                                   \setsepchar{,}\ignoreemptyitems\readlist*\ListePerm{\PfMFooMelange}\reademptyitems%
                                   \phantomsection{}
                                   \addcontentsline{toc}{section}{\useKV[LivreHeros]{Theme}}%
+                                  \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+                                  \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
                                   \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
                                     \itemtomacro\ListePerm[##1]\PfMPermute%
                                     \begin{tcolorbox}[tikzLH,title=##1]%
@@ -4275,6 +4333,7 @@
                                       \input{\jobname-Ma\thePfMMaquette-Ex\PfMPermute.gb}%
                                     \end{tcolorbox}%
                                   }%
+                                  \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
                                 }%
                               }{}%
                             }%
@@ -4291,6 +4350,7 @@
       }%
     }%
   }%
+}
 }{}%
 \makeatother
 %D'après JCC
@@ -5034,7 +5094,9 @@
 \fi
 \makeatother
 
-% enumitem obligatoire ^^
+\IfClassLoadedTF{beamer}{}{%
+  % enumitem obligatoire ^^
+% mais pas compatible beamer
 \RequirePackage{enumitem}
 % d'après https://tex.stackexchange.com/questions/164613/adding-code-at-the-end-of-each-list-item
 \newif\iffirstlegal\firstlegalfalse% We need a toggle to track whether the item is first in the list or not
@@ -5114,4 +5176,5 @@
   \begin{Test}[#1]%
     #3
   \end{Test}%
-}{}%
\ No newline at end of file
+}{}%
+}
\ No newline at end of file



More information about the tex-live-commits mailing list.