Previous: Annotating the Chart, Up: Signalling Chart Language Tutorial [Contents]

### 4.7 Other Features

There are a few more features that are easy to use and can help in certain situations.

One useful feature is the numbering of labels. This is useful if you want to insert your chart into some documentation and later refer to individual arrows by number. By specifying the `numbering=yes` chart option all labels will get an auto-incremented number. This includes boxes and dividers, as well. You can individually turn numbering on or off by specifying the `number` attribute. You can set it to `yes` or `no`, or to a specific integer number. In the latter case the arrow will take the specified number and subsequent arrows will be numbered from this value. On the example below, we can observe that in case of parallel blocks the order of numbering corresponds to the order of the arrows in the source file.

Sometimes a block of actions would be best summarized by a block arrow. This can be achieved by typing ‘`block`’ in front of any arrow declaration.

Similar, many cases you want to express a tunnel between two entities and messages travelling through it. To achieve this, just type ‘`pipe`’ in front of any box definition. You can define a series of connected or disconencted pipe segment each with its own visual style or even encapsulate pipes. More on this in Pipes.

Adding a title to the chart is easy. Just type `title:` followed by the title text.

Another handy feature is multi-page support. This is useful when describing a single procedure in a document in multiple chunks. By inserting the `newpage;` command, the rest of the chart will be drawn to a separate file. You can specify as many pages, as you want. In order to display the entity headings again at the top of the new page, add the `auto_heading=yes` attribute. Breaking a page is possible even in the middle of a box, see the following example.

| Chunk one: Chunk two:

From version 3.3 you can draw arbitrary circles and rectangles onto the chart. They syntax is quite rich to allow free placement. You can even specify to draw below the entity lines or over other drawn elements. More detailed description can be found in Free Drawing, but here are a few examples.

Finally, an easy way to make charts visually more appealing is through the use of Chart Designs. A chart design is a collection of colors and visual style for arrows, boxes, entities and dividers. The design can be specified either on the command line after double dashes, or at the beginning of the chart by the `msc=<design>` line.

Currently several designs are supported. ‘`plain`’ was used as demonstration so far. Below we give an example of the others.

| The ‘`qsd`’ design:
The ‘`rose`’ design: | The ‘`mild_yellow`’ design:
The ‘`omegapple`’ design: | The ‘`modern_blue`’ design:
The ‘`round_green`’ design: | The ‘`green_earth`’ design:
The ‘`colores`’ design: | The ‘`black_on_white`’ design:
And the the ‘`norton_commander`’ tribute design.

Previous: Annotating the Chart, Up: Signalling Chart Language Tutorial [Contents]