texlive[62260] branches/branch2021.final/Master/texmf-dist: proflycee

commits+karl at tug.org commits+karl at tug.org
Sun Feb 27 23:27:07 CET 2022


Revision: 62260
          http://tug.org/svn/texlive?view=revision&revision=62260
Author:   karl
Date:     2022-02-27 23:27:06 +0100 (Sun, 27 Feb 2022)
Log Message:
-----------
proflycee (branch)

Modified Paths:
--------------
    branches/branch2021.final/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
    branches/branch2021.final/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
    branches/branch2021.final/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty

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

Modified: branches/branch2021.final/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
===================================================================
--- branches/branch2021.final/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-02-27 22:26:58 UTC (rev 62259)
+++ branches/branch2021.final/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-02-27 22:27:06 UTC (rev 62260)
@@ -8,7 +8,7 @@
 \usepackage[scaled=0.875]{helvet}
 \renewcommand\ttdefault{lmtt}
 \usepackage[scaled=0.875]{cabin}
-\usepackage{ProfLycee}
+\usepackage[build]{ProfLycee}
 \usetikzlibrary{hobby}
 \usepackage{siunitx}
 \usepackage{graphics}
@@ -20,7 +20,6 @@
 \usepackage{hyperref}
 \hypersetup{pdfborder=0 0 0}
 
-\usepackage{minted}
 \sisetup{locale=FR}
 \usepackage{geometry}
 \geometry{margin=1.5cm}
@@ -37,7 +36,6 @@
 \tcbset{vignettes/.style={%
 		nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
 		boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,%
-		%before upper={{\normalsize \vphantom{pf}}}
 	}
 }
 \tcbset{vignettelatex/.style={%
@@ -49,6 +47,23 @@
 		\end{tcbclipinterior}}
 	}
 }
+
+\newtcblisting{codetex}[1][]{%
+	colback=white,colframe=red!75!black,title={\small \faCode} Code \LaTeX,fonttitle=\sffamily\bfseries,left=3pt,right=3pt,top=2pt,bottom=2pt,#1}
+
+\newtcolorbox{codesortie}[1][]{%
+	colback=white,colframe=red!75!black,title={\small \faArrowAltCircleRight[regular]} Sortie \LaTeX,fonttitle=\sffamily\bfseries,left=3pt,right=3pt,top=2pt,bottom=2pt,#1}
+
+\newtcolorbox{codeidee}[1][]{%
+	colback=white,colframe=PeachPuff!75!black,title={\small \faLightbulb[regular]} Idée(s),fonttitle=\sffamily\bfseries,left=3pt,right=3pt,top=2pt,bottom=2pt,#1}
+
+\newtcolorbox{codeinfo}[1][]{%
+	colback=white,colframe=SteelBlue,title={\small \faPuzzlePiece} Information(s),fonttitle=\sffamily\bfseries,left=3pt,right=3pt,top=2pt,bottom=2pt,#1}
+
+\newtcolorbox{codecles}[1][]{%
+	colback=white,colframe=ForestGreen!75,title={\small \faPaperclip} Clés et options,fonttitle=\sffamily\bfseries,left=3pt,right=3pt,top=2pt,bottom=2pt,#1}
+
+%petite vignette tex
 \newcommand\ctex[1]{\tcbox[vignettelatex]{#1}}
 
 %gestion de la fenêtre v2 directement dans le tikzpicture
@@ -137,7 +152,7 @@
 		{\ttfamily c pierquet -- at -- outlook . fr}
 	\end{tabular}
 }
-\date{Version 1.0.6 -- 18 Février 2022}
+\date{Version 1.0.7 -- 21 Février 2022}
 
 \newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
 
@@ -168,7 +183,7 @@
 
 \medskip
 
-\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]}}
+\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
 	{\huge \LaTeX} & & & & &\\
 	& {\huge \pdfLaTeX} & & & & \\
 	& & {\huge \LuaLaTeX} & & & \\
@@ -181,8 +196,6 @@
 
 \hrule
 
-
-
 \vfill
 
 ~
@@ -197,6 +210,7 @@
 
 \subsection{\og Philosophie \fg{} du package}
 
+\begin{codeidee}
 Ce \ctex{package}, très largement inspiré (et beaucoup moins abouti !) de l'excellent \ctex{ProfCollege} de C. Poulain et des excellents \ctex{tkz-*} d'A. Matthes, va définir quelques outils pour des situations particulières qui ne sont pas encore dans \ctex{ProfCollege}.
 
 On peut le voir comme un (maigre) complément à \ctex{ProfCollege}, et je précise que la syntaxe est très proche (car pertinente de base) et donc pas de raison de changer une équipe qui gagne !
@@ -203,9 +217,34 @@
 
 \medskip
 
-Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}.
+Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}. Il charge quelques \textsf{packages} utiles, mais j'ai fait le choix de laisser l'utilisateur gérer ses autres \textsf{packages}, comment notamment \ctex{amssymb} qui peut poser souci en fonction de la \textit{position} de son chargement.
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+L'utlisateur est libre de charger ses autres \textsf{packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels.
+\end{codeidee}
+
+\smallskip
+
+\begin{codeinfo}
+Le \textsf{package} \ctex{ProfLycee} charge les \textsf{packages} :
+
+\begin{itemize}
+	\item \ctex{xcolor} avec les options \textsf{[table,svgnames]} ;
+	\item \ctex{tikz}, \ctex{pgf}, \ctex{xfp} ;
+	\item \ctex{xparse}, \ctex{xkeyval}, \ctex{xstring}, \ctex{simplekv} ;
+	\item \ctex{listofitems}, \ctex{xintexpr} ;
+	\item \ctex{tabularray}, \ctex{fontawesome5}, \ctex{tcolorbox}.
+\end{itemize}
+\end{codeinfo}
+
+\smallskip
+
+\begin{codeidee}
+J'ai utilisé les \ctex{packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} !
+\end{codeidee}
+
+\smallskip
+
+\begin{codetex}[listing only]
 \documentclass{article}
 \usepackage[french]{babel}
 \usepackage[utf8]{inputenc}
@@ -212,21 +251,53 @@
 \usepackage[T1]{fontenc}
 \usepackage{ProfLycee}
 ...
-\end{minted}
+\end{codetex}
 
-\medskip
+\subsection{Options du package}
 
-Par défaut, \ctex{minted} est chargé est donc la compilation nécessite d'utiliser \textsf{shell-escape}. Cependant, si vous ne souhaitez pas utiliser les commandes nécessitant \ctex{minted} vous pouvez charger le package \ctex{ProfLycee} avec l'option \Cle{nominted}.
+\begin{codeinfo}
+Par défaut, \ctex{minted} est chargé et donc la compilation nécessite d'utiliser \textsf{shell-escape}. Cependant, si vous ne souhaitez pas utiliser les commandes nécessitant \ctex{minted} vous pouvez charger le package \ctex{ProfLycee} avec l'option \Cle{nominted}.
+\end{codeinfo}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\smallskip
+
+\begin{codetex}[listing only]
 ...
 \usepackage[nominted]{ProfLycee}
 ...
-\end{minted}
+\end{codetex}
 
+\medskip
+
+\begin{codeinfo}
+En compilant (notamment avec les packages \ctex{minted} et \ctex{pythontex}) on peut spécifier des répertoires particuliers pour les (ou des) fichiers auxiliaires.
+
+Avec l'option \Cle{build}, l'utilisateur a la possibilité de placer les fichiers temporaires de \ctex{minted} et \ctex{pythontex} dans un répertoire \textsf{build} du répertoire courant.
+\end{codeinfo}
+
+\smallskip
+
+\begin{codetex}[listing only]
+...
+\usepackage[build]{ProfLycee}
+...
+\end{codetex}
+
+\smallskip
+
+\begin{codeinfo}
+Les options précédentes sont cumulables, et, pour info, elles conditionnent le chargement des \textsf{packages} avec les options :
+
+\begin{itemize}
+	\item \ctex{\textbackslash setpythontexoutputdir\{./build/pythontex-files-\textbackslash jobname\}}
+	\item \ctex{\textbackslash RequirePackage[outputdir=build]\{minted\}}
+\end{itemize}
+\end{codeinfo}
+
 \subsection{Le système de \og clés/options \fg}
 
-L'idée est de conserver l'idée de \Cle{Clés} qui sont :
+\begin{codeidee}
+L'idée est de conserver -- autant que faire se peut -- l'idée de \Cle{Clés} qui sont :
 %
 \begin{itemize}
 	\item modifiables ;
@@ -234,13 +305,25 @@
 \end{itemize}
 
 Pour certaines commandes, le système de \Cle{Clés} pose quelques soucis, de ce fait le fonctionnement est plus \textit{basique} avec un système d'\textsf{arguments} optionnels (entre \textsf{[\ldots]}) ou mandataires (entre \textsf{\{\ldots\}}).
+\end{codeidee}
 
-\medskip
+\smallskip
 
-J'ai utilisé également les \ctex{packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} !
+\begin{codeinfo}
+Les \textsf{commandes} et \textsf{environnements} présentés seront explicités via leur \textsf{syntaxe} avec les \textsf{options} ou \textsf{arguments}.
 
+Autant que faire se peut, des exemples/illustrations/remarques seront proposés à chaque fois.
+
+\smallskip
+
+Les \textsf{codes} seront présentés dans des \textsf{boîtes} \textcolor{red!75!black}{{\small \faCode} Code \LaTeX}, si possible avec la \textsf{sortie} dans la même boîte, et sinon la \textsf{sortie} sera visible dans des \textsf{boîtes} \textcolor{red!75!black}{{\small \faArrowAltCircleRight[regular]} Sortie \LaTeX}.
+
+Les \textsf{clés} ou \textsf{options} seront présentées dans des \textsf{boîtes} \textcolor{ForestGreen}{{\small \faPaperclip} Clés}.
+\end{codeinfo}
+
 \subsection{Outils disponibles}
 
+\begin{codeidee}
 Le \ctex{package}, qui s'enrichira peut-être au fil du temps permet -- pour le moment -- de :
 
 \begin{itemize}
@@ -250,14 +333,18 @@
 	\item mettre en forme du code \textsf{python} ou \textsf{pseudocode} ;
 	\item simuler une fenêtre de terminal (win/unix/osx).
 \end{itemize}
+\end{codeidee}
 
-\medskip
+\smallskip
 
+\begin{codeinfo}
 À noter que certaines commandes disponibles sont liées à un environnement \ctex{tikzpicture}, elles ne sont pas autonomes mais permettent de conserver -- en parallèle -- toute commande liée à \TikZ{} !
+\end{codeinfo}
 
 \subsection{Compilateur(s)}
 
-Le package\ctex{ProfLycee} est compatible avec les compilateurs classiques : \textsf{latex}, \textsf{pdflatex} ou encore \textsf{lualatex}.
+\begin{codeinfo}
+Le package \ctex{ProfLycee} est compatible avec les compilateurs classiques : \textsf{latex}, \textsf{pdflatex} ou encore \textsf{lualatex}.
 
 \smallskip
 
@@ -267,44 +354,10 @@
 	\item compiler en chaîne \textsf{pdflatex + pythontex + pdflatex} pour les environnements avec \ctex{pythontex} ;
 	\item compiler avec  \textsf{shell-escape} (ou \textsf{write18}) pour les environnements avec \ctex{minted}.
 \end{itemize}
+\end{codeinfo}
 
-%\bigskip
-%
-%\begin{center}
-%	\begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=5,ygrille=1,ygrilles=0.5]
-%		%axes et grilles
-%		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
-%		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
-%		\draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ;
-%		\draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ;
-%		\foreach \x in {0,1,...,10} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
-%		\foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
-%		\draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ;
-%		\draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ;
-%		%splines
-%		\def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10}
-%		\splinetikz[liste=\LISTE,affpoints=true,coeffs=3,couleur=red]
-%		%tangentes
-%		\tangentetikz[liste=\LISTE,xl=0,xr=1,couleur=ForestGreen,style=dashed]
-%		\tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=2]
-%		\tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=3]
-%		\tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=4]
-%		\tangentetikz[liste=\LISTE,xl=0.5,xr=0,couleur=ForestGreen,style=dashed,point=5]
-%		
-%	\end{tikzpicture}
-%\end{center}
-%
-%\medskip
-%
-%\begin{center}
-%	\begin{tikzpicture}[x=1cm,y=1cm,line width=1pt]
-%		\paramCF[titre=true]
-%		\ligneCF{\textsf{(x+1)\CFchap2}}{$\mathsf{x^2+2x+1}$}
-%		\ligneCF{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$}
-%		\ligneCF{\textsf{Dérivée[(x+5)*exp(-0.1*x)]}}{$\mathsf{\rightarrow (0.5-0.1*x)*exp(-0.1*x)}$}
-%	\end{tikzpicture}
-%\end{center}
 
+
 \newpage
 
 \section{L'outil \og splinetikz \fg}
@@ -311,12 +364,13 @@
 
 \subsection{Courbe d'interpolation}
 
+\begin{codeinfo}
 On va utiliser les notions suivantes pour paramétrer le tracé \og automatique \fg{} grâce à  \ctex{..controls} :
 %
 \begin{itemize}
 	\item il faut rentrer les \textcolor{purple}{\textsf{points de contrôle}} ;
 	\item il faut préciser les \textcolor{ForestGreen}{\textsf{pentes des tangentes}} (pour le moment on travaille avec les mêmes à gauche et à droite\ldots) ;
-	\item on peut paramétrer les \textcolor{Aquamarine}{\textsf{coefficients}} pour \og affiner \fg{} les portions.
+	\item on peut paramétrer les \textcolor{CadetBlue}{\textsf{coefficients}} pour \og affiner \fg{} les portions.
 \end{itemize}
 
 \medskip
@@ -337,74 +391,80 @@
 		\item on peut mixer avec \averb|coeffs=C1§C2G/C2D§...|.
 	\end{itemize}
 \end{itemize}
+\end{codeinfo}
 
-\subsection{Clés et options}
+\subsection{Code, clés et options}
 
-La commande \ctex{\textbackslash splinetikz} se présente sous la forme :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\begin{codetex}[listing only]
 \begin{tikzpicture}
 	...
-	\splinetikz[liste=...,coeffs=...,affpoints=...,couleur=...,epaisseur=...,taillepoints=...,couleurpoints=...,style=...]
+	\splinetikz[liste=...,coeffs=...,affpoints=...,couleur=...,epaisseur=...,%
+	            taillepoints=...,couleurpoints=...,style=...]
 	...
 \end{tikzpicture}
-\end{minted}
+\end{codetex}
 
+\smallskip
+
+\begin{codecles}
 Certains paramètres peuvent être gérés directement dans la commande \ctex{\textbackslash splinetikz} :
-
+%
 \begin{itemize}
-	\item la couleur de la courbe est \textcolor{red}{rouge}, gérée par la \textsf{clé} \Cle{couleur=...} ;
-	\item l'épaisseur de la courbe est de \textcolor{red}{1.25pt}, gérée par la \textsf{clé} \Cle{epaisseur=...} ;
-	\item du style supplémentaire pour la courbe peut être rajouté, grâce à la \textsf{clé} \Cle{style=...} ;
-	\item les coefficients de \textit{compensation} sont par défaut à 3, gérés par la \textsf{clé} \Cle{coeffs=...}
-	\item les points de contrôle ne sont pas affichés par défaut, mais \textsf{clé booléenne} \Cle{affpoints=true} permet de les afficher ;
-	\item la taille des points de contrôle est géré par la \textsf{clé} \Cle{taillepoints=...}.
+	\item la couleur de la courbe par la \textsf{clé} \Cle{couleur} ;\hfill{}défaut \Cle{red}
+	\item l'épaisseur de la courbe par la \textsf{clé} \Cle{epaisseur} ;\hfill{}défaut \Cle{1.25pt}
+	\item du style supplémentaire pour la courbe peut être rajouté, grâce à la \textsf{clé} \Cle{style=} ;\hfill{}défaut \Cle{vide}
+	\item les coefficients de \textit{compensation} gérés par la \textsf{clé} \Cle{coeffs} ;\hfill{}défaut \Cle{3}
+	\item les points de contrôle ne sont pas affichés par défaut, mais \textsf{clé booléenne} \Cle{affpoints} permet de les afficher ;\hfill{}défaut \Cle{true}
+	\item la taille des points de contrôle est géré par la \textsf{clé} \Cle{taillepoints}.\hfill{}défaut \Cle{2pt}
 \end{itemize}
+\end{codecles}
 
-\newpage
+\subsection{Compléments sur les coefficients de \og compensation \fg}
 
-\subsection{Exemples}
+\begin{codeidee}
+Le choix a été fait ici, pour \textit{simplifier} le code, le travailler sur des courbes de Bézier.
 
-La commande :
+Pour \textit{simplifier} la gestion des nombres dérivés, les points de contrôle sont gérés par leurs coordonnées \textit{polaires}, les \textsf{coefficients de compensation} servent donc -- grosso modo -- à gérer la position radiale.
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
-\begin{center}
-	\begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=5,ygrille=1,ygrilles=0.5]
-		%axes et grilles
-		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
-		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
-		\draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ;
-		\draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ;
-		\foreach \x in {0,1,...,10} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
-		\foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
-		\draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ;
-		\draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ;
-		%splines
-		\def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10}
-		\splinetikz[liste=\LISTE,affpoints=true,coeffs=3,couleur=red]
-	\end{tikzpicture}
-\end{center}
-\end{minted}
+\smallskip
 
-produit la figure suivante :
+Le coefficient \Cle{3} signifie que, pour une courbe de Bézier entre $x=a$ et $x=b$, les points de contrôles seront situés à une distance radiale de $\frac{b-a}{3}$.
 
-\begin{center}
-	\begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=5,ygrille=1,ygrilles=0.5]
-		%axes et grilles
-		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
-		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
-		\draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ;
-		\draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ;
-		\foreach \x in {0,1,...,10} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
-		\foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
-		\draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ;
-		\draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ;
-		%splines
-		\def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10}
-		\splinetikz[liste=\LISTE,affpoints=true]
-	\end{tikzpicture}
-\end{center}
+Pour \textit{écarter} les points de contrôle, on peut du coup \textsf{réduire} le coefficient de compensation !
 
+\medskip
+
+Pour des intervalles \textit{étroits}, la \textit{pente} peut paraître abrupte, et donc le(s) coefficient(s) peuvent être modifiés, de manière fine.
+
+\medskip
+
+Si jamais il existe ou ou des points \textit{anguleux}, le plus simple est de créer les splines en plusieurs fois.
+\end{codeidee}
+
+\subsection{Exemples}
+
+\begin{codetex}[tikz lower]
+%code tikz
+\def\x{0.9cm}\def\y{0.9cm}
+\def\xmin{-1}\def\xmax{11}\def\xgrille{1}\def\xgrilles{0.5}
+\def\ymin{-1}\def\ymax{5}\def\ygrille{1}\def\ygrilles{0.5}
+%axes et grilles
+\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
+\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
+\draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ;
+\draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ;
+\foreach \x in {0,1,...,10} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
+\foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
+\draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ;
+\draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ;
+%splines
+\def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10}
+\splinetikz[liste=\LISTE,affpoints=true,coeffs=3,couleur=red]
+\end{codetex}
+
+\smallskip
+
+\begin{codeinfo}
 Avec des explications utiles à la compréhension :
 
 \begin{center}
@@ -416,23 +476,24 @@
 		\listecoeffs{3}{3}{3}{3}
 	\end{tikzpicture}
 \end{center}
+\end{codeinfo}
 
 \newpage
 
 \subsection{Avec une gestion plus fine des \og coefficients \fg}
 
+\begin{codeinfo}
 Dans la majorité des cas, le \textit{coefficient} \textcircled{3} permet d'obtenir une courbe (ou une portion) très satisfaisante !
 
-Dans certains cas, notamment si l'une des pentes est relativement \og forte \fg{} et/ou si l'intervalle horizontal de la portion est relativement \og étroit \fg, il se peut que la portion paraisse un peu trop \og abrupte \fg{}.
+Dans certains cas, il se peut que la portion paraisse un peu trop \og abrupte \fg{}.
 
-On peut dans ce cas \textit{jouer} sur les coefficients de cette portion pour \textit{arrondir} un peu tout cela !
+On peut dans ce cas \textit{jouer} sur les coefficients de cette portion pour \textit{arrondir} un peu tout cela (\textit{ie} diminuer le \textsf{coeff}\ldots)!
 
-Ces fameux \textit{coefficients} peuvent :
-\begin{itemize}
-	\item être donnés (pour utiliser le même partout) sous la forme \Cle{coeffs=C} ;
-	\item être donnés portion par portion, sous la forme \Cle{coeffs=C1§C2§...} ;
-	\item être donné de manière très fine, portion par portion et côté par côté, sous la forme \Cle{coeffs=C1G/C1D§C2G/C2D§...}.
-\end{itemize}
+%\begin{itemize}
+%	\item être donnés (pour utiliser le même partout) sous la forme \Cle{coeffs=C} ;
+%	\item être donnés portion par portion, sous la forme \Cle{coeffs=C1§C2§...} ;
+%	\item être donné de manière très fine, portion par portion et côté par côté, sous la forme \Cle{coeffs=C1G/C1D§C2G/C2D§...}.
+%\end{itemize}
 
 \begin{center}
 	\begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=7,ygrille=1,ygrilles=0.5]
@@ -445,17 +506,19 @@
 		\listecoeffs{3/3}{3/3}{3/3}{2/1}
 	\end{tikzpicture}
 \end{center}
+\end{codeinfo}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
-\begin{center}
+\smallskip
+
+\begin{codetex}[listing only]
 ...
 %splines
 \def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10}
 \splinetikz[liste=\LISTE,affpoints=true,coeffs=3§3§3§2/1]
 ...
-\end{center}
-\end{minted}
+\end{codetex}
 
+\begin{codesortie}
 \begin{center}
 	\begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=5,ygrille=1,ygrilles=0.5]
 		%axes et grilles
@@ -467,15 +530,17 @@
 		\foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
 		\draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ;
 		\draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ;
-		\draw (1,-4pt) node[below,font=\sffamily] {1} ;
-		\draw (-4pt,1) node[left,font=\sffamily] {1} ;
+%		\draw (1,-4pt) node[below,font=\sffamily] {1} ;
+%		\draw (-4pt,1) node[left,font=\sffamily] {1} ;
 		\def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10}
 		\splinetikz[liste=\LISTE,affpoints=true,coeffs=3§3§3§2/1]
 	\end{tikzpicture}
 \end{center}
+\end{codesortie}
 
 \subsection{Conclusion}
 
+\begin{codeinfo}
 Le plus \og simple \fg{} est donc:
 %
 \begin{itemize}
@@ -483,11 +548,8 @@
 	\item de  saisir la commande \ctex{\textbackslash splinetikz[liste=\textbackslash LISTE]} ;
 	\item d'ajuster les options et coefficients en fonction du rendu !
 \end{itemize}
+\end{codeinfo}
 
-\medskip
-
-Si jamais il existe ou ou des points \textit{anguleux}, le plus simple est de créer les splines en plusieurs fois.
-
 \newpage
 
 \section{L'outil \og tangentetikz \fg{}}
@@ -494,24 +556,27 @@
 
 \subsection{Définitions}
 
+\begin{codeidee}
 En parallèle de l'outil \ctex{\textbackslash splinetikz}, il existe l'outil \ctex{\textbackslash tangentetikz} qui va permettre de tracer des tangentes à l'aide de la liste de points précédemment définie pour l'outil \ctex{\textbackslash splinetikz}.
 
 \smallskip
 
 NB : il peut fonctionner indépendamment de l'outil \ctex{\textbackslash splinetikz} puisque la liste des points de travail est gérée de manière autonome !
+\end{codeidee}
 
-\medskip
+\smallskip
 
-La commande \ctex{\textbackslash tangentetikz} se présente sous la forme :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\begin{codetex}[listing only]
 \begin{tikzpicture}
 	...
 	\tangentetikz[liste=...,couleur=...,epaisseur=...,xl=...,xr=...,style=...,point=...]
 	...
 \end{tikzpicture}
-\end{minted}
+\end{codetex}
 
+\smallskip
+
+\begin{codecles}
 Cela permet de tracer la tangente :
 %
 \begin{itemize}
@@ -519,11 +584,29 @@
 	\item avec une épaisseur de \Cle{epaisseur}, une couleur \Cle{couleur} et un style additionnel \Cle{style} ;
 	\item en la traçant à partir de \Cle{xl} avant \textsf{xi} et jusqu'à \Cle{xr} après \textsf{xi}.
 \end{itemize}
+\end{codecles}
 
 \subsection{Exemple et illustration}
 
+\begin{codetex}[listing only]
+\begin{tikzpicture}
+	...
+	\def\LISTE{0/1.5/0§1/2/-0.333§2/0/-5}
+	%spline
+	\splinetikz[liste=\LISTE,affpoints=true,coeffs=3§2,couleur=red]
+	%tangente
+	\tangentetikz[liste=\LISTE,xl=0,xr=0.5,couleur=ForestGreen,style=dashed]
+	\tangentetikz[liste=\LISTE,xl=0.5,xr=0.75,couleur=orange,style=dotted,point=2]
+	\tangentetikz[liste=\LISTE,xl=0.33,xr=0,couleur=blue,style=densely dashed,point=3]
+	...
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+On obtient le résultat suivant (avec les éléments rajoutés utiles à la compréhension) :
+
 \begin{center}
-	\begin{tikzpicture}[x=3cm,y=3cm,xmin=0,xmax=2,xgrilles=0.25,ymin=0,ymax=2.25,ygrilles=0.25]
+	\begin{tikzpicture}[x=3cm,y=2cm,xmin=0,xmax=2,xgrilles=0.25,ymin=0,ymax=2.25,ygrilles=0.25]
 		\tikzset{noeudexpl/.style={purple,font=\sffamily\small}}
 		\tgrilles
 		\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ;
@@ -540,47 +623,15 @@
 		%explications
 		\draw[<->,very thick,darkgray] (0.5,2.2)--(1,2.2) node[midway,above,font=\sffamily] {xl} ;
 		\draw[<->,very thick,darkgray] (1,2.2)--(1.75,2.2) node[midway,above,font=\sffamily] {xr};
+		\draw[thick,darkgray] (1,4pt)--(1,-4pt) node[below,font=\sffamily] {1} ;
+		\draw[thick,darkgray] (4pt,1)--(-4pt,1) node[left,font=\sffamily] {1} ;
 	\end{tikzpicture}
 \end{center}
+\end{codesortie}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
-\begin{tikzpicture}
-	...
-	\def\LISTE{0/1.5/0§1/2/-0.333§2/0/-5}
-	%spline
-	\splinetikz[liste=\LISTE,affpoints=true,coeffs=3§2,couleur=red]
-	%tangente
-	\tangentetikz[liste=\LISTE,xl=0,xr=0.5,couleur=ForestGreen,style=dashed]
-	\tangentetikz[liste=\LISTE,xl=0.5,xr=0.75,couleur=orange,style=dotted,point=2]
-	\tangentetikz[liste=\LISTE,xl=0.33,xr=0,couleur=blue,style=densely dashed,point=3]
-	...
-\end{tikzpicture}
-\end{minted}
-
 \subsection{Exemple avec les deux outils, et \og personnalisation \fg}
 
-\begin{center}
-\begin{tikzpicture}[x=0.5cm,y=0.5cm,xmin=0,xmax=16,xgrilles=1,ymin=0,ymax=16,ygrilles=1]
-		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray] (\xmin,\ymin) grid (\xmax,\ymax) ;
-		\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ;
-		\draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ;
-		\foreach \x in {0,2,...,14} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
-		\foreach \y in {0,2,...,14} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
-		\draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ;
-		\draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ;
-		%la liste pour la courbe d'interpolation
-		\def\liste{0/6/3§3/11/0§7/3/0§10/0/0§14/14/6}
-		%les tangentes "stylisées"
-		\tangentetikz[liste=\liste,xl=0,xr=1,couleur=blue,style=dashed]
-		\tangentetikz[liste=\liste,xl=2,xr=2,couleur=purple,style=dotted,point=2]
-		\tangentetikz[liste=\liste,xl=2,xr=2,couleur=orange,style=<->,point=3]
-		\tangentetikz[liste=\liste,xl=2,xr=0,couleur=ForestGreen,point=5]
-		%la courbe en elle-même
-		\splinetikz[liste=\liste,affpoints=true,coeffs=3,couleur=cyan,style=densely dotted]
-	\end{tikzpicture}
-\end{center}
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=4,breaklines]{tex}
+\begin{codetex}[listing only]
 \tikzset{%
 	xmin/.store in=\xmin,xmin/.default=-5,xmin=-5,
 	xmax/.store in=\xmax,xmax/.default=5,xmax=5,
@@ -598,8 +649,8 @@
 	\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray] (\xmin,\ymin) grid (\xmax,\ymax) ;
 	\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ;
 	\draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ;
-	\foreach \x in {0,2,...,14} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
-	\foreach \y in {0,2,...,14} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
+	\foreach \x in {0,2,...,14} {\draw[darkgray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
+	\foreach \y in {0,2,...,14} {\draw[darkgray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
 	%la liste pour la courbe d'interpolation
 	\def\liste{0/6/3§3/11/0§7/3/0§10/0/0§14/14/6}
 	%les tangentes "stylisées"
@@ -610,8 +661,31 @@
 	%la courbe en elle-même
 	\splinetikz[liste=\liste,affpoints=true,coeffs=3,couleur=cyan,style=densely dotted]
 \end{tikzpicture}
-\end{minted}
+\end{codetex}
 
+\begin{codesortie}
+\begin{center}
+\begin{tikzpicture}[x=0.5cm,y=0.5cm,xmin=0,xmax=16,xgrilles=1,ymin=0,ymax=16,ygrilles=1]
+		\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray] (\xmin,\ymin) grid (\xmax,\ymax) ;
+		\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ;
+		\draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ;
+		\foreach \x in {0,2,...,14} {\draw[darkgray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
+		\foreach \y in {0,2,...,14} {\draw[darkgray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
+		\draw[darkgray] (2,-4pt) node[below,font=\sffamily] {2} ;
+		\draw[darkgray] (-4pt,2) node[left,font=\sffamily] {2} ;
+		%la liste pour la courbe d'interpolation
+		\def\liste{0/6/3§3/11/0§7/3/0§10/0/0§14/14/6}
+		%les tangentes "stylisées"
+		\tangentetikz[liste=\liste,xl=0,xr=1,couleur=blue,style=dashed]
+		\tangentetikz[liste=\liste,xl=2,xr=2,couleur=purple,style=dotted,point=2]
+		\tangentetikz[liste=\liste,xl=2,xr=2,couleur=orange,style=<->,point=3]
+		\tangentetikz[liste=\liste,xl=2,xr=0,couleur=ForestGreen,point=5]
+		%la courbe en elle-même
+		\splinetikz[liste=\liste,affpoints=true,coeffs=3,couleur=cyan,style=densely dotted]
+	\end{tikzpicture}
+\end{center}
+\end{codesortie}
+
 \newpage
 
 \section{L'outil \og Calcul Formel \fg}
@@ -618,6 +692,7 @@
 
 \subsection{Introduction}
 
+\begin{codeidee}
 L'idée des commandes suivantes est de définir, dans un environnement \TikZ, une présentation proche de celle d'un logiciel de calcul formel comme \textsf{XCas} ou \textsf{Geogebra}.
 
 \smallskip
@@ -627,18 +702,32 @@
 \smallskip
 
 À la manière du \textsf{package} \ctex{tkz-tab}, l'environnement de référence est un environnement \TikZ, dans lequel les lignes dont créées petit à petit, à l'aide de nœuds qui peuvent être réutilisés à loisir ultérieurement.
+\end{codeidee}
 
 \subsection{La commande \og paramCF \fg}
 
+\begin{codeinfo}
 La première chose à définir est l'ensemble des paramètres \textit{globaux} de la fenêtre de calcul formel, à l'aide de \Cle{Clés}.
+\end{codeinfo}
 
-C'est la commande \ctex{\textbackslash paramCF} qui s'y colle, avec :
+\smallskip
 
+\begin{codetex}[listing only]
+...
+\begin{tikzpicture}[...]
+	\paramCF[.......]
+	...
+\end{tikzpicture}
+\end{codetex}
+
+\smallskip
+
+\begin{codecles}
+Les \Cle{Clés} disponibles sont :
 \begin{itemize}
 	\item \Cle{larg} : largeur de l'environnement ; \hfill{}défaut \Cle{16}
 	\item \Cle{esplg} : espacement vertical entre les lignes ;\hfill{}défaut \Cle{2pt}
-	\item \Cle{premcol} : largeur de la case du \textit{petit numéro} ;\hfill{}défaut \Cle{0.3}
-	\item \Cle{hpremcol} : hauteur de la case du \textit{petit numéro} ;\hfill{}défaut \Cle{0.4}
+	\item \Cle{premcol} \& \Cle{hpremcol} : largeur et hauteur de la case du \textit{petit numéro} ;\hfill{}défaut \Cle{0.3} \&  \Cle{0.4}
 	\item \Cle{taille} : taille du texte ;\hfill{}défaut \Cle{\textbackslash normalsize}
 	\item \Cle{couleur} : couleur des traits de l'environnement ;\hfill{}défaut \Cle{darkgray}
 	\item \Cle{titre} : booléen pour l'affichage d'un bandeau de titre ;\hfill{}défaut \Cle{false}
@@ -651,47 +740,52 @@
 	\item \Cle{menu} : booléen pour l'affichage du \textit{bouton} MENU ;\hfill{}défaut \Cle{true}
 	\item \Cle{labeltitre} : libellé du titre.\hfill{}défaut \Cle{Résultats obtenus avec un logiciel de Calcul Formel}
 \end{itemize}
+\end{codecles}
 
 \subsection{La commande \og ligneCF \fg}
 
-Une fois les paramètres déclarés, il faut créer les différentes lignes, grâce à la \ctex{\textbackslash ligneCF} :
+\begin{codeinfo}
+Une fois les paramètres déclarés, il faut créer les différentes lignes, grâce à la \ctex{\textbackslash ligneCF}.
+\end{codeinfo}
 
+\smallskip
+
+\begin{codetex}[listing only]
+\begin{tikzpicture}[...]
+	\paramCF[.......]
+	\ligneCF[...]
+	...
+\end{tikzpicture}
+\end{codetex}
+
+\smallskip
+
+\begin{codecles}
+Les (quelques) \Cle{Clés} disponibles sont :
+
 \begin{itemize}
 	\item \Cle{hc} : hauteur de la ligne de commande d'entrée ;\hfill{}défaut \Cle{0.75}
 	\item \Cle{hr} : hauteur de la ligne de commande de sortie ;\hfill{}défaut \Cle{0.75}
 	\item deux \textsf{arguments}, celui de la commande d'entrée et celui de la commande de sortie.
 \end{itemize}
+%
+Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niveau police) de manière indépendante.
+\end{codecles}
 
-\medskip
+\smallskip
 
-Ainsi, le code :
+\begin{codetex}[tikz lower]
+%code tikz
+\paramCF[titre=true,couleurcmd=olive,couleurres=orange]
+\ligneCF{COMMANDE 1}{RÉSULTAT 1}
+\ligneCF[hc=0.75,hr=1]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$}   %\CFchap := ^ en mathtt
+\end{codetex}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=4,breaklines]{tex}
-\begin{tikzpicture}[x=1cm,y=1cm,line width=1pt]
-	\paramCF[titre=true,couleurcmd=olive,couleurres=orange]
-	\ligneCF{COMMANDE 1}{RÉSULTAT 1}
-	\ligneCF[hc=1,hr=1.25]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$}
-\end{tikzpicture}
-\end{minted}
-
-produira le résultat suivant :
-
-\begin{center}
-	\begin{tikzpicture}[x=1cm,y=1cm,line width=1pt]
-		\paramCF[titre=true,couleurcmd=olive,couleurres=orange]
-		\ligneCF{COMMANDE 1}{RÉSULTAT 1}
-		\ligneCF[hc=1,hr=1.25]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$}
-	\end{tikzpicture}
-\end{center}
-
-\newpage
-
 \subsection{Visualisation des paramètres}
 
+\begin{codeinfo}
 Pour \textit{illustrer} un peur les \Cle{clés}, un petit schéma, avec les différents nœuds crées par les \textsf{macros}.
 
-\medskip
-
 \begin{center}
 	\begin{tikzpicture}[x=1cm,y=1cm,line width=1pt]
 	\paramCF[larg=12cm,couleur=lightgray,esplg=12pt,menu=false]
@@ -703,13 +797,11 @@
 \end{tikzpicture}
 \end{center}
 
-\medskip
-
 \begin{center}
 	\begin{tikzpicture}[x=1cm,y=1cm,line width=1pt]
 	\paramCF[titre=true,larg=12cm,esplg=10pt,premcol=0.5,hpremcol=0.7,couleur=lightgray]
 	\ligneCF{COMMANDE 1}{RÉSULTAT 1}
-	\ligneCF[hc=1.25,hr=1.5]{COMMANDE 2}{RÉSULTAT 2}
+	\ligneCF[hc=0.85,hr=1.05]{COMMANDE 2}{RÉSULTAT 2}
 	%explications
 	\draw[CadetBlue,<->] ($(A22) + (0,-12pt)$) -- ($(A52) + (0,-12pt)$) node[midway,below,font=\sffamily] {\Cle{larg}} ;
 	\draw[CadetBlue,<->] ($(A51) + (12pt,0)$) -- ($(A32) + (12pt,0)$) node[midway,right,font=\sffamily] {\Cle{esplg}} ;
@@ -725,9 +817,8 @@
 	\draw[CadetBlue,->] ($(A01) + (8pt,2pt) + (0,1em)$) to[bend left=10] ($(A01) + (8pt,2pt) + (0,1em) + (-18pt,12pt)$) node[inner sep=0pt,above=1pt,font=\sffamily] {\Cle{titre} \& \Cle{tailletitre} \& \Cle{labeltitre}} ;
 \end{tikzpicture}
 \end{center}
+\end{codeinfo}
 
-Chaque argument COMMANDE \& RÉSULTAT peut être formaté (niveau police) de manière indépendante.
-
 \newpage
 
 \section{Code \& Console Python}
@@ -734,6 +825,7 @@
 
 \subsection{Introduction}
 
+\begin{codeidee}
 Le \textsf{package} \ctex{pythontex} permet d'insérer et d'exécuter du code Python. On peut :
 
 \begin{itemize}
@@ -741,23 +833,41 @@
 	\item exécuter du code python dans un environnement type \og console \fg{} ;
 	\item charger du code python, et éventuellement l'utiliser dans la console.
 \end{itemize}
+\end{codeidee}
 
-\medskip
+\smallskip
 
-\textbf{Attention : }il faut dans ce cas une compilation en plusieurs parties, comme par exemple \textsf{pdflatex puis pythontex puis pdflatex} !
+\begin{codeinfo}
+\textbf{Attention : }il faut dans ce cas une compilation en plusieurs étapes, comme par exemple \textsf{pdflatex puis pythontex puis pdflatex} !
 
 Voir par exemple \url{http://lesmathsduyeti.fr/fr/informatique/latex/pythontex/} !
+\end{codeinfo}
 
+\smallskip
+
+\begin{codeinfo}
+Compte tenu de la \textit{relative complexité} de gérer les options (par paramètres/clés\ldots) des \textit{tcbox} et des \textit{fancyvrb}, le style est \og fixé \fg{} tel quel, et seules la taille et la position de la \textit{tcbox} sont modifiables. Si toutefois vous souhaitez personnaliser davantage, il faudra prendre le code correspondant et appliquer vos modifications !
+
+Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une base \textit{pré}existante !
+\end{codeinfo}
+
 \subsection{Présentation de code Python via pythontex}
 
-L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{colorbox} avec un style particulier. 
+\begin{codeidee}
+L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{colorbox} avec un style particulier.
+\end{codeidee}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\smallskip
+
+\begin{codetex}[listing only]
 \begin{envcodepythontex}[largeur=...,centre=...,lignes=...]
 ...
 \end{envcodepythontex}
-\end{minted}
+\end{codetex}
 
+\smallskip
+
+\begin{codecles}
 Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} modifier le style :
 
 \begin{itemize}
@@ -765,61 +875,73 @@
 	\item \Cle{centre} : booléen pour centrer ou non la \textit{tcbox} ;\hfill{}défaut \Cle{true}
 	\item \Cle{lignes} : booléen pour afficher ou non les numéros de ligne.\hfill{}défaut \Cle{true}
 \end{itemize}
+\end{codecles}
 
-\medskip
+\smallskip
 
-Ainsi, le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=4,breaklines]{tex}
+\begin{codetex}[listing only]
 \begin{envcodepythontex}[largeur=12cm]
 	#environnement Python(tex) centré avec numéros de ligne
 	def f(x) :
 		return x**2
 \end{envcodepythontex}
-\end{minted}
+\end{codetex}
 
-produira 
+\smallskip
 
+\begin{codesortie}
 \begin{envcodepythontex}[largeur=12cm]
 	#environnement Python(tex) centré avec numéros de ligne
 	def f(x) :
 		return x**2
 \end{envcodepythontex}
+\end{codesortie}
 
-Le code :
+\medskip
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{codetex}[listing only]
 \begin{envcodepythontex}[largeur=12cm,lignes=false,centre=false]
 	#environnement Python(tex) non centré sans numéro de ligne
 	def f(x) :
 		return x**2
 \end{envcodepythontex}
-\end{minted}
+\end{codetex}
 
-produira :
+\smallskip
 
+\begin{codesortie}
 \begin{envcodepythontex}[largeur=12cm,lignes=false,centre=false]
 	#environnement Python(tex) non centré sans numéro de ligne
 	def f(x) :
 		return x**2
 \end{envcodepythontex}
+\end{codesortie}
 
 \newpage
 
 \subsection{Présentation de code Python via minted}
 
+\begin{codeinfo}
 Pour celles et ceux qui ne sont pas à l'aise avec le \textsf{package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le \textsf{package} \ctex{minted} qui permet de présenter du code, et notamment python (il nécessite quand même une compilation avec l'option \ctex{--shell-escape} ou \ctex{-write18}).
+\end{codeinfo}
 
-\medskip
+\smallskip
 
+\begin{codeidee}
 L'environnement \ctex{\textbackslash envcodepythonminted} permet de présenter du code python, dans une \ctex{colorbox} avec un style (\textit{minted}) particulier.
+\end{codeidee}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\smallskip
+
+\begin{codetex}[listing only]
 \begin{envcodepythonminted}(*)[largeur][options]
 ...
 \end{envcodepythonminted}
-\end{minted}
+\end{codetex}
 
+\smallskip
+
+\begin{codecles}
 Plusieurs \Cle{arguments} (optionnels) sont disponibles :
 
 \begin{itemize}
@@ -827,61 +949,67 @@
 	\item le premier argument optionnel concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{12cm}
 	\item le second argument optionnel concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide}
 \end{itemize}
+\end{codecles}
 
 \medskip
 
-Ainsi le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{codetex}[listing only]
 \begin{envcodepythonminted}[12cm][center]
 	#environnement Python(minted) centré avec numéros, de largeur 12cm
 	def f(x) :
 		return x**2
 \end{envcodepythonminted}
-\end{minted}
+\end{codetex}
 
-produira :
+\smallskip
 
+\begin{codesortie}
 \begin{envcodepythonminted}[12cm][center]
 	#environnement Python(minted) centré avec numéros
 	def f(x) :
 		return x**2
 \end{envcodepythonminted}
+\end{codesortie}
 
 \medskip
 
-Et le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{codetex}[listing only]
 \begin{envcodepythonminted}*[0.8\linewidth][]
 	#environnement Python(minted) sans numéro, de largeur 0.8\linewidth
 	def f(x) :
 		return x**2
 \end{envcodepythonminted}
-\end{minted}
+\end{codetex}
 
-produira :
+\smallskip
 
+\begin{codesortie}
 \begin{envcodepythonminted}*[0.8\linewidth][]
 	#environnement Python(minted) sans numéro, de largeur 0.8\linewidth
 	def f(x) :
 		return x**2
 \end{envcodepythonminted}
+\end{codesortie}
 
-\newpage
-
 \subsection{Console d'exécution Python}
 
+\begin{codeidee}
 \ctex{pythontex} permet également de \textit{simuler} (en exécutant également !) du code python dans une \textit{console}.
 
 C'est l'environnement \ctex{\textbackslash envconsolepythontex} qui permet de le faire.
+\end{codeidee}
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\smallskip
+
+\begin{codetex}[listing only]
 \begin{envconsolepythontex}[largeur=...,centre=...,label=...]
 ...
 \end{envconsolepythontex}
-\end{minted}
+\end{codetex}
 
+\smallskip
+
+\begin{codecles}
 Les \Cle{Clés} disponibles sont :
 
 \begin{itemize}
@@ -889,12 +1017,11 @@
 	\item \Cle{centre} : booléen pour centrer ou non la \textit{console} ;\hfill{}défaut \Cle{true}
 	\item \Cle{label} : booléen pour afficher ou non le titre.\hfill{}défaut \Cle{true}
 \end{itemize}
+\end{codecles}
 
 \medskip
 
-Ainsi, le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=4,breaklines]{tex}
+\begin{codetex}[listing only]
 \begin{envconsolepythontex}[largeur=14cm,centre=false]
 	#console Python(tex) non centrée avec label
 	from math import sqrt
@@ -901,10 +1028,12 @@
 	1+1
 	sqrt(12)
 \end{envconsolepythontex}
-\end{minted}
+\end{codetex}
 
-produira 
+\smallskip
 
+\begin{codesortie}
+\smallskip
 \begin{envconsolepythontex}[largeur=14cm,centre=false]
 	#console Python(tex) non centrée avec label
 	from math import sqrt
@@ -911,33 +1040,29 @@
 	1+1
 	sqrt(12)
 \end{envconsolepythontex}
+\end{codesortie}
 
-Le code :
+\medskip
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{codetex}[listing only]
 \begin{envconsolepythontex}[largeur=14cm,label=false]
 	#console Python(tex) centrée sans label
 	table = [[1,2],[3,4]]
 	table[0][0]
 \end{envconsolepythontex}
-\end{minted}
+\end{codetex}
 
-produira :
+\smallskip
 
+\begin{codesortie}
+\smallskip
 \begin{envconsolepythontex}[largeur=14cm,label=false]
 	#console Python(tex) centrée sans label
 	table = [[1,2],[3,4]]
 	table[0][0]
 \end{envconsolepythontex}
+\end{codesortie}
 
-\subsection{Personnalisation}
-
-\textbf{NB : } compte tenu de la \textit{relative complexité} de gérer les options (par paramètres\ldots) des \textit{tcbox} et des \textit{fancyvrb}, le style est \og fixé \fg{} tel quel, et seules la taille et la position de la \textit{tcbox} sont modifiables. Si toutefois vous souhaitez personnaliser davantage, il faudra prendre le code correspondant et appliquer vos modifications !
-
-\medskip
-
-Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une base \textit{pré}existante !
-
 \newpage
 
 \section{Pseudo-Code}
@@ -944,24 +1069,34 @@
 
 \subsection{Introduction}
 
-Le \textsf{package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tclorobx} on peut obtenir une présentation similaire à celle du code Python. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code python, avec son système de \Cle{Clés}, car l'environnement \ctex{tcblisting} est un peu différente\ldots
+\begin{codeinfo}
+Le \textsf{package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tclorobox} on peut obtenir une présentation similaire à celle du code Python. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code python, avec son système de \Cle{Clés}, car l'environnement \ctex{tcblisting} est un peu différent\ldots
+\end{codeinfo}
 
 \subsection{Présentation de Pseudo-Code}
 
-L'environnement \ctex{\textbackslash envpseudocode} (chargé par \ctex{ProfLycee} permet de présenter du (pseudo-code) dans une \ctex{tcolorbox}.
+\begin{codeidee}
+L'environnement \ctex{\textbackslash envpseudocode} permet de présenter du (pseudo-code) dans une \ctex{tcolorbox}.
+\end{codeidee}
 
 \smallskip
 
+\begin{codeinfo}
 De plus, le package \ctex{listings} avec \ctex{tcolorbox} ne permet pas de gérer le paramètre \textit{autogobble}, donc il faudra être vigilant quant à la position du code (pas de tabulation en fait\ldots)
+\end{codeinfo}
 
+\smallskip
 
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\begin{codetex}[listing only]
 \begin{envpseudocode}(*)[largeur][options]
 %attention à l'indentation, gobble ne fonctionne pas...
 ...
 \end{envpseudocode}
-\end{minted}
+\end{codetex}
 
+\smallskip
+
+\begin{codecles}
 Plusieurs \Cle{arguments} (optionnels) sont disponibles :
 
 \begin{itemize}
@@ -969,14 +1104,12 @@
 	\item le premier argument optionnel concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{12cm}
 	\item le second argument optionnel concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide}
 \end{itemize}
+\end{codecles}
 
 \medskip
 
-Ainsi le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
-\begin{envpseudocode}
-%non centré, de largeur par défaut (12cm) avec lignes
+\begin{codetex}[listing only]
+\begin{envpseudocode} %non centré, de largeur par défaut (12cm) avec lignes
 List = [...]          # à déclarer au préalable
 n = longueur(List)
 Pour i allant de 0 à n-1 Faire
@@ -983,10 +1116,11 @@
 	Afficher(List[i])
 FinPour
 \end{envpseudocode}
-\end{minted}
+\end{codetex}
 
-produira :
+\smallskip
 
+\begin{codesortie}
 \begin{envpseudocode}
 List = [...]          # à déclarer au préalable
 n = longueur(List)
@@ -994,14 +1128,12 @@
 	Afficher(List[i])
 FinPour
 \end{envpseudocode}
+\end{codesortie}
 
 \medskip
 
-Et le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
-\begin{envpseudocode}*[15cm][center]
-%centré, de largeur 15cm sans ligne
+\begin{codetex}[listing only]
+\begin{envpseudocode}*[15cm][center] %centré, de largeur 15cm sans ligne
 List = [...]          # à déclarer au préalable
 n = longueur(List)
 Pour i allant de 0 à n-1 Faire
@@ -1008,10 +1140,11 @@
 	Afficher(List[i])
 FinPour
 \end{envpseudocode}
-\end{minted}
+\end{codetex}
 
-produira :
+\smallskip
 
+\begin{codesortie}
 \begin{envpseudocode}*[15cm][center]
 List = [...]          # à déclarer au préalable
 n = longueur(List)
@@ -1019,7 +1152,28 @@
 	Afficher(List[i])
 FinPour
 \end{envpseudocode}
+\end{codesortie}
 
+\subsection{Compléments}
+
+\begin{codeinfo}
+À l'instar de \textsf{packages} existants, la \textit{philosophie} ici est de laisser l'utilisateur gérer \textit{son} langage pseudo-code.
+
+J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeur car cela reviendrait à \textit{imposer} des choix ! Donc ici, pas de coloration syntaxique ou de mise en évidence de mots clés, uniquement un formatage libre de code pseudo-code.
+\end{codeinfo}
+
+\smallskip
+
+\begin{codeidee}
+Évidemment, le code source est récupérable et adaptable à volonté, en utilisant les possibilités du package \ctex{listings}.
+
+\smallskip
+
+Celles et ceux qui sont déjà à l'aise avec les \textsf{packages} \ctex{listings} ou \ctex{minted} doivent déj avoir leur environnement personnel prêt ! 
+
+Il s'agit ici de présenter une version \og clé en main \fg{}.
+\end{codeidee}
+
 \newpage
 
 \section{Terminal Windows/UNiX/OSX}
@@ -1026,31 +1180,39 @@
 
 \subsection{Introduction}
 
+\begin{codeidee}
 L'idée des \textsf{commandes} suivantes est de permettre de simuler des fenêtres de \textsf{Terminal}, que ce soit pour Windows, Ubuntu ou OSX.
 
 \smallskip
 
+L'idée de base vient du \textsf{package} \ctex{termsim}, mais ici la gestion du \textsf{code} et des \textsf{fenêtres} est légèrement différente.
+
+\smallskip
+
 Le \textsf{contenu} est géré par le package \ctex{listings}, sans langage particulier, et donc sans coloration syntaxique particulière.
 
 \smallskip
 
 Comme pour le pseudo-code, pas d'\textsf{autogobble}, donc commandes à aligner à gauche !
+\end{codeidee}
 
 \subsection{Commandes}
 
-Les (trois) environnements disponibles sont :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{codetex}[listing only]
 \begin{PLtermwin}[largeur]{titre=...}[options]
 ...
+\end{PLtermwin}
 
 \begin{PLtermunix}[largeur]{titre=...}[options]
 ...
+\end{PLtermunix}
 
 \begin{PLtermosx}[largeur]{titre=...}[options]
 ...
-\end{minted}
+\end{PLtermosx}
+\end{codetex}
 
+\begin{codecles}
 Peu d'options pour ces commandes :
 
 \begin{itemize}
@@ -1058,16 +1220,14 @@
 	\item le deuxième, mandataire, permet de spécifier le titre par la clé \Cle{titre}.\hfill{}défaut \Cle{Terminal Windows/UNiX/OSX}
 	\item le troisième, optionnel, concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide}
 \end{itemize}
+\end{codecles}
 
 \medskip
 
-Ainsi le code :
-
-\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{codetex}[listing only]
 \begin{PLtermwin}[15cm]{} %largeur 15cm avec titre par défaut
 Microsoft Windows [version 10.0.22000.493]
 (c) Microsoft Corporation. Tous droits réservés.
-
 C:\Users\test>ping -c 2ctan.org
 Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données :
 \end{PLtermwin}
@@ -1081,14 +1241,12 @@
 [test at server]$ ping -c 2 ctan.org
 PING ctan.org (5.35.249.60) 56(84) bytes of data.
 \end{PLtermosx}
-\end{minted}
+\end{codetex}
 
-produira :
-
+\begin{codesortie}
 \begin{PLtermwin}[15cm]{}
 Microsoft Windows [version 10.0.22000.493]
 (c) Microsoft Corporation. Tous droits réservés.
-
 C:\Users\test>ping -c 2ctan.org
 Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données :
 \end{PLtermwin}
@@ -1102,23 +1260,26 @@
 [test at server]$ ping -c 2 ctan.org
 PING ctan.org (5.35.249.60) 56(84) bytes of data.
 \end{PLtermosx}
+\end{codesortie}
 
 \newpage
 
 \section{Historique}
 
-{\small \bverb|v1.0.6|  : Ajout d'une option \textsf{nominted} pour ne pas charger \ctex{minted} (pas besoin de compiler avec \textsf{shell-escape})
+{\small \bverb|v1.0.7| :~~~~Ajout d'une option \textsf{build} pour placer certains fichiers auxiliaires dans un répertoire \textsf{./build}
 
-{\small \bverb|v1.0.5|  : Ajout d'un environnement pour Python (minted)
+{\small \bverb|v1.0.6| :~~~~Ajout d'une option \textsf{nominted} pour ne pas charger \ctex{minted} (pas besoin de compiler avec \textsf{shell-escape})
 
-{\small \bverb|v1.0.4|  : Ajout des environnements pour Terminal (win, osx, unix)
+{\small \bverb|v1.0.5| :~~~~Ajout d'un environnement pour Python (minted)
 
-{\small \bverb|v1.0.3|  : Ajout des environnements pour PseudoCode
+{\small \bverb|v1.0.4| :~~~~Ajout des environnements pour Terminal (win, osx, unix)
 
-{\small \bverb|v1.0.2|  : Ajout des environnements pour Python (pythontex)
+{\small \bverb|v1.0.3| :~~~~Ajout des environnements pour PseudoCode
 
-{\small \bverb|v1.0.1|  : Modification mineure liée au chargement de \ctex{xcolor}
+{\small \bverb|v1.0.2| :~~~~Ajout des environnements pour Python (pythontex)
 
-{\small \bverb|v1.0  |  : Version initiale}
+{\small \bverb|v1.0.1| :~~~~Modification mineure liée au chargement de \ctex{xcolor}
 
+{\small \bverb|v1.0  | :~~~~Version initiale}
+
 \end{document}
\ No newline at end of file

Modified: branches/branch2021.final/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- branches/branch2021.final/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-02-27 22:26:58 UTC (rev 62259)
+++ branches/branch2021.final/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-02-27 22:27:06 UTC (rev 62260)
@@ -3,10 +3,11 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2022/02/18 - v1.0.6 - Aide pour l'utilisation de LaTeX en lycée]
-% 1.0.6	Option [nominted] pour éviter de charger minted & nettoyage amssymb (pour éviter bug de chargement...)
-% 1.0.5 Environnement code python avec minted
-% 1.0.4 Environnement pour simuler terminal windows & linux
+\ProvidesPackage{ProfLycee}[2022/02/21 - v1.0.7 - Aide pour l'utilisation de LaTeX en lycée]
+% 1.0.7	Option [build] pour placer les fichiers temporaires dans un répertoire build (désactivée par défaut)
+% 1.0.6	Option [nominted] pour éviter de charger minted & nettoyage amssymb
+% 1.0.5	Environnement code python avec minted
+% 1.0.4	Environnement pour simuler terminal windows & linux
 % 1.0.3	Environnement pour présenter du pseudocode
 % 1.0.2	Environnement pour présenter du code python (avec pythontex)
 % 1.0.1	Modif mineure du chargement de xcolor (compatibilité avec d'autres packages notamment...)
@@ -15,16 +16,16 @@
 %------Option(s)
 \newif\if at nominted \@nomintedfalse
 \DeclareOption{nominted}{\@nomintedtrue}
+\newif\if at build \@buildfalse
+\DeclareOption{build}{\@buildtrue}
 \DeclareOption*{}
 \ProcessOptions\relax
 
 %------Packages utiles
 \RequirePackage[table,svgnames]{xcolor}%Gestion des couleurs
-%\RequirePackage{amssymb}
 \RequirePackage{tikz}
 \RequirePackage{pgf,pgffor}
 \RequirePackage{ifthen}
-\RequirePackage{environ}
 \RequirePackage{xparse}
 \RequirePackage{xkeyval}
 \RequirePackage{xfp}
@@ -46,7 +47,10 @@
 %python
 \RequirePackage{fancyvrb}
 \RequirePackage[gobble=auto]{pythontex}
-\setpythontexlistingenv{pythont}
+\setpythontexlistingenv{pythont} %pour ne pas télescoper lstlistings (?)
+\if at build
+	\setpythontexoutputdir{./build/pythontex-files-\jobname} %essai de modif pythontex répertoire build
+\fi
 
 %---------------SPLINES----------------------
 %------commande utile pour extraire des infos d'une liste
@@ -375,7 +379,11 @@
 \if at nominted
 	%on ne charge pas minted et la librairie tcbox
 \else
-	%on charge minted et la librairie tcbox
+	\if at build
+		%on charge minted avec le répertoire build
+		\RequirePackage[outputdir=build]{minted}
+	\fi
+	%on charge minted via la librairie tcbox
 	\tcbuselibrary{minted}
 \fi
 



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