In this section we explain how Msc-generator sets the vertical space between
elements. It can apply a set amount of vertical space or can use the
compression mechanism. The latter aims to reduce the height of
chart graphics by vertically pushing chart elements closer to each other.
See the two examples below copied from the end of Defining Arrows.
They differ only in that the second begins with compress=yes.
![]() | ![]() |
Each element (except entities) has a compress and a vspacing
attribute. When the former is set to
yes, the element is first placed fully under the element before it, then
it is shifted upwards until it bumps into some already drawn element. The same
effect can be achieved by using vspacing=compress. If compression is not
used the element is placed below the previous element by the value of the
vspacing attribute (understood in pixels). E.g., using vspacing=10
adds 10 pixels between the element and the element before it. The
vspacing attribuite is the superset of the compress attribute,
setting compress to yes or to no is equivalent to
vspacing=compress and vspacing=0, respectively.
Compression and vertical spacing can be set individually for each element,
but to save typing by
setting the compress or vspacing chart option, you can effectively set the
compress or vspacing attribute of all elements after.
This is similar, how the
numbering chart option effects the number attribute. If you then
want to exempt specific elements from compression or add more space individually
(so that they are somewhat further from the element above),
just specify the compress or vspacing attribute for
the element in question.
Styles can also influence compression and vertical spacing
the same way as numbering, that is you can
set the compress or vspacing options for a style,
which will effect compression and vertical spacing of elements
you assign the style to.
Note that to insert extra vertical spacing you can also use the
vspace command, see Spacing.