texlive[69047] Master: proflycee (6dec23)

commits+karl at tug.org commits+karl at tug.org
Wed Dec 6 22:11:45 CET 2023


Revision: 69047
          https://tug.org/svn/texlive?view=revision&revision=69047
Author:   karl
Date:     2023-12-06 22:11:44 +0100 (Wed, 06 Dec 2023)
Log Message:
-----------
proflycee (6dec23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip
    trunk/Master/texmf-dist/doc/latex/proflycee/README.md
    trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
    trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex

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

Added: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2023-12-06 21:11:44 UTC (rev 69047)
@@ -0,0 +1,272 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pythontex: {rerun: always}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[a4paper,french,11pt]{article}
+\def\PLversion{3.01a}
+\def\PLdate{6 décembre 2023}
+\usepackage{amsfonts}
+\usepackage{ProfLycee}
+\useproflyclib{piton,minted,pythontex,ecritures}
+\usepackage[math-style=french]{fourier-otf}
+\usepackage{mathrsfs}%pour mathscr
+\usepackage{awesomebox}
+\usepackage[lua]{tkz-euclide}
+\usepackage{tkz-tab}
+\tikzstyle{every picture}+=[remember picture]
+\usetikzlibrary{hobby}
+\usepackage[group-minimum-digits=4]{siunitx}
+\sisetup{locale=FR}
+\usepackage{enumitem}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{tabularray}
+\usepackage{multicol}
+\DeclareMathSymbol{;}\mathbin{operators}{'73} %espacement avec ;
+%fancy
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily \small [ProfLycee]}
+\cfoot{\sffamily \small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+\usepackage{graphics}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+	\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\huge\sffamily}}
+		{\LaTeX} & {\hologo{pdfLaTeX}} & {\hologo{LuaLaTeX}} & {\TikZ} & {\TeXLive} & {\hologo{MiKTeX}} \\
+	\end{tblr}
+}
+\usepackage{simplekv}
+\usepackage{menukeys}
+\let\tab\relax
+\usepackage{tabto}
+\usepackage{pgf,pgfplots}
+\pgfplotsset{compat=newest,xlabel near ticks,ylabel near ticks}
+\usepackage{listofitems}
+\usepackage{xintexpr}
+\usepackage{codehigh}
+\usepackage{scontents}
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage{geometry}
+\geometry{margin=1.5cm}
+\usepackage{babel}
+\usepackage{newverbs}
+
+\input{ProfLycee-doc-macropreamb.tex}
+
+\input{ProfLycee-doc-pagegarde.tex}
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Introduction}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-introduction.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Liste des commandes}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-listecommandes.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Écritures mathématiques}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-ecritures.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils pour l'analyse}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsanalyse.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils graphiques}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsgraphiques.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Présentation de codes}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-prescodes.tex}
+
+\pagebreak
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils pour la géométrie}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsgeom.tex}
+
+\pagebreak
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils pour la géométrie analytique}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsgeomanalyt.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils pour les statistiques}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-stats.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils pour les probabilités}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-probas.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Outils pour l'arithmétique}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-arithm.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Écritures, simplifications}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-simplif.tex}
+
+\pagebreak
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Jeux et récréations}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-jeuxrecreat.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+	\begin{center}
+		\Huge\MakeUppercase{Historique}
+	\end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-historique.tex}
+
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/README.md	2023-12-06 00:42:52 UTC (rev 69046)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/README.md	2023-12-06 21:11:44 UTC (rev 69047)
@@ -1,10 +1,13 @@
 You are a french mathematics teacher ?
 proflycee may be a useful package to daily use of LaTeX.
------------------------------------------------------------------------------
+
+----------------
+
 Vous êtes un enseignant de mathématiques en lycée ?
 proflycee est un package qui pourra vous aider à utiliser LaTeX au quotidien.
------------------------------------------------------------------------------
 
-Author.....: Cédric Pierquet
-email......: cpierquet at outlook.fr
-Licence....: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+----------------
+
+Author : Cédric Pierquet
+email : cpierquet at outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2023-12-06 00:42:52 UTC (rev 69046)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2023-12-06 21:11:44 UTC (rev 69047)
@@ -3,7 +3,8 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/11/30 3.00g Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/12/06 3.01a Aide pour l'utilisation de LaTeX en lycee]
+% 3.01a	Ajout des courbes ECC/FCC + paramètres par interpolation
 % 3.00g	Amélioration de la marge Gauche dans le PseudoCode
 % 3.00f	Conversion d'une écriture décimale périodique en fraction (avec rédaction éventuelle)
 % 3.00e	Ajout des 'machines à transformer' + Correction d'un nom de commande (cc ProfCollege ^^)

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex	2023-12-06 00:42:52 UTC (rev 69046)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-stats.tex	2023-12-06 21:11:44 UTC (rev 69047)
@@ -2,6 +2,7 @@
 % Copyright 2023  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
 %2.6.8	Grille histogrammes non réguliers
 %2.6.7	Histogrammes
 
@@ -482,4 +483,296 @@
 		{}%
 }
 
+%%----Courbe ECC
+%\usetikzlibrary{intersections}
+
+% \newcommand\recuptikzxy[3]{%
+	% \tikz at scan@one at point\pgfutil at firstofone#1\relax
+	% \edef#2{\the\pgf at x}%
+	% \edef#3{\the\pgf at y}%
+% }
+
+\defKV[courbeECC]{%
+	Largeur=\def\ecc at larg@graph{#1},%
+	Hauteur=\def\ecc at haut@graph{#1},%
+	PasX=\def\ecc at grille@x{#1},%
+	PasY=\def\ecc at grille@y{#1},%
+	Couleur=\def\ecc at coul@graph{#1},%
+	CouleursParams=\def\ecc at coul@params{#1},%
+	GraduationsX=\def\ecc at gradx@graph{#1},%
+	GraduationsY=\def\ecc at grady@graph{#1},%
+	PoliceAxes=\def\ecc at font@axes{#1},%
+	ElargirAxes=\def\ecc at elarg@axes{#1}
+}
+
+\setKVdefault[courbeECC]{%
+	Largeur=15,%
+	Hauteur=10,%
+	PasX=50,%
+	PasY=50,%
+	Couleur=blue,%
+	AffParams=true,%
+	CouleursParams={CouleurVertForet/red},%
+	GraduationsX={\DonneesXmin},%
+	GraduationsY={0},%
+	PoliceAxes=\normalsize\normalfont,%
+	ElargirOx=true,%
+	ElargirOy=true,%
+	ElargirAxes=3mm
+}
+
+\tikzset{traitsparamecc/.style={line width=1pt,densely dashed}}
+\tikzset{courbeecc/.style={line width=1pt}}
+\tikzset{gradsecc/.style={thick}}
+\tikzset{axesecc/.style={gradsecc,->,>=latex}}
+
+\NewDocumentCommand\CourbeECCStylesDefaut{ }{%
+	\tikzset{traitsparamecc/.style={line width=1pt,densely dashed}}
+	\tikzset{courbeecc/.style={line width=1pt}}
+	\tikzset{gradsecc/.style={thick}}
+	\tikzset{axesecc/.style={gradsecc,->,>=latex}}
+}
+
+\NewDocumentCommand\CourbeECC{ O{} m m }{%
+	\restoreKV[courbeECC]%
+	\setKV[courbeECC]{#1}%
+	\IfSubStr{\ecc at coul@params}{/}%
+		{%
+			\StrCut{\ecc at coul@params}{/}{\ecc at coul@quart}{\ecc at coul@med}%
+		}%
+		{%
+			\def\ecc at coul@quart{\ecc at coul@params}\def\ecc at coul@med{\ecc at coul@params}%
+		}%
+	\readlist*\DataClass{#2}%
+	\readlist*\DataEff{#3}%
+	\xdef\DonneesECC{0}%
+	\xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+		\xdef\DonneesTmp{0}
+		\xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+			\xdef\DonneesTmp{\xintfloateval{\DonneesTmp+\DataEff[##2]}}%
+		}%
+		\xdef\DonneesECC{\DonneesECC,\DonneesTmp}%
+	}%
+	\readlist*\DataECC\DonneesECC%
+	\itemtomacro\DataClass[1]\DonneesXmin%
+	\itemtomacro\DataClass[-1]\DonneesXmax%
+	\itemtomacro\DataECC[-1]\DonneesEffMax%
+	\xdef\UniteGraphiqueX{\xintfloateval{(\ecc at larg@graph)/(\DonneesXmax-\DonneesXmin)}}%
+	\xdef\UniteGraphiqueY{\xintfloateval{(\ecc at haut@graph)/(\DonneesEffMax)}}%
+	\xdef\DonneesListeECC{(\DataClass[1],\DataECC[1])}%
+	\xintFor* ##1 in {\xintSeq{2}{\DataECClen}}\do{%
+		\xdef\DonneesListeECC{\DonneesListeECC--(\DataClass[##1],\DataECC[##1])}%
+	}%
+		%paramètres par interpolation
+	\xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+		\xdef\isuiv{\xinteval{##1+1}}%
+		\xintifboolexpr{\DataECC[##1] < (0.25*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.25*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValPremQuartile{\xintfloateval{(0.25*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+		\xintifboolexpr{\DataECC[##1] < (0.50*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.50*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValMed{\xintfloateval{(0.50*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+		\xintifboolexpr{\DataECC[##1] < (0.75*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.75*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValTroisQuartile{\xintfloateval{(0.75*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+	}%
+	%graphique
+	\begin{tikzpicture}[x=\UniteGraphiqueX cm,y=\UniteGraphiqueY cm]
+		\draw[xstep=\ecc at grille@x,ystep=\ecc at grille@y,thin,lightgray] (\DonneesXmin,0) grid (\DonneesXmax,\DonneesEffMax) ;
+		%modif axes avec pgffor :-(
+		\foreach \valx in \ecc at gradx@graph {%
+			\draw[gradsecc] (\valx,3pt)--++(0,-6pt) node[below,font=\ecc at font@axes] {\num{\valx}} ;
+		}
+		\foreach \valy in \ecc at grady@graph {%
+			\draw[gradsecc] ($({\DonneesXmin},\valy)+(3pt,0)$)--++(-6pt,0) node[left,font=\ecc at font@axes] {\num{\valy}} ;
+		}
+		\ifboolKV[courbeECC]{ElargirOx}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmax,0)+(\ecc at elarg@axes,0)$) ;
+			}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--(\DonneesXmax,0) ;
+			}%
+		\ifboolKV[courbeECC]{ElargirOy}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmin,\DonneesEffMax)+(0,\ecc at elarg@axes)$) ;
+			}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--(\DonneesXmin,\DonneesEffMax) ;
+			}%
+		\draw[courbeecc,\ecc at coul@graph] \DonneesListeECC ;
+		\xintFor* ##1 in {\xintSeq{1}{\DataECClen}}\do{%
+			\filldraw[\ecc at coul@graph] (\DataClass[##1],\DataECC[##1]) circle[radius=2pt] ;
+		}%
+		\ifboolKV[courbeECC]{AffParams}%
+			{%
+				\draw[traitsparamecc,\ecc at coul@quart] (\DonneesXmin,{0.25*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+				\draw[traitsparamecc,\ecc at coul@med] (\DonneesXmin,{0.50*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+				\draw[traitsparamecc,\ecc at coul@quart] (\DonneesXmin,{0.75*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+				\draw[traitsparamecc,\ecc at coul@quart] (\ValPremQuartile,{0.25*\DonneesEffMax})--(\ValPremQuartile,0) ; \draw[\ecc at coul@quart,thick,fill=white] (\ValPremQuartile,{0.25*\DonneesEffMax}) circle[radius=2pt] ;
+				\draw[traitsparamecc,\ecc at coul@quart] (\ValTroisQuartile,{0.75*\DonneesEffMax})--(\ValTroisQuartile,0) ; \draw[\ecc at coul@quart,thick,fill=white] (\ValTroisQuartile,{0.75*\DonneesEffMax}) circle[radius=2pt] ;
+				\draw[traitsparamecc,\ecc at coul@med] (\ValMed,{0.5*\DonneesEffMax})--(\ValMed,0) ; \draw[\ecc at coul@med,thick,fill=white] (\ValMed,{0.5*\DonneesEffMax}) circle[radius=2pt] ;
+			}%
+			{}%
+	\end{tikzpicture}%
+	\CourbeECCStylesDefaut%
+}
+
+\NewDocumentEnvironment{EnvCourbeECC}{ O{} m m }%
+{%
+	\restoreKV[courbeECC]%
+	\setKV[courbeECC]{#1}%
+	\IfSubStr{\ecc at coul@params}{/}%
+		{%
+			\StrCut{\ecc at coul@params}{/}{\ecc at coul@quart}{\ecc at coul@med}%
+		}%
+		{%
+			\def\ecc at coul@quart{\ecc at coul@params}%
+			\def\ecc at coul@med{\ecc at coul@params}%
+		}%
+	\readlist*\DataClass{#2}%
+	\readlist*\DataEff{#3}%
+	\xdef\DonneesECC{0}%
+	\xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+		\xdef\DonneesTmp{0}
+		\xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+			\xdef\DonneesTmp{\xintfloateval{\DonneesTmp+\DataEff[##2]}}%
+		}%
+		\xdef\DonneesECC{\DonneesECC,\DonneesTmp}%
+	}%
+	\readlist*\DataECC\DonneesECC%
+	\itemtomacro\DataClass[1]\DonneesXmin%
+	\itemtomacro\DataClass[-1]\DonneesXmax%
+	\itemtomacro\DataECC[-1]\DonneesEffMax%
+	\xdef\UniteGraphiqueX{\xintfloateval{(\ecc at larg@graph)/(\DonneesXmax-\DonneesXmin)}}%
+	\xdef\UniteGraphiqueY{\xintfloateval{(\ecc at haut@graph)/(\DonneesEffMax)}}%
+	\xdef\DonneesListeECC{(\DataClass[1],\DataECC[1])}%
+	\xintFor* ##1 in {\xintSeq{2}{\DataECClen}}\do{%
+		\xdef\DonneesListeECC{\DonneesListeECC--(\DataClass[##1],\DataECC[##1])}%
+	}%
+	%paramètres par interpolation
+	\xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+		\xdef\isuiv{\xinteval{##1+1}}%
+		\xintifboolexpr{\DataECC[##1] < (0.25*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.25*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValPremQuartile{\xintfloateval{(0.25*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+		\xintifboolexpr{\DataECC[##1] < (0.50*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.50*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValMed{\xintfloateval{(0.50*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+		\xintifboolexpr{\DataECC[##1] < (0.75*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.75*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValTroisQuartile{\xintfloateval{(0.75*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+	}%
+	%graphique
+	\begin{tikzpicture}[x=\UniteGraphiqueX cm,y=\UniteGraphiqueY cm]
+		\draw[xstep=\ecc at grille@x,ystep=\ecc at grille@y,thin,lightgray] (\DonneesXmin,0) grid (\DonneesXmax,\DonneesEffMax) ;
+		%modif axes avec pgffor :-(
+		\foreach \valx in \ecc at gradx@graph {%
+			\draw[gradsecc] (\valx,3pt)--++(0,-6pt) node[below,font=\ecc at font@axes] {\num{\valx}} ;
+		}
+		\foreach \valy in \ecc at grady@graph {%
+			\draw[gradsecc] ($({\DonneesXmin},\valy)+(3pt,0)$)--++(-6pt,0) node[left,font=\ecc at font@axes] {\num{\valy}} ;
+		}
+		\ifboolKV[courbeECC]{ElargirOx}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmax,0)+(\ecc at elarg@axes,0)$) ;
+			}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--(\DonneesXmax,0) ;
+			}%
+		\ifboolKV[courbeECC]{ElargirOy}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmin,\DonneesEffMax)+(0,\ecc at elarg@axes)$) ;
+			}%
+			{%
+				\draw[axesecc] (\DonneesXmin,0)--(\DonneesXmin,\DonneesEffMax) ;
+			}%
+		\draw[courbeecc,\ecc at coul@graph] \DonneesListeECC ;
+		\xintFor* ##1 in {\xintSeq{1}{\DataECClen}}\do{%
+			\filldraw[\ecc at coul@graph] (\DataClass[##1],\DataECC[##1]) circle[radius=2pt] ;
+		}%
+		\ifboolKV[courbeECC]{AffParams}%
+			{%
+				\draw[traitsparamecc,\ecc at coul@quart] (\DonneesXmin,{0.25*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+				\draw[traitsparamecc,\ecc at coul@med] (\DonneesXmin,{0.50*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+				\draw[traitsparamecc,\ecc at coul@quart] (\DonneesXmin,{0.75*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+				\draw[traitsparamecc,\ecc at coul@quart] (\ValPremQuartile,{0.25*\DonneesEffMax})--(\ValPremQuartile,0) ; \draw[\ecc at coul@quart,thick,fill=white] (\ValPremQuartile,{0.25*\DonneesEffMax}) circle[radius=2pt] ;
+				\draw[traitsparamecc,\ecc at coul@quart] (\ValTroisQuartile,{0.75*\DonneesEffMax})--(\ValTroisQuartile,0) ; \draw[\ecc at coul@quart,thick,fill=white] (\ValTroisQuartile,{0.75*\DonneesEffMax}) circle[radius=2pt] ;
+				\draw[traitsparamecc,\ecc at coul@med] (\ValMed,{0.5*\DonneesEffMax})--(\ValMed,0) ; \draw[\ecc at coul@med,thick,fill=white] (\ValMed,{0.5*\DonneesEffMax}) circle[radius=2pt] ;
+			}%
+			{}%
+		% \path[name intersections={of=CourbeECC and Quartile1,by=Q1}];
+		% \path[name intersections={of=CourbeECC and Mediane,by=Q2}];
+		% \path[name intersections={of=CourbeECC and Quartile3,by=Q3}];
+		% \recuptikzxy{(Q1)}{\xqun}{\yqun}%
+		% \xdef\ValPremQuartile{\xintfloateval{(0.03515*\fpeval{\xqun})/\UniteGraphiqueX}}%
+		% \recuptikzxy{(Q2)}{\xmediane}{\ymediane}
+		% \xdef\ValMed{\xintfloateval{(0.03515*\fpeval{\xmediane})/\UniteGraphiqueX}}%
+		% \recuptikzxy{(Q3)}{\xqtrois}{\yqtrois}%
+		% \xdef\ValTroisQuartile{\xintfloateval{(0.03515*\fpeval{\xqtrois})/\UniteGraphiqueX}}%
+}%
+{%
+	\end{tikzpicture}%
+	\CourbeECCStylesDefaut%
+}
+
+%détermination 'simple' des paramètres
+\NewDocumentCommand\MedianeQuartilesECC{ m m }{%
+	%lecture des listes
+	\readlist*\DataClass{#1}%
+	\readlist*\DataEff{#2}%
+	%création etlecture de la liste des ECC
+	\xdef\DonneesECC{0}%
+	\xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+		\xdef\DonneesTmp{0}%
+		\xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+			\xdef\DonneesTmp{\xintfloateval{\DonneesTmp+\DataEff[##2]}}%
+		}%
+		\xdef\DonneesECC{\DonneesECC,\DonneesTmp}%
+	}%
+	\readlist*\DataECC\DonneesECC%
+	%effectif total + nb
+	\itemtomacro\DataECC[-1]\DonneesEffMax%
+	%détermination de Q1, par balayage + par interpolation
+	\xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+		\xdef\isuiv{\xinteval{##1+1}}%
+		\xintifboolexpr{\DataECC[##1] < (0.25*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.25*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValPremQuartile{\xintfloateval{(0.25*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+		\xintifboolexpr{\DataECC[##1] < (0.50*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.50*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValMed{\xintfloateval{(0.50*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+		\xintifboolexpr{\DataECC[##1] < (0.75*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.75*\DonneesEffMax)}%
+			{%
+				\xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+				\xdef\ValTroisQuartile{\xintfloateval{(0.75*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+			}
+			{}%
+	}%
+}
+
 \endinput
\ No newline at end of file

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2023-12-06 00:42:52 UTC (rev 69046)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2023-12-06 21:11:44 UTC (rev 69047)
@@ -3380,6 +3380,7 @@
  'uadocs'       => 'latex',  # requires interaction
  'undolabl'     => 'tex',
  'velthuis'     => 'latex',  # requires interaction
+ 'wheelchart'	=> 'etex',
  'wrapfig2'	=> 'etex',
  'wrapstuff'	=> 'etex',
  'xduthesis'	=> 'tex',



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