-q@c Note: -*-texinfo-*-
+@c Note: -*-texinfo-*-
@c
@c A menu is needed before every deeper *section nesting of @node's; run
@c M-x texinfo-all-menus-update
@node Notation manual
@chapter Notation manual
-@html
-<!--- @@WEB-TITLE@@=Notation manual --->
-@end html
-
-
@menu
* Note entry::
* Easier music entry::
@cindex easy notation
@cindex Hal Leonard
-The `easyplay' note head includes a note name inside the head. It is
-used in music aimed at beginners.
+The `easy play' note head includes a note name inside the head. It is
+used in music aimed at beginners:
@lilypond[singleline,verbatim,26pt]
\score {
@menu
* Relative octaves::
+* Octave check::
* Bar check::
* Skipping corrected music::
* Automatic note splitting ::
want to use relative within transposed music, you must place an
additional @code{\relative} inside the @code{\transpose}.
+@node Octave check
+@subsection Octave check
+
+
+Octave checks make octave errors easier to correct.
+The syntax is
+@example
+ \octave @var{pitch}
+@end example
+
+This checks that @var{pitch} (without octave) yields @var{pitch} (with
+octave) in \relative mode. If not, a warning is printed, and the
+octave is corrected, for example, the first check is passed
+successfully. The second check fails with an error message. The
+octave is adjusted so the following notes are in the correct octave
+once again.
+@example
+ \relative c' @{
+ e
+ \octave a'
+ \octave b'
+ @}
+@end example
+
+
+The octave of a note following an octave check is determined with
+respect to the note preceding it. In the next fragment, the last note
+is a @code{a'}, above central C. Hence, the @code{\octave} check may
+be deleted without changing the meaning of the piece.
+
+@lilypond[verbatim,fragment]
+ \relative c' {
+ e
+ \octave b
+ a
+ }
+@end lilypond
+
+
@node Bar check
@subsection Bar check
@seealso
-@internalsref{OttavaBracket}.
+@internalsref{OttavaSpanner}.
@refbugs
@lilypond[verbatim]
\score { \notes \relative c'' {
#(set-time-signature 9 8 '(2 2 2 3))
- g8-[ g-] d-[ d-] g-[ g-] a8-[-( bes g-]-) |
+ g8[ g] d[ d] g[ g] a8[( bes g]) |
#(set-time-signature 5 8 '(3 2))
a4. g4
}
@end lilypond
In scores with many staves, a @code{\bar} command in one staff is
-automatically applied to all staffs. The resulting bar lines are
+automatically applied to all staves. The resulting bar lines are
connected between different staves of a @internalsref{StaffGroup}:
@c
@lilypond[fragment, verbatim]
< \context StaffGroup <
- \context Staff = up { e'4 d'
+ \new Staff { e'4 d'
\bar "||"
f' e' }
- \context Staff = down { \clef bass c4 g e g } >
-\context Staff = pedal { \clef bass c2 c2 } >
+ \new Staff { \clef bass c4 g e g } >
+\new Staff { \clef bass c2 c2 } >
@end lilypond
The bar line objects that are created at @internalsref{Staff} level
-are called @internalsref{BarLine}, the bar lines that span staffs are
+are called @internalsref{BarLine}, the bar lines that span staves are
@internalsref{SpanBar}s.
+@cindex bar lines at start of system
+@cindex start of system
+
+The barlines at the start of each system are
+@internalsref{SystemStartBar}, @internalsref{SystemStartBrace}, and
+@internalsref{SystemStartBracket}. They are spanner objects and
+typically must be tuned from a @code{\translator} block.
+
@node Polyphony
@section Polyphony
small, short-lived voices or for single chords:
@lilypond[verbatim,fragment]
-\context Voice = VA \relative c'' {
+\context Staff \relative c'' {
c4 < { f d e } \\ { b c2 } > c4 < g' \\ b, \\ f' \\ d >
}
@end lilypond
@lilypond[singleline, verbatim]
\relative c''
-\context Staff < \context Voice = VA { \voiceOne cis2 b }
- \context Voice = VB { \voiceThree b4 ais ~ ais4 gis4 }
- \context Voice = VC { \voiceTwo fis4~ fis4 f ~ f } >
+\context Staff < \new Voice { \voiceOne cis2 b }
+ \new Voice { \voiceThree b4 ais ~ ais4 gis4 }
+ \new Voice { \voiceTwo fis4~ fis4 f ~ f } >
@end lilypond
Normally, note heads with a different number of dots are not merged, but
\property Staff.NoteCollision \override
#'merge-differently-dotted = ##t
g8 g8
- } \\ { g8.-[ f16-] g8.-[ f16-] }
+ } \\ { g8.[ f16] g8.[ f16] }
>
@end lilypond
@lilypond[fragment,relative,verbatim]
\context Staff {
- r4 r8-[ g' a r8-] r8 g-[ | a-] r8
+ r4 r8[ g' a r8] r8 g[ | a] r8
}
@end lilypond
@lilypond[fragment,relative,verbatim]
\context Staff {
- f8-[ r16 f g a-]
- f8-[ r16 \property Voice.stemLeftBeamCount = #1 f g a-]
+ f8[ r16 f g a]
+ f8[ r16 \property Voice.stemLeftBeamCount = #1 f g a]
}
@end lilypond
@cindex @code{stemRightBeamCount}
@lilypond[relative=1,verbatim,noindent]
- c16-[ c c c c c c c-]
+ c16[ c c c c c c c]
\property Voice.subdivideBeams = ##t
- c16-[ c c c c c c c-]
+ c16[ c c c c c c c]
\property Score.beatLength = #(ly:make-moment 1 8)
- c16-[ c c c c c c c-]
+ c16[ c c c c c c c]
@end lilypond
@cindex subdivideBeams
between the note heads. This behavior can be tuned through the object
property @code{auto-knee-gap}.
+Normally, line breaks are forbidden when beams cross bar lines. This
+behavior can be changed by setting @code{allowBeamBreak}.
+
+@cindex @code{allowBeamBreak}
+@cindex beams and line breaks
+
@cindex beams, kneed
@cindex kneed beams
@cindex auto-knee-gap
@refbugs
-@cindex hara kiri
+@cindex Frenched staves
+
+Automatically kneed beams cannot be used together with hidden staves.
-Automatically kneed beams cannot be used together with Hara Kiri
-staves.
@menu
\property Voice.autoBeamSettings
\override #'(end * * * *) = #(ly:make-moment 3 8)
% rather show case where it goes wrong
- %\time 12/8 c'8 c c c16 c c c c c c-[ c c c-] c8-[ c-] c4
+ %\time 12/8 c'8 c c c16 c c c c c c[ c c c] c8[ c] c4
\time 12/8 c'8 c c c16 c c c c c c c c c c8 c c4
@end lilypond
It is not possible to specify beaming parameters that act differently in
@example
\score @{
\notes \relative c'' <
- \context Staff = sa @{ cis4 d e2 @}
+ \new Staff @{ cis4 d e2 @}
\context GrandStaff <
\pianoAccidentals
- \context Staff = sb @{ cis4 d e2 @}
- \context Staff = sc @{ es2 c @}
+ \new Staff @{ cis4 d e2 @}
+ \new Staff @{ es2 c @}
>
- \context Staff = sd @{ es2 c @}
+ \new Staff @{ es2 c @}
>
@}
@end example
@lilypond[singleline]
\score {
\notes \relative c'' <
- \context Staff = sa { cis4 d e2 }
+ \new Staff { cis4 d e2 }
\context GrandStaff <
\pianoAccidentals
- \context Staff = sb { cis4 d e2 }
- \context Staff = sc { es2 c }
+ \new Staff { cis4 d e2 }
+ \new Staff { es2 c }
>
- \context Staff = sd { es2 c }
+ \new Staff { es2 c }
>
\paper {
\translator {
They are entered using parentheses:
@lilypond[fragment,verbatim,center]
- f'-( g'-)-( a'-) a'8-[ b'-(-] a'4 g'2 f'4-)
- <<c' e'>>2-( <<b d'>>2-)
+ f'( g')( a') a'8[ b'(] a'4 g'2 f'4)
+ <<c' e'>>2( <<b d'>>2)
@end lilypond
@lilypond[fragment,relative,verbatim]
\slurUp
\property Voice.Stem \set #'length = #5.5
- g'8-(g g4-)
+ g'8(g g4)
\property Voice.Slur \set #'attachment = #'(stem . stem)
- g8-( g g4-)
+ g8( g g4)
@end lilypond
If a slur would strike through a stem or beam, the slur will be moved
@lilypond[fragment,relative,verbatim]
\stemUp \slurUp
- d32-( d'4 d8..-)
+ d32( d'4 d8..)
\property Voice.Slur \set #'attachment = #'(stem . stem)
- d,32-( d'4 d8..-)
+ d,32( d'4 d8..)
@end lilypond
@refcommands
respectively:
@lilypond[fragment,verbatim,center,relative]
- \time 6/4 c'-\( d-( e-) f-( e-) d-\)
+ \time 6/4 c'\( d( e) f( e) d\)
@end lilypond
Typographically, the phrasing slur behaves almost exactly like a
@seealso
-@internalsref{TempoEvent}.
+@internalsref{MetronomeChangeEvent}.
\relative c' { c1
\property Voice.TextSpanner \set #'direction = #-1
\property Voice.TextSpanner \set #'edge-text = #'("rall " . "")
- c2-\startTextSpan b c-\stopTextSpan a }
+ c2\startTextSpan b c\stopTextSpan a }
@end lilypond
@lilypond[singleline,verbatim]
\score { \notes \relative c'' {
- c4-\startGroup-\startGroup
- c4-\stopGroup
- c4-\startGroup
- c4-\stopGroup-\stopGroup
+ c4\startGroup\startGroup
+ c4\stopGroup
+ c4\startGroup
+ c4\stopGroup\stopGroup
}
\paper { \translator {
\StaffContext \consists "Horizontal_bracket_engraver"
@lilypondfile[notexidoc]{script-abbreviations.ly}
+The meanings of these shorthands can be changed: see
+@file{ly/script-init.ly} for examples.
+
+
The script is automatically placed, but if you need to force
directions, you can use @code{_} to force them down, or @code{^} to
put them up:
c''4^^ c''4_^
@end lilypond
+Other symbols can be added using the syntax
+@var{note}@code{\}@var{name}, e.g. @code{c4\fermata}. Again, they
+can be forced up or down using @code{^} and @code{_},
+eg.
+@lilypond[verbatim,fragment,relative 2]
+ c\fermata c^\fermata c_\fermata
+@end lilypond
-Other symbols can be added using the syntax
-@var{note}@code{-\}@var{name}, e.g. @code{c4-\fermata}. Again, they
-can be forced up or down using @code{^} and @code{_}:
@cindex accent
@cindex marcato
You can use the thumb-script to indicate that a note should be
played with your thumb (used in cello music):
-@lilypond[verbatim, singleline, fragmnt]
- <<a' a''-3>>8-(_\thumb-[ <<b' b''-3>>-)_\thumb
- <<c'' c'''-3>>-(_\thumb <<d'' d'''-3>>-)_\thumb-]
+@lilypond[verbatim, singleline, fragment]
+ <<a' a''-3>>8(_\thumb[ <<b' b''-3>>)_\thumb
+ <<c'' c'''-3>>(_\thumb <<d'' d'''-3>>)_\thumb]
@end lilypond
Fingerings for chords can also be added to individual notes
@node Grace notes
@subsection Grace notes
+
+@c should have blurb about accaciatura / appogiatura
+
@cindex @code{\grace}
@cindex ornaments
@cindex grace notes
-Grace notes are ornaments that are written out:
+Grace notes are ornaments that are written out. The most common ones
+are accacciatura, which should be played as very short. It is denoted
+by a slurred small note with a slashed stem. The appoggiatura is a
+grace note that takes a fixed fraction of the main note, is and
+denoted as a slurred note in small print without a slash.
+They are entered with the commands @code{\accacciatura} and
+@code{\appoggiatura}, as demonstrated in the following example:
-@lilypond[relative=2,verbatim,fragment] c4 \grace c16 c4 \grace {
-[c16 d16] } c4
+
+@cindex appoggiatura
+@cindex accacciatura
+
+@lilypond[relative=2,verbatim,fragment]
+b4 \accacciatura d8 c4 \appoggiatura e8 d4
+\accacciatura { g16 f } e4
@end lilypond
-In normal notation, grace notes take up no logical
-time in a measure. Such an idea is practical for normal notation, but
-is not strict enough to put it into a program. The model that LilyPond
-uses for grace notes internally is that all timing is done in two
-steps:
+Both are special forms of the @code{\grace} command. By prefixing this
+keyword to a music expression, a new one is formed, which will be
+printed in a smaller font and takes up no logical time in a measure.
+@lilypond[relative=2,verbatim,fragment]
+ c4 \grace c16 c4 \grace {
+ c16[ d16] } c2 c4
+@end lilypond
+Unlike @code{\accacciatura} and @code{\appoggiatura}, the
+@code{\grace} command does not start a slur.
-Every point in musical time consists of two rational numbers: one
+Internally, timing for grace notes is done using a second, `grace'
+time. Every point in time consists of two rational numbers: one
denotes the logical time, one denotes the grace timing. The above
example is shown here with timing tuples:
-@lilypond[]
-\score { \notes \relative c''{
- c4^"(0,0)" \grace c16_" "_"(1/4,-1/16)" c4^"(1/4,0)" \grace {
- c16_"(2/4,-1/8)"-[ d16^"(2/4,-1/16)" ] } c4_" "_"(2/4,0)"
+@lilypond[singleline]
+<
+ \relative c''{
+ c4 \grace c16 c4 \grace {
+ c16[ d16] } c4
}
-\paper { linewidth = 12.\cm }
-}
+ \new Lyrics \lyrics {
+ \markup { (0,0) } 4
+ \grace { \markup {
+ ( \fraction 1 4 , \fraction -1 16 ) } 16 }
+ \markup { (\fraction 1 4 , 0 ) } 4
+ \grace {
+ \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
+ \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
+ }
+ \markup { ( \fraction 2 4 , 0 ) }
+ } >
@end lilypond
every eighth grace note:
@lilypond[relative=2,verbatim,fragment]
-< \context Staff = SA { e4 \grace { c16-[ d e f-] } e4 }
- \context Staff = SB { c'4 \grace { g8-[ b-] } c4 } >
+< \new Staff { e4 \grace { c16[ d e f] } e4 }
+ \new Staff { c'4 \grace { g8[ b] } c4 } >
@end lilypond
-Unbeamed eighth notes and shorter by default have a slash through the
-stem. This can be controlled with object property @code{stroke-style} of
-@internalsref{Stem}. For proper matching of override and reverts of
-such properties, it is necessary to use a Scheme function.
-
-The following fragment overrides the default formatting Grace style stems:
-@example
- #(add-to-grace-init "Voice" 'Stem 'stroke-style '())
-@end example
-
-The @code{\override} is carefully matched with a @code{\revert}:
-
-@cindex slash
-@cindex grace slash
-
-@lilypond[fragment,verbatim]
-\relative c'' \context Voice {
- \grace c8 c4 \grace { c16-[ c16-] } c4
- \grace {
- \property Voice.Stem \override #'stroke-style = #'()
- c16
- \property Voice.Stem \revert #'stroke-style
- } c4
-}
-@end lilypond
If you want to end a note with a grace note, then the standard trick
is to put the grace notes before a phantom ``space note'', e.g.
@lilypond[fragment,verbatim, relative=2]
\context Voice {
< { d1^\trill ( }
- { s2 \grace { c16-[ d-] } } >
- )c4
+ { s2 \grace { c16[ d] } } >
+ c4)
}
@end lilypond
By adjusting the duration of the skip note (here it is a half-note),
the space between the main-note and the grace is adjusted.
-A @code{\grace} section has some default values, and LilyPond will
-use those default values unless you specify otherwise inside the
-@code{\grace} section. For example, if you specify \slurUp
-@emph{before} your @code{\grace} section, a slur which starts inside
-the @code{\grace} will not be forced up, even if the slur ends outside
-of the @code{\grace}. Note the difference between the first and
-second bars in this example:
-@lilypond[fragment,verbatim]
-\relative c'' \context Voice {
- \slurUp
- \grace {
- a4-( }
- ) a4 a4-( a2-)
- \slurBoth
-
- \grace {
- \slurUp
- a4-( }
- ) a4 a4-( a2-)
- \slurBoth
+A @code{\grace} section will introduce special typesetting settings,
+for example, to produce smaller type, and set directions. Hence, when
+introducing layout tweaks, they should be inside the grace section,
+for example,
+@lilypond[fragment,verbatim,relative 2]
+\new Voice {
+ \accacciatura {
+ \property Voice.Stem \override #'direction = #-1
+ f16->
+ \property Voice.Stem \revert #'direction
+ }
+ g4
}
@end lilypond
+The overrides should also be reverted inside the grace section.
+
+If the layout of grace sections must be changed throughout the music,
+then this can be accomplished through the function
+@code{add-grace-property}. The following example
+undefines the Stem direction grace section, so stems do not always
+point up.
+
+@example
+ \new Staff @{
+ #(add-grace-property "Voice" Stem direction '())
+ @dots{}
+ @}
+@end example
+
+@noindent
+Another option is to change the variables @code{startGraceMusic},
+@code{stopGraceMusic}, @code{startAccacciaturaMusic},
+@code{stopAccacciaturaMusic}, @code{startAppoggiaturaMusic},
+@code{stopAppoggiaturaMstuic}. More information is in the file
+@file{ly/grace-init.ly}
@seealso
A score that starts with an @code{\grace} section needs an explicit
@code{\context Voice} declaration, otherwise the main note and grace
-note end up on different staffs.
+note end up on different staves.
Grace note synchronization can also lead to surprises. Staff notation,
such as key signatures, barlines, etc. are also synchronized. Take
care when you mix staves with grace notes and staves without, for example,
@lilypond[relative=2,verbatim,fragment]
-< \context Staff = SA { e4 \bar "|:" \grace c16 d4 }
- \context Staff = SB { c4 \bar "|:" d4 } >
+< \new Staff { e4 \bar "|:" \grace c16 d4 }
+ \new Staff { c4 \bar "|:" d4 } >
@end lilypond
Grace sections should only be used within sequential music
expressions. Nesting or juxtaposing grace sections is not supported,
and might produce crashes or other errors.
-Overriding settings for grace music globally cannot be done in a
-modular way. A kludge (@code{add-to-grace-init}) is defined in
-@file{ly/grace-init.ly}.
+Overriding settings cannot be done in separate styles for appoggiatura
+and accacciatura.
@node Glissando
a note:
@lilypond[fragment,relative,verbatim]
- c'-\glissando c'
+ c'\glissando c'
@end lilypond
@seealso
Absolute dynamic marks are specified using an variable after a
-note: @code{c4-\ff}. The available dynamic marks are @code{\ppp},
+note: @code{c4\ff}. The available dynamic marks are @code{\ppp},
@code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
@code{\fff}, @code{\fff}, @code{\fp}, @code{\sf}, @code{\sff},
@code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}:
@lilypond[verbatim,singleline,fragment,relative]
- c'-\ppp c-\pp c -\p c-\mp c-\mf c-\f c-\ff c-\fff
- c2-\sf c-\rfz
+ c'\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
+ c2\sf c\rfz
@end lilypond
@cindex @code{\cr}
use spacer notes if multiple marks during one note are needed:
@lilypond[fragment,verbatim,center,quote]
- c''-\< c''-\! d''-\decr e''-\rced
- < f''1 { s4 s4-\< s4-\! \> s4-\! } >
+ c''\< c''\! d''\decr e''\rced
+ < f''1 { s4 s4\< s4\! \> s4\! } >
@end lilypond
This may give rise to very short hairpins. Use @code{minimum-length}
-in @internalsref{Voice}.@internalsref{HairPin} to lengthen them, for
+in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
example:
@example
\context Voice {
\property Voice.crescendoText = \markup { \italic "cresc. poco" }
\property Voice.crescendoSpanner = #'dashed-line
- a'2-\mf-\< a a a-\!
+ a'2\mf\< a a a\!
}
@end lilypond
\score {
\apply #(drums->paper 'drums) \context Staff <
\clef percussion
- \context Voice = up { \voiceOne \up }
- \context Voice = down { \voiceTwo \down }
+ \new Voice { \voiceOne \up }
+ \new Voice { \voiceTwo \down }
>
}
\score {
\apply #(drums->paper 'mydrums) \context Staff <
\clef percussion
- \context Voice = up { \voiceOne \up }
- \context Voice = down { \voiceTwo \down }
+ \new Voice { \voiceOne \up }
+ \new Voice { \voiceTwo \down }
>
}
@end lilypond
bass = \notes \transpose c c,, { a4. e8 r e g e }
\score {
<
- \apply #(drums->paper 'drums) \context Staff = drums <
+ \apply #(drums->paper 'drums) \new Staff <
\clef percussion
- \context Voice = up { \voiceOne \up }
- \context Voice = down { \voiceTwo \down }
+ \new Voice { \voiceOne \up }
+ \new Voice { \voiceTwo \down }
>
- \context Staff = bass { \clef "F_8" \bass }
+ \new Staff { \clef "F_8" \bass }
>
}
@end lilypond
included with the distribution as @inputfileref{input/test,stem-cross-staff.ly}.
Dynamics are not centered, but kludges do exist. See
-@inputfileref{input/templates,piano-dynamics.ly}.
+@inputfileref{input/template,piano-dynamics.ly}.
@cindex cross staff stem
@cindex stem, cross staff
staff. The syntax for this is
@example
\autochange Staff \context Voice @{ @dots{}@var{music}@dots{} @}
-@end example
+@end example
+The two staffs of the piano staff must be named @code{up} and
+@code{down}.
+
The autochanger switches on basis of pitch (central C is the turning
point), and it looks ahead skipping over rests to switch in
advance. Here is a practical example:
note or chord:
@lilypond[fragment,verbatim]
- c'4-\sustainDown c'4-\sustainUp
+ c'4\sustainDown c'4\sustainUp
@end lilypond
What is printed can be modified by setting @code{pedal@var{X}Strings},
@lilypond[fragment,verbatim]
\property Staff.pedalSustainStyle = #'bracket
- c''4-\sustainDown d''4 e''4
- a'4-\sustainUp-\sustainDown
- f'4 g'4 a'4-\sustainUp
+ c''4\sustainDown d''4 e''4
+ a'4\sustainUp\sustainDown
+ f'4 g'4 a'4\sustainUp
@end lilypond
A third style of pedal notation is a mixture of text and brackets,
@lilypond[fragment,verbatim]
\property Staff.pedalSustainStyle = #'mixed
-c''4-\sustainDown d''4 e''4
-c'4-\sustainUp-\sustainDown
- f'4 g'4 a'4-\sustainUp
+c''4\sustainDown d''4 e''4
+c'4\sustainUp\sustainDown
+ f'4 g'4 a'4\sustainUp
@end lilypond
The default `*Ped' style for sustain and damper pedals corresponds to
for a sostenuto pedal:
@lilypond[fragment,verbatim]
-c''4-\sostenutoDown d''4 e''4 c'4 f'4 g'4 a'4-\sostenutoUp
+c''4\sostenutoDown d''4 e''4 c'4 f'4 g'4 a'4\sostenutoUp
@end lilypond
For fine-tuning of the appearance of a pedal bracket, the properties
@lilypond[fragment,verbatim]
\property Staff.PianoPedalBracket \override
#'shorten-pair = #'(0 . -1.0)
-c''4-\sostenutoDown d''4 e''4 c'4
-f'4 g'4 a'4-\sostenutoUp
+c''4\sostenutoDown d''4 e''4 c'4
+f'4 g'4 a'4\sostenutoUp
@end lilypond
@node Arpeggio
@lilypond[fragment,relative,verbatim]
- <<c e g c>>-\arpeggio
+ <<c e g c>>\arpeggio
@end lilypond
When an arpeggio crosses staves, you attach an arpeggio to the chords
@lilypond[fragment,relative,verbatim]
\context PianoStaff <
\property PianoStaff.connectArpeggios = ##t
- \context Voice = one { <<c' e g c>>-\arpeggio }
- \context Voice = other { \clef bass <<c,, e g>>-\arpeggio }
+ \new Staff { <<c' e g c>>\arpeggio }
+ \new Staff { \clef bass <<c,, e g>>\arpeggio }
>
@end lilypond
@lilypond[fragment,relative,verbatim]
\context Voice {
\property Voice.Arpeggio \set #'arpeggio-direction = #1
- <<c e g c>>-\arpeggio
+ <<c e g c>>\arpeggio
\property Voice.Arpeggio \set #'arpeggio-direction = #-1
- <<c e g c>>-\arpeggio
+ <<c e g c>>\arpeggio
}
@end lilypond
@lilypond[fragment,relative,verbatim]
\property PianoStaff.Arpeggio \override
#'molecule-callback = \arpeggioBracket
- <<c' e g c>>-\arpeggio
+ <<c' e g c>>\arpeggio
@end lilypond
@refcommands
Normally, this will put the lyrics below the staff. For different or
more complex orderings, the best way is to setup the hierarchy of
-staffs and lyrics first, e.g.
+staves and lyrics first, e.g.
@example
\context ChoirStaff \notes <
- \context Lyrics = LA @{ s1 @}
- \context Staff = SA @{ s1 @}
- \context Lyrics = LB @{ s1 @}
- \context Staff = SB @{ s1 @}
+ \new Lyrics @{ s1 @}
+ \new Staff @{ s1 @}
+ \new Lyrics @{ s1 @}
+ \new Staff @{ s1 @}
>
@end example
and then combine the appropriate melodies and lyric lines:
@example
\addlyrics
- \context Staff = SA @emph{the music}
- \context Lyrics = LA @emph{the lyrics}
+ \new Staff @emph{the music}
+ \new Lyrics @emph{the lyrics}
@end example
putting both together, you would get
@example
\context ChoirStaff \notes <
- \context Lyrics = LA @dots{}
- \context Staff = SB @dots{}
+ \new Lyrics @dots{}
+ \new Staff @dots{}
\addlyrics @dots{}
>
@end example
@cindex choral score
A complete example of a SATB score setup is in the file
-@inputfileref{input/template,satb}.
+@inputfileref{input/template,satb.ly}.
@seealso
@internalsref{LyricCombineMusic}, @internalsref{Lyrics}, and
-@inputfileref{input/template,satb}.
+@inputfileref{input/template,satb.ly}.
@refbugs
Then set the @internalsref{LyricsVoice} contexts to names starting with
that identity followed by a dash. In the preceding example, the
@internalsref{Voice} identity is @code{duet}, so the identities of the
-@internalsref{LyricsVoices} are marked @code{duet-1} and @code{duet-2}:
+@internalsref{LyricsVoice}s are marked @code{duet-1} and @code{duet-2}:
@example
\context LyricsVoice = "duet-1" @{
Hi, my name is bert. @}
\score {
\context ChoirStaff {
<
- \context Staff = one { \upper }
- \context Staff = three { \lower }
+ \new Staff { \upper }
+ \new Staff { \lower }
>
}
\paper {
* Transpose::
* Multi measure rests::
* Automatic part combining::
-* Frenched scores::
+* Hiding staves::
* Sound output for transposing instruments::
@end menu
@node Multiple staff contexts
@subsection Multiple staff contexts
-Polyphonic scores consist of many staffs. These staffs can be
+Polyphonic scores consist of many staves. These staves can be
constructed in three different ways:
@itemize @bullet
@item The group is started with a brace at the left. This is done with the
Bar numbers can collide with the @internalsref{StaffGroup} bracket, if
there is one at the top. To solve this, the
-@internalsref{padding} property of @internalsref{BarNumber} can be
+@code{padding} property of @internalsref{BarNumber} can be
used to position the number correctly.
@node Instrument names
@subsection Instrument names
In an orchestral score, instrument names are printed left side of the
-staffs.
+staves.
This can be achieved by setting @internalsref{Staff}.@code{instrument}
and @internalsref{Staff}.@code{instr}. This will print a string before
names:
@lilypond[fragment,verbatim,singleline]
- \notes \context Staff = treble {
+ \notes {
\property Staff.instrument = \markup {
\column << "Clarinetti"
{ "in B"
\context Staff <
\context Voice=one \partcombine Voice
\context Thread=one \relative c'' {
- g a-( b-) r
+ g a( b) r
}
\context Thread=two \relative c'' {
g r4 r f
@cindex @code{Voice_engraver}
@cindex @code{A2_engraver}
-@node Frenched scores
-@subsection Frenched scores
+@node Hiding staves
+@subsection Hiding staves
+
+@cindex Frenched scores
+@cindex Hiding staves
In orchestral scores, staff lines that only have rests are usually
removed. This saves some space. This style is called `French Score'.
switched on by default. When these line of these contexts turn out
empty after the line-breaking process, they are removed.
-
-For normal staffs, a specialized @internalsref{Staff} context is
-available, which does the same: staffs containing nothing (or only
+For normal staves, a specialized @internalsref{Staff} context is
+available, which does the same: staves containing nothing (or only
multi measure rests) are removed. The context definition is stored in
@code{\RemoveEmptyStaffContext} variable. Observe how the second staff
in this example disappears in the second line:
@lilypond[verbatim]
\score {
\notes \relative c' <
- \context Staff = SA { e4 f g a \break c1 }
- \context Staff = SB { c4 d e f \break R1 }
+ \new Staff { e4 f g a \break c1 }
+ \new Staff { c4 d e f \break R1 }
>
\paper {
linewidth = 6.\cm
@cindex Petrucci
@cindex mensural
-@c [TODO: write introduction on ancient notation]
+@c [TODO: write more comprehensive introduction on ancient notation]
+
+Support for ancient notation is still under heavy development.
+Regardless of all of the current limitations (see the bugs section
+below for details), it currently includes features for mensural
+notation and Gregorian Chant notation. There is also limited support
+for figured bass notation.
+
+Many graphical objects provide a @code{style} property, see
+@ref{Ancient note heads}, @ref{Ancient accidentals}, @ref{Ancient
+rests}, @ref{Ancient clefs}, @ref{Ancient flags} and @ref{Ancient time
+signatures}. By manipulating such a grob property, the typographical
+appearance of the affected graphical objects can be accomodated for a
+specific notation flavour without need for introducing any new
+notational concept.
+
+
+Other aspects of ancient notation can not that easily be expressed as
+in terms of just changing a style property of a graphical object.
+Therefore, some notational concepts are introduced specifically for
+ancient notation, see @ref{Custodes}, @ref{Divisiones},
+@ref{Ligatures}, and @ref{Figured bass}.
+
@menu
* Ancient note heads::
-* Ancient clefs ::
+* Ancient accidentals::
+* Ancient rests::
+* Ancient clefs::
+* Ancient flags::
+* Ancient time signatures::
* Custodes::
* Divisiones::
* Ligatures::
* Figured bass::
+* Vaticana style contexts::
@end menu
+If this all is way too much of documentation for you, and you just
+want to dive into typesetting without worrying too much about the
+details on how to customize a context, then you may have a look at the
+predefined contexts (see @ref{Vaticana style contexts}). Use them to
+set up predefined style-specific voice and staff contexts, and
+directly go ahead with the note entry.
+
+@refbugs
+
+Ligatures need special spacing that has not yet been implemented. As
+a result, there is too much space between ligatures most of the time,
+and line breaking often is unsatisfactory. Also, lyrics do not
+correctly align with ligatures.
+
+Accidentals must not be printed within a ligature, but instead need to
+be collected and printed in front of it.
+
+Augmentum dots within ligatures are currently not handled correctly.
+
@node Ancient note heads
@subsection Ancient note heads
-To get a longa note head, you have to use mensural note heads. This
-is accomplished by setting the @code{style} property of the
-NoteHead object to @code{mensural}. There is also a note head style
-@code{baroque} which gives mensural note heads for @code{\longa} and
-@code{\breve} but standard note heads for shorter notes:
+@cindex note heads
+
+@syntax
+
+For ancient notation, a note head style other than the @code{default}
+style may be chosen. This is accomplished by setting the @code{style}
+property of the NoteHead object to the desired value (@code{baroque},
+@code{neo_mensural} or @code{mensural}). The @code{baroque} style
+differs from the @code{default} style only in using a square shape for
+@code{\breve} note heads. The @code{neo_mensural} style differs from
+the @code{baroque} style in that it uses rhomboidal heads for whole
+notes and all smaller durations. Stems are centered on the note
+heads. This style is in particular useful when transcribing mensural
+music, e.g. for the incipit. The @code{mensural} style finally
+produces note heads that mimick the look of note heads in historic
+printings of the 16th century.
+
+The following example demonstrates the @code{neo_mensural} style:
@lilypond[fragment,singleline,verbatim]
- \property Voice.NoteHead \set #'style = #'mensural
- a'\longa
+ \property Voice.NoteHead \set #'style = #'neo_mensural
+ a'\longa a'\breve a'1 a'2 a'4 a'8 a'16
@end lilypond
-@node Ancient clefs
+When typesetting a piece in Gregorian Chant notation, a Gregorian
+ligature engraver will automatically select the proper note heads,
+such there is no need to explicitly set the note head style. Still,
+the note head style can be set e.g. to @code{vaticana_punctum} to
+produce punctum neumes. Similarly, a mensural ligature engraver is
+used to automatically assemble mensural ligatures. See
+@ref{Ligatures} for how ligature engravers work.
+
+@seealso
+
+@inputfileref{input/regression,note-head-style.ly} gives an overview
+over all available note head styles.
+
+@ref{Percussion staves} use note head styles of their own that are
+frequently used in contemporary music notation.
+
+@node Ancient accidentals
+@subsection Ancient accidentals
+
+@cindex accidentals
+
+@syntax
+
+Use the @code{style} property of grob @internalsref{Accidental} to
+select ancient accidentals. Currently supported styles are
+@code{mensural}, @code{vaticana}, @code{hufnagel} and @code{medicaea}.
+
+@lilypond[singleline,26pt]
+\score {
+ \notes {
+ \fatText
+ s
+ ^\markup {
+ \column <<
+ "vaticana"
+ { " " \musicglyph #"accidentals-vaticana-1"
+ " " \musicglyph #"accidentals-vaticana0" }
+ >>
+ \column <<
+ "medicaea"
+ { " " \musicglyph #"accidentals-medicaea-1" }
+ >>
+ \column <<
+ "hufnagel"
+ { " " \musicglyph #"accidentals-hufnagel-1" }
+ >>
+ \column <<
+ "mensural"
+ { " " \musicglyph #"accidentals-mensural-1"
+ " " \musicglyph #"accidentals-mensural1" }
+ >>
+ }
+ }
+ \paper {
+ raggedright = ##t
+ interscoreline = 1
+ \translator {
+ \ScoreContext
+ \remove "Bar_number_engraver"
+ }
+ \translator{
+ \StaffContext
+ \remove "Clef_engraver"
+ \remove "Key_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Staff_symbol_engraver"
+ minimumVerticalExtent = ##f
+ }
+ }
+}
+@end lilypond
+
+As shown, not all accidentals are supported by each style. When
+trying to access an unsupported accidental, LilyPond will switch to a
+different style, as demonstrated in
+@inputfileref{input/test,ancient-accidentals.ly}.
+
+Similarly to local accidentals, the style of the key signature can be
+controlled by the @code{style} property of the
+@internalsref{KeySignature} grob.
+
+@seealso
+
+@ref{Pitches}, @ref{Chromatic alterations} and @ref{Accidentals} give
+a general introduction into the use of accidentals. @ref{Key
+signature} gives a general introduction into the use of key
+signatures.
+
+
+@node Ancient rests
+@subsection Ancient rests
+
+@cindex rests
+
+@syntax
+
+Use the @code{style} property of grob @internalsref{Rest} to select
+ancient accidentals. Currently supported styles are @code{classical},
+@code{neo_mensural} and @code{mensural}. @code{classical} differs
+from the @code{default} style only in that the quarter rest looks like
+a horizontally mirrored 8th rest. The @code{neo_mensural} style suits
+well for e.g. the incipit of a transcribed mensural piece of music.
+The @code{mensural} style finally mimicks the appearance of rests as
+in historic prints of the 16th century.
+
+The following example demonstrates the @code{neo_mensural} style:
+
+@lilypond[fragment,singleline,verbatim]
+ \property Voice.Rest \set #'style = #'neo_mensural
+ r\longa r\breve r1 r2 r4 r8 r16
+@end lilypond
+
+There are no 32th and 64th rests specifically for the mensural or
+neo-mensural style. Instead, the rests from the default style will be
+taken. See @inputfileref{input/test,rests.ly} for a chart of all
+rests.
+
+There are no rests in Gregorian Chant notation; instead, it uses
+@ref{Divisiones}.
+
+@seealso
+
+@ref{Rests} gives a general introduction into the use of rests.
+
+
+@node Ancient clefs
@subsection Ancient clefs
-LilyPond supports a variety of clefs, many of them ancient.
+@cindex clefs
-For modern clefs, see section @ref{Clef}. For the percussion clef, see
-section @ref{Percussion staves}. For the @code{TAB} clef, see section
-@ref{Tablatures}.
+@syntax
+
+LilyPond supports a variety of clefs, many of them ancient.
The following table shows all ancient clefs that are supported via the
@code{\clef} command. Some of the clefs use the same glyph, but
differ only with respect to the line they are printed on. In such
cases, a trailing number in the name is used to enumerate these clefs.
Still, you can manually force a clef glyph to be typeset on an
-arbitrary line, as described in section @ref{Clef}. The note printed
-to the right side of each clef in the example column denotes the
-@code{c'} with respect to that clef.
+arbitrary line, as described in @ref{Clef}. The note printed to the
+right side of each clef in the example column denotes the @code{c'}
+with respect to that clef.
@multitable @columnfractions .3 .3 .3 .1
@end lilypond
@item
-@code{clefs-mensural_c'} @tab
+@code{clefs-mensural_c} @tab
historic style mensural C clef @tab
@code{mensural_c1}, @code{mensural_c2}, @code{mensural_c3},
@code{mensural_c4} @tab
Petrucci used C clefs with differently balanced left-side vertical
beams, depending on which staffline it is printed.
+@seealso
+
+For modern clefs, see @ref{Clef}. For the percussion clef, see
+@ref{Percussion staves}. For the @code{TAB} clef, see
+@ref{Tablatures}.
+
+
+@node Ancient flags
+@subsection Ancient flags
+
+@cindex flags
+
+@syntax
+
+Use the @code{flag-style} property of grob @internalsref{Stem} to
+select ancient flags. Besides the @code{default} flag style,
+currently only @code{mensural} style is supported:
+
+@lilypond[fragment,singleline,verbatim]
+ \property Voice.Stem \set #'flag-style = #'mensural
+ \property Voice.Stem \set #'thickness = #1.0
+ \property Voice.NoteHead \set #'style = #'mensural
+ \autoBeamOff
+ c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
+ c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
+@end lilypond
+
+Note that the innermost flare of each mensural flag always is
+vertically aligned with a staff line. If you do not like this
+behaviour, you can set the @code{adjust-if-on-staffline} property of
+grob @internalsref{Stem} to @code{##f}. Then, the vertical position
+of the end of each flare is different between notes on staff lines and
+notes between staff lines:
+
+@lilypond[fragment,singleline]
+ \property Voice.Stem \set #'flag-style = #'mensural
+ \property Voice.Stem \set #'thickness = #1.0
+ \property Voice.Stem \set #'adjust-if-on-staffline = ##f
+ \property Voice.NoteHead \set #'style = #'mensural
+ \autoBeamOff
+ c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
+ c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
+@end lilypond
+
+There is no particular flag style for neo-mensural notation. Hence,
+when typesetting e.g. the incipit of a transcibed piece of mensural
+music, the default flag style should be used. There are no flags in
+Gregorian Chant notation.
+
+
+@node Ancient time signatures
+@subsection Ancient time signatures
+
+@cindex time signatures
+
+@syntax
+
+There is limited support for mensural time signatures. Currently, the
+glyphs are hard-wired to particular time fractions. In other words,
+to get a particular mensural signature glyph with the @code{\time n/m}
+command, @code{n} and @code{m} have to be chosen according to the
+following table:
+
+@lilypond
+\score {
+ \notes {
+ \property Score.timing = ##f
+ \property Score.barAlways = ##t
+ s_\markup { "$\\backslash$time 4/4" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural4/4" }
+ s
+ s_\markup { "$\\backslash$time 2/2" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural2/2" }
+ s
+ s_\markup { "$\\backslash$time 6/4" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural6/4" }
+ s
+ s_\markup { "$\\backslash$time 6/8" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural6/8" }
+ \break
+ s_\markup { "$\\backslash$time 3/2" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural3/2" }
+ s
+ s_\markup { "$\\backslash$time 3/4" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural3/4" }
+ s
+ s_\markup { "$\\backslash$time 9/4" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural9/4" }
+ s
+ s_\markup { "$\\backslash$time 9/8" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural9/8" }
+ \break
+ s_\markup { "$\\backslash$time 4/8" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural4/8" }
+ s
+ s_\markup { "$\\backslash$time 2/4" }
+ ^\markup { " " \musicglyph #"timesig-neo\_mensural2/4" }
+ \break
+ }
+ \paper {
+ indent = 0.0
+ raggedright = ##t
+ \translator {
+ \StaffContext
+ \remove Staff_symbol_engraver
+ \remove Clef_engraver
+ \remove Time_signature_engraver
+ }
+ }
+}
+@end lilypond
+
+Use the @code{style} property of grob @internalsref{TimeSignature} to
+select ancient time signatures. Currently supported styles are
+@code{neo_mensural} and @code{mensural}. The above table uses the
+@code{neo_mensural} style. This style is appropriate e.g. for the
+incipit of transcriptions of mensural pieces. The @code{mensural}
+style mimicks the look of historical printings of the 16th century.
+
+@inputfileref{input/test,time.ly} gives an overview over all available
+ancient and modern styles.
+
+@seealso
+
+@ref{Time signature} gives a general introduction into the use of time
+signatures.
+
+@refbugs
+
+Mensural signature glyphs are currently mapped to time fractions in a
+hard-wired way. This mapping is sensible, but still arbitrary: given
+a mensural time signature, the time fraction represents a modern meter
+that usually will be a good choice when transcribing a mensural piece
+of music. For a particular piece of mensural music, however, the
+mapping may be unsatisfactory. In particular, the mapping assumes a
+fixed transcription of durations (e.g. brevis = half note in 2/2,
+i.e. 4:1). Some glyphs (such as the alternate glyph for 6/8 meter)
+are currently not at all accessible through the @code{\time} command.
+
+Mensural time signatures are supported typographically, but not yet
+musically. The internal representation of durations is currently
+based on a purely binary system; a ternary division such as 1 brevis =
+3 semibrevis (tempus perfectum) or 1 semibrevis = 3 minima (cum
+prolatione maiori) is not correctly handled: event times in ternary
+modes will be badly computed, resulting e.g. in horizontally
+misaligned note heads, and bar checks are likely to erroneously fail.
+
+The syntax and semantics of the @code{\time} command for mensural
+music is subject to change.
@node Custodes
@subsection Custodes
like the @emph{editio vaticana}. There are different custos glyphs
used in different flavours of notational style.
+@syntax
+
For typesetting custodes, just put a @internalsref{Custos_engraver} into the
@internalsref{Staff} context when declaring the @code{\paper} block,
as shown in the following example:
@seealso
-
-@internalsref{Custos}, @inputfileref{input/test,custos-style.ly} and
-@inputfileref{input/regression,custos.ly}.
+@internalsref{Custos} and @inputfileref{input/regression,custos.ly}.
@node Divisiones
Therefore, @code{gregorian-init.ly} also defines @code{\virgula} and
@code{\caesura}:
-
@lilypondfile[notexidoc]{divisiones.ly}
+@refcommands
+
+@cindex @code{\virgula}
+@code{\virgula},
+@cindex @code{\caesura}
+@code{\caesura},
+@cindex @code{\divisioMinima}
+@code{\divisioMinima},
+@cindex @code{\divisioMaior}
+@code{\divisioMaior},
+@cindex @code{\divisioMaxima}
+@code{\divisioMaxima},
+@cindex @code{\finalis}
+@code{\finalis}.
+
@seealso
@internalsref{BreathingSign}, @internalsref{BreathingSignEvent},
@c down the following paragraph by heart.
In musical terminology, a ligature is a coherent graphical symbol that
-represents at least two different notes. Ligatures originally appeared
+represents at least two distinct notes. Ligatures originally appeared
in the manuscripts of Gregorian chant notation roughly since the 9th
century as an allusion to the accent symbols of greek lyric poetry to
-denote ascending or descending sequences of notes. Both, the shape and
-the exact meaning of ligatures changed tremendously during the following
-centuries: In early notation, ligatures were used for monophonic tunes
-(Gregorian chant) and very soon denoted also the way of performance in
-the sense of articulation. With upcoming multiphony, the need for a
-metric system arised, since multiple voices of a piece have to be
-synchronized some way. New notation systems were invented that used
-the manifold shapes of ligatures to now denote rhythmical patterns
-(e.g. black mensural notation, mannered notation, ars nova). With the
-invention of the metric system of the white mensural notation, the need
-for ligatures to denote such patterns disappeared. Nevertheless,
-ligatures were still in use in the mensural system for a couple of
-decades until they finally disappeared during the late 16th / early 17th
-century. Still, ligatures have survived in contemporary editions of
-Gregorian chant such as the Editio Vaticana from 1905/08.
+denote ascending or descending sequences of notes. Both, the shape
+and the exact meaning of ligatures changed tremendously during the
+following centuries: In early notation, ligatures were used for
+monophonic tunes (Gregorian chant) and very soon denoted also the way
+of performance in the sense of articulation. With upcoming
+multiphony, the need for a metric system arised, since multiple voices
+of a piece have to be synchronized some way. New notation systems
+were invented that used the manifold shapes of ligatures to now denote
+rhythmical patterns (e.g. black mensural notation, mannered notation,
+ars nova). With the invention of the metric system of the white
+mensural notation, the need for ligatures to denote such patterns
+disappeared. Nevertheless, ligatures were still in use in the
+mensural system for a couple of decades until they finally disappeared
+during the late 16th / early 17th century. Still, ligatures have
+survived in contemporary editions of Gregorian chant such as the
+Editio Vaticana from 1905/08.
@syntax
There is limited support for white mensural ligatures. The
implementation is still experimental; it currently may output strange
warnings or even crash in some cases or produce weird results on more
-complex ligatures. To engrave white mensural ligatures, in the paper
-block the @internalsref{Mensural_ligature_engraver} has to be put into
-the @internalsref{Voice} context, and remove the
+complex ligatures.
+
+@syntax
+
+To engrave white mensural ligatures, in the paper block the
+@internalsref{Mensural_ligature_engraver} has to be put into the
+@internalsref{Voice} context, and remove the
@internalsref{Ligature_bracket_engraver}:
@example
}
@end lilypond
+
@node Gregorian square neumes ligatures
@subsubsection Gregorian square neumes ligatures
@end multitable
+@syntax
Unlike most other neumes notation systems, the input language for
neumes does not necessarily reflect directly the typographical
@end multitable
+@refcommands
+
+The following head prefixes are supported:
+
+@cindex @code{\virga}
+@code{\virga},
+@cindex @code{\stropha}
+@code{\stropha},
+@cindex @code{\inclinatum}
+@code{\inclinatum},
+@cindex @code{\auctum}
+@code{\auctum},
+@cindex @code{\descendens}
+@code{\descendens},
+@cindex @code{\ascendens}
+@code{\ascendens},
+@cindex @code{\oriscus}
+@code{\oriscus},
+@cindex @code{\quilisma}
+@code{\quilisma},
+@cindex @code{\deminutum}
+@code{\deminutum}.
+
+Head prefixes can be accumulated, though restrictions apply. For
+example, either @code{\descendens} or @code{\ascendens} can be applied
+to a head, but not both to the same head.
+
+@cindex @code{\pes}
+@cindex @code{\flexa}
+Two adjacent heads can be tied together with the @code{\pes} and
+@code{\flexa} infix commands for a rising and falling line of melody,
+respectively.
+
@refbugs
Scandicus Deminutus: Punctum Auctum Ascendens overlaps with
Trigonus: apply equal spacing, regardless of pitch.
+Flexa and similar figurae: the left appendix should be adjusted with
+respect to the position of this head (on staffline or on staffspace)
+and the vertical position of the subsequent head.
+
@node Figured bass
@subsection Figured bass
Slash notation for alterations is not supported.
+@node Vaticana style contexts
+@subsection Vaticana style contexts
+
+@cindex VaticanaVoiceContext
+@cindex VaticanaStaffContext
+
+The predefined @code{VaticanaVoiceContext} and
+@code{VaticanaStaffContext} can be used to easily engrave a piece of
+Gregorian Chant in the style of the Editio Vaticana. These contexts
+initialize all relevant context properties and grob properties to
+proper values. With these contexts, you can immediately go ahead
+entering the chant, as the following short excerpt demonstrates:
+
+@lilypond[raggedright,verbatim,noindent]
+\include "gregorian-init.ly"
+\score {
+ \addlyrics
+ \context VaticanaVoice {
+ \property Score.BarNumber \set #'transparent = ##t
+ \notes {
+ \[ c'( c' \flexa a \] \[ a \flexa \deminutum g) \] f \divisioMinima
+ \[ f( \pes a c' c' \pes d') \] c' \divisioMinima \break
+ \[ c'( c' \flexa a \] \[ a \flexa \deminutum g) \] f \divisioMinima
+ }
+ }
+ \context Lyrics \lyrics {
+ San- ctus, San- ctus, San- ctus
+ }
+}
+@end lilypond
+
@node Contemporary notation
@section Contemporary notation
@lilypondfile[notexidoc]{cluster.ly}
-By default, @internalsref{Cluster_engraver} is in the
+By default, @internalsref{Cluster_spanner_engraver} is in the
@internalsref{Voice} context. This allows putting ordinary notes and
clusters together in the same staff, even simultaneously. In such a
case no attempt is made to automatically avoid collisions between
@internalsref{ClusterSpanner}, @internalsref{ClusterSpannerBeacon},
@inputfileref{input/regression,cluster.ly},
-@internalsref{Cluster_engraver}, and @internalsref{ClusterNoteEvent}.
+@internalsref{Cluster_spanner_engraver}, and @internalsref{ClusterNoteEvent}.
@refbugs
support). In this case, the direction signifies where to put the
victim object relative to the support (left or right, up or down?)
@end quotation
+
+@cindex padding
+@noindent
below this description, the variable @code{padding} is described as
@quotation
@table @code
c1^\markup { C \small \raise #1.0 \bold { "9/7+" }}
@end lilypond
The argument to @code{\raise} is the vertical displacement amount,
-measured in (global) staff spaces.
+measured in (global) staff spaces. @code{\raise} and @code{\super}
+raise objects in relation to their surrounding markups. They cannot be
+used to move a single text up or down, when it is above or below a
+note, since the mechanism that positions it next to the note cancels
+any vertical shift. For vertical positioning, use the @code{padding}
+and/or @code{extra-offset} properties.
Other commands taking single arguments include
@table @code
@end lilypond
The markup mechanism is extensible. Refer to
-@file{scm/new-markup.scm} for more information on extending the markup
-mode.
+@file{scm/new-markup.scm} for more information.
Syntax errors for markup mode are confusing.
+Markup texts cannot be used in the titling of the @code{\header}
+field. Titles are made by La@TeX{}, so La@TeX{} commands should be used
+for formatting.
+
+
+
@node Global layout
@section Global layout
@cindex staff distance
@cindex between staves, distance
@cindex staffs per page
-
+@cindex space between staves
The height of each system is determined automatically by LilyPond, to
keep systems from bumping into each other, some minimum distances are
half a NHW:
@lilypond[fragment, verbatim, relative=2]
- c2 c4. c8 c4. c16-[ c-] c4. c8 c8 c8 c4 c4 c4
+ c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
@end lilypond
The most common shortest duration is determined as follows: in every
Assignments in the @code{\midi} block are not allowed.
+A number followed by a period is interpreted as a real number, so
+for setting the tempo for dotted notes, an extra space should be
+inserted, for example:
+
+@example
+ \midi @{ \tempo 4 . = 120 @}
+@end example
@cindex context definition