texlive[64130] Master/texmf-dist: proflycee (16aug22)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 16 22:58:29 CEST 2022


Revision: 64130
          http://tug.org/svn/texlive?view=revision&revision=64130
Author:   karl
Date:     2022-08-16 22:58:29 +0200 (Tue, 16 Aug 2022)
Log Message:
-----------
proflycee (16aug22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
    trunk/Master/texmf-dist/doc/latex/proflycee/README.md
    trunk/Master/texmf-dist/doc/latex/proflycee/basique.csv
    trunk/Master/texmf-dist/doc/latex/proflycee/cap.csv
    trunk/Master/texmf-dist/doc/latex/proflycee/perroquet.csv
    trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty

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

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-08-16 20:58:14 UTC (rev 64129)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-08-16 20:58:29 UTC (rev 64130)
@@ -11,7 +11,7 @@
 \usepackage[build]{ProfLycee}
 \usepackage{tkz-euclide}
 \usetikzlibrary{hobby}
-\usepackage{siunitx}
+\usepackage[group-minimum-digits=4]{siunitx}
 \usepackage{fancyvrb}
 \usepackage{fancyhdr}
 %fancy
@@ -55,8 +55,8 @@
 \setlength{\parindent}{0pt}
 \definecolor{LightGray}{gray}{0.9}
 
-\def\PLversion{1.2}
-\def\PLdate{10 Août 2022}
+\def\PLversion{1.2.2}
+\def\PLdate{15 Août 2022}
 
 \tcbset{vignettes/.style={%
 		nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
@@ -222,7 +222,7 @@
 
 Deux commandes pour, en \TikZ, créer des petits schémas \og de signe \fg.
 
-Une commande pour déterminer des paramètres ($a$, $b$, $r$ et $r^2$) d'une régression linéaire par moindres carrés.
+Une commande pour travailler sur les statistiques à deux variables (algébriques et graphiques).
 
 Quelques commandes pour convertir bin/dec/hex avec certains détails.
 
@@ -2656,6 +2656,493 @@
 
 \newpage
 
+\section{Statistiques à deux variables}
+
+\subsection{Idées}
+
+\begin{codeidee}
+L'idée est de \textit{prolonger} le paragraphe précédent pour proposer un environnement \TikZ{} adapté à des situations venant de statistiques à deux variables.
+
+\smallskip
+
+Un des soucis pour ces situations est le fait que le repère dans lequel on travaille n'a pas forcément pour origine $(0\,;\,0)$.
+
+De ce fait - pour éviter des erreurs de \ctex{dimension too large} liées à \TikZ{} - il faut \textit{décaler les axes} pour se ramener à une origine en $O$.
+
+\smallskip
+
+Le code, intimement lié à un environnement \ctex{tikzpicture}, va donc :
+
+\begin{itemize}
+	\item préciser les informations utiles comme \ctex{xmin}, \ctex{xmax}, \ctex{Ox}, \ctex{xgrille}, etc
+	\item proposer des commandes (sans se soucier des \textit{translations} !) pour :
+	\begin{itemize}
+		\item tracer une grille (principale et/ou secondaire) ;
+		\item tracer les axes (avec légendes éventuelles) et éventuellement les graduer ;
+	\end{itemize}
+\end{itemize}
+
+En utilisant les commandes de \textsf{régression linéaire} du paragraphe précédent, il sera de plus possible (sans calculs !) de :
+
+\begin{itemize}
+	\item représenter le nuage de points ;
+	\item placer le point moyen ;
+	\item tracer la droite d'ajustement (obtenue par \ctex{ProfLycee}) ou une autre courbe.
+\end{itemize}
+\end{codeidee}
+
+\begin{codeinfo}
+Le package \ctex{pgfplots} peut être utilisé pour traiter ce genre de situation, mais ne l'utilisant pas, j'ai préféré préparer des \textsf{macros} permettant de s'affranchir de ce package (est-ce pertinent, ça c'est une autre question\ldots).
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+%Listes et calculs
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+\end{codetex}
+
+\begin{codetex}[listing only]
+%tracé (simple), les options seront présentées juste après
+\begin{tikzpicture}%
+	[x=0.5cm,y=0.1cm,                                                 %unités
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,                 %axe Ox
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]                %axe Oy
+	\PLgrilletikz \PLaxestikz                                         %grilles et axes
+	\PLaxextikz[annee]{1992,1994,...,2010}                            %axeOx
+	\PLaxeytikz{1640,1650,...,1720}                                   %axeOy
+	\PLnuagepts{\LLX}{\LLY}                                           %nuage
+	\PLcourbe[line width=1.25pt,ForestGreen,samples=2]%
+		{\COEFFa*\x+\COEFFb}{\LXmin:\LXmax}                             %droite de régression
+	\PLnuageptmoy                                                     %point moyen
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codetex}[listing only]
+%tracé avec options fenêtre par défaut
+\begin{tikzpicture}%
+	[....]                                                            %paramètres
+	\PLfenetresimple<annee>{1992,1994,...,2010}{1640,1650,...,1720}   %fenêtre "simple"
+	\PLnuagepts{\LLX}{\LLY}                                           %nuage
+	\PLcourbe[line width=1.25pt,ForestGreen,samples=2]%
+	{\COEFFa*\x+\COEFFb}{\LXmin:\LXmax}                               %droite de régression
+	\PLnuageptmoy                                                     %point moyen
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+
+\begin{tikzpicture}[x=0.5cm,y=0.1cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts{\LLX}{\LLY}
+	\PLcourbe[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\LXmin:\LXmax}
+	\PLnuageptmoy
+\end{tikzpicture}
+\end{codesortie}
+
+\subsection{Commandes, clés et options}
+
+\begin{codeinfo}
+Les \Cle{paramètres} nécessaires à la bonne utilisation des commandes suivantes sont à déclarer directement dans l'environnement \ctex{tikzpicture}, seules versions \og x \fg{}  sont présentées ici:
+
+\begin{itemize}
+	\item \Cle{xmin}, stockée dans \ctex{\textbackslash{}xmin} ;\hfill{}défaut \Cle{-3}
+	\item \Cle{xmax}, stockée dans \ctex{\textbackslash{}xmax} ;\hfill{}défaut \Cle{3}
+	\item \Cle{Ox}, stockée dans \ctex{\textbackslash{}axexOx}, origine de l'axe $(Ox)$ ;\hfill{}défaut \Cle{0}
+	\item \Cle{xgrille}, stockée dans \ctex{\textbackslash{}xgrille}, graduation principale ;\hfill{}défaut \Cle{1}
+	\item \Cle{xgrilles}, stockée dans \ctex{\textbackslash{}xgrilles}, graduation secondaire.\hfill{}défaut \Cle{0.5}
+\end{itemize}
+
+La fenêtre d'affichage (de sortie) sera donc \textit{portée} par le rectangle de coins $(xmin\,;\,ymin)$ et $(xmax\,;\,ymax)$ ; ce qui correspond en fait à la fenêtre \TikZ{} \textit{portée} par le rectangle de coins $(xmin-Ox\,;\,ymin-Oy)$ et $(xmax-Ox\,;\,ymax-Oy)$.
+
+\smallskip
+
+Les commandes ont -- pour certaines -- pas mal de \Cle{clés} pour des réglages fins, mais dans la majorité des cas elles ne sont pas forcément \textit{utiles}.
+\end{codeinfo}
+
+\begin{codeinfo}
+Pour illustrer les commandes et options de ce paragraphe, la base sera le graphique présenté précédemment.
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+%...code tikz
+	\PLgrilletikz[<options>][<options grille ppale>][<options grille second.>]
+\end{codetex}
+
+\begin{codecles}
+Cette commande permet de tracer une grille principale et/ou une grille secondaire :
+
+\begin{itemize}
+	\item les premières \Cle{clés} sont les booléens \Cle{affp} et \Cle{affs} qui affichent ou non les grilles ;\hfill~défaut \Cle{true}
+	\item les options des grilles sont en \TikZ. \hfill~défaut \Cle{thin,lightgray} et \Cle{very thin,lightgray}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz
+\end{tikzpicture}
+~~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz[affp=false][][orange,densely dotted]
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\hfill~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz
+\end{tikzpicture}
+~~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz[affp=false][][orange,densely dotted]
+\end{tikzpicture}
+\hfill~
+\end{codesortie}
+
+\begin{codetex}[listing only]
+%...code tikz
+	\PLaxestikz[<options>]
+\end{codetex}
+
+\begin{codecles}
+Cette commande permet de tracer les axes, avec des \Cle{clés} :
+
+\begin{itemize}
+	\item \Cle{epaisseur} qui est l'épaisseur des traits ; \hfill~défaut \Cle{1.25pt}
+	\item \Cle{police} qui est le style des labels des axes  ; \hfill~défaut \Cle{\textbackslash{}normalsize\textbackslash{}normalfont}
+	\item \Cle{labelx} qui est le label de l'axe $(Ox)$ ; \hfill~défaut \Cle{\${}x\$}
+	\item \Cle{labely} qui est le label de l'axe $(Oy)$ ; \hfill~défaut \Cle{\${}y\$}
+	\item \Cle{afflabel} qui est le code pour préciser quels labels afficher, entre \Cle{x}, \Cle{y} ou \Cle{xy} ; \hfill~défaut \Cle{vide}
+	\item \Cle{poslabelx} pour la position du label de $(Ox)$ en bout d'axe ; \hfill~défaut \Cle{right}
+	\item \Cle{poslabely} pour la position du label de $(Oy)$ en bout d'axe ; \hfill~défaut \Cle{above}
+	\item \Cle{echellefleche} qui est l'échelle de la flèche des axes ; \hfill~défaut \Cle{1}
+	\item \Cle{typefleche} qui est le type de la flèche des axes.\hfill~défaut \Cle{>}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+%code tikz
+	\PLaxestikz
+
+%code tikz
+	\PLaxestikz%
+		[afflabel=xy,labelx={Année},labely={Altitude},%
+		poslabelx={below right},poslabely={above left}%
+		police=\small\sffamily]
+\end{codetex}
+
+\begin{codesortie}
+\hfill~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLaxestikz
+\end{tikzpicture}
+~~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLaxestikz%
+		[afflabel=xy,labelx={Année},labely={Altitude},%
+		poslabelx={below right},poslabely={above left},%
+		police=\small\sffamily]
+\end{tikzpicture}
+\hfill~
+\end{codesortie}
+
+%les axes
+
+\begin{codetex}[listing only]
+%...code tikz
+	\PLaxextikz[<options>]{valeurs}
+	\PLaxeytikz[<options>]{valeurs}
+\end{codetex}
+
+\begin{codecles}
+Ces commande permet de tracer les graduations des axes, avec des \Cle{clés} identiques pour les deux directions :
+
+\begin{itemize}
+	\item \Cle{epaisseur} qui est l'épaisseur des graduations ; \hfill~défaut \Cle{1.25pt}
+	\item \Cle{police} qui est le style des labels des graduations ; \hfill~défaut \Cle{\textbackslash{}normalsize\textbackslash{}normalfont}
+	\item \Cle{posgrad} qui est la position des graduations par rapport à l'axe ; \hfill~défaut \Cle{below} et \Cle{left}
+	\item \Cle{hautgrad} qui est la position des graduations (sous la forme \Cle{lgt} ou \Cle{lgta/lgtb}) ; \hfill~défaut \Cle{4pt}
+	\item le booléen \Cle{affgrad} pour afficher les valeurs (formatés avec \ctex{num} donc dépendant de \ctex{sisetup}) des graduations  ; \hfill~défaut \Cle{true}
+	\item le booléen \Cle{afforigine} pour afficher la graduation de l'origine ; \hfill~défaut \Cle{true}
+	\item le booléen \Cle{annee} qui permet de ne pas formater les valeurs des graduations (type \textsf{année}). \hfill~défaut \Cle{false}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+%code tikz
+	\PLaxextikz[police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	
+%code tikz
+	\PLaxextikz[police=\small,annee,hautgrad=0pt/4pt]{1992,1994,...,2010}
+	\PLaxeytikz[affgrad=false,hautgrad=6pt]{1640,1650,...,1720}
+
+%des axes fictifs (en gris) sont rajoutés pour la lisibilité du code de sortie
+\end{codetex}
+
+\begin{codesortie}
+\hfill~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\draw[gray,line width=1.25pt,->] ({\xmin-\axexOx},0) -- ({\xmax-\axexOx},0) ;
+	\draw[gray,line width=1.25pt,->] (0,{\ymin-\axeyOy}) -- (0,{\ymax-\axeyOy}) ;
+	\PLaxextikz[police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+\end{tikzpicture}
+~~
+\begin{tikzpicture}%
+	[x=0.35cm,y=0.07cm,%
+	Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,%
+	Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\draw[gray,line width=1.25pt,->] ({\xmin-\axexOx},0) -- ({\xmax-\axexOx},0) ;
+	\draw[gray,line width=1.25pt,->] (0,{\ymin-\axeyOy}) -- (0,{\ymax-\axeyOy}) ;
+	\PLaxextikz[police=\small,annee,hautgrad=0pt/4pt]{1992,1994,...,2010}
+	\PLaxeytikz[affgrad=false,hautgrad=6pt]{1640,1650,...,1720}
+\end{tikzpicture}
+\hfill~
+\end{codesortie}
+
+\subsection{Commandes annexes}
+
+\begin{codeinfo}
+Il existe, de manière marginale, quelques commandes complémentaires qui ne seront pas trop détaillées mais qui sont présentes dans l'introduction :
+
+\begin{itemize}
+	\item \ctex{\textbackslash{}PLfenetre} qui restreint les tracés à la fenêtre (utile pour des courbes qui \textit{débordent}) ;
+	\item \ctex{\textbackslash{}PLfenetresimple} qui permet d'automatiser le tracé des grilles/axes/graduations dans leurs versions par défaut, avec peut de paramétrages ;
+	\item \ctex{\textbackslash{}PLorigine} pour rajouter le libellé de l'origine si non affiché par les axes.
+\end{itemize}
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+%code tikz
+	\PLfenetre                %on restreint les tracés
+	\PLfenetresimple<options axe Ox>{liste abscisses}<options axe Oy>{liste ordonnées}
+\end{codetex}
+
+%%l'origine
+%
+%\begin{codetex}[listing only]
+%%...code tikz
+%	\PLorigine[<options>]
+%\end{codetex}
+
+\subsection{Interactions avec PLreglin}
+
+\begin{codetex}[listing only]
+%...code tikz
+	\PLnuagepts[<options>]{listeX}{listeY}
+\end{codetex}
+
+\begin{codecles}
+Cette commande, liée à la commande \ctex{\textbackslash{}PLreglin} permet de représenter le nuage de points associé aux deux listes, avec les \Cle{clés} suivantes :
+
+\begin{itemize}
+	\item \Cle{taille} qui est la taille des points du nuage ; \hfill~défaut \Cle{2pt}
+	\item \Cle{style} parmi \Cle{o} (rond) ou \Cle{x} (croix) ou \Cle{+} (plus) ; \hfill~défaut \Cle{o}
+	\item \Cle{couleur} qui est la couleur (éventuellement \Cle{couleurA/couleurB} pour les ronds). \hfill~défaut \Cle{blue}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+
+\begin{tikzpicture}[...]
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+\end{tikzpicture}
+~~
+\begin{tikzpicture}[...]
+	\PLnuagepts[couleur=ForestGreen,style=x,taille=6pt]{\LLX}{\LLY}
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+
+\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee,police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+\end{tikzpicture}
+~~
+\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee,police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts[couleur=ForestGreen,style=x,taille=6pt]{\LLX}{\LLY}
+\end{tikzpicture}
+\end{codesortie}
+
+%point moyen
+\begin{codetex}[listing only]
+%...code tikz
+	\PLnuageptmoy[<options>]
+\end{codetex}
+
+\begin{codecles}
+Cette commande permet de rajouter le point moyen du nuage, calculé par la commande \ctex{\textbackslash{}PLreglin}, avec les \Cle{clés} :
+
+\begin{itemize}
+	\item \Cle{police}, comme précédemment ; \hfill~défaut \Cle{\textbackslash{}normalsize\textbackslash{}normalfont} ;
+	\item \Cle{taille}, taille du point moyen ; \hfill~défaut \Cle{4pt}
+	\item \Cle{couleur}, couleur du point moyen ; \hfill~défaut \Cle{red}
+	\item \Cle{style} parmi \Cle{o} (rond) ou \Cle{x} (croix) ou \Cle{+} (plus) ; \hfill~défaut \Cle{o}
+	\item \Cle{xg}, abscisse du point moyen, récupérable via \ctex{PLRegLin} ; \hfill~défaut \Cle{\textbackslash{}LXmoy}
+	\item \Cle{xy}, abscisse du point moyen, récupérable via \ctex{PLRegLin} ; \hfill~défaut \Cle{\textbackslash{}LYmoy}
+	\item \Cle{nom}, label du point moyen ; \hfill~défaut \Cle{G}
+	\item \Cle{pos} qui est la position du label par rapport au point ; \hfill~défaut \Cle{above}
+	\item \Cle{decal} qui est l'éloignement de la position du label par rapport au point ; \hfill~défaut \Cle{0pt}
+	\item la booléen \Cle{affnom} qui affiche ou non le libellé.\hfill~défaut \Cle{true}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+
+\begin{tikzpicture}[...]
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+	\PLnuageptmoy
+\end{tikzpicture}
+~~
+\begin{tikzpicture}[...]
+	\PLnuagepts[couleur=ForestGreen,style=x,taille=6pt]{\LLX}{\LLY}
+	\PLnuageptmoy[couleur=orange,taille=8pt,style=+,nom={$G_1$}]
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+
+\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee,police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+	\PLnuageptmoy
+\end{tikzpicture}
+~~
+\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee,police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts[couleur=ForestGreen,style=x,taille=6pt]{\LLX}{\LLY}
+	\PLnuageptmoy[couleur=orange,taille=8pt,style=+,nom={$G_1$},pos=below]
+\end{tikzpicture}
+\end{codesortie}
+
+%courbe
+\begin{codetex}[listing only]
+%...code tikz
+	\PLcourbe[<options>]{formule}{domaine}
+\end{codetex}
+
+\begin{codecles}
+Cette commande permet de rajouter une courbe sur le graphique (sans se soucier de la transformation de son expression) avec les arguments :
+
+\begin{itemize}
+	\item \Cle{optionnels} qui sont - en \TikZ{} - les paramètres du tracé ;
+	\item le premier mandataire, est - en langage \TikZ{} - l'expression de la fonction à tracer, donc avec \ctex{\textbackslash{}x} comme variable ;
+	\item le second mandataire est le domaine du tracé , sous la forme \ctex{valxmin:valxmax}.
+\end{itemize}
+\end{codecles}
+
+\begin{codeinfo}
+L'idée principale est de récupérer les variables de la régression linéaire pour tracer la droite d'ajustement \textit{à moindres frais} !
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+
+\begin{tikzpicture}[...]
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+	\PLnuageptmoy
+	\PLcourbe[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\xmin:\xmax}
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\PLreglin{\LLX}{\LLY}
+
+\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee,police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+	\PLnuageptmoy
+	\PLcourbe[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\xmin:\xmax}
+\end{tikzpicture}
+\end{codesortie}
+
+\begin{codeinfo}
+Toute courbe peut être tracée sur ce principe, par contre il faudra saisir la fonction \textit{à la main}.
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+
+\begin{tikzpicture}[...]
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+	%on fixe la fenêtre d'affichage pour éviter les débordements
+	\PLfenetre
+	\PLcourbe[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax}
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+
+\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
+	\PLgrilletikz \PLaxestikz
+	\PLaxextikz[annee,police=\small]{1992,1994,...,2010}
+	\PLaxeytikz{1640,1650,...,1720}
+	\PLnuagepts[couleur=blue/red]{\LLX}{\LLY}
+	\PLfenetre
+	\PLcourbe[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax}
+\end{tikzpicture}
+\end{codesortie}
+
+\newpage
+
 \section{Conversions binaire/hexadécimal/décimal}
 
 \subsection{Idée}
@@ -2775,8 +3262,7 @@
 \begin{itemize}
 	\item le booléen \Cle{affbase} qui permet d'afficher ou non la base des nombres ; \hfill{}défaut \Cle{true}
 	\item le booléen \Cle{details} qui permet d'afficher ou le détail par bloc de 4 ; \hfill{}défaut \Cle{true}
-	\item la clé \Cle{trait} qui permet de modifier l'épaisseur du crochet. \hfill{}défaut \Cle{0.
-	5pt}
+	\item la clé \Cle{trait} qui permet de modifier l'épaisseur du crochet. \hfill{}défaut \Cle{0.5pt}
 \end{itemize}
 
 Le formatage est géré par le package \ctex{sinuitx}, le mieux est de positionner la commande dans un environnement mathématique.
@@ -2945,7 +3431,6 @@
 
 \begin{itemize}
 	\item le fichier de données \textsf{csv} doit être formaté avec le séparateur décimal \og , \fg ;
-	\item chaque ligne doit se terminer par \og \texttt{,ZZ} \fg{} (choix arbitraire de l'auteur, sinon il y a un \textsf{bug} non réglé pour le moment\ldots) ;
 	\item des cases vides seront codées par \og \texttt{-} \fg.
 \end{itemize}
 
@@ -2953,14 +3438,14 @@
 
 \begin{Verbatim}[tabsize=2,fontsize=\scriptsize]
 \begin{filecontents*}{<nomfichier>.csv}
-A,B,C,D,ZZ
-A,B,D,C,ZZ
-B,A,C,D,ZZ
-B,A,D,C,ZZ
+A,B,C,D
+A,B,D,C
+B,A,C,D
+B,A,D,C
 \end{filecontents*}
 \end{Verbatim}
 
-À la compilation, le fichier \textsf{<nomfichier>.csv} sera créé automatiquement, cependant toute modification dans le fichier \textsf{tex} ne sera pas répercutée dans le fichier\ldots
+À la compilation, le fichier \textsf{<nomfichier>.csv} sera créé automatiquement, et l'option \Cle{[overwrite]} permet (logiquement) de propager les modifications au fichier \textsf{csv}.
 \end{codeinfo}
 
 \subsection{Package csvsimple et option}
@@ -2990,12 +3475,12 @@
 
 \begin{codetex}[listing only]
 %déclaration du fichier csv
-\begin{filecontents*}{basique.csv}
-A,B,C,D,ZZ
-A,B,D,C,ZZ
-B,A,C,D,ZZ
-B,A,D,C,ZZ
-C,A,B,D,ZZ
+\begin{filecontents*}[overwrite]{basique.csv}
+A,B,C,D
+A,B,D,C
+B,A,C,D
+B,A,D,C
+C,A,B,D
 \end{filecontents*}
 
 \begin{tikzpicture}%avec lettres
@@ -3010,11 +3495,11 @@
 \end{codetex}
 
 \begin{codesortie}
-\begin{filecontents*}{basique.csv}
-A,B,C,D,ZZ
-A,B,D,C,ZZ
-B,A,D,C,ZZ
-C,A,B,D,ZZ
+\begin{filecontents*}[overwrite]{basique.csv}
+A,B,C,D
+A,B,D,C
+B,A,D,C
+C,A,B,D
 \end{filecontents*}
 
 \begin{center}
@@ -3075,30 +3560,30 @@
 %codes simples et sans ambiguïté
 %une case vide sera codée par -
 
-\begin{filecontents*}{perroquet.csv}
--,-,-,-,-,-,4,4,4,4,-,-,-,-,-,-,ZZ
--,-,-,-,4,4,1,1,1,1,4,4,-,-,-,-,ZZ
--,-,-,4,1,1,1,1,1,1,1,1,4,-,-,-,ZZ
--,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-,ZZ
--,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-,ZZ
--,4,1,9,9,1,1,1,1,1,1,9,9,1,4,-,ZZ
--,4,9,9,9,9,4,4,4,4,9,9,9,9,4,-,ZZ
--,4,9,4,9,9,4,4,4,4,9,4,9,9,4,-,ZZ
--,4,1,9,9,9,4,4,4,4,9,9,9,1,4,-,ZZ
--,-,4,1,1,9,4,4,4,4,9,1,1,4,-,-,ZZ
--,-,4,1,1,1,4,4,4,4,1,1,1,4,-,-,ZZ
--,-,-,4,1,1,1,4,4,1,1,1,4,-,-,-,ZZ
--,-,4,3,1,1,1,1,1,1,1,1,3,4,-,-,ZZ
--,4,6,3,1,1,1,1,1,1,1,1,3,6,4,-,ZZ
--,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-,ZZ
--,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-,ZZ
--,4,6,4,1,1,1,4,4,1,1,1,4,6,4,-,ZZ
-2,2,4,2,4,4,4,2,2,4,4,4,2,4,2,2,ZZ
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,ZZ
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,ZZ
--,-,-,-,-,4,1,1,1,1,4,-,-,-,-,-,ZZ
--,-,-,-,-,-,4,1,1,4,-,-,-,-,-,-,ZZ
--,-,-,-,-,-,-,4,4,-,-,-,-,-,-,-,ZZ
+\begin{filecontents*}[overwrite]{perroquet.csv}
+-,-,-,-,-,-,4,4,4,4,-,-,-,-,-,-
+-,-,-,-,4,4,1,1,1,1,4,4,-,-,-,-
+-,-,-,4,1,1,1,1,1,1,1,1,4,-,-,-
+-,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-
+-,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-
+-,4,1,9,9,1,1,1,1,1,1,9,9,1,4,-
+-,4,9,9,9,9,4,4,4,4,9,9,9,9,4,-
+-,4,9,4,9,9,4,4,4,4,9,4,9,9,4,-
+-,4,1,9,9,9,4,4,4,4,9,9,9,1,4,-
+-,-,4,1,1,9,4,4,4,4,9,1,1,4,-,-
+-,-,4,1,1,1,4,4,4,4,1,1,1,4,-,-
+-,-,-,4,1,1,1,4,4,1,1,1,4,-,-,-
+-,-,4,3,1,1,1,1,1,1,1,1,3,4,-,-
+-,4,6,3,1,1,1,1,1,1,1,1,3,6,4,-
+-,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-
+-,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-
+-,4,6,4,1,1,1,4,4,1,1,1,4,6,4,-
+2,2,4,2,4,4,4,2,2,4,4,4,2,4,2,2
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+-,-,-,-,-,4,1,1,1,1,4,-,-,-,-,-
+-,-,-,-,-,-,4,1,1,4,-,-,-,-,-,-
+-,-,-,-,-,-,-,4,4,-,-,-,-,-,-,-
 \end{filecontents*}
 
 \begin{tikzpicture}[x=0.35cm,y=0.35cm]
@@ -3117,30 +3602,30 @@
 \end{codeinfo}
 
 \begin{codesortie}
-\begin{filecontents*}{perroquet.csv}
--,-,-,-,-,-,4,4,4,4,-,-,-,-,-,-,ZZ
--,-,-,-,4,4,1,1,1,1,4,4,-,-,-,-,ZZ
--,-,-,4,1,1,1,1,1,1,1,1,4,-,-,-,ZZ
--,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-,ZZ
--,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-,ZZ
--,4,1,9,9,1,1,1,1,1,1,9,9,1,4,-,ZZ
--,4,9,9,9,9,4,4,4,4,9,9,9,9,4,-,ZZ
--,4,9,4,9,9,4,4,4,4,9,4,9,9,4,-,ZZ
--,4,1,9,9,9,4,4,4,4,9,9,9,1,4,-,ZZ
--,-,4,1,1,9,4,4,4,4,9,1,1,4,-,-,ZZ
--,-,4,1,1,1,4,4,4,4,1,1,1,4,-,-,ZZ
--,-,-,4,1,1,1,4,4,1,1,1,4,-,-,-,ZZ
--,-,4,3,1,1,1,1,1,1,1,1,3,4,-,-,ZZ
--,4,6,3,1,1,1,1,1,1,1,1,3,6,4,-,ZZ
--,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-,ZZ
--,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-,ZZ
--,4,6,4,1,1,1,4,4,1,1,1,4,6,4,-,ZZ
-2,2,4,2,4,4,4,2,2,4,4,4,2,4,2,2,ZZ
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,ZZ
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,ZZ
--,-,-,-,-,4,1,1,1,1,4,-,-,-,-,-,ZZ
--,-,-,-,-,-,4,1,1,4,-,-,-,-,-,-,ZZ
--,-,-,-,-,-,-,4,4,-,-,-,-,-,-,-,ZZ
+\begin{filecontents*}[overwrite]{perroquet.csv}
+-,-,-,-,-,-,4,4,4,4,-,-,-,-,-,-
+-,-,-,-,4,4,1,1,1,1,4,4,-,-,-,-
+-,-,-,4,1,1,1,1,1,1,1,1,4,-,-,-
+-,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-
+-,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-
+-,4,1,9,9,1,1,1,1,1,1,9,9,1,4,-
+-,4,9,9,9,9,4,4,4,4,9,9,9,9,4,-
+-,4,9,4,9,9,4,4,4,4,9,4,9,9,4,-
+-,4,1,9,9,9,4,4,4,4,9,9,9,1,4,-
+-,-,4,1,1,9,4,4,4,4,9,1,1,4,-,-
+-,-,4,1,1,1,4,4,4,4,1,1,1,4,-,-
+-,-,-,4,1,1,1,4,4,1,1,1,4,-,-,-
+-,-,4,3,1,1,1,1,1,1,1,1,3,4,-,-
+-,4,6,3,1,1,1,1,1,1,1,1,3,6,4,-
+-,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-
+-,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-
+-,4,6,4,1,1,1,4,4,1,1,1,4,6,4,-
+2,2,4,2,4,4,4,2,2,4,4,4,2,4,2,2
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+-,-,-,-,-,4,1,1,1,1,4,-,-,-,-,-
+-,-,-,-,-,-,4,1,1,4,-,-,-,-,-,-
+-,-,-,-,-,-,-,4,4,-,-,-,-,-,-,-
 \end{filecontents*}
 
 \begin{center}
@@ -3170,38 +3655,46 @@
 		\PLpixelart[codes=123469,couleurs={Red,Brown,Yellow,Black,Blue,White},correction]{perroquet.csv}
 		\filldraw[Blue] (14,-1) circle[radius=1] ;
 		\filldraw[Yellow] (14,-1) circle[radius=0.8] ;
+		\draw[ForestGreen,very thick,<-] (15,-1) to[bend left=30] (18,-2) node[right,font=\scriptsize\sffamily] {rajouté en \TikZ} ;
 	\end{tikzpicture}
 \end{center}
 \end{codesortie}
 
+\begin{codetex}[listing only]
+%code tikz et pixelart
+\filldraw[Blue] (14,-1) circle[radius=1] ;
+\filldraw[Yellow] (14,-1) circle[radius=0.8] ;
+\draw[ForestGreen,very thick,<-] (15,-1) to[bend left=30] (18,-2) node[right,font=\scriptsize\sffamily] {rajouté en \TikZ} ;
+\end{codetex}
+
 \pagebreak
 
 \begin{codetex}[listing only]
 %codes avec ambiguïté
 
-\begin{filecontents*}{cap.csv}
--,-,-,-,-,-,-,-,D,-,D,-,D,-,-,-,-,-,-,-,-,-,ZZ
--,D,D,-,-,-,-,D,D,D,D,D,D,-,-,D,D,D,D,-,-,-,ZZ
-D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-,ZZ
--,D,-,-,D,F,F,F,-,-,F,F,F,F,F,D,-,D,D,-,-,-,ZZ
--,-,D,D,F,F,F,-,F,F,-,F,F,F,F,F,D,D,-,-,-,-,ZZ
--,-,-,D,F,F,F,F,F,F,F,F,F,F,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,F,J,J,J,J,J,J,J,F,F,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,-,-,J,-,-,-,J,J,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,D,-,J,-,D,-,J,J,B,B,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,-,-,J,-,-,-,J,J,B,B,D,-,-,-,-,-,ZZ
--,-,-,D,C,J,J,J,J,J,J,J,J,C,C,C,D,-,-,-,-,-,ZZ
--,-,-,D,C,C,C,C,C,C,C,C,C,C,C,D,D,D,-,-,-,-,ZZ
--,-,-,D,C,C,C,D,D,D,D,D,D,C,D,A,A,A,D,-,-,-,ZZ
--,-,-,D,F,C,C,C,C,C,C,C,C,D,A,-,-,-,A,D,-,-,ZZ
--,-,-,D,F,C,F,C,C,C,C,F,D,A,-,A,A,A,-,A,D,-,ZZ
--,-,D,C,F,F,F,F,C,C,F,D,A,-,A,F,F,F,A,-,A,D,ZZ
--,-,D,C,F,F,F,F,F,F,F,D,A,-,A,F,-,F,A,-,A,D,ZZ
--,-,D,A,D,-,A,-,A,-,A,D,A,-,A,F,F,F,A,-,A,D,ZZ
--,-,-,D,D,-,A,-,A,-,A,-,D,A,-,A,A,A,-,A,D,-,ZZ
--,-,-,-,-,D,D,F,D,D,D,D,F,D,A,-,-,-,A,D,-,-,ZZ
--,-,-,-,-,-,D,A,D,-,-,D,-,-,D,A,A,A,D,-,-,-,ZZ
--,-,-,-,-,-,D,D,D,-,-,D,D,D,D,D,D,D,-,-,-,-,ZZ
+\begin{filecontents*}[overwrite]{cap.csv}
+-,-,-,-,-,-,-,-,D,-,D,-,D,-,-,-,-,-,-,-,-,-
+-,D,D,-,-,-,-,D,D,D,D,D,D,-,-,D,D,D,D,-,-,-
+D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-
+-,D,-,-,D,F,F,F,-,-,F,F,F,F,F,D,-,D,D,-,-,-
+-,-,D,D,F,F,F,-,F,F,-,F,F,F,F,F,D,D,-,-,-,-
+-,-,-,D,F,F,F,F,F,F,F,F,F,F,F,F,D,-,-,-,-,-
+-,-,-,D,F,J,J,J,J,J,J,J,F,F,F,F,D,-,-,-,-,-
+-,-,-,D,J,-,-,-,J,-,-,-,J,J,F,F,D,-,-,-,-,-
+-,-,-,D,J,-,D,-,J,-,D,-,J,J,B,B,D,-,-,-,-,-
+-,-,-,D,J,-,-,-,J,-,-,-,J,J,B,B,D,-,-,-,-,-
+-,-,-,D,C,J,J,J,J,J,J,J,J,C,C,C,D,-,-,-,-,-
+-,-,-,D,C,C,C,C,C,C,C,C,C,C,C,D,D,D,-,-,-,-
+-,-,-,D,C,C,C,D,D,D,D,D,D,C,D,A,A,A,D,-,-,-
+-,-,-,D,F,C,C,C,C,C,C,C,C,D,A,-,-,-,A,D,-,-
+-,-,-,D,F,C,F,C,C,C,C,F,D,A,-,A,A,A,-,A,D,-
+-,-,D,C,F,F,F,F,C,C,F,D,A,-,A,F,F,F,A,-,A,D
+-,-,D,C,F,F,F,F,F,F,F,D,A,-,A,F,-,F,A,-,A,D
+-,-,D,A,D,-,A,-,A,-,A,D,A,-,A,F,F,F,A,-,A,D
+-,-,-,D,D,-,A,-,A,-,A,-,D,A,-,A,A,A,-,A,D,-
+-,-,-,-,-,D,D,F,D,D,D,D,F,D,A,-,-,-,A,D,-,-
+-,-,-,-,-,-,D,A,D,-,-,D,-,-,D,A,A,A,D,-,-,-
+-,-,-,-,-,-,D,D,D,-,-,D,D,D,D,D,D,D,-,-,-,-
 \end{filecontents*}
 
 \begin{tikzpicture}[x=0.35cm,y=0.35cm]
@@ -3214,29 +3707,29 @@
 \end{codetex}
 
 \begin{codesortie}
-\begin{filecontents*}{cap.csv}
--,-,-,-,-,-,-,-,D,-,D,-,D,-,-,-,-,-,-,-,-,-,ZZ
--,D,D,-,-,-,-,D,D,D,D,D,D,-,-,D,D,D,D,-,-,-,ZZ
-D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-,ZZ
--,D,-,-,D,F,F,F,-,-,F,F,F,F,F,D,-,D,D,-,-,-,ZZ
--,-,D,D,F,F,F,-,F,F,-,F,F,F,F,F,D,D,-,-,-,-,ZZ
--,-,-,D,F,F,F,F,F,F,F,F,F,F,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,F,J,J,J,J,J,J,J,F,F,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,-,-,J,-,-,-,J,J,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,D,-,J,-,D,-,J,J,B,B,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,-,-,J,-,-,-,J,J,B,B,D,-,-,-,-,-,ZZ
--,-,-,D,C,J,J,J,J,J,J,J,J,C,C,C,D,-,-,-,-,-,ZZ
--,-,-,D,C,C,C,C,C,C,C,C,C,C,C,D,D,D,-,-,-,-,ZZ
--,-,-,D,C,C,C,D,D,D,D,D,D,C,D,A,A,A,D,-,-,-,ZZ
--,-,-,D,F,C,C,C,C,C,C,C,C,D,A,-,-,-,A,D,-,-,ZZ
--,-,-,D,F,C,F,C,C,C,C,F,D,A,-,A,A,A,-,A,D,-,ZZ
--,-,D,C,F,F,F,F,C,C,F,D,A,-,A,F,F,F,A,-,A,D,ZZ
--,-,D,C,F,F,F,F,F,F,F,D,A,-,A,F,-,F,A,-,A,D,ZZ
--,-,D,A,D,-,A,-,A,-,A,D,A,-,A,F,F,F,A,-,A,D,ZZ
--,-,-,D,D,-,A,-,A,-,A,-,D,A,-,A,A,A,-,A,D,-,ZZ
--,-,-,-,-,D,D,F,D,D,D,D,F,D,A,-,-,-,A,D,-,-,ZZ
--,-,-,-,-,-,D,A,D,-,-,D,-,-,D,A,A,A,D,-,-,-,ZZ
--,-,-,-,-,-,D,D,D,-,-,D,D,D,D,D,D,D,-,-,-,-,ZZ
+\begin{filecontents*}[overwrite]{cap.csv}
+-,-,-,-,-,-,-,-,D,-,D,-,D,-,-,-,-,-,-,-,-,-
+-,D,D,-,-,-,-,D,D,D,D,D,D,-,-,D,D,D,D,-,-,-
+D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-
+-,D,-,-,D,F,F,F,-,-,F,F,F,F,F,D,-,D,D,-,-,-
+-,-,D,D,F,F,F,-,F,F,-,F,F,F,F,F,D,D,-,-,-,-
+-,-,-,D,F,F,F,F,F,F,F,F,F,F,F,F,D,-,-,-,-,-
+-,-,-,D,F,J,J,J,J,J,J,J,F,F,F,F,D,-,-,-,-,-
+-,-,-,D,J,-,-,-,J,-,-,-,J,J,F,F,D,-,-,-,-,-
+-,-,-,D,J,-,D,-,J,-,D,-,J,J,B,B,D,-,-,-,-,-
+-,-,-,D,J,-,-,-,J,-,-,-,J,J,B,B,D,-,-,-,-,-
+-,-,-,D,C,J,J,J,J,J,J,J,J,C,C,C,D,-,-,-,-,-
+-,-,-,D,C,C,C,C,C,C,C,C,C,C,C,D,D,D,-,-,-,-
+-,-,-,D,C,C,C,D,D,D,D,D,D,C,D,A,A,A,D,-,-,-
+-,-,-,D,F,C,C,C,C,C,C,C,C,D,A,-,-,-,A,D,-,-
+-,-,-,D,F,C,F,C,C,C,C,F,D,A,-,A,A,A,-,A,D,-
+-,-,D,C,F,F,F,F,C,C,F,D,A,-,A,F,F,F,A,-,A,D
+-,-,D,C,F,F,F,F,F,F,F,D,A,-,A,F,-,F,A,-,A,D
+-,-,D,A,D,-,A,-,A,-,A,D,A,-,A,F,F,F,A,-,A,D
+-,-,-,D,D,-,A,-,A,-,A,-,D,A,-,A,A,A,-,A,D,-
+-,-,-,-,-,D,D,F,D,D,D,D,F,D,A,-,-,-,A,D,-,-
+-,-,-,-,-,-,D,A,D,-,-,D,-,-,D,A,A,A,D,-,-,-
+-,-,-,-,-,-,D,D,D,-,-,D,D,D,D,D,D,D,-,-,-,-
 \end{filecontents*}
 
 \begin{center}
@@ -3254,6 +3747,10 @@
 
 \section{Historique}
 
+{\small \bverb|v1.2.2|~:~~~~Commandes pour travailler sur des stats à 2 variables
+
+{\small \bverb|v1.2.1|~:~~~~Amélioration de la gestion du csv pour Pixelart
+
 {\small \bverb|v1.2  |~:~~~~Correction d'un méchant bug sur Pixelart
 
 {\small \bverb|v1.1.9|~:~~~~Pixelart en \TikZ

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/README.md	2022-08-16 20:58:14 UTC (rev 64129)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/README.md	2022-08-16 20:58:29 UTC (rev 64130)
@@ -4,7 +4,7 @@
 ----------------
 
 Vous êtes un enseignant de mathématiques en lycée ?
-lycee est un package qui pourra vous aider à utiliser LaTeX au quotidien.
+proflycee est un package qui pourra vous aider à utiliser LaTeX au quotidien.
 
 ----------------
 

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/basique.csv
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/basique.csv	2022-08-16 20:58:14 UTC (rev 64129)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/basique.csv	2022-08-16 20:58:29 UTC (rev 64130)
@@ -1,4 +1,4 @@
-A,B,C,D,ZZ
-A,B,D,C,ZZ
-B,A,D,C,ZZ
-C,A,B,D,ZZ
+A,B,C,D
+A,B,D,C
+B,A,D,C
+C,A,B,D

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/cap.csv
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/cap.csv	2022-08-16 20:58:14 UTC (rev 64129)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/cap.csv	2022-08-16 20:58:29 UTC (rev 64130)
@@ -1,22 +1,22 @@
--,-,-,-,-,-,-,-,D,-,D,-,D,-,-,-,-,-,-,-,-,-,ZZ
--,D,D,-,-,-,-,D,D,D,D,D,D,-,-,D,D,D,D,-,-,-,ZZ
-D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-,ZZ
--,D,-,-,D,F,F,F,-,-,F,F,F,F,F,D,-,D,D,-,-,-,ZZ
--,-,D,D,F,F,F,-,F,F,-,F,F,F,F,F,D,D,-,-,-,-,ZZ
--,-,-,D,F,F,F,F,F,F,F,F,F,F,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,F,J,J,J,J,J,J,J,F,F,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,-,-,J,-,-,-,J,J,F,F,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,D,-,J,-,D,-,J,J,B,B,D,-,-,-,-,-,ZZ
--,-,-,D,J,-,-,-,J,-,-,-,J,J,B,B,D,-,-,-,-,-,ZZ
--,-,-,D,C,J,J,J,J,J,J,J,J,C,C,C,D,-,-,-,-,-,ZZ
--,-,-,D,C,C,C,C,C,C,C,C,C,C,C,D,D,D,-,-,-,-,ZZ
--,-,-,D,C,C,C,D,D,D,D,D,D,C,D,A,A,A,D,-,-,-,ZZ
--,-,-,D,F,C,C,C,C,C,C,C,C,D,A,-,-,-,A,D,-,-,ZZ
--,-,-,D,F,C,F,C,C,C,C,F,D,A,-,A,A,A,-,A,D,-,ZZ
--,-,D,C,F,F,F,F,C,C,F,D,A,-,A,F,F,F,A,-,A,D,ZZ
--,-,D,C,F,F,F,F,F,F,F,D,A,-,A,F,-,F,A,-,A,D,ZZ
--,-,D,A,D,-,A,-,A,-,A,D,A,-,A,F,F,F,A,-,A,D,ZZ
--,-,-,D,D,-,A,-,A,-,A,-,D,A,-,A,A,A,-,A,D,-,ZZ
--,-,-,-,-,D,D,F,D,D,D,D,F,D,A,-,-,-,A,D,-,-,ZZ
--,-,-,-,-,-,D,A,D,-,-,D,-,-,D,A,A,A,D,-,-,-,ZZ
--,-,-,-,-,-,D,D,D,-,-,D,D,D,D,D,D,D,-,-,-,-,ZZ
+-,-,-,-,-,-,-,-,D,-,D,-,D,-,-,-,-,-,-,-,-,-
+-,D,D,-,-,-,-,D,D,D,D,D,D,-,-,D,D,D,D,-,-,-
+D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-
+-,D,-,-,D,F,F,F,-,-,F,F,F,F,F,D,-,D,D,-,-,-
+-,-,D,D,F,F,F,-,F,F,-,F,F,F,F,F,D,D,-,-,-,-
+-,-,-,D,F,F,F,F,F,F,F,F,F,F,F,F,D,-,-,-,-,-
+-,-,-,D,F,J,J,J,J,J,J,J,F,F,F,F,D,-,-,-,-,-
+-,-,-,D,J,-,-,-,J,-,-,-,J,J,F,F,D,-,-,-,-,-
+-,-,-,D,J,-,D,-,J,-,D,-,J,J,B,B,D,-,-,-,-,-
+-,-,-,D,J,-,-,-,J,-,-,-,J,J,B,B,D,-,-,-,-,-
+-,-,-,D,C,J,J,J,J,J,J,J,J,C,C,C,D,-,-,-,-,-
+-,-,-,D,C,C,C,C,C,C,C,C,C,C,C,D,D,D,-,-,-,-
+-,-,-,D,C,C,C,D,D,D,D,D,D,C,D,A,A,A,D,-,-,-
+-,-,-,D,F,C,C,C,C,C,C,C,C,D,A,-,-,-,A,D,-,-
+-,-,-,D,F,C,F,C,C,C,C,F,D,A,-,A,A,A,-,A,D,-
+-,-,D,C,F,F,F,F,C,C,F,D,A,-,A,F,F,F,A,-,A,D
+-,-,D,C,F,F,F,F,F,F,F,D,A,-,A,F,-,F,A,-,A,D
+-,-,D,A,D,-,A,-,A,-,A,D,A,-,A,F,F,F,A,-,A,D
+-,-,-,D,D,-,A,-,A,-,A,-,D,A,-,A,A,A,-,A,D,-
+-,-,-,-,-,D,D,F,D,D,D,D,F,D,A,-,-,-,A,D,-,-
+-,-,-,-,-,-,D,A,D,-,-,D,-,-,D,A,A,A,D,-,-,-
+-,-,-,-,-,-,D,D,D,-,-,D,D,D,D,D,D,D,-,-,-,-

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/perroquet.csv
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/perroquet.csv	2022-08-16 20:58:14 UTC (rev 64129)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/perroquet.csv	2022-08-16 20:58:29 UTC (rev 64130)
@@ -1,23 +1,23 @@
--,-,-,-,-,-,4,4,4,4,-,-,-,-,-,-,ZZ
--,-,-,-,4,4,1,1,1,1,4,4,-,-,-,-,ZZ
--,-,-,4,1,1,1,1,1,1,1,1,4,-,-,-,ZZ
--,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-,ZZ
--,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-,ZZ
--,4,1,9,9,1,1,1,1,1,1,9,9,1,4,-,ZZ
--,4,9,9,9,9,4,4,4,4,9,9,9,9,4,-,ZZ
--,4,9,4,9,9,4,4,4,4,9,4,9,9,4,-,ZZ
--,4,1,9,9,9,4,4,4,4,9,9,9,1,4,-,ZZ
--,-,4,1,1,9,4,4,4,4,9,1,1,4,-,-,ZZ
--,-,4,1,1,1,4,4,4,4,1,1,1,4,-,-,ZZ
--,-,-,4,1,1,1,4,4,1,1,1,4,-,-,-,ZZ
--,-,4,3,1,1,1,1,1,1,1,1,3,4,-,-,ZZ
--,4,6,3,1,1,1,1,1,1,1,1,3,6,4,-,ZZ
--,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-,ZZ
--,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-,ZZ
--,4,6,4,1,1,1,4,4,1,1,1,4,6,4,-,ZZ
-2,2,4,2,4,4,4,2,2,4,4,4,2,4,2,2,ZZ
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,ZZ
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,ZZ
--,-,-,-,-,4,1,1,1,1,4,-,-,-,-,-,ZZ
--,-,-,-,-,-,4,1,1,4,-,-,-,-,-,-,ZZ
--,-,-,-,-,-,-,4,4,-,-,-,-,-,-,-,ZZ
+-,-,-,-,-,-,4,4,4,4,-,-,-,-,-,-
+-,-,-,-,4,4,1,1,1,1,4,4,-,-,-,-
+-,-,-,4,1,1,1,1,1,1,1,1,4,-,-,-
+-,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-
+-,-,4,1,1,1,1,1,1,1,1,1,1,4,-,-
+-,4,1,9,9,1,1,1,1,1,1,9,9,1,4,-
+-,4,9,9,9,9,4,4,4,4,9,9,9,9,4,-
+-,4,9,4,9,9,4,4,4,4,9,4,9,9,4,-
+-,4,1,9,9,9,4,4,4,4,9,9,9,1,4,-
+-,-,4,1,1,9,4,4,4,4,9,1,1,4,-,-
+-,-,4,1,1,1,4,4,4,4,1,1,1,4,-,-
+-,-,-,4,1,1,1,4,4,1,1,1,4,-,-,-
+-,-,4,3,1,1,1,1,1,1,1,1,3,4,-,-
+-,4,6,3,1,1,1,1,1,1,1,1,3,6,4,-
+-,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-
+-,4,6,6,1,1,1,1,1,1,1,1,6,6,4,-
+-,4,6,4,1,1,1,4,4,1,1,1,4,6,4,-
+2,2,4,2,4,4,4,2,2,4,4,4,2,4,2,2
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+-,-,-,-,-,4,1,1,1,1,4,-,-,-,-,-
+-,-,-,-,-,-,4,1,1,4,-,-,-,-,-,-
+-,-,-,-,-,-,-,4,4,-,-,-,-,-,-,-

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-08-16 20:58:14 UTC (rev 64129)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-08-16 20:58:29 UTC (rev 64130)
@@ -3,7 +3,9 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2022/08/10 - v1.2 - Aide pour l'utilisation de LaTeX en lycée]
+\ProvidesPackage{ProfLycee}[2022/08/15 - v1.2.2 - Aide pour l'utilisation de LaTeX en lycée]
+% 1.2.2	Ajouts de commandes pour des stats à 2 variables
+% 1.2.1	Amélioration de la gestion du csv pour les pixelart
 % 1.2	Correction d'un méchant bug avec pixelart, erf...
 % 1.1.9	Commande pour du pixelart en tikz (avec option csvii pour compatibilité)
 % 1.1.8	Ajout d'un style mainlevee pour tikz
@@ -1476,6 +1478,7 @@
 	{%
 		\csvloop{file=#2,no head,command={%
 				\foreach \l [count=\n] in \csvline {%
+					\StrDel{\l}{ }[\l]
 					\setsepchar{,}
 					\readlist\LCPA\PATcouleurs
 					\StrPosition{\PATlettres}{\l}[\pixcnt]%
@@ -1494,6 +1497,7 @@
 		{%affichage du pixelart versions chiffres si besoin
 			\csvloop{file=#2,no head,command={%
 					\foreach \l [count=\n] in \csvline {%
+						\StrDel{\l}{ }[\l]
 						\setsepchar{,}
 						\readlist\LCNA\PATchiffres
 						\StrPosition{\PATlettres}{\l}[\pixpos]%
@@ -1510,6 +1514,7 @@
 		{%affichage du pixelart versions lettres ou chiffres simples (<=9)
 			\csvloop{file=#2,no head,command={%
 					\foreach \l [count=\n] in \csvline {%
+						\StrDel{\l}{ }[\l]
 						\IfSubStr{\PATlettres}{\l}%
 						{%
 							\draw ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) node[inner sep=0,midway,font=\PATtaille] {\l};}
@@ -1521,4 +1526,349 @@
 	}
 }
 
+%=========STATS2VAR=========
+%variables directement dans tikzpicture
+\tikzset{%
+	Ox/.store in=\axexOx,Ox/.default=0,Ox=0,%essai
+	Oy/.store in=\axeyOy,Oy/.default=0,Oy=0,%essai
+	xmin/.store in=\xmin,xmin/.default=-5,xmin=-5,
+	xmax/.store in=\xmax,xmax/.default=5,xmax=5,
+	ymin/.store in=\ymin,ymin/.default=-5,ymin=-5,
+	ymax/.store in=\ymax,ymax/.default=5,ymax=5,
+	xgrille/.store in=\xgrille,xgrille/.default=1,xgrille=1,
+	xgrilles/.store in=\xgrilles,xgrilles/.default=0.5,xgrilles=0.5,
+	ygrille/.store in=\ygrille,ygrille/.default=1,ygrille=1,
+	ygrilles/.store in=\ygrilles,ygrilles/.default=0.5,ygrilles=0.5,
+	xunit/.store in=\xunit,xunit/.default=1,xunit=1,
+	yunit/.store in=\yunit,yunit/.default=1,yunit=1
+}
+
+%style point croix
+\tikzset{pics/PLdotcross/.style args={#1/#2}{
+		code={
+			\draw[line width={0.5*#1},rotate=#2] (-#1,0) -- (#1,0);
+			\draw[line width={0.5*#1},rotate=#2] (0,-#1) -- (0, #1);
+		}
+	},
+	pics/PLdotcross/.default={4pt/0}
+}
+
+%axeOx
+\defKV[PLaxextkz]{%
+	epaisseur=\def\axexwidth{#1},%
+	police=\def\axexfont{#1},%
+	hautgrad=\def\axextickwidth{#1},%
+	posgrad=\def\axexposlabel{#1}
+}
+
+\setKVdefault[PLaxextkz]{%
+	epaisseur=1.25pt,%
+	police=\normalsize\normalfont,%
+	posgrad=below,%
+	hautgrad=4pt,%
+	affgrad=true,%
+	afforigine=true,%
+	annee=false
+}
+
+\DeclareDocumentCommand\PLaxextikz{ O{} m }{%
+	\useKVdefault[PLaxextkz]
+	\setKV[PLaxextkz]{#1}% on paramètres les nouvelles clés et on les simplifie
+	%formatage des années
+	\IfSubStr{\axextickwidth}{/}
+	{\StrCut{\axextickwidth}{/}{\axextickwidthA}{\axextickwidthB}}
+	{\def\axextickwidthA{\axextickwidth}\def\axextickwidthB{\axextickwidth}}
+	\foreach \x in {#2}{%
+		\draw[line width=\axexwidth] ({\x-\axexOx},{\axextickwidthA}) -- ({\x-\axexOx},{-\axextickwidthB})%
+		\ifboolKV[PLaxextkz]{affgrad}%on affiche les graduations
+		{%
+			\ifboolKV[PLaxextkz]{afforigine}%si on demande d'afficher l'origine
+			{node[\axexposlabel,font=\axexfont] 
+				{\ifboolKV[PLaxextkz]{annee}%
+					{\num[group-digits=none]{\x}}%
+					{\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
+				}
+			}
+			{\xintifboolexpr{\x==\axexOx}{}{node[\axexposlabel,font=\axexfont] {\ifboolKV[PLaxextkz]{annee}%
+						{\num[group-digits=none]{\x}}%
+						{\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
+					}
+				}
+			}
+		}
+		{}
+		;}
+}
+
+%axeOy
+\defKV[PLaxeytkz]{%
+	epaisseur=\def\axeywidth{#1},%
+	police=\def\axeyfont{#1},%
+	hautgrad=\def\axeytickwidth{#1},%
+	posgrad=\def\axeyposlabel{#1}
+}
+
+\setKVdefault[PLaxeytkz]{%
+	epaisseur=1.25pt,%
+	police=\normalsize\normalfont,%
+	posgrad=left,%
+	hautgrad=4pt,%
+	affgrad=true,%
+	afforigine=true,%
+	annee=false
+}
+
+\DeclareDocumentCommand\PLaxeytikz{ O{} m }{%
+	\useKVdefault[PLaxeytkz]
+	\setKV[PLaxeytkz]{#1}% on paramètres les nouvelles clés et on les simplifie
+	\IfSubStr{\axeytickwidth}{/}
+	{\StrCut{\axeytickwidth}{/}{\axeytickwidthA}{\axeytickwidthB}}
+	{\def\axeytickwidthA{\axeytickwidth}\def\axeytickwidthB{\axeytickwidth}}
+	\foreach \y in {#2}{%
+		\draw[line width=\axeywidth] ({\axeytickwidthA},{\y-\axeyOy}) -- ({-\axeytickwidthB},{\y-\axeyOy})%
+		\ifboolKV[PLaxeytkz]{affgrad}%on affiche les graduations
+		{%
+			\ifboolKV[PLaxeytkz]{afforigine}%si on demande d'afficher l'origine
+			{node[\axeyposlabel,font=\axeyfont] 
+				{\ifboolKV[PLaxeytkz]{annee}%
+					{\num[group-digits=none]{\y}}%
+					{\num[text-family-to-math=true,text-series-to-math=true]{\y}}%
+				}
+			}
+			{\xintifboolexpr{\y==\axeyOy}{}{node[\axeyposlabel,font=\axeyfont] {\ifboolKV[PLaxeytkz]{annee}%
+						{\num[group-digits=none]{\y}}%
+						{\num[text-family-to-math=true,text-series-to-math=true]{\y}}%
+					}
+				}
+			}
+		}
+		{}
+		;}
+}
+
+%axes
+\defKV[PLaxestkz]{%
+	epaisseur=\def\axeswidth{#1},%
+	police=\def\axesfont{#1},%
+	labelx=\def\axeslabelx{#1},%
+	labely=\def\axeslabely{#1},%
+	poslabelx=\def\axesposlabelx{#1},%
+	poslabely=\def\axesposlabely{#1},%
+	echellefleche=\def\axesechellefleche{#1},%
+	typefleche=\def\axestypefleche{#1},%
+	afflabel=\def\axesafflabel{#1}
+}
+
+\setKVdefault[PLaxestkz]{%
+	epaisseur=1.25pt,%
+	police=\normalsize\normalfont,%
+	labelx=$x$,%
+	labely=$y$,%
+	afflabel=,%
+	poslabelx=right,%
+	poslabely=above,%
+	echellefleche=1,%
+	typefleche=>
+}
+
+\DeclareDocumentCommand\PLaxestikz{ O{} }{%
+	\useKVdefault[PLaxestkz]
+	\setKV[PLaxestkz]{#1}%
+	%on affiche les deux axes
+	\draw[line width=\axeswidth,-{\axestypefleche[scale=\axesechellefleche]}] ({\xmin-\axexOx},0) -- ({\xmax-\axexOx},0) ;
+	\draw[line width=\axeswidth,-{\axestypefleche[scale=\axesechellefleche]}] (0,{\ymin-\axeyOy}) -- (0,{\ymax-\axeyOy}) ;
+	%les labels éventuels
+	\IfSubStr{\axesafflabel}{x}%
+	{\draw ({\xmax-\axexOx},0) node[\axesposlabelx,font=\axesfont] {\axeslabelx} ;}
+	{}
+	\IfSubStr{\axesafflabel}{y}%
+	{\draw (0,{\ymax-\axeyOy}) node[\axesposlabely,font=\axesfont] {\axeslabely} ;}
+	{}
+}
+
+%fenêtre clippée
+\newcommand\PLfenetre{%
+	\clip ({\xmin-\axexOx},{\ymin-\axeyOy}) rectangle ({\xmax-\axexOx},{\ymax-\axeyOy}) ;
+}
+
+%origine
+\defKV[PLaxesorig]{%
+	police=\def\axesorfont{#1},%
+	pos=\def\axesorpos{#1},%
+	decal=\def\axesordecal{#1},%
+	valeur=\def\axesorval{#1}
+}
+
+\setKVdefault[PLaxesorig]{%
+	police=\normalsize\normalfont,%
+	pos={below left},%
+	decal=2pt,%
+	valeur=0
+}
+
+\DeclareDocumentCommand\PLorigine{ O{} }{%
+	\useKVdefault[PLaxesorig]
+	\setKV[PLaxesorig]{#1}%
+	\draw (0,0) node[\axesorpos=\axesordecal,font=\axesorfont] {\axesorval} ;
+}
+
+%grilles
+\setKVdefault[PLgrillestkz]{%
+	affp=true,%
+	affs=true
+}
+
+\DeclareDocumentCommand\PLgrilletikz{ O{} O{thin,lightgray} O{ultra thin,lightgray} }{%
+	\useKVdefault[PLgrillestkz]
+	\setKV[PLgrillestkz]{#1}%
+	\ifboolKV[PLgrillestkz]{affs}
+	{\draw[xstep=\xgrilles,ystep=\ygrilles,#3] ({\xmin-\axexOx},{\ymin-\axeyOy}) grid ({\xmax-\axexOx},{\ymax-\axeyOy});}
+	{}
+	\ifboolKV[PLgrillestkz]{affp}
+	{\draw[xstep=\xgrille,ystep=\ygrille,#2] ({\xmin-\axexOx},{\ymin-\axeyOy}) grid ({\xmax-\axexOx},{\ymax-\axeyOy});}
+	{}
+}
+
+%point(s) avec changement origines
+\defKV[PLpts]{%
+	taille=\def\ptstaille{#1},%
+	couleur=\def\ptscouleur{#1},%
+	style=\def\ptsstyle{#1}
+}
+
+\setKVdefault[PLpts]{%
+	taille=2pt,%
+	couleur=blue,%
+	style=o
+}
+
+\newcommand\PLnuagepoints[2][]{%
+	\useKVdefault[PLpts]
+	\setKV[PLpts]{#1}%
+	\setsepchar{§}%
+	\readlist\listepointsaffiches{#2}
+	\foreachitem\point\in\listepointsaffiches{%
+		\StrBetween{\point}{(}{,}[\XPT]
+		\StrBetween{\point}{,}{)}[\YPT]
+		\IfStrEq{\ptsstyle}{o}%
+		{\filldraw[\ptscouleur] ({\XPT-\axexOx},{\YPT-\axeyOy}) circle[radius=\ptstaille] ;}
+		{}
+		\IfStrEq{\ptsstyle}{x}%
+		{\draw[\ptscouleur] ({\XPT-\axexOx},{\YPT-\axeyOy}) pic {PLdotcross=\ptstaille/45} ;}
+		{}
+		\IfStrEq{\ptsstyle}{+}%
+		{\draw[\ptscouleur] ({\XPT-\axexOx},{\YPT-\axeyOy}) pic {PLdotcross=\ptstaille/0} ;}
+		{}
+	}
+}
+
+\newcommand\PLnuagepts[3][]{%
+	\useKVdefault[PLpts]
+	\setKV[PLpts]{#1}% on paramètres les nouvelles clés et on les simplifie
+	\def\xliste{#2}
+	\def\yliste{#3}
+	\readlist*\LX{\xliste}
+	\readlist*\LY{\yliste}
+	%taille des listes
+	\def\LNB{\inteval{\LXlen}}
+	\foreach \i in {1,2,...,\LNB} {
+		\IfStrEq{\ptsstyle}{o}%
+		{
+			\IfSubStr{\ptscouleur}{/}
+			{\StrCut{\ptscouleur}{/}{\ptscouleurA}{\ptscouleurB}\draw[thick,\ptscouleurA,fill=\ptscouleurB] ({\LX[\i]-\axexOx},{\LY[\i]-\axeyOy}) circle[radius=\ptstaille] ;}
+			{\draw[\ptscouleur,fill=\ptscouleur] ({\LX[\i]-\axexOx},{\LY[\i]-\axeyOy}) circle[radius=\ptstaille] ;}
+		}
+		{}
+		\IfStrEq{\ptsstyle}{x}%
+		{\draw[\ptscouleur] ({\LX[\i]-\axexOx},{\LY[\i]-\axeyOy}) pic {PLdotcross=\ptstaille/45} ;}
+		{}
+		\IfStrEq{\ptsstyle}{+}%
+		{\draw[\ptscouleur] ({\LX[\i]-\axexOx},{\LY[\i]-\axeyOy}) pic {PLdotcross=\ptstaille/0} ;}
+		{}
+	}
+}
+
+\defKV[PLptmoy]{%
+	police=\def\ptmoyfont{#1},%
+	taille=\def\ptmoytaille{#1},%
+	couleur=\def\ptmoycouleur{#1},%
+	style=\def\ptmoystyle{#1},%
+	xg=\def\ptmoyx{#1},%
+	yg=\def\ptmoyy{#1},%
+	nom=\def\ptmoynom{#1},%
+	pos=\def\ptmoypos{#1},%
+	decal=\def\ptmoydecal{#1},%
+}
+
+\setKVdefault[PLptmoy]{%
+	police=\normalsize\normalfont,%
+	taille=4pt,%
+	couleur=red,%
+	style=x,%
+	xg=\LXmoy,%
+	yg=\LYmoy,%
+	nom=G,%
+	pos=above,%
+	decal=0pt,%
+	affnom=true
+}
+
+\newcommand\PLnuageptmoy[1][]{%
+	\useKVdefault[PLptmoy]
+	\setKV[PLptmoy]{#1}% on paramètres les nouvelles clés et on les simplifie
+	\IfStrEq{\ptmoystyle}{o}%
+	{
+		\IfSubStr{\ptmoycouleur}{/}
+		{\StrCut{\ptmoycouleur}{/}{\ptmoycouleurA}{\ptmoycouleurB}\draw[thick,\ptmoycouleurA,fill=\ptmoycouleurB] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) circle[radius=\ptmoytaille] ;}
+		{\draw[\ptmoycouleur,fill=\ptmoycouleur] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) circle[radius=\ptmoytaille] ;}
+	}
+	{}
+	\IfStrEq{\ptmoystyle}{x}%
+	{\draw[\ptmoycouleur] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) pic {PLdotcross=\ptmoytaille/45} ;}
+	{}
+	\IfStrEq{\ptmoystyle}{+}%
+	{\draw[fill=\ptmoycouleur] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) pic {PLdotcross=\ptmoytaille/0} ;}
+	{}
+	\ifboolKV[PLptmoy]{affnom}
+	{\draw ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) node[\ptmoypos={\ptmoytaille+\ptmoydecal},font=\ptmoyfont] {\ptmoynom} ;}
+	{}
+	
+}
+
+%courbe ?
+\newcommand\PLcourbe[3][]{%
+	\setsepchar{:}%
+	\readlist\PLdomaine{#3}
+	\itemtomacro\PLdomaine[1]\PLDm
+	\itemtomacro\PLdomaine[2]\PLDM
+	\saveexpandmode\noexpandarg
+	\StrSubstitute{#2}{\x}{(\x+\axexOx)}[\fctdecx]
+	\restoreexpandmode % restore the previous mode
+	\draw[#1] plot[domain={\PLDm-\axexOx}:{\PLDM-\axexOx}] (\x,{\fctdecx-\axeyOy}) ;
+}
+
+\setKVdefault[PLsimplewindow]{%
+	axes=true,%
+	grille=true,%
+}
+
+\DeclareDocumentCommand\PLfenetresimple{ O{}  D<>{} m D<>{} m }{%
+	\useKVdefault[PLsimplewindow]
+	\setKV[PLsimplewindow]{#1}% on paramètres les nouvelles clés et on les simplifie
+	\ifboolKV[PLsimplewindow]{grille}
+	{\PLgrilletikz}
+	{}
+	\ifboolKV[PLsimplewindow]{axes}
+	{\PLaxestikz\PLaxextikz[#2]{#3}\PLaxeytikz[#4]{#5}}
+	{}
+}
+
+\NewDocumentEnvironment{PLstats}{ O{} }
+{%
+	\begin{tikzpicture}[#1]
+	}%
+	{%
+	\end{tikzpicture}%
+}
+
 \endinput
\ No newline at end of file



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