<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% !TeX TXS-program:compile = txs:///arara
% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')

\documentclass[11pt,a4paper]{ltxdoc}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{tkz-grapheur}
\pgfplotsset{compat=newest}
\usepackage{alphalph}
\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage{nicefrac}
\usepackage{fontawesome5}
\usepackage{tcolorbox}
\usepackage{minted2}
\tcbuselibrary{skins,minted}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\lfoot{\sffamily\small [tkz-grapheur]}
\rfoot{\sffamily\small - \thepage{} -}
\usepackage{hologo}
\providecommand\tikzlogo{Ti\textit{k}Z}
\providecommand\TeXLive{\TeX{}Live\xspace}
\providecommand\PSTricks{\textsf{PSTricks}\xspace}
\let\pstricks\PSTricks
\let\TikZ\tikzlogo

\urlstyle{same}
\hypersetup{pdfborder=0 0 0}
\usepackage[margin=2cm]{geometry}
\setlength{\parindent}{0pt}
\def\TPversion{0.2.5}
\def\TPdate{30/05/2025}
\usepackage{soul}
\usepackage{codehigh}
\usepackage{tabularray}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
	\hl{\vphantom{\texttt{pf}}\texttt{#1}}%
}
\usepackage[french]{babel}
\sisetup{group-minimum-digits=4}
\renewcommand{\footnoterule}{\vfill\kern -3pt \hrule width 0.4\columnwidth \kern 2.6pt}

\begin{document}

\pagestyle{fancy}

\thispagestyle{empty}

\begin{center}
	\begin{minipage}{0.88\linewidth}
	\begin{tcolorbox}[colframe=yellow,colback=yellow!15]
		\begin{center}
			\begin{tabular}{c}
				{\Huge \texttt{tkz-grapheur [fr]}}\\
				\\
				{\LARGE Un systÃ¨me de grapheur,}\\
				\\
				{\LARGE basÃ© sur \textsf{\TikZ} et \textsf{xint}.}\\
				\\
				{\small \texttt{Version \TPversion{} -- \TPdate}}
		\end{tabular}
		\end{center}
	\end{tcolorbox}
\end{minipage}
\end{center}

\begin{center}
	\begin{tabular}{c}
	\texttt{CÃ©dric Pierquet}\\
	{\ttfamily c pierquet -- at -- outlook . fr}\\
	\texttt{\url{https://forge.apps.education.fr/pierquetcedric/packages-latex}} \\
\end{tabular}
\end{center}

\hrule

\vfill

\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5,halign=center]
\begin{GraphiqueTikz}[x=0.85cm,y=0.35cm,Xmin=0,Xmax=10,Ymin=0,Ymax=16]
	%prÃ©paration de la fenÃªtre
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,1,...,10}{0,2,...,16}
	%dÃ©f des fonctions avec nom courbe + nom fonction + expression
	\DefinirCourbe[Nom=cf]&lt;f&gt;{3*x-6}
	\DefinirCourbe[Nom=cg]&lt;g&gt;{-(x-6)^2+12}
	%antÃ©cÃ©dents et intersection
	\TrouverIntersections[Aff=false,Nom=K]{cf}{cg}
	\TrouverAntecedents[AffDroite,Couleur=orange,Nom=I]{cg}{8}
	\TrouverAntecedents[Aff=false,Nom=J]{cg}{0}
	%intÃ©grale sous une courbe, avec intersection
	\TracerIntegrale%
	[Couleurs=blue/purple,Bornes=noeuds,Style=hachures,Hachures=bricks]%
		{g(x)}%
		{(I-2)}{(J-2)}
	%intÃ©grale entre les deux courbes
	\TracerIntegrale[Bornes=noeuds,Type=fct/fct]{f(x)}[g(x)]{(K-1)}{(K-2)}
	%tracÃ© des courbes et des points
	\TracerCourbe[Couleur=red]{f(x)}
	\TracerCourbe[Couleur=teal]{g(x)}
	\PlacerPoints&lt;\small&gt;{(K-1)/below right/L,(K-2)/above left/M}%
	\PlacerPoints[violet]&lt;\small&gt;{(I-1)/above left/D,(I-2)/above right/E}%
	%essai de tangente
	\TracerTangente[Couleurs=pink!75!black/yellow,kl=2,kr=2,AffPoint]{g}{5}
	%essai d'image
	\PlacerImages[Couleurs=cyan]{g}{7,7.25,7.5}
	%surimpression des axes
	\TracerAxesGrilles[Grads=false,Grille=false,Elargir=2.5mm]{0,1,...,10}{0,2,...,16}
\end{GraphiqueTikz}
\end{tcolorbox}

\vspace*{5mm}

\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5,halign=center]
\begin{GraphiqueTikz}%
	[x=3.5cm,y=4cm,
	Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24,
	Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05]
	%prÃ©paration de la fenÃªtre
	\TracerAxesGrilles[Grads=false,Elargir=2.5mm,Format=ntrig/nsqrt]%
	{pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi}
	{0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2}
	%rajouter des valeurs
	\RajouterValeursAxeX{0.25,1.4,3.3}{\num{0.25},\num{1.4},\num{3.3}}
	%fonction trigo (dÃ©f + tracÃ©)
	\DefinirCourbe[Nom=ccos,Debut=0,Fin=pi]&lt;fcos&gt;{cos(x)}
	\DefinirCourbe[Nom=csin,Debut=0,Fin=pi]&lt;fsin&gt;{sin(x)}
	%intÃ©grale
	\TrouverIntersections[Aff=false,Nom=JKL]{ccos}{csin}
	%\DefinirPts{FIN/pi/0}
	\TracerIntegrale%
	[Bornes=noeud/abs,Type=fct/fct,Couleurs=cyan/cyan!50]%
		{fsin(x)}[fcos(x)]%
		{(JKL-1)}{pi}
	%tracÃ© des courbes
	\TracerCourbe[Couleur=red,Debut=0,Fin=pi]{fcos(x)}
	\TracerCourbe[Couleur=olive,Debut=0,Fin=pi]{fsin(x)}
	%antÃ©cÃ©dent(s)
	\PlacerAntecedents[Couleurs=blue/teal!50!black,Traits]{ccos}{-0.25}
	\PlacerAntecedents[Couleurs=red/magenta!50!black,Traits]{csin}{0.5}
	\PlacerAntecedents[Couleurs=orange/orange!50!black,Traits]{csin}{sqrt(2)/2}
	\PlacerAntecedents[Couleurs=green!50!black/green,Traits]{csin}{sqrt(3)/2}
	%surimpression axes
	\TracerAxesGrilles[Grille=false,Elargir=2.5mm,Format=ntrig/nsqrt]%
	{pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi}
	{0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2}
\end{GraphiqueTikz}
\end{tcolorbox}

\vfill

\hfill{\footnotesize\textit{\ttfamily Ã€ mon papa.}}

\vspace*{5mm}

\pagebreak

\phantomsection

\hypertarget{matoc}{}

\tableofcontents

\vspace*{5mm}

\hrule

\vspace*{5mm}

\pagebreak

\section{Introduction}

\subsection{Description et idÃ©es gÃ©nÃ©rales}

Avec ce modeste package, loin des capacitÃ©s offertes par exemple par les excellents packages \MontreCode{pgfplots}\footnote{CTAN : \url{https://ctan.org/pkg/pgfplots}}, \MontreCode{tkz-*}\footnote{par exemple tkz-base \url{https://ctan.org/pkg/tkz-base} et tkz-fct \url{https://ctan.org/pkg/tkz-fct}.} (d'Alain Matthes) ou \MontreCode{tzplot}\footnote{CTAN :  \url{https://ctan.org/pkg/tzplot}.} (de In-Sung Cho), il est possible de travailler sur des graphiques de fonctions, en langage \TikZ, de maniÃ¨re \textit{intuitive} et \textit{explicite}.

\smallskip

Concernant le fonctionnement global :

\smallskip

\begin{itemize}
	\item des styles particuliers pour les objets utilisÃ©s ont Ã©tÃ© dÃ©finis (modifiables localement) ;
	\item le nom des commandes est sous forme \textit{opÃ©rationnelle}, de sorte que la construction des Ã©lÃ©ments graphiques a une forme quasi \textit{algorithmique}.
\end{itemize}

\subsection{Fonctionnement global}

Pour schÃ©matiser, il \textit{suffit} :

\smallskip

\begin{itemize}
	\item de dÃ©clarer les paramÃ¨tres de la fenÃªtre graphique ;
	\item d'afficher grille/axes/graduations ;
	\item de dÃ©clarer les fonctions ou les courbes d'interpolation ;
	\item de dÃ©clarer Ã©ventuellement des points particuliers ;
	\item de placer un nuage de points.
\end{itemize}

\smallskip

Il sera ensuite possible :

\begin{itemize}
	\item de tracer des courbes ;
	\item de dÃ©terminer graphiquement des images ou des antÃ©cÃ©dents ;
	\item de rajouter des Ã©lÃ©ments de dÃ©rivation (tangentes) ou d'intÃ©gration (domaine) ;
	\item de tracer une droite d'ajustement linÃ©aire ou la courbe d'un autre ajustement ;
	\item \dots
\end{itemize}

\subsection{Packages utilisÃ©s, et options du package}

Le package utilise :

\smallskip

\begin{itemize}
	\item \MontreCode{tikz}, avec les librairies \MontreCode{calc,intersections,patterns,patterns.meta,bbox} ;
	\item \MontreCode{simplekv}, \MontreCode{xintexpr}, \MontreCode{xstring}, \MontreCode{listofitems} ;
	\item \MontreCode{pgfplots}, avec la librairie \MontreCode{fillbetween} (dÃ©sactivable via \MontreCode{[nonpgfplots]}) ;
	\item \MontreCode{xint-regression}\footnote{CTAN : \url{https://ctan.org/pkg/xint-regression}.} (pour les rÃ©gressions, dÃ©sactivable via \MontreCode{[nonxintreg]}).
\end{itemize}

\smallskip

Le package charge Ã©galement \MontreCode{siunitx} avec les options classiques \texttt{[fr]}, mais il est possible de ne pas le charger en utilisant l'option \MontreCode{[nonsiunitx]}.

\pagebreak

\subsection{Chargement du package}

Le package charge Ã©galement la librairie \TikZ\ \MontreCode{babel}, mais il est possible de ne pas la charger en utilisant l'option \MontreCode{[nontikzbabel]}.

\smallskip

Les diffÃ©rentes options sont bien Ã©videmment cumulables.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%chargement par dÃ©faut
\usepackage{tkz-grapheur}

%chargement sans sinuitx, Ã&nbsp; charger manuellement
\usepackage[nonsiunitx]{tkz-grapheur}

%chargement sans tikz.babel
\usepackage[nontikzbabel]{tkz-grapheur}

%chargement sans pgfplots + options compat
\usepackage[nonpgfplots]{tkz-grapheur}
\pgfplotsset{compat=...}
\end{tcblisting}

Ã€ noter Ã©galement que certaines commandes peuvent utiliser des packages comme \MontreCode{nicefrac}, qui sera donc Ã&nbsp; charger le cas Ã©chÃ©ant.

\smallskip

Concernant la partie \textit{calculs} et \textit{tracÃ©s}, c'est le package \MontreCode{xint} qui s'en occupe.

\subsection{Avertissements}

Il est possible, dÃ» aux calculs (multiples) effectuÃ©s en interne, que le temps de compilation soir un peu \textit{allongÃ©}.

\smallskip

La prÃ©cision des rÃ©sultats (de dÃ©termination) semble Ãªtre aux environs de $10^{-4}$, ce qui devrait normalement garantir des tracÃ©s et lectures \textit{satisfaisantes}. Il est quand mÃªme conseillÃ© d'Ãªtre prudent quant aux rÃ©sultats obtenus et ceux attendus.

\pagebreak

\subsection{Exemple introductif}

On peut par exemple partir de l'exemple suivant, pour \textit{illustrer} le cheminement des commandes de ce package. Les commandes et la syntaxe seront dÃ©taillÃ©es dans les sections suivantes !

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=10cm,y=10cm,Xmin=0,Xmax=1.001,Xgrille=0.1,Xgrilles=0.02,
	Ymin=0,Ymax=1.001,Ygrille=0.1,Ygrilles=0.02]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]%
		{0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1}
		{0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1}
	\DefinirCourbe[Nom=cf,Debut=0,Fin=1]&lt;f&gt;{x*exp(x-1)}
	\DefinirCourbe[Nom=delta,Debut=0,Fin=1]&lt;D&gt;{x}
	\TracerIntegrale[Type=fct/fct]{f(x)}[D(x)]{0}{1}
	\TracerCourbe[Couleur=red]{f(x)}
	\TracerCourbe[Couleur=teal,StyleTrace=dashed]{D(x)}
	\PlacerImages[Couleurs=blue/cyan,Traits]{f}{0.8,0.9}
	\PlacerAntecedents[Couleurs=green!50!black/olive,Traits]{cf}{0.5}
\end{GraphiqueTikz}
\end{tcblisting}

\newpage

\section{Styles de base et crÃ©ation de l'environnement}

\subsection{Styles de base}

Les styles utilisÃ©s pour les tracÃ©s sont donnÃ©s ci-dessous.

\smallskip

Dans une optique de \textit{simplicitÃ©}, seule la couleur des Ã©lÃ©ments peut Ãªtre paramÃ©trÃ©e, mais si l'utilisateur le souhaite, il peut redÃ©finir les styles proposÃ©s.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%paramÃ¨tres dÃ©clarÃ©s et stockÃ©s (utilisables dans l'environnement a posteriori)
\tikzset{
	Xmin/.store in=\pflxmin,Xmin/.default=-3,Xmin=-3,
	Xmax/.store in=\pflxmax,Xmax/.default=3,Xmax=3,
	Ymin/.store in=\pflymin,Ymin/.default=-3,Ymin=-3,
	Ymax/.store in=\pflymax,Ymax/.default=3,Ymax=3,
	Origx/.store in=\pflOx,Origx/.default=0,Origx=0,
	Origy/.store in=\pflOy,Origy/.default=0,Origy=0,
	Xgrille/.store in=\pflgrillex,Xgrille/.default=1,Xgrille=1,
	Xgrilles/.store in=\pflgrillexs,Xgrilles/.default=0.5,Xgrilles=0.5,
	Ygrille/.store in=\pflgrilley,Ygrille/.default=1,Ygrille=1,
	Ygrilles/.store in=\pflgrilleys,Ygrilles/.default=0.5,Ygrilles=0.5
}
\end{tcblisting}

On retrouve donc :

\smallskip

\begin{itemize}
	\item l'origine du repÃ¨re (\MontreCode{Origx}/\MontreCode{Origy}) ;
	\item les valeurs extrÃªmes des axes (\MontreCode{Xmin}/\MontreCode{Xmax}/\MontreCode{Ymin}/\MontreCode{Ymax}) ;
	\item les paramÃ¨tres des grilles principales et secondaires (\MontreCode{Xgrille}/\MontreCode{Xgrilles}/\MontreCode{Ygrille}/\MontreCode{Ygrilles}).
\end{itemize}

\smallskip

Concernant les styles des \textit{objets}, ils sont donnÃ©s ci-dessous.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%styles grilles/axes
\tikzset{pflgrillep/.style={thin,lightgray}}
\tikzset{pflgrilles/.style={very thin,lightgray}}
\tikzset{pflaxes/.style={line width=0.8pt,-&gt;,&gt;=latex}}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%style des points (courbe / nuage /labels / montecarlo)
\tikzset{pflpoint/.style={line width=0.95pt}}
\tikzset{pflpointc/.style={radius=1.75pt}}
\tikzset{pflpointnuage/.style={radius=1.75pt}}
\tikzset{pflpointmc/.style={radius=0.875pt}}
\tikzset{pflnoeud/.style={}} %pour les inner sep par exemple :-)
\tikzset{pflcourbediscont/.style={line width=1.1pt}}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%style des courbes
\tikzset{pflcourbe/.style={line width=1.05pt}}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%style des traits (normaux, antÃ©cÃ©dents, images)
\tikzset{pfltrait/.style={line width=0.8pt}}
\tikzset{pfltraitantec/.style={line width=0.95pt,densely dashed}}
\tikzset{pfltraitimg/.style={line width=0.95pt,densely dashed,-&gt;,&gt;=latex}}

%style des flÃ¨ches
\tikzset{pflflecheg/.style={&lt;-,&gt;=latex}}
\tikzset{pflfleched/.style={-&gt;,&gt;=latex}}
\tikzset{pflflechegd/.style={&lt;-&gt;,&gt;=latex}}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%style des constructions ECC (courbe / paramÃ¨tres)
\tikzset{pfltraitsparamecc/.style={line width=0.9pt,densely dashed}}
\tikzset{pflcourbeecc/.style={line width=1.05pt}}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%style des constructions rÃ©currence
\tikzset{pfltraitrec/.style={line width=0.8pt}}
\tikzset{pfltraitrecpointill/.style={pfltraitrec,densely dashed}}
\end{tcblisting}

L'idÃ©e est donc de pouvoir redÃ©finir globalement ou localement les styles, et Ã©ventuellement de rajouter des Ã©lÃ©ments, en utilisant \mintinline{latex}|monstyle/.append style={...}|.

\subsection{CrÃ©ation de l'environnement}\label{creaenvt}

L'environnement proposÃ© est basÃ© sur \TikZ, de sorte que toute commande \textit{classique} liÃ©e Ã&nbsp; \TikZ\ peut Ãªtre utilisÃ©e en marge des commandes du package !

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
\begin{GraphiqueTikz}[options tikz]&lt;clÃ©s&gt;
	%code(s)
\end{GraphiqueTikz}
\end{tcblisting}

Les \MontreCode{[options tikz]} sont les options \textit{classiques} qui peuvent Ãªtre passÃ©es Ã&nbsp; un environnement \TikZ, ainsi que les clÃ©s des \textsf{axes/grilles/fenÃªtre} prÃ©sentÃ©es prÃ©cÃ©demment.

\smallskip

Les \MontreCode{&lt;clÃ©s&gt;} spÃ©cifiques (et optionnelles) sont :

\smallskip

\begin{itemize}
	\item \MontreCode{TailleGrad} : taille des graduations des axes (\MontreCode{3pt} pour 3pt \textit{dessus} et 3pt \textit{dessous}) ;
	\item \MontreCode{AffCadre} : boolÃ©en (\MontreCode{false} par dÃ©faut) pour afficher un cadre qui dÃ©limite la fenÃªtre graphique (hors graduations Ã©ventuelles).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}
	[x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10,
	Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5]
	&lt;AffCadre&gt;
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	&lt;AffCadre&gt;
\end{GraphiqueTikz}
\end{tcblisting}

Ce sera bien Ã©videmment plus parlant avec les Ã©lÃ©ments graphiques rajoutÃ©s !

\pagebreak

\subsection{Grilles et axes}\label{creaaxesgr}

La premiÃ¨re commande \textit{utile} va permettre de crÃ©er les grilles, les axes et les graduations.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerAxesGrilles[clÃ©s]{gradX}{gradY}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Grille} : boolÃ©en (\MontreCode{true} par dÃ©faut) pour afficher les grilles (pour une grille unique, il suffit de mettre les paramÃ¨tres identiques pour \MontreCode{Xgrille}/\MontreCode{Xgrilles} ou \MontreCode{Ygrille}/\MontreCode{Ygrilles}) ;
	\item \MontreCode{Elargir} : rajout Ã&nbsp; la fin des axes (\MontreCode{0} par dÃ©faut) ;
	\item \MontreCode{Grads} : boolÃ©en (\MontreCode{true} par dÃ©faut) pour les graduations ;
	\item \MontreCode{Police} : police globale des graduations {\MontreCode{vide} par dÃ©faut} ;
	\item \MontreCode{Format} : formatage particulier (voir en dessous) des valeurs des axes.
\end{itemize}

\smallskip

Concernant la clÃ© \MontreCode{Format}, elle permet de spÃ©cifier un paramÃ©trage spÃ©cifique pour les valeurs des axes.

\smallskip

Elle peut Ãªtre donnÃ©e sous la forme \MontreCode{fmt} pour un formatage combinÃ©, ou sous la forme \MontreCode{fmtX/fmtY} pour diffÃ©rencier le formatage.

\smallskip

Les options possible sont :

\smallskip

\begin{itemize}
	\item \MontreCode{num} : formater avec \textsf{siunitx} ;
	\item \MontreCode{annee} : formater en annÃ©e ;
	\item \MontreCode{frac} : formater en fraction \textsf{frac} ;
	\item \MontreCode{dfrac} : formater en fraction \textsf{dfrac} ;
	\item \MontreCode{nfrac} : formater en fraction \textsf{nicefrac} ;\hfill(Ã&nbsp; charger !)
	\item \MontreCode{trig} : formater en trigo avec \textsf{frac} ;
	\item \MontreCode{dtrig} : formater en trigo avec \textsf{dfrac} ;
	\item \MontreCode{ntrig} : formater en trigo avec \textsf{nfrac} ;
	\item \MontreCode{sqrt} : formater en racine avec \textsf{frac} ;
	\item \MontreCode{dsqrt} : formater en racine avec \textsf{dfrac} ;
	\item \MontreCode{nsqrt} : formater en racine avec \textsf{nicefrac}.
\end{itemize}

\smallskip

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}
	[x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10,
	Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,10,...,160}{250,275,...,400}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
\end{GraphiqueTikz}
\end{tcblisting}

Ã€ noter qu'il existe les clÃ©s boolÃ©ennes \MontreCode{[Derriere]} (sans les graduations) et \MontreCode{[Devant]} (sans la grille) pour afficher les axes en mode \textit{sous/sur}-impression dans le cas d'intÃ©grales par exemple.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=2.75cm,y=3cm,
	Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24,
	Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05]
	\TracerAxesGrilles[Elargir=2.5mm,Format=dtrig/nsqrt,Police=\footnotesize]%
		{pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi}
		{0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2}
\end{GraphiqueTikz}
\end{tcblisting}

Dans le cas oÃ¹ le formatage ne donne pas de rÃ©sultat(s) satisfaisant(s), il est possible d'utiliser une commande gÃ©nÃ©rique de placement des graduations.

\pagebreak

Dans le cas oÃ¹ les graduations sont \textit{naturellement} dÃ©finies par les donnÃ©es de la fenÃªtre et de la grille (principale), il est possible de prÃ©ciser \MontreCode{auto} dans les arguments obligatoires (dans ce cas le formatage ne sera pas possible, et \MontreCode{Format=num} sera obligatoirement utilisÃ©).

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=1.5cm,y=6cm,Xmin=0,Xmax=7,Xgrille=0.5,Xgrilles=0.25,
	Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05]
	\TracerAxesGrilles[Elargir=2.5mm,Dernier]{auto}{auto}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{Ajout de valeurs manuellement}\label{ajoutvals}

Il est Ã©galement possible d'utiliser une commande spÃ©cifique pour placer des valeurs sur les axes, indÃ©pendamment d'un systÃ¨me \textit{automatisÃ©} de formatage.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\RajouterValeursAxeX[clÃ©s]{positions}{valeurs formatÃ©es}
\RajouterValeursAxeY[clÃ©s]{positions}{valeurs formatÃ©es}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Police} : police globale des graduations {\MontreCode{vide} par dÃ©faut} ;
	\item \MontreCode{Traits} : boolÃ©en pour ajouter les traits des graduations {\MontreCode{true} par dÃ©faut}.
\end{itemize}

\smallskip

Les arguments obligatoires correspondent aux abscisses (en langage\TikZ) et aux labels (en langage \LaTeX) des graduations.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=2.75cm,y=3cm,
	Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24,
	Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05]
	\TracerAxesGrilles[Grad=false,Elargir=2.5mm,]{}{}
	\RajouterValeursAxeX
		{0.15,0.6,pi/2,2.8284}
		{\num{0.15},$\frac35$,$\displaystyle\frac{\pi}{2}$,$\sqrt{8}$}
	\RajouterValeursAxeY
		{-1,0.175,0.3,sqrt(3)/2}
		{\num{-1},\num{0.175},$\nicefrac{3}{10}$,$\frac{\sqrt{3}}{2}$}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\section{Commandes spÃ©cifiques de dÃ©finitions}

\subsection{Tracer une droite}\label{tracdroite}

L'idÃ©e est de proposer une commande pour tracer une droite, Ã&nbsp; partir :

\begin{itemize}
	\item de deux points (ou nÅ“uds) ;
	\item d'un point (ou nÅ“ud) et de la pente.
\end{itemize}

Il existe Ã©galement une commande pour une asymptote verticale.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerDroite[clÃ©s]{point ou nÅ“ud}{point ou noeud ou pente}
\TracerAsymptote[clÃ©s]{abscisse}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : nom Ã©ventuel du tracÃ© (pour rÃ©utilisation) ;
	\item \MontreCode{Pente} : boolÃ©en pour prÃ©ciser que la pente est utilisÃ©e (\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{Debut} : dÃ©but du tracÃ© (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : fin du tracÃ© (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{StyleTrace} : style du tracÃ© (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Couleur} : couleur du tracÃ© (\MontreCode{black} par dÃ©faut).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirPts[Aff,Couleur=gray]{A/-4/3,B/2/0,C/0/-1}
	\TracerDroite[Couleur=red]{(-2,-1)}{(2,4)}
	\TracerDroite[Couleur=blue,Debut=-5,Fin=3]{(A)}{(B)}
	\TracerDroite[Couleur=olive,Pente]{(C)}{0.25}
	\TracerAsymptote[Couleur=brown]{-6}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{DÃ©finir une fonction, tracer la courbe d'une fonction}\label{deftracfct}

L'idÃ©e est de dÃ©finir une fonction, pour rÃ©utilisation ultÃ©rieure. Cette commande \textit{crÃ©e} la fonction, sans la tracer, car dans certains cas des Ã©lÃ©ments devront Ãªtre tracÃ©s au prÃ©alable.

\smallskip

Il existe Ã©galement une commande pour tracer la courbe d'une fonction prÃ©cÃ©demment dÃ©finie.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\DefinirCourbe[clÃ©s]&lt;nom fct&gt;{formule xint}
\TracerCourbe[clÃ©s]{formule xint}
\end{tcblisting}

Les \MontreCode{[clÃ©s]} pour la dÃ©finition ou le tracÃ©, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Debut} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{Nom} : nom de la courbe (important pour la suite !) ;
	\item \MontreCode{Couleur} : couleur du tracÃ© (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Pas} : pas du tracÃ© (il est dÃ©terminÃ© \textit{automatiquement} au dÃ©part mais peut Ãªtre modifiÃ©) ;
	\item \MontreCode{StyleTrace} : style du tracÃ© (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Trace} : boolÃ©en pour tracer Ã©galement la courbe (\MontreCode{false} par dÃ©faut).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	%dÃ©finition de la fonction + tracÃ© de la courbe
	%la fonction ln a Ã©tÃ© crÃ©Ã©e pour xint !
	\DefinirCourbe[Nom=cf,Debut=5,Fin=19]&lt;f&gt;{-2*x+3+24*ln(2*x)}
	\TracerCourbe[Couleur=red,Debut=5,Fin=19]{f(x)}
	%ou en une seule commande si "suffisant"
	%\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace]&lt;f&gt;{-2*x+3+24*ln(2*x)}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{DÃ©finir/tracer une courbe d'interpolation (simple)}\label{deftracinterpo}

Il est Ã©galement possible de dÃ©finir une courbe via des points supports, donc une courbe d'interpolation simple.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\DefinirCourbeInterpo[clÃ©s]{liste des points support}
\TracerCourbeInterpo[clÃ©s]{liste des points support}
\end{tcblisting}

Les \MontreCode{[clÃ©s]} pour la dÃ©finition ou le tracÃ©, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : nom de la courbe d'interpolation (important pour la suite !) ;
	\item \MontreCode{Couleur} : couleur du tracÃ© (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Tension} : paramÃ©trage de la \textit{tension} du tracÃ© d'interpolation (\MontreCode{0.5} par dÃ©faut) ;
	\item \MontreCode{StyleTrace} : style du tracÃ© (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Trace} : boolÃ©en pour tracer Ã©galement la courbe (\MontreCode{false} par dÃ©faut).
\end{itemize}

L'argument obligatoire permet quant Ã&nbsp; lui de spÃ©cifier la liste des points supports sous la forme \MontreCode{(x1,y1)(x2,y2)...}.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5}
	%courbes d'interpolation simples (avec tension diff)
	\DefinirCourbeInterpo[Nom=interpotest,Couleur=blue,Trace]%
		{(-6,4)(-2,-2)(3,3.5)}
	\DefinirCourbeInterpo[Nom=interpotest,Couleur=red,Trace,Tension=1]%
		{(-6,4)(-2,-2)(3,3.5)}
\end{GraphiqueTikz}
\end{tcblisting}

\newpage

\subsection{DÃ©finir/tracer une courbe d'interpolation (Hermite)}\label{deftracfctspline}

Il est Ã©galement possible de dÃ©finir une courbe via des points supports, donc une courbe d'interpolation avec contrÃ´le de la dÃ©rivÃ©e.

\smallskip

Certaines exploitations demandant des techniques diffÃ©rentes suivant le type de fonction utilisÃ©e, une clÃ© boolÃ©enne \MontreCode{Spline} permettra au code d'adapter ses calculs suivant l'objet utilisÃ©.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\DefinirCourbeSpline[clÃ©s]{liste des points support}[\macronomspline]
\TracerCourbeSpline[clÃ©s]{liste des points support}[\macronomspline]
\end{tcblisting}

Les \MontreCode{[clÃ©s]} pour la dÃ©finition ou le tracÃ©, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : nom de la courbe d'interpolation (important pour la suite !) ;
	\item \MontreCode{Coeffs} : modifier (voir la documentation de \textsf{ProfLycee}\footnote{CTAN : \url{https://ctan.org/pkg/proflycee}} les \textit{coefficients} du spline ;
	\item \MontreCode{Couleur} : couleur du tracÃ© (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Trace} : boolÃ©en pour tracer Ã©galement la courbe (\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{StyleTrace} : style du tracÃ© (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Alt} : boolÃ©en pour activer une autre \textit{mÃ©thode de calcul} (\MontreCode{false} par dÃ©faut).
\end{itemize}

L'argument obligatoire permet quant Ã&nbsp; lui de spÃ©cifier la liste des points supports sous la forme \MontreCode{x1/y1/f'1Â§x2/y2/f'2Â§...} avec :

\begin{itemize}
	\item \MontreCode{xi/yi} les coordonnÃ©es du point ;
	\item \MontreCode{f'i} la dÃ©rivÃ© au point support.
\end{itemize}

\smallskip

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.8cm,y=0.8cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5}
	%dÃ©finition de la liste des points support du spline
	\def\LISTETEST{-6/4/-2Â§-5/2/-2Â§-4/0/-2Â§-2/-2/0Â§1/2/2Â§3/3.5/0.5}
	%dÃ©finition et tracÃ© du spline cubique (x2)
	\DefinirCourbeSpline[Nom=splinetest,Trace,Couleur=olive]{\LISTETEST}
	\DefinirCourbeSpline[Alt,Nom=splinetest,Trace,Couleur=teal]{\LISTETEST}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{DÃ©finir/tracer une courbe d'interpolation (Lagrange)}\label{lagrangeinterpo}

Il est Ã©galement possible de dÃ©finir une courbe d'interpolation de Lagrange (merci Ã&nbsp; \textit{JF Burnol} pour son aide !).

L'idÃ©e est d'utiliser une commande permettant de gÃ©nÃ©rer le polynÃ´me de Lagrange, utilisable comme une fonction \MontreCode{xint} Ã&nbsp; l'aide des commandes classiques
\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\GenererPolynomeLagrange[nom fonction]{liste X}{liste Y}
\TracerCourbe[clÃ©s]{f(x)}
\end{tcblisting}

par dÃ©faut, le nom de la fonction dÃ©finie est \MontreCode{polylagrange}, mais il peut Ãªtre modifiÃ©.

Une clÃ© (boolÃ©enne) spÃ©cifique lors du tracÃ©, \MontreCode{RestreindreY}, permet de limiter les valeurs verticales liÃ©es au phÃ©nomÃ¨ne de Runge.

Une commande spÃ©cifique de placements des points est Ã©galement disponible, afin de conserver la syntaxe de la commande de gÃ©nÃ©ration.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[Xmin=-5,Xmax=5,Ymin=-2,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{auto}{auto}
	\GenererPolynomeLagrange{-4,-1,2,4}{-1,3.5,0,4}
	\TracerCourbe[Couleur=violet]{polylagrange(x)}
	\MarquerPtsLagrange*[Couleur=blue]{-4,-1,2,4}{-1,3.5,0,4}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[Xmin=-5,Xmax=5,Ymin=-2,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{auto}{auto}
	\GenererPolynomeLagrange{-4,-3,0,2,4}{-1,3.5,2,1,0}
	\TracerCourbe[Couleur=red,Nom=cf]{polylagrange(x)}
	\MarquerPtsLagrange*[Couleur=blue]{-4,-3,0,2,4}{-1,3.5,2,1,0}
	\PlacerAntecedents[Couleurs=teal/cyan,Traits,Nom=PO]{cf}{1.75}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
		[x=6cm,y=3cm,Xmin=-1.25,Xmax=1.25,Ymin=-0.5,Ymax=2,
		Xgrille=0.125,Xgrilles=1,Ygrille=0.25,Ygrilles=0.25]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\footnotesize]%
		{-1.25,-1,...,1.25}%
		{auto}
	\GenererPolynomeLagrange%
		{seq(i,i=-1..[0.2]..1)}               %langage xint :-)
		{seq(1/(1+25*i^2),i=-1..[0.2]..1)}    %langage xint :-)
	\TracerCourbe[Couleur=lime]{1/(25*x^2+1)}
	\TracerCourbe[Couleur=red,RestreindreY]{polylagrange(x)}
	\MarquerPtsLagrange*[Couleur=blue]%
		{-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1}%
		{0.038,0.058,0.1,0.2,0.5,1.0,0.5,0.2,0.1,0.058,0.038}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{DÃ©finir des points sous forme de nÅ“uds}\label{defpts}

La seconde idÃ©e est de travailler avec des nÅ“uds \TikZ, qui pourront Ãªtre utiles pour des tracÃ©s de tangentes, des reprÃ©sentations d'intÃ©grales$\ldots$

\smallskip

Il est Ã©galement possible de dÃ©finir des nÅ“uds pour des points \textit{image}.

\smallskip

Certaines commandes (explicitÃ©s ultÃ©rieurement) permettent de dÃ©terminer des points particuliers des courbes sous forme de nÅ“uds, donc il semble intÃ©ressant de pouvoir en dÃ©finir directement.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%par les coordonnÃ©es
\DefinirPts[clÃ©s]{Nom1/x1/y1,Nom2/x2/y2,...}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Aff} : boolÃ©en pour marquer les points (\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{Couleur} : couleur des points, si \MontreCode{Aff=true} (\MontreCode{black} par dÃ©faut).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%sous forme d'image
\DefinirImage[clÃ©s]{objet}{abscisse}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : nom du nÅ“ud (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Spline} : boolÃ©en pour spÃ©cifier qu'un spline est utilisÃ© (\MontreCode{false} par dÃ©faut).
\end{itemize}

Le premier argument obligatoire est l'\textit{objet} considÃ©rÃ© (nom de la courbe pour le spline, fonction sinon) ; le second est l'abscisse du point considÃ©rÃ©.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	%dÃ©finition de la fonction + tracÃ© de la courbe
	\DefinirFonction[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]&lt;f&gt;{-2*x+3+24*log(2*x)}
	%nÅ“uds manuels
	\DefinirPts[Aff,Couleur=brown]{A/7/42,B/16/49}
	%nÅ“ud image
	\DefinirImage[Nom=IMGf]{f}{14}
	\MarquerPts*[Style=x,Couleur=blue]{(IMGf)}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{Marquage de points}\label{markpts}

L'idÃ©e est de proposer de quoi marquer des points avec un style particulier.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\MarquerPts(*)[clÃ©s]&lt;police&gt;{liste}
\end{tcblisting}

La version \textit{Ã©toilÃ©e} marque les points sans les \og noms \fg, alors que la version \textit{non Ã©toilÃ©e} les affiche :

\begin{itemize}
	\item dans le cas de la version \textit{Ã©toilÃ©e}, la liste est Ã&nbsp; donner sous la forme \MontreCode{(ptA),(ptB),...} ;
	\item sinon, la liste est Ã&nbsp; donner sous la forme \MontreCode{(ptA)/labelA/poslabelA,...}.
\end{itemize}

\smallskip

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Couleur} : couleur (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Style} : style des marques (\MontreCode{o} par dÃ©faut).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=1.5cm,y=1.5cm,Ymin=-2]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirPts{A/1.75,-1.25}\MarquerPts[Couleur=pink]{(A)/A/below} %rond (par dÃ©faut)
	\MarquerPts[Couleur=teal]{(1,1)/M/below}
	\MarquerPts[Couleur=red,Style=x]{(1.25,1)/$A$/below} %croix
	\MarquerPts[Couleur=orange,Style=+]&lt;\small\sffamily&gt;{(1.5,1)/K/below} %plus
	\MarquerPts[Couleur=blue,Style=c]{(1.75,1)/P/below} %carrÃ©
	\MarquerPts[Couleur=gray,Style=d]{(2,1)/P/below} %diamant
	\MarquerPts*[Couleur=orange/yellow]{(2,2),(2.5,2.25)} %rond bicolore
	\MarquerPts*[Style=+,Couleur=red]{(1,2)}
	\MarquerPts*[Style=x,Couleur=blue]{(2.25,1)}
	\MarquerPts*[Style=c,Couleur=magenta]{(-2,-1)}
	\MarquerPts[Couleur=red,Style=x]{(-1,1)/$A$/below,(-2,2)/$B$/below left}
\end{GraphiqueTikz}
\end{tcblisting}

Ã€ noter qu'il est Ã©galement possible de modifier la taille des marques \MontreCode{o/x/+/c} via les \MontreCode{[clÃ©s]} :

\begin{itemize}
	\item \MontreCode{Taillex=...} (\MontreCode{2pt} par dÃ©faut) pour les points \textit{croix} ;
	\item \MontreCode{Tailleo=...} (\MontreCode{1.75pt} par dÃ©faut) pour les points \textit{cercle} ;
	\item \MontreCode{Taillec=...} (\MontreCode{2pt} par dÃ©faut) pour les points \textit{carrÃ©}.
\end{itemize}

\pagebreak

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=0,Ymin=0]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\MarquerPts[Couleur=red,Style=x,Taillex=3.5pt]{(1.25,1.25)/$A$/below}
	\MarquerPts[Couleur=teal,Tailleo=2.5pt]{(2,2)/$A$/right}
	\MarquerPts*[Couleur=orange,Style=c,Taillec=4pt]{(0.5,2.5)}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{Marquer des points de discontinuitÃ©}\label{ptsdiscont}

Il est possible de marquer des points de discontinuitÃ©, mais c'est commande est \textit{dÃ©connectÃ©e} des commandes de tracÃ© de courbes/splines.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\AfficherPtsDiscont[clÃ©s]{liste}
\end{tcblisting}

Le premier argument, \textit{optionnel} et entre \MontreCode{[...]}, contient les \MontreCode{ClÃ©s} suivantes :

\begin{itemize}
	\item \MontreCode{Couleur=...} (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Pos=...} (\MontreCode{D} par dÃ©faut) pour choisir la position de la discontinuitÃ© (parmi \MontreCode{G/D}) ;
	\item \MontreCode{Echelle=...} (\MontreCode{1} par dÃ©faut) pour modifier l'Ã©chelle du symbole ;
	\item \MontreCode{Type=...} (\MontreCode{par} par dÃ©faut) pour choisir le type de symbole, parmi \MontreCode{par/cro/rond/demirond}.
\end{itemize}

Le second argument, obligatoire et entre \MontreCode{\{...\}} permet de prÃ©ciser la liste des points en lesquels le symbole de discontinuitÃ© sera positionnÃ©, sous la forme \MontreCode{x1/y1/d1 Â§ x2/y2/d2 Â§ ...} avec les points \MontreCode{(xi;yi)} et \MontreCode{f'(xi)=di}.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=0,Xmax=10,Ymin=0,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirCourbeSpline[Trace,Couleur=red]{0/1/-1 Â§ 4/4/0}
	\AfficherPtsDiscont{4/4/0}
	\AfficherPtsDiscont[Pos=G,Type=cro]{0/1/-1}
	\DefinirCourbeSpline[Trace,Couleur=blue]{5/1/1.5 Â§ 8/4/0.5}
	\AfficherPtsDiscont[Couleur=blue,Type=rond]{8/4/0.5}
	\AfficherPtsDiscont[Couleur=blue,Pos=G,Type=demirond,Echelle=2]{5/1/1.5}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{RÃ©cupÃ©rer les coordonnÃ©es de nÅ“uds}\label{recupcoordo}

Il est Ã©galement possible, dans l'optique d'une rÃ©utilisation de coordonnÃ©es, de rÃ©cupÃ©rer les coordonnÃ©es d'un nÅ“ud (dÃ©fini ou dÃ©terminÃ©).

\smallskip

Les calculs Ã©tant effectuÃ©s en flottant en fonction des unitÃ©s (re)calculÃ©es, les valeurs sont donc approchÃ©es !

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\RecupererAbscisse{nÅ“ud}[\macrox]
\RecupererOrdonnee{nÅ“ud}[\macroy]
\RecupererCoordonnees{nÅ“ud}[\macrox][\macroy]
\end{tcblisting}

\subsection{Placer du texte}\label{placetxt}

Ã€ noter qu'une commande de placement de texte est disponible.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\PlacerTexte[clÃ©s]{(nÅ“ud ou coordonnÃ©es)}{texte}
\end{tcblisting}

Les \MontreCode{[clÃ©s]} disponibles sont :

\begin{itemize}
	\item \MontreCode{Police=...} (\MontreCode{\textbackslash normalsize\textbackslash normalfont} par dÃ©faut) pour la police ;
	\item \MontreCode{Couleur=...} (\MontreCode{black} par dÃ©faut) pour la couleur ;
	\item \MontreCode{Position=...} (\MontreCode{vide} par dÃ©faut) pour la position du texte par rapport aux coordonnÃ©es.
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
	\begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=0,Xmax=5,Ymin=0,Ymax=1]
		\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
		\PlacerTexte[Couleur=red,Police=\LARGE,Position=right]{(1.5,0.5)}{courbe $C_1$}
	\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\section{Commandes spÃ©cifiques d'exploitation des courbes}

\subsection{Placement d'images}\label{images}

Il est possible de la placer des points (images) sur une courbe, avec traits de construction Ã©ventuels.

La fonction/courbe utilisÃ©e doit avoir Ã©tÃ© dÃ©clarÃ©e prÃ©cÃ©demment pour que cette commande fonctionne.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\PlacerImages[clÃ©s]{fonction ou courbe}{liste d'abscisses}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Traits} : boolÃ©en pour afficher les traits de construction (\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{Couleurs} : couleur des points/traits, sous la forme \MontreCode{Couleurs} ou \MontreCode{CouleurPoint/CouleurTraits} ;
	\item \MontreCode{Spline} : boolÃ©en pour prÃ©ciser que la courbe utilisÃ©e est dÃ©finie comme un \textsf{spline} (\MontreCode{false} par dÃ©faut).
\end{itemize}

\smallskip

Le premier argument obligatoire, permet de spÃ©cifier :

\smallskip

\begin{itemize}
	\item le nom de la courbe dans la cas \MontreCode{Spline=true} ;
	\item le nom de la fonction sinon.
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	%dÃ©finition de la fonction + tracÃ© de la courbe
	\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]&lt;f&gt;{-2*x+3+24*log(2*x)}
	%images
	\PlacerImages[Traits,Couleurs=teal/blue]{f}{6,7,8,9,10}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{DÃ©termination d'antÃ©cÃ©dents}\label{defanteced}

Il est possible de dÃ©terminer graphiquement les antÃ©cÃ©dents d'un rÃ©el donnÃ©.

La fonction/courbe utilisÃ©e doit avoir Ã©tÃ© dÃ©clarÃ©e prÃ©cÃ©demment pour que cette commande fonctionne.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TrouverAntecedents[clÃ©s]{courbe}{k}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : base du nom des \textbf{nÅ“uds} intersection (\MontreCode{S} par dÃ©faut, ce qui donnera \textsf{S-1}, \textsf{S-2}, etc) ;
	\item \MontreCode{Aff} : booleen pour afficher les points (\MontreCode{true} par dÃ©faut) ;
	\item \MontreCode{Couleur} : couleur des points (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{AffDroite} : booleen pour afficher la droite horizontale (\MontreCode{false} par dÃ©faut).
\end{itemize}

\smallskip

Le premier argument obligatoire, permet de spÃ©cifier le \textbf{nom} de la courbe.

\smallskip

Le second argument obligatoire, permet de spÃ©cifier la valeur Ã&nbsp; atteindre.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	%dÃ©finition de la fonction + tracÃ© de la courbe
	\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]&lt;f&gt;{-2*x+3+24*log(2*x)}
	%antÃ©cÃ©dents
	\TrouverAntecedents[Couleur=teal,AffDroite,Aff]{cf}{53}
	%les deux antÃ©cÃ©dents sont aux nÅ“uds (S-1) et (S-2)
\end{GraphiqueTikz}
\end{tcblisting}

%Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :
%
%\smallskip
%
%\begin{itemize}
%	\item \MontreCode{Nom} : base du nom des \textbf{nÅ“uds} intersection (\MontreCode{S} par dÃ©faut, ce qui donnera \textsf{S-1}, \textsf{S-2}, etc) ;
%	\item \MontreCode{Aff} : booleen pour afficher les points (\MontreCode{true} par dÃ©faut) ;
%	\item \MontreCode{Couleur} : couleur des points (\MontreCode{black} par dÃ©faut) ;
%	\item \MontreCode{AffDroite} : booleen pour afficher la droite horizontale (\MontreCode{false} par dÃ©faut).
%\end{itemize}

\pagebreak

\subsection{Construction d'antÃ©cÃ©dents}\label{tracanteced}

Il est possible de construire graphiquement les antÃ©cÃ©dents d'un rÃ©el donnÃ©.

La fonction/courbe utilisÃ©e doit avoir Ã©tÃ© dÃ©clarÃ©e prÃ©cÃ©demment pour que cette commande fonctionne.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\PlacerAntecedents[clÃ©s]{courbe}{k}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Couleurs} : couleur des points/traits, sous la forme \MontreCode{Couleurs} ou \MontreCode{CouleurPoint/CouleurTraits} ;
	\item \MontreCode{Nom} : nom \textit{Ã©ventuel} pour les points d'intersection liÃ©s aux antÃ©cÃ©dents (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Traits} : booleen pour afficher les traits de construction (\MontreCode{false} par dÃ©faut).
\end{itemize}

\smallskip

Le premier argument obligatoire, permet de spÃ©cifier le \textbf{nom} de la courbe.

\smallskip

Le second argument obligatoire, permet de spÃ©cifier la valeur Ã&nbsp; atteindre.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	%dÃ©finition de la fonction + tracÃ© de la courbe
	\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]&lt;f&gt;{-2*x+3+24*log(2*x)}
	%antÃ©cÃ©dents
	\PlacerAntecedents[Couleurs=teal/cyan,Traits,Nom=PO]{cf}{53}
	\RecupererAbscisse{(PO-1)}[\premsol]
	\RecupererAbscisse{(PO-2)}[\deuxsol]
\end{GraphiqueTikz}

Graphiquement, les antÃ©cÃ©dents de 53 sont (environ) :

\begin{itemize}
	\item \num{\premsol}
	\item \num{\deuxsol}
\end{itemize}
\end{tcblisting}

\pagebreak

\subsection{Intersections de deux courbes}\label{intersect}

Il est Ã©galement possible de dÃ©terminer (sous forme de nÅ“uds) les Ã©ventuels points d'intersection de deux courbes prÃ©alablement dÃ©finies.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TrouverIntersections[clÃ©s]{courbe1}{courbe2}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : base du nom des \textbf{nÅ“uds} intersection (\MontreCode{S} par dÃ©faut, ce qui donnera \textsf{S-1}, \textsf{S-2}, etc) ;
	\item \MontreCode{Aff} : boolÃ©en pour afficher les points (\MontreCode{true} par dÃ©faut) ;
	\item \MontreCode{Couleur} : couleur des points (\MontreCode{black} par dÃ©faut).
\end{itemize}

\smallskip

Le premier argument obligatoire, permet de spÃ©cifier le \textbf{nom} de la premiÃ¨re courbe.

\smallskip

Le premier argument obligatoire, permet de spÃ©cifier le \textbf{nom} de la seconde courbe.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]&lt;f&gt;{-2*x+3+24*log(2*x)}
	\DefinirCourbe[Nom=cg,Debut=5,Fin=19,Trace,Couleur=blue]&lt;g&gt;{0.25*(x-12)^2+46}
	%intersections, nommÃ©es (TT-1) et (TT-2)
	\TrouverIntersections[Nom=TT,Couleur=darkgray,Aff,Traits]{cf}{cg}
	%rÃ©cupÃ©ration des points d'intersection
	\RecupererCoordonnees{(TT-1)}[\alphaA][\betaA]
	\RecupererCoordonnees{(TT-2)}[\alphaB][\betaB]
\end{GraphiqueTikz}\\
Les solutions de $f(x)=g(x)$ sont $\alpha \approx \num{\alphaA}$ et
$\beta \approx \num{\alphaB}$.\\
Les points d'intersection des courbes de $f$ et de $g$ sont donc
$(\ArrondirNum[2]{\alphaA};\ArrondirNum[2]{\betaA})$ et
$(\ArrondirNum[2]{\alphaB};\ArrondirNum[2]{\betaB})$.
\end{tcblisting}

\pagebreak

\subsection{Extremums}\label{maximum}\label{minimum}

L'idÃ©e (encore \textit{expÃ©rimentale}) est de proposer des commandes pour extraire les extremums d'une courbe dÃ©finie par le package.

La commande crÃ©e le nÅ“ud correspondant, et il est du coup possible de rÃ©cupÃ©rer ses coordonnÃ©es pour exploitation ultÃ©rieure.

\smallskip

Il est possible, en le spÃ©cifiant, de travailler sur les diffÃ©rentes courbes gÃ©rÃ©es par le package (fonction, interpolation, spline).

Pour des courbes singuliÃ¨res, il est possible que les rÃ©sultats ne soient pas tout Ã&nbsp; fait ceux attendus\ldots

\smallskip

{\small\faBomb} Pour le moment, les \textit{limitations} sont :

\begin{itemize}
	\item pas de gestion d'extremums multiples (seul le premier sera traitÃ©)\ldots
	\item pas de gestion d'extremums aux bornes du tracÃ©\ldots
	\item pas de rÃ©cupÃ©ration automatique des paramÃ¨tres de dÃ©finition des courbes\ldots
	\item le temps de compilation peut Ãªtre plus long\ldots
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TrouverMaximum[clÃ©s]{objet}[nÅ“ud crÃ©Ã©]
\TrouverMinimum[clÃ©s]{objet}[nÅ“ud crÃ©Ã©]
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Methode} : mÃ©thode, parmi \MontreCode{fonction/interpo/spline} pour les calculs (\MontreCode{fonction} par dÃ©faut) ;
	\item \MontreCode{Debut} : dÃ©but du tracÃ© (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : fin du tracÃ© (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{Pas} : pas du tracÃ© si \MontreCode{fonction} (il est dÃ©terminÃ© \textit{automatiquement} au dÃ©part mais peut Ãªtre modifiÃ©) ;
	\item \MontreCode{Coeffs} : modifier les \textit{coefficients} du spline si \MontreCode{spline} ;
	\item \MontreCode{Tension} : paramÃ©trage de la \textit{tension} du tracÃ© d'interpolation si \MontreCode{interpo}(\MontreCode{0.5} par dÃ©faut).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=-1,Xmax=5,Ymin=-1,Ymax=3]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirCourbe[Nom=cf,Debut=0.35,Fin=4.2,Trace]%
		&lt;f&gt;{0.6*cos(4.5*(x-4)+2.1)-1.2*sin(x-4)+0.1*x+0.2}
	\TrouverMaximum[Debut=0.35,Fin=4.2]{f}[cf-max]
	\TrouverMaximum[Debut=3,Fin=4]{f}[cf-maxlocal]
	\TrouverMinimum[Debut=1,Fin=2]{f}[cf-minlocal]
	\MarquerPts*[Couleur=red,Traits]{(cf-max)}
	\MarquerPts*[Couleur=blue,Traits]{(cf-maxlocal)}
	\MarquerPts*[Couleur=olive,Traits]{(cf-minlocal)}
	\RecupererCoordonnees{(cf-max)}[\MonMaxX][\MonMaxY]
\end{GraphiqueTikz}\\
Le maximum est $M\approx\ArrondirNum{\MonMaxY}$, atteint en $x\approx\ArrondirNum{\MonMaxX}$
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5}
	\DefinirCourbeInterpo[Nom=interpotest,Couleur=red,Trace,Tension=1]%
	{(-6,4)(-2,-2)(3,3.5)}
	\TrouverMinimum[Methode=interpo,Tension=1]{(-6,4)(-2,-2)(3,3.5)}[interpo-min]
	\MarquerPts*[Couleur=blue]{(interpo-min)}
	\RecupererCoordonnees{(interpo-min)}[\MinInterpoX][\MinInterpoY]
\end{GraphiqueTikz}\\
Le minimum est $M\approx\ArrondirNum[3]{\MinInterpoY}$, atteint en $x\approx\ArrondirNum[3]{\MinInterpoX}$
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=1.2cm,y=1.6cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=3,Ygrille=0.5,Ygrilles=0.25]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\def\LISTETEST{-6/2/0Â§-1/-2/0Â§2/1/0Â§3.5/0/-1}
	\DefinirCourbeSpline[Nom=splinetest,Trace]{\LISTETEST}
	\TrouverMinimum[Methode=spline]{\LISTETEST}[spline-min]
	\MarquerPts*[Couleur=red]{(spline-min)}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{IntÃ©grales (version amÃ©liorÃ©e)}\label{integr}

On peut Ã©galement travailler avec des intÃ©grales.

Dans ce cas il est prÃ©fÃ©rable de mettre en Ã©vidence le domaine \textbf{avant} les tracÃ©s, pour Ã©viter la surimpression par rapport aux courbes/points.

\smallskip

Il est possible de :

\begin{itemize}
	\item reprÃ©senter une intÃ©grale \textbf{sous} une courbe dÃ©finie ;
	\item reprÃ©senter une intÃ©grale \textbf{entre} deux courbes ;
	\item les bornes d'intÃ©gration peuvent Ãªtre des abscisses et/ou des nÅ“uds.
\end{itemize}

\smallskip

{\small\faBomb} Compte-tenu des diffÃ©rences de traitement entre les courbes par formule, les courbes par interpolation simple ou les courbes par interpolation cubique, les arguments et clÃ©s peuvent diffÃ©rer suivant la configuration !

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerIntegrale[clÃ©s]&lt;options spÃ©cifiques&gt;{objet1}[objet2]{A}{B}
\end{tcblisting}

Les \MontreCode{[clÃ©s]} pour la dÃ©finition ou le tracÃ©, optionnelles, disponibles sont :

\begin{itemize}
	\item \MontreCode{Couleurs} =: couleurs du remplissage, sous la forme \MontreCode{Couleur} ou \MontreCode{CouleurBord/CouleurFond} (\MontreCode{gray} par dÃ©faut) ;
	\item \MontreCode{Style} : type de remplissage, parmi \MontreCode{remplissage}/\MontreCode{hachures} (\MontreCode{remplissage} par dÃ©faut) ;
	\item \MontreCode{Opacite} : opacitÃ© (\MontreCode{0.5} par dÃ©faut) du remplissage ;
	\item \MontreCode{Hachures} : style (\MontreCode{north west lines} par dÃ©faut) du remplissage hachures ;
	\item \MontreCode{Type} : type d'intÃ©grale parmi
	\begin{itemize}
		\item \MontreCode{fct} (dÃ©faut) pour une intÃ©grale sous une courbe dÃ©finie par une formule ;
		\item \MontreCode{spl} pour une intÃ©grale sous une courbe dÃ©finie par un spline cublique ;
		\item \MontreCode{fct/fct} pour une intÃ©grale entre deux courbes dÃ©finie par une formule ;
		\item \MontreCode{fct/spl} pour une intÃ©grale entre une courbe (dessus) dÃ©finie par une formule et une courbe (dessous) dÃ©finie par un spline cubique ;
		\item etc
	\end{itemize}
	\item \MontreCode{Pas} : pas (calculÃ© par dÃ©faut sinon) pour le tracÃ© ;
	\item \MontreCode{Jonction} : jonction des segments (\MontreCode{bevel} par dÃ©faut) ;
	\item \MontreCode{Bornes} : type des bornes parmi :
	\begin{itemize}
		\item \MontreCode{abs} pour les bornes donnÃ©es par les abscisses ;
		\item \MontreCode{noeuds} pour les bornes donnÃ©es par les nÅ“uds ;
		\item \MontreCode{abs/noeud} pour les bornes donnÃ©es par abscisse et nÅ“ud ;
		\item \MontreCode{noeud/abs} pour les bornes donnÃ©es par nÅ“ud et abscisse ;
	\end{itemize}
	\item \MontreCode{Bord} : boolÃ©en (\MontreCode{true} par dÃ©faut) pour afficher les traits latÃ©raux,%
	\item \MontreCode{NomSpline} : macro (important !) du spline gÃ©nÃ©rÃ© prÃ©cÃ©demment pour un spline en version supÃ©rieure ;
	\item \MontreCode{NomSplineB} : macro (important !) du spline gÃ©nÃ©rÃ© prÃ©cÃ©demment pour un spline en version infÃ©rieure ;
	\item \MontreCode{NomInterpo} : nom (important !) de la courbe d'interpolation gÃ©nÃ©rÃ©e prÃ©cÃ©demment, en version supÃ©rieure ;
	\item \MontreCode{NomInterpoB} : nom (important !) de la courbe d'interpolation gÃ©nÃ©rÃ©e prÃ©cÃ©demment, en version infÃ©rieure ;
	\item \MontreCode{Tension} : tension pour la courbe d'interpolation gÃ©nÃ©rÃ©e prÃ©cÃ©demment, en version supÃ©rieure ;
	\item \MontreCode{TensionB} : tension de la courbe d'interpolation gÃ©nÃ©rÃ©e prÃ©cÃ©demment, en version infÃ©rieure.
\end{itemize}

\smallskip

Le premier argument obligatoire est la fonction ou la courbe du spline ou la liste de points d'interpolation.

\smallskip

L'argument suivant, optionnel, est la fonction ou la courbe du spline ou la liste de points d'interpolation.

\smallskip

Les deux derniers arguments obligatoires sont les bornes de l'intÃ©grale, donnÃ©es sous une forme en adÃ©quation avec la clÃ© \MontreCode{Bornes}.

\pagebreak

Dans le cas de courbes dÃ©finies par des \textit{points}, il est nÃ©cessaire de travailler sur des intervalles sur lesquels la premiÃ¨re courbe est \textbf{au-dessus} de la deuxiÃ¨me.

Il sera sans doute intÃ©ressant de travailler avec les \textit{intersections} dans ce cas.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.6cm,y=0.06cm,
	Xmin=0,Xmax=21,Xgrille=1,Xgrilles=0.5,
	Ymin=0,Ymax=155,Ygrille=10,Ygrilles=5]
	\TracerAxesGrilles%
		[Grads=false,Elargir=2.5mm]{}{}
	\DefinirCourbe[Nom=cf,Debut=1,Fin=20,Couleur=red]&lt;f&gt;{80*x*exp(-0.2*x)}
	\TracerIntegrale
		[Bornes=abs,Couleurs=blue/cyan!50]%
		{f(x)}{3}{12}
	\TracerCourbe[Couleur=red,Debut=1,Fin=20]{f(x)}
	\TracerAxesGrilles%
		[Grille=false,Elargir=2.5mm,Police=\small]{0,1,...,20}{0,10,...,150}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=1.2cm,y=1.6cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=3,Ygrille=0.5,Ygrilles=0.25]
	\TracerAxesGrilles[Grads=false,Elargir=2.5mm]{}{}
	\def\LISTETEST{-6/2/0Â§-1/-2/0Â§2/1/0Â§3.5/0/-1}
	\DefinirCourbeSpline[Nom=splinetest]{\LISTETEST}
	\TracerIntegrale[Type=spl,Style=hachures,Couleurs=purple]{splinetest}{-5.75}{-4.75}
	\TracerIntegrale[Type=spl,Couleurs=blue]{splinetest}{-2}{-1}
	\TracerIntegrale[Type=spl,Couleurs=orange]{splinetest}{1}{3}
	\TracerCourbeSpline[Couleur=olive]{\LISTETEST}
	\TracerAxesGrilles[Grille=false,Elargir=2.5mm]
		{-7,-6,...,4}%
		{-3,-2.5,...,3}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{Tangentes}\label{tgte}

L'idÃ©e de cette commande est de tracer la tangente Ã&nbsp; une courbe prÃ©cÃ©demment dÃ©finie, en spÃ©cifiant :

\begin{itemize}
	\item le point (abscisse ou nÅ“ud) en lequel on souhaite travailler ;
	\item Ã©ventuellement le direction (dans le cas d'une discontinuitÃ© ou d'une borne) ;
	\item Ã©ventuellement le pas ($h$) du calcul ;
	\item les \textit{Ã©cartements latÃ©raux} pour tracer la tangente.
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerTangente[clÃ©s]{fonction ou courbe}{point}&lt;options traits&gt;
\end{tcblisting}

Les \MontreCode{[clÃ©s]} pour la dÃ©finition ou le tracÃ©, optionnelles, disponibles sont :

\begin{itemize}
	\item \MontreCode{Couleurs} =: couleurs des tracÃ©s, sous la forme \MontreCode{Couleur} ou \MontreCode{CouleurLigne/CouleurPoint} (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{DecG} =: Ã©cartement horizontal gauche pour dÃ©buter le tracÃ© (\MontreCode{1} par dÃ©faut) ;
	\item \MontreCode{DecD} =: Ã©cartement horizontal gauche pour dÃ©buter le tracÃ© (\MontreCode{1} par dÃ©faut) ;
	\item \MontreCode{AffPoint} : boolÃ©en pour afficher le point support (\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{Spline} : boolÃ©en pour prÃ©ciser qu'un spline est utilisÃ© (\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{h} : pas $h$ utilisÃ© pour les calculs (\MontreCode{0.01} par dÃ©faut) ;
	\item \MontreCode{Sens} : permet de sprÃ©cifier le \textit{sens} de la tangente, parmi \MontreCode{gd}/\MontreCode{g}/\MontreCode{d} (\MontreCode{gd} par dÃ©faut) ;
	\item \MontreCode{Noeud} : boolÃ©en pour prÃ©ciser qu'un nÅ“ud est utilisÃ© (\MontreCode{false} par dÃ©faut).
\end{itemize}

\smallskip

Le premier argument obligatoire est la fonction ou la courbe du spline (le cas Ã©chÃ©ant).

\smallskip

Le dernier argument obligatoire est le point de travail (version abscisse ou nÅ“ud suivant la clÃ© \MontreCode{Noeud}).

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4,
	Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56}
	\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Couleur=red,Trace]&lt;f&gt;{-2*x+3+24*log(2*x)}
	\TrouverAntecedents[Couleur=teal,Nom=JKL,Aff=false]{cf}{53}
	%tangente
	\TracerTangente%
		[Couleurs=cyan/gray,DecG=2.5,DecD=2.5,Noeud,AffPoint]{f}{(JKL-1)}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5}
	\def\LISTETEST{-6/4/-0.5Â§-5/2/-2Â§-4/0/-2Â§-2/-2/0Â§1/2/2Â§3/3.5/0.5}
	\DefinirCourbeSpline[Nom=splinetest,Trace,Couleur=olive]{\LISTETEST}
	\TracerTangente[Couleurs=red,Spline,AffPoint]{splinetest}{1}
	\TracerTangente%
		[Couleurs=blue,Spline,DecG=1.5,DecD=1.5,AffPoint]{splinetest}{-3}%
		&lt;pflflechegd&gt;
	\TracerTangente[Sens=g,Couleurs=orange,Spline,DecG=1.5,AffPoint]{splinetest}{3}
	\TracerTangente[Sens=d,Couleurs=violet,Spline,DecD=1.5,AffPoint]{splinetest}{-6}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{Suites rÃ©currentes et toiles}\label{toilerecurr}

L'idÃ©e est d'obtenir une commande pour tracer la \og toile \fg{} permettant d'obtenir -- graphiquement -- les termes d'une suite rÃ©currente dÃ©finie par une relation $u_{n+1}=f(u_n)$.

La commande est compatible avec une fonction prÃ©cÃ©demment dÃ©finie, mais Ã©galement avec une courbe type \textit{spline} prÃ©cÃ©demment dÃ©finie.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerToileRecurrence[clÃ©s]{fct ou courbe}
\end{tcblisting}

Le premier argument, \textit{optionnel} et entre \MontreCode{[...]}, contient les \MontreCode{ClÃ©s} suivantes :

\begin{itemize}
	\item \MontreCode{Couleur=...} (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Spline=...} (\MontreCode{false} par dÃ©faut) pour spÃ©cifier qu'une courbe \textit{spline} est utilisÃ©e ;
	\item \MontreCode{No=...} (\MontreCode{0} par dÃ©faut) est l'indice initial ;
	\item \MontreCode{Uno=...} est qui est la valeur du terme initial (Ã&nbsp; donner obligatoirement !) ;
	\item \MontreCode{Nom=...} (\MontreCode{u} par dÃ©faut) est le nom de la suite ;
	\item \MontreCode{Nb=...} (\MontreCode{5} par dÃ©faut) ;
	\item \MontreCode{AffTermes=...} (\MontreCode{false} par dÃ©faut) qui est un boolÃ©en pour afficher les termes ;
	\item \MontreCode{AffPointilles=...} (\MontreCode{true} par dÃ©faut) pour afficher les pointillÃ©s ;
	\item \MontreCode{TailleLabel=...} (\MontreCode{\textbackslash small} par dÃ©faut) ;
	\item \MontreCode{PosLabel=...} (\MontreCode{below} par dÃ©faut).
\end{itemize}

Le second argument, obligatoire et entre \MontreCode{\{...\}} permet de prÃ©ciser l'objet avec lequel il faut effectuer les tracÃ©s (fonction ou nom\_courbe).

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.75cm,y=0.75cm,Xmin=0,Xmax=10,Xgrille=1,Xgrilles=0.5,
	Ymin=0,Ymax=8,Ygrille=1,Ygrilles=0.5]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{auto}{auto}
	\DefinirCourbe[Couleur=red,Nom=cf,Debut=0,Fin=10,Trace]&lt;f&gt;{sqrt(5*x)+1}
	\TracerCourbe[Couleur=blue]{x}
	\TracerToileRecurrence[Couleur=orange,No=1,Uno=1]{f}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=4cm,y=3cm,Xmin=0,Xmax=2.5,Xgrille=1,Xgrilles=0.25,
	Ymin=0,Ymax=1.25,Ygrille=0.5,Ygrilles=0.25]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{auto}{auto}
	\DefinirCourbeInterpo[Nom=interpotest,Couleur=blue,Trace]%
		{(0,0)(0.5,0.75)(1,0.25)(2,1)(2.5,0.25)}
	\TracerCourbe[Couleur=olive]{x}
	\TracerToileRecurrence%
		[AffTermes,Couleur=purple,Spline,No=0,Uno=2,PosLabel=above left]%
		{interpotest}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\section{Commandes spÃ©cifiques des fonctions de densitÃ©}

\subsection{Loi normale}\label{loinormale}

L'idÃ©e est de proposer de quoi travailler avec des lois normales.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\DefinirLoiNormale[clÃ©s]&lt;nom fct&gt;{mu}{sigma}
\TracerLoiNormale[clÃ©s]{fct(x)}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : nom du tracÃ© (\MontreCode{gaussienne} par dÃ©faut) ;
	\item \MontreCode{Trace} : boolÃ©en pour tracer la courbe(\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{Couleur} : couleur du tracÃ©, si demandÃ© (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Debut} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{Pas} : pas du tracÃ© (il est dÃ©terminÃ© \textit{automatiquement} au dÃ©part mais peut Ãªtre modifiÃ©).
\end{itemize}

Ã€ noter que l'axe vertical est Ã&nbsp; adapter en fonction des paramÃ¨tres de la loi normale.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
		[x=1.25cm,y=15cm,Origx=5,Xmin=5,Xmax=15,Ymin=0,Ymax=0.3,
		Ygrille=0.1,Ygrilles=0.05]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirLoiNormale[Nom=gaussienne]&lt;phi&gt;{10}{1.5}
	\TracerIntegrale
		[Bornes=abs,Couleurs=blue/cyan!50]%
		{phi(x)}{7}{13}
	\TracerLoiNormale[Couleur=violet,Debut=5,Fin=15]{phi(x)}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\subsection{Loi du khi deux}\label{loikhideux}

L'idÃ©e est de proposer de quoi travailler avec des lois normales.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\DefinirLoiKhiDeux[clÃ©s]&lt;nom fct&gt;{k}
\TracerLoiKhiDeux[clÃ©s]{fct(x)}
\end{tcblisting}

Les \MontreCode{[clÃ©s]}, optionnelles, disponibles sont :

\smallskip

\begin{itemize}
	\item \MontreCode{Nom} : nom du tracÃ© (\MontreCode{gaussienne} par dÃ©faut) ;
	\item \MontreCode{Trace} : boolÃ©en pour tracer la courbe(\MontreCode{false} par dÃ©faut) ;
	\item \MontreCode{Couleur} : couleur du tracÃ©, si demandÃ© (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Debut} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{Pas} : pas du tracÃ© (il est dÃ©terminÃ© \textit{automatiquement} au dÃ©part mais peut Ãªtre modifiÃ©).
\end{itemize}

Ã€ noter que l'axe vertical est Ã&nbsp; adapter en fonction du paramÃ¨tre de la loi du khi deux.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[
		x=1.5cm,y=7.5cm,
		Xmin=0,Xmax=8,Xgrille=1,Xgrilles=0.5,
		Ymin=0,Ymax=0.5,Ygrille=0.1,Ygrilles=0.05
		]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirLoiKhiDeux[Couleur=red,Debut=0.25,Trace]&lt;phiA&gt;{1}
	\DefinirLoiKhiDeux[Couleur=blue,Trace]&lt;phiB&gt;{2}
	\DefinirLoiKhiDeux[Couleur=orange,Trace]&lt;phiC&gt;{3}
	\DefinirLoiKhiDeux[Couleur=violet,Trace]&lt;phiD&gt;{4}
	\DefinirLoiKhiDeux[Couleur=yellow,Trace]&lt;phiE&gt;{5}
	\DefinirLoiKhiDeux[Couleur=teal,Trace]&lt;phiF&gt;{6}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{Histogramme pour une loi binomiale}\label{histobinom}

Il est Ã©galement possible (d'une maniÃ¨re moins explicite que dans \MontreCode{ProfLycee}) de reprÃ©senter l'histogramme d'une loi binomiale (\MontreCode{ProfLycee} permet de dÃ©terminer les unitÃ©s automatiquement, ici elles doivent Ãªtre prÃ©cisÃ©es et connues).

Il est Ã©galement possible de rajouter la loi normale \og associÃ©e \fg.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerHistoBinomiale[clÃ©s]&lt;nom fct normale&gt;{n}{p}
\end{tcblisting}

Le premier argument, optionnel et entre \MontreCode{[...]} propose les clÃ©s suivantes :

\begin{itemize}

	\item \MontreCode{Plage} : plage, sous la forme \MontreCode{a-b} du coloriage Ã©ventuel ;
	\item \MontreCode{CouleurPlage} : couleur de la plage Ã©ventuelle ;
	\item \MontreCode{ClipX} : restriction de l'axe Ox, sous la forme \MontreCode{a-b} ;
	\item \MontreCode{AffNormale} : boolÃ©en (\MontreCode{true} par dÃ©faut) pour rajouter la loi normale ;
	\item \MontreCode{CouleurNormale} : couleur pour la loi normale.
\end{itemize}

Les arguments obligatoires et entre \MontreCode{\{...\}} permettent de spÃ©cifier les paramÃ¨tres de la loi binomiale.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%les unitÃ©s ont Ã©tÃ© dÃ©terminÃ©es au prÃ©alable...
\begin{GraphiqueTikz}[x=0.2cm,y=50cm,Origx=-0.5,Xmin=-0.5,Xmax=50.5,
	Xgrille=5,Xgrilles=1,Ymin=0,Ymax=0.12,Ygrille=0.01,Ygrilles=0.001]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small,Grille=false]%
		{0,5,...,50}{auto}
	\TracerHistoBinomiale{50}{0.4}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%les unitÃ©s ont Ã©tÃ© dÃ©terminÃ©es au prÃ©alable...
\begin{GraphiqueTikz}[x=0.5cm,y=100cm,Origx=14.5,Xmin=14.5,Xmax=35.5,
	Xgrille=5,Xgrilles=1,Ymin=0,Ymax=0.09,Ygrille=0.01,Ygrilles=0.001]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small,Grille=false]%
		{15,20,...,35}{auto}
	\TracerHistoBinomiale%
		[ClipX=15-35,Plage=18-25,CouleurPlage=teal,AffNormale,CouleurNormale=red]%
		{1000}{0.02}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\section{Commandes spÃ©cifiques des mÃ©thodes intÃ©grales}

\subsection{MÃ©thodes gÃ©omÃ©triques}\label{methodesintergrales}

L'idÃ©e est de proposer plusieurs mÃ©thodes graphiques pour illustrer graphiquement une intÃ©grale, via :

\begin{itemize}
	\item une mÃ©thode des rectangles (Gauche, Droite ou Milieu) ;
	\item la mÃ©thode des trapÃ¨zes.
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\RepresenterMethodeIntegrale[clÃ©s]&lt;fonction&gt;{a}{b}
\end{tcblisting}

Les \MontreCode{ClÃ©s} disponibles sont :

\begin{itemize}
	\item \MontreCode{Spline} : boolÃ©en pour prÃ©ciser qu'un spline est utilisÃ©, \MontreCode{false} par dÃ©faut ;
	\item \MontreCode{Couleur} : couleur des tracÃ©s, \MontreCode{red} par dÃ©faut ;
	\item \MontreCode{NbSubDiv} : nombre de subdivisions, \MontreCode{10} par dÃ©faut ;
	\item \MontreCode{Methode} : mÃ©thode gÃ©omÃ©trique utilisÃ©e, parmi parmi \MontreCode{RectanglesGauche / RectanglesDroite / RectanglesMilieu / Trapezes} pour spÃ©cifier la mÃ©thode utilisÃ©e, \MontreCode{RectanglesGauche} par dÃ©faut ;
	\item \MontreCode{Remplir} : boolÃ©en, \MontreCode{true} par dÃ©faut, pour remplir les Ã©lÃ©ments graphiques ;
	\item \MontreCode{CouleurRemplissage} : couleur de remplissage, dÃ©finie par rapport Ã&nbsp; la couleur principale par dÃ©faut ;
	\item \MontreCode{Opacite} : opacitÃ©, \MontreCode{0.25} par dÃ©faut, du remplissage.
\end{itemize}

\smallskip

Le deuxiÃ¨me argument, optionnel et entre \MontreCode{&lt;...&gt;}, correspond Ã&nbsp; la fonction ou le spline \textbf{prÃ©cÃ©demment dÃ©finie} !

\smallskip

Les deux derniers arguments, obligatoires, correspondent aux bornes de l'intÃ©grale.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}
	[x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
	Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]&lt;f&gt;{80*x*exp(-0.2*x)}
	\RepresenterMethodeIntegrale[Couleur=teal]&lt;f&gt;{5}{15}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}
	[x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
	Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]&lt;f&gt;{80*x*exp(-0.2*x)}
	\RepresenterMethodeIntegrale
		[Methode=RectanglesDroite,Couleur=orange,NbSubDiv=7]&lt;f&gt;{1}{10}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}
	[x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
	Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]&lt;f&gt;{80*x*exp(-0.2*x)}
	\RepresenterMethodeIntegrale
	[Methode=RectanglesMilieu,Couleur=yellow,NbSubDiv=25]&lt;f&gt;{1}{20}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}
	[x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
	Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]&lt;f&gt;{80*x*exp(-0.2*x)}
	\RepresenterMethodeIntegrale
	[Methode=Trapezes,Couleur=pink,Remplir=false]&lt;f&gt;{1}{20}
\end{GraphiqueTikz}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=0,Ymax=5]
	\TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
	\DefinirListeSpline{-6.5/0/2.5Â§-2/4/0Â§3.75/0/-1}[\lstsplineB]
	\DefinirCourbeSpline[Nom=splinered]{\lstsplineB}
	\TracerCourbeSpline[Couleur=red]{\lstsplineB}
	\RepresenterMethodeIntegrale[Methode=RectanglesMilieu,Spline,Couleur=teal]&lt;splinered&gt;{-5}{1.25}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{MÃ©thode de Monte-Carlo}\label{montecarlo}

L'idÃ©e est de proposer une commande pour simuler un calcul intÃ©gral via la mÃ©thode de Monte-Carlo.

Le code se charge de simuler les \textit{tirages}, et les rÃ©sultats peuvent Ãªtre stockÃ©s dans des macros.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\SimulerMonteCarlo[clÃ©s]&lt;fonction&gt;{nb essais}[\nbptsmcok][\nbptsmcko]
\end{tcblisting}

Les \MontreCode{ClÃ©s} disponibles sont :

\begin{itemize}
	\item \MontreCode{Couleurs} : couleurs des points, \MontreCode{blue/red} par dÃ©faut ;
	\item \MontreCode{BornesX} : bornes \textit{horizontales} pour la simulation, valant \MontreCode{\textbackslash pflxmin,\textbackslash pflxmax} par dÃ©faut ;
	\item \MontreCode{BornesY} : bornes \textit{verticales} pour la simulation, valant \MontreCode{\textbackslash pflymin,\textbackslash pflymax} par dÃ©faut.
\end{itemize}

Le deuxiÃ¨me argument, optionnel et entre \MontreCode{&lt;...&gt;}, est la fonction \textbf{prÃ©cÃ©demment dÃ©finie} Ã&nbsp; utiliser.

\smallskip

Les deux derniers arguments, optionnels et entre \MontreCode{[...]}, sont les macros dans lesquelles sont stockÃ©es les rÃ©sultats de la simulation. Ces macros sont \MontreCode{\textbackslash nbptsmcok} et \MontreCode{\textbackslash nbptsmcko} par dÃ©faut.

Ã€ noter que la macro \MontreCode{\textbackslash nbptsmc} permet de rÃ©cupÃ©rer le nombre de points utilisÃ©s.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%avec \sisetup{group-minimum-digits=4} pour le formatage des "milliers"

\begin{GraphiqueTikz}%
	[x=10cm,y=10cm,Xmin=0,Xmax=1,Xgrille=0.1,Xgrilles=0.05,
	Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05]
	\TracerAxesGrilles[Elargir=2.5mm,Dernier]{auto}{auto}
	\DefinirCourbe[Trace,Couleur=teal,Pas=0.001]&lt;f&gt;{sqrt(1-x^2)}
	\SimulerMonteCarlo&lt;f&gt;{5000}
\end{GraphiqueTikz}

Le nombre de points bleus est de \textcolor{blue}{\num{\nbptsmcok}},
le nombre de points rouges est de \textcolor{red}{\num{\nbptsmcko}}.

La proportion de points bleus est de $\frac{\num{\nbptsmcok}}{\num{\nbptsmc}}
\approx \ArrondirNum[4]{\nbptsmcok/\nbptsmc}$
et $\frac{\pi}{4} \approx \ArrondirNum[4]{pi/4}$.
\end{tcblisting}

\pagebreak

\section{Commandes spÃ©cifiques des statistiques}

\subsection{Limitations}

Compte-tenu des spÃ©cificitÃ©s de \TikZ, il est conseillÃ© de ne pas utiliser de valeurs trop \textit{grandes} au niveau de axes (cela peut coincer avec des annÃ©e par exemple\ldots), ou bien il faudra \textit{transformer} les valeurs des axes et/ou des donnÃ©es pour que tout s'affiche comme il faut (attention Ã©galement aux rÃ©gressions, aux calculs\ldots).

\subsection{Courbe des ECC/FCC (1 variable)}\label{cbeECC}

Il est possible de travailler sur une reprÃ©sentation de la courbe des ECC/FCC.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
\TracerCourbeECC[clÃ©s]{liste valeurs}{liste effectifs}
\end{tcblisting}

Le code se charge de dÃ©terminer une valeur des paramÃ¨tres, pour utilisation ultÃ©rieure (avec arrondis Ã©ventuels car ils sont obtenus par \textit{conversions}) :

\begin{itemize}
	\item le premier quartile, $Q_1$, est stockÃ© dans la macro \MontreCode{\textbackslash ValPremQuartile} ;
	\item la mÃ©diane, mÃ©d, est stockÃ© dans la macro \MontreCode{\textbackslash ValMed} ;
	\item le troisiÃ¨me quartile, $Q_3$, est stockÃ© dans la macro \MontreCode{\textbackslash ValTroisQuartile}.
\end{itemize}

Les \MontreCode{ClÃ©s} disponibles sont :

\begin{itemize}
	\item \MontreCode{Couleur=...} : couleur du tracÃ©, \MontreCode{black} par dÃ©faut ;
	\item \MontreCode{AffParams} : boolÃ©en, \MontreCode{true} par dÃ©faut, pour afficher les paramÃ¨tres ;
	\item \MontreCode{CouleursParams=...} : couleur des paramÃ¨tres, \MontreCode{black} par dÃ©faut ;
	\item \MontreCode{TraitsComplets} : boolÃ©en, \MontreCode{true} par dÃ©faut, pour afficher les pointillÃ©s en entier
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=0.15cm,y=0.03cm,Xmin=0,Xmax=75,Xgrille=10,Xgrilles=5,
	Ymin=0,Ymax=200,Ygrille=20,Ygrilles=10]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{auto}{auto}
	\TracerCourbeECC%
		[Couleur=blue,CouleursParams={lime!75!black/pink!75!black},
		TraitsComplets=false]%
		{0,15,25,35,40,45,55,65,75}%
		{15,20,50,30,35,25,15,10}
	%ajouts 'manuels'
	\PlacerTexte[Couleur=lime!75!black,Police=\small,Position=below]%
		{(\ValPremQuartile,0)}{\ArrondirNum[0]{\ValPremQuartile}}
	\PlacerTexte[Couleur=lime!75!black,Police=\small,Position=below]%
		{(\ValTroisQuartile,0)}{\ArrondirNum[0]{\ValTroisQuartile}}
	\PlacerTexte[Couleur=pink!75!black,Police=\small,Position=below]%
		{(\ValMed,0)}{\ArrondirNum[0]{\ValMed}}
\end{GraphiqueTikz}

\end{tcblisting}

\subsection{Le nuage de points (2 variables)}\label{nuage}

En marge des commandes liÃ©es aux fonctions, il est Ã©galement possible de reprÃ©senter des sÃ©ries statistiques doubles.

\smallskip

Le paragraphe suivant montre que l'ajout d'une clÃ© permet de rajouter la droite d'ajustement linÃ©aire.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerNuage[clÃ©s]{ListeX}{ListeY}
\end{tcblisting}

La \MontreCode{[clÃ©]} optionnelle est :

\smallskip

\begin{itemize}
	\item \MontreCode{CouleurNuage} : couleur des points du nuage (\MontreCode{black} par dÃ©faut).
\end{itemize}

\smallskip

Les arguments, obligatoires, permettent de spÃ©cifier :

\smallskip

\begin{itemize}
	\item la liste des abscisses ;
	\item la liste des ordonnÃ©es.
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10,
	Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5]
	%prÃ©paration de la fenÃªtre
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,10,...,160}{250,275,...,400}
	%nuage de points
	\TracerNuage[Style=x,CouleurNuage=red]{0,50,100,140}{275,290,315,350}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{La droite de rÃ©gression (2 variables)}\label{reglin}

La droite de rÃ©gression linÃ©aire (obtenue par la mÃ©thode des moindres carrÃ©s) peut facilement Ãªtre rajoutÃ©e, en utilisant la clÃ© \MontreCode{TracerDroite}.

\smallskip

Dans ce cas, de nouvelles clÃ©s sont disponibles :

\smallskip

\begin{itemize}
	\item \MontreCode{CouleurDroite} : couleur de la droite (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Arrondis} : prÃ©cision des coefficients (\MontreCode{vide} par dÃ©faut) ;
	\item \MontreCode{Debut} : abscisse initiale du tracÃ© (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : abscisse terminale du tracÃ© (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{Nom} : nom du tracÃ©, pour exploitation ultÃ©rieure (\MontreCode{reglin} par dÃ©faut).
\end{itemize}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10,
	Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5]
	\TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,10,...,160}{250,275,...,400}
	%nuage et droite
	\TracerNuage%
		[CouleurNuage=red,CouleurDroite=brown,TracerDroite]%
		{0,50,100,140}{275,290,315,350}
	%image
	\PlacerImages[Couleurs=cyan/magenta,Traits]{d}{120}
	%antÃ©cÃ©dents
	\PlacerAntecedents[Style=x,Couleurs=blue/green!50!black,Traits]{reglin}{300}
\end{GraphiqueTikz}
\end{tcblisting}

\subsection{Autres rÃ©gressions (2 variables)}\label{regressions}

En partenariat avec le package \MontreCode{xint-regression}, chargÃ© par le package (mais \textit{dÃ©sactivable} via l'option \MontreCode{[nonxintreg]}), il est possible de travailler sur d'autres types de rÃ©gression :

\begin{itemize}
	\item linÃ©aire \fbox{$ax+b$} ;
	\item quadratique \fbox{$ax^2+bx+c$} ;
	\item cubique \fbox{$ax^3+bx^2+cx+d$} ;
	\item puissance \fbox{$ax^b$} ;
	\item exponentielle \fbox{$ab^x$} ou \fbox{$e^{ax+b}$} ou \fbox{$b e^{ax}$} ou \fbox{$C + be^{ax}$} ;
	\item logarithmique \fbox{$a+b\ln(x)$} ;
	\item hyperbolique \fbox{$a+\displaystyle\frac{b}{x}$}.
\end{itemize}

La commande, similaire Ã&nbsp; celle de dÃ©finition d'une courbe, est :

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
\TracerAjustement[clÃ©s]&lt;non fct&gt;{type}&lt;arrondis&gt;{listex}{listey}
\end{tcblisting}

Les \MontreCode{[clÃ©s]} disponibles sont, de maniÃ¨re classique :

\begin{itemize}
	\item \MontreCode{Debut} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmin} par dÃ©faut) ;
	\item \MontreCode{Fin} : borne infÃ©rieure de l'ensemble de dÃ©finition (\MontreCode{\textbackslash pflxmax} par dÃ©faut) ;
	\item \MontreCode{Nom} : nom de la courbe (important pour la suite !) ;
	\item \MontreCode{Couleur} : couleur du tracÃ© (\MontreCode{black} par dÃ©faut) ;
	\item \MontreCode{Pas} : pas du tracÃ© (il est dÃ©terminÃ© \textit{automatiquement} au dÃ©part mais peut Ãªtre modifiÃ©).
\end{itemize}

\pagebreak

Le deuxiÃ¨me argument, optionnel et entre \MontreCode{&lt;...&gt;} permet de nommer la fonction de rÃ©gression.

Le troisiÃ¨me argument, obligatoire et entre \MontreCode{\{...\}} permet de choisir le type de rÃ©gression, parmi :

\begin{itemize}
	\item \MontreCode{lin} : linÃ©aire \fbox{$ax+b$} ;
	\item \MontreCode{quad} : quadratique \fbox{$ax^2+bx+c$} ;
	\item \MontreCode{cub} : cubique \fbox{$ax^3+bx^2+cx+d$} ;
	\item \MontreCode{pow} : puissance \fbox{$ax^b$} ;
	\item \MontreCode{expab} : exponentielle \fbox{$ab^x$}
	\item \MontreCode{hyp} : hyperbolique \fbox{$a+\displaystyle\frac{b}{x}$} ;
	\item \MontreCode{log} : logarithmique \fbox{$a+b\ln(x)$} ;
	\item \MontreCode{exp} : exponentielle \fbox{$e^{ax+b}$} ;
	\item \MontreCode{expalt} : exponentielle \fbox{$be^{ax}$} ;
	\item \MontreCode{expoff=C} : exponentielle \fbox{$C + be^{ax}$}.
\end{itemize}

Le quatriÃ¨me argument, optionnel et entre \MontreCode{&lt;...&gt;} permet de spÃ©cifier le ou les arrondis pour les coefficients de la fonction de rÃ©gression.

Les deux derniers arguments sont les listes des valeurs de X et de Y.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\def\LISTEXX{0,50,100,140}\def\LISTEYY{275,290,315,350}%
ListeX := \LISTEXX\\
ListeY := \LISTEYY

\begin{GraphiqueTikz}
	[x=0.05cm,y=0.04cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10,
	Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5]
	%prÃ©paration de la fenÃªtre
	\TracerAxesGrilles[Elargir=2.5mm,Police=\footnotesize]{auto}{auto}
	%nuage de points
	\TracerNuage[Style=o,CouleurNuage=red]{\LISTEXX}{\LISTEYY}
	%ajustement expoffset
	\TracerAjustement[Couleur=blue,Nom=ajust]&lt;ajust&gt;{expoff=250}{\LISTEXX}{\LISTEYY}
	%exploitations
	\PlacerImages[Couleurs=cyan/magenta,Traits]{ajust}{80}
	\PlacerAntecedents[Style=x,Couleurs=blue/green!50!black,Traits]{ajust}{325}
\end{GraphiqueTikz}

\xintexpoffreg[offset=250,round=3/1]{\LISTEXX}{\LISTEYY}%
On obtient $y=250+\num{\expregoffb}\text{e}^{\num{\expregoffa}x}$
\end{tcblisting}

\pagebreak

\section{Codes source des exemples de la page d'accueil}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}[x=0.85cm,y=0.35cm,Xmin=0,Xmax=10,Ymin=0,Ymax=16]
	%prÃ©paration de la fenÃªtre
	\TracerAxesGrilles[Derriere,Elargir=2.5mm,Police=\small]{0,1,...,10}{0,2,...,16}
	%dÃ©f des fonctions avec nom courbe + nom fonction + expression (tracÃ©s Ã&nbsp; la fin !)
	\DefinirCourbe[Nom=cf]&lt;f&gt;{3*x-6}
	\DefinirCourbe[Nom=cg]&lt;g&gt;{-(x-6)^2+12}
	%antÃ©cÃ©dents et intersection
	\TrouverIntersections[Aff=false,Nom=K]{cf}{cg}
	\TrouverAntecedents[AffDroite,Couleur=orange,Nom=I]{cg}{8}
	\TrouverAntecedents[Aff=false,Nom=J]{cg}{0}
	%intÃ©grale sous une courbe, avec intersection
	\TracerIntegrale%
		[Couleurs=blue/purple,Bornes=noeuds,Style=hachures,Hachures=bricks]%
		{g(x)}%
		{(I-2)}{(J-2)}
	%intÃ©grale entre les deux courbes
	\TracerIntegrale[Bornes=noeuds,Type=fct/fct]%
		{f(x)}[g(x)]%
		{(K-1)}{(K-2)}
	%tracÃ© des courbes et des points
	\TracerCourbe[Couleur=red]{f(x)}
	\TracerCourbe[Couleur=teal]{g(x)}
	\PlacerPoints&lt;\small&gt;{(K-1)/below right/L,(K-2)/above left/M}%
	\PlacerPoints[violet]&lt;\small&gt;{(I-1)/above left/D,(I-2)/above right/E}%
	%tangente
	\TracerTangente[Couleurs=pink!75!black/yellow,kl=2,kr=2,AffPoint]{g}{5}
	%images
	\PlacerImages[Couleurs=cyan]{g}{7,7.25,7.5}
	%surimpression des axes
	\TracerAxesGrilles[Devant,Elargir=2.5mm]{0,1,...,10}{0,2,...,16}
\end{GraphiqueTikz}
\end{tcblisting}

\pagebreak

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\begin{GraphiqueTikz}%
	[x=3.5cm,y=4cm,
	Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24,
	Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05]
	%prÃ©paration de la fenÃªtre
	\TracerAxesGrilles[Derriere,Elargir=2.5mm,Format=ntrig/nsqrt]{}{}
	%rajouter des valeurs
	\RajouterValeursAxeX{0.25,1.4,3.3}{\num{0.25},\num{1.4},\num{3.3}}
	%fonction trigo (dÃ©f + tracÃ©)
	\DefinirCourbe[Nom=ccos,Debut=0,Fin=pi]&lt;fcos&gt;{cos(x)}
	\DefinirCourbe[Nom=csin,Debut=0,Fin=pi]&lt;fsin&gt;{sin(x)}
	%intÃ©grale
	\TrouverIntersections[Aff=false,Nom=JKL]{ccos}{csin}
	\TracerIntegrale%
		[Bornes=noeud/abs,Type=fct/fct,Couleurs=cyan/cyan!50]%
		{fsin(x)}[fcos(x)]%
		{(JKL-1)}{pi}
	%tracÃ© des courbes
	\TracerCourbe[Couleur=red,Debut=0,Fin=pi]{fcos(x)}
	\TracerCourbe[Couleur=olive,Debut=0,Fin=pi]{fsin(x)}
	%antÃ©cÃ©dent(s)
	\PlacerAntecedents[Couleurs=blue/teal!50!black,Traits]{ccos}{-0.25}
	\PlacerAntecedents[Couleurs=red/magenta!50!black,Traits]{csin}{0.5}
	\PlacerAntecedents[Couleurs=orange/orange!50!black,Traits]{csin}{sqrt(2)/2}
	\PlacerAntecedents[Couleurs=green!50!black/green,Traits]{csin}{sqrt(3)/2}
	%surimpression axes
	\TracerAxesGrilles[Devant,Format=ntrig/nsqrt]%
		{pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi}
		{0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2}
\end{GraphiqueTikz}
\end{tcblisting}

\newpage

\section{Commandes auxiliaires}

\subsection{Intro}

En marge des commandes purement \textit{graphiques}, quelques commandes auxiliaires sont disponibles :

\begin{itemize}
	\item une pour formater un nombre avec une prÃ©cision donnÃ©e ;
	\item une pour travailler sur des nombres alÃ©atoires, avec contraintes.
\end{itemize}

\subsection{Arrondi formatÃ©}\label{numarrond}

La commande \MontreCode{\textbackslash ArrondirNum} permet de formater, grÃ¢ce au package \MontreCode{siunitx}, un nombre (ou un calcul), avec une prÃ©cision donnÃ©e. Cela peut Ãªtre \textit{utile} pour formater des rÃ©sultats obtenus grÃ¢ce aux commandes de rÃ©cupÃ©ration des coordonnÃ©es, par exemple.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
\ArrondirNum[prÃ©cision]{calcul xint}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
\ArrondirNum{1/3}\\
\ArrondirNum{16.1}\\
\ArrondirNum[3]{log(10)}\\
\end{tcblisting}

\subsection{Nombre alÃ©atoire sous contraintes}\label{nbalea}

L'idÃ©e de cette deuxiÃ¨me commande est de pouvoir dÃ©terminer un nombre alÃ©atoire :

\begin{itemize}
	\item entier ou dÃ©cimal ;
	\item sous contraintes (entre deux valeurs fixÃ©es).
\end{itemize}

Cela peut permettre, par exemple, de travailler sur des courbes avec points \textit{alÃ©atoires}, mais respectant certaines contraintes.

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
\ChoisirNbAlea(*)[precision (dÃ©f 0)]{borne inf}{borne sup}[\macro]
\end{tcblisting}

La version Ã©toilÃ©e prend les contraintes sous forme stricte ($\text{borne inf} &lt; \text{macro} &lt; \text{borne sup}$) alors que la version normale prend les contraintes sous forme large ($\text{borne inf} \leqslant \text{macro} \leqslant \text{borne sup}$).

\smallskip

Ã€ noter que les \textit{bornes} peuvent Ãªtre des \textit{macros} existantes !

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%un nombre (2 chiffres aprÃ¨s la virgule) entre 0.75 et 0.95
%un nombre (2 chiffres aprÃ¨s la virgule) entre 0.05 et 0.25
%un nombre (2 chiffres aprÃ¨s la virgule) entre 0.55 et \YrandMax
%un nombre (2 chiffres aprÃ¨s la virgule) entre \YrandMin et 0.45
\ChoisirNbAlea[2]{0.75}{0.95}[\YrandMax]%
\ChoisirNbAlea[2]{0.05}{0.25}[\YrandMin]%
\ChoisirNbAlea*[2]{0.55}{\YrandMax}[\YrandA]%
\ChoisirNbAlea*[2]{\YrandMin}{0.45}[\YrandB]%
%vÃ©rification
\num{\YrandMax} \&amp; \num{\YrandMin} \&amp; \num{\YrandA} \&amp; \num{\YrandB}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%un nombre (2 chiffres aprÃ¨s la virgule) entre 0.75 et 0.95
%un nombre (2 chiffres aprÃ¨s la virgule) entre 0.05 et 0.25
%un nombre (2 chiffres aprÃ¨s la virgule) entre 0.55 et \YrandMax
%un nombre (2 chiffres aprÃ¨s la virgule) entre \YrandMin et 0.45
\ChoisirNbAlea[2]{0.75}{0.95}[\YrandMax]%
\ChoisirNbAlea[2]{0.05}{0.25}[\YrandMin]%
\ChoisirNbAlea*[2]{0.55}{\YrandMax}[\YrandA]%
\ChoisirNbAlea*[2]{\YrandMin}{0.45}[\YrandB]%
%vÃ©rification
\num{\YrandMax} \&amp; \num{\YrandMin} \&amp; \num{\YrandA} \&amp; \num{\YrandB}
\end{tcblisting}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%la courbe est prÃ©vue pour qu'il y ait 3 antÃ©cÃ©dents
\ChoisirNbAlea[2]{0.75}{0.95}[\YrandMax]%
\ChoisirNbAlea[2]{0.05}{0.25}[\YrandMin]%
\ChoisirNbAlea*[2]{0.55}{\YrandMax}[\YrandA]%
\ChoisirNbAlea*[2]{\YrandMin}{0.45}[\YrandB]%

\begin{GraphiqueTikz}
	[x=0.075cm,y=7.5cm,Xmin=0,Xmax=150,Xgrille=10,Xgrilles=5,
	Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05]
	\TracerAxesGrilles[Dernier,Elargir=2.5mm]{auto}{auto}
	\DefinirCourbeInterpo[Couleur=red,Trace,Nom=fonctiontest,Tension=0.75]
	{(0,\YrandA)(40,\YrandMin)(90,\YrandMax)(140,\YrandB)}
	\TrouverAntecedents[Aff=false,Nom=ANTECED]{fonctiontest}{0.5}
	\PlacerAntecedents[Couleurs=blue/teal,Traits]{fonctiontest}{0.5}
	\RecupererAbscisse{(ANTECED-1)}[\Aalpha]
	\RecupererAbscisse{(ANTECED-2)}[\Bbeta]
	\RecupererAbscisse{(ANTECED-3)}[\Cgamma]
\end{GraphiqueTikz}

Les solutions de $f(x)=\num{0.5}$ sont, par lecture graphique :
$\begin{cases}
	\alpha \approx \ArrondirNum[0]{\Aalpha} \\
	\beta \approx \ArrondirNum[0]{\Bbeta} \\
	\gamma \approx \ArrondirNum[0]{\Cgamma}
\end{cases}$.
\end{tcblisting}

\newpage

\section{Liste des commandes}

Les commandes disponibles sont :

\NewDocumentCommand\lstcmd{ m m m }{%
	\item[\footnotesize\texttt{#1}]{\footnotesize : \mintinline{latex}|#2|\hfill{}page \pageref{#3}}
}

\begin{description}[noitemsep]
	\lstcmd{environnement~~}{\begin{GraphiqueTikz}...\end{GraphiqueTikz}}{creaenvt}
	\lstcmd{axes et grilles}{\TracerAxesGrille}{creaaxesgr}
	\lstcmd{aj val axes X~~}{\RajouterValeursAxeX}{ajoutvals}
	\lstcmd{aj val axes Y~~}{\RajouterValeursAxeY}{ajoutvals}
	\lstcmd{def fonction~~~}{\DefinirCourbe}{deftracfct}
	\lstcmd{tracÃ© courbe~~~}{\TracerCourbe}{deftracfct}
	\lstcmd{def interpo~~~~}{\DefinirCourbeInterpo}{deftracinterpo}
	\lstcmd{tracÃ© interpo~~}{\TracerCourbeInterpo}{deftracinterpo}
	\lstcmd{interp Lagrange}{\GenererPolynomeLagrange}{lagrangeinterpo}
	\lstcmd{def spline~~~~~}{\DefinirCourbeSpline}{deftracfctspline}
	\lstcmd{tracÃ© spline~~~}{\TracerCourbeSpline}{deftracfctspline}
	\lstcmd{tracÃ© droite~~~}{\TracerDroite}{tracdroite}
	\lstcmd{asymptote vert~}{\TracerAsymptote}{tracdroite}
	\lstcmd{def points~~~~~}{\DefinirPts}{defpts}
	\lstcmd{def image~~~~~~}{\DefinirImage}{defpts}
	\lstcmd{marq pts~~~~~~~}{\MarquerPts}{markpts}
	\lstcmd{placer txt~~~~~}{\PlacerTexte}{placetxt}
	\lstcmd{pts discont~~~~}{\AfficherPtsDiscont}{ptsdiscont}
	\lstcmd{rÃ©cup absc~~~~~}{\RecupererAbscisse}{recupcoordo}
	\lstcmd{rÃ©cup ordo~~~~~}{\RecupererOrdonnee}{recupcoordo}
	\lstcmd{rÃ©cup coordos~~}{\RecupererCoordonnees}{recupcoordo}
	\lstcmd{images~~~~~~~~~}{\PlacerImages}{images}
	\lstcmd{antÃ©cÃ©dents~~~~}{\TrouverAntecedents}{defanteced}
	\lstcmd{antÃ©cÃ©dents~~~~}{\PlacerAntecedents}{tracanteced}
	\lstcmd{intersection~~~}{\TrouverIntersections}{intersect}
	\lstcmd{maximum~~~~~~~~}{\TrouverMaximum}{maximum}
	\lstcmd{minimum~~~~~~~~}{\TrouverMinimum}{minimum}
	\lstcmd{intÃ©grale~~~~~~}{\TracerIntegrale}{integr}
	\lstcmd{mÃ©thodes int~~~}{\RepresenterMethodeIntegrale}{methodesintergrales}
	\lstcmd{Monte-Carlo~~~~}{\SimulerMonteCarlo}{montecarlo}
	\lstcmd{tangente~~~~~~~}{\TracerTangente}{tgte}
	\lstcmd{toile rÃ©curr~~~}{\TracerToileRecurrence}{toilerecurr}
	\lstcmd{loi normale~~~~}{\DefinirLoiNormale}{loinormale}
	\lstcmd{loi normale~~~~}{\TracerLoiNormale}{loinormale}
	\lstcmd{loi khideux~~~~}{\DefinirLoiKhiDeux}{loikhideux}
	\lstcmd{loi khideux~~~~}{\TracerLoiKhiDeux}{loikhideux}
	\lstcmd{loi binom~~~~~~}{\TracerHistoBinomiale}{histobinom}
	\lstcmd{courbe ECC~~~~~}{\TracerCourbeECC}{cbeECC}
	\lstcmd{stats 2 var~~~~}{\TracerNuage}{nuage}
	\lstcmd{regressions~~~~}{\TracerAjustement}{regressions}
	\lstcmd{arrondi~~~~~~~~}{\ArrondirNum}{numarrond}
	\lstcmd{nb alÃ©at~~~~~~~}{\ChoisirNbAlea}{nbalea}
\end{description}

\newpage

\section{Quelques commandes liÃ©es Ã&nbsp; pgfplots}

\subsection{Introduction}

Pour des graphiques avec des fenÃªtres d'affichage \textit{particuliÃ¨res}, il est fort possible que les commandes \textit{classiques} de \MontreCode{tkz-grapheur} coincent, avec notamment des \MontreCode{dimension too large}$\ldots$

\smallskip

Dans ce cas, il est possible d'utiliser plutÃ´t l'environnement \MontreCode{axis} de \MontreCode{pgfplots}, qui, de plus, permet \textit{souvent} de pallier ce problÃ¨me \textit{interne}$\ldots$

\MontreCode{tkz-grapheur} ne fournit pas d'environnement dÃ©diÃ© pour la crÃ©ation de la fenÃªtre, mais quelques commandes spÃ©cifiques ont Ã©tÃ© intÃ©grÃ©es pour certains points, avec un fonctionnement assez semblable (donc se rÃ©fÃ©rer aux paragraphes prÃ©cÃ©dents) Ã&nbsp; celui des commandes \textit{classiques}.

\subsection{Macros spÃ©cifique pgfplots/axis}

\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dÃ©terminer l'intersection de deux objets prÃ©alablement dÃ©finis via [name path]
\findintersectionspgf[base nom nÅ“uds]{objet1}{objet2}[macro nb total]

%extraction (globale, non limitÃ©e Ã&nbsp; l'environnement) et stockage de coordonnÃ©es
\gextractxnodepgf{nÅ“ud}[\myxcoord]
\gextractynodepgf{nÅ“ud}[\myycoord]
\gextractxynodepgf{nÅ“ud}[\myxcoord][\myycoord]

%domaine entre courbes
\fillbetweencurvespgf[options tikz]{courbe1}{courbe2}&lt;options soft domain&gt;

%splines cubiques
\addplotspline(*)[options tikz]&lt;coeffs&gt;{liste des points support}[\monspline]
\end{tcblisting}

\subsection{Exemple illustrÃ©}

\begin{tcblisting}{listing only,listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
%\usepackage{alphalph}

\begin{tikzpicture}
	\begin{axis}%
		[%
		axis y line=center,axis x line=middle,                                   %axes
		axis line style={line width=0.8pt,-latex},
		x=0.33cm,y=0.55cm,xmin=1985,xmax=2030,ymin=56,ymax=70,                   %unitÃ©s
		grid=both,xtick distance=5,ytick distance=2,                             %grillep
		minor x tick num=4,minor y tick num=1,                                   %grilles
		extra x ticks={1985},extra x tick style={grid=none},                     %origx
		extra y ticks={56},extra y tick style={grid=none},                       %origy
		x tick label style={/pgf/number format/.cd,use comma,1000 sep={}},       %annÃ©e
		major tick length={2*3pt},minor tick length={1.5*3pt},                   %grads
		every tick/.style={line width=0.8pt},enlargelimits=false,                %style
		enlarge x limits={abs=2.5mm,upper},enlarge y limits={abs=2.5mm,upper},   %Ã©largir
		]
		%spline + y=66
		\addplot[name path global=eqtest,mark=none,red,line width=1.05pt,domain=1985:2030] {66} ;
		\def\LISTETEST{1985/60/0Â§1995/68/0Â§2015/58/0Â§2025/69/0Â§2030/62/-2}
		\addplotspline*[line width=1.05pt,violet,name path global=splinecubtest]{\LISTETEST}[\monsplineviolet]
		%recherche d'antÃ©cÃ©dents
		\findintersectionspgf[MonItsc]{eqtest}{splinecubtest}
		%extraction des coordonnÃ©es
		\gextractxnodepgf{(MonItsc-1)}[\xMonItscA]
		\gextractxnodepgf{(MonItsc-2)}[\xMonItscB]
		\gextractxnodepgf{(MonItsc-3)}[\xMonItscC]
		\gextractxnodepgf{(MonItsc-4)}[\xMonItscD]
		%visualisation
		\xintFor* #1 in {\xintSeq{1}{4}}\do{%
			\draw[line width=0.9pt,densely dashed,olive,-&gt;,&gt;=latex] (MonItsc-#1) -- (\csname xMonItsc\AlphAlph{#1}\endcsname,56) ;
			\filldraw[olive] (MonItsc-#1) circle[radius=1.75pt] ;
		}
		%intÃ©grale
		\path [name path=xaxis] (1985,56) -- (2030,56);
		\fillbetweencurvespgf{splinecubtest}{xaxis}&lt;domain={\xMonItscB:\xMonItscA}&gt;
		\fillbetweencurvespgf{splinecubtest}{xaxis}&lt;domain={\xMonItscD:\xMonItscC}&gt;
	\end{axis}
\end{tikzpicture}

Les solutions de $f(x)=66$ sont d'environ \ArrondirNum*[0]{\xMonItscA} \&amp;\ \ArrondirNum*[0]{\xMonItscB} \&amp;\ \ArrondirNum*[0]{\xMonItscC} \&amp;\ \ArrondirNum*[0]{\xMonItscD}.
\end{tcblisting}

\begin{tikzpicture}
	\begin{axis}%
		[%
		axis y line=center,axis x line=middle,                                   %axes
		axis line style={line width=0.8pt,-latex},
		x=0.33cm,y=0.55cm,xmin=1985,xmax=2030,ymin=56,ymax=70,                   %unitÃ©s
		grid=both,xtick distance=5,ytick distance=2,                             %grillep
		minor x tick num=4,minor y tick num=1,                                   %grilles
		extra x ticks={1985},extra x tick style={grid=none},                     %originex
		extra y ticks={56},extra y tick style={grid=none},                       %originey
		x tick label style={/pgf/number format/.cd,use comma,1000 sep={}},       %annÃ©e
		major tick length={2*3pt},minor tick length={1.5*3pt},                   %grads
		every tick/.style={line width=0.8pt},enlargelimits=false,                %style
		enlarge x limits={abs=2.5mm,upper},enlarge y limits={abs=2.5mm,upper},   %Ã©largir
		]
		%spline + y=66
		\addplot[name path global=eqtest,mark=none,red,line width=1.05pt,domain=1985:2030] {66} ;
		\def\LISTETEST{1985/60/0Â§1995/68/0Â§2015/58/0Â§2025/69/0Â§2030/62/-2}
		\addplotspline*[line width=1.05pt,violet,name path global=splinecubtest]{\LISTETEST}[\monsplineviolet]
		%recherche d'antÃ©cÃ©dents
		\findintersectionspgf[MonItsc]{eqtest}{splinecubtest}
		%extraction des coordonnÃ©es
		\gextractxnodepgf{(MonItsc-1)}[\xMonItscA]
		\gextractxnodepgf{(MonItsc-2)}[\xMonItscB]
		\gextractxnodepgf{(MonItsc-3)}[\xMonItscC]
		\gextractxnodepgf{(MonItsc-4)}[\xMonItscD]
		%visualisation
		\xintFor* #1 in {\xintSeq{1}{4}}\do{%
			\draw[line width=0.9pt,densely dashed,olive,-&gt;,&gt;=latex] (MonItsc-#1) -- (\csname xMonItsc\AlphAlph{#1}\endcsname,56) ;
			\filldraw[olive] (MonItsc-#1) circle[radius=1.75pt] ;
		}
		%intÃ©grale
		\path [name path=xaxis] (1985,56) -- (2030,56);
		\fillbetweencurvespgf{splinecubtest}{xaxis}&lt;domain={\xMonItscB:\xMonItscA}&gt;
		\fillbetweencurvespgf{splinecubtest}{xaxis}&lt;domain={\xMonItscD:\xMonItscC}&gt;
	\end{axis}
\end{tikzpicture}

Les solutions de $f(x)=66$ sont d'environ \ArrondirNum*[0]{\xMonItscA} \&amp;\ \ArrondirNum*[0]{\xMonItscB} \&amp;\ \ArrondirNum*[0]{\xMonItscC} \&amp;\ \ArrondirNum*[0]{\xMonItscD}.

\pagebreak

\section{Historique}

{\footnotesize \begin{quote}
\begin{verbatim}
0.2.5 : Interpolation de Lagrange + amÃ©liorations
0.2.4 : ClÃ© [StyleTrace] pour des pointillÃ©s par exemple
0.2.3 : Bugfix avec une longueur
0.2.0 : MÃ©thode alternative des splines cubiques + commandes auxiliaires pgfplots
0.1.9 : Correction d'un bug avec la dÃ©termination d'unitÃ©s
0.1.8 : Courbes ECC/FCC + Toile rÃ©currence + Points discontinuitÃ© + HistoBinom
0.1.7 : MÃ©thodes intÃ©grales avec des splines
0.1.6 : Asymptote verticale + MÃ©thodes intÃ©grales (gÃ©om + Monte Carlo)
0.1.5 : Correction d'un bug sur les rajouts de valeurs + NÅ“ud pour une image + [en] version !
0.1.4 : Placement de texte
0.1.3 : Ajout de rÃ©gressions avec le package xint-regression
0.1.2 : Droites + Extremums
0.1.1 : DensitÃ© loi normale et khi deux + Marquage points + AmÃ©liorations
0.1.0 : Version initiale
\end{verbatim}
\end{quote}}

\end{document}</pre></body></html>