### 11.7 Chart Options and Commands ¶

You can set the following chart options by simply adding `<option>=<value>` to the chart at any place. All of them can be made part of designs (with the exception of `numbering.append`).

`numbering`
`numbering.*`

  These options control automatic numbering and are described in Numbering.

`text.*`

  These attributes can be used to set the default font in the chart. See Text Formatting Attributes.

`background.color`
`background.color2`
`background.gradient`

  These can be used to set the background fill of the diagram. You can specify them at any point during the diagram specification - the last setting will be used.

`conflict_report`

  This option can be used to set the report level of alignment conflicts, see Block Layout Conflicts. You can set it multiple times and it honours scoping - its effect lasts until the next closing brace.

`pedantic`

  When set to `no` any block mentioned in an attribute update or arrow that has not yet been defined, will be automatically created. This prevents forward refrencing blocks in arrow definitions, but is handy to quickly define a lot of blocks. See Block Types and Definition.

Block diagrams support the generic `defcolor`, `defstyle` and `defshape` commands to define colors, styles and shapes, respectively (see Specifying Colors, Defining Styles, Defining Shapes); `usedesign <design_name>;` to apply a design (both full or partial designs); `include` to include another text file (see File Inclusion); and `defproc`, `replay` and `if` commands to define and use procedures (see Procedures). These are all generic commands available also in signalling charts and graphs (with some minor variations).

In addition to the commands, Block Diagrams support another command: `use`. After `use` you can specify a list of attributes, the same way as for any chart element (but you do not need the square brackets). This has an effect of applying the listed attributes on all subsequent blocks and arrows (until the scope ends, see Scoping). This allows a quick shorthand to save typing. The feature is implemented via a hidden running style, which is applied to all newly defined blocks or arrows after the default and enhancement styles, but before the explicit attributes. Thus the values you set this way can override default and enhancement style values, but can be overridden by explicitly specified attributes. Note that you can list styles after use, for example, `use col;` will apply the `col` style to any subsequent elements, making blocks align from top to bottom.