summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty')
-rw-r--r--Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty415
1 files changed, 323 insertions, 92 deletions
diff --git a/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty b/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
index 24267d36b58..6713b00c72b 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{2023/12/20}%
+\def\filedate{2024/01/03}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.82}%
+\def\fileversion{0.85}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -59,7 +59,7 @@
\setKVdefault[Kholle]{Sujet=1,Numero=1,Date=15,Niveau=TSI-1,Code=\jobname,Lieu=Lycée
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}%
+\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,Cadres=false}%
\defKV[ClesExercices]{Source=\setKV[ClesExercices]{AffichageSource}}%
\defKV[ClesExercices]{Titre=\setKV[ClesExercices]{AffichageTitre}}%
\defKV[ClesExercices]{Competence=\setKV[ClesExercices]{AffichageCompetence}}%
@@ -67,9 +67,32 @@
\defKV[ClesExercices]{Confiance=\setKV[ClesExercices]{Contrat}}%
\defKV[ClesExercices]{Route=\setKV[ClesExercices]{Routes}}%
\defKV[ClesExercices]{Stop=\setKV[ClesExercices]{Stops}}%
+\defKV[ClesExercices]{Lignes=\setKV[ClesExercices]{Ligne}}%
+\defKV[ClesExercices]{Encart=\setKV[ClesExercices]{Cadres}}%
+\def\PfMTexteEncart{Indique ton travail ci-dessous.}%
\setKVdefault[SchemaParcours]{Colonnes=100,Rayon=2.5mm,Largeur=7.5mm,Couleur=LightSteelBlue,Csv=false}%
\setKVdefault[SchemaContrat]{Ecart=7mm,Rayon=2.5mm}%
\setKVdefault[SchemaFdR]{Ecart=7mm,Colonnes=100,Rayon=2.5mm,Largeur=7.5mm,Couleur=LightSteelBlue,Csv=false}%
+% Sucres
+\makeatletter%
+\NewDocumentCommand\PfMDotfill{}{%
+\leavevmode%
+\cleaders\hb@xt@.44em{\hss\xleaders\hrule width0.33em\hss}\hfill%
+\kern\z@}%
+
+%\makeatother%
+%
+\NewDocumentCommand\PfMpointilles{o}{%
+ \IfNoValueTF{#1}{\PfMDotfill}{\makebox[#1]{\PfMDotfill}}%
+}%
+%
+\NewDocumentCommand\PfMLignespointilles{m}{%
+ \xintifboolexpr{\fpeval{#1}>1}{%
+ \xintFor* ##1 in {\xintSeq {1}{\fpeval{#1}}}\do{%
+ \PfMpointilles\par%
+ }%
+ }{}%
+}%
% Definition de longueurs
\newlength\PfMLargeurSchemaParcours%
\newlength\PfMRayonSchemaParcours%
@@ -82,8 +105,12 @@
\newlength\PfMLargeurQuestion%
\newlength\PfMLargeurReponse%
\newlength\PfMLargeurJury%
+\newlength\PfMEspaceAvantLignes%
+\newlength\PfMEspaceApresLignes%
\setlength{\PfMHauteurAppreciation}{5cm}%
\setlength{\PfMHauteurRemarque}{5cm}%
+\setlength{\PfMEspaceAvantLignes}{1em}
+\setlength{\PfMEspaceApresLignes}{1em}
% définition des compteurs
\newcounter{PfMMaquette}%Pour compter le nombres de "travaux"
\setcounter{PfMMaquette}{0}%
@@ -112,11 +139,12 @@
% couleurs
\colorlet{PfMColCpt}{gray!50}%
\colorlet{PfMColSrc}{gray!50}%
-%\colorlet{PfMCadreFiche}{gray!50}
+\colorlet{PfMCadreEncart}{gray!50}
\colorlet{PfMCadreDM}{gray!85}%
\colorlet{PfMCadreParcours}{gray!50}%
\colorlet{PfMCadreContrat}{gray!50}%
\colorlet{PfMCadreFdR}{gray!50}%
+\colorlet{PfMFondEncart}{white}%
% Définitions de commandes
\newcommand\PfMIENom{\dotfill}%
\newcommand\PfMIEPrenom{\dotfill}%
@@ -142,14 +170,14 @@
\NewDocumentEnvironment{Consignes}{+b}{%
\ifboolKV[Boulot]{CAN}{}{%
- \begin{tcolorbox}[consignes]
+ \begin{tcolorbox}[consignes]%
\small\sffamily #1
- \end{tcolorbox}
- }
+ \end{tcolorbox}%
+ }%
}{}%
-\definecolor{SLCP}{HTML}{00B51A}
-\colorlet{Evidence}{SLCP}
+\definecolor{SLCP}{HTML}{00B51A}%
+\colorlet{Evidence}{SLCP}%
% Pour la gestion de l'aléatoire
% afin de permettre d'utiliser le même exercice.
@@ -293,6 +321,150 @@
\xdef#4{\PfMMixFoo}%
}%
+\NewDocumentCommand\MelangeNomFonction{mm}{%
+ % #1 Nombre d'éléments à conserver
+ % #2 Nom de la commande qui conserve
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeInter{f,g,h,k,\ell,m,p,q,r,s,u,v,w}%%
+ \xdef\faa{}% Liste construite
+ \xdef\fii{}% Liste détruite
+ \xintFor* ##1 in {\xintSeq{1}{#1}}\do{%
+ \xintifboolexpr{#1==1}{%
+ \xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
+ \xdef\faa{\faa\ListeInter[\Alea]}%
+ }{%
+ \xintifboolexpr{\ListeInterlen>1}{%
+ \xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
+ \xdef\faa{\faa\ListeInter[\Alea],}%
+ \xdef\fii{}%
+ \xintFor* ##2 in {\xintSeq{1}{\ListeInterlen}}\do{%
+ \xintifboolexpr{##2 == \Alea}{%
+ }{%
+ \xdef\fii{\fii \ListeInter[##2],}%
+ }%
+ }%
+ }{%
+ \xdef\faa{\faa\ListeInter[1]}%
+ }%
+ \readlist*\ListeInter{\fii}%
+ }%
+ }%
+ \xdef#2{\faa}%
+}%
+
+\NewDocumentCommand\MelangeNomVariable{mm}{%
+ % #1 Nombre d'éléments à conserver
+ % #2 Nom de la commande qui conserve
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeInter{a,b,n,t,x,y,z}%
+ \xdef\faa{}% Liste construite
+ \xdef\fii{}% Liste détruite
+ \xintFor* ##1 in {\xintSeq{1}{#1}}\do{%
+ \xintifboolexpr{#1==1}{%
+ \xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
+ \xdef\faa{\faa\ListeInter[\Alea]}%
+ }{%
+ \xintifboolexpr{\ListeInterlen>1}{%
+ \xdef\Alea{\fpeval{randint(\ListeInterlen)}}%
+ \xdef\faa{\faa\ListeInter[\Alea],}%
+ \xdef\fii{}%
+ \xintFor* ##2 in {\xintSeq{1}{\ListeInterlen}}\do{%
+ \xintifboolexpr{##2 == \Alea}{%
+ }{%
+ \xdef\fii{\fii \ListeInter[##2],}%
+ }%
+ }%
+ }{%
+ \xdef\faa{\faa\ListeInter[1]}%
+ }%
+ \readlist*\ListeInter{\fii}%
+ }%
+ }%
+ \xdef#2{\faa}%
+}%
+
+\NewDocumentCommand\ChoixAleaMultiMixRep{mmmmm}{%
+ % #1 nombre de valeurs à choisir
+ % #2 valeur minimale
+ % #3 valeur maximale
+ % #4 valeur à exclure
+ % #5 Nom de la liste qui récupère les données.
+ \xdef\PfCRetiensRetenues{}%
+ \xdef\PfMMixFoo{#2,#3}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeValeursExclues{#4}%
+ \xintFor* ##1 in{\xintSeq{\fpeval{#2+1}}{\fpeval{#3-1}}}\do{%
+ \xdef\PfCRetiensExclues{0}%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeValeursExclueslen}}\do{%
+ \xintifboolexpr{##1==\ListeValeursExclues[##2]}{\xdef\PfCRetiensExclues{\fpeval{\PfCRetiensExclues+1}}}{}%
+ }%
+ \ifnum\fpeval{\PfCRetiensExclues}=0\relax%
+ \xdef\PfMMixFoo{\PfMMixFoo,##1}%
+ \fi%
+ }%
+ \xintFor* ##1 in {\xintSeq{1}{#1}}\do{%
+ \MelangeListe{\PfMMixFoo}{1}%
+ \xdef\PfCRetiensRetenues{\PfCRetiensRetenues\faa}%
+ }%
+ \xdef#5{\PfCRetiensRetenues}%
+}%
+
+\NewDocumentCommand\AffSigne{smm}{%
+ \ifnum#2=0\relax{}
+ \else
+ \ifnum#3=0\relax{}
+ \else
+ \ifnum#3>0\relax{}
+ +
+ \fi
+ \fi
+ \fi
+}%
+
+\NewDocumentCommand\AffPoly{O{x}m}{%
+ \setsepchar{,}\ignoreemptyitems
+ \readlist*\ListeCoeff{#2}
+ \ensuremath{
+ \ifnum\ListeCoeff[1]=0\relax
+ \Affichage{\ListeCoeff[2]}{\ListeCoeff[3]}{\ListeCoeff[4]}%
+ \else
+ \ifnum\ListeCoeff[1]=1\relax
+ #1^3%
+ \else\ifnum\ListeCoeff[1]=-1\relax
+ -#1^3
+ \else\num{\ListeCoeff[1]}#1^3
+ \fi
+ \fi
+ \ifnum\ListeCoeff[2]=0\relax
+ \ifnum\ListeCoeff[3]=0\relax
+ \ifnum\ListeCoeff[4]=0\relax
+ \else
+ \ifnum\ListeCoeff[4]>0
+ +\Affichage[Lettre=#1]{0}{0}{\ListeCoeff[4]}
+ \else
+ \Affichage[Lettre=#1]{0}{0}{\ListeCoeff[4]}
+ \fi
+ \fi
+ \else
+ \ifnum\ListeCoeff[3]>0\relax
+ +\Affichage[Lettre=#1]{0}{\ListeCoeff[3]}{\ListeCoeff[4]}
+ \else
+ \Affichage[Lettre=#1]{0}{\ListeCoeff[3]}{\ListeCoeff[4]}
+ \fi
+ \fi
+ \else
+ \ifnum\ListeCoeff[2]>0\relax
+ +\Affichage[Lettre=#1]{\ListeCoeff[2]}{\ListeCoeff[3]}{\ListeCoeff[4]}%\num{\ListeCoeff[2]}x^2
+ \else
+ \Affichage[Lettre=#1]{\ListeCoeff[2]}{\ListeCoeff[3]}{\ListeCoeff[4]}%\num{\ListeCoeff[2]}x^2
+ \fi
+ \fi
+ \fi
+ }
+}
+
+\newcounter{PfCenumi}
+
\NewDocumentCommand\RestoreChoixAlea{m}{%
\stepcounter{PfMAlea}%
%Je restaure la valeur \thePfMExoSol-\thePfMAlea
@@ -567,7 +739,7 @@
\newcommand*\FranPt[1]{%
% \ifboolKV[ClesExercices]{BaremeDetaille}{%
- \color{red!75}(\num{#1})%
+ \color{gray!75}(\num{#1})%
% }{}
}
@@ -695,7 +867,7 @@
%%% Base des exercices DM
\tcbset{%
tikzdm/.style={%
- lowerbox=ignored,
+ %lowerbox=ignored,
enhanced,
breakable,
colback=white,
@@ -752,19 +924,20 @@
\refstepcounter{PfMExo}%
\immediate\write\@auxout{%
\string\opcopy{\thePfMExo}{TotalExo}%
- }
+ }%
\ifboolKV[ClesExercices]{BaremeTotal}{%
\immediate\write\@auxout{%
\string\opcopy{0}{total\the\c@PfMSection-\the\c@PfMExo}%
- }}{}
- \tcolorbox[%
- tikzdm,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
+ }}{}%
+ \begin{tcolorbox}[%
+ tikzdm,%
+ label is label,%
+ label=page-\thePfMMaquette-\thePfMExo%
+ ]%
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
#3
-\endtcolorbox%
+ \end{tcolorbox}%
+ \PfMApresLesExercices%
}{}%
%%Contrat
@@ -780,13 +953,13 @@
\setlength{\PfMLargeurSchemaContrat}{\useKV[SchemaContrat]{Ecart}}%
\setlength{\PfMRayonSchemaContrat}{\useKV[SchemaContrat]{Rayon}}%
%\colorlet{PfMCouleurSP}{\useKV[SchemaContrat]{Couleur}}%
- \@ifundefined{Op@\Alph{PfMMaquette}-ContratTotalExo}{Recompilez pour obtenir le contrat.}%
+ \@ifundefined{Op@\Roman{PfMMaquette}-ContratTotalExo}{Recompilez pour obtenir le contrat.}%
{%
- \opexport{\Alph{PfMMaquette}-ContratTotalExo}{\ContratTotalExo}%
+ \opexport{\Roman{PfMMaquette}-ContratTotalExo}{\ContratTotalExo}%
% % Total Exo : \ContratTotalExo
\setsepchar{,}\ignoreemptyitems%
- \xdef\PfCFooListeA{\csname \Alph{PfMMaquette}Contrata\endcsname}%
- \xdef\PfCFooListeB{\csname \Alph{PfMMaquette}Contratb\endcsname}%
+ \xdef\PfCFooListeA{\csname \Roman{PfMMaquette}Contrata\endcsname}%
+ \xdef\PfCFooListeB{\csname \Roman{PfMMaquette}Contratb\endcsname}%
\readlist*\ListeA{\PfCFooListeA}%
\readlist*\ListeB{\PfCFooListeB}%
% Liste A : \showitems\ListeA[]\par
@@ -881,27 +1054,30 @@
}%
\NewDocumentCommand\RemplisContrat{m}{%
- \ifcsname \Alph{PfMMaquette}confiance#1\endcsname
- \expandafter\xdef\csname \Alph{PfMMaquette}confiance#1\endcsname{\csname \Alph{PfMMaquette}confiance#1\endcsname,\thePfMExo}%
+ \ifcsname \Roman{PfMMaquette}confiance#1\endcsname
+ \expandafter\xdef\csname \Roman{PfMMaquette}confiance#1\endcsname{\csname \Roman{PfMMaquette}confiance#1\endcsname,\thePfMExo}%
% Yes !
\else
% No !
- \expandafter\xdef\csname \Alph{PfMMaquette}confiance#1\endcsname{\thePfMExo}%
+ \expandafter\xdef\csname \Roman{PfMMaquette}confiance#1\endcsname{\thePfMExo}%
\fi
- \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Alph{PfMMaquette}Contrat#1\endcsname{\csname \Alph{PfMMaquette}confiance#1\endcsname}}%
+ \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Roman{PfMMaquette}Contrat#1\endcsname{\csname \Roman{PfMMaquette}confiance#1\endcsname}}%
}%
-\newenvironment{exerciceContrat}[1][]{%
+\NewDocumentEnvironment{exerciceContrat}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
- \setKV[ClesExercices]{#1}%
+ \setKV[ClesExercices]{#2}%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
\setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Alph{PfMMaquette}-ContratTotalExo}}%
+ \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ContratTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Contrat}{%
% Remise à zéro de conteneurs des parcours
@@ -913,14 +1089,16 @@
}%
}{}%
%
- \tcolorbox[%
- tikzcontrat,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
- \ifboolKV[Boulot]{Dys}{\raggedright}{}%
-}{\endtcolorbox%
-}
+ \begin{tcolorbox}[%
+ tikzcontrat,
+ label is label,
+ label=page-\thePfMMaquette-\thePfMExo
+ ]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+ \end{tcolorbox}
+ \PfMApresLesExercices%
+}{}%
%%% Contrat %%%
\tcbset{%
@@ -1004,12 +1182,12 @@
\setlength{\PfMLargeurSchemaFdR}{\useKV[SchemaFdR]{Ecart}}%
\setlength{\PfMRayonSchemaFdR}{\useKV[SchemaFdR]{Rayon}}%
\colorlet{PfMCouleurFdR}{\useKV[SchemaFdR]{Couleur}}%
- \@ifundefined{Op@\Alph{PfMMaquette}-FdRTotalExo}{Recompilez pour obtenir la feuille de route.}%
+ \@ifundefined{Op@\Roman{PfMMaquette}-FdRTotalExo}{Recompilez pour obtenir la feuille de route.}%
{%
- \opexport{\Alph{PfMMaquette}-FdRTotalExo}{\FdRTotalExo}%
- \xdef\PfMListeExerciceFdR{\csname \Alph{PfMMaquette}FdRtrue\endcsname}%
- \ifcsname \Alph{PfMMaquette}FdRstop\endcsname%
- \xdef\PfMListeExerciceFdRStop{\csname \Alph{PfMMaquette}FdRstop\endcsname}%
+ \opexport{\Roman{PfMMaquette}-FdRTotalExo}{\FdRTotalExo}%
+ \xdef\PfMListeExerciceFdR{\csname \Roman{PfMMaquette}FdRtrue\endcsname}%
+ \ifcsname \Roman{PfMMaquette}FdRstop\endcsname%
+ \xdef\PfMListeExerciceFdRStop{\csname \Roman{PfMMaquette}FdRstop\endcsname}%
\else%
\xdef\PfMListeExerciceFdRStop{}%
\fi%
@@ -1231,26 +1409,29 @@
}%
\NewDocumentCommand\RemplisFdR{m}{%
- \ifcsname \Alph{PfMMaquette}route#1\endcsname
- \expandafter\xdef\csname \Alph{PfMMaquette}route#1\endcsname{\csname \Alph{PfMMaquette}route#1\endcsname,\thePfMExo}%
+ \ifcsname \Roman{PfMMaquette}route#1\endcsname
+ \expandafter\xdef\csname \Roman{PfMMaquette}route#1\endcsname{\csname \Roman{PfMMaquette}route#1\endcsname,\thePfMExo}%
% Yes !
\else
% No !
- \expandafter\xdef\csname \Alph{PfMMaquette}route#1\endcsname{\thePfMExo}%
+ \expandafter\xdef\csname \Roman{PfMMaquette}route#1\endcsname{\thePfMExo}%
\fi
- \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Alph{PfMMaquette}FdR#1\endcsname{\csname \Alph{PfMMaquette}route#1\endcsname}}%
+ \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Roman{PfMMaquette}FdR#1\endcsname{\csname \Roman{PfMMaquette}route#1\endcsname}}%
}%
-\newenvironment{exerciceFdR}[1][]{%
+\NewDocumentEnvironment{exerciceFdR}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
- \setKV[ClesExercices]{#1}%
+ \setKV[ClesExercices]{#2}%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
\setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
\stepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Alph{PfMMaquette}-FdRTotalExo}}%
+ \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-FdRTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Routes}{%
% Remise à zéro de conteneurs des parcours
@@ -1274,14 +1455,16 @@
}%
}{}%
%
- \tcolorbox[%
- tikzFdR,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
- \ifboolKV[Boulot]{Dys}{\raggedright}{}%
-}{\endtcolorbox%
-}
+ \begin{tcolorbox}[%
+ tikzFdR,
+ label is label,
+ label=page-\thePfMMaquette-\thePfMExo
+ ]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+ \end{tcolorbox}
+ \PfMApresLesExercices%
+}{}%
%\makeatother
@@ -1289,6 +1472,7 @@
\setsepchar[*]{,*/}%
\readlist*\ListeNoms{Aude/Elle/d'Aude/qu'Aude,Bernard/Il/de Bernard/que Bernard,Céline/Elle/de Céline/que Céline,Daniel/Il/de Daniel/que Daniel,\'Elise/Elle/d'\'Elise/qu'\'Elise,Fabien/Il/de Fabien/que Fabien,Gérard/Il/de Gérard/que Gérard,Hélène/Elle/d'Hélène/qu'Hélène,Ilies/Il/d'Ilies/qu'Ilies,Jasmine/Elle/de Jasmine/que Jasmine,Kylian/Il/de Kylian/que Kylian,Laurent/Il/de Laurent/que Laurent,Mathilde/Elle/de Mathilde/que Mathilde,Nina/Elle/de Nina/que Nina,Octave/Il/d'Octave/qu'Octave,Philippe/Il/de Philippe/que Philippe,Joachim/Il/de Joachim/que Joachim,Thérèse/Elle/de Thérèse/que Thérèse,Nawel/Elle/de Nawel/que Nawel,Alexandre/Il/d'Alexandre/qu'Alexandre,Maxence/Il/de Maxence/que Maxence,Sophie/Elle/de Sophie/que Sophie,Christophe/Il/de Christophe/que Christophe,Myriam/Elle/de Myriam/que Myriam,Nathalie/Elle/de Nathalie/que Nathalie,Sébastien/Il/de Sébastion/que Sébastien}%
\readlist*\ListeChersObjets{montre/une,collier/un,bague/une,pendentif/un}%
+\readlist*\ListeSport{Football/du football/le football,Tennis/du tennis/le tennis,Basket/du basket/le basket,Athlétisme/de l'athlétisme/l'athlétisme,Natation/de la natation/la natation,Hand-ball/du hand-ball/le hand-ball,Volley-ball/du volley-ball/le volley-ball}
\setsepchar{,}%
\readlist*\ListePetitsObjets{bonbons,billes,biscuits,gommes,clous,vis,cahiers,trousses}%
\readlist*\ListeFruits{pommes,poires,abricots,cerises,fraises,framboises,noix,pêches,nectarines,myrtilles,oranges,mandarines,kiwis}%
@@ -1302,14 +1486,13 @@
\immediate\write\@auxout{%
\string\opcopy{\thePfMExo}{TotalExo}%
}%
- \@bsphack
- \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.can"
- \let\do\@makeother\dospecials
- \catcode`\^^M\active
- %\immediate\write\verbatim@out{ \string\setcounter{PfMAlea}{0}}
- \def\verbatim@processline{\immediate\write\verbatim@out{\the\verbatim@line}}
- \verbatim@start}
-\def\endExoCANWrite{\immediate\closeout\verbatim@out\@esphack}
+ \@bsphack%
+ \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.can"%
+ \let\do\@makeother\dospecials%
+ \catcode`\^^M\active%
+ \def\verbatim@processline{\immediate\write\verbatim@out{\the\verbatim@line}}%
+ \verbatim@start}%
+\def\endExoCANWrite{\immediate\closeout\verbatim@out\@esphack}%
\makeatother
\NewDocumentCommand\Complement{+m}{%
@@ -1465,12 +1648,12 @@
\setKV[SchemaParcours]{#1}%
\setlength{\PfMLargeurSchemaParcours}{\useKV[SchemaParcours]{Largeur}}%
\colorlet{PfMCouleurSP}{\useKV[SchemaParcours]{Couleur}}%
- \@ifundefined{Op@\Alph{PfMMaquette}-ParcoursTotalExo}{Recompilez pour obtenir le parcours.}%
+ \@ifundefined{Op@\Roman{PfMMaquette}-ParcoursTotalExo}{Recompilez pour obtenir le parcours.}%
{%
- \opexport{\Alph{PfMMaquette}-ParcoursTotalExo}{\ParcoursTotalExo}%
+ \opexport{\Roman{PfMMaquette}-ParcoursTotalExo}{\ParcoursTotalExo}%
% Total Exo : \ParcoursTotalExo
\setsepchar{,}\ignoreemptyitems%
- \readlist*\ListeExercicesPA{\csname \Alph{PfMMaquette}Parcours#2\endcsname}
+ \readlist*\ListeExercicesPA{\csname \Roman{PfMMaquette}Parcours#2\endcsname}
\reademptyitems%
\xdef\PfMFooTestA{\ListeExercicesPA[1]}%
\ifnum\ListeExercicesPAlen>1\relax%
@@ -1543,14 +1726,14 @@
}%
\NewDocumentCommand\RemplisParcours{m}{%
- \ifcsname \Alph{PfMMaquette}trajet#1\endcsname
- \expandafter\xdef\csname \Alph{PfMMaquette}trajet#1\endcsname{\csname \Alph{PfMMaquette}trajet#1\endcsname,\thePfMExo}%
+ \ifcsname \Roman{PfMMaquette}trajet#1\endcsname
+ \expandafter\xdef\csname \Roman{PfMMaquette}trajet#1\endcsname{\csname \Roman{PfMMaquette}trajet#1\endcsname,\thePfMExo}%
% Yes !
\else
% No !
- \expandafter\xdef\csname \Alph{PfMMaquette}trajet#1\endcsname{\thePfMExo}%
+ \expandafter\xdef\csname \Roman{PfMMaquette}trajet#1\endcsname{\thePfMExo}%
\fi
- \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Alph{PfMMaquette}Parcours#1\endcsname{\csname \Alph{PfMMaquette}trajet#1\endcsname}}%
+ \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Roman{PfMMaquette}Parcours#1\endcsname{\csname \Roman{PfMMaquette}trajet#1\endcsname}}%
}%
\def\exerciceParcoursPerso{%
@@ -1567,16 +1750,19 @@
\def\endexerciceParcoursPerso{\immediate\write\verbatim@out{\string\end{exercice}}\immediate\closeout\verbatim@out\@esphack}%
-\newenvironment{exerciceParcours}[1][]{%
+\NewDocumentEnvironment{exerciceParcours}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
- \setKV[ClesExercices]{#1}%
+ \setKV[ClesExercices]{#2}%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
\setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Alph{PfMMaquette}-ParcoursTotalExo}}%
+ \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ParcoursTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Parcours}{%
% Remise à zéro de conteneurs des parcours
@@ -1588,14 +1774,56 @@
}%
}{}%
%
- \tcolorbox[%
- tikzparcours,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
- \ifboolKV[Boulot]{Dys}{\raggedright}{}%
-}{\endtcolorbox%
-}
+ \begin{tcolorbox}[%
+ tikzparcours,
+ label is label,
+ label=page-\thePfMMaquette-\thePfMExo
+ ]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+ \end{tcolorbox}
+ \PfMApresLesExercices%
+}{}%
+
+%%%%%%%%%%%%%%%%%%%%%%%
+% Pour encart
+%%%%%%%%%%%%%%%%%%%%%%
+
+\newtcolorbox{PfMtcbEncart}{%
+ before skip=1em,
+ enhanced,
+ breakable,
+ frame hidden,
+ height=\useKV[ClesExercices]{Encart},
+ colback=PfMFondEncart,
+ left=10pt,
+% % colframe=PfMCadreEncart,
+ overlay unbroken and first={%
+ \coordinate[xshift=10*\kvtcb@leftlower] (B) at (frame.north west);
+ \coordinate[xshift=-10*\kvtcb@leftlower] (C) at (frame.south east);
+ \draw[PfMCadreEncart,line width=1pt] (frame.south east)--(frame.south west)--(frame.north west)--(B);
+ \node[%
+ name=A,
+ fill=PfMFondEncart,
+ anchor=west,
+ xshift=\kvtcb@leftlower,
+ ] at (frame.north west){\bfseries\sffamily\PfMTexteEncart};
+ %%
+ }%
+ }%
+
+\NewDocumentCommand\PfMApresLesExercices{}{%
+ \ifboolKV[ClesExercices]{Ligne}{%
+ \par\vspace{\PfMEspaceAvantLignes}\par\PfMLignespointilles{\useKV[ClesExercices]{Lignes}}%
+ \par\vspace*{\PfMEspaceApresLignes}\par%
+ }{}%
+ \par%
+ \ifboolKV[ClesExercices]{Cadres}{%
+ \begin{PfMtcbEncart}%
+ %
+ \end{PfMtcbEncart}%
+ }{}%
+}%
\NewDocumentEnvironment{exerciceFiche}{so+b}{%
\setcounter{PfMAlea}{0}%
@@ -1611,14 +1839,15 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \tcolorbox[%
+ \begin{tcolorbox}[%
tikzfiche,
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
#3
-\endtcolorbox%
+ \end{tcolorbox}%
+ \PfMApresLesExercices%
}{}
\NewDocumentEnvironment{exerciceDS}{so+b}{%
@@ -1638,14 +1867,15 @@
\immediate\write\@auxout{%
\string\opcopy{0}{total\the\c@PfMSection-\the\c@PfMExo}%
}}{}
- \tcolorbox[%
+ \begin{tcolorbox}[%
tikzds,
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
#3
-\endtcolorbox%
+ \end{tcolorbox}%
+ \PfMApresLesExercices%
}{}%
\NewDocumentEnvironment{ExerciceRecapBrevet}{so+b}{%
@@ -1665,15 +1895,16 @@
\string\opcopy{0}{total\the\c@PfMSection-\the\c@PfMExo}%
}%
}{}%
- \tcolorbox[%
+ \begin{tcolorbox}[%
tikzrecapbrevet,
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
\ifboolKV[Boulot]{Dys}{\raggedright}{}%
- #3
-}{\endtcolorbox%
-}
+ #3
+ \end{tcolorbox}
+ \PfMApresLesExercices%
+}{}%
\makeatother
%%% Recap Brevet