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.