summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-11-10 00:58:33 +0000
committerKarl Berry <karl@freefriends.org>2008-11-10 00:58:33 +0000
commit98db17d2b3be9ccbac478e500fe1d520c7480d7e (patch)
treeeacea27f040e0bcdd2dc083db8f4d370b265a28c
parentc7f70bcde113d63c5611a1db426195a04bf5d3b8 (diff)
restore tableaux, original ctan upload specified lppl
git-svn-id: svn://tug.org/texlive/trunk@11239 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tableaux/exemples.pdfbin0 -> 45636 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tableaux/exemples.tex227
-rw-r--r--Master/texmf-dist/doc/latex/tableaux/tableau.pdfbin0 -> 38113 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tableaux/tableau.tex138
-rw-r--r--Master/texmf-dist/tex/latex/tableaux/minimum.sty63
-rw-r--r--Master/texmf-dist/tex/latex/tableaux/tableau.sty155
-rwxr-xr-xMaster/tlpkg/bin/ctan2tds1
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/tableaux.tlpsrc2
10 files changed, 587 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/tableaux/exemples.pdf b/Master/texmf-dist/doc/latex/tableaux/exemples.pdf
new file mode 100644
index 00000000000..41593088491
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tableaux/exemples.pdf
Binary files differ
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
new file mode 100644
index 00000000000..09919e0d8a5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tableaux/tableau.pdf
Binary files differ
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}}
diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds
index c17e8fb6aa4..abb038eaff5 100755
--- a/Master/tlpkg/bin/ctan2tds
+++ b/Master/tlpkg/bin/ctan2tds
@@ -410,7 +410,6 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'stex', "&MAKEflatten",
'symbolindex', "die 'skipping, requires binary'",
't2', "&MAKEt2",
- 'tableaux', "die 'skipping, noinfo license (and does not work)'",
'tamethebeast',"&MAKEtamethebeast",
'tamil-omega', "die 'skipping, supports nonfree ISM fonts'", #"&MAKEflatten",
'taylor', "die 'skipping, nonfree license'",
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 6ff3f3ca8af..284390b531e 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -202,7 +202,7 @@ my @WorkingTLP = qw(
subfig subfigure subfloat substr sudoku sudokubundle sugconf
supertabular susy svgcolor svn svn-multi svninfo
swebib syllogism syntax synproof syntrace synttree
- t-angles t2 Tabbing tablists tablor tabulary tabvar talk
+ t-angles t2 Tabbing tableaux tablists tablor tabulary tabvar talk
tamethebeast tdsfrmath
ted templates-fenn templates-sommer tengwarscript
tensor termlist teubner tex-gyre texilikecover texmate
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index c6bfda280c9..c8c7a7bdafb 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -495,6 +495,7 @@ depend svninfo
depend syntax
depend syntrace
depend synttree
+depend tableaux
depend tablists
depend tabto-ltx
depend tabulary
diff --git a/Master/tlpkg/tlpsrc/tableaux.tlpsrc b/Master/tlpkg/tlpsrc/tableaux.tlpsrc
new file mode 100644
index 00000000000..2bf67043b69
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/tableaux.tlpsrc
@@ -0,0 +1,2 @@
+name tableaux
+category Package