11.4.3 Content placement inside another block

There are two more attributes governing alignment. By default a block is just as big as needed to contain its contained blocks. However, we can specify an explicit size larger than this; it may have a very large label that makes it bigger than its content; or its sides may be aligned so that it ends up being larger. In this case the content.x and content.y attributes govern, how the contained blocks are placed inside. They can take the following values: left/top, center/middle, right/bottom or justify.

If you specify justify the blocks that are laid out in relation to their previous or next block will not necessarily "stick" to that previous or next block. Additional space may be added to have a justified layout inside the parent. It may sound complicated, but in most practical cases it just works.

exD8_cshexD8

Inside a shape the content is placed into the area specified by the T command (used for labels in signalling charts). The whole shape will be sized to be able to contain its contained blocks. On the figure below, we define a simple triangular shape with fill (the part after S 0;) on the area, where content can go (the box designated at the last line)

exD9_cshexD9

Note that apart from sizing containers appropriately Msc-generator makes no attempt to avoid overlaps. Blocks go where you specify them and if they overlap they are simply drawn like that.