From 745334ffa9c18f3c0a56f1d8abc635934d3236a3 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 26 Dec 2006 23:17:24 +0000
Subject: pst-uml update

git-svn-id: svn://tug.org/texlive/trunk@2952 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty | 145 +++++++++++-------------
 1 file changed, 67 insertions(+), 78 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty')

diff --git a/Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty b/Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty
index aca140ca25a..e287f1ee9a6 100644
--- a/Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty
+++ b/Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty
@@ -7,7 +7,7 @@
 %%
 %% Maurice Diamantini <diam@ensta.fr>
 %%
-%% May 07, 2003
+%% Dec 19, 2006
 %%
 %% This program can be redistributed and/or modified under the terms
 %% of the LaTeX Project Public License Distributed from CTAN archives
@@ -16,23 +16,18 @@
 %% DESCRIPTION:
 %%   `pst-uml' is a PSTricks package to draw UML diagrams
 %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Fichier pst-uml.sty  $Id: pst-uml.sty,v 1.30 1998/08/24 07:10:32 diam Exp $
-%
-% Ce fichier fournit des macro pstricks pour faciliter la cr�ation
-% de diagrammes UML :
-%
 % Inspir\'e des exemples de Denis GIROU
 %
 % mise `a jour par diam@ensta.fr :
-% 22/02/98 : cr�ation
+% 22/02/98 : cr\'eation
 % 15/03/98 : utilsation des cl\'e pour les option de \umlClass
 % 10/11/04 : using pst-xkey and pstricks (hv)
+% 19/12/06 : adapted for use with array package (JHf)
 
 \def\filename{pst-uml}
 \def\fileBut{Quelques macros pstricks pour diagrammes UML}
-\def\fileversion{0.81}
-\def\filedate{2006/08/16}
+\def\fileversion{0.82}
+\def\filedate{2006/12/19}
 \def\fileMailAutor{diam@ensta.fr}
 %
 \NeedsTeXFormat{LaTeX2e}
@@ -40,18 +35,8 @@
    [\filedate\space v\fileversion\space-\space\fileMailAutor]
 \typeout{\space\space\space But\space:\space\fileBut.}
 %
-% Chargement de pstricks puis de graphicx
-% pstcol charge color dans le bon ordre, necessite un fichier color.cfg
-\RequirePackage{pstricks}        % Require a color.cfg file defined
-%   \RequirePackage{pst-grad}
-%   \RequirePackage{pst-plot}
-%   \RequirePackage{pst-coil}
-%   \RequirePackage{pst-text}
-%   \RequirePackage{pst-char}
+\RequirePackage{pstricks}
 \RequirePackage{pst-node}
-%   \RequirePackage{pst-3d}
-%   \RequirePackage{pst-eps}
-%   \RequirePackage{pst-fill}
 \RequirePackage{pst-tree}
 \RequirePackage{multido}
 
@@ -60,17 +45,16 @@
 
 \RequirePackage{graphicx} % a charger APRES pstricks
 \RequirePackage{pst-xkey}
+%
 \pst@addfams{pst-uml}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% D�finition de quelques couleur par d�faut utilis�es pour UML
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{uml_greyLight}   {rgb}{0.9,0.9,0.9}
-\definecolor{uml_grey80}      {rgb}{0.8,0.8,0.8}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% D\'efinition de quelques couleur par d\'efaut utilis\'ees pour UML
+%
+\definecolor{UMLgreyLight}{gray}{0.9}
+\definecolor{UMLgrey80}   {gray}{0.8}
+%
 % Quelques variable ou boite temporaires :
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+%
 % compteur (i.e. entiers) pour les calculs temporaires
 \newcounter{umlint@a}
 \newcounter{umlint@b}
@@ -96,23 +80,19 @@
 \newboolean{umlbool@c}
 \newboolean{umlbool@d}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Affectation des valeurs par defaut standard de pstricks :
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \psset{
-   % labelsep=0.5mm,  % au lieu de +/- 2mm
-   labelsep=1mm,  % au lieu de +/- 2mm
-   subgriddiv=1,    % pour une grille de 1cm en pointilles
+   % labelsep=0.5mm,  	% au lieu de plus/minus 2mm
+   labelsep=1mm,  	% au lieu de plus/minus 2mm
+   subgriddiv=1,    	% pour une grille de 1cm en pointilles
    griddots=10,
    gridlabels=6pt,
    arrowscale=2,
 }
 \SpecialCoor
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Definition des parametres par d�faut (nouvelles longueurs, ...)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Definition des parametres par d\'efaut (nouvelles longueurs, ...)
 
 % % For debug : ShowPosition
 % %
@@ -122,11 +102,11 @@
 % \newboolean{umlDebug}\setboolean{umlDebug}{false}
 
 % Un entier pour Degoguer
-% ATTENTION : si pb de port�e de variable (si besoin compteur global) :
+% ATTENTION : si pb de port\'ee de variable (si besoin compteur global) :
 %             passer par \edef
 %
 \newcounter{umlDebug}
-\define@key[pst-uml]{pst-uml}{umlDebug}{%
+\define@key[psset]{pst-uml}{umlDebug}{%
   \setcounter{umlDebug}{#1}%
   %
   % \setcounter{umlint@a}{#1}
@@ -135,23 +115,24 @@
   % \pst@cntg=#1\relax%
   % \edef\psk@Integer{\the\pst@cntg}%
 }
-
-
+%
 % Alignement du texte dans la boite umlstack (l, c, r)
 \newcommand{\umlstr@Align}{}
-\define@key[psset]{pst-uml}{umlAlign}{\renewcommand{\umlstr@Align}{#1}}
+\define@key[psset]{pst-uml}{umlAlign}{\renewcommand{\umlstr@Align}{#1}%
+    \@ifundefined{newcolumntype}{}{%   set alignment for array package
+        \newcolumntype{U}{#1}}}
 
 % Positionnement vertical de la boite umlstack (t, b, c)
 \newcommand{\umlstr@Pos}{}
 \define@key[psset]{pst-uml}{umlPos}{\renewcommand{\umlstr@Pos}{#1}}
 
-% Distance de s�paration du texte � la boite umlstack
+% Distance de s\'eparation du texte à la boite umlstack
 %   Influe sur colsep pour l'espace horizontal et sur des strut pour
 %   l'espace vertical
 \newlength\umldim@StackSep
 \define@key[psset]{pst-uml}{umlStackSep}{\pssetlength\umldim@StackSep{#1}}
 
-% coo�ficient de modif de l'interligne de umlstack
+% coo\'eficient de modif de l'interligne de umlstack
 \newcommand{\umlreal@StackLinesStretch}{}
 \define@key[psset]{pst-uml}{umlStackLinesStretch}{%
           \renewcommand{\umlreal@StackLinesStretch}{#1}}
@@ -210,10 +191,10 @@
 
 % pour passer plusieurs lignes (par \\) dans un parametre simple
 %
-% La difficult� �tait de g�rer l'option "StackSep" pour le
+% La difficult\'e \'etait de g\'erer l'option "StackSep" pour le
 % haut et le bas du texte.
-% ATTENTION il faut s'assurer que cette commande fonctionne m�me
-% si le texte pass� en parametre commence ou finit par \hline !
+% ATTENTION il faut s'assurer que cette commande fonctionne même
+% si le texte pass\'e en parametre commence ou finit par \hline !
 %
 %
 \newcommand{\umlStack}[2][]{{%
@@ -222,10 +203,18 @@
    \renewcommand{\arraystretch}{\umlreal@StackLinesStretch}%
    \ifthenelse{\lengthtest{\umldim@StackWidth=0pt}}{%
      % dimensionnement automatique
-     \begin{tabular}[\umlstr@Pos]{\umlstr@Align}%
+     \@ifundefined{newcolumntype}{% standard
+       \begin{tabular}[\umlstr@Pos]{\umlstr@Align}%
+     }{% for array package, columntype U was defined previous
+       \begin{tabular}[\umlstr@Pos]{U}%
+     }%
    }{% else
      % dimensionnement fixe
-     \begin{tabular*}{\umldim@StackWidth}[\umlstr@Pos]{\umlstr@Align}%
+     \@ifundefined{newcolumntype}{% see above
+       \begin{tabular*}{\umldim@StackWidth}[\umlstr@Pos]{\umlstr@Align}%
+     }{%
+       \begin{tabular*}{\umldim@StackWidth}[\umlstr@Pos]{U}%
+     }%
    }% endif
    % \begin{tabular}[\umlstr@Pos]{\umlstr@Align}%
       \setlength{\umldim@a}{1.5ex+\umldim@StackSep}%
@@ -341,13 +330,13 @@
   %
   % On dessine la boite finale :
   \ifthenelse{\boolean{umlbool@Shadow}}{%
-     \psshadowbox[fillstyle=solid,framesep=0,fillcolor=uml_grey80]%
+     \psshadowbox[fillstyle=solid,framesep=0,fillcolor=UMLgrey80]%
             {\usebox{\umlbox@out}}%
   }{%
      {\setlength{\fboxsep}{0pt}\fbox{\usebox{\umlbox@out}}}%
   }%
   %
-  % On superpose �ventuellement le template (rectangle pointill�)
+  % On superpose \'eventuellement le template (rectangle pointill\'e)
   %
   \settowidth{\umldim@a}{\umlstr@umlParameter}%
   \ifthenelse{\lengthtest{\umldim@a=0pt}}{%
@@ -369,7 +358,7 @@
 % Memorisation d'une classe dans une boite
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-% Surcourche � la commande de dessin de classe :
+% Surcourche à la commande de dessin de classe :
 % CECI FONCTIONNE MAL (la boite cree s'appel "#" )
 % Je n'ai pas reussi en jonglant aves les \csname et autre \@nameuse
 \newcommand{\umlSaveClass}[3][]{%
@@ -378,11 +367,11 @@
     \umlClass[#1]{#2}{#3}%
   }%
 }
-% Pas de \umlUseClass car sera egalement utilis�e pour les acteurs, ...
+% Pas de \umlUseClass car sera egalement utilis\'ee pour les acteurs, ...
 \newcommand{\umlUseBox}[1]{\usebox{\#1}}
 
 
-% % Surcourche � la commande de dessin de classe :
+% % Surcourche à la commande de dessin de classe :
 % %
 % % CECI FONCTIONNE PAS :
 % %     \newsavebox{\csname#2\endcsname} PLANTE :
@@ -399,14 +388,14 @@
 %     \umlClass[#1]{#2}{#3}%
 %   }%
 % }
-% % Pas de \umlUseClass car sera aussi utilis�e pour les acteurs, ...
+% % Pas de \umlUseClass car sera aussi utilis\'ee pour les acteurs, ...
 % \newcommand{\umlUseBox}[1]{%
 %     \typeout{***************avant use box }
 %   \usebox{\csname#1\endcsname}%
 % }
 
 
-% % Surcourche � la commande de dessin de classe :
+% % Surcourche à la commande de dessin de classe :
 % % CECICOMPILE MAIS  FONCTIONNE PAS
 % % affiche "Classe 1bisClasse 1bis"  (nom double) sous la classe
 % \newcommand{\umlSaveClass}[3][]{%
@@ -415,12 +404,12 @@
 %     \umlClass[#1]{#2}{#3}%
 %   }%
 % }
-% % Pas de \umlUseClass car sera aussi utilis�e pour les acteurs, ...
+% % Pas de \umlUseClass car sera aussi utilis\'ee pour les acteurs, ...
 % \newcommand{\umlUseBox}[1]{%
 %   \usebox{\@nameuse{#1}}%
 % }
 
-% % Surcourche � la commande de dessin de classe :
+% % Surcourche à la commande de dessin de classe :
 % % CECI FONCTIONNE PAS :
 % % ! Illegal parameter number in definition of \@tempa.
 % % Je n'ai pas reussi en jonglant aves les \csname et autre \@nameuse
@@ -431,7 +420,7 @@
 %     \umlClass[#1]{#2}{#3}%
 %   }%
 % }
-% % Pas de \umlUseClass car sera aussi utilis�e pour les acteurs, ...
+% % Pas de \umlUseClass car sera aussi utilis\'ee pour les acteurs, ...
 % \newcommand{\umlUseBox}[1]{%
 %   \@namedef{boxname}{#1}
 %   \usebox{\expandafter\boxname}%
@@ -460,7 +449,7 @@
 %      }
 %   }
 % }
-% % Pas de \umlRunClass car sera aussi utilis�e pour les acteurs, ...
+% % Pas de \umlRunClass car sera aussi utilis\'ee pour les acteurs, ...
 % \newcommand{\umlRun}[1]{\@usename{#1}}
 
 
@@ -499,8 +488,8 @@
 % Remarque : utiliser ovalnode et non pas rnode pour les placements
 %
 % BUG : \psovalbox creer une boite RECTANGULAIRE dans la quelle il y a
-% un oval => difficile de s�parer la CREATION du dessin et le PLACEMENT
-% de celui-ci avec la cr�ation d'un node CONCLUSION : inutilis� !
+% un oval => difficile de s\'eparer la CREATION du dessin et le PLACEMENT
+% de celui-ci avec la cr\'eation d'un node CONCLUSION : inutilis\'e !
 % (Utiliser plutot la commande suivante \umlPutCase)
 %
 \newcommand{\umlCase}[2][]{{%
@@ -589,7 +578,7 @@
   }}%
 }}
 
-% A FAIRE : pour le pseudo-�tat 'History"
+% A FAIRE : pour le pseudo-\'etat 'History"
 % \newcommand{\umlStateH}[1][]{{%
 %   \psset{#1}%             Reading keyOptions
 % }}
@@ -613,7 +602,7 @@
   \setlength{\umldim@c}{\umldim@H + \umldim@D}% hauteur totale
   \psframe(0,-\umldim@D)(\umldim@W,\umldim@H)%
   \psframe[linecolor=white](\umldim@a,\umldim@b)(\umldim@W,\umldim@H)%
-  % On d�calle le triangle vers l'int�rieur pour qu'il ne d�borde pas :
+  % On d\'ecalle le triangle vers l'int\'erieur pour qu'il ne d\'eborde pas :
   \setlength{\umldim@W}{\umldim@W-1.0\pslinewidth}%
   \setlength{\umldim@H}{\umldim@H-1.0\pslinewidth}%
   % \setlength{\umldim@D}{\umldim@D-1.0\pslinewidth}%
@@ -648,7 +637,7 @@
 }%
 
 
-% Direction (non utilis�e pour l'instant) cod� en nombre de quart de cercle
+% Direction (non utilis\'ee pour l'instant) cod\'e en nombre de quart de cercle
 % (i x 90) =>  0 right, 1 up, 2 left, 3 down
 %
 \newcounter{umlCpt@Direction}\setcounter{umlCpt@Direction}{-1}
@@ -760,7 +749,7 @@
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% D�finition des "fleches" de UML (sous forme de labels)
+% D\'efinition des "fleches" de UML (sous forme de labels)
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \newcommand{\ncputicon}[2][]{{%
@@ -798,24 +787,24 @@
 }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Nouvelles d�finition pour les interconnexions
+% Nouvelles d\'efinition pour les interconnexions
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-% Ces connecteurs sont une surcouche aux diff�rents connecteurs
-% propos�s par pstricks.
-% Leur but est de simplifier le trac� des liens en se restreingnant aux
+% Ces connecteurs sont une surcouche aux diff\'erents connecteurs
+% propos\'es par pstricks.
+% Leur but est de simplifier le trac\'e des liens en se restreingnant aux
 % directions horizontales et verticales.
 %
-% Le principe est d'indiquer dans le nom m�me de la commande le nombre
-% de segments � tracer et leur direction :
+% Le principe est d'indiquer dans le nom même de la commande le nombre
+% de segments à tracer et leur direction :
 %  - E, W, N, S pour Est, West, North, Sud
 %  - H, V pour Horizontal; Vertical
 %  - D pour diagonal
-%  - X pour indiff�rent
+%  - X pour indiff\'erent
 
 % Un seul segments
-% Effet de bord : en fait, un deuxieme segment est dessin�. Mais celui
-% n'apparait g�n�ralement pas car il longe la fronti�re de boite
+% Effet de bord : en fait, un deuxieme segment est dessin\'e. Mais celui
+% n'apparait g\'en\'eralement pas car il longe la frontière de boite
 \newpsobject{ncE}{ncangle}{angleA=0,angleB=180,armB=0,npos=0.5,nodesepB=-0.5pt}
 % \newpsobject{ncE}{ncangle}{angleA=0,angleB=180,armB=0,npos=0.5}
 \newpsobject{ncW}{ncangle}{angleA=180,angleB=0,armB=0,npos=0.5}
@@ -833,7 +822,7 @@
 \newpsobject{ncSW}{ncangle}{angleA=-90,angleB=0,armB=0}
 
 % Trois segments
-% On peut utiliser armA ou armB pour imposer la longueur des extr�mit�s
+% On peut utiliser armA ou armB pour imposer la longueur des extr\'emit\'es
 %
 % remplace \ncbar (connecteurs en forme de U)
 \newpsobject{ncEVW}{ncangles}{angleA=0,angleB=0}
@@ -872,4 +861,4 @@
 % FIN
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \typeout{Package \filename.sty is loaded.}
-\endinput
+\endinput
\ No newline at end of file
-- 
cgit v1.2.3

