summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/cahierprof/cahierprof.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/cahierprof/cahierprof.sty')
-rw-r--r--macros/latex/contrib/cahierprof/cahierprof.sty424
1 files changed, 275 insertions, 149 deletions
diff --git a/macros/latex/contrib/cahierprof/cahierprof.sty b/macros/latex/contrib/cahierprof/cahierprof.sty
index 59850eef8f..ad0469ff25 100644
--- a/macros/latex/contrib/cahierprof/cahierprof.sty
+++ b/macros/latex/contrib/cahierprof/cahierprof.sty
@@ -1,8 +1,8 @@
%% Informations générales
-%% Dernière modification le 2023-07-12 at 08:23
+%% Dernière modification le 2023-08-10 at 16:16
\NeedsTeXFormat{LaTeX2e}[1999/01/01]
\ProvidesPackage{cahierprof}
- [2023-07-12 v0.91 Les commandes pour le cahier Professeur]
+ [2023/08/10 v0.92 Les commandes pour le cahier Professeur]
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Options du package commande
@@ -13,13 +13,12 @@
% Chargement des extensions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{geometry}
-\RequirePackage[table]{xcolor}
\RequirePackage{tabularx}
+\RequirePackage{colortbl}
\RequirePackage{tikz}
\usetikzlibrary{math}
\usetikzlibrary{calc}
\RequirePackage[babel=true,kerning=true]{microtype}
-\RequirePackage{lscape}
\RequirePackage{ifthen}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30,6 +29,11 @@
\newcounter{month}
\newcounter{year}
%
+% Compteurs pour la rentrée
+\newcounter{lundiRentree}
+\newcounter{monthRentree}
+\newcounter{yearRentree}
+%
% Compteurs pour les vacances scolaires
% Toussaint
\newcounter{dayToussaint}
@@ -65,55 +69,15 @@
\newcounter{frimonth}
\newcounter{friyear}
%
-% Gestion des années bissextiles.
-\newcounter{FinFevrier}%
-% Est-ce que l'année est bissextile?%
-\pgfmathparse{int(mod(\theyear,4))}%
-\ifthenelse{\pgfmathresult>0}%
-{%
- % if (year is not divisible by 4) then (it is a common year)%
- \setcounter{FinFevrier}{28}%
-}{%
- % else if (year is not divisible by 100) then (it is a leap year)%
- \pgfmathparse{int(mod(\theyear,100))}%
- \ifthenelse{\pgfmathresult>0}%
- {%
- \setcounter{FinFevrier}{29}%
- }{%
- % else if (year is not divisible by 400) then (it is a common year)%
- \pgfmathparse{int(mod(\theyear,400))}%
- \ifthenelse{\pgfmathresult>0}%
- {%
- \setcounter{FinFevrier}{28}%
- }{%
- % else (it is a leap year)%
- \setcounter{FinFevrier}{29}%
- }%
- }%
-}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Nouvelles macros
+% Liste des macros pour le calendrier.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Liste des macros définies:
% - \nextday : pour passer au jour d'après
% - \weekend : pour passer les week-ends ou les vacances scolaires
% - \getdate : afficher la date au format day/month/year
-% - \getWeek : afficher la semaine au format
-% Du lundi Day Month Year au Vendredi Day Month Year
-% - \Semaine : afficher la première ligne du tableau du cahier de texte (Lundi
-% day/month, Mardi day/month, etc)
-% - EmploiDuTemps[1] : afficher l'emploi du temps prof. #1 : l'emploi du temps,
-% au format tableau avec une colonne par jour.
-% - \sem[2] : Cours 1 semaine sur 2. Affiche le contenu de #2 si la semaine #1
-% est paire (0) ou impaire (1).
-% - \TableauClasse[2] : Afficher un tableau pour la classe. #1: le nom de la
-% classe. #2: la liste des élèves séparées par des virgules.
-% - \Classe[2] : Afficher 8 tableaux de classe. #1: le nom de la classe. #2: la
-% liste des élèves.
-% - \ListeEleves : créer un fichier ListeEleves.tex qui contient la liste des
-% élèves puis insère le fichier (compiler deux fois, comme \tableofcontents).
+% - \getWeek : afficher la semaine au format
%
-% Passer au jour d'après
+%%%% Passer au jour d'après
\newcommand{\nextday}%
{%
% Les mois à 30 jours : Avril, Juin, Septembre, Novembre
@@ -141,36 +105,34 @@
\stepcounter{day}%
}%
}%
-%
-% Gestions des vacances et week-end
+%%%% Gestions des vacances et week-end
\newcommand{\weekend}{
% Vacances de Toussaint
\ifthenelse{ \theday=\thedayToussaint \and \themonth=\themonthToussaint}
{
- \setcounter{day}{\thedayToussaintFin}
- \setcounter{month}{\themonthToussaintFin}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}
Vacances de la Toussaint
}{
% Vacances de Noël
\ifthenelse{ \theday=\thedayNoel \and \themonth=\themonthNoel}
{
- \setcounter{day}{\thedayNoelFin}
- \setcounter{month}{\themonthNoelFin}
- \stepcounter{year}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}%
Vacances de Noël
}{
% Vacances d'Hiver
\ifthenelse{ \theday=\thedayHiver \and \themonth=\themonthHiver}
{
- \setcounter{day}{\thedayHiverFin}
- \setcounter{month}{\themonthHiverFin}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}%
Vacances d'hiver
}{
% Vacances de Printemps
\ifthenelse{ \theday=\thedayPrintemps \and \themonth=\themonthPrintemps}
{
- \setcounter{day}{\thedayPrintempsFin}
- \setcounter{month}{\themonthPrintempsFin}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}%
Vacances de printemps
}{
% sinon c'est juste un week-end
@@ -180,8 +142,7 @@
}%
}%
}
-%
-% Obtenir la date
+%%%% Obtenir la date
\newcommand{\getDate}{%
% On affiche la date
\theday/\themonth/\theyear%
@@ -212,11 +173,11 @@
% Noël, le 25 décembre
\or\(\theday=25 \and \themonth=12\)%
}{
- \hfil $\star$Ferié$\star$%
+ \cellcolor[gray]{.9} \hfil $\star$Ferié$\star$%
}{}%
}%
%
-% Affichage de la semaine.%
+%%%% Affichage de la semaine.
\newcommand{\getWeek}{%
\setcounter{friday}{\theday}%
\setcounter{frimonth}{\themonth}%
@@ -239,7 +200,7 @@
% Lundi 30 - Mar 31, Mer 1, Jeu 2, Ven 3%
\ifthenelse{\theday=30}{\setcounter{friday}{3}}{}%
% Lundi 29 - Mar 30, Mer 31, Jeu 1, Ven 2%
- \ifthenelse{\theday=29}{\setcounter{friday}{3}}{}%
+ \ifthenelse{\theday=29}{\setcounter{friday}{2}}{}%
% Lundi 28 - Mar 29, Mer 30, Jeu 31, Ven 1%
\ifthenelse{\theday=28}{\setcounter{friday}{1}}{}%
}%
@@ -339,111 +300,276 @@
\thefriyear
}%
%
-% Affichage de la semaine
-\newcommand{\Semaine}
-{
- & Lundi \getDate\nextday
- & Mardi \getDate\nextday
- & Mercredi \getDate\nextday
- & Jeudi \getDate\nextday
- & Vendredi \getDate\nextday
-}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Liste des macros pour les jours spéciaux
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \setLundiRentree : définir le lundi de rentrée au format DD-MM-YYYY
+% - \setDebutToussaint : définir le début (samedi) des vacances de Toussaint
+% - \setDebutNoel : définir le début (samedi) des vacances de Noel
+% - \setDebutHiver : définir le début (samedi) des vacances d'hiver
+% - \setDebutPrintemps : définir le début (samedi) des vacances de Printemps
+% - \setLundiPaques : définir le lundi de Paques au format DD-MM-YYYY
+% - \setJoursFeries : définir les dates de l'ascension, du pont de
+% l'ascension et de la Pentecôte à partir de la date du lundi de Pâques.
+%
+%%%% Définir le lundi de la rentrée
+% \setLundiRentree a 3 arguments :
+% - #1 Le jourde la rentrée
+% - #2 Le Mois de la rentrée
+% - #3 L'annéede la rentrée
+\newcommand{\setLundiRentree}[3]%
+{%
+ \setcounter{lundiRentree}{#1}%
+ \setcounter{monthRentree}{#2}%
+ \setcounter{yearRentree}{#3}%
+ % Gestion des années bissextiles.
+ \setcounter{year}{\theyearRentree}
+ \stepcounter{year}
+ \newcounter{FinFevrier}%
+ % Est-ce que l'année est bissextile?%
+ \pgfmathparse{int(mod(\theyear,4))}%
+ \ifthenelse{\pgfmathresult>0}%
+ {%
+ % if (year is not divisible by 4) then (it is a common year)%
+ \setcounter{FinFevrier}{28}%
+ }{%
+ % else if (year is not divisible by 100) then (it is a leap year)%
+ \pgfmathparse{int(mod(\theyear,100))}%
+ \ifthenelse{\pgfmathresult>0}%
+ {%
+ \setcounter{FinFevrier}{29}%
+ }{%
+ % else if (year is not divisible by 400) then (it is a common year)%
+ \pgfmathparse{int(mod(\theyear,400))}%
+ \ifthenelse{\pgfmathresult>0}%
+ {%
+ \setcounter{FinFevrier}{28}%
+ }{%
+ % else (it is a leap year)%
+ \setcounter{FinFevrier}{29}%
+ }%
+ }%
+ }%
+}%
+%%%% Définir le début des vacances de Toussaint
+% Les commandes \set*Vacances* ont 2 arguments :
+% - #1 Le jourde la rentrée
+% - #2 Le Mois de la rentrée
+\newcommand{\setDebutToussaint}[2]%
+{%
+ \setcounter{dayToussaint}{#1}%
+ \setcounter{monthToussaint}{#2}%
+}%
+%%%% Définir le début des vacances de Noel
+\newcommand{\setDebutNoel}[2]%
+{%
+ \setcounter{dayNoel}{#1}%
+ \setcounter{monthNoel}{#2}%
+}%
+%%%% Définir le début des vacances d'hiver
+\newcommand{\setDebutHiver}[2]%
+{%
+ \setcounter{dayHiver}{#1}%
+ \setcounter{monthHiver}{#2}%
+}%
+%%%% Définir le début des vacances de Printemps
+\newcommand{\setDebutPrintemps}[2]%
+{%
+ \setcounter{dayPrintemps}{#1}%
+ \setcounter{monthPrintemps}{#2}%
+}%
+%%%% Définir le Lundi de Paques
+\newcommand{\setLundiPaques}[2]%
+{%
+ \setcounter{dayPaques}{#1}%
+ \setcounter{monthPaques}{#2}%
+}%
+%%%% Trouver les dates des jours fériés variables
+\newcommand{\setJoursFeries}{%
+ % Si \setLundiPaques n'est pas utilisé (valable jusqu'en 2040)...
+ \ifthenelse{\equal{\thedayPaques}{0}}%
+ {%
+ \setcounter{year}{\theyearRentree}%
+ \stepcounter{year}%
+ \ifthenelse{\equal{\theyear}{2024}}{\setcounter{dayPaques}{1}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2025}}{\setcounter{dayPaques}{21}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2026}}{\setcounter{dayPaques}{6}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2027}}{\setcounter{dayPaques}{29}\setcounter{monthPaques}{3}}{}
+ \ifthenelse{\equal{\theyear}{2028}}{\setcounter{dayPaques}{17}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2029}}{\setcounter{dayPaques}{2}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2030}}{\setcounter{dayPaques}{22}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2031}}{\setcounter{dayPaques}{14}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2032}}{\setcounter{dayPaques}{29}\setcounter{monthPaques}{3}}{}
+ \ifthenelse{\equal{\theyear}{2033}}{\setcounter{dayPaques}{18}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2034}}{\setcounter{dayPaques}{10}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2035}}{\setcounter{dayPaques}{26}\setcounter{monthPaques}{3}}{}
+ \ifthenelse{\equal{\theyear}{2036}}{\setcounter{dayPaques}{14}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2037}}{\setcounter{dayPaques}{6}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2038}}{\setcounter{dayPaques}{26}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2039}}{\setcounter{dayPaques}{11}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2040}}{\setcounter{dayPaques}{2}\setcounter{monthPaques}{4}}{}
+ \setcounter{year}{\theyearRentree}%
+ }{}
+ % On fixe la date au lundi de Pâques
+ \setcounter{day}{\thedayPaques}%
+ \setcounter{month}{\themonthPaques}%
+ % Jeudi de l'ascension = 38 jours après le lundi de Paques
+ \foreach \jour in {1,...,38}{\nextday}%
+ \setcounter{dayAscension}{\theday}%
+ \setcounter{monthAscension}{\themonth}%
+ % Vendredi, pont de l'ascension
+ \nextday%
+ \setcounter{dayAscensionPont}{\theday}%
+ % Lundi de Pentecote = 10 jours après le vendredi de l'ascension
+ \foreach \jour in {1,...,10}{\nextday}%
+ \setcounter{dayPentecote}{\theday}%
+ \setcounter{monthPentecote}{\themonth}%
+ % Remettre la date au jour de la rentrée
+ \setcounter{day}{\thelundiRentree}%
+ \setcounter{month}{\themonthRentree}%
+ \setcounter{year}{\theyearRentree}%
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Liste des macros pour l'affichage de la semaine
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \Semaine : afficher la première ligne du tableau du cahier de texte (Lundi
+% day/month, Mardi day/month, etc)
+%
+%%%% Affichage de la semaine
+\newcommand{\Semaine}%
+{%
+ & Lundi \getDate\nextday%
+ & Mardi \getDate\nextday%
+ & Mercredi \getDate\nextday%
+ & Jeudi \getDate\nextday%
+ & Vendredi \getDate\nextday%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Liste des macros pour l'emploi du temps
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \setNombreSemaines[1] : définir le nombre N de semaines à afficher.
+% - \EmploiDuTemps[1] : afficher N fois le tableau #1,
+% - \sem[2] : Séances bimensuelle.
+%
+%%% Nombre de semaine à afficher
+% #1 est le nombre N de semaines à afficher.
+% Si \setSemaines n'est pas utilisé, alors N=36 semaines.
+\newcounter{nombreSemaines}
+\newcommand{\setNombreSemaines}[1]%
+{%
+ \setcounter{nombreSemaines}{#1}
+}%
+%%%% Affichage de l'emploi du temps
\newcommand{\EmploiDuTemps}[1]%
-{
- \foreach \n in {1,...,37}
- {
- {\Large\textsc{Semaine \no\n{} --- \getWeek}}
- \vfil
- \begin{tabularx}{\linewidth}{|c||X|X|X|X|X|} \hline
- \Semaine \\ \hline
- #1
- \end{tabularx}
- \vfil
- \hfil \weekend \hfil
- \newpage
+{%
+ \setJoursFeries%
+ \ifthenelse{\equal{\thenombreSemaines}{0}}%
+ {%
+ \tikzmath{\NbSem=int(36);}%
+ }{%
+ \tikzmath{\NbSem=int(\thenombreSemaines);}%
+ }%
+ \foreach \n in {1,...,\NbSem}%
+ {%
+ {\Large\textsc{Semaine \no\n{} --- \getWeek}}%
+ \vfil%
+ \begin{tabularx}{\linewidth}{|c||X|X|X|X|X|} \hline%
+ \Semaine \\ \hline%
+ #1%
+ \end{tabularx}%
+ \vfil%
+ \hfil \weekend \hfil%
+ \newpage%
}%
}%
%
-% Cours 1 semaine sur 2
-% La commande \sem a deux arguments:
-% - #1 pour le cours en semaine impaire.
-% - #2 pour le cours en semaine paire.
+%%%% Séance bimestrielle
+% Affiche #1 si le numéro de la semaine est impair.
+% Affiche #2 si le numéro de la semaine est pair.
\newcommand{\sem}[2]%
-{
- \pgfmathparse{int(mod(\n,2))}
- \ifthenelse{\pgfmathresult=1}{#1}{#2}
+{%
+ \pgfmathparse{int(mod(\n,2))}%
+ \ifthenelse{\pgfmathresult=1}{#1}{#2}%
}%
-% Réaliser le tableau pour une classe
-% En argument:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Liste des macros pour les tableaux des classes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \TableauClasse : Afficher un tableau pour la classe.
+% - \Classe : Afficher 8 tableaux de classe.
+% - \ListeEleves : Insère la liste des élèves
+%
+%%%% Réaliser un tableau pour une classe
+% TableauClasse a deux arguments:
% - #1 : la classe.
% - #2 la liste des élèves, séparée par des virgules (sauf le dernier).
-\newcommand{\TableauClasse}[2]
-{
- \begin{tikzpicture}
+\newcommand{\TableauClasse}[2]%
+{%
+ \begin{tikzpicture}%
% En tête et nom de la classe.
- \tikzmath{\largeurLigne=18; \largeurNom=3.5;\largeurColonne=\largeurLigne-\largeurNom;}
- \draw[fill=gray!50] (0,-.5) rectangle (\largeurLigne,.5);
- \draw ({\largeurNom/2},0) node{\Large #1};
- \draw[shift={(\largeurNom,-.5)}] (0,0) grid[xstep=\largeurColonne/20]
- ++(\largeurColonne,1);
- \foreach[count=\n] \NomPrenom in {#2}
- {
+ \tikzmath{\largeurLigne=18; \largeurNom=3.5;\largeurColonne=\largeurLigne-\largeurNom;}%
+ \draw[fill=gray!50] (0,-.5) rectangle (\largeurLigne,.5);%
+ \draw ({\largeurNom/2},0) node{\Large #1};%
+ \draw[shift={(\largeurNom,-.5)}] (0,0) grid[xstep=\largeurColonne/20] %
+ ++(\largeurColonne,1);%
+ \foreach[count=\n] \NomPrenom in {#2}%
+ {%
% Griser une ligne sur 2 (les lignes paires)
- \pgfmathparse{int(mod(\n,2))}
- \ifnum0=\pgfmathresult\relax
- \fill[gray!25] (0,{-.5*\n}) rectangle ++(\largeurLigne,-.5);
- \fi
+ \pgfmathparse{int(mod(\n,2))}%
+ \ifnum0=\pgfmathresult\relax%
+ \fill[gray!25] (0,{-.5*\n}) rectangle ++(\largeurLigne,-.5);%
+ \fi%
% Ecrire le numéro de l'élève et son nom
- \draw (0,{-.5*\n}) node[text width=3.5cm,below right]
- {\tiny \n. \NomPrenom} rectangle ++(\largeurNom,-.5);
- \draw[shift={(\largeurNom,-.5*\n)}] (0,0) grid[xstep=14.5/20,ystep=.5]
- (\largeurColonne,-.5);
- }
- \end{tikzpicture}
+ \draw (0,{-.5*\n}) node[text width=3.5cm,below right]%
+ {\tiny \n. \NomPrenom} rectangle ++(\largeurNom,-.5);%
+ \draw[shift={(\largeurNom,-.5*\n)}] (0,0) grid[xstep=14.5/20,ystep=.5]%
+ (\largeurColonne,-.5);%
+ }%
+ \end{tikzpicture}%
}%
-%
-% Réaliser les tableaux de classe.
-% \TableauClasse a 3 arguments:
+%%%% Réaliser les tableaux de classe.
+% \Classe a 3 arguments:
% - #1 : la classe
% - #2 : le nombre de fois qu'on voit la classe par semaine
% - #3 : la liste des élèves
-%% Il y a 20 colonnes par tableaux. Il faut ~2 tableaux pour faire 37 semaines
-%% Le nombre de tableaux est donc deux fois le nombre de fois qu'on voit les
-%% élèves par semaine.
-%
-%
-\newcommand{\Classe}[3]
-{
- \immediate\write\outputstream{#1}
- \immediate\write\outputstream{\string \begin{enumerate}}
+% Il y a 20 colonnes par tableaux. Il faut à peu près 2 tableaux pour faire 36
+% semaines Le nombre de tableaux est donc deux fois le nombre de fois qu'on voit
+% les élèves par semaine.
+\newcommand{\Classe}[3]%
+{%
+ \immediate\write\outputstream{#1}%
+ \immediate\write\outputstream{\string \begin{enumerate}}%
% Ecrire les noms des élèves dans le bon fichier
- \foreach \i in {#3}
- {
- \immediate\write\outputstream{\string\item\space \i}
- }
- \immediate\write\outputstream{\string \end{enumerate}}
- \begin{center}
- \tikzmath{\NbTableaux=2*#2;}
- \foreach \i in {1,...,\NbTableaux}
- {
- \TableauClasse{#1}{#3} \\[.50cm]
- }
- \end{center}
-}
-
-% Liste des élèves
-\newcommand{\ListeEleves}
-{
+ \foreach \i in {#3}%
+ {%
+ \immediate\write\outputstream{\string\item\space \i}%
+ }%
+ \immediate\write\outputstream{\string \end{enumerate}}%
+ \begin{center}%
+ \tikzmath{\NbTableaux=2*#2;}%
+ \foreach \i in {1,...,\NbTableaux}%
+ {%
+ \TableauClasse{#1}{#3} \\[.50cm]%
+ }%
+ \end{center}%
+ \newpage%
+}%
+%
+%%%% Liste des élèves
+% \ListeEleves va créer un fichier ListeEleves.tex qui contient la liste des
+% élèves puis insère le fichier (compiler deux fois, comme \tableofcontents).
+\newcommand{\ListeEleves}%
+{%
%insère le fichier ListeEleves.tex s'il existe
- \IfFileExists{ListeEleves.tex}{
- \input{ListeEleves.tex}
- }{
- % Else : do nothing.
- }
+ \IfFileExists{ListeEleves.tex}{%
+ \input{ListeEleves.tex}%
+ }{%
+ % Else : do nothing.%
+ }%
% Stocker le nom des élèves dans un fichier externe.
- \newwrite\outputstream
+ \newwrite\outputstream%
\immediate\openout\outputstream=ListeEleves.tex
-}
+}%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Divers