From d2251cac156b6cecda6860c30aecc044a72c00da Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 16 Aug 2022 20:58:29 +0000 Subject: proflycee (16aug22) git-svn-id: svn://tug.org/texlive/trunk@64130 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/proflycee/ProfLycee-doc.pdf | Bin 732702 -> 789010 bytes .../doc/latex/proflycee/ProfLycee-doc.tex | 731 +++++++++++++++++---- Master/texmf-dist/doc/latex/proflycee/README.md | 2 +- Master/texmf-dist/doc/latex/proflycee/basique.csv | 8 +- Master/texmf-dist/doc/latex/proflycee/cap.csv | 44 +- .../texmf-dist/doc/latex/proflycee/perroquet.csv | 46 +- .../texmf-dist/tex/latex/proflycee/ProfLycee.sty | 352 +++++++++- 7 files changed, 1015 insertions(+), 168 deletions(-) (limited to 'Master/texmf-dist') 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 Binary files a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf and b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf 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{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[][][] +\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[] +\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[]{valeurs} + \PLaxeytikz[]{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{liste abscisses}{liste ordonnées} +\end{codetex} + +%%l'origine +% +%\begin{codetex}[listing only] +%%...code tikz +% \PLorigine[] +%\end{codetex} + +\subsection{Interactions avec PLreglin} + +\begin{codetex}[listing only] +%...code tikz + \PLnuagepts[]{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[] +\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[]{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*}{.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{.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{.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 -- cgit v1.2.3