summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-02-26 03:00:59 +0000
committerNorbert Preining <norbert@preining.info>2024-02-26 03:00:59 +0000
commit8dfcb0935597571483db587639fb662c93d775b1 (patch)
tree39d596fbdcc693a0d3ececb8aa099edfbd93f898 /macros/latex/contrib/proflycee/tex
parent7520174d338ca031769f8e67d69b9a6a00f1626b (diff)
CTAN sync 202402260300
Diffstat (limited to 'macros/latex/contrib/proflycee/tex')
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty3
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex72
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex200
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-complexes.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex4
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex2
17 files changed, 288 insertions, 17 deletions
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index ba0cd72932..0c71456d5d 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2024/02/09 3.02b Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2024/02/23 3.02c Aide pour l'utilisation de LaTeX en lycee]
+% 3.02c Ajout d'une commande pour le calcul d'une congruence (+petite pos / +petite nég) + ligne tkz-convex + Opérations posées
% 3.02b Amélioration du code pour les arbres de probas (tks M. Degrange pour les suggestions)
% 3.02a Ajout des [ecritures] proba conditionnelle, norme, valeur absolue et IF/IC
% 3.01g Ajout de commandes internes, en phase de test (et non documentées à 100%...)
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
index ab5fa85c51..19d13ab932 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
@@ -1,5 +1,5 @@
% proflycee-tools-aleatoire.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------EnsembleList
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
index 2fb8b930c0..3454738654 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
@@ -1,5 +1,5 @@
% proflycee-tools-analyse.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%Correction d'un bug sur la raacine carrée... le cas où ça fait 1 !
@@ -812,4 +812,74 @@
{}%
}
+%====tkz ligne convexité
+\makeatletter
+\NewDocumentCommand\tkzTabLineConvex{ s m m }{%
+ %étoilé := mode texte
+ %1 := ligne
+ %2 := liste des cases ( ccv / cvx / t / d / i / i* )
+ %calculs intermédiaires
+ \xdef\j{#2}%
+ \xdef\k{\inteval{#2+1}}%
+ %récup hauteur ligne
+ \pgfpointdiff{\pgfpointanchor{T0\j}{center}}{\pgfpointanchor{T0\k}{center}}%
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ \pgfmathparse{veclen(\pgf@xa,\pgf@ya)/28.45274}%
+ \global\let\tmphautligne\pgfmathresult%
+ %suite
+ \readlist*\lsttabconvex{#3}%
+ \foreach \i in {1,...,\lsttabconvexlen}{%
+ \itemtomacro\lsttabconvex[\i]{\paramcvxitem}%
+ \IfStrEqCase{\paramcvxitem}{%
+ {d}%double barre
+ {%
+ \xdef\nodedouble{\inteval{(\i+1)/2}}%
+ \draw[double style] (N\nodedouble\j)--(N\nodedouble\k) ;%
+ }%
+ {i*}%inflexion
+ {%
+ \xdef\nodedouble{\inteval{(\i+1)/2}}%
+ \draw[line width=\cmdTAB@tbs@lw] (N\nodedouble\j)--([xshift=-12pt]N\nodedouble\k) ;%
+ \draw[line width=\cmdTAB@tbs@lw] (N\nodedouble\j)--([xshift=12pt]N\nodedouble\k) ;%
+ \draw (N\nodedouble\k) node[font=\tiny,text width=1.5cm,align=center] {point\\d'inflexion} ;
+ }%
+ {i}%inflexion sans texte
+ {%
+ \xdef\nodedouble{\inteval{(\i+1)/2}}%
+ \draw[line width=\cmdTAB@tbs@lw] (N\nodedouble\j)--([xshift=-12pt]N\nodedouble\k) ;%
+ \draw[line width=\cmdTAB@tbs@lw] (N\nodedouble\j)--([xshift=12pt]N\nodedouble\k) ;%
+ }%
+ {t}%trait
+ {%
+ \xdef\nodedouble{\inteval{(\i+1)/2}}%
+ \draw[line width=\cmdTAB@tbs@lw,t style] (N\nodedouble\j)--(N\nodedouble\k) ;
+ }
+ {ccv}%concave
+ {%
+ \xdef\nodedouble{\inteval{(\i)/2}}%
+ \IfBooleanTF{#1}%
+ {%
+ \draw ($(M\nodedouble\j)!0.5!(M\nodedouble\k)$) node {concave} ;%
+ }%
+ {%
+ \draw[line width={1.5*\cmdTAB@tbs@lw}] ($(M\nodedouble\j)!0.5!(M\nodedouble\k)+({-0.275*\cmdTAB@tbs@espcl},{-0.25*\tmphautligne})$) parabola bend ++({0.275*\cmdTAB@tbs@espcl},{0.5*\tmphautligne}) ($(M\nodedouble\j)!0.5!(M\nodedouble\k)+({0.275*\cmdTAB@tbs@espcl},{-0.25*\tmphautligne})$) ;
+ }%
+ }%
+ {cvx}%concave
+ {%
+ \xdef\nodedouble{\inteval{(\i)/2}}%
+ \IfBooleanTF{#1}%
+ {%
+ \draw ($(M\nodedouble\j)!0.5!(M\nodedouble\k)$) node {convexe} ;%
+ }%
+ {%
+ \draw[line width={1.5*\cmdTAB@tbs@lw}] ($(M\nodedouble\j)!0.5!(M\nodedouble\k)+({-0.275*\cmdTAB@tbs@espcl},{0.25*\tmphautligne})$) parabola bend ++({0.275*\cmdTAB@tbs@espcl},{-0.5*\tmphautligne}) ($(M\nodedouble\j)!0.5!(M\nodedouble\k)+({0.275*\cmdTAB@tbs@espcl},{0.25*\tmphautligne})$) ;
+ }%
+ }%
+ }%
+ }%
+}
+\makeatother
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
index 01cb4722c4..1d8b4f2826 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
@@ -1,5 +1,5 @@
% proflycee-tools-arithm.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
\RequirePackage{ifthen}
@@ -1239,4 +1239,202 @@
\fi
+%====RESTE MODULO
+\NewDocumentCommand\ResteMod{ s m m }{%
+ %étoilé := version négative;#2=nb;#3=base
+ \IfBooleanTF{#1}%
+ {\num{\xintiieval{irem(#2,#3)-#3}}}%
+ {\num{\xintiieval{irem(#2,#3)}}}%
+}
+
+%====OPÉRATIONS POSÉES 2/10/16 MULTICOMPILATEUR ?
+\RequirePackage{calc}
+
+\newlength{\widestcharwd}
+\newlength{\charwd}
+\newlength{\heightercharht}
+
+\defKV[poseoperation]{%
+ Base=\def\PoseOpeBase{#1},%
+ LimiteCapac=\def\PoseOpeLimit{#1},%
+ SymbDecal=\def\PoseOpeSymb{#1},%
+ Offset=\def\PoseOpeOffset{#1},%
+ CouleurRetenue=\def\PoseOpeColReten{#1}
+}
+
+\setKVdefault[poseoperation]{%
+ Base=dec,%
+ SymbDecal=.,%
+ Interm=true,%
+ Offset=6pt,%
+ AffEgal=true,%
+ LimiteCapac=0,%
+ CouleurRetenue=red
+}
+
+\NewDocumentCommand\IntCalcMaxWidth{ m }{%
+ \StrLen{#1}[\tmplen]%
+ \setlength{\widestcharwd}{0pt}
+ \xintFor* ##1 in {\xintSeq{1}{\tmplen}}\do{%
+ \StrChar{#1}{##1}[\tmpchar]%
+ \settowidth{\charwd}{\tmpchar}%
+ \setlength{\widestcharwd}{\maxof{\widestcharwd}{\charwd}}%
+ }%
+}
+
+\NewDocumentCommand\IntCreateBoxNumbers{ m }{%
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\IntCalcMaxWidth{0123456789}}%
+ {bin}{\IntCalcMaxWidth{01}}%
+ {hex}{\IntCalcMaxWidth{0123456789ABCDEF}}%
+ }%
+ \addtolength{\widestcharwd}{\PoseOpeOffset/2}%
+ \StrLen{#1}[\tmplennumber]%
+ \xintFor* ##1 in {\xintSeq{1}{\tmplennumber}}\do{%
+ \StrChar{#1}{##1}[\tmpchiff]%
+ \makebox[\the\widestcharwd][c]{\tmpchiff}%
+ }%
+}
+
+\newcommand\AffRetenue[1]{%
+ \textcolor{\PoseOpeColReten}{\scalebox{0.5}[0.5]{#1}}%
+}
+
+\NewDocumentCommand\IntCreateBoxNumbersRetenue{ m }{%
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\IntCalcMaxWidth{0123456789}}%
+ {bin}{\IntCalcMaxWidth{01}}%
+ {hex}{\IntCalcMaxWidth{0123456789ABCDEF}}%
+ }%
+ \addtolength{\widestcharwd}{\PoseOpeOffset/2}%
+ \StrLen{#1}[\tmplennumber]%
+ \xintFor* ##1 in {\xintSeq{1}{\tmplennumber}}\do{%
+ \StrChar{#1}{##1}[\tmpchiff]%
+ \IfEq{\tmpchiff}{X}%
+ {\makebox[\the\widestcharwd][c]{\textcolor{\PoseOpeColReten}{\scalebox{0.5}[0.5]{}}}}%
+ {\makebox[\the\widestcharwd][c]{\textcolor{\PoseOpeColReten}{\scalebox{0.5}[0.5]{\tmpchiff}}}}%
+ }%
+}
+
+\NewDocumentCommand\IntPoseAddition{ m m D<>{} }{%
+ \StrLen{#1}[\nbchiffA]%
+ %essai des retenues ??
+ \xdef\ListeRetenues{X}%
+ \xintFor* ##1 in {\xintSeq{1}{\nbchiffA}}\do{%
+ \StrRight{#1}{##1}[\tmpinterA]%
+ \StrRight{#2}{##1}[\tmpinterB]%
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\xdef\rescalcrete{\xinteval{\tmpinterA+\tmpinterB}}}%
+ {bin}{\xdef\rescalcrete{\xintDecToBin{\xinteval{\xintBinToDec{\tmpinterA}+\xintBinToDec{\tmpinterB}}}}}%
+ {hex}{\xdef\rescalcrete{\xintDecToHex{\xinteval{\xintHexToDec{\tmpinterA}+\xintHexToDec{\tmpinterB}}}}}%
+ }%
+ \StrLen{\rescalcrete}[\tmpnbchiffresinter]%
+ \xintifboolexpr{\tmpnbchiffresinter > ##1}%
+ {%
+ \StrGobbleRight{\rescalcrete}{##1}[\tmpretenue]%
+ \xdef\ListeRetenues{\tmpretenue\ListeRetenues}%
+ }%
+ {%
+ \xintifboolexpr{##1 == \nbchiffA}{}{\xdef\ListeRetenues{X\ListeRetenues}}%
+ }%
+ }%
+ %suite
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\xdef\rescalcbin{\xinteval{#1+#2}}}%
+ {bin}{\xdef\rescalcbin{\xintDecToBin{\xinteval{\xintBinToDec{#1}+\xintBinToDec{#2}}}}}%
+ {hex}{\xdef\rescalcbin{\xintDecToHex{\xinteval{\xintHexToDec{#1}+\xintHexToDec{#2}}}}}%
+ }%
+ \xintifboolexpr{\PoseOpeLimit > 0 }{\StrRight{\rescalcbin}{\PoseOpeLimit}[\rescalcbin]}{}%
+ %\ensuremath{\begin{array}{@{\,}r@{\hspace{\PoseOpeOffset}}r@{\,}}
+ \ensuremath{\begin{NiceArray}[#3]{@{\,}r@{\hspace{\PoseOpeOffset}}r@{\,}}
+ \RowStyle[cell-space-limits=0pt]{} & \IntCreateBoxNumbersRetenue{\ListeRetenues} \\[-0.5\heightercharht]
+ \RowStyle[nb-rows=*,cell-space-limits=1pt]{} & \IntCreateBoxNumbers{#1} \\
+ + & \IntCreateBoxNumbers{#2} \\
+ \hline
+ \ifboolKV[poseoperation]{AffEgal}{=}{} & \IntCreateBoxNumbers{\rescalcbin} \\
+ \end{NiceArray}}%
+ %\end{array}}%
+}
+
+\NewDocumentCommand\IntPoseSoustraction{ m m D<>{} }{%
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\xdef\rescalcbin{\xinteval{#1-#2}}}%
+ {bin}{\xdef\rescalcbin{\xintDecToBin{\xinteval{\xintBinToDec{#1}-\xintBinToDec{#2}}}}}%
+ {hex}{\xdef\rescalcbin{\xintDecToHex{\xinteval{\xintHexToDec{#1}-\xintHexToDec{#2}}}}}%
+ }%
+ \xintifboolexpr{\PoseOpeLimit > 0 }{\StrRight{\rescalcbin}{\PoseOpeLimit}[\rescalcbin]}{}%
+ %\ensuremath{\begin{array}{@{\,}r@{\hspace{\PoseOpeOffset}}r@{\,}}
+ \ensuremath{\begin{NiceArray}[#3]{@{\,}r@{\hspace{\PoseOpeOffset}}r@{\,}}
+ \RowStyle[nb-rows=*,cell-space-limits=1pt]{}
+ & \IntCreateBoxNumbers{#1} \\
+ - & \IntCreateBoxNumbers{#2} \\
+ \hline
+ \ifboolKV[poseoperation]{AffEgal}{=}{} & \IntCreateBoxNumbers{\rescalcbin} \\
+ \end{NiceArray}}%
+ %\end{array}}%
+}
+
+\NewDocumentCommand\IntPoseMultiplication{ m m D<>{} }{%
+ \StrLen{#1}[\nbligninit]%
+ \StrLen{#2}[\nbligninter]%
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\xdef\rescalcbin{\xinteval{#1*#2}}}%
+ {bin}{\xdef\rescalcbin{\xintDecToBin{\xinteval{\xintBinToDec{#1}*\xintBinToDec{#2}}}}}%
+ {hex}{\xdef\rescalcbin{\xintDecToHex{\xinteval{\xintHexToDec{#1}*\xintHexToDec{#2}}}}}%
+ }%
+ \xintifboolexpr{\PoseOpeLimit > 0 }{\StrRight{\rescalcbin}{\PoseOpeLimit}[\rescalcbin]}{}%
+ %\ensuremath{\begin{array}{@{\,}r@{\hspace{\PoseOpeOffset}}r@{\,}}
+ \ensuremath{\begin{NiceArray}[#3]{@{\,}r@{\hspace{\PoseOpeOffset}}r@{\,}}
+ \RowStyle[nb-rows=*,cell-space-limits=1pt]{}
+ & \IntCreateBoxNumbers{#1} \\
+ \times & \IntCreateBoxNumbers{#2} \\
+ \ifboolKV[poseoperation]{Interm}%
+ {%
+ \hline
+ \xintFor* ##1 in {\xintSeq{1}{\nbligninter}}\do{%
+ \xintifboolexpr{##1 == 1}{}{+}&
+ \xdef\tmpindice{\inteval{\nbligninter-##1+1}}\StrChar{#2}{\tmpindice}[\tmpchiff]\IfStrEqCase{\PoseOpeBase}{{dec}{\xdef\rescalcbininter{\xinteval{#1*\tmpchiff}}}{bin}{\xdef\rescalcbininter{\xintDecToBin{\xinteval{\xintBinToDec{#1}*\xintBinToDec{\tmpchiff}}}}}{hex}{\xdef\rescalcbininter{\xintDecToHex{\xinteval{\xintHexToDec{#1}*\xintHexToDec{\tmpchiff}}}}}}%
+ \IfEq{\tmpchiff}{0}%
+ {\xdef\rescalcbininter{}\xintFor* ##2 in {\xintSeq{1}{\nbligninit}}\do{\xdef\rescalcbininter{0\rescalcbininter}}%
+ }{}%
+ \xintifboolexpr{\PoseOpeLimit > 0 }{\StrRight{\rescalcbininter}{\PoseOpeLimit}[\rescalcbininter]}{}%
+ \IntCreateBoxNumbers{\rescalcbininter}
+ \xintifboolexpr{##1 == 1}{}{\xintFor* ##2 in {\xintSeq{1}{##1-1}}\do{\makebox[\the\widestcharwd][c]{\PoseOpeSymb}}}\\
+ }%
+ }%
+ {}%
+ \hline
+ \ifboolKV[poseoperation]{AffEgal}{=}{} & \IntCreateBoxNumbers{\rescalcbin} \\
+ \end{NiceArray}}%
+ %\end{array}}%
+}
+
+\NewDocumentCommand\OperationPosee{ O{} m D<>{} }{%
+ \restoreKV[poseoperation]%
+ \setKV[poseoperation]{#1}%
+ \IfStrEqCase{\PoseOpeBase}{%
+ {dec}{\settoheight{\heightercharht}{\hbox{0123456789}}}%
+ {bin}{\settoheight{\heightercharht}{\hbox{01}}}%
+ {hex}{\settoheight{\heightercharht}{\hbox{0123456789ABCDEF}}}%
+ }%
+ \IfSubStr{#2}{+}%
+ {%
+ \StrCut{#2}{+}{\tmpcalcA}{\tmpcalcB}%
+ \IntPoseAddition{\tmpcalcA}{\tmpcalcB}<#3>
+ }%
+ {}%
+ \IfSubStr{#2}{-}%
+ {%
+ \StrCut{#2}{-}{\tmpcalcA}{\tmpcalcB}%
+ \IntPoseSoustraction{\tmpcalcA}{\tmpcalcB}<#3>
+ }%
+ {}%
+ \IfSubStr{#2}{*}%
+ {%
+ \StrCut{#2}{*}{\tmpcalcA}{\tmpcalcB}%
+ \IntPoseMultiplication{\tmpcalcA}{\tmpcalcB}<#3>
+ }%
+ {}%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-complexes.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-complexes.tex
index d8379269b3..2650a7ef4f 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-complexes.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-complexes.tex
@@ -1,5 +1,5 @@
% proflycee-tools-complexes.tex
-% Copyright 2023 Cédric Pierquet (expérimental)
+% Copyright 2023-2024 Cédric Pierquet (expérimental)
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
\NewDocumentCommand\PartieReelle{ D<>{} m O{\PartReRes} }{%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
index 3b05d92764..0a1555c4e9 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
@@ -1,5 +1,5 @@
% proflycee-tools-ecritures.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%===PACKAGE
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
index eb898aa85a..ffbe198633 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
@@ -1,5 +1,5 @@
% proflycee-tools-geom.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------PaveDroitTikZ
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
index 747e425b58..22775038e7 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
@@ -1,5 +1,5 @@
% proflycee-tools-graphiques.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------SPLINES
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
index 20cfa254a5..195b07c6a0 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
@@ -1,5 +1,5 @@
% proflycee-tools-listings.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%3.01f Suppression Terminal (doublon avec sim-os-menus)
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
index 98bf736609..af4aebf384 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
@@ -1,5 +1,5 @@
% proflycee-tools-minted.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%3.00g Modif mineure pour la marge gauche
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
index b4690b1920..f0011170eb 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
@@ -1,5 +1,5 @@
% proflycee-tools-piton.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%3.01f PseudoCode via piton (?)
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
index 41f8ca7ea5..950c59a4a8 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
@@ -1,5 +1,5 @@
% proflycee-tools-probas.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------LOISPROBAS
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
index 8f865f0020..e44373aab8 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
@@ -1,5 +1,5 @@
% proflycee-tools-pythontex.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%2.7.5 Argument optionnel pour commencer la numérotation à une autre ligne que 1
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
index b80cc6fef6..7bdc44ed02 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
@@ -1,5 +1,5 @@
% proflycee-tools-recreat.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------FENÊTRE CALCUL FORMEL
@@ -436,12 +436,14 @@
\xdef\LongueurGratte{0.28cm}
\xdef\HauteurGratte{0.20cm}
+\makeatletter
\newcommand{\CalcLg}[2]{%
\pgfpointdiff{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
\pgfmathparse{veclen(\pgf@xa,\pgf@ya)}%
}
+\makeatother
\defKV[allumettes]{CouleurBois=\def\MatchWoodColor{#1},CouleurBout=\def\MatchEndColor{#1},Decal=\def\MatchOffset{#1}}
\setKVdefault[allumettes]{CouleurBois=BoisAllumette,CouleurBout=GratteAllumette,Decal={0.8*\LongueurGratte},NoirBlanc=false}
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
index 335b524ec2..cd01f4393b 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
@@ -1,5 +1,5 @@
% proflycee-tools-stats.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%3.01a Courbe ECC
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex
index f83f215d01..9319c40816 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex
@@ -1,5 +1,5 @@
% proflycee-tools-suites.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------CabWeb
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex
index 24ec136ca5..6efa608f73 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex
@@ -1,5 +1,5 @@
% proflycee-tools-trigo.tex
-% Copyright 2023 Cédric Pierquet
+% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
%%------CercleTrigo