Changing defaults - GNU LilyPond
Description: GNU LilyPond

Next: Global issues, Previous: Advanced notation, Up: Top

## 9 Changing defaults

The purpose of LilyPond's design is to provide the finest output quality as a default. Nevertheless, it may happen that you need to change this default layout. The layout is controlled through a large number of proverbial “knobs and switches.” This chapter does not list each and every knob. Rather, it outlines what groups of controls are available and explains how to lookup which knob to use for a particular effect.

The controls available for tuning are described in a separate document, the Program reference. That manual lists all different variables, functions and options available in LilyPond. It is written as a HTML document, which is available on-line, but is also included with the LilyPond documentation package.

There are four areas where the default settings may be changed:

- Automatic notation: changing the automatic creation of notation elements. For example, changing the beaming rules.
- Output: changing the appearance of individual objects. For example, changing stem directions or the location of subscripts.
- Context: changing aspects of the translation from music events to notation. For example, giving each staff a separate time signature.
- Global layout: changing the appearance of the spacing, line breaks, and page dimensions. These modifications are discussed in Global issues.

Internally, LilyPond uses Scheme (a LISP dialect) to provide infrastructure. Overriding layout decisions in effect accesses the program internals, which requires Scheme input. Scheme elements are introduced in a `.ly` file with the hash mark `#`.1

#### Footnotes

[1] Scheme tutorial contains a short tutorial on entering numbers, lists, strings, and symbols in Scheme.

This page is for LilyPond-2.8.8 (stable-branch).

Other languages: English.
Using automatic language selection.