5 Changing defaults

The purpose of LilyPond’s design is to provide the finest quality output by default. Nevertheless, it may happen that you need to change this default layout. The layout is controlled through a large number of ‘knobs and switches’ collectively called properties. A tutorial introduction to accessing and modifying these properties can be found in the Learning Manual, see Tweaking output. This should be read first. This chapter covers similar ground, but in a style more appropriate to a reference manual.

The definitive description of the controls available for tuning can be found in a separate document: the Internals Reference. That manual lists all the variables, functions, and options available in LilyPond.

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 ‘#’.10


Footnotes

(10)

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

LilyPond Notation Reference v2.25.22 (development-branch).