<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass[a4paper,french,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{commandes}
\usepackage{tcolorbox}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{minted}
\usepackage{xcolor}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% En tÃªte du document
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Les marges de mon document.
\geometry{margin=1.2cm,head=0.6cm,headsep=10pt,foot=.6cm}

\title{
  cahierprof.sty\\
  Un cahier de textes en \LaTeX{} pour les professeurs
}
\author{
  RaphaÃ«l Giromini\\
  \texttt{raphael.giromini -- at -- gmail.com}
}
\date{Version 1.0 -- 1er septembre 2023}

\setminted{frame=single,linenos,numbersep=6pt}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DÃ©but du document
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\maketitle

\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 un calendrier scolaire annuel (de septembre Ã&nbsp; 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}
Merci Ã&nbsp; FrÃ©dÃ©ric BrÃ©al pour ses conseils, ses idÃ©es et ses relectures attentives
du package.

\subsection*{NouveautÃ©s de la version 1.0}
\begin{itemize}
  \item La date du lundi de PÃ¢ques se calcule automatiquement.
  \item Option \texttt{samedi}, qui permet d'afficher un emploi tu temps
    hebdomadaire du lundi au samedi.
  \item PossibilitÃ© d'utiliser un fichier personnel dans la commande
    \mintinline{latex}|\ListeEleves|.
  \item CrÃ©ation des commandes \mintinline{latex}|\setFin|\texttt{*}, oÃ¹
    \texttt{*} correspond Ã&nbsp; \texttt{Toussaint}, \texttt{Noel}, \texttt{Hiver} ou
    \texttt{Printemps}, qui permet de dÃ©finir des dates spÃ©cifiques de fin de
    vacances. 
  \item CrÃ©ation de commandes pour dÃ©finir les dates du diplÃ´me national du
    brevet et du baccalaurÃ©at: \mintinline{latex}|\setDNB|,
    \mintinline{latex}|\setBac|, \mintinline{latex}|\setBacPhilo|,
    \mintinline{latex}|\setBacFrancais|, \mintinline{latex}|\setGO|.
\end{itemize}

\section*{Versions antÃ©rieures}

\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 Ã&nbsp; 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 Ã&nbsp; \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'Ã&nbsp; l'annÃ©e 2040, la date du lundi de PÃ¢que est gÃ©rÃ©e
    automatiquement.
\end{itemize}

\vfil
\begin{center}
  \begin{minipage}{.8\linewidth}
    \begin{tcolorbox}[colback=white, colframe=green!75!black]
      \tableofcontents
    \end{tcolorbox}
  \end{minipage}
\end{center}
\vfil

\newpage

\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 de la
rentrÃ©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 \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 (sous la forme d'un \texttt{tabularx}) comme dans
l'exemple ci-dessous:
\begin{minted}{latex}
\EmploiDuTemps{
  %     &amp; Lundi &amp; Mardi &amp; Mercr.    &amp; Jeudi &amp; Vend. \\
  8h    &amp;       &amp; 1G    &amp;           &amp; 1G    &amp;       \\ [1.5cm] \cline{1-2}\cline{4-6}
  9h    &amp;       &amp;       &amp; TSTMG     &amp; TSTMG &amp;       \\ [1.5cm] \hline
  10h   &amp; 1G    &amp; 2nde  &amp; 1G        &amp;       &amp;       \\ [1.5cm] \hline
  11h   &amp;       &amp;       &amp; 2nde A.P. &amp;       &amp; 1G    \\ [1.5cm] \hline\hline
  13h30 &amp;       &amp; 1G    &amp;           &amp;       &amp; 2nde  \\ [1.5cm] \cline{1-5}
  14h30 &amp;       &amp;       &amp; 1G (A/B)  &amp;       &amp;       \\ [1.5cm] \hline
  15h30 &amp;       &amp;       &amp; 2 euro    &amp;       &amp;       \\ [1.5cm] \hline
  16h30 &amp;       &amp;       &amp;           &amp;       &amp;       \\ [1.5cm] \hline
}
\end{minted}
Cette commande va gÃ©nÃ©rer 36 semaines de cours Ã&nbsp; compter du premier lundi de
l'annÃ©e scolaire.

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}

\subsection{Emploi du temps du lundi au samedi -- 
  option \texttt{samedi} ou \texttt{\textbackslash{}Samedi}}

Par dÃ©faut, l'emploi du temps est du lundi au vendredi. Mais il est possible
d'avoir un emploi du temps du lundi au samedi avec l'option \texttt{samedi},
dans la dÃ©claration du package.
\begin{minted}{latex}
\usepackage[samedi]{cahierprof}
\end{minted}
Cette option peut Ã©galement Ãªtre activÃ©e par la commande
\mintinline{latex}|\setSamedi|. Ne pas oublier de dÃ©clarer un Emploi du temps Ã&nbsp;
sept colonnes
\begin{minted}{latex}
% DÃ©claration du samedi (sans utiliser l'option du package)
\setSamedi
% Emploi du temps sur sept colonnes.
\EmploiDuTemps{
  %     &amp; Lundi &amp; Mardi &amp; Merc.     &amp; Jeudi &amp; Vend. &amp; Sam. \\
  8h    &amp;       &amp; 1G    &amp;           &amp; 1G    &amp;       &amp;      \\ [1.5cm] \cline{1-2}\cline{4-7}
  9h    &amp;       &amp;       &amp; TSTMG     &amp; TSTMG &amp;       &amp;      \\ [1.5cm] \hline
  10h   &amp; 1G    &amp; 2nde  &amp; 1G        &amp;       &amp;       &amp; 2nde \\ [1.5cm] \cline{1-6}
  11h   &amp;       &amp;       &amp; 2nde A.P. &amp;       &amp; 1G    &amp;      \\ [1.5cm] \hline\hline
  13h30 &amp;       &amp; 1G    &amp;           &amp;       &amp;       &amp;      \\ [1.5cm] \hline
  14h30 &amp;       &amp;       &amp; 1G A/B    &amp;       &amp;       &amp;      \\ [1.5cm] \hline
  15h30 &amp;       &amp;       &amp; 2 euro    &amp;       &amp;       &amp;      \\ [1.5cm] \hline
  16h30 &amp;       &amp;       &amp;           &amp;       &amp;       &amp;      \\ [1.5cm] \hline
}
\end{minted}

\subsection{SÃ©ance bimestrielles -- commande \texttt{\textbackslash{}sem}}

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). Selon
les zones (et les annÃ©es) il faut dÃ©finir en prÃ©ambule le premier samedi de
chaque vacances, sous la forme \mintinline{latex}|\setDebutToussaint{JJ}{MM}|
oÃ¹ \texttt{JJ} est le quantiÃ¨me du samedi du dÃ©but des vacances et \texttt{MM}
le mois du dÃ©but des vacances. 
\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}
Chacune de ces petites vacances dure automatiquement 15 jours. Cependant, il est
possible de dÃ©finir des dates spÃ©cifiques, sous la forme
\mintinline{latex}|\setFinToussaint{JJ}{MM}| oÃ¹ \texttt{JJ} est le quantiÃ¨me du
lundi de la fin des vacances et \texttt{MM} le mois de la fin des vacances.
\begin{minted}{latex}
% Fin de chaque vacances scolaire pour l'annÃ©e en cours (le lundi).
% Optionnel
\setFinToussaint{6}{11}
\setFinNoel{8}{1}
\setFinHiver{26}{2}
\setFinPrintemps{22}{4}
\end{minted}

\subsection{Gestion des examens -- commandes \texttt{\textbackslash{}setDNB} et
  \texttt{\textbackslash{}setBac}
}

On peut dÃ©finir des dates pour les examens: diplÃ´me national du brevet (DNB), le
les Ã©preuves finales du baccalaurÃ©at, l'Ã©preuve de philosophie, l'Ã©preuve de
franÃ§ais et le grand oral. 

Pour le diplÃ´me national du brevet (DNB), les dates des Ã©preuves sont dÃ©finies
par la commande \mintinline{latex}|\setDNB{JD}{JF}{YY}|, oÃ¹ \texttt{JD} est le
quantiÃ¨me du dÃ©but du DNB, \texttt{JF} est le quantiÃ¨me de la fin du DNB et
\texttt{MM} est le mois du DNB. Pour ces jours, la date sera sur fond vert et la
mention \colorbox{green}{$\star$DNB$\star$} sera ajoutÃ©e aprÃ¨s la date.
\begin{minted}{latex}
% Le DNB a lieu les 24 et 25 juin.
\setDNB{24}{25}{6}
\end{minted}
Pour les Ã©preuves du baccalaurÃ©at:
\begin{itemize}
  \item les jours des Ã©preuves finales du baccalaurÃ©at sont dÃ©finie par la
    commande \mintinline{latex}|\setBac{JD}{JF}{MM}|, oÃ¹ \texttt{JD} est le
    quantiÃ¨me du dÃ©but des Ã©preuves, \texttt{JF} est le quantiÃ¨me de la fin des
    Ã©preuves et \texttt{MM} est le mois des Ã©preuves;
  \item le jour de l'Ã©preuve de philosophie est dÃ©finie par la commande
    \mintinline{latex}|\setBacPhilo{JJ}{MM}|, oÃ¹ \texttt{JJ} est le quantiÃ¨me et
    \texttt{MM} est le mois de l'Ã©preuve de philosophie;
  \item le jour de l'Ã©preuve de franÃ§ais est dÃ©finie par la commande
    \mintinline{latex}|\setBacfrancais{JJ}{MM}|, oÃ¹ \texttt{JJ} est le quantiÃ¨me
    et \texttt{MM} est le mois de l'Ã©preuve de franÃ§ais.
  \item Les jours des Ã©preuves de grand oral sont dÃ©finie par la commande
    \mintinline{latex}|\setGO{JD}{JF}{MM}|, oÃ¹ \texttt{JD} est le quantiÃ¨me du
    dÃ©but des Ã©preuves, \texttt{JF} est le quantiÃ¨me de la fin des Ã©preuves et
    \texttt{MM} est le mois des Ã©preuves.
\end{itemize}
Pour ces jours, la date sera sur fond vert et la mention
\colorbox{green}{$\star$Bac$\star$} ou bien \colorbox{green}{$\star$GO$\star$}
sera ajoutÃ©e aprÃ¨s la date.
\begin{minted}{latex}
% Les Ã©preuves finales du bac ont lieu du 18 au 20 mars
\setBac{18}{20}{3}
% L'Ã©preuve de philosophie a lieu le 11 juin
\setBacPhilo{11}{6}
% L'Ã©preuve de franÃ§ais a lieu le 12 jun
\setBacFrancais{12}{6}
% Le Grand Oral a lieu du 17 au 28 juin
\setGO{17}{28}{6}
\end{minted}



\subsection{Gestion des jours fÃ©riÃ©s}

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 \colorbox{lightgray}{$\star$FÃ©riÃ©$\star$} sera ajoutÃ©e aprÃ¨s la date.

La date du lundi de PÃ¢ques est dÃ©finie par celle du calendrier grÃ©gorien
occidental (la date utilisÃ©e par l'Ã©ducation nationale), calculÃ© automatiquement
par la mÃ©thode de Butcher-Meeus. Cependant, il est possible de fixer un autre
lundi de PÃ¢ques, en utilisant, 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. 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.

Dans tous les cas, les dates de l'ascension et de la PentecÃ´te sont
automatiquement calculÃ©es Ã&nbsp; partir de la date du lundi de PÃ¢ques.

\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 notes des classes -- commande
\texttt{\textbackslash{}Classe}}

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;
  \item le nombre de fois que l'on voit les Ã©lÃ¨ves dans la semaine;
  \item la liste des Ã©lÃ¨ves sÃ©parÃ©s par des virgules.
\end{itemize}
Par exemple:
\begin{minted}{latex}
% La classe de seconde a 4 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 a 2 sÃ©ances dans la semaine 
\Classe{1 STMG}{2}{
  Ã‰lÃ¨ve STMG 1,
  Ã‰lÃ¨ve STMG 2,
  Ã‰lÃ¨ve STMG 3,
  Ã‰lÃ¨ve STMG 4,
  Ã‰lÃ¨ve STMG 5
}
\end{minted}

\subsection{Liste des Ã©lÃ¨ves -- commande \texttt{\textbackslash{}ListeEleves}}

La commande \mintinline{latex}|\ListeEleves{&lt;fichier&gt;}| permet d'insÃ©rer le
contenu du \texttt{&lt;fichier&gt;}. Si aucun fichier n'est spÃ©cifiÃ©, le package crÃ©Ã©
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 Ã&nbsp; compiler deux fois).

\begin{minted}{latex}
% Liste des Ã©lÃ¨ves, sauvÃ©e dans le fichier ListeEleves.tex,
% crÃ©Ã©e Ã&nbsp; partir des \Classe{}{}{}. Penser Ã&nbsp; compiler deux fois.
\ListeEleves{}
\end{minted}

\section{Un exemple complet}

L'exemple ci-dessous du cahier de texte est compilÃ© dans
\texttt{cahierprof-exemple.pdf}

\inputminted{latex}{cahierprof-exemple.tex}

\end{document}
</pre></body></html>