summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex')
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex343
1 files changed, 336 insertions, 7 deletions
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 5f7796fa90..5036e35a4f 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -12,6 +12,7 @@
\usepackage{tkz-euclide}
\usetikzlibrary{hobby}
\usepackage{siunitx}
+\usepackage{fancyvrb}
\usepackage{fancyhdr}
%fancy
\fancyhf{}
@@ -54,8 +55,8 @@
\setlength{\parindent}{0pt}
\definecolor{LightGray}{gray}{0.9}
-\def\PLversion{1.1.8}
-\def\PLdate{01 Août 2022}
+\def\PLversion{1.2}
+\def\PLdate{10 Août 2022}
\tcbset{vignettes/.style={%
nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
@@ -225,6 +226,8 @@ Une commande pour déterminer des paramètres ($a$, $b$, $r$ et $r^2$) d'une ré
Quelques commandes pour convertir bin/dec/hex avec certains détails.
+Une commande pour, en \TikZ, créer un pixelart avec correction éventuelle.
+
\vspace{1.5cm}
\hfill{}\textit{Merci à Anne pour ses retours et sa relecture !}
@@ -2494,15 +2497,15 @@ La commande étant \og autonome \fg{}, elle va pouvoir être intégrée dans des
\begin{codetex}[listing only]
\begin{tikzpicture}
- \begin{axis}[
- /pgf/number format/.cd,use comma,xmin = 1992, xmax = 2012,ymin = 1640, ymax = 1730,
- width = 0.7\textwidth,height = 0.35\textwidth,xtick distance = 2,ytick distance = 10,
- grid = both,minor tick num = 1,major grid style = {lightgray},minor grid style = {lightgray!25},
+ \begin{axis}[/pgf/number format/.cd,
+ use comma,xmin = 1992, xmax = 2012,ymin = 1640, ymax = 1730,width = 0.7\textwidth,
+ height = 0.35\textwidth,xtick distance = 2,ytick distance = 10,grid = both,
+ minor tick num = 1,major grid style = {lightgray},minor grid style = {lightgray!25},
xlabel = {\small Année ($x$)},ylabel = {\small Altitude du glacier (en m) ($y$)},
x tick label style={/pgf/number format/.cd, set thousands separator={}},
y tick label style={/pgf/number format/.cd, set thousands separator={}},
legend cell align = {left},legend pos = north east]
- \addplot[teal, only marks,forget plot] table{
+ \addplot[teal, only marks] table{
X Y
1994 1718
1995 1710
@@ -2927,8 +2930,334 @@ Les valeurs \Cle{mainlevee=5mm et 0.6pt} donnent des résultats -- à mon sens -
\newpage
+\section{PixelART via un fichier csv, en \TikZ}
+
+\subsection{Introduction}
+
+\begin{codeidee}
+L'idée est de \textit{proposer}, dans un environnement \TikZ, une commande permettant de générer des grilles PixelART.
+
+Les données sont \textit{lues} à partir d'un fichier \textsf{csv}, externe au fichier \textsf{tex} ou déclaré en interne grâce à l'environnement \ctex{filecontents}.
+\end{codeidee}
+
+\begin{codeinfo}
+Avant toute chose, quelques petites infos sur les données au format \textsf{csv}, surtout dans l'optique de sa lecture et de son traitement par \ctex{ProfLycee} :
+
+\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}
+
+Le fichier \textsf{csv} peut être déclaré directement dans le fichier \textsf{tex}, grâce à l'environnement \ctex{filecontents} (intégré en natif sur les dernières versions de \LaTeX) :
+
+\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
+\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
+\end{codeinfo}
+
+\subsection{Package csvsimple et option}
+
+\begin{codeinfo}
+Le package \textit{central} est ici \ctex{csvsimple}, qui permet de lire et traiter le fichier \textsf{csv}.
+
+Il est \og disponible \fg{} en version \LaTeXe{} ou en version \LaTeXIII. Par défaut, \ctex{ProfLycee} le charge en version \LaTeXIII{}, mais une \Cle{option} est disponible pour une \textit{rétro-compatibilité} avec la version \LaTeXe.
+
+\smallskip
+
+L'option \Cle{csvii} permet de passer l'appel au package en version \LaTeXe.
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+\usepackage{ProfLycee} %chargement du package version 3
+%qui charge :
+%\RequirePackage{expl3}
+%\RequirePackage[l3]{csvsimple}
+
+\usepackage[csvii]{ProfLycee} %chargement du package version 2
+%qui charge :
+%\RequirePackage[legacy]{csvsimple}
+\end{codetex}
+
+\subsection{Exemple simple, clés et options}
+
+\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
+\end{filecontents*}
+
+\begin{tikzpicture}%avec lettres
+ \PLpixelart[codes=ABCD,style=\large\sffamily]{basique.csv}
+\end{tikzpicture}
+\begin{tikzpicture}%avec chiffres
+ \PLpixelart[codes=ABCD,symboles={45,22,1,7},symb,style=\large\sffamily]{basique.csv}
+\end{tikzpicture}
+\begin{tikzpicture}%avec correction
+ \PLpixelart[codes=ABCD,couleurs={Black,Green,Yellow,Red},correction]{basique.csv}
+\end{tikzpicture}
+\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
+\end{filecontents*}
+
+\begin{center}
+ \renewcommand\arraystretch{1.25}
+ \begin{tabular}{|c|c|c|c|}
+ \hline
+ \multicolumn{4}{|c|}{Notice} \\ \hline
+ A & B & C & D \\ \hline
+ 45 & 22 & 1 & 7 \\ \hline
+ Noir & Vert & Jaune & Rouge \\ \hline
+ \end{tabular}
+\end{center}
+
+\hfill\begin{tikzpicture}
+ %avec lettres
+ \PLpixelart[codes=ABCD,style=\large\sffamily]{basique.csv}
+\end{tikzpicture}
+\begin{tikzpicture}
+ %avec chiffres
+ \PLpixelart[codes=ABCD,symboles={45,22,1,7},symb,style=\large\sffamily]{basique.csv}
+\end{tikzpicture}
+\begin{tikzpicture}
+ %avec correction
+ \PLpixelart[codes=ABCD,couleurs={Black,Green,Yellow,Red},correction]{basique.csv}
+\end{tikzpicture}\hfill~
+\end{codesortie}
+
+\begin{codeinfo}
+La commande \ctex{PLpixelart} nécessite de connaître :
+
+\begin{itemize}
+ \item le fichier \textsf{csv} à traiter ;
+ \item la liste (en fait sous forme de chaîne) des codes utilisés dans le fichier \textsf{csv} (comme \ctex{234679} ou \ctex{ABCDJK}\ldots);
+ \item la liste des symboles (éventuellement !) à afficher dans les cases s'il y a ambiguïté, comme \ctex{25,44,12} ou \ctex{AA,AB,AC};
+ \item la liste des couleurs (si la correction est demandée), dans le même ordre que la liste des caractères.
+\end{itemize}
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+%environnement tikz
+\PLpixelart[<clés>]{<fichier>.csv}
+\end{codetex}
+
+\begin{codecles}
+Quelques \Cle{Clés} sont nécessaires au bon fonctionnement de la commande :
+
+\begin{itemize}
+ \item la clé \Cle{codes} contient la \textsf{chaîne} des codes \textit{simples} du fichier \textsf{csv} ;
+ \item la clé \Cle{couleurs} qui contient la \textsf{liste} des couleurs associées ;
+ \item la clé \Cle{symboles} qui contient la \textsf{liste éventuelles} des caractères alternatifs à afficher dans les cases ;
+ \item la clé booléenne \Cle{correction} qui permet de colorier le PixelART ;\hfill{}défaut \Cle{false}
+ \item la clé booléenne \Cle{symb} qui permet d'afficher les caractères \textit{alternatifs} ;\hfill{}défaut \Cle{false}
+ \item la clé \Cle{style} qui permet de spécifier le style des caractères. \hfill{}défaut \Cle{scriptsize}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+%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
+\end{filecontents*}
+
+\begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=123469,style=\ttfamily]{perroquet.csv}
+\end{tikzpicture}
+
+\begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=123469,couleurs={Red,Brown,Yellow,Black,Blue,White},correction]{perroquet.csv}
+\end{tikzpicture}
+\end{codetex}
+
+\subsection{Exemples complémentaires}
+
+\begin{codeinfo}
+Les symboles affichés dans les cases sont situés aux nœuds de coordonnées $(c\,;\,-l)$ où $l$ et $c$ sont les numéros de ligne et de colonne correspondants à la position de la donnée dans le fichier \textsf{csv}.
+\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
+\end{filecontents*}
+
+\begin{center}
+ \renewcommand\arraystretch{1.25}
+ \begin{tabular}{|c|c|c|c|c|c|}
+ \hline
+ \multicolumn{6}{|c|}{Notice} \\ \hline
+ 1 & 2 & 3 & 5 & 6 & 9 \\ \hline
+ Rouge & Marron & Jaune & Noir & Bleu & Blanc \\ \hline
+ \end{tabular}
+\end{center}
+
+\begin{center}
+ \begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=123469,style=\ttfamily]{perroquet.csv}
+ \end{tikzpicture}
+ \begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=123469,couleurs={Red,Brown,Yellow,Black,Blue,White},correction]{perroquet.csv}
+ \end{tikzpicture}
+\end{center}
+
+\begin{center}
+ \begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \draw[very thin,gray,xstep=1,ystep=1] (0,0) grid (17,-24) ;
+ \foreach \x in {0,1,...,17} \draw[very thin,gray] (\x,-3pt)--(\x,3pt) node[above,font=\scriptsize\sffamily] {\x} ;
+ \foreach \y in {0,-1,...,-24} \draw[very thin,gray] (3pt,\y)--(-3pt,\y) node[left,font=\scriptsize\sffamily] {\y} ;
+ \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] ;
+ \end{tikzpicture}
+\end{center}
+\end{codesortie}
+
+\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
+\end{filecontents*}
+
+\begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=ABCDFJ,symboles={1,2,3,4,6,10},symb,style=\tiny\sffamily]{cap.csv}
+\end{tikzpicture}
+
+\begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=ABCDFJ,couleurs={Red,Brown,Yellow,Black,Blue,Gray},correction]{cap.csv}
+\end{tikzpicture}
+\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
+\end{filecontents*}
+
+\begin{center}
+ \begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=ABCDFJ,symboles={1,2,3,4,6,10},symb,style=\tiny\sffamily]{cap.csv}
+ \end{tikzpicture}
+ ~~
+ \begin{tikzpicture}[x=0.35cm,y=0.35cm]
+ \PLpixelart[codes=ABCDFJ,couleurs={Red,Brown,Yellow,Black,Blue,Gray},correction]{cap.csv}
+ \end{tikzpicture}
+\end{center}
+\end{codesortie}
+
+\newpage
+
\section{Historique}
+{\small \bverb|v1.2 |~:~~~~Correction d'un méchant bug sur Pixelart
+
+{\small \bverb|v1.1.9|~:~~~~Pixelart en \TikZ
+
{\small \bverb|v1.1.8|~:~~~~Style "Mainlevée" basique pour \TikZ
{\small \bverb|v1.1.7|~:~~~~Conversions bin/hex/dec (basées sur \ctex{xintbinhex}) avec quelques détails