\documentclass[12pt]{article} \usepackage[height=250mm,width=183mm]{geometry} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage[upright]{fourier} \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=0.2white]{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} % style des listings \newcommand{\lat}{ \lstset{numbers=none,language=[LaTeX]{TeX},xleftmargin=10pt,% keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,commentstyle=\normalfont\scriptsize\slshape, backgroundcolor=\color{0.8white},breaklines=true,morecomment=[l]\%} } \newcommand{\xcas}{\lstset{numbers=none,language=mupad,xleftmargin=10pt,% keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,commentstyle=\normalfont\scriptsize\slshape, backgroundcolor=\color{0.8white},breaklines=true} } % petits environnements bclogo \newenvironment{DANGER}[1]{% \begin{bclogo}{\attention}{#1}{0.9white}{0.1}} {\end{bclogo}} \newenvironment{Idee}[1]{% \begin{bclogo}{\coeur}{#1}{0.9white}{0.1}} {\end{bclogo}} % style des sections \usepackage{sectsty} \sectionfont{\LARGE \sffamily\color{0.2white}} \subsectionfont{\sffamily\color{0.4white}} \renewcommand\thesection{\Roman{section} -} \renewcommand\thesubsection{\alph{subsection}. } \subsubsectionfont{\sffamily\color{0.6white}} \renewcommand\thesubsubsection{\roman{subsection}. } %%%% Macros pour un Vrai-Faux \usepackage{pifont} \newcommand{\Q}{\mbox{\ding{114}\hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}} \newcommand{\VF}{% \hfill\makebox[1cm][s]{\bf V\hfill F} } \newcommand{\Rep}[1][]{% \ifthenelse{\equal{#1}{v}}{% \hfill\makebox[1cm][s]{\Q\hfill \ding{114}}}{% \ifthenelse{\equal{#1}{f}}{% \hfill\makebox[1cm][s]{\ding{114} \hfill\Q}}{% \hfill\makebox[1cm][s]{\ding{114} \hfill\ding{114}}}}} % titre \title{\texttt{tablor.sty} \\La machine à créer des tableaux de signes et de variations } \author{Guillaume \textsc{Connan} \\ \href{http://gconnan.free.fr}{http://gconnan.free.fr}\\ 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{14 juin 2008 - Version 3.00} %% % % Début du document % %% \begin{document} \setlength{\parindent}{0mm} \maketitle \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{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} \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{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://frederic.mazoit.free.fr/LaTeX\_metapost/tableauVariations/}{http://frederic.mazoit.free.fr/LaTeX\_metapost/tableauVariations/}; 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}; \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 \texttt{MiKTeX} sous \texttt{windows}, il suffit d'aller le chercher dans les dépôts. 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 les fichiers de configuration \texttt{tablor.cfg} et \texttt{entateMP.cfg} dans le même répertoire de \texttt{tablor.sty} \end{itemize} \begin{figure} \begin{Idee}{shell-escape} 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} \begin{figure} \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, \Tableaux,+ \verb+ \dresse, \dressetoile, \executGiacmp+. Attention aux conflits si de tels noms existent quelque part dans vos fichiers personnels. \end{DANGER} % \begin{figure} % %\begin{DANGER} % Le fichier \texttt{tablor.sty} est codé en \texttt{latin-1}. Les utilisateurs de % \texttt{utf-8} devront donc utiliser \texttt{tablorutf8.sty} à la place. % %\end{DANGER} % \end{figure} \pagebreak \section{Comment l'utiliser~?} \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~: \lat \begin{lstlisting} \documentclass{article} \usepackage{graphicx} \usepackage[french]{babel} % or eunozer langouage \usepackage[xcas]{tablor} % xcas en option : cf plus loin \end{lstlisting} % \begin{figure} % \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{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} etex \end{filecontents*} % ===================================== % II - Déclaration du système d'exploitation : % ===================================== % Si vous utilisez windows, dé-commentez la ligne suivante : % \setboolean{windows}{true} %================================= % III - Déclaration de l'éditeur utilisé % ================================ % % Remplacez "kile" par la commande qui lance votre éditeur favori. % Laissez une espace avant de fermer l'accolade. \newcommand{\editeur}{kile } %================================= %IV - 1ère colonne %================================= % %permet de configurer les termes dans la première colonne des %tableaux : "signe de" ou "sign of" ou "" etc. % \begin{VerbatimOut}{config.cxx} // 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{enumerate} \item[I] 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[II] 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[III] 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. Voir aussi le paragraphe~\ref{modif}; \item[IV] 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. \end{enumerate} \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{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,t,\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{t} 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 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,\tv); \end{TV} après avoir entré~: \begin{lstlisting} \begin{TV} TV([-5,7],[],"f","x",x^2,0,\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,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([-infinity,+infinity],[],"f","x",x^2,1,\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,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([-infinity,+infinity],[],"f","x",x^2,2,\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,\tv) \end{TV} \end{lstlisting} \begin{center} \begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\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{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]],"f","x",sqrt(x^2-1),1,\tv) \end{TVZ} \end{lstlisting} \begin{center} \begin{TVZ} TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",sqrt(x^2-1),1,\tv) \end{TVZ} \end{center} \begin{figure} \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,\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,\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,\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,\tv) \end{TVI} \end{lstlisting} et on obtient~: \begin{TVI} TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,\tv) \end{TVI} 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,\tv) \end{TVI} \end{lstlisting} et on obtient~: \begin{TVI} TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,\tv) \end{TVI} \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. \paragraph*{Exemple} Soit $g$ la fonction $x\mapsto \ln(x)-x e^{2-x} $. On étudie d'abord la fonction $x\mapsto g'(x)$~: \begin{lstlisting} \begin{TVIapp} TVIapp([0,+infinity],[0],"g'","x",diff(ln(x)-x*exp(2-x),x),1,0,\tv) \end{TVIapp} \end{lstlisting} % \begin{TVIapp} % TVIapp([0,+infinity],[0],"g'","x",diff(ln(x)-x*exp(2-x),x),1,0,\tv) % \end{TVIapp} \stepcounter{TVn} On en déduit le tableau suivant~: \begin{lstlisting} \begin{TVapp*}{201} TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,\tv) \end{TVapp*} \end{lstlisting} \begin{TVapp} TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,\tv) \end{TVapp} \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,\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 1 si interviennent des fonctions trigonométrqiues, 0 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,1,\tv) \end{TVP} \end{lstlisting} \begin{TVP} TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,1,\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,0,\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,0,\tv) \end{TVP} \subsection{Tableaux de signes} \subsubsection*{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} \subsubsection*{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],\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],\tv); \end{TS} Ou bien, sur un intervalle borné~: \begin{lstlisting} \begin{TS} TS("f",[x-10,x+10],[-15,10],\tv) \end{TS} \end{lstlisting} \begin{TS} TS("f",[x-10,x+10],[-15,10],\tv) \end{TS} \subsubsection*{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]) \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],\tv) \end{TSq} \end{lstlisting} \begin{TSq} TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[-infinity,+infinity],\tv) \end{TSq} Sur un intervalle borné~: \begin{lstlisting} \begin{TSq} TSq("Q",[x-10],[x+10],[-infinity,10],\tv) \end{TSq} \end{lstlisting} \begin{TSq} TSq("Q",[x-10],[x+10],[-infinity,10],\tv) \end{TSq} \subsubsection*{Signe d'une seule expression} On utilise l'environnement \texttt{TSc} comme \emph{Tableau de Signe court} en précisant l'expression étudiée et l'intervalle considéré~: \begin{lstlisting} \begin{TSc} TSc((x-10)*(x+5),[-10,10],\tv) \end{TSc} \end{lstlisting} \begin{TSc} TSc((x-10)*(x+5),[-10,10],\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,\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é. Par exemple, je tape~: \begin{lstlisting} \begin{TS*}{100} TS("F",[3*x+2,5*x^2-1],[-50,50],\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],\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) :")"," "\\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 "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:")"]," "\\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:")"]," "\\tv)" n> "\\end{TSq}" 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 "1 si fonctions trigo, 0 sinon :")"," "\\tv)" n> "\\end{TVP}" 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) :")"," "\\tv)" n> "\\end{TV}" 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,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([-1/2,+infinity],[],"f","x",x^2,1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-1/2,+infinity],[],"f","x",x^2,1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x),1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x),1,2,\tv) \end{TVI} \stepcounter{TVn} \begin{lstlisting} \begin{TV} TV([1,+infinity],[],"f","x",-ln(x),1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([1,+infinity],[],"f","x",-ln(x),1,\tv) \end{TV} \begin{lstlisting} \begin{TVI} TVI([-pi,pi],[],"f","x",cos(x),1,1/2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-pi,pi],[],"f","x",cos(x),1,1/2,\tv) \end{TVI} \begin{lstlisting} \begin{TV} TV([0,2*pi],[],"f","x",cos(x),1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([0,2*Pi],[],"f","x",cos(x),1,\tv) \end{TV} \begin{figure} \begin{DANGER}{Fonctions périodiques} Il y aura des problèmes si vous demandez un tableau des variations d'une fonction périodique sur un intervalle d'amplitude supérieure à la période, mais est-ce vraiment utile ?... \end{DANGER} \end{figure} \begin{lstlisting} \begin{TVI} TVI([0,pi],[pi/2],"h","t",tan(x),1,7,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,pi],[pi/2],"h","t",tan(x),1,7,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,\tv) \end{TVI} \begin{lstlisting} \begin{TV} TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,\tv) \end{TV} \begin{lstlisting} \begin{TS} TS("G",[-2*x+3,x-1,x+1,x^2+3*x+1],[-10,+infinity],\tv); \end{TS} \end{lstlisting} \begin{TS} TS("G",[-2*x+3,x-1,x+1,x^2+3*x+1],[-10,+infinity],\tv); \end{TS} \begin{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,\tv) \end{TVI} \stepcounter{TVn} \begin{lstlisting} \begin{TV} TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,\tv) \end{TV} \begin{lstlisting} \begin{TVI} TVI([0,pi],[],"f","x",cos(x)-x,1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,pi],[],"f","x",cos(x)-x,1,0,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,\tv) \end{TVI} \begin{lstlisting} \begin{TSc} TSc((x-10)*(x+10),[-10,10],\tv) \end{TSc} \end{lstlisting} \begin{TSc} TSc((x-10)*(x+10),[-10,10],\tv) \end{TSc} \begin{lstlisting} \begin{TVZ} TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",(sqrt(x^2-1))*(x^2-4),1,\tv) \end{TVZ} \end{lstlisting} \begin{TVZ} TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",(sqrt(x^2-1))*(x^2-4),1,\tv) \end{TVZ} \begin{lstlisting} \begin{TVZ} TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",ln(x^2-1),1,\tv) \end{TVZ} \end{lstlisting} \begin{TVZ} TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",ln(x^2-1),1,\tv) \end{TVZ} \begin{lstlisting} \begin{TVP} TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,1,\tv) \end{TVP} \end{lstlisting} \begin{TVP} TVP([0,pi/2],[[],[]],["x","y"],"t",[cos(3*t),sin(4*t)],1,1,\tv) \end{TVP} \begin{lstlisting} \begin{TVP} TVP([0,2*pi],[[],[]],["x","y"],"t",[t-2*sin(t),-1+2*cos(t)],1,1,\tv) \end{TVP} \end{lstlisting} \begin{TVP} TVP([0,2*pi],[[],[]],["x","y"],"t",[t-2*sin(t),-1+2*cos(t)],1,1,\tv) \end{TVP} \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,\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,\tv) \end{TVZ} \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,\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,\tv) \end{TV} \item Tableau 2 \Rep \begin{TV} TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,\tv) \end{TV} \item Tableau 3 \Rep \begin{TSc} TSc(-3*x^3+5*x^2-2*x+7,[-20,20],\tv) \end{TSc} \item Tableau 4 \Rep \begin{TSc} TSc(3*x^3-5*x^2+2*x-7,[-20,20],\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,\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,\tv) \end{TV} \item Tableau 2 \Rep \begin{TV} TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,\tv) \end{TV} \item Tableau 3 \Rep \begin{TSc} TSc(-3*x^3+5*x^2-2*x+7,[-20,20],\tv) \end{TSc} \item Tableau 4 \Rep \begin{TSc} TSc(3*x^3-5*x^2+2*x-7,[-20,20],\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: