texlive[67896] Master/texmf-dist: cahierprof (11aug23)

commits+karl at tug.org commits+karl at tug.org
Fri Aug 11 23:35:03 CEST 2023


Revision: 67896
          http://tug.org/svn/texlive?view=revision&revision=67896
Author:   karl
Date:     2023-08-11 23:35:03 +0200 (Fri, 11 Aug 2023)
Log Message:
-----------
cahierprof (11aug23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/cahierprof/ListeEleves.tex
    trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-doc.pdf
    trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-doc.tex
    trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-exemple.pdf
    trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-exemple.tex
    trunk/Master/texmf-dist/tex/latex/cahierprof/cahierprof.sty

Modified: trunk/Master/texmf-dist/doc/latex/cahierprof/ListeEleves.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cahierprof/ListeEleves.tex	2023-08-11 21:15:48 UTC (rev 67895)
+++ trunk/Master/texmf-dist/doc/latex/cahierprof/ListeEleves.tex	2023-08-11 21:35:03 UTC (rev 67896)
@@ -1,32 +1,32 @@
 Seconde
 \begin{enumerate}
-\item Élève 1
-\item Élève 2
-\item Élève 3
-\item Élève 4
-\item Élève 5 
+\item Élève Seconde 1
+\item Élève Seconde 2
+\item Élève Seconde 3
+\item Élève Seconde 4
+\item Élève Seconde 5 
 \end{enumerate}
-1 G
+Première G
 \begin{enumerate}
-\item Élève 1
-\item Élève 2
-\item Élève 3
-\item Élève 4
-\item Élève 5 
+\item Élève Première 1
+\item Élève Première 2
+\item Élève Première 3
+\item Élève Première 4
+\item Élève Première 5 
 \end{enumerate}
 1 STMG
 \begin{enumerate}
-\item Élève 1
-\item Élève 2
-\item Élève 3
-\item Élève 4
-\item Élève 5 
+\item Élève STMG 1
+\item Élève STMG 2
+\item Élève STMG 3
+\item Élève STMG 4
+\item Élève STMG 5 
 \end{enumerate}
 2 euro
 \begin{enumerate}
-\item Élève 1
-\item Élève 2
-\item Élève 3
-\item Élève 4
-\item Élève 5 
+\item Élève Euro 1
+\item Élève Euro 2
+\item Élève Euro 3
+\item Élève Euro 4
+\item Élève Euro 5 
 \end{enumerate}

Modified: trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-doc.tex	2023-08-11 21:15:48 UTC (rev 67895)
+++ trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-doc.tex	2023-08-11 21:35:03 UTC (rev 67896)
@@ -2,7 +2,8 @@
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage{commandes}
-% \usepackage{cahierprof}
+\usepackage{tcolorbox}
+\usepackage[framemethod=TikZ]{mdframed}
 \usepackage{minted}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -14,15 +15,17 @@
 
 \title{
   cahierprof.sty\\
-  Pour créer un cahier du professeur en LaTeX
+  Un cahier de textes pour les professeurs en \LaTeX{}
 }
 \author{
   Raphaël Giromini\\
   \texttt{raphael.giromini -- at -- gmail.com}
 }
-\date{Version 0.91 -- 12 juillet 2023}
+\date{Version 0.92 -- 10 août 2023}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setminted{frame=single,linenos,numbersep=6pt}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Début du document
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{document}
@@ -29,139 +32,150 @@
 
 \maketitle
 
-% \begin{resume}
-Le package \texttt{cahierprof} permet de créer un cahier du professeur,
+\section*{Résumé}
+\noindent
+Le package \texttt{cahierprof} permet de créer un cahier de texte du professeur,
 constitué de deux éléments:
 \begin{itemize}
-  \item une liste des semaines de cours, à raison d'une semaine par page;
-  \item un tableau pour les absences et/ou les notes des élèves.
+  \item un calendrier scolaire annuel (de septembre à juillet) avec une semaine
+    par par page;
+  \item un tableau des élèves répartis par classe (pour les absences et/ou les
+    notes).
 \end{itemize}
-% \end{resume}
 
-\tableofcontents
 
-\section{Liste des semaines de cours -- commande
-\texttt{\textbackslash{}EmploiDuTemps}}
+\subsection*{Nouveautés de la version 0.92}
+\begin{itemize}
+  \item Correction de la gestion des années bissextiles.
+  \item Correction de l'affichage de la semaine lorsque le quantième du lundi
+    est 29.
+  \item Création de la commande \mintinline{latex}|\setNombreSemaines| pour
+    fixer le nombre de semaine à afficher.\\
+    Si cette commande n'est pas utilisée, 36 semaines sont affichées par défaut.
+  \item Création de la commandes \mintinline{latex}|\setRentree| pour configurer
+    le lundi de la rentrée scolaire.
+  \item Création des commandes \mintinline{latex}|\setDebut|\texttt{*}, où
+    \texttt{*} correspond à \texttt{Toussaint}, \texttt{Noel}, \texttt{Hiver} ou
+    \texttt{Printemps} et gestion automatique de la date de la fin des petites
+    vacances.
+  \item Création de la commande \mintinline{latex}|\setLundiPaques| pour
+    fixer la date du lundi de Pâques et gestion automatique des dates du jeudi
+    de l'ascension et du lundi de Pentecôte en fonction de la date du lundi de
+    Pâques.\\
+    À noter: jusqu'à l'année 2040, la date du lundi de Pâque est gérée
+    automatiquement.
+\end{itemize}
 
-Le package \texttt{cahierprof} va créer un calendrier; il faut donc commencer
-par entrer la date du premier lundi de l'année scolaire, sous la forme:
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
-% Le premier lundi de la rentrée scolaire
-\setcounter{year}{2023}
-\setcounter{month}{9}
-\setcounter{day}{4}
+
+\begin{center}
+  \begin{minipage}{.8\linewidth}
+    \begin{tcolorbox}[colback=white, colframe=green!75!black]
+      \tableofcontents
+    \end{tcolorbox}
+  \end{minipage}
+\end{center}
+
+
+\section{
+  Calendrier des semaines de cours -- 
+  commande \texttt{\textbackslash{}EmploiDuTemps}
+}
+Pour créer un calendrier scolaire hebdomadaire; il faut définir en préambule la
+date du premier lundi de l'année scolaire, avec la commande 
+\mintinline{latex}|\setLundiRentree\{JJ\}\{MM\}\{YYYY\}|, où \texttt{JJ} est
+le quantième du mois; \texttt{MM} est le mois et \texttt{YYYY} est l'année.
+\begin{minted}{latex}
+% Le lundi de la semaine de la rentrée est le 4 septembre 2023
+\setLundiRentree{4}{9}{2023}
 \end{minted}
 
-La commande \texttt{\textbackslash{}EmploiDuTemps} va permettre de de créer le
+La commande \mintinline{latex}|\EmploiDuTemps| va permettre de de créer le
 tableau de la semaine. Cette commande a un seul argument qui contient la
-description d'une semaine type, comme dans l'exemple ci-dessous:
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
+description d'une semaine type (sous la forme d'un \texttt{tabularx}) comme dans
+l'exemple ci-dessous:
+\begin{minted}{latex}
 \EmploiDuTemps{
-  %     & Lundi & Mardi  & Mercredi    & Jeudi & Vendredi \\
-  8h    &       & 1G     &             &       &          \\ [1.5cm] \hline
-  9h    &       & 2nde   & 1STMG       &       & 1STMG    \\ [1.5cm] \hline
-  10h   &       &        & 1G          &       &          \\ [1.5cm] \hline
-  11h   &       &        & 2nde (A.P.) &       & 1G       \\ [1.5cm] \hline\hline
-  13h30 &       & 1G     & 2nde        &       & 2nde     \\ [1.5cm] \cline{1-5}
-  14h30 &       &        & Term/1ere   &       &          \\ [1.5cm] \hline
-  15h30 &       & 1 euro & 2 euro      &       & T euro   \\ [1.5cm] \hline
-  16h30 &       &        &             &       &          \\ [1.5cm] \hline
+  %     & Lundi & Mardi & Mercr.    & Jeudi & Vend. \\
+  8h    &       & 1G    &           & 1G    &       \\ [1.5cm] \cline{1-2}\cline{4-6}
+  9h    &       &       & 1STMG     & 1STMG &       \\ [1.5cm] \hline
+  10h   & 1G    & 2nde  & 1G        &       &       \\ [1.5cm] \hline
+  11h   &       &       & 2nde A.P. &       & 1G    \\ [1.5cm] \hline\hline
+  13h30 &       & 1G    &           &       & 2nde  \\ [1.5cm] \cline{1-5}
+  14h30 &       &       & 1G (A/B)  &       &       \\ [1.5cm] \hline
+  15h30 &       &       & 2 euro    &       &       \\ [1.5cm] \hline
+  16h30 &       &       &           &       &       \\ [1.5cm] \hline
 }
 \end{minted}
-Cette commande va générer 37 semaines de cours à compter du premier lundi de
+Cette commande va générer 36 semaines de cours à compter du premier lundi de
 l'année scolaire.
 
-\subsection{Cours bimestriels -- commande \texttt{\textbackslash{}sem}}
+Pour afficher un nombre différent de semaines, il faut passer dans le préambule
+la commande \mintinline{latex}|\setNombreSemaines{N}|, où \texttt{N} est le
+nombre entier de semaines.
+\begin{minted}{latex}
+% On ne veut que 10 semaines de cours ! 
+\setNombreSemaines{10}
+\end{minted}
 
-Certains cours sont bimestriels (tous les 15 jours), suivant la parité de la
-semaine. Pour cela il existe la commande \texttt{\textbackslash{}sem} qui prend
-deux arguments: le cours en semaine impair, puis le cours en semaine pair.
+\subsection{Séance bimestrielles -- commande \texttt{\textbackslash{}sem}}
 
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
-% L'aide personnalisé en seconde n'a lieu que les semaines paires
-  \sem{}{2nde (A.P.)}
-% En semaine impaire, il y a un cours de terminale et en semaine paire, il y a
-% un cours de première
-  \sem{Term}{1ere}
+Certaines séances sont bimestriels (tous les 15 jours), suivant la parité de la
+semaine. Pour cela il existe la commande \mintinline{latex}|\sem| qui prend
+deux arguments: la séance en semaine impair, puis la séance en semaine pair.
+
+\begin{minted}{latex}
+% L'aide personnalisée en seconde n'a lieu que les semaines impaires
+\sem{2nde (A.P.)}{}
+% L'aide personnalisée en première est divisée en deux groupes bimestiels. 
+1G A.P. (Groupe~\sem{A}{B})
 \end{minted}
 
 \subsection{Gestion des vacances scolaires}
 
 Le package \texttt{cahierprof} permet de gérer les vacances scolaires
-Les vacances scolaires (de Toussaint, de Noel, d'hiver et de printemps). Pour
-l'instant la gestion est un peu pénible. Il faut ajouter \emph{dans le
-préambule} les dates de début et de fin de chaque vacances.
+Les vacances scolaires (de Toussaint, de Noel, d'hiver et de printemps). Chacune
+de ces petites vacances dure 15 jours. Selon les zones (et les années) il faut
+définir en préambule le premier samedi de chaque vacances.
 
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
-% Toussaint
-\setcounter{dayToussaint}{21}
-\setcounter{monthToussaint}{10}
-\setcounter{dayToussaintFin}{6}
-\setcounter{monthToussaintFin}{11}
-% Noel
-\setcounter{dayNoel}{23}
-\setcounter{monthNoel}{12}
-\setcounter{dayNoelFin}{8}
-\setcounter{monthNoelFin}{1}
-% Hiver
-\setcounter{dayHiver}{10}
-\setcounter{monthHiver}{2}
-\setcounter{dayHiverFin}{26}
-\setcounter{monthHiverFin}{2}
-% Printemps
-\setcounter{dayPrintemps}{6}
-\setcounter{monthPrintemps}{4}
-\setcounter{dayPrintempsFin}{22}
-\setcounter{monthPrintempsFin}{4}
+\begin{minted}{latex}
+% Début de chaque vacances scolaire pour l'année en cours (le samedi).
+\setDebutToussaint{21}{10}
+\setDebutNoel{23}{12}
+\setDebutHiver{10}{2}
+\setDebutPrintemps{6}{4}
 \end{minted}
 
-
 \subsection{Gestion des jours fériés}
 
-Pour les jours fériés officiels, le package \texttt{cahierprof} va ajouter la
-mention $\star$Ferié$\star$ à côté de la date.
+Les jours fériés sont les jours de fêtes légales énumérés par l’article
+L.~3133-1 du code du travail: 1er janvier, lundi de Pâques, 1er mai, 8 mai,
+Ascension, lundi de Pentecôte, 14 juillet, Assomption (15 août), Toussaint, 11
+novembre et 25 décembre. Pour ces jours, La date sera sur fond gris et la
+mention $\star$Ferié$\star$ sera ajoutée après la date.
 
-Les jours fériés officiels de l'année sont:
-\begin{itemize}
-  \item Le jour de l'an (1er janvier)
-  \item Fête du travail (le 1er mai)
-  \item La Victoire 1945 (le 8 mai)
-  \item Le jeudi de l'ascension (date variable, 40 jours après le dimanche de
-    Pâques, entre le 30 avril et le 3 juin).\\
-    Cette date est variable et doit être entrée à la main par les commandes
-    \texttt{thedayAscension} et \texttt{themonthAscension}.\\
-    Le pont de l'ascension (le vendredi suivant le jeudi de l'ascension) est
-    également considéré comme férié)
-  \item Le lundi de pentecôte, 50 jours après le dimanche de Pâques, entre le
-    10 mai et le 13 juin).\\
-    Cette date est variable et doit être entrée à la main par les commandes
-    \texttt{thedayPentecote} et \texttt{themonthPentecote}.
-  \item La fête nationale (14 juillet)
-  \item L'assomption (15 août)
-  \item La toussaint (1er novembre)
-  \item L'armistice 1914-1918 (11 novembre)
-  \item Noël (25 décembre)
-\end{itemize}
+La date du lundi de Pâques est variable chaque l'année, de même pour le jeudi de
+l'ascension et le lundi de Pentecôte. L'ascension a lieu 38 jours après le lundi
+de Pâques. Par défaut, le vendredi de l'ascension est considéré comme férié. Le
+lundi de Pentecôte a lieu 10 jours après le vendredi de l'ascension.
 
-Les jours fériés à date fixe sont gérés automatiquement, pour les jours fériés à
-date variable, il faut donc ajouter dans le préambule:
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
-% Lundi de Paques
-\setcounter{dayPaques}{1}
-\setcounter{monthPaques}{4}
-% Ascension
-\setcounter{dayAscension}{9}
-\setcounter{dayAscensionPont}{10}
-\setcounter{monthAscension}{5}
-% Lundi de Pentecote
-\setcounter{dayPentecote}{20}
-\setcounter{monthPentecote}{5}
+Dans ce package, la date du lundi de Pâques est définie (jusqu'à l'année
+2040) par celle du calendrier grégorien occidental (la date utilisée par
+l'éducation nationale). Cependant, si l'on souhaite entrer une autre date, on
+peut utiliser dans le préambule la commande
+\mintinline{latex}|\setLundiPaques{JJ}{MM}|, où \texttt{JJ} est le jour
+et \texttt{MM} est le mois du lundi de Pâques.\\
+Dans tous les cas, les dates de l'ascension et de la Pentecôte sont
+automatiquement calculées.
+
+\begin{minted}{latex}
+% Et si le lundi de Pâques était un 17 mars ?
+\setLundiPaques{17}{3}
 \end{minted}
 
-\section{Tableau d'appel et de note des classe -- commande
+\section{Tableau d'appel et de notes des classes -- commande
 \texttt{\textbackslash{}Classe}}
 
-La commande \texttt{\textbackslash{}Classe} permet de générer des tableaux
+La commande \mintinline{latex}|\Classe| permet de générer des tableaux
 d'appels des classes. Cette commande prend trois arguments:
 \begin{itemize}
   \item le nom de la classe;
@@ -169,182 +183,40 @@
   \item la liste des élèves séparés par des virgules.
 \end{itemize}
 Par exemple:
-
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
-% La classe de seconde est vue 4 fois dans la semaine:
-\Classe{2nde}{4}{
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  ...
+\begin{minted}{latex}
+% La classe de seconde a 3 séances dans la semaine 
+\Classe{Seconde}{4}{
+  Élève Seconde 1,
+  Élève Seconde 2,
+  Élève Seconde 3,
+  Élève Seconde 4,
+  Élève Seconde 5
 }
-% La classe de 1e STMG est vue 2 fois dans la semaine:
+% La classe de 1e STMG a 2 séances dans la semaine 
 \Classe{1 STMG}{2}{
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  ...
+  Élève STMG 1,
+  Élève STMG 2,
+  Élève STMG 3,
+  Élève STMG 4,
+  Élève STMG 5
 }
 \end{minted}
 
-La liste des élèves va créer un fichier \texttt{ListeEleves.tex} avec la liste
-(numérotés) de l'ensemble des élèves, réparti par classe. La commande
-\texttt{\textbackslash{}ListeElèves} permet d'insérer dans le cahier de texte
-cette liste (penser à compiler deux fois).
+\subsection{Liste des élèves}
 
-\section{Un exemple complet}
+La commande \mintinline{latex}|\ListeEleves| va va créer un fichier
+\texttt{ListeEleves.tex} avec la liste (numérotés) de l'ensemble des élèves
+réparti par classe, puis insérer dans le cahier de texte cette liste (penser à
+compiler deux fois).
 
-\begin{minted}[frame=single,linenos,numbersep=6pt]{latex}
-\documentclass[a4paper,french,10pt]{article}
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage{babel}
-\usepackage{multicol}
-\usepackage{cahierprof}
+% \begin{minted}{latex}
+% % Liste des élèves, sauvée dans le fichier ListeEleves.tex,
+% % créée à partir des \Classe{}{}{}. Penser à compiler deux fois.
+% \ListeEleves
+% \end{minted}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% En tête du document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Un exemple complet}
 
-%%% Les marges de mon document.
-\geometry{margin=1.2cm,head=0.6cm,headsep=10pt,foot=.6cm}
-% 1er lundi de l'année scolaire (pour le cahier de texte)
-\setcounter{year}{2023}
-\setcounter{month}{9}
-\setcounter{day}{4}
+\inputminted{latex}{cahierprof-exemple.tex}
 
-% Vacances Scolaire pour l'année en cours.
-% Toussaint
-\setcounter{dayToussaint}{21}
-\setcounter{monthToussaint}{10}
-\setcounter{dayToussaintFin}{6}
-\setcounter{monthToussaintFin}{11}
-% Noel
-\setcounter{dayNoel}{23}
-\setcounter{monthNoel}{12}
-\setcounter{dayNoelFin}{8}
-\setcounter{monthNoelFin}{1}
-% Hiver
-\setcounter{dayHiver}{10}
-\setcounter{monthHiver}{2}
-\setcounter{dayHiverFin}{26}
-\setcounter{monthHiverFin}{2}
-% Printemps
-\setcounter{dayPrintemps}{6}
-\setcounter{monthPrintemps}{4}
-\setcounter{dayPrintempsFin}{22}
-\setcounter{monthPrintempsFin}{4}
-% Lundi de Paques
-\setcounter{dayPaques}{1}
-\setcounter{monthPaques}{4}
-% Ascension
-\setcounter{dayAscension}{9}
-\setcounter{dayAscensionPont}{10}
-\setcounter{monthAscension}{5}
-% Lundi de Pentecote
-\setcounter{dayPentecote}{20}
-\setcounter{monthPentecote}{5}
-
-\title{\scshape Cahier du Professeur}
-\author{Un-e excellent-e professeur-e}
-\date{2023-2024}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Début du document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-
-%%Page de Garde
-\maketitle
-\thispagestyle{empty}
-
-\begin{center}
-  {\Large
-  \textsc{Cahier de texte}
-  }
-\end{center}
-
-\newpage
-
-% Emploi du temps au format tableau (tabularx).
-
-\begin{landscape}
-  \EmploiDuTemps
-  {
-%         & Lundi & Mardi  & Mercredi            & Jeudi & Vendredi \\
-    8h    &       & 1G     &                     &       &          \\ [1.5cm] \hline
-    9h    &       & 2nde   & 1STMG               &       & 1STMG    \\ [1.5cm] \hline
-    10h   &       &        & 1G                  &       &          \\ [1.5cm] \hline
-    11h   &       &        & \sem{2nde (A.P.)}{} &       & 1G       \\ [1.5cm] \hline\hline
-    13h30 &       & 1G     & 2nde                &       & 2nde     \\ [1.5cm] \cline{1-5}
-    14h30 &       &        & \sem{Term}{1ere}    &       &          \\ [1.5cm] \hline
-    15h30 &       & 1 euro & 2 euro              &       & T euro   \\ [1.5cm] \hline
-    16h30 &       &        &                     &       &          \\ [1.5cm] \hline
-  }
-\end{landscape}
-
-\begin{center}
-  {\Large
-  \textsc{Appel des classes}
-  }
-\end{center}
-
-% Liste des élèves, sauvée dans le fichier ListeEleves.tex, créée à partir des
-% \Classe{}{}{}.
-% Penser à compiler deux fois.
-
-\ListeEleves
-
-\newpage
-
-\tiny
-
-% Tableau de classe
-% \Classe{Nom de la classe}{Nombre de séances dans la semaine}{Liste des élèves
-% séparés par une virgule}
-
-\Classe{Seconde}{3}
-{
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
-}
-
-\newpage
-
-\Classe{1 G}{4}
-{
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
-}
-
-\newpage
-
-\Classe{1 STMG}{2}
-{
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
-}
-\newpage
-
-\Classe{2 euro}{1}
-{
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
-}
 \end{document}
-\end{minted}
-\end{document}

Modified: trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-exemple.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-exemple.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-exemple.tex	2023-08-11 21:15:48 UTC (rev 67895)
+++ trunk/Master/texmf-dist/doc/latex/cahierprof/cahierprof-exemple.tex	2023-08-11 21:35:03 UTC (rev 67896)
@@ -2,55 +2,33 @@
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage{babel}
-\usepackage{multicol}
+\usepackage{lscape}
 \usepackage{cahierprof}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% En tête du document
+% Préambule 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %%% Les marges de mon document.
 \geometry{margin=1.2cm,head=0.6cm,headsep=10pt,foot=.6cm}
-% 1er lundi de l'année scolaire (pour le cahier de texte)
-\setcounter{year}{2023}
-\setcounter{month}{9}
-\setcounter{day}{4}
 
-% Vacances Scolaire pour l'année en cours.
-% Toussaint
-\setcounter{dayToussaint}{21}
-\setcounter{monthToussaint}{10}
-\setcounter{dayToussaintFin}{6}
-\setcounter{monthToussaintFin}{11}
-% Noel
-\setcounter{dayNoel}{23}
-\setcounter{monthNoel}{12}
-\setcounter{dayNoelFin}{8}
-\setcounter{monthNoelFin}{1}
-% Hiver
-\setcounter{dayHiver}{10}
-\setcounter{monthHiver}{2}
-\setcounter{dayHiverFin}{26}
-\setcounter{monthHiverFin}{2}
-% Printemps
-\setcounter{dayPrintemps}{6}
-\setcounter{monthPrintemps}{4}
-\setcounter{dayPrintempsFin}{22}
-\setcounter{monthPrintempsFin}{4}
-% Lundi de Paques
-\setcounter{dayPaques}{1}
-\setcounter{monthPaques}{4}
-% Ascension
-\setcounter{dayAscension}{9}
-\setcounter{dayAscensionPont}{10}
-\setcounter{monthAscension}{5}
-% Lundi de Pentecote
-\setcounter{dayPentecote}{20}
-\setcounter{monthPentecote}{5}
+\title{
+  cahierprof-exemple.tex\\
+  Utilisation du cahier de textes pour les professeurs en \LaTeX{}
+}
+\author{
+  Raphaël Giromini\\
+  \texttt{raphael.giromini -- at -- gmail.com}
+}
+\date{Version 0.92 -- 10 août 2023}
 
-\title{\scshape Cahier du Professeur}
-\author{Un-e excellent-e professeur-e}
-\date{2023-2024}
+% 1er lundi de l'année scolaire (pour le cahier de texte)
+\setLundiRentree{4}{9}{2023}
+% Début de chaque vacances scolaire pour l'année en cours (le samedi).
+\setDebutToussaint{21}{10}
+\setDebutNoel{23}{12}
+\setDebutHiver{10}{2}
+\setDebutPrintemps{6}{4}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Début du document
@@ -57,93 +35,73 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{document}
 
-%%Page de Garde
 \maketitle
-\thispagestyle{empty}
 
-\begin{center}
-  {\Large
-  \textsc{Cahier de texte}
-  }
-\end{center}
+\section{Calendrier des semaines de cours}
 
-\newpage
+Le calendrier débute sur la page suivante au format paysage. 
 
 % Emploi du temps au format tableau (tabularx).
-
 \begin{landscape}
-  \EmploiDuTemps
-  {
-%         & Lundi & Mardi  & Mercredi            & Jeudi & Vendredi \\
-    8h    &       & 1G     &                     &       &          \\ [1.5cm] \hline
-    9h    &       & 2nde   & 1STMG               &       & 1STMG    \\ [1.5cm] \hline
-    10h   &       &        & 1G                  &       &          \\ [1.5cm] \hline
-    11h   &       &        & \sem{2nde (A.P.)}{} &       & 1G       \\ [1.5cm] \hline\hline
-    13h30 &       & 1G     & 2nde                &       & 2nde     \\ [1.5cm] \cline{1-5}
-    14h30 &       &        & \sem{Term}{1ere}    &       &          \\ [1.5cm] \hline
-    15h30 &       & 1 euro & 2 euro              &       & T euro   \\ [1.5cm] \hline
-    16h30 &       &        &                     &       &          \\ [1.5cm] \hline
+  \EmploiDuTemps{
+    %     & Lundi & Mardi & Merc.                  & Jeudi & Vend. \\
+    8h    &       & 1G    &                        & 1G    &       \\ [1.5cm] \cline{1-2}\cline{4-6}
+    9h    &       &       & 1STMG                  & 1STMG &       \\ [1.5cm] \hline
+    10h   & 1G    & 2nde  & 1G                     &       &       \\ [1.5cm] \hline
+    11h   &       &       & \sem{2nde A.P.}{}      &       & 1G    \\ [1.5cm] \hline\hline
+    13h30 &       & 1G    &                        &       & 2nde  \\ [1.5cm] \cline{1-5}
+    14h30 &       &       & 1G (Groupe~\sem{A}{B}) &       &       \\ [1.5cm] \hline
+    15h30 &       &       & 2 euro                 &       &       \\ [1.5cm] \hline
+    16h30 &       &       &                        &       &       \\ [1.5cm] \hline
   }
 \end{landscape}
 
-\begin{center}
-  {\Large
-  \textsc{Appel des classes}
-  }
-\end{center}
+\section{Liste des élèves et tableau d'appel et de notes des classes}
 
-% Liste des élèves, sauvée dans le fichier ListeEleves.tex, créée à partir des
-% \Classe{}{}{}.
-% Penser à compiler deux fois.
+\subsection{Liste des élèves}
 
 \ListeEleves
 
 \newpage
 
-\tiny
+\subsection{Tableaux des classes}
 
-% Tableau de classe
 % \Classe{Nom de la classe}{Nombre de séances dans la semaine}{Liste des élèves
 % séparés par une virgule}
 
 \Classe{Seconde}{3}
 {
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
+  Élève Seconde 1,
+  Élève Seconde 2,
+  Élève Seconde 3,
+  Élève Seconde 4,
+  Élève Seconde 5
 }
 
-\newpage
-
-\Classe{1 G}{4}
+\Classe{Première G}{6}
 {
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
+  Élève Première 1,
+  Élève Première 2,
+  Élève Première 3,
+  Élève Première 4,
+  Élève Première 5
 }
 
-\newpage
-
 \Classe{1 STMG}{2}
 {
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
+  Élève STMG 1,
+  Élève STMG 2,
+  Élève STMG 3,
+  Élève STMG 4,
+  Élève STMG 5
 }
-\newpage
 
 \Classe{2 euro}{1}
 {
-  Élève 1,
-  Élève 2,
-  Élève 3,
-  Élève 4,
-  Élève 5
+  Élève Euro 1,
+  Élève Euro 2,
+  Élève Euro 3,
+  Élève Euro 4,
+  Élève Euro 5
 }
 \end{document}

Modified: trunk/Master/texmf-dist/tex/latex/cahierprof/cahierprof.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/cahierprof/cahierprof.sty	2023-08-11 21:15:48 UTC (rev 67895)
+++ trunk/Master/texmf-dist/tex/latex/cahierprof/cahierprof.sty	2023-08-11 21:35:03 UTC (rev 67896)
@@ -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.
+% 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}%
+  \newpage%
+}%
 %
-%
-\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}
-{
+%%%% 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 



More information about the tex-live-commits mailing list.