diff options
author | Karl Berry <karl@freefriends.org> | 2024-03-07 21:22:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-03-07 21:22:39 +0000 |
commit | cc77816bee5134b22e3a0f98ec91d326f1cc6008 (patch) | |
tree | cd272b9740fcb7ced0411b8e501c5cbaee5ff102 /Master/texmf-dist | |
parent | 53959d4915c7c1171856b813716b4333d422b3b9 (diff) |
profmaquette (7mar24)
git-svn-id: svn://tug.org/texlive/trunk@70470 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/profmaquette/Attention-1.pdf | bin | 0 -> 11044 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/profmaquette/Attention-2.pdf | bin | 0 -> 11099 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf | bin | 288370 -> 287008 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex | 187 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/profmaquette/pg_0002-crop.pdf | bin | 0 -> 14470 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty | 497 |
6 files changed, 521 insertions, 163 deletions
diff --git a/Master/texmf-dist/doc/latex/profmaquette/Attention-1.pdf b/Master/texmf-dist/doc/latex/profmaquette/Attention-1.pdf Binary files differnew file mode 100644 index 00000000000..610035bec83 --- /dev/null +++ b/Master/texmf-dist/doc/latex/profmaquette/Attention-1.pdf diff --git a/Master/texmf-dist/doc/latex/profmaquette/Attention-2.pdf b/Master/texmf-dist/doc/latex/profmaquette/Attention-2.pdf Binary files differnew file mode 100644 index 00000000000..731646c80ff --- /dev/null +++ b/Master/texmf-dist/doc/latex/profmaquette/Attention-2.pdf diff --git a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf Binary files differindex 7c6679b7363..dc34cdefa98 100644 --- a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf +++ b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf diff --git a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex index 58dfa051e5e..2c53d9fd8c5 100644 --- a/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex +++ b/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex @@ -1,11 +1,16 @@ % with lualatex \documentclass[12pt,french]{article} \usepackage[nonamssymb]{ProfCollege} -\usepackage{ProfMaquette} +\usepackage{ProfMaquetteT} \usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} \usepackage[math-style=french]{fourier-otf} -\newfontfamily\myfontDys{FiraMath-Regular.otf} +% \newfontfamily\myfontDys{FiraMath-Regular.otf} +%\newfontfamily\myfontDys{Lato} +%\newfontfamily\myfontMathDys{LatoMath} + +\newfontfamily\myfontDys{KpSans.otf} +\setmathfont[version=kp]{KpMath-Sans.otf} \usepackage[a4paper,margin=1.5cm,nohead,includefoot]{geometry} \setlength{\parindent}{0pt} @@ -85,12 +90,11 @@ } \NewDocumentEnvironment{CadreMP}{+b}{% - \begin{lrbox}{\tacochapterbox} - \begin{minipage}{0.97\linewidth} + \begin{lrbox}{\tacochapterbox}% + \begin{minipage}{0.96\linewidth} #1% \end{minipage} - \end{lrbox} - \par + \end{lrbox}% \ooalign{% \MPclipOne{\mpdim{\wd\tacochapterbox+1pc}}% width {\mpdim{\ht\tacochapterbox+\dp\tacochapterbox+1pc}}% height @@ -191,7 +195,7 @@ }% \newcommand\Defaut[1]{% -\hfill valeur par défaut : {\sffamily #1}\\[-1em]% +\hfill valeur par défaut : {\sffamily #1}%\\[-1em]% }% \usepackage{parskip} @@ -329,22 +333,30 @@ Le c\oe ur de l'utilisation du package \lstinline!ProfMaquette! est donc une ges \clearpage \section*{L'environnement \lstinline!Maquette!} \begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{} -\begin{Maquette}[!\metamk{TypeDocument}!,!\metamk{TypeCorrection}!,!\metamk{Adaptation}!]{!\metamk{Caracteristiques}!} - +\begin{Maquette}[!\\ + \metamk{TypeDocument}!,!\\ + \metamk{Adaptation}!,!\\ + \metamk{TypeCorrection}!,!\\ + \metamk{Autres}! + ]{!\metamk{Caracteristiques}!} \end{Maquette} \end{Codes} -C'est lui qui indique : +C'est cet environnement qui gère le format général du document : +\begin{itemize} +\item \metamk{TypeDocument} indique le type de document souhaité (Devoir Maison / Devoir Surveillé / Interrogation écrite / Fiche d'exercices / Parcours d'exercices / Parcours personnalisé / Plan de travail / Cours / Contrat de confiance / Feuille de route / CAN (Course aux nombres)) ; +\item \metamk{Adaptation} indique si on doit adapter ce document aux élèves à profils particuliers; +\item \metamk{TypeCorrection} indique si ce document est corrigé (à la suite d'un exercice ou à la fin du document) ou pas; +\item \metamk{Autres} modifiera certains paramètres des corrigés; +\end{itemize} +et \begin{itemize} -\item le type de document souhaité \metamk{TypeDocument} (Devoir Maison / Devoir Surveillé / Interrogation écrite / Fiche d'exercices / Parcours d'exercices / Parcours personnalisé / Plan de travail / Cours / Contrat de confiance / Feuille de route / CAN (Course aux nombres)); -\item si ce travail est corrigé \metamk{TypeCorrection} (à la suite d'un exercice ou à la fin du document) ou pas; -\item et si on doit l'adapter aux élèves à profils particuliers \metamk{Adaptation}; +\item \metamk{Caracteristiques} indique les caractéristiques du document souhaité. \end{itemize} -puis il indiquera les caractéristiques \metamk{Caracteristiques} du document souhaité. \clearpage \subsection*{Les devoirs maison} \begin{CadreMP} \begin{Description} -\item[]La clé \Cle{DM}\Defaut{false} +\item[] La clé \Cle{DM}\Defaut{false} \begin{itemize} \item[]La clé \Cle{Numero}\Defaut{1} \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} @@ -356,7 +368,7 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \end{CadreMP} \footnotetext{Outil personnel de classement.} \begin{Codes}[]{0.4}{} -\begin{Maquette}[DM]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[DM]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} \end{Codes} @@ -377,7 +389,7 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \end{Description} \end{CadreMP} \begin{Codes}[]{0.4}{} -\begin{Maquette}[DS]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[DS]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} \end{Codes} @@ -394,13 +406,13 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \item[]La clé \Cle{Code}\Defaut{} \item[]La clé \Cle{Calculatrice} autorisée ou nom\Defaut{false} \item[]La clé \Cle{Sujet} pour de multiples sujets\Defaut{\{\}} - \item[]La clé \Cle{Theme} Thème de l'évaluation \Defaut{\{\}} + \item[]La clé \Cle{Theme} modifie le thème de l'évaluation \Defaut{\{\}} \item[]La clé \Cle{Nom} Pour changer le nom \og \'Evaluation\fg\Defaut{\'Evaluation} \end{itemize} \end{Description} \end{CadreMP} \begin{Codes}[]{0.4}{} -\begin{Maquette}[IE]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2020,Theme=La géométrie}% +\begin{Maquette}[IE]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2024,Theme=La géométrie}% On considère un triangle $ABC$\dots \end{Maquette} \end{Codes} @@ -413,18 +425,18 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} \item[]La clé \Cle{Classe}\Defaut{} \item[]La clé \Cle{Niveau}\Defaut{6} - \item[]La clé \Cle{Theme} Thème de la fiche \Defaut{Les nombres décimaux} + \item[]La clé \Cle{Theme} modifie le thème de la fiche \Defaut{Les nombres décimaux} \item[]La clé \Cle{Code}\Defaut{} \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} \end{itemize} \end{Description} \end{CadreMP} \begin{Codes}[]{0.4}{} -\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} \end{Codes} -%\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +%\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2024} % On considère un triangle $ABC$\dots %\end{Maquette} \clearpage @@ -436,7 +448,7 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} \item[]La clé \Cle{Classe}\Defaut{} \item[]La clé \Cle{Niveau}\Defaut{6} - \item[]La clé \Cle{Theme} Thème du parcours \Defaut{Les nombres décimaux} + \item[]La clé \Cle{Theme} modifie le thème du parcours \Defaut{Les nombres décimaux} \item[]La clé \Cle{Code}\Defaut{} \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} \end{itemize} @@ -444,7 +456,7 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \end{CadreMP} \footnotetext{Il dispose des même clés que la clé \Cle{Fiche} et de la même présentation. Ce n'est pas là son utilité\dots} \begin{Codes}[]{0.4}{} -\begin{Maquette}[Parcours]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[Parcours]{Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} \end{Codes} @@ -457,7 +469,7 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} \item[]La clé \Cle{Classe}\Defaut{} \item[]La clé \Cle{Niveau}\Defaut{6} - \item[]La clé \Cle{Theme} Thème du plan de travail \Defaut{Les nombres décimaux} + \item[]La clé \Cle{Theme} modifie le thème du plan de travail \Defaut{Les nombres décimaux} \item[]La clé \Cle{Code}\Defaut{} \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} \end{itemize} @@ -465,22 +477,23 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \end{CadreMP} \footnotetext{Il dispose des même clés que la clé \Cle{Fiche} et de la même présentation. Ce n'est pas là son utilité\dots} \begin{Codes}[]{0.4}{} -\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} \end{Codes} -%\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +%\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2024} % On considère un triangle $ABC$\dots %\end{Maquette} \clearpage \subsection*{Les parcours personnalisés} \begin{CadreMP} \begin{Description} -\item[La clé \Cle{ParcoursPerso}]\Defaut{false} +\item[La clé \Cle{ParcoursPerso}\footnotemark]\Defaut{false} \begin{itemize} \item[]La clé \Cle{Fichier} est le nom du fichier {\ttfamily csv} à utiliser.\Defaut{} \end{itemize} \end{Description} +\footnotetext{La présentation est entièrement basée sur la cle \Cle{Fiche}.} \end{CadreMP} \begin{Codes}[listing only]{0.4}{} \begin{Maquette}[ParcoursPerso]{Fichier=Eleves} @@ -511,14 +524,18 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \subsection*{Le contrat de confiance\footnote{Basé sur une idée de Thomas {\sc Castanet}.}} \begin{CadreMP} \begin{Description} -\item[La clé \Cle{Contrat}]\Defaut{false} - \begin{itemize} - \item[]La clé \Cle{Theme} modifie le titre du \og cours\fg\Defaut{-} - \item[]La clé \Cle{Couleur} modifie la couleur donnée à l'entête\Defaut{Crimson} - \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} - \end{itemize} -\end{Description} + \item[La clé \Cle{Contrat}\footnotemark]\Defaut{false} + \begin{itemize} + \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} + \item[]La clé \Cle{Classe}\Defaut{} + \item[]La clé \Cle{Niveau}\Defaut{6} + \item[]La clé \Cle{Theme} modifie le thème du parcours \Defaut{Les nombres décimaux} + \item[]La clé \Cle{Code}\Defaut{} + \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} + \end{itemize} + \end{Description} \end{CadreMP} +\footnotetext{Il dispose des même clés que la clé \Cle{Fiche} et de la même présentation. Ce n'est pas là son utilité\dots} \begin{Codes}[listing only]{0.4}{} \begin{Maquette}[Contrat]{} On considère un triangle $ABC$\dots @@ -531,14 +548,18 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \subsection*{La feuille de route\footnote{Basé sur une idée de Thomas {\sc Castanet}.}} \begin{CadreMP} \begin{Description} -\item[La clé \Cle{FdR}]\Defaut{false} - \begin{itemize} - \item[]La clé \Cle{Theme} modifie le titre du \og cours\fg\Defaut{-} - \item[]La clé \Cle{Couleur} modifie la couleur donnée à l'entête\Defaut{Crimson} - \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} - \end{itemize} -\end{Description} + \item[La clé \Cle{FdR}\footnotemark]\Defaut{false} + \begin{itemize} + \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} + \item[]La clé \Cle{Classe}\Defaut{} + \item[]La clé \Cle{Niveau}\Defaut{6} + \item[]La clé \Cle{Theme} modifie le thème du parcours \Defaut{Les nombres décimaux} + \item[]La clé \Cle{Code}\Defaut{} + \item[]La clé \Cle{NomExercice} pour modifier le nom des exercices\Defaut{exercice} + \end{itemize} + \end{Description} \end{CadreMP} +\footnotetext{Elle dispose des même clés que la clé \Cle{Fiche} et de la même présentation. Ce n'est pas là son utilité\dots} \begin{Codes}[listing only]{0.4}{} \begin{Maquette}[FdR]{} On considère un triangle $ABC$\dots @@ -556,9 +577,9 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!} \item[]La clé \Cle{Niveau}\Defaut{6} \item[]La clé \Cle{Duree} modifie la durée de la course\Defaut{9} - \item[]La clé \Cle{CoefQ} modifie, en multipliant \lstinline!\\linewidth! par la valeur donnée, la largeur de la colonne \og Questions\fg{}\Defaut{0.4} - \item[]La clé \Cle{CoefR} modifie, en multipliant \lstinline!\\linewidth! par la valeur donnée, la largeur de la colonne \og Réponse\fg{}\Defaut{0.35} - \item[]La clé \Cle{CoefJ} modifie, en multipliant \lstinline!\\linewidth! par la valeur donnée, la largeur de la colonne \og Jury\fg{}\Defaut{0.1} + \item[]La clé \Cle{CoefQ} modifie, en multipliant \lstinline!\\linewidth! par la valeur donnée, la largeur de la colonne \og Questions\fg{}\Defaut{0.4}\\ + \item[]La clé \Cle{CoefR} modifie, en multipliant \lstinline!\\linewidth! par la valeur donnée, la largeur de la colonne \og Réponse\fg{}\Defaut{0.35}\\ + \item[]La clé \Cle{CoefJ} modifie, en multipliant \lstinline!\\linewidth! par la valeur donnée, la largeur de la colonne \og Jury\fg{}\Defaut{0.1}\\[-1em] \end{itemize} \end{Description} \end{CadreMP} @@ -578,54 +599,64 @@ puis il indiquera les caractéristiques \metamk{Caracteristiques} du document so \includepdf[nup=1x2,pages=-,landscape]{TestCAN.pdf} \clearpage \subsection*{Focus sur la clé \Cle{Dys}}\label{PageDys} -Lorsque cette clé est activée, le package \lstinline!ProfMaquette! agit sur plusieurs paramètres : +Lorsque cette clé est activée pour l'environnement \lstinline!\Maquette!, le package \lstinline!ProfMaquette! agit automatiquement sur plusieurs paramètres : \begin{itemize} \item il modifie l'interligne en passant sa valeur à \num{1.8}; \item il force la non-justification des lignes; -\item il impose, par défaut, la taille de la fonte en la passant à {\ttfamily 14pt}, que la taille demandée par défaut soit {\ttfamily 10pt}, {\ttfamily 11pt} ou {\ttfamily 12pt}. +\item il impose, par défaut, la taille de la fonte à {\ttfamily 14pt}, que la taille demandée soit {\ttfamily 10pt}, {\ttfamily 11pt} ou {\ttfamily 12pt}.\par \begin{CadreMP} \begin{Description} -\item[La clé \Cle{Taille}] modifie la taille de la fonte utilisée avec la clé \Cle{Dys}.\par\hfill\Defaut{14} +\item[La clé \Cle{Taille}] modifie la taille de la fonte utilisée avec la clé \Cle{Dys}\Defaut{14} \end{Description} \end{CadreMP} \end{itemize} \begin{tcolorbox} - Le choix d'une police étant personnel et les études contradictoires, le package \lstinline!ProfMaquette! ne propose aucune fonte particulière. Dans une distribution \TeX{}Live, la police {\ttfamily Fira Sans}\footnotemark{} peut convenir, tant pour le texte que pour les mathématiques. + Le choix d'une police étant personnel et les études contradictoires, le package \lstinline!ProfMaquette! ne propose aucune fonte particulière. Dans une distribution \TeX{}Live, la police {\ttfamily Kp-fonts}\footnotemark{} peut convenir, tant pour le texte que pour les mathématiques. \end{tcolorbox} -Le code ci-dessous montre, à la page suivante, les effets de cette clé \Cle{Dys}. +%Le code ci-dessous montre, à la page suivante, les effets de cette clé \Cle{Dys}. \begin{Codes}[listing only]{0.4}{} \begin{Maquette}[Fiche,Dys]{Theme=Théorème de Pythagore} - \myfontDys%Définie dans le préambule sous la forme - %\newfontfamily\myfontDys{FiraMath-Regular.otf} + \myfontDys% Défini dans le préambule : \newfontfamily\myfontDys{KpSans.otf} + \mathversion{kp}% Défini dans le préambule : \setmathfont[version=kp]{KpMath-Sans.otf} \begin{exercice} On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$. \begin{enumerate} - \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés. - \item Ce triangle est-il rectangle ? Justifier. - \end{enumerate} + \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés. + \item Ce triangle est-il rectangle ? Justifier. + \end{enumerate} + \end{exercice} + \begin{exercice} + Développer l'expression $2x\times(x+3)$. \end{exercice} \end{Maquette} \begin{Maquette}[Fiche]{Theme=Théorème de Pythagore} \begin{exercice} On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$. \begin{enumerate} - \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés. - \item Ce triangle est-il rectangle ? Justifier. - \end{enumerate} + \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés. + \item Ce triangle est-il rectangle ? Justifier. + \end{enumerate} + \end{exercice} + \begin{exercice} + Développer l'expression $2x\times(x+3)$. \end{exercice} \end{Maquette} \end{Codes} -\footnotetext{{\ttfamily{FiraSans-Regular.otf} pour le texte et {\ttfamily FiraMath-Regular.otf} pour les mathématiques.}} +\footnotetext{{\ttfamily{KpSans.otf} pour le texte et {\ttfamily KpMath-Sans.otf} pour les mathématiques.}} \clearpage \begin{Maquette}[Fiche,Dys]{Theme=Théorème de Pythagore} - \myfontDys%Définie dans le préambule. + \myfontDys% + \mathversion{kp}% \begin{exercice} On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$. \begin{enumerate} \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés. \item Ce triangle est-il rectangle ? Justifier. \end{enumerate} - \end{exercice} + \end{exercice} + \begin{exercice} + Développer l'expression $2x\times(x+3)$. + \end{exercice}%} \end{Maquette} \begin{Maquette}[Fiche]{Theme=Théorème de Pythagore} \begin{exercice} @@ -634,6 +665,9 @@ Le code ci-dessous montre, à la page suivante, les effets de cette clé \Cle{Dy \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés. \item Ce triangle est-il rectangle ? Justifier. \end{enumerate} + \end{exercice} + \begin{exercice} + Développer l'expression $2x\times(x+3)$. \end{exercice} \end{Maquette} \clearpage @@ -653,7 +687,7 @@ Comme on peut le voir, chaque type de travail est associé à une présentation. Par exemple, pour une fiche, le style {\em par défaut} permet d'obtenir : %\begin{Codes}[]{0.4}{} -\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} %\end{Codes} @@ -677,7 +711,7 @@ on obtient : }% }% -\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020} +\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2024} On considère un triangle $ABC$\dots \end{Maquette} @@ -772,7 +806,7 @@ On peut, dans un premier temps, utiliser les clés suivantes : \end{exercice} \end{Maquette} \end{Codes} -On peut également, pour les maquettes \lstinline!Fiche!, \lstinline!DM!, \lstinline!DS! et \lstinline!IE!, ne pas numéroté un exercice (particulièrement dans le cas où un seul exercice serait présent). +On peut également, pour les maquettes \lstinline!Fiche!, \lstinline!DM!, \lstinline!DS! et \lstinline!IE!, ne pas numéroter un exercice (particulièrement dans le cas où un seul exercice serait présent). \begin{Codes}[]{0.4}{} \begin{Maquette}[Fiche]{} \begin{exercice}* @@ -794,7 +828,7 @@ On remarque que certains exercices sont associés à un total de point. C'est un \begin{Description} \item[La clé \Cle{BaremeTotal}] qui affichera, dans le coin supérieur droit, le total de points de l'exercice. La valeur de cette clé : \begin{itemize} - \item est {\em fixée} à {\sffamily false} pour la clé \Cle{Fiche}; + \item est {\em fixée} à {\sffamily false} pour les clés \Cle{Fiche}, \Cle{FdR}, \Cle{Parcours}, \Cle{PdT}, \Cle{Contrat}; \item est positionnée à {\sffamily true} mais {\em modifiable} pour les clés \Cle{DM}, \Cle{DS} et \Cle{IE}. \end{itemize} \item[La clé \Cle{BaremeDetaille}] a le même fonctionnement que la clé \Cle{BaremeTotal}. @@ -846,7 +880,7 @@ Si on souhaite citer la source d'un exercice ou lui donner un titre, on dispose \begin{Maquette}[Fiche]{Theme=Algorithmique} \colorlet{PfMColCpt}{Crimson} \colorlet{PfMColSrc}{NavyBlue} - \begin{exercice}[Source=Olympiades 2019,Titre= : Modifier des mots,Competence=Raisonner] + \begin{exercice}[Source=Olympiades 2019,Titre=Modifier des mots,Competence=Raisonner] Dans ce problème, on appellera {\em mot} toute suite de lettres formée des lettres A, D et G. Par exemple : ADD, A, AAADG sont des {\em mots}. \\Astrid possède un logiciel qui fonctionne de la manière suivante : un utilisateur entre un {\em mot} et, après un clic sur EXÉCUTER, chaque lettre A du {\em mot} (s'il y en a) est remplacée par le {\em mot} AGADADAGA. Ceci donne un nouveau {\em mot}.\\Par exemple, si l'utilisateur rentre le {\em mot} AGA, on obtient le {\em mot} AGADADAGAGAGADADAGA. Un deuxième clic sur EXÉCUTER réitère la transformation décrite ci-dessus au nouveau {\em mot}, et ainsi de suite. \begin{enumerate} @@ -859,7 +893,7 @@ Si on souhaite citer la source d'un exercice ou lui donner un titre, on dispose \begin{Maquette}[Fiche]{Theme=Algorithmique} \colorlet{PfMColCpt}{Crimson} \colorlet{PfMColSrc}{NavyBlue} - \begin{exercice}[Source=Olympiades 2019,Titre= : Modifier des mots,Competence=Raisonner] + \begin{exercice}[Source=Olympiades 2019,Titre=Modifier des mots,Competence=Raisonner] Dans ce problème, on appellera {\em mot} toute suite de lettres formée des lettres A, D et G. Par exemple : ADD, A, AAADG sont des {\em mots}. \\Astrid possède un logiciel qui fonctionne de la manière suivante : un utilisateur entre un {\em mot} et, après un clic sur EXÉCUTER, chaque lettre A du {\em mot} (s'il y en a) est remplacée par le {\em mot} AGADADAGA. Ceci donne un nouveau {\em mot}.\\Par exemple, si l'utilisateur rentre le {\em mot} AGA, on obtient le {\em mot} AGADADAGAGAGADADAGA. Un deuxième clic sur EXÉCUTER réitère la transformation décrite ci-dessus au nouveau {\em mot}, et ainsi de suite. \begin{enumerate} @@ -1017,7 +1051,7 @@ Jean,Némar,{1,4} \end{Codes} \item et une liste d'exercices pour produire les trois pages suivantes à l'aide du code : \begin{Codes}[listing only]{0.4}{} -\begin{Maquette}[ParcoursPerso]{Type=Fiche,Fichier=Documentation,Theme=L'alphabet,Niveau=6,Classe=Alpha} +\begin{Maquette}[ParcoursPerso]{Fichier=Documentation,Theme=L'alphabet,Niveau=6,Classe=Alpha} \begin{exercice} A \end{exercice} @@ -1037,7 +1071,7 @@ Jean,Némar,{1,4} \includepdf[pages=-]{TestParcoursPerso.pdf} \clearpage \subsection*{Focus sur la maquette \lstinline!PdT!} -Dans le cas de cette maquette, la présentation des exercices est modifiée : il n'y a plus de titre afin de gagner de la place. De plus, chaque exercice définit, en fonction de son numéro (non écrit mais présent), huit points d'ancrages :\lstinline!N-5!, \lstinline!S-5!, \lstinline!O-5!, \lstinline!E-5!, \lstinline!NO-5!, \lstinline!NE-5!, \lstinline!SO-5! et \lstinline!SE-5! pour respectivement les points Nord, Sud, Ouest, Est, Nord-Ouest, Nord-Est, Sud-Ouest et Sud-Est du cadre de l'exercice 5. +Dans le cas de cette maquette, la présentation des exercices est modifiée : il n'y a plus de titre afin de gagner de la place. De plus, chaque exercice définit, en fonction de son numéro, huit points d'ancrages :\lstinline!N-5!, \lstinline!S-5!, \lstinline!O-5!, \lstinline!E-5!, \lstinline!NO-5!, \lstinline!NE-5!, \lstinline!SO-5! et \lstinline!SE-5! pour respectivement les points Nord, Sud, Ouest, Est, Nord-Ouest, Nord-Est, Sud-Ouest et Sud-Est du cadre de l'exercice 5. On pourra aussi utiliser (avec les même n\oe uds précédés de \lstinline!SOS!) l'environnement \lstinline!SOS! servant d'aide aux élèves en difficulté. @@ -1347,7 +1381,7 @@ On peut gérer la correction des exercices à deux niveaux : \begin{description} \item[la clé \Cle{CorrigeAll}]\Defaut{false}\par est {\em uniquement} valable avec la clé \Cle{Fiche}. Elle affiche une feuille avec tous les corrigés détaillés (environnement \lstinline!Solution!); une feuille avec toutes les réponses brutes (environnement \lstinline!Reponse!) et une feuille avec tous les indices (environnement \lstinline!Indice!). \item[La clé \Cle{VersSolution}] permet de se déplacer directement à la solution des exercices en cliquant sur le symbole \faKey. {\em Il est impératif de charger le package} \lstinline!hyperref!. -\item[la clé \Cle{Colonnes}]\Defaut{1}\par définit le nombre de colonnes utilisé pour afficher les corrigés. +\item[la clé \Cle{Colonnes}]\Defaut{1}\par définit le nombre de colonnes utilisées pour afficher les corrigés. \item[la clé \Cle{Epaisseur}]\Defaut{0pt}\par modifie l'épaisseur de la barre de séparation des colonnes. \end{description} \end{quote} @@ -1401,8 +1435,11 @@ Pour les maquettes \lstinline!ParcoursPerso! et \lstinline!CAN!, seule la clé \ \item[la clé \Cle{Direct}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Reponse!. \end{Description} \end{Description} -Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour les solutions, \lstinline!*.rep! pour les réponses et \lstinline!*.cdp! pour les indices. Il conviendra de les effacer à chaque changement de clé (\Cle{PasCorrige}, \Cle{Pouce}, \Cle{Direct}) ou ajout d'exercice(s). En effet, la priorité d'affichage est donnée aux fichiers \lstinline!*.sol! puis \lstinline!*.rep! et enfin \lstinline!*.cdp!. -\begin{Codes}[listing only]{0.4}{\scriptsize} +Cela engendre, si nécessaire, la création de fichiers \lstinline!*.sol! pour les solutions, \lstinline!*.rep! pour les réponses et \lstinline!*.cdp! pour les indices. Il conviendra de les effacer à chaque changement de clé (\Cle{PasCorrige}, \Cle{Pouce}, \Cle{Direct}) ou ajout d'exercice(s). En effet, la priorité d'affichage est donnée aux fichiers \lstinline!*.sol! puis \lstinline!*.rep! et enfin \lstinline!*.cdp!. +\begin{multicols}{2}%[listing only]{0.4}{\scriptsize} +\begin{Codes}[enhanced,listing only,listing options={frame=,escapechar=!},overlay unbroken and first={% + \node[text=black,fill=white,anchor=east,xshift=-10pt] at (frame.south east) {\scriptsize Suite\dots}; + }]{0.4}{} \begin{Maquette}[DS,CorrigeFin,VersSolution]{Numero=3} \begin{exercice}[TitreSolution= : Nombre décimal] $1+\dfrac2{10}=$ @@ -1428,6 +1465,8 @@ Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour le \begin{Reponse} $7x+35$ \end{Reponse} +\end{Codes} +\begin{Codes}[listing only]{0.4}{} \begin{exercice}[Direct] % On affiche uniquement l'environnement Reponse $\dfrac34-\dfrac25=$? \end{exercice} @@ -1454,6 +1493,7 @@ Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour le \end{Reponse} \end{Maquette} \end{Codes} +\end{multicols} \begin{Maquette}[DS,CorrigeFin,VersSolution]{Numero=3} % La clé CorrigeFin utilise le contenu de l'environnement Solution \begin{exercice}[TitreSolution= : Nombre décimal] @@ -1508,7 +1548,8 @@ Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour le \clearpage \section*{Historique} \begin{description} -\item[\PfMfiledate{}--v \PfMfileversion] Ajout des clés \Cle{NonUtilise} et \Cle{Profile} à l'environnement \lstinline!exercice!. Ajout des clés \Cle{Taille} et \Cle{VersSolution} à l'environnement \lstinline!Maquette!. +\item[\PfMfiledate{}--v \PfMfileversion] Meilleure gestion des titres d'exercices. Meilleure différentiation des exercices à faire et à ne pas faire lors de l'utilisation de la clé \Cle{FdR}. Gestion automatique du mode recto-verso pour le début des corrections. Amélioration de la documentation. + % 0.87 Ajout des clés \Cle{NonUtilise} et \Cle{Profile} à l'environnement \lstinline!exercice!. Ajout des clés \Cle{Taille} et \Cle{VersSolution} à l'environnement \lstinline!Maquette!. %0.86 Ajout de la clé \Cle{TitreSolution} à l'environnement \lstinline!exercice!. Amélioration de la documentation. %0.85 Ajout des clés \lstinline!Lignes! et \lstinline!Encart! à l'environnement \lstinline!exercice!. Amélioration de la documentation. %0.82 Correction de bugs. diff --git a/Master/texmf-dist/doc/latex/profmaquette/pg_0002-crop.pdf b/Master/texmf-dist/doc/latex/profmaquette/pg_0002-crop.pdf Binary files differnew file mode 100644 index 00000000000..c146dfabd61 --- /dev/null +++ b/Master/texmf-dist/doc/latex/profmaquette/pg_0002-crop.pdf diff --git a/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty b/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty index e5c5e2ca36a..ffa3eb53ecf 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/01/21}% +\def\filedate{2024/03/06}% \let\PfMfiledate\filedate% -\def\fileversion{0.87}% +\def\fileversion{0.88}% \let\PfMfileversion\fileversion% \ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]% @@ -45,7 +45,7 @@ \setKVdefault[PdT]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}% \setKVdefault[FdR]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}% \setKVdefault[Parcours]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false}% -\setKVdefault[Contrat]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false}% +\setKVdefault[Contrat]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}% \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}}% @@ -134,6 +134,26 @@ \setcounter{PfMNbLogo}{0}% \newcount\Orientation%Pour le schéma des parcours \newcounter{PfMCNNumQ}% + +\newcounter{Nbcolonnes} + +\newif\ifPfMDeuxColonnes +\newif\ifPfMRectoVerso +\makeatletter +\if@twocolumn + \PfMDeuxColonnestrue + \setcounter{Nbcolonnes}{2} +\else + \PfMDeuxColonnesfalse + \setcounter{Nbcolonnes}{4} +\fi +\if@twoside + \PfMRectoVersotrue +\else + \PfMRectoVersofalse +\fi +\makeatother + % couleurs \colorlet{PfMColCpt}{gray!50}% \colorlet{PfMColSrc}{gray!50}% @@ -141,6 +161,7 @@ \colorlet{PfMCadreDM}{gray!85}% \colorlet{PfMCadreParcours}{gray!50}% \colorlet{PfMCadreContrat}{gray!50}% +\colorlet{PfMColbackFdR}{white}% \colorlet{PfMCadreFdR}{gray!50}% \colorlet{PfMFondEncart}{white}% % Définitions de commandes @@ -151,6 +172,10 @@ \newcommand\PfMCompECA{ECA}% \newcommand\PfMCompA{A}% +\NewDocumentCommand\TournerPage{O{\faShare}}{% + \par\vfill\par\hfill{\em Tourner la page #1}\clearpage +}% + \tcbset{% consignes/.style={ empty, @@ -174,6 +199,19 @@ }% }{}% +%% Option french pour les mathématiques +% By CT +\NewDocumentCommand\TypoMathFrance{}{% + \unless\ifdefined\countletters\newcount\countletters\fi + \countletters=`A + \loop + \unless\ifnum\countletters>`Z + \begingroup\lccode`!=\countletters + \lowercase{\endgroup\DeclareMathSymbol{!}{\mathalpha}{operators}{`!}}% + \advance\countletters 1 + \repeat +}% + %% Gestion de l'affichage ou pas des item (Pour élèves PAP) par exemple % Code by egreg : https://tex.stackexchange.com/questions/627250/hide-specific-item-in-a-list \ExplSyntaxOn @@ -263,7 +301,7 @@ }% % % On rectifie sur la dernière valeur :) \xdef\PfCCPEffectifs{\PfCCPEffectifs \fpeval{#1-\fpeval{\PfCRetiensRETSommeTotale}}}% - Les choix : \PfCCPEffectifs.\\ + %Les choix : \PfCCPEffectifs.\\ %% Somme totale : \fpeval{\PfCRetiensRETSommeTotale}\\ } @@ -397,8 +435,142 @@ \fi% }% -\NewDocumentCommand\ChoixAleaMulti{mmmm}{% +\NewDocumentCommand\ChoixAleaMultiMixListe{mmmm}{% % #1 nombre de valeurs à choisir + % #2 Liste à parcourir + % #3 valeur(s) exclue(s) + % #4 Nom de la liste qui récupère les données. + \ifx\bla#3\bla% + \PackageWarning{ProfMaquette}{Il faut définir au moins une valeur à exclure.}% + \else% + \setsepchar{,}\ignoreemptyitems% + \readlist*\ListeValeursExclues{#3}% + \readlist*\ListeValeursRetenues{#2}% + \xintFor* ##1 in{\xintSeq{1}{\ListeValeursExclueslen}}\do{% + \xdef\PfMMixFoo{}% + \xintFor* ##2 in{\xintSeq{1}{\ListeValeursRetenueslen}}\do{% + \xintifboolexpr{\ListeValeursRetenues[##2]==\ListeValeursExclues[##1]}{}{% + \xdef\PfMMixFoo{\PfMMixFoo,\ListeValeursRetenues[##2]}% + }% + }% + \setsepchar{,}\ignoreemptyitems% + \readlist*\ListeValeursRetenues{\PfMMixFoo}% + }% + \ifnum\ListeValeursRetenueslen>1\relax% + \MelangeListe{\PfMMixFoo}{#1}% + \xdef#4{\faa}% + \else% + \xdef#4{\PfMMixFoo}% + \fi% + \fi% +}% + +\NewDocumentCommand\ChoixAleaListe{ommmm}{% + % Il n'y a pas de répétitions des éléments. + % #1 précision des décimaux + % #2 nombre d'éléments + % #3 valeur entière minimale + % #4 valeur entière maximale + % #5 nom de la liste récupérant les nombres choisis. + % 1ere valeur + \IfNoValueTF{#1}{\xdef\ListeNombresAlea{\fpeval{randint(#3,#4)}}}{\xdef\ListeNombresAlea{\fpeval{round(randint(#3,#4-1)+rand(),#1)}}}% + \setsepchar{,}% + \readlist*\ListeARenvoyer{\ListeNombresAlea}% + \whiledo{\ListeARenvoyerlen<#2}{% + \IfNoValueTF{#1}{\xdef\SuivantNombreAlea{\fpeval{randint(#3,#4)}}}{\xdef\SuivantNombreAlea{\fpeval{round(randint(#3,#4-1)+rand(),#1)}}}% + \def\Unique{0}% + \xintFor* ##1 in{\xintSeq{1}{\ListeARenvoyerlen}}\do{% + \xintifboolexpr{\fpeval{\SuivantNombreAlea}==\fpeval{\ListeARenvoyer[##1]}}{% + \def\Unique{1}% + \xintBreakFor% + }{}% + }% + \ifnum\fpeval{\Unique}=0\relax% + \xdef\ListeNombresAlea{\ListeNombresAlea,\SuivantNombreAlea}% + \readlist*\ListeARenvoyer{\ListeNombresAlea}% + \fi% + }% + \xdef#5{\ListeNombresAlea}% +}% + +\NewDocumentCommand\ChoixAleaListeold{mmmm}{% + % Il n'y a pas de répétitions des éléments. + % #1 nombre d'éléments + % #2 valeur entière minimale + % #3 valeur entière maximale + % #4 nom de la liste récupérant les nombres choisis. + % 1ere valeur + \xdef\ListeNombresAlea{\fpeval{randint(#2,#3)}} + \setsepchar{,}\ignoreemptyitems + \readlist*\ListeARenvoyer{\ListeNombresAlea}% + \whiledo{\ListeARenvoyerlen<#1}{% + \xdef\SuivantNombreAlea{\fpeval{randint(#2,#3)}}% + \def\Unique{0}% + \xintFor* ##1 in{\xintSeq{1}{\ListeARenvoyerlen}}\do{% + \xintifboolexpr{\fpeval{\SuivantNombreAlea}==\fpeval{\ListeARenvoyer[##1]}}{% + \def\Unique{1}% + \xintBreakFor% + }{}% + }% + \ifnum\fpeval{\Unique}=0\relax% + \xdef\ListeNombresAlea{\ListeNombresAlea,\SuivantNombreAlea}% + \readlist*\ListeARenvoyer{\ListeNombresAlea}% + \fi% + }% + \xdef#4{\ListeNombresAlea}% +} + +\NewDocumentCommand\ChoixAleaListeMix{mmmmm}{% + % ideé by reddit : I need a randomly ordered list... + % Il n'y a pas de répétitions des éléments. + % #1 nombre d'éléments + % #2 valeur entière minimale + % #3 valeur entière maximale + % #4 Liste des valeurs à exclure + % #5 nom de la liste récupérant les nombres choisis. + \xdef\Toto{#4}% + \setsepchar{,}\ignoreemptyitems% + \readlist*\ListeValeursExclues{\Toto}% + % 1ere valeur + \xdef\PfMNbCoups{0}% + \whiledo{\fpeval{\PfMNbCoups}<\ListeValeursExclueslen}{% + \xdef\ListeNombresAlea{\fpeval{randint(#2,#3)}}% + \xintFor* ##1 in {\xintSeq{1}{\ListeValeursExclueslen}}\do{% + \xintifboolexpr{\fpeval{\ListeNombresAlea}==\fpeval{\ListeValeursExclues[##1]}}{% + \xdef\PfMNbCoups{0}% + \xintBreakFor% + }{\xdef\PfMNbCoups{\fpeval{\PfMNbCoups+1}}}% + }% + }% + \setsepchar{,}\ignoreemptyitems% + \readlist*\ListeARenvoyer{\ListeNombresAlea}% + \whiledo{\ListeARenvoyerlen<#1}{% + \xdef\SuivantNombreAlea{\fpeval{randint(#2,#3)}}% + \def\Unique{0}% + \xintFor* ##1 in {\xintSeq{1}{\ListeValeursExclueslen}}\do{ + \xintifboolexpr{\fpeval{\SuivantNombreAlea}==\fpeval{\ListeValeursExclues[##1]}}{% + \def\Unique{1}% + \xintBreakFor% + }{}% + }% + \ifnum\fpeval{\Unique}=0\relax% + \xintFor* ##1 in{\xintSeq{1}{\ListeARenvoyerlen}}\do{% + \xintifboolexpr{\fpeval{\SuivantNombreAlea}==\fpeval{\ListeARenvoyer[##1]}}{% + \def\Unique{1}% + \xintBreakFor% + }{}% + }% + \fi% + \ifnum\fpeval{\Unique}=0\relax% + \xdef\ListeNombresAlea{\ListeNombresAlea,\SuivantNombreAlea}% + \readlist*\ListeARenvoyer{\ListeNombresAlea}% + \fi% + }% + \xdef#5{\ListeNombresAlea}% +} + +\NewDocumentCommand\ChoixAleaMulti{mmmm}{% + % #1 nombre de valeurs à choisir qui peut être supérieur au nombre de valeurs entières disponibles % #2 valeur minimale % #3 valeur maximale % #4 Nom de la liste qui récupère les données. @@ -409,6 +581,32 @@ \xdef#4{\PfMMixFoo}% }% +\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\MelangeNomFonction{mm}{% % #1 Nombre d'éléments à conserver % #2 Nom de la commande qui conserve @@ -471,32 +669,6 @@ \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 @@ -603,7 +775,7 @@ \end{enumerate} }{}% - \NewDocumentEnvironment{Enumelangesol}{b}{% +\NewDocumentEnvironment{Enumelangesol}{b}{% \setcounter{Melquestions}{0}% \setsepchar{\item}% \readlist*\ListeTest{#1}% @@ -840,6 +1012,8 @@ }% }% +\def\PfMTexteDuCorrige{Corrigé de l'exercice} + \NewDocumentCommand\PfMAffichageCorrige{}{% \ifboolKV[Boulot]{CAN}{%Toto \xintFor* ##1 in{\xintSeq{1}{\PfMCANTotalExo}}\do{% @@ -853,7 +1027,7 @@ \refstepcounter{PfMExoSol}%{##1}% \label{pagesol-\thePfMMaquette-\thePfMExoSol} \setcounter{PfMAlea}{0}% - \IfFileExists{\jobname-Ex##1.sol}{\PfMAffichageHideItemSolution\textbf{Corrigé de l'exercice\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.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}{}% }% }% @@ -969,7 +1143,12 @@ \makeatother %%%%%%%% FIN BAREME %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Commandes pour les affichages optionnels dans les cadre +%%% Commandes pour les affichages optionnels dans les cadres +\NewDocumentCommand{\PfMAffichageLogos}{}{% + \ifboolKV[ClesExercices]{Calculatrice}{}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\cancel{\faCalculator}};\stepcounter{PfMNbLogo}}% + \ifboolKV[ClesExercices]{Oral}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\faBullhorn};\stepcounter{PfMNbLogo}}{} + }% +% \NewDocumentCommand{\PfMAffichageCompetencesTravaillees}{}{% \ifboolKV[ClesExercices]{AffichageCompetence}{% \node[% @@ -981,7 +1160,8 @@ at (frame.north east) {\itshape\scriptsize\sffamily Compétence(s) dominante(s) : \useKV[ClesExercices]{Competence}}; }{}% -} + }% +% \NewDocumentCommand{\PfMLienVersSolution}{}{% \ifboolKV[Boulot]{VersSolution}{% \ifboolKV[ClesExercices]{PasCorrige}{}{% @@ -1083,6 +1263,11 @@ \setcounter{PfMAlea}{0}% \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[ClesExercices]{NonUtilise}{% + % Mettre la correction hors-jeu + \setKV[ClesExercices]{PasCorrige}% + \PfMChoixCorrection% + }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% @@ -1106,15 +1291,12 @@ #3 \end{tcolorbox}% \PfMApresLesExercices% + } }{}% %%Contrat %\makeatletter - -%\makeatother - -%\makeatletter \NewDocumentCommand\AfficheContrat{o}{% \useKVdefault[SchemaContrat]% \setKV[SchemaContrat]{#1}% @@ -1237,6 +1419,11 @@ \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1}% \useKVdefault[ClesExercices]% + \ifboolKV[ClesExercices]{NonUtilise}{% + % Mettre la correction hors-jeu + \setKV[ClesExercices]{PasCorrige}% + \PfMChoixCorrection% + }{% \setKV[ClesExercices]{#2}% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% @@ -1267,6 +1454,7 @@ #3 \end{tcolorbox} \PfMApresLesExercices% + }% }{}% %%% Contrat %%% @@ -1290,6 +1478,11 @@ } \NewDocumentCommand\TikzContratCor{m}{% + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \clearpage \setKV[Contrat]{#1}% \begin{tcolorbox}[usercontratcor]% @@ -1313,8 +1506,7 @@ xshift=10pt, ] at (frame.north west){\bfseries\sffamily \useKV[Contrat]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}}; %% - \ifboolKV[ClesExercices]{Calculatrice}{}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\cancel{\faCalculator}};\stepcounter{PfMNbLogo}} - \ifboolKV[ClesExercices]{Oral}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\faBullhorn};\stepcounter{PfMNbLogo}}{} + \PfMAffichageLogos% %% \PfMAffichageCompetencesTravaillees% %% @@ -1327,8 +1519,6 @@ %% Fin Contrat %%% %%FdR - -%\makeatletter \NewDocumentCommand\AfficheFdR{o}{% \useKVdefault[SchemaFdR]% \setKV[SchemaFdR]{#1}% @@ -1351,7 +1541,6 @@ \BuildRouteTikz{\FdRTotalExo}{\PfMListeExerciceFdR}{\PfMListeExerciceFdRStop}% }% }% -%\makeatother \NewDocumentCommand\BuildRouteTikz{mmm}{% \setsepchar{,}\ignoreemptyitems% @@ -1577,6 +1766,11 @@ \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}% }{}% @@ -1588,6 +1782,7 @@ \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-FdRTotalExo}}% % Creation des parcours \ifboolKV[ClesExercices]{Routes}{% + \colorlet{PfMCadreFdR}{black} % Remise à zéro de conteneurs des parcours \setsepchar{,}% % \ifboolKV[ClesExercices]{Stop}{\xdef\PfMFooListeFdR{\useKV[ClesExercices]{Route},0}}{ @@ -1597,7 +1792,7 @@ \foreachitem\compteur\in\ListeFdR{% \RemplisFdR{\ListeFdR[\compteurcnt]}% }% - }{} + }{\colorlet{PfMCadreFdR}{gray!15}} \ifboolKV[ClesExercices]{Stops}{% \setsepchar{,}% % \ifboolKV[ClesExercices]{Stop}{\xdef\PfMFooListeFdR{\useKV[ClesExercices]{Route},0}}{ @@ -1618,13 +1813,12 @@ #3 \end{tcolorbox} \PfMApresLesExercices% + }% }{}% -%\makeatother - %CAN \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*\ListeNoms{Aude/Elle/d'Aude/qu'Aude/elle,Bernard/Il/de Bernard/que Bernard/il,Céline/Elle/de Céline/que Céline/elle,Daniel/Il/de Daniel/que Daniel/il,\'Elise/Elle/d'\'Elise/qu'\'Elise/elle,Fabien/Il/de Fabien/que Fabien/il,Gérard/Il/de Gérard/que Gérard/il,Hélène/Elle/d'Hélène/qu'Hélène/elle,Ilies/Il/d'Ilies/qu'Ilies/il,Jasmine/Elle/de Jasmine/que Jasmine/elle,Kylian/Il/de Kylian/que Kylian/il,Laurent/Il/de Laurent/que Laurent/il,Mathilde/Elle/de Mathilde/que Mathilde/elle,Nina/Elle/de Nina/que Nina/elle,Octave/Il/d'Octave/qu'Octave/il,Philippe/Il/de Philippe/que Philippe/il,Joachim/Il/de Joachim/que Joachim/il,Thérèse/Elle/de Thérèse/que Thérèse/elle,Nawel/Elle/de Nawel/que Nawel/elle,Alexandre/Il/d'Alexandre/qu'Alexandre/il,Maxence/Il/de Maxence/que Maxence/il,Sophie/Elle/de Sophie/que Sophie/elle,Christophe/Il/de Christophe/que Christophe/il,Myriam/Elle/de Myriam/que Myriam/elle,Nathalie/Elle/de Nathalie/que Nathalie/elle,Sébastien/Il/de Sébastion/que Sébastien/il}% \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{,}% @@ -1706,18 +1900,22 @@ \end{center} \clearpage% }% -\makeatother +%\makeatother -\makeatletter +%\makeatletter \NewDocumentCommand\TikzCANCor{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[CAN]{#1}% \begin{tcolorbox}[usercancor]% \begin{center} \Large\sffamily Course aux nombres (Correction) \end{center} \hfill\useKV[CAN]{Niveau}% - %\par{\tiny\useKV[FdR]{Code}}\hfill{\scriptsize\useKV[FdR]{Date}}% + %\par{\tiny\useKV[CAN]{Code}}\hfill{\scriptsize\useKV[CAN]{Date}}% \end{tcolorbox}% } %%% FdR %%% @@ -1741,7 +1939,11 @@ } \NewDocumentCommand\TikzFdRCor{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[FdR]{#1}% \begin{tcolorbox}[userfdrcor]% \Large\sffamily \useKV[FdR]{Theme} (Correction) \hfill\useKV[FdR]{Niveau} \useKV[FdR]{Classe} @@ -1754,7 +1956,7 @@ before skip=1em, enhanced, breakable, - colback=white, + colback=PfMColbackFdR, colframe=PfMCadreFdR, overlay unbroken and first={% \node[% @@ -1764,8 +1966,7 @@ xshift=10pt, ] at (frame.north west){\bfseries\sffamily \useKV[FdR]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}}; %% - \ifboolKV[ClesExercices]{Calculatrice}{}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\cancel{\faCalculator}};\stepcounter{PfMNbLogo}} - \ifboolKV[ClesExercices]{Oral}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\faBullhorn};\stepcounter{PfMNbLogo}}{} + \PfMAffichageLogos %% \PfMAffichageCompetencesTravaillees% %% @@ -1893,6 +2094,11 @@ \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}% }{}% @@ -1922,6 +2128,7 @@ #3 \end{tcolorbox} \PfMApresLesExercices% + } }{}% %%%%%%%%%%%%%%%%%%%%%%% @@ -2040,9 +2247,15 @@ \setcounter{PfMAlea}{0}% \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}{}% \refstepcounter{PfMSection}% \PfMChoixCorrection% \refstepcounter{PfMExo}% @@ -2063,6 +2276,7 @@ #3 \end{tcolorbox}% \PfMApresLesExercices% + }% }{}% \NewDocumentEnvironment{ExerciceRecapBrevet}{so+b}{% @@ -2186,8 +2400,7 @@ ] at (frame.north west){\bfseries\sffamily \useKV[PdT]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}}; } %% - \ifboolKV[ClesExercices]{Calculatrice}{}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\cancel{\faCalculator}};\stepcounter{PfMNbLogo}} - \ifboolKV[ClesExercices]{Oral}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\faBullhorn};\stepcounter{PfMNbLogo}}{}% + \PfMAffichageLogos% % \PfMAffichageCompetencesTravaillees% % @@ -2218,7 +2431,11 @@ } \NewDocumentCommand\TikzPdTCor{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[PdT]{#1}% \begin{tcolorbox}[userpdtcor]% \Large\sffamily \useKV[PdT]{Theme} (Correction) \hfill\useKV[PdT]{Niveau} \useKV[PdT]{Classe} @@ -2483,8 +2700,12 @@ }% \NewDocumentCommand\TikzDMCor{m}{% - \clearpage - \setKV[DM]{#1} + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% + \setKV[DM]{#1}% \begin{tcolorbox}[colback=white,height=\PfMHauteurAppreciation,title=APPR\'ECIATION,fonttitle=\color{black}\bfseries\sffamily,colbacktitle=white,enhanced,% overlay unbroken and first={% \node[% @@ -2572,7 +2793,11 @@ }% \NewDocumentCommand\TikzFicheCor{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[Fiche]{#1}% \begin{tcolorbox}[userfichecor]% \Large\sffamily \useKV[Fiche]{Theme} (Correction) \hfill\useKV[Fiche]{Niveau} \useKV[Fiche]{Classe} @@ -2581,7 +2806,11 @@ } \NewDocumentCommand\TikzFicheCorRep{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[Fiche]{#1}% \begin{tcolorbox}[userfichecor]% \Large\sffamily \useKV[Fiche]{Theme} (Réponses) \hfill\useKV[Fiche]{Niveau} \useKV[Fiche]{Classe} @@ -2590,7 +2819,11 @@ } \NewDocumentCommand\TikzFicheCorInd{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[Fiche]{#1}% \begin{tcolorbox}[userfichecor]% \Large\sffamily \useKV[Fiche]{Theme} (Indices) \hfill\useKV[Fiche]{Niveau} \useKV[Fiche]{Classe} @@ -2612,10 +2845,9 @@ fill=ColExoFiche, anchor=west, xshift=\kvtcb@leftlower, - ] at (frame.north west){\bfseries\sffamily\useKV[Fiche]{NomExercice}\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{\useKV[ClesExercices]{Titre}}{}}; + ] at (frame.north west){\bfseries\sffamily\useKV[Fiche]{NomExercice}\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{\ifboolKV[ClesExercices]{Numerote}{~:~}{\xdef\PfMTitiLgNE{\useKV[Fiche]{NomExercice}}\IfStrEq{\PfMTitiLgNE}{}{}{~:~}}\useKV[ClesExercices]{Titre}}{}}; %% - \ifboolKV[ClesExercices]{Calculatrice}{}{\node[fill=ColExoFiche,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\cancel{\faCalculator}};\stepcounter{PfMNbLogo}} - \ifboolKV[ClesExercices]{Oral}{\node[fill=ColExoFiche,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\faBullhorn};\stepcounter{PfMNbLogo}}{} + \PfMAffichageLogos% % \PfMAffichageCompetencesTravaillees% % @@ -2647,7 +2879,11 @@ } \NewDocumentCommand\TikzParcoursCor{m}{% - \clearpage + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[Parcours]{#1}% \begin{tcolorbox}[userparcourscor]% \Large\sffamily \useKV[Parcours]{Theme} (Correction) \hfill\useKV[Parcours]{Niveau} \useKV[Parcours]{Classe} @@ -2670,8 +2906,7 @@ xshift=10pt, ] at (frame.north west){\bfseries\sffamily \useKV[Parcours]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}}; %% - \ifboolKV[ClesExercices]{Calculatrice}{}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\cancel{\faCalculator}};\stepcounter{PfMNbLogo}} - \ifboolKV[ClesExercices]{Oral}{\node[fill=white,anchor=west,xshift=(\thePfMNbLogo*2.5+(\thePfMNbLogo-1)*20)*1pt] at (A.east) {\faBullhorn};\stepcounter{PfMNbLogo}}{} + \PfMAffichageLogos% %% \PfMAffichageCompetencesTravaillees% %% @@ -2709,8 +2944,12 @@ }% \newcommand\TikzDSCor[1]{% - \clearpage - \setKV[DS]{#1} + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% + \setKV[DS]{#1}% \begin{tcolorbox}[userdscor]% \sffamily Devoir surveillé \useKV[DS]{Numero} (Sujet \useKV[DS]{Sujet})\hfill\useKV[DS]{Niveau} \useKV[DS]{Classe}% \par Correction% @@ -2802,7 +3041,11 @@ }% \newcommand\TikzIECor[1]{% - \clearpage% + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% \setKV[IE]{#1}% \begin{tcolorbox}[useriecor]% \sffamily \useKV[IE]{Nom} \useKV[IE]{Numero} : \useKV[IE]{Theme} \ifboolKV[IE]{Sujets}{\scriptsize(Sujet \useKV[IE]{Sujet})}{}\hfill Correction% @@ -2883,7 +3126,6 @@ % Environnement englobant le tout. %\makeatletter \NewDocumentEnvironment{Maquette}{om}{% - % PfMFontSize vaut \PfMFontSize % on remet à zéro les compteurs de solutions : inutile ? \setcounter{RetiensSol}{0}% \setcounter{RetiensRep}{0}% @@ -2943,14 +3185,14 @@ \setKV[FdR]{#2}\TikzFdR% \let\exercice\exerciceFdR\let\endexercice\endexerciceFdR% \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \useKVdefault[Boulot]% + \AddToHook{env/Maquette/after}[Correction]{% + \useKVdefault[Boulot]% \setKV[Boulot]{#1}% \PfMBasculeDys% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}% \TikzFdRCor{#2}% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% - \PfMAffichageCorrige% + \PfMAffichageCorrige% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% }% }{}% @@ -2959,14 +3201,14 @@ \setKV[Contrat]{#2}\TikzContrat% \let\exercice\exerciceContrat\let\endexercice\endexerciceContrat% \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \useKVdefault[Boulot]% + \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% + \PfMAffichageCorrige% \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% }% }{}% @@ -2975,7 +3217,6 @@ \setKV[Cours]{#2}% \TikzCours% \let\exercice\exerciceFiche\let\endexercice\endexerciceFiche% - % \let\Exercice\exerciceFiche\let\endExercice\endexerciceFiche% \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \useKVdefault[Boulot]% @@ -2993,7 +3234,6 @@ \setKV[RecapBrevet]{#2}% \TikzRecapBrevet% \let\exercice\ExerciceRecapBrevet\let\endexercice\endExerciceRecapBrevet% - %\let\Exercice\ExerciceRecapBrevet\let\endExercice\endExerciceRecapBrevet% \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \useKVdefault[Boulot]% @@ -3011,7 +3251,6 @@ \setKV[ParcoursPerso]{#2}% \DTLloaddb[noheader,keys={PrenomEleve,NomEleve,ListeExo}]{dataperso}{\useKV[ParcoursPerso]{Fichier}.csv}% \let\exercice\exerciceParcoursPerso\let\endexercice\endexerciceParcoursPerso% - %\let\Exercice\exerciceParcoursPerso\let\endExercice\endexerciceParcoursPerso% \ifboolKV[Boulot]{CorrigeFin}{\setcounter{PfMCorrigeParcoursPerso}{1}}{}% \setcounter{PfMExo}{0}% \AtEndDocument{% @@ -3021,7 +3260,6 @@ \ifboolKV[Boulot]{Parcours}{% \setKV[Parcours]{#2}\TikzParcours% \let\exercice\exerciceParcours\let\endexercice\endexerciceParcours% - %\let\Exercice\exerciceParcours\let\endExercice\endexerciceParcours% \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \useKVdefault[Boulot]% @@ -3038,7 +3276,6 @@ \ifboolKV[Boulot]{PdT}{% \setKV[PdT]{#2}\TikzPdT% \let\exercice\exercicePdT\let\endexercice\endexercicePdT% - %\let\Exercice\exercicePdT\let\endExercice\endexercicePdT% \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \useKVdefault[Boulot]% @@ -3055,7 +3292,6 @@ \ifboolKV[Boulot]{DM}{% \setKV[DM]{#2}\TikzDM{}% \let\exercice\exerciceDM\let\endexercice\endexerciceDM% - %\let\Exercice\exerciceDM\let\endExercice\endexerciceDM% \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \useKVdefault[Boulot]% @@ -3073,7 +3309,6 @@ \setKV[Fiche]{#2}% \TikzFiche% \let\exercice\exerciceFiche\let\endexercice\endexerciceFiche% - %\let\Exercice\exerciceFiche\let\endExercice\endexerciceFiche% \ifboolKV[Boulot]{CorrigeFin}{% \ifboolKV[Boulot]{CorrigeAll}{% \AddToHook{env/Maquette/after}[Correction]{% @@ -3138,7 +3373,6 @@ \ifboolKV[Boulot]{IE}{% \setKV[IE]{#2}\TikzIE% \let\exercice\exerciceDS\let\endexercice\endexerciceDS%On garde exerciceDS - % \let\Exercice\exerciceDS\let\endExercice\endexerciceDS%On garde exerciceDS \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \useKVdefault[Boulot]% @@ -3180,7 +3414,6 @@ }% }% }{}% -%\makeatother %D'après JCC % Package pour gérer les nombres pseudo-aléatoires @@ -3407,6 +3640,9 @@ \randomextract{\DeChoisi}{\NbDeChoisi}% } +\def\PfMListeNombresPremiers{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97} + + \newcommand\initpremiers{% \definelist{\listpremiers}{13,17,19,23,29,31,37,41,43,47}% } @@ -3660,6 +3896,8 @@ } % On met Christ7 à la fin :) + \newcommand{\vecteur}[1]{\overrightarrow{\strut #1}} + \newlength{\ltxt} \newcommand\compo[4]{% @@ -3808,4 +4046,83 @@ #2 \end{minipage} \BaremeEspaceMarge{-82pt} -}
\ No newline at end of file +} + +\AddToHook{env/multicols/begin}{\setcounter{Nbcolonnes}{2}}% +\AddToHook{env/multicols/after}{\setcounter{Nbcolonnes}{4}}% +\NewDocumentEnvironment{Dispo}{sm+b}{% + \ifPfMDeuxColonnes + \IfBooleanTF{#1}{% + #3 + \begin{center} + #2 + \end{center} + }{% + \begin{center} + #2 + \end{center} + #3 + }% + \else% + \IfBooleanTF{#1}{% + \dispog{1}{#2}{#3} + }{% + \dispo{1}{#2}{#3} + }% + \fi% +}% + +\NewDocumentEnvironment{CALign}{O{&=\dots&}O{&=\dots}mb}{% + % #1 séparateur généraliste + % #2 séparateur dernière colonne + % #3 nombre de colonnes souhaitées + % #4 environnement + \xdef\Foo{#4}% + \setsepchar{§}\ignoreemptyitems% + \readlist*\ListeTest{\Foo}% + \reademptyitems% + \quotient{\ListeTestlen}{#3}% + \modulo{\ListeTestlen}{#3}% + \begin{align*} + \ifnum\intquotient>0\relax + \xintFor* ##9 in{\xintSeq{0}{\fpeval{\the\intquotient-1}}}\do{% + \xintFor* ##8 in{\xintSeq{1}{#3}}\do{ + \ListeTest[\fpeval{##9*#3+##8}]\xintifForLast{#2}{#1} + }\ifnum##9<\fpeval{\the\intquotient-1}\relax\\\fi + } + \fi + \ifnum\remainder>0\relax + \ifnum\intquotient>0\relax\\\fi + \xintFor* ##8 in{\xintSeq{1}{\the\remainder}}\do{ + \ListeTest[\fpeval{\the\intquotient*#3+##8}]\xintifForLast{#2}{#1} + } + \fi + \end{align*} +}{}% + +\NewDocumentEnvironment{CALignAv}{O{A&=}mb}{% + % #1 séparateur généraliste + % #2 nombre de colonnes souhaitées + % #3 environnement + \xdef\Foo{#3}% + \setsepchar{§}\ignoreemptyitems% + \readlist*\ListeTest{\Foo}% + \reademptyitems% + \quotient{\ListeTestlen}{#2}% + \modulo{\ListeTestlen}{#2}% + \begin{align*} + \ifnum\intquotient>0\relax + \xintFor* ##9 in{\xintSeq{0}{\fpeval{\the\intquotient-1}}}\do{% + \xintFor* ##8 in{\xintSeq{1}{#2}}\do{% + #1\ListeTest[\fpeval{##9*#2+##8}]\ifnum##8<#2\relax\uppercase{&}\fi + }\ifnum##9<\fpeval{\the\intquotient-1}\relax{}\\\fi + }% + \fi% + \ifnum\remainder>0\relax% + \ifnum\intquotient>0\relax\\\fi + \xintFor* ##8 in{\xintSeq{1}{\the\remainder}}\do{% + #1\ListeTest[\fpeval{\the\intquotient*#2+##8}]\ifnum##8<\remainder\relax\uppercase{&}\fi + }% + \fi% + \end{align*} +}{}%
\ No newline at end of file |