texlive[68967] Master/texmf-dist: profmaquette (25nov23)
commits+karl at tug.org
commits+karl at tug.org
Sat Nov 25 21:45:35 CET 2023
Revision: 68967
https://tug.org/svn/texlive?view=revision&revision=68967
Author: karl
Date: 2023-11-25 21:45:35 +0100 (Sat, 25 Nov 2023)
Log Message:
-----------
profmaquette (25nov23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex
trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
Modified: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex 2023-11-25 20:44:27 UTC (rev 68966)
+++ trunk/Master/texmf-dist/doc/latex/profmaquette/ProfMaquette-doc.tex 2023-11-25 20:45:35 UTC (rev 68967)
@@ -2,14 +2,18 @@
\documentclass[12pt,french]{article}
\usepackage[nonamssymb]{ProfCollege}
\usepackage{ProfMaquette}
-\input{Christ7}
\usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
\usepackage{fourier-otf}
+\newfontfamily\myfontDys{FiraMath-Regular.otf}
+
\usepackage[a4paper,margin=1.5cm,nohead,includefoot]{geometry}
\setlength{\parindent}{0pt}
\pagestyle{empty}
\usepackage{mflogo}
+
+\usepackage{graphicx}
+
\usepackage{babel}
\def\MPclipOne#1#2#3{
@@ -122,9 +126,9 @@
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},%
+ emph={Maquette,exercice,Solution,Reponse,Indice},%
classoffset=1,
- keywords={DM,DS,IE,Fiche,CorrigeFin,CorrigeApres,PdT,Parcours,ParcoursPerso,Cours,FdR,Contrat,CAN},
+ keywords={DM,DS,IE,Fiche,CorrigeFin,CorrigeApres,PdT,Parcours,ParcoursPerso,Cours,FdR,Contrat,CAN,Dys},
keywordstyle=\color{OliveDrab},
classoffset=2,
keywords={Theme,Niveau,Classe,Date,Calculatrice,Code,Numero,Sujet,Nom,NumSujet,Fichier,Type,CoefQ,CoefR,CoefJ},
@@ -132,6 +136,9 @@
classoffset=3,
keywords={Pouce,Direct,PasCorrige,BaremeDetaille,BaremeTotal,Source,Titre,Oral,Calculatrice,Competence,Trajet,Confiance,Route,Stop},
keywordstyle=\color{DarkGreen},
+ classoffset=4,
+ keywords={userfiche,userfichecor,userdm,userdmcor,userie,useriecor,userds,userdscor,userparcours,userparcourscor,userpdt,userpdtcor,usercours,usercontrat,usercontratcor,userfdr,userfdrcor},
+ keywordstyle=\color{Purple},
% delim = **[s][\color{purple}]{$}{$},
% moredelim = **[s][\color{purple}]{\\[}{\\]},
% moredelim = **[is][\color{black}]{\\Z}{\\Z},
@@ -286,6 +293,26 @@
\par{\tiny\useKV[Contrat]{Code}}\hfill{\scriptsize\useKV[Contrat]{Date}}%
\end{tcolorbox}%
}
+
+\tcbset{%
+ tikzRemarque/.style={%
+ before skip=1em,
+ enhanced,
+ breakable,
+ colback=Crimson!15,
+ colframe=Crimson!50,
+ underlay unbroken and first={%
+ \node[%
+ name=A,
+ ] at (frame.west){\reflectbox{\includegraphics[scale=0.25]{Attention-1}}};
+ %%
+ \node[%
+ name=B,
+ ] at (frame.east){\includegraphics[scale=0.25]{Attention-1}};
+ %%
+ }
+ }
+}
\begin{document}
\maketitle
\thispagestyle{empty}
@@ -295,10 +322,14 @@
\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.
+\bigskip
+\begin{tcolorbox}[tikzRemarque]
+ Conformément aux usages, il est {\em impératif}, pour le bon fonctionnement de ce package, de nommer les fichiers sources sans espaces, sans caractères spéciaux.
+\end{tcolorbox}
\clearpage
\section*{L'environnement \lstinline!Maquette!}
\begin{Codes}[listing only,listing options={frame=,escapechar=!}]{0.4}{}
-\begin{Maquette}[!\metamk{TypeDocument}!,!\metamk{TypeCorrection}!]{!\metamk{Caracteristiques}!}
+\begin{Maquette}[!\metamk{TypeDocument}!,!\metamk{TypeCorrection}!,!\metamk{Adaptation}!]{!\metamk{Caracteristiques}!}
\end{Maquette}
\end{Codes}
@@ -305,7 +336,8 @@
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;
+\item si ce travail est corrigé \metamk{TypeCorrection} (à la suite d'un exercice ou à la fin du document) ou pas;
+\item et si on doit l'adapter aux élèves à profils particuliers \metamk{Adaptation};
\end{itemize}
puis il indiquera les caractéristiques \metamk{Caracteristiques} du document souhaité.
\clearpage
@@ -545,9 +577,64 @@
\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! :
+\subsection*{Focus sur la clé \Cle{Dys}}
+Lorsque cette clé est activée, le package \lstinline!ProfMaquette! modifie plusieurs paramètres :
+\begin{itemize}
+\item il modifie l'interligne en passant sa valeur à \num{1.5};
+\item il force la non-justification des lignes;
+\item il impose la taille de la fonte en la passant à {\ttfamily 14pt}, que la taille demandée par défaut soit {\ttfamily 10pt}, {\ttfamily 11pt} ou {\ttfamily 12pt}.
+\end{itemize}
+\begin{tcolorbox}
+ Le choix d'une police étant personnel et les études contradictoires, le package \lstinline!ProfMaquette! ne propose aucune fonte particulière. Dans une distribution \TeX{}Live, la police {\ttfamily Fira Sans}\footnotemark{} peut convenir, tant pour le texte que pour les mathématiques.
+\end{tcolorbox}
+Le code suivant montre, à la page suivante, les effets de cette clé \Cle{Dys}.
+\begin{Codes}[listing only]{0.4}{}
+\begin{Maquette}[Fiche,Dys]{Theme=Théorème de Pythagore}
+ \myfontDys%Définie dans le préambule sous la forme
+ %\newfontfamily\myfontDys{FiraMath-Regular.otf}
+ \begin{exercice}
+ On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
+ \begin{enumerate}
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Ce triangle est-il rectangle ? Justifier.
+ \end{enumerate}
+ \end{exercice}
+\end{Maquette}
+\begin{Maquette}[Fiche]{Theme=Théorème de Pythagore}
+ \begin{exercice}
+ On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
+ \begin{enumerate}
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Ce triangle est-il rectangle ? Justifier.
+ \end{enumerate}
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\footnotetext{{\ttfamily{FiraSans-Regular.otf} pour le texte et {\ttfamily FiraMath-Regular.otf} pour les mathématiques.}}
+\clearpage
+\begin{Maquette}[Fiche,Dys]{Theme=Théorème de Pythagore}
+ \myfontDys%Définie dans le préambule.
+ \begin{exercice}
+ On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
+ \begin{enumerate}
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Ce triangle est-il rectangle ? Justifier.
+ \end{enumerate}
+ \end{exercice}
+\end{Maquette}
+\begin{Maquette}[Fiche]{Theme=Théorème de Pythagore}
+ \begin{exercice}
+ On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
+ \begin{enumerate}
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Ce triangle est-il rectangle ? Justifier.
+ \end{enumerate}
+ \end{exercice}
+\end{Maquette}
+\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éfinis.\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!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};%*
@@ -555,7 +642,8 @@
\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};%*
+\item \lstinline!userfdr/userfdrcor! pour la clé \Cle{FdR};%*
+\item et \lstinline!usercan/usercancor! pour la clé \Cle{CAN}.
\end{itemize}
Par exemple, pour une fiche, le style {\em par défaut} permet d'obtenir :
@@ -608,7 +696,9 @@
\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
+
+\bigskip
+
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}
@@ -677,6 +767,23 @@
\end{exercice}
\end{Maquette}
\end{Codes}
+On peut également, pour les maquettes \lstinline!Fiche!, \lstinline!DM!, \lstinline!DS! et \lstinline!IE!, ne pas numéroté un exercice (particulièrement dans le cas où un seul exercice serait présent).
+\begin{Codes}[]{0.4}{}
+\begin{Maquette}[Fiche]{}
+ \begin{exercice}*
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+ \begin{exercice}
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+ \begin{exercice}*
+ La fonction $f:x\mapsto3x+2$ est-elle une fonction affine ? Justifier.
+ \end{exercice}
+\end{Maquette}
+\end{Codes}
+\begin{tcolorbox}
+ Pour la maquette \lstinline!ParcoursPerso!, si un seul exercice se trouve dans la liste, alors il est automatiquement non-numéroté.
+\end{tcolorbox}
\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}
@@ -1321,7 +1428,8 @@
\clearpage
\section*{Historique}
\begin{description}
-\item[\PfMfiledate{}--v \PfMfileversion] Exercices {\em éventuellement} non numérotés. Correction de bugs (Feuille de route).
+\item[\PfMfiledate{}--v \PfMfileversion] Ajout d'une clé \Cle{Dys} pour les élèves à profil particulier.
+ %0.75 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}
Modified: trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty 2023-11-25 20:44:27 UTC (rev 68966)
+++ trunk/Master/texmf-dist/tex/latex/profmaquette/ProfMaquette.sty 2023-11-25 20:45:35 UTC (rev 68967)
@@ -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/09}%
+\def\filedate{2023/11/25}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.75}%
+\def\fileversion{0.8}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -28,9 +28,21 @@
\RequirePackage{modulus}%
+% mettre un option Dys
+\RequirePackage{ragged2e}%
+%\RequirePackage{scalefnt}%
+% Define our simple macro \getfontsize
+%\bgroup%
+%\catcode`@=11%
+%\gdef\getfontsize{\f at size}%
+%\egroup%
+\makeatletter
+%\def\GetPointSize{\@ptsize}
+\gdef\PfMFontSize{\@ptsize}
+\makeatother
%définition des clés
-\RequirePackage{simplekv}
-\setKVdefault[Boulot]{Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,AllDirect=false,AllPouce=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé
+\RequirePackage{simplekv}%
+\setKVdefault[Boulot]{Dys=false,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,AllDirect=false,AllPouce=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé
\defKV[Boulot]{Colonnes=\setKV[Boulot]{CorrectionColonnes}}%
\setKVdefault[Cours]{Couleur=Crimson,Theme=Trace écrite,NomExercice=Exercice}%
\setKVdefault[DM]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname}%
@@ -112,6 +124,28 @@
\newcommand\PfMCompNA{NA}%
\newcommand\PfMCompECA{ECA}%
\newcommand\PfMCompA{A}%
+
+\tcbset{%
+ consignes/.style={
+ empty,
+ right=0pt,
+ left=0mm,
+ top=0pt,
+ bottom=0pt,
+ frame engine=path,
+ colframe=Crimson!10,
+ notitle,
+ sharp corners=west,
+ borderline west={3pt}{0pt}{Crimson!50}
+ }
+}
+
+\NewDocumentEnvironment{Consignes}{+b}{%
+ \begin{tcolorbox}[consignes]
+ \small\sffamily #1
+ \end{tcolorbox}
+}{}%
+
% Pour la gestion de l'aléatoire
% afin de permettre d'utiliser le même exercice.
% Extraire des sommets
@@ -280,8 +314,9 @@
%
\NewDocumentEnvironment{Enumelange}{o+b}{%
\setcounter{Melquestions}{0}%
- \setsepchar{\item}%
+ \setsepchar{\item}\ignoreemptyitems%
\readlist*\ListeTest{#2}%
+% La liste des éléments retenus est \showitems*\ListeTest[]
\IfNoValueTF{#1}{%
\ChoixAleaMultiMix{\ListeTestlen}{1}{\ListeTestlen}{0}{\ListeShuffleA}%
\xdef\MelangeValeurTotale{\ListeTestlen}%
@@ -627,7 +662,7 @@
\makeatletter
%%% Base des exercices DM
\tcbset{%
- BaseDM/.style={%
+ tikzdm/.style={%
lowerbox=ignored,
enhanced,
breakable,
@@ -634,7 +669,7 @@
colback=white,
colframe=PfMCadreDM,
fonttitle=\bfseries\sffamily,
- title=Exercice \thePfMExo,
+ title=Exercice\ifboolKV[ClesExercices]{Numerote}{ \thePfMExo}{}\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{},
attach boxed title to top left={xshift=0.2mm},
boxed title size=standard,
boxed title style={%
@@ -673,13 +708,16 @@
}%
}%
-\newenvironment{exerciceDM}[1][]{%
+\NewDocumentEnvironment{exerciceDM}{so+b}{%
\setcounter{PfMAlea}{0}%
- \useKVdefault[ClesExercices]
- \setKV[ClesExercices]{#1}
- \refstepcounter{PfMSection}
+ \useKVdefault[ClesExercices]%
+ \setKV[ClesExercices]{#2}%
+ \IfBooleanTF{#1}{%
+ \setKV[ClesExercices]{Numerote=false}%
+ }{}%
+ \refstepcounter{PfMSection}%
\PfMChoixCorrection%
- \refstepcounter{PfMExo}
+ \refstepcounter{PfMExo}%
\immediate\write\@auxout{%
\string\opcopy{\thePfMExo}{TotalExo}%
}
@@ -688,13 +726,14 @@
\string\opcopy{0}{total\the\c at PfMSection-\the\c at PfMExo}%
}}{}
\tcolorbox[%
- BaseDM,
+ tikzdm,
label is label,
- label=page-\thePfMMaquette-\thePfMExo%
+ label=page-\thePfMMaquette-\thePfMExo
]
-}{%
- \endtcolorbox%
-}
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
+\endtcolorbox%
+}{}%
%%Contrat
@@ -840,6 +879,7 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
}{\endtcolorbox%
}
@@ -929,7 +969,7 @@
{%
\opexport{\Alph{PfMMaquette}-FdRTotalExo}{\FdRTotalExo}%
\xdef\PfMListeExerciceFdR{\csname \Alph{PfMMaquette}FdRtrue\endcsname}%
- \ifcsname \Alph{PfMMaquette}FdRstop\endcsname
+ \ifcsname \Alph{PfMMaquette}FdRstop\endcsname%
\xdef\PfMListeExerciceFdRStop{\csname \Alph{PfMMaquette}FdRstop\endcsname}%
\else%
\xdef\PfMListeExerciceFdRStop{}%
@@ -982,12 +1022,12 @@
\xdef\NBExo{\fpeval{\NBExo+1}}\xdef\ListeRoute{\ListeRoute,\ListeRetiensExo[##1]}%
}%
}%
- \ifnum\LongueurC=0\relax
- \else
+ \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
+ \fi%
\xintifboolexpr{\NBExoSup==\NBExo}{}{%
\xintifboolexpr{\NBExoSup>\NBExo}{%
\xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
@@ -1012,13 +1052,13 @@
\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
+ \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
+ \fi%
\xintifboolexpr{\NBExoSup==\NBExo}{}{%
\xintifboolexpr{\NBExoSup>\NBExo}{%
\xintFor* ##3 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
@@ -1042,12 +1082,12 @@
\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
+ \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
+ \fi%
\xintifboolexpr{\NBExoSup==\NBExo}{}{%
\xintifboolexpr{\NBExoSup>\NBExo}{%
\xintFor* ##1 in{\xintSeq{1}{\fpeval{\NBExoSup-\NBExo}}}\do{%
@@ -1104,9 +1144,9 @@
\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}}
+ \xdef\RetiensNonAffichees{\fpeval{\RetiensNonAffichees+1}}%
}{}%
- }
+ }%
%\node at (0,\RetiensEtage) {Il y a \RetiensNonAffichees fois le nombre -1.};
% On affiche
\xintifboolexpr{\fpeval{\RetiensLesReponses-1}==\RetiensNonAffichees}{%
@@ -1128,36 +1168,13 @@
}%
}%
%
- \xdef\RetiensLeDepart{\fpeval{\RetiensLeDepart+\RetiensLesReponses}}
+ \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
+ % Route basse
\foreach\i in{1,...,\fpeval{\ListeRouteBasselen}}{%
\draw[line width=1pt] (A-\fpeval{\i-1}) -- (A-\i);%
}%
@@ -1184,7 +1201,6 @@
\fi
\immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Alph{PfMMaquette}FdR#1\endcsname{\csname \Alph{PfMMaquette}route#1\endcsname}}%
}%
-
\newenvironment{exerciceFdR}[1][]{%
\setcounter{PfMAlea}{0}%
@@ -1224,6 +1240,7 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
}{\endtcolorbox%
}
@@ -1502,6 +1519,7 @@
\PfMChoixCorrection%
\@bsphack%
\immediate\openout \verbatim at out "\jobname-PPEx\thePfMExo.tex" %
+ \immediate\write\verbatim at out{\string\begin{exercice}}
\let\do\@makeother\dospecials%
\catcode`\^^M\active%
\def\verbatim at processline{%
@@ -1508,7 +1526,7 @@
\immediate\write\verbatim at out{\the\verbatim at line}}%
\verbatim at start}%
-\def\endexerciceParcoursPerso{\immediate\closeout\verbatim at out\@esphack}%
+\def\endexerciceParcoursPerso{\immediate\write\verbatim at out{\string\end{exercice}}\immediate\closeout\verbatim at out\@esphack}%
\newenvironment{exerciceParcours}[1][]{%
\setcounter{PfMAlea}{0}%
@@ -1536,6 +1554,7 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
}{\endtcolorbox%
}
@@ -1558,6 +1577,7 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
#3
\endtcolorbox%
}{}
@@ -1584,6 +1604,7 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
#3
\endtcolorbox%
}{}%
@@ -1610,29 +1631,11 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
+ #3
}{\endtcolorbox%
}
-\newenvironment{ExerciceRecapBrevetold}[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%
-}
-
\makeatother
%%% Recap Brevet
%%% Style Brevet
@@ -1681,7 +1684,7 @@
xshift=10pt,%
] at (frame.north west){\bfseries\sffamily \useKV[Fiche]{NomExercice} \thePfMExo\ifboolKV[ClesExercices]{AffichageTitre}{ : \useKV[ClesExercices]{Titre}}{}};%
%%
- \node[%
+ \ifboolKV[ClesExercices]{BaremeTotal}{\node[%
fill=white,%
anchor=east,%
xshift=-10pt,%
@@ -1690,6 +1693,7 @@
]
at (frame.north east)%
{\footnotesize\sffamily \total{\the\c at PfMSection-\the\c at PfMExo}};%
+ }{}%
}%
}%
}%
@@ -1792,6 +1796,7 @@
\tcolorbox[%
tikzpdt
]%
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
}{\endtcolorbox%
}
@@ -1931,6 +1936,7 @@
label is label,
label=page-\thePfMMaquette-\thePfMExo
]
+ \ifboolKV[Boulot]{Dys}{\raggedright}{}%
}{\endtcolorbox%
}
@@ -2129,7 +2135,7 @@
\Large\sffamily \useKV[Fiche]{Theme}\hfill\useKV[Fiche]{Niveau} \useKV[Fiche]{Classe}%
\par{\tiny\useKV[Fiche]{Code}}\hfill{\scriptsize\useKV[Fiche]{Date}}%
\end{tcolorbox}%
-}
+}%
\NewDocumentCommand\TikzFicheCor{m}{%
\clearpage
@@ -2413,20 +2419,32 @@
\DTLforeach*{dataperso}{\Prenom=PrenomEleve,\Nom=NomEleve,\RecapListeExo=ListeExo}{%
\begin{Maquette}[Fiche]{#1,Code=\normalsize\Prenom~\Nom}%
\readlist*\ListeExercices{\RecapListeExo}%
- \foreach\i in{1,...,\ListeExerciceslen}{%
- \begin{exercice}%
- \input{\jobname-PPEx\ListeExercices[\i].tex}%
- \end{exercice}%
- }
+ \ifnum\fpeval{\ListeExerciceslen}=1\relax{}
+ \setKVdefault[ClesExercices]{Numerote=false}
+% \begin{exercice}*
+ \input{\jobname-PPEx\ListeExercices[1].tex}%
+ % \end{exercice}%
+ \setKVdefault[ClesExercices]{Numerote}
+ \else
+ \foreach\i in{1,...,\ListeExerciceslen}{%
+ % \begin{exercice}
+ \input{\jobname-PPEx\ListeExercices[\i].tex}%
+ % \end{exercice}%
+ }
+ \fi
\ifnum\thePfMCorrigeParcoursPerso=1\relax%
- % \RecapitulatifCorrection{#2}%
- \clearpage
- \TikzFicheCor{#1,Code=\normalsize\Prenom~\Nom}%
- \readlist*\ListeExercices{\RecapListeExo}%
- \foreach\i in{1,...,\ListeExerciceslen}{%
- \textbf{Corrigé de l'exercice \i} : \input{\jobname-PPEx\ListeExercices[\i].sol}\par\goodbreak%
- }%
- \fi
+ % \RecapitulatifCorrection{#2}%
+ \clearpage
+ \TikzFicheCor{#1,Code=\normalsize\Prenom~\Nom}%
+ \readlist*\ListeExercices{\RecapListeExo}%
+ \ifnum\fpeval{\ListeExerciceslen}=1\relax{}
+ \textbf{Corrigé de l'exercice} : \input{\jobname-PPEx\ListeExercices[1].sol}\par\goodbreak%
+ \else
+ \foreach\i in{1,...,\ListeExerciceslen}{%
+ \textbf{Corrigé de l'exercice \i} : \input{\jobname-PPEx\ListeExercices[\i].sol}\par\goodbreak%
+ }%
+ \fi%
+ \fi%
\end{Maquette}%
}%
}%
@@ -2442,10 +2460,34 @@
}%
}%
+\NewDocumentCommand\PfMBasculeDys{}{%
+ \ifboolKV[Boulot]{Dys}{%
+ % d'après \url{https://culturedys.com/quelle-est-la-meilleure-police-pour-les-dyslexiques/}
+ \fontsize{14}{\fpeval{16.8*1.5}}\selectfont%
+ \raggedright%
+ }{%
+ \ifnum\thePfMMaquette=1\relax%
+ \else%
+ \ifnum\PfMFontSize=0\relax%
+ \fontsize{\fpeval{10}}{\fpeval{1.2*10}}%
+ \else\ifnum\PfMFontSize=1\relax%
+ \fontsize{\fpeval{11}}{\fpeval{1.2*11}}%
+ \else%
+ \fontsize{\fpeval{12}}{\fpeval{1.2*12}}%
+ \fi%
+ \fi%
+ \selectfont%
+ \renewcommand{\JustifyingParindent}{\parindent}
+ \justifying%
+ \fi%
+ }%
+}%
+
%%%%%%%%%%%%%%% Debut Maquette %%%%%%%
% Environnement englobant le tout.
%\makeatletter
\NewDocumentEnvironment{Maquette}{om}{%
+ % PfMFontSize vaut \PfMFontSize
% on remet à zéro les compteurs de solutions : inutile ?
\setcounter{RetiensSol}{0}%
\setcounter{RetiensRep}{0}%
@@ -2458,9 +2500,10 @@
% options de boulot
\IfHookExistsTF{env/Maquette/after}{\RemoveFromHook{env/Maquette/after}[*]}{}%
\IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]}{}%
- %\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}%
+ % \AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}%
\useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}}{\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}}%
% Test
\IfHookExistsTF{env/exercice/begin}{\RemoveFromHook{env/exercice/begin}[*]}{}%
@@ -2488,8 +2531,10 @@
\renewcommand{\arraystretch}{1}%
}%
\ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzCANCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2502,8 +2547,10 @@
\setKV[FdR]{#2}\TikzFdR%
\let\exercice\exerciceFdR\let\endexercice\endexerciceFdR%
\ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFdRCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2516,8 +2563,10 @@
\setKV[Contrat]{#2}\TikzContrat%
\let\exercice\exerciceContrat\let\endexercice\endexerciceContrat%
\ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzContratCor{#2}
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2532,8 +2581,10 @@
\let\exercice\exerciceFiche\let\endexercice\endexerciceFiche%
% \let\Exercice\exerciceFiche\let\endExercice\endexerciceFiche%
\ifboolKV[Boulot]{CorrigeFin}{%
- \AddToHook{env/Maquette/after}[Correction]{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2549,12 +2600,14 @@
%\let\Exercice\ExerciceRecapBrevet\let\endExercice\endExerciceRecapBrevet%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzRecapBrevetCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMBasculeDys%
+ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzRecapBrevetCor{#2}%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
}{}%
}{%
@@ -2575,12 +2628,14 @@
%\let\Exercice\exerciceParcours\let\endExercice\endexerciceParcours%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzParcoursCor{#2}
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
}{}%
}{%
@@ -2590,62 +2645,70 @@
%\let\Exercice\exercicePdT\let\endExercice\endexercicePdT%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzPdTCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMBasculeDys%
+ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzPdTCor{#2}%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
}{}%
- }{
+ }{%
\ifboolKV[Boulot]{DM}{%
- \setKV[DM]{#2}\TikzDM%
+ \setKV[DM]{#2}\TikzDM{}%
\let\exercice\exerciceDM\let\endexercice\endexerciceDM%
%\let\Exercice\exerciceDM\let\endExercice\endexerciceDM%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
- \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
- \TikzDMCor{#2}%
- \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
- \PfMAffichageCorrige%
- \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
+ \PfMBasculeDys%
+ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
+ \TikzDMCor{#2}%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
+ \PfMAffichageCorrige%
+ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
}{}%
}{%
\ifboolKV[Boulot]{Fiche}{%
\setKV[Fiche]{#2}%
- \TikzFiche
+ \TikzFiche%
\let\exercice\exerciceFiche\let\endexercice\endexerciceFiche%
%\let\Exercice\exerciceFiche\let\endExercice\endexerciceFiche%
\ifboolKV[Boulot]{CorrigeFin}{%
\ifboolKV[Boulot]{CorrigeAll}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \setKV[Boulot]{#1}%
+ \useKVdefault[Boulot]%
+ \setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
\xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
- \IfFileExists{\jobname-Ex##1.sol}{\textbf{Corrigé de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{}
+ \IfFileExists{\jobname-Ex##1.sol}{\textbf{Corrigé de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{}%
}%
\ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\TikzFicheCorRep{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
\xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
- \IfFileExists{\jobname-Ex##1.rep}{\textbf{Réponse(s) de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{}
+ \IfFileExists{\jobname-Ex##1.rep}{\textbf{Réponse(s) de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{}%
}%
\ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
\TikzFicheCorInd{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
\xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
- \IfFileExists{\jobname-Ex##1.cdp}{\textbf{Indice(s) pour l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.cdp}\par\goodbreak}{}
+ \IfFileExists{\jobname-Ex##1.cdp}{\textbf{Indice(s) pour l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.cdp}\par\goodbreak}{}%
}%
\ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}%
}%
}{%
- \AddToHook{env/Maquette/after}[Correction]{%
+ \AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzFicheCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2656,7 +2719,7 @@
}{}%
}{%
\ifboolKV[Boulot]{DS}{%
- \setKV[DS]{#2}\TikzDS
+ \setKV[DS]{#2}\TikzDS%
\let\exercice\exerciceDS\let\endexercice\endexerciceDS%
\ifboolKV[Boulot]{BaremeComplet}{%
\begin{center}
@@ -2665,7 +2728,9 @@
}{}%
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
+ \useKVdefault[Boulot]%
\setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzDSCor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2680,7 +2745,9 @@
% \let\Exercice\exerciceDS\let\endExercice\endexerciceDS%On garde exerciceDS
\ifboolKV[Boulot]{CorrigeFin}{%
\AddToHook{env/Maquette/after}[Correction]{%
- \setKV[Boulot]{#1}%
+ \useKVdefault[Boulot]%
+ \setKV[Boulot]{#1}%
+ \PfMBasculeDys%
\setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}%
\TikzIECor{#2}%
\ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}%
@@ -2715,7 +2782,7 @@
}%
}%
}%
-}
+}%
}{}%
%\makeatother
@@ -3195,3 +3262,154 @@
\extract{\NbVehiculesINSEE}{1}{\KmEssenceVehiculesINSEE}%
\extract{\NbVehiculesINSEE}{1}{\KmDieselVehiculesINSEE}%
}
+
+ % On met Christ7 à la fin :)
+ \newlength{\ltxt}
+
+ \newcommand\compo[4]{%
+ \setlength{\ltxt}{\linewidth}
+ \setbox#1=\hbox{\includegraphics[scale=#3]{#2.#1}}
+ \addtolength{\ltxt}{-\wd#1}
+ \addtolength{\ltxt}{-10pt}
+ \begin{minipage}{\wd#1}
+ \includegraphics[scale=#3]{#2.#1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{\ltxt}
+ #4
+ \end{minipage}
+ }%
+
+\newlength{\lntxt}
+\newcommand{\Compo}[4]{
+\setlength{\lntxt}{\linewidth}
+\setbox#1=\hbox{\includegraphics[scale=#3]{#2}}
+\addtolength{\lntxt}{-\wd#1}
+\addtolength{\lntxt}{-10pt}
+\begin{minipage}{\wd#1}
+\includegraphics[scale=#3]{#2}
+\end{minipage}
+\hfill
+\begin{minipage}{\lntxt}
+#4
+\end{minipage}
+}
+
+\newcommand{\Compog}[4]{
+\setlength{\lntxt}{\linewidth}
+\setbox#1=\hbox{\includegraphics[scale=#3]{#2}}
+\addtolength{\lntxt}{-\wd#1}
+\addtolength{\lntxt}{-10pt}
+\begin{minipage}{\lntxt}
+#4
+\end{minipage}
+\hfill
+\begin{minipage}{\wd#1}
+\includegraphics[scale=#3]{#2}
+\end{minipage}
+}
+
+\newlength{\ecart}
+\setlength{\ecart}{-20pt}
+
+\newcommand{\compog}[4]{%
+\setlength{\ltxt}{\linewidth}
+\setbox#1=\hbox{\includegraphics[scale=#3]{#2.#1}}
+\addtolength{\ltxt}{-\wd#1}
+\addtolength{\ltxt}{\ecart}
+\begin{minipage}{\ltxt}
+#4
+\end{minipage}
+\hfill
+\begin{minipage}{\wd#1}
+\includegraphics[scale=#3]{#2.#1}
+\end{minipage}
+}
+
+\newlength{\appui}
+\setlength{\appui}{20pt}
+
+\newlength{\lnttxt}
+\newcommand\dispo[3]{%
+\setlength{\lnttxt}{\linewidth}
+\setbox#1=\hbox{#2}
+\addtolength{\lnttxt}{-\wd#1}
+\addtolength{\lnttxt}{-\appui}
+\begin{minipage}{\wd#1}
+#2
+\end{minipage}
+\hfill
+\begin{minipage}{\lnttxt}
+#3
+\end{minipage}
+}
+
+\newcommand\dispog[3]{%
+\setlength{\lnttxt}{\linewidth}%
+\setbox#1=\hbox{#2}%
+\addtolength{\lnttxt}{-\wd#1}%
+\addtolength{\lnttxt}{-\appui}%
+\begin{minipage}{\lnttxt}%
+#3
+\end{minipage}%
+\hfill%
+\begin{minipage}{\wd#1}%
+#2
+\end{minipage}%
+}%
+
+\newcommand\compoxe[4][1]{%
+ \setbox#1=\hbox{\includegraphics[scale=#3]{#2.pdf}}%
+ \setlength{\lnttxt}{\linewidth-\wd#1-\appui}%
+ \begin{minipage}{\wd#1}%
+ \usebox#1%
+ \end{minipage}%
+ \hfill%
+ \begin{minipage}{\lnttxt}%
+ #4%
+ \end{minipage}%
+}%
+
+\newcommand\compogxe[4][1]{%
+ \setbox#1=\hbox{\includegraphics[scale=#3]{#2.pdf}}%
+ \setlength{\lnttxt}{\linewidth-\wd#1-\appui}%
+ \begin{minipage}{\lnttxt}%
+ #4
+ \end{minipage}%
+ \hfill%
+ \begin{minipage}{\wd#1}%
+ \usebox#1
+ \end{minipage}%
+}%
+
+\newcommand{\compogb}[4]{%
+\setlength{\ltxt}{\linewidth}
+\BaremeEspaceMarge{-20pt-82pt-\wd#1}
+\setbox#1=\hbox{\includegraphics[scale=#3]{#2.#1}}
+\addtolength{\ltxt}{-\wd#1}
+\addtolength{\ltxt}{-20pt}
+\begin{minipage}{\ltxt}
+#4
+\end{minipage}
+\hfill
+\begin{minipage}{\wd#1}
+\includegraphics[scale=#3]{#2.#1}
+\end{minipage}
+\BaremeEspaceMarge{-82pt}
+}
+
+\newcommand{\dispogb}[3]{
+\setlength{\ltxt}{\linewidth}
+\BaremeEspaceMarge{-20pt-82pt-\wd#1}
+\setbox#1=\hbox{#2}
+\addtolength{\ltxt}{-\wd#1}
+\addtolength{\ltxt}{-\appui}
+\begin{minipage}{\ltxt}
+#3
+\end{minipage}
+\hfill
+\begin{minipage}{\wd#1}
+#2
+\end{minipage}
+\BaremeEspaceMarge{-82pt}
+}
\ No newline at end of file
More information about the tex-live-commits
mailing list.