From 745334ffa9c18f3c0a56f1d8abc635934d3236a3 Mon Sep 17 00:00:00 2001 From: Karl Berry 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 %% -%% 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