From 2b80be86d44096acc194e3a1600f20c87067829c Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Mon, 2 Jun 2008 15:33:53 +0000 Subject: msc v1.16 2008/06/02 entering tlpkg-ctan-check git-svn-id: svn://tug.org/texlive/trunk@8492 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/msc/COPYRIGHT | 28 ---- Master/texmf-dist/doc/latex/msc/COPYRIGHT.txt | 31 ++++ Master/texmf-dist/doc/latex/msc/README | 37 +++-- Master/texmf-dist/doc/latex/msc/maintenance.pdf | Bin 0 -> 61584 bytes Master/texmf-dist/doc/latex/msc/maintenance.tex | 207 ++++++++++++------------ Master/texmf-dist/doc/latex/msc/manual.pdf | Bin 0 -> 229228 bytes Master/texmf-dist/doc/latex/msc/manual.tex | 63 ++++---- Master/texmf-dist/doc/latex/msc/refman.pdf | Bin 0 -> 154934 bytes Master/texmf-dist/doc/latex/msc/refman.tex | 169 +++---------------- Master/texmf-dist/tex/latex/msc/msc.sty | 110 +++++++++---- 10 files changed, 281 insertions(+), 364 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/msc/COPYRIGHT create mode 100644 Master/texmf-dist/doc/latex/msc/COPYRIGHT.txt create mode 100644 Master/texmf-dist/doc/latex/msc/maintenance.pdf create mode 100644 Master/texmf-dist/doc/latex/msc/manual.pdf create mode 100644 Master/texmf-dist/doc/latex/msc/refman.pdf (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/msc/COPYRIGHT b/Master/texmf-dist/doc/latex/msc/COPYRIGHT deleted file mode 100644 index 7178a7ee4a8..00000000000 --- a/Master/texmf-dist/doc/latex/msc/COPYRIGHT +++ /dev/null @@ -1,28 +0,0 @@ -%% MSC Macro Package -%% msc.sty -%% Version 1.14 -%% March 15, 2004 -%% -%% Copyright 2002 V. Bos and S. Mauw -% -% This program may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.2 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. -% -% This program consists of the files -% msc.sty -% manual.tex -% manual.ps -% refman.tex -% refman.ps -% biblio.bib -% maintenance.tex -% maintenance.ps -% README -% COPYRIGHT - - diff --git a/Master/texmf-dist/doc/latex/msc/COPYRIGHT.txt b/Master/texmf-dist/doc/latex/msc/COPYRIGHT.txt new file mode 100644 index 00000000000..3d7872812d5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/msc/COPYRIGHT.txt @@ -0,0 +1,31 @@ +%% MSC Macro Package +%% msc.sty +%% June 2, 2008 +%% +%% Copyright 2008 V. Bos, T. van Deursen, and S. Mauw +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is T. van Deursen. +% +% This program consists of the files +% msc.sty +% manual.tex +% manual.pdf +% refman.tex +% refman.pdf +% biblio.bib +% maintenance.tex +% maintenance.pdf +% README +% COPYRIGHT + + diff --git a/Master/texmf-dist/doc/latex/msc/README b/Master/texmf-dist/doc/latex/msc/README index eea9428f21b..5388eceb50e 100644 --- a/Master/texmf-dist/doc/latex/msc/README +++ b/Master/texmf-dist/doc/latex/msc/README @@ -1,43 +1,42 @@ MSC Macro Package ----------------- -Version 1.14 -March 15, 2004 +Version 1.16 +June 2, 2008 ---------------------------------------------------------------------- -Copyright 2002 V. Bos and S. Mauw +Copyright 2008 V. Bos, T. van Deursen, and S. Mauw -This program may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either version 1.2 +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any later version. The latest version of this license is in http://www.latex-project.org/lppl.txt -and version 1.2 or later is part of all distributions of LaTeX -version 1999/12/01 or later. +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. This program consists of the files msc.sty manual.tex - manual.ps + manual.pdf refman.tex - refman.ps + refman.pdf biblio.bib maintenance.tex - maintenance.ps + maintenance.pdf README COPYRIGHT ---------------------------------------------------------------------- The MSC macro package is a LaTeX2e package to draw MSC diagrams. See -user manual (manual.ps) and reference manual (refman.ps) for more +user manual (manual.pdf) and reference manual (refman.pdf) for more information. Contact address: -S. Mauw -Eindhoven University of Technology -P.O. Box 513 -5600 MB Eindhoven -The Netherlands -Email: sjouke@win.tue.nl, vbos@abo.fi -Updates via: http://www.win.tue.nl/~sjouke/mscpackage.html -and via CTAN directory: macros/latex/contrib/msc/ +Ton van Deursen +Universit\'e du Luxembourg +Facult\'e des Sciences, de la Technologie et de la Communication +6, rue Richard Coudenhove-Kalergi +L-1359 Luxembourg +Email: ton.vandeursen@uni.lu +Updates via: http://satoss.uni.lu/mscpackage/ diff --git a/Master/texmf-dist/doc/latex/msc/maintenance.pdf b/Master/texmf-dist/doc/latex/msc/maintenance.pdf new file mode 100644 index 00000000000..c050ebe05b0 Binary files /dev/null and b/Master/texmf-dist/doc/latex/msc/maintenance.pdf differ diff --git a/Master/texmf-dist/doc/latex/msc/maintenance.tex b/Master/texmf-dist/doc/latex/msc/maintenance.tex index 67eb3479a9c..3e49133c6ee 100644 --- a/Master/texmf-dist/doc/latex/msc/maintenance.tex +++ b/Master/texmf-dist/doc/latex/msc/maintenance.tex @@ -1,9 +1,7 @@ % file: maintenance.tex -% Copyright 2002 V. Bos and S. Mauw +% Copyright 2008 V. Bos, T. van Deursen, and S. Mauw % This file is part of the MSC Macro Package. % -% RCS version: $Id: maintenance.tex,v 1.11 2004/03/15 11:40:27 vbos Exp $ -% \documentclass{article} \usepackage{a4wide} \usepackage{msc} @@ -13,25 +11,23 @@ document } + \author{ - \begin{tabular}{cc} - Victor Bos & Sjouke Mauw\\ - \footnotesize Turku Centre for Computer Science & - \footnotesize Eindhoven University of Technology \\ [-0.8ex] - \footnotesize Software Construction Laboratory & - \footnotesize Department of Mathematics and Computing Science \\ [-0.8ex] - \footnotesize Lemminkäisenkatu 14 & - \footnotesize P.O.\ Box 513 \\ [-0.8ex] - \footnotesize FIN--20520 Turku & - \footnotesize NL--5600 MB Eindhoven \\ [-0.8ex] - \footnotesize Finland & - \footnotesize The Netherlands \\ - \footnotesize \texttt{vbos@abo.fi} & - \footnotesize \texttt{sjouke@win.tue.nl} - \end{tabular} + \begin{tabular}{c} + \begin{tabular}{ccc} + Victor Bos & + Ton van Deursen & + Sjouke Mauw \\ + & + \scriptsize Universit\'e du Luxembourg & + \scriptsize Universit\'e du Luxembourg \\[-0.8ex] + \scriptsize \texttt{victor.bos@ssf.fi} & + \scriptsize \texttt{ton.vandeursen@uni.lu} & + \scriptsize \texttt{sjouke.mauw@uni.lu} + \end{tabular}\\ + \end{tabular} } - \begin{document} \date{\small Version \mscversion, last update \today} @@ -50,7 +46,7 @@ This document contains three lists related to the maintenance of the MSC macro package. This is a \LaTeX\ package for drawing Message Sequence Charts. For additional information consult the following URL: -\verb+http://www.win.tue.nl/~sjouke/mscpackage.html+. +\verb+http://satoss.uni.lu/mscpackage/+. The first list contains an overview of all publicly released versions of the MSC macro package. The second list contains all known (yet @@ -60,65 +56,45 @@ desired additional functionality. \section{Versions} \begin{itemize} -\item Version 1.0, First public release, 1999/03/16. - -Supports drawing of the following MSC constructs: MSC frame, -instances, messages (including self and env messages), coregions. -Includes some parameters for fine tuning of the drawing. - -\item Version 1.1, Public release, 1999/03/24. - -Minor bug fixes. -Additionally supports: timers (singular events), lost and found -messages, generalized ordering. Extra parameters: -\verb+\lostsymbolradius+, \verb+\timerwidth+. The macro -\verb+\setfootcolor+ replaces \verb+\setfootgrayness+, and the macro -\verb+\setmscvalues+ replaces \verb+\resetmsclengths+. -Some default values have been adjusted. - -\item Version 1.2, Public release, 1999/03/29. +\item Version 1.16, beta release, 2008/06/02 -Minor bug fixes. -Code restructuring. -Additionally supports: Actions.\\ -Extra parameters: -\verb+\actionheight+, \verb+\actionwidth+. +The MSC package used old \verb+PSTricks+-syntax of the \verb+\scalebox+ +command. To prevent mismatches with the \verb+graphicx+ package, this +macro was renamed to \verb+\psscalebox+. -\item Version 1.3, Public release, 1999/04/10. +The \verb+action+ and \verb+condition+ macros are extended with a +starred version, which automatically adjust the size of the rectangle +and hexagon based on the size of the contents. -Minor bug fixes. -Additionally supports: Conditions, combined timer symbols, instance -stop.\\ -Extra parameters: -\verb+\conditionheight+, \verb+\conditionoverlap+, \verb+\stopwidth+. -Leveloffset can be specified in \verb+nextlevel+ command. - -\item Version 1.4, Public release, 1999/04/23. +Name and address information has been updated. -Minor bug fixes.\\ -Additionally supports: Instance creation, MSC references, and inline -expressions.\\ -Extra parameters: -\verb+\referenceoverlap+, \verb+\inlineoverlap+, \verb+\stopwidth+.\\ -Adjustment of default values. There are now three sizes -(large/normal/small) instead of two. The middle size is now default.\\ -New command \verb+\setmscscale+ to scale the complete MSC up/down. +\item Version 1.13, beta release, 2002/06/27. +The label positioning of version 1.12 is reimplemented. In fact, the +implementation of messages is rewritten completely. The same method to +compute the location of labels is used in \verb+\mess+, \verb+create+, +\verb+lost+, and \verb+found+. The new implementation is backward +compatible, meaning that old documents using the MSC Macro Package +will still look the same. +In addition, the bounding box bug is partly fixed. An \verb+\fbox+ is +drawn around each msc, hmsc, and mscdoc diagram. This enables dvips to +compute the right bounding box. Since the \verb+\fbox+ is drawn in +white, there is no visible result as long as the background is white, +too. A consequence of this bug fix is that the MSC Macro package +requires the \textsf{color} package. Just like the other required +packages, \textsf{pstricks}, \textsf{calc}, and \textsf{ifthen}, this +is a standard \LaTeXe{} package. -\item Version 1.10, Public release, 2002/04/10. +\item Version 1.12, beta release, 2002/06/18. -Major improvements: support for two new types of diagrams: High-level -MSCs and MSC documents. Additional MSC constructs: fat (double line) -instances, gates, time measurements, comments, instance regions -(activation, suspension, and co-regions), method replies (dashed -message arrows). Left and right overlap of inline expressions and MSC -references in an MSC diagram can be specified separately. +In this version, the user has more control over the positioning of +message labels. Implementation not finished yet. -Reference manual. For a list of (all) commands and lengths, see -reference manual. +\item Version 1.11, Public release, 2002/06/06. -Package now also available at CTAN. +Minor bug fix.\\ The \verb+\stepcounter+ problem that occurred while +using the MSC Macro Package together with overlays (slides) is solved. \item Version 1.10a, Public release, 2002/04/11. @@ -137,40 +113,63 @@ package. However, there are probably packages assigning special meaning to the ' symbol and which will therefore not work properly with the msc package. -\item Version 1.11, Public release, 2002/06/06. +\item Version 1.10, Public release, 2002/04/10. -Minor bug fix.\\ The \verb+\stepcounter+ problem that occurred while -using the MSC Macro Package together with overlays (slides) is solved. +Major improvements: support for two new types of diagrams: High-level +MSCs and MSC documents. Additional MSC constructs: fat (double line) +instances, gates, time measurements, comments, instance regions +(activation, suspension, and co-regions), method replies (dashed +message arrows). Left and right overlap of inline expressions and MSC +references in an MSC diagram can be specified separately. -\item Version 1.12, beta release, 2002/06/18. +Reference manual. For a list of (all) commands and lengths, see +reference manual. -In this version, the user has more control over the positioning of -message labels. Implementation not finished yet. +Package now also available at CTAN. -\item Version 1.13, beta release, 2002/06/27. +\item Version 1.4, Public release, 1999/04/23. -The label positioning of version 1.12 is reimplemented. In fact, the -implementation of messages is rewritten completely. The same method to -compute the location of labels is used in \verb+\mess+, \verb+create+, -\verb+lost+, and \verb+found+. The new implementation is backward -compatible, meaning that old documents using the MSC Macro Package -will still look the same. +Minor bug fixes.\\ +Additionally supports: Instance creation, MSC references, and inline +expressions.\\ +Extra parameters: +\verb+\referenceoverlap+, \verb+\inlineoverlap+, \verb+\stopwidth+.\\ +Adjustment of default values. There are now three sizes +(large/normal/small) instead of two. The middle size is now default.\\ +New command \verb+\setmscscale+ to scale the complete MSC up/down. -In addition, the bounding box bug is partly fixed. An \verb+\fbox+ is -drawn around each msc, hmsc, and mscdoc diagram. This enables dvips to -compute the right bounding box. Since the \verb+\fbox+ is drawn in -white, there is no visible result as long as the background is white, -too. A consequence of this bug fix is that the MSC Macro package -requires the \textsf{color} package. Just like the other required -packages, \textsf{pstricks}, \textsf{calc}, and \textsf{ifthen}, this -is a standard \LaTeXe{} package. +\item Version 1.3, Public release, 1999/04/10. -\item Version 1.14, Public release, 2004/03/15. +Minor bug fixes. +Additionally supports: Conditions, combined timer symbols, instance +stop.\\ +Extra parameters: +\verb+\conditionheight+, \verb+\conditionoverlap+, \verb+\stopwidth+. +Leveloffset can be specified in \verb+nextlevel+ command. -This version fixes a bug in the drawing routine of messages. In -earlier versions, the arrow heads of messages were sometimes -positioned at the center of an instance axis, even though the instance -was an activation region. +\item Version 1.2, Public release, 1999/03/29. + +Minor bug fixes. +Code restructuring. +Additionally supports: Actions.\\ +Extra parameters: +\verb+\actionheight+, \verb+\actionwidth+. + +\item Version 1.1, Public release, 1999/03/24. + +Minor bug fixes. +Additionally supports: timers (singular events), lost and found +messages, generalized ordering. Extra parameters: +\verb+\lostsymbolradius+, \verb+\timerwidth+. The macro +\verb+\setfootcolor+ replaces \verb+\setfootgrayness+, and the macro +\verb+\setmscvalues+ replaces \verb+\resetmsclengths+. +Some default values have been adjusted. + +\item Version 1.0, First public release, 1999/03/16. + +Supports drawing of the following MSC constructs: MSC frame, +instances, messages (including self and env messages), coregions. +Includes some parameters for fine tuning of the drawing. \end{itemize} @@ -216,19 +215,13 @@ Mohnen proposed a solution: increase the counters used by the MSC macro package manually. In Version~1.11 this solution is implemented. Thanks Volker and Markus! -\item The MSC Macro Package (version $\leq 1.13$) sometimes draws -arrow heads at the wrong place. Paulo S\'ergio Almeida discovered this -for messages drawn from right to left and for which the receiver -instance is an activation region. In fact, as Paulo noticed, the -manual contains an example of this bug, see Section~6.12 of the -manual. He also provided some \LaTeX{} code to fix the big. In -version~1.14, this code replaces the erroneous code. - \end{itemize} \section{Wishes} \begin{itemize} +\item Split MSCs over multiple pages (T. van Deursen, 2008/02/18) + \item Make the parameters of the MSC Macro package more consistent. For example, the \verb+\mess+ macro and the \verb+\measure+ have similar positioning parameters, but they cannot @@ -246,11 +239,11 @@ the tricks in the reference manual. (S. Mauw 2002/06/14) \item Add UML extensions to the MSC Macro package. Describe clearly which UML diagrams we support.(S. Mauw, 2002/06/13) -\item Add option to messages to determine relative position of -label. S. Mauw (sjouke@win.tue.nl), 1999/04/15. - \item A possibility to change the color of instance regions. V. Bos -(09/04/2002). +(2002/04/09). + +\item Add option to messages to determine relative position of +label. (S. Mauw 1999/04/15). \end{itemize} diff --git a/Master/texmf-dist/doc/latex/msc/manual.pdf b/Master/texmf-dist/doc/latex/msc/manual.pdf new file mode 100644 index 00000000000..9cc6c420cf4 Binary files /dev/null and b/Master/texmf-dist/doc/latex/msc/manual.pdf differ diff --git a/Master/texmf-dist/doc/latex/msc/manual.tex b/Master/texmf-dist/doc/latex/msc/manual.tex index a032b52de25..d6025770fe4 100644 --- a/Master/texmf-dist/doc/latex/msc/manual.tex +++ b/Master/texmf-dist/doc/latex/msc/manual.tex @@ -1,14 +1,11 @@ % file: manual.tex -% Copyright 2002 V. Bos and S. Mauw +% Copyright 2008 V. Bos, T. van Deursen, and S. Mauw % This file is part of the MSC Macro Package. % -% RCS version: $Id: manual.tex,v 1.9 2004/03/15 11:35:47 vbos Exp $ -% \documentclass[12pt,a4paper]{article} \usepackage{a4wide} \usepackage{url} \usepackage{moreverb} -\usepackage{graphicx} \usepackage{multicol} \usepackage{msc} @@ -110,21 +107,19 @@ } \author{ - \begin{tabular}{cc} - Victor Bos & Sjouke Mauw\\ - \footnotesize Turku Centre for Computer Science & - \footnotesize Eindhoven University of Technology \\ [-0.8ex] - \footnotesize Software Construction Laboratory & - \footnotesize Department of Mathematics and Computing Science \\ [-0.8ex] - \footnotesize Lemmink\"aisenkatu 14 & - \footnotesize P.O.\ Box 513 \\ [-0.8ex] - \footnotesize FIN--20520 Turku & - \footnotesize NL--5600 MB Eindhoven \\ [-0.8ex] - \footnotesize Finland & - \footnotesize The Netherlands \\ - \footnotesize \texttt{vbos@abo.fi} & - \footnotesize \texttt{sjouke@win.tue.nl} - \end{tabular} + \begin{tabular}{c} + \begin{tabular}{ccc} + Victor Bos & + Ton van Deursen & + Sjouke Mauw \\ + & + \scriptsize Universit\'e du Luxembourg & + \scriptsize Universit\'e du Luxembourg \\[-0.8ex] + \scriptsize \texttt{victor.bos@ssf.fi} & + \scriptsize \texttt{ton.vandeursen@uni.lu} & + \scriptsize \texttt{sjouke.mauw@uni.lu} + \end{tabular}\\ + \end{tabular} } \date{\small Version \mscversion, last update \today\\ @@ -146,6 +141,14 @@ design and use of the \mscpack. \section{New} \label{new} +\paragraph{Version~1.16} solves a bug that was due to a change in +syntax of the \verb+scalebox+ macro in the \verb+PSTricks+ package. + +The \verb+action+ and \verb+condition+ macros are extended with a +starred option. The starred version of the macros automatically +adjusts the size of the rectangle and hexagon based on the size of the +contents. + \paragraph{Version~1.13} has a reimplementation of message commands in MSC diagrams. The affected commands are: \verb+\create+, \verb+\found+, \verb+\lost+, \verb+\mess+, and \verb+\order+. The new implementation @@ -293,7 +296,7 @@ an appropriate set of parameters. The \mscpack{} is still under development. The authors appreciate any comments and suggestions for improvements. The most recent version of the package can be downloaded from -\url{http://www.win.tue.nl/~sjouke/mscpackage.html}. +\url{http://satoss.uni.lu/mscpackage/}. The \mscpack{} has a \emph{LaTeX Project Public License} @@ -991,7 +994,7 @@ doubled in order to fit the comments inside the frame. An instance can perform an action, which is denoted by a rectangle. \begin{verbatim} -\action{name}{instance} +\action(*){name}{instance} \end{verbatim} The action is attached at the current level to the \verb+instance+. @@ -1003,6 +1006,10 @@ symbol (see Section~\ref{parameters}): \verb+\actionwidth+ (the width of the action symbol), and \verb+\actionheight+ (the height of the action symbol). +The starred version of the command, \verb+\action*+, produces the same +result as \verb+\action+, except that the height and width of the +action symbol are adjusted to fit the contents of the rectangle. + The next example shows that after an action often a multiple level increment is needed to obtain nice pictures. @@ -1134,9 +1141,8 @@ with the command which is a dashed polyline. The position of the mark symbol relative to the marked event is determined by the \verb+placement+. -(\verb+tl+ means top-left, \verb+tr+ means top-right, \verb+ml+ means -middle-left, \verb+mr+ means middle-right, -\verb+bl+ means bottom-left, and \verb+br+ means bottom-right). +(\verb+tl+ means top-left, \verb+tr+ means top-right, \verb+bl+ means +bottom-left, and \verb+br+ means bottom-right). A \verb+\measure+ connects two events from \verb+instance1+ and \verb+instance2+. The first event is at the current level. The second @@ -1327,6 +1333,10 @@ symbol (see Section~\ref{parameters}): symbol which extends over the rightmost/leftmost contained instance axis). +The starred version of the command, \verb+\condition*+, produces the same +result as \verb+\condition+, except that the height and width of the +condition symbol are adjusted to fit the contents of the hexagon. + The following example contains some conditions. \medskip @@ -2823,10 +2833,7 @@ following \LaTeX\ fragment. \section{Acknowledgments} Thanks are due to the following people for providing us with useful -input: Peter Peters, Michel Reniers. In addition, we -thank the people who have submitted bugs, and sometimes even -bug-fixes. These people are mentioned in the \emph{Maintenance} -document of the \mscpack{} (Section~3, \emph{Bugs}). +input: Peter Peters, Michel Reniers. \bibliographystyle{plain} \bibliography{biblio} diff --git a/Master/texmf-dist/doc/latex/msc/refman.pdf b/Master/texmf-dist/doc/latex/msc/refman.pdf new file mode 100644 index 00000000000..8423cc8ade6 Binary files /dev/null and b/Master/texmf-dist/doc/latex/msc/refman.pdf differ diff --git a/Master/texmf-dist/doc/latex/msc/refman.tex b/Master/texmf-dist/doc/latex/msc/refman.tex index a4c416a4b6c..84d60381633 100644 --- a/Master/texmf-dist/doc/latex/msc/refman.tex +++ b/Master/texmf-dist/doc/latex/msc/refman.tex @@ -1,9 +1,7 @@ % file: refman.tex -% Copyright 2002 V. Bos and S. Mauw +% Copyright 2008 V. Bos, T. van Deursen, and S. Mauw % This file is part of the MSC Macro Package. % -% RCS version: $Id: refman.tex,v 1.7 2002/07/01 10:38:59 vbos Exp $ -% \documentclass[a4paper]{article} \usepackage{a4wide} @@ -98,21 +96,19 @@ } \author{ - \begin{tabular}{cc} - Victor Bos & Sjouke Mauw\\ - \footnotesize Turku Centre for Computer Science & - \footnotesize Eindhoven University of Technology \\ [-0.8ex] - \footnotesize Software Construction Laboratory & - \footnotesize Department of Mathematics and Computing Science \\ [-0.8ex] - \footnotesize Lemmink\"aisenkatu 14 & - \footnotesize P.O.\ Box 513 \\ [-0.8ex] - \footnotesize FIN--20520 Turku & - \footnotesize NL--5600 MB Eindhoven \\ [-0.8ex] - \footnotesize Finland & - \footnotesize The Netherlands \\ - \footnotesize \texttt{vbos@abo.fi} & - \footnotesize \texttt{sjouke@win.tue.nl} - \end{tabular} + \begin{tabular}{c} + \begin{tabular}{ccc} + Victor Bos & + Ton van Deursen & + Sjouke Mauw \\ + & + \scriptsize Universit\'e du Luxembourg & + \scriptsize Universit\'e du Luxembourg \\[-0.8ex] + \scriptsize \texttt{vbos@abo.fi} & + \scriptsize \texttt{ton.vandeursen@uni.lu} & + \scriptsize \texttt{sjouke.mauw@uni.lu} + \end{tabular}\\ + \end{tabular} } \date{\small Version \mscversion, last update \today\\ @@ -616,11 +612,12 @@ define the upper right corner of the \MSCdoc. \begin{defs} -\item[\cmd{action}\{\emph{txt}\}\{\emph{nm}\}] Draws an \emph{action} +\item[\cmd{action(*)}\{\emph{txt}\}\{\emph{nm}\}] Draws an \emph{action} symbol on the instance with nickname \emph{nm}. The parameter \emph{txt} defines the name of the action. The size of the action symbol is controlled by the \verb|\actionheight| and \verb|\actionwidth| -lengths. +lengths. The starred version adjusts the height and width of the +action symbol to the size of the contents. \item[\cmd{arrow}\cmdarg{nm0}\opt{\coordargs{xpos${}_1$}{ypos${}_1$}$\ldots$\coordargs{xpos${}_n$}{ypos${}_n$}}\cmdarg{nm1}] Draws an arrow in an \HMSC{} diagram. The arrow starts at the symbol @@ -633,7 +630,7 @@ is a list of intermediate points the arrow should pass through. bar width of instance \emph{nm} to \emph{wd}. The parameter \emph{wd} should be a valid \LaTeX{} length. -\item[\cmd{comment}\opt{\emph{pos}}\{\emph{txt}\}\{\emph{nm}\}] Puts a +\item[\cmd{msccomment}\opt{\emph{pos}}\{\emph{txt}\}\{\emph{nm}\}] Puts a comment at instance \emph{nm}. The parameter \emph{txt} is the comment. The optional parameter \emph{pos} defines the horizontal position of the comment relative to instance \emph{nm}. Valid @@ -645,14 +642,15 @@ the instance axis. If \emph{pos} is a length, the comment will be put comment to the left and a positive \emph{pos} puts it to the right of the instance axis. -\item[\cmd{condition}\{\emph{txt}\}\{\emph{instancelist}\}] Draws a +\item[\cmd{condition(*)}\{\emph{txt}\}\{\emph{instancelist}\}] Draws a \emph{condition} symbol on the instances occurring in \emph{instancelist}. The parameter \emph{txt} defines the text to be placed in the \emph{condition} symbol. The parameter \emph{instancelist} is a comma separated list of instance nicknames. Note that there should be no white space between the commas and the nicknames; only if a nickname contains white space is a white -space allowed in \emph{instancelist}. +space allowed in \emph{instancelist}. The starred version adjusts the +height and width of the condition symbol to the size of the contents. \item[\cmd{coregionend}\{\emph{nm}\}] Ends the co-region on the instance \emph{nm}. This command is obsolete (see \verb|\regionend|). @@ -837,7 +835,7 @@ is~1. \item[\cmd{measureend(*)}\opt{\emph{pos}}\{\emph{txt}\}\{\emph{nm}\}\{\emph{gate}\}] -Puts a \emph{measure end} symbol at instance \emph{nm}.The starred +Puts a \emph{measure end} symbol at instance \emph{nm}. The starred version puts the triangular measure symbol outside the measure; the unstarred version puts the triangular measure symbol inside the measure. The \emph{txt} parameter defines the label of the @@ -1542,129 +1540,6 @@ is given below. \end{verbatim} } - -\paragraph{Automatic resizing of actions} - -Consider the \MSC{} of Figure~\ref{fig:small:action}. The source code -for this diagram is: -{ -\small -\begin{verbatim} -\begin{msc}{small action} -\declinst{i}{$i$}{} -\declinst{j}{$j$}{} -\action{\parbox{1cm}{\centering Do it now}}{i} -\nextlevel[2] -\end{msc} -\end{verbatim} -} - -\begin{figure}[htb] -\begin{center} -\begin{msc}{small action} -\declinst{i}{$i$}{} -\declinst{j}{$j$}{} -\action{\parbox{1cm}{\centering Do it now}}{i} -\nextlevel[2] -\end{msc} -\end{center} - -\caption{Small action symbol} -\label{fig:small:action} -\end{figure} - -It is clear that the action symbol is too small for the action -label. The normal solution to this problem would be to change the -values of \cmd{actionwidth} and \cmd{actionheight} such that the -\cmd{parbox} containing the action label fits in the frame of the -action symbol. - -Instead of computing these lengths and adding the necessary -\cmd{setlength} commands manually, it would be nice to have a macro -that computes and adjusts the lengths as required. The \cmd{Action} macro -defined below does just that. -{ -\small -\begin{verbatim} -\newsavebox{\labelbox} -\newlength{\oldwd} -\newlength{\oldht} -\newcommand{\Action}[2]{% - \setlength{\oldwd}{\actionwidth}% - \setlength{\oldht}{\actionheight}% - \savebox{\labelbox}{#1}% - \setlength{\actionwidth}{\wd\labelbox + 2\labeldist}% - \setlength{\actionheight}{\ht\labelbox + \dp\labelbox + 2\labeldist}% - \action{\usebox{\labelbox}}{#2}% - \setlength{\actionwidth}{\oldwd}% - \setlength{\actionheight}{\oldht}% -} -\end{verbatim} -} Note that we define a box (\cmd{labelbox}) and two lengths -(\cmd{oldwd} and \cmd{oldht}) as scratch variables. Furthermore, -before changing the width and height of action symbols, the old values -are saved in \cmd{oldwd} and \cmd{oldht}, respectively. The new width -and height of action symbols accomodate for white space around the -action label by using the \mscpack{} length \cmd{labeldist}. After -changing the lengths, the action is drawn using the normal -\cmd{action} command. Finally, the old values of \cmd{actionwidth} and -\cmd{actionheight} are restored. - - -\newsavebox{\labelbox} -\newlength{\oldwd} -\newlength{\oldht} -\newcommand{\Action}[2]{% - \setlength{\oldwd}{\actionwidth}% - \setlength{\oldht}{\actionheight}% - \savebox{\labelbox}{#1}% - \setlength{\actionwidth}{\wd\labelbox + 2\labeldist}% - \setlength{\actionheight}{\ht\labelbox + \dp\labelbox + 2\labeldist}% - \action{\usebox{\labelbox}}{#2}% - \setlength{\actionwidth}{\oldwd}% - \setlength{\actionheight}{\oldht}% -} - -Figure~\ref{fig:resizing:action} shows the effect of automatic -resizing action symbols. Instance~$i$ has automically resizing -action. The actions of instance~$j$ are normal actions that show the -new \cmd{Action} command changes the size of one action symbol -only. The source of this diagram is given below. - -\begin{figure}[htb] -\begin{center} -\begin{msc}{small action} -\declinst{i}{$i$}{} -\declinst{j}{$j$}{} -\action{A}{j} -\Action{\parbox{1cm}{\centering Do it now}}{i} -\nextlevel[2] -\action{B}{j} -\nextlevel[2] -\end{msc} -\end{center} - -\caption{Automatic resizing action symbol} -\label{fig:resizing:action} -\end{figure} - - -{ -\small -\begin{verbatim} -\begin{msc}{small action} -\declinst{i}{$i$}{} -\declinst{j}{$j$}{} -\action{A}{j} -\Action{\parbox{1cm}{\centering Do it now}}{i} -\nextlevel[2] -\action{B}{j} -\nextlevel[2] -\end{msc} -\end{verbatim} -} - - \bibliographystyle{plain} \bibliography{biblio} diff --git a/Master/texmf-dist/tex/latex/msc/msc.sty b/Master/texmf-dist/tex/latex/msc/msc.sty index 6cf2b0e2ef7..944e133ed9f 100644 --- a/Master/texmf-dist/tex/latex/msc/msc.sty +++ b/Master/texmf-dist/tex/latex/msc/msc.sty @@ -1,43 +1,46 @@ %% MSC Macro Package -%% file msc.sty -%% LaTeX macros to draw message sequence charts +%% msc.sty +%% June 2, 2008 %% -%% -%% Copyright 2002 V. Bos and S. Mauw +%% Copyright 2008 V. Bos, T. van Deursen, and S. Mauw % -% This program may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.2 +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. - +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is T. van Deursen. +% % This program consists of the files % msc.sty % manual.tex -% manual.ps +% manual.pdf % refman.tex -% refman.ps +% refman.pdf % biblio.bib % maintenance.tex -% maintenance.ps +% maintenance.pdf % README % COPYRIGHT - -% Address: -% Eindhoven University of Technology -% P.O. Box 513 -% 5600 MB Eindhoven -% The Netherlands -% Email: sjouke@win.tue.nl, vbos@abo.fi -% Updates via: http://www.win.tue.nl/~sjouke/mscpackage.html -% and via CTAN directory: macros/latex/contrib/msc/ % -% RCS version: $Id: msc.sty,v 1.15 2004/03/15 11:58:33 vbos Exp $ + +% Contact address: +% Ton van Deursen +% Universit\'e du Luxembourg +% Facult\'e des Sciences, de la Technologie et de la Communication +% 6, rue Richard Coudenhove-Kalergi +% L-1359 Luxembourg +% Email: ton.vandeursen@uni.lu +% Updates via: http://satoss.uni.lu/mscpackage/ % -\def\mscdate{2004/03/15}% update this whenever this file changes -\def\mscversion{1.14}% update this whenever a new version is ready + +\def\mscdate{2008/06/02}% update this whenever this file changes +\def\mscversion{1.16}% update this whenever a new version is ready \NeedsTeXFormat{LaTeX2e}% \ProvidesPackage{msc}[\mscdate, v\mscversion] \typeout{msc version \mscversion. (\mscdate)} @@ -1450,7 +1453,8 @@ }% }% \rput[\msc@labelrefpoint](\tmp@X,-\tmp@Y){\mess@labeltext}% - \pscircle[fillstyle=solid,fillcolor=\msc@circlefillstyle]% + \edef\msc@scratch{\msc@circlefillstyle}% + \pscircle[fillstyle=solid,fillcolor=\msc@scratch]% (\tmp@Xc,-\tmp@Ya){\lostsymbolradius} \rput[\msc@gaterefpoint](\tmp@Xd,-\tmp@Ya){\mess@gate}% }% @@ -1719,7 +1723,8 @@ \setlength{\tmp@Xb}{\tmp@Xa+\instwidth}% \setlength{\tmp@Yb}{#2 + \instfootheight}% \ifthenelse{\equal{\msc@instfoot}{yes}}{ - \psframe[dimen=middle,fillstyle=solid,fillcolor=\msc@instfootcolor{#1},linestyle=\msc@instlinestyle{#1}](\tmp@Xa,-\tmp@Ya)(\tmp@Xb,-\tmp@Yb)% + \edef\msc@scratch{\msc@instfootcolor{#1}}% + \psframe[dimen=middle,fillstyle=solid,fillcolor=\msc@scratch,linestyle=\msc@instlinestyle{#1}](\tmp@Xa,-\tmp@Ya)(\tmp@Xb,-\tmp@Yb)% }{% else, no foot symbol drawing% } } @@ -1746,8 +1751,22 @@ % % \action puts an action symbol on the instance with nickname #2. % The action symbol will be placed on the current level and the text #1 -% is centered inside the action symbol. -\def\action#1#2{% +% is centered inside the action symbol. The starred version adjusts the width +% and height of the action symbol +\def\action{\@ifstar{\msc@actionstar}{\msc@actionnostar}} + +\def\msc@actionstar#1#2{ + \setlength{\tmp@Xc}{\actionwidth}% + \setlength{\tmp@Yc}{\actionheight}% + \savebox{\tmp@box}{#1} + \setlength{\actionwidth}{\wd\tmp@box + 2\labeldist} + \setlength{\actionheight}{\ht\tmp@box + \dp\tmp@box +2\labeldist} + \msc@actionnostar{\usebox{\tmp@box}}{#2}% + \setlength{\actionwidth}{\tmp@Xc}% + \setlength{\actionheight}{\tmp@Yc}% +} + +\def\msc@actionnostar#1#2{% \expandafter\@ifundefined{mscinst#2}{% \msc@instundefinederr{#2}}{% else, #2 is defined % first, draw the instance line as far as possible @@ -1771,6 +1790,7 @@ \msc@setinstypos{#2}{\the\tmp@Y}% }% } + % % \stop ends the instance with nickname #1. \def\stop#1{% @@ -1803,14 +1823,34 @@ } % % -% \condition puts a condition symbol over the given instances +% \condition puts a condition symbol over the given instances. The +% starred version adjusts the width and the height of the condition symbol. % #1: name to be put inside the condition symbol % #2: comma-separated list of instance nicknames, such that: % - The first instance nickname is supposed to be the leftmost % instance of the condition % - The last instance nickname is supposed to be the rightmost % instance of the condition -\def\condition#1#2{% +\def\condition{\@ifstar{\msc@conditionstar}{\msc@conditionnostar}} + +\def\msc@conditionstar#1#2{ +% \message{(msc: conditionheight: \msc@conditionheight, actionheight: \msc@actionheight)} + \setlength{\tmp@Xd}{\conditionoverlap}% + \setlength{\tmp@Yd}{\conditionheight}% + \savebox{\tmp@box}{#1} + \setlength{\conditionoverlap}{.5\wd\tmp@box + \labeldist} + \setlength{\conditionheight}{\ht\tmp@box + \dp\tmp@box + 2\labeldist} + \msc@conditionnostar{\usebox{\tmp@box}}{#2} +% \settowidth{\conditionoverlap}{#1}% +% \setlength{\conditionoverlap}{.5\conditionoverlap} +% \settoheight{\conditionheight}{\rule{0pt}{\tmp@Yd-1ex} #1}% +% \addtolength{\conditionheight}{1ex} +% \msc@conditionnostar{#1}{#2}% + \setlength{\conditionoverlap}{\tmp@Xd}% + \setlength{\conditionheight}{\tmp@Yd}% +} + +\def\msc@conditionnostar#1#2{ \def\msc@conditiontext{#1}% \def\msc@firstconditioninst{undefined}% \def\msc@lastconditioninst{undefined}% @@ -2012,7 +2052,7 @@ \rput[b](\tmp@Xb,-\tmp@Ya){\usebox{\tmp@box}} }{ \ifthenelse{\equal{#1}{bl}} - {%tl: + {%bl: \setlength{\tmp@X}{\msc@instlxpos{#3}} \setlength{\tmp@Xa}{\tmp@X - \markdist} \setlength{\tmp@Xb}{\tmp@Xa - \wd\tmp@box - 2\labeldist} @@ -2024,7 +2064,7 @@ \rput[b](\tmp@Xb,-\tmp@Ya){\usebox{\tmp@box}} }{ \ifthenelse{\equal{#1}{tr}} - {%bl: + {%tr: \setlength{\tmp@X}{\msc@instrxpos{#3}} \setlength{\tmp@Xa}{\tmp@X + \markdist} \setlength{\tmp@Xb}{\tmp@Xa + \wd\tmp@box + 2\labeldist} @@ -2036,7 +2076,7 @@ \rput[b](\tmp@Xb,-\tmp@Ya){\usebox{\tmp@box}} }{ \ifthenelse{\equal{#1}{br}} - {%tl: + {%br: \setlength{\tmp@X}{\msc@instrxpos{#3}} \setlength{\tmp@Xa}{\tmp@X + \markdist} \setlength{\tmp@Xb}{\tmp@Xa + \wd\tmp@box + 2\labeldist} @@ -2396,8 +2436,8 @@ {% DEBUG: use this \fbox stuf to check the bounding box \setlength{\fboxrule}{0.01pt}% \setlength{\fboxsep}{1pt}% - \color{white}\fbox{% - \scalebox{\mscscalefactor}{\raisebox{\msc@totalheight}[\msc@totalheight][0pt]{\usebox{\mscbox}}}% + \color{white}\mbox{% + \psscalebox{\mscscalefactor}{\raisebox{\msc@totalheight}[\msc@totalheight][0pt]{\usebox{\mscbox}}}% }% }% \message{)}% -- cgit v1.2.3