X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Feditorial.itely;h=dda447e28eab2a85d3b050b07ba0429f0cd5377e;hb=79aa415228f9193801a7d31aa595a0411f19288b;hp=c13a4fbac0cf5d628ea3503830076aa4e489438c;hpb=5a666926ab9a139e12337cab3a3d2318f95f2f75;p=lilypond.git diff --git a/Documentation/user/editorial.itely b/Documentation/user/editorial.itely index c13a4fbac0..dda447e28e 100644 --- a/Documentation/user/editorial.itely +++ b/Documentation/user/editorial.itely @@ -6,6 +6,8 @@ version that you are working on. See TRANSLATION for details. @end ignore +@c \version "2.11.38" + @node Editorial annotations @section Editorial annotations @@ -36,79 +38,95 @@ inside the staff. @end menu @node Selecting notation font size -@subsubsection Selecting notation font size +@unnumberedsubsubsec Selecting notation font size + +@cindex font size (notation) +@cindex selecting font size (notation) -@cindex font size -@cindex font size, selecting -@cindex selecting font size +The font size of notation elements may be altered. It does not +change the size of variable symbols, such as beams or slurs. -The easiest method of setting the font size of any context is by -setting the @code{fontSize} property. +@warning{For font sizes of text, see +@ref{Common markup commands}.} @lilypond[quote,fragment,relative=2,verbatim,ragged-right] -c4 -\set fontSize = #-4 -c f -\set fontSize = #3 -g8 a +\huge +c4.-> d8---3 +\large +c4.-> d8---3 +\normalsize +c4.-> d8---3 +\small +c4.-> d8---3 +\tiny +c4.-> d8---3 +\teeny +c4.-> d8---3 @end lilypond -@noindent -It does not change the size of variable symbols, such as beams or -slurs. +@cindex font size (notation) scaling -@cindex font size scaling - -Internally, the @code{fontSize} context property will cause the -@code{font-size} property to be set in all layout objects. The -value of @code{font-size} is a number indicating the size relative -to the standard size for the current staff height. Each step up -is an increase of approximately 12% of the font size. Six steps -is exactly a factor two. The Scheme function @code{magstep} -converts a @code{font-size} number to a scaling factor. The -@code{font-size} property can also be set directly, so that only -certain layout objects are affected. +Internally, this sets the @code{fontSize} property. This in turn +causes the @code{font-size} property to be set in all layout +objects. The value of @code{font-size} is a number indicating the +size relative to the standard size for the current staff height. +Each step up is an increase of approximately 12% of the font size. +Six steps is exactly a factor of two. The Scheme function +@code{magstep} converts a @code{font-size} number to a scaling +factor. The @code{font-size} property can also be set directly, +so that only certain layout objects are affected. @lilypond[quote,fragment,relative=2,verbatim,ragged-right] -c4 +\set fontSize = #3 +c4.-> d8---3 \override NoteHead #'font-size = #-4 -c f -\override NoteHead #'font-size = #3 -g8 a +c4.-> d8---3 +\override Script #'font-size = #2 +c4.-> d8---3 +\override Stem #'font-size = #-5 +c4.-> d8---3 @end lilypond -@cindex standard font size -@cindex font size, standard +@cindex standard font size (notation) +@cindex font size (notation), standard Font size changes are achieved by scaling the design size that is closest to the desired size. The standard font size (for -@code{font-size} equals 0), depends on the standard staff height. +@code{font-size = #0}) depends on the standard staff height. For a 20pt staff, a 10pt font is selected. -The @code{font-size} property can only be set on layout objects that -use fonts. These are the ones supporting the @code{font-interface} -layout interface. +The @code{font-size} property can only be set on layout objects +that use fonts. These are the ones supporting the +@code{font-interface} layout interface. @predefined -The following commands set @code{fontSize} for the current voice: - +@funindex \teeny +@code{\teeny}, @funindex \tiny @code{\tiny}, @funindex \small @code{\small}, @funindex \normalsize -@code{\normalsize}. +@code{\normalsize}, +@funindex \large +@code{\large}, +@funindex \huge +@code{\huge}. @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Snippets: +@lsrdir{Editorial,Editorial-annotations}. -Internals Reference: @internalsref{font-interface}. +Internals Reference: +@internalsref{fontSize}, +@internalsref{font-size}, +@internalsref{font-interface}. @node Fingering instructions -@subsubsection Fingering instructions +@unnumberedsubsubsec Fingering instructions @cindex fingering @cindex finger change @@ -116,14 +134,11 @@ Internals Reference: @internalsref{font-interface}. Fingering instructions can be entered using @var{note}-@var{digit}: -Fingering instructions may be manually placed above or below the -staff, see @ref{Controlling direction and placement}. - @lilypond[quote,verbatim,ragged-right,fragment,relative=2] c4-1 d-2 f-4 e-3 @end lilypond -Use markup texts for finger changes. +Markup texts may be used for finger changes. @lilypond[quote,verbatim,ragged-right,fragment,relative=2] c4-1 d-2 f-4 c^\markup { \finger "2 - 3" } @@ -131,8 +146,8 @@ c4-1 d-2 f-4 c^\markup { \finger "2 - 3" } @cindex thumb-script -You can use the thumb-script (e.g., in cello music)to indicate that a -note should be played with the thumb. +A thumb-script can be added (e.g., in cello music) to indicate +that a note should be played with the thumb. @lilypond[quote,verbatim,ragged-right,fragment,relative=2] 2 @@ -145,43 +160,40 @@ Fingerings for chords can also be added to individual notes of the chord by adding them after the pitches. @lilypond[quote,verbatim,ragged-right,fragment,relative=2] -< c-1 e-2 g-3 b-5 >2 < d-1 f-2 a-3 c-5 > +2 @end lilypond +Fingering instructions may be manually placed above or below the +staff, see @ref{Controlling direction and placement}. @snippets -@code{fingeringOrientations} are used to control where the fingering -numbers are placed. +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{controlling-the-placement-of-chord-fingerings.ly} -@lilypond[quote,verbatim,ragged-right,fragment,relative=2] -\set fingeringOrientations = #'(left) - 4 -\set fingeringOrientations = #'(down) - -\set fingeringOrientations = #'(right) - -\set fingeringOrientations = #'(up) - -\set fingeringOrientations = #'(left down) - 2 -\set fingeringOrientations = #'(up right down) - -@end lilypond @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Notation Reference: +@ref{Controlling direction and placement} + +Snippets: +@lsrdir{Editorial,Editorial-annotations}. -Internals Reference: @internalsref{Fingering}. +Internals Reference: +@internalsref{FingeringEvent}, +@internalsref{fingering-event}, +@internalsref{Fingering_engraver}, +@internalsref{New_fingering_engraver}, +@internalsref{Fingering}. @node Hidden notes -@subsubsection Hidden notes +@unnumberedsubsubsec Hidden notes -@cindex Hidden notes -@cindex Invisible notes -@cindex Transparent notes +@cindex hidden notes +@cindex invisible notes +@cindex transparent notes @funindex \hideNotes @funindex \unHideNotes @@ -200,17 +212,34 @@ b c @end lilypond +Notation objects which are attached to invisible notes are still +visible. + +@lilypond[quote,ragged-right,verbatim,relative=2,fragment] +c4( d) +\hideNotes +e4(\p f)-- +@end lilypond + + @predefined +@funindex \hideNotes +@funindex \unHideNotes @code{\hideNotes}, @code{\unHideNotes} @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Snippets: +@lsrdir{Editorial,Editorial-annotations}. + +Internals Reference: +@internalsref{Note_spacing_engraver}, +@internalsref{NoteSpacing}. @node Coloring objects -@subsubsection Coloring objects +@unnumberedsubsubsec Coloring objects @cindex colored objects @cindex colors @@ -219,8 +248,8 @@ Snippets: @lsrdir{Editorial,Editorial-annotations}. @cindex coloring notes @cindex notes, colored -Individual objects may be assigned colors. You may use the color -names listed in the @ref{List of colors}. +Individual objects may be assigned colors. Valid color names +are listed in the @ref{List of colors}. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \override NoteHead #'color = #red @@ -244,7 +273,6 @@ If @code{x11-color} cannot make sense of the parameter then the color returned defaults to black. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] - \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) \set Staff.instrumentName = \markup { \with-color #(x11-color 'navy) "Clarinet" @@ -260,44 +288,42 @@ gis a % this is deliberate nonsense; note that the stems remain black \override Stem #'color = #(x11-color 'Boggle) b2 cis - @end lilypond -You can get exact RGB colors by specifying the rgb-color number. +Exact RGB colors can be specified using the Scheme function +@code{rgb-color}. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] - - \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) - \set Staff.instrumentName = \markup { - \with-color #(x11-color 'navy) "Clarinet" - } +\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) +\set Staff.instrumentName = \markup { + \with-color #(x11-color 'navy) "Clarinet" +} - %black - \override Stem #'color = #(rgb-color 0 0 0) - gis8 a - % white - \override Stem #'color = #(rgb-color 1 1 1) - gis8 a - % dark blue - \override Stem #'color = #(rgb-color 0 0 0.5) - gis4 a - +\override Stem #'color = #(rgb-color 0 0 0) +gis8 a +\override Stem #'color = #(rgb-color 1 1 1) +gis8 a +\override Stem #'color = #(rgb-color 0 0 0.5) +gis4 a @end lilypond @seealso -Notation Reference: @ref{List of colors}, @ref{Objects connected to +Notation Reference: +@ref{List of colors}, @ref{Objects connected to the input}. -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Snippets: +@lsrdir{Editorial,Editorial-annotations}. @knownissues -An x11 color is not necessarily exactly the same shade as a +An X11 color is not necessarily exactly the same shade as a similarly named normal color. -Not all x11 colors are distinguishable in a web browser i.e. a web browser -might not display a difference between 'LimeGreen and 'ForestGreen. For -web use normal colors are recommended (i.e. #blue, #green, #red). +Not all X11 colors are distinguishable in a web browser, i.e., +a web browser might not display a difference between @code{'LimeGreen} +and @code{'ForestGreen}. For web use normal colors are recommended +(i.e., @code{#blue}, @code{#green}, @code{#red}). Notes in a chord cannot be colored with @code{\override}; use @@ -305,7 +331,7 @@ Notes in a chord cannot be colored with @code{\override}; use @node Parentheses -@subsubsection Parentheses +@unnumberedsubsubsec Parentheses @cindex ghost notes @cindex notes, ghost @@ -313,27 +339,41 @@ Notes in a chord cannot be colored with @code{\override}; use @cindex parentheses Objects may be parenthesized by prefixing @code{\parenthesize} to -the music event. This only functions inside chords; to -parenthesize a single note it must be enclosed with @code{<>} as -if it is a chord. +the music event. When prefixed to a chord, it parenthesizes every +note. Individual notes inside a chord may also be parenthesized. -@lilypond[relative=2,fragment,verbatim,ragged-right] -c2 < \parenthesize d> +@lilypond[quote,relative=2,fragment,verbatim,ragged-right] +c2 \parenthesize d +c2 \parenthesize +c2 @end lilypond Non-note objects may be parenthesized as well. -@lilypond[relative=2,fragment,verbatim,ragged-right] -< c d g >2-\parenthesize -. d +@lilypond[quote,relative=2,fragment,verbatim,ragged-right] +c2-\parenthesize -. d +c2 \parenthesize r @end lilypond @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Snippets: +@lsrdir{Editorial,Editorial-annotations}. + +Internals Reference: +@internalsref{Parenthesis_engraver}, +@internalsref{ParenthesesItem}, +@internalsref{parentheses-interface}. + +@knownissues + +Parenthesizing a chord prints parentheses around each individual +note, instead of a single large parenthesis around the entire +chord. @node Stems -@subsubsection Stems +@unnumberedsubsubsec Stems @cindex stem @@ -358,19 +398,20 @@ made invisible. @cindex stem, down @cindex stem, neutral -To change the direction of stems on the center line of the staff, use - -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] -a4 b c b -\override Stem #'neutral-direction = #up -a4 b c b -\override Stem #'neutral-direction = #down -a4 b c b -@end lilypond +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{default-direction-of-stems-on-the-center-line-of-the-staff.ly} @seealso +Notation Reference: +@ref{Controlling direction and placement}. + +Snippets: +@lsrdir{Editorial,Editorial-annotations}. -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Internals Reference: +@internalsref{Stem_engraver}, +@internalsref{Stem}, +@internalsref{stem-interface}. @node Outside the staff @@ -386,130 +427,129 @@ from outside of the staff. @end menu @node Balloon help -@subsubsection Balloon help +@unnumberedsubsubsec Balloon help Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation. -The following example demonstrates its use. - @lilypond[quote,verbatim,fragment,ragged-right,relative=2] \new Voice \with { \consists "Balloon_engraver" } - { - \time 2/4 - \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" } - a8 - 4. - } - +{ + \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" } + a8 + \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" } + r + 2. +} @end lilypond +@cindex balloon +@cindex notation, explaining + There are two music functions, @code{balloonGrobText} and -@code{balloonText}; The former is used like \once \override to -attach text to any grob, and the latter is used like \tweak, +@code{balloonText}; the former is used like @code{\once \override} to +attach text to any grob, and the latter is used like @code{\tweak}, typically within chords, to attach text to an individual note. -@cindex balloon -@cindex notation, explaining +Balloon text normally influences note spacing, but this can be +altered: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +\new Voice \with { \consists "Balloon_engraver" } +{ + \balloonLengthOff + \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" } + a8 + \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" } + r + \balloonLengthOn + 2. +} +@end lilypond + + +@predefined + +@funindex balloonLengthOn +@funindex balloonLengthOff +@code{\balloonLengthOn}, @code{\balloonLengthOff} @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Snippets: +@lsrdir{Editorial,Editorial-annotations}. -Internals Reference: @internalsref{text-balloon-interface}. +Internals Reference: +@internalsref{Balloon_engraver}, +@internalsref{BalloonTextItem}, +@internalsref{balloon-interface}. @node Grid lines -@subsubsection Grid lines +@unnumberedsubsubsec Grid lines Vertical lines can be drawn between staves synchronized with the notes. -@lilypond[ragged-right,quote,verbatim] +The @code{Grid_point_engraver} must be used to create the end +points of the lines, while the @code{Grid_line_span_engraver} must +be used to actually draw the lines. By default this centers grid +lines horizontally below and to the left side of each note head. +Grid lines extend from the middle lines of each staff. The +@code{gridInterval} must specify the duration between the grid +lines. + +@lilypond[quote,verbatim,ragged-right] \layout { \context { \Staff \consists "Grid_point_engraver" - % sets up grids gridInterval = #(ly:make-moment 1 4) - % this sets the grid interval to 1 quarternote (crotchet) + } + \context { + \Score + \consists "Grid_line_span_engraver" } } -\new Score \with { - \consists "Grid_line_span_engraver" - %% by default this centers grid lines horizontally below and to the - % left side of the notehead, the grid lines extend from - % the middle lines of each staff -} - -\new ChoirStaff << - \new Staff { - \stemUp - \relative { - c'4. d8 e8 f g4 +\score { + \new ChoirStaff << + \new Staff \relative c'' { + \stemUp + c4. d8 e8 f g4 } - } - \new Staff { - \stemDown - \clef bass - \relative c { - c4 g' f e + \new Staff \relative c { + \clef bass + \stemDown + c4 g' f e } - } ->> + >> +} @end lilypond -To change the grid lines use \override. - - -@lilypond[ragged-right,quote,verbatim] -\layout { - \context { - \Staff - \consists "Grid_point_engraver" - % sets up grids - gridInterval = #(ly:make-moment 1 4) - % this sets the grid interval to 1 quarternote (crotchet) - } -} +@snippets -\new Score \with { - \consists "Grid_line_span_engraver" - \override NoteColumn #'X-offset = #-0.5 - % this moves them to the right half a staff space -} +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{grid-lines-changing-their-appearance.ly} -\new ChoirStaff << - \new Staff { - \stemUp - \relative { - c'4. d8 e8 f g4 - } - } - \new Staff { - \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 ) - % this moves them up one staff space from the default position - \stemDown - \clef bass - \relative c { - c4 g' f e - } - } ->> -@end lilypond @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. - +Snippets: +@lsrdir{Editorial,Editorial-annotations}. +Internals Reference: +@internalsref{Grid_line_span_engraver}, +@internalsref{Grid_point_engraver}, +@internalsref{GridLine}, +@internalsref{GridPoint}, +@internalsref{grid-line-interface}, +@internalsref{grid-point-interface}. @node Analysis brackets -@subsubsection Analysis brackets +@unnumberedsubsubsec Analysis brackets @cindex brackets @cindex phrasing brackets @@ -517,31 +557,46 @@ Snippets: @lsrdir{Editorial,Editorial-annotations}. @cindex note grouping bracket Brackets are used in musical analysis to indicate structure in musical -pieces. LilyPond supports a simple form of nested horizontal -brackets. To use this, add the @code{Horizontal_bracket_engraver} to -the @code{Staff} context. A bracket is started with -@code{\startGroup} and closed with @code{\stopGroup}. +pieces. Simple horizontal brackets are supported. -@lilypond[quote,ragged-right,verbatim] -\score { - \relative c'' { - c4\startGroup\startGroup - c4\stopGroup - c4\startGroup - c4\stopGroup\stopGroup +@lilypond[quote,verbatim,ragged-right] +\layout { + \context { + \Voice + \consists "Horizontal_bracket_engraver" } - \layout { - \context { - \Staff \consists "Horizontal_bracket_engraver" - } +} +\relative c'' { + c2\startGroup + d\stopGroup +} +@end lilypond + +Analysis brackets may be nested. + +@lilypond[quote,verbatim,ragged-right] +\layout { + \context { + \Voice + \consists "Horizontal_bracket_engraver" } } +\relative c'' { + c4\startGroup\startGroup + d4\stopGroup + e4\startGroup + d4\stopGroup\stopGroup +} @end lilypond @seealso -Snippets: @lsrdir{Editorial,Editorial-annotations}. +Snippets: +@lsrdir{Editorial,Editorial-annotations}. -Internals Reference: @internalsref{HorizontalBracket}, -@internalsref{Horizontal_bracket_engraver}, @internalsref{Staff}. +Internals Reference: +@internalsref{Horizontal_bracket_engraver}, +@internalsref{HorizontalBracket}, +@internalsref{horizontal-bracket-interface}, +@internalsref{Staff}.