texlive[68637] Master/texmf-dist: customenvs (24oct23)

commits+karl at tug.org commits+karl at tug.org
Tue Oct 24 22:22:25 CEST 2023


Revision: 68637
          https://tug.org/svn/texlive?view=revision&revision=68637
Author:   karl
Date:     2023-10-24 22:22:25 +0200 (Tue, 24 Oct 2023)
Log Message:
-----------
customenvs (24oct23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
    trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty

Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex	2023-10-24 20:22:15 UTC (rev 68636)
+++ trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex	2023-10-24 20:22:25 UTC (rev 68637)
@@ -34,8 +34,8 @@
 \usepackage[margin=1.5cm]{geometry}
 \setlength{\parindent}{0pt}
 
-\def\TPversion{0.1.0}
-\def\TPdate{22/10/2023}
+\def\TPversion{0.1.1}
+\def\TPdate{25/10/2023}
 \usepackage{tcolorbox}
 \sethlcolor{lightgray!25}
 \NewDocumentCommand\MontreCode{ m }{%
@@ -111,6 +111,8 @@
 
 \section{History}
 
+\verb|v0.1.1|~:~~~~Skills table (only french for the moment...)
+
 \verb|v0.1.0|~:~~~~Initial version
 
 \vspace*{5mm}
@@ -121,12 +123,13 @@
 
 \subsection{Idea}
 
-The idea is to propose some classics environments with customizations :
+The idea is to propose some classics environments with customizations (some are, for the moment, only in french) :
 
 \begin{itemize}
 	\item write in \textit{multicols}, with spacings enhancements ;
 	\item present answers for a \textit{MCQ} ;
-	\item create a list with \textit{choosen items} (randomly or by numbers).
+	\item create a list with \textit{choosen items} (randomly or by numbers) ;
+	\item present a skill table.
 \end{itemize}
 
 \smallskip
@@ -143,15 +146,17 @@
 	\item \MontreCode{xstring}, \MontreCode{simplekv}, \MontreCode{listofitems}, \MontreCode{randomlist} and \MontreCode{xintexpr} ;
 	\item \MontreCode{enumitem} ;
 	\item \MontreCode{multicol} ;
-	\item \MontreCode{tabularray}.
+	\item \MontreCode{tabularray} ;
+	\item \MontreCode{fontawesome5} ;
 \end{itemize}
 
-Due to limitations, \MontreCode{enumitem} or \MontreCode{multicol} or \MontreCode{tabularray} can be \textit{un}loaded by \MontreCode{customenvs} (user must load them manually) via options :
+Due to limitations, \MontreCode{enumitem}/\MontreCode{multicol}/\MontreCode{tabularray}\MontreCode{fontawesome5} can be \textit{un}loaded by \MontreCode{customenvs} (user must load them manually) via options :
 
 \begin{itemize}
 	\item \MontreCode{$\mathtt{\langle}$noenum$\mathtt{\rangle}$} ;
 	\item \MontreCode{$\mathtt{\langle}$nomulticol$\mathtt{\rangle}$} ;
-	\item \MontreCode{$\mathtt{\langle}$notblr$\mathtt{\rangle}$}.
+	\item \MontreCode{$\mathtt{\langle}$notblr$\mathtt{\rangle}$} ;
+	\item \MontreCode{$\mathtt{\langle}$nofa$\mathtt{\rangle}$} ;
 \end{itemize}
 
 \begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]

Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex	2023-10-24 20:22:15 UTC (rev 68636)
+++ trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex	2023-10-24 20:22:25 UTC (rev 68637)
@@ -39,8 +39,8 @@
 \usepackage[margin=1.5cm]{geometry}
 \setlength{\parindent}{0pt}
 
-\def\TPversion{0.1.0}
-\def\TPdate{22 octobre 2023}
+\def\TPversion{0.1.1}
+\def\TPdate{25 octobre 2023}
 \usepackage[most]{tcolorbox}
 \tcbuselibrary{listingsutf8}
 \newtcblisting{DemoCode}[1]{%
@@ -57,19 +57,19 @@
 		commentstyle={\itshape\color{gray}},
 		keywordstyle={\color{blue}},%
 		classoffset=0,%
-		keywords={usepackage,displaystyle,frac,infty,begin,end,lipsum,centering,par,baselineskip,item,bullet,int,color},%
+		keywords={usepackage,displaystyle,frac,infty,begin,end,lipsum,centering,par,baselineskip,item,bullet,int,color,NewDocumentCommand},%
 		alsoletter={-},%
 		keywordstyle={\color{blue}},%
 		classoffset=1,%
 		alsoletter={-},%
-		morekeywords={center,justify},%
+		morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon},%
 		keywordstyle={\color{violet}},%
 		classoffset=2,%
 		alsoletter={-},%
-		morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems},%
+		morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences},%
 		keywordstyle={\color{green!50!black}},%
 		classoffset=3,%
-		morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea},%
+		morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice},%
 		keywordstyle={\color{orange}}
 	},%
 	#1
@@ -149,6 +149,8 @@
 
 \section{Historique}
 
+\verb|v0.1.1|~:~~~~Tableaux de compétences
+
 \verb|v0.1.0|~:~~~~Version initiale
 
 \vspace*{5mm}
@@ -166,7 +168,8 @@
 	\item \textit{centrer} avec gestion des espacements autour ;
 	\item écrire en \textit{multi-colonnes} avec gestion des espacements autour ;
 	\item mettre en forme des réponses à des \textit{QCM} ;
-	\item créer une liste avec \textit{choix des items} (de manière aléatoire ou par saisie directe).
+	\item créer une liste avec \textit{choix des items} (de manière aléatoire ou par saisie directe) ;
+	\item créer un tableau de \textit{compétences}.
 \end{itemize}
 
 \smallskip
@@ -192,15 +195,19 @@
 	\item \MontreCode{xstring}, \MontreCode{simplekv}, \MontreCode{listofitems}, \MontreCode{randomlist} et \MontreCode{xintexpr} ;
 	\item \MontreCode{enumitem} ;
 	\item \MontreCode{multicol} ;
-	\item \MontreCode{tabularray}.
+	\item \MontreCode{tabularray} ;
+	\item \MontreCode{xcolor} ;
+	\item \MontreCode{fontawesome5}.
 \end{itemize}
 
-À noter que, pour des raisons de compatibilité (ou d'incompatibilité), les packages \MontreCode{enumitem} ou \MontreCode{multicol} ou \MontreCode{tabularray} peuvent ne pas être chargés par \MontreCode{customenvs} (auxquels cas l'utilisateur devra les avoir chargés pour faire fonctionner certains environnements) via les options :
+À noter que, pour des raisons de compatibilité (ou d'incompatibilité), les packages \MontreCode{enumitem}/\MontreCode{multicol}/\MontreCode{tabularray}/\MontreCode{xcolor}/\MontreCode{fontawesome5} peuvent ne pas être chargés par \MontreCode{customenvs} (auxquels cas l'utilisateur devra les avoir chargés pour faire fonctionner certains environnements) via les options :
 
 \begin{itemize}
 	\item \MontreCode{$\mathtt{\langle}$nonenum$\mathtt{\rangle}$} ;
 	\item \MontreCode{$\mathtt{\langle}$nonmulticol$\mathtt{\rangle}$} ;
-	\item \MontreCode{$\mathtt{\langle}$nontblr$\mathtt{\rangle}$}.
+	\item \MontreCode{$\mathtt{\langle}$nontblr$\mathtt{\rangle}$} ;
+	\item \MontreCode{$\mathtt{\langle}$nonxcolor$\mathtt{\rangle}$} ;
+	\item \MontreCode{$\mathtt{\langle}$nonfa$\mathtt{\rangle}$}.
 \end{itemize}
 
 \begin{DemoCode}{listing only}
@@ -556,4 +563,138 @@
 \ListeChoixItems[Type=item]{\malisteditemsb}{ListeItemsB}(7,2,1,5,3)<label=$\bullet$>
 \end{DemoCode}
 
+\pagebreak
+
+\section{Tableau de compétences}
+
+\subsection{Principe et fonctionnement}
+
+L'idée est de proposer un environnement pour créer un tableau de compétences, via 2/3/4 niveaux :
+
+\begin{itemize}
+	\item basé sur \MontreCode{tblr}, qui doit donc être chargé (par défaut il l'est) ;
+	\item basé sur \MontreCode{xcolor}, qui doit donc être chargé (par défaut il l'est) ;
+	\item avec personnalisations possibles.
+\end{itemize}
+
+Si \MontreCode{xcolor} est déjà chargé, avec des options particulières, le package peut ne pas le charger, grâce à l'option \MontreCode{nonxcolor}.
+
+\begin{DemoCode}{listing only}
+\TableauCompetences[clés]{listecompétences}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\TableauCompetences{Compétence A § Compétence B}
+\end{DemoCode}
+
+\subsection{Éléments prédéfinis}
+
+Pour simplifier la saisie de certains paramètres, certaines macros ont été définies en interne, et pourront être utilisées, ou redéfinies si besoin.
+
+\begin{DemoCode}{listing only}
+%patch fa vcenter
+\NewDocumentCommand{\vcenterfa}{ O{} m }{$\vcenter{\hbox{\faIcon[#1]{#2}}}$}
+%labelnote
+\def\LabelNoteComp{Note}
+%listeniveaux
+\def\LstDeuxNiv{NA § A}
+\def\LstTroisNiv{NA § ECA § A}
+\def\LstQuatreNiv{NA § PA § ECA § A}
+%noticeniveaux
+\def\NoticeDeuxNiv{Non acquis § Acquis}
+\def\NoticeTroisNiv{Non acquis § En cours d'acquis. § Acquis}
+\def\NoticeQuatreNiv{Non acquis § Part. acquis § En cours d'acquis. § Acquis}
+\end{DemoCode}
+
+\begin{DemoCode}{text only}
+Niveaux par \og batterie \fg :
+
+\MontreCode{\textbackslash DeuxNivBatterie}   : \DeuxNivBatterie\\
+\MontreCode{\textbackslash TroisNivBatterie}  : \TroisNivBatterie \\
+\MontreCode{\textbackslash QuatreNivBatterie} : \QuatreNivBatterie\\
+
+Niveaux par \og smiley \fg :
+
+\MontreCode{\textbackslash DeuxNivSmiley}     : \DeuxNivSmiley\\
+\MontreCode{\textbackslash TroisNivSmiley}    : \TroisNivSmiley\\
+\MontreCode{\textbackslash QuatreNivSmiley}   : \QuatreNivSmiley
+\end{DemoCode}
+
+\pagebreak
+
+Les \MontreCode{clés} disponibles sont :
+
+\begin{itemize}
+	\item \MontreCode{Largeur} : largeur globale du tableau ; \MontreCode{0.95\textbackslash linewidth} par défaut
+	\item \MontreCode{LargeurNivs} : largeur des colonnes Niv + Note (séparées par \MontreCode{§}) ; \MontreCode{0.75cm § 1.25cm} par défaut
+	\item \MontreCode{Niveaux} : liste des niveaux (séparés par \MontreCode{§}) ; \MontreCode{NA § ECA § A} par défaut
+	\item \MontreCode{NoticeNiveaux} : notice des niveaux (séparés par \MontreCode{§}) ; \MontreCode{Non acquis § En cours d'acquisition § Acquis} par défaut ;
+	\item \MontreCode{Titre} : titre du tableau ; \MontreCode{DS01} par défaut
+	\item \MontreCode{PolTitre} : police de la 1\up{ere} ligne ; \MontreCode{\textbackslash small\textbackslash sffamily\textbackslash bfseries} par défaut
+	\item \MontreCode{PolNotice} : police de la notice (dernière ligne) ; \MontreCode{\textbackslash small\textbackslash sffamily\textbackslash bfseries} par défaut
+	\item \MontreCode{PolComp} : police des lignes des compétences ; \MontreCode{\textbackslash small\textbackslash sffamily} par défaut
+	\item \MontreCode{LigneSep} : séparation entre les lignes ; \MontreCode{2pt} par défaut
+	\item \MontreCode{CouleurNotice} : couleur de la notice ; \MontreCode{black} par défaut
+	\item \MontreCode{CouleurNiveaux} : couleur de la première ligne ; \MontreCode{black} par défaut
+	\item \MontreCode{CouleurFond} : fond de la première ligne; \MontreCode{lightgray!25} par défaut
+	\item \MontreCode{Note} : booléen pour afficher la colonne note ; \MontreCode{true} par défaut
+	\item \MontreCode{Notice} : booléen pour afficher la ligne notice; \MontreCode{true} par défaut.
+\end{itemize}
+
+L'argument, obligatoire et entre \MontreCode{\{...\}} est la liste des compétences, sous la forme \MontreCode{Comp A § Comp B § ...}.
+
+À noter que les clés \MontreCode{Niveaux} et \MontreCode{NoticeNiveaux} doivent avoir le même nombre d'éléments.
+
+\subsection{Exemples}
+
+\begin{DemoCode}{}
+%Note + Notice
+\TableauCompetences{Utiliser le compas § Utiliser l'équerre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%- Note + Notice
+\TableauCompetences[Note=false]{Utiliser le compas § Utiliser l'équerre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%Note - Notice
+\TableauCompetences[Notice=false]{Utiliser le compas § Utiliser l'équerre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%- Note - Notice
+\TableauCompetences[Note=false,Notice=false]{Utiliser le compas § Utiliser l'équerre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%Personnalisations
+\TableauCompetences[Titre=Eval n°01,Niveaux=\TroisNivBatterie]{Utiliser le compas § Utiliser l'équerre}\par
+\TableauCompetences[Titre={},Niveaux=\TroisNivSmiley]{Utiliser le compas § Utiliser l'équerre}\par
+\TableauCompetences[Largeur=10cm,Notice=false,Titre={},Niveaux=\TroisNivSmiley]{Utiliser le compas § Utiliser l'équerre}\par
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%deux niveaux
+\TableauCompetences[Niveaux=\LstDeuxNiv,NoticeNiveaux=\NoticeDeuxNiv]{Utiliser le compas § Utiliser l'équerre}\par
+\TableauCompetences[Largeur=10cm,Titre={},Niveaux=\DeuxNivBatterie, NoticeNiveaux=\NoticeDeuxNiv]{Utiliser le compas § Utiliser l'équerre}
+\end{DemoCode}
+
+\pagebreak
+
+\begin{DemoCode}{}
+%quatre niveaux, personnalisation 'complète'
+\def\LabelNoteComp{Appréc.}
+\TableauCompetences[%
+	Largeur=14cm,%
+	LargeurNivs={1cm§3.5cm},%
+	Niveaux={N0§N1§N2§N3},
+	NoticeNiveaux={Très bof§Bof§Moyen§Bien},
+	CouleurNotice=orange,%
+	CouleurNiveaux=blue,%
+	PolTitre=\large\ttfamily\itshape\bfseries
+	]%
+	{Utiliser la règle § Utiliser le compas § Utiliser l'équerre}
+\end{DemoCode}
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty	2023-10-24 20:22:15 UTC (rev 68636)
+++ trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty	2023-10-24 20:22:25 UTC (rev 68637)
@@ -2,9 +2,10 @@
 % licence    : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{customenvs}[2023/10/22 0.1.0 Custom classic environments]
+\ProvidesPackage{customenvs}[2023/10/25 0.1.1 Custom classic environments]
 
 %====HISTORIQUE
+% v 0.1.1	Ajout de tableaux de compétences
 % v 0.1.0	Version initiale
 
 %====OPTIONS FR ET EN
@@ -17,10 +18,22 @@
 \newif\if at multicol\@multicoltrue%
 \DeclareOption{nonmulticol}{\@multicolfalse}%
 \DeclareOption{nomulticol}{\@multicolfalse}%
+\newif\if at xcolor\@xcolortrue%
+\DeclareOption{nonxcolor}{\@xcolorfalse}%
+\DeclareOption{noxcolor}{\@xcolorfalse}%
+\newif\if at fa\@fatrue%
+\DeclareOption{nonfa}{\@fafalse}%
+\DeclareOption{nofa}{\@fafalse}%
 \DeclareOption*{}
 \ProcessOptions\relax
 
 %====PACKAGES UTILES À CHARGER
+\if at xcolor
+	\RequirePackage{xcolor}
+\fi
+\if at fa
+	\RequirePackage{fontawesome5}
+\fi
 \if at enum
 	\RequirePackage{enumitem}
 \fi
@@ -264,6 +277,310 @@
 		}%
 }
 
+%====TABLEAU DE COMPÉTENCES
+%patch fa vcenter
+\NewDocumentCommand{\vcenterfa}{ O{} m }{$\vcenter{\hbox{\faIcon[#1]{#2}}}$}
+
+%labelnote
+\def\LabelNoteComp{Note}
+%listeniveaux
+\def\LstDeuxNiv{NA § A}
+\def\LstTroisNiv{NA § ECA § A}
+\def\LstQuatreNiv{NA § PA § ECA § A}
+%noticeniveaux
+\def\NoticeDeuxNiv{Non acquis § Acquis}
+\def\NoticeTroisNiv{Non acquis § En cours d'acquis. § Acquis}
+\def\NoticeQuatreNiv{Non acquis § Part. acquis § En cours d'acquis. § Acquis}
+%nivparbatteries
+\def\DeuxNivBatterie{\vcenterfa[solid]{battery-quarter} § \vcenterfa[solid]{battery-full}}
+\def\TroisNivBatterie{\vcenterfa[solid]{battery-quarter} § \vcenterfa[solid]{battery-half} § \vcenterfa[solid]{battery-full}}
+\def\QuatreNivBatterie{\vcenterfa[solid]{battery-empty} § \vcenterfa[solid]{battery-quarter} § \vcenterfa[solid]{battery-half} § \vcenterfa[solid]{battery-full}}
+%nivparsmileys
+\def\DeuxNivSmiley{\vcenterfa[regular]{angry} § \vcenterfa[regular]{smile}}
+\def\TroisNivSmiley{\vcenterfa[regular]{angry} § \vcenterfa[regular]{frown} § \vcenterfa[regular]{smile}}
+\def\QuatreNivSmiley{\vcenterfa[regular]{angry} § \vcenterfa[regular]{frown} § \vcenterfa[regular]{smile} § \vcenterfa[regular]{grin}}
+
+% ========================tableau compétences
+\defKV[tblcomp]{%
+	Largeur=\def\COMPETlargeur{#1},%
+	LargeurNivs=\def\COMPETlargeurs{#1},%
+	Niveaux=\def\COMPETniveaux{#1},%
+	NoticeNiveaux=\def\COMPETnoticeniveaux{#1},%
+	Titre=\def\COMPETtitre{#1},%
+	PolTitre=\def\COMPETlegende{#1},%
+	PolComp=\def\COMPETcomp{#1},%
+	PolNotice=\def\COMPETnotice{#1},%
+	LigneSep=\def\COMPETsep{#1}
+}
+
+\setKVdefault[tblcomp]{%
+	Largeur=0.95\linewidth,%
+	LargeurNivs={0.75cm § 1.25cm},%niv + note
+	Niveaux={NA § ECA § A},%
+	NoticeNiveaux={Non acquis § En cours d'acquisition § Acquis},%
+	Titre=DS01,%
+	PolTitre=\small\sffamily\bfseries,%
+	PolNotice=\small\sffamily\bfseries,%
+	PolComp=\small\sffamily,%
+	LigneSep=2pt,%
+	CouleurNotice=black,%
+	CouleurNiveaux=black,%
+	CouleurFond=lightgray!25,%
+	Note=true,%
+	Notice=true
+}
+
+%pour créer le body du tableau (j'ai encore du mal avec ça...)
+\long\def\tblcompaddto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
+
+\NewDocumentCommand{\TableauCompetences}{ O{} m }{%1=options,2=liste compétences
+	\useKVdefault[tblcomp]%
+	\setKV[tblcomp]{#1}% on paramètres les nouvelles clés et on les simplifie
+	\setsepchar{§}%
+	\readlist*\ListeCompetences{#2}%
+	\readlist*\ListeNiveaux{\COMPETniveaux}%
+	\readlist*\ListeLargeurs{\COMPETlargeurs}%
+	\readlist*\ListeNoticeNiveaux{\COMPETnoticeniveaux}%
+	\def\CPtabledatacomp{}%
+	\xintifboolexpr{\ListeNiveauxlen == 2}%avec 3 niveaux de compétences
+		{%
+			\ifboolKV[tblcomp]{Note}%
+				{%
+					\tblcompaddto\CPtabledatacomp{\COMPETtitre & \ListeNiveaux[1] & \ListeNiveaux[2] & \LabelNoteComp \\}%
+					\xintFor* ##1 in {\xintSeq{1}{\ListeCompetenceslen}}\do{%
+						\tblcompaddto\CPtabledatacomp{\ListeCompetences[\the\numexpr\therownum-1\relax] & & & \\}%
+					}%
+					\ifboolKV[tblcomp]{Notice}%
+						{%
+							\tblcompaddto\CPtabledatacomp{{\ListeNiveaux[1]} : {\ListeNoticeNiveaux[1]} / {\ListeNiveaux[2]} : {\ListeNoticeNiveaux[2]} & & & \\}
+							%creation du tableau note+notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{2}{Q[c,b,\ListeLargeurs[1]]}Q[c,b,\ListeLargeurs[2]]},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Y}={font=\COMPETcomp},%
+									row{Z}={font=\COMPETnotice,fg=\useKV[tblcomp]{CouleurNotice}},%
+									cell{2}{Z}={r=\the\numexpr\ListeCompetenceslen+1\relax}{},%
+									cell{Z}{1}={c=3}{}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+						{%
+							%creation du tableau note-notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{2}{Q[c,b,\ListeLargeurs[1]]}Q[c,b,\ListeLargeurs[2]]},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Z}={font=\COMPETcomp},%
+									cell{2}{Z}={r=\the\numexpr\ListeCompetenceslen\relax}{}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+				}%
+				{%
+					\tblcompaddto\CPtabledatacomp{\COMPETtitre & \ListeNiveaux[1] & \ListeNiveaux[2] \\}%
+					\xintFor* ##1 in {\xintSeq{1}{\ListeCompetenceslen}}\do{%
+						\tblcompaddto\CPtabledatacomp{\ListeCompetences[\the\numexpr\therownum-1\relax] & & \\}%
+					}%
+					\ifboolKV[tblcomp]{Notice}%
+						{%
+							\tblcompaddto\CPtabledatacomp{{\ListeNiveaux[1]} : {\ListeNoticeNiveaux[1]} / {\ListeNiveaux[2]} : {\ListeNoticeNiveaux[2]} & & \\}
+							%creation du tableau -note+notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{2}{Q[c,b,\ListeLargeurs[1]]}},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Y}={font=\COMPETcomp},%
+									row{Z}={font=\COMPETnotice,fg=\useKV[tblcomp]{CouleurNotice}},%
+									cell{Z}{1}={c=3}{}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+						{%
+							%creation du tableau -note-notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{2}{Q[c,b,\ListeLargeurs[1]]}},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Z}={font=\COMPETcomp}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+				}%
+		}%
+		{}%
+	\xintifboolexpr{\ListeNiveauxlen == 3}%avec 3 niveaux de compétences
+		{%
+			\ifboolKV[tblcomp]{Note}%
+				{%
+					\tblcompaddto\CPtabledatacomp{\COMPETtitre & \ListeNiveaux[1] & \ListeNiveaux[2] & \ListeNiveaux[3] & \LabelNoteComp \\}%
+					\xintFor* ##1 in {\xintSeq{1}{\ListeCompetenceslen}}\do{%
+						\tblcompaddto\CPtabledatacomp{\ListeCompetences[\the\numexpr\therownum-1\relax] & & & & \\}%
+					}%
+					\ifboolKV[tblcomp]{Notice}%
+						{%
+							\tblcompaddto\CPtabledatacomp{{\ListeNiveaux[1]} : {\ListeNoticeNiveaux[1]} / {\ListeNiveaux[2]} : {\ListeNoticeNiveaux[2]} / {\ListeNiveaux[3]} : {\ListeNoticeNiveaux[3]} & & & & \\}
+							%creation du tableau note+notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{3}{Q[c,b,\ListeLargeurs[1]]}Q[c,b,\ListeLargeurs[2]]},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Y}={font=\COMPETcomp},%
+									row{Z}={font=\COMPETnotice,fg=\useKV[tblcomp]{CouleurNotice}},%
+									cell{2}{Z}={r=\the\numexpr\ListeCompetenceslen+1\relax}{},%
+									cell{Z}{1}={c=4}{}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+						{%
+							%creation du tableau note-notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{3}{Q[c,b,\ListeLargeurs[1]]}Q[c,b,\ListeLargeurs[2]]},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Z}={font=\COMPETcomp},%
+									cell{2}{Z}={r=\the\numexpr\ListeCompetenceslen\relax}{}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+				}%
+				{%
+					\tblcompaddto\CPtabledatacomp{\COMPETtitre & \ListeNiveaux[1] & \ListeNiveaux[2] & \ListeNiveaux[3] \\}%
+					\xintFor* ##1 in {\xintSeq{1}{\ListeCompetenceslen}}\do{%
+						\tblcompaddto\CPtabledatacomp{\ListeCompetences[\the\numexpr\therownum-1\relax] & & & \\}%
+					}%
+					\ifboolKV[tblcomp]{Notice}%
+						{%
+							\tblcompaddto\CPtabledatacomp{{\ListeNiveaux[1]} : {\ListeNoticeNiveaux[1]} / {\ListeNiveaux[2]} : {\ListeNoticeNiveaux[2]} / {\ListeNiveaux[3]} : {\ListeNoticeNiveaux[3]} & & & \\}
+							%creation du tableau -note+notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{3}{Q[c,b,\ListeLargeurs[1]]}},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Y}={font=\COMPETcomp},%
+									row{Z}={font=\COMPETnotice,fg=\useKV[tblcomp]{CouleurNotice}},%
+									cell{Z}{1}={c=4}{}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+						{%
+							%creation du tableau -note-notice
+							\begin{tblr}[expand=\CPtabledatacomp]%
+								{%
+									width={\COMPETlargeur},%
+									hlines,vlines,colspec={X[l,b]*{3}{Q[c,b,\ListeLargeurs[1]]}},%
+									rowsep=\COMPETsep,%
+									row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+									row{2-Z}={font=\COMPETcomp}
+								}%
+								\CPtabledatacomp
+							\end{tblr}%
+						}%
+				}%
+		}%
+		{}%
+	\xintifboolexpr{\ListeNiveauxlen == 4}%maintenant avec 4 niveaux de compétences
+		{%
+			\ifboolKV[tblcomp]{Note}%
+			{%
+				\tblcompaddto\CPtabledatacomp{\COMPETtitre & \ListeNiveaux[1] & \ListeNiveaux[2] & \ListeNiveaux[3] & \ListeNiveaux[4] & \LabelNoteComp \\}%
+				\xintFor* ##1 in {\xintSeq{1}{\ListeCompetenceslen}}\do{%
+					\tblcompaddto\CPtabledatacomp{\ListeCompetences[\the\numexpr\therownum-1\relax] & & & & & \\}%
+				}%
+				\ifboolKV[tblcomp]{Notice}%
+				{%
+					\tblcompaddto\CPtabledatacomp{{\ListeNiveaux[1]} : {\ListeNoticeNiveaux[1]} / {\ListeNiveaux[2]} : {\ListeNoticeNiveaux[2]} / {\ListeNiveaux[3]} : {\ListeNoticeNiveaux[3]} / {\ListeNiveaux[4]} : {\ListeNoticeNiveaux[4]} & & & & & \\}
+					%creation du tableau note+notice
+					\begin{tblr}[expand=\CPtabledatacomp]%
+						{%
+							width={\COMPETlargeur},%
+							hlines,vlines,colspec={X[l,b]*{4}{Q[c,b,\ListeLargeurs[1]]}Q[c,b,\ListeLargeurs[2]]},%
+							rowsep=\COMPETsep,%
+							row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+							row{2-Y}={font=\COMPETcomp},%
+							row{Z}={font=\COMPETnotice,fg=\useKV[tblcomp]{CouleurNotice}},%
+							cell{2}{Z}={r=\the\numexpr\ListeCompetenceslen+1\relax}{},%
+							cell{Z}{1}={c=5}{}
+						}%
+						\CPtabledatacomp
+					\end{tblr}%
+				}%
+				{%
+					%creation du tableau note-notice
+					\begin{tblr}[expand=\CPtabledatacomp]%
+						{%
+							width={\COMPETlargeur},%
+							hlines,vlines,colspec={X[l,b]*{4}{Q[c,b,\ListeLargeurs[1]]}Q[c,b,\ListeLargeurs[2]]},%
+							rowsep=\COMPETsep,%
+							row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+							row{2-Z}={font=\COMPETcomp},%
+							cell{2}{Z}={r=\the\numexpr\ListeCompetenceslen\relax}{}
+						}%
+						\CPtabledatacomp
+					\end{tblr}%
+				}%
+			}%
+			{%
+				\tblcompaddto\CPtabledatacomp{\COMPETtitre & \ListeNiveaux[1] & \ListeNiveaux[2] & \ListeNiveaux[3] & \ListeNiveaux[4] \\}%
+				\xintFor* ##1 in {\xintSeq{1}{\ListeCompetenceslen}}\do{%
+					\tblcompaddto\CPtabledatacomp{\ListeCompetences[\the\numexpr\therownum-1\relax] & & & & \\}%
+				}%
+				\ifboolKV[tblcomp]{Notice}%
+				{%
+					\tblcompaddto\CPtabledatacomp{{\ListeNiveaux[1]} : {\ListeNoticeNiveaux[1]} / {\ListeNiveaux[2]} : {\ListeNoticeNiveaux[2]} / {\ListeNiveaux[3]} : {\ListeNoticeNiveaux[3]} / {\ListeNiveaux[4]} : {\ListeNoticeNiveaux[4]} & & & & \\}
+					%creation du tableau -note+notice
+					\begin{tblr}[expand=\CPtabledatacomp]%
+						{%
+							width={\COMPETlargeur},%
+							hlines,vlines,colspec={X[l,b]*{4}{Q[c,b,\ListeLargeurs[1]]}},%
+							rowsep=\COMPETsep,%
+							row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+							row{2-Y}={font=\COMPETcomp},%
+							row{Z}={font=\COMPETnotice,fg=\useKV[tblcomp]{CouleurNotice}},%
+							cell{Z}{1}={c=5}{}
+						}%
+						\CPtabledatacomp
+					\end{tblr}%
+				}%
+				{%
+					%creation du tableau -note-notice
+					\begin{tblr}[expand=\CPtabledatacomp]%
+						{%
+							width={\COMPETlargeur},%
+							hlines,vlines,colspec={X[l,b]*{4}{Q[c,b,\ListeLargeurs[1]]}},%
+							rowsep=\COMPETsep,%
+							row{1}={font=\COMPETlegende,fg=\useKV[tblcomp]{CouleurNiveaux},bg=\useKV[tblcomp]{CouleurFond}},%
+							row{2-Z}={font=\COMPETcomp}
+						}%
+						\CPtabledatacomp
+					\end{tblr}%
+				}%
+			}%
+		}%
+		{}%
+}
+
 %%----COMMANDES EN
 
 %====QCMs



More information about the tex-live-commits mailing list.