### 2.2.7 Bar_engraver

Create barlines. This engraver is controlled through the `whichBar` property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.

Properties (read)

> `whichBar` (string)

>   This property is read to determine what type of bar line to create.

>   Example:

>   >     \set Staff.whichBar = ".|:"

>   This will create a start-repeat bar in this staff only. Valid values are described in ‘`scm/bar-line.scm`’.

Properties (write)

> `forbidBreak` (boolean)

>   If set to `#t`, prevent a line break at this point.

This engraver creates the following layout object(s):

BarLine.

`Bar_engraver` is part of the following context(s): DrumStaff, Dynamics, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.

#### Internals Reference v2.18.2 (稳定分支).