summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-08-16 20:58:29 +0000
committerKarl Berry <karl@freefriends.org>2022-08-16 20:58:29 +0000
commitd2251cac156b6cecda6860c30aecc044a72c00da (patch)
tree6da2951223caf4829671da0f2211f8cc25770ad5 /Master
parente9463bfb7b3b4363a6199563d4b798e67cfaf79c (diff)
proflycee (16aug22)
git-svn-id: svn://tug.org/texlive/trunk@64130 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdfbin732702 -> 789010 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex731
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/basique.csv8
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/cap.csv44
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/perroquet.csv46
-rw-r--r--Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty352
7 files changed, 1015 insertions, 168 deletions
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
index 950f44259d5..9deffa7cd77 100644
--- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
+++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
index 5036e35a4f4..300a92293f7 100644
--- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
+++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
@@ -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 @@ Une commande pour afficher un petit schéma, en \TikZ, sur le signe d'une foncti
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 @@ Quelques \Cle{Clés} sont disponibles pour cette commande, essentiellement pour
\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 @@ Quelques \Cle{clés} sont disponibles pour cette commande :
\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 @@ Avant toute chose, quelques petites infos sur les données au format \textsf{csv
\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 @@ Le fichier \textsf{csv} peut être déclaré directement dans le fichier \textsf
\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 @@ L'option \Cle{csvii} permet de passer l'appel au package en version \LaTeXe.
\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 @@ C,A,B,D,ZZ
\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 @@ Quelques \Cle{Clés} sont nécessaires au bon fonctionnement de la commande :
%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 @@ Les symboles affichés dans les cases sont situés aux nœuds de coordonnées $(
\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 @@ Les symboles affichés dans les cases sont situés aux nœuds de coordonnées $(
\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 @@ D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-,ZZ
\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 @@ D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,-,ZZ
\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
diff --git a/Master/texmf-dist/doc/latex/proflycee/README.md b/Master/texmf-dist/doc/latex/proflycee/README.md
index d987cf29766..11502d6f774 100644
--- a/Master/texmf-dist/doc/latex/proflycee/README.md
+++ b/Master/texmf-dist/doc/latex/proflycee/README.md
@@ -4,7 +4,7 @@ proflycee may be a useful package to daily use of LaTeX.
----------------
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.
----------------
diff --git a/Master/texmf-dist/doc/latex/proflycee/basique.csv b/Master/texmf-dist/doc/latex/proflycee/basique.csv
index b15c24713cb..0b9de465757 100644
--- a/Master/texmf-dist/doc/latex/proflycee/basique.csv
+++ b/Master/texmf-dist/doc/latex/proflycee/basique.csv
@@ -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
diff --git a/Master/texmf-dist/doc/latex/proflycee/cap.csv b/Master/texmf-dist/doc/latex/proflycee/cap.csv
index 850d0c21526..f1c61f342e8 100644
--- a/Master/texmf-dist/doc/latex/proflycee/cap.csv
+++ b/Master/texmf-dist/doc/latex/proflycee/cap.csv
@@ -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,-,-,-,-
diff --git a/Master/texmf-dist/doc/latex/proflycee/perroquet.csv b/Master/texmf-dist/doc/latex/proflycee/perroquet.csv
index 4bcbe1d1914..8bffe43be33 100644
--- a/Master/texmf-dist/doc/latex/proflycee/perroquet.csv
+++ b/Master/texmf-dist/doc/latex/proflycee/perroquet.csv
@@ -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,-,-,-,-,-,-,-
diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
index 1f3e210420f..8da7dca149a 100644
--- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
+++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
@@ -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