3.2.3 Creating footnotes

There are two types of footnotes that can be created; automatic footnotes and manual footnotes.


Footnotes overview

Automatic footnotes create incrementing, numerical indicators and manual footnotes allow a custom indicator to be created instead. All grobs, top-level \markup and chorded notes can be annotated.

The order in which each grob is drawn determines the order in which each indicator and so footnotes are created during compilation.


Automatic footnotes

Automatic footnotes take three arguments; the Layout Object to be annotated, the ‘(x . y)’ position of the indicator and a \markup that will appear in the footnote at the bottom of the page.

The command \footnote must come before the grob that the footnote is being attached to:

\book {
  \header { tagline = ##f }
  \relative c' {
    \footnote #'(0.5 . -2) #'NoteHead
      \markup { The first note }
    a'4 b8
    \footnote #'(0.5 . 1) #'NoteHead
      \markup { The third note }
    e c4 d4
  }
}

[image of music]

To annotate chorded notes, the \footnote must come after the note to which the footnote is being attached as a TextScript:

\book {
  \header { tagline = ##f }
  \relative c' {
    <
    c-\footnote #'(1 . -1.25) "Here is a C"
    es-\footnote #'(2 . -0.25) \markup { \italic "An E-flat" }
    g-\footnote #'(2 . 3) \markup { \bold "This is a G" }
    >1
  }
}

[image of music]

Note: When footnotes have the same vertical position, the footnotes are printed in order of descendancy; the higher the footnote, the higher up in the list.

Here are some more examples of footnoted grobs, also showing the relative position of the footnotes to the tagline and copyright.

\book {
  \header { copyright = \markup { "Copyright 1970" } }
  \relative c' {
    \footnote #'(-3 . 0) #'DynamicText
      \markup { \bold Forte }

    \footnote #'(0 . 1.5) #'Slur
      \markup { A slur }
    a'4\f(

    \footnote #'(0 . -2) #'Beam
      \markup { Beam }
    b8)[ e]

    \footnote #'(1 . -1) #'Stem
      \markup  { \teeny { This is a stem } }
    c4

    \footnote #'(0 . 0.5) #'AccidentalCautionary
      \markup \italic { A cautionary accidental }

    \footnote #'(0.5 . -0.5) #'TextScript
      \markup \italic { Slow Down }
    dis?4_"rit."
  }
}

[image of music]

For top-level \markup, the \auto-footnote command is required:

\book {
  \header { tagline = ##f }
  \markup { \auto-footnote "A simple tune" \italic "By me" }
  \relative c' {
    a'4 b8 e c4 d
  }
}

[image of music]


Manual footnotes

Manual footnotes takes four arguments; the Layout Object to be annotated, the ‘(x . y)’ position of the indicator and two \markup commands; the first is the indicator attached to the note or grob and the second is the footnote at the bottom of the page.

Like automatic footnotes, manual \footnote commands must come before the grob that the footnote is annotating and attached as a TextScript:

\book {
  \header { tagline = ##f }
  \relative c' {
    a'4-\footnote
          "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. The first note" }
    b8
    e-\footnote
          \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. The second note"
    c4
    d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano"
  }
}

[image of music]

To annotate chorded notes with manual footnotes:

\book {
  \header { tagline = ##f }
  \relative c' {
    <
    c-\footnote "1" #'(1 . -1.25) "1. C"
    es-\footnote
       \markup { \bold "b" } #'(2 . -0.25) "b. E-flat"
    g-\footnote "3" #'(2 . 3) \markup { \italic "iii. G" }
    >1
  }
}

[image of music]

Note: When footnotes have the same vertical position, the footnotes are printed in order of descendancy; the higher the footnote, the higher up in the list.

Here are some examples of manually footnoted grobs, also showing the relative position of the footnotes to the tagline and copyright

\book {
  \header { tagline = ##f }
  \relative c' {
    \footnote
      \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
      \markup { 1. \bold Forte }

    \footnote
      \markup { \teeny b } #'(0 . 1.5) #'Slur
      \markup { b. A slur }
    a'4\f(

    \footnote
      \markup { \teeny 3 } #'(0 . -2) #'Beam
      \markup { 3. Beam }
    b8)[ e]

    \footnote
      \markup { 4 } #'(1 . -1) #'Stem
      \markup  { \bold 4. { This is a stem } }
    c4

    \footnote
      \markup \concat \teeny { "sharp (v)" }
          #'(0 . 0.5) #'AccidentalCautionary
      \markup \italic { v. A cautionary accidental }

    \footnote
      \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
      \markup \italic { a. Slow Down }
    dis?4_"rit."

    \breathe
    \footnote
      \markup { \teeny \musicglyph #"rests.4" }
          #'(1.5 . -0.25) #'BreathingSign
      \markup { \null }
  }
}

[image of music]

To manually footnote a top-level \markup:

\book {
  \header { tagline = ##f }
  \markup { "A simple tune" \footnote "*" \italic "* By me" }
  \relative c' {
    a'4 b8 e c4 d4
  }
}

[image of music]

See also

Learning Manual: Objects and interfaces.

Notation Reference: Balloon help, Page layout, Text marks, Text scripts, Titles and headers.

Internals Reference: FootnoteEvent, FootnoteItem, FootnoteSpanner, Footnote_engraver.

Known issues and warnings

Multiple footnotes for the same page can only be stacked, one on top of the other, and cannot be printed on the same line. Footnotes cannot be attached to MultiMeasureRests and may collide with Staff, \markup objects and other footnote annotations. When using any manual footnote command a \paper block containing footnote-auto-number = ##f is required.


Jiné jazyky: deutsch, español, français, italiano, 日本語.
About automatic language selection.

LilyPond — Notation Reference