summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-12-26 23:17:24 +0000
committerKarl Berry <karl@freefriends.org>2006-12-26 23:17:24 +0000
commit745334ffa9c18f3c0a56f1d8abc635934d3236a3 (patch)
tree8f585f930370a89e164066f740229eebf395361e /Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty
parent669464634fce2970e9cf3233ce3edde5d77ce54f (diff)
pst-uml update
git-svn-id: svn://tug.org/texlive/trunk@2952 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty')
-rw-r--r--Master/texmf-dist/tex/latex/pst-uml/pst-uml.sty145
1 files changed, 67 insertions, 78 deletions
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