diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty | 415 |
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 |