LilyPond Contributor's Guide: 5.4.3 Sectioning commands

### 5.4.3 Sectioning commands

The Notation Reference uses section headings at four, occasionally five, levels.

- Level 1: @chapter
- Level 2: @section
- Level 3: @subsection
- Level 4: @unnumberedsubsubsec
- Level 5: @subsubsubheading

The first three levels are numbered in HTML, the last two are not. Numbered sections correspond to a single HTML page in the split HTML documents.

The first four levels always have accompanying nodes so they can be referenced and are also included in the ToC in HTML.

Most of the manual is written at level 4 under headings created with

>     @node Foo
>     @unnumberedsubsubsec Foo

Level 3 subsections are created with

>     @node Foo
>     @subsection Foo

Level 4 headings and menus must be preceded by level 3 headings and menus, and so on for level 3 and level 2. If this is not what is wanted, please use:

>     @subsubsubheading Foo

Please leave two blank lines above a `@node`; this makes it easier to find sections in texinfo.

Do not use any `@` commands for a `@node`. They may be used for any `@sub...` sections or headings however.

>     not:
>     @node @code{Foo} Bar
>     @subsection @code{Foo} Bar

>     but instead:
>     @node Foo Bar
>     @subsection @code{Foo} Bar

No punctuation may be used in the node names. If the heading text uses punctuation (in particular, colons and commas) simply leave this out of the node name and menu.

>     @menu
>     * Foo Bar::
>     @end menu

>     @node Foo Bar
>     @subsection Foo: Bar

Backslashes must not be used in node names.

>     @menu
>     * The set command
>     @end menu

>     @node The set command
>     @subsection The @code{\set} command

With the exception of `@` commands, `\` commands and punctuation, the section name should match the node name exactly.

Sectioning commands (`@node` and `@section`) must not appear inside an `@ignore`. Separate those commands with a space, ie `@n` `ode`.

Nodes must be included inside a

>     @menu
>     * foo::
>     * bar::
>     @end menu

construct. These can be constructed automatically: see Regenerating menus.

#### LilyPond — Contributor’s Guide v2.24.4 (stable-branch).