Referentiels/latex/macros_formations.sty

167 lines
6.1 KiB
TeX

\NeedsTeXFormat{LaTeX2e}[1999/01/01]
\ProvidesPackage{macros_formations}[2021/03/28]
% Déclaration des options
% *********************************************************************
%% Option noir et blanc
%\newif\if@noiretblanc \@noiretblancfalse
%\DeclareOption{noiretblanc}{\@noiretblanctrue}
% Option mots-cles (affichage des mots-cles)
\newif\if@motscles \@motsclesfalse
\DeclareOption{motscles}{\@motsclestrue}
\DeclareOption*{}%% Ne rien faire quand une option est inconnue
\ProcessOptions
% ******************************************
% Intitulés standards des niveaux
% ******************************************
\def\niveauA{Niveau 1} % Novice
\def\niveauB{Niveau 2} % Interm\'{e}diaire}
\def\niveauC{Niveau 3} % Comp\'{e}tent}
% **************************************
% Variables globales
% **************************************
\newcounter{cptsemestre} %
\newcounter{cptressource} %
\newcounter{cptsae}
\xdef\comploop{A,B,C} % Les compétences de la ressource
\xdef\acloop{A,B,C,D,E,F} % Les contenus (rarement plus de 15)
\xdef\contenuloop{A,B,C,D,E,F,G,H,I,J} % Les contenus (rarement plus de 10)
\xdef\ressourcesaeloop{A,B,C,D,E,F,G,H,I,J}
% ****************************************
% La spécialité
% ****************************************
\def\specialite#1{\def\specialitename{#1}}
% ****************************************
% Semestre (numéroté avec \cptsemestre)
% ****************************************
% \nouveausemestre{}
\def\nouveausemestre#1{
\addtocounter{cptsemestre}{1} % Incrémente le compteur de semestre
\setcounter{cptressource}{0} % RAZ du compteur de ressource
\setcounter{cptsae}{0}
\def\currentsemestre{\Alph{cptsemestre}} % Lettre du semestre courant : A=1, B=2, ...
\newcounter{cptressource\currentsemestre} % le compteur des ressources dans le semestre
\expandafter\def\csname semestrename\currentsemestre\endcsname{Semestre \arabic{cptsemestre}}
\expandafter\def\csname semestrenumero\currentsemestre\endcsname{\arabic{cptsemestre}}
}
%*****************************
% Ressources
% ****************************
% ****************************
% Déclaration de la ressource :
% \nouvelleressource{code_ressource}{intitule_ressource}
\def\nouvelleressource#1#2{
\addtocounter{cptressource}{1} % Ajoute une ressource (tous semestres confondu)
\addtocounter{cptressource\currentsemestre}{1} % Ajoute une ressource au semestre
\def\currentressource{\currentsemestre\Alph{cptressource}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
\expandafter\xdef\csname Rcode\currentressource\endcsname{#1} % code
\expandafter\xdef\csname Rname\currentressource\endcsname{#2} % nom/intitule
\expandafter\xdef\csname Rsem\currentressource\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
\newcounter{cptcontenu\currentressource} % le compteur de contenu pour la ressource, mis à 0
\newcounter{cptressourcecomp\currentressource} % le compteur de compétences rattachées à la ressource
\newcounter{cptressourcesae\currentressource} % Le compteur de sae
\newcounter{cptressourceprerequis\currentressource}
%\definecollection{ressourcedescription\currentressource}
}
% ****************************
% Ajout des heures à la ressource courante
\def\ajoutRheures#1#2{
\expandafter\xdef\csname Rtraining\currentressource\endcsname{#1} % heures de formation encadrées
\expandafter\xdef\csname Rtp\currentressource\endcsname{#2} % heures de projet
}
% ****************************
% Ajout du descriptif (ancrage)
\def\ajoutRancrage#1{
\begingroup\let\+\relax
\expandafter\gdef\csname Rancrage\currentressource\endcsname{\noexpand #1} % descriptif
\endgroup
}
% ****************************
% Ajout des contenus
\def\ajoutRcontenudetaille#1{
\begingroup\let\+\relax
\expandafter\gdef\csname Rcontenu\currentressource\endcsname{\noexpand #1} % liste de contenu
\endgroup
}
% ****************************
% Ajout des compétences
% \ajoutcompetence{nom_competence}{niveau}
\def\ajoutRcompetence#1#2{
\addtocounter{cptressourcecomp\currentressource}{1} % le compteur de la comp dans la ressource
\xdef\currentcomp{\Alph{cptressourcecomp\currentressource}} % La lettre de la comp dans la ressource
\expandafter\xdef\csname Rcomp\currentressource\currentcomp\endcsname{#1} % le nom de la comp
\expandafter\xdef\csname Rniveau\currentressource\currentcomp\endcsname{#2} % le nom de la comp
\newcounter{cptressourceac\currentressource\currentcomp} % le compteur d'ac pour la compétence rattachées à la ressource
}
% ****************************
% Ajout d'AC aux compétences
\def\ajoutRac#1#2{
\addtocounter{cptressourceac\currentressource\currentcomp}{1} % le compteur de l'ac pour la comp dans la ressource
\xdef\currentac{\Alph{cptressourceac\currentressource\currentcomp}} % La lettre de l'ac pour la comp dans la ressource
\expandafter\xdef\csname Raccode\currentressource\currentcomp\currentac\endcsname{#1} % le nom de la comp
\expandafter\xdef\csname Racname\currentressource\currentcomp\currentac\endcsname{#2} % le nom de la comp
}
% ****************************
% Ajout des SAE
\def\ajoutRsae#1#2{
\addtocounter{cptressourcesae\currentressource}{1} % le compteur de la sae dans la ressource
\xdef\currentsae{\Alph{cptressourcesae\currentressource}} % La lettre
\expandafter\xdef\csname Rsaecode\currentressource\currentsae\endcsname{#1} %
\expandafter\xdef\csname Rsaename\currentressource\currentsae\endcsname{#2} %
}
% ****************************
% Ajout des prerequis
\def\ajoutRprerequis#1#2{
\addtocounter{cptressourceprerequis\currentressource}{1} % le compteur du prerequis dans la ressource
\xdef\currentprerequis{\Alph{cptressourceprerequis\currentressource}} % La lettre
\expandafter\xdef\csname Rprerequiscode\currentressource\currentprerequis\endcsname{#1} %
\expandafter\xdef\csname Rprerequisname\currentressource\currentprerequis\endcsname{#2} %
}
% ****************************
% Ajout des mots-clés
\def\ajoutRmotscles#1{
\expandafter\xdef\csname Rmotscles\currentressource\endcsname{#1} % descriptif
}
% *************************************
\definecolor{colormotscle}{RGB}{120, 185, 235}
\def\motscles#1{
\if@motscles
\small \textcolor{colormotscle}{(#1)}
\fi
}