diff options
author | Karl Berry <karl@freefriends.org> | 2008-11-10 00:58:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-11-10 00:58:33 +0000 |
commit | 98db17d2b3be9ccbac478e500fe1d520c7480d7e (patch) | |
tree | eacea27f040e0bcdd2dc083db8f4d370b265a28c /Master/texmf-dist | |
parent | c7f70bcde113d63c5611a1db426195a04bf5d3b8 (diff) |
restore tableaux, original ctan upload specified lppl
git-svn-id: svn://tug.org/texlive/trunk@11239 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/tableaux/exemples.pdf | bin | 0 -> 45636 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tableaux/exemples.tex | 227 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tableaux/tableau.pdf | bin | 0 -> 38113 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tableaux/tableau.tex | 138 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tableaux/minimum.sty | 63 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tableaux/tableau.sty | 155 |
6 files changed, 583 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tableaux/exemples.pdf b/Master/texmf-dist/doc/latex/tableaux/exemples.pdf Binary files differnew file mode 100644 index 00000000000..41593088491 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tableaux/exemples.pdf diff --git a/Master/texmf-dist/doc/latex/tableaux/exemples.tex b/Master/texmf-dist/doc/latex/tableaux/exemples.tex new file mode 100644 index 00000000000..6a590897af2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tableaux/exemples.tex @@ -0,0 +1,227 @@ +\documentclass[a4paper]{article} +\usepackage{minimum,ifthen,tableau} +\usepackage{fancyvrb} +\usepackage{fvrb-ex} + +\fvset{xrightmargin=0cm,frame=none} + +\newcommand{\coordp}[2] +{\begin{pmatrix} +#1 \\ #2 +\end{pmatrix}} + +\newpsstyle{hachured}{fillstyle=hlines,hatchwidth=0.2pt,hatchsep=2pt} + +\usepackage{bbm} +\newcommand{\GR}{\mathbbm{R}} +\newcommand{\txR}[1][x]{\forall #1 \in \GR \quad} + +\newcommand{\ssi}[1][,]{si, et seulement si#1 } + + +\begin{document} + +\begin{verbatim} + {\setlength{\TabTitreL}{1cm} + \begin{MonTableau}{3}{6}{.75} + + \small + + \TabNewCol{0} + \rTabPut{Br}{-.15}{.25}{$x$} + \rTabPut{Br}{-.15}{.40}{$x$} + \rTabPut{Br}{-.15}{.40}{$x^2-12$} + \rTabPut{Br}{-.15}{.40}{$f(x)$} + + \TabNewCol{0} + \rTabPut{Bl}{.15}{.25}{$-\infty$} + + \TabNewCol{.25} + \rTabPut{B}{0}{.25}{$-2\sqrt{3}$} + \rTabPut[1]{B}{0}{.40}{} + \rTabPut[2]{B}{0}{.40}{\TabZ} + \rTabPut[2]{B}{0}{.40}{\TabZ} + + \TabNewCol{.5} + \rTabPut{B}{0}{.25}{\TabZ} + \rTabPut[2]{B}{0}{.40}{\TabZ} + \rTabPut[1]{B}{0}{.40}{} + \rTabPut[2]{B}{0}{.40}{\TabZ} + + \TabNewCol{.75} + \rTabPut{B}{0}{.25}{$2\sqrt{3}$} + \rTabPut[1]{B}{0}{.40}{} + \rTabPut[2]{B}{0}{.40}{\TabZ} + \rTabPut[2]{B}{0}{.40}{\TabZ} + + \TabNewCol{1} + \rTabPut{Br}{-.1}{.25}{$+\infty$} + + \rput(.125,.5){$-$}\rput(.375,.5){$-$}\rput(.625,.5){$+$}\rput(.875,.5){$+$} + \rput(.125,1.5){$+$}\rput(.375,1.5){$-$}\rput(.625,1.5){$-$}\rput(.875,1.5){$+$} + \rput(.125,2.5){$-$}\rput(.375,2.5){$+$}\rput(.625,2.5){$-$}\rput(.875,2.5){$+$} + + \end{MonTableau}} +\end{verbatim} + +Ce qui donne: + +\begin{enumerate} + +\begin{minipage}{8.2cm} + +\item $\txR f(x)=x(x-2\sqrt{3})(x+2\sqrt{3})$. +\item Un produit de facteur est nul \ssi au moins est de ses facteurs + est nul: $$f(x)=0\Leftrightarrow x\in\{-2\sqrt{3};0;2\sqrt{3}\}$$ +\item Tableau de signes ci-contre: + $$f(x)<0\Leftrightarrow x\in]-\infty;-2\sqrt{3}[\cup]0;2\sqrt{3}[$$ + +\end{minipage}\hfill +\begin{minipage}{7cm} + {\setlength{\TabTitreL}{1cm} + \begin{MonTableau}{3}{6}{.75} + + \small + + \TabNewCol{0} + \rTabPut{Br}{-.15}{.25}{$x$} + \rTabPut{Br}{-.15}{.40}{$x$} + \rTabPut{Br}{-.15}{.40}{$x^2-12$} + \rTabPut{Br}{-.15}{.40}{$f(x)$} + + \TabNewCol{0} + \rTabPut{Bl}{.15}{.25}{$-\infty$} + + \TabNewCol{.25} + \rTabPut{B}{0}{.25}{$-2\sqrt{3}$} + \rTabPut[1]{B}{0}{.40}{} + \rTabPut[2]{B}{0}{.40}{\TabZ} + \rTabPut[2]{B}{0}{.40}{\TabZ} + + \TabNewCol{.5} + \rTabPut{B}{0}{.25}{\TabZ} + \rTabPut[2]{B}{0}{.40}{\TabZ} + \rTabPut[1]{B}{0}{.40}{} + \rTabPut[2]{B}{0}{.40}{\TabZ} + + \TabNewCol{.75} + \rTabPut{B}{0}{.25}{$2\sqrt{3}$} + \rTabPut[1]{B}{0}{.40}{} + \rTabPut[2]{B}{0}{.40}{\TabZ} + \rTabPut[2]{B}{0}{.40}{\TabZ} + + \TabNewCol{1} + \rTabPut{Br}{-.1}{.25}{$+\infty$} + + \rput(.125,.5){$-$}\rput(.375,.5){$-$}\rput(.625,.5){$+$}\rput(.875,.5){$+$} + \rput(.125,1.5){$+$}\rput(.375,1.5){$-$}\rput(.625,1.5){$-$}\rput(.875,1.5){$+$} + \rput(.125,2.5){$-$}\rput(.375,2.5){$+$}\rput(.625,2.5){$-$}\rput(.875,2.5){$+$} + + \end{MonTableau}}\vfill +\end{minipage} +\end{enumerate} + +\newpage + +\begin{Example} + {\setlength{\TabTitreL}{1cm} + \begin{MonTableau}{1}{9}{1.5} + + \psframe[style=hachured,linestyle=none](.3,1)(.45,0) + + \TabNewCol{0} + \rTabPut{Br}{-.15}{.25}{$x$} + \rTabPut{Br}{-.15}{.40}{$f(x)$} + + \TabNewCol{0} + \rTabPut{Bl}{.15}{.25}{$0$} + \rTabPut{Bl}{.15}{.60}{$\frac{3}{2}$} + + \TabNewCol{.30} + \rTabPut{B}{0}{.25}{$1$} + \rTabPut{Br}{-.15}{.80}{$+\infty$} + \psline[style=TabDblBarre](.3,0)(.3,1) + + \TabNewCol{.45} + \rTabPut{B}{0}{.25}{$\frac{3}{2}$} + \rTabPut[2]{B}{0}{.10}{\TabZ} + + \TabNewCol{1} + \rTabPut{Br}{-.15}{.25}{$+\infty$} + \rTabPut{Br}{-.15}{.40}{$1$} + + \TabFleche{B1}{C1} + \TabFleche{D1}{E1} + + \end{MonTableau}} +\end{Example} + +\newpage + +\begin{center} +\begin{Example} + \begin{MonTableau}{6}{12}{1.2} + + \TabNewCol{0} + \rTabPut{B}{-.75}{.25}{$t$} + \rTabPut{B}{-.75}{.20}{\TabTitre{Sgn.}{x'(t)}} + \rTabPut{B}{-.75}{.20}{\TabTitre{Var.}{x}} + \rTabPut{B}{-.75}{.20}{\TabTitre{Var.}{y}} + \rTabPut{B}{-.75}{.20}{\TabTitre{Sgn.}{y'(t)}} + \rTabPut{B}{-.75}{.40}{$\vec{T}$} + \rTabPut{B}{-.75}{.40}{$m_T$} + + \TabNewCol{0} + \rTabPut{B}{.5}{.25}{$0$} + \rTabPut{B}{.5}{.40}{$1,5$} + \rTabPut{B}{.5}{.40}{$2$} + \rTabPut{B}{.5}{.15}{$0$} + \rTabPut{B}{.5}{.40}{$1,5$} + \rTabPut{B}{.5}{.40}{$\coordp{1,5}{1,5}$} + \rTabPut{B}{.5}{.40}{$1$} + + % On recopie 4 fois cette dernière colonne et on ajuste + \TabNewCol{.25} + \rTabPut{B}{0}{.25}{$1$} + \rTabPut{B}{0}{.40}{$0$} + \rTabPut{B}{0}{.75}{$4$} + \rTabPut{B}{0}{.60}{$4$} + \rTabPut{B}{0}{.40}{$3$} + \rTabPut{B}{0}{.40}{$\coordp{0}{3}$} + \rTabPut{B}{0}{.40}{$\infty$} + + \TabNewCol{.5} + \rTabPut{B}{0}{.25}{$2$}\rTabPut{B}{0}{.40}{$-1.5$} + \rTabPut{B}{0}{.40}{$2$}\rTabPut{B}{0}{.75}{$6$} + \rTabPut{B}{0}{.40}{$0$}\rTabPut{B}{0}{.40}{$\coordp{-1.5}{0}$} + \rTabPut{B}{0}{.40}{$0$} + + \TabNewCol{.75} + \rTabPut{B}{0}{.25}{$3$}\rTabPut{B}{0}{.40}{$0$} + \rTabPut{B}{0}{.15}{$0$}\rTabPut{B}{0}{.60}{$4$} + \rTabPut{B}{0}{.40}{$-2$}\rTabPut{B}{0}{.40}{$\coordp{0}{-2}$} + \rTabPut{B}{0}{.40}{$\infty$} + + \TabNewCol{1} + \rTabPut{B}{-.5}{.25}{$4$}\rTabPut{B}{-.5}{.40}{$1$} + \rTabPut{B}{-.5}{.40}{$2$}\rTabPut{B}{-.5}{.15}{$0$} + \rTabPut{B}{-.5}{.40}{$1,5$}\rTabPut{B}{-.5}{.40}{$\coordp{1}{-1}$} + \rTabPut{B}{-.5}{.40}{$-1$} + + % les signes + et - on fait tout simplement + \rput(.145,0.5){$+$}\rput(.145,3.5){$+$} + \rput(.375,0.5){$-$}\rput(.375,3.5){$+$} + \rput(.625,0.5){$-$}\rput(.625,3.5){$-$} + \rput(.850,0.5){$+$}\rput(.850,3.5){$-$} + + % les flèches + \TabFleche{B2}{C2}\TabFleche{C2}{D2}\TabFleche{D2}{E2}\TabFleche{E2}{F2} + \TabFleche{B3}{C3}\TabFleche{C3}{D3}\TabFleche{D3}{E3}\TabFleche{E3}{F3} + + \TabTitreFerme\TabFerme + \end{MonTableau} +\end{Example} +\end{center} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/tableaux/tableau.pdf b/Master/texmf-dist/doc/latex/tableaux/tableau.pdf Binary files differnew file mode 100644 index 00000000000..09919e0d8a5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tableaux/tableau.pdf diff --git a/Master/texmf-dist/doc/latex/tableaux/tableau.tex b/Master/texmf-dist/doc/latex/tableaux/tableau.tex new file mode 100644 index 00000000000..ccb043527a9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tableaux/tableau.tex @@ -0,0 +1,138 @@ +\documentclass[a4paper]{article} +\usepackage{minimum,tableau,ifthen} +\usepackage{verbatim} + +\setlength{\TabTitreL}{1cm} + +\begin{document} + +\begin{figure}[h] +\begin{center} +\begin{MonTableau}{2}{9}{1.2} + +\TabNewCol{0} +\rTabPut{Br}{-.15}{.25}{$x$} +\rTabPut{Br}{-.15}{.40}{$f'(x)$} +\rTabPut{Br}{-.15}{.40}{$f(x)$} + +\TabNewCol{0} +\rTabPut{Bl}{.15}{.25}{$0$} +\rTabPut{Bl}{.35}{.30}{} +\rTabPut{Bl}{.35}{.75}{$+\infty$} + +\psline[style=TabDblBarre](.025,0)(.025,2) + +\TabNewCol{.3} +\rTabPut{B}{0}{.25}{$\frac{1}{2k}$} +\rTabPut{B}{0}{.40}{$0$} +\rTabPut{B}{0}{.2}{$\frac{\ln2k}{2}$} + +\TabNewCol{1} +\rTabPut{Br}{-.15}{.30}{$+\infty$} +\rTabPut{Br}{-.15}{.50}{} +\rTabPut{Br}{-.15}{.75}{$+\infty$} + +\TabFleche{B2}{C2} +\TabFleche{C2}{D2} + +\rput(.15,.5){$-$}\rput(.65,.5){$+$} + +\end{MonTableau} +\end{center} +\end{figure} + +\begin{figure}[h] +\begin{center} +\begin{MonTableau}{2}{9}{1.2} + +\TabShowLabelOn % ce qui change toute la présentation + +\TabNewCol{0} +\rTabPut{Br}{-.15}{.25}{$x$} +\rTabPut{Br}{-.15}{.40}{$f'(x)$} +\rTabPut{Br}{-.15}{.40}{$f(x)$} + +\TabNewCol{0} +\rTabPut{Bl}{.15}{.25}{$0$} +\rTabPut{Bl}{.35}{.30}{} +\rTabPut{Bl}{.35}{.75}{$+\infty$} + +\psline[style=TabDblBarre](.025,0)(.025,2) + +\TabNewCol{.3} +\rTabPut{B}{0}{.25}{$\frac{1}{2k}$} +\rTabPut{B}{0}{.40}{$0$} +\rTabPut{B}{0}{.2}{$\frac{\ln2k}{2}$} + +\TabNewCol{1} +\rTabPut{Br}{-.15}{.30}{$+\infty$} +\rTabPut{Br}{-.15}{.50}{} +\rTabPut{Br}{-.15}{.75}{$+\infty$} + +\TabFleche{B2}{C2} +\TabFleche{C2}{D2} + +\rput(.15,.5){$-$}\rput(.65,.5){$+$} + +\end{MonTableau} +\end{center} +\end{figure} + + +\begin{verbatim} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%% 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} + +\end{verbatim} + +\newpage +\verbatiminput{Latex/tableau.sty} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/tableaux/minimum.sty b/Master/texmf-dist/tex/latex/tableaux/minimum.sty new file mode 100644 index 00000000000..d00e73878d6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tableaux/minimum.sty @@ -0,0 +1,63 @@ +% ******************************************* +% ******************************************* +% %%% Mise en Page A4 +% ******************************************* +% ******************************************* + +% Met les marges à zéro +\setlength{\evensidemargin}{0cm} +\setlength{\oddsidemargin}{0cm} +\setlength{\marginparwidth}{0cm} + +% 2 cm de chaque côté et 17 cm pour le texte +\addtolength{\hoffset}{-1in} +\addtolength{\hoffset}{2cm} +\setlength{\textwidth}{17cm} + +% Environ 2 cm en haut et en bas et 25,5 cm hauteur de texte +\addtolength{\voffset}{-1in} +\addtolength{\voffset}{2cm} +\addtolength{\voffset}{-54pt} +\setlength{\textheight}{25.5cm} + +%Par défaut pas d'indentation des retours à la ligne +\setlength{\parindent}{0pt} + + +% ******************************************* +% ******************************************* +% %%% Francisation +% ******************************************* +% ******************************************* + +% Permet de rester compatible avec les macounets +% qui utilisent appelmac à la place de latin1 +% comme option de package inputenc +\DeclareOption{applemac}{\def\THE@@encoding{applemac}} +\DeclareOption{latin1}{\def\THE@@encoding{latin1}} +\ExecuteOptions{latin1} +\ProcessOptions +\PassOptionsToPackage{\THE@@encoding}{inputenc} +\RequirePackage{inputenc} % les bons codes pour les bonnes lettres + +\RequirePackage[T1]{fontenc} % une police avec des caractères accentués +\RequirePackage[francais]{babel} % un package de francisation (date, césure ...) + +% ******************************************* +% ******************************************* +% %%% Divers packages +% ******************************************* +% ******************************************* + +\RequirePackage{amsmath} % Police de maths +\RequirePackage{amssymb} % Police de maths + +\RequirePackage{array} +\RequirePackage{hhline} + +\RequirePackage[dvips,final]{graphicx} % Gestion de l'inclusion des dessin + +\RequirePackage{pstcol} % Package PS-trikcs pour dessiner en couleurs +\RequirePackage{pst-fill} % Package PS-trikcs pour le remplissage +\RequirePackage{pst-plot} % Package PS-trikcs pour tracer les courbes +\RequirePackage{pst-tree} % Package PS-trikcs pour dessiner les arbres diff --git a/Master/texmf-dist/tex/latex/tableaux/tableau.sty b/Master/texmf-dist/tex/latex/tableaux/tableau.sty new file mode 100644 index 00000000000..214ba505082 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tableaux/tableau.sty @@ -0,0 +1,155 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%% 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}} |