#### 4.3.3 Navigating the program reference

Suppose we want to move the fingering indication in the fragment below:

    c-2
    \stemUp
    f

If you visit the documentation of `Fingering` (in Fingering instructions), you will notice that there is written:

> ##### See also

> Program reference: FingerEvent and Fingering.

This fragments points to two parts of the program reference: a page on `FingerEvent` and on `Fingering`.

The page on `FingerEvent` describes the properties of the music expression for the input `-2`. The page contains many links forward. For example, it says

> Accepted by: Fingering_engraver,

That link brings us to the documentation for the Engraver, the plug-in, which says

> This engraver creates the following layout objects: Fingering.

In other words, once the `FingerEvent`s are interpreted, the `Fingering_engraver` plug-in will process them. The `Fingering_engraver` is also listed to create Fingering objects,

Lo and behold, that is also the second bit of information listed under See also in the Notation manual. By clicking around in the program reference, we can follow the flow of information within the program, either forward (like we did here), or backwards, following links like this:

- Fingering: Fingering objects are created by: Fingering_engraver
- Fingering_engraver: Music types accepted: fingering-event
- fingering-event: Music event type `fingering-event` is in Music objects of type FingerEvent

This path goes against the flow of information in the program: it starts from the output, and ends at the input event.

The program reference can also be browsed like a normal document. It contains a chapter on Music-definitions, on Translation, and the Backend. Every chapter lists all the definitions used, and all properties that may be tuned.

Read comments on this page, or add one. This page is for LilyPond-2.2.5 (stable-branch).