Guide, node Updating translation committishes..
@end ignore
-@c \version "2.14.0"
+@c \version "2.19.2"
@node Vocal music
@section Vocal music
\lyricmode @{ lah lah lah @}
@end example
-@cindex overrides in lyric mode
-@funindex \override in \lyricmode
-
-Similarly, in lyric mode, a period will be included in the
-alphabetic sequence that it follows. As a consequence, spaces
-must be inserted around the period in @code{\override} commands.
-Do @emph{not} write
-
-@example
-\override Score.LyricText #'font-shape = #'italic
-@end example
-
-@noindent
-but instead use
-
-@example
-\override Score . LyricText #'font-shape = #'italic
-@end example
-
Punctuation, lyrics with accented characters, characters from
non-English languages, or special characters (such as the heart
symbol or slanted quotes), may simply be inserted directly
@funindex \addlyrics
@funindex \lyricsto
-Lyrics are printed by interpreting them in the context called
-@code{Lyrics}, see @ref{Contexts explained}.
+Lyrics are interpreted in @code{\lyricmode} and printed in a
+@code{Lyrics} context, see @ref{Contexts explained}.
@example
\new Lyrics \lyricmode @{ @dots{} @}
@end example
+Two variants of @code{\lyricmode} additionally set an associated
+context used to synchronise the lyric syllables to music. The more
+convenient @code{\addlyrics} immediately follows the musical content
+of the Voice context with which it should be synchronised, implicitly
+creating a Lyrics context of its own. The more versatile
+@code{\lyricsto} requires both specifying the associated Voice context
+by name and explicitly creating a containing Lyrics context. For
+details see @ref{Automatic syllable durations}.
+
Lyrics can be aligned with melodies in two main ways:
@itemize
when setting dialogue over music; for examples showing this, see
@ref{Dialogue over music}.
-When entered in this way the words are left-aligned to the notes
-by default, but may be center-aligned to the notes of a melody by
-specifying an associated voice, if one exists. For details, see
-@ref{Manual syllable durations}.
-
@end itemize
@seealso
@lilypond[quote,verbatim,relative=2]
<<
\new Voice = "melody" {
- a4 a a a
+ a1 a4. a8 a2
}
\new Lyrics \lyricsto "melody" {
These are the words
@code{Voice} context is specified first, followed by the
@code{Lyrics} context. The lyrics themselves follow the
@code{\lyricsto} command. The @code{\lyricsto} command
-invokes lyric mode automatically, so the @code{\lyricmode} keyword
-may be omitted. By default, the lyrics are placed underneath the
-notes. For other placements, see @ref{Placing lyrics vertically}.
+invokes lyric mode automatically. By default, the lyrics are placed
+underneath the notes. For other placements, see
+@ref{Placing lyrics vertically}.
@subheading Using @code{\addlyrics}
@end lilypond
The command @code{\addlyrics} cannot handle polyphonic settings.
+Also, it cannot be used to associate lyrics to a @code{TabVoice}.
For these cases one should use @code{\lyricsto}.
@subheading Using associatedVoice
but with pitches replaced by text -- and the duration of each
syllable is entered explicitly after the syllable.
-By default, syllables will be left-aligned to the corresponding
-musical moment. Hyphenated lines may be drawn between syllables
+Hyphenated lines may be drawn between syllables
as usual, but extender lines cannot be drawn when there is no
associated voice.
@lilypond[relative=1,verbatim,quote]
<<
\new Voice = "melody" {
- \time 3/4
- c2 e4 g2 f
+ c'2 a f f e e
}
\new Lyrics \lyricmode {
- play1 the4 game4
+ c4. -- a -- f -- f -- e2. -- e
}
>>
@end lilypond
This technique is useful when writing dialogue over music, see
@ref{Dialogue over music}.
-To center-align syllables on the notes at the corresponding musical
-moments, set @code{associatedVoice} to the name of the Voice context
-containing those notes. When @code{associatedVoice} is set, both
-double hyphens and double underscores can be used to draw
-hyphenated lines and extenders under melismata correctly.
+To change syllable alignment, simply override the @code{self-alignment-X}
+property:
@lilypond[relative=1,verbatim,quote]
<<
\new Voice = "melody" {
\time 3/4
- c2 e4 g f g
+ c2 e4 g2 f
}
\new Lyrics \lyricmode {
- \set associatedVoice = #"melody"
- play2 the4 game2. __
+ \override LyricText.self-alignment-X = #LEFT
+ play1 a4 game4
}
>>
@end lilypond
-@c TODO see also feature request 707 - show how to do this with manual durations
-
@seealso
Notation Reference:
@ref{Dialogue over music}.
quotes or use a @code{_} character. Alternatively, you can use
the tilde symbol (@code{~}) to get a lyric tie.
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,ragged-right,verbatim,relative=2]
{
- \relative c'' { \autoBeamOff
- r8 b c fis, fis c' b e, }
- \addlyrics { Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da }
+ { \autoBeamOff
+ r8 b c fis, fis c' b e,
+ }
+ \addlyrics
+ {
+ \override LyricHyphen.minimum-distance = #1.0 % Ensure hyphens are visible
+ Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da
+ }
\addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da }
\addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da }
}
@funindex \melisma
@funindex \melismaEnd
-Sometimes, particularly in Medieval music, several notes are to be
-sung on one syllable; such vocalises are called melismata, or
-@rglos{melisma}s. The syllable to a melisma is usually
+Sometimes, particularly in Medieval and baroque music, several notes are
+sung on one syllable; this is called melisma, see
+@rglos{melisma}. The syllable to a melisma is usually
left-aligned with the first note of the melisma.
-When a melisma occurs on a syllable other that the last one in a
+When a melisma occurs on a syllable other than the last one in a
word, that syllable is usually joined to the following one with a
hyphenated line. This is indicated by placing a double hyphen,
@w{@code{--}}, immediately after the syllable.
\new Voice = "melody" {
\time 3/4
f4 g2 ~ |
- g4 e2 ~ |
- e8
+ 4 e2 ~ |
+ 8
}
\new Lyrics \lyricsto "melody" {
Ky -- ri -- e __
>>
@end lilypond
+Note that phrasing slurs do not affect the creation of melismata.
+
@item
Notes are considered a melisma if they are manually beamed,
providing automatic beaming is switched off. See
>>
@end lilypond
-Note that this method cannot be used to indicate two melismata if
-the first one is immediately followed by another.
-
@item
A melisma can be defined entirely in the lyrics by entering a
single underscore character, @code{_}, for every extra note that has
\time 3/4
\set melismaBusyProperties = #'()
c4 d ( e )
- g8 [ f ] f4 ~ f
+ g8 [ f ] f4 ~ 4
}
\new Lyrics \lyricsto "melody" {
Ky -- ri -- e e -- le -- i -- son
\time 3/4
\set melismaBusyProperties = #'()
c4 d ( e )
- g8 [ f ] ~ f4 ~ f
+ g8 [ f ] ~ 4 ~ f
}
\new Lyrics \lyricsto "melody" {
Ky -- ri -- _ e __ _ _ _
* Placing syllables horizontally::
* Lyrics and repeats::
* Divisi lyrics::
+* Polyphony with shared lyrics::
@end menu
<<
\new Lyrics = "lyrics" \with {
% lyrics above a staff should have this override
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
}
\new Staff {
\new Voice = "melody" {
\new Lyrics = "sopranos"
\new Lyrics = "contraltos" \with {
% lyrics above a staff should have this override
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
}
\new Staff {
\new Voice = "contraltos" {
@end lilypond
Other combinations of lyrics and staves may be generated by
-elaborating these examples, or by examining the
-@rlearning{Vocal ensembles} templates in the Learning Manual.
+elaborating these examples, or by examining the templates in the
+Learning Manual, see @rlearning{Vocal ensembles templates}.
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
@seealso
Learning Manual:
-@rlearning{Vocal ensembles}.
+@rlearning{Vocal ensembles templates}.
Notation Reference:
@ref{Context layout order},
-@ref{Creating contexts}.
+@ref{Creating and referencing contexts}.
@node Placing syllables horizontally
@lilypond[relative=1,verbatim,quote,ragged-right]
{
c c c c
- \override Lyrics.LyricSpace #'minimum-distance = #1.0
+ \override Lyrics.LyricSpace.minimum-distance = #1.0
c c c c
}
\addlyrics {
\layout {
\context {
\Lyrics
- \override LyricSpace #'minimum-distance = #1.0
+ \override LyricSpace.minimum-distance = #1.0
}
}
}
feature can be disabled:
@example
-\override Score.PaperColumn #'keep-inside-line = ##f
+\override Score.PaperColumn.keep-inside-line = ##f
@end example
To make lyrics avoid bar lines as well, use
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
- \override BarLine #'transparent = ##t
+ \hide BarLine
@}
@}
@end example
-@c TODO Create and add lsr example of lyricMelismaAlignment
-@c It's used like this to center-align all lyric syllables,
-@c even when notes are tied. -td
-
-@ignore
-\layout
-{
- \context { \Score lyricMelismaAlignment = #0 }
-}
-@end ignore
-
-
@node Lyrics and repeats
@unnumberedsubsubsec Lyrics and repeats
}
@end lilypond
+@cindex alignBelowContext
+@funindex alignBelowContext
+
+However, if this construct is embedded within a multi-staved
+context such as a @code{ChoirStaff} the lyrics of the second and
+third verses will appear beneath the bottom staff.
+
+To position them correctly use @code{alignBelowContext}:
+
+@lilypond[verbatim,quote]
+\score {
+ <<
+ \new Staff {
+ \new Voice = "melody" {
+ \relative c'' {
+ a4 a a a
+ \repeat volta 3 { b4 b b b }
+ c4 c c c
+ }
+ }
+ }
+ \new Lyrics = "firstVerse" \lyricsto "melody" {
+ Not re -- peat -- ed.
+ <<
+ { The first time words. }
+ \new Lyrics = "secondVerse"
+ \with { alignBelowContext = #"firstVerse" } {
+ \set associatedVoice = "melody"
+ Sec -- ond time words.
+ }
+ \new Lyrics = "thirdVerse"
+ \with { alignBelowContext = #"secondVerse" } {
+ \set associatedVoice = "melody"
+ The third time words.
+ }
+ >>
+ The end sec -- tion.
+ }
+ \new Voice = "harmony" {
+ \relative c' {
+ f4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2
+ }
+ }
+ >>
+}
+@end lilypond
+
+
@c TODO positioning a common line of lyrics
}
@end lilypond
+It is common in choral music to have a voice part split for
+several measures. The @code{<< @{@dots{}@} \\ @{@dots{}@} >>}
+construct, where the two (or more) musical expressions are
+separated by double backslashes, might seem the proper way to
+set the split voices. This construct, however, will assign
+@strong{all} the expressions within it to @strong{NEW Voice
+contexts} which will result in @emph{no lyrics} being set for
+them since the lyrics will be set to the original voice context
+-- not, typically, what one wants. The temporary polyphonic
+passage is the proper construct to use, see section
+@emph{Temporary polyphonic passages} in @ref{Single-staff polyphony}.
+
+
+@node Polyphony with shared lyrics
+@unnumberedsubsubsec Polyphony with shared lyrics
+
+@cindex NullVoice
+@cindex polyphony, shared lyrics
+@cindex lyrics, shared among voices
+@cindex \partcombine and lyrics
+@funindex \partcombine
+
+When two voices with different rhythms share the same lyrics,
+aligning the lyrics to one of the voices may lead to problems in
+the other voice. For example, the second lyric extender below is
+too short, since the lyrics are aligned only to the top voice:
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+alto = \relative { g'2 b8( a g a) }
+words = \lyricmode { la __ la __ }
+
+\new Staff <<
+ \new Voice = "sopranoVoice" { \voiceOne \soprano }
+ \new Voice { \voiceTwo \alto }
+ \new Lyrics \lyricsto "sopranoVoice" \words
+>>
+@end lilypond
+
+To get the desired result, align the lyrics to a new
+@code{NullVoice} context containing a suitable combination of the
+two voices. The notes of the @code{NullVoice} context do not
+appear on the printed page, but can be used to align the lyrics
+appropriately:
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+alto = \relative { g'2 b8( a g a) }
+aligner = \relative { b'8( c d c) b( a g a) }
+words = \lyricmode { la __ la __ }
+
+\new Staff <<
+ \new Voice { \voiceOne \soprano }
+ \new Voice { \voiceTwo \alto }
+ \new NullVoice = "aligner" \aligner
+ \new Lyrics \lyricsto "aligner" \words
+>>
+@end lilypond
+
+This method also can be used with the @code{\partcombine}
+function, which does not allow lyrics on its own:
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+alto = \relative { g'2 b8( a g a) }
+aligner = \relative { b'8( c d c) b( a g a) }
+words = \lyricmode { la __ la __ }
+
+\new Staff <<
+ \new Voice \partcombine \soprano \alto
+ \new NullVoice = "aligner" \aligner
+ \new Lyrics \lyricsto "aligner" \words
+>>
+@end lilypond
+
+@knownissues
+The @code{\addLyrics} function only works with @code{Voice} lyrics
+and so cannot be used with @code{NullVoice}.
+
+@noindent
+The @code{\partcombine} function is described in
+@ref{Automatic part combining}.
+
+Lastly, this method can be used even when the voices are in
+different staves, and is not limited to only two voices:
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+altoOne = \relative { g'2 b8( a b4) }
+altoTwo = \relative { d'2 g4( fis8 g) }
+aligner = \relative { b'8( c d c) d( d d d) }
+words = \lyricmode { la __ la __ }
+
+\new ChoirStaff <<
+ \new Staff \soprano
+ \new NullVoice = "aligner" \aligner
+ \new Lyrics \lyricsto "aligner" \words
+ \new Staff \partcombine \altoOne \altoTwo
+>>
+@end lilypond
@node Stanzas
@subsection Stanzas
<<
\new Voice = melody \relative c' {
f4 \appoggiatura a32 b4
- \grace { f16[ a16] } b2
+ \grace { f16 a16 } b2
\afterGrace b2 { f16[ a16] }
\appoggiatura a32 b4
\acciaccatura a8 b4
@lilypond[verbatim,ragged-right,quote]
<<
\new Voice = melody \relative c' {
- \grace { c16[( d e f] }
+ \grace { c16( d e f }
g1) f
}
\new Lyrics \with { includeGraceNotes = ##t }
<<
\new Voice = "alternative" {
\voiceOne
- \times 2/3 {
+ \tuplet 3/2 {
% show associations clearly.
- \override NoteColumn #'force-hshift = #-3
+ \override NoteColumn.force-hshift = #-3
f8 f g
}
}
"It has two lines."
}
}
- \vspace #0.1 % adds vertical spacing between verses
+ \combine \null \vspace #0.1 % adds vertical spacing between verses
\line { \bold "3."
\column {
"This is verse three."
"It has two lines."
}
}
- \vspace #0.1 % adds vertical spacing between verses
+ \combine \null \vspace #0.1 % adds vertical spacing between verses
\line { \bold "5."
\column {
"This is verse five."
Choral music is usually notated on two, three or four staves within
a @code{ChoirStaff} group. Accompaniment, if required, is placed
beneath in a @code{PianoStaff} group, which is usually reduced in
-size for @emph{a capella} choral works. The notes for each vocal
-part are placed in a @code{Voice} context, with each staff
+size for rehearsal of @emph{a cappella} choral works. The notes for
+each vocal part are placed in a @code{Voice} context, with each staff
being given either a single vocal part (i.e., one @code{Voice}) or
a pair of vocal parts (i.e., two @code{Voice}s).
@item
An introduction to creating an SATB vocal score can be found in
the Learning Manual, see @rlearning{Four-part SATB vocal score}.
+There is also a built-in template which simplifies the entry of
+SATB vocal music, see @rlearning{Built-in templates}.
@item
Several templates suitable for various styles of choral music can
also be found in the Learning Manual, see
-@rlearning{Vocal ensembles}.
+@rlearning{Vocal ensembles templates}.
@item
For information about @code{ChoirStaff} and @code{PianoStaff} see
down. To do this, use @code{\voiceOne} and @code{\voiceTwo}. See
@ref{Single-staff polyphony}.
+@item
+When a vocal part temporarily splits, you should use
+@emph{Temporary polyphonic passages}
+(see @ref{Single-staff polyphony}).
+
@end itemize
@predefined
@seealso
Learning Manual:
@rlearning{Four-part SATB vocal score},
-@rlearning{Vocal ensembles}.
+@rlearning{Vocal ensembles templates}.
Notation Reference:
@ref{Context layout order},
\layout {
\context {
\Score
- \override DynamicText #'direction = #UP
- \override DynamicLineSpanner #'direction = #UP
+ \override DynamicText.direction = #UP
+ \override DynamicLineSpanner.direction = #UP
}
}
}
@ref{Score layout},
@ref{Separating systems},
@ref{Setting the staff size},
-@ref{Using an extra voice for breaks},
+@ref{Breaks},
@ref{Vertical spacing}.
Internals Reference:
c c c
@end lilypond
-Alternatively, if there are many character changes, it may be
-easier to set up @qq{instrument} definitions for each character at
-the top level so that @code{\instrumentSwitch} can be used to
-indicate each change.
+Alternatively, if there are many character changes, it may be easier
+to set up variables to hold the definitions for each character so
+that the switch of characters can be indicated easily and concisely.
@lilypond[quote,verbatim]
-\addInstrumentDefinition #"kaspar"
- #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))
- (shortInstrumentName . "Kas.")
- (clefGlyph . "clefs.G")
- (clefOctavation . -7)
- (middleCPosition . 1)
- (clefPosition . -2)
- (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Kaspar"))
- (midiInstrument . "voice oohs"))
-
-\addInstrumentDefinition #"melchior"
- #`((instrumentTransposition . ,(ly:make-pitch 0 0 0))
- (shortInstrumentName . "Mel.")
- (clefGlyph . "clefs.F")
- (clefOctavation . 0)
- (middleCPosition . 6)
- (clefPosition . 2)
- (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Melchior"))
- (midiInstrument . "voice aahs"))
+kaspar = {
+ \clef "G_8"
+ \set Staff.shortVocalName = "Kas."
+ \set Staff.midiInstrument = "voice oohs"
+ <>^\markup \smallCaps "Kaspar"
+}
+
+melchior = {
+ \clef "bass"
+ \set Staff.shortVocalName = "Mel."
+ \set Staff.midiInstrument = "choir aahs"
+ <>^\markup \smallCaps "Melchior"
+}
\relative c' {
- \instrumentSwitch "kaspar"
+ \kaspar
c4 c c c
- \instrumentSwitch "melchior"
+ \melchior
a4 a a a
- \instrumentSwitch "kaspar"
+ \kaspar
c4 c c c
}
@end lilypond
@seealso
+Learning Manual:
+@rlearning{Organizing pieces with variables}.
+
Notation Reference:
-@ref{Instrument names},
-@ref{Scheme functions},
@ref{Text},
@ref{Text markup commands}.
-Extending LilyPond:
-@rextend{Markup construction in Scheme}.
-
@node Musical cues
@unnumberedsubsubsec Musical cues
c4. g8
% position name of cue-ing instrument just before the cue notes,
% and above the staff
- s1*0^\markup { \right-align { \tiny "Flute" } }
+ \new CueVoice {
+ \override InstrumentSwitch.self-alignment-X = #RIGHT
+ \set instrumentCueName = "Flute"
+ }
\cueDuring "flute" #UP { g4 bes4 }
}
pianoLH = \relative c { c4 <c' e> e, <g c> }
pianoRH = \relative c'' {
\transposition c'
% position name of cue-ing instrument below the staff
- s1*0_\markup { \right-align { \tiny "Clar." } }
+ \new CueVoice {
+ \override InstrumentSwitch.self-alignment-X = #RIGHT
+ \override InstrumentSwitch.direction = #DOWN
+ \set instrumentCueName = "Clar."
+ }
\cueDuring "clarinet" #DOWN { c4. g8 }
g4 bes4
}
\score {
<<
\new Lyrics \with {
- \override LyricText #'font-shape = #'italic
- \override LyricText #'self-alignment-X = #LEFT
+ \override LyricText.font-shape = #'italic
+ \override LyricText.self-alignment-X = #LEFT
}
{ \dialogue }
\new Staff {
with the rhythm being taken from the spoken rhythm of the words.
@lilypond[verbatim,quote]
-stemOff = { \override Staff.Stem #'transparent = ##t }
+stemOff = { \hide Staff.Stem }
\relative c' {
\stemOff
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
\bar "'"
a4 b c2
a4 b c2
-\bar ":"
+\bar ";"
a4 b c2
-\bar "dashed"
+\bar "!"
a4 b c2
\bar "||"
@end lilypond
@lilypond[verbatim,quote]
divisioMinima = {
- \once \override BreathingSign #'stencil = #ly:breathing-sign::divisio-minima
- \once \override BreathingSign #'Y-offset = #0
+ \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-minima
+ \once \override BreathingSign.Y-offset = #0
\breathe
}
divisioMaior = {
- \once \override BreathingSign #'stencil = #ly:breathing-sign::divisio-maior
- \once \override BreathingSign #'Y-offset = #0
+ \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maior
+ \once \override BreathingSign.Y-offset = #0
\breathe
}
divisioMaxima = {
- \once \override BreathingSign #'stencil = #ly:breathing-sign::divisio-maxima
- \once \override BreathingSign #'Y-offset = #0
+ \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maxima
+ \once \override BreathingSign.Y-offset = #0
\breathe
}
finalis = {
- \once \override BreathingSign #'stencil = #ly:breathing-sign::finalis
- \once \override BreathingSign #'Y-offset = #0
+ \once \override BreathingSign.stencil = #ly:breathing-sign::finalis
+ \once \override BreathingSign.Y-offset = #0
\breathe
}
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
\layout {
\context {
\Score
- \override SpacingSpanner
- #'base-shortest-duration = #(ly:make-moment 1 2)
+ \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
}
\context {
\Staff
@seealso
Learning Manual:
@rlearning{Visibility and color of objects},
-@rlearning{Vocal ensembles}.
+@rlearning{Vocal ensembles templates}.
Notation Reference:
@ref{Ancient notation},
described in @ref{Formatting text}.
Most of these elements are shown in one or other of the two verses
-in the template, see @qq{Psalms} in @rlearning{Vocal ensembles}.
+in the template, see @rlearning{Psalms}.
@seealso
Learning Manual:
-@rlearning{Vocal ensembles}.
+@rlearning{Psalms},
+@rlearning{Vocal ensembles templates}.
Notation Reference:
@ref{Fonts},