This version the result of a complete rewrite of the package. The main difference is that the package is now implemented in TikZ instead of PSTricks, making it compatible with pdfLaTex and beamer. In addition the syntax has been slightly extended. It now supports the specification of all options as a comma separated list in square brackets, while remaining backward compatible. All lengths are now stored using pgfkeys. As a result it is possible to change sizes of shapes individually. Support for colors is added.
This version fixes bugs related to topheaddist, firstlevelheight, instheight, and gatesymbolradius. It improves the condition* and action* implementations and adds the possibility to cross out a condition or action box. A create command with no incoming arrow is added and an alternative stop symbol can be used to terminate instances.
This version fixes an old error involving the scalebox macro of the PSTricks package. Also, the action and 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.
We developed a LaTeX macro package for drawing Message Sequence Charts. Version 2.00 of this package is now publicly available. We have written a user manual. The manual describes the design and use of the package, including installation instructions and examples.
This package should be useful to all people that prepare their texts with LaTeX and want to easily draw MSCs in their texts. This is not an MSC editor. It simply takes a textual description of an MSC and draws the corresponding MSC.
The current version of the MSC macro package supports the full MSC2000 language.
In order to use the MSC macro package you need LaTeX2e.
Feel free to use the package. If you appreciate it, send us a message. It may influence the amount of time that we spend on upgrading the package. We also welcome any input for the bug list and the wish list.
If you have used our package at your benefit for writing a scientific paper, please consider to give us credits by referencing the following publication:
@article{MB02, author = {Sjouke Mauw and Victor Bos}, title = {Drawing {M}essage {S}equence {C}harts with {\LaTeX}}, journal = {TUGBoat}, year = 2001, volume = 22, number = {1-2}, pages = {87--92}, month = {March/June} }
Authors: Victor Bos, Ton van Deursen, and Sjouke Mauw
Below you will find a simple example of the use of the MSC macro package. The figure contains the MSC generated by the enclosed LaTeX code. You will probably be able to understand this without further explanation. For an explanation consult the manual.
\documentclass{standalone} \usepackage{msc} \begin{document} \begin{msc}{Example} \declinst{usr}{User}{} \declinst{m1}{Machine 1}{control} \declinst{m2}{Machine 2}{drill} \declinst{m3}{Machine 3}{test} \mess{startm1}{usr}{m1} \nextlevel \mess{startm2}{m1}{m2} \nextlevel \mess{continue}{m2}{m3} \mess{log}{m1}{envleft} \nextlevel \mess{output}{m3}{usr}[2] \nextlevel \mess{free}{m1}{usr} \nextlevel \end{msc} \end{document}