Referentiels/latex/macros_formations.sty

191 lines
7.3 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, ...
\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 compétence
\def\currentressource{\currentsemestre\Alph{cptressource}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
\expandafter\xdef\csname ressourcecode\currentressource\endcsname{#1} % code
\expandafter\xdef\csname ressourcename\currentressource\endcsname{#2} % nom/intitule
\expandafter\xdef\csname ressourcesem\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\ajoutheures#1#2{
\expandafter\xdef\csname ressourcetraining\currentressource\endcsname{#1} % heures de formation encadrées
\expandafter\xdef\csname ressourcetp\currentressource\endcsname{#2} % heures de projet
}
% Ajout du descriptif (ancrage)
\def\ajoutancrage#1{
\begingroup\let\+\relax
\expandafter\gdef\csname ressourceancrage\currentressource\endcsname{\noexpand #1} % descriptif
\endgroup
}
% Ajout des contenus
\def\ajoutcontenudetaille#1{
\begingroup\let\+\relax
\expandafter\gdef\csname ressourcecontenudetaille\currentressource\endcsname{\noexpand #1} % liste de contenu
\endgroup
}
%% Ajout des contenus principaux : introduction éventuelle
%\def\ajoutintrocontenu#1{
%\expandafter\xdef\csname ressourceintrocontenu\currentressource\endcsname{#1} % descriptif
%}
%
%% Ajout des contenus principaux
%\def\ajoutcontenu#1{
%\addtocounter{cptcontenu\currentressource}{1} % Ajoute un contenu (aka un item à la liste des contenus)
%\xdef\currentcontenu{\Alph{cptcontenu\currentressource}} % La lettre du contenu courant
%
%\expandafter\xdef\csname ressourcecontenu\currentressource\currentcontenu\endcsname{#1} % descriptif
%\newcounter{cptcontenudetail\currentressource\currentcontenu} % Le compteur de détails
%}
%
%% Ajout de détails aux contenux (sous-liste)
%\def\ajoutdetailcontenu#1{
%\addtocounter{cptcontenudetail\currentressource\currentcontenu}{1} % Ajoute un détail à la liste des contenus
%
%\expandafter\xdef\csname ressourcecontenudetail\currentressource\currentcontenu\Alph{cptcontenudetail\currentressource\currentcontenu}\endcsname{#1} % descriptif
%}
%
%\def\ajoutconclusioncontenu#1{
%\expandafter\xdef\csname ressourceconclucontenu\currentressource\endcsname{#1} % la conclusion
%}
% Ajout des compétences
% \ajoutcompetence{nom_competence}{niveau}
\def\ajoutcompetence#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 ressourcecomp\currentressource\currentcomp\endcsname{#1} % le nom de la comp
\expandafter\xdef\csname ressourcecompniveau\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\ajoutac#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 ressourceaccode\currentressource\currentcomp\currentac\endcsname{#1} % le nom de la comp
\expandafter\xdef\csname ressourceacname\currentressource\currentcomp\currentac\endcsname{#2} % le nom de la comp
% boucle sur les AC par compétence => plus utilisé
\ifnum\value{cptressourceac\currentressource\currentcomp}=1\relax
\expandafter\xdef\csname loopressourceac\currentressource\currentcomp\endcsname{\currentac}
\else
\expandafter\xdef\csname loopressourceac\currentressource\currentcomp\endcsname{\csname loopressourceac\currentressource\currentcomp\endcsname,\currentac}
\fi
}
% Ajout des SAE
\def\ajoutsae#1#2{
\addtocounter{cptressourcesae\currentressource}{1} % le compteur de la sae dans la ressource
\xdef\currentsae{\Alph{cptressourcesae\currentressource}} % La lettre
\expandafter\xdef\csname ressourcesaecode\currentressource\currentsae\endcsname{#1} %
\expandafter\xdef\csname ressourcesaename\currentressource\currentsae\endcsname{#2} %
}
% Ajout des prerequis
\def\ajoutprerequis#1#2{
\addtocounter{cptressourceprerequis\currentressource}{1} % le compteur du prerequis dans la ressource
\xdef\currentprerequis{\Alph{cptressourceprerequis\currentressource}} % La lettre
\expandafter\xdef\csname ressourceprerequiscode\currentressource\currentprerequis\endcsname{#1} %
\expandafter\xdef\csname ressourceprerequisname\currentressource\currentprerequis\endcsname{#2} %
}
% Ajout des mots-clés
\def\ajoutmotscles#1{
\expandafter\xdef\csname ressourcemotscles\currentressource\endcsname{#1} % descriptif
}
% *************************************
\definecolor{colormotscle}{RGB}{120, 185, 235}
\def\motscles#1{
\if@motscles
\small \textcolor{colormotscle}{(#1)}
\fi
}