PlantUML uses [Graphviz](https://www.graphviz.org/) for its graph visualization. Thus the rendering itself is done automatically for you - that it one of the biggest advantages of using PlantUML.
C4-PlantUML comes with some layout options.
- [Layout Guidance and Practices](#layout-guidance-and-practices)
- [Overall Guidance](#overall-guidance)
- [Layout Practices](#layout-practices)
- [LAYOUT_TOP_DOWN() or LAYOUT_LEFT_RIGHT() or LAYOUT_LANDSCAPE()](#layout_top_down-or-layout_left_right-or-layout_landscape)
- [LAYOUT_WITH_LEGEND() or SHOW_LEGEND(?hideStereotype)](#layout_with_legend-or-show_legendhidestereotype)
- [SHOW_FLOATING_LEGEND(?alias, ?hideStereotype) and LEGEND()](#show_floating_legendalias-hidestereotype-and-legend)
- [LAYOUT_AS_SKETCH() and SET_SKETCH_STYLE(?bgColor, ?fontColor, ?warningColor, ?fontName, ?footerWarning, ?footerText)](#layout_as_sketch-and-set_sketch_stylebgcolor-fontcolor-warningcolor-fontname-footerwarning-footertext)
- [HIDE_STEREOTYPE()](#hide_stereotype)
- [HIDE_PERSON_SPRITE(), SHOW_PERSON_SPRITE(?sprite), SHOW_PERSON_PORTRAIT() and SHOW_PERSON_OUTLINE()](#hide_person_sprite-show_person_spritesprite-show_person_portrait-and-show_person_outline)
...and also sometimes one of the biggest disadvantages, if the rendering is not what the user intended.
## Layout Guidance and Practices
For this reason, C4-PlantUML also comes with some layout options.
PlantUML uses [Graphviz](https://www.graphviz.org/) for its graph visualization. Thus the rendering itself is done automatically for you - that it one of the biggest advantages of using PlantUML.
## Layout Guidance and Practices
...and also sometimes one of the biggest disadvantages, if the rendering is not what the user intended.
- [Element and Relationship properties](#element-and-relationship-properties)
- [Version information](#version-information)
- [Snippets for Visual Studio Code](#snippets-for-visual-studio-code)
- [Live Templates for IntelliJ](#live-templates-for-intellij)
- [Prerequisites](#prerequisites)
- [Install](#install)
- [Usage](#usage)
- [Advanced Samples](#advanced-samples)
- [techtribes.js](#techtribes.js)
- [Message Bus and Microservices](#message-bus-and-microservices)
- [Background](#background)
- [License](#license)
@ -506,7 +517,7 @@ Additional tags/stereotypes can be added to the existing element stereotypes (co
Each element can be extended with one or multiple custom tags via the keyword argument `$tags="..."`, like `Container(spaAdmin, "Admin SPA", $tags="v1.1")`.
Multiple tags can be combined with `+`, like `Container(api, "API", $tags="v1.0+v1.1")`.
**Element specific tag definitions**
### Element specific tag definitions
Sometimes an added element tag is element specific and all element specific colors should be used, e.g. a specific user role should be defined as element tag with the specific colors `...PERSON_...` like
```plantuml
@ -529,14 +540,14 @@ Following calls introduces new element tags with element specific default colors
**Sample with tag dependent sprites and custom legend text**
### Sample with tag dependent sprites and custom legend text
```plantuml
@startuml
@ -654,7 +665,7 @@ SHOW_LEGEND()

**Sample with different boundary tag combinations**
### Sample with different boundary tag combinations