x

f′(x)

f(x)

0

+∞

\frac{1}{2k}

0

\frac{ln 2k}{2}

+∞

+∞

− +

A0 •_{A1} •_{A2} • ^{B0} •_{B1} •_{B2} •  ^{C0} •_{C1} •_{C2} •  ^{D0} •_{D1} •_{D2} • −  +

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%       Début du tableau       %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\TabTitreL}{1cm}             % règle la largeur de la
                                        % colonne de gauche
\begin{MonTableau}{2}{9}{1.2}           % 2 lignes
                                        % 9cm largeur utile
                                        % 1.2cm hauteur utile par case
\TabNewCol{0}                           % Colonne centrée sur la barre de gauche
\rTabPut{Br}{-.15}{.25}{$x$}            % Br comme rput
\rTabPut{Br}{-.15}{.40}{$f'(x)$}        % -.15 décalage horizontal en cm
\rTabPut{Br}{-.15}{.40}{$f(x)$}         % .25 ou .40 décalage verticale en %
                                        % dans la case du tableau
\TabNewCol{0}                           % Colonne centrée sur la barre de gauche
\rTabPut{Bl}{.15}{.25}{$0$}             % +.15 et +.35 décalage horizontal en cm
\rTabPut{Bl}{.35}{.30}{}                % .25 et .30 décalage verticale en %
                                        % dans la case du tableau
                                        % On met les lignes vides pour que les
\rTabPut{Bl}{.35}{.80}{$+\infty$}       % nodes s'incrémentent
                                        % Une double barre
\psline[style=TabDblBarre](.025,0)(.025,2)

\TabNewCol{.3}                          % Colonne en .3
\rTabPut{B}{0}{.25}{$\frac{1}{2k}$}     % Valeur de x
\rTabPut{B}{0}{.40}{$0$}                % Annule la dérivée
\rTabPut{B}{0}{.2}{$\frac{\ln2k}{2}$}   % Valeur du minimum
                                        % décalage vertical .2 permet de monter
                                        % et descendre l'étiquette dans la case
\TabNewCol{1}                           % Colonne centrée sur la barre de droite
\rTabPut{Br}{-.15}{.30}{$+\infty$}      % Je n'insiste pas vous avez certainement
\rTabPut{Br}{-.15}{.50}{}               % compris
\rTabPut{Br}{-.15}{.80}{$+\infty$}

\TabFleche{B2}{C2}                      % une flèche entre les colonnes C et E
                                        % concernant la ligne 2
\TabFleche{C2}{D2}                      % une flèche entre les colonnes E et G
                                        % concernant la ligne 2
\rput(.15,.5){$-$}\rput(.65,.5){$+$}    % On met le + et le -
\end{MonTableau}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Nouvelles marcros et environnement %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcounter{TabNodeX}                          % Compte les colonnes
\renewcommand{\theTabNodeX}{\Alph{TabNodeX}}   % Compte en A B C ...
\newcounter{TabNoLigne}[TabNodeX]              % Compte les lignes dans une colonne
\newcounter{TabVieux}                          % Ancienne ligne
\newcounter{TabShowLabel}
\newcommand{\TabShowLabelOn}{
    \setcounter{TabShowLabel}{1}
    \psgrid[gridcolor=blue,subgridcolor=blue,subgriddiv=10,%
                gridwidth=.5pt,subgridwidth=.1pt,%
                gridlabels=0pt](-1cm,-1)(1,\NbLignesH)}
\newcommand{\TabShowLabelOff}{\setcounter{TabShowLabel}{0}}
\newlength{\TabLargeur}             % Largeur du tableau en cm
\newlength{\TabColX}                % Abscisse de la colonnne
\newlength{\TabNodeX}               % Abscisse du node
\newlength{\TabTitreL}              % Largeur de la colonne de gauche
\setlength{\TabTitreL}{1.5cm}       % de 1.5cm par défaut
\newlength{\TabHautLigne}           % Hauteur d'une ligne en cm
\newlength{\TabNodeY}               % Ordonnée du node
\newcommand{\TabNewCol}[1]{%
    \setcounter{TabVieux}{-1}
\stepcounter{TabNodeX}              % Incrémente le numéro de colonne
    \setlength{\TabColX}{#1\TabLargeur} % place la colonne horizontalement
    }
\newcommand{\rTabPut}[5][0]{%           % #1 type de ligne qui traverse
                                        %    la case. 0 rien (défaut),
                                        %    1 pointillé, 2 filet, 3 dbl barre
                                        % #2 point de référence
                                        % #3 Correction horizontale
                                        % #4 Correction verticale
                                        % #5 ce qu'il faut afficher
    % Calcule l'ordonnée du node avec la correction verticale
    \setlength{\TabNodeY}{#4\TabHautLigne}
    \addtolength{\TabNodeY}{-\theTabNoLigne\TabHautLigne}

    % Calcule l'abscisse du node avec la correction horizoncale
    \setlength{\TabNodeX}{#3cm}
    \addtolength{\TabNodeX}{\TabColX}
        % Affiche le nom des nodes à la place de ce qu'il faudrait
        % Plus une grille pour les positionner
        \ifthenelse%           ligne en pointillé dans la case
{\equal{#1}{1}}%
{\psline[style=TabLigneP]%

(\TabNodeX,\theTabVieux)%
(\TabNodeX,\theTabNoLigne)}%
{}%
\ifthenelse%           ligne en continue dans la case
{\equal{#1}{2}}%
{\psline[style=TabLigne]%
(\TabNodeX,\theTabVieux)%
(\TabNodeX,\theTabNoLigne)}%
{}%
\ifthenelse%           ligne double dans la case
{\equal{#1}{3}}%
{\psline[style=TabDblBarre]%
(\TabNodeX,\theTabVieux)%
(\TabNodeX,\theTabNoLigne)}%
{}%
        \ifthenelse%
        {\equal{\theTabShowLabel}{0}}%
        {    % Pour que les nodes se déplacent dynamiquement avec le changement
             % de hauteur de ligne sauf sur la ligne au dessus du tableau.
            \ifthenelse%
            {\equal{\theTabNoLigne}{0}}%
            {\rput[#2](\TabNodeX,#4cm)%
                {\rnode{\theTabNodeX\theTabNoLigne}{#5}}}%
            {\rput[#2](\TabNodeX,\TabNodeY)%
                {\rnode{\theTabNodeX\theTabNoLigne}{#5}}}%
\stepcounter{TabVieux}
        \stepcounter{TabNoLigne}            % numéro de ligne suivante
        }%
        {    % Pour que les nodes se déplacent dynamiquement avec le changement
             % de hauteur de ligne sauf sur la ligne au dessus du tableau.
            \ifthenelse%
            {\equal{\theTabNoLigne}{0}}%
            {\uput{.2}[90](\TabNodeX,#4cm){\bf\footnotesize\theTabNodeX\theTabNoLigne}
 \rput[#2](\TabNodeX,#4cm)%
                {\rnode{\theTabNodeX\theTabNoLigne}{\small$\bullet$}}}%
            {\uput{.2}[90](\TabNodeX,\TabNodeY){\bf\footnotesize\theTabNodeX\theTabNoLigne}
 \rput[#2](\TabNodeX,\TabNodeY)%
                {\rnode{\theTabNodeX\theTabNoLigne}{\small$\bullet$}}}%
        \stepcounter{TabNoLigne}            % numéro de ligne suivante
        }%

    }
\newenvironment{MonTableau}[3]{%        % #1 est le nombre de lignes
                                        % #2 est la largeur du tableau
                                        % #3 est la hauteur d'une ligne
    \setcounter{TabNodeX}{0}            % On repart de 0
\setlength{\TabLargeur}{#2cm}       % Largeur du tableau
    \setlength{\TabHautLigne}{#3cm}     % Hauteur des lignes
    \psset{xunit=#2,yunit=-#3}          % Unités pour que chaque case du tableau

                                        % ait les dimension 1x1
    \begin{pspicture}(-\TabTitreL,#1)(1,.8cm)   % Début de PSpicture
    \def\NbLignesH{#1}
    }%
    {\psline(-\TabTitreL,0)(1,0)                % Dessin des lignes horizontales
    \multido{\i=1+1}{\NbLignesH}{%
        \psline[linewidth=.3pt](0,\i)(1,\i)}
% Dessin des lignes verticales et de la dernière ligne
    \psline(0,.8cm)(0,\NbLignesH)(1,\NbLignesH)(1,0)
\end{pspicture}                    % Fin de PSpicture
    }
\newcommand{\TabFleche}[2]{%            % Flèche entre deux nodes
    \ncline[nodesep=3pt,linewidth=.5pt]{->}{#1}{#2}}
\newcommand{\TabTitre}[2]{%             % Titre de ligne var. ou sgn. de f
$\stackrel{\rule[-5pt]{0pt}{5pt}\text{\normalsize\bf#1}}{#2}$}
\newcommand{\TabFerme}{%      % ferme le tableau pour ceux qui on froid
\psline(1,\NbLignesH)(1,.8cm)(-\TabTitreL,.8cm)(-\TabTitreL,\NbLignesH)%
(1,\NbLignesH)}
\newcommand{\TabTitreFerme}{%      % lignes horizontales dans la col. de gauche
    \multido{\i=1+1}{\NbLignesH}{%
        \psline[linewidth=.3pt](-\TabTitreL,\i)(0,\i)}}
\newpsstyle{TabDblBarre}{linewidth=.4pt,doubleline=true,doublesep=.6pt}
\newpsstyle{TabLigne}{linewidth=.4pt}
\newpsstyle{TabLigneP}{linewidth=.4pt,linestyle=dashed,dash=3pt 2pt}
\newcommand{\TabZ}[1][$0$]{\pscirclebox*{#1}}