summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:08:32 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:08:32 +0000
commit8cb04a7f78c0d421128ccd51e20ff82dcd8a819a (patch)
tree098ab7f4df108b20eb1586e79170a87af4ab5c0b
parent9c2380f55c4f48aeafffc091b5aee38295a12da4 (diff)
tableaux
git-svn-id: svn://tug.org/texlive/trunk@1369 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/latex/tableaux/minimum.sty63
-rw-r--r--Master/texmf-dist/tex/latex/tableaux/tableau.sty155
2 files changed, 218 insertions, 0 deletions
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}}