summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-08-11 03:01:25 +0000
committerNorbert Preining <norbert@preining.info>2023-08-11 03:01:25 +0000
commit3bfa493a1fafa36f78e84022bfe6511b23f51781 (patch)
tree540c8f5d5ed15e4ebc3a7fa23be29ef82edf21e4 /macros
parentf2278c4ebe48c174e43845ccfd838fffc3376514 (diff)
CTAN sync 202308110301
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/cahierprof/ListeEleves.tex42
-rw-r--r--macros/latex/contrib/cahierprof/cahierprof-doc.pdfbin289363 -> 282687 bytes
-rw-r--r--macros/latex/contrib/cahierprof/cahierprof-doc.tex424
-rw-r--r--macros/latex/contrib/cahierprof/cahierprof-exemple.pdfbin158682 -> 220954 bytes
-rw-r--r--macros/latex/contrib/cahierprof/cahierprof-exemple.tex152
-rw-r--r--macros/latex/contrib/cahierprof/cahierprof.sty424
-rw-r--r--macros/latex/contrib/couleurs-fr/README.md7
-rw-r--r--macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.pdfbin0 -> 82639 bytes
-rw-r--r--macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.tex315
-rw-r--r--macros/latex/contrib/couleurs-fr/tex/couleurs-fr.sty181
-rw-r--r--macros/latex/contrib/eolang/eolang.dtx148
-rw-r--r--macros/latex/contrib/eolang/eolang.pdfbin1888881 -> 1931964 bytes
12 files changed, 1088 insertions, 605 deletions
diff --git a/macros/latex/contrib/cahierprof/ListeEleves.tex b/macros/latex/contrib/cahierprof/ListeEleves.tex
index 6b8ecd25eb..cc5c2adffc 100644
--- a/macros/latex/contrib/cahierprof/ListeEleves.tex
+++ b/macros/latex/contrib/cahierprof/ListeEleves.tex
@@ -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}
diff --git a/macros/latex/contrib/cahierprof/cahierprof-doc.pdf b/macros/latex/contrib/cahierprof/cahierprof-doc.pdf
index 187febaf51..e3b174888d 100644
--- a/macros/latex/contrib/cahierprof/cahierprof-doc.pdf
+++ b/macros/latex/contrib/cahierprof/cahierprof-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/cahierprof/cahierprof-doc.tex b/macros/latex/contrib/cahierprof/cahierprof-doc.tex
index 6f180bdeee..338ddb0b24 100644
--- a/macros/latex/contrib/cahierprof/cahierprof-doc.tex
+++ b/macros/latex/contrib/cahierprof/cahierprof-doc.tex
@@ -2,7 +2,8 @@
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{commandes}
-% \usepackage{cahierprof}
+\usepackage{tcolorbox}
+\usepackage[framemethod=TikZ]{mdframed}
\usepackage{minted}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -14,154 +15,167 @@
\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}
\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}
+
+
+\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}
-% \end{resume}
-\tableofcontents
-\section{Liste des semaines de cours -- commande
-\texttt{\textbackslash{}EmploiDuTemps}}
+\begin{center}
+ \begin{minipage}{.8\linewidth}
+ \begin{tcolorbox}[colback=white, colframe=green!75!black]
+ \tableofcontents
+ \end{tcolorbox}
+ \end{minipage}
+\end{center}
-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}
+
+\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}
+
+\subsection{Séance bimestrielles -- commande \texttt{\textbackslash{}sem}}
-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.
+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}[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}
+\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.
-
-\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}
+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}{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 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}
-
-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}
+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.
+
+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.
+
+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 @@ d'appels des classes. Cette commande prend trois arguments:
\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).
-
-\section{Un exemple complet}
-
-\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}
+\subsection{Liste des élèves}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% En tête du document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+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).
-%%% 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{\scshape Cahier du Professeur}
-\author{Un-e excellent-e professeur-e}
-\date{2023-2024}
+% \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}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% 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
-}
+\section{Un exemple complet}
-\newpage
+\inputminted{latex}{cahierprof-exemple.tex}
-\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}
diff --git a/macros/latex/contrib/cahierprof/cahierprof-exemple.pdf b/macros/latex/contrib/cahierprof/cahierprof-exemple.pdf
index 3401a99650..24d975ecdf 100644
--- a/macros/latex/contrib/cahierprof/cahierprof-exemple.pdf
+++ b/macros/latex/contrib/cahierprof/cahierprof-exemple.pdf
Binary files differ
diff --git a/macros/latex/contrib/cahierprof/cahierprof-exemple.tex b/macros/latex/contrib/cahierprof/cahierprof-exemple.tex
index 1aa7941855..f1f80b8f01 100644
--- a/macros/latex/contrib/cahierprof/cahierprof-exemple.tex
+++ b/macros/latex/contrib/cahierprof/cahierprof-exemple.tex
@@ -2,148 +2,106 @@
\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}
+
+\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}
+
% 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{\scshape Cahier du Professeur}
-\author{Un-e excellent-e professeur-e}
-\date{2023-2024}
+\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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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}
diff --git a/macros/latex/contrib/cahierprof/cahierprof.sty b/macros/latex/contrib/cahierprof/cahierprof.sty
index 59850eef8f..ad0469ff25 100644
--- a/macros/latex/contrib/cahierprof/cahierprof.sty
+++ b/macros/latex/contrib/cahierprof/cahierprof.sty
@@ -1,8 +1,8 @@
%% Informations générales
-%% Dernière modification le 2023-07-12 at 08:23
+%% Dernière modification le 2023-08-10 at 16:16
\NeedsTeXFormat{LaTeX2e}[1999/01/01]
\ProvidesPackage{cahierprof}
- [2023-07-12 v0.91 Les commandes pour le cahier Professeur]
+ [2023/08/10 v0.92 Les commandes pour le cahier Professeur]
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Options du package commande
@@ -13,13 +13,12 @@
% Chargement des extensions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{geometry}
-\RequirePackage[table]{xcolor}
\RequirePackage{tabularx}
+\RequirePackage{colortbl}
\RequirePackage{tikz}
\usetikzlibrary{math}
\usetikzlibrary{calc}
\RequirePackage[babel=true,kerning=true]{microtype}
-\RequirePackage{lscape}
\RequirePackage{ifthen}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30,6 +29,11 @@
\newcounter{month}
\newcounter{year}
%
+% Compteurs pour la rentrée
+\newcounter{lundiRentree}
+\newcounter{monthRentree}
+\newcounter{yearRentree}
+%
% Compteurs pour les vacances scolaires
% Toussaint
\newcounter{dayToussaint}
@@ -65,55 +69,15 @@
\newcounter{frimonth}
\newcounter{friyear}
%
-% Gestion des années bissextiles.
-\newcounter{FinFevrier}%
-% Est-ce que l'année est bissextile?%
-\pgfmathparse{int(mod(\theyear,4))}%
-\ifthenelse{\pgfmathresult>0}%
-{%
- % if (year is not divisible by 4) then (it is a common year)%
- \setcounter{FinFevrier}{28}%
-}{%
- % else if (year is not divisible by 100) then (it is a leap year)%
- \pgfmathparse{int(mod(\theyear,100))}%
- \ifthenelse{\pgfmathresult>0}%
- {%
- \setcounter{FinFevrier}{29}%
- }{%
- % else if (year is not divisible by 400) then (it is a common year)%
- \pgfmathparse{int(mod(\theyear,400))}%
- \ifthenelse{\pgfmathresult>0}%
- {%
- \setcounter{FinFevrier}{28}%
- }{%
- % else (it is a leap year)%
- \setcounter{FinFevrier}{29}%
- }%
- }%
-}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Nouvelles macros
+% Liste des macros pour le calendrier.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Liste des macros définies:
% - \nextday : pour passer au jour d'après
% - \weekend : pour passer les week-ends ou les vacances scolaires
% - \getdate : afficher la date au format day/month/year
-% - \getWeek : afficher la semaine au format
-% Du lundi Day Month Year au Vendredi Day Month Year
-% - \Semaine : afficher la première ligne du tableau du cahier de texte (Lundi
-% day/month, Mardi day/month, etc)
-% - EmploiDuTemps[1] : afficher l'emploi du temps prof. #1 : l'emploi du temps,
-% au format tableau avec une colonne par jour.
-% - \sem[2] : Cours 1 semaine sur 2. Affiche le contenu de #2 si la semaine #1
-% est paire (0) ou impaire (1).
-% - \TableauClasse[2] : Afficher un tableau pour la classe. #1: le nom de la
-% classe. #2: la liste des élèves séparées par des virgules.
-% - \Classe[2] : Afficher 8 tableaux de classe. #1: le nom de la classe. #2: la
-% liste des élèves.
-% - \ListeEleves : créer un fichier ListeEleves.tex qui contient la liste des
-% élèves puis insère le fichier (compiler deux fois, comme \tableofcontents).
+% - \getWeek : afficher la semaine au format
%
-% Passer au jour d'après
+%%%% Passer au jour d'après
\newcommand{\nextday}%
{%
% Les mois à 30 jours : Avril, Juin, Septembre, Novembre
@@ -141,36 +105,34 @@
\stepcounter{day}%
}%
}%
-%
-% Gestions des vacances et week-end
+%%%% Gestions des vacances et week-end
\newcommand{\weekend}{
% Vacances de Toussaint
\ifthenelse{ \theday=\thedayToussaint \and \themonth=\themonthToussaint}
{
- \setcounter{day}{\thedayToussaintFin}
- \setcounter{month}{\themonthToussaintFin}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}
Vacances de la Toussaint
}{
% Vacances de Noël
\ifthenelse{ \theday=\thedayNoel \and \themonth=\themonthNoel}
{
- \setcounter{day}{\thedayNoelFin}
- \setcounter{month}{\themonthNoelFin}
- \stepcounter{year}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}%
Vacances de Noël
}{
% Vacances d'Hiver
\ifthenelse{ \theday=\thedayHiver \and \themonth=\themonthHiver}
{
- \setcounter{day}{\thedayHiverFin}
- \setcounter{month}{\themonthHiverFin}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}%
Vacances d'hiver
}{
% Vacances de Printemps
\ifthenelse{ \theday=\thedayPrintemps \and \themonth=\themonthPrintemps}
{
- \setcounter{day}{\thedayPrintempsFin}
- \setcounter{month}{\themonthPrintempsFin}
+ % 15 jours de vacances, bien mérités !
+ \foreach \jour in {1,...,16}{\nextday}%
Vacances de printemps
}{
% sinon c'est juste un week-end
@@ -180,8 +142,7 @@
}%
}%
}
-%
-% Obtenir la date
+%%%% Obtenir la date
\newcommand{\getDate}{%
% On affiche la date
\theday/\themonth/\theyear%
@@ -212,11 +173,11 @@
% Noël, le 25 décembre
\or\(\theday=25 \and \themonth=12\)%
}{
- \hfil $\star$Ferié$\star$%
+ \cellcolor[gray]{.9} \hfil $\star$Ferié$\star$%
}{}%
}%
%
-% Affichage de la semaine.%
+%%%% Affichage de la semaine.
\newcommand{\getWeek}{%
\setcounter{friday}{\theday}%
\setcounter{frimonth}{\themonth}%
@@ -239,7 +200,7 @@
% Lundi 30 - Mar 31, Mer 1, Jeu 2, Ven 3%
\ifthenelse{\theday=30}{\setcounter{friday}{3}}{}%
% Lundi 29 - Mar 30, Mer 31, Jeu 1, Ven 2%
- \ifthenelse{\theday=29}{\setcounter{friday}{3}}{}%
+ \ifthenelse{\theday=29}{\setcounter{friday}{2}}{}%
% Lundi 28 - Mar 29, Mer 30, Jeu 31, Ven 1%
\ifthenelse{\theday=28}{\setcounter{friday}{1}}{}%
}%
@@ -339,111 +300,276 @@
\thefriyear
}%
%
-% Affichage de la semaine
-\newcommand{\Semaine}
-{
- & Lundi \getDate\nextday
- & Mardi \getDate\nextday
- & Mercredi \getDate\nextday
- & Jeudi \getDate\nextday
- & Vendredi \getDate\nextday
-}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Liste des macros pour les jours spéciaux
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \setLundiRentree : définir le lundi de rentrée au format DD-MM-YYYY
+% - \setDebutToussaint : définir le début (samedi) des vacances de Toussaint
+% - \setDebutNoel : définir le début (samedi) des vacances de Noel
+% - \setDebutHiver : définir le début (samedi) des vacances d'hiver
+% - \setDebutPrintemps : définir le début (samedi) des vacances de Printemps
+% - \setLundiPaques : définir le lundi de Paques au format DD-MM-YYYY
+% - \setJoursFeries : définir les dates de l'ascension, du pont de
+% l'ascension et de la Pentecôte à partir de la date du lundi de Pâques.
+%
+%%%% Définir le lundi de la rentrée
+% \setLundiRentree a 3 arguments :
+% - #1 Le jourde la rentrée
+% - #2 Le Mois de la rentrée
+% - #3 L'annéede la rentrée
+\newcommand{\setLundiRentree}[3]%
+{%
+ \setcounter{lundiRentree}{#1}%
+ \setcounter{monthRentree}{#2}%
+ \setcounter{yearRentree}{#3}%
+ % Gestion des années bissextiles.
+ \setcounter{year}{\theyearRentree}
+ \stepcounter{year}
+ \newcounter{FinFevrier}%
+ % Est-ce que l'année est bissextile?%
+ \pgfmathparse{int(mod(\theyear,4))}%
+ \ifthenelse{\pgfmathresult>0}%
+ {%
+ % if (year is not divisible by 4) then (it is a common year)%
+ \setcounter{FinFevrier}{28}%
+ }{%
+ % else if (year is not divisible by 100) then (it is a leap year)%
+ \pgfmathparse{int(mod(\theyear,100))}%
+ \ifthenelse{\pgfmathresult>0}%
+ {%
+ \setcounter{FinFevrier}{29}%
+ }{%
+ % else if (year is not divisible by 400) then (it is a common year)%
+ \pgfmathparse{int(mod(\theyear,400))}%
+ \ifthenelse{\pgfmathresult>0}%
+ {%
+ \setcounter{FinFevrier}{28}%
+ }{%
+ % else (it is a leap year)%
+ \setcounter{FinFevrier}{29}%
+ }%
+ }%
+ }%
+}%
+%%%% Définir le début des vacances de Toussaint
+% Les commandes \set*Vacances* ont 2 arguments :
+% - #1 Le jourde la rentrée
+% - #2 Le Mois de la rentrée
+\newcommand{\setDebutToussaint}[2]%
+{%
+ \setcounter{dayToussaint}{#1}%
+ \setcounter{monthToussaint}{#2}%
+}%
+%%%% Définir le début des vacances de Noel
+\newcommand{\setDebutNoel}[2]%
+{%
+ \setcounter{dayNoel}{#1}%
+ \setcounter{monthNoel}{#2}%
+}%
+%%%% Définir le début des vacances d'hiver
+\newcommand{\setDebutHiver}[2]%
+{%
+ \setcounter{dayHiver}{#1}%
+ \setcounter{monthHiver}{#2}%
+}%
+%%%% Définir le début des vacances de Printemps
+\newcommand{\setDebutPrintemps}[2]%
+{%
+ \setcounter{dayPrintemps}{#1}%
+ \setcounter{monthPrintemps}{#2}%
+}%
+%%%% Définir le Lundi de Paques
+\newcommand{\setLundiPaques}[2]%
+{%
+ \setcounter{dayPaques}{#1}%
+ \setcounter{monthPaques}{#2}%
+}%
+%%%% Trouver les dates des jours fériés variables
+\newcommand{\setJoursFeries}{%
+ % Si \setLundiPaques n'est pas utilisé (valable jusqu'en 2040)...
+ \ifthenelse{\equal{\thedayPaques}{0}}%
+ {%
+ \setcounter{year}{\theyearRentree}%
+ \stepcounter{year}%
+ \ifthenelse{\equal{\theyear}{2024}}{\setcounter{dayPaques}{1}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2025}}{\setcounter{dayPaques}{21}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2026}}{\setcounter{dayPaques}{6}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2027}}{\setcounter{dayPaques}{29}\setcounter{monthPaques}{3}}{}
+ \ifthenelse{\equal{\theyear}{2028}}{\setcounter{dayPaques}{17}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2029}}{\setcounter{dayPaques}{2}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2030}}{\setcounter{dayPaques}{22}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2031}}{\setcounter{dayPaques}{14}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2032}}{\setcounter{dayPaques}{29}\setcounter{monthPaques}{3}}{}
+ \ifthenelse{\equal{\theyear}{2033}}{\setcounter{dayPaques}{18}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2034}}{\setcounter{dayPaques}{10}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2035}}{\setcounter{dayPaques}{26}\setcounter{monthPaques}{3}}{}
+ \ifthenelse{\equal{\theyear}{2036}}{\setcounter{dayPaques}{14}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2037}}{\setcounter{dayPaques}{6}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2038}}{\setcounter{dayPaques}{26}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2039}}{\setcounter{dayPaques}{11}\setcounter{monthPaques}{4}}{}
+ \ifthenelse{\equal{\theyear}{2040}}{\setcounter{dayPaques}{2}\setcounter{monthPaques}{4}}{}
+ \setcounter{year}{\theyearRentree}%
+ }{}
+ % On fixe la date au lundi de Pâques
+ \setcounter{day}{\thedayPaques}%
+ \setcounter{month}{\themonthPaques}%
+ % Jeudi de l'ascension = 38 jours après le lundi de Paques
+ \foreach \jour in {1,...,38}{\nextday}%
+ \setcounter{dayAscension}{\theday}%
+ \setcounter{monthAscension}{\themonth}%
+ % Vendredi, pont de l'ascension
+ \nextday%
+ \setcounter{dayAscensionPont}{\theday}%
+ % Lundi de Pentecote = 10 jours après le vendredi de l'ascension
+ \foreach \jour in {1,...,10}{\nextday}%
+ \setcounter{dayPentecote}{\theday}%
+ \setcounter{monthPentecote}{\themonth}%
+ % Remettre la date au jour de la rentrée
+ \setcounter{day}{\thelundiRentree}%
+ \setcounter{month}{\themonthRentree}%
+ \setcounter{year}{\theyearRentree}%
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Liste des macros pour l'affichage de la semaine
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \Semaine : afficher la première ligne du tableau du cahier de texte (Lundi
+% day/month, Mardi day/month, etc)
+%
+%%%% Affichage de la semaine
+\newcommand{\Semaine}%
+{%
+ & Lundi \getDate\nextday%
+ & Mardi \getDate\nextday%
+ & Mercredi \getDate\nextday%
+ & Jeudi \getDate\nextday%
+ & Vendredi \getDate\nextday%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Liste des macros pour l'emploi du temps
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \setNombreSemaines[1] : définir le nombre N de semaines à afficher.
+% - \EmploiDuTemps[1] : afficher N fois le tableau #1,
+% - \sem[2] : Séances bimensuelle.
+%
+%%% Nombre de semaine à afficher
+% #1 est le nombre N de semaines à afficher.
+% Si \setSemaines n'est pas utilisé, alors N=36 semaines.
+\newcounter{nombreSemaines}
+\newcommand{\setNombreSemaines}[1]%
+{%
+ \setcounter{nombreSemaines}{#1}
+}%
+%%%% Affichage de l'emploi du temps
\newcommand{\EmploiDuTemps}[1]%
-{
- \foreach \n in {1,...,37}
- {
- {\Large\textsc{Semaine \no\n{} --- \getWeek}}
- \vfil
- \begin{tabularx}{\linewidth}{|c||X|X|X|X|X|} \hline
- \Semaine \\ \hline
- #1
- \end{tabularx}
- \vfil
- \hfil \weekend \hfil
- \newpage
+{%
+ \setJoursFeries%
+ \ifthenelse{\equal{\thenombreSemaines}{0}}%
+ {%
+ \tikzmath{\NbSem=int(36);}%
+ }{%
+ \tikzmath{\NbSem=int(\thenombreSemaines);}%
+ }%
+ \foreach \n in {1,...,\NbSem}%
+ {%
+ {\Large\textsc{Semaine \no\n{} --- \getWeek}}%
+ \vfil%
+ \begin{tabularx}{\linewidth}{|c||X|X|X|X|X|} \hline%
+ \Semaine \\ \hline%
+ #1%
+ \end{tabularx}%
+ \vfil%
+ \hfil \weekend \hfil%
+ \newpage%
}%
}%
%
-% Cours 1 semaine sur 2
-% La commande \sem a deux arguments:
-% - #1 pour le cours en semaine impaire.
-% - #2 pour le cours en semaine paire.
+%%%% Séance bimestrielle
+% Affiche #1 si le numéro de la semaine est impair.
+% Affiche #2 si le numéro de la semaine est pair.
\newcommand{\sem}[2]%
-{
- \pgfmathparse{int(mod(\n,2))}
- \ifthenelse{\pgfmathresult=1}{#1}{#2}
+{%
+ \pgfmathparse{int(mod(\n,2))}%
+ \ifthenelse{\pgfmathresult=1}{#1}{#2}%
}%
-% Réaliser le tableau pour une classe
-% En argument:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Liste des macros pour les tableaux des classes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - \TableauClasse : Afficher un tableau pour la classe.
+% - \Classe : Afficher 8 tableaux de classe.
+% - \ListeEleves : Insère la liste des élèves
+%
+%%%% Réaliser un tableau pour une classe
+% TableauClasse a deux arguments:
% - #1 : la classe.
% - #2 la liste des élèves, séparée par des virgules (sauf le dernier).
-\newcommand{\TableauClasse}[2]
-{
- \begin{tikzpicture}
+\newcommand{\TableauClasse}[2]%
+{%
+ \begin{tikzpicture}%
% En tête et nom de la classe.
- \tikzmath{\largeurLigne=18; \largeurNom=3.5;\largeurColonne=\largeurLigne-\largeurNom;}
- \draw[fill=gray!50] (0,-.5) rectangle (\largeurLigne,.5);
- \draw ({\largeurNom/2},0) node{\Large #1};
- \draw[shift={(\largeurNom,-.5)}] (0,0) grid[xstep=\largeurColonne/20]
- ++(\largeurColonne,1);
- \foreach[count=\n] \NomPrenom in {#2}
- {
+ \tikzmath{\largeurLigne=18; \largeurNom=3.5;\largeurColonne=\largeurLigne-\largeurNom;}%
+ \draw[fill=gray!50] (0,-.5) rectangle (\largeurLigne,.5);%
+ \draw ({\largeurNom/2},0) node{\Large #1};%
+ \draw[shift={(\largeurNom,-.5)}] (0,0) grid[xstep=\largeurColonne/20] %
+ ++(\largeurColonne,1);%
+ \foreach[count=\n] \NomPrenom in {#2}%
+ {%
% Griser une ligne sur 2 (les lignes paires)
- \pgfmathparse{int(mod(\n,2))}
- \ifnum0=\pgfmathresult\relax
- \fill[gray!25] (0,{-.5*\n}) rectangle ++(\largeurLigne,-.5);
- \fi
+ \pgfmathparse{int(mod(\n,2))}%
+ \ifnum0=\pgfmathresult\relax%
+ \fill[gray!25] (0,{-.5*\n}) rectangle ++(\largeurLigne,-.5);%
+ \fi%
% Ecrire le numéro de l'élève et son nom
- \draw (0,{-.5*\n}) node[text width=3.5cm,below right]
- {\tiny \n. \NomPrenom} rectangle ++(\largeurNom,-.5);
- \draw[shift={(\largeurNom,-.5*\n)}] (0,0) grid[xstep=14.5/20,ystep=.5]
- (\largeurColonne,-.5);
- }
- \end{tikzpicture}
+ \draw (0,{-.5*\n}) node[text width=3.5cm,below right]%
+ {\tiny \n. \NomPrenom} rectangle ++(\largeurNom,-.5);%
+ \draw[shift={(\largeurNom,-.5*\n)}] (0,0) grid[xstep=14.5/20,ystep=.5]%
+ (\largeurColonne,-.5);%
+ }%
+ \end{tikzpicture}%
}%
-%
-% Réaliser les tableaux de classe.
-% \TableauClasse a 3 arguments:
+%%%% Réaliser les tableaux de classe.
+% \Classe a 3 arguments:
% - #1 : la classe
% - #2 : le nombre de fois qu'on voit la classe par semaine
% - #3 : la liste des élèves
-%% Il y a 20 colonnes par tableaux. Il faut ~2 tableaux pour faire 37 semaines
-%% Le nombre de tableaux est donc deux fois le nombre de fois qu'on voit les
-%% élèves par semaine.
-%
-%
-\newcommand{\Classe}[3]
-{
- \immediate\write\outputstream{#1}
- \immediate\write\outputstream{\string \begin{enumerate}}
+% Il y a 20 colonnes par tableaux. Il faut à peu près 2 tableaux pour faire 36
+% semaines Le nombre de tableaux est donc deux fois le nombre de fois qu'on voit
+% les élèves par semaine.
+\newcommand{\Classe}[3]%
+{%
+ \immediate\write\outputstream{#1}%
+ \immediate\write\outputstream{\string \begin{enumerate}}%
% Ecrire les noms des élèves dans le bon fichier
- \foreach \i in {#3}
- {
- \immediate\write\outputstream{\string\item\space \i}
- }
- \immediate\write\outputstream{\string \end{enumerate}}
- \begin{center}
- \tikzmath{\NbTableaux=2*#2;}
- \foreach \i in {1,...,\NbTableaux}
- {
- \TableauClasse{#1}{#3} \\[.50cm]
- }
- \end{center}
-}
-
-% Liste des élèves
-\newcommand{\ListeEleves}
-{
+ \foreach \i in {#3}%
+ {%
+ \immediate\write\outputstream{\string\item\space \i}%
+ }%
+ \immediate\write\outputstream{\string \end{enumerate}}%
+ \begin{center}%
+ \tikzmath{\NbTableaux=2*#2;}%
+ \foreach \i in {1,...,\NbTableaux}%
+ {%
+ \TableauClasse{#1}{#3} \\[.50cm]%
+ }%
+ \end{center}%
+ \newpage%
+}%
+%
+%%%% Liste des élèves
+% \ListeEleves va créer un fichier ListeEleves.tex qui contient la liste des
+% élèves puis insère le fichier (compiler deux fois, comme \tableofcontents).
+\newcommand{\ListeEleves}%
+{%
%insère le fichier ListeEleves.tex s'il existe
- \IfFileExists{ListeEleves.tex}{
- \input{ListeEleves.tex}
- }{
- % Else : do nothing.
- }
+ \IfFileExists{ListeEleves.tex}{%
+ \input{ListeEleves.tex}%
+ }{%
+ % Else : do nothing.%
+ }%
% Stocker le nom des élèves dans un fichier externe.
- \newwrite\outputstream
+ \newwrite\outputstream%
\immediate\openout\outputstream=ListeEleves.tex
-}
+}%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Divers
diff --git a/macros/latex/contrib/couleurs-fr/README.md b/macros/latex/contrib/couleurs-fr/README.md
new file mode 100644
index 0000000000..b3ca47dc02
--- /dev/null
+++ b/macros/latex/contrib/couleurs-fr/README.md
@@ -0,0 +1,7 @@
+couleurs-fr is a package french names of xcolor schemes.
+---------------------------------------------------------------------------
+couleurs-fr est un package avec les versions francisées de couleurs xcolor.
+---------------------------------------------------------------------------
+Author : Cédric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.pdf b/macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.pdf
new file mode 100644
index 0000000000..e7c0ea0e29
--- /dev/null
+++ b/macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.tex b/macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.tex
new file mode 100644
index 0000000000..7be6cb854e
--- /dev/null
+++ b/macros/latex/contrib/couleurs-fr/doc/couleurs-fr-doc.tex
@@ -0,0 +1,315 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,11pt,a4paper]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{DejaVuSerif}
+\usepackage[scale=1.125]{inconsolata}
+\usepackage{amssymb}
+\usepackage{couleurs-fr}
+\usepackage{tikz}
+\usepackage{soul}
+\usepackage{codehigh}
+\usepackage{multicol}
+\usepackage{fontawesome5}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [couleurs-fr]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+
+\def\TPversion{0.1.0}
+\def\TPdate{09 août 2023}
+
+\usepackage{tcolorbox}
+
+\NewDocumentCommand\MontreCouleur{ O{black} m }{%
+ \begin{tikzpicture}
+ \draw[thick,draw=black,fill=#2] (0,0) rectangle++ (2,0.65) ;
+ \draw (2.025,0.325) node[right,font=\large\ttfamily,text=#1] {#2} ;
+ \end{tikzpicture}%
+ \par
+}
+
+\sethlcolor{GrisLeger!25}
+\NewDocumentCommand\MontreCode{ m }{%
+ \hl{\vphantom{\texttt{pf}}\texttt{#1}}%
+}
+
+\usepackage{babel}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{couleurs-fr}}\\
+ \\
+ {\LARGE Des couleurs de \texttt{xcolor},} \\
+ {\LARGE en version francisées.} \\
+ \end{tabular}
+
+ \medskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\vspace*{2.5mm}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/couleurs-fr}}
+\end{tabular}
+\end{center}
+
+\vspace{2.5mm}
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\section{Le package couleurs-fr}
+
+\subsection{Idée}
+
+L'idée est de proposer des couleurs au noms francisés, indépendamment des options \MontreCode{[table]}, \MontreCode{[svgnames]} ou \MontreCode{[dvipsnames]} du package \MontreCode{xcolor} (\url{https://ctan.org/pkg/xcolor}).
+
+\smallskip
+
+Cela permet notamment d'éviter des incompatibilités du type \MontreCode{clash error for} puisque le seul package chargé par \MontreCode{couleurs-fr} est \MontreCode{xcolor} sans option !
+
+\subsection{Chargement}
+
+Le package se charge dans le préambule, via \MontreCode{\textbackslash usepackage\{couleurs-fr\}}.
+
+Si \texttt{xcolor} est amené à être chargé avec des options particulières, il faudra le charger \textbf{avant} \MontreCode{couleurs-fr}.
+
+\begin{codehigh}[language=latex/latex3,style/main=BleuAlice,style/code=BleuAlice]
+%chargement sans xcolor explicite
+\documentclass{article}
+...
+\usepackage{couleurs-fr}
+...
+\end{codehigh}
+
+\begin{codehigh}[language=latex/latex3,style/main=BleuAlice,style/code=BleuAlice]
+%chargement avec xcolor explicite
+\documentclass{article}
+...
+\usepackage[options]{xcolor}
+...
+\usepackage{couleurs-fr}
+...
+\end{codehigh}
+
+\pagebreak
+
+\section{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale
+
+\subsection{Les couleurs issues de la gamme \og svgnames \fg}
+
+\begin{multicols}{3}
+ \MontreCouleur{Amande}
+ \MontreCouleur{AmandineFonce}
+ \MontreCouleur{AmandineLeger}
+ \MontreCouleur{AmandinePale}
+ \MontreCouleur{Amandine}
+ \MontreCouleur{Argent}
+ \MontreCouleur{Azur}
+ \MontreCouleur{BeigeFonce}
+ \MontreCouleur{Beige}
+ \MontreCouleur{Bisque}
+ \MontreCouleur{BlancAntique}
+ \MontreCouleur{BlancFantome}
+ \MontreCouleur{BlancFloral}
+ \MontreCouleur{BlancNajavo}
+ \MontreCouleur{Blanc}
+ \MontreCouleur{BleuAcierClair}
+ \MontreCouleur{BleuAcier}
+ \MontreCouleur{BleuAlice}
+ \MontreCouleur{BleuArdoiseFonce}
+ \MontreCouleur{BleuArdoiseLeger}
+ \MontreCouleur{BleuArdoise}
+ \MontreCouleur{BleuCadet}
+ \MontreCouleur{BleuCielIntense}
+ \MontreCouleur{BleuCielLeger}
+ \MontreCouleur{BleuCiel}
+ \MontreCouleur{BleuDodger}
+ \MontreCouleur{BleuFonce}
+ \MontreCouleur{BleuInter}
+ \MontreCouleur{BleuLeger}
+ \MontreCouleur{BleuMarineInter}
+ \MontreCouleur{BleuNavy}
+ \MontreCouleur{BleuNuit}
+ \MontreCouleur{BleuPoudre}
+ \MontreCouleur{BleuRoyal}
+ \MontreCouleur{Bleuet}
+ \MontreCouleur{Bleu}
+ \MontreCouleur{Ble}
+ \MontreCouleur{Bois}
+ \MontreCouleur{Brique}
+ \MontreCouleur{Bronze}
+ \MontreCouleur{BrunIntense}
+ \MontreCouleur{BrunLeger}
+ \MontreCouleur{Brun}
+ \MontreCouleur{Caramel}
+ \MontreCouleur{Chardon}
+ \MontreCouleur{Chartreuse}
+ \MontreCouleur{CitronVertFonce}
+ \MontreCouleur{CitronVert}
+ \MontreCouleur{Coquillage}
+ \MontreCouleur{CorailLeger}
+ \MontreCouleur{Corail}
+ \MontreCouleur{Cramoisi}
+ \MontreCouleur{CremeMenthe}
+ \MontreCouleur{CyanFonce}
+ \MontreCouleur{CyanLeger}
+ \MontreCouleur{Cyan}
+ \MontreCouleur{EauMarine}
+ \MontreCouleur{Eau}
+ \MontreCouleur{Fumee}
+ \MontreCouleur{Fuschia}
+ \MontreCouleur{GrisArdoiseFonce}
+ \MontreCouleur{GrisArdoiseLeger}
+ \MontreCouleur{GrisArdoise}
+ \MontreCouleur{GrisAttenue}
+ \MontreCouleur{GrisEtain}
+ \MontreCouleur{GrisFonce}
+ \MontreCouleur{GrisLeger}
+ \MontreCouleur{Gris}
+ \MontreCouleur{Indigo}
+ \MontreCouleur{Ivoire}
+ \MontreCouleur{JauneAmandineLeger}
+ \MontreCouleur{JauneLeger}
+ \MontreCouleur{JauneVert}
+ \MontreCouleur{Jaune}
+ \MontreCouleur{KakiFonce}
+ \MontreCouleur{Kaki}
+ \MontreCouleur{LavandeLeger}
+ \MontreCouleur{Lavande}
+ \MontreCouleur{Lin}
+ \MontreCouleur{MagentaFonce}
+ \MontreCouleur{Magenta}
+ \MontreCouleur{Mais}
+ \MontreCouleur{MarronRosy}
+ \MontreCouleur{MarronSandy}
+ \MontreCouleur{Marron}
+ \MontreCouleur{Miellat}
+ \MontreCouleur{Mocassin}
+ \MontreCouleur{Neige}
+ \MontreCouleur{Noir}
+ \MontreCouleur{Olivatre}
+ \MontreCouleur{Olive}
+ \MontreCouleur{OrangeFonce}
+ \MontreCouleur{Orange}
+ \MontreCouleur{OrchideeFonce}
+ \MontreCouleur{OrchideeInter}
+ \MontreCouleur{Orchidee}
+ \MontreCouleur{Or}
+ \MontreCouleur{Papaye}
+ \MontreCouleur{Perou}
+ \MontreCouleur{Prune}
+ \MontreCouleur{RoseFonce}
+ \MontreCouleur{RoseIntense}
+ \MontreCouleur{RoseLeger}
+ \MontreCouleur{RoseMisty}
+ \MontreCouleur{Rose}
+ \MontreCouleur{RougeFonce}
+ \MontreCouleur{RougeIndien}
+ \MontreCouleur{RougeOrange}
+ \MontreCouleur{RougeVioletInter}
+ \MontreCouleur{RougeVioletPale}
+ \MontreCouleur{RougeViolet}
+ \MontreCouleur{Rouge}
+ \MontreCouleur{Sarcelle}
+ \MontreCouleur{SaumonFonce}
+ \MontreCouleur{SaumonLeger}
+ \MontreCouleur{Saumon}
+ \MontreCouleur{Sienne}
+ \MontreCouleur{Tomate}
+ \MontreCouleur{TurquoiseFonce}
+ \MontreCouleur{TurquoiseInter}
+ \MontreCouleur{TurquoisePale}
+ \MontreCouleur{Turquoise}
+ \MontreCouleur{VertFonce}
+ \MontreCouleur{VertForet}
+ \MontreCouleur{VertJaune}
+ \MontreCouleur{VertLeger}
+ \MontreCouleur{VertMerFonce}
+ \MontreCouleur{VertMerInter}
+ \MontreCouleur{VertMerLeger}
+ \MontreCouleur{VertMer}
+ \MontreCouleur{VertOliveFonce}
+ \MontreCouleur{VertPale}
+ \MontreCouleur{VertPelouse}
+ \MontreCouleur{VertPrintanierInter}
+ \MontreCouleur{VertPrintanier}
+ \MontreCouleur{Vert}
+ \MontreCouleur{VieilleDentelle}
+ \MontreCouleur{VioletFonce}
+ \MontreCouleur{VioletInter}
+ \MontreCouleur{Violet}
+ \MontreCouleur{Violette}
+\end{multicols}
+
+\subsection{Les couleurs issues de la gamme \og dvipsnames \fg}
+
+\begin{multicols}{3}
+ \MontreCouleur{Abricot}
+ \MontreCouleur{Acajou}
+ \MontreCouleur{BleuCeruleen}
+ \MontreCouleur{BleuProcess}
+ \MontreCouleur{BrunJaune}
+ \MontreCouleur{Emeraude}
+ \MontreCouleur{Melon}
+ \MontreCouleur{Mure}
+ \MontreCouleur{OrangeBrule}
+ \MontreCouleur{OrangeRoughy}
+ \MontreCouleur{Peche}
+ \MontreCouleur{Pervenche}
+ \MontreCouleur{Pissenlit}
+ \MontreCouleur{Rhodamine}
+ \MontreCouleur{RoseCarmin}
+ \MontreCouleur{RougeBrique}
+ \MontreCouleur{RougeRubis}
+ \MontreCouleur{Sepia}
+ \MontreCouleur{VertBleu}
+ \MontreCouleur{VertJungle}
+ \MontreCouleur{VertPin}
+ \MontreCouleur{VioletBleu}
+ \MontreCouleur{VioletRouge}
+ \MontreCouleur{VioletRoyal}
+\end{multicols}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/couleurs-fr/tex/couleurs-fr.sty b/macros/latex/contrib/couleurs-fr/tex/couleurs-fr.sty
new file mode 100644
index 0000000000..f08fbf9e24
--- /dev/null
+++ b/macros/latex/contrib/couleurs-fr/tex/couleurs-fr.sty
@@ -0,0 +1,181 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{couleurs-fr}[2023/08/09 Version fr des couleurs svgnames/dvipsnames de xcolor]
+
+%====BASE
+\RequirePackage{xcolor}
+
+%====SVGNAMES
+\definecolor{Amande}{rgb}{1,.92,.804}
+\definecolor{AmandineFonce}{rgb}{.72,.525,.044}
+\definecolor{AmandineLeger}{rgb}{.933,.867,.51}
+\definecolor{AmandinePale}{rgb}{.932,.91,.668}
+\definecolor{Amandine}{rgb}{.855,.648,.125}
+\definecolor{Argent}{rgb}{.752,.752,.752}
+\definecolor{Azur}{rgb}{.94,1,1}
+\definecolor{BeigeFonce}{rgb}{1,.855,.725}
+\definecolor{Beige}{rgb}{.96,.96,.864}
+\definecolor{Bisque}{rgb}{1,.894,.77}
+\definecolor{BlancAntique}{rgb}{.98,.92,.844}
+\definecolor{BlancFantome}{rgb}{.972,.972,1}
+\definecolor{BlancFloral}{rgb}{1,.98,.94}
+\definecolor{BlancNajavo}{rgb}{1,.87,.68}
+\definecolor{Blanc}{rgb}{1,1,1}
+\definecolor{BleuAcierClair}{rgb}{.69,.77,.87}
+\definecolor{BleuAcier}{rgb}{.275,.51,.705}
+\definecolor{BleuAlice}{rgb}{.94,.972,1}
+\definecolor{BleuArdoiseFonce}{rgb}{.284,.24,.545}
+\definecolor{BleuArdoiseInter}{rgb}{.484,.408,.932}
+\definecolor{BleuArdoiseLeger}{rgb}{.518,.44,1}
+\definecolor{BleuArdoise}{rgb}{.415,.352,.804}
+\definecolor{BleuCadet}{rgb}{.372,.62,.628}
+\definecolor{BleuCielIntense}{rgb}{0,.75,1}
+\definecolor{BleuCielLeger}{rgb}{.53,.808,.98}
+\definecolor{BleuCiel}{rgb}{.53,.808,.92}
+\definecolor{BleuDodger}{rgb}{.116,.565,1}
+\definecolor{BleuFonce}{rgb}{0,0,.545}
+\definecolor{BleuInter}{rgb}{0,0,.804}
+\definecolor{BleuLeger}{rgb}{.68,.848,.9}
+\definecolor{BleuMarineInter}{rgb}{.4,.804,.668}
+\definecolor{BleuNavy}{rgb}{0,0,.5}
+\definecolor{BleuNuit}{rgb}{.098,.098,.44}
+\definecolor{BleuPoudre}{rgb}{.69,.88,.9}
+\definecolor{BleuRoyal}{rgb}{.255,.41,.884}
+\definecolor{BleuViolet}{rgb}{.54,.17,.888}
+\definecolor{Bleuet}{rgb}{.392,.585,.93}
+\definecolor{Bleu}{rgb}{0,0,1}
+\definecolor{Ble}{rgb}{.96,.87,.7}
+\definecolor{Bois}{rgb}{.87,.72,.53}
+\definecolor{Brique}{rgb}{.698,.132,.132}
+\definecolor{Bronze}{rgb}{.824,.705,.55}
+\definecolor{BrunIntense}{rgb}{.545,.27,.075}
+\definecolor{BrunLeger}{rgb}{1,.92,.804}
+\definecolor{Brun}{rgb}{.648,.165,.165}
+\definecolor{Caramel}{rgb}{.824,.41,.116}
+\definecolor{Chardon}{rgb}{.848,.75,.848}
+\definecolor{Chartreuse}{rgb}{.498,1,0}
+\definecolor{CitronVertFonce}{rgb}{.196,.804,.196}
+\definecolor{CitronVert}{rgb}{0,1,0}
+\definecolor{Coquillage}{rgb}{1,.96,.932}
+\definecolor{CorailLeger}{rgb}{.94,.5,.5}
+\definecolor{Corail}{rgb}{1,.498,.312}
+\definecolor{Cramoisi}{rgb}{.864,.08,.235}
+\definecolor{CremeMenthe}{rgb}{.96,1,.98}
+\definecolor{CyanFonce}{rgb}{0,.545,.545}
+\definecolor{CyanLeger}{rgb}{.88,1,1}
+\definecolor{Cyan}{rgb}{0,1,1}
+\definecolor{EauMarine}{rgb}{.498,1,.83}
+\definecolor{Eau}{rgb}{0,1,1}
+\definecolor{Fumee}{rgb}{.96,.96,.96}
+\definecolor{Fuschia}{rgb}{1,0,1}
+\definecolor{GrisArdoiseFonce}{rgb}{.185,.31,.31}
+\definecolor{GrisArdoiseLeger}{rgb}{.468,.532,.6}
+\definecolor{GrisArdoise}{rgb}{.44,.5,.565}
+\definecolor{GrisAttenue}{rgb}{.41,.41,.41}
+\definecolor{GrisEtain}{rgb}{.864,.864,.864}
+\definecolor{GrisFonce}{rgb}{.664,.664,.664}
+\definecolor{GrisLeger}{rgb}{.828,.828,.828}
+\definecolor{Gris}{rgb}{.5,.5,.5}
+\definecolor{Indigo}{rgb}{.294,0,.51}
+\definecolor{Ivoire}{rgb}{1,1,.94}
+\definecolor{JauneAmandineLeger}{rgb}{.98,.98,.824}
+\definecolor{JauneLeger}{rgb}{1,.98,.804}
+\definecolor{JauneVert}{rgb}{.68,1,.185}
+\definecolor{Jaune}{rgb}{1,1,0}
+\definecolor{KakiFonce}{rgb}{.74,.716,.42}
+\definecolor{Kaki}{rgb}{.94,.9,.55}
+\definecolor{LavandeLeger}{rgb}{1,.94,.96}
+\definecolor{Lavande}{rgb}{.9,.9,.98}
+\definecolor{Lin}{rgb}{.98,.94,.9}
+\definecolor{MagentaFonce}{rgb}{.545,0,.545}
+\definecolor{Magenta}{rgb}{1,0,1}
+\definecolor{Mais}{rgb}{1,.972,.864}
+\definecolor{MarronRosy}{rgb}{.736,.56,.56}
+\definecolor{MarronSandy}{rgb}{.956,.644,.376}
+\definecolor{Marron}{rgb}{.5,0,0}
+\definecolor{Miellat}{rgb}{.94,1,.94}
+\definecolor{Mocassin}{rgb}{1,.894,.71}
+\definecolor{Neige}{rgb}{1,.98,.98}
+\definecolor{Noir}{rgb}{0,0,0}
+\definecolor{Olivatre}{rgb}{.42,.556,.136}
+\definecolor{Olive}{rgb}{.5,.5,0}
+\definecolor{OrangeFonce}{rgb}{1,.55,0}
+\definecolor{Orange}{rgb}{1,.648,0}
+\definecolor{OrchideeFonce}{rgb}{.6,.196,.8}
+\definecolor{OrchideeInter}{rgb}{.73,.332,.828}
+\definecolor{Orchidee}{rgb}{.855,.44,.84}
+\definecolor{Or}{rgb}{1,.844,0}
+\definecolor{Papaye}{rgb}{1,.936,.835}
+\definecolor{Perou}{rgb}{.804,.52,.248}
+\definecolor{Prune}{rgb}{.868,.628,.868}
+\definecolor{RoseFonce}{rgb}{1,.41,.705}
+\definecolor{RoseIntense}{rgb}{1,.08,.576}
+\definecolor{RoseLeger}{rgb}{1,.712,.756}
+\definecolor{RoseMisty}{rgb}{1,.894,.884}
+\definecolor{Rose}{rgb}{1,.752,.796}
+\definecolor{RougeFonce}{rgb}{.545,0,0}
+\definecolor{RougeIndien}{rgb}{.804,.36,.36}
+\definecolor{RougeOrange}{rgb}{1,.27,0}
+\definecolor{RougeVioletInter}{rgb}{.78,.084,.52}
+\definecolor{RougeVioletPale}{rgb}{.86,.44,.576}
+\definecolor{RougeViolet}{rgb}{.816,.125,.565}
+\definecolor{Rouge}{rgb}{1,0,0}
+\definecolor{Sarcelle}{rgb}{0,.5,.5}
+\definecolor{SaumonFonce}{rgb}{.912,.59,.48}
+\definecolor{SaumonLeger}{rgb}{1,.628,.48}
+\definecolor{Saumon}{rgb}{.98,.5,.448}
+\definecolor{Sienne}{rgb}{.628,.32,.176}
+\definecolor{Tomate}{rgb}{1,.39,.28}
+\definecolor{TurquoiseFonce}{rgb}{0,.808,.82}
+\definecolor{TurquoiseInter}{rgb}{.284,.82,.8}
+\definecolor{TurquoisePale}{rgb}{.688,.932,.932}
+\definecolor{Turquoise}{rgb}{.25,.88,.815}
+\definecolor{VertFonce}{rgb}{0,.392,0}
+\definecolor{VertForet}{rgb}{.132,.545,.132}
+\definecolor{VertJaune}{rgb}{.604,.804,.196}
+\definecolor{VertLeger}{rgb}{.565,.932,.565}
+\definecolor{VertMerFonce}{rgb}{.56,.736,.56}
+\definecolor{VertMerInter}{rgb}{.235,.7,.444}
+\definecolor{VertMerLeger}{rgb}{.125,.698,.668}
+\definecolor{VertMer}{rgb}{.18,.545,.34}
+\definecolor{VertOliveFonce}{rgb}{.332,.42,.185}
+\definecolor{VertPale}{rgb}{.596,.985,.596}
+\definecolor{VertPelouse}{rgb}{.488,.99,0}
+\definecolor{VertPrintanierInter}{rgb}{0,.98,.604}
+\definecolor{VertPrintanier}{rgb}{0,1,.498}
+\definecolor{Vert}{rgb}{0,.5,0}
+\definecolor{VieilleDentelle}{rgb}{.992,.96,.9}
+\definecolor{VioletFonce}{rgb}{.58,0,.828}
+\definecolor{VioletInter}{rgb}{.576,.44,.86}
+\definecolor{Violet}{rgb}{.5,0,.5}
+\definecolor{Violette}{rgb}{.932,.51,.932}
+
+%====DVIPSNAMES
+\definecolor{Abricot}{HTML}{FAB780}
+\definecolor{Acajou}{HTML}{A9331F}
+\definecolor{BleuCeruleen}{HTML}{00A3E3}
+\definecolor{BleuProcess}{HTML}{00B0EF}
+\definecolor{BrunJaune}{HTML}{973F05}
+\definecolor{Emeraude}{HTML}{00A99D}
+\definecolor{Melon}{HTML}{F79E7C}
+\definecolor{Mure}{HTML}{A93B94}
+\definecolor{OrangeBrule}{HTML}{F6911E}
+\definecolor{OrangeRoughy}{HTML}{C04F16}
+\definecolor{Peche}{HTML}{F79559}
+\definecolor{Pervenche}{HTML}{7A77B8}
+\definecolor{Pissenlit}{HTML}{FDBB43}
+\definecolor{Rhodamine}{HTML}{EE549F}
+\definecolor{RoseCarmin}{HTML}{F181B2}
+\definecolor{RougeBrique}{HTML}{B6301C}
+\definecolor{RougeRubis}{HTML}{ED027D}
+\definecolor{Sepia}{HTML}{671600}
+\definecolor{VertBleu}{HTML}{00B3b8}
+\definecolor{VertJungle}{HTML}{00A99A}
+\definecolor{VertPin}{HTML}{008A73}
+\definecolor{VioletBleu}{HTML}{483A94}
+\definecolor{VioletRouge}{HTML}{9F236C}
+\definecolor{VioletRoyal}{HTML}{623E99}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/eolang/eolang.dtx b/macros/latex/contrib/eolang/eolang.dtx
index a2e4944689..32a617a083 100644
--- a/macros/latex/contrib/eolang/eolang.dtx
+++ b/macros/latex/contrib/eolang/eolang.dtx
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{eolang}
%<*package>
-[2023-08-02 0.14.0 Formulas and Graphs for EO Programming Language]
+[2023-08-10 0.15.0 Formulas and Graphs for EO Programming Language]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -70,9 +70,9 @@
\CodelineIndex
\RecordChanges
\begin{document}
- \DocInput{eolang.dtx}
- \PrintChanges
- \PrintIndex
+ \DocInput{eolang.dtx}
+ \PrintChanges
+ \PrintIndex
\end{document}
%</driver>
% \fi
@@ -228,7 +228,8 @@
% \item ``|xy:<v>,<r>,<d>|'' places this vertex in a position relative to the vertex ``|<v>|,''
% shifting it right by ``|<r>|'' and down by ``|<d>|'' centimetres;
% \item ``|+:<v>|'' makes a copy of an existing vertex and all its kids;
-% \item ``|edgeless|'' removes the border from the vertex.
+% \item ``|edgeless|'' removes the border from the vertex;
+% \item ``|style:{...}|'' adds this TikZ style to the vertex |\node|.
% \end{itemize}
% The following markers are supported for an edge:
@@ -236,7 +237,8 @@
% \item ``|rho|'' places a backward snake arrow to the edge,
% \item ``|bend:<angle>|'' bend it right by the amount of ``|<angle>|,''
% \item ``|a:<txt>|'' attaches label ``|<txt>|'' to it,
-% \item ``|pi|'' makes it dotted, with $\pi$ label.
+% \item ``|pi|'' makes it dotted, with $\pi$ label;
+% \item ``|style:{...}|'' adds this TikZ style to the edge |\path|.
% \end{itemize}
% It is also possible to put transformation arrows to the graph, with the help of ``|v0=>v1|'' syntax. The arrow
@@ -702,6 +704,24 @@
% \end{document}
% \end{docshot}
+% You can modify TikZ style yourself (make sure |style:| stays at the end of the line!), for example:
+% \docshotOptions{firstline=6,lastline=12}
+% \begin{docshot}
+% \documentclass{article}
+% \pagestyle{empty}
+% \usepackage{eolang}
+% \usetikzlibrary{fit}
+% \begin{document}
+% \begin{sodg}
+% v0
+% v1 xy:v0,-2,1 style:font=\color{red}
+% v2 xy:v0,2,1
+% v0->v1 style:line width=2pt
+% v0->v2 style:draw=orange
+% \end{sodg}
+% \end{document}
+% \end{docshot}
+
% \StopEventually{}
% \section{Implementation}
@@ -800,7 +820,7 @@
$macro = $ARGV[0];
open(my $fh, '<', $ARGV[1]);
my $tex; { local $/; $tex = <$fh>; }
-print "% This file is auto-generated by 0.14.0\n";
+print "% This file is auto-generated by 0.15.0\n";
print '% There are ', length($tex),
' chars in the input: ', $ARGV[1], "\n";
print '% ---', "\n";
@@ -817,17 +837,17 @@ $tex =~ s/(?<!\\)%.*\n/\n/g;
$tex =~ s/^\s+|\s+$//g;
my $splitting = $tex =~ /^\\begin\{split\}/;
if ($splitting) {
- print '% The manual splitting mode is ON since \begin{split} started the text' . "\n";
+ print '% The manual splitting mode is ON since \begin{split} started the text' . "\n";
}
my $indents = $tex =~ /\n +/g;
my $gathered = (0 == $indents);
if ($gathered) {
if ($splitting) {
- print '% The "gathered" is NOT used because of manual splitting' . "\n";
- $gathered = 0;
- } else {
- print '% The "gathered" is used since all lines are left-aligned' . "\n";
- }
+ print '% The "gathered" is NOT used because of manual splitting' . "\n";
+ $gathered = 0;
+ } else {
+ print '% The "gathered" is used since all lines are left-aligned' . "\n";
+ }
} else {
print '% The "gathered" is NOT used because ' .
$indents . " lines are indented\n";
@@ -840,10 +860,10 @@ if (index($tex, '&&') >= 0) {
print '% The "align" is used because of && seen in the text' . "\n";
}
if ($macro ne 'phiq') {
- if (not $splitting) {
- $tex =~ s/\\\\\n/\n\n/g;
- $tex =~ s/\\\n\s*//g;
- }
+ if (not $splitting) {
+ $tex =~ s/\\\\\n/\n\n/g;
+ $tex =~ s/\\\n\s*//g;
+ }
$tex =~ s/\n*(\\label\{[^\}]+\})\n*/\1/g;
$tex =~ s/\n{3,}/\n\n/g;
}
@@ -854,22 +874,22 @@ sub trep {
my $p = 0;
for (; $p < length($s); $p++) {
$c = substr($s, $p, 1);
- if ($c eq '}') {
- if ($open eq 0) {
- last;
- }
- $open--;
- }
- if ($c eq '{') {
- $open++;
- }
- }
+ if ($c eq '}') {
+ if ($open eq 0) {
+ last;
+ }
+ $open--;
+ }
+ if ($c eq '{') {
+ $open++;
+ }
+ }
push(@texts, substr($s, 0, $p));
return '{TEXT' . (0+@texts - 1) . '}' . substr($s, $p + 1);
}
$tex =~ s/\\text\{(.+)/trep("$1")/ge;
if (not $splitting) {
- $tex =~ s/(?<![{&])&(?![&}])/\\sigma{}/g;
+ $tex =~ s/(?<![{&])&(?![&}])/\\sigma{}/g;
}
$tex =~ s/([^\\{a-z0-9]|^)QQ(?![a-z0-9])/\1\\dot{\\Phi{}}/g;
$tex =~ s/([^\\{a-z0-9]|^)Q(?![a-z0-9])/\1\\Phi{}/g;
@@ -883,15 +903,15 @@ $tex =~ s/([^^_]|^)([0-9]+|\*)
(->|\.\.>|~>|:=|!->)/\1\\alpha_{\2}\\space{}\3/xg;
if ($macro ne 'phiq') {
if (not $splitting) {
- $tex =~ s/\\begin\{split\}\n/\\begin{split}&/g;
- $tex =~ s/\n\s*\\end\{split\}/\\end{split}/g;
- $tex =~ s/\n\n/\\\\&/g;
- $tex =~ s/\n/\\phiEOL{}\n&/g;
- $tex =~ s/\\\\$//g;
- $tex =~ s/\\\\/\\\\\n/g;
- $tex =~ s/([^&\s])\s{2}([^\s])/\1 \2/g;
- $tex =~ s/\s{2}/ \\quad{}/g;
- $tex = '&' . $tex;
+ $tex =~ s/\\begin\{split\}\n/\\begin{split}&/g;
+ $tex =~ s/\n\s*\\end\{split\}/\\end{split}/g;
+ $tex =~ s/\n\n/\\\\&/g;
+ $tex =~ s/\n/\\phiEOL{}\n&/g;
+ $tex =~ s/\\\\$//g;
+ $tex =~ s/\\\\/\\\\\n/g;
+ $tex =~ s/([^&\s])\s{2}([^\s])/\1 \2/g;
+ $tex =~ s/\s{2}/ \\quad{}/g;
+ $tex = '&' . $tex;
}
my $lead = '[^\s]+\s(?:->|:=|=|==)\s';
my @leads = $tex =~ /&${lead}/g;
@@ -899,19 +919,19 @@ if ($macro ne 'phiq') {
if (0+@leads == 0+@eols && 0+@eols > 1) {
$tex =~ s/&(${lead})/\1&~/g;
$gathered = 0;
- print '% The "gathered" is NOT used because all ' .
- (0+@eols) . ' lines are ' . (0+@leads) . " leads\n";
+ print '% The "gathered" is NOT used because all ' .
+ (0+@eols) . ' lines are ' . (0+@leads) . " leads\n";
}
}
if ($macro ne 'phiq') {
- sub strip_tabs {
- my ($env, $tex) = @_;
- $tex =~ s/&//g;
- return "\\begin{$env}" . $tex . "\\end{$env}";
+ sub strip_tabs {
+ my ($env, $tex) = @_;
+ $tex =~ s/&//g;
+ return "\\begin{$env}" . $tex . "\\end{$env}";
}
foreach my $e (('matrix', 'cases')) {
- $tex =~ s/\\begin\{(\Q$e\E\*?)\}(.+)\\end\{\Q$e\E\*?\}/strip_tabs($1, $2)/sge;
- }
+ $tex =~ s/\\begin\{(\Q$e\E\*?)\}(.+)\\end\{\Q$e\E\*?\}/strip_tabs($1, $2)/sge;
+ }
}
$tex =~ s/\$/\\xi{}/g;
$tex =~ s/(?<!\{)\^(?!\{)/\\rho{}/g;
@@ -940,11 +960,11 @@ if ($macro eq 'phiq') {
} else {
print '\begin{', $macro, "}\n";
if (not($align)) {
- if ($gathered) {
- print '\begin{gathered}' . "\n";
- } elsif (not $splitting) {
- print '\begin{split}' . "\n";
- }
+ if ($gathered) {
+ print '\begin{gathered}' . "\n";
+ } elsif (not $splitting) {
+ print '\begin{split}' . "\n";
+ }
}
}
if ($gathered and not($align)) {
@@ -956,11 +976,11 @@ if ($macro eq 'phiq') {
print '$' if ($tex ne '');
} else {
if (not($align)) {
- if ($gathered) {
- print "\n" . '\end{gathered}';
- } elsif (not $splitting) {
- print "\n" . '\end{split}';
- }
+ if ($gathered) {
+ print "\n" . '\end{gathered}';
+ } elsif (not $splitting) {
+ print "\n" . '\end{split}';
+ }
}
print "\n" . '\end{' . $macro . '}';
}
@@ -1025,7 +1045,7 @@ print '\endinput';
% \begin{macrocode}
\RequirePackage{xstring}
\makeatletter\newcommand\phiq[1]{%
- \StrSubstitute{\detokenize{#1}}{'}{'"'"'}[\clean]%
+ \StrSubstitute{\detokenize{#1}}{'}{'"'"'}[\clean]%
\iexec[log,trace,quiet,stdout=\eolang@tmpdir/\jobname/phiq.tex]{
/bin/echo '\clean'}%
\def\hash{\eolang@mdfive
@@ -1071,6 +1091,7 @@ print '\endinput';
% \changes{0.8.0}{2022/11/20}{The \texttt{tag} attribute is introduced for changing labels inside a vertex circle.}
% \changes{0.12.1}{2023/03/01}{The bug is fixed related to the formatting of indexes of vertices.}
% \changes{0.14.0}{2023/07/26}{The \texttt{edgeless} tag of a vertex removes the border of it.}
+% \changes{0.15.0}{2023/08/210}{The \texttt{style} tag of vertices and edges.}
% Then, we create a Perl script for |sodg| graphs processing using |VerbatimOut| from
% \href{https://ctan.org/pkg/fancyvrb}{fancyvrb}:
% \begin{macrocode}
@@ -1133,6 +1154,9 @@ for (my $c = 0; $c < 0+@cmds; $c++) {
$cmd =~ s/(?<!\\)%.*//g;
my ($head, $tail) = split(/ /, $cmd, 2);
my %opts = {};
+ my ($body, $style) = split(/style:/, $tail, 2);
+ $opts{'style'} = $style;
+ $tail = $body;
foreach my $p (split(/ /, $tail)) {
my ($q, $t) = split(/:/, $p);
$opts{$q} = $t;
@@ -1150,7 +1174,7 @@ for (my $c = 0; $c < 0+@cmds; $c++) {
if (exists $opts{'rho'} and not(exists $opts{'bend'})) {
$draw = $draw . '<MB:,phi-rho>';
}
- $draw = $draw . ']';
+ $draw = $draw . ',' . $opts{'style'} . ']';
my ($from, $to) = split (/->/, $head);
$draw = $draw . " (${from}) ";
if (exists $opts{'bend'}) {
@@ -1313,7 +1337,7 @@ for (my $c = 0; $c < 0+@cmds; $c++) {
if (exists $opts{'edgeless'}) {
print ',draw=none';
}
- print ']';
+ print ',' . $opts{'style'} . ']';
print ' (' . $head . ')';
print ' {';
if (exists $opts{'tag'}) {
@@ -1321,9 +1345,9 @@ for (my $c = 0; $c < 0+@cmds; $c++) {
if (index($t, '$') == -1) {
$t = '$' . $t . '$';
} else {
- $t = fmt($t);
- }
- print $t;
+ $t = fmt($t);
+ }
+ print $t;
} else {
print '$' . vertex($head) . '$';
}
@@ -1512,7 +1536,7 @@ print '\endinput';
\makeatletter
\NewExpandableDocumentCommand{\eoAnon}{O{ANONYMIZED}m}{%
\ifdefined\eolang@anonymous%
- \textcolor{orange}{#1}%
+ \textcolor{orange}{#1}%
\else%
#2%
\fi%
diff --git a/macros/latex/contrib/eolang/eolang.pdf b/macros/latex/contrib/eolang/eolang.pdf
index 34a9d5bea0..612b3eda53 100644
--- a/macros/latex/contrib/eolang/eolang.pdf
+++ b/macros/latex/contrib/eolang/eolang.pdf
Binary files differ