summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-04-14 19:46:05 +0000
committerKarl Berry <karl@freefriends.org>2024-04-14 19:46:05 +0000
commit41540b935685a4baa45a65880d61a6696218f0da (patch)
treed0d0fbe96b9a19457988cdc342f6f085818118e9 /Master
parentfd2b4ded958f509a4d6cf38faffad0547e7e69b9 (diff)
profmaquette (14apr24)
git-svn-id: svn://tug.org/texlive/trunk@70945 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdfbin287109 -> 288578 bytes
-rw-r--r--Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.zipbin102879 -> 103215 bytes
-rw-r--r--Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty531
3 files changed, 382 insertions, 149 deletions
diff --git a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
index d78fcc96d2b..dbd1708aafd 100644
--- a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
+++ b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.zip b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.zip
index 62d2c130af3..1a6d59ad430 100644
--- a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.zip
+++ b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.zip
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty b/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
index da9aafbfe06..62f7313ca35 100644
--- a/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
+++ b/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.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/03/26}%
+\def\filedate{2024/04/13}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.90}%
+\def\fileversion{0.91}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -33,7 +33,6 @@
\RequirePackage{modulus}%
-% mettre un option Dys
\RequirePackage{ragged2e}%
\makeatletter
@@ -41,7 +40,7 @@
\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,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,AllDirect=false,AllPouce=false,VersSolution=false,Small=false,Footnotesize=false,Scriptsize=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]{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,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,VersSolution=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=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}}%
\setKVdefault[Cours]{Couleur=Crimson,Theme=Trace écrite,NomExercice=Exercice}%
\setKVdefault[DM]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname}%
@@ -108,12 +107,14 @@
\newlength\PfMEspaceAvantLignes%
\newlength\PfMEspaceApresLignes%
\newlength\PfMLargeurComp
-\newlength\CRRHauteur
+\newlength\CRRHauteur%
+\newlength\PfMEcartSupInterMots%
\setlength{\CRRHauteur}{10cm}
\setlength{\PfMHauteurAppreciation}{5cm}%
\setlength{\PfMHauteurRemarque}{5cm}%
\setlength{\PfMEspaceAvantLignes}{1em}
\setlength{\PfMEspaceApresLignes}{1em}
+\setlength{\PfMEcartSupInterMots}{1pt}%
% définition des compteurs
\newcounter{PfMMaquette}%Pour compter le nombres de "travaux"
\setcounter{PfMMaquette}{0}%
@@ -196,13 +197,14 @@
}
}
-\NewDocumentEnvironment{Consignes}{}{%
+\NewDocumentEnvironment{Consignes}{b}{%
\ifboolKV[Boulot]{CAN}{}{%
\begin{tcolorbox}[consignes]%
\small\sffamily
+ #1
}%
}{%
-\end{tcolorbox}%
+\ifboolKV[Boulot]{CAN}{}{\end{tcolorbox}}%
}%
%% Option french pour les mathématiques
@@ -1025,7 +1027,7 @@
\xintFor* ##1 in{\xintSeq{1}{\PfMCANTotalExo}}\do{%
\setcounter{PfMExoSol}{##1}%
\setcounter{PfMAlea}{0}%
- \IfFileExists{\jobname-Ex##1.sol}{\textbf{Question\ifnum\PfMCANTotalExo=1\relax\else~\ref{TestCAN-##1}:\fi}~\input{\jobname-Ex##1.sol}\par\goodbreak}{}%page-\thePfMMaquette-##1
+ \IfFileExists{\jobname-Ex##1.sol}{\textbf{Question\ifnum\PfMCANTotalExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{TestCAN-##1}}:\fi}~\input{\jobname-Ex##1.sol}\par\goodbreak}{}%page-\thePfMMaquette-##1
}%
}{%
\setcounter{PfMExoSol}{0}%
@@ -1033,8 +1035,8 @@
\refstepcounter{PfMExoSol}%{##1}%
\label{pagesol-\thePfMMaquette-\thePfMExoSol}
\setcounter{PfMAlea}{0}%
- \IfFileExists{\jobname-Ex##1.sol}{\PfMAffichageHideItemSolution\textbf{\PfMTexteDuCorrige\ifnum\thePfMExo=1\relax\else~\ref{page-\thePfMMaquette-##1}\fi\PfMAffichageTitreSolution}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ex##1.rep}{\PfMAffichageHideItemSolution\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~\ref{page-\thePfMMaquette-##1}\fi}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{%
- \IfFileExists{\jobname-Ex##1.cdp}{\PfMAffichageHideItemSolution\textbf{Indice(s) pour l'exercice\ifnum\thePfMExo=1\relax\else~\ref{page-\thePfMMaquette-##1}\fi}\par\nopagebreak\input{\jobname-Ex##1.cdp}\par\goodbreak}{}%
+ \IfFileExists{\jobname-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-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-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-Ex##1.rep}\par\goodbreak}{%
+ \IfFileExists{\jobname-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-Ex##1.cdp}\par\goodbreak}{}%
}%
}%
\PfMshowitems%
@@ -1207,8 +1209,8 @@
colback=LightSteelBlue,
colbacklower=white,
frame hidden,
- }
-}
+ }%
+}%
\tcbset{%
tikzbasehtml/.style={%
@@ -1265,7 +1267,7 @@
}%
}%
-\NewDocumentEnvironment{exerciceDM}{so}{%
+\NewDocumentEnvironment{exerciceDM}{so+b}{%
\setcounter{PfMAlea}{0}%
\useKVdefault[ClesExercices]%
\setKV[ClesExercices]{#2}%
@@ -1280,6 +1282,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
\PfMChoixTitreSolution%
\immediate\write\@auxout{%
\string\opcopy{\thePfMExo}{TotalExo}%
@@ -1294,11 +1297,17 @@
label=page-\thePfMMaquette-\thePfMExo,%
]%
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
- }
+ #3
+}%
+}%
}{%
+ \ifboolKV[ClesExercices]{NonUtilise}{}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{
\end{tcolorbox}%
\PfMApresLesExercices%
}%
+}%
+}%
%%Contrat
@@ -1421,16 +1430,16 @@
}%
-\NewDocumentEnvironment{exerciceContrat}{so}{%
+\NewDocumentEnvironment{exerciceContrat}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
+ \setKV[ClesExercices]{#2}%
\ifboolKV[ClesExercices]{NonUtilise}{%
% Mettre la correction hors-jeu
\setKV[ClesExercices]{PasCorrige}%
\PfMChoixCorrection%
}{%
- \setKV[ClesExercices]{#2}%
\IfBooleanTF{#1}{%
\setKV[ClesExercices]{Numerote=false}%
}{}%
@@ -1438,6 +1447,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
\PfMChoixTitreSolution%
\immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ContratTotalExo}}%
% Creation des parcours
@@ -1457,10 +1467,16 @@
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+ }%
}%
}{%
- \end{tcolorbox}
- \PfMApresLesExercices%
+ \ifboolKV[ClesExercices]{NonUtilise}{}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \end{tcolorbox}
+ \PfMApresLesExercices%
+ }%
+ }%
}%
%%% Contrat %%%
@@ -1767,7 +1783,7 @@
\immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Roman{PfMMaquette}FdR#1\endcsname{\csname \Roman{PfMMaquette}route#1\endcsname}}%
}%
-\NewDocumentEnvironment{exerciceFdR}{so}{%
+\NewDocumentEnvironment{exerciceFdR}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
@@ -1784,6 +1800,7 @@
\stepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
\PfMChoixTitreSolution%
\immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-FdRTotalExo}}%
% Creation des parcours
@@ -1816,11 +1833,17 @@
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+ }%
}%
}{%
+ \ifboolKV[ClesExercices]{NonUtilise}{}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
\end{tcolorbox}
\PfMApresLesExercices%
}%
+}%
+}%
%CAN
\setsepchar[*]{,*/}%
@@ -1989,8 +2012,7 @@
}%
%% Fin FdR %%%
-
-%%Parcours
+%% Parcours
%\makeatletter
\NewDocumentCommand\AfficheParcours{om}{%
@@ -2100,7 +2122,7 @@
\def\endexerciceParcoursPerso{\immediate\write\verbatim@out{\string\end{exercice}}\immediate\closeout\verbatim@out\@esphack}%
-\NewDocumentEnvironment{exerciceParcours}{so}{%
+\NewDocumentEnvironment{exerciceParcours}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
@@ -2117,6 +2139,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
\PfMChoixTitreSolution%
\immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ParcoursTotalExo}}%
% Creation des parcours
@@ -2136,11 +2159,17 @@
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
- }
+ #3
+ }%
+ }%
}{%
+ \ifboolKV[ClesExercices]{NonUtilise}{}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
\end{tcolorbox}
\PfMApresLesExercices%
}%
+}%
+}%
%%%%%%%%%%%%%%%%%%%%%%%
% Pour encart
@@ -2232,9 +2261,9 @@
\NewDocumentCommand\PfMChoixHideItemSolution{}{%
\ifboolKV[ClesExercices]{Profile}{%
- % J'ai un élève à profile Je dois me souvenir que la correction doit être profilée. Le compteur PfMExo vaut \thePfMExo
+ % J'ai un élève à profil : Je dois me souvenir que la correction doit être profilée. Le compteur PfMExo vaut \thePfMExo
\expandafter\xdef\csname PfMHideSol\Roman{PfMExo}\endcsname{A}}{%
- %Je n'ai pas d'élève à profile
+ %Je n'ai pas d'élève à profil
\expandafter\xdef\csname PfMHideSol\Roman{PfMExo}\endcsname{}%
}%
}%
@@ -2249,7 +2278,7 @@
\fi%
}%
-\NewDocumentEnvironment{exerciceFiche}{so}{%
+\NewDocumentEnvironment{exerciceFiche}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
@@ -2278,6 +2307,49 @@
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ %
+ #3
+ }%
+ }%
+ }{%
+ \ifboolKV[ClesExercices]{NonUtilise}{}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{
+ \end{tcolorbox}%
+ \ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}%
+ \PfMApresLesExercices%
+ }%
+ }%
+}%
+
+\NewDocumentEnvironment{exerciceOlympiadesAPMEP}{so}{%
+ \setcounter{PfMAlea}{0}%
+ \setcounter{PfMNbLogo}{1}%
+ \useKVdefault[ClesExercices]%
+ \setKV[ClesExercices]{#2}%
+ \ifboolKV[ClesExercices]{NonUtilise}{%
+ % Mettre la correction hors-jeu
+ \setKV[ClesExercices]{PasCorrige}%
+ \PfMChoixCorrection%
+ }{%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
+ \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}%
+ \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}%
+ \colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}%
+ \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
+ \refstepcounter{PfMSection}%
+ \PfMChoixCorrection%
+ \refstepcounter{PfMExo}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \PfMChoixTitreSolution%
+ \PfMChoixHideItemSolution%
+ \begin{tcolorbox}[%
+ tikzOlympiadesAPMEP,
+ label is label,
+ label=page-\thePfMMaquette-\thePfMExo
+ ]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
}%
}%
}{%
@@ -2288,7 +2360,7 @@
}
}%
-\NewDocumentEnvironment{exerciceDS}{so}{%
+\NewDocumentEnvironment{exerciceDS}{so+b}{%
\setcounter{PfMAlea}{0}%
\useKVdefault[ClesExercices]%
\setKV[ClesExercices]{#2}%
@@ -2297,31 +2369,38 @@
\setKV[ClesExercices]{PasCorrige}%
\PfMChoixCorrection%
}{%
- \IfBooleanTF{#1}{%
- \setKV[ClesExercices]{Numerote=false}%
- }{}%
- \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}%
- \refstepcounter{PfMSection}%
- \PfMChoixCorrection%
- \refstepcounter{PfMExo}%
- \PfMChoixTitreSolution%
- \immediate\write\@auxout{%
- \string\opcopy{\thePfMExo}{TotalExo}%
- }
- \ifboolKV[ClesExercices]{BaremeTotal}{%
- \immediate\write\@auxout{%
- \string\opcopy{0}{total\the\c@PfMSection-\the\c@PfMExo}%
- }}{}
- \begin{tcolorbox}[%
- tikzds,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
- \ifboolKV[Boulot]{Dys}{\raggedright}{}%
- }%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
+ \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}%
+ \refstepcounter{PfMSection}%
+ \PfMChoixCorrection%
+ \refstepcounter{PfMExo}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \PfMChoixTitreSolution%
+ \immediate\write\@auxout{%
+ \string\opcopy{\thePfMExo}{TotalExo}%
+ }
+ \ifboolKV[ClesExercices]{BaremeTotal}{%
+ \immediate\write\@auxout{%
+ \string\opcopy{0}{total\the\c@PfMSection-\the\c@PfMExo}%
+ }}{}
+ \begin{tcolorbox}[%
+ tikzds,
+ label is label,
+ label=page-\thePfMMaquette-\thePfMExo
+ ]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+ }%
+ }%
}{%
- \end{tcolorbox}%
- \PfMApresLesExercices%
+ \ifboolKV[ClesExercices]{NonUtilise}{}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \end{tcolorbox}%
+ \PfMApresLesExercices%
+ }%
+ }%
}%
\NewDocumentEnvironment{ExerciceRecapBrevet}{so}{%
@@ -2371,10 +2450,10 @@
% Fiche Exercice Brevet
\newcommand\TikzRecapBrevet{%
\begin{tcolorbox}[userbrevet]%
- \Large\sffamily \useKV[RecapBrevet]{Theme}
- \par{\tiny\useKV[RecapBrevet]{Code}}\hfill{\scriptsize\useKV[RecapBrevet]{Date}}
+ \Large\sffamily \useKV[RecapBrevet]{Theme}%
+ \par{\tiny\useKV[RecapBrevet]{Code}}\hfill{\scriptsize\useKV[RecapBrevet]{Date}}%
\end{tcolorbox}%
-}
+}%
\newcommand\TikzRecapBrevetCor[1]{%
\clearpage
@@ -2666,6 +2745,7 @@
%Alias pour tous les exercices.
\NewDocumentEnvironment{exercice}{}{}{}%
+\NewDocumentEnvironment{Exercice}{}{}{}%
%%%%%%%%% STyle Kholle%%%%%%%%%%
% Kholle
@@ -2903,6 +2983,38 @@
}%
}%
\makeatother
+
+\makeatletter
+\tcbset{%
+ tikzOlympiadesAPMEP/.style={%
+ top=10pt,
+ left=0mm,right=0mm,
+ before skip=1em,
+ enhanced,
+ breakable,
+ colback=ColExoFiche,
+ % colframe=PfMCadreFiche,
+ frame hidden,
+ overlay unbroken and first={%
+ \draw[colLogo,line width=1pt] ([yshift=-10pt]frame.north west)--([yshift=-10pt]frame.north east);
+ \node[%
+ name=A,
+ fill=ColExoFiche,
+ anchor=west,
+ xshift=\kvtcb@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}}{}};
+ %%
+ \PfMAffichageLogos%
+ %
+ \PfMAffichageCompetencesTravaillees%
+ %
+ \PfMAffichageSource%
+ % Lien vers la solution
+ \PfMLienVersSolution
+ }%
+ }%
+}%
+\makeatother
%%% Parcours %%%
\tcbset{%
userparcours/.style={%
@@ -3098,9 +3210,14 @@
\end{tcolorbox}%
}%
-\NewDocumentCommand\Recapitulatif{m}{%
- \DTLforeach*{dataperso}{\Prenom=PrenomEleve,\Nom=NomEleve,\RecapListeExo=ListeExo}{%
- \begin{Maquette}[Fiche]{#1,Code=\normalsize\Prenom~\Nom}%
+\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}%
+ }%
\readlist*\ListeExercices{\RecapListeExo}%
\ifnum\fpeval{\ListeExerciceslen}=1\relax{}
\setKVdefault[ClesExercices]{Numerote=false}
@@ -3143,12 +3260,17 @@
}%
}%
+\NewDocumentCommand\PfMFontDys{}{}%
+\NewDocumentCommand\PfMFontNonDys{}{}%
+
\NewDocumentCommand\PfMBasculeDys{}{%
\ifboolKV[Boulot]{Dys}{%
- % d'après \url{https://culturedys.com/quelle-est-la-meilleure-police-pour-les-dyslexiques/}
- \xdef\PfMTaillePointDys{\useKV[Boulot]{Taille}}
+ % d'après \url{https://culturedys.com/quelle-est-la-meilleure-police-pour-les-dyslexiques/}
+ \xdef\PfMTaillePointDys{\useKV[Boulot]{Taille}}%
\fontsize{\PfMTaillePointDys}{\fpeval{\PfMTaillePointDys*1.2*1.5}}\selectfont%
\raggedright%
+ \setlength{\spaceskip}{\PfMEcartSupInterMots+\fontdimen2\font}%
+ \PfMFontDys%
}{%
\ifnum\thePfMMaquette=1\relax%
\else%
@@ -3164,6 +3286,7 @@
\renewcommand{\JustifyingParindent}{\parindent}
\justifying%
\fi%
+ \PfMFontNonDys%
}%
}%
@@ -3181,6 +3304,23 @@
}%
}%
+%% Pour factoriser l'appel aux corrections dans l'environnement Maquette
+\NewDocumentCommand\PfMPrepareCorrection{m}{%
+ \useKVdefault[Boulot]%
+ \setKV[Boulot]{#1}%
+ \if@Dyslexie%
+ \setKV[Boulot]{Dys}%
+ \fi%
+ \PfMBasculeDys%
+ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+}%
+
+\NewDocumentCommand\PfMAffichageCorrectionColonnes{}{%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+}%
+
%%%%%%%%%%%%%%% Debut Maquette %%%%%%%
% Environnement englobant le tout.
\makeatletter
@@ -3209,6 +3349,28 @@
% Test
\IfHookExistsTF{env/exercice/begin}{\RemoveFromHook{env/exercice/begin}[*]}{}%
\IfHookExistsTF{env/Maquette/end}{\RemoveFromHook{env/Maquette/end}[*]}{}%
+ \ifboolKV[Boulot]{OlympiadesAPMEP}{%
+ \setKV[OlympiadesAPMEP]{#2}%\TikzOlympiadesAPMEP%
+ \let\exercice\exerciceOlympiadesAPMEP\let\endexercice\endexerciceOlympiadesAPMEP%
+ \ifboolKV[Boulot]{CorrigeFin}{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \clearpage
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+% \TikzOlympiadesAPMEPCor{#2}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
+ }%
+ }{}%
+ }{%
\ifboolKV[Boulot]{CAN}{%
\setKV[CAN]{#2}%
\ifboolKV[Boulot]{CorrigeSeul}{}{\TikzCAN}%
@@ -3237,46 +3399,65 @@
}%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzCANCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
- \ifboolKV[Boulot]{FdR}{%
- \setKV[FdR]{#2}\TikzFdR%
+ \ifboolKV[Boulot]{FdR}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[FdR]{#2}\TikzFdR%
+ }
\let\exercice\exerciceFdR\let\endexercice\endexerciceFdR%
\ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFdRCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes
}%
}{}%
}{%
- \ifboolKV[Boulot]{Contrat}{%
- \setKV[Contrat]{#2}\TikzContrat%
+ \ifboolKV[Boulot]{Contrat}{%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[Contrat]{#2}\TikzContrat%
+ }
\let\exercice\exerciceContrat\let\endexercice\endexerciceContrat%
\ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzContratCor{#2}
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzContratCor{#2}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
@@ -3286,14 +3467,19 @@
\let\exercice\exerciceFiche\let\endexercice\endexerciceFiche%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes
}%
}{}%
}{%
@@ -3303,14 +3489,19 @@
\let\exercice\ExerciceRecapBrevet\let\endexercice\endExerciceRecapBrevet%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzRecapBrevetCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
@@ -3321,54 +3512,73 @@
\ifboolKV[Boulot]{CorrigeFin}{\setcounter{PfMCorrigeParcoursPerso}{1}}{}%
\setcounter{PfMExo}{0}%
\AtEndDocument{%
- \Recapitulatif{#2}%
+ \Recapitulatif{#1}{#2}%
}%
}{%
\ifboolKV[Boulot]{Parcours}{%
- \setKV[Parcours]{#2}\TikzParcours%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[Parcours]{#2}\TikzParcours%
+ }
\let\exercice\exerciceParcours\let\endexercice\endexerciceParcours%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzParcoursCor{#2}
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes
}%
}{}%
}{%
\ifboolKV[Boulot]{PdT}{%
- \setKV[PdT]{#2}\TikzPdT%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[PdT]{#2}\TikzPdT%
+ }
\let\exercice\exercicePdT\let\endexercice\endexercicePdT%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzPdTCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
\ifboolKV[Boulot]{DM}{%
- \setKV[DM]{#2}\TikzDM{}%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[DM]{#2}\TikzDM%
+ }
\let\exercice\exerciceDM\let\endexercice\endexerciceDM%
+% \let\Exercice\exercice\let\endExercice\endexercice%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzDMCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
@@ -3378,14 +3588,19 @@
\TikzFiche%
}%
\let\exercice\exerciceFiche\let\endexercice\endexerciceFiche%
+ %\let\Exercice\exercice\let\endExercice\endexercice
\ifboolKV[Boulot]{CorrigeFin}{%
\ifboolKV[Boulot]{CorrigeAll}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzFicheCor{#2}%
+ \PfMPrepareCorrection{#1}%
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzFicheCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
\xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
\IfFileExists{\jobname-Ex##1.sol}{\textbf{Corrigé de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{}%
@@ -3409,6 +3624,9 @@
\useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
%%
+ \if@Dyslexie
+ \setKV[Boulot]{Dys}
+ \fi
\PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
@@ -3421,7 +3639,9 @@
}{}%
}{%
\ifboolKV[Boulot]{DS}{%
- \setKV[DS]{#2}\TikzDS%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[DS]{#2}\TikzDS%
+ }%
\let\exercice\exerciceDS\let\endexercice\endexerciceDS%
\ifboolKV[Boulot]{BaremeComplet}{%
\begin{center}
@@ -3430,30 +3650,42 @@
}{}%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzDSCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMPrepareCorrection{#1}
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzDSCor{#2}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes%
}%
}{}%
}{%
\ifboolKV[Boulot]{IE}{%
- \setKV[IE]{#2}\TikzIE%
+ \ifboolKV[Boulot]{CorrigeSeul}{}{%
+ \setKV[IE]{#2}\TikzIE%
+ }
\let\exercice\exerciceDS\let\endexercice\endexerciceDS%On garde exerciceDS
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \useKVdefault[Boulot]%
- \setKV[Boulot]{#1}%
- \PfMBasculeDys%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \PfMPrepareCorrection{#1}
+% \useKVdefault[Boulot]%
+% \setKV[Boulot]{#1}%
+% \if@Dyslexie
+% \setKV[Boulot]{Dys}
+% \fi
+% \PfMBasculeDys%
+% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzIECor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+% \PfMAffichageCorrige%
+% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrectionColonnes
}%
}{}%
}{%
@@ -3480,7 +3712,8 @@
}%
}%
}%
- }%
+}%
+}%
}%
}%
}%