[ << General input and output ] | [Top][Contents][Index] | [ Spacing issues >> ] |
[ < Creating output file metadata ] | [ Up : Titles and headers ] | [ Footnotes in music expressions > ] |
3.3.4 Creating footnotes
Footnotes may be used in many different situations. In all cases,
a ‘footnote mark’ is placed as a reference in text or music, and
the corresponding ‘footnote text’ appears at the bottom of the
same page, separated from the music by a horizontal line.
The appearance of this separator can be changed by setting the paper
variable footnote-separator-markup
, see
\paper
variables concerning headers and markups.
Footnotes within music expressions and footnotes in stand-alone text outside music expressions are created in different ways.
Footnotes in music expressions | ||
Footnotes in stand-alone text |
[ << General input and output ] | [Top][Contents][Index] | [ Spacing issues >> ] |
[ < Creating footnotes ] | [ Up : Creating footnotes ] | [ Footnotes in stand-alone text > ] |
Footnotes in music expressions
Music footnotes overview
Footnotes in music expressions fall into two categories:
- Event-based footnotes
are attached to a particular event. Examples for such events are single notes, articulations (like fingering indications, accents, dynamics), and post-events (like slurs and manual beams). The general form for event-based footnotes is as follows:
[direction] \footnote [mark] offset footnote music
- Time-based footnotes
are bound to a particular point of time in a musical context. Some commands like
\time
and\clef
don’t actually use events for creating objects like time signatures and clefs. Neither does a chord create an event of its own: its stem or flag is created at the end of a time step (nominally through one of the note events inside). Exactly which of a chord’s multiple note events will be deemed the root cause of a stem or flag is undefined. So for annotating those, time-based footnotes are preferable as well.A time-based footnote allows such layout objects to be annotated without referring to an event. The general form for time-based footnotes is:
\footnote [mark] offset footnote [Context].GrobName
The elements for both forms are:
- direction
If (and only if) the
\footnote
is being applied to a post-event or articulation, it must be preceded with a direction indicator (‘-’, ‘_’, ‘^’) in order to attach music (with a footnote mark) to the preceding note or rest.- mark
-
is a markup or string specifying the footnote mark which is used for marking both the reference point and the footnote itself at the bottom of the page. It may be omitted (or equivalently replaced with
\default
) in which case a number in sequence will be generated automatically. By default, such numerical sequences restart on each page containing a footnote. Footnotes may be numbered consecutively across page beaks by setting the variablereset-footnotes-on-new-page
to#f
, see\paper
variables concerning headers and markups. - offset
is a number pair such as ‘#(2 . 1)’ specifying the X and Y offsets in units of staff spaces from the boundary of the object where the mark should be placed. Positive values of the offsets are taken from the right/top edge, negative values from the left/bottom edge and zero implies the mark is centered on the edge.
- Context
is the context in which the grob being footnoted is created. It may be omitted if the grob is in a bottom context, e.g., a
Voice
context.- GrobName
specifies a type of grob to mark (like ‘Flag’). If it is specified, the footnote is not attached to a music expression in particular, but rather to all grobs of the type specified which occur at that moment of musical time.
- footnote
is the markup or string specifying the footnote text to use at the bottom of the page.
- music
is the music event or post-event or articulation that is being annotated.
Event-based footnotes
A footnote may be attached to a layout object directly caused by the event corresponding to music with the syntax:
\footnote [mark] offset footnote music
\book { \header { tagline = ##f } \relative c'' { \footnote #'(-1 . 3) "A note" a4 a4 \footnote #'(2 . 2) "A rest" r4 a4 } }
Marking a whole chord with an event-based footnote is not possible: a chord, even one containing just a single note, does not produce an actual event of its own. However, individual notes inside of the chord can be marked:
\book { \header { tagline = ##f } \relative c'' { \footnote #'(2 . 3) "Does not work" <a-3>2 <\footnote #'(-2 . -3) "Does work" a-3>4 <a-3 \footnote #'(3 . 1/2) "Also works" c-5>4 } }
If the footnote is to be attached to a post-event or articulation
the \footnote
command must be preceded by a direction
indicator (‘-’, ‘_’, ‘^’), and followed by the
post-event or articulation to be annotated as the music
argument. In this form the \footnote
can be considered to
be simply a copy of its last argument with a footnote mark attached
to it. The syntax is:
direction \footnote [mark] offset footnote music
\book { \header { tagline = ##f } \relative { a'4_\footnote #'(0 . -1) "A slur forced down" ( b8^\footnote #'(1 . 0.5) "A manual beam forced up" [ b8 ] c4 ) c-\footnote #'(1 . 1) "Tenuto" -- } }
Time-based footnotes
If the layout object being footmarked is indirectly caused by
an event (like an Accidental
or Stem
caused by a
NoteHead
event), the GrobName of the layout object
is required after the footnote text instead of music:
\book { \header { tagline = ##f } \relative c'' { \footnote #'(-1 . -3) "A flat" Accidental aes4 c \footnote #'(-1 . 0.5) "Another flat" Accidental ees \footnote #'(1 . -2) "A stem" Stem aes } }
Note, however, that when a GrobName is specified, a footnote is attached to all grobs of that type at the current time step:
\book { \header { tagline = ##f } \relative c' { \footnote #'(-1 . 3) "A flat" Accidental <ees ges bes>4 \footnote #'(2 . 0.5) "Articulation" Script c'->-. } }
A note inside of a chord can be given an individual (event-based)
footnote. A ‘NoteHead’ is the only grob directly caused
from a chord note, so an event-based footnote command is
only suitable for adding a footnote to the ‘NoteHead’
within a chord. All other chord note grobs are indirectly caused.
The \footnote
command itself offers no syntax for
specifying both a particular grob type as well as a
particular event to attach to. However, one can use a time-based
\footnote
command for specifying the grob type, and then
prefix this command with \single
in order to have it
applied to just the following event:
\book { \header { tagline = ##f } \relative c'' { < \footnote #'(1 . -2) "An A" a \single \footnote #'(-1 . -1) "A sharp" Accidental cis \single \footnote #'(0.5 . 0.5) "A flat" Accidental ees fis >2 } }
Note: When footnotes are attached to several musical elements at the same musical moment, as they are in the example above, the footnotes are numbered from the higher to the lower elements as they appear in the printed output, not in the order in which they are written in the input stream.
Layout objects like clefs and key change signatures are mostly caused as a consequence of changed properties rather than actual events. Others, like bar lines and bar numbers, are a direct consequence of timing. For this reason, footnotes on such objects have to be based on their musical timing. Time-based footnotes are also preferable when marking features like stems and beams on chords: while such per-chord features are nominally assigned to one event inside the chord, relying on a particular choice would be imprudent.
The layout object in question must always be explicitly specified for time-based footnotes, and the appropriate context must be specified if the grob is created in a context other than the bottom context.
\book { \header { tagline = ##f } \relative c'' { r1 | \footnote #'(-0.5 . -1) "Meter change" Staff.TimeSignature \time 3/4 \footnote #'(1 . -1) "Chord stem" Stem <c e g>4 q q \footnote #'(-0.5 . 1) "Bar line" Staff.BarLine q q \footnote #'(0.5 . -1) "Key change" Staff.KeySignature \key c \minor q } }
Custom marks can be used as alternatives to numerical marks, and the annotation line joining the marked object to the mark can be suppressed:
\book { \header { tagline = ##f } \relative c' { \footnote "*" #'(0.5 . -2) \markup { \italic "* The first note" } a'4 b8 \footnote \markup { \super "$" } #'(0.5 . 1) \markup { \super "$" \italic " The second note" } e c4 \once \override Score.Footnote.annotation-line = ##f b-\footnote \markup \tiny "+" #'(0.1 . 0.1) \markup { \super "+" \italic " Editorial" } \p } }
More examples of custom marks are shown in Footnotes in stand-alone text.
[ << General input and output ] | [Top][Contents][Index] | [ Spacing issues >> ] |
[ < Footnotes in music expressions ] | [ Up : Creating footnotes ] | [ Reference to page numbers > ] |
Footnotes in stand-alone text
These are for use in markup outside of music expressions. They do not have a line drawn to their point of reference: their marks simply follow the referenced markup. Marks can be inserted automatically, in which case they are numerical. Alternatively, custom marks can be provided manually.
Footnotes to stand-alone text with automatic and custom marks are created in different ways.
Footnotes in stand-alone text with automatic marks
The syntax of a footnote in stand-alone text with automatic marks is
\markup { … \auto-footnote text footnote … }
The elements are:
- text
the markup or string to be marked,
- footnote
the markup or string specifying the footnote text to use at the bottom of the page.
For example:
\book { \header { tagline = ##f } \markup { "A simple" \auto-footnote "tune" \italic " By me" "is shown below. It is a" \auto-footnote "recent" \italic " Aug 2012" "composition." } \relative { a'4 b8 e c4 d } }
Footnotes in stand-alone text with custom marks
The syntax of a footnote in stand-alone text with custom marks is
\markup { … \footnote mark footnote … }
The elements are:
- mark
is a markup or string specifying the footnote mark which is used for marking the reference point. Note that this mark is not inserted automatically before the footnote itself.
- footnote
is the markup or string specifying the footnote text to use at the bottom of the page, preceded by the mark.
Any easy to type character such as ‘*’ or ‘+’ may be used as a mark, as shown in Footnotes in music expressions. Alteratively, ASCII aliases may be used (see ASCII aliases):
\book { \paper { #(include-special-characters) } \header { tagline = ##f } \markup { "A simple tune" \footnote "*" \italic "* By me" "is shown below. It is a recent" \footnote \super † \concat { \super † \italic " Aug 2012" } "composition." } \relative { a'4 b8 e c4 d } }
Unicode character codes may also be used to specify marks (see Unicode):
\book { \header { tagline = ##f } \markup { "A simple tune" \footnote \super \char##x00a7 \concat { \super \char##x00a7 \italic " By me" } "is shown below. It is a recent" \footnote \super \char##x00b6 \concat { \super \char##x00b6 \italic " Aug 2012" } "composition." } \relative { a'4 b8 e c4 d } }
See also
Learning Manual: Objects and interfaces.
Notation Reference: ASCII aliases, Balloon help, List of special characters, Text marks, Text scripts, Unicode.
Internals Reference: FootnoteEvent, Footnote, Footnote_engraver.
Known issues and warnings
Multiple footnotes for the same page can only be stacked, one above the other; they cannot be printed on the same line.
Footnote marks may collide with staves, \markup
objects, other
footnote marks and annotation lines.
[ << General input and output ] | [Top][Contents][Index] | [ Spacing issues >> ] |
[ < Footnotes in music expressions ] | [ Up : Creating footnotes ] | [ Reference to page numbers > ] |