texlive[68803] Master/texmf-dist: profmaquette (10nov23)
commits+karl at tug.org
commits+karl at tug.org
Fri Nov 10 22:40:05 CET 2023
Revision: 68803
https://tug.org/svn/texlive?view=revision&revision=68803
Author: karl
Date: 2023-11-10 22:40:05 +0100 (Fri, 10 Nov 2023)
Log Message:
-----------
profmaquette (10nov23)
Modified Paths:
--------------
trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.pdf
trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.tex
Added: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf 2023-11-10 21:39:44 UTC (rev 68802)
+++ trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf 2023-11-10 21:40:05 UTC (rev 68803)
Property changes on: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex 2023-11-10 21:40:05 UTC (rev 68803)
@@ -0,0 +1,1330 @@
+% with lualatex
+\documentclass[12pt,french]{article}
+\usepackage[nonamssymb]{ProfCollege}
+\usepackage{ProfMaquette}
+\input{Christ7}
+\usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
+\usepackage{fourier-otf}
+
+\usepackage[a4paper,margin=1.5cm,nohead,includefoot]{geometry}
+\setlength{\parindent}{0pt}
+\pagestyle{empty}
+\usepackage{mflogo}
+\usepackage{babel}
+
+\def\MPclipOne#1#2#3{
+ \begin{mplibcode}
+ vardef paired (expr d) =
+ if pair d : d else : (d,d) fi
+ enddef ;
+
+ primarydef p xyscaled q =
+ begingroup ; save qq ; pair qq ; qq = paired(q) ;
+ ( p
+ if xpart qq<>0 : xscaled (xpart qq) fi
+ if ypart qq<>0 : yscaled (ypart qq) fi )
+ endgroup
+ enddef ;
+
+ path fullsquare;
+ fullsquare := unitsquare shifted - center unitsquare ;
+
+ color myyellow;
+ myyellow = (242/255,226/255,149/255);
+
+ path p; p := fullsquare xyscaled (#1,#2);% squeezed #3;
+
+ %fill (point(0) of p)--(point(1) of p)--(point(2) of p)--(point(3) of p)--cycle;
+ pair pp;
+ pp=0.5[point(0) of p,point(2) of p];
+ height=2pt;
+ width=2pt;
+ p:=(point(0) of p)--(point(1) of p)--(point(2) of p);
+
+ p:=(1/3[point(0) of p,point(1) of p])--(point(1) of p)--(2/3[point(1) of p,point(2) of p]);% withpen pencircle scaled 2bp;
+ z1=point(0) of p;
+ x2=x12=xpart(point(length p/6) of p);
+ x3=x11=xpart(point(2*length p/6) of p);
+ x4=xpart(point(3*length p/6) of p)+width;
+ x5=x4-(width/3);
+ x6=x4-(2*width/3);
+ x7=xpart(point(length p) of p);
+ x8=x7-(width/3);
+ x9=x7-(2*width/3);
+ x10=x7-width;
+ y2=ypart(point(length p/6) of p)-(height/3);
+ y3=ypart(point(2*length p/6) of p)-(2*height/3);
+ y4=ypart(point(3*length p/6) of p)-height;
+ y12=ypart(point(length p/6) of p)+(height/3);
+ y11=ypart(point(2*length p/6) of p)+(2*height/3);
+ y10=ypart(point(3*length p/6) of p)+height;
+ y5=y9=ypart(point(4*length p/6) of p);
+ y6=y8=ypart(point(5*length p/6) of p);
+ y7=ypart(point(length p) of p);
+ fill z1--z2--cycle--z3--z4--z5--z6--z7--z8--z9--z10--z11--z12--cycle;% withcolor 0.85myyellow;
+ fill (z1--z2--cycle--z3--z4--z5--z6--z7--z8--z9--z10--z11--z12--cycle) rotatedabout(pp,180);% withcolor 0.85myyellow;
+ \end{mplibcode}
+}
+
+\newsavebox{\tacochapterbox}
+
+\newcommand{\Tacoo}[1]{%
+ \begin{lrbox}{\tacochapterbox}
+ #1%
+ \end{lrbox}
+ \ooalign{%
+ \MPclipOne{\mpdim{\wd\tacochapterbox+1pc}}% width
+ {\mpdim{\ht\tacochapterbox+\dp\tacochapterbox+1pc}}% height
+ {0pt}% thickness of the curve
+ \cr\kern0.5pc\raisebox{\ht\tacochapterbox\relax}{\usebox\tacochapterbox}%
+ }
+}
+
+\NewDocumentEnvironment{CadreMP}{+b}{%
+ \begin{lrbox}{\tacochapterbox}
+ \begin{minipage}{0.97\linewidth}
+ #1%
+ \end{minipage}
+ \end{lrbox}
+ \par
+ \ooalign{%
+ \MPclipOne{\mpdim{\wd\tacochapterbox+1pc}}% width
+ {\mpdim{\ht\tacochapterbox+\dp\tacochapterbox+1pc}}% height
+ {0pt}% thickness of the curve
+ \cr\kern0.5pc\raisebox{\ht\tacochapterbox\relax}{\usebox\tacochapterbox}%
+ }%
+}{}%
+
+\usepackage{pdfpages}
+\title{%
+ \begin{tabular}{c}
+ \ttfamily ProfMaquette.sty\\
+ \small Factoriser la production de documents
+ \end{tabular}
+}%
+\author{C.Poulain}
+\date{v \PfMfileversion -- \PfMfiledate}
+
+\usepackage[colorlinks=true,linkcolor=purple]{hyperref}
+
+\pagestyle{empty}
+
+\usepackage{listings}
+\lstset{
+ language = [LaTeX]TeX,
+ basicstyle = \ttfamily,%
+ breaklines = true,
+ commentstyle = \footnotesize\slshape\color{gray},
+ emphstyle=\color{purple},
+ columns=fullflexible,%
+ frame=tb,%
+ texcsstyle=*\color{black},%pour colorer la contre-oblique
+ classoffset=5,
+ texcsstyle=*\color{blue},%pour colorer la contre-oblique
+ moretexcs={brm,TikzDM,TikzDMCor,TikzDS,TikzDSCor,TikzIE,TikzIECor,TikzFiche,TikzFicheCor,TikzCours,Competences,TikzParcours,TikzParcoursCor,TikzPdT,TikzPdTCor,PfMCompNA,PfMCompECA,PfMCompA,AfficheParcours,CheminVrai,CheminFaux,TikzContrat,TikzContratCor,TikzFdR,TikzFdRCor,AfficheContrat,AfficheFdR,TikzCAN,TikzCANCor,Complement},
+ emph={Maquette,exercice,exercice,Solution,Reponse,Indice},%
+ classoffset=1,
+ keywords={DM,DS,IE,Fiche,CorrigeFin,CorrigeApres,PdT,Parcours,ParcoursPerso,Cours,FdR,Contrat,CAN},
+ keywordstyle=\color{OliveDrab},
+ classoffset=2,
+ keywords={Theme,Niveau,Classe,Date,Calculatrice,Code,Numero,Sujet,Nom,NumSujet,Fichier,Type,CoefQ,CoefR,CoefJ},
+ keywordstyle=\color{BlueViolet},%DarkMagenta},
+ classoffset=3,
+ keywords={Pouce,Direct,PasCorrige,BaremeDetaille,BaremeTotal,Source,Titre,Oral,Calculatrice,Competence,Trajet,Confiance,Route,Stop},
+ keywordstyle=\color{DarkGreen},
+% delim = **[s][\color{purple}]{$}{$},
+% moredelim = **[s][\color{purple}]{\\[}{\\]},
+% moredelim = **[is][\color{black}]{\\Z}{\\Z},
+ literate=*{[}{{\textcolor{orange}{[}}}{1}
+ {]}{{\textcolor{orange}{]}}}{1}
+ {\{}{\textcolor{amber}{\{}}{1}
+ {\}}{\textcolor{amber}{\}}}{1}
+ {\&}{\textcolor{red}{\&}}{1}
+ {\\[}{{\textcolor{purple}{\textbackslash[}}}{2}
+ {\\]}{{\textcolor{purple}{\textbackslash]}}}{2}
+ {$}{{\textcolor{purple}{\$}}}{1}%$
+ {_}{{\textcolor{purple}{\_}}}{1}%
+ {^}{{\textcolor{purple}{\^{}}}}{1}%,
+}
+
+% "Rehook" delimiters char table.
+\makeatletter
+\lst at AddToHook{SelectCharTable}{\lst at DefDelims}
+\makeatother
+
+\usepackage{textcomp}%pour les < de listings
+\usepackage{enumitem}
+\usepackage{hhline}
+\usepackage{pifont}
+
+\definecolor{mygray}{RGB}{245,245,245}%pour le background de listing
+\definecolor{drab}{rgb}{0.59, 0.44, 0.09}
+\definecolor{amber}{rgb}{1.0, 0.75, 0.0}
+\definecolor{chocolate}{rgb}{0.82, 0.41, 0.12}
+\colorlet{amber}{chocolate}
+
+\newtcblisting{Codes}[3][]{%
+ top=0mm,bottom=0mm,left=2mm,right=2mm,middle=0mm,%
+ colback=white,%
+ colframe=white!75!black,%
+ every listing line={#3},%
+ listing options={%
+ frame=,%
+ backgroundcolor=,%
+ },%
+ righthand width=#2\linewidth,%
+ #1%
+}%
+
+\usepackage{menukeys}
+\newcommand\metamk[1]{\textcolor{chocolate}{\textlangle}{\ttfamily #1}\textcolor{chocolate}{\textrangle}}
+
+\newcommand\Cle[1]{%
+ {\sffamily\textlangle #1\textrangle}%
+}%
+
+\newcommand\Defaut[1]{%
+\hfill valeur par défaut : {\sffamily #1}\\[-1em]%
+}%
+
+\usepackage{parskip}
+
+\newenvironment{Description}
+ {\list{}{\labelwidth0pt \leftmargin0pt \itemindent-\leftmargin
+ \let\makelabel\Descriptionlabel}}
+ {\endlist}
+\newcommand*\Descriptionlabel[1]{\hspace\labelsep
+ \normalfont\bfseries #1}
+
+\parindent0pt
+
+\newcommand\TIKZ{Ti\textit{k}Z}
+
+\renewcommand\TikzDM{%
+ \begin{tcolorbox}[frame hidden,colback=white,enhanced,%
+ borderline north={3pt}{0pt}{gray!85},
+ borderline north={2pt}{0.5pt}{gray!15},
+ borderline south={3pt}{0pt}{gray!85},
+ borderline south={2pt}{0.5pt}{gray!15},
+ ]%
+ \sffamily Devoir en temps libre \no\useKV[DM]{Numero}\hfill\useKV[DM]{Niveau}\ieme{} \useKV[DM]{Classe}%
+ \par{\tiny\jobname}\hfill{\scriptsize Pour le \useKV[DM]{Date}}%
+ \end{tcolorbox}%
+}
+\renewcommand\TikzDS{%
+ \begin{tcolorbox}[colback=gray!5,%
+ enhanced,%
+ overlay unbroken and first={%
+ \node[yshift=1em] at (frame.south) {\scriptsize\sffamily-- Calculatrice \ifboolKV[DS]{Calculatrice}{autorisée}{interdite} --};
+ }
+ ]%
+ \sffamily Devoir surveillé \no\useKV[DS]{Numero} (Sujet \useKV[DS]{Sujet})\hfill\useKV[DS]{Niveau}\ieme{} \useKV[DS]{Classe}
+ \par{\tiny\jobname}\hfill{\scriptsize\useKV[DS]{Date}}
+ \end{tcolorbox}%
+}
+\renewcommand\TikzIE{%
+ \begin{minipage}{0.6\linewidth}
+ \begin{tcolorbox}[colback=gray!5,
+ enhanced,%
+ overlay unbroken and first={%
+ \node[yshift=1em] at (frame.south) {\scriptsize\sffamily-- Calculatrice \ifboolKV[IE]{Calculatrice}{autorisée}{interdite} --};
+ }
+ ]%
+ \sffamily \useKV[IE]{Nom} \no\useKV[IE]{Numero} : \useKV[IE]{Theme} \ifboolKV[IE]{Sujets}{\scriptsize(Sujet \useKV[IE]{NumSujet})}{}
+ \vspace{1em}
+ \par{\tiny\jobname}\hfill{\scriptsize\useKV[IE]{Date}}
+ \end{tcolorbox}%
+ \end{minipage}\hfill\begin{minipage}{0.35\linewidth}
+ Nom : \dotfill\\[0.5em]
+ Prénom : \dotfill\\[0.5em]
+ Classe : \dotfill
+ \end{minipage}
+ \par\bigskip
+}
+
+\tcbset{%
+ userfiche/.style={%
+ colback=gray!5%
+ }%
+}%
+
+\renewcommand\TikzFiche{%
+ \begin{tcolorbox}[userfiche]%
+ \Large\sffamily \useKV[Fiche]{Theme}\hfill\useKV[Fiche]{Niveau}\ieme{} \useKV[Fiche]{Classe}
+ \par{\tiny\jobname}\hfill{\scriptsize\useKV[Fiche]{Date}}
+ \end{tcolorbox}%
+}
+
+\renewcommand\TikzParcours{%
+ \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
+ colback=gray!5]%
+ \Large\sffamily \useKV[Parcours]{Theme}\hfill\useKV[Parcours]{Niveau} \useKV[Parcours]{Classe}%
+ \par{\tiny\useKV[Parcours]{Code}}\hfill{\scriptsize\useKV[Parcours]{Date}}%
+ \end{tcolorbox}%
+}
+
+\renewcommand\TikzPdT{%
+ \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
+ colback=gray!5]%
+ \Large\sffamily \useKV[PdT]{Theme}\hfill\useKV[PdT]{Niveau} \useKV[PdT]{Classe}%
+ \par{\tiny\useKV[PdT]{Code}}\hfill{\scriptsize\useKV[PdT]{Date}}%
+ \end{tcolorbox}%
+}
+
+\renewcommand\TikzFdR{%
+ \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
+ colback=gray!5]%
+ \Large\sffamily \useKV[FdR]{Theme}\hfill\useKV[FdR]{Niveau} \useKV[FdR]{Classe}%
+ \par{\tiny\useKV[FdR]{Code}}\hfill{\scriptsize\useKV[FdR]{Date}}%
+ \end{tcolorbox}%
+}
+
+\renewcommand\TikzContrat{%
+ \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
+ colback=gray!5]%
+ \Large\sffamily \useKV[Contrat]{Theme}\hfill\useKV[Contrat]{Niveau} \useKV[Contrat]{Classe}%
+ \par{\tiny\useKV[Contrat]{Code}}\hfill{\scriptsize\useKV[Contrat]{Date}}%
+ \end{tcolorbox}%
+}
+\begin{document}
+\maketitle
+\thispagestyle{empty}
+Après la création du package \lstinline!ProfCollege!, l'idée de poursuivre la factorisation des méthodes de travail a naturellement germé. Produire des fiches, des devoirs, des évaluations\dots{} avec des méthodes différentes, peut vite apparaître fastidieux. Créé pour factoriser ce travail, cet ensemble de macro-commandes est basé, quasi exclusivement, sur les environnements \lstinline!Maquette! et \lstinline!exercice! :
+\begin{itemize}
+\item l'environnement \lstinline!Maquette! indique le type de document souhaité et ses caractéristiques;
+\item l'environnement \lstinline!exercice! adapte la présentation et les fonctions des exercices en accord avec l'environnement \lstinline!Maquette! choisi.
+\end{itemize}
+Le c\oe ur de l'utilisation du package \lstinline!ProfMaquette! est donc une gestion des briques élémentaires du travail d'enseignant, à savoir les exercices.
+\clearpage
+\section*{L'environnement \lstinline!Maquette!}
+\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{}
+\begin{Maquette}[!\metamk{TypeDocument}!,!\metamk{TypeCorrection}!]{!\metamk{Caracteristiques}!}
+
+\end{Maquette}
+\end{Codes}
+C'est lui qui indique :
+\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 et si ce travail est corrigé \metamk{TypeCorrection} (à la suite d'un exercice ou à la fin du document) ou pas;
+\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}
+ \begin{itemize}
+ \item[]La clé \Cle{Numero}\Defaut{1}
+ \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!}
+ \item[]La clé \Cle{Classe}\Defaut{\{\}}
+ \item[]La clé \Cle{Niveau}\Defaut{3}
+ \item[]La clé \Cle{Code}\footnotemark\Defaut{\{\}}
+ \end{itemize}
+\end{Description}
+\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}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\clearpage
+\subsection*{Les devoirs surveillés}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{DS}]\Defaut{false}
+ \begin{itemize}
+ \item[]La clé \Cle{Numero}\Defaut{1}
+ \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!}
+ \item[]La clé \Cle{Classe}\Defaut{}
+ \item[]La clé \Cle{Niveau}\Defaut{3}
+ \item[]La clé \Cle{Code}\Defaut{}
+ \item[]La clé \Cle{Calculatrice} autorisée ou non\Defaut{false}
+ \item[]La clé \Cle{Sujet}\Defaut{A}
+ \end{itemize}
+\end{Description}
+\end{CadreMP}
+\begin{Codes}[]{0.4}{}
+\begin{Maquette}[DS]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2020}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\clearpage
+\subsection*{Les évaluations écrites}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{IE}]\Defaut{false}
+ \begin{itemize}
+ \item[]La clé \Cle{Numero}\Defaut{1}
+ \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!}
+% \item[]La clé \Cle{Classe}\Defaut{}
+ % \item[]La clé \Cle{Niveau}\Defaut{3}
+ \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{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}%
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\clearpage
+\subsection*{Les fiches d'exercices}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{Fiche}]\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} 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}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+%\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
+% On considère un triangle $ABC$\dots
+%\end{Maquette}
+\clearpage
+\subsection*{Les parcours}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{Parcours}\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} 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}[]{0.4}{}
+\begin{Maquette}[Parcours]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\clearpage
+\subsection*{Les parcours fléchés}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{PdT}\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} 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}
+\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}[]{0.4}{}
+\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+%\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
+% 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}
+ \begin{itemize}
+ \item[]La clé \Cle{Fichier} est le nom du fichier {\ttfamily csv} à utiliser.\Defaut{}
+ \end{itemize}
+\end{Description}
+\end{CadreMP}
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[ParcoursPerso]{Fichier=Eleves}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\clearpage
+\subsection*{Les \og cours\fg\footnote{Le package \lstinline!ProfMaquette! n'est pas fait pour des documents longs. D'ailleurs, cette clé \Cle{Cours} n'a été ajouté qu'après forte insistance de ses demandeurs\dots}}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{Cours}]\Defaut{false}
+ \begin{itemize}
+ \item[]La clé \Cle{Theme} modifie le titre du \og cours\fg\Defaut{Trace écrite}
+ \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}
+\end{CadreMP}
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[Cours]{}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[Cours]{}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\clearpage
+\subsection*{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}
+\end{CadreMP}
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[Contrat]{}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[Contrat]{}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\clearpage
+\subsection*{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}
+\end{CadreMP}
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[FdR]{}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[FdR]{}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+\clearpage
+\subsection*{Course aux nombres}
+\begin{CadreMP}
+ \begin{Description}
+\item[La clé \Cle{CAN}]\Defaut{false}
+ \begin{itemize}
+ \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}
+ \end{itemize}
+\end{Description}
+\end{CadreMP}
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[CAN]{}
+ \begin{exercice}
+ On considère un triangle $ABC$\dots
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+%\begin{Maquette}[CAN]{}
+% \begin{exercice}
+% On considère un triangle $ABC$\dots
+% \end{exercice}
+%\end{Maquette}
+\clearpage
+\includepdf[nup=1x2,pages=-,landscape]{TestCAN.pdf}
+\clearpage
+Comme on peut le voir, chaque type de travail est associé à une présentation. Ces présentations sont créées par les commandes associées à des styles prédéfinies.\footnote{Qu'on peut donc redéfinir. Par exemple, c'est ce que j'ai fait dans ce document pour la commande \lstinline!\\TikzFiche! : elle ne commence plus une nouvelle page.} \lstinline!tcolorbox! :
+\begin{itemize}[label=\textbullet]
+\item \lstinline!userdm/userdmcor! pour la clé \Cle{DM};
+\item \lstinline!userds/userdscor! pour la clé \Cle{DS};%
+\item \lstinline!userie/useriecor! pour la clé \Cle{IE};%
+\item \lstinline!userfiche/userfichecor! pour la clé \Cle{Fiche};%*
+\item \lstinline!userparcours/userparcourscor! pour la clé \Cle{Parcours};%*
+\item \lstinline!userpdt/userpdtcor! pour la clé \Cle{PdT};%*
+\item \lstinline!usercours! pour la clé \Cle{Cours};
+\item \lstinline!usercontrat/usercontratcor! pour la clé \Cle{Contrat};%*
+\item et \lstinline!userfdr/userfdr! pour la clé \Cle{FdR};%*
+\end{itemize}
+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}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+%\end{Codes}
+
+En écrivant {\em avant l'appel} à l'environnement \lstinline!Maquette! :
+\begin{Codes}[listing only]{0.4}{}
+\tcbset{%
+ userfiche/.style={%
+ colframe=Orange!75,
+ colback=Orange!15%
+ }%
+}%
+\end{Codes}
+
+on obtient :
+
+\tcbset{%
+ userfiche/.style={%
+ colframe=Orange!75,
+ colback=Orange!15%
+ }%
+}%
+
+\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
+ On considère un triangle $ABC$\dots
+\end{Maquette}
+
+\tcbset{%
+ userfiche/.style={%
+ colback=gray!5%
+ }%
+}%
+
+Pour modifier {\em plus finement} les entêtes des différentes maquettes, on dispose des commandes :
+\begin{itemize}[label=\textbullet]
+\item \lstinline!\TikzDM/\TikzDMCor! pour la clé \Cle{DM};
+\item \lstinline!\TikzDS/\TikzDSCor! pour la clé \Cle{DS};%
+\item \lstinline!\TikzIE/\TikzIECor! pour la clé \Cle{IE};%
+\item \lstinline!\TikzFiche/\TikzFicheCor! pour la clé \Cle{Fiche};%*
+\item \lstinline!\TikzParcours/\TikzParcoursCor! pour la clé \Cle{Parcours};%*
+\item \lstinline!\TikzPdT/\TikzPdTCor! pour la clé \Cle{PdT};%*
+\item \lstinline!\TikzCours! pour la clé \Cle{Cours};
+\item \lstinline!\TikzContrat/\TikzContratCor! pour la clé \Cle{Contrat};%*
+\item \lstinline!\TikzFdR/\TikzFdRCor! pour la clé \Cle{FdR};%*
+\item et \lstinline!\TikzCAN/\TikzCANCor! pour la clé \Cle{CAN}.%*
+\end{itemize}
+Leurs modifications seront facilitées en copiant le code fourni par le fichier \lstinline!ProfMaquette.sty!.
+\clearpage
+On dispose également de la commande \lstinline!\Competences! permettant de construire un tableau de\dots{} compétences données par l'utilisateur; les compétences étant séparées par le symbole \lstinline!/!.
+\begin{Codes}[]{0.4}{}
+\Competences{Utiliser le compas/Utiliser l'équerre}
+\end{Codes}
+Les notations \lstinline!NA!, \lstinline!ECA! et \lstinline!A! peuvent être redéfinies par les commandes \lstinline!\PfMCompNA!, \lstinline!\PfMCompECA! et \lstinline!\PfMCompA!.
+\begin{Codes}[]{0.4}{}
+\renewcommand\PfMCompNA{\rule{0pt}{3ex}\RKangry}
+\renewcommand\PfMCompECA{\RKsad}
+\renewcommand\PfMCompA{\RKbigsmile}
+\Competences{Utiliser le compas/Utiliser l'équerre}
+\end{Codes}
+Si l'on souhaite davantage de niveaux d'évaluations (ou moins), on utilisera les codes suivants :
+\begin{Codes}[]{0.4}{}
+\Competences[4]{0/1/2/3/Utiliser le compas/Utiliser l'équerre}
+\end{Codes}
+\begin{Codes}[]{0.4}{}
+\Competences[2]{A/NA/Utiliser le compas/Utiliser l'équerre}
+\end{Codes}
+\clearpage
+\section*{L'environnement \lstinline!exercice!}
+\begin{Codes}[listing only]{0.4}{}
+\begin{exercice}
+
+\end{exercice}
+\end{Codes}
+\subsection*{Habillage des exercices}
+L'environnement \lstinline!exercice! doit {\em impérativement} être inclus dans un environnement \lstinline!Maquette! car le choix de document influence la présentation des exercices.
+\begin{Codes}[]{0.5}{}
+\begin{Maquette}[IE]{Theme=Les fonctions,Niveau=3,Classe=Gide}
+ \begin{exercice}%
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{Codes}[listing side text]{0.6}{}
+\begin{Maquette}[DM]{Numero=50,Niveau=3,Classe=Gide}
+ \begin{exercice}
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{Codes}[listing side text]{0.6}{}
+\begin{Maquette}[DS]{Numero=50,Niveau=3,Classe=Gide}
+ \begin{exercice}
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{Codes}[]{0.4}{}
+\begin{Maquette}[Fiche]{Theme=Les fonctions,Niveau=3,Classe=Gide}
+ \begin{exercice}
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\subsection*{La personnalisation}
+On peut, dans un premier temps, utiliser les clés suivantes :
+\begin{Description}
+\item[La clé \Cle{BackGround}] modifie les arrière-plans des exercices.\Defaut{white}
+\item[La clé \Cle{Cadre}] modifie la couleur du cadre des exercices.\Defaut{gray!50}
+\end{Description}
+\begin{Codes}[]{0.4}{}
+\begin{Maquette}[Fiche]{Theme=Les fonctions,Niveau=3,Classe=Gide}
+ \begin{exercice}[Background=Orange!15,Cadre=Orange!50]
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\subsection*{Le barème des exercices}
+On remarque que certains exercices sont associés à un total de point. C'est une des clés disponibles pour l'environnement \lstinline!exercice!. Voici celles pour les barèmes :
+\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 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}.
+ La commande \lstinline!\brm{}! permet la construction du barème (détaillé et total).\Defaut{false}
+\item[La clé \Cle{MotPoint}] donnée sous forme de texte puisque le pluriel est géré.\Defaut{point}
+ \begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[DS]{Numero=3,Classe=Euler,Niveau=4}
+ \begin{exercice} % ici le barème est total, pas de détail : comportement par défaut
+ On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
+ \begin{enumerate}
+ \item\brm{1} Développer l'expression $A$.
+ \item\brm{1.5} Développer l'expression $B$.
+ \end{enumerate}
+ \end{exercice}
+ \begin{exercice}[BaremeDetaille] %ici le barème est total ET détaillé
+ On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
+ \begin{enumerate}
+ \item\brm{1} Développer l'expression $A$.
+ \item\brm{1.5} Développer l'expression $B$.
+ \end{enumerate}
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[DS]{Numero=3,Classe=Euler,Niveau=4}
+ \begin{exercice} % ici le barème est total, pas de détail : comportement par défaut
+ On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
+ \begin{enumerate}
+ \item\brm{1} Développer l'expression $A$.
+ \item\brm{1.5} Développer l'expression $B$.
+ \end{enumerate}
+ \end{exercice}
+ \begin{exercice}[BaremeDetaille] %ici le barème est total ET détaillé
+ On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
+ \begin{enumerate}
+ \item\brm{1} Développer l'expression $A$.
+ \item\brm{1.5} Développer l'expression $B$.
+ \end{enumerate}
+ \end{exercice}
+\end{Maquette}
+\end{Description}
+\clearpage
+\subsection*{Source, compétence et titre}
+Si on souhaite citer la source d'un exercice ou lui donner un titre, on dispose des clés :
+\begin{Description}
+\item[La clé \Cle{Source}] pour citer la source de l'exercice.\Defaut{\{\}}
+\item[La clé \Cle{Titre}] pour nommer un exercice.\Defaut{\{\}}
+\item[La clé \Cle{Competence}] pour indiquer une compétence associée à l'exercice.\Defaut{\{\}}
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[Fiche]{Theme=Algorithmique}
+ \colorlet{PfMColCpt}{Crimson}
+ \colorlet{PfMColSrc}{NavyBlue}
+ \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}
+ \item Quels sont les {\em mots} qui restent inchangés quand on clique sur EXÉCUTER ?
+ \end{enumerate}
+\end{exercice}
+\end{Maquette}
+\end{Codes}
+%\clearpage
+\begin{Maquette}[Fiche]{Theme=Algorithmique}
+ \colorlet{PfMColCpt}{Crimson}
+ \colorlet{PfMColSrc}{NavyBlue}
+ \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}
+ \item Quels sont les {\em mots} qui restent inchangés quand on clique sur EXÉCUTER ?
+ \end{enumerate}
+\end{exercice}
+\end{Maquette}
+\end{Description}
+\clearpage
+\subsection*{Des logos ?}
+Les clés décrites dans cette partie ne sont disponibles que pour les maquettes
+\lstinline!Fiche! / \lstinline!Parcours!.
+\begin{Description}
+\item[La clé \Cle{Oral}] pour indiquer que l'exercice se résout oralement.\Defaut{false}
+\item[La clé \Cle{Calculatrice}] pour afficher que la calculatrice {\em est interdite}.\Defaut{true}
+\end{Description}
+ \begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{}
+\begin{Maquette}[Fiche]{Theme=Calcul mental}
+ \begin{exercice}[Oral]
+ $1+1=?$
+ \end{exercice}
+ \begin{exercice}[!\color{DarkGreen}\ttfamily Calculatrice!=false]
+ $1+1=?$
+ \end{exercice}
+ % On peut mélanger les deux logos.
+ \begin{exercice}[!\color{DarkGreen}\ttfamily Calculatrice!=false,Oral]
+ $1+1=?$
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[Fiche]{Theme=Calcul mental}
+ \begin{exercice}[Oral]
+ $1+1=?$
+ \end{exercice}
+ \begin{exercice}[Calculatrice=false]
+ $1+1=?$
+ \end{exercice}
+ \begin{exercice}[Calculatrice=false,Oral]
+ $1+1=?$
+ \end{exercice}
+\end{Maquette}
+\clearpage
+\subsection*{Focus sur la maquette \lstinline!Parcours!}
+Dans le cas de cette maquette, l'environnement \lstinline!exercice! dispose de la clé \Cle{Trajet} permettant de construire automatiquement le ou les parcours. La commande \lstinline!\AfficheParcours{}! représente un schéma associé à un parcours. Ce schéma se construit seul, automatiquement, après que l'enseignant ait utilisé la clé \Cle{Trajet} dans la création de ses exercices. Il faudra néanmoins deux compilations. \`A noter que ce schéma, avec l'utilisation du package \lstinline!hyperref!, dispose de liens cliquables sur les exercices sélectionnés pour le parcours.
+\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{\small}
+\begin{Maquette}[Parcours]{Theme=Calcul mental}
+ \begin{description}
+ \item[!Parcours! Padawan] \AfficheParcours{Padawan}
+ \item[!Parcours! Jedï] \AfficheParcours{Jedi}
+ \item[!Parcours! Grand Maître] \AfficheParcours{GrandMaitre}
+ \end{description}
+ \begin{exercice}[Trajet={Padawan,Jedi,GrandMaitre}]
+
+ \end{exercice}
+ \begin{exercice}[Trajet={Padawan,Jedi}]
+
+ \end{exercice}
+ \begin{exercice}[Trajet={Padawan}]
+
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[Parcours]{Theme=Calcul mental}
+ \begin{description}
+ \item[Parcours Padawan] \AfficheParcours{Padawan}
+ \item[Parcours Jedï] \AfficheParcours{Jedi}
+ \item[Parcours Grand Maître] \AfficheParcours{GrandMaitre}
+ \end{description}
+ \begin{exercice}[Trajet={Padawan,Jedi,GrandMaitre}]
+
+ \end{exercice}
+ \begin{exercice}[Trajet={Padawan,Jedi}]
+
+ \end{exercice}
+ \begin{exercice}[Trajet={Padawan}]
+
+ \end{exercice}
+\end{Maquette}
+\clearpage
+\subsection*{Focus sur la maquette \lstinline!ParcoursPerso!}
+Dans le cas de cette maquette, l'environnement \lstinline!exercice! n'admet aucune clé. En effet, cette maquette utilise :
+\begin{itemize}
+\item un fichier {\ttfamily *.csv} de la forme :
+ \begin{Codes}[listing only]{0.4}{}
+Anne,Bec,{1,2}
+Paul,Isse,{1,3}
+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{exercice}
+ A
+ \end{exercice}
+ \begin{exercice}
+ B
+ \end{exercice}
+ \begin{exercice}
+ C
+ \end{exercice}
+ \begin{exercice}
+ D
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\end{itemize}
+\clearpage
+\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.
+
+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é.
+
+De plus, deux commandes font leur apparition :
+\begin{itemize}
+\item \lstinline!\CheminVrai! listant les liaisons entre exercices sous la forme \lstinline!noeud départ/noeud arrivée!;
+\item \lstinline!\CheminFaux! listant les liaisons entre exercices sous la forme \lstinline!noeud départ/noeud arrivée!.
+\end{itemize}
+L'exemple suivant est obtenu par le code présenté à la page suivante.
+\begin{Maquette}[PdT]{Theme=Plan de travail : Calcul littéral,Niveau=3,Classe=Alpha,Date={},Code={}}
+ \setcounter{PfMExo}{0}
+ \begin{minipage}{0.35\linewidth}
+ \begin{exercice}%exercice 1
+ A
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.3\linewidth}
+ \begin{exercice}%exercice 2
+ B
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{SOS}%SOS 1
+ Aide A
+ \end{SOS}
+ \end{minipage}
+
+ \vspace*{2cm}
+
+ \begin{minipage}{0.35\linewidth}
+ \begin{exercice}%exercice 3
+ C
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.3\linewidth}
+ \begin{exercice}%exercice 4
+ D
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{SOS}%SOS 2
+ Aide B
+ \end{SOS}
+ \end{minipage}
+ \CheminVrai{S-1/NO-3}
+ \CheminFaux{E-1/O-2,E-2/SOS-O-1}
+ \end{Maquette}
+ \clearpage
+\begin{Codes}[listing only]{}{}
+ \begin{Maquette}[PdT]{Theme=Plan de travail : Calcul littéral,Niveau=3,Classe=Alpha,Date={},Code={}}
+ \begin{minipage}{0.35\linewidth}
+ \begin{exercice}%exercice 1
+ A
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.3\linewidth}
+ \begin{exercice}%exercice 2
+ B
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{SOS}%SOS 1
+ Aide A
+ \end{SOS}
+ \end{minipage}
+
+ \vspace*{2cm}
+
+ \begin{minipage}{0.35\linewidth}
+ \begin{exercice}%exercice 3
+ C
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.3\linewidth}
+ \begin{exercice}%exercice 4
+ D
+ \end{exercice}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{SOS}%SOS 2
+ Aide B
+ \end{SOS}
+ \end{minipage}
+ \CheminVrai{S-1/NO-3}
+ \CheminFaux{E-1/O-2,E-2/SOS-O-1}
+ \end{Maquette}
+\end{Codes}
+\clearpage
+\subsection*{Focus sur la maquette \lstinline!Contrat!}
+Dans le cas de cette maquette, l'environnement \lstinline!exercice! dispose de la clé \Cle{Confiance} permettant de construire automatiquement le contrat de confiance. La commande \lstinline!\AfficheContrat{}! représente un schéma associé au contrat proposé par l'enseignant : suivant la réalisation des exercices, l'élève choisit un chemin de remédiation (chemin du bas, repéré par la lettre a), soit un chemin d'approfondissement (chemin du haut, repéré par la lettre b).
+\\Ce schéma se construit seul, automatiquement, après que l'enseignant ait utilisé la clé \Cle{Confiance} dans la création de ses exercices. Il faudra néanmoins deux compilations. \`A noter que ce schéma, avec l'utilisation du package \lstinline!hyperref!, dispose de liens cliquables sur les exercices sélectionnés pour le parcours.
+\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{\small}
+\begin{Maquette}[Contrat]{Theme=Calcul mental}
+ \begin{center}
+ \AfficheContrat%
+ \end{center}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\clearpage
+\begin{Maquette}[Contrat]{Theme=Calcul mental}
+ \begin{center}
+ \AfficheContrat%
+ \end{center}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+ \begin{exercice}[Confiance={a,b}]
+
+ \end{exercice}
+\end{Maquette}
+\clearpage
+\subsection*{Focus sur la maquette \lstinline!FdR!}
+Dans le cas de cette maquette, l'environnement \lstinline!exercice! dispose des clés \Cle{Route} et \Cle{Stop} permettant de construire automatiquement une feuille de route. La commande \lstinline!\AfficheFdR{}! représente un schéma associé à la feuille de route construite par l'enseignant : l'élève réalise les exercices de la ligne du bas puis demande la validation de l'enseignant. Une fois la validation acquise, l'enseignant peut lui proposer de faire les exercices de la ligne du haut ou de poursuivre la feuille de route.
+\\Ce schéma se construit seul, automatiquement, après que l'enseignant ait utilisé les clés \Cle{Route} et \Cle{Stop} dans la création de ses exercices. Il faudra néanmoins deux compilations et vérifier que chaque \og morceau\fg{} de route soit non vide (La ligne haute, quant à elle, pouvant être vide). \`A noter que ce schéma, avec l'utilisation du package \lstinline!hyperref!, dispose de liens cliquables sur les exercices sélectionnés pour le parcours.
+\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{\scriptsize}
+\begin{Maquette}[FdR]{Theme=Calcul mental}
+ \begin{center}
+ \AfficheFdR%
+ \end{center}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[Route,Stop]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\clearpage
+\begin{Maquette}[FdR]{Theme=Calcul mental}
+ \begin{center}
+ \AfficheFdR%
+ \end{center}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[Route,Stop]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[Route]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+ \begin{exercice}[]
+
+ \end{exercice}
+\end{Maquette}
+\clearpage
+\subsection*{Focus sur la maquette \lstinline!CAN!}
+Dans le cas de cette maquette, l'environnement \lstinline!exercice! n'admet aucune clé. La création de la page de garde et du tableau est automatique mais nécessite {\em au moins} deux compilations pour adapter au mieux les dimensions du tableau. De plus, la compilation crée (dans le répertoire courant) des fichiers \lstinline!*.can! (et éventuellement \lstinline!*.sol!) : ils peuvent être supprimés après l'obtention du document final.
+
+La commande \lstinline!\Complement{}! permet d'ajouter du contenu à la colonne \og Réponse\fg.
+
+\begin{Codes}[listing only]{0.5}{}
+% cet exemple a été créé avec une feuille au format A5
+\begin{Maquette}[CAN]{CoefQ=0.5,CoefR=0.25}
+ \begin{exercice}
+ $17+19$
+ \end{exercice}
+ \begin{exercice}
+ $ABC$ est un triangle tel que $\widehat{ABC}=\ang{30}$ et $\widehat{BCA}=\ang{70}$. Alors\dots
+ \Complement{$\widehat{CAB}=\dots$}
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\includegraphics{pg_0002-crop.pdf}
+\clearpage
+\subsection*{\og Correction\fg{} des exercices}
+ Un exercice avec correction pourra\footnote{Dans les faits, seul l'environnement \lstinline!exercice! est nécessaire.} avoir la forme suivante :
+ \begin{Codes}[listing only]{0.4}{}
+\begin{exercice}
+
+\end{exercice}
+\begin{Solution}
+
+\end{Solution}
+\begin{Reponse}
+
+\end{Reponse}
+\begin{Indice}
+
+\end{Indice}
+\end{Codes}
+On peut gérer la correction des exercices à deux niveaux :
+\begin{Description}
+ \item[Au niveau de l'environnement ]\lstinline!Maquette!, on dispose des clés :
+\end{Description}
+ \begin{Description}
+\item[la Clé \Cle{CorrigeApres}]\Defaut{false}\par qui affiche le corrigé, s'il existe, après l'énoncé de l'exercice.
+\item[la Clé \Cle{CorrigeFin}]\Defaut{false}\par qui affiche les corrigés, s'ils existent, à la fin du document.
+ \begin{quote}
+ \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{Colonnes}]\Defaut{1}\par définit le nombre de colonnes utilisé 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}
+\end{Description}
+
+Pour les maquettes \lstinline!ParcoursPerso! et \lstinline!CAN!, seule la clé \Cle{CorrigeFin} est autorisée.
+
+\begin{Codes}[listing only]{0.4}{\footnotesize}
+\begin{Maquette}[IE,CorrigeApres]{Theme=Calcul littéral}
+ \begin{exercice}% n'a pas de correction
+ \begin{enumerate}
+ \item $1+1=?$
+ \end{enumerate}
+ \end{exercice}
+ \begin{exercice}
+ \begin{enumerate}
+ \item Développer $A=2(x+3)$.
+ \end{enumerate}
+ \end{exercice}
+ \begin{Solution}
+ \begin{enumerate}
+ \item $A=2(x+3)=2\times x+2\times3=2x+6$
+ \end{enumerate}
+ \end{Solution}
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[IE,CorrigeApres]{Theme=Calcul littéral}
+ \begin{exercice}% n'a pas de correction
+ \begin{enumerate}
+ \item $1+1=?$
+ \end{enumerate}
+ \end{exercice}
+ \begin{exercice}
+ \begin{enumerate}
+ \item Développer $A=2(x+3)$.
+ \end{enumerate}
+ \end{exercice}
+ \begin{Solution}
+ \begin{enumerate}
+ \item $A=2(x+3)=2\times x+2\times3=2x+6$
+ \end{enumerate}
+ \end{Solution}
+\end{Maquette}
+\begin{Description}
+\item[Au niveau de l'environnement ]\lstinline!exercice!, on peut affiner la correction à l'aide des clés :
+\begin{Description}
+\item[la Clé \Cle{PasCorrige}]\Defaut{false}\par supprime l'affichage de tous types de correction pour l'exercice considéré;
+\item[la Clé \Cle{Pouce}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Indice!;
+\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!.
+
+\bigskip
+
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[DS,CorrigeFin]{Numero=3}
+ \begin{exercice} % La clé CorrigeFin utilise le contenu de l'environnement Solution
+ $1+\dfrac2{10}=$
+ \end{exercice}
+ \begin{Solution}
+ $1+\dfrac2{10}=\num{1.2}$
+ \end{Solution}
+ \begin{Reponse}
+ \num{1.2}
+ \end{Reponse}
+ \begin{Indice}
+ Une unité représente dix dixièmes de l'unité.
+ \end{Indice}
+ \begin{exercice}[PasCorrige] % Malgré les environnements Solution, Reponse, Indice
+ $7(x+5)=$ ?
+ \end{exercice}
+ \begin{Solution}
+ $7(x+5)=7\times x+7\times 5=7x+35$
+ \end{Solution}
+ \begin{Indice}
+ Utiliser la simple distributivité.
+ \end{Indice}
+ \begin{Reponse}
+ $7x+35$
+ \end{Reponse}
+ \begin{exercice}[Direct] % On affiche uniquement l'environnement Reponse
+ $\dfrac34-\dfrac25=$?
+ \end{exercice}
+ \begin{Solution}
+ $\dfrac34-\dfrac25=\dfrac{15}{20}-\dfrac8{20}=\dfrac7{20}$
+ \end{Solution}
+ \begin{Reponse}
+ $\dfrac7{20}$
+ \end{Reponse}
+ \begin{Indice}
+ C'est une soustraction, il faut réduire au même dénominateur.
+ \end{Indice}
+ \begin{exercice}[Pouce] % On affiche uniquement l'environnement Indice
+ Si $x=3$, que vaut $x^3+4x$ ?
+ \end{exercice}
+ \begin{Solution}
+ $x^3+4x=3^3+4\times3=27+12=39$
+ \end{Solution}
+ \begin{Indice}
+ Que veut dire $x^3$ ? Que veut dire $4x$ ?
+ \end{Indice}
+ \begin{Reponse}
+ 39
+ \end{Reponse}
+\end{Maquette}
+\end{Codes}
+\begin{Maquette}[DS,CorrigeFin]{Numero=3}
+ \begin{exercice} % La clé CorrigeFin utilise le contenu de l'environnement Solution
+ $1+\dfrac2{10}=$
+ \end{exercice}
+ \begin{Solution}
+ $1+\dfrac2{10}=\num{1.2}$
+ \end{Solution}
+ \begin{Reponse}
+ \num{1.2}
+ \end{Reponse}
+ \begin{Indice}
+ Une unité représente dix dixièmes de l'unité.
+ \end{Indice}
+ \begin{exercice}[PasCorrige]
+ $7(x+5)=$ ?
+ \end{exercice}
+ \begin{Solution}
+ $7(x+5)=7\times x+7\times 5=7x+35$
+ \end{Solution}
+ \begin{Indice}
+ Utiliser la simple distributivité.
+ \end{Indice}
+ \begin{Reponse}
+ $7x+35$
+ \end{Reponse}
+ \begin{exercice}[Direct]
+ $\dfrac34-\dfrac25=$?
+ \end{exercice}
+ \begin{Solution}
+ $\dfrac34-\dfrac25=\dfrac{15}{20}-\dfrac8{20}=\dfrac7{20}$
+ \end{Solution}
+ \begin{Reponse}
+ $\dfrac7{20}$
+ \end{Reponse}
+ \begin{Indice}
+ C'est une soustraction, il faut réduire au même dénominateur.
+ \end{Indice}
+ \begin{exercice}[Pouce]
+ Si $x=3$, que vaut $x^3+4x$ ?
+ \end{exercice}
+ \begin{Solution}
+ $x^3+4x=3^3+4\times3=27+12=39$
+ \end{Solution}
+ \begin{Indice}
+ Que veut dire $x^3$ ? Que veut dire $4x$ ?
+ \end{Indice}
+ \begin{Reponse}
+ 39
+ \end{Reponse}
+\end{Maquette}
+\clearpage
+\section*{Historique}
+\begin{description}
+\item[\PfMfiledate{}--v \PfMfileversion] Exercices {\em éventuellement} non numérotés. Correction de bugs (Feuille de route).
+ %0.65 Création du format CAN (Course aux nombres).
+\end{description}
+\end{document}
+%%% Local Variables:
+%%% TeX-engine: luatex
+%%% End:
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.tex 2023-11-10 21:39:44 UTC (rev 68802)
+++ trunk/Master/texmf-dist/doc/latex/profmaquette/profmaquette-doc.tex 2023-11-10 21:40:05 UTC (rev 68803)
@@ -1,1329 +0,0 @@
-% with lualatex
-\documentclass[12pt,french]{article}
-\usepackage[nonamssymb]{ProfCollege}
-\usepackage{ProfMaquette}
-\input{Christ7}
-\usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
-\usepackage{fourier-otf}
-
-\usepackage[a4paper,margin=1.5cm,nohead,includefoot]{geometry}
-\setlength{\parindent}{0pt}
-\pagestyle{empty}
-\usepackage{mflogo}
-\usepackage{babel}
-
-\def\MPclipOne#1#2#3{
- \begin{mplibcode}
- vardef paired (expr d) =
- if pair d : d else : (d,d) fi
- enddef ;
-
- primarydef p xyscaled q =
- begingroup ; save qq ; pair qq ; qq = paired(q) ;
- ( p
- if xpart qq<>0 : xscaled (xpart qq) fi
- if ypart qq<>0 : yscaled (ypart qq) fi )
- endgroup
- enddef ;
-
- path fullsquare;
- fullsquare := unitsquare shifted - center unitsquare ;
-
- color myyellow;
- myyellow = (242/255,226/255,149/255);
-
- path p; p := fullsquare xyscaled (#1,#2);% squeezed #3;
-
- %fill (point(0) of p)--(point(1) of p)--(point(2) of p)--(point(3) of p)--cycle;
- pair pp;
- pp=0.5[point(0) of p,point(2) of p];
- height=2pt;
- width=2pt;
- p:=(point(0) of p)--(point(1) of p)--(point(2) of p);
-
- p:=(1/3[point(0) of p,point(1) of p])--(point(1) of p)--(2/3[point(1) of p,point(2) of p]);% withpen pencircle scaled 2bp;
- z1=point(0) of p;
- x2=x12=xpart(point(length p/6) of p);
- x3=x11=xpart(point(2*length p/6) of p);
- x4=xpart(point(3*length p/6) of p)+width;
- x5=x4-(width/3);
- x6=x4-(2*width/3);
- x7=xpart(point(length p) of p);
- x8=x7-(width/3);
- x9=x7-(2*width/3);
- x10=x7-width;
- y2=ypart(point(length p/6) of p)-(height/3);
- y3=ypart(point(2*length p/6) of p)-(2*height/3);
- y4=ypart(point(3*length p/6) of p)-height;
- y12=ypart(point(length p/6) of p)+(height/3);
- y11=ypart(point(2*length p/6) of p)+(2*height/3);
- y10=ypart(point(3*length p/6) of p)+height;
- y5=y9=ypart(point(4*length p/6) of p);
- y6=y8=ypart(point(5*length p/6) of p);
- y7=ypart(point(length p) of p);
- fill z1--z2--cycle--z3--z4--z5--z6--z7--z8--z9--z10--z11--z12--cycle;% withcolor 0.85myyellow;
- fill (z1--z2--cycle--z3--z4--z5--z6--z7--z8--z9--z10--z11--z12--cycle) rotatedabout(pp,180);% withcolor 0.85myyellow;
- \end{mplibcode}
-}
-
-\newsavebox{\tacochapterbox}
-
-\newcommand{\Tacoo}[1]{%
- \begin{lrbox}{\tacochapterbox}
- #1%
- \end{lrbox}
- \ooalign{%
- \MPclipOne{\mpdim{\wd\tacochapterbox+1pc}}% width
- {\mpdim{\ht\tacochapterbox+\dp\tacochapterbox+1pc}}% height
- {0pt}% thickness of the curve
- \cr\kern0.5pc\raisebox{\ht\tacochapterbox\relax}{\usebox\tacochapterbox}%
- }
-}
-
-\NewDocumentEnvironment{CadreMP}{+b}{%
- \begin{lrbox}{\tacochapterbox}
- \begin{minipage}{0.97\linewidth}
- #1%
- \end{minipage}
- \end{lrbox}
- \par
- \ooalign{%
- \MPclipOne{\mpdim{\wd\tacochapterbox+1pc}}% width
- {\mpdim{\ht\tacochapterbox+\dp\tacochapterbox+1pc}}% height
- {0pt}% thickness of the curve
- \cr\kern0.5pc\raisebox{\ht\tacochapterbox\relax}{\usebox\tacochapterbox}%
- }%
-}{}%
-
-\usepackage{pdfpages}
-\title{%
- \begin{tabular}{c}
- \ttfamily ProfMaquette.sty\\
- \small Factoriser la production de documents
- \end{tabular}
-}%
-\author{C.Poulain}
-\date{v \PfMfileversion -- \PfMfiledate}
-
-\usepackage[colorlinks=true,linkcolor=purple]{hyperref}
-
-\pagestyle{empty}
-
-\usepackage{listings}
-\lstset{
- language = [LaTeX]TeX,
- basicstyle = \ttfamily,%
- breaklines = true,
- commentstyle = \footnotesize\slshape\color{gray},
- emphstyle=\color{purple},
- columns=fullflexible,%
- frame=tb,%
- texcsstyle=*\color{black},%pour colorer la contre-oblique
- classoffset=5,
- texcsstyle=*\color{blue},%pour colorer la contre-oblique
- moretexcs={brm,TikzDM,TikzDMCor,TikzDS,TikzDSCor,TikzIE,TikzIECor,TikzFiche,TikzFicheCor,TikzCours,Competences,TikzParcours,TikzParcoursCor,TikzPdT,TikzPdTCor,PfMCompNA,PfMCompECA,PfMCompA,AfficheParcours,CheminVrai,CheminFaux,TikzContrat,TikzContratCor,TikzFdR,TikzFdRCor,AfficheContrat,AfficheFdR,TikzCAN,TikzCANCor,Complement},
- emph={Maquette,exercice,exercice,Solution,Reponse,Indice},%
- classoffset=1,
- keywords={DM,DS,IE,Fiche,CorrigeFin,CorrigeApres,PdT,Parcours,ParcoursPerso,Cours,FdR,Contrat,CAN},
- keywordstyle=\color{OliveDrab},
- classoffset=2,
- keywords={Theme,Niveau,Classe,Date,Calculatrice,Code,Numero,Sujet,Nom,NumSujet,Fichier,Type,CoefQ,CoefR,CoefJ},
- keywordstyle=\color{BlueViolet},%DarkMagenta},
- classoffset=3,
- keywords={Pouce,Direct,PasCorrige,BaremeDetaille,BaremeTotal,Source,Titre,Oral,Calculatrice,Competence,Trajet,Confiance,Route,Stop},
- keywordstyle=\color{DarkGreen},
-% delim = **[s][\color{purple}]{$}{$},
-% moredelim = **[s][\color{purple}]{\\[}{\\]},
-% moredelim = **[is][\color{black}]{\\Z}{\\Z},
- literate=*{[}{{\textcolor{orange}{[}}}{1}
- {]}{{\textcolor{orange}{]}}}{1}
- {\{}{\textcolor{amber}{\{}}{1}
- {\}}{\textcolor{amber}{\}}}{1}
- {\&}{\textcolor{red}{\&}}{1}
- {\\[}{{\textcolor{purple}{\textbackslash[}}}{2}
- {\\]}{{\textcolor{purple}{\textbackslash]}}}{2}
- {$}{{\textcolor{purple}{\$}}}{1}%$
- {_}{{\textcolor{purple}{\_}}}{1}%
- {^}{{\textcolor{purple}{\^{}}}}{1}%,
-}
-
-% "Rehook" delimiters char table.
-\makeatletter
-\lst at AddToHook{SelectCharTable}{\lst at DefDelims}
-\makeatother
-
-\usepackage{textcomp}%pour les < de listings
-\usepackage{enumitem}
-\usepackage{hhline}
-\usepackage{pifont}
-
-\definecolor{mygray}{RGB}{245,245,245}%pour le background de listing
-\definecolor{drab}{rgb}{0.59, 0.44, 0.09}
-\definecolor{amber}{rgb}{1.0, 0.75, 0.0}
-\definecolor{chocolate}{rgb}{0.82, 0.41, 0.12}
-\colorlet{amber}{chocolate}
-
-\newtcblisting{Codes}[3][]{%
- top=0mm,bottom=0mm,left=2mm,right=2mm,middle=0mm,%
- colback=white,%
- colframe=white!75!black,%
- every listing line={#3},%
- listing options={%
- frame=,%
- backgroundcolor=,%
- },%
- righthand width=#2\linewidth,%
- #1%
-}%
-
-\usepackage{menukeys}
-\newcommand\metamk[1]{\textcolor{chocolate}{\textlangle}{\ttfamily #1}\textcolor{chocolate}{\textrangle}}
-
-\newcommand\Cle[1]{%
- {\sffamily\textlangle #1\textrangle}%
-}%
-
-\newcommand\Defaut[1]{%
-\hfill valeur par défaut : {\sffamily #1}\\[-1em]%
-}%
-
-\usepackage{parskip}
-
-\newenvironment{Description}
- {\list{}{\labelwidth0pt \leftmargin0pt \itemindent-\leftmargin
- \let\makelabel\Descriptionlabel}}
- {\endlist}
-\newcommand*\Descriptionlabel[1]{\hspace\labelsep
- \normalfont\bfseries #1}
-
-\parindent0pt
-
-\newcommand\TIKZ{Ti\textit{k}Z}
-
-\renewcommand\TikzDM{%
- \begin{tcolorbox}[frame hidden,colback=white,enhanced,%
- borderline north={3pt}{0pt}{gray!85},
- borderline north={2pt}{0.5pt}{gray!15},
- borderline south={3pt}{0pt}{gray!85},
- borderline south={2pt}{0.5pt}{gray!15},
- ]%
- \sffamily Devoir en temps libre \no\useKV[DM]{Numero}\hfill\useKV[DM]{Niveau}\ieme{} \useKV[DM]{Classe}%
- \par{\tiny\jobname}\hfill{\scriptsize Pour le \useKV[DM]{Date}}%
- \end{tcolorbox}%
-}
-\renewcommand\TikzDS{%
- \begin{tcolorbox}[colback=gray!5,%
- enhanced,%
- overlay unbroken and first={%
- \node[yshift=1em] at (frame.south) {\scriptsize\sffamily-- Calculatrice \ifboolKV[DS]{Calculatrice}{autorisée}{interdite} --};
- }
- ]%
- \sffamily Devoir surveillé \no\useKV[DS]{Numero} (Sujet \useKV[DS]{Sujet})\hfill\useKV[DS]{Niveau}\ieme{} \useKV[DS]{Classe}
- \par{\tiny\jobname}\hfill{\scriptsize\useKV[DS]{Date}}
- \end{tcolorbox}%
-}
-\renewcommand\TikzIE{%
- \begin{minipage}{0.6\linewidth}
- \begin{tcolorbox}[colback=gray!5,
- enhanced,%
- overlay unbroken and first={%
- \node[yshift=1em] at (frame.south) {\scriptsize\sffamily-- Calculatrice \ifboolKV[IE]{Calculatrice}{autorisée}{interdite} --};
- }
- ]%
- \sffamily \useKV[IE]{Nom} \no\useKV[IE]{Numero} : \useKV[IE]{Theme} \ifboolKV[IE]{Sujets}{\scriptsize(Sujet \useKV[IE]{NumSujet})}{}
- \vspace{1em}
- \par{\tiny\jobname}\hfill{\scriptsize\useKV[IE]{Date}}
- \end{tcolorbox}%
- \end{minipage}\hfill\begin{minipage}{0.35\linewidth}
- Nom : \dotfill\\[0.5em]
- Prénom : \dotfill\\[0.5em]
- Classe : \dotfill
- \end{minipage}
- \par\bigskip
-}
-
-\tcbset{%
- userfiche/.style={%
- colback=gray!5%
- }%
-}%
-
-\renewcommand\TikzFiche{%
- \begin{tcolorbox}[userfiche]%
- \Large\sffamily \useKV[Fiche]{Theme}\hfill\useKV[Fiche]{Niveau}\ieme{} \useKV[Fiche]{Classe}
- \par{\tiny\jobname}\hfill{\scriptsize\useKV[Fiche]{Date}}
- \end{tcolorbox}%
-}
-
-\renewcommand\TikzParcours{%
- \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
- colback=gray!5]%
- \Large\sffamily \useKV[Parcours]{Theme}\hfill\useKV[Parcours]{Niveau} \useKV[Parcours]{Classe}%
- \par{\tiny\useKV[Parcours]{Code}}\hfill{\scriptsize\useKV[Parcours]{Date}}%
- \end{tcolorbox}%
-}
-
-\renewcommand\TikzPdT{%
- \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
- colback=gray!5]%
- \Large\sffamily \useKV[PdT]{Theme}\hfill\useKV[PdT]{Niveau} \useKV[PdT]{Classe}%
- \par{\tiny\useKV[PdT]{Code}}\hfill{\scriptsize\useKV[PdT]{Date}}%
- \end{tcolorbox}%
-}
-
-\renewcommand\TikzFdR{%
- \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
- colback=gray!5]%
- \Large\sffamily \useKV[FdR]{Theme}\hfill\useKV[FdR]{Niveau} \useKV[FdR]{Classe}%
- \par{\tiny\useKV[FdR]{Code}}\hfill{\scriptsize\useKV[FdR]{Date}}%
- \end{tcolorbox}%
-}
-
-\renewcommand\TikzContrat{%
- \begin{tcolorbox}[%spread outwards=-1cm,spread inwards=-1cm,
- colback=gray!5]%
- \Large\sffamily \useKV[Contrat]{Theme}\hfill\useKV[Contrat]{Niveau} \useKV[Contrat]{Classe}%
- \par{\tiny\useKV[Contrat]{Code}}\hfill{\scriptsize\useKV[Contrat]{Date}}%
- \end{tcolorbox}%
-}
-\begin{document}
-\maketitle
-\thispagestyle{empty}
-Après la création du package \lstinline!ProfCollege!, l'idée de poursuivre la factorisation des méthodes de travail a naturellement germé. Produire des fiches, des devoirs, des évaluations\dots{} avec des méthodes différentes, peut vite apparaître fastidieux. Créé pour factoriser ce travail, cet ensemble de macro-commandes est basé, quasi exclusivement, sur les environnements \lstinline!Maquette! et \lstinline!exercice! :
-\begin{itemize}
-\item l'environnement \lstinline!Maquette! indique le type de document souhaité et ses caractéristiques;
-\item l'environnement \lstinline!exercice! adapte la présentation et les fonctions des exercices en accord avec l'environnement \lstinline!Maquette! choisi.
-\end{itemize}
-Le c\oe ur de l'utilisation du package \lstinline!ProfMaquette! est donc une gestion des briques élémentaires du travail d'enseignant, à savoir les exercices.
-\clearpage
-\section*{L'environnement \lstinline!Maquette!}
-\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{}
-\begin{Maquette}[!\metamk{TypeDocument}!,!\metamk{TypeCorrection}!]{!\metamk{Caracteristiques}!}
-
-\end{Maquette}
-\end{Codes}
-C'est lui qui indique :
-\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 et si ce travail est corrigé \metamk{TypeCorrection} (à la suite d'un exercice ou à la fin du document) ou pas;
-\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}
- \begin{itemize}
- \item[]La clé \Cle{Numero}\Defaut{1}
- \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!}
- \item[]La clé \Cle{Classe}\Defaut{\{\}}
- \item[]La clé \Cle{Niveau}\Defaut{3}
- \item[]La clé \Cle{Code}\footnotemark\Defaut{\{\}}
- \end{itemize}
-\end{Description}
-\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}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\clearpage
-\subsection*{Les devoirs surveillés}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{DS}]\Defaut{false}
- \begin{itemize}
- \item[]La clé \Cle{Numero}\Defaut{1}
- \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!}
- \item[]La clé \Cle{Classe}\Defaut{}
- \item[]La clé \Cle{Niveau}\Defaut{3}
- \item[]La clé \Cle{Code}\Defaut{}
- \item[]La clé \Cle{Calculatrice} autorisée ou non\Defaut{false}
- \item[]La clé \Cle{Sujet}\Defaut{A}
- \end{itemize}
-\end{Description}
-\end{CadreMP}
-\begin{Codes}[]{0.4}{}
-\begin{Maquette}[DS]{Numero=3,Niveau=6,Classe=Zola,Date=25 décembre 2020}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\clearpage
-\subsection*{Les évaluations écrites}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{IE}]\Defaut{false}
- \begin{itemize}
- \item[]La clé \Cle{Numero}\Defaut{1}
- \item[]La clé \Cle{Date}\Defaut{\lstinline!\\today!}
-% \item[]La clé \Cle{Classe}\Defaut{}
- % \item[]La clé \Cle{Niveau}\Defaut{3}
- \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{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}%
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\clearpage
-\subsection*{Les fiches d'exercices}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{Fiche}]\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} 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}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-%\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
-% On considère un triangle $ABC$\dots
-%\end{Maquette}
-\clearpage
-\subsection*{Les parcours}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{Parcours}\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} 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}[]{0.4}{}
-\begin{Maquette}[Parcours]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\clearpage
-\subsection*{Les parcours fléchés}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{PdT}\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} 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}
-\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}[]{0.4}{}
-\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-%\begin{Maquette}[PdT]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
-% 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}
- \begin{itemize}
- \item[]La clé \Cle{Fichier} est le nom du fichier {\ttfamily csv} à utiliser.\Defaut{}
- \end{itemize}
-\end{Description}
-\end{CadreMP}
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[ParcoursPerso]{Fichier=Eleves}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\clearpage
-\subsection*{Les \og cours\fg\footnote{Le package \lstinline!ProfMaquette! n'est pas fait pour des documents longs. D'ailleurs, cette clé \Cle{Cours} n'a été ajouté qu'après forte insistance de ses demandeurs\dots}}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{Cours}]\Defaut{false}
- \begin{itemize}
- \item[]La clé \Cle{Theme} modifie le titre du \og cours\fg\Defaut{Trace écrite}
- \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}
-\end{CadreMP}
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[Cours]{}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[Cours]{}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\clearpage
-\subsection*{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}
-\end{CadreMP}
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[Contrat]{}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[Contrat]{}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\clearpage
-\subsection*{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}
-\end{CadreMP}
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[FdR]{}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[FdR]{}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-\clearpage
-\subsection*{Course aux nombres}
-\begin{CadreMP}
- \begin{Description}
-\item[La clé \Cle{CAN}]\Defaut{false}
- \begin{itemize}
- \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}
- \end{itemize}
-\end{Description}
-\end{CadreMP}
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[CAN]{}
- \begin{exercice}
- On considère un triangle $ABC$\dots
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-%\begin{Maquette}[CAN]{}
-% \begin{exercice}
-% On considère un triangle $ABC$\dots
-% \end{exercice}
-%\end{Maquette}
-\clearpage
-\includepdf[nup=1x2,pages=-,landscape]{TestCAN.pdf}
-\clearpage
-Comme on peut le voir, chaque type de travail est associé à une présentation. Ces présentations sont créées par les commandes associées à des styles prédéfinies.\footnote{Qu'on peut donc redéfinir. Par exemple, c'est ce que j'ai fait dans ce document pour la commande \lstinline!\\TikzFiche! : elle ne commence plus une nouvelle page.} \lstinline!tcolorbox! :
-\begin{itemize}[label=\textbullet]
-\item \lstinline!userdm/userdmcor! pour la clé \Cle{DM};
-\item \lstinline!userds/userdscor! pour la clé \Cle{DS};%
-\item \lstinline!userie/useriecor! pour la clé \Cle{IE};%
-\item \lstinline!userfiche/userfichecor! pour la clé \Cle{Fiche};%*
-\item \lstinline!userparcours/userparcourscor! pour la clé \Cle{Parcours};%*
-\item \lstinline!userpdt/userpdtcor! pour la clé \Cle{PdT};%*
-\item \lstinline!usercours! pour la clé \Cle{Cours};
-\item \lstinline!usercontrat/usercontratcor! pour la clé \Cle{Contrat};%*
-\item et \lstinline!userfdr/userfdr! pour la clé \Cle{FdR};%*
-\end{itemize}
-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}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-%\end{Codes}
-
-En écrivant {\em avant l'appel} à l'environnement \lstinline!Maquette! :
-\begin{Codes}[listing only]{0.4}{}
-\tcbset{%
- userfiche/.style={%
- colframe=Orange!75,
- colback=Orange!15%
- }%
-}%
-\end{Codes}
-
-on obtient :
-
-\tcbset{%
- userfiche/.style={%
- colframe=Orange!75,
- colback=Orange!15%
- }%
-}%
-
-\begin{Maquette}[Fiche]{Niveau=6,Classe=Zola,Date=25 décembre 2020}
- On considère un triangle $ABC$\dots
-\end{Maquette}
-
-\tcbset{%
- userfiche/.style={%
- colback=gray!5%
- }%
-}%
-
-Pour modifier {\em plus finement} les entêtes des différentes maquettes, on dispose des commandes :
-\begin{itemize}[label=\textbullet]
-\item \lstinline!\TikzDM/\TikzDMCor! pour la clé \Cle{DM};
-\item \lstinline!\TikzDS/\TikzDSCor! pour la clé \Cle{DS};%
-\item \lstinline!\TikzIE/\TikzIECor! pour la clé \Cle{IE};%
-\item \lstinline!\TikzFiche/\TikzFicheCor! pour la clé \Cle{Fiche};%*
-\item \lstinline!\TikzParcours/\TikzParcoursCor! pour la clé \Cle{Parcours};%*
-\item \lstinline!\TikzPdT/\TikzPdTCor! pour la clé \Cle{PdT};%*
-\item \lstinline!\TikzCours! pour la clé \Cle{Cours};
-\item \lstinline!\TikzContrat/\TikzContratCor! pour la clé \Cle{Contrat};%*
-\item \lstinline!\TikzFdR/\TikzFdRCor! pour la clé \Cle{FdR};%*
-\item et \lstinline!\TikzCAN/\TikzCANCor! pour la clé \Cle{CAN}.%*
-\end{itemize}
-Leurs modifications seront facilitées en copiant le code fourni par le fichier \lstinline!ProfMaquette.sty!.
-\clearpage
-On dispose également de la commande \lstinline!\Competences! permettant de construire un tableau de\dots{} compétences données par l'utilisateur; les compétences étant séparées par le symbole \lstinline!/!.
-\begin{Codes}[]{0.4}{}
-\Competences{Utiliser le compas/Utiliser l'équerre}
-\end{Codes}
-Les notations \lstinline!NA!, \lstinline!ECA! et \lstinline!A! peuvent être redéfinies par les commandes \lstinline!\PfMCompNA!, \lstinline!\PfMCompECA! et \lstinline!\PfMCompA!.
-\begin{Codes}[]{0.4}{}
-\renewcommand\PfMCompNA{\rule{0pt}{3ex}\RKangry}
-\renewcommand\PfMCompECA{\RKsad}
-\renewcommand\PfMCompA{\RKbigsmile}
-\Competences{Utiliser le compas/Utiliser l'équerre}
-\end{Codes}
-Si l'on souhaite davantage de niveaux d'évaluations (ou moins), on utilisera les codes suivants :
-\begin{Codes}[]{0.4}{}
-\Competences[4]{0/1/2/3/Utiliser le compas/Utiliser l'équerre}
-\end{Codes}
-\begin{Codes}[]{0.4}{}
-\Competences[2]{A/NA/Utiliser le compas/Utiliser l'équerre}
-\end{Codes}
-\clearpage
-\section*{L'environnement \lstinline!exercice!}
-\begin{Codes}[listing only]{0.4}{}
-\begin{exercice}
-
-\end{exercice}
-\end{Codes}
-\subsection*{Habillage des exercices}
-L'environnement \lstinline!exercice! doit {\em impérativement} être inclus dans un environnement \lstinline!Maquette! car le choix de document influence la présentation des exercices.
-\begin{Codes}[]{0.5}{}
-\begin{Maquette}[IE]{Theme=Les fonctions,Niveau=3,Classe=Gide}
- \begin{exercice}%
- La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\begin{Codes}[listing side text]{0.6}{}
-\begin{Maquette}[DM]{Numero=50,Niveau=3,Classe=Gide}
- \begin{exercice}
- La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\begin{Codes}[listing side text]{0.6}{}
-\begin{Maquette}[DS]{Numero=50,Niveau=3,Classe=Gide}
- \begin{exercice}
- La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\begin{Codes}[]{0.4}{}
-\begin{Maquette}[Fiche]{Theme=Les fonctions,Niveau=3,Classe=Gide}
- \begin{exercice}
- La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\subsection*{La personnalisation}
-On peut, dans un premier temps, utiliser les clés suivantes :
-\begin{Description}
-\item[La clé \Cle{BackGround}] modifie les arrière-plans des exercices.\Defaut{white}
-\item[La clé \Cle{Cadre}] modifie la couleur du cadre des exercices.\Defaut{gray!50}
-\end{Description}
-\begin{Codes}[]{0.4}{}
-\begin{Maquette}[Fiche]{Theme=Les fonctions,Niveau=3,Classe=Gide}
- \begin{exercice}[Background=Orange!15,Cadre=Orange!50]
- La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\subsection*{Le barème des exercices}
-On remarque que certains exercices sont associés à un total de point. C'est une des clés disponibles pour l'environnement \lstinline!exercice!. Voici celles pour les barèmes :
-\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 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}.
- La commande \lstinline!\brm{}! permet la construction du barème (détaillé et total).\Defaut{false}
-\item[La clé \Cle{MotPoint}] donnée sous forme de texte puisque le pluriel est géré.\Defaut{point}
- \begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[DS]{Numero=3,Classe=Euler,Niveau=4}
- \begin{exercice} % ici le barème est total, pas de détail : comportement par défaut
- On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
- \begin{enumerate}
- \item\brm{1} Développer l'expression $A$.
- \item\brm{1.5} Développer l'expression $B$.
- \end{enumerate}
- \end{exercice}
- \begin{exercice}[BaremeDetaille] %ici le barème est total ET détaillé
- On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
- \begin{enumerate}
- \item\brm{1} Développer l'expression $A$.
- \item\brm{1.5} Développer l'expression $B$.
- \end{enumerate}
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[DS]{Numero=3,Classe=Euler,Niveau=4}
- \begin{exercice} % ici le barème est total, pas de détail : comportement par défaut
- On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
- \begin{enumerate}
- \item\brm{1} Développer l'expression $A$.
- \item\brm{1.5} Développer l'expression $B$.
- \end{enumerate}
- \end{exercice}
- \begin{exercice}[BaremeDetaille] %ici le barème est total ET détaillé
- On considère les expressions $A=2x(3x+5)$ et $B=x(7x-1)$.
- \begin{enumerate}
- \item\brm{1} Développer l'expression $A$.
- \item\brm{1.5} Développer l'expression $B$.
- \end{enumerate}
- \end{exercice}
-\end{Maquette}
-\end{Description}
-\clearpage
-\subsection*{Source, compétence et titre}
-Si on souhaite citer la source d'un exercice ou lui donner un titre, on dispose des clés :
-\begin{Description}
-\item[La clé \Cle{Source}] pour citer la source de l'exercice.\Defaut{\{\}}
-\item[La clé \Cle{Titre}] pour nommer un exercice.\Defaut{\{\}}
-\item[La clé \Cle{Competence}] pour indiquer une compétence associée à l'exercice.\Defaut{\{\}}
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[Fiche]{Theme=Algorithmique}
- \colorlet{PfMColCpt}{Crimson}
- \colorlet{PfMColSrc}{NavyBlue}
- \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}
- \item Quels sont les {\em mots} qui restent inchangés quand on clique sur EXÉCUTER ?
- \end{enumerate}
-\end{exercice}
-\end{Maquette}
-\end{Codes}
-%\clearpage
-\begin{Maquette}[Fiche]{Theme=Algorithmique}
- \colorlet{PfMColCpt}{Crimson}
- \colorlet{PfMColSrc}{NavyBlue}
- \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}
- \item Quels sont les {\em mots} qui restent inchangés quand on clique sur EXÉCUTER ?
- \end{enumerate}
-\end{exercice}
-\end{Maquette}
-\end{Description}
-\clearpage
-\subsection*{Des logos ?}
-Les clés décrites dans cette partie ne sont disponibles que pour les maquettes
-\lstinline!Fiche! / \lstinline!Parcours!.
-\begin{Description}
-\item[La clé \Cle{Oral}] pour indiquer que l'exercice se résout oralement.\Defaut{false}
-\item[La clé \Cle{Calculatrice}] pour afficher que la calculatrice {\em est interdite}.\Defaut{true}
-\end{Description}
- \begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{}
-\begin{Maquette}[Fiche]{Theme=Calcul mental}
- \begin{exercice}[Oral]
- $1+1=?$
- \end{exercice}
- \begin{exercice}[!\color{DarkGreen}\ttfamily Calculatrice!=false]
- $1+1=?$
- \end{exercice}
- % On peut mélanger les deux logos.
- \begin{exercice}[!\color{DarkGreen}\ttfamily Calculatrice!=false,Oral]
- $1+1=?$
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[Fiche]{Theme=Calcul mental}
- \begin{exercice}[Oral]
- $1+1=?$
- \end{exercice}
- \begin{exercice}[Calculatrice=false]
- $1+1=?$
- \end{exercice}
- \begin{exercice}[Calculatrice=false,Oral]
- $1+1=?$
- \end{exercice}
-\end{Maquette}
-\clearpage
-\subsection*{Focus sur la maquette \lstinline!Parcours!}
-Dans le cas de cette maquette, l'environnement \lstinline!exercice! dispose de la clé \Cle{Trajet} permettant de construire automatiquement le ou les parcours. La commande \lstinline!\AfficheParcours{}! représente un schéma associé à un parcours. Ce schéma se construit seul, automatiquement, après que l'enseignant ait utilisé la clé \Cle{Trajet} dans la création de ses exercices. Il faudra néanmoins deux compilations. \`A noter que ce schéma, avec l'utilisation du package \lstinline!hyperref!, dispose de liens cliquables sur les exercices sélectionnés pour le parcours.
-\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{\small}
-\begin{Maquette}[Parcours]{Theme=Calcul mental}
- \begin{description}
- \item[!Parcours! Padawan] \AfficheParcours{Padawan}
- \item[!Parcours! Jedï] \AfficheParcours{Jedi}
- \item[!Parcours! Grand Maître] \AfficheParcours{GrandMaitre}
- \end{description}
- \begin{exercice}[Trajet={Padawan,Jedi,GrandMaitre}]
-
- \end{exercice}
- \begin{exercice}[Trajet={Padawan,Jedi}]
-
- \end{exercice}
- \begin{exercice}[Trajet={Padawan}]
-
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[Parcours]{Theme=Calcul mental}
- \begin{description}
- \item[Parcours Padawan] \AfficheParcours{Padawan}
- \item[Parcours Jedï] \AfficheParcours{Jedi}
- \item[Parcours Grand Maître] \AfficheParcours{GrandMaitre}
- \end{description}
- \begin{exercice}[Trajet={Padawan,Jedi,GrandMaitre}]
-
- \end{exercice}
- \begin{exercice}[Trajet={Padawan,Jedi}]
-
- \end{exercice}
- \begin{exercice}[Trajet={Padawan}]
-
- \end{exercice}
-\end{Maquette}
-\clearpage
-\subsection*{Focus sur la maquette \lstinline!ParcoursPerso!}
-Dans le cas de cette maquette, l'environnement \lstinline!exercice! n'admet aucune clé. En effet, cette maquette utilise :
-\begin{itemize}
-\item un fichier {\ttfamily *.csv} de la forme :
- \begin{Codes}[listing only]{0.4}{}
-Anne,Bec,{1,2}
-Paul,Isse,{1,3}
-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{exercice}
- A
- \end{exercice}
- \begin{exercice}
- B
- \end{exercice}
- \begin{exercice}
- C
- \end{exercice}
- \begin{exercice}
- D
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\end{itemize}
-\clearpage
-\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.
-
-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é.
-
-De plus, deux commandes font leur apparition :
-\begin{itemize}
-\item \lstinline!\CheminVrai! listant les liaisons entre exercices sous la forme \lstinline!noeud départ/noeud arrivée!;
-\item \lstinline!\CheminFaux! listant les liaisons entre exercices sous la forme \lstinline!noeud départ/noeud arrivée!.
-\end{itemize}
-L'exemple suivant est obtenu par le code présenté à la page suivante.
-\begin{Maquette}[PdT]{Theme=Plan de travail : Calcul littéral,Niveau=3,Classe=Alpha,Date={},Code={}}
- \setcounter{PfMExo}{0}
- \begin{minipage}{0.35\linewidth}
- \begin{exercice}%exercice 1
- A
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.3\linewidth}
- \begin{exercice}%exercice 2
- B
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.15\linewidth}
- \begin{SOS}%SOS 1
- Aide A
- \end{SOS}
- \end{minipage}
-
- \vspace*{2cm}
-
- \begin{minipage}{0.35\linewidth}
- \begin{exercice}%exercice 3
- C
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.3\linewidth}
- \begin{exercice}%exercice 4
- D
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.15\linewidth}
- \begin{SOS}%SOS 2
- Aide B
- \end{SOS}
- \end{minipage}
- \CheminVrai{S-1/NO-3}
- \CheminFaux{E-1/O-2,E-2/SOS-O-1}
- \end{Maquette}
- \clearpage
-\begin{Codes}[listing only]{}{}
- \begin{Maquette}[PdT]{Theme=Plan de travail : Calcul littéral,Niveau=3,Classe=Alpha,Date={},Code={}}
- \begin{minipage}{0.35\linewidth}
- \begin{exercice}%exercice 1
- A
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.3\linewidth}
- \begin{exercice}%exercice 2
- B
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.15\linewidth}
- \begin{SOS}%SOS 1
- Aide A
- \end{SOS}
- \end{minipage}
-
- \vspace*{2cm}
-
- \begin{minipage}{0.35\linewidth}
- \begin{exercice}%exercice 3
- C
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.3\linewidth}
- \begin{exercice}%exercice 4
- D
- \end{exercice}
- \end{minipage}
- \hfill
- \begin{minipage}{0.15\linewidth}
- \begin{SOS}%SOS 2
- Aide B
- \end{SOS}
- \end{minipage}
- \CheminVrai{S-1/NO-3}
- \CheminFaux{E-1/O-2,E-2/SOS-O-1}
- \end{Maquette}
-\end{Codes}
-\clearpage
-\subsection*{Focus sur la maquette \lstinline!Contrat!}
-Dans le cas de cette maquette, l'environnement \lstinline!exercice! dispose de la clé \Cle{Confiance} permettant de construire automatiquement le contrat de confiance. La commande \lstinline!\AfficheContrat{}! représente un schéma associé au contrat proposé par l'enseignant : suivant la réalisation des exercices, l'élève choisit un chemin de remédiation (chemin du bas, repéré par la lettre a), soit un chemin d'approfondissement (chemin du haut, repéré par la lettre b).
-\\Ce schéma se construit seul, automatiquement, après que l'enseignant ait utilisé la clé \Cle{Confiance} dans la création de ses exercices. Il faudra néanmoins deux compilations. \`A noter que ce schéma, avec l'utilisation du package \lstinline!hyperref!, dispose de liens cliquables sur les exercices sélectionnés pour le parcours.
-\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{\small}
-\begin{Maquette}[Contrat]{Theme=Calcul mental}
- \begin{center}
- \AfficheContrat%
- \end{center}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a}]
-
- \end{exercice}
- \begin{exercice}[Confiance={b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\clearpage
-\begin{Maquette}[Contrat]{Theme=Calcul mental}
- \begin{center}
- \AfficheContrat%
- \end{center}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a}]
-
- \end{exercice}
- \begin{exercice}[Confiance={b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
- \begin{exercice}[Confiance={a,b}]
-
- \end{exercice}
-\end{Maquette}
-\clearpage
-\subsection*{Focus sur la maquette \lstinline!FdR!}
-Dans le cas de cette maquette, l'environnement \lstinline!exercice! dispose des clés \Cle{Route} et \Cle{Stop} permettant de construire automatiquement une feuille de route. La commande \lstinline!\AfficheFdR{}! représente un schéma associé à la feuille de route construite par l'enseignant : l'élève réalise les exercices de la ligne du bas puis demande la validation de l'enseignant. Une fois la validation acquise, l'enseignant peut lui proposer de faire les exercices de la ligne du haut ou de poursuivre la feuille de route.
-\\Ce schéma se construit seul, automatiquement, après que l'enseignant ait utilisé les clés \Cle{Route} et \Cle{Stop} dans la création de ses exercices. Il faudra néanmoins deux compilations. \`A noter que ce schéma, avec l'utilisation du package \lstinline!hyperref!, dispose de liens cliquables sur les exercices sélectionnés pour le parcours.
-\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{\scriptsize}
-\begin{Maquette}[FdR]{Theme=Calcul mental}
- \begin{center}
- \AfficheFdR%
- \end{center}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[Route,Stop]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\clearpage
-\begin{Maquette}[FdR]{Theme=Calcul mental}
- \begin{center}
- \AfficheFdR%
- \end{center}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[Route,Stop]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[Route]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
- \begin{exercice}[]
-
- \end{exercice}
-\end{Maquette}
-\clearpage
-\subsection*{Focus sur la maquette \lstinline!CAN!}
-Dans le cas de cette maquette, l'environnement \lstinline!exercice! n'admet aucune clé. La création de la page de garde et du tableau est automatique mais nécessite {\em au moins} deux compilations pour adapter au mieux les dimensions du tableau.
-
-La commande \lstinline!\Complement{}! permet d'ajouter du contenu à la colonne \og Réponse\fg.
-
-\begin{Codes}[listing only]{0.5}{}
-% cet exemple a été créé avec une feuille au format A5
-\begin{Maquette}[CAN]{CoefQ=0.5,CoefR=0.25}
- \begin{exercice}
- $17+19$
- \end{exercice}
- \begin{exercice}
- $ABC$ est un triangle tel que $\widehat{ABC}=\ang{30}$ et $\widehat{BCA}=\ang{70}$. Alors\dots
- \Complement{$\widehat{CAB}=\dots$}
- \end{exercice}
-\end{Maquette}
-\end{Codes}
-\includegraphics{pg_0002-crop.pdf}
-\clearpage
-\subsection*{\og Correction\fg{} des exercices}
- Un exercice avec correction pourra\footnote{Dans les faits, seul l'environnement \lstinline!exercice! est nécessaire.} avoir la forme suivante :
- \begin{Codes}[listing only]{0.4}{}
-\begin{exercice}
-
-\end{exercice}
-\begin{Solution}
-
-\end{Solution}
-\begin{Reponse}
-
-\end{Reponse}
-\begin{Indice}
-
-\end{Indice}
-\end{Codes}
-On peut gérer la correction des exercices à deux niveaux :
-\begin{Description}
- \item[Au niveau de l'environnement ]\lstinline!Maquette!, on dispose des clés :
-\end{Description}
- \begin{Description}
-\item[la Clé \Cle{CorrigeApres}]\Defaut{false}\par qui affiche le corrigé, s'il existe, après l'énoncé de l'exercice.
-\item[la Clé \Cle{CorrigeFin}]\Defaut{false}\par qui affiche les corrigés, s'ils existent, à la fin du document.
- \begin{quote}
- \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{Colonnes}]\Defaut{1}\par définit le nombre de colonnes utilisé 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}
-\end{Description}
-
-Pour les maquettes \lstinline!ParcoursPerso! et \lstinline!CAN!, seule la clé \Cle{CorrigeFin} est autorisée.
-
-\begin{Codes}[listing only]{0.4}{\footnotesize}
-\begin{Maquette}[IE,CorrigeApres]{Theme=Calcul littéral}
- \begin{exercice}% n'a pas de correction
- \begin{enumerate}
- \item $1+1=?$
- \end{enumerate}
- \end{exercice}
- \begin{exercice}
- \begin{enumerate}
- \item Développer $A=2(x+3)$.
- \end{enumerate}
- \end{exercice}
- \begin{Solution}
- \begin{enumerate}
- \item $A=2(x+3)=2\times x+2\times3=2x+6$
- \end{enumerate}
- \end{Solution}
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[IE,CorrigeApres]{Theme=Calcul littéral}
- \begin{exercice}% n'a pas de correction
- \begin{enumerate}
- \item $1+1=?$
- \end{enumerate}
- \end{exercice}
- \begin{exercice}
- \begin{enumerate}
- \item Développer $A=2(x+3)$.
- \end{enumerate}
- \end{exercice}
- \begin{Solution}
- \begin{enumerate}
- \item $A=2(x+3)=2\times x+2\times3=2x+6$
- \end{enumerate}
- \end{Solution}
-\end{Maquette}
-\begin{Description}
-\item[Au niveau de l'environnement ]\lstinline!exercice!, on peut affiner la correction à l'aide des clés :
-\begin{Description}
-\item[la Clé \Cle{PasCorrige}]\Defaut{false}\par supprime l'affichage de tous types de correction pour l'exercice considéré;
-\item[la Clé \Cle{Pouce}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Indice!;
-\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!.
-
-\bigskip
-
-\begin{Codes}[listing only]{0.4}{}
-\begin{Maquette}[DS,CorrigeFin]{Numero=3}
- \begin{exercice} % La clé CorrigeFin utilise le contenu de l'environnement Solution
- $1+\dfrac2{10}=$
- \end{exercice}
- \begin{Solution}
- $1+\dfrac2{10}=\num{1.2}$
- \end{Solution}
- \begin{Reponse}
- \num{1.2}
- \end{Reponse}
- \begin{Indice}
- Une unité représente dix dixièmes de l'unité.
- \end{Indice}
- \begin{exercice}[PasCorrige] % Malgré les environnements Solution, Reponse, Indice
- $7(x+5)=$ ?
- \end{exercice}
- \begin{Solution}
- $7(x+5)=7\times x+7\times 5=7x+35$
- \end{Solution}
- \begin{Indice}
- Utiliser la simple distributivité.
- \end{Indice}
- \begin{Reponse}
- $7x+35$
- \end{Reponse}
- \begin{exercice}[Direct] % On affiche uniquement l'environnement Reponse
- $\dfrac34-\dfrac25=$?
- \end{exercice}
- \begin{Solution}
- $\dfrac34-\dfrac25=\dfrac{15}{20}-\dfrac8{20}=\dfrac7{20}$
- \end{Solution}
- \begin{Reponse}
- $\dfrac7{20}$
- \end{Reponse}
- \begin{Indice}
- C'est une soustraction, il faut réduire au même dénominateur.
- \end{Indice}
- \begin{exercice}[Pouce] % On affiche uniquement l'environnement Indice
- Si $x=3$, que vaut $x^3+4x$ ?
- \end{exercice}
- \begin{Solution}
- $x^3+4x=3^3+4\times3=27+12=39$
- \end{Solution}
- \begin{Indice}
- Que veut dire $x^3$ ? Que veut dire $4x$ ?
- \end{Indice}
- \begin{Reponse}
- 39
- \end{Reponse}
-\end{Maquette}
-\end{Codes}
-\begin{Maquette}[DS,CorrigeFin]{Numero=3}
- \begin{exercice} % La clé CorrigeFin utilise le contenu de l'environnement Solution
- $1+\dfrac2{10}=$
- \end{exercice}
- \begin{Solution}
- $1+\dfrac2{10}=\num{1.2}$
- \end{Solution}
- \begin{Reponse}
- \num{1.2}
- \end{Reponse}
- \begin{Indice}
- Une unité représente dix dixièmes de l'unité.
- \end{Indice}
- \begin{exercice}[PasCorrige]
- $7(x+5)=$ ?
- \end{exercice}
- \begin{Solution}
- $7(x+5)=7\times x+7\times 5=7x+35$
- \end{Solution}
- \begin{Indice}
- Utiliser la simple distributivité.
- \end{Indice}
- \begin{Reponse}
- $7x+35$
- \end{Reponse}
- \begin{exercice}[Direct]
- $\dfrac34-\dfrac25=$?
- \end{exercice}
- \begin{Solution}
- $\dfrac34-\dfrac25=\dfrac{15}{20}-\dfrac8{20}=\dfrac7{20}$
- \end{Solution}
- \begin{Reponse}
- $\dfrac7{20}$
- \end{Reponse}
- \begin{Indice}
- C'est une soustraction, il faut réduire au même dénominateur.
- \end{Indice}
- \begin{exercice}[Pouce]
- Si $x=3$, que vaut $x^3+4x$ ?
- \end{exercice}
- \begin{Solution}
- $x^3+4x=3^3+4\times3=27+12=39$
- \end{Solution}
- \begin{Indice}
- Que veut dire $x^3$ ? Que veut dire $4x$ ?
- \end{Indice}
- \begin{Reponse}
- 39
- \end{Reponse}
-\end{Maquette}
-\clearpage
-\section*{Historique}
-\begin{description}
-\item[\PfMfiledate{}--v \PfMfileversion] Création du format CAN (Course aux nombres).
-\end{description}
-\end{document}
-%%% Local Variables:
-%%% TeX-engine: luatex
-%%% End:
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty 2023-11-10 21:39:44 UTC (rev 68802)
+++ trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty 2023-11-10 21:40:05 UTC (rev 68803)
@@ -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/11/01}%
+\def\filedate{2023/11/09}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.65}%
+\def\fileversion{0.75}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -275,51 +275,51 @@
}%
%%
-%\newcounter{Melquestions}%
-%\newcounter{Comptequestions}%
+\newcounter{Melquestions}%
+\newcounter{Comptequestions}%
%
-%\NewDocumentEnvironment{Enumelange}{o+b}{%
-% \setcounter{Melquestions}{0}%
-% \setsepchar{\item}%
-% \readlist*\ListeTest{#2}%
-% \IfNoValueTF{#1}{%
-% \ChoixAleaMultiMix{\ListeTestlen}{1}{\ListeTestlen}{0}{\ListeShuffleA}%
-% \xdef\MelangeValeurTotale{\ListeTestlen}%
-% }{%
-% \ChoixAleaMultiMix{#1}{1}{\ListeTestlen}{0}{\ListeShuffleA}%
-% \xdef\MelangeValeurTotale{#1}%
-% }%
-% \ExporteListe{ListeShuffle}{\ListeShuffleA}%
-% \setsepchar{,}\ignoreemptyitems%
-% \readlist*\ListeNumQ{\ListeShuffleA}%
-% \setcounter{Comptequestions}{1}%
-% \begin{enumerate}
-% \loop%
-% \setcounter{Melquestions}{\ListeNumQ[\theComptequestions]}%
-% \item \ListeTest[\theMelquestions]%
-% \stepcounter{Comptequestions}%
-% \ifnum\theComptequestions<\numexpr\MelangeValeurTotale+1%
-% \repeat%
-% \end{enumerate}
-%}{}%
+\NewDocumentEnvironment{Enumelange}{o+b}{%
+ \setcounter{Melquestions}{0}%
+ \setsepchar{\item}%
+ \readlist*\ListeTest{#2}%
+ \IfNoValueTF{#1}{%
+ \ChoixAleaMultiMix{\ListeTestlen}{1}{\ListeTestlen}{0}{\ListeShuffleA}%
+ \xdef\MelangeValeurTotale{\ListeTestlen}%
+ }{%
+ \ChoixAleaMultiMix{#1}{1}{\ListeTestlen}{0}{\ListeShuffleA}%
+ \xdef\MelangeValeurTotale{#1}%
+ }%
+ \ExporteListe{ListeShuffle}{\ListeShuffleA}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeNumQ{\ListeShuffleA}%
+ \setcounter{Comptequestions}{1}%
+ \begin{enumerate}
+ \loop%
+ \setcounter{Melquestions}{\ListeNumQ[\theComptequestions]}%
+ \item \ListeTest[\theMelquestions]%
+ \stepcounter{Comptequestions}%
+ \ifnum\theComptequestions<\numexpr\MelangeValeurTotale+1%
+ \repeat%
+ \end{enumerate}
+}{}%
-%\NewDocumentEnvironment{Enumelangesol}{b}{%
-% \setcounter{Melquestions}{0}%
-% \setsepchar{\item}%
-% \readlist*\ListeTest{#1}%
-% \RestoreListe{ListeShuffle}%
-% \setsepchar{,}\ignoreemptyitems%
-% \readlist*\ListeNumQ{\ListeShuffle}%
-% \setcounter{Comptequestions}{1}%
-% \begin{enumerate}
-% \loop%
-% \setcounter{Melquestions}{\ListeNumQ[\theComptequestions]}%
-% \item \ListeTest[\theMelquestions]%
-% \stepcounter{Comptequestions}%
-% \ifnum\theComptequestions<\numexpr\ListeNumQlen+1%
-% \repeat%
-% \end{enumerate}
-%}{}%
+ \NewDocumentEnvironment{Enumelangesol}{b}{%
+ \setcounter{Melquestions}{0}%
+ \setsepchar{\item}%
+ \readlist*\ListeTest{#1}%
+ \RestoreListe{ListeShuffle}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeNumQ{\ListeShuffle}%
+ \setcounter{Comptequestions}{1}%
+ \begin{enumerate}
+ \loop%
+ \setcounter{Melquestions}{\ListeNumQ[\theComptequestions]}%
+ \item \ListeTest[\theMelquestions]%
+ \stepcounter{Comptequestions}%
+ \ifnum\theComptequestions<\numexpr\ListeNumQlen+1%
+ \repeat%
+ \end{enumerate}
+}{}%
% Définitions pour les compétences
\NewDocumentCommand\Competences{O{3}m}{%
@@ -931,13 +931,13 @@
\xdef\PfMListeExerciceFdR{\csname \Alph{PfMMaquette}FdRtrue\endcsname}%
\ifcsname \Alph{PfMMaquette}FdRstop\endcsname
\xdef\PfMListeExerciceFdRStop{\csname \Alph{PfMMaquette}FdRstop\endcsname}%
- \else
- \xdef\PfMListeExerciceFdRStop{}
- \fi
+ \else%
+ \xdef\PfMListeExerciceFdRStop{}%
+ \fi%
% On ajoute un stop au dernier exercice
\xdef\PfMListeExerciceFdRStop{\PfMListeExerciceFdRStop,\FdRTotalExo}%
-% Liste Exos : \PfMListeExerciceFdR\\
-% Liste Stop : \PfMListeExerciceFdRStop\\
+ %Liste Exos : \PfMListeExerciceFdR\\
+ %Liste Stop : \PfMListeExerciceFdRStop\\
\BuildRouteTikz{\FdRTotalExo}{\PfMListeExerciceFdR}{\PfMListeExerciceFdRStop}%
}%
}%
@@ -947,12 +947,12 @@
\setsepchar{,}\ignoreemptyitems%
\readlist*\ListeRetiensExo{#2}%
\readlist*\ListeRetiensStop{#3}%
- \reademptyitems
-% Les exos retenus : \showitems\ListeRetiensExo[]\\
-% Les exos stop : \showitems\ListeRetiensStop[]\\
+ \reademptyitems%
+ %Les exos retenus : \showitems\ListeRetiensExo[]\\
+ %Les exos stop : \showitems\ListeRetiensStop[]\\
\xdef\LongueurA{\ListeRetiensExolen}%
\xdef\LongueurB{\fpeval{\ListeRetiensStoplen-1}}%
- \xdef\PfMFooExoIncrustes{}
+ \xdef\PfMFooExoIncrustes{}%
\xintFor* ##1 in{\xintSeq{1}{#1}}\do{%
\xdef\RetiensExclus{0}%
\xintFor* ##2 in {\xintSeq{1}{\LongueurA}}\do{%
@@ -960,11 +960,18 @@
}%
\xintifboolexpr{\RetiensExclus>0}{}{\xdef\PfMFooExoIncrustes{\PfMFooExoIncrustes,##1}}%
}%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\ListeRetiensExclus{\PfMFooExoIncrustes}%
- \xdef\LongueurC{\ListeRetiensExcluslen}%
+ %%%%%%%%%%
+ %PfMFooExoIncrustes : \PfMFooExoIncrustes\\%
+ \ifx\bla\PfMFooExoIncrustes\bla%
+ \xdef\LongueurC{0}%
+ \else%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRetiensExclus{\PfMFooExoIncrustes}%
+ \xdef\LongueurC{\ListeRetiensExcluslen}%
+ \fi%
+ %%%%%%%%%%%%%%%%%%%%
% portion 1
-% Portion 1 :\\
+ % Portion 1 :\\
\xdef\ListeRoute{}%
\xdef\ListeRouteExclus{}%
\xdef\NBExo{0}\xdef\NBExoSup{0}%
@@ -975,9 +982,12 @@
\xdef\NBExo{\fpeval{\NBExo+1}}\xdef\ListeRoute{\ListeRoute,\ListeRetiensExo[##1]}%
}%
}%
- \xintFor* ##1 in{\xintSeq{1}{\LongueurC}}\do{%
- \xintifboolexpr{\ListeRetiensExclus[##1]>\ListeRetiensStop[1]}{}{\xdef\NBExoSup{\fpeval{\NBExoSup+1}}\xdef\ListeRouteExclus{\ListeRouteExclus,\ListeRetiensExclus[##1]}}%
- }%
+ \ifnum\LongueurC=0\relax
+ \else
+ \xintFor* ##1 in{\xintSeq{1}{\LongueurC}}\do{%
+ \xintifboolexpr{\ListeRetiensExclus[##1]>\ListeRetiensStop[1]}{}{\xdef\NBExoSup{\fpeval{\NBExoSup+1}}\xdef\ListeRouteExclus{\ListeRouteExclus,\ListeRetiensExclus[##1]}}%
+ }%
+ \fi
\xintifboolexpr{\NBExoSup==\NBExo}{}{%
\xintifboolexpr{\NBExoSup>\NBExo}{%
\xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
@@ -991,21 +1001,24 @@
}%
\xdef\ListeRoute{\ListeRoute,0}%0 pour le symbole stop
\xdef\ListeRouteExclus{\ListeRouteExclus,0}%0 pour le symbole stop
-% Route Basse : \ListeRoute\\
-% Route Haute : \ListeRouteExclus\\
+ %Route Basse P1 : \ListeRoute\\
+ %Route Haute P1 : \ListeRouteExclus\\
% portions centrales
-% Portions centrales :\\
- \xintifboolexpr{\ListeRetiensStoplen>2}{%
- \xintFor* ##1 in{\xintSeq{1}{\fpeval{\LongueurB-1}}}\do{%
- \xdef\NBExo{0}\xdef\NBExoSup{0}
- \xintFor* ##2 in{\xintSeq{1}{\LongueurA}}\do{%
- \xintifboolexpr{\ListeRetiensExo[##2]<\fpeval{\ListeRetiensStop[##1]+1} || \ListeRetiensExo[##2]>\ListeRetiensStop[\fpeval{##1+1}]}{}{\xdef\NBExo{\fpeval{\NBExo+1}}\xdef\ListeRoute{\ListeRoute,\ListeRetiensExo[##2]}%
- }%
- }%
- \xintFor* ##2 in{\xintSeq{1}{\LongueurC}}\do{%
- \xintifboolexpr{\ListeRetiensExclus[##2]<\fpeval{\ListeRetiensStop[##1]+1} || \ListeRetiensExclus[##2]>\ListeRetiensStop[\fpeval{##1+1}]}{}{\xdef\NBExoSup{\fpeval{\NBExoSup+1}}\xdef\ListeRouteExclus{\ListeRouteExclus,\ListeRetiensExclus[##2]}%
- }%%
- }%
+ % Portions centrales :\\
+ \xintifboolexpr{\ListeRetiensStoplen>2}{%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{\LongueurB-1}}}\do{%
+ \xdef\NBExo{0}\xdef\NBExoSup{0}%
+ \xintFor* ##2 in{\xintSeq{1}{\LongueurA}}\do{%
+ \xintifboolexpr{\ListeRetiensExo[##2]<\fpeval{\ListeRetiensStop[##1]+1} || \ListeRetiensExo[##2]>\ListeRetiensStop[\fpeval{##1+1}]}{}{\xdef\NBExo{\fpeval{\NBExo+1}}\xdef\ListeRoute{\ListeRoute,\ListeRetiensExo[##2]}%
+ }%
+ }%
+ \ifnum\LongueurC=0\relax
+ \else
+ \xintFor* ##2 in{\xintSeq{1}{\LongueurC}}\do{%
+ \xintifboolexpr{\ListeRetiensExclus[##2]<\fpeval{\ListeRetiensStop[##1]+1} || \ListeRetiensExclus[##2]>\ListeRetiensStop[\fpeval{##1+1}]}{}{\xdef\NBExoSup{\fpeval{\NBExoSup+1}}\xdef\ListeRouteExclus{\ListeRouteExclus,\ListeRetiensExclus[##2]}%
+ }%%
+ }%
+ \fi
\xintifboolexpr{\NBExoSup==\NBExo}{}{%
\xintifboolexpr{\NBExoSup>\NBExo}{%
\xintFor* ##3 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
@@ -1019,38 +1032,43 @@
}%
\xdef\ListeRoute{\ListeRoute,0}\xdef\ListeRouteExclus{\ListeRouteExclus,0}%
}%
- }{}%
+ }{}%
+ %Route Basse P2 : \ListeRoute\\
+ %Route Haute P2 : \ListeRouteExclus\\
% portion finale
-% Portion fin \\
- \xintifboolexpr{\ListeRetiensStoplen>1}{%
- \xdef\NBExo{0}\xdef\NBExoSup{0}%
- \xintFor* ##1 in{\xintSeq{1}{\LongueurA}}\do{%
- \xintifboolexpr{\ListeRetiensExo[##1]>\fpeval{\ListeRetiensStop[\ListeRetiensStoplen-1]}}{\xdef\NBExo{\fpeval{\NBExo+1}}\xdef\ListeRoute{\ListeRoute,\ListeRetiensExo[##1]}{}%
- }%
- }%
- \xintFor* ##1 in{\xintSeq{1}{\LongueurC}}\do{%
- \xintifboolexpr{\ListeRetiensExclus[##1]>\fpeval{\ListeRetiensStop[\ListeRetiensStoplen-1]}}{\xdef\NBExoSup{\fpeval{\NBExoSup+1}}\xdef\ListeRouteExclus{\ListeRouteExclus,\ListeRetiensExclus[##1]}{}%
- }%
- }%
- \xintifboolexpr{\NBExoSup==\NBExo}{}{
- \xintifboolexpr{\NBExoSup>\NBExo}{%
- \xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
- \xdef\ListeRoute{\ListeRoute,-1}%0 pour l'écart
- }%
- }{%
- \xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExo-\NBExoSup}}}\do{%
- \xdef\ListeRouteExclus{\ListeRouteExclus,-1}%0 pour l'écart
- }%
- }%
- }%
- \xdef\ListeRoute{\ListeRoute,0}%0 pour le symbole stop
- \xdef\ListeRouteExclus{\ListeRouteExclus,0}%0 pour le symbole stop
- }{}%
- \setsepchar{,}\ignoreemptyitems
+ % Portion fin \\
+ \xintifboolexpr{\ListeRetiensStoplen>1}{%
+ \xdef\NBExo{0}\xdef\NBExoSup{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\LongueurA}}\do{%
+ \xintifboolexpr{\fpeval{\ListeRetiensExo[##1]}>\fpeval{\ListeRetiensStop[\ListeRetiensStoplen-1]}}{\xdef\NBExo{\fpeval{\NBExo+1}}\xdef\ListeRoute{\ListeRoute,\ListeRetiensExo[##1]}}{}%
+ }%
+ \ifnum\LongueurC=0\relax
+ \else
+ \xintFor* ##1 in{\xintSeq{1}{\LongueurC}}\do{%
+ \xintifboolexpr{\ListeRetiensExclus[##1]>\fpeval{\ListeRetiensStop[\ListeRetiensStoplen-1]}}{\xdef\NBExoSup{\fpeval{\NBExoSup+1}}\xdef\ListeRouteExclus{\ListeRouteExclus,\ListeRetiensExclus[##1]}}{}%
+ }%
+ \fi
+ \xintifboolexpr{\NBExoSup==\NBExo}{}{%
+ \xintifboolexpr{\NBExoSup>\NBExo}{%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
+ \xdef\ListeRoute{\ListeRoute,-1}%0 pour l'écart
+ }%
+ }{%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExo-\NBExoSup}}}\do{%
+ \xdef\ListeRouteExclus{\ListeRouteExclus,-1}%0 pour l'écart
+ }%
+ }%
+ }%
+ \xdef\ListeRoute{\ListeRoute,0}%0 pour le symbole stop
+ \xdef\ListeRouteExclus{\ListeRouteExclus,0}%0 pour le symbole stop
+ }{}%
+ %Route Basse P3 : \ListeRoute\\
+ %Route Haute P3 : \ListeRouteExclus\\
+ \setsepchar{,}\ignoreemptyitems%
\readlist*\ListeRouteBasse{\ListeRoute}%
\readlist*\ListeRouteHaute{\ListeRouteExclus}%
-% Liste Route : \showitems\ListeRouteBasse[]\\
-% Liste Exclus : \showitems\ListeRouteHaute[]
+ %Liste Route : \showitems\ListeRouteBasse[]\\
+ %Liste Exclus : \showitems\ListeRouteHaute[]\\
\begin{tikzpicture}
\coordinate (A-0) at (-\PfMLargeurSchemaFdR,0);
\coordinate (A-1) at (0,0);%
@@ -1060,20 +1078,86 @@
\coordinate[xshift=\PfMLargeurSchemaFdR] (B-##1) at (B-\fpeval{##1-1});%
}%
\coordinate[xshift=\PfMLargeurSchemaFdR] (A-\fpeval{\ListeRouteBasselen+1}) at (A-\ListeRouteBasselen);%
- %Route haute
- \xintFor* ##1 in{\xintSeq{1}{\ListeRouteHautelen}}\do{%
- \xintifboolexpr{\ListeRouteHaute[##1]<0}{%
- \draw[] (B-##1) to (B-\fpeval{##1+1});
- }{%
- \xintifboolexpr{\ListeRouteHaute[##1]==0}{%
- \draw (B-##1) to (A-##1);%
- }{%
- \draw[] (B-##1) to (B-\fpeval{##1+1});
- \draw[fill=white](B-##1) circle (\PfMRayonSchemaFdR) node{\ref{page-\thePfMMaquette-\ListeRouteHaute[##1]}};%
- }
- }%
- }%
- % Route basse
+ % Route haute
+ % Correct !
+ %\xintFor* ##1 in{\xintSeq{1}{\ListeRouteHautelen}}\do{%
+ % \xintifboolexpr{\ListeRouteHaute[##1]<0}{%
+ % \draw[red] (B-##1) to (B-\fpeval{##1+1});
+ % }{%
+ % \xintifboolexpr{\ListeRouteHaute[##1]==0}{%
+ % \draw (B-##1) to (A-##1);%
+ % }{%
+ % \draw[blue] (B-##1) to (B-\fpeval{##1+1});
+ % \draw[fill=white](B-##1) circle (\PfMRayonSchemaFdR) node{\ref{page-\thePfMMaquette-\ListeRouteHaute[##1]}};
+ % }%
+ % }%
+ %}%
+ %% Fin Correct !
+ \xdef\RetiensLesZeros{0}%
+ \xdef\RetiensLeDepart{0}%
+ \xdef\RetiensLesReponses{0}%
+ \xdef\RetiensNonAffichees{0}%
+ \xdef\RetiensEtage{0}
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRouteHautelen}}\do{%
+ \xintifboolexpr{\ListeRouteHaute[##1]==0}{%
+ \xdef\RetiensEtage{\fpeval{\RetiensEtage+1}}%
+ \xdef\RetiensLesReponses{\fpeval{\RetiensLesReponses+1}}%
+ \xintFor* ##2 in{\xintSeq{\fpeval{\RetiensLeDepart+1}}{\fpeval{\RetiensLeDepart+\RetiensLesReponses}}}\do{%
+ \xintifboolexpr{\ListeRouteHaute[##2]<0}{%
+ \xdef\RetiensNonAffichees{\fpeval{\RetiensNonAffichees+1}}
+ }{}%
+ }
+ %\node at (0,\RetiensEtage) {Il y a \RetiensNonAffichees fois le nombre -1.};
+ % On affiche
+ \xintifboolexpr{\fpeval{\RetiensLesReponses-1}==\RetiensNonAffichees}{%
+% %
+ }{%
+ \xintFor* ##2 in{\xintSeq{\fpeval{\RetiensLeDepart+1}}{\fpeval{\RetiensLeDepart+\RetiensLesReponses}}}\do{
+ \xintifboolexpr{\ListeRouteHaute[##2]<0}{%
+ \draw (B-##2) to (B-\fpeval{##2+1});%
+ }{%
+ \xintifboolexpr{\ListeRouteHaute[##2]==0}{%
+ %\xintifboolexpr{\fpeval{\RetiensLesReponses-1}==\RetiensNonAffichees}{}{
+ \draw (B-##2) to (A-##2);%
+ %}
+ }{%
+ \draw[] (B-##2) to (B-\fpeval{##2+1});%
+ \draw[fill=white](B-##2) circle (\PfMRayonSchemaFdR) node{\ref{page-\thePfMMaquette-\ListeRouteHaute[##2]}};%
+ }%
+ }%
+ }%
+ }%
+ %
+ \xdef\RetiensLeDepart{\fpeval{\RetiensLeDepart+\RetiensLesReponses}}
+ \xdef\RetiensLesReponses{0}%
+ \xdef\RetiensNonAffichees{0}%
+ }{\xdef\RetiensLesReponses{\fpeval{\RetiensLesReponses+1}}%
+ }%
+ }%
+ %Il y a \RetiensLesReponses fois le nombre -1.\par
+ %\xintifboolexpr{\RetiensLesReponses==\fpeval{\RetiensLeDepart+1+\RetiensLesZeros}}{%
+ % \xdef\RetiensLeDepart{\RetiensLeDepart+\RetiensLesZeros}%
+ % \xdef\RetiensLesZeros{0}%
+ %}{
+ % \xintFor* ##2 in{\xintSeq{\fpeval{\RetiensLeDepart+1}}{\fpeval{\RetiensLeDepart+\RetiensLesZeros}}}\do{
+ % \xintifboolexpr{\ListeRouteHaute[##2]<0}{%
+ % \draw[red] (B-##2) to (B-\fpeval{##2+1});
+ % }{%
+ % \xintifboolexpr{\ListeRouteHaute[##2]==0}{%
+ % \draw (B-##2) to (A-##2);%
+ % }{%
+ % \draw[blue] (B-##2) to (B-\fpeval{##2+1});
+ % \draw[fill=white](B-##2) circle (\PfMRayonSchemaFdR) node{\ref{page-\thePfMMaquette-\ListeRouteHaute[##2]}};
+ % }%
+ % }%
+ % }%
+ % \xdef\RetiensLeDepart{\RetiensLeDepart+\RetiensLesZeros}%
+ % \xdef\RetiensLesZeros{0}%
+ %}{%
+ % \xdef\RetiensLesZeros{\fpeval{\RetiensLesZeros+1}}%
+ %}
+ %}%
+ % Route basse
\foreach\i in{1,...,\fpeval{\ListeRouteBasselen}}{%
\draw[line width=1pt] (A-\fpeval{\i-1}) -- (A-\i);%
}%
@@ -1455,11 +1539,14 @@
}{\endtcolorbox%
}
-\newenvironment{exerciceFicheold}[1][]{%
+\NewDocumentEnvironment{exerciceFiche}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
- \setKV[ClesExercices]{#1}%
+ \setKV[ClesExercices]{#2}%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
\colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}%
\colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}%
\setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
@@ -1471,76 +1558,62 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
-}{\endtcolorbox%
-}
-
-\NewDocumentEnvironment{exerciceFichenewold}{o+b}{%
- \setcounter{PfMAlea}{0}%
- \setcounter{PfMNbLogo}{1}%
- \useKVdefault[ClesExercices]%
- \setKV[ClesExercices]{#1}%
- \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}%
- \colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}%
- \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
- \refstepcounter{PfMSection}%
- \PfMChoixCorrection%
- \refstepcounter{PfMExo}%
- \tcolorbox[%
- tikzfiche,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
- #2
+ #3
\endtcolorbox%
}{}
-\NewDocumentEnvironment{exerciceFiche}{so+b}{%
+\NewDocumentEnvironment{exerciceDS}{so+b}{%
\setcounter{PfMAlea}{0}%
- \setcounter{PfMNbLogo}{1}%
\useKVdefault[ClesExercices]%
\setKV[ClesExercices]{#2}%
\IfBooleanTF{#1}{%
\setKV[ClesExercices]{Numerote=false}%
}{}%
- \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}%
- \colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}%
- \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \immediate\write\@auxout{%
+ \string\opcopy{\thePfMExo}{TotalExo}%
+ }
+ \ifboolKV[ClesExercices]{BaremeTotal}{%
+ \immediate\write\@auxout{%
+ \string\opcopy{0}{total\the\c at PfMSection-\the\c at PfMExo}%
+ }}{}
\tcolorbox[%
- tikzfiche,
+ tikzds,
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
#3
\endtcolorbox%
-}{}
+}{}%
-\NewDocumentEnvironment{exerciceDS}{so+b}{%
+\NewDocumentEnvironment{ExerciceRecapBrevet}{so+b}{%
\setcounter{PfMAlea}{0}%
\useKVdefault[ClesExercices]%
\setKV[ClesExercices]{#2}%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
+ \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}%
+ \colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}%
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \immediate\write\@auxout{%
- \string\opcopy{\thePfMExo}{TotalExo}%
- }
\ifboolKV[ClesExercices]{BaremeTotal}{%
\immediate\write\@auxout{%
\string\opcopy{0}{total\the\c at PfMSection-\the\c at PfMExo}%
- }}{}
+ }%
+ }{}%
\tcolorbox[%
- tikzds,
+ tikzrecapbrevet,
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
- #3
-\endtcolorbox%
-}{}%
+}{\endtcolorbox%
+}
-\newenvironment{exerciceDSold}[1][]{%
+\newenvironment{ExerciceRecapBrevetold}[1][]{%
\setcounter{PfMAlea}{0}%
\useKVdefault[ClesExercices]%
\setKV[ClesExercices]{#1}%
@@ -1547,20 +1620,19 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
- \immediate\write\@auxout{%
- \string\opcopy{\thePfMExo}{TotalExo}%
- }
\ifboolKV[ClesExercices]{BaremeTotal}{%
\immediate\write\@auxout{%
\string\opcopy{0}{total\the\c at PfMSection-\the\c at PfMExo}%
- }}{}
+ }%
+ }{}%
\tcolorbox[%
- tikzds,
+ tikzrecapbrevet,
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
}{\endtcolorbox%
-}%
+}
+
\makeatother
%%% Recap Brevet
%%% Style Brevet
@@ -1594,26 +1666,6 @@
}
\makeatletter
-\newenvironment{ExerciceRecapBrevet}[1][]{%
- \setcounter{PfMAlea}{0}%
- \useKVdefault[ClesExercices]%
- \setKV[ClesExercices]{#1}%
- \refstepcounter{PfMSection}%
- \PfMChoixCorrection%
- \refstepcounter{PfMExo}%
- \ifboolKV[ClesExercices]{BaremeTotal}{%
- \immediate\write\@auxout{%
- \string\opcopy{0}{total\the\c at PfMSection-\the\c at PfMExo}%
- }%
- }{}%
- \tcolorbox[%
- tikzrecapbrevet,
- label is label,
- label=page-\thePfMMaquette-\thePfMExo
- ]
-}{\endtcolorbox%
-}
-
\tcbset{%
tikzrecapbrevet/.style={%
before skip=1em,%
@@ -2120,7 +2172,7 @@
fill=ColExoFiche,
anchor=west,
xshift=\kvtcb at 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}{\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}}{}
@@ -2282,7 +2334,7 @@
},interior engine=empty,
},
fonttitle=\bfseries\sffamily,
- title=Exercice \thePfMExo \ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{},
+ title=Exercice\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{},
overlay unbroken and first={%
\ifboolKV[ClesExercices]{AffichageSource}{%
\node[
@@ -2606,21 +2658,21 @@
\ifboolKV[Boulot]{DS}{%
\setKV[DS]{#2}\TikzDS
\let\exercice\exerciceDS\let\endexercice\endexerciceDS%
- %\ifboolKV[Boulot]{BaremeComplet}{%
- % \begin{center}
- % \TableauRecapitulatif
- % \end{center}
- %}{}%
- %\ifboolKV[Boulot]{CorrigeFin}{%
- % \AddToHook{env/Maquette/after}[Correction]{%
- % \setKV[Boulot]{#1}%
- % \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- % \TikzDSCor{#2}%
- % \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- % \PfMAffichageCorrige%
- % \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
- % }%
- %}{}%
+ \ifboolKV[Boulot]{BaremeComplet}{%
+ \begin{center}
+ \TableauRecapitulatif
+ \end{center}
+ }{}%
+ \ifboolKV[Boulot]{CorrigeFin}{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \setKV[Boulot]{#1}%
+ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzDSCor{#2}%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ }%
+ }{}%
}{%
\ifboolKV[Boulot]{IE}{%
\setKV[IE]{#2}\TikzIE%
@@ -3142,4 +3194,4 @@
\extract{\NbVehiculesINSEE}{1}{\DieselVehiculesINSEE}%
\extract{\NbVehiculesINSEE}{1}{\KmEssenceVehiculesINSEE}%
\extract{\NbVehiculesINSEE}{1}{\KmDieselVehiculesINSEE}%
- }
\ No newline at end of file
+ }
More information about the tex-live-commits
mailing list.