% \copyleft Connan le Barbare (aka Guillaume Connan) \copyright
% This work may be distributed and/or mofified under the conditions
% or the LaTeX Project Public Licence, either v1.3 or (at your option)
% any later version. The latest version is in
%   http://www.latex-project.org/lppl/
% This work consists of the files tablor.sty, tablor-xetex.sty,  tablor.cfg, tablor.tex,
% tablor.pdf and tablor.html




\documentclass[11pt]{article}
\usepackage{etex}
\usepackage[height=250mm,width=183mm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[upright]{kpfonts}
\usepackage{bold-extra}
\usepackage[scaled=0.85]{luximono}
\usepackage[xcas]{tablor}
\usepackage{listings,keystroke}
\usepackage{graphicx,bclogo,amssymb,amsbsy,amsfonts,amstext,amscd,amsopn,amsxtra}
% bclogo est t�l�chargeable ici : http://melusine.eu.org/syracuse/wiki/doku.php/mc/bclogo


\usepackage{tocloft}
%ajoute de l'espace entre le
%numero de chapitre (chap) et le titre
%dans la table des matieres

\addtolength{\cftsecnumwidth}{2em}
\addtolength{\cftsubsecnumwidth}{1em}

% pour une TdM hyperactive...
\usepackage[dvips,colorlinks=true,linkcolor=blue]{hyperref}

% quelques gris

\usepackage{color}
\definecolor{0.9white}{rgb}{.9,.9,.9}
\definecolor{0.8white}{rgb}{.8,.8,.8}
\definecolor{0.2white}{rgb}{.2,.2,.2}
\definecolor{0.4white}{rgb}{.4,.4,.4}
\definecolor{0.6white}{rgb}{.6,.6,.6}
\definecolor{0.1white}{rgb}{.1,.1,.1}
\definecolor{bleu}{rgb}{0.4,0.2,1} \newrgbcolor{bleu}{0.4 0.2 1}
\definecolor{orange}{rgb}{0.589999,0.269997,0.080004}
\definecolor{rouge}{rgb}{1,0,0} \newrgbcolor{rouge}{1 0 0}
% style des listings


\newcommand\lat{\lstset{numbers=none,language=[LaTeX]{TeX},xleftmargin=10pt,%
keywordstyle =\color{bleu}\bfseries,basicstyle=\ttfamily\color{0.1white},commentstyle=\normalfont\scriptsize\slshape,breaklines=true,backgroundcolor=\color{green!20},frame=trBL,framerule=1pt,framesep=4pt,rulesep=1pt,showstringspaces=false,stringstyle=\slshape,captionpos=b}
}


\newcommand\xcas{\lstset{numbers=none,language=XCAS,xleftmargin=10pt,%
keywordstyle =\color{rouge!70!black}\bfseries,basicstyle=\ttfamily\color{0.1white},commentstyle=\normalfont\scriptsize\slshape,breaklines=true,backgroundcolor=\color{orange!20},frame=trBL,framerule=1pt,framesep=4pt,rulesep=1pt,showstringspaces=false,stringstyle=\slshape,captionpos=b}
}



% petits environnements bclogo



\newenvironment{DANGER}[1]{%
\begin{bclogo}[logo=\bctakecare,arrondi=0.1,couleur=0.9white]{#1}}
{\end{bclogo}}

\newenvironment{Idee}[1]{%
\begin{bclogo}[logo=\bclampe,arrondi=0.1,couleur=0.9white]{#1}}
{\end{bclogo}}



% style des sections
\usepackage{sectsty}


\sectionfont{\LARGE \color{0.2white}}
\subsectionfont{\color{0.4white}}
\renewcommand\thesection{\Roman{section} -}
\renewcommand\thesubsection{\alph{subsection}. }
\subsubsectionfont{\color{0.6white}}
\renewcommand\thesubsubsection{\roman{subsection}. }

\graphicspath{{./figures/}}



% titre

\title{\texttt{tablor.sty} \\La machine � cr�er des tableaux de signes et de variations }

\author{Guillaume \textsc{Connan} \\ \href{http://tehessin.tuxfamily.org/}{http://tehessin.tuxfamily.org/}\\
avec l'efficace participation de Jean-Michel \textsc{Boucart}\\
Forum d'aide ~:~\href{http://gconnan.free.fr/punbb/upload/index.php}{http://gconnan.free.fr/punbb/upload/index.php}}

\date{9 mai 2010 - Version 4.07}








%%
%
%  D�but du document
%
%%




\begin{document}

\setlength{\parindent}{0mm}

\maketitle


\vspace{1cm}

\initablor

\section{�a sert � quoi~?}

Il  s'agit d'obtenir rapidement  un tableau  de signe  ou un  tableau de  variation en  entrant un
minimum de commandes.

\section{Nouveaut�s}

\subsection{Changements depuis la version 3.00}


\begin{figure}[!h]
              \begin{DANGER}{Attention~!}
              �  partir de la  version 4.03  de \texttt{tablor},  il est
              n�cessaire     d'avoir    la    nouvelle     version    de
              tableauVariation.mp (la 2.1  datant de d�cembre 2008) mais
              pour  l'instant   elle  n'est  pas   pr�sente  sur  CTAN~!
              R�cup�rez     plut�t     le     fichier    �     l'adresse
              \href{http://download.tuxfamily.org/tehessinmath/les\_sources/tableauVariation.mp}{http://download.tuxfamily.org/tehessinmath/les\_sources/tableauVariation.mp}.

Cela ne posera de probl�mes que si vous utilisez l'environnement TVZ.
               \end{DANGER}
               \end{figure}



La version 4.01 n'est  malheureusement plus compatible avec les versions
ant�rieures car une option suppl�mentaire a �t� ajout�e pour traiter les
fonctions trigonom�triques.

Une  possibilit�  a de  plus  �t� ajout�e  pour  r�duire  la taille  des
tableaux.

Les tableaux de signes courts (TSc) ont un argument de plus pour traiter
les valeurs interdites (version 4.01).


Une extension pour une compilation via Xe\TeX{} a �t�
cr��~:~\verb+tablor-xetex.sty+ (version  4.01) ne fonctionnant  que sous
unix.



Un   environnement  TVPC  a   �t�  cr��   pour  traiter   les  fonctions
prolongeables par continuit� (version 4.02).


Une  possibilit�  a  �t� ajout�e  pour  donner  un  nom �  une  fonction
n�cessitant l'emploi d'une macro \LaTeX{} (version 4.02b).


Les fronti�res  des zones interdites  sont assorties  de doubles
barres si n�cessaire. (version 4.03)


Un  nouvel environnement  TVIex  est  cr�� pour  avoir  les racines  des
valeurs interm�diaires sous forme exacte quand c'est possible.(version 4.04)

Un bug dans tous les TVI est corrig�.(Version 4.04).

Un bug d� � une mise �  jour de XCAS (version 4.04-b compatible avec les
pr�c�dentes).

Des bugs dans TVapp et TVIapp corrig�s (version 4.04-c... puis 4.04-d).

Bug dans TVc (version 4.04-h)

Nouvel environnement  TVS pour des  tableaux de variations  de fonctions
dont on ne connait qu'une liste d'images (version 4.05).


Petites modifs  dans le  code pour s'adapter  aux nouvelles  versions de
MetaPOST et  pour contrer certains  bugs dus �  certaines configurations
personnelles de xcas (4.05-b).


Cr�ation de l'option windows  : on peu maintenant d�clarer l'utilisation
de  l'OS windows  en option  sans aller  modifier le  fichier tablor.cfg
(version 4.06).


Nouveau \verb+tablor.cfg+ : on peut r�gler l'epsilon de XCAS qui fixe le
seuil  du   z�ro  des  flottants.   Il  est  r�gl�  �   $10^{-100}$  par
d�faut. Il faut une version  r�cente de XCAS, post�rieure au 20 novembre
2009. (version tablor : 4.06-c)


Tableaux    en   couleurs    !    Merci   �    \texttt{fp}   du    forum
\href{http://forum.mathematex.net/latex-f6/tableau-de-variations-redige-en-bleu-t10826.html}{\texttt{mathematex}}
(version tablor : 4.07)

\xcas
\begin{lstlisting}[caption={}]
//reglage de epsilon : seuil du zero de giac 
epsilon:=1e-100;
\end{lstlisting}

\subsection{Professor.sty}


\texttt{tablor.sty}  a   fait  des   petits...  Gr�ce  �   une  efficace
collaboration  avec Denis \textsc{LE  FUR}, vous  disposez �  pr�sent de
toute  une panoplie  d'outils similaires  pour tracer  des  courbes, des
histogrammes, des arbres de probabilit�s, des graphes probabilistes, des
lissages par moyennes  mobiles et j'en passe et  des meilleures... Allez
d�couvrir                 ces                 tr�sors                sur
\href{http://mathsp.tuxfamily.org/spip.php?rubrique46}{http://mathsp.tuxfamily.org/spip.php?rubrique46}.



\subsection{Plugin TeXmacs}


Emmanu�l Corcelle a �crit un plugin pour que les utilisateurs de TeXmacs
puissent     eux     aussi     profiter    de     \texttt{tablor}     et
\texttt{professor}. Pour cela visitez le site \href{http://corcelle.wordpress.com/}{http://corcelle.wordpress.com/}




\section{Comment �a marche~?}

\subsection{Principe g�n�ral}

On entre une instruction qu'on envoie via  \LaTeX{} � \texttt{XCAS} qui effectue un certain nombre de
calculs (r�solution d'�quations,  calcul de limites). \texttt{XCAS} renvoie un  r�sultat sous la forme
d'un script \texttt{MetaPOST} qui est compil�. Un  tableau est cr�� et ensuite ins�r� dans le document
\texttt{tex}.


\subsection{Rentrons dans les d�tails}

En utilisant  un environnement \texttt{tablor}, de  nombreux fichiers sont cr��s  dans le r�pertoire
courant puis effac�s par la commande \texttt{nettoyer} si vous le souhaitez~:

\begin{itemize}
\item des  fichiers d'extension  \texttt{.cxx}~:~il s'agit  du fichier le  plus important.  C'est le
  programme  \texttt{XCAS} qui  �~fabrique~� le  tableau.  Vous pouvez  l'utilisez tel  quel dans  une
  session \texttt{XCAS} ou \texttt{giac}.
\item des fichiers d'extension \texttt{.giac} qui  regroupent des instructions lues et ex�cut�es par
  \texttt{giac}.
Il est tr�s court~:


\xcas

\begin{lstlisting}
maple_mode(0); // au cas o� certains travailleraient en mode maple, mupad ou ti
read("config.cxx"); // pour configurer la 1�re colonne (signe de ou sign of etc.)
read("XcasTV.cxx"); // giac charge le programme 
read("XCasTV.user"); // giac lit les param�tres rentr�s dans le source
tex et fabrique � la vol�e le source MetaPOST.
\end{lstlisting}

\item des  fichiers d'extension \texttt{.user} qui  sont cr��s par \LaTeX{}  gr�ce � l'environnement
  \texttt{VerbatimOut} de  l'extension \texttt{fancyvrb} : il s'agit  en fait de la  commande qui se
  trouve par exemple entre \verb+\begin{TV}+ et \verb+\end{TV}+.
 


\end{itemize}

\subsection{Code XCAS}

Toutes les proc�dures suivent le m�me principe~:

\begin{itemize}
\item la plus grande partie s'occupe de cr�er les lignes du tableaux �
      l'aide de nombreux tests et boucles;
\item   ensuite,   on   regroupe   ces  lignes   dans   une   variable
      \texttt{MetaLfc};

\item on exporte le tableau � l'aide des trois derni�res lignes~:

\xcas

\begin{lstlisting}
sortie:=fopen("XCasmpfc.mp"); // on cr�e un fichier XCasmpfc.mp
fprint(sortie,Unquoted,MetaLfc); // on y met MetaLfc
fclose(sortie); // on ferme XCasmpfc.mp
\end{lstlisting}




\lat
\end{itemize}




\begin{figure}[!h]
              \begin{Idee}{Autres collaborations XCAS/\LaTeX{}}
On peut  suivre ce m�me  principe pour cr�er d'autres  associations de
vos outils pr�f�r�s. Voir par exemple~:

\href{http://gconnan.free.fr/?page=53}{http://gconnan.free.fr/?page=53}

et 

\href{http://melusine.eu.org/syracuse/giac/}{http://melusine.eu.org/syracuse/giac/}
               \end{Idee}
               \end{figure}





\section{De quoi a-t-on besoin~?}

\begin{figure}[!h]
  \begin{Idee}{Conseils en lignes}
    N'h�sitez pas � explorer la page suivante : 

\href{http://mathsp.tuxfamily.org/spip.php?article186}{http://mathsp.tuxfamily.org/spip.php?article186}

surtout si vous �tes sur XP :-)

De nombreux probl�mes ont �t� r�gl�s sur le forum~: \href{http://gconnan.free.fr/punbb/upload/index.php}{http://gconnan.free.fr/punbb/upload/index.php}
    \end{Idee}
  \end{figure}


  \begin{figure}[!h]
    \begin{Idee}{MikTeX et TeXLive}
      \texttt{tablor}      est      pr�sent      sur      MikTeX      et
      TeXLive. \texttt{tableauVariation.mp} est sur
      MikTeX mais la version n'est pas � jour (� la date du 7 f�vrier 2009).
      \end{Idee}
    \end{figure}


\begin{itemize}

\item Il faut avoir install� \texttt{XCAS}, logiciel multi-plateforme de calcul et de programmation~:

\href{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}~;

\item il faut avoir le fichier de macros \texttt{MetaPOST} 
\texttt{tableauVariation.mp} de Fr�d�ric Mazoit~:
\href{http://download.tuxfamily.org/tehessinmath/les\_sources/tableauVariation.mp}{http://download.tuxfamily.org/tehessinmath/les\_sources/tableauVariation.mp}~;

Pour  ceux  qui  sont gu�re  habitu�s  �  \texttt{MetaPOST},  cela  ne  pose aucun  probl�me  car  les
scripts  et compilations  \texttt{MetaPOST}  se font  automatiquement.  Il suffit  de  cr�er dans  son
\texttt{texmf} personnel  une arborescence du style~:  \texttt{./texmfperso/metapost/tablor/} et d'y
placer \texttt{tableauVariation.mp} puis  un \texttt{rehash}. C'est exactement la  m�me d�marche que
pour installer une nouvelle extension \LaTeX{}.


\item  il faut �tre en mode \texttt{shell-escape} pour autoriser
 les sorties de la compilation \texttt{tex}. Pour \texttt{emacs}, on rajoute en 
 fin de fichier \verb+%%% LaTeX-command: "latex --shell-escape" ***+; pour les autres �diteurs, il faut modifier
 la commande de compilation. Sinon, on peut modifier le fichier \texttt{texmf.cnf}
 pour   que   le   mode   soit   automatis�  en   modifiant   la   ligne
 suivante~:~\texttt{shell-escape t} mais ce  n'est pas recommand� car il
 faut activer le shell-escape le moins possible et toujours sous contr�le~;



\begin{figure}[!h]
  \begin{Idee}{shell-escape sur KILE}
    On peut  cr�er une compilation en allant dans les menus de configuration, l'associer � un raccourci clavier et hop, quand on veut une compil rapide c'est facile.

On va dans \texttt{configuration>kile>outils>nouvel outil}

On l'appelle par exemple shellEscape et on le base sur LateX

Ensuite en commande on met \texttt{latex} (ou \texttt{pdflatex})
et en option \verb+-shell-escape -interaction=nonstopmode '%source'+
et on clique sur OK.

Ensuite on va dans \texttt{configuration>raccourci clavier > rechercher sh}.
On tombe sur shellEscape. On clique sur personnaliser et on choisi un raccourci, par exemple
la touche windows et s (S-s en langage emacs...)

Et voil� : quand on veut compiler un document appelant tablor, on appuie sur windows+s.
    \end{Idee}
  \end{figure}






\begin{figure}[!h]

              \begin{Idee}{shell-escape sur TeXnicCenter}
       Pour         les         utilisateurs         de        TeXnicCenter,         observez         cette
\href{http://img221.imageshack.us/img221/27/capture20080114215233hu7.png}{explication}             du
param�trage du \texttt{shell-escape}. On peut par exemple mettre~:

\texttt{-enable-write18 --shell-escape --src -interaction=nonstopmode "\%Wm"}.

Sur TeXmaker, c'est \texttt{latex -enable-write18 --shell-escape -interaction=nonstopmode \%.tex}.

Pour faire comprendre � \texttt{Microsoft Windows XP} o� trouver \texttt{giac}, vous pouvez modifier le \texttt{path} en suivant
ces instructions~: 

Demarrer->Panneau de configuration->Syst�me onglet Avanc�->Variable d'environnement. Il faut cliquer sur la ligne PATH puis sur le bouton modifier
et l� il faut ajouter 

\begin{center}
  \verb+;C:\repertoire_d'installation_de_xcas+
\end{center}



(Merci � Ga�tan et � Daniel).
\end{Idee}
               
      \end{figure}         



\item il  faut avoir  � disposition les  extensions \texttt{fancyvrb},
      \texttt{filecontents}, \texttt{ifthen} et \texttt{ifpdf};

\item pour ceux qui compilent avec \texttt{pdf\LaTeX{}}, il n'y a aucun probl�me et rien � faire car \texttt{tablor}
  contient d�j� ce qu'il faut pour s'adapter~:
    \verb+\ifpdf \DeclareGraphicsRule{*}{mps}{*}{} \fi+

\item il faut installer le fichier  \texttt{tablor.sty} dans son \texttt{texmf} personnel. Pour ceux
  qui ont  une version  r�cente de \texttt{MiKTeX}  ou \texttt{TeXLive},
  \texttt{tablor} est d�j� install�. Pour les
  utilisateurs de  \texttt{Unix}, vous  devez savoir  comment faire... Par  commodit�, vous  pouvez en
  profiter pour  installer la  version \texttt{Unix}  de \emph{MiKTeX package  manager}. J'ai  fait un
  petit script pour vous y aider ici :

 \href{http://gconnan.free.fr/?page=52}{http://gconnan.free.fr/?page=52}

\item    il   faut   installer    le   fichier    de   configuration
      \texttt{tablor.cfg}   dans   le  m�me
      r�pertoire de \texttt{tablor.sty}  ce qui est fait automatiquement
      soit par d�compression  d'une archive \texttt{tablor.zip} soit par
      l'interm�diaire des distributions \texttt{MikTeX} et \texttt{TeXLive}.



\end{itemize}






\begin{figure}[!h]
              \begin{DANGER}{Conflit d'extensions}
              L'extension  \verb+fancybox+   rentre  en  conflit   avec  \verb+fancyvrb+  qu'utilise
              \verb+tablor+ car elles d�finissent toutes deux diff�remment l'environnement \verb+VerbatimOut+.
               \end{DANGER}
               \end{figure}



              \begin{DANGER}{Commandes cr��es}
 Huit nouvelles commandes sont cr�es~:~\verb+\tv, \tvbis, \nettoyer, \initablor,+

  \verb+ \dresse, \dressetoile, \executGiacmp+.
 Attention aux conflits si de  tels noms existent quelque part dans vos
              fichiers personnels.
               \end{DANGER}
               




\section{Comment l'utiliser~?}



\begin{figure}[!h]
  \begin{Idee}{Faut-il savoir utiliser MetaPOST et XCAS~?}
    Non~!  Tous  les  appels  �   ces  logiciels  se  font  sans  aucune
    intervention de l'utilisateur. 
    \end{Idee}
  \end{figure}



\subsection{Pr�ambule}

Les ECM donn�s  en exemple ne d�pendent pas du  moteur de compilation~:~\texttt{\LaTeX{}+dvi+dvips} ou
\texttt{pdf\LaTeX{}} conviennent.

Le pr�ambule sera toujours sous Linux ou Mac~:

\lat

\begin{lstlisting}
\documentclass{article}
\usepackage{graphicx}
\usepackage[french]{babel} % or eunozer langouage
\usepackage[xcas]{tablor} % xcas en option : cf plus loin
\end{lstlisting}

Le pr�ambule sera toujours sous Windows~:

\lat

\begin{lstlisting}
\documentclass{article}
\usepackage{graphicx}
\usepackage[french]{babel} % or eunozer langouage
\usepackage[xcas,windows]{tablor} % xcas et windows en option : cf plus loin
\end{lstlisting}



% \begin{figure}[!h]
%               \begin{Idee}
%               Les fontes utilis�es  dans les tableaux sont \verb+[upright]{fourier}+.  Il est tout �
%               fait  possible  d'utiliser   d'autres  fontes.  Il  suffit  de   modifier  le  fichier
%               \texttt{tablor.sty} en rempla�ant partout o� il appara�t \verb+[upright]{fourier}+ par \verb+lmodern+ ou ce
%               que vous voulez. Ce n'est pas tr�s pratique,  mais cela �vite de le mettre en option �
%               chaque utilisation et on utilise souvent la m�me fonte dans ses documents.
%                \end{Idee}
%                \end{figure}



\subsection{L'option xcas}\label{option}


On  met \texttt{xcas} si  l'on a install� \texttt{giac/XCAS}  sur son
    ordinateur  et on  ne  met rien  si  \texttt{giac/XCAS} n'est  pas
    install� ou (et) que l'on a r�cup�r� un
    fichier \texttt{tex} avec  les fichiers sources \texttt{MetaPOST}; Ainsi,  \texttt{tablor} ne fera
    pas appel � \texttt{giac/XCAS} et se contentera de compiler les fichiers \texttt{MetaPOST}.




\subsection{L'option windows}

Si vous utilisez encore Windows\textregistered, d�clarez-le en option~:~

\begin{lstlisting}
\usepackage[xcas,windows]{tablor}
\end{lstlisting}

Pour les utilisateurs de Linux et Mac, il n'y a rien � d�clarer...

\subsection{Fichier de configuration \texttt{tablor.cfg}}

\subsubsection*{Contenu}

{\small


\begin{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Fichier de configuration de tablor.sty  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% La mise � jour de ce fichier permet d'adapter certains param�tres du package tablor.sty 
% au poste de travail et aux habitudes des utilisateurs. 


%========================================
%  I - Configuration du pr�ambule MetaPOST
%========================================

\begin{filecontents*}{enteteMP.cfg}
input tableauVariation;
verbatimtex
%&latex
\documentclass{article}
\usepackage[upright]{fourier} % ou mathpazo, lmodern, etc. ou rien !
\usepackage{amsmath}
\renewcommand\mbox[1]{ #1 } % pour les mbox intempestifs de xcas
\renewcommand\cdot{ } % idem pour les cdot
\begin{document}
\catcode`\@=0 % pour utiliser le @
etex 
\end{filecontents*}




%=================================
% II - D�claration de l'�diteur utilis�
% ================================
% 
% Remplacez "emacsclient -c" par la commande qui lance un autre editeur que 
% votre �diteur favori pour afficher les tableaux a modifier. 
% Laissez une espace avant de fermer l'accolade.

\newcommand{\editeur}{emacsclient -c }




%=================================
%III - 1ere colonne
%=================================
%
%permet de configurer les termes dans la premiere colonne des
%tableaux : "signe de" ou "sign of" ou "" etc.
%



\begin{VerbatimOut}{config.cxx}

//reglage de epsilon : seuil du zero de giac 
epsilon:=1e-100;

// POUR LES TV, TVI,TVZ,TVapp,TSq,TSa
// pour la ligne signe 
lsic:="
newLigneSignes(btex $\\hbox{ Signe de }\\atop{\\displaystyle ";

// POUR LES TV, TVI,TVZ,TVapp
// pour la ligne variation 
lvic:="
newLigneVariations(btex $\\hbox{  Variations de }\\atop{\\displaystyle ";

\end{VerbatimOut}



%% you may prefer

% \begin{VerbatimOut}{config.cxx}

% // FOR TV, TVI,TVZ,TVapp,TSq,TSa
% // for the signs 
% lsic:="
% newLigneSignes(btex $\\hbox{ Sign of }\\atop{\\displaystyle ";

% // POUR LES TV, TVI,TVZ,TVapp
% // for the variations 
% lvic:="
% newLigneVariations(btex $\\hbox{  Variations of }\\atop{\\displaystyle ";

%\end{VerbatimOut}



%% ou si vous pr�f�rez que ni signe ni variation n'apparaissent



% \begin{VerbatimOut}{config.cxx}

% // POUR LES TV, TVI,TVZ,TVapp,TSq,TSa
% // pour la ligne signe 
% lsic:="
% newLigneSignes(btex ${\\displaystyle ";

% // POUR LES TV, TVI,TVZ,TVapp
% // pour la ligne variation 
% lvic:="
% newLigneVariations(btex ${\\displaystyle ";

% \end{VerbatimOut}



\end{lstlisting}
}



Vous le placerez dans la m�me arborescence que \texttt{tablor.sty} et le modifierez si besoin est.

\subsubsection*{R�le}

\begin{itemize}
\item La premi�re partie permet de configurer le pr�ambule \texttt{tex} qui sera utilis� par
\texttt{MetaPOST}  pour   cr�er  les  tableaux.   La  ligne  contenant
l'extension des fontes est en particulier optionnelle~:~vous pouvez la
modifier, voire la supprimer selon vos choix de fontes;


\item si vous utilisez \texttt{ Microsoft-Windows}, il faudra d�commenter la
ligne sp�cifi�e afin que les commandes \texttt{unix} soient remplac�es
automatiquement par des commandes \texttt{dos};


\item l'�diteur sera appel� dans certains cas pour modifier
    l'aspect des  tableaux dans les fichiers  sources \texttt{MetaPOST}. Il faudra  choisir un �diteur
  comme par exemple \texttt{emacs, xemacs, texmaker, vi, winshell, notepad, vim, kate, gedit,
      textmate,texshop}, \texttt{kile}, etc. 
Pour �viter  certains probl�mes, choisissez  un autre �diteur  que celui
que vous utilisez pour \LaTeX{} afin que la fen�tre s'ouvre sans probl�me.

Voir aussi le paragraphe~\ref{modif};

\item par  d�faut, on voit  appara�tre dans la  premi�re colonne des  tableaux �~signe de  ~� ou
  �~variations  de ~�.  Vous pouvez  modifier ces  r�glages ici  comme indiqu�;  deux  exemples sont
  donn�s~:~en anglais ou en n'�crivant que les expressions.

\item  on peut r�gler l'epsilon de XCAS qui fixe le
seuil du z�ro des flottants. Il est r�gl� � $10^{-100}$ par d�faut.
\end{itemize}


\subsection{Initialisation de \texttt{tablor} et pr�fixe des tableaux}\label{prefix}


Les   fichiers  \texttt{MetaPOST}   des  tableaux   sont  regroup�s   dans  un   fichier   de  suffixe
\texttt{\_Tab.mp}.   Le   pr�fixe  est   par   d�faut   celui   du  fichier   \texttt{tex}   appelant
\texttt{tablor}. Il est possible, pour des raisons de classement personnel, de modifier ce pr�fixe �
la suite du \verb+\begin{document}+ en entrant~:

  \begin{lstlisting}
\initablor
  \end{lstlisting}

si l'on veut avoir comme pr�fixe le pr�fixe courant (obtenu par \verb+\jobname+) ou bien~:

 \begin{lstlisting}
\initablor[Waouh]
  \end{lstlisting}

si l'on veut que le fichier \texttt{MetaPOST} des tableaux s'appelle \verb+Waouh\_Tab.mp+

\medskip

Si tout s'est bien pass�, on doit supprimer les fichiers \texttt{log} de \texttt{MetaPOST} et clore le
fichier \texttt{\_Tab.mp} en entrant juste avant \verb+\end{document}+ la commande~:

\begin{lstlisting}
  \nettoyer
\end{lstlisting}


ou bien, selon les cas~:

\begin{lstlisting}
\nettoyer[Waouh]
  \end{lstlisting}
 


\medskip

\textbf{En r�sum�}, notre fichier \texttt{tex} aura cette ossature~:


\begin{lstlisting}
\documentclass{article}
\usepackage{graphicx}
\usepackage[french]{babel} % or eunozer langouage
\usepackage[xcas]{tablor} % options modifiables

\begin{document}

\initablor

...

\nettoyer

\end{document}
\end{lstlisting}


\section{Facteur de r�duction}

Si vous trouvez le tableau  trop grand, vous pouvez utilisez la commande
\verb+\ech{nombre}+  o�  \texttt{nombre}  repr�sente le  coefficienr  de
r�duction ou d'agrandissement du tableau.

Par exemple, comparez~:

 \begin{lstlisting}
\begin{TV}
TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,n,\tv)
\end{TV}
  \end{lstlisting}

  \begin{center}
    
  
\begin{TV}
TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,n,\tv)
\end{TV}

\end{center}

et 

 \begin{lstlisting}
\ech{0.7}
\begin{TV}
TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,n,\tv)
\end{TV}
\ech{1}
  \end{lstlisting}

  \begin{center}
    
 \ech{0.7} 
\begin{TV}
TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,n,\tv)
\end{TV}
\ech{1}

\end{center}

\begin{figure}[!h]
              \begin{DANGER}{Remise � l'�chelle 1}
              N'oubliez pas  de remettre �  l'�chelle 1 en entrant  � la
              suite de l'environnement \verb+\ech{1}+
               \end{DANGER}
               \end{figure}



\section{Tableaux en couleur}

Gr�ce � la tr�s efficace intervention de \texttt{fp} du forum
\href{http://forum.mathematex.net/latex-f6/tableau-de-variations-redige-en-bleu-t10826.html}{\texttt{mathematex}},
on peut � pr�sent avoir des tableaux en couleur. Cette couleur est noire
par d�faut.  Si on veut �gayer  sa pr�sentation, on  utilise la commande
\verb+\coultab{couleur}+  o� \verb+couleur+  est  le nom  de la  couleur
d�sir�e selon les standards \textbf{MetaPOST}~:
\begin{itemize}
\item \verb+blue+, \verb+red+, \verb+green+, etc.
\item pour les gris : \verb+0.1white+, \verb+0.2white+, etc.
\item un code RGB : \verb+(0.4,0.2,1)+, etc.
\end{itemize}

\begin{lstlisting}[caption={}]
\coultab{blue}
\begin{TV}
TV([0,2],[],"f","x",x^2,1,n,\tv)
\end{TV}
\end{lstlisting}


\coultab{blue}
\begin{center}
  \begin{TV}
    TV([0,2],[],"f","x",x^2,1,n,\tv)
    \end{TV}
  \end{center}
\coultab{black}





\section{Nom des fonctions et commandes \LaTeX{}}

Si  vous voulez  donner un  nom de  fonction n�cessitant  l'emploi d'une
commande \LaTeX{}, il  faudra utiliser le caract�re \verb+@+  au lieu de
\verb+\+.

Par  exemple,  pour nommer  une  fonction  $\varphi$,  il faudra  entrer
\verb+@varphi+~:


\begin{lstlisting}
\begin{TSq}
TSq("@varphi",[-45*x-27],[2-x],[-infinity,+infinity],n,\tv)
\end{TSq}
\end{lstlisting}


\begin{center}
  
\begin{TSq}
TSq("@varphi",[-45*x-27],[2-x],[-infinity,+infinity],n,\tv)
\end{TSq}

\end{center}



\section{Utilisation du moteur Xe\LaTeX}


On peut � pr�sent compiler  via Xe\LaTeX{} en utilisant l'extension d�di�e
\verb+tablor-xetex.sty+  qui ne fonctionnera  que dans  un environnement
UNIX  puisqu'elle utilise  un script  \texttt{shell} pour  convertir les
sorties MetaPOST en \texttt{pdf} :


\begin{lstlisting}
  
\ifxetex

\begin{filecontents*}{convert-mp-pdf.sh}
#!/bin/sh
mpost -interaction nonstopmode $1 ;

cat>$1.tex<<EOF
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{graphicx}
\usepackage{pst-eps}
\thispagestyle{empty}
\begin{document}
\begin{TeXtoEPS}
\includegraphics{$1.0}
\end{TeXtoEPS}
\end{document}
EOF
latex $1
dvips -o $1.eps -E $1.dvi
epstopdf $1.eps;
## Fin de convert-mp-pdf.sh
\end{filecontents*}

%$>>


\immediate\write18{chmod 775 ./convert-mp-pdf.sh}

\fi

\end{lstlisting}



Il  n'y a  rien �  faire.  Cette version  peut m�me  �tre utilis�e  avec
pdf\LaTeX{} ou pdf\TeX{}~!




\section{Tableaux des variations}

\subsection{Tableau standard}

L'environnement s'appelle \texttt{TV}. On utilise une commande au format \texttt{XCAS}~:


\xcas

\begin{lstlisting}
TV([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,lignes,trigo,\tv)
\end{lstlisting}

\begin{itemize}

\item \texttt{[borne inf,borne sup]} d�signe les bornes de l'ensemble de
  d�finition. 

On  note
  $+\infty$~:~\texttt{+infinity} et $-\infty$~:~\texttt{-infinity}. N'oubliez pas
  les crochets~!
\item \texttt{[valeurs interdites]} d�signe la liste des valeurs interdites~;
\item  \texttt{"nom fonction"}  d�signe la  lettre repr�sentant  la fonction  telle que  vous voulez
  qu'elle apparaisse : $f$, $g$, $\varphi$, etc.
\item \texttt{"nom variable"}~:~m�me  chose pour la variable, selon que vous  voulez la d�signer par
  $x$, $t$, etc. N'oubliez pas les guillemets~!
\item \texttt{expression en fonction de x} d�signe l'expression de la fonction. Attention~! Utilisez
  ici toujours $x$ pour d�signer la variable~;
\item le  param�tre \texttt{lignes} est � remplacer par 1 si vous voulez voir appara�tre une ligne
  avec le signe de la d�riv�e, par 0 si vous ne voulez pas de cette ligne et par 2 si vous ne voulez
  que le signe de la d�riv�e~;
\item le param�tre  \texttt{trigo} est � remplacer par  \texttt{t} si la
      fonction �tudi�e est trigonom�trique et par tout autre symbole sinon~;
\item on termine par \verb+\tv+, une commande permettant de num�roter les tableaux en interne.

\end{itemize}

\lat

Voyons � pr�sent quelques exemples.

\begin{enumerate}
\item Le tableau de variation sans signe de la d�riv�e de la fonction $f~:~x\mapsto x^2$ sur $[-5;7]$.


On obtient~:

\begin{TV}
TV([-5,7],[],"f","x",x^2,0,n,\tv);
\end{TV}


apr�s avoir entr�~:

\begin{lstlisting}
\begin{TV}
TV([-5,7],[],"f","x",x^2,0,n,\tv)
\end{TV}
\end{lstlisting}



\item Si on veut la m�me fonction sur \textbf{R} avec le signe de la d�riv�e~:

  \begin{lstlisting}
\begin{TV}
TV([-infinity,+infinity],[],"f","x",x^2,1,n,\tv)
\end{TV}
  \end{lstlisting}

\begin{TV}
TV([-infinity,+infinity],[],"f","x",x^2,1,n,\tv)
\end{TV}

\item Avec la m�me fonction sur \textbf{R} avec uniquement le signe de la d�riv�e~:



  \begin{lstlisting}
\begin{TV}
TV([-infinity,+infinity],[],"f","x",x^2,2,n,\tv)
\end{TV}
  \end{lstlisting}

\begin{TV}
TV([-infinity,+infinity],[],"f","x",x^2,2,n,\tv)
\end{TV}




\item Voici ce que cela donne pour $g~:~t\mapsto \frac{t^2}{t^2-1}$ sur $[-10; +\infty[$~:

  \begin{lstlisting}
\begin{TV}
TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,n,\tv)
\end{TV}
  \end{lstlisting}

  \begin{center}
    
  
\begin{TV}
TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,n,\tv)
\end{TV}

\end{center}


\item Pour la fonction $x\mapsto \sin(x)+\frac{1}{2}$ on n'oublie pas le
      param�tre \texttt{t}~:

 \begin{lstlisting}
\begin{TV}
TV([-pi,pi],[],"g","t",sin(x)+1/2,1,t,\tv)
\end{TV}
  \end{lstlisting}

  \begin{center}
\begin{TV}
TV([-pi,pi],[],"g","t",sin(x)+1/2,1,t,\tv)
\end{TV}
\end{center}




\item Il y aura  des probl�mes pour des �quations $f'(x)=0$ que  \texttt{XCAS} ne saurait pas r�soudre
  de  mani�re  formelle.   Il  faudrait  alors  utiliser  une   r�solution  num�rique  et  remplacer
  \texttt{resoudre} par \texttt{fsolve}.  Mais dans les �tudes demand�es au  Bac, l'�tude des signes
  de la d�riv�e est  possible formellement. Dans les cas plus exotiques, on  peut faire le tableau �~�
  la main~�.
\end{enumerate}



\subsection{Tableaux dont on ne conna�t qu'une liste d'images}

Au d�but du cours de Seconde, il peut �tre utile de cr�er des tableaux �
partir de liste d'images.

On  rentre  la  liste  des   abscisses,  la  liste  des  ordonn�es  avec
�ventuellement les limites � gauche  et � droite des valeurs interdites,
les valeurs interdites  �ventuelles, le nom de la fonction  et le nom de
la variable.

\subsubsection{Sans valeur interdite}

\begin{lstlisting}
\begin{TVS}
TVS([1,2,3,4],[-1,5,2,9],[],"f","x",\tv)
\end{TVS}
\end{lstlisting}

\begin{TVS}
TVS([1,2,3,4],[-1,5,2,9],[],"f","x",\tv)
\end{TVS}

\subsubsection{Avec valeurs interdites}


\begin{lstlisting}
  \begin{TVS}
TVS([1,2,3,4],[-1,-infinity,+infinity,2,9],[2],"f","x",\tv)
\end{TVS}
\end{lstlisting}

\begin{TVS}
TVS([1,2,3,4],[-1,-infinity,+infinity,2,9],[2],"f","x",\tv)
\end{TVS}


\begin{lstlisting}
  \begin{TVS}
TVS([1,2,3,4],[-1,-infinity,+infinity,2,+infinity],[1,2,4],"f","x",\tv)
\end{TVS}
\end{lstlisting}



\begin{TVS}
TVS([1,2,3,4],[-1,-infinity,+infinity,2,+infinity],[1,2,4],"f","x",\tv)
\end{TVS}

\subsection{Tableau de variation avec �~zone(s) interdite(s)~�}


Pour certaines fonctions, tout un (ou plusieurs) intervalle(s) est(sont) exclu(s) de l'ensemble de d�finition.

Par  exemple,  la  fonction  $x\mapsto  \sqrt{x^2-1}$  est  d�finie  sur  $]-\infty;  -1]\cup[1;
+\infty[$.

On utilise alors l'environnement \texttt{TVZ} (Z comme zone...).


\begin{lstlisting}
\begin{TVZ}
  TVZ([-infinity,+infinity],[],[[-1,1]],"@varphi","x",sqrt(x^2-1),1,n,\tv)
\end{TVZ}
\end{lstlisting}


\begin{center}
  \begin{TVZ}
  TVZ([-infinity,+infinity],[],[[-1,1]],"@varphi","x",sqrt(x^2-1),1,n,\tv)
\end{TVZ}
\end{center}


\begin{figure}[!h]
              \begin{DANGER}{Listes des intervalles interdits}
              Le troisi�me argument est une liste  d'intervalles : la liste des �~zones interdites~�
              qui peut �ventuellemnt se r�duire � un seul intervalle comme dans l'exemple pr�c�dent.
               \end{DANGER}
               \end{figure}

Voici       un      exemple       comportant       plusieurs      zones       interdites~:~$x\mapsto
\ln\big((x-5)^2-1\big)+\ln\big(x^2-1\big)$


\begin{lstlisting}
\begin{TVZ}
  TVZ([-infinity,+infinity],[-1,1,4,6],[[-1,1],[4,6]],"f","x",ln((x-5)^2-1)+ln(x^2-1),1,n,\tv)
\end{TVZ}
\end{lstlisting}



\begin{center}
  \begin{TVZ}
 TVZ([-infinity,+infinity],[-1,1,4,6],[[-1,1],[4,6]],"f","x",ln((x-5)^2-1)+ln(x^2-1),1,n,\tv)
\end{TVZ}
\end{center}


\subsection{Tableau des variations avec th�or�me des valeurs interm�diaires}

Si l'on  veut mettre en  �vidence les solutions  de l'�quation $f(x)=a$, on  utilise l'environnement
\texttt{TVI}.

La syntaxe est~:

\begin{lstlisting}
TVI([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,t,a,trigo,\tv)
\end{lstlisting}

Les param�tres sont les m�mes que pour \texttt{TV} mais on ajoute la valeur \texttt{a} bien s�r.


Par exemple, pour $f~:~x\mapsto \frac{x^2}{x^2-1}$ et l'�quation $f(x)=10$ on entre~:

\begin{lstlisting}
\begin{TVI}
TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,n,\tv)
\end{TVI}
\end{lstlisting}


et on obtient~:

\ech{0.9}
\begin{TVI}
TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,n,\tv)
\end{TVI}
\ech{1}

Les solutions sont not�es $\alpha_1$, $\alpha_2$, etc.

Si l'�quation est plut�t $f(x)=-1$~:


\begin{lstlisting}
\begin{TVI}
TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,n,\tv)
\end{TVI}
\end{lstlisting}


et on obtient~:

\begin{TVI}
TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,n,\tv)
\end{TVI}




\subsection{Tableau   des   variations   avec   th�or�me   des   valeurs
  interm�diaires et racines sous forme exacte}

Si l'on veut mettre en  �vidence les solutions de l'�quation $f(x)=a$ et
qu'on  veut  faire appara�tre  les  racines  sous  forme exacte  et  pas
seulement sous forme d'$\alpha_i$, on utilise l'environnement
\texttt{TVIex}.

La syntaxe est la m�me que \texttt{TVI}~:

\begin{lstlisting}
TVIex([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,t,a,trigo,\tv)
\end{lstlisting}

Les param�tres sont les m�mes que pour \texttt{TV} mais on ajoute la valeur \texttt{a} bien s�r.


Par exemple, pour $f~:~x\mapsto \frac{x^2}{x^2-1}$ et l'�quation $f(x)=10$ on entre~:

\begin{lstlisting}
\begin{TVIex}
TVIex([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,n,\tv)
\end{TVIex}
\end{lstlisting}


et on obtient~:

\ech{0.9}
\begin{TVIex}
TVIex([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,n,\tv)
\end{TVIex}
\ech{1}

Si l'�quation est plut�t $f(x)=-1$~:


\begin{lstlisting}
\begin{TVIex}
TVIex([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,n,\tv)
\end{TVIex}
\end{lstlisting}


et on obtient~:

\begin{TVIex}
TVIex([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,n,\tv)
\end{TVIex}

Avec une �quation trigonom�trique~:

\begin{lstlisting}
\begin{TVIex}
TVIex([-pi,pi],[],"@cos","x",cos(x),1,1/2,t,\tv)
\end{TVIex}
\end{lstlisting}

\begin{TVIex}
TVIex([-pi,pi],[],"@cos","x",cos(x),1,1/2,t,\tv)
\end{TVIex}


\begin{figure}[!h]
  \begin{DANGER}{Racines formelles non calculables}
    XCAS peut ne  pas pouvoir trouver une expression  exacte des racines
    et affichera un message barbare du style~:

\texttt{Unable to isolate x in ...}

Le tableau ne sera alors pas construit et vous aurez un message d'erreur.
    \end{DANGER}
  \end{figure}


\subsection{Tableaux de variations avec approximation des z�ros de la d�riv�e}

Il n'est  parfois pas possible d'obtenir  une valeur formelle des  z�ros de la d�riv�e.  On est donc
amen� � rechercher une  approximation num�rique de ces z�ros. Cela est  possible gr�ce � la commande
\texttt{fsolve} de \texttt{XCAS} utilis�e � bon  escient. On appelera les environnements \texttt{TVapp} et
\texttt{TVIapp} ainsi que leurs associ�s �toil�s.

Voyons sur un exemple.

\subsubsection*{Exemple}

On veut r�soudre l'�quation $\ln(x)=\mathrm{e}^{-x}$ sur $]0,+\infty[$.

Soit $g$ la fonction $x\mapsto x\ln(x)-e^{-x} $.


\begin{lstlisting}
\begin{TVapp}
TVapp([0,+infinity],[0],"g","x",x*ln(x)-exp(-x),1,\tv)
\end{TVapp}
\end{lstlisting}


\begin{center}
\begin{TVapp}
TVapp([0,+infinity],[0],"g","x",x*ln(x)-exp(-x),1,\tv)
\end{TVapp}
\end{center}


\begin{figure}[!h]
              \begin{DANGER}
 {TVapp et TVIapp ne sont pas infaillibles~!~!}

Chercher  \emph{toutes} les  approximations des  racines de  la d�riv�es
c'est se lancer dans la th�orie du tout c'est-�-dire concilier la
   recherche de solutions approch�es pouvant �tre extr�mement proches 
sur    des intervalles pouvant �tre extr�mement   �tendus. Un concepteur 
de logiciel de calcul formel s'y refuse. Je devais m'y coller par souci
d'efficacit�. 
 Normalement, le  code 
devrait fonctionner pour \emph{la plupart} des cas �tudi�s par des profs pas 
trop  sadiques. �a ralentit  l�g�rement la  compilation. Le  balayage se
fait avec une pr�cision de 
0,1. C'est s�r qu'on peut trouver de nombreux exemples qui ne 
fonctionneront pas mais plus on veut resserrer les mailles du filet, 
plus on passe de temps � les tricoter sauf dans le cas des fonctions 
polynomiales gr�ce � XCAS.

 Se pose aussi le probl�me des 
images et des tests de signes et de leurs approximations. Par exemple

\begin{lstlisting}
\begin{TVapp}
TVapp([0,+infinity],[0],"g","x",1/3*x^3-0.0015*x^2+2e-06*x,1,\tv)
\end{TVapp}
\end{lstlisting}

renvoie un tableau curieux car les images des racines de la d�riv�es 
sont de l'ordre de $10^{-10}$. 


% \begin{TVapp}
% TVapp([0,+infinity],[0],"g","x",1/3*x^3-0.0015*x^2+2e-06*x,1,\tv)
% \end{TVapp}

�a  peut  s'arranger en  donnant  en  argument suppl�mentaire le  nombre  de
chiffres affich�s. Cela  rendrait les diff�rentes versions incompatibles
et le jeu n'en vaut pas forc�ment la chandelle.
               \end{DANGER}
               \end{figure}




\subsection{Tableaux de variations de fonctions prolongeables par continuit�}

On  peut avoir prolong�e  une fonction  par continuit�  et donc  ne plus
avoir de double barre sur la  ligne des variations mais toujours une sur
la ligne du signe de la d�riv�e.

On entre trois listes~:
\begin{enumerate}
\item les bornes de l'intervalle d'�tude, comme toujours~;
\item les valeurs o� la fonction sera prolong�e par continuit�~;
\item les valeurs o� la fonction n'est pas d�rivable.
\end{enumerate}

Cela donne pour $x\mapsto {\rm e}^{-1/x^2}$~:


\begin{lstlisting}
\begin{TVPC}
TVPC([-infinity,+infinity],[0],[0],"g","t",e^(-1/x^2),1,n,\tv); 
\end{TVPC}
\end{lstlisting}


\begin{TVPC}
TVPC([-infinity,+infinity],[0],[0],"g","t",e^(-1/x^2),1,n,\tv); 
\end{TVPC}



\subsection{Tableaux de variations et courbes param�tr�es}

On peut  obtenir le tableau de  variations correspondant �  des courbes param�tr�es d�finies  par un
syst�me du type~:

\[\begin{cases} x=f(t) \\ 
      y=g(t)
\end{cases}\]

La syntaxe est la suivante~:

\begin{lstlisting}
 \begin{TVP}
TVP(IE,VI,["x","y"],"t",[x(t),y(t)],a,trigo,n,\tv)
 \end{TVP}
\end{lstlisting}


avec  \texttt{IE}  l'intervalle d'�tude,  \texttt{VI}  la liste  des  listes  de valeurs  interdites
respectives pour les deux fonctions, \texttt{a} pour  avoir un tableau complet ou partiel comme dans
les autres  "TV", enfin \texttt{trigo}  qui vaut \texttt{t} si  interviennent des
fonctions trigonom�trqiues, autre chose
sinon.


\begin{figure}[!h]
              \begin{DANGER}{Version de XCAS}
              L'utilisation de TVP implique l'utilisation d'une version de XCAS d'une date post�rieure au 14 juin
              2008 !
               \end{DANGER}
               \end{figure}


\subsubsection{Cas des fonctions trigonom�triques}

�tudions par exemple sur $\left[0\ ;\ \frac{\pi}{2}\right]$


\[
\begin{cases} x(t)=\cos(3t) \\
 y(t)=\sin(4t)
\end{cases}\]

\begin{lstlisting}
  
 \begin{TVP}
 TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,t,\tv)
 \end{TVP}

\end{lstlisting}
 
 \begin{TVP}
 TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,t,\tv)
 \end{TVP}



\subsubsection{Les autres cas}



�tudions par exemple sur $]-\infty\ ;\ +\infty[$


\[
\begin{cases} 
x(t)=\frac{t^2}{(t+1)(t-2)} \\ 
y(t)=\frac{t^2(t+2)}{t+1}
\end{cases}
\]

\begin{lstlisting}
\begin{TVP}
TVP([-infinity,+infinity],[[-1,2],[-1]],["x","y"],"t",[t^2/((t+1)*(t-2)),t^2*(t+2)/(t+1)],1,n,\tv)
\end{TVP}
\end{lstlisting}



\begin{TVP}
TVP([-infinity,+infinity],[[-1,2],[-1]],["x","y"],"t",[t^2/((t+1)*(t-2)),t^2*(t+2)/(t+1)],1,n,\tv)
\end{TVP}



\section{Tableaux de signes}


\subsection{Cas du produit de deux facteurs affines}

Pour �tudier le signe de $(-2x+3)(-x+5)$ sur \textbf{R}, on entre~:

\begin{lstlisting}
\begin{TSa}
 TSa(-2,3,-1,5,\tv);
\end{TSa}
\end{lstlisting}


On obtient~:

\begin{TSa}
TSa(-2,3,-1,5,\tv);
\end{TSa}


\subsection{Cas du produit d'un nombre quelconque de facteurs quelconques sur un intervalle quelconque}




\begin{figure}[!h]
              \begin{DANGER}{Nouveaut� � partir de la version 2.08}
Par souci de coh�rence  avec l'environnement TSq, on doit rajouter maintenant  en premier argument le
nom de la fonction produit dans l'environnement TS.
               \end{DANGER}
               \end{figure}








Certains  cas  pathologiques  ne  vont  pas  fonctionner,  mais sinon,  pour  �tudier  le  signe  de
\[(-2x+3)(x^2-1)(x^2+1)(x-1)(x^2-2)\]  on entre  cette  fois  les expressions  sous  cette forme  en
pr�cisant l'intervalle d'�tude~:

\begin{lstlisting}
\begin{TS}
 TS("P",[-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[-infinity,+infinity],n,\tv);
\end{TS}
\end{lstlisting}

On obtient~:


\begin{TS}
 TS("P",[-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[-infinity,+infinity],n,\tv);
\end{TS}



Ou bien, sur un intervalle born�~:

\begin{lstlisting}
\begin{TS}
TS("f",[x-10,x+10],[-15,10],n,\tv)
\end{TS}
\end{lstlisting}


\begin{TS}
TS("f",[x-10,x+10],[-15,10],n,\tv)
\end{TS}



\subsection{Signe d'un quotient}

On entre dans deux listes diff�rentes les facteurs du num�rateur et du d�nominateur~:


\begin{lstlisting}
\begin{TSq}
TSq("nom du quotient",[liste des facteurs du num�rateur],[liste des facteurs du d�nominateur],[inf,sup],trigo,\tv)
\end{TSq}
\end{lstlisting}

Par exemple, pour �tudier le signe de $\frac{(-2x+3)(-4x+5)}{(x^2-16)(x-2)}$ sur \textbf{R}~:

\begin{lstlisting}
\begin{TSq}
TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[-infinity,+infinity],n,\tv)
\end{TSq}
\end{lstlisting}




\begin{TSq}
TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[-infinity,+infinity],n,\tv)
\end{TSq}

 Sur un intervalle born�~:

\begin{lstlisting}
\begin{TSq}
TSq("Q",[x-10,x-5],[x+10,x+3],[-10,10],n,\tv)
\end{TSq}
\end{lstlisting}


\begin{TSq}
TSq("Q",[x-10,x-5],[x+10,x+3],[-10,10],n,\tv)
\end{TSq}




\subsection{Signe d'une seule expression}


On  utilise  l'environnement   \texttt{TSc}  comme  \emph{Tableau  de  Signe   court}  en  pr�cisant
l'expression �tudi�e, l'intervalle consid�r� et les valeurs interdites~:

\begin{lstlisting}
\begin{TSc}
TSc((x-10)*(x+5),[-10,10],[],n,\tv)
\end{TSc}
\end{lstlisting}



\begin{TSc}
TSc((x-10)*(x+5),[-10,10],[],n,\tv)
\end{TSc}

avec valeurs interdites~:

\begin{lstlisting}
\begin{TSc}
TSc((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,\tv)
\end{TSc}
\end{lstlisting}


\begin{TSc}
TSc((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,\tv)
\end{TSc}

valeurs interdites et fonction trigonom�trique~:

\begin{lstlisting}
\begin{TSc}
TSc(tan(x),[0,2*pi],[pi/2,3*pi/2],t,\tv)
\end{TSc}
\end{lstlisting}


\begin{TSc}
TSc(tan(x),[0,2*pi],[pi/2,3*pi/2],t,\tv)
\end{TSc}


\section{Comment modifier les tableaux � partir des fichiers MetaPOST~?}\label{modif}


\subsection{Tableau par tableau}

Il est impossible  de pr�voir toutes les  requ�tes des diff�rents utilisateurs. Le  style du tableau
produit peut  n�anmoins vous  d�plaire. Vous pouvez  le modifier  en intervenant directement  sur le
fichier \texttt{MetaPOST}  cr�� pour  chaque tableau. Pour  cela, il  suffit d'ajouter une  �toile au  nom de
l'environnement utilis�  et de donner  un num�ro �  votre nouvelle figure  pour qu'elle ne  soit pas
�cras�e par les compilations suivantes. Num�rotez � partir de 100 par exemple.

Si vous tapez~:

\begin{lstlisting}
\begin{TV*}{100}
    TV([-1,+infinity],[],"f","x",x-ln(x+1),1,n,\tv)
\end{TV*}
\end{lstlisting}

l'�diteur que vous avez mis en option (voir le paragraphe~\ref{option}) est directement lanc� et le fichier
\texttt{MetaPOST} correspondant � votre tableau qui portera le num�ro 100
est affich�. Vous  pouvez alors le modifier,  taper sur \Ctrl + \keystroke{S}  pour l'enregistrer et
\Ctrl +  \keystroke{Q} pour fermer l'�diteur\footnote{Ces  combinaisons de touches  correspondent � la
  plupart des �diteurs mais ne sont pas universelles : v�rifiez pour celui que vous avez choisi.}. La compilation s'ach�ve alors automatiquement comme
pour un environnement non �toil�.

\begin{figure}[!h]
              \begin{DANGER}{Choix de l'�diteur}
              �vitez    de   choisir   votre    �diteur   habituel~:~sur
              \texttt{Linux}   prenez  par  exemple   \texttt{gedit}  ou
              \texttt{kate},       sur      \texttt{Windows}      prenez
              \texttt{wordpad}, etc.
               \end{DANGER}
               \end{figure}



Par exemple, je tape~:

\begin{lstlisting}
\begin{TS*}{100}
    TS("F",[3*x+2,5*x^2-1],[-50,50],n,\tv)
\end{TS*}
\end{lstlisting}


et appara�t une fen�tre de l'�diteur (ici \TeX maker) avec le fichier correspondant au tableau. Je le modifie �
volont�~:

\begin{center}
  \includegraphics[height=9cm]{capture.eps}
\end{center}


Je  tape  sur  \Ctrl  +  \keystroke{S}   puis  \Ctrl  +  \keystroke{Q}  et  la  compilation  reprend
automatiquement pour m'afficher le tableau voulu~:


\begin{center}
  \begin{TS*}{105}
    TS("F",[3*x+2,5*x^2-1],[-50,50],n,\tv)
  \end{TS*}
\end{center}



Une fois  la modification faite, on  ne vous redemandera  pas d'effectuer de modifications,  sauf si
vous changez le num�ro de la figure.

\subsection{Traitement global dans un unique fichier MetaPOST}\label{global}

Un fichier \texttt{pr�fixe\_Tab.mp} est  cr�� o� sont copi�s les sources de  chaque tableau. Vous pouvez
ainsi retravailler globalement sur les tableaux si  besoin ou les transmettre � une personne n'ayant
pas install� \texttt{XCAS}. Voir le paragraphe~\ref{prefix} pour plus de d�tails.


\section{Merci...}

\begin{itemize}

\item � \href{http://frederic.mazoit.free.fr/LaTeX\_metapost/tableauVariations/}{Fr�d�ric \textsc{Mazoit}} pour son fichier \texttt{tableauVariation.mp};

\item � \href{http://www.yvesdelhaye.be/?Generateur-d-interrogations-le}{Yves \textsc{Delhaye}} pour ses id�es sur le \texttt{shell-escape}

\item          �         \href{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}{Bernard
    \textsc{Parisse}} pour \texttt{XCAS};

\item � Jean-Michel \textsc{Boucart}  pour ses pr�cieuses et efficaces
      am�liorations de la partie \LaTeX{} du code.


\end{itemize}


\section{Erreurs habituelles}


Avez-vous rendu possible le \texttt{shell-escape}~? Avez-vous install�
toutes les extensions list�es en d�but de ce document~? Est-ce que \texttt{XCAS}
 est dans votre \texttt{PATH}~?

La premi�re chose est d'analyser le fichier \texttt{log}.

En cas de probl�me, n'h�sitez  pas � me contacter � l'adresse indiqu�e
sur mon site en joignant  le fichier \texttt{log}.



\section{\texttt{Tablor} et Emacs}

Pour les heureux  utilisateurs de tempo, voici  quelques lignes pour faciliter votre  vie � rajouter
dans un fichier \texttt{latex-tempo}: 

\begin{lstlisting}
;;
;;            TABLOR
;;;
;cas tableau de variation
      ("TV" (& > "\\begin{center}"n>
		 "\\begin{TV}" n>
"TV(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"],"
		 "["(p "liste de valeurs interdites (,) :")"],"
		 "\""(p "nom de la fonction :")"\","
		 "\""(p "nom de la variable :")"\","
		 ""(p "expression de la fonction (utiliser x) :")","
""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")","
""(p "trigo ? (t:oui, n:non) :")","
		 "\\tv)" n>
	       "\\end{TV}" n>
	       "\\end{center}" > % ))
      ;cas TVI
      ("TVI" (& > "\\begin{center}"n>
		  "\\begin{TVI}" n>
"TVI(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"],"
		  "["(p "liste de valeurs interdites (,) :")"],"
		  "\""(p "nom de la fonction :")"\","
		  "\""(p "nom de la variable :")"\","
		  ""(p "expression de la fonction (utiliser x) :")","
""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")","
""(p "trigo ? (t:oui, n:non) :")","
		  ""(p "f(x)=l pour la valeur l :")","
		  "\\tv)" n>
		  "\\end{TVI}" n>
		  "\\end{center}" > % ))
      ;cas signe produit
      ("TS" (& > "\\begin{center}"n>
		  "\\begin{TS}" n>
		  "TS(\""(p "nom du produit :")"\","
                 "["(p "liste des facteurs (,) :")"],"
        "["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"],"
	""(p "trigo ? (t:oui, n:non) :")","
		  "\\tv)" n>
		  "\\end{TS}" n>
		  "\\end{center}" > % ))
      ;cas signe quotient
      ("TSq" (& > "\\begin{center}"n>
		  "\\begin{TSq}" n>
		  "TSq(\""(p "nom du quotient :")"\","
		  "["(p "liste des facteurs du numerateur (,) :")"],"
		  "["(p "liste des facteurs du denominateur (,) :")"],"
	"["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"],"
	""(p "trigo ? (t:oui, n:non) :")","
		  "\\tv)" n>	
		  "\\end{TSq}" n>
		  "\\end{center}" > % ))

; Tableau signe court
 ("TSc" (& > "\\begin{center}"n>
		  "\\begin{TSc}" n>
		  "TSc("(p "expression :")",""["
(p "debut de l'intervalle:")","
(p "fin de l'intervalle:")"],""["
(p "liste de valeurs interdites (,) :")"],"""
(p "trigo ? (t:oui, n:non) :")","
		  "\\tv)" n>
		  "\\end{TSc}" n>
		  "\\end{center}" > % ))

       ;cas tableau de variation avec zone interdite
      ("TVZ" (& > "\\begin{center}"n>
		 "\\begin{TV}" n>
"TVZ(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"],"
		 "["(p "liste de valeurs interdites (,) :")"],"
		  "["(p "liste des zones interdites ([,],[,]) :")"],"
		 "\""(p "nom de la fonction :")"\","
		 "\""(p "nom de la variable :")"\","
		 ""(p "expression de la fonction (utiliser x) :")","
""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")","
""(p "trigo ? (t:oui, n:non) :")","
		 "\\tv)" n>
	       "\\end{TV}" n>
	       "\\end{center}" > % ))
;cas TVP
      ("TVP" (& > "\\begin{center}"n>
                  "\\begin{TVI}" n>
"TVP(["(p "debut de l'intervalle:")","(p "fin de l'intervalle:")"],"
                  "[["(p "liste de valeurs interdites de x(t)(,) :")"],"
                   "["(p "liste de valeurs interdites de y(t)(,) :")"]],"
                  "[\""(p "nom de la fonction x :")"\","
                   "\""(p "nom de la fonction y :")"\"],"
                  "\""(p "nom de la variable :")"\","
                  "["(p "expression de la fonction x (utiliser t) :")","
                  ""(p "expression de la fonction y (utiliser t) :")"],"
""(p "type de tableau (1:complet, 0:sans signe, 2:que le signe) :")","
                  ""(p "t si fonctions trigo, n sinon :")","
                  "\\tv)" n>
                  "\\end{TVP}" n>
                  "\\end{center}" > % ))
\end{lstlisting}

Merci � \href{http://phil.pham.free.fr/}{Phil Pham}.


\section{Galerie}

Voici quelques exemples de tableaux~:

\begin{lstlisting}
\begin{TVI}
TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,n,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,n,\tv)
\end{TVI}


\begin{lstlisting}
\begin{TVI}
TVI([-1/2,+infinity],[],"f","x",x^2,1,2,n,\tv)
\end{TVI}
\end{lstlisting}


\begin{TVI}
TVI([-1/2,+infinity],[],"f","x",x^2,1,2,n,\tv)
\end{TVI}


\begin{lstlisting}
\begin{TVI}
TVI([0,+infinity],[0],"@ln","x",ln(x),1,2,n,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([0,+infinity],[0],"@ln","x",ln(x),1,2,n,\tv)
\end{TVI}

\stepcounter{TVn}

\begin{lstlisting}
\begin{TV}
TV([1,+infinity],[],"-@ln","x",-ln(x),1,n,\tv)
\end{TV}
\end{lstlisting}

\begin{TV}
TV([1,+infinity],[],"-@ln","x",-ln(x),1,n,\tv)
\end{TV}



\begin{lstlisting}
\begin{TVI}
TVI([-pi,pi],[],"@cos","x",cos(x),1,1/2,t,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([-pi,pi],[],"@cos","x",cos(x),1,1/2,t,\tv)
\end{TVI}

\begin{lstlisting}
\begin{TV}
TV([0,2*pi],[],"@cos","x",cos(x),1,t,\tv)
\end{TV}
\end{lstlisting}

\begin{TV}
TV([0,2*Pi],[],"@cos","x",cos(x),1,t,\tv)
\end{TV}






\begin{lstlisting}
\begin{TVI}
TVI([0,pi],[pi/2],"@tan","t",tan(x),1,7,t,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([0,pi],[pi/2],"@tan","t",tan(x),1,7,t,\tv)
\end{TVI}


\begin{lstlisting}
\begin{TVIex}
TVIex([0,pi],[pi/2],"@tan","t",tan(x),1,7,t,\tv)
\end{TVIex}
\end{lstlisting}

\begin{TVIex}
TVIex([0,pi],[pi/2],"@tan","t",tan(x),1,7,t,\tv)
\end{TVIex}


\begin{lstlisting}
\begin{TVI}
TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,n,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,n,\tv)
\end{TVI}




\begin{lstlisting}
\begin{TVIex}
TVIex([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,n,\tv)
\end{TVIex}
\end{lstlisting}

\begin{TVIex}
TVIex([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,n,\tv)
\end{TVIex}





\begin{lstlisting}
\begin{TV}
TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,n,\tv)
\end{TV}
\end{lstlisting}

\begin{TV}
TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,n,\tv)
\end{TV}


\begin{lstlisting}
\begin{TS}
TS("G",[-2*x+3,x-1,x+1,x^2+3*x+1],[-10,+infinity],n,\tv);
\end{TS}
\end{lstlisting}

\begin{TS}
TS("G",[-2*x+3,x-1,x+1,x^2+3*x+1],[-10,+infinity],n,\tv);
\end{TS}

\begin{lstlisting}
\begin{TVI}
TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,n,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,n,\tv)
\end{TVI}




\begin{lstlisting}
\begin{TVI}
TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,n,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,n,\tv)
\end{TVI}

\stepcounter{TVn}


\begin{lstlisting}
\begin{TV}
TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,n,\tv)
\end{TV}
\end{lstlisting}

\begin{TV}
TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,n,\tv)
\end{TV}





\begin{lstlisting}
\begin{TVI}
TVI([0,pi],[],"f","x",cos(x)-x,1,0,n,\tv)
\end{TVI}
\end{lstlisting}

\begin{TVI}
TVI([0,pi],[],"f","x",cos(x)-x,1,0,n,\tv)
\end{TVI}

\begin{lstlisting}
\begin{TVI}
TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,n,\tv)
\end{TVI}
\end{lstlisting}



\begin{TVI}
TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,n,\tv)
\end{TVI}


\begin{lstlisting}
\begin{TVIex}
TVIex([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,n,\tv)
\end{TVIex}
\end{lstlisting}



\begin{TVIex}
TVIex([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,n,\tv)
\end{TVIex}



\begin{lstlisting}
\begin{TSc}
TSc((x-10)*(x+10),[-10,10],[],n,\tv)
\end{TSc}
\end{lstlisting}



\begin{TSc}
TSc((x-10)*(x+10),[-10,10],[],n,\tv)
\end{TSc}


\begin{lstlisting}
\begin{TVZ}
  TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",(sqrt(x^2-1))*(x^2-4),1,n,\tv)
\end{TVZ}
\end{lstlisting}

 \begin{TVZ}
  TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",(sqrt(x^2-1))*(x^2-4),1,n,\tv)
  \end{TVZ}
   
  \begin{lstlisting}
\begin{TVZ}
  TVZ([-infinity,+infinity],[-1,1],[[-1,1]],"f","x",ln(x^2-1),1,n,\tv)
\end{TVZ}
  \end{lstlisting}

 \begin{TVZ}
  TVZ([-infinity,+infinity],[-1,1],[[-1,1]],"f","x",ln(x^2-1),1,n,\tv)
  \end{TVZ}



  \begin{lstlisting}
\begin{TVP}
TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,t,\tv)
\end{TVP}
  \end{lstlisting}



\begin{TVP}
TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,t,\tv)
\end{TVP}


\begin{lstlisting}
\begin{TVP}
TVP([0,2*pi],[[],[]],["x","y"],"t",[t-2*sin(t),-1+2*cos(t)],1,t,\tv)
\end{TVP}
\end{lstlisting}


\begin{TVP}
TVP([0,2*pi],[[],[]],["x","y"],"t",[t-2*sin(t),-1+2*cos(t)],1,t,\tv)
\end{TVP}


% \begin{lstlisting}
%  \begin{TVZ}
%  TVZ([-infinity,+infinity],[],[[-1,1],[4,6]],"f","x",sqrt((x-5)^2-1)+sqrt(x^2-1),1,n,\tv)
% \end{TVZ}
% \end{lstlisting}



% \begin{center}
%   \begin{TVZ}
%  TVZ([-infinity,+infinity],[],[[-1,1],[4,6]],"f","x",sqrt((x-5)^2-1)+sqrt(x^2-1),1,n,\tv)
% \end{TVZ}
% \end{center}



\begin{lstlisting}
  \begin{TVP}
    TVP([0,pi/2],[[],[]],["f","g"],"t",[(sin(3*t)),(sin(4*t))],1,t,\tv)
    \end{TVP}
\end{lstlisting}


\begin{center}
  \begin{TVP}
    TVP([0,pi/2],[[],[]],["f","g"],"t",[(sin(3*t)),(sin(4*t))],1,t,\tv)
    \end{TVP}
  \end{center}

\begin{lstlisting}
\begin{TS}
  TS(" f ",[cos(x)-1/2,sin(x)+1/2],[0,2*pi],t,\tv)
\end{TS}
\end{lstlisting}


\begin{center}
\begin{TS}
  TS(" f ",[cos(x)-1/2,sin(x)+1/2],[0,2*pi],t,\tv)
\end{TS}
\end{center}

% \begin{lstlisting}
% \begin{TVIapp}
% TVIapp([-1,+infinity],[-1,0],"g'","x",diff(ln(x+1)/x^2,x),1,0,\tv)
% \end{TVIapp}
% \end{lstlisting}

% \begin{center}
% \begin{TVIapp}
% TVIapp([-1,+infinity],[-1,0],"g'","x",diff(ln(x+1)/x^2,x),1,0,\tv)
% \end{TVIapp}
% \end{center}




% \lat

% \begin{lstlisting}
% \begin{enumerate}
% \item 

%  Selon le tableau de variation de la fonction $f$
%     ci-dessous, on peut affirmer que \ldots
     
% \begin{TV}
%         TV([-5,10],[],"f","x",(5/2)*x^2-2*x+12,0,n,\tv)
% \end{TV}

% \VF
% \begin{itemize}

%     \item[\ldots] 5 n'a pas d'ant�c�dent \Rep
%     \item[\ldots] 5 n'a pas d'image \Rep
%     \item[\ldots] 5 a deux ant�c�dents \Rep
%     \item[\ldots] 5 a une image sup�rieure � celle de $\sqrt{2}$\Rep
  
% \end{itemize}



% \item Soit $f$ la fonction d�finie par $f~:~x\mapsto 3x^3-5x^2+2x-7$.  Les tableaux suivants peuvent
%   correspondre � $f$~:

% \VF

%   \begin{enumerate}


%  \item Tableau 1 \Rep

% \begin{TV}
%         TV([-20,20],[],"f","x",3*x^3-5*x^2+2*x-7,0,n,\tv)
% \end{TV}

% \item Tableau 2 \Rep

% \begin{TV}
%         TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,n,\tv)
% \end{TV}

% \item Tableau 3 \Rep

% \begin{TSc}
%         TSc(-3*x^3+5*x^2-2*x+7,[-20,20],n,\tv)
% \end{TSc}


% \item Tableau 4 \Rep

% \begin{TSc}
%         TSc(3*x^3-5*x^2+2*x-7,[-20,20],n,\tv)
% \end{TSc}


% \end{enumerate}

% \end{enumerate}

% \end{lstlisting}





% \begin{enumerate}
% \item 

%  Selon le tableau de variation de la fonction $f$
%     ci-dessous, on peut affirmer que \ldots
     
% \begin{TV}
%         TV([-5,10],[],"f","x",(5/2)*x^2-2*x+12,0,n,\tv)
% \end{TV}

% \VF
% \begin{itemize}

%     \item[\ldots] 5 n'a pas d'ant�c�dent \Rep
%     \item[\ldots] 5 n'a pas d'image \Rep
%     \item[\ldots] 5 a deux ant�c�dents \Rep
%     \item[\ldots] 5 a une image sup�rieure � celle de $\sqrt{2}$\Rep
  
% \end{itemize}



% \item Soit $f$ la fonction d�finie par $f~:~x\mapsto 3x^3-5x^2+2x-7$.  Les tableaux suivants peuvent-ils
%   correspondre � la fonction $f$~:

% \VF

%   \begin{enumerate}


%  \item Tableau 1 \Rep


% \begin{TV}
%         TV([-20,20],[],"f","x",3*x^3-5*x^2+2*x-7,0,n,\tv)
% \end{TV}

% \item Tableau 2 \Rep

% \begin{TV}
%         TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,n,\tv)
% \end{TV}

% \item Tableau 3 \Rep

% \begin{TSc}
%         TSc(-3*x^3+5*x^2-2*x+7,[-20,20],n,\tv)
% \end{TSc}


% \item Tableau 4 \Rep

% \begin{TSc}
%         TSc(3*x^3-5*x^2+2*x-7,[-20,20],n,\tv)
% \end{TSc}


% \end{enumerate}

% \end{enumerate}



% \begin{lstlisting}
% On consid�re la fonction $f$ d�finie sur \textbf{R} par $f(x)=\frac{1}{2}\bigl(x+(1-x){\rm e}^{2x}\bigr)$

% �tudions sa d�riv�e~:


% \begin{TVIapp}
%  TVIapp([-infinity,+infinity],[],"f'","x",diff(1/2*(x+(1-x)*exp(2*x)),x),1,0,\tv)
%  \end{TVIapp}

% On en d�duit le tableau de variation de $f$


% \begin{TVapp}
%  TVapp([-infinity,+infinity],[],"f","x",1/2*(x+(1-x)*exp(2*x)),1,\tv)
%  \end{TVapp}
% \end{lstlisting}

% On consid�re la fonction $f$ d�finie sur \textbf{R} par $f(x)=\frac{1}{2}\bigl(x+(1-x){\rm e}^{2x}\bigr)$

% �tudions sa d�riv�e~:


% \begin{TVIapp}
%  TVIapp([-infinity,+infinity],[],"f'","x",diff(1/2*(x+(1-x)*exp(2*x)),x),1,0,\tv)
%  \end{TVIapp}

% On en d�duit le tableau de variation de $f$


% \begin{TVapp}
%  TVapp([-infinity,+infinity],[],"f","x",1/2*(x+(1-x)*exp(2*x)),1,\tv)
%  \end{TVapp}




\pagebreak

\tableofcontents

\nettoyer



%\bouger{/home/moi/Desktop/}

\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: