texlive[72585] Master/texmf-dist: profmaquette (18oct24)

commits+karl at tug.org commits+karl at tug.org
Fri Oct 18 23:19:51 CEST 2024


Revision: 72585
          https://tug.org/svn/texlive?view=revision&revision=72585
Author:   karl
Date:     2024-10-18 23:19:51 +0200 (Fri, 18 Oct 2024)
Log Message:
-----------
profmaquette (18oct24)

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-10-18 21:19:41 UTC (rev 72584)
+++ trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty	2024-10-18 21:19:51 UTC (rev 72585)
@@ -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/10/16}%
+\def\filedate{2024/10/17}%
 \let\PfMfiledate\filedate%
-\def\fileversion{0.99-g}%
+\def\fileversion{0.99-h}%
 \let\PfMfileversion\fileversion%
 
 \ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -70,7 +70,7 @@
 \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[OlympiadesAPMEP]{Theme=Les nombres d\'ecimaux,Bandeau=false}%
 \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}}%
@@ -1222,7 +1222,7 @@
       %\stepcounter{PfMExoSolAlea}%
       \label{pagesol-\thePfMMaquette-\thePfMExoSol}%
       \setcounter{PfMAlea}{0}%
-      \def\PfMTexteDuCorrige{\csname PfMTNomSol\Roman{PfMExoSol}\endcsname}
+      \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}{}%
         }%
@@ -2859,7 +2859,21 @@
     }%
 }%
 
-%\makeatletter
+% \makeatletter
+\NewDocumentCommand\TikzOlympiadesAPMEP{m}{%
+  \ifPfMRectoVerso%
+    \cleardoublepage%
+  \else%
+    \clearpage%
+  \fi%
+  \setKV[OlympiadesAPMEP]{#1}%
+  \begin{tcolorbox}[colback=colLogo]
+    \begin{Dispo}*{\normalsize\logoapmep{\scale at logo}}
+      \Large\sffamily \useKV[OlympiadesAPMEP]{Theme}
+    \end{Dispo}
+  \end{tcolorbox}%
+}%
+
 \NewDocumentCommand\TikzOlympiadesAPMEPCor{m}{%
   \ifPfMRectoVerso%
     \cleardoublepage%
@@ -2896,8 +2910,7 @@
     }{}%
     \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}%
     \PfMAvantLesExercices%
-    \refstepcounter{PfMSection}%
-    \PfMChoixCorrection%
+%    \refstepcounter{PfMSection}%
     \ifboolKV[Boulot]{CorrigeSeul}{}{%
     \PfMChoixTitreSolution%
     \PfMChoixHideItemSolution%
@@ -2911,11 +2924,12 @@
     }%
   }{%
     \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{%
-      \PfMJusteAvantLaFinDesExercices%
-  \end{tcolorbox}%
-  %\ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}%
-  \PfMApresLesExercices%
-  }%
+      \ifboolKV[Boulot]{CorrigeSeul}{}{%
+        \PfMJusteAvantLaFinDesExercices%
+        \end{tcolorbox}%
+        \PfMApresLesExercices%
+      }%
+    }%
 }%
 
 \NewDocumentEnvironment{exerciceDS}{so}{%
@@ -3595,7 +3609,7 @@
       fill=ColExoFiche,
       anchor=west,
       xshift=\kvtcb at leftlower,
-      ] at (frame.north west){\color{colLogo}\resizebox{1em}{!}{\carreEntoure{}}~\thePfMExo\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}}{}};
+      ] 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}%
       %%
@@ -4070,36 +4084,140 @@
   \par\bigskip%
 }%
 
-\NewDocumentCommand\ListeReponses{sm}{%
+\newlength\PfMAMCBarreFraction
+\makeatletter
+
+
+\setKVdefault[ListeReponses]{Lettre=x,Unites=false}
+\defKV[ListeReponses]{Unite=\setKV[ListeReponses]{Unites}\DeclareSIUnit{\TempoAMC}{#1}}
+
+\NewDocumentCommand\ListeReponses{som}{%
   \ifboolKV[Boulot]{AMC}{%
+    \useKVdefault[ListeReponses]%
+    \setKV[ListeReponses]{#2}%
     \setsepchar{,}\ignoreemptyitems%
-    \readlist*\ListeAMCRep{#2}%
+    \readlist*\ListeAMCRep{#3}%
     \reademptyitems%
+%    \showitems\ListeAMCRep[]
     \setcounter{PfMAMCOpen}{1}%
     \stepcounter{PfMNbListeReponsesAMC}%
     \par
     \ifnum\fpeval{\ListeAMCReplen}=1\relax%
-      \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}
-        \IfInteger{\ListeAMCRep[1]}{%
+      % On teste la présence de ! pour les fractions, de : pour l'écriture ax+b, de ! pour une écriture du style $a^p$ et de | pour les écritures scientifiques.
+      \StrCount{\ListeAMCRep[1]}{/}[\PfMAMCPresenceFraction]%
+      \StrCount{\ListeAMCRep[1]}{:}[\PfMAMCPresenceLitteral]%
+      \StrCount{\ListeAMCRep[1]}{!}[\PfMAMCPresencePuissances]%
+      \StrCount{\ListeAMCRep[1]}{|}[\PfMAMCPresencePuissancesDix]%
+      \ifnum\fpeval{\PfMAMCPresenceFraction+\PfMAMCPresenceLitteral+\PfMAMCPresencePuissances+\PfMAMCPresencePuissancesDix}=0\relax
+        \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}
+          \IfInteger{\ListeAMCRep[1]}{%
+            \itemtomacro\ListeAMCRep[1]\Toto%
+            \StrLen{\fpeval{abs(\Toto)}}[\PfMLongueurCaseAMC]%
+            \IfBooleanTF{#1}{%
+              \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\PfMLongueurCaseAMC,sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            }{%
+              \begin{minipage}{\PfMAMCBarreFraction}
+                \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\PfMLongueurCaseAMC,sign=false,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}
+              \end{minipage}\ifboolKV[ListeReponses]{Unites}{~~~\si[per-mode=symbol]{\TempoAMC}}{}%
+            }%
+          }{%
+            \itemtomacro\ListeAMCRep[1]\Toto%
+            \StrCut{\Toto}{.}{\TotoAv}{\TotoAp}%
+            \StrLen{\fpeval{abs(\TotoAv)}}[\PfMLongueurCaseAMCAv]%
+            \StrLen{\TotoAp}[\PfMLongueurCaseAMCAp]%
+            \IfBooleanTF{#1}{%
+              \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\fpeval{\PfMLongueurCaseAMCAv+\PfMLongueurCaseAMCAp},decimals=\PfMLongueurCaseAMCAp,sign,Tpoint={,},borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            }{%
+              \begin{minipage}{\PfMAMCBarreFraction}
+                \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\fpeval{\PfMLongueurCaseAMCAv+\PfMLongueurCaseAMCAp},decimals=\PfMLongueurCaseAMCAp,sign=false,Tpoint={,},borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+              \end{minipage}\ifboolKV[ListeReponses]{Unites}{~~~\si[per-mode=symbol]{\TempoAMC}}{}%
+            }%
+          }%
+        \end{questionmultx}
+      \else
+        %Fraction
+        \ifnum\PfMAMCPresenceFraction=1\relax%
+          \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}
           \itemtomacro\ListeAMCRep[1]\Toto%
-          \StrLen{\fpeval{abs(\Toto)}}[\PfMLongueurCaseAMC]%
+          \StrCut{\Toto}{/}{\TotoAv}{\TotoAp}%
+          \StrLen{\fpeval{abs(\TotoAv)}}[\PfMLongueurCaseAMCNum]%
+          \StrLen{\TotoAp}[\PfMLongueurCaseAMCDeno]%
           \IfBooleanTF{#1}{%
-            \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\PfMLongueurCaseAMC,sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            \AMCnumericChoices{\TotoAv.\TotoAp}{digits=\fpeval{\PfMLongueurCaseAMCNum+\PfMLongueurCaseAMCDeno},decimals=\PfMLongueurCaseAMCDeno,sign,Tpoint={\raisebox{0.25\AMC at boxedheight}{\rule{\PfMAMCBarreFraction}{1pt}}},borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
           }{%
-            \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\PfMLongueurCaseAMC,sign=false,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            \AMCnumericChoices{\TotoAv.\TotoAp}{digits=\fpeval{\PfMLongueurCaseAMCNum+\PfMLongueurCaseAMCDeno},decimals=\PfMLongueurCaseAMCDeno,sign=false,Tpoint={\raisebox{0.25\AMC at boxedheight}{\rule{\PfMAMCBarreFraction}{1pt}}},borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
           }%
-        }{%
+          \end{questionmultx}
+        \fi
+        % Puissances
+        \ifnum\PfMAMCPresencePuissances=1\relax%
           \itemtomacro\ListeAMCRep[1]\Toto%
-          \StrCut{\Toto}{.}{\TotoAv}{\TotoAp}%
-          \StrLen{\fpeval{abs(\TotoAv)}}[\PfMLongueurCaseAMCAv]%
-          \StrLen{\TotoAp}[\PfMLongueurCaseAMCAp]%
+          \StrCut{\Toto}{!}{\TotoAv}{\TotoAp}%
+          \StrLen{\fpeval{abs(\TotoAv)}}[\PfMLongueurCaseAMCMant]%
+          \StrLen{\TotoAp}[\PfMLongueurCaseAMCPuis]%
           \IfBooleanTF{#1}{%
-            \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\fpeval{\PfMLongueurCaseAMCAv+\PfMLongueurCaseAMCAp},decimals=\PfMLongueurCaseAMCAp,sign,Tpoint={,},borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            $\begin{minipage}{\PfMAMCBarreFraction}
+              \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAv}{digits=\fpeval{\PfMLongueurCaseAMCMant},sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}\end{questionmultx}
+              \end{minipage}^{~\begin{minipage}{\PfMAMCBarreFraction}
+                \scriptsize\stepcounter{PfMNbListeReponsesAMC}\begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAp}{digits=\fpeval{\PfMLongueurCaseAMCPuis},sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}\end{questionmultx}
+              \end{minipage}}$
           }{%
-            \AMCnumericChoices{\fpeval{\ListeAMCRep[1]}}{digits=\fpeval{\PfMLongueurCaseAMCAv+\PfMLongueurCaseAMCAp},decimals=\PfMLongueurCaseAMCAp,sign=false,Tpoint={,},borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            $\begin{minipage}{\PfMAMCBarreFraction}
+              \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAv}{digits=\fpeval{\PfMLongueurCaseAMCMant},sign=false,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}\end{questionmultx}
+              \end{minipage}^{~\begin{minipage}{\PfMAMCBarreFraction}
+                \scriptsize\stepcounter{PfMNbListeReponsesAMC}\begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAp}{digits=\fpeval{\PfMLongueurCaseAMCPuis},sign=false,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}\end{questionmultx}
+              \end{minipage}}$
           }%
-        }%
-      \end{questionmultx}
+        \fi
+        % PuissancesDix
+        \ifnum\PfMAMCPresencePuissancesDix=1\relax%
+          \itemtomacro\ListeAMCRep[1]\Toto%
+          \StrCut{\Toto}{|}{\TotoAv}{\TotoAp}%
+          \StrLen{\fpeval{abs(\TotoAv)}}[\PfMLongueurCaseAMCMant]%
+          \StrLen{\TotoAp}[\PfMLongueurCaseAMCPuis]%
+          \StrCut{\TotoAv}{.}{\TotoAva}{\TotoApa}%
+          \StrLen{\fpeval{abs(\TotoAva)}}[\PfMLongueurCaseAMCManta]%
+          \StrLen{\fpeval{abs(\TotoApa)}}[\PfMLongueurCaseAMCMantb]%
+          \IfBooleanTF{#1}{%
+            $\begin{minipage}{\PfMAMCBarreFraction}
+              \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAv}{digits=\fpeval{\PfMLongueurCaseAMCManta+\PfMLongueurCaseAMCMantb},Tpoint={,},decimals=\PfMLongueurCaseAMCMantb,sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}
+              \end{questionmultx}
+            \end{minipage}\quad\times10^{~\begin{minipage}{\PfMAMCBarreFraction}
+             \scriptsize\stepcounter{PfMNbListeReponsesAMC}\begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAp}{digits=\PfMLongueurCaseAMCPuis,sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}\end{questionmultx}
+              \end{minipage}}
+            $
+          }{%
+            $\begin{minipage}{\PfMAMCBarreFraction}
+              \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAv}{digits=\fpeval{\PfMLongueurCaseAMCManta+\PfMLongueurCaseAMCMantb},Tpoint={,},decimals=\PfMLongueurCaseAMCMantb,sign=false,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}
+              \end{questionmultx}
+            \end{minipage}\quad\times10^{~\begin{minipage}{\PfMAMCBarreFraction}
+             \scriptsize\stepcounter{PfMNbListeReponsesAMC}\begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}\AMCnumericChoices{\TotoAp}{digits=\PfMLongueurCaseAMCPuis,sign=false,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}\end{questionmultx}
+              \end{minipage}}
+            $
+          }%
+        \fi
+        % Litteral
+        \ifnum\PfMAMCPresenceLitteral=1
+          \itemtomacro\ListeAMCRep[1]\Toto%
+          \StrCut{\Toto}{:}{\TotoAv}{\TotoAp}%
+          \StrLen{\fpeval{abs(\TotoAv)}}[\PfMLongueurCaseAMCMono]%
+          \StrLen{\fpeval{abs(\TotoAp)}}[\PfMLongueurCaseAMCConst]%
+          $
+          \begin{minipage}{\PfMAMCBarreFraction}
+            \footnotesize%
+            \begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}%
+              \AMCnumericChoices{\TotoAv}{digits=\fpeval{\PfMLongueurCaseAMCMono},sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            \end{questionmultx}%
+          \end{minipage}
+          \qquad\useKV[ListeReponses]{Lettre}\quad
+          \begin{minipage}{\PfMAMCBarreFraction}%
+            \stepcounter{PfMNbListeReponsesAMC}\footnotesize\begin{questionmultx}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}%
+              \AMCnumericChoices{\TotoAp}{digits=\fpeval{\PfMLongueurCaseAMCConst},sign,borderwidth=0pt,backgroundcol=gray!20,scoreexact=1,hspace=0.25em,vspace=0ex}%
+            \end{questionmultx}%
+          \end{minipage}
+          $
+        \fi
+      \fi
     \else%
       \begin{question}{\Roman{PfMExo}\roman{PfMNbListeReponsesAMC}}
         \ifPfMDeuxColonnes
@@ -4121,6 +4239,7 @@
       \fi
   }{}%
 }%
+\makeatother
 
 \makeatletter
 \tcbset{%
@@ -4366,10 +4485,10 @@
   \ifboolKV[Boulot]{PixelArt}{%
     \stepcounter{PfMLettresPixelArt}%
     \ifboolKV[PixelArt]{Aleatoire}{%
-         \hfill\textbf{Lettre \ListePourLesItems[\fpeval{\thePfMLettresPixelArt+1}]}%
+         \hfill\textbf{Lettre~\ListePourLesItems[\fpeval{\thePfMLettresPixelArt+1}]}%
         %Num Lettre = \thePfMLettresPixelArt
     }{%
-      \hfill\textbf{Lettre \Alph{PfMLettresPixelArt}}%
+      \hfill\textbf{Lettre~\Alph{PfMLettresPixelArt}}%
     }%
     \ifdef{\ListeSolAv}{%
       \xdef\ListeSolAv{\ListeSolAv,#1}%
@@ -4495,6 +4614,13 @@
   \ifboolKV[Boulot]{OlympiadesAPMEP}{%
     \setKV[OlympiadesAPMEP]{#2}%\TikzOlympiadesAPMEP%
     \let\exercice\exerciceOlympiadesAPMEP\let\endexercice\endexerciceOlympiadesAPMEP%
+    \ifboolKV[OlympiadesAPMEP]{Bandeau}{%
+        \TikzOlympiadesAPMEP{#2}%
+        \bigskip
+    }{%
+      \xdef\PfMTitreAPMEP{\useKV[OlympiadesAPMEP]{Theme}}
+      \chapter{\PfMTitreAPMEP}
+    }
     \ifboolKV[Boulot]{CorrigeFin}{%
       \AddToHook{env/Maquette/after}[Correction]{%
         \PfMPrepareCorrection{#1}%



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